diff --git a/apps/web/components/Forms/PoolForm.tsx b/apps/web/components/Forms/PoolForm.tsx index d9d90723e..9db95a574 100644 --- a/apps/web/components/Forms/PoolForm.tsx +++ b/apps/web/components/Forms/PoolForm.tsx @@ -335,7 +335,7 @@ export function PoolForm({ token, communityAddr }: Props) { proposalType: previewData.strategyType, registryCommunity: communityAddr, sybilScorer: chain.passportScorer as Address, - initialAllowlist: [], // TODO: Lucho + // initialAllowlist: [], // TODO: Lucho }, { protocol: 1n, diff --git a/foundry.toml b/foundry.toml index 48f20bc4a..6a8c5c9a4 100644 --- a/foundry.toml +++ b/foundry.toml @@ -1,6 +1,6 @@ # See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#default-profile [profile.default] -solc-version = "0.8.19" +# solc-version = "0.8.19" src = 'pkg/contracts/src' script = 'pkg/contracts/script' test = 'pkg/contracts/test' diff --git a/pkg/contracts/out/Allo.sol/Allo.json b/pkg/contracts/out/Allo.sol/Allo.json index 6c8072bbc..278266b2c 100644 --- a/pkg/contracts/out/Allo.sol/Allo.json +++ b/pkg/contracts/out/Allo.sol/Allo.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"addPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addToCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocate","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"batchAllocate","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_datas","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchRegisterRecipient","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_data","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"recipientIds","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"cancelOwnershipHandover","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"completeOwnershipHandover","inputs":[{"name":"pendingOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"createPool","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_strategy","type":"address","internalType":"address"},{"name":"_initStrategyData","type":"bytes","internalType":"bytes"},{"name":"_token","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"createPoolWithCustomStrategy","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_strategy","type":"address","internalType":"address"},{"name":"_initStrategyData","type":"bytes","internalType":"bytes"},{"name":"_token","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"distribute","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_recipientIds","type":"address[]","internalType":"address[]"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fundPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"getBaseFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFeeDenominator","inputs":[],"outputs":[{"name":"FEE_DENOMINATOR","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"getPercentFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStrategy","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getTreasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_registry","type":"address","internalType":"address"},{"name":"_treasury","type":"address","internalType":"address payable"},{"name":"_percentFee","type":"uint256","internalType":"uint256"},{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCloneableStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolAdmin","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"result","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownershipHandoverExpiresAt","inputs":[{"name":"pendingOwner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRecipient","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"payable"},{"type":"function","name":"removeFromCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removePoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"requestOwnershipHandover","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"updateBaseFee","inputs":[{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePercentFee","inputs":[{"name":"_percentFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePoolMetadata","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateRegistry","inputs":[{"name":"_registry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTreasury","inputs":[{"name":"_treasury","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"BaseFeePaid","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BaseFeeUpdated","inputs":[{"name":"baseFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipHandoverCanceled","inputs":[{"name":"pendingOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipHandoverRequested","inputs":[{"name":"pendingOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"oldOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PercentFeeUpdated","inputs":[{"name":"percentFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolCreated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"strategy","type":"address","indexed":false,"internalType":"contract IStrategy"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"PoolFunded","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolMetadataUpdated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RegistryUpdated","inputs":[{"name":"registry","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyApproved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TreasuryUpdated","inputs":[{"name":"treasury","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"AMOUNT_MISMATCH","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"NewOwnerIsZeroAddress","inputs":[]},{"type":"error","name":"NoHandoverRequest","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50613183806100206000396000f3fe6080604052600436106101f75760003560e01c806301ffc9a7146101fc578063031e2fa114610231578063068bcd8d14610253578063075c0e9c1461028057806315e812ad146102a05780631a20bd88146102bf5780631a5da6c8146102ec578063248a9ca31461030c57806324ae6a271461032c578063256929621461034c57806329e40d4b146103545780632cf682b0146103745780632ec38188146103945780632f2ff15d146103a757806336568abe146103c75780633a5fbd92146103e75780633b19e84a1461040757806341bba0b4146104255780634edbaadc1461044557806354d1f13d1461045a5780635ab1bd53146104625780635acd6fac146104805780635f9ca13814610493578063715018a6146104b357806377da8caf146104bb5780637f51bb1f146104ce5780637f5a70bd146104ee5780638da5cb5b1461050e5780638e6901861461052757806391d1485414610547578063a0cf0aea14610567578063a217fddf1461058f578063a6b63eb8146105a4578063ab2ec589146105c4578063ab3febc6146105e4578063c6dff1cf14610604578063cfc0cc3414610624578063d547741f1461065d578063e1007d4a1461067d578063f04e283e14610690578063f2fde38b146106a3578063f4e1fc41146106b6578063f54fc4a0146106d1578063fee81cf4146106f1575b600080fd5b34801561020857600080fd5b5061021c6102173660046125af565b610724565b60405190151581526020015b60405180910390f35b34801561023d57600080fd5b5061025161024c3660046125ee565b61075b565b005b34801561025f57600080fd5b5061027361026e36600461260b565b6107be565b6040516102289190612693565b61029361028e3660046127b8565b6108d1565b60405161022891906127fe565b3480156102ac57600080fd5b5060ca545b604051908152602001610228565b3480156102cb57600080fd5b506102df6102da3660046128c4565b61096e565b60405161022891906129b6565b3480156102f857600080fd5b506102516103073660046125ee565b610af4565b34801561031857600080fd5b506102b161032736600461260b565b610b08565b34801561033857600080fd5b506102516103473660046129c9565b610b1d565b610251610bd1565b34801561036057600080fd5b5061021c61036f366004612a02565b610c20565b34801561038057600080fd5b5061025161038f366004612a02565b610c33565b6102516103a23660046127b8565b610c80565b3480156103b357600080fd5b506102516103c2366004612a02565b610ca0565b3480156103d357600080fd5b506102516103e2366004612a02565b610cbc565b3480156103f357600080fd5b50610251610402366004612a8b565b610d3b565b34801561041357600080fd5b5060cc546001600160a01b0316610293565b34801561043157600080fd5b506102516104403660046125ee565b610dc3565b34801561045157600080fd5b5060c9546102b1565b610251610e45565b34801561046e57600080fd5b5060cd546001600160a01b0316610293565b61025161048e366004612af7565b610e81565b34801561049f57600080fd5b506102516104ae366004612b9b565b611018565b610251611095565b6102b16104c9366004612bd7565b6110a9565b3480156104da57600080fd5b506102516104e93660046125ee565b61112c565b3480156104fa57600080fd5b50610251610509366004612a02565b61113d565b34801561051a57600080fd5b50638b78c6d81954610293565b34801561053357600080fd5b5061025161054236600461260b565b611163565b34801561055357600080fd5b5061021c610562366004612a02565b611174565b34801561057357600080fd5b5061029373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561059b57600080fd5b506102b1600081565b3480156105b057600080fd5b506102516105bf366004612c99565b61119f565b3480156105d057600080fd5b5061021c6105df3660046125ee565b6112ae565b3480156105f057600080fd5b5061021c6105ff366004612a02565b6112b9565b34801561061057600080fd5b5061025161061f366004612cf4565b6112c5565b34801561063057600080fd5b5061029361063f36600461260b565b600090815260cf60205260409020600101546001600160a01b031690565b34801561066957600080fd5b50610251610678366004612a02565b61134a565b6102b161068b366004612bd7565b611366565b61025161069e3660046125ee565b6113d1565b6102516106b13660046125ee565b61140e565b3480156106c257600080fd5b50670de0b6b3a76400006102b1565b3480156106dd57600080fd5b506102516106ec36600461260b565b611435565b3480156106fd57600080fd5b506102b161070c3660046125ee565b63389a75e1600c908152600091909152602090205490565b60006001600160e01b03198216637965db0b60e01b148061075557506301ffc9a760e01b6001600160e01b03198316145b92915050565b610763611446565b6001600160a01b038116600090815260d0602052604090819020805460ff19169055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4906107b39083906127fe565b60405180910390a150565b6107c6612549565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b0390811682850152600283015416818501528351808501909452600382018054855260048301805492959394606087019493908401919061083090612d80565b80601f016020809104026020016040519081016040528092919081815260200182805461085c90612d80565b80156108a95780601f1061087e576101008083540402835291602001916108a9565b820191906000526020600020905b81548152906001019060200180831161088c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b60006108db611461565b600083815260cf6020526040908190206001015490516315df065760e11b81526001600160a01b0390911690632bbe0cae90349061091f9086903390600401612dba565b60206040518083038185885af115801561093d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109629190612de4565b90506107556001609755565b6060610978611461565b8251806001600160401b03811115610992576109926126fb565b6040519080825280602002602001820160405280156109bb578160200160208202803683370190505b509150825181146109df5760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610ae85760cf6000868381518110610a0057610a00612e01565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610a4d57610a4d612e01565b6020026020010151336040518363ffffffff1660e01b8152600401610a73929190612dba565b6020604051808303816000875af1158015610a92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab69190612de4565b838281518110610ac857610ac8612e01565b6001600160a01b03909216602092830291909101909101526001016109e2565b50506107556001609755565b610afc611446565b610b05816114ba565b50565b60009081526065602052604090206001015490565b610b25611446565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610bbd576040516370a0823160e01b81526001600160a01b038416906370a0823190610b779030906004016127fe565b602060405180830381865afa158015610b94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb89190612e17565b610bbf565b475b9050610bcc83838361152c565b505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610c2c8383611566565b9392505050565b81610c3d81611592565b6001600160a01b038216610c645760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610bcc90836115b9565b610c88611461565b610c92828261163f565b610c9c6001609755565b5050565b610ca982610b08565b610cb2816116b9565b610bcc83836115b9565b6001600160a01b0381163314610d315760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b610c9c82826116c3565b610d43611461565b600083815260cf602052604090819020600101549051630a6f0ee960e01b81526001600160a01b0390911690630a6f0ee990610d8790859085903390600401612e30565b600060405180830381600087803b158015610da157600080fd5b505af1158015610db5573d6000803e3d6000fd5b50505050610bcc6001609755565b610dcb611446565b6001600160a01b038116610df25760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600090815260d0602052604090819020805460ff19166001179055517f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d1906107b39083906127fe565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b610e89611461565b80600003610eaa576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b0390811682860152600283015416818401528251808401909352600382018054845260048301805492959394606087019490939084019190610f1490612d80565b80601f0160208091040260200160405190810160405280929190818152602001828054610f4090612d80565b8015610f8d5780601f10610f6257610100808354040283529160200191610f8d565b820191906000526020600020905b815481529060010190602001808311610f7057829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015610fe05750348214155b15610ffe576040516303e09bb960e31b815260040160405180910390fd5b61100d8284836020015161172a565b50610c9c6001609755565b81611022816119dc565b600083815260cf60209081526040909120835160038201908155918401519091849160048401906110539082612ebc565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf0846040516110879190612f7b565b60405180910390a250505050565b61109d611446565b6110a760006119e6565b565b60006110b3611461565b6110bc87611a12565b6110d95760405163126d324760e31b815260040160405180910390fd5b33600090815260ce602052604081208054611115928b9261110b928c9290919061110283612fa4565b91905055611a30565b8888888888611a7f565b90506111216001609755565b979650505050505050565b611134611446565b610b0581611f63565b8161114781611592565b600083815260cf6020526040902060050154610bcc90836116c3565b61116b611446565b610b0581611fd6565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600054600190610100900460ff161580156111c1575060005460ff8083169116105b6112245760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610d28565b6000805461ffff191660ff8316176101001790556112418661200b565b61124a856114ba565b61125384611f63565b61125c83612035565b61126582611fd6565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b600061075582611a12565b6000610c2c8383612093565b6112cd611461565b8051829081146112f05760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561133e5761133685858381811061131057611310612e01565b9050602002013584838151811061132957611329612e01565b602002602001015161163f565b6001016112f3565b5050610bcc6001609755565b61135382610b08565b61135c816116b9565b610bcc83836116c3565b60006001600160a01b03871661138f5760405163538ba4f960e01b815260040160405180910390fd5b61139887611a12565b156113b65760405163eeffa72160e01b815260040160405180910390fd5b6113c588888888888888611a7f565b98975050505050505050565b6113d9611446565b63389a75e1600c52806000526020600c20805442111561140157636f5e88186000526004601cfd5b60009055610b05816119e6565b611416611446565b8060601b61142c57637448fbae6000526004601cfd5b610b05816119e6565b61143d611446565b610b0581612035565b638b78c6d8195433146110a7576382b429006000526004601cfd5b6002609754036114b35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610d28565b6002609755565b6001600160a01b0381166114e15760405163538ba4f960e01b815260040160405180910390fd5b60cd80546001600160a01b0319166001600160a01b0383161790556040517fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906107b39083906127fe565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161155b57610bcc82826120af565b610bcc8383836120cb565b600082815260cf60205260408120600501546115829083611174565b80610c2c5750610c2c8383612093565b61159c8133612093565b610b055760405163075fd2b160e01b815260040160405180910390fd5b6115c38282611174565b610c9c5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556115fb3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf602052604090819020600101549051633bca483f60e21b81526001600160a01b039091169063ef2920fc9034906116839085903390600401612dba565b6000604051808303818588803b15801561169c57600080fd5b505af11580156116b0573d6000803e3d6000fd5b50505050505050565b610b058133612111565b6116cd8282611174565b15610c9c5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b0316901561187b57670de0b6b3a764000060c9546117689089612fbd565b6117729190612fd4565b935061177e8484612ff6565b92508661178b8486613009565b146117a957604051637fcce2a960e01b815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611803576040805160608101825233815260cc546001600160a01b031660208201529081018590526117fd90829061216a565b5061187b565b60cc5460009061181d9083906001600160a01b03166121e9565b6040805160608101825233815260cc546001600160a01b0316602082015290810187905290915061184f90839061216a565b5060cc5460009061186a9084906001600160a01b03166121e9565b90506118768282612ff6565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038216016118dc576118d6816040518060600160405280336001600160a01b03168152602001886001600160a01b031681526020018681525061216a565b5061193e565b60006118e882876121e9565b9050611920826040518060600160405280336001600160a01b03168152602001896001600160a01b031681526020018781525061216a565b50600061192d83886121e9565b90506119398282612ff6565b945050505b60405163f5b0dfb760e01b8152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b15801561198057600080fd5b505af1158015611994573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b61159c8133611566565b638b78c6d81980546001600160a01b0390921691829060008051602061312e833981519152600080a355565b6001600160a01b0316600090815260d0602052604090205460ff1690565b6040516001600160601b03193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611a778482612232565b949350505050565b60cd54604051635e8a791560e01b8152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611acf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611af3919061301c565b611b105760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611b1f90612fa4565b91829055506040519091508190600090611b4f9083906020019081526430b236b4b760d91b602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf8752969096208751815591516001830180549185166001600160a01b031992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611c029082612ebc565b5050506080820151600582015560a090910151600690910155611c2582336115b9565b611c2f83836122c9565b604051633b7451b360e21b81526001600160a01b038b169063edd146cc90611c5d9087908d9060040161303e565b600060405180830381600087803b158015611c7757600080fd5b505af1158015611c8b573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf29190612e17565b141580611d725750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d669190612de4565b6001600160a01b031614155b15611d905760405163636e39bb60e01b815260040160405180910390fd5b845160005b81811015611e01576000878281518110611db157611db1612e01565b6020026020010151905060006001600160a01b0316816001600160a01b031603611dee5760405163538ba4f960e01b815260040160405180910390fd5b611df886826115b9565b50600101611d95565b5060ca5415611f04576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015611e435750348860ca54611e409190613009565b14155b80611e7857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14801590611e7857503460ca5414155b15611e96576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca54611ec79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b039091169061152c565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca54604051611efb91815260200190565b60405180910390a25b8715611f1557611f1588868d61172a565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c604051611f4c9493929190613057565b60405180910390a350505050979650505050505050565b6001600160a01b038116611f8a5760405163538ba4f960e01b815260040160405180910390fd5b60cc80546001600160a01b0319166001600160a01b0383169081179091556040517f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d1916107b3916127fe565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c3906020016107b3565b6001600160a01b0316638b78c6d81981905580600060008051602061312e8339815191528180a350565b670de0b6b3a764000081111561205e57604051632fb15b8760e01b815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b065906020016107b3565b600082815260cf6020526040812060060154610c2c9083611174565b60008060008084865af1610c9c5763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d156001600051141716612107576390b8ec186000526004601cfd5b6000603452505050565b61211b8282611174565b610c9c576121288161231c565b61213383602061232e565b604051602001612144929190613094565b60408051601f198184030181529082905262461bcd60e51b8252610d2891600401613103565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038516016121cb57803410156121b8576040516374c5672b60e01b815260040160405180910390fd5b6121c68360200151826120af565b6121df565b6121df8484600001518560200151846124c9565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161222157506001600160a01b03811631610755565b61222b838361251d565b9050610755565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166107555760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606401610d28565b60006122d483610b08565b600084815260656020526040808220600101859055519192508391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606107556001600160a01b03831660145b6060600061233d836002612fbd565b612348906002613009565b6001600160401b0381111561235f5761235f6126fb565b6040519080825280601f01601f191660200182016040528015612389576020820181803683370190505b509050600360fc1b816000815181106123a4576123a4612e01565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106123d3576123d3612e01565b60200101906001600160f81b031916908160001a90535060006123f7846002612fbd565b612402906001613009565b90505b600181111561247a576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061243657612436612e01565b1a60f81b82828151811061244c5761244c612e01565b60200101906001600160f81b031916908160001a90535060049490941c9361247381613116565b9050612405565b508315610c2c5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610d28565b60405181606052826040528360601b602c526323b872dd60601b600c52602060006064601c6000895af13d15600160005114171661250f57637939f4246000526004601cfd5b600060605260405250505050565b6000816014526370a0823160601b60005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b0316815260200161259b604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156125c157600080fd5b81356001600160e01b031981168114610c2c57600080fd5b6001600160a01b0381168114610b0557600080fd5b60006020828403121561260057600080fd5b8135610c2c816125d9565b60006020828403121561261d57600080fd5b5035919050565b60005b8381101561263f578181015183820152602001612627565b50506000910152565b60008151808452612660816020860160208601612624565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611a776040850182612648565b60208152815160208201526000602083015160018060a01b0380821660408501528060408601511660608501525050606083015160c060808401526126db60e0840182612674565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715612739576127396126fb565b604052919050565b60006001600160401b0383111561275a5761275a6126fb565b61276d601f8401601f1916602001612711565b905082815283838301111561278157600080fd5b828260208301376000602084830101529392505050565b600082601f8301126127a957600080fd5b610c2c83833560208501612741565b600080604083850312156127cb57600080fd5b8235915060208301356001600160401b038111156127e857600080fd5b6127f485828601612798565b9150509250929050565b6001600160a01b0391909116815260200190565b60006001600160401b0382111561282b5761282b6126fb565b5060051b60200190565b600082601f83011261284657600080fd5b8135602061285b61285683612812565b612711565b82815260059290921b8401810191818101908684111561287a57600080fd5b8286015b848110156128b95780356001600160401b0381111561289d5760008081fd5b6128ab8986838b0101612798565b84525091830191830161287e565b509695505050505050565b600080604083850312156128d757600080fd5b82356001600160401b03808211156128ee57600080fd5b818501915085601f83011261290257600080fd5b8135602061291261285683612812565b82815260059290921b8401810191818101908984111561293157600080fd5b948201945b8386101561294f57853582529482019490820190612936565b9650508601359250508082111561296557600080fd5b506127f485828601612835565b600081518084526020808501945080840160005b838110156129ab5781516001600160a01b031687529582019590820190600101612986565b509495945050505050565b602081526000610c2c6020830184612972565b600080604083850312156129dc57600080fd5b82356129e7816125d9565b915060208301356129f7816125d9565b809150509250929050565b60008060408385031215612a1557600080fd5b8235915060208301356129f7816125d9565b600082601f830112612a3857600080fd5b81356020612a4861285683612812565b82815260059290921b84018101918181019086841115612a6757600080fd5b8286015b848110156128b9578035612a7e816125d9565b8352918301918301612a6b565b600080600060608486031215612aa057600080fd5b8335925060208401356001600160401b0380821115612abe57600080fd5b612aca87838801612a27565b93506040860135915080821115612ae057600080fd5b50612aed86828701612798565b9150509250925092565b60008060408385031215612b0a57600080fd5b50508035926020909101359150565b600060408284031215612b2b57600080fd5b604080519081016001600160401b038082118383101715612b4e57612b4e6126fb565b81604052829350843583526020850135915080821115612b6d57600080fd5b508301601f81018513612b7f57600080fd5b612b8e85823560208401612741565b6020830152505092915050565b60008060408385031215612bae57600080fd5b8235915060208301356001600160401b03811115612bcb57600080fd5b6127f485828601612b19565b600080600080600080600060e0888a031215612bf257600080fd5b873596506020880135612c04816125d9565b955060408801356001600160401b0380821115612c2057600080fd5b612c2c8b838c01612798565b965060608a01359150612c3e826125d9565b9094506080890135935060a08901359080821115612c5b57600080fd5b612c678b838c01612b19565b935060c08a0135915080821115612c7d57600080fd5b50612c8a8a828b01612a27565b91505092959891949750929550565b600080600080600060a08688031215612cb157600080fd5b8535612cbc816125d9565b94506020860135612ccc816125d9565b93506040860135612cdc816125d9565b94979396509394606081013594506080013592915050565b600080600060408486031215612d0957600080fd5b83356001600160401b0380821115612d2057600080fd5b818601915086601f830112612d3457600080fd5b813581811115612d4357600080fd5b8760208260051b8501011115612d5857600080fd5b602092830195509350908501359080821115612d7357600080fd5b50612aed86828701612835565b600181811c90821680612d9457607f821691505b602082108103612db457634e487b7160e01b600052602260045260246000fd5b50919050565b604081526000612dcd6040830185612648565b905060018060a01b03831660208301529392505050565b600060208284031215612df657600080fd5b8151610c2c816125d9565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612e2957600080fd5b5051919050565b606081526000612e436060830186612972565b8281036020840152612e558186612648565b91505060018060a01b0383166040830152949350505050565b601f821115610bcc57600081815260208120601f850160051c81016020861015612e955750805b601f850160051c820191505b81811015612eb457828155600101612ea1565b505050505050565b81516001600160401b03811115612ed557612ed56126fb565b612ee981612ee38454612d80565b84612e6e565b602080601f831160018114612f1e5760008415612f065750858301515b600019600386901b1c1916600185901b178555612eb4565b600085815260208120601f198616915b82811015612f4d57888601518255948401946001909101908401612f2e565b5085821015612f6b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610c2c6020830184612674565b634e487b7160e01b600052601160045260246000fd5b600060018201612fb657612fb6612f8e565b5060010190565b808202811582820484141761075557610755612f8e565b600082612ff157634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561075557610755612f8e565b8082018082111561075557610755612f8e565b60006020828403121561302e57600080fd5b81518015158114610c2c57600080fd5b828152604060208201526000611a776040830184612648565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061308a90830184612674565b9695505050505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516130c6816017850160208801612624565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516130f7816028840160208801612624565b01602801949350505050565b602081526000610c2c6020830184612648565b60008161312557613125612f8e565b50600019019056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a26469706673582212203a4380bc3fb868d19befbc16d55e5ef45050bf58534276da47ba14491904f40264736f6c63430008130033","sourceMap":"5076:29047:0:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106101f75760003560e01c806301ffc9a7146101fc578063031e2fa114610231578063068bcd8d14610253578063075c0e9c1461028057806315e812ad146102a05780631a20bd88146102bf5780631a5da6c8146102ec578063248a9ca31461030c57806324ae6a271461032c578063256929621461034c57806329e40d4b146103545780632cf682b0146103745780632ec38188146103945780632f2ff15d146103a757806336568abe146103c75780633a5fbd92146103e75780633b19e84a1461040757806341bba0b4146104255780634edbaadc1461044557806354d1f13d1461045a5780635ab1bd53146104625780635acd6fac146104805780635f9ca13814610493578063715018a6146104b357806377da8caf146104bb5780637f51bb1f146104ce5780637f5a70bd146104ee5780638da5cb5b1461050e5780638e6901861461052757806391d1485414610547578063a0cf0aea14610567578063a217fddf1461058f578063a6b63eb8146105a4578063ab2ec589146105c4578063ab3febc6146105e4578063c6dff1cf14610604578063cfc0cc3414610624578063d547741f1461065d578063e1007d4a1461067d578063f04e283e14610690578063f2fde38b146106a3578063f4e1fc41146106b6578063f54fc4a0146106d1578063fee81cf4146106f1575b600080fd5b34801561020857600080fd5b5061021c6102173660046125af565b610724565b60405190151581526020015b60405180910390f35b34801561023d57600080fd5b5061025161024c3660046125ee565b61075b565b005b34801561025f57600080fd5b5061027361026e36600461260b565b6107be565b6040516102289190612693565b61029361028e3660046127b8565b6108d1565b60405161022891906127fe565b3480156102ac57600080fd5b5060ca545b604051908152602001610228565b3480156102cb57600080fd5b506102df6102da3660046128c4565b61096e565b60405161022891906129b6565b3480156102f857600080fd5b506102516103073660046125ee565b610af4565b34801561031857600080fd5b506102b161032736600461260b565b610b08565b34801561033857600080fd5b506102516103473660046129c9565b610b1d565b610251610bd1565b34801561036057600080fd5b5061021c61036f366004612a02565b610c20565b34801561038057600080fd5b5061025161038f366004612a02565b610c33565b6102516103a23660046127b8565b610c80565b3480156103b357600080fd5b506102516103c2366004612a02565b610ca0565b3480156103d357600080fd5b506102516103e2366004612a02565b610cbc565b3480156103f357600080fd5b50610251610402366004612a8b565b610d3b565b34801561041357600080fd5b5060cc546001600160a01b0316610293565b34801561043157600080fd5b506102516104403660046125ee565b610dc3565b34801561045157600080fd5b5060c9546102b1565b610251610e45565b34801561046e57600080fd5b5060cd546001600160a01b0316610293565b61025161048e366004612af7565b610e81565b34801561049f57600080fd5b506102516104ae366004612b9b565b611018565b610251611095565b6102b16104c9366004612bd7565b6110a9565b3480156104da57600080fd5b506102516104e93660046125ee565b61112c565b3480156104fa57600080fd5b50610251610509366004612a02565b61113d565b34801561051a57600080fd5b50638b78c6d81954610293565b34801561053357600080fd5b5061025161054236600461260b565b611163565b34801561055357600080fd5b5061021c610562366004612a02565b611174565b34801561057357600080fd5b5061029373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561059b57600080fd5b506102b1600081565b3480156105b057600080fd5b506102516105bf366004612c99565b61119f565b3480156105d057600080fd5b5061021c6105df3660046125ee565b6112ae565b3480156105f057600080fd5b5061021c6105ff366004612a02565b6112b9565b34801561061057600080fd5b5061025161061f366004612cf4565b6112c5565b34801561063057600080fd5b5061029361063f36600461260b565b600090815260cf60205260409020600101546001600160a01b031690565b34801561066957600080fd5b50610251610678366004612a02565b61134a565b6102b161068b366004612bd7565b611366565b61025161069e3660046125ee565b6113d1565b6102516106b13660046125ee565b61140e565b3480156106c257600080fd5b50670de0b6b3a76400006102b1565b3480156106dd57600080fd5b506102516106ec36600461260b565b611435565b3480156106fd57600080fd5b506102b161070c3660046125ee565b63389a75e1600c908152600091909152602090205490565b60006001600160e01b03198216637965db0b60e01b148061075557506301ffc9a760e01b6001600160e01b03198316145b92915050565b610763611446565b6001600160a01b038116600090815260d0602052604090819020805460ff19169055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4906107b39083906127fe565b60405180910390a150565b6107c6612549565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b0390811682850152600283015416818501528351808501909452600382018054855260048301805492959394606087019493908401919061083090612d80565b80601f016020809104026020016040519081016040528092919081815260200182805461085c90612d80565b80156108a95780601f1061087e576101008083540402835291602001916108a9565b820191906000526020600020905b81548152906001019060200180831161088c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b60006108db611461565b600083815260cf6020526040908190206001015490516315df065760e11b81526001600160a01b0390911690632bbe0cae90349061091f9086903390600401612dba565b60206040518083038185885af115801561093d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109629190612de4565b90506107556001609755565b6060610978611461565b8251806001600160401b03811115610992576109926126fb565b6040519080825280602002602001820160405280156109bb578160200160208202803683370190505b509150825181146109df5760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610ae85760cf6000868381518110610a0057610a00612e01565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610a4d57610a4d612e01565b6020026020010151336040518363ffffffff1660e01b8152600401610a73929190612dba565b6020604051808303816000875af1158015610a92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab69190612de4565b838281518110610ac857610ac8612e01565b6001600160a01b03909216602092830291909101909101526001016109e2565b50506107556001609755565b610afc611446565b610b05816114ba565b50565b60009081526065602052604090206001015490565b610b25611446565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610bbd576040516370a0823160e01b81526001600160a01b038416906370a0823190610b779030906004016127fe565b602060405180830381865afa158015610b94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb89190612e17565b610bbf565b475b9050610bcc83838361152c565b505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610c2c8383611566565b9392505050565b81610c3d81611592565b6001600160a01b038216610c645760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610bcc90836115b9565b610c88611461565b610c92828261163f565b610c9c6001609755565b5050565b610ca982610b08565b610cb2816116b9565b610bcc83836115b9565b6001600160a01b0381163314610d315760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b610c9c82826116c3565b610d43611461565b600083815260cf602052604090819020600101549051630a6f0ee960e01b81526001600160a01b0390911690630a6f0ee990610d8790859085903390600401612e30565b600060405180830381600087803b158015610da157600080fd5b505af1158015610db5573d6000803e3d6000fd5b50505050610bcc6001609755565b610dcb611446565b6001600160a01b038116610df25760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600090815260d0602052604090819020805460ff19166001179055517f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d1906107b39083906127fe565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b610e89611461565b80600003610eaa576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b0390811682860152600283015416818401528251808401909352600382018054845260048301805492959394606087019490939084019190610f1490612d80565b80601f0160208091040260200160405190810160405280929190818152602001828054610f4090612d80565b8015610f8d5780601f10610f6257610100808354040283529160200191610f8d565b820191906000526020600020905b815481529060010190602001808311610f7057829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015610fe05750348214155b15610ffe576040516303e09bb960e31b815260040160405180910390fd5b61100d8284836020015161172a565b50610c9c6001609755565b81611022816119dc565b600083815260cf60209081526040909120835160038201908155918401519091849160048401906110539082612ebc565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf0846040516110879190612f7b565b60405180910390a250505050565b61109d611446565b6110a760006119e6565b565b60006110b3611461565b6110bc87611a12565b6110d95760405163126d324760e31b815260040160405180910390fd5b33600090815260ce602052604081208054611115928b9261110b928c9290919061110283612fa4565b91905055611a30565b8888888888611a7f565b90506111216001609755565b979650505050505050565b611134611446565b610b0581611f63565b8161114781611592565b600083815260cf6020526040902060050154610bcc90836116c3565b61116b611446565b610b0581611fd6565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600054600190610100900460ff161580156111c1575060005460ff8083169116105b6112245760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610d28565b6000805461ffff191660ff8316176101001790556112418661200b565b61124a856114ba565b61125384611f63565b61125c83612035565b61126582611fd6565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b600061075582611a12565b6000610c2c8383612093565b6112cd611461565b8051829081146112f05760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561133e5761133685858381811061131057611310612e01565b9050602002013584838151811061132957611329612e01565b602002602001015161163f565b6001016112f3565b5050610bcc6001609755565b61135382610b08565b61135c816116b9565b610bcc83836116c3565b60006001600160a01b03871661138f5760405163538ba4f960e01b815260040160405180910390fd5b61139887611a12565b156113b65760405163eeffa72160e01b815260040160405180910390fd5b6113c588888888888888611a7f565b98975050505050505050565b6113d9611446565b63389a75e1600c52806000526020600c20805442111561140157636f5e88186000526004601cfd5b60009055610b05816119e6565b611416611446565b8060601b61142c57637448fbae6000526004601cfd5b610b05816119e6565b61143d611446565b610b0581612035565b638b78c6d8195433146110a7576382b429006000526004601cfd5b6002609754036114b35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610d28565b6002609755565b6001600160a01b0381166114e15760405163538ba4f960e01b815260040160405180910390fd5b60cd80546001600160a01b0319166001600160a01b0383161790556040517fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906107b39083906127fe565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161155b57610bcc82826120af565b610bcc8383836120cb565b600082815260cf60205260408120600501546115829083611174565b80610c2c5750610c2c8383612093565b61159c8133612093565b610b055760405163075fd2b160e01b815260040160405180910390fd5b6115c38282611174565b610c9c5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556115fb3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf602052604090819020600101549051633bca483f60e21b81526001600160a01b039091169063ef2920fc9034906116839085903390600401612dba565b6000604051808303818588803b15801561169c57600080fd5b505af11580156116b0573d6000803e3d6000fd5b50505050505050565b610b058133612111565b6116cd8282611174565b15610c9c5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b0316901561187b57670de0b6b3a764000060c9546117689089612fbd565b6117729190612fd4565b935061177e8484612ff6565b92508661178b8486613009565b146117a957604051637fcce2a960e01b815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611803576040805160608101825233815260cc546001600160a01b031660208201529081018590526117fd90829061216a565b5061187b565b60cc5460009061181d9083906001600160a01b03166121e9565b6040805160608101825233815260cc546001600160a01b0316602082015290810187905290915061184f90839061216a565b5060cc5460009061186a9084906001600160a01b03166121e9565b90506118768282612ff6565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038216016118dc576118d6816040518060600160405280336001600160a01b03168152602001886001600160a01b031681526020018681525061216a565b5061193e565b60006118e882876121e9565b9050611920826040518060600160405280336001600160a01b03168152602001896001600160a01b031681526020018781525061216a565b50600061192d83886121e9565b90506119398282612ff6565b945050505b60405163f5b0dfb760e01b8152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b15801561198057600080fd5b505af1158015611994573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b61159c8133611566565b638b78c6d81980546001600160a01b0390921691829060008051602061312e833981519152600080a355565b6001600160a01b0316600090815260d0602052604090205460ff1690565b6040516001600160601b03193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611a778482612232565b949350505050565b60cd54604051635e8a791560e01b8152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611acf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611af3919061301c565b611b105760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611b1f90612fa4565b91829055506040519091508190600090611b4f9083906020019081526430b236b4b760d91b602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf8752969096208751815591516001830180549185166001600160a01b031992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611c029082612ebc565b5050506080820151600582015560a090910151600690910155611c2582336115b9565b611c2f83836122c9565b604051633b7451b360e21b81526001600160a01b038b169063edd146cc90611c5d9087908d9060040161303e565b600060405180830381600087803b158015611c7757600080fd5b505af1158015611c8b573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf29190612e17565b141580611d725750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d669190612de4565b6001600160a01b031614155b15611d905760405163636e39bb60e01b815260040160405180910390fd5b845160005b81811015611e01576000878281518110611db157611db1612e01565b6020026020010151905060006001600160a01b0316816001600160a01b031603611dee5760405163538ba4f960e01b815260040160405180910390fd5b611df886826115b9565b50600101611d95565b5060ca5415611f04576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015611e435750348860ca54611e409190613009565b14155b80611e7857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14801590611e7857503460ca5414155b15611e96576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca54611ec79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b039091169061152c565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca54604051611efb91815260200190565b60405180910390a25b8715611f1557611f1588868d61172a565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c604051611f4c9493929190613057565b60405180910390a350505050979650505050505050565b6001600160a01b038116611f8a5760405163538ba4f960e01b815260040160405180910390fd5b60cc80546001600160a01b0319166001600160a01b0383169081179091556040517f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d1916107b3916127fe565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c3906020016107b3565b6001600160a01b0316638b78c6d81981905580600060008051602061312e8339815191528180a350565b670de0b6b3a764000081111561205e57604051632fb15b8760e01b815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b065906020016107b3565b600082815260cf6020526040812060060154610c2c9083611174565b60008060008084865af1610c9c5763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d156001600051141716612107576390b8ec186000526004601cfd5b6000603452505050565b61211b8282611174565b610c9c576121288161231c565b61213383602061232e565b604051602001612144929190613094565b60408051601f198184030181529082905262461bcd60e51b8252610d2891600401613103565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038516016121cb57803410156121b8576040516374c5672b60e01b815260040160405180910390fd5b6121c68360200151826120af565b6121df565b6121df8484600001518560200151846124c9565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161222157506001600160a01b03811631610755565b61222b838361251d565b9050610755565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166107555760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606401610d28565b60006122d483610b08565b600084815260656020526040808220600101859055519192508391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606107556001600160a01b03831660145b6060600061233d836002612fbd565b612348906002613009565b6001600160401b0381111561235f5761235f6126fb565b6040519080825280601f01601f191660200182016040528015612389576020820181803683370190505b509050600360fc1b816000815181106123a4576123a4612e01565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106123d3576123d3612e01565b60200101906001600160f81b031916908160001a90535060006123f7846002612fbd565b612402906001613009565b90505b600181111561247a576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061243657612436612e01565b1a60f81b82828151811061244c5761244c612e01565b60200101906001600160f81b031916908160001a90535060049490941c9361247381613116565b9050612405565b508315610c2c5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610d28565b60405181606052826040528360601b602c526323b872dd60601b600c52602060006064601c6000895af13d15600160005114171661250f57637939f4246000526004601cfd5b600060605260405250505050565b6000816014526370a0823160601b60005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b0316815260200161259b604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156125c157600080fd5b81356001600160e01b031981168114610c2c57600080fd5b6001600160a01b0381168114610b0557600080fd5b60006020828403121561260057600080fd5b8135610c2c816125d9565b60006020828403121561261d57600080fd5b5035919050565b60005b8381101561263f578181015183820152602001612627565b50506000910152565b60008151808452612660816020860160208601612624565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611a776040850182612648565b60208152815160208201526000602083015160018060a01b0380821660408501528060408601511660608501525050606083015160c060808401526126db60e0840182612674565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715612739576127396126fb565b604052919050565b60006001600160401b0383111561275a5761275a6126fb565b61276d601f8401601f1916602001612711565b905082815283838301111561278157600080fd5b828260208301376000602084830101529392505050565b600082601f8301126127a957600080fd5b610c2c83833560208501612741565b600080604083850312156127cb57600080fd5b8235915060208301356001600160401b038111156127e857600080fd5b6127f485828601612798565b9150509250929050565b6001600160a01b0391909116815260200190565b60006001600160401b0382111561282b5761282b6126fb565b5060051b60200190565b600082601f83011261284657600080fd5b8135602061285b61285683612812565b612711565b82815260059290921b8401810191818101908684111561287a57600080fd5b8286015b848110156128b95780356001600160401b0381111561289d5760008081fd5b6128ab8986838b0101612798565b84525091830191830161287e565b509695505050505050565b600080604083850312156128d757600080fd5b82356001600160401b03808211156128ee57600080fd5b818501915085601f83011261290257600080fd5b8135602061291261285683612812565b82815260059290921b8401810191818101908984111561293157600080fd5b948201945b8386101561294f57853582529482019490820190612936565b9650508601359250508082111561296557600080fd5b506127f485828601612835565b600081518084526020808501945080840160005b838110156129ab5781516001600160a01b031687529582019590820190600101612986565b509495945050505050565b602081526000610c2c6020830184612972565b600080604083850312156129dc57600080fd5b82356129e7816125d9565b915060208301356129f7816125d9565b809150509250929050565b60008060408385031215612a1557600080fd5b8235915060208301356129f7816125d9565b600082601f830112612a3857600080fd5b81356020612a4861285683612812565b82815260059290921b84018101918181019086841115612a6757600080fd5b8286015b848110156128b9578035612a7e816125d9565b8352918301918301612a6b565b600080600060608486031215612aa057600080fd5b8335925060208401356001600160401b0380821115612abe57600080fd5b612aca87838801612a27565b93506040860135915080821115612ae057600080fd5b50612aed86828701612798565b9150509250925092565b60008060408385031215612b0a57600080fd5b50508035926020909101359150565b600060408284031215612b2b57600080fd5b604080519081016001600160401b038082118383101715612b4e57612b4e6126fb565b81604052829350843583526020850135915080821115612b6d57600080fd5b508301601f81018513612b7f57600080fd5b612b8e85823560208401612741565b6020830152505092915050565b60008060408385031215612bae57600080fd5b8235915060208301356001600160401b03811115612bcb57600080fd5b6127f485828601612b19565b600080600080600080600060e0888a031215612bf257600080fd5b873596506020880135612c04816125d9565b955060408801356001600160401b0380821115612c2057600080fd5b612c2c8b838c01612798565b965060608a01359150612c3e826125d9565b9094506080890135935060a08901359080821115612c5b57600080fd5b612c678b838c01612b19565b935060c08a0135915080821115612c7d57600080fd5b50612c8a8a828b01612a27565b91505092959891949750929550565b600080600080600060a08688031215612cb157600080fd5b8535612cbc816125d9565b94506020860135612ccc816125d9565b93506040860135612cdc816125d9565b94979396509394606081013594506080013592915050565b600080600060408486031215612d0957600080fd5b83356001600160401b0380821115612d2057600080fd5b818601915086601f830112612d3457600080fd5b813581811115612d4357600080fd5b8760208260051b8501011115612d5857600080fd5b602092830195509350908501359080821115612d7357600080fd5b50612aed86828701612835565b600181811c90821680612d9457607f821691505b602082108103612db457634e487b7160e01b600052602260045260246000fd5b50919050565b604081526000612dcd6040830185612648565b905060018060a01b03831660208301529392505050565b600060208284031215612df657600080fd5b8151610c2c816125d9565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612e2957600080fd5b5051919050565b606081526000612e436060830186612972565b8281036020840152612e558186612648565b91505060018060a01b0383166040830152949350505050565b601f821115610bcc57600081815260208120601f850160051c81016020861015612e955750805b601f850160051c820191505b81811015612eb457828155600101612ea1565b505050505050565b81516001600160401b03811115612ed557612ed56126fb565b612ee981612ee38454612d80565b84612e6e565b602080601f831160018114612f1e5760008415612f065750858301515b600019600386901b1c1916600185901b178555612eb4565b600085815260208120601f198616915b82811015612f4d57888601518255948401946001909101908401612f2e565b5085821015612f6b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610c2c6020830184612674565b634e487b7160e01b600052601160045260246000fd5b600060018201612fb657612fb6612f8e565b5060010190565b808202811582820484141761075557610755612f8e565b600082612ff157634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561075557610755612f8e565b8082018082111561075557610755612f8e565b60006020828403121561302e57600080fd5b81518015158114610c2c57600080fd5b828152604060208201526000611a776040830184612648565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061308a90830184612674565b9695505050505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516130c6816017850160208801612624565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516130f7816028840160208801612624565b01602801949350505050565b602081526000610c2c6020830184612648565b60008161312557613125612f8e565b50600019019056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a26469706673582212203a4380bc3fb868d19befbc16d55e5ef45050bf58534276da47ba14491904f40264736f6c63430008130033","sourceMap":"5076:29047:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3050:213:43;;;;;;;;;;-1:-1:-1;3050:213:43;;;;;:::i;:::-;;:::i;:::-;;;470:14:126;;463:22;445:41;;433:2;418:18;3050:213:43;;;;;;;;14900:288:0;;;;;;;;;;-1:-1:-1;14900:288:0;;;;;:::i;:::-;;:::i;:::-;;34013:108;;;;;;;;;;-1:-1:-1;34013:108:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;17298:276::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;33140:85::-;;;;;;;;;;-1:-1:-1;33211:7:0;;33140:85;;;4432:25:126;;;4420:2;4405:18;33140:85:0;4286:177:126;18212:747:0;;;;;;;;;;-1:-1:-1;18212:747:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;13330:105::-;;;;;;;;;;-1:-1:-1;13330:105:0;;;;;:::i;:::-;;:::i;4855:129:43:-;;;;;;;;;;-1:-1:-1;4855:129:43;;;;;:::i;:::-;;:::i;16308:430:0:-;;;;;;;;;;-1:-1:-1;16308:430:0;;;;;:::i;:::-;;:::i;7331:617:12:-;;;:::i;32476:144:0:-;;;;;;;;;;-1:-1:-1;32476:144:0;;;;;:::i;:::-;;:::i;15387:358::-;;;;;;;;;;-1:-1:-1;15387:358:0;;;;;:::i;:::-;;:::i;19921:127::-;;;;;;:::i;:::-;;:::i;5280:145:43:-;;;;;;;;;;-1:-1:-1;5280:145:43;;;;;:::i;:::-;;:::i;6389:214::-;;;;;;;;;;-1:-1:-1;6389:214:43;;;;;:::i;:::-;;:::i;21468:196:0:-;;;;;;;;;;-1:-1:-1;21468:196:0;;;;;:::i;:::-;;:::i;33313:95::-;;;;;;;;;;-1:-1:-1;33393:8:0;;-1:-1:-1;;;;;33393:8:0;33313:95;;14481:229;;;;;;;;;;-1:-1:-1;14481:229:0;;;;;:::i;:::-;;:::i;32977:91::-;;;;;;;;;;-1:-1:-1;33051:10:0;;32977:91;;8030:456:12;;;:::i;33488:89:0:-;;;;;;;;;;-1:-1:-1;33562:8:0;;-1:-1:-1;;;;;33562:8:0;33488:89;;19156:439;;;;;;:::i;:::-;;:::i;12894:247::-;;;;;;;;;;-1:-1:-1;12894:247:0;;;;;:::i;:::-;;:::i;7072:100:12:-;;;:::i;11971:701:0:-;;;;;;:::i;:::-;;:::i;13624:113::-;;;;;;;;;;-1:-1:-1;13624:113:0;;;;;:::i;:::-;;:::i;15950:160::-;;;;;;;;;;-1:-1:-1;15950:160:0;;;;;:::i;:::-;;:::i;9718:191:12:-;;;;;;;;;;-1:-1:-1;;;9866:27:12;9718:191;;14188:101:0;;;;;;;;;;-1:-1:-1;14188:101:0;;;;;:::i;:::-;;:::i;3350:145:43:-;;;;;;;;;;-1:-1:-1;3350:145:43;;;;;:::i;:::-;;:::i;4412:75:9:-;;;;;;;;;;;;4445:42;4412:75;;2320:49:43;;;;;;;;;;-1:-1:-1;2320:49:43;2365:4;2320:49;;7626:593:0;;;;;;;;;;-1:-1:-1;7626:593:0;;;;;:::i;:::-;;:::i;33760:132::-;;;;;;;;;;-1:-1:-1;33760:132:0;;;;;:::i;:::-;;:::i;32112:140::-;;;;;;;;;;-1:-1:-1;32112:140:0;;;;;:::i;:::-;;:::i;20511:559::-;;;;;;;;;;-1:-1:-1;20511:559:0;;;;;:::i;:::-;;:::i;32753:126::-;;;;;;;;;;-1:-1:-1;32753:126:0;;;;;:::i;:::-;32814:7;32848:14;;;:5;:14;;;;;:23;;;-1:-1:-1;;;;;32848:23:0;;32753:126;5705:147:43;;;;;;;;;;-1:-1:-1;5705:147:43;;;;;:::i;:::-;;:::i;10281:884:0:-;;;;;;:::i;:::-;;:::i;8673:708:12:-;;;;;;:::i;:::-;;:::i;6658:349::-;;;;;;:::i;:::-;;:::i;31788:103:0:-;;;;;;;;;;-1:-1:-1;31880:4:0;31788:103;;13911:113;;;;;;;;;;-1:-1:-1;13911:113:0;;;;;:::i;:::-;;:::i;10012:435:12:-;;;;;;;;;;-1:-1:-1;10012:435:12;;;;;:::i;:::-;10282:19;10276:4;10269:33;;;10131:14;10315:26;;;;10425:4;10409:21;;10403:28;;10012:435;3050:213:43;3135:4;-1:-1:-1;;;;;;3158:58:43;;-1:-1:-1;;;3158:58:43;;:98;;-1:-1:-1;;;;;;;;;;1189:51:53;;;3220:36:43;3151:105;3050:213;-1:-1:-1;;3050:213:43:o;14900:288:0:-;10836:13:12;:11;:13::i;:::-;-1:-1:-1;;;;;15059:30:0;::::1;15092:5;15059:30:::0;;;:19:::1;:30;::::0;;;;;;:38;;-1:-1:-1;;15059:38:0::1;::::0;;15155:26;::::1;::::0;::::1;::::0;15079:9;;15155:26:::1;:::i;:::-;;;;;;;;14900:288:::0;:::o;34013:108::-;34070:11;;:::i;:::-;34100:14;;;;:5;:14;;;;;;;;;34093:21;;;;;;;;;;;;;;;-1:-1:-1;;;;;34093:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;34100:14;;34093:21;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;34013:108;;;:::o;17298:276::-;17401:7;2526:21:48;:19;:21::i;:::-;17489:14:0::1;::::0;;;:5:::1;:14;::::0;;;;;;:23:::1;;::::0;:78;;-1:-1:-1;;;17489:78:0;;-1:-1:-1;;;;;17489:23:0;;::::1;::::0;:41:::1;::::0;17538:9:::1;::::0;17489:78:::1;::::0;17549:5;;17556:10:::1;::::0;17489:78:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17482:85;;2568:20:48::0;1808:1;3074:7;:22;2894:209;18212:747:0;18348:29;2526:21:48;:19;:21::i;:::-;18416:15:0;;;-1:-1:-1;;;;;18456:27:0;::::1;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;-1:-1:-1;18456:27:0::1;;18441:42;;18514:5;:12;18498;:28;18494:51;;18535:10;;-1:-1:-1::0;;;18535:10:0::1;;;;;;;;;;;18494:51;18663:9;18658:204;18678:12;18674:1;:16;18658:204;;;18725:5;:18;18731:8;18740:1;18731:11;;;;;;;;:::i;:::-;;;;;;;18725:18;;;;;;;;;;;:27;;;;;;;;;;-1:-1:-1::0;;;;;18725:27:0::1;-1:-1:-1::0;;;;;18725:45:0::1;;18771:5;18777:1;18771:8;;;;;;;;:::i;:::-;;;;;;;18781:10;18725:67;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18707:12;18720:1;18707:15;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18707:85:0;;::::1;:15;::::0;;::::1;::::0;;;;;;;:85;18834:3:::1;;18658:204;;;;18933:19;2568:20:48::0;1808:1;3074:7;:22;2894:209;13330:105:0;10836:13:12;:11;:13::i;:::-;13402:26:0::1;13418:9;13402:15;:26::i;:::-;13330:105:::0;:::o;4855:129:43:-;4929:7;4955:12;;;:6;:12;;;;;:22;;;;4855:129::o;16308:430:0:-;10836:13:12;:11;:13::i;:::-;16506:14:0::1;-1:-1:-1::0;;;;;16523:16:0;::::1;4445:42:9;16523:16:0;:93;;16566:50;::::0;-1:-1:-1;;;16566:50:0;;-1:-1:-1;;;;;16566:35:0;::::1;::::0;::::1;::::0;:50:::1;::::0;16610:4:::1;::::0;16566:50:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16523:93;;;16542:21;16523:93;16506:110;;16688:43;16704:6;16712:10;16724:6;16688:15;:43::i;:::-;16385:353;16308:430:::0;;:::o;7331:617:12:-;7424:15;6282:9;-1:-1:-1;;;;;7442:46:12;:15;:46;7424:64;;7656:19;7650:4;7643:33;7706:8;7700:4;7693:22;7762:7;7755:4;7749;7739:21;7732:38;7909:8;7862:45;7859:1;7856;7851:67;7558:374;7331:617::o;32476:144:0:-;32557:4;32580:33;32595:7;32604:8;32580:14;:33::i;:::-;32573:40;32476:144;-1:-1:-1;;;32476:144:0:o;15387:358::-;15469:7;8837:28;8857:7;8837:19;:28::i;:::-;-1:-1:-1;;;;;15568:22:0;::::1;15564:49;;15599:14;;-1:-1:-1::0;;;15599:14:0::1;;;;;;;;;;;15564:49;15701:14;::::0;;;:5:::1;:14;::::0;;;;:26:::1;;::::0;15690:48:::1;::::0;15729:8;15690:10:::1;:48::i;19921:127::-:0;2526:21:48;:19;:21::i;:::-;20016:25:0::1;20026:7;20035:5;20016:9;:25::i;:::-;2568:20:48::0;1808:1;3074:7;:22;2894:209;2568:20;19921:127:0;;:::o;5280:145:43:-;5363:18;5376:4;5363:12;:18::i;:::-;2798:16;2809:4;2798:10;:16::i;:::-;5393:25:::1;5404:4;5410:7;5393:10;:25::i;6389:214::-:0;-1:-1:-1;;;;;6484:23:43;;965:10:51;6484:23:43;6476:83;;;;-1:-1:-1;;;6476:83:43;;16571:2:126;6476:83:43;;;16553:21:126;16610:2;16590:18;;;16583:30;16649:34;16629:18;;;16622:62;-1:-1:-1;;;16700:18:126;;;16693:45;16755:19;;6476:83:43;;;;;;;;;6570:26;6582:4;6588:7;6570:11;:26::i;21468:196:0:-;2526:21:48;:19;:21::i;:::-;21589:14:0::1;::::0;;;:5:::1;:14;::::0;;;;;;:23:::1;;::::0;:68;;-1:-1:-1;;;21589:68:0;;-1:-1:-1;;;;;21589:23:0;;::::1;::::0;:34:::1;::::0;:68:::1;::::0;21624:13;;21639:5;;21646:10:::1;::::0;21589:68:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;2568:20:48::0;1808:1;3074:7;:22;2894:209;14481:229:0;10836:13:12;:11;:13::i;:::-;-1:-1:-1;;;;;14567:23:0;::::1;14563:50;;14599:14;;-1:-1:-1::0;;;14599:14:0::1;;;;;;;;;;;14563:50;-1:-1:-1::0;;;;;14624:30:0;::::1;;::::0;;;:19:::1;:30;::::0;;;;;;:37;;-1:-1:-1;;14624:37:0::1;14657:4;14624:37;::::0;;14676:27;::::1;::::0;::::1;::::0;14644:9;;14676:27:::1;:::i;8030:456:12:-:0;8232:19;8226:4;8219:33;8278:8;8272:4;8265:22;8330:1;8323:4;8317;8307:21;8300:32;8461:8;8415:44;8412:1;8409;8404:66;8030:456::o;19156:439:0:-;2526:21:48;:19;:21::i;:::-;19318:7:0::1;19329:1;19318:12:::0;19314:43:::1;;19339:18;;-1:-1:-1::0;;;19339:18:0::1;;;;;;;;;;;19314:43;19368:16;19387:14:::0;;;:5:::1;:14;::::0;;;;;;;19368:33;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;-1:-1:-1;;;;;19368:33:0;;::::1;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;;;;;;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;;;;;;;;;19387:14;;19368:33;;;;;;;;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;19368:33:0;;;;-1:-1:-1;;;19368:33:0;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;;;;;;19415:10;::::1;::::0;19368:33;;-1:-1:-1;;;;;;19415:20:0::1;4445:42:9;19415:20:0;:44:::0;::::1;;;;19450:9;19439:7;:20;;19415:44;19411:75;;;19468:18;;-1:-1:-1::0;;;19468:18:0::1;;;;;;;;;;;19411:75;19546:42;19556:7;19565;19574:4;:13;;;19546:9;:42::i;:::-;19238:357;2568:20:48::0;1808:1;3074:7;:22;2894:209;12894:247:0;12991:7;8625:30;8647:7;8625:21;:30::i;:::-;13010:17:::1;13030:14:::0;;;:5:::1;:14;::::0;;;;;;;13054:25;;:13:::1;::::0;::::1;:25:::0;;;;;::::1;::::0;13030:14;;13070:9;;13054:25;;;;::::1;::::0;;::::1;:::i;:::-;;;;;13115:7;13095:39;13124:9;13095:39;;;;;;:::i;:::-;;;;;;;;13000:141;12894:247:::0;;;:::o;7072:100:12:-;10836:13;:11;:13::i;:::-;7144:21:::1;7162:1;7144:9;:21::i;:::-;7072:100::o:0;11971:701:0:-;12251:14;2526:21:48;:19;:21::i;:::-;12282:31:0::1;12303:9;12282:20;:31::i;:::-;12277:93;;12336:23;;-1:-1:-1::0;;;12336:23:0::1;;;;;;;;;;;12277:93;12522:10;12514:19;::::0;;;:7:::1;:19;::::0;;;;:21;;12426:239:::1;::::0;12451:10;;12485:51:::1;::::0;12503:9;;12514:21;;:19;:21:::1;::::0;::::1;:::i;:::-;;;;;12485:17;:51::i;:::-;12551:17;12582:6;12602:7;12623:9;12646;12426:11;:239::i;:::-;12419:246;;2568:20:48::0;1808:1;3074:7;:22;2894:209;2568:20;11971:701:0;;;;;;;;;:::o;13624:113::-;10836:13:12;:11;:13::i;:::-;13704:26:0::1;13720:9;13704:15;:26::i;15950:160::-:0;16035:7;8837:28;8857:7;8837:19;:28::i;:::-;16066:14:::1;::::0;;;:5:::1;:14;::::0;;;;:26:::1;;::::0;16054:49:::1;::::0;16094:8;16054:11:::1;:49::i;14188:101::-:0;10836:13:12;:11;:13::i;:::-;14258:24:0::1;14273:8;14258:14;:24::i;3350:145:43:-:0;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:43;;;;;;;;;;;;;;;3350:145::o;7626:593:0:-;4882:13:47;;7816:1:0;;4882:13:47;;;;;4881:14;:40;;;;-1:-1:-1;4899:12:47;;:22;;;;:12;;:22;4881:40;4873:99;;;;-1:-1:-1;;;4873:99:47;;20253:2:126;4873:99:47;;;20235:21:126;20292:2;20272:18;;;20265:30;20331:34;20311:18;;;20304:62;-1:-1:-1;;;20382:18:126;;;20375:44;20436:19;;4873:99:47;20051:410:126;4873:99:47;4982:12;:22;;-1:-1:-1;;5014:20:47;4982:22;;;5014:20;4982:22;5014:20;;;7890:24:0::1;7907:6:::0;7890:16:::1;:24::i;:::-;7968:26;7984:9;7968:15;:26::i;:::-;8048;8064:9;8048:15;:26::i;:::-;8119:30;8137:11;8119:17;:30::i;:::-;8188:24;8203:8;8188:14;:24::i;:::-;5071:5:47::0;5055:21;;-1:-1:-1;;5055:21:47;;;5091:20;;20638:4:126;20626:17;;20608:36;;5091:20:47;;20596:2:126;20581:18;5091:20:47;;;;;;;7626:593:0;;;;;;:::o;33760:132::-;33831:4;33854:31;33875:9;33854:20;:31::i;32112:140::-;32191:4;32214:31;32227:7;32236:8;32214:12;:31::i;20511:559::-;2526:21:48;:19;:21::i;:::-;20784:13:0;;20637:8;;20772:25;::::1;20768:48;;20806:10;;-1:-1:-1::0;;;20806:10:0::1;;;;;;;;;;;20768:48;20921:9;20916:148;20936:8;20932:1;:12;20916:148;;;20961:33;20971:8;;20980:1;20971:11;;;;;;;:::i;:::-;;;;;;;20984:6;20991:1;20984:9;;;;;;;;:::i;:::-;;;;;;;20961;:33::i;:::-;21036:3;;20916:148;;;;20608:462;2568:20:48::0;1808:1;3074:7;:22;2894:209;5705:147:43;5789:18;5802:4;5789:12;:18::i;:::-;2798:16;2809:4;2798:10;:16::i;:::-;5819:26:::1;5831:4;5837:7;5819:11;:26::i;10281:884:0:-:0;10566:14;-1:-1:-1;;;;;10687:23:0;;10683:50;;10719:14;;-1:-1:-1;;;10719:14:0;;;;;;;;;;;10683:50;10898:31;10919:9;10898:20;:31::i;:::-;10894:66;;;10938:22;;-1:-1:-1;;;10938:22:0;;;;;;;;;;;10894:66;11055:103;11067:10;11089:9;11101:17;11120:6;11128:7;11137:9;11148;11055:11;:103::i;:::-;11048:110;10281:884;-1:-1:-1;;;;;;;;10281:884:0:o;8673:708:12:-;10836:13;:11;:13::i;:::-;8907:19:::1;8901:4;8894:33;8953:12;8947:4;8940:26;9015:4;9009;8999:21;9121:12;9115:19;9102:11;9099:36;9096:157;;;9167:10;9161:4;9154:24;9234:4;9228;9221:18;9096:157;9330:1;9309:23:::0;;9351::::1;9361:12:::0;9351:9:::1;:23::i;6658:349::-:0;10836:13;:11;:13::i;:::-;6830:8:::1;6826:2;6822:17;6812:150;;6872:10;6866:4;6859:24;6943:4;6937;6930:18;6812:150;6981:19;6991:8;6981:9;:19::i;13911:113:0:-:0;10836:13:12;:11;:13::i;:::-;13987:30:0::1;14005:11;13987:17;:30::i;5593:364:12:-:0;-1:-1:-1;;5799:27:12;5789:8;5786:41;5776:165;;5860:10;5854:4;5847:24;5922:4;5916;5909:18;2601:287:48;1851:1;2733:7;;:19;2725:63;;;;-1:-1:-1;;;2725:63:48;;20857:2:126;2725:63:48;;;20839:21:126;20896:2;20876:18;;;20869:30;20935:33;20915:18;;;20908:61;20986:18;;2725:63:48;20655:355:126;2725:63:48;1851:1;2863:7;:18;2601:287::o;30226:203:0:-;-1:-1:-1;;;;;30293:23:0;;30289:50;;30325:14;;-1:-1:-1;;;30325:14:0;;;;;;;;;;;30289:50;30350:8;:31;;-1:-1:-1;;;;;;30350:31:0;-1:-1:-1;;;;;30350:31:0;;;;;30396:26;;;;;;30350:31;;30396:26;:::i;6721:269:10:-;-1:-1:-1;;;;;;;6815:16:10;;;6811:173;;6847:45;6879:3;6884:7;6847:31;:45::i;6811:173::-;6923:50;6952:6;6960:3;6965:7;6923:28;:50::i;29821:192:0:-;29903:4;29934:14;;;:5;:14;;;;;:26;;;29926:45;;29962:8;29926:7;:45::i;:::-;:80;;;;29975:31;29988:7;29997:8;29975:12;:31::i;22160:138::-;22235:33;22248:7;22257:10;22235:12;:33::i;:::-;22230:61;;22277:14;;-1:-1:-1;;;22277:14:0;;;;;;;;;;;7938:233:43;8021:22;8029:4;8035:7;8021;:22::i;:::-;8016:149;;8059:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8059:29:43;;;;;;;;;:36;;-1:-1:-1;;8059:36:43;8091:4;8059:36;;;8141:12;965:10:51;;886:96;8141:12:43;-1:-1:-1;;;;;8114:40:43;8132:7;-1:-1:-1;;;;;8114:40:43;8126:4;8114:40;;;;;;;;;;7938:233;;:::o;26159:151:0:-;26234:14;;;;:5;:14;;;;;;;:23;;;:69;;-1:-1:-1;;;26234:69:0;;-1:-1:-1;;;;;26234:23:0;;;;:32;;26274:9;;26234:69;;26285:5;;26292:10;;26234:69;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26159:151;;:::o;3789:103:43:-;3855:30;3866:4;965:10:51;3855::43;:30::i;8342:234::-;8425:22;8433:4;8439:7;8425;:22::i;:::-;8421:149;;;8495:5;8463:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8463:29:43;;;;;;;;;;:37;;-1:-1:-1;;8463:37:43;;;8519:40;965:10:51;;8463:12:43;;8519:40;;8495:5;8519:40;8342:234;;:::o;26634:1879:0:-;26727:17;26817:14;;;:5;:14;;;;;26858:10;;;;26883;;26779:7;;26817:14;-1:-1:-1;;;;;26858:10:0;;26883:14;26879:808;;31880:4;26936:10;;26926:20;;:7;:20;:::i;:::-;26925:44;;;;:::i;:::-;26913:56;-1:-1:-1;26983:27:0;26913:56;26983:27;;:::i;:::-;;-1:-1:-1;27059:7:0;27029:26;26983:27;27029:9;:26;:::i;:::-;:37;27025:59;;27075:9;;-1:-1:-1;;;27075:9:0;;;;;;;;;;;27025:59;-1:-1:-1;;;;;;;27103:16:0;;;27099:578;;27167:65;;;;;;;;27187:10;27167:65;;27203:8;;-1:-1:-1;;;;;27203:8:0;27167:65;;;;;;;;;;27139:94;;27159:6;;27139:19;:94::i;:::-;;27099:578;;;27319:8;;27272:24;;27299:29;;27311:6;;-1:-1:-1;;;;;27319:8:0;27299:11;:29::i;:::-;27374:65;;;;;;;;27394:10;27374:65;;27410:8;;-1:-1:-1;;;;;27410:8:0;27374:65;;;;;;;;;;27272:56;;-1:-1:-1;27346:94:0;;27366:6;;27346:19;:94::i;:::-;-1:-1:-1;27504:8:0;;27458:23;;27484:29;;27496:6;;-1:-1:-1;;;;;27504:8:0;27484:11;:29::i;:::-;27458:55;-1:-1:-1;27628:34:0;27646:16;27458:55;27628:34;:::i;:::-;27616:46;;27254:423;;27099:578;-1:-1:-1;;;;;;;27701:16:0;;;27697:693;;27733:139;27770:6;27778:80;;;;;;;;27798:10;-1:-1:-1;;;;;27778:80:0;;;;;27822:9;-1:-1:-1;;;;;27778:80:0;;;;;27842:14;27778:80;;;27733:19;:139::i;:::-;;27697:693;;;27903:32;27938:39;27950:6;27966:9;27938:11;:39::i;:::-;27903:74;;27991:139;28028:6;28036:80;;;;;;;;28056:10;-1:-1:-1;;;;;28036:80:0;;;;;28080:9;-1:-1:-1;;;;;28036:80:0;;;;;28100:14;28036:80;;;27991:19;:139::i;:::-;;28144:31;28178:39;28190:6;28206:9;28178:11;:39::i;:::-;28144:73;-1:-1:-1;28329:50:0;28355:24;28144:73;28329:50;:::i;:::-;28312:67;;27889:501;;27697:693;28400:44;;-1:-1:-1;;;28400:44:0;;;;;4432:25:126;;;-1:-1:-1;;;;;28400:28:0;;;;;4405:18:126;;28400:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;28460:46:0;;;21847:25:126;;;21903:2;21888:18;;21881:34;;;28471:7:0;;-1:-1:-1;28460:46:0;;-1:-1:-1;21820:18:126;28460:46:0;;;;;;;26717:1796;;;;26634:1879;;;:::o;21910:142::-;21987:35;22002:7;22011:10;21987:14;:35::i;5040:495:12:-;-1:-1:-1;;5416:16:12;;-1:-1:-1;;;;;5272:26:12;;;;;;-1:-1:-1;;;;;;;;;;;5373:1:12;;5365:78;5492:27;5040:495::o;28898:132:0:-;-1:-1:-1;;;;;28993:30:0;28970:4;28993:30;;;:19;:30;;;;;;;;;28898:132::o;4749:279:6:-;4867:36;;-1:-1:-1;;;;;;4884:10:6;22128:2:126;22099:15;22095:45;4867:36:6;;;22083:58:126;22157:12;;;22150:28;;;4823:7:6;;;;22194:12:126;;4867:36:6;;;;;;;;;;;;4857:47;;;;;;4842:62;;4968:53;5005:9;5016:4;4968:36;:53::i;:::-;4961:60;4749:279;-1:-1:-1;;;;4749:279:6:o;23131:2681:0:-;23424:8;;:57;;-1:-1:-1;;;23424:57:0;;;;;22391:25:126;;;23470:10:0;22432:18:126;;;22425:60;23393:14:0;;-1:-1:-1;;;;;23424:8:0;;:33;;22364:18:126;;23424:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23419:85;;23490:14;;-1:-1:-1;;;23490:14:0;;;;;;;;;;;23419:85;23526:10;;23524:12;;;;;:::i;:::-;;;;;-1:-1:-1;23764:33:0;;23524:12;;-1:-1:-1;23524:12:0;;23675:25;;23764:33;;23524:12;;23764:33;;23008:19:126;;;-1:-1:-1;;;23052:2:126;23043:12;;23036:29;23090:2;23081:12;;22778:321;23764:33:0;;;;-1:-1:-1;;23764:33:0;;;;;;;;;23754:44;;23764:33;23754:44;;;;23864:228;;;;;;;;-1:-1:-1;;;;;23864:228:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23845:16;24159:13;;;:5;:13;;;;;;:20;;;;;;;;;;;;;;-1:-1:-1;;;;;;24159:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23754:44;;-1:-1:-1;23764:33:0;;24159:13;:20;;;;;;;;;;:::i;:::-;-1:-1:-1;;;24159:20:0;;;;;;;;;;;;;;;;;;24239:39;24250:15;24267:10;24239;:39::i;:::-;24337:49;24351:17;24370:15;24337:13;:49::i;:::-;24541:47;;-1:-1:-1;;;24541:47:0;;-1:-1:-1;;;;;24541:20:0;;;;;:47;;24562:6;;24570:17;;24541:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24628:6;24603:9;-1:-1:-1;;;;;24603:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:31;;:80;;;;24678:4;-1:-1:-1;;;;;24638:45:0;24646:9;-1:-1:-1;;;;;24646:17:0;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;24638:45:0;;;24603:80;24599:103;;;24692:10;;-1:-1:-1;;;24692:10:0;;;;;;;;;;;24599:103;24775:16;;24750:22;24801:266;24821:14;24817:1;:18;24801:266;;;24852:15;24870:9;24880:1;24870:12;;;;;;;;:::i;:::-;;;;;;;24852:30;;24919:1;-1:-1:-1;;;;;24900:21:0;:7;-1:-1:-1;;;;;24900:21:0;;24896:48;;24930:14;;-1:-1:-1;;;24930:14:0;;;;;;;;;;;24896:48;24959:38;24970:17;24989:7;24959:10;:38::i;:::-;-1:-1:-1;25039:3:0;;24801:266;;;-1:-1:-1;25081:7:0;;:11;25077:554;;-1:-1:-1;;;;;25359:16:0;;4445:42:9;25359:16:0;:52;;;;;25401:9;25390:7;25380;;:17;;;;:::i;:::-;:30;;25359:52;25358:100;;;-1:-1:-1;;;;;;25417:16:0;;4445:42:9;25417:16:0;;;;:40;;;25448:9;25437:7;;:20;;25417:40;25354:164;;;25485:18;;-1:-1:-1;;;25485:18:0;;;;;;;;;;;25354:164;25555:8;;25565:7;;25531:42;;4445::9;;-1:-1:-1;;;;;25555:8:0;;;;25531:15;:42::i;:::-;25604:6;25592:28;25612:7;;25592:28;;;;4432:25:126;;4420:2;4405:18;;4286:177;25592:28:0;;;;;;;;25077:554;25645:11;;25641:79;;25672:37;25682:7;25691:6;25699:9;25672;:37::i;:::-;25755:10;25747:6;25735:70;25767:9;25778:6;25786:7;25795:9;25735:70;;;;;;;;;:::i;:::-;;;;;;;;23409:2403;;;;23131:2681;;;;;;;;;:::o;30642:199::-;-1:-1:-1;;;;;30717:23:0;;30713:50;;30749:14;;-1:-1:-1;;;30749:14:0;;;;;;;;;;;30713:50;30774:8;:20;;-1:-1:-1;;;;;;30774:20:0;-1:-1:-1;;;;;30774:20:0;;;;;;;;30809:25;;;;;;;:::i;31426:125::-;31487:7;:18;;;31521:23;;4432:25:126;;;31521:23:0;;4420:2:126;4405:18;31521:23:0;4286:177:126;4520:448:12;-1:-1:-1;;;;;4709:26:12;-1:-1:-1;;4784:38:12;;;4709:26;4940:1;-1:-1:-1;;;;;;;;;;;4940:1:12;;4889:63;4520:448;:::o;31041:198:0:-;31126:4;31112:11;:18;31108:44;;;31139:13;;-1:-1:-1;;;31139:13:0;;;;;;;;;;;31108:44;31163:10;:24;;;31203:29;;4432:25:126;;;31203:29:0;;4420:2:126;4405:18;31203:29:0;4286:177:126;29346:153:0;29426:4;29457:14;;;:5;:14;;;;;:24;;;29449:43;;29483:8;29449:7;:43::i;2455:490:14:-;2711:4;2705;2699;2693;2685:6;2681:2;2674:5;2669:47;2659:270;;2822:10;2816:4;2809:24;2910:4;2904;2897:18;11454:1189;11617:2;11611:4;11604:16;11674:6;11668:4;11661:20;-1:-1:-1;;;11808:4:14;11801:48;12272:4;12266;12260;12254;12251:1;12244:5;12237;12232:45;12192:16;12185:24;12181:1;12174:4;12168:11;12165:18;12162:48;11890:405;11863:655;;12411:10;12405:4;12398:24;12499:4;12493;12486:18;11863:655;12625:1;12619:4;12612:15;11454:1189;;;:::o;4173:501:43:-;4261:22;4269:4;4275:7;4261;:22::i;:::-;4256:412;;4444:39;4475:7;4444:30;:39::i;:::-;4554:49;4593:4;4600:2;4554:30;:49::i;:::-;4351:274;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4351:274:43;;;;;;;;;;-1:-1:-1;;;4299:358:43;;;;;;;:::i;6019:500:10:-;6150:20;;;;6117:4;;-1:-1:-1;;;;;;;6184:16:10;;;6180:312;;6260:6;6248:9;:18;6244:48;;;6275:17;;-1:-1:-1;;;6275:17:10;;;;;;;;;;;6244:48;6307:57;6339:13;:16;;;6357:6;6307:31;:57::i;:::-;6180:312;;;6395:86;6428:6;6436:13;:18;;;6456:13;:16;;;6474:6;6395:32;:86::i;:::-;-1:-1:-1;6508:4:10;;6019:500;-1:-1:-1;;;6019:500:10:o;7224:263::-;7302:7;-1:-1:-1;;;;;;;7325:16:10;;;7321:160;;-1:-1:-1;;;;;;7364:25:10;;;7357:32;;7321:160;7427:43;7453:6;7461:8;7427:25;:43::i;:::-;7420:50;;;;2118:794:46;2202:16;2534:48;2516:14;2510:4;2506:25;2500:4;2496:36;2493:90;2487:4;2480:104;2741:32;2724:14;2718:4;2714:25;2711:63;2705:4;2698:77;2823:4;2817;2811;2808:1;2800:28;2788:40;-1:-1:-1;;;;;;2855:22:46;;2847:58;;;;-1:-1:-1;;;2847:58:46;;25683:2:126;2847:58:46;;;25665:21:126;25722:2;25702:18;;;25695:30;-1:-1:-1;;;25741:18:126;;;25734:53;25804:18;;2847:58:46;25481:347:126;7523:247:43;7606:25;7634:18;7647:4;7634:12;:18::i;:::-;7662:12;;;;:6;:12;;;;;;:22;;:34;;;7711:52;7606:46;;-1:-1:-1;7687:9:43;;7606:46;;7669:4;;7711:52;;7662:12;7711:52;7596:174;7523:247;;:::o;2473:149:52:-;2531:13;2563:52;-1:-1:-1;;;;;2575:22:52;;376:2;1884:437;1959:13;1984:19;2016:10;2020:6;2016:1;:10;:::i;:::-;:14;;2029:1;2016:14;:::i;:::-;-1:-1:-1;;;;;2006:25:52;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2006:25:52;;1984:47;;-1:-1:-1;;;2041:6:52;2048:1;2041:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2041:15:52;;;;;;;;;-1:-1:-1;;;2066:6:52;2073:1;2066:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2066:15:52;;;;;;;;-1:-1:-1;2096:9:52;2108:10;2112:6;2108:1;:10;:::i;:::-;:14;;2121:1;2108:14;:::i;:::-;2096:26;;2091:128;2128:1;2124;:5;2091:128;;;-1:-1:-1;;;2171:5:52;2179:3;2171:11;2162:21;;;;;;;:::i;:::-;;;;2150:6;2157:1;2150:9;;;;;;;;:::i;:::-;;;;:33;-1:-1:-1;;;;;2150:33:52;;;;;;;;-1:-1:-1;2207:1:52;2197:11;;;;;2131:3;;;:::i;:::-;;;2091:128;;;-1:-1:-1;2236:10:52;;2228:55;;;;-1:-1:-1;;;2228:55:52;;26176:2:126;2228:55:52;;;26158:21:126;;;26195:18;;;26188:30;26254:34;26234:18;;;26227:62;26306:18;;2228:55:52;25974:356:126;7671:1379:14;7854:4;7848:11;7920:6;7914:4;7907:20;7985:2;7979:4;7972:16;8050:4;8046:2;8042:13;8036:4;8029:27;-1:-1:-1;;;8193:4:14;8186:48;8657:4;8651;8645;8639;8636:1;8629:5;8622;8617:45;8577:16;8570:24;8566:1;8559:4;8553:11;8550:18;8547:48;8275:405;8248:659;;8800:10;8794:4;8787:24;8888:4;8882;8875:18;8248:659;8934:1;8928:4;8921:15;8990:4;8983:15;-1:-1:-1;;;;7671:1379:14:o;18299:722::-;18373:14;18478:7;18472:4;18465:21;-1:-1:-1;;;18607:4:14;18600:48;18960:4;18954;18948;18942;18935:5;18928;18917:48;18855:4;18837:16;18834:26;18745:242;18718:4;18712:11;18687:318;18661:344;;18299:722;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:286:126:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:126;;209:43;;199:71;;266:1;263;256:12;497:131;-1:-1:-1;;;;;572:31:126;;562:42;;552:70;;618:1;615;608:12;633:247;692:6;745:2;733:9;724:7;720:23;716:32;713:52;;;761:1;758;751:12;713:52;800:9;787:23;819:31;844:5;819:31;:::i;885:180::-;944:6;997:2;985:9;976:7;972:23;968:32;965:52;;;1013:1;1010;1003:12;965:52;-1:-1:-1;1036:23:126;;885:180;-1:-1:-1;885:180:126:o;1070:250::-;1155:1;1165:113;1179:6;1176:1;1173:13;1165:113;;;1255:11;;;1249:18;1236:11;;;1229:39;1201:2;1194:10;1165:113;;;-1:-1:-1;;1312:1:126;1294:16;;1287:27;1070:250::o;1325:271::-;1367:3;1405:5;1399:12;1432:6;1427:3;1420:19;1448:76;1517:6;1510:4;1505:3;1501:14;1494:4;1487:5;1483:16;1448:76;:::i;:::-;1578:2;1557:15;-1:-1:-1;;1553:29:126;1544:39;;;;1585:4;1540:50;;1325:271;-1:-1:-1;;1325:271:126:o;1601:252::-;1688:5;1682:12;1677:3;1670:25;1652:3;1741:4;1734:5;1730:16;1724:23;1779:4;1772;1767:3;1763:14;1756:28;1800:47;1841:4;1836:3;1832:14;1818:12;1800:47;:::i;1858:774::-;2031:2;2020:9;2013:21;2076:6;2070:13;2065:2;2054:9;2050:18;2043:41;1994:4;2131:2;2123:6;2119:15;2113:22;2171:1;2167;2162:3;2158:11;2154:19;2227:2;2213:12;2209:21;2204:2;2193:9;2189:18;2182:49;2295:2;2289;2281:6;2277:15;2271:22;2267:31;2262:2;2251:9;2247:18;2240:59;;;2348:2;2340:6;2336:15;2330:22;2389:4;2383:3;2372:9;2368:19;2361:33;2417:63;2475:3;2464:9;2460:19;2444:14;2417:63;:::i;:::-;2403:77;;2535:3;2527:6;2523:16;2517:23;2511:3;2500:9;2496:19;2489:52;2597:3;2589:6;2585:16;2579:23;2572:4;2561:9;2557:20;2550:53;2620:6;2612:14;;;1858:774;;;;:::o;2637:127::-;2698:10;2693:3;2689:20;2686:1;2679:31;2729:4;2726:1;2719:15;2753:4;2750:1;2743:15;2769:275;2840:2;2834:9;2905:2;2886:13;;-1:-1:-1;;2882:27:126;2870:40;;-1:-1:-1;;;;;2925:34:126;;2961:22;;;2922:62;2919:88;;;2987:18;;:::i;:::-;3023:2;3016:22;2769:275;;-1:-1:-1;2769:275:126:o;3049:406::-;3113:5;-1:-1:-1;;;;;3136:30:126;;3133:56;;;3169:18;;:::i;:::-;3207:57;3252:2;3231:15;;-1:-1:-1;;3227:29:126;3258:4;3223:40;3207:57;:::i;:::-;3198:66;;3287:6;3280:5;3273:21;3327:3;3318:6;3313:3;3309:16;3306:25;3303:45;;;3344:1;3341;3334:12;3303:45;3393:6;3388:3;3381:4;3374:5;3370:16;3357:43;3447:1;3440:4;3431:6;3424:5;3420:18;3416:29;3409:40;3049:406;;;;;:::o;3460:220::-;3502:5;3555:3;3548:4;3540:6;3536:17;3532:27;3522:55;;3573:1;3570;3563:12;3522:55;3595:79;3670:3;3661:6;3648:20;3641:4;3633:6;3629:17;3595:79;:::i;3685:388::-;3762:6;3770;3823:2;3811:9;3802:7;3798:23;3794:32;3791:52;;;3839:1;3836;3829:12;3791:52;3862:23;;;-1:-1:-1;3936:2:126;3921:18;;3908:32;-1:-1:-1;;;;;3952:30:126;;3949:50;;;3995:1;3992;3985:12;3949:50;4018:49;4059:7;4050:6;4039:9;4035:22;4018:49;:::i;:::-;4008:59;;;3685:388;;;;;:::o;4078:203::-;-1:-1:-1;;;;;4242:32:126;;;;4224:51;;4212:2;4197:18;;4078:203::o;4468:183::-;4528:4;-1:-1:-1;;;;;4550:30:126;;4547:56;;;4583:18;;:::i;:::-;-1:-1:-1;4628:1:126;4624:14;4640:4;4620:25;;4468:183::o;4656:886::-;4708:5;4761:3;4754:4;4746:6;4742:17;4738:27;4728:55;;4779:1;4776;4769:12;4728:55;4815:6;4802:20;4841:4;4865:60;4881:43;4921:2;4881:43;:::i;:::-;4865:60;:::i;:::-;4959:15;;;5045:1;5041:10;;;;5029:23;;5025:32;;;4990:12;;;;5069:15;;;5066:35;;;5097:1;5094;5087:12;5066:35;5133:2;5125:6;5121:15;5145:368;5161:6;5156:3;5153:15;5145:368;;;5234:17;;-1:-1:-1;;;;;5267:35:126;;5264:125;;;5343:1;5372:2;5368;5361:14;5264:125;5414:56;5466:3;5461:2;5447:11;5439:6;5435:24;5431:33;5414:56;:::i;:::-;5402:69;;-1:-1:-1;5491:12:126;;;;5178;;5145:368;;;-1:-1:-1;5531:5:126;4656:886;-1:-1:-1;;;;;;4656:886:126:o;5547:1147::-;5674:6;5682;5735:2;5723:9;5714:7;5710:23;5706:32;5703:52;;;5751:1;5748;5741:12;5703:52;5778:23;;-1:-1:-1;;;;;5850:14:126;;;5847:34;;;5877:1;5874;5867:12;5847:34;5915:6;5904:9;5900:22;5890:32;;5960:7;5953:4;5949:2;5945:13;5941:27;5931:55;;5982:1;5979;5972:12;5931:55;6018:2;6005:16;6040:4;6064:60;6080:43;6120:2;6080:43;:::i;6064:60::-;6158:15;;;6240:1;6236:10;;;;6228:19;;6224:28;;;6189:12;;;;6264:19;;;6261:39;;;6296:1;6293;6286:12;6261:39;6320:11;;;;6340:142;6356:6;6351:3;6348:15;6340:142;;;6422:17;;6410:30;;6373:12;;;;6460;;;;6340:142;;;6501:5;-1:-1:-1;;6544:18:126;;6531:32;;-1:-1:-1;;6575:16:126;;;6572:36;;;6604:1;6601;6594:12;6572:36;;6627:61;6680:7;6669:8;6658:9;6654:24;6627:61;:::i;6699:461::-;6752:3;6790:5;6784:12;6817:6;6812:3;6805:19;6843:4;6872:2;6867:3;6863:12;6856:19;;6909:2;6902:5;6898:14;6930:1;6940:195;6954:6;6951:1;6948:13;6940:195;;;7019:13;;-1:-1:-1;;;;;7015:39:126;7003:52;;7075:12;;;;7110:15;;;;7051:1;6969:9;6940:195;;;-1:-1:-1;7151:3:126;;6699:461;-1:-1:-1;;;;;6699:461:126:o;7165:261::-;7344:2;7333:9;7326:21;7307:4;7364:56;7416:2;7405:9;7401:18;7393:6;7364:56;:::i;7798:388::-;7866:6;7874;7927:2;7915:9;7906:7;7902:23;7898:32;7895:52;;;7943:1;7940;7933:12;7895:52;7982:9;7969:23;8001:31;8026:5;8001:31;:::i;:::-;8051:5;-1:-1:-1;8108:2:126;8093:18;;8080:32;8121:33;8080:32;8121:33;:::i;:::-;8173:7;8163:17;;;7798:388;;;;;:::o;8191:315::-;8259:6;8267;8320:2;8308:9;8299:7;8295:23;8291:32;8288:52;;;8336:1;8333;8326:12;8288:52;8372:9;8359:23;8349:33;;8432:2;8421:9;8417:18;8404:32;8445:31;8470:5;8445:31;:::i;8831:737::-;8885:5;8938:3;8931:4;8923:6;8919:17;8915:27;8905:55;;8956:1;8953;8946:12;8905:55;8992:6;8979:20;9018:4;9042:60;9058:43;9098:2;9058:43;:::i;9042:60::-;9136:15;;;9222:1;9218:10;;;;9206:23;;9202:32;;;9167:12;;;;9246:15;;;9243:35;;;9274:1;9271;9264:12;9243:35;9310:2;9302:6;9298:15;9322:217;9338:6;9333:3;9330:15;9322:217;;;9418:3;9405:17;9435:31;9460:5;9435:31;:::i;:::-;9479:18;;9517:12;;;;9355;;9322:217;;9573:635;9684:6;9692;9700;9753:2;9741:9;9732:7;9728:23;9724:32;9721:52;;;9769:1;9766;9759:12;9721:52;9792:23;;;-1:-1:-1;9866:2:126;9851:18;;9838:32;-1:-1:-1;;;;;9919:14:126;;;9916:34;;;9946:1;9943;9936:12;9916:34;9969:61;10022:7;10013:6;10002:9;9998:22;9969:61;:::i;:::-;9959:71;;10083:2;10072:9;10068:18;10055:32;10039:48;;10112:2;10102:8;10099:16;10096:36;;;10128:1;10125;10118:12;10096:36;;10151:51;10194:7;10183:8;10172:9;10168:24;10151:51;:::i;:::-;10141:61;;;9573:635;;;;;:::o;10663:248::-;10731:6;10739;10792:2;10780:9;10771:7;10767:23;10763:32;10760:52;;;10808:1;10805;10798:12;10760:52;-1:-1:-1;;10831:23:126;;;10901:2;10886:18;;;10873:32;;-1:-1:-1;10663:248:126:o;10916:734::-;10971:5;11019:4;11007:9;11002:3;10998:19;10994:30;10991:50;;;11037:1;11034;11027:12;10991:50;11070:4;11064:11;;;11102:17;;-1:-1:-1;;;;;11171:18:126;;;11191:22;;;11168:46;11165:72;;;11217:18;;:::i;:::-;11259:10;11253:4;11246:24;11288:6;11279:15;;11331:9;11318:23;11310:6;11303:39;11393:2;11382:9;11378:18;11365:32;11351:46;;11420:2;11412:6;11409:14;11406:34;;;11436:1;11433;11426:12;11406:34;-1:-1:-1;11459:22:126;;11512:4;11504:13;;11500:23;-1:-1:-1;11490:51:126;;11537:1;11534;11527:12;11490:51;11574:69;11639:3;11634:2;11621:16;11616:2;11612;11608:11;11574:69;:::i;:::-;11569:2;11561:6;11557:15;11550:94;;;10916:734;;;;:::o;11655:415::-;11749:6;11757;11810:2;11798:9;11789:7;11785:23;11781:32;11778:52;;;11826:1;11823;11816:12;11778:52;11849:23;;;-1:-1:-1;11923:2:126;11908:18;;11895:32;-1:-1:-1;;;;;11939:30:126;;11936:50;;;11982:1;11979;11972:12;11936:50;12005:59;12056:7;12047:6;12036:9;12032:22;12005:59;:::i;12075:1208::-;12248:6;12256;12264;12272;12280;12288;12296;12349:3;12337:9;12328:7;12324:23;12320:33;12317:53;;;12366:1;12363;12356:12;12317:53;12402:9;12389:23;12379:33;;12462:2;12451:9;12447:18;12434:32;12475:31;12500:5;12475:31;:::i;:::-;12525:5;-1:-1:-1;12581:2:126;12566:18;;12553:32;-1:-1:-1;;;;;12634:14:126;;;12631:34;;;12661:1;12658;12651:12;12631:34;12684:49;12725:7;12716:6;12705:9;12701:22;12684:49;:::i;:::-;12674:59;;12785:2;12774:9;12770:18;12757:32;12742:47;;12798:33;12823:7;12798:33;:::i;:::-;12850:7;;-1:-1:-1;12904:3:126;12889:19;;12876:33;;-1:-1:-1;12962:3:126;12947:19;;12934:33;;12979:16;;;12976:36;;;13008:1;13005;12998:12;12976:36;13031:61;13084:7;13073:8;13062:9;13058:24;13031:61;:::i;:::-;13021:71;;13145:3;13134:9;13130:19;13117:33;13101:49;;13175:2;13165:8;13162:16;13159:36;;;13191:1;13188;13181:12;13159:36;;13214:63;13269:7;13258:8;13247:9;13243:24;13214:63;:::i;:::-;13204:73;;;12075:1208;;;;;;;;;;:::o;13548:675::-;13651:6;13659;13667;13675;13683;13736:3;13724:9;13715:7;13711:23;13707:33;13704:53;;;13753:1;13750;13743:12;13704:53;13792:9;13779:23;13811:31;13836:5;13811:31;:::i;:::-;13861:5;-1:-1:-1;13918:2:126;13903:18;;13890:32;13931:33;13890:32;13931:33;:::i;:::-;13983:7;-1:-1:-1;14042:2:126;14027:18;;14014:32;14055:33;14014:32;14055:33;:::i;:::-;13548:675;;;;-1:-1:-1;14107:7:126;;14161:2;14146:18;;14133:32;;-1:-1:-1;14212:3:126;14197:19;14184:33;;13548:675;-1:-1:-1;;13548:675:126:o;14228:854::-;14357:6;14365;14373;14426:2;14414:9;14405:7;14401:23;14397:32;14394:52;;;14442:1;14439;14432:12;14394:52;14469:23;;-1:-1:-1;;;;;14541:14:126;;;14538:34;;;14568:1;14565;14558:12;14538:34;14606:6;14595:9;14591:22;14581:32;;14651:7;14644:4;14640:2;14636:13;14632:27;14622:55;;14673:1;14670;14663:12;14622:55;14713:2;14700:16;14739:2;14731:6;14728:14;14725:34;;;14755:1;14752;14745:12;14725:34;14810:7;14803:4;14793:6;14790:1;14786:14;14782:2;14778:23;14774:34;14771:47;14768:67;;;14831:1;14828;14821:12;14768:67;14862:4;14854:13;;;;-1:-1:-1;14886:6:126;-1:-1:-1;14930:20:126;;;14917:34;;14963:16;;;14960:36;;;14992:1;14989;14982:12;14960:36;;15015:61;15068:7;15057:8;15046:9;15042:24;15015:61;:::i;15087:380::-;15166:1;15162:12;;;;15209;;;15230:61;;15284:4;15276:6;15272:17;15262:27;;15230:61;15337:2;15329:6;15326:14;15306:18;15303:38;15300:161;;15383:10;15378:3;15374:20;15371:1;15364:31;15418:4;15415:1;15408:15;15446:4;15443:1;15436:15;15300:161;;15087:380;;;:::o;15472:315::-;15647:2;15636:9;15629:21;15610:4;15667:45;15708:2;15697:9;15693:18;15685:6;15667:45;:::i;:::-;15659:53;;15777:1;15773;15768:3;15764:11;15760:19;15752:6;15748:32;15743:2;15732:9;15728:18;15721:60;15472:315;;;;;:::o;15792:251::-;15862:6;15915:2;15903:9;15894:7;15890:23;15886:32;15883:52;;;15931:1;15928;15921:12;15883:52;15963:9;15957:16;15982:31;16007:5;15982:31;:::i;16048:127::-;16109:10;16104:3;16100:20;16097:1;16090:31;16140:4;16137:1;16130:15;16164:4;16161:1;16154:15;16180:184;16250:6;16303:2;16291:9;16282:7;16278:23;16274:32;16271:52;;;16319:1;16316;16309:12;16271:52;-1:-1:-1;16342:16:126;;16180:184;-1:-1:-1;16180:184:126:o;16785:519::-;17038:2;17027:9;17020:21;17001:4;17064:56;17116:2;17105:9;17101:18;17093:6;17064:56;:::i;:::-;17168:9;17160:6;17156:22;17151:2;17140:9;17136:18;17129:50;17196:33;17222:6;17214;17196:33;:::i;:::-;17188:41;;;17294:1;17290;17285:3;17281:11;17277:19;17269:6;17265:32;17260:2;17249:9;17245:18;17238:60;16785:519;;;;;;:::o;17435:545::-;17537:2;17532:3;17529:11;17526:448;;;17573:1;17598:5;17594:2;17587:17;17643:4;17639:2;17629:19;17713:2;17701:10;17697:19;17694:1;17690:27;17684:4;17680:38;17749:4;17737:10;17734:20;17731:47;;;-1:-1:-1;17772:4:126;17731:47;17827:2;17822:3;17818:12;17815:1;17811:20;17805:4;17801:31;17791:41;;17882:82;17900:2;17893:5;17890:13;17882:82;;;17945:17;;;17926:1;17915:13;17882:82;;;17886:3;;;17435:545;;;:::o;18156:1352::-;18276:10;;-1:-1:-1;;;;;18298:30:126;;18295:56;;;18331:18;;:::i;:::-;18360:97;18450:6;18410:38;18442:4;18436:11;18410:38;:::i;:::-;18404:4;18360:97;:::i;:::-;18512:4;;18576:2;18565:14;;18593:1;18588:663;;;;19295:1;19312:6;19309:89;;;-1:-1:-1;19364:19:126;;;19358:26;19309:89;-1:-1:-1;;18113:1:126;18109:11;;;18105:24;18101:29;18091:40;18137:1;18133:11;;;18088:57;19411:81;;18558:944;;18588:663;17382:1;17375:14;;;17419:4;17406:18;;-1:-1:-1;;18624:20:126;;;18742:236;18756:7;18753:1;18750:14;18742:236;;;18845:19;;;18839:26;18824:42;;18937:27;;;;18905:1;18893:14;;;;18772:19;;18742:236;;;18746:3;19006:6;18997:7;18994:19;18991:201;;;19067:19;;;19061:26;-1:-1:-1;;19150:1:126;19146:14;;;19162:3;19142:24;19138:37;19134:42;19119:58;19104:74;;18991:201;-1:-1:-1;;;;;19238:1:126;19222:14;;;19218:22;19205:36;;-1:-1:-1;18156:1352:126:o;19513:261::-;19694:2;19683:9;19676:21;19657:4;19714:54;19764:2;19753:9;19749:18;19741:6;19714:54;:::i;19779:127::-;19840:10;19835:3;19831:20;19828:1;19821:31;19871:4;19868:1;19861:15;19895:4;19892:1;19885:15;19911:135;19950:3;19971:17;;;19968:43;;19991:18;;:::i;:::-;-1:-1:-1;20038:1:126;20027:13;;19911:135::o;21015:168::-;21088:9;;;21119;;21136:15;;;21130:22;;21116:37;21106:71;;21157:18;;:::i;21188:217::-;21228:1;21254;21244:132;;21298:10;21293:3;21289:20;21286:1;21279:31;21333:4;21330:1;21323:15;21361:4;21358:1;21351:15;21244:132;-1:-1:-1;21390:9:126;;21188:217::o;21410:128::-;21477:9;;;21498:11;;;21495:37;;;21512:18;;:::i;21543:125::-;21608:9;;;21629:10;;;21626:36;;;21642:18;;:::i;22496:277::-;22563:6;22616:2;22604:9;22595:7;22591:23;22587:32;22584:52;;;22632:1;22629;22622:12;22584:52;22664:9;22658:16;22717:5;22710:13;22703:21;22696:5;22693:32;22683:60;;22739:1;22736;22729:12;23104:289;23279:6;23268:9;23261:25;23322:2;23317;23306:9;23302:18;23295:30;23242:4;23342:45;23383:2;23372:9;23368:18;23360:6;23342:45;:::i;23668:550::-;-1:-1:-1;;;;;23989:15:126;;;23971:34;;24041:15;;24036:2;24021:18;;24014:43;24088:2;24073:18;;24066:34;;;24136:3;24131:2;24116:18;;24109:31;;;23914:4;;24157:55;;24192:19;;24184:6;24157:55;:::i;:::-;24149:63;23668:550;-1:-1:-1;;;;;;23668:550:126:o;24439:812::-;-1:-1:-1;;;24845:3:126;24838:38;24820:3;24905:6;24899:13;24921:75;24989:6;24984:2;24979:3;24975:12;24968:4;24960:6;24956:17;24921:75;:::i;:::-;-1:-1:-1;;;25055:2:126;25015:16;;;25047:11;;;25040:40;25105:13;;25127:76;25105:13;25189:2;25181:11;;25174:4;25162:17;;25127:76;:::i;:::-;25223:17;25242:2;25219:26;;24439:812;-1:-1:-1;;;;24439:812:126:o;25256:220::-;25405:2;25394:9;25387:21;25368:4;25425:45;25466:2;25455:9;25451:18;25443:6;25425:45;:::i;25833:136::-;25872:3;25900:5;25890:39;;25909:18;;:::i;:::-;-1:-1:-1;;;25945:18:126;;25833:136::o","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","NATIVE()":"a0cf0aea","addPoolManager(uint256,address)":"2cf682b0","addToCloneableStrategies(address)":"41bba0b4","allocate(uint256,bytes)":"2ec38188","batchAllocate(uint256[],bytes[])":"c6dff1cf","batchRegisterRecipient(uint256[],bytes[])":"1a20bd88","cancelOwnershipHandover()":"54d1f13d","completeOwnershipHandover(address)":"f04e283e","createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])":"77da8caf","createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":"e1007d4a","distribute(uint256,address[],bytes)":"3a5fbd92","fundPool(uint256,uint256)":"5acd6fac","getBaseFee()":"15e812ad","getFeeDenominator()":"f4e1fc41","getPercentFee()":"4edbaadc","getPool(uint256)":"068bcd8d","getRegistry()":"5ab1bd53","getRoleAdmin(bytes32)":"248a9ca3","getStrategy(uint256)":"cfc0cc34","getTreasury()":"3b19e84a","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(address,address,address,uint256,uint256)":"a6b63eb8","isCloneableStrategy(address)":"ab2ec589","isPoolAdmin(uint256,address)":"ab3febc6","isPoolManager(uint256,address)":"29e40d4b","owner()":"8da5cb5b","ownershipHandoverExpiresAt(address)":"fee81cf4","recoverFunds(address,address)":"24ae6a27","registerRecipient(uint256,bytes)":"075c0e9c","removeFromCloneableStrategies(address)":"031e2fa1","removePoolManager(uint256,address)":"7f5a70bd","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","requestOwnershipHandover()":"25692962","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","updateBaseFee(uint256)":"8e690186","updatePercentFee(uint256)":"f54fc4a0","updatePoolMetadata(uint256,(uint256,string))":"5f9ca138","updateRegistry(address)":"1a5da6c8","updateTreasury(address)":"7f51bb1f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AMOUNT_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewOwnerIsZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoHandoverRequest\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BaseFeePaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseFee\",\"type\":\"uint256\"}],\"name\":\"BaseFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"OwnershipHandoverCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"OwnershipHandoverRequested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"percentFee\",\"type\":\"uint256\"}],\"name\":\"PercentFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"PoolFunded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"RegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"}],\"name\":\"TreasuryUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"addPoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"addToCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_datas\",\"type\":\"bytes[]\"}],\"name\":\"batchAllocate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_data\",\"type\":\"bytes[]\"}],\"name\":\"batchRegisterRecipient\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"recipientIds\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cancelOwnershipHandover\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"completeOwnershipHandover\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initStrategyData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initStrategyData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"createPoolWithCustomStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_recipientIds\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"fundPool\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"FEE_DENOMINATOR\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPercentFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getPool\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getStrategy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTreasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"isCloneableStrategy\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolManager\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"result\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"ownershipHandoverExpiresAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"registerRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeFromCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"removePoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"requestOwnershipHandover\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"updateBaseFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"}],\"name\":\"updatePercentFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updatePoolMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"}],\"name\":\"updateRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"}],\"name\":\"updateTreasury\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"details\":\"The contract must be initialized with the 'initialize()' function.\",\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}],\"NewOwnerIsZeroAddress()\":[{\"details\":\"The `newOwner` cannot be the zero address.\"}],\"NoHandoverRequest()\":[{\"details\":\"The `pendingOwner` does not have a valid handover request.\"}],\"Unauthorized()\":[{\"details\":\"The caller is not authorized to call the function.\"}]},\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"params\":{\"amount\":\"Amount of the base fee paid\",\"poolId\":\"ID of the pool the base fee was paid for\"}},\"BaseFeeUpdated(uint256)\":{\"params\":{\"baseFee\":\"New base fee amount\"}},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"OwnershipHandoverCanceled(address)\":{\"details\":\"The ownership handover to `pendingOwner` has been canceled.\"},\"OwnershipHandoverRequested(address)\":{\"details\":\"An ownership handover to `pendingOwner` has been requested.\"},\"OwnershipTransferred(address,address)\":{\"details\":\"The ownership is transferred from `oldOwner` to `newOwner`. This event is intentionally kept the same as OpenZeppelin's Ownable to be compatible with indexers and [EIP-173](https://eips.ethereum.org/EIPS/eip-173), despite it not being as lightweight as a single argument event.\"},\"PercentFeeUpdated(uint256)\":{\"params\":{\"percentFee\":\"New percentage for the fee\"}},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"params\":{\"amount\":\"Amount pool was funded with when created\",\"metadata\":\"Pool metadata\",\"poolId\":\"ID of the pool created\",\"profileId\":\"ID of the profile the pool is associated with\",\"strategy\":\"Address of the strategy contract\",\"token\":\"Address of the token pool was funded with when created\"}},\"PoolFunded(uint256,uint256,uint256)\":{\"params\":{\"amount\":\"Amount funded to the pool\",\"fee\":\"Amount of the fee paid to the treasury\",\"poolId\":\"ID of the pool funded\"}},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"params\":{\"metadata\":\"Pool metadata that was updated\",\"poolId\":\"ID of the pool updated\"}},\"RegistryUpdated(address)\":{\"params\":{\"registry\":\"Address of the new registry\"}},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"StrategyApproved(address)\":{\"params\":{\"strategy\":\"Address of the strategy approved\"}},\"StrategyRemoved(address)\":{\"params\":{\"strategy\":\"Address of the strategy removed\"}},\"TreasuryUpdated(address)\":{\"params\":{\"treasury\":\"Address of the new treasury\"}}},\"kind\":\"dev\",\"methods\":{\"addPoolManager(uint256,address)\":{\"details\":\"Emits 'RoleGranted()' event. 'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address to add\",\"_poolId\":\"ID of the pool\"}},\"addToCloneableStrategies(address)\":{\"details\":\"Emits the 'StrategyApproved()' event. 'msg.sender' must be Allo owner.\",\"params\":{\"_strategy\":\"The address of the strategy\"}},\"allocate(uint256,bytes)\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate().\",\"params\":{\"_data\":\"Encoded data unique to the strategy for that pool\",\"_poolId\":\"ID of the pool\"}},\"batchAllocate(uint256[],bytes[])\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate(). Please note that this is not a 'payable' function, so if you want to send funds to the strategy, you must send the funds using 'fundPool()'.\",\"params\":{\"_datas\":\"encoded data unique to the strategy for that pool\",\"_poolIds\":\"IDs of the pools\"}},\"batchRegisterRecipient(uint256[],bytes[])\":{\"details\":\"Returns the 'recipientIds' from the strategy that have been registered from calling this function. Encoded data unique to a strategy that registerRecipient() requires. Encoded '_data' length must match '_poolIds' length or this will revert with MISMATCH(). Other requirements will be determined by the strategy.\",\"params\":{\"_data\":\"An array of encoded data unique to a strategy that registerRecipient() requires.\",\"_poolIds\":\"ID's of the pools\"},\"returns\":{\"recipientIds\":\"The recipient IDs that have been registered\"}},\"cancelOwnershipHandover()\":{\"details\":\"Cancels the two-step ownership handover to the caller, if any.\"},\"completeOwnershipHandover(address)\":{\"details\":\"Allows the owner to complete the two-step ownership handover to `pendingOwner`. Reverts if there is no existing ownership handover requested by `pendingOwner`.\"},\"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"custom:initstrategydata\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'\",\"details\":\"'msg.sender' must be owner or member of the profile id passed as '_profileId'.\",\"params\":{\"_amount\":\"The amount of the token\",\"_initStrategyData\":\"The data to initialize the strategy\",\"_managers\":\"The managers of the pool\",\"_metadata\":\"The metadata of the pool\",\"_profileId\":\"The ID of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\",\"_strategy\":\"The address of the strategy contract the pool will use.\",\"_token\":\"The address of the token\"}},\"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"details\":\"'msg.sender' must be a member or owner of a profile to create a pool with or without a custom strategy, The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'. The strategy address passed must not be a cloneable strategy. The strategy address passed must not be the zero address. 'msg.sender' must be a member or owner of the profile id passed as '_profileId'.\",\"params\":{\"_amount\":\"The amount of the token you want to deposit into the pool on initialization\",\"_initStrategyData\":\"The data to initialize the strategy\",\"_managers\":\"The managers of the pool, and can be added/removed later by the pool admin\",\"_metadata\":\"The 'Metadata' of the pool, this uses our 'Meatdata.sol' struct (consistent throughout the protocol)\",\"_profileId\":\"The 'profileId' of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\",\"_strategy\":\"The address of the deployed custom strategy\",\"_token\":\"The address of the token you want to use in your pool\"},\"returns\":{\"poolId\":\"The ID of the pool\"}},\"distribute(uint256,address[],bytes)\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'strategy.distribute()'.\",\"params\":{\"_data\":\"Encoded data unique to the strategy\",\"_poolId\":\"ID of the pool\",\"_recipientIds\":\"Ids of the recipients of the distribution\"}},\"fundPool(uint256,uint256)\":{\"details\":\"Anyone can fund a pool and call this function.\",\"params\":{\"_amount\":\"The amount to be deposited into the pool\",\"_poolId\":\"ID of the pool\"}},\"getBaseFee()\":{\"returns\":{\"_0\":\"The base fee\"}},\"getFeeDenominator()\":{\"returns\":{\"FEE_DENOMINATOR\":\"The fee denominator is (1e18) which represents 100%\"}},\"getPercentFee()\":{\"returns\":{\"_0\":\"The fee percentage (1e18 = 100%)\"}},\"getPool(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"The 'Pool' struct\"}},\"getRegistry()\":{\"returns\":{\"_0\":\"The registry address\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getStrategy(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"The address of the strategy\"}},\"getTreasury()\":{\"returns\":{\"_0\":\"The treasury address\"}},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(address,address,address,uint256,uint256)\":{\"details\":\"During upgrade -> a higher version should be passed to reinitializer\",\"params\":{\"_baseFee\":\"The base fee\",\"_owner\":\"The owner of allo\",\"_percentFee\":\"The percentage fee\",\"_registry\":\"The address of the registry\",\"_treasury\":\"The address of the treasury\"}},\"isCloneableStrategy(address)\":{\"params\":{\"_strategy\":\"The address of the strategy\"},\"returns\":{\"_0\":\"'true' if the strategy is cloneable, otherwise 'false'\"}},\"isPoolAdmin(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"'true' if the address is a pool admin, otherwise 'false'\"}},\"isPoolManager(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"'true' if the address is a pool manager, otherwise 'false'\"}},\"owner()\":{\"details\":\"Returns the owner of the contract.\"},\"ownershipHandoverExpiresAt(address)\":{\"details\":\"Returns the expiry timestamp for the two-step ownership handover to `pendingOwner`.\"},\"recoverFunds(address,address)\":{\"details\":\"'msg.sender' must be Allo owner\",\"params\":{\"_recipient\":\"The recipient\",\"_token\":\"The token to transfer\"}},\"registerRecipient(uint256,bytes)\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of registerRecipient().\",\"params\":{\"_data\":\"Encoded data unique to a strategy that registerRecipient() requires\",\"_poolId\":\"ID of the pool\"},\"returns\":{\"_0\":\"recipientId The recipient ID that has been registered\"}},\"removeFromCloneableStrategies(address)\":{\"details\":\"Emits 'StrategyRemoved()' event. 'msg.sender must be Allo owner.\",\"params\":{\"_strategy\":\"The address of the strategy\"}},\"removePoolManager(uint256,address)\":{\"details\":\"Emits 'RoleRevoked()' event. 'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address to remove\",\"_poolId\":\"ID of the pool\"}},\"renounceOwnership()\":{\"details\":\"Allows the owner to renounce their ownership.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"requestOwnershipHandover()\":{\"details\":\"Request a two-step ownership handover to the caller. The request will automatically expire in 48 hours (172800 seconds) by default.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Allows the owner to transfer the ownership to `newOwner`.\"},\"updateBaseFee(uint256)\":{\"details\":\"Use this to update the base fee. 'msg.sender' must be Allo owner.\",\"params\":{\"_baseFee\":\"The new base fee\"}},\"updatePercentFee(uint256)\":{\"details\":\"Use this to update the fee percentage. 'msg.sender' must be Allo owner.\",\"params\":{\"_percentFee\":\"The new fee\"}},\"updatePoolMetadata(uint256,(uint256,string))\":{\"details\":\"'msg.sender' must be a pool manager. Emits 'PoolMetadataUpdated()' event.\",\"params\":{\"_metadata\":\"The new metadata of the pool\",\"_poolId\":\"ID of the pool\"}},\"updateRegistry(address)\":{\"details\":\"Use this to update the registry address. 'msg.sender' must be Allo owner.\",\"params\":{\"_registry\":\"The new registry address\"}},\"updateTreasury(address)\":{\"details\":\"Use this to update the treasury address. 'msg.sender' must be Allo owner.\",\"params\":{\"_treasury\":\"The new treasury address\"}}},\"stateVariables\":{\"_nonces\":{\"details\":\"'msg.sender' -> 'nonce' for cloning strategies\"},\"baseFee\":{\"details\":\"This is different from the 'percentFee' in that this is a flat fee and not a percentage. So if you want to create a pool with a base fee of 100 DAI, then you would pass 100 DAI to the 'createPool()' function and the pool would be created with 100 DAI less than the amount you passed to the function. The base fee is sent to the treasury address.\"},\"cloneableStrategies\":{\"details\":\"Strategy.address -> bool\"},\"percentFee\":{\"details\":\"How the percentage is represented in our contracts: 1e18 = 100%, 1e17 = 10%, 1e16 = 1%, 1e15 = 0.1%\"},\"pools\":{\"details\":\"'Pool.id' -> 'Pool'\"}},\"title\":\"Allo\",\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"AMOUNT_MISMATCH()\":[{\"notice\":\"Thrown when the amount of tokens sent does not match the amount of tokens expected\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"notice\":\"Emitted when the base fee is paid\"},\"BaseFeeUpdated(uint256)\":{\"notice\":\"Emitted when the base fee is updated\"},\"PercentFeeUpdated(uint256)\":{\"notice\":\"Emitted when the percent fee is updated\"},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"notice\":\"Event emitted when a new pool is created\"},\"PoolFunded(uint256,uint256,uint256)\":{\"notice\":\"Emitted when a pool is funded\"},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"notice\":\"Emitted when a pools metadata is updated\"},\"RegistryUpdated(address)\":{\"notice\":\"Emitted when the registry address is updated\"},\"StrategyApproved(address)\":{\"notice\":\"Emitted when a strategy is approved and added to the cloneable strategies\"},\"StrategyRemoved(address)\":{\"notice\":\"Emitted when a strategy is removed from the cloneable strategies\"},\"TreasuryUpdated(address)\":{\"notice\":\"Emitted when the treasury address is updated\"}},\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"addPoolManager(uint256,address)\":{\"notice\":\"Add a pool manager\"},\"addToCloneableStrategies(address)\":{\"notice\":\"Add a strategy to the allowlist.\"},\"allocate(uint256,bytes)\":{\"notice\":\"Allocate to a recipient or multiple recipients.\"},\"batchAllocate(uint256[],bytes[])\":{\"notice\":\"Allocate to multiple pools\"},\"batchRegisterRecipient(uint256[],bytes[])\":{\"notice\":\"Register multiple recipients to multiple pools.\"},\"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"notice\":\"Creates a new pool (by cloning a cloneable strategies).\"},\"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"notice\":\"Creates a new pool (with a custom strategy)\"},\"distribute(uint256,address[],bytes)\":{\"notice\":\"Distribute to a recipient or multiple recipients.\"},\"fundPool(uint256,uint256)\":{\"notice\":\"Fund a pool.\"},\"getBaseFee()\":{\"notice\":\"Getter for base fee.\"},\"getFeeDenominator()\":{\"notice\":\"Getter for the fee denominator\"},\"getPercentFee()\":{\"notice\":\"Getter for fee percentage.\"},\"getPool(uint256)\":{\"notice\":\"Getter for the 'Pool'.\"},\"getRegistry()\":{\"notice\":\"Getter for registry.\"},\"getStrategy(uint256)\":{\"notice\":\"Getter for the strategy.\"},\"getTreasury()\":{\"notice\":\"Getter for treasury address.\"},\"initialize(address,address,address,uint256,uint256)\":{\"notice\":\"Initializes the contract after an upgrade\"},\"isCloneableStrategy(address)\":{\"notice\":\"Getter for if strategy is cloneable.\"},\"isPoolAdmin(uint256,address)\":{\"notice\":\"Checks if the address is a pool admin.\"},\"isPoolManager(uint256,address)\":{\"notice\":\"Checks if the address is a pool manager\"},\"recoverFunds(address,address)\":{\"notice\":\"Transfer the funds recovered to the recipient\"},\"registerRecipient(uint256,bytes)\":{\"notice\":\"Passes _data through to the strategy for that pool.\"},\"removeFromCloneableStrategies(address)\":{\"notice\":\"Remove a strategy from the allowlist\"},\"removePoolManager(uint256,address)\":{\"notice\":\"Remove a pool manager\"},\"updateBaseFee(uint256)\":{\"notice\":\"Updates the base fee.\"},\"updatePercentFee(uint256)\":{\"notice\":\"Updates the fee percentage.\"},\"updatePoolMetadata(uint256,(uint256,string))\":{\"notice\":\"Update pool metadata\"},\"updateRegistry(address)\":{\"notice\":\"Updates the registry address.\"},\"updateTreasury(address)\":{\"notice\":\"Updates the treasury address.\"}},\"notice\":\"This contract is used to create & manage pools as well as manage the protocol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/Allo.sol\":\"Allo\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"AMOUNT_MISMATCH"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[],"type":"error","name":"NewOwnerIsZeroAddress"},{"inputs":[],"type":"error","name":"NoHandoverRequest"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"BaseFeePaid","anonymous":false},{"inputs":[{"internalType":"uint256","name":"baseFee","type":"uint256","indexed":false}],"type":"event","name":"BaseFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipHandoverCanceled","anonymous":false},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipHandoverRequested","anonymous":false},{"inputs":[{"internalType":"address","name":"oldOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"percentFee","type":"uint256","indexed":false}],"type":"event","name":"PercentFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"contract IStrategy","name":"strategy","type":"address","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolCreated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"fee","type":"uint256","indexed":false}],"type":"event","name":"PoolFunded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"registry","type":"address","indexed":false}],"type":"event","name":"RegistryUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyApproved","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"treasury","type":"address","indexed":false}],"type":"event","name":"TreasuryUpdated","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addPoolManager"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addToCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_datas","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchAllocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_data","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchRegisterRecipient","outputs":[{"internalType":"address[]","name":"recipientIds","type":"address[]"}]},{"inputs":[],"stateMutability":"payable","type":"function","name":"cancelOwnershipHandover"},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address"}],"stateMutability":"payable","type":"function","name":"completeOwnershipHandover"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"bytes","name":"_initStrategyData","type":"bytes"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address[]","name":"_managers","type":"address[]"}],"stateMutability":"payable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"bytes","name":"_initStrategyData","type":"bytes"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address[]","name":"_managers","type":"address[]"}],"stateMutability":"payable","type":"function","name":"createPoolWithCustomStrategy","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address[]","name":"_recipientIds","type":"address[]"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"distribute"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"fundPool"},{"inputs":[],"stateMutability":"view","type":"function","name":"getBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"getFeeDenominator","outputs":[{"internalType":"uint256","name":"FEE_DENOMINATOR","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPercentFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPool","outputs":[{"internalType":"struct IAllo.Pool","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistry","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getStrategy","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getTreasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_registry","type":"address"},{"internalType":"address payable","name":"_treasury","type":"address"},{"internalType":"uint256","name":"_percentFee","type":"uint256"},{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"isCloneableStrategy","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolManager","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"result","type":"address"}]},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address"}],"stateMutability":"view","type":"function","name":"ownershipHandoverExpiresAt","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"registerRecipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeFromCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removePoolManager"},{"inputs":[],"stateMutability":"payable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[],"stateMutability":"payable","type":"function","name":"requestOwnershipHandover"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"payable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateBaseFee"},{"inputs":[{"internalType":"uint256","name":"_percentFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updatePercentFee"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updatePoolMetadata"},{"inputs":[{"internalType":"address","name":"_registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateRegistry"},{"inputs":[{"internalType":"address payable","name":"_treasury","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateTreasury"}],"devdoc":{"kind":"dev","methods":{"addPoolManager(uint256,address)":{"details":"Emits 'RoleGranted()' event. 'msg.sender' must be a pool admin.","params":{"_manager":"The address to add","_poolId":"ID of the pool"}},"addToCloneableStrategies(address)":{"details":"Emits the 'StrategyApproved()' event. 'msg.sender' must be Allo owner.","params":{"_strategy":"The address of the strategy"}},"allocate(uint256,bytes)":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate().","params":{"_data":"Encoded data unique to the strategy for that pool","_poolId":"ID of the pool"}},"batchAllocate(uint256[],bytes[])":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate(). Please note that this is not a 'payable' function, so if you want to send funds to the strategy, you must send the funds using 'fundPool()'.","params":{"_datas":"encoded data unique to the strategy for that pool","_poolIds":"IDs of the pools"}},"batchRegisterRecipient(uint256[],bytes[])":{"details":"Returns the 'recipientIds' from the strategy that have been registered from calling this function. Encoded data unique to a strategy that registerRecipient() requires. Encoded '_data' length must match '_poolIds' length or this will revert with MISMATCH(). Other requirements will be determined by the strategy.","params":{"_data":"An array of encoded data unique to a strategy that registerRecipient() requires.","_poolIds":"ID's of the pools"},"returns":{"recipientIds":"The recipient IDs that have been registered"}},"cancelOwnershipHandover()":{"details":"Cancels the two-step ownership handover to the caller, if any."},"completeOwnershipHandover(address)":{"details":"Allows the owner to complete the two-step ownership handover to `pendingOwner`. Reverts if there is no existing ownership handover requested by `pendingOwner`."},"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"custom:initstrategydata":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'","details":"'msg.sender' must be owner or member of the profile id passed as '_profileId'.","params":{"_amount":"The amount of the token","_initStrategyData":"The data to initialize the strategy","_managers":"The managers of the pool","_metadata":"The metadata of the pool","_profileId":"The ID of the registry profile, used to check if 'msg.sender' is a member or owner of the profile","_strategy":"The address of the strategy contract the pool will use.","_token":"The address of the token"}},"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"details":"'msg.sender' must be a member or owner of a profile to create a pool with or without a custom strategy, The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'. The strategy address passed must not be a cloneable strategy. The strategy address passed must not be the zero address. 'msg.sender' must be a member or owner of the profile id passed as '_profileId'.","params":{"_amount":"The amount of the token you want to deposit into the pool on initialization","_initStrategyData":"The data to initialize the strategy","_managers":"The managers of the pool, and can be added/removed later by the pool admin","_metadata":"The 'Metadata' of the pool, this uses our 'Meatdata.sol' struct (consistent throughout the protocol)","_profileId":"The 'profileId' of the registry profile, used to check if 'msg.sender' is a member or owner of the profile","_strategy":"The address of the deployed custom strategy","_token":"The address of the token you want to use in your pool"},"returns":{"poolId":"The ID of the pool"}},"distribute(uint256,address[],bytes)":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'strategy.distribute()'.","params":{"_data":"Encoded data unique to the strategy","_poolId":"ID of the pool","_recipientIds":"Ids of the recipients of the distribution"}},"fundPool(uint256,uint256)":{"details":"Anyone can fund a pool and call this function.","params":{"_amount":"The amount to be deposited into the pool","_poolId":"ID of the pool"}},"getBaseFee()":{"returns":{"_0":"The base fee"}},"getFeeDenominator()":{"returns":{"FEE_DENOMINATOR":"The fee denominator is (1e18) which represents 100%"}},"getPercentFee()":{"returns":{"_0":"The fee percentage (1e18 = 100%)"}},"getPool(uint256)":{"params":{"_poolId":"The ID of the pool"},"returns":{"_0":"The 'Pool' struct"}},"getRegistry()":{"returns":{"_0":"The registry address"}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"getStrategy(uint256)":{"params":{"_poolId":"The ID of the pool"},"returns":{"_0":"The address of the strategy"}},"getTreasury()":{"returns":{"_0":"The treasury address"}},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"initialize(address,address,address,uint256,uint256)":{"details":"During upgrade -> a higher version should be passed to reinitializer","params":{"_baseFee":"The base fee","_owner":"The owner of allo","_percentFee":"The percentage fee","_registry":"The address of the registry","_treasury":"The address of the treasury"}},"isCloneableStrategy(address)":{"params":{"_strategy":"The address of the strategy"},"returns":{"_0":"'true' if the strategy is cloneable, otherwise 'false'"}},"isPoolAdmin(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool"},"returns":{"_0":"'true' if the address is a pool admin, otherwise 'false'"}},"isPoolManager(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool"},"returns":{"_0":"'true' if the address is a pool manager, otherwise 'false'"}},"owner()":{"details":"Returns the owner of the contract."},"ownershipHandoverExpiresAt(address)":{"details":"Returns the expiry timestamp for the two-step ownership handover to `pendingOwner`."},"recoverFunds(address,address)":{"details":"'msg.sender' must be Allo owner","params":{"_recipient":"The recipient","_token":"The token to transfer"}},"registerRecipient(uint256,bytes)":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of registerRecipient().","params":{"_data":"Encoded data unique to a strategy that registerRecipient() requires","_poolId":"ID of the pool"},"returns":{"_0":"recipientId The recipient ID that has been registered"}},"removeFromCloneableStrategies(address)":{"details":"Emits 'StrategyRemoved()' event. 'msg.sender must be Allo owner.","params":{"_strategy":"The address of the strategy"}},"removePoolManager(uint256,address)":{"details":"Emits 'RoleRevoked()' event. 'msg.sender' must be a pool admin.","params":{"_manager":"The address to remove","_poolId":"ID of the pool"}},"renounceOwnership()":{"details":"Allows the owner to renounce their ownership."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"requestOwnershipHandover()":{"details":"Request a two-step ownership handover to the caller. The request will automatically expire in 48 hours (172800 seconds) by default."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Allows the owner to transfer the ownership to `newOwner`."},"updateBaseFee(uint256)":{"details":"Use this to update the base fee. 'msg.sender' must be Allo owner.","params":{"_baseFee":"The new base fee"}},"updatePercentFee(uint256)":{"details":"Use this to update the fee percentage. 'msg.sender' must be Allo owner.","params":{"_percentFee":"The new fee"}},"updatePoolMetadata(uint256,(uint256,string))":{"details":"'msg.sender' must be a pool manager. Emits 'PoolMetadataUpdated()' event.","params":{"_metadata":"The new metadata of the pool","_poolId":"ID of the pool"}},"updateRegistry(address)":{"details":"Use this to update the registry address. 'msg.sender' must be Allo owner.","params":{"_registry":"The new registry address"}},"updateTreasury(address)":{"details":"Use this to update the treasury address. 'msg.sender' must be Allo owner.","params":{"_treasury":"The new treasury address"}}},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"},"addPoolManager(uint256,address)":{"notice":"Add a pool manager"},"addToCloneableStrategies(address)":{"notice":"Add a strategy to the allowlist."},"allocate(uint256,bytes)":{"notice":"Allocate to a recipient or multiple recipients."},"batchAllocate(uint256[],bytes[])":{"notice":"Allocate to multiple pools"},"batchRegisterRecipient(uint256[],bytes[])":{"notice":"Register multiple recipients to multiple pools."},"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"notice":"Creates a new pool (by cloning a cloneable strategies)."},"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"notice":"Creates a new pool (with a custom strategy)"},"distribute(uint256,address[],bytes)":{"notice":"Distribute to a recipient or multiple recipients."},"fundPool(uint256,uint256)":{"notice":"Fund a pool."},"getBaseFee()":{"notice":"Getter for base fee."},"getFeeDenominator()":{"notice":"Getter for the fee denominator"},"getPercentFee()":{"notice":"Getter for fee percentage."},"getPool(uint256)":{"notice":"Getter for the 'Pool'."},"getRegistry()":{"notice":"Getter for registry."},"getStrategy(uint256)":{"notice":"Getter for the strategy."},"getTreasury()":{"notice":"Getter for treasury address."},"initialize(address,address,address,uint256,uint256)":{"notice":"Initializes the contract after an upgrade"},"isCloneableStrategy(address)":{"notice":"Getter for if strategy is cloneable."},"isPoolAdmin(uint256,address)":{"notice":"Checks if the address is a pool admin."},"isPoolManager(uint256,address)":{"notice":"Checks if the address is a pool manager"},"recoverFunds(address,address)":{"notice":"Transfer the funds recovered to the recipient"},"registerRecipient(uint256,bytes)":{"notice":"Passes _data through to the strategy for that pool."},"removeFromCloneableStrategies(address)":{"notice":"Remove a strategy from the allowlist"},"removePoolManager(uint256,address)":{"notice":"Remove a pool manager"},"updateBaseFee(uint256)":{"notice":"Updates the base fee."},"updatePercentFee(uint256)":{"notice":"Updates the fee percentage."},"updatePoolMetadata(uint256,(uint256,string))":{"notice":"Update pool metadata"},"updateRegistry(address)":{"notice":"Updates the registry address."},"updateTreasury(address)":{"notice":"Updates the treasury address."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/Allo.sol":"Allo"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":52990,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52993,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53695,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":53969,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"51","type":"t_array(t_uint256)50_storage"},{"astId":52389,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_roles","offset":0,"slot":"101","type":"t_mapping(t_bytes32,t_struct(RoleData)52384_storage)"},{"astId":52696,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":53167,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_status","offset":0,"slot":"151","type":"t_uint256"},{"astId":53236,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"152","type":"t_array(t_uint256)49_storage"},{"astId":34,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"percentFee","offset":0,"slot":"201","type":"t_uint256"},{"astId":37,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"baseFee","offset":0,"slot":"202","type":"t_uint256"},{"astId":40,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_poolIndex","offset":0,"slot":"203","type":"t_uint256"},{"astId":43,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"treasury","offset":0,"slot":"204","type":"t_address_payable"},{"astId":47,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"registry","offset":0,"slot":"205","type":"t_contract(IRegistry)2802"},{"astId":52,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_nonces","offset":0,"slot":"206","type":"t_mapping(t_address,t_uint256)"},{"astId":58,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"pools","offset":0,"slot":"207","type":"t_mapping(t_uint256,t_struct(Pool)2319_storage)"},{"astId":63,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"cloneableStrategies","offset":0,"slot":"208","type":"t_mapping(t_address,t_bool)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_address_payable":{"encoding":"inplace","label":"address payable","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(IRegistry)2802":{"encoding":"inplace","label":"contract IRegistry","numberOfBytes":"20"},"t_contract(IStrategy)2969":{"encoding":"inplace","label":"contract IStrategy","numberOfBytes":"20"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_bytes32,t_struct(RoleData)52384_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)52384_storage"},"t_mapping(t_uint256,t_struct(Pool)2319_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct IAllo.Pool)","numberOfBytes":"32","value":"t_struct(Pool)2319_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(Pool)2319_storage":{"encoding":"inplace","label":"struct IAllo.Pool","numberOfBytes":"224","members":[{"astId":2306,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"profileId","offset":0,"slot":"0","type":"t_bytes32"},{"astId":2309,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"strategy","offset":0,"slot":"1","type":"t_contract(IStrategy)2969"},{"astId":2311,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"token","offset":0,"slot":"2","type":"t_address"},{"astId":2314,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"metadata","offset":0,"slot":"3","type":"t_struct(Metadata)3098_storage"},{"astId":2316,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"managerRole","offset":0,"slot":"5","type":"t_bytes32"},{"astId":2318,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"adminRole","offset":0,"slot":"6","type":"t_bytes32"}]},"t_struct(RoleData)52384_storage":{"encoding":"inplace","label":"struct AccessControlUpgradeable.RoleData","numberOfBytes":"64","members":[{"astId":52381,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"members","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":52383,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"adminRole","offset":0,"slot":"1","type":"t_bytes32"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","id":1391,"exportedSymbols":{"AccessControlUpgradeable":[52697],"AddressUpgradeable":[53645],"Allo":[1390],"Clone":[3002],"ContextUpgradeable":[53696],"ERC165Upgradeable":[53970],"Errors":[3089],"IAccessControlUpgradeable":[52770],"IAllo":[2610],"IERC165Upgradeable":[53982],"IERC20Upgradeable":[53315],"IRegistry":[2802],"IStrategy":[2969],"Initializable":[53152],"MathUpgradeable":[54848],"Metadata":[3098],"Native":[3106],"Ownable":[4095],"ReentrancyGuardUpgradeable":[53237],"SignedMathUpgradeable":[54953],"StringsUpgradeable":[53925],"Transfer":[3317]},"nodeType":"SourceUnit","src":"42:34082:0","nodes":[{"id":1,"nodeType":"PragmaDirective","src":"42:23:0","nodes":[],"literals":["solidity","0.8",".19"]},{"id":2,"nodeType":"ImportDirective","src":"89:37:0","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/auth/Ownable.sol","file":"solady/src/auth/Ownable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":4096,"symbolAliases":[],"unitAlias":""},{"id":3,"nodeType":"ImportDirective","src":"127:84:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":53153,"symbolAliases":[],"unitAlias":""},{"id":4,"nodeType":"ImportDirective","src":"212:88:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":53316,"symbolAliases":[],"unitAlias":""},{"id":5,"nodeType":"ImportDirective","src":"301:90:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":52698,"symbolAliases":[],"unitAlias":""},{"id":6,"nodeType":"ImportDirective","src":"392:94:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":53238,"symbolAliases":[],"unitAlias":""},{"id":7,"nodeType":"ImportDirective","src":"501:32:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"./interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":2611,"symbolAliases":[],"unitAlias":""},{"id":9,"nodeType":"ImportDirective","src":"557:44:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"./libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":8,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"565:5:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":11,"nodeType":"ImportDirective","src":"602:46:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Errors.sol","file":"./libraries/Errors.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3090,"symbolAliases":[{"foreign":{"id":10,"name":"Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3089,"src":"610:6:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12,"nodeType":"ImportDirective","src":"649:32:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"./libraries/Native.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3107,"symbolAliases":[],"unitAlias":""},{"id":14,"nodeType":"ImportDirective","src":"682:50:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Transfer.sol","file":"./libraries/Transfer.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3318,"symbolAliases":[{"foreign":{"id":13,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3317,"src":"690:8:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1390,"nodeType":"ContractDefinition","src":"5076:29047:0","nodes":[{"id":34,"nodeType":"VariableDeclaration","src":"5862:26:0","nodes":[],"constant":false,"documentation":{"id":32,"nodeType":"StructuredDocumentation","src":"5344:513:0","text":"@notice Percentage that is used to calculate the fee Allo takes from each pool when funded\n and is deducted when a pool is funded. So if you want to fund a round with 1000 DAI and the fee\n percentage is 1e17 (10%), then 100 DAI will be deducted from the 1000 DAI and the pool will be\n funded with 900 DAI. The fee is then sent to the treasury address.\n @dev How the percentage is represented in our contracts: 1e18 = 100%, 1e17 = 10%, 1e16 = 1%, 1e15 = 0.1%"},"mutability":"mutable","name":"percentFee","nameLocation":"5878:10:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33,"name":"uint256","nodeType":"ElementaryTypeName","src":"5862:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":37,"nodeType":"VariableDeclaration","src":"6339:24:0","nodes":[],"constant":false,"documentation":{"id":35,"nodeType":"StructuredDocumentation","src":"5895:439:0","text":"@notice Fee Allo charges for all pools on creation\n @dev This is different from the 'percentFee' in that this is a flat fee and not a percentage. So if you want to create a pool\n with a base fee of 100 DAI, then you would pass 100 DAI to the 'createPool()' function and the pool would be created\n with 100 DAI less than the amount you passed to the function. The base fee is sent to the treasury address."},"mutability":"mutable","name":"baseFee","nameLocation":"6356:7:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36,"name":"uint256","nodeType":"ElementaryTypeName","src":"6339:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":40,"nodeType":"VariableDeclaration","src":"6431:26:0","nodes":[],"constant":false,"documentation":{"id":38,"nodeType":"StructuredDocumentation","src":"6370:56:0","text":"@notice Incremental index to track the pools created"},"mutability":"mutable","name":"_poolIndex","nameLocation":"6447:10:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39,"name":"uint256","nodeType":"ElementaryTypeName","src":"6431:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":43,"nodeType":"VariableDeclaration","src":"6494:32:0","nodes":[],"constant":false,"documentation":{"id":41,"nodeType":"StructuredDocumentation","src":"6464:25:0","text":"@notice Allo treasury"},"mutability":"mutable","name":"treasury","nameLocation":"6518:8:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":42,"name":"address","nodeType":"ElementaryTypeName","src":"6494:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"private"},{"id":47,"nodeType":"VariableDeclaration","src":"6567:26:0","nodes":[],"constant":false,"documentation":{"id":44,"nodeType":"StructuredDocumentation","src":"6533:29:0","text":"@notice Registry contract"},"mutability":"mutable","name":"registry","nameLocation":"6585:8:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":46,"nodeType":"UserDefinedTypeName","pathNode":{"id":45,"name":"IRegistry","nameLocations":["6567:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"6567:9:0"},"referencedDeclaration":2802,"src":"6567:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"private"},{"id":52,"nodeType":"VariableDeclaration","src":"6733:43:0","nodes":[],"constant":false,"documentation":{"id":48,"nodeType":"StructuredDocumentation","src":"6600:128:0","text":"@notice Maps the `msg.sender` to a `nonce` to prevent duplicates\n @dev 'msg.sender' -> 'nonce' for cloning strategies"},"mutability":"mutable","name":"_nonces","nameLocation":"6769:7:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":51,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":49,"name":"address","nodeType":"ElementaryTypeName","src":"6741:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6733:27:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":50,"name":"uint256","nodeType":"ElementaryTypeName","src":"6752:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"id":58,"nodeType":"VariableDeclaration","src":"6869:38:0","nodes":[],"constant":false,"documentation":{"id":53,"nodeType":"StructuredDocumentation","src":"6783:81:0","text":"@notice Maps the pool ID to the pool details\n @dev 'Pool.id' -> 'Pool'"},"mutability":"mutable","name":"pools","nameLocation":"6902:5:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool)"},"typeName":{"id":57,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":54,"name":"uint256","nodeType":"ElementaryTypeName","src":"6877:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"6869:24:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":56,"nodeType":"UserDefinedTypeName","pathNode":{"id":55,"name":"Pool","nameLocations":["6888:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"6888:4:0"},"referencedDeclaration":2319,"src":"6888:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}}},"visibility":"private"},{"id":63,"nodeType":"VariableDeclaration","src":"7064:52:0","nodes":[],"constant":false,"documentation":{"id":59,"nodeType":"StructuredDocumentation","src":"6914:145:0","text":"@notice Returns a bool for whether a strategy is cloneable or not using the strategy address as the key\n @dev Strategy.address -> bool"},"mutability":"mutable","name":"cloneableStrategies","nameLocation":"7097:19:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":62,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":60,"name":"address","nodeType":"ElementaryTypeName","src":"7072:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7064:24:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61,"name":"bool","nodeType":"ElementaryTypeName","src":"7083:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"private"},{"id":101,"nodeType":"FunctionDefinition","src":"7626:593:0","nodes":[],"body":{"id":100,"nodeType":"Block","src":"7819:400:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":81,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66,"src":"7907:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80,"name":"_initializeOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3980,"src":"7890:16:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":82,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7890:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83,"nodeType":"ExpressionStatement","src":"7890:24:0"},{"expression":{"arguments":[{"id":85,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68,"src":"7984:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84,"name":"_updateRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1205,"src":"7968:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":86,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7968:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87,"nodeType":"ExpressionStatement","src":"7968:26:0"},{"expression":{"arguments":[{"id":89,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70,"src":"8064:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":88,"name":"_updateTreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1230,"src":"8048:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_payable_$returns$__$","typeString":"function (address payable)"}},"id":90,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8048:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91,"nodeType":"ExpressionStatement","src":"8048:26:0"},{"expression":{"arguments":[{"id":93,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72,"src":"8137:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":92,"name":"_updatePercentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1252,"src":"8119:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":94,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8119:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95,"nodeType":"ExpressionStatement","src":"8119:30:0"},{"expression":{"arguments":[{"id":97,"name":"_baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74,"src":"8203:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":96,"name":"_updateBaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1267,"src":"8188:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":98,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8188:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99,"nodeType":"ExpressionStatement","src":"8188:24:0"}]},"baseFunctions":[2404],"documentation":{"id":64,"nodeType":"StructuredDocumentation","src":"7257:364:0","text":"@notice Initializes the contract after an upgrade\n @dev During upgrade -> a higher version should be passed to reinitializer\n @param _owner The owner of allo\n @param _registry The address of the registry\n @param _treasury The address of the treasury\n @param _percentFee The percentage fee\n @param _baseFee The base fee"},"functionSelector":"a6b63eb8","implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"31","id":77,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7816:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"id":78,"kind":"modifierInvocation","modifierName":{"id":76,"name":"reinitializer","nameLocations":["7802:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":53087,"src":"7802:13:0"},"nodeType":"ModifierInvocation","src":"7802:16:0"}],"name":"initialize","nameLocation":"7635:10:0","parameters":{"id":75,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66,"mutability":"mutable","name":"_owner","nameLocation":"7663:6:0","nodeType":"VariableDeclaration","scope":101,"src":"7655:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65,"name":"address","nodeType":"ElementaryTypeName","src":"7655:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68,"mutability":"mutable","name":"_registry","nameLocation":"7687:9:0","nodeType":"VariableDeclaration","scope":101,"src":"7679:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67,"name":"address","nodeType":"ElementaryTypeName","src":"7679:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70,"mutability":"mutable","name":"_treasury","nameLocation":"7722:9:0","nodeType":"VariableDeclaration","scope":101,"src":"7706:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":69,"name":"address","nodeType":"ElementaryTypeName","src":"7706:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":72,"mutability":"mutable","name":"_percentFee","nameLocation":"7749:11:0","nodeType":"VariableDeclaration","scope":101,"src":"7741:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71,"name":"uint256","nodeType":"ElementaryTypeName","src":"7741:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74,"mutability":"mutable","name":"_baseFee","nameLocation":"7778:8:0","nodeType":"VariableDeclaration","scope":101,"src":"7770:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73,"name":"uint256","nodeType":"ElementaryTypeName","src":"7770:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7645:147:0"},"returnParameters":{"id":79,"nodeType":"ParameterList","parameters":[],"src":"7819:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":112,"nodeType":"ModifierDefinition","src":"8573:100:0","nodes":[],"body":{"id":111,"nodeType":"Block","src":"8615:58:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":107,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":104,"src":"8647:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":106,"name":"_checkOnlyPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":693,"src":"8625:21:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8625:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":109,"nodeType":"ExpressionStatement","src":"8625:30:0"},{"id":110,"nodeType":"PlaceholderStatement","src":"8665:1:0"}]},"documentation":{"id":102,"nodeType":"StructuredDocumentation","src":"8463:105:0","text":"@notice Reverts UNAUTHORIZED() if the caller is not a pool manager\n @param _poolId The pool id"},"name":"onlyPoolManager","nameLocation":"8582:15:0","parameters":{"id":105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":104,"mutability":"mutable","name":"_poolId","nameLocation":"8606:7:0","nodeType":"VariableDeclaration","scope":112,"src":"8598:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":103,"name":"uint256","nodeType":"ElementaryTypeName","src":"8598:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8597:17:0"},"virtual":false,"visibility":"internal"},{"id":123,"nodeType":"ModifierDefinition","src":"8787:96:0","nodes":[],"body":{"id":122,"nodeType":"Block","src":"8827:56:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":118,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115,"src":"8857:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":117,"name":"_checkOnlyPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":710,"src":"8837:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8837:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":120,"nodeType":"ExpressionStatement","src":"8837:28:0"},{"id":121,"nodeType":"PlaceholderStatement","src":"8875:1:0"}]},"documentation":{"id":113,"nodeType":"StructuredDocumentation","src":"8679:103:0","text":"@notice Reverts UNAUTHORIZED() if the caller is not a pool admin\n @param _poolId The pool id"},"name":"onlyPoolAdmin","nameLocation":"8796:13:0","parameters":{"id":116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115,"mutability":"mutable","name":"_poolId","nameLocation":"8818:7:0","nodeType":"VariableDeclaration","scope":123,"src":"8810:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":114,"name":"uint256","nodeType":"ElementaryTypeName","src":"8810:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8809:17:0"},"virtual":false,"visibility":"internal"},{"id":175,"nodeType":"FunctionDefinition","src":"10281:884:0","nodes":[],"body":{"id":174,"nodeType":"Block","src":"10582:583:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":145,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"10687:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10708:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":147,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10700:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":146,"name":"address","nodeType":"ElementaryTypeName","src":"10700:7:0","typeDescriptions":{}}},"id":149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10700:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10687:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":154,"nodeType":"IfStatement","src":"10683:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":151,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"10719:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10719:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":153,"nodeType":"RevertStatement","src":"10712:21:0"}},{"condition":{"arguments":[{"id":156,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"10919:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":155,"name":"_isCloneableStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"10898:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10898:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":161,"nodeType":"IfStatement","src":"10894:66:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":158,"name":"IS_APPROVED_STRATEGY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3038,"src":"10938:20:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10938:22:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":160,"nodeType":"RevertStatement","src":"10931:29:0"}},{"expression":{"arguments":[{"id":163,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":126,"src":"11067:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":165,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"11089:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":164,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"11079:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStrategy_$2969_$","typeString":"type(contract IStrategy)"}},"id":166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11079:20:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":167,"name":"_initStrategyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":130,"src":"11101:17:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":168,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":132,"src":"11120:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":169,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134,"src":"11128:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":170,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137,"src":"11137:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":171,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":140,"src":"11148:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":162,"name":"_createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":925,"src":"11055:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_contract$_IStrategy_$2969_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,contract IStrategy,bytes memory,address,uint256,struct Metadata memory,address[] memory) returns (uint256)"}},"id":172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11055:103:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":144,"id":173,"nodeType":"Return","src":"11048:110:0"}]},"documentation":{"id":124,"nodeType":"StructuredDocumentation","src":"9025:1251:0","text":"@notice Creates a new pool (with a custom strategy)\n @dev 'msg.sender' must be a member or owner of a profile to create a pool with or without a custom strategy, The encoded data\n will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'. The strategy\n address passed must not be a cloneable strategy. The strategy address passed must not be the zero address. 'msg.sender' must\n be a member or owner of the profile id passed as '_profileId'.\n @param _profileId The 'profileId' of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\n @param _strategy The address of the deployed custom strategy\n @param _initStrategyData The data to initialize the strategy\n @param _token The address of the token you want to use in your pool\n @param _amount The amount of the token you want to deposit into the pool on initialization\n @param _metadata The 'Metadata' of the pool, this uses our 'Meatdata.sol' struct (consistent throughout the protocol)\n @param _managers The managers of the pool, and can be added/removed later by the pool admin\n @return poolId The ID of the pool"},"functionSelector":"e1007d4a","implemented":true,"kind":"function","modifiers":[],"name":"createPoolWithCustomStrategy","nameLocation":"10290:28:0","parameters":{"id":141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":126,"mutability":"mutable","name":"_profileId","nameLocation":"10336:10:0","nodeType":"VariableDeclaration","scope":175,"src":"10328:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":125,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10328:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":128,"mutability":"mutable","name":"_strategy","nameLocation":"10364:9:0","nodeType":"VariableDeclaration","scope":175,"src":"10356:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":127,"name":"address","nodeType":"ElementaryTypeName","src":"10356:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":130,"mutability":"mutable","name":"_initStrategyData","nameLocation":"10396:17:0","nodeType":"VariableDeclaration","scope":175,"src":"10383:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":129,"name":"bytes","nodeType":"ElementaryTypeName","src":"10383:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":132,"mutability":"mutable","name":"_token","nameLocation":"10431:6:0","nodeType":"VariableDeclaration","scope":175,"src":"10423:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":131,"name":"address","nodeType":"ElementaryTypeName","src":"10423:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":134,"mutability":"mutable","name":"_amount","nameLocation":"10455:7:0","nodeType":"VariableDeclaration","scope":175,"src":"10447:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":133,"name":"uint256","nodeType":"ElementaryTypeName","src":"10447:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":137,"mutability":"mutable","name":"_metadata","nameLocation":"10488:9:0","nodeType":"VariableDeclaration","scope":175,"src":"10472:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":136,"nodeType":"UserDefinedTypeName","pathNode":{"id":135,"name":"Metadata","nameLocations":["10472:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"10472:8:0"},"referencedDeclaration":3098,"src":"10472:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":140,"mutability":"mutable","name":"_managers","nameLocation":"10524:9:0","nodeType":"VariableDeclaration","scope":175,"src":"10507:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":138,"name":"address","nodeType":"ElementaryTypeName","src":"10507:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":139,"nodeType":"ArrayTypeName","src":"10507:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"10318:221:0"},"returnParameters":{"id":144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":143,"mutability":"mutable","name":"poolId","nameLocation":"10574:6:0","nodeType":"VariableDeclaration","scope":175,"src":"10566:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":142,"name":"uint256","nodeType":"ElementaryTypeName","src":"10566:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10565:16:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":229,"nodeType":"FunctionDefinition","src":"11971:701:0","nodes":[],"body":{"id":228,"nodeType":"Block","src":"12267:405:0","nodes":[],"statements":[{"condition":{"id":202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12281:32:0","subExpression":{"arguments":[{"id":200,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180,"src":"12303:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":199,"name":"_isCloneableStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"12282:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12282:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":207,"nodeType":"IfStatement","src":"12277:93:0","trueBody":{"id":206,"nodeType":"Block","src":"12315:55:0","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":203,"name":"NOT_APPROVED_STRATEGY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3035,"src":"12336:21:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12336:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":205,"nodeType":"RevertStatement","src":"12329:30:0"}]}},{"expression":{"arguments":[{"id":209,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":178,"src":"12451:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"id":213,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180,"src":"12503:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12514:21:0","subExpression":{"baseExpression":{"id":214,"name":"_nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52,"src":"12514:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":217,"indexExpression":{"expression":{"id":215,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12522:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12526:6:0","memberName":"sender","nodeType":"MemberAccess","src":"12522:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12514:19:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":211,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"12485:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12491:11:0","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"12485:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12485:51:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":210,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"12475:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStrategy_$2969_$","typeString":"type(contract IStrategy)"}},"id":220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12475:62:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":221,"name":"_initStrategyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":182,"src":"12551:17:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":222,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":184,"src":"12582:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":223,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186,"src":"12602:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":224,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":189,"src":"12623:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":225,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":192,"src":"12646:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":208,"name":"_createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":925,"src":"12426:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_contract$_IStrategy_$2969_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,contract IStrategy,bytes memory,address,uint256,struct Metadata memory,address[] memory) returns (uint256)"}},"id":226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12426:239:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":198,"id":227,"nodeType":"Return","src":"12419:246:0"}]},"documentation":{"id":176,"nodeType":"StructuredDocumentation","src":"11171:795:0","text":"@notice Creates a new pool (by cloning a cloneable strategies).\n @dev 'msg.sender' must be owner or member of the profile id passed as '_profileId'.\n @param _profileId The ID of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\n @param _strategy The address of the strategy contract the pool will use.\n @param _initStrategyData The data to initialize the strategy\n @param _token The address of the token\n @param _amount The amount of the token\n @param _metadata The metadata of the pool\n @param _managers The managers of the pool\n @custom:initstrategydata The encoded data will be specific to a given strategy requirements,\n reference the strategy implementation of 'initialize()'"},"functionSelector":"77da8caf","implemented":true,"kind":"function","modifiers":[{"id":195,"kind":"modifierInvocation","modifierName":{"id":194,"name":"nonReentrant","nameLocations":["12229:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53197,"src":"12229:12:0"},"nodeType":"ModifierInvocation","src":"12229:12:0"}],"name":"createPool","nameLocation":"11980:10:0","parameters":{"id":193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":178,"mutability":"mutable","name":"_profileId","nameLocation":"12008:10:0","nodeType":"VariableDeclaration","scope":229,"src":"12000:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":177,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12000:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":180,"mutability":"mutable","name":"_strategy","nameLocation":"12036:9:0","nodeType":"VariableDeclaration","scope":229,"src":"12028:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":179,"name":"address","nodeType":"ElementaryTypeName","src":"12028:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":182,"mutability":"mutable","name":"_initStrategyData","nameLocation":"12068:17:0","nodeType":"VariableDeclaration","scope":229,"src":"12055:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":181,"name":"bytes","nodeType":"ElementaryTypeName","src":"12055:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":184,"mutability":"mutable","name":"_token","nameLocation":"12103:6:0","nodeType":"VariableDeclaration","scope":229,"src":"12095:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":183,"name":"address","nodeType":"ElementaryTypeName","src":"12095:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":186,"mutability":"mutable","name":"_amount","nameLocation":"12127:7:0","nodeType":"VariableDeclaration","scope":229,"src":"12119:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":185,"name":"uint256","nodeType":"ElementaryTypeName","src":"12119:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":189,"mutability":"mutable","name":"_metadata","nameLocation":"12160:9:0","nodeType":"VariableDeclaration","scope":229,"src":"12144:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":188,"nodeType":"UserDefinedTypeName","pathNode":{"id":187,"name":"Metadata","nameLocations":["12144:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12144:8:0"},"referencedDeclaration":3098,"src":"12144:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":192,"mutability":"mutable","name":"_managers","nameLocation":"12196:9:0","nodeType":"VariableDeclaration","scope":229,"src":"12179:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":190,"name":"address","nodeType":"ElementaryTypeName","src":"12179:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":191,"nodeType":"ArrayTypeName","src":"12179:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"11990:221:0"},"returnParameters":{"id":198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":197,"mutability":"mutable","name":"poolId","nameLocation":"12259:6:0","nodeType":"VariableDeclaration","scope":229,"src":"12251:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":196,"name":"uint256","nodeType":"ElementaryTypeName","src":"12251:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12250:16:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":260,"nodeType":"FunctionDefinition","src":"12894:247:0","nodes":[],"body":{"id":259,"nodeType":"Block","src":"13000:141:0","nodes":[],"statements":[{"assignments":[243],"declarations":[{"constant":false,"id":243,"mutability":"mutable","name":"pool","nameLocation":"13023:4:0","nodeType":"VariableDeclaration","scope":259,"src":"13010:17:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":242,"nodeType":"UserDefinedTypeName","pathNode":{"id":241,"name":"Pool","nameLocations":["13010:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"13010:4:0"},"referencedDeclaration":2319,"src":"13010:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":247,"initialValue":{"baseExpression":{"id":244,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"13030:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":246,"indexExpression":{"id":245,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"13036:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13030:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"VariableDeclarationStatement","src":"13010:34:0"},{"expression":{"id":252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":248,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":243,"src":"13054:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool storage pointer"}},"id":250,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13059:8:0","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":2314,"src":"13054:13:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":251,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":235,"src":"13070:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"13054:25:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":253,"nodeType":"ExpressionStatement","src":"13054:25:0"},{"eventCall":{"arguments":[{"id":255,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"13115:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":256,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":235,"src":"13124:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":254,"name":"PoolMetadataUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2344,"src":"13095:19:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (uint256,struct Metadata memory)"}},"id":257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13095:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":258,"nodeType":"EmitStatement","src":"13090:44:0"}]},"baseFunctions":[2413],"documentation":{"id":230,"nodeType":"StructuredDocumentation","src":"12678:211:0","text":"@notice Update pool metadata\n @dev 'msg.sender' must be a pool manager. Emits 'PoolMetadataUpdated()' event.\n @param _poolId ID of the pool\n @param _metadata The new metadata of the pool"},"functionSelector":"5f9ca138","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":238,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"12991:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":239,"kind":"modifierInvocation","modifierName":{"id":237,"name":"onlyPoolManager","nameLocations":["12975:15:0"],"nodeType":"IdentifierPath","referencedDeclaration":112,"src":"12975:15:0"},"nodeType":"ModifierInvocation","src":"12975:24:0"}],"name":"updatePoolMetadata","nameLocation":"12903:18:0","parameters":{"id":236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":232,"mutability":"mutable","name":"_poolId","nameLocation":"12930:7:0","nodeType":"VariableDeclaration","scope":260,"src":"12922:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":231,"name":"uint256","nodeType":"ElementaryTypeName","src":"12922:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":235,"mutability":"mutable","name":"_metadata","nameLocation":"12955:9:0","nodeType":"VariableDeclaration","scope":260,"src":"12939:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":234,"nodeType":"UserDefinedTypeName","pathNode":{"id":233,"name":"Metadata","nameLocations":["12939:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12939:8:0"},"referencedDeclaration":3098,"src":"12939:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"12921:44:0"},"returnParameters":{"id":240,"nodeType":"ParameterList","parameters":[],"src":"13000:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":273,"nodeType":"FunctionDefinition","src":"13330:105:0","nodes":[],"body":{"id":272,"nodeType":"Block","src":"13392:43:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":269,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":263,"src":"13418:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":268,"name":"_updateRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1205,"src":"13402:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13402:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":271,"nodeType":"ExpressionStatement","src":"13402:26:0"}]},"baseFunctions":[2419],"documentation":{"id":261,"nodeType":"StructuredDocumentation","src":"13147:178:0","text":"@notice Updates the registry address.\n @dev Use this to update the registry address. 'msg.sender' must be Allo owner.\n @param _registry The new registry address"},"functionSelector":"1a5da6c8","implemented":true,"kind":"function","modifiers":[{"id":266,"kind":"modifierInvocation","modifierName":{"id":265,"name":"onlyOwner","nameLocations":["13382:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"13382:9:0"},"nodeType":"ModifierInvocation","src":"13382:9:0"}],"name":"updateRegistry","nameLocation":"13339:14:0","parameters":{"id":264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":263,"mutability":"mutable","name":"_registry","nameLocation":"13362:9:0","nodeType":"VariableDeclaration","scope":273,"src":"13354:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":262,"name":"address","nodeType":"ElementaryTypeName","src":"13354:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13353:19:0"},"returnParameters":{"id":267,"nodeType":"ParameterList","parameters":[],"src":"13392:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":286,"nodeType":"FunctionDefinition","src":"13624:113:0","nodes":[],"body":{"id":285,"nodeType":"Block","src":"13694:43:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":282,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":276,"src":"13720:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":281,"name":"_updateTreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1230,"src":"13704:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_payable_$returns$__$","typeString":"function (address payable)"}},"id":283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13704:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":284,"nodeType":"ExpressionStatement","src":"13704:26:0"}]},"baseFunctions":[2425],"documentation":{"id":274,"nodeType":"StructuredDocumentation","src":"13441:178:0","text":"@notice Updates the treasury address.\n @dev Use this to update the treasury address. 'msg.sender' must be Allo owner.\n @param _treasury The new treasury address"},"functionSelector":"7f51bb1f","implemented":true,"kind":"function","modifiers":[{"id":279,"kind":"modifierInvocation","modifierName":{"id":278,"name":"onlyOwner","nameLocations":["13684:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"13684:9:0"},"nodeType":"ModifierInvocation","src":"13684:9:0"}],"name":"updateTreasury","nameLocation":"13633:14:0","parameters":{"id":277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":276,"mutability":"mutable","name":"_treasury","nameLocation":"13664:9:0","nodeType":"VariableDeclaration","scope":286,"src":"13648:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":275,"name":"address","nodeType":"ElementaryTypeName","src":"13648:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"13647:27:0"},"returnParameters":{"id":280,"nodeType":"ParameterList","parameters":[],"src":"13694:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":299,"nodeType":"FunctionDefinition","src":"13911:113:0","nodes":[],"body":{"id":298,"nodeType":"Block","src":"13977:47:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":295,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":289,"src":"14005:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":294,"name":"_updatePercentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1252,"src":"13987:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13987:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":297,"nodeType":"ExpressionStatement","src":"13987:30:0"}]},"baseFunctions":[2431],"documentation":{"id":287,"nodeType":"StructuredDocumentation","src":"13743:163:0","text":"@notice Updates the fee percentage.\n @dev Use this to update the fee percentage. 'msg.sender' must be Allo owner.\n @param _percentFee The new fee"},"functionSelector":"f54fc4a0","implemented":true,"kind":"function","modifiers":[{"id":292,"kind":"modifierInvocation","modifierName":{"id":291,"name":"onlyOwner","nameLocations":["13967:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"13967:9:0"},"nodeType":"ModifierInvocation","src":"13967:9:0"}],"name":"updatePercentFee","nameLocation":"13920:16:0","parameters":{"id":290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":289,"mutability":"mutable","name":"_percentFee","nameLocation":"13945:11:0","nodeType":"VariableDeclaration","scope":299,"src":"13937:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":288,"name":"uint256","nodeType":"ElementaryTypeName","src":"13937:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13936:21:0"},"returnParameters":{"id":293,"nodeType":"ParameterList","parameters":[],"src":"13977:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":312,"nodeType":"FunctionDefinition","src":"14188:101:0","nodes":[],"body":{"id":311,"nodeType":"Block","src":"14248:41:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":308,"name":"_baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":302,"src":"14273:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":307,"name":"_updateBaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1267,"src":"14258:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14258:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":310,"nodeType":"ExpressionStatement","src":"14258:24:0"}]},"baseFunctions":[2437],"documentation":{"id":300,"nodeType":"StructuredDocumentation","src":"14030:153:0","text":"@notice Updates the base fee.\n @dev Use this to update the base fee. 'msg.sender' must be Allo owner.\n @param _baseFee The new base fee"},"functionSelector":"8e690186","implemented":true,"kind":"function","modifiers":[{"id":305,"kind":"modifierInvocation","modifierName":{"id":304,"name":"onlyOwner","nameLocations":["14238:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"14238:9:0"},"nodeType":"ModifierInvocation","src":"14238:9:0"}],"name":"updateBaseFee","nameLocation":"14197:13:0","parameters":{"id":303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":302,"mutability":"mutable","name":"_baseFee","nameLocation":"14219:8:0","nodeType":"VariableDeclaration","scope":312,"src":"14211:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":301,"name":"uint256","nodeType":"ElementaryTypeName","src":"14211:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14210:18:0"},"returnParameters":{"id":306,"nodeType":"ParameterList","parameters":[],"src":"14248:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":341,"nodeType":"FunctionDefinition","src":"14481:229:0","nodes":[],"body":{"id":340,"nodeType":"Block","src":"14553:157:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":320,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"14567:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14588:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14580:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":321,"name":"address","nodeType":"ElementaryTypeName","src":"14580:7:0","typeDescriptions":{}}},"id":324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14580:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14567:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":329,"nodeType":"IfStatement","src":"14563:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":326,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"14599:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14599:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":328,"nodeType":"RevertStatement","src":"14592:21:0"}},{"expression":{"id":334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":330,"name":"cloneableStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"14624:19:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":332,"indexExpression":{"id":331,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"14644:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14624:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14657:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"14624:37:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":335,"nodeType":"ExpressionStatement","src":"14624:37:0"},{"eventCall":{"arguments":[{"id":337,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"14693:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":336,"name":"StrategyApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2385,"src":"14676:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14676:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":339,"nodeType":"EmitStatement","src":"14671:32:0"}]},"baseFunctions":[2443],"documentation":{"id":313,"nodeType":"StructuredDocumentation","src":"14295:181:0","text":"@notice Add a strategy to the allowlist.\n @dev Emits the 'StrategyApproved()' event. 'msg.sender' must be Allo owner.\n @param _strategy The address of the strategy"},"functionSelector":"41bba0b4","implemented":true,"kind":"function","modifiers":[{"id":318,"kind":"modifierInvocation","modifierName":{"id":317,"name":"onlyOwner","nameLocations":["14543:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"14543:9:0"},"nodeType":"ModifierInvocation","src":"14543:9:0"}],"name":"addToCloneableStrategies","nameLocation":"14490:24:0","parameters":{"id":316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":315,"mutability":"mutable","name":"_strategy","nameLocation":"14523:9:0","nodeType":"VariableDeclaration","scope":341,"src":"14515:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":314,"name":"address","nodeType":"ElementaryTypeName","src":"14515:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14514:19:0"},"returnParameters":{"id":319,"nodeType":"ParameterList","parameters":[],"src":"14553:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":360,"nodeType":"FunctionDefinition","src":"14900:288:0","nodes":[],"body":{"id":359,"nodeType":"Block","src":"14977:211:0","nodes":[],"statements":[{"expression":{"id":353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":349,"name":"cloneableStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"15059:19:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":351,"indexExpression":{"id":350,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":344,"src":"15079:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15059:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15092:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"15059:38:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":354,"nodeType":"ExpressionStatement","src":"15059:38:0"},{"eventCall":{"arguments":[{"id":356,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":344,"src":"15171:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":355,"name":"StrategyRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2390,"src":"15155:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15155:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":358,"nodeType":"EmitStatement","src":"15150:31:0"}]},"baseFunctions":[2449],"documentation":{"id":342,"nodeType":"StructuredDocumentation","src":"14716:179:0","text":"@notice Remove a strategy from the allowlist\n @dev Emits 'StrategyRemoved()' event. 'msg.sender must be Allo owner.\n @param _strategy The address of the strategy"},"functionSelector":"031e2fa1","implemented":true,"kind":"function","modifiers":[{"id":347,"kind":"modifierInvocation","modifierName":{"id":346,"name":"onlyOwner","nameLocations":["14967:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"14967:9:0"},"nodeType":"ModifierInvocation","src":"14967:9:0"}],"name":"removeFromCloneableStrategies","nameLocation":"14909:29:0","parameters":{"id":345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":344,"mutability":"mutable","name":"_strategy","nameLocation":"14947:9:0","nodeType":"VariableDeclaration","scope":360,"src":"14939:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":343,"name":"address","nodeType":"ElementaryTypeName","src":"14939:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14938:19:0"},"returnParameters":{"id":348,"nodeType":"ParameterList","parameters":[],"src":"14977:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":390,"nodeType":"FunctionDefinition","src":"15387:358:0","nodes":[],"body":{"id":389,"nodeType":"Block","src":"15478:267:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":371,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":365,"src":"15568:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15588:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15580:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":372,"name":"address","nodeType":"ElementaryTypeName","src":"15580:7:0","typeDescriptions":{}}},"id":375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15580:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15568:22:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":380,"nodeType":"IfStatement","src":"15564:49:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":377,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"15599:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15599:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":379,"nodeType":"RevertStatement","src":"15592:21:0"}},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":382,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"15701:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":384,"indexExpression":{"id":383,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":363,"src":"15707:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15701:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":385,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15716:11:0","memberName":"managerRole","nodeType":"MemberAccess","referencedDeclaration":2316,"src":"15701:26:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":386,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":365,"src":"15729:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":381,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52660,"src":"15690:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15690:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":388,"nodeType":"ExpressionStatement","src":"15690:48:0"}]},"baseFunctions":[2457],"documentation":{"id":361,"nodeType":"StructuredDocumentation","src":"15194:188:0","text":"@notice Add a pool manager\n @dev Emits 'RoleGranted()' event. 'msg.sender' must be a pool admin.\n @param _poolId ID of the pool\n @param _manager The address to add"},"functionSelector":"2cf682b0","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":368,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":363,"src":"15469:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":369,"kind":"modifierInvocation","modifierName":{"id":367,"name":"onlyPoolAdmin","nameLocations":["15455:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":123,"src":"15455:13:0"},"nodeType":"ModifierInvocation","src":"15455:22:0"}],"name":"addPoolManager","nameLocation":"15396:14:0","parameters":{"id":366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":363,"mutability":"mutable","name":"_poolId","nameLocation":"15419:7:0","nodeType":"VariableDeclaration","scope":390,"src":"15411:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":362,"name":"uint256","nodeType":"ElementaryTypeName","src":"15411:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":365,"mutability":"mutable","name":"_manager","nameLocation":"15436:8:0","nodeType":"VariableDeclaration","scope":390,"src":"15428:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":364,"name":"address","nodeType":"ElementaryTypeName","src":"15428:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15410:35:0"},"returnParameters":{"id":370,"nodeType":"ParameterList","parameters":[],"src":"15478:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":410,"nodeType":"FunctionDefinition","src":"15950:160:0","nodes":[],"body":{"id":409,"nodeType":"Block","src":"16044:66:0","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":402,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"16066:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":404,"indexExpression":{"id":403,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":393,"src":"16072:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16066:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":405,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16081:11:0","memberName":"managerRole","nodeType":"MemberAccess","referencedDeclaration":2316,"src":"16066:26:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":406,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":395,"src":"16094:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":401,"name":"_revokeRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52691,"src":"16054:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16054:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":408,"nodeType":"ExpressionStatement","src":"16054:49:0"}]},"baseFunctions":[2465],"documentation":{"id":391,"nodeType":"StructuredDocumentation","src":"15751:194:0","text":"@notice Remove a pool manager\n @dev Emits 'RoleRevoked()' event. 'msg.sender' must be a pool admin.\n @param _poolId ID of the pool\n @param _manager The address to remove"},"functionSelector":"7f5a70bd","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":398,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":393,"src":"16035:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":399,"kind":"modifierInvocation","modifierName":{"id":397,"name":"onlyPoolAdmin","nameLocations":["16021:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":123,"src":"16021:13:0"},"nodeType":"ModifierInvocation","src":"16021:22:0"}],"name":"removePoolManager","nameLocation":"15959:17:0","parameters":{"id":396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":393,"mutability":"mutable","name":"_poolId","nameLocation":"15985:7:0","nodeType":"VariableDeclaration","scope":410,"src":"15977:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":392,"name":"uint256","nodeType":"ElementaryTypeName","src":"15977:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":395,"mutability":"mutable","name":"_manager","nameLocation":"16002:8:0","nodeType":"VariableDeclaration","scope":410,"src":"15994:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":394,"name":"address","nodeType":"ElementaryTypeName","src":"15994:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15976:35:0"},"returnParameters":{"id":400,"nodeType":"ParameterList","parameters":[],"src":"16044:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":448,"nodeType":"FunctionDefinition","src":"16308:430:0","nodes":[],"body":{"id":447,"nodeType":"Block","src":"16385:353:0","nodes":[],"statements":[{"assignments":[421],"declarations":[{"constant":false,"id":421,"mutability":"mutable","name":"amount","nameLocation":"16514:6:0","nodeType":"VariableDeclaration","scope":447,"src":"16506:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":420,"name":"uint256","nodeType":"ElementaryTypeName","src":"16506:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":440,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":422,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":413,"src":"16523:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":423,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"16533:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16523:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"arguments":[{"id":436,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16610:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":435,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16602:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":434,"name":"address","nodeType":"ElementaryTypeName","src":"16602:7:0","typeDescriptions":{}}},"id":437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16602:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":431,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":413,"src":"16584:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":430,"name":"IERC20Upgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53315,"src":"16566:17:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20Upgradeable_$53315_$","typeString":"type(contract IERC20Upgradeable)"}},"id":432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16566:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Upgradeable_$53315","typeString":"contract IERC20Upgradeable"}},"id":433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16592:9:0","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":53272,"src":"16566:35:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16566:50:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"16523:93:0","trueExpression":{"expression":{"arguments":[{"id":427,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16550:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16542:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":425,"name":"address","nodeType":"ElementaryTypeName","src":"16542:7:0","typeDescriptions":{}}},"id":428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16542:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16556:7:0","memberName":"balance","nodeType":"MemberAccess","src":"16542:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16506:110:0"},{"expression":{"arguments":[{"id":442,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":413,"src":"16704:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":443,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":415,"src":"16712:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":444,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":421,"src":"16724:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":441,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"16688:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16688:43:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":446,"nodeType":"ExpressionStatement","src":"16688:43:0"}]},"baseFunctions":[2473],"documentation":{"id":411,"nodeType":"StructuredDocumentation","src":"16116:187:0","text":"@notice Transfer the funds recovered to the recipient\n @dev 'msg.sender' must be Allo owner\n @param _token The token to transfer\n @param _recipient The recipient"},"functionSelector":"24ae6a27","implemented":true,"kind":"function","modifiers":[{"id":418,"kind":"modifierInvocation","modifierName":{"id":417,"name":"onlyOwner","nameLocations":["16375:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"16375:9:0"},"nodeType":"ModifierInvocation","src":"16375:9:0"}],"name":"recoverFunds","nameLocation":"16317:12:0","parameters":{"id":416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":413,"mutability":"mutable","name":"_token","nameLocation":"16338:6:0","nodeType":"VariableDeclaration","scope":448,"src":"16330:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":412,"name":"address","nodeType":"ElementaryTypeName","src":"16330:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":415,"mutability":"mutable","name":"_recipient","nameLocation":"16354:10:0","nodeType":"VariableDeclaration","scope":448,"src":"16346:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":414,"name":"address","nodeType":"ElementaryTypeName","src":"16346:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16329:36:0"},"returnParameters":{"id":419,"nodeType":"ParameterList","parameters":[],"src":"16385:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":474,"nodeType":"FunctionDefinition","src":"17298:276:0","nodes":[],"body":{"id":473,"nodeType":"Block","src":"17410:164:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":468,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":453,"src":"17549:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":469,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17556:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17560:6:0","memberName":"sender","nodeType":"MemberAccess","src":"17556:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":460,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"17489:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":462,"indexExpression":{"id":461,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":451,"src":"17495:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17489:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":463,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17504:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"17489:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17513:17:0","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":2949,"src":"17489:41:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$_t_address_$","typeString":"function (bytes memory,address) payable external returns (address)"}},"id":467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":465,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17538:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17542:5:0","memberName":"value","nodeType":"MemberAccess","src":"17538:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"17489:59:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$_t_address_$value","typeString":"function (bytes memory,address) payable external returns (address)"}},"id":471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17489:78:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":459,"id":472,"nodeType":"Return","src":"17482:85:0"}]},"baseFunctions":[2483],"documentation":{"id":449,"nodeType":"StructuredDocumentation","src":"16877:416:0","text":"@notice Passes _data through to the strategy for that pool.\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of registerRecipient().\n @param _poolId ID of the pool\n @param _data Encoded data unique to a strategy that registerRecipient() requires\n @return recipientId The recipient ID that has been registered"},"functionSelector":"075c0e9c","implemented":true,"kind":"function","modifiers":[{"id":456,"kind":"modifierInvocation","modifierName":{"id":455,"name":"nonReentrant","nameLocations":["17379:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53197,"src":"17379:12:0"},"nodeType":"ModifierInvocation","src":"17379:12:0"}],"name":"registerRecipient","nameLocation":"17307:17:0","parameters":{"id":454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":451,"mutability":"mutable","name":"_poolId","nameLocation":"17333:7:0","nodeType":"VariableDeclaration","scope":474,"src":"17325:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":450,"name":"uint256","nodeType":"ElementaryTypeName","src":"17325:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":453,"mutability":"mutable","name":"_data","nameLocation":"17355:5:0","nodeType":"VariableDeclaration","scope":474,"src":"17342:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":452,"name":"bytes","nodeType":"ElementaryTypeName","src":"17342:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"17324:37:0"},"returnParameters":{"id":459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":458,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":474,"src":"17401:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":457,"name":"address","nodeType":"ElementaryTypeName","src":"17401:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17400:9:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":543,"nodeType":"FunctionDefinition","src":"18212:747:0","nodes":[],"body":{"id":542,"nodeType":"Block","src":"18383:576:0","nodes":[],"statements":[{"assignments":[490],"declarations":[{"constant":false,"id":490,"mutability":"mutable","name":"poolIdLength","nameLocation":"18401:12:0","nodeType":"VariableDeclaration","scope":542,"src":"18393:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":489,"name":"uint256","nodeType":"ElementaryTypeName","src":"18393:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":493,"initialValue":{"expression":{"id":491,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"18416:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18425:6:0","memberName":"length","nodeType":"MemberAccess","src":"18416:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18393:38:0"},{"expression":{"id":500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":494,"name":"recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":487,"src":"18441:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":498,"name":"poolIdLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"18470:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":497,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"18456:13:0","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":495,"name":"address","nodeType":"ElementaryTypeName","src":"18460:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":496,"nodeType":"ArrayTypeName","src":"18460:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18456:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"18441:42:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":501,"nodeType":"ExpressionStatement","src":"18441:42:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":502,"name":"poolIdLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"18498:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":503,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":481,"src":"18514:5:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18520:6:0","memberName":"length","nodeType":"MemberAccess","src":"18514:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18498:28:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":509,"nodeType":"IfStatement","src":"18494:51:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":506,"name":"MISMATCH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3011,"src":"18535:8:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18535:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":508,"nodeType":"RevertStatement","src":"18528:17:0"}},{"body":{"id":538,"nodeType":"Block","src":"18693:169:0","statements":[{"expression":{"id":532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":516,"name":"recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":487,"src":"18707:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":518,"indexExpression":{"id":517,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18720:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18707:15:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":526,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":481,"src":"18771:5:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":528,"indexExpression":{"id":527,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18777:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18771:8:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":529,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18781:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18785:6:0","memberName":"sender","nodeType":"MemberAccess","src":"18781:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":519,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"18725:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":523,"indexExpression":{"baseExpression":{"id":520,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"18731:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":522,"indexExpression":{"id":521,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18740:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18731:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18725:18:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":524,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18744:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"18725:27:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18753:17:0","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":2949,"src":"18725:45:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$_t_address_$","typeString":"function (bytes memory,address) payable external returns (address)"}},"id":531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18725:67:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18707:85:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":533,"nodeType":"ExpressionStatement","src":"18707:85:0"},{"id":537,"nodeType":"UncheckedBlock","src":"18806:46:0","statements":[{"expression":{"id":535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"18834:3:0","subExpression":{"id":534,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18836:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":536,"nodeType":"ExpressionStatement","src":"18834:3:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":513,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18674:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":514,"name":"poolIdLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"18678:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18674:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":539,"initializationExpression":{"assignments":[511],"declarations":[{"constant":false,"id":511,"mutability":"mutable","name":"i","nameLocation":"18671:1:0","nodeType":"VariableDeclaration","scope":539,"src":"18663:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":510,"name":"uint256","nodeType":"ElementaryTypeName","src":"18663:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":512,"nodeType":"VariableDeclarationStatement","src":"18663:9:0"},"nodeType":"ForStatement","src":"18658:204:0"},{"expression":{"id":540,"name":"recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":487,"src":"18940:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":488,"id":541,"nodeType":"Return","src":"18933:19:0"}]},"baseFunctions":[2496],"documentation":{"id":475,"nodeType":"StructuredDocumentation","src":"17580:627:0","text":"@notice Register multiple recipients to multiple pools.\n @dev Returns the 'recipientIds' from the strategy that have been registered from calling this function.\n Encoded data unique to a strategy that registerRecipient() requires. Encoded '_data' length must match\n '_poolIds' length or this will revert with MISMATCH(). Other requirements will be determined by the strategy.\n @param _poolIds ID's of the pools\n @param _data An array of encoded data unique to a strategy that registerRecipient() requires.\n @return recipientIds The recipient IDs that have been registered"},"functionSelector":"1a20bd88","implemented":true,"kind":"function","modifiers":[{"id":484,"kind":"modifierInvocation","modifierName":{"id":483,"name":"nonReentrant","nameLocations":["18318:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53197,"src":"18318:12:0"},"nodeType":"ModifierInvocation","src":"18318:12:0"}],"name":"batchRegisterRecipient","nameLocation":"18221:22:0","parameters":{"id":482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":478,"mutability":"mutable","name":"_poolIds","nameLocation":"18261:8:0","nodeType":"VariableDeclaration","scope":543,"src":"18244:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":476,"name":"uint256","nodeType":"ElementaryTypeName","src":"18244:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":477,"nodeType":"ArrayTypeName","src":"18244:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":481,"mutability":"mutable","name":"_data","nameLocation":"18286:5:0","nodeType":"VariableDeclaration","scope":543,"src":"18271:20:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":479,"name":"bytes","nodeType":"ElementaryTypeName","src":"18271:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":480,"nodeType":"ArrayTypeName","src":"18271:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"18243:49:0"},"returnParameters":{"id":488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":487,"mutability":"mutable","name":"recipientIds","nameLocation":"18365:12:0","nodeType":"VariableDeclaration","scope":543,"src":"18348:29:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":485,"name":"address","nodeType":"ElementaryTypeName","src":"18348:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":486,"nodeType":"ArrayTypeName","src":"18348:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"18347:31:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":588,"nodeType":"FunctionDefinition","src":"19156:439:0","nodes":[],"body":{"id":587,"nodeType":"Block","src":"19238:357:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":553,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"19318:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19329:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"19318:12:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":559,"nodeType":"IfStatement","src":"19314:43:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":556,"name":"NOT_ENOUGH_FUNDS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3014,"src":"19339:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19339:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":558,"nodeType":"RevertStatement","src":"19332:25:0"}},{"assignments":[562],"declarations":[{"constant":false,"id":562,"mutability":"mutable","name":"pool","nameLocation":"19380:4:0","nodeType":"VariableDeclaration","scope":587,"src":"19368:16:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":561,"nodeType":"UserDefinedTypeName","pathNode":{"id":560,"name":"Pool","nameLocations":["19368:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"19368:4:0"},"referencedDeclaration":2319,"src":"19368:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":566,"initialValue":{"baseExpression":{"id":563,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"19387:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":565,"indexExpression":{"id":564,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":546,"src":"19393:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19387:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"VariableDeclarationStatement","src":"19368:33:0"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":567,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":562,"src":"19415:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":568,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19420:5:0","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"19415:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":569,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"19429:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19415:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":571,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"19439:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":572,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"19450:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19454:5:0","memberName":"value","nodeType":"MemberAccess","src":"19450:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19439:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"19415:44:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":579,"nodeType":"IfStatement","src":"19411:75:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":576,"name":"NOT_ENOUGH_FUNDS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3014,"src":"19468:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19468:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":578,"nodeType":"RevertStatement","src":"19461:25:0"}},{"expression":{"arguments":[{"id":581,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"19556:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":582,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":546,"src":"19565:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":583,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":562,"src":"19574:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":584,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19579:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"19574:13:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":580,"name":"_fundPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1122,"src":"19546:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_contract$_IStrategy_$2969_$returns$__$","typeString":"function (uint256,uint256,contract IStrategy)"}},"id":585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19546:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":586,"nodeType":"ExpressionStatement","src":"19546:42:0"}]},"baseFunctions":[2504],"documentation":{"id":544,"nodeType":"StructuredDocumentation","src":"18965:186:0","text":"@notice Fund a pool.\n @dev Anyone can fund a pool and call this function.\n @param _poolId ID of the pool\n @param _amount The amount to be deposited into the pool"},"functionSelector":"5acd6fac","implemented":true,"kind":"function","modifiers":[{"id":551,"kind":"modifierInvocation","modifierName":{"id":550,"name":"nonReentrant","nameLocations":["19225:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53197,"src":"19225:12:0"},"nodeType":"ModifierInvocation","src":"19225:12:0"}],"name":"fundPool","nameLocation":"19165:8:0","parameters":{"id":549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":546,"mutability":"mutable","name":"_poolId","nameLocation":"19182:7:0","nodeType":"VariableDeclaration","scope":588,"src":"19174:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":545,"name":"uint256","nodeType":"ElementaryTypeName","src":"19174:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":548,"mutability":"mutable","name":"_amount","nameLocation":"19199:7:0","nodeType":"VariableDeclaration","scope":588,"src":"19191:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":547,"name":"uint256","nodeType":"ElementaryTypeName","src":"19191:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19173:34:0"},"returnParameters":{"id":552,"nodeType":"ParameterList","parameters":[],"src":"19238:0:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":604,"nodeType":"FunctionDefinition","src":"19921:127:0","nodes":[],"body":{"id":603,"nodeType":"Block","src":"20006:42:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":599,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":591,"src":"20026:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":600,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":593,"src":"20035:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":598,"name":"_allocate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":947,"src":"20016:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory)"}},"id":601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20016:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":602,"nodeType":"ExpressionStatement","src":"20016:25:0"}]},"baseFunctions":[2512],"documentation":{"id":589,"nodeType":"StructuredDocumentation","src":"19601:315:0","text":"@notice Allocate to a recipient or multiple recipients.\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of allocate().\n @param _poolId ID of the pool\n @param _data Encoded data unique to the strategy for that pool"},"functionSelector":"2ec38188","implemented":true,"kind":"function","modifiers":[{"id":596,"kind":"modifierInvocation","modifierName":{"id":595,"name":"nonReentrant","nameLocations":["19993:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53197,"src":"19993:12:0"},"nodeType":"ModifierInvocation","src":"19993:12:0"}],"name":"allocate","nameLocation":"19930:8:0","parameters":{"id":594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":591,"mutability":"mutable","name":"_poolId","nameLocation":"19947:7:0","nodeType":"VariableDeclaration","scope":604,"src":"19939:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":590,"name":"uint256","nodeType":"ElementaryTypeName","src":"19939:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":593,"mutability":"mutable","name":"_data","nameLocation":"19969:5:0","nodeType":"VariableDeclaration","scope":604,"src":"19956:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":592,"name":"bytes","nodeType":"ElementaryTypeName","src":"19956:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"19938:37:0"},"returnParameters":{"id":597,"nodeType":"ParameterList","parameters":[],"src":"20006:0:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":651,"nodeType":"FunctionDefinition","src":"20511:559:0","nodes":[],"body":{"id":650,"nodeType":"Block","src":"20608:462:0","nodes":[],"statements":[{"assignments":[617],"declarations":[{"constant":false,"id":617,"mutability":"mutable","name":"numPools","nameLocation":"20626:8:0","nodeType":"VariableDeclaration","scope":650,"src":"20618:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":616,"name":"uint256","nodeType":"ElementaryTypeName","src":"20618:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":620,"initialValue":{"expression":{"id":618,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"20637:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20646:6:0","memberName":"length","nodeType":"MemberAccess","src":"20637:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20618:34:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":621,"name":"numPools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":617,"src":"20772:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":622,"name":"_datas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":611,"src":"20784:6:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20791:6:0","memberName":"length","nodeType":"MemberAccess","src":"20784:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20772:25:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":628,"nodeType":"IfStatement","src":"20768:48:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":625,"name":"MISMATCH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3011,"src":"20806:8:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20806:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":627,"nodeType":"RevertStatement","src":"20799:17:0"}},{"body":{"id":648,"nodeType":"Block","src":"20947:117:0","statements":[{"expression":{"arguments":[{"baseExpression":{"id":636,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"20971:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":638,"indexExpression":{"id":637,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"20980:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20971:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":639,"name":"_datas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":611,"src":"20984:6:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":641,"indexExpression":{"id":640,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"20991:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20984:9:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":635,"name":"_allocate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":947,"src":"20961:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory)"}},"id":642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20961:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":643,"nodeType":"ExpressionStatement","src":"20961:33:0"},{"id":647,"nodeType":"UncheckedBlock","src":"21008:46:0","statements":[{"expression":{"id":645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"21036:3:0","subExpression":{"id":644,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"21038:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":646,"nodeType":"ExpressionStatement","src":"21036:3:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":632,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"20932:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":633,"name":"numPools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":617,"src":"20936:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20932:12:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":649,"initializationExpression":{"assignments":[630],"declarations":[{"constant":false,"id":630,"mutability":"mutable","name":"i","nameLocation":"20929:1:0","nodeType":"VariableDeclaration","scope":649,"src":"20921:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":629,"name":"uint256","nodeType":"ElementaryTypeName","src":"20921:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":631,"nodeType":"VariableDeclarationStatement","src":"20921:9:0"},"nodeType":"ForStatement","src":"20916:148:0"}]},"baseFunctions":[2522],"documentation":{"id":605,"nodeType":"StructuredDocumentation","src":"20054:452:0","text":"@notice Allocate to multiple pools\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of allocate(). Please note that this is not a 'payable' function, so if you\n want to send funds to the strategy, you must send the funds using 'fundPool()'.\n @param _poolIds IDs of the pools\n @param _datas encoded data unique to the strategy for that pool"},"functionSelector":"c6dff1cf","implemented":true,"kind":"function","modifiers":[{"id":614,"kind":"modifierInvocation","modifierName":{"id":613,"name":"nonReentrant","nameLocations":["20595:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53197,"src":"20595:12:0"},"nodeType":"ModifierInvocation","src":"20595:12:0"}],"name":"batchAllocate","nameLocation":"20520:13:0","parameters":{"id":612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":608,"mutability":"mutable","name":"_poolIds","nameLocation":"20553:8:0","nodeType":"VariableDeclaration","scope":651,"src":"20534:27:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":606,"name":"uint256","nodeType":"ElementaryTypeName","src":"20534:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":607,"nodeType":"ArrayTypeName","src":"20534:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":611,"mutability":"mutable","name":"_datas","nameLocation":"20578:6:0","nodeType":"VariableDeclaration","scope":651,"src":"20563:21:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":609,"name":"bytes","nodeType":"ElementaryTypeName","src":"20563:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":610,"nodeType":"ArrayTypeName","src":"20563:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"20533:52:0"},"returnParameters":{"id":615,"nodeType":"ParameterList","parameters":[],"src":"20608:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":676,"nodeType":"FunctionDefinition","src":"21468:196:0","nodes":[],"body":{"id":675,"nodeType":"Block","src":"21579:85:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":669,"name":"_recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":657,"src":"21624:13:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":670,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":659,"src":"21639:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":671,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"21646:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21650:6:0","memberName":"sender","nodeType":"MemberAccess","src":"21646:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":664,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"21589:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":666,"indexExpression":{"id":665,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":654,"src":"21595:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21589:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":667,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21604:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"21589:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21613:10:0","memberName":"distribute","nodeType":"MemberAccess","referencedDeclaration":2968,"src":"21589:34:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_bytes_memory_ptr_$_t_address_$returns$__$","typeString":"function (address[] memory,bytes memory,address) external"}},"id":673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21589:68:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":674,"nodeType":"ExpressionStatement","src":"21589:68:0"}]},"baseFunctions":[2533],"documentation":{"id":652,"nodeType":"StructuredDocumentation","src":"21076:387:0","text":"@notice Distribute to a recipient or multiple recipients.\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of 'strategy.distribute()'.\n @param _poolId ID of the pool\n @param _recipientIds Ids of the recipients of the distribution\n @param _data Encoded data unique to the strategy"},"functionSelector":"3a5fbd92","implemented":true,"kind":"function","modifiers":[{"id":662,"kind":"modifierInvocation","modifierName":{"id":661,"name":"nonReentrant","nameLocations":["21566:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53197,"src":"21566:12:0"},"nodeType":"ModifierInvocation","src":"21566:12:0"}],"name":"distribute","nameLocation":"21477:10:0","parameters":{"id":660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":654,"mutability":"mutable","name":"_poolId","nameLocation":"21496:7:0","nodeType":"VariableDeclaration","scope":676,"src":"21488:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":653,"name":"uint256","nodeType":"ElementaryTypeName","src":"21488:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":657,"mutability":"mutable","name":"_recipientIds","nameLocation":"21522:13:0","nodeType":"VariableDeclaration","scope":676,"src":"21505:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":655,"name":"address","nodeType":"ElementaryTypeName","src":"21505:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":656,"nodeType":"ArrayTypeName","src":"21505:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":659,"mutability":"mutable","name":"_data","nameLocation":"21550:5:0","nodeType":"VariableDeclaration","scope":676,"src":"21537:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":658,"name":"bytes","nodeType":"ElementaryTypeName","src":"21537:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21487:69:0"},"returnParameters":{"id":663,"nodeType":"ParameterList","parameters":[],"src":"21579:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":693,"nodeType":"FunctionDefinition","src":"21910:142:0","nodes":[],"body":{"id":692,"nodeType":"Block","src":"21972:80:0","nodes":[],"statements":[{"condition":{"id":687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"21986:36:0","subExpression":{"arguments":[{"id":683,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":679,"src":"22002:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":684,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"22011:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22015:6:0","memberName":"sender","nodeType":"MemberAccess","src":"22011:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":682,"name":"_isPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1178,"src":"21987:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21987:35:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":691,"nodeType":"IfStatement","src":"21982:63:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":688,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"22031:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22031:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":690,"nodeType":"RevertStatement","src":"22024:21:0"}}]},"documentation":{"id":677,"nodeType":"StructuredDocumentation","src":"21806:99:0","text":"@notice Internal function to check is caller is pool manager\n @param _poolId The pool id"},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnlyPoolManager","nameLocation":"21919:21:0","parameters":{"id":680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":679,"mutability":"mutable","name":"_poolId","nameLocation":"21949:7:0","nodeType":"VariableDeclaration","scope":693,"src":"21941:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":678,"name":"uint256","nodeType":"ElementaryTypeName","src":"21941:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21940:17:0"},"returnParameters":{"id":681,"nodeType":"ParameterList","parameters":[],"src":"21972:0:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":710,"nodeType":"FunctionDefinition","src":"22160:138:0","nodes":[],"body":{"id":709,"nodeType":"Block","src":"22220:78:0","nodes":[],"statements":[{"condition":{"id":704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22234:34:0","subExpression":{"arguments":[{"id":700,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":696,"src":"22248:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":701,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"22257:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22261:6:0","memberName":"sender","nodeType":"MemberAccess","src":"22257:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":699,"name":"_isPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1154,"src":"22235:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22235:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":708,"nodeType":"IfStatement","src":"22230:61:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":705,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"22277:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22277:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":707,"nodeType":"RevertStatement","src":"22270:21:0"}}]},"documentation":{"id":694,"nodeType":"StructuredDocumentation","src":"22058:97:0","text":"@notice Internal function to check is caller is pool admin\n @param _poolId The pool id"},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnlyPoolAdmin","nameLocation":"22169:19:0","parameters":{"id":697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":696,"mutability":"mutable","name":"_poolId","nameLocation":"22197:7:0","nodeType":"VariableDeclaration","scope":710,"src":"22189:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":695,"name":"uint256","nodeType":"ElementaryTypeName","src":"22189:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22188:17:0"},"returnParameters":{"id":698,"nodeType":"ParameterList","parameters":[],"src":"22220:0:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":925,"nodeType":"FunctionDefinition","src":"23131:2681:0","nodes":[],"body":{"id":924,"nodeType":"Block","src":"23409:2403:0","nodes":[],"statements":[{"condition":{"id":739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"23423:58:0","subExpression":{"arguments":[{"id":735,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":713,"src":"23458:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":736,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"23470:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23474:6:0","memberName":"sender","nodeType":"MemberAccess","src":"23470:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":733,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"23424:8:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23433:24:0","memberName":"isOwnerOrMemberOfProfile","nodeType":"MemberAccess","referencedDeclaration":2704,"src":"23424:33:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23424:57:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":743,"nodeType":"IfStatement","src":"23419:85:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":740,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"23490:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23490:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":742,"nodeType":"RevertStatement","src":"23483:21:0"}},{"expression":{"id":747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":744,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"23515:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"23524:12:0","subExpression":{"id":745,"name":"_poolIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40,"src":"23526:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23515:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":748,"nodeType":"ExpressionStatement","src":"23515:21:0"},{"assignments":[750],"declarations":[{"constant":false,"id":750,"mutability":"mutable","name":"POOL_MANAGER_ROLE","nameLocation":"23683:17:0","nodeType":"VariableDeclaration","scope":924,"src":"23675:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":749,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23675:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":755,"initialValue":{"arguments":[{"id":753,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"23711:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23703:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":751,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23703:7:0","typeDescriptions":{}}},"id":754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23703:15:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"23675:43:0"},{"assignments":[757],"declarations":[{"constant":false,"id":757,"mutability":"mutable","name":"POOL_ADMIN_ROLE","nameLocation":"23736:15:0","nodeType":"VariableDeclaration","scope":924,"src":"23728:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":756,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23728:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":765,"initialValue":{"arguments":[{"arguments":[{"id":761,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"23781:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"61646d696e","id":762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23789:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_f23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d8","typeString":"literal_string \"admin\""},"value":"admin"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_f23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d8","typeString":"literal_string \"admin\""}],"expression":{"id":759,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23764:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":760,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23768:12:0","memberName":"encodePacked","nodeType":"MemberAccess","src":"23764:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23764:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":758,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"23754:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23754:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"23728:70:0"},{"assignments":[768],"declarations":[{"constant":false,"id":768,"mutability":"mutable","name":"pool","nameLocation":"23857:4:0","nodeType":"VariableDeclaration","scope":924,"src":"23845:16:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":767,"nodeType":"UserDefinedTypeName","pathNode":{"id":766,"name":"Pool","nameLocations":["23845:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"23845:4:0"},"referencedDeclaration":2319,"src":"23845:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":777,"initialValue":{"arguments":[{"id":770,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":713,"src":"23894:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":771,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"23928:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":772,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":725,"src":"23961:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":773,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"23991:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":774,"name":"POOL_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"24024:17:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":775,"name":"POOL_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":757,"src":"24066:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":769,"name":"Pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2319,"src":"23864:4:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Pool_$2319_storage_ptr_$","typeString":"type(struct IAllo.Pool storage pointer)"}},"id":776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["23883:9:0","23918:8:0","23951:8:0","23984:5:0","24011:11:0","24055:9:0"],"names":["profileId","strategy","metadata","token","managerRole","adminRole"],"nodeType":"FunctionCall","src":"23864:228:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"23845:247:0"},{"expression":{"id":782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":778,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"24159:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":780,"indexExpression":{"id":779,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"24165:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24159:13:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":781,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":768,"src":"24175:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"src":"24159:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":783,"nodeType":"ExpressionStatement","src":"24159:20:0"},{"expression":{"arguments":[{"id":785,"name":"POOL_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":757,"src":"24250:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":786,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"24267:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24271:6:0","memberName":"sender","nodeType":"MemberAccess","src":"24267:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":784,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52660,"src":"24239:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24239:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":789,"nodeType":"ExpressionStatement","src":"24239:39:0"},{"expression":{"arguments":[{"id":791,"name":"POOL_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"24351:17:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":792,"name":"POOL_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":757,"src":"24370:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":790,"name":"_setRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52628,"src":"24337:13:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24337:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":794,"nodeType":"ExpressionStatement","src":"24337:49:0"},{"expression":{"arguments":[{"id":798,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"24562:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":799,"name":"_initStrategyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":718,"src":"24570:17:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":795,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"24541:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24551:10:0","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":2939,"src":"24541:20:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) external"}},"id":800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24541:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":801,"nodeType":"ExpressionStatement","src":"24541:47:0"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":802,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"24603:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24613:9:0","memberName":"getPoolId","nodeType":"MemberAccess","referencedDeclaration":2876,"src":"24603:19:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24603:21:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":805,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"24628:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24603:31:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":809,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"24646:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24656:7:0","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":2870,"src":"24646:17:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24646:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}],"id":808,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24638:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":807,"name":"address","nodeType":"ElementaryTypeName","src":"24638:7:0","typeDescriptions":{}}},"id":812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24638:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":815,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"24678:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":814,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24670:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":813,"name":"address","nodeType":"ElementaryTypeName","src":"24670:7:0","typeDescriptions":{}}},"id":816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24670:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"24638:45:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24603:80:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":822,"nodeType":"IfStatement","src":"24599:103:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":819,"name":"MISMATCH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3011,"src":"24692:8:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24692:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":821,"nodeType":"RevertStatement","src":"24685:17:0"}},{"assignments":[824],"declarations":[{"constant":false,"id":824,"mutability":"mutable","name":"managersLength","nameLocation":"24758:14:0","nodeType":"VariableDeclaration","scope":924,"src":"24750:22:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":823,"name":"uint256","nodeType":"ElementaryTypeName","src":"24750:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":827,"initialValue":{"expression":{"id":825,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":728,"src":"24775:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24785:6:0","memberName":"length","nodeType":"MemberAccess","src":"24775:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24750:41:0"},{"body":{"id":859,"nodeType":"Block","src":"24838:229:0","statements":[{"assignments":[835],"declarations":[{"constant":false,"id":835,"mutability":"mutable","name":"manager","nameLocation":"24860:7:0","nodeType":"VariableDeclaration","scope":859,"src":"24852:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":834,"name":"address","nodeType":"ElementaryTypeName","src":"24852:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":839,"initialValue":{"baseExpression":{"id":836,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":728,"src":"24870:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":838,"indexExpression":{"id":837,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"24880:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24870:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"24852:30:0"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":840,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":835,"src":"24900:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24919:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24911:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":841,"name":"address","nodeType":"ElementaryTypeName","src":"24911:7:0","typeDescriptions":{}}},"id":844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24911:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"24900:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":849,"nodeType":"IfStatement","src":"24896:48:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":846,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"24930:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24930:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":848,"nodeType":"RevertStatement","src":"24923:21:0"}},{"expression":{"arguments":[{"id":851,"name":"POOL_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"24970:17:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":852,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":835,"src":"24989:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":850,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52660,"src":"24959:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24959:38:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":854,"nodeType":"ExpressionStatement","src":"24959:38:0"},{"id":858,"nodeType":"UncheckedBlock","src":"25011:46:0","statements":[{"expression":{"id":856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"25039:3:0","subExpression":{"id":855,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"25041:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":857,"nodeType":"ExpressionStatement","src":"25039:3:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":831,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"24817:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":832,"name":"managersLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":824,"src":"24821:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24817:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":860,"initializationExpression":{"assignments":[829],"declarations":[{"constant":false,"id":829,"mutability":"mutable","name":"i","nameLocation":"24814:1:0","nodeType":"VariableDeclaration","scope":860,"src":"24806:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":828,"name":"uint256","nodeType":"ElementaryTypeName","src":"24806:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":830,"nodeType":"VariableDeclarationStatement","src":"24806:9:0"},"nodeType":"ForStatement","src":"24801:266:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":861,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25081:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25091:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25081:11:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":903,"nodeType":"IfStatement","src":"25077:554:0","trueBody":{"id":902,"nodeType":"Block","src":"25094:537:0","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":864,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"25359:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":865,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"25369:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25359:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":867,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25380:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":868,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25390:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25380:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":870,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"25401:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25405:5:0","memberName":"value","nodeType":"MemberAccess","src":"25401:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25380:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":873,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25379:32:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25359:52:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":875,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25358:54:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":876,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"25417:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":877,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"25427:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25417:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":879,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25437:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":880,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"25448:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25452:5:0","memberName":"value","nodeType":"MemberAccess","src":"25448:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25437:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25417:40:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":884,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25416:42:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25358:100:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":890,"nodeType":"IfStatement","src":"25354:164:0","trueBody":{"id":889,"nodeType":"Block","src":"25460:58:0","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":886,"name":"NOT_ENOUGH_FUNDS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3014,"src":"25485:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25485:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":888,"nodeType":"RevertStatement","src":"25478:25:0"}]}},{"expression":{"arguments":[{"id":892,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"25547:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":893,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"25555:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":894,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25565:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":891,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"25531:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25531:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":896,"nodeType":"ExpressionStatement","src":"25531:42:0"},{"eventCall":{"arguments":[{"id":898,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"25604:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":899,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25612:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":897,"name":"BaseFeePaid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2360,"src":"25592:11:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25592:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":901,"nodeType":"EmitStatement","src":"25587:33:0"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":904,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25645:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25655:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25645:11:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":914,"nodeType":"IfStatement","src":"25641:79:0","trueBody":{"id":913,"nodeType":"Block","src":"25658:62:0","statements":[{"expression":{"arguments":[{"id":908,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25682:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":909,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"25691:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":910,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"25699:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":907,"name":"_fundPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1122,"src":"25672:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_contract$_IStrategy_$2969_$returns$__$","typeString":"function (uint256,uint256,contract IStrategy)"}},"id":911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25672:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":912,"nodeType":"ExpressionStatement","src":"25672:37:0"}]}},{"eventCall":{"arguments":[{"id":916,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"25747:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":917,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":713,"src":"25755:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":918,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"25767:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":919,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"25778:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":920,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25786:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":921,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":725,"src":"25795:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":915,"name":"PoolCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2336,"src":"25735:11:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_bytes32_$_t_contract$_IStrategy_$2969_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (uint256,bytes32,contract IStrategy,address,uint256,struct Metadata memory)"}},"id":922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25735:70:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":923,"nodeType":"EmitStatement","src":"25730:75:0"}]},"documentation":{"id":711,"nodeType":"StructuredDocumentation","src":"22304:822:0","text":"@notice Creates a new pool.\n @dev This is an internal function that is called by the 'createPool()' & 'createPoolWithCustomStrategy()' functions\n It is used to create a new pool and is called by both functions. The 'msg.sender' must be a member or owner of\n a profile to create a pool.\n @param _profileId The ID of the profile of for pool creator in the registry\n @param _strategy The address of strategy\n @param _initStrategyData The data to initialize the strategy\n @param _token The address of the token that the pool is denominated in\n @param _amount The amount of the token to be deposited into the pool\n @param _metadata The 'Metadata' of the pool\n @param _managers The managers of the pool\n @return poolId The ID of the pool"},"implemented":true,"kind":"function","modifiers":[],"name":"_createPool","nameLocation":"23140:11:0","parameters":{"id":729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":713,"mutability":"mutable","name":"_profileId","nameLocation":"23169:10:0","nodeType":"VariableDeclaration","scope":925,"src":"23161:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":712,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23161:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":716,"mutability":"mutable","name":"_strategy","nameLocation":"23199:9:0","nodeType":"VariableDeclaration","scope":925,"src":"23189:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":715,"nodeType":"UserDefinedTypeName","pathNode":{"id":714,"name":"IStrategy","nameLocations":["23189:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"23189:9:0"},"referencedDeclaration":2969,"src":"23189:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"},{"constant":false,"id":718,"mutability":"mutable","name":"_initStrategyData","nameLocation":"23231:17:0","nodeType":"VariableDeclaration","scope":925,"src":"23218:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":717,"name":"bytes","nodeType":"ElementaryTypeName","src":"23218:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":720,"mutability":"mutable","name":"_token","nameLocation":"23266:6:0","nodeType":"VariableDeclaration","scope":925,"src":"23258:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":719,"name":"address","nodeType":"ElementaryTypeName","src":"23258:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":722,"mutability":"mutable","name":"_amount","nameLocation":"23290:7:0","nodeType":"VariableDeclaration","scope":925,"src":"23282:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":721,"name":"uint256","nodeType":"ElementaryTypeName","src":"23282:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":725,"mutability":"mutable","name":"_metadata","nameLocation":"23323:9:0","nodeType":"VariableDeclaration","scope":925,"src":"23307:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":724,"nodeType":"UserDefinedTypeName","pathNode":{"id":723,"name":"Metadata","nameLocations":["23307:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"23307:8:0"},"referencedDeclaration":3098,"src":"23307:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":728,"mutability":"mutable","name":"_managers","nameLocation":"23359:9:0","nodeType":"VariableDeclaration","scope":925,"src":"23342:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":726,"name":"address","nodeType":"ElementaryTypeName","src":"23342:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":727,"nodeType":"ArrayTypeName","src":"23342:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"23151:223:0"},"returnParameters":{"id":732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":731,"mutability":"mutable","name":"poolId","nameLocation":"23401:6:0","nodeType":"VariableDeclaration","scope":925,"src":"23393:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":730,"name":"uint256","nodeType":"ElementaryTypeName","src":"23393:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23392:16:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":947,"nodeType":"FunctionDefinition","src":"26159:151:0","nodes":[],"body":{"id":946,"nodeType":"Block","src":"26224:86:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":941,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":930,"src":"26285:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":942,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"26292:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26296:6:0","memberName":"sender","nodeType":"MemberAccess","src":"26292:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":933,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"26234:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":935,"indexExpression":{"id":934,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":928,"src":"26240:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26234:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":936,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26249:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"26234:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26258:8:0","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":2957,"src":"26234:32:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$__$","typeString":"function (bytes memory,address) payable external"}},"id":940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":938,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"26274:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26278:5:0","memberName":"value","nodeType":"MemberAccess","src":"26274:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"26234:50:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$__$value","typeString":"function (bytes memory,address) payable external"}},"id":944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26234:69:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":945,"nodeType":"ExpressionStatement","src":"26234:69:0"}]},"documentation":{"id":926,"nodeType":"StructuredDocumentation","src":"25818:336:0","text":"@notice Allocate to recipient(s).\n @dev Passes '_data' & 'msg.sender' through to the strategy for that pool.\n This is an internal function that is called by the 'allocate()' & 'batchAllocate()' functions.\n @param _poolId ID of the pool\n @param _data Encoded data unique to the strategy for that pool"},"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"26168:9:0","parameters":{"id":931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":928,"mutability":"mutable","name":"_poolId","nameLocation":"26186:7:0","nodeType":"VariableDeclaration","scope":947,"src":"26178:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":927,"name":"uint256","nodeType":"ElementaryTypeName","src":"26178:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":930,"mutability":"mutable","name":"_data","nameLocation":"26208:5:0","nodeType":"VariableDeclaration","scope":947,"src":"26195:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":929,"name":"bytes","nodeType":"ElementaryTypeName","src":"26195:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26177:37:0"},"returnParameters":{"id":932,"nodeType":"ParameterList","parameters":[],"src":"26224:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1122,"nodeType":"FunctionDefinition","src":"26634:1879:0","nodes":[],"body":{"id":1121,"nodeType":"Block","src":"26717:1796:0","nodes":[],"statements":[{"assignments":[959],"declarations":[{"constant":false,"id":959,"mutability":"mutable","name":"feeAmount","nameLocation":"26735:9:0","nodeType":"VariableDeclaration","scope":1121,"src":"26727:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":958,"name":"uint256","nodeType":"ElementaryTypeName","src":"26727:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":960,"nodeType":"VariableDeclarationStatement","src":"26727:17:0"},{"assignments":[962],"declarations":[{"constant":false,"id":962,"mutability":"mutable","name":"amountAfterFee","nameLocation":"26762:14:0","nodeType":"VariableDeclaration","scope":1121,"src":"26754:22:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":961,"name":"uint256","nodeType":"ElementaryTypeName","src":"26754:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":964,"initialValue":{"id":963,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":950,"src":"26779:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26754:32:0"},{"assignments":[967],"declarations":[{"constant":false,"id":967,"mutability":"mutable","name":"pool","nameLocation":"26810:4:0","nodeType":"VariableDeclaration","scope":1121,"src":"26797:17:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":966,"nodeType":"UserDefinedTypeName","pathNode":{"id":965,"name":"Pool","nameLocations":["26797:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"26797:4:0"},"referencedDeclaration":2319,"src":"26797:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":971,"initialValue":{"baseExpression":{"id":968,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"26817:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":970,"indexExpression":{"id":969,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":952,"src":"26823:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26817:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"VariableDeclarationStatement","src":"26797:34:0"},{"assignments":[973],"declarations":[{"constant":false,"id":973,"mutability":"mutable","name":"_token","nameLocation":"26849:6:0","nodeType":"VariableDeclaration","scope":1121,"src":"26841:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":972,"name":"address","nodeType":"ElementaryTypeName","src":"26841:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":976,"initialValue":{"expression":{"id":974,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":967,"src":"26858:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool storage pointer"}},"id":975,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26863:5:0","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"26858:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"26841:27:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":977,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"26883:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26896:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"26883:14:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1050,"nodeType":"IfStatement","src":"26879:808:0","trueBody":{"id":1049,"nodeType":"Block","src":"26899:788:0","statements":[{"expression":{"id":988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":980,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"26913:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":981,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":950,"src":"26926:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":982,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"26936:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26926:20:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":984,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"26925:22:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":985,"name":"getFeeDenominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1276,"src":"26950:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26950:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26925:44:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26913:56:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":989,"nodeType":"ExpressionStatement","src":"26913:56:0"},{"expression":{"id":992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":990,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"26983:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":991,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27001:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26983:27:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":993,"nodeType":"ExpressionStatement","src":"26983:27:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":994,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27029:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":995,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"27041:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27029:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":997,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":950,"src":"27059:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27029:37:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1002,"nodeType":"IfStatement","src":"27025:59:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":999,"name":"INVALID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3008,"src":"27075:7:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27075:9:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1001,"nodeType":"RevertStatement","src":"27068:16:0"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1003,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27103:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1004,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"27113:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27103:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1047,"nodeType":"Block","src":"27254:423:0","statements":[{"assignments":[1018],"declarations":[{"constant":false,"id":1018,"mutability":"mutable","name":"balanceBeforeFee","nameLocation":"27280:16:0","nodeType":"VariableDeclaration","scope":1047,"src":"27272:24:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1017,"name":"uint256","nodeType":"ElementaryTypeName","src":"27272:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1023,"initialValue":{"arguments":[{"id":1020,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27311:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1021,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27319:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":1019,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"27299:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27299:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27272:56:0"},{"expression":{"arguments":[{"id":1025,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27366:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1027,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"27394:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27398:6:0","memberName":"sender","nodeType":"MemberAccess","src":"27394:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1029,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27410:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":1030,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27428:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1026,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"27374:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["27388:4:0","27406:2:0","27420:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"27374:65:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1024,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27346:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27346:94:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1033,"nodeType":"ExpressionStatement","src":"27346:94:0"},{"assignments":[1035],"declarations":[{"constant":false,"id":1035,"mutability":"mutable","name":"balanceAfterFee","nameLocation":"27466:15:0","nodeType":"VariableDeclaration","scope":1047,"src":"27458:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1034,"name":"uint256","nodeType":"ElementaryTypeName","src":"27458:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1040,"initialValue":{"arguments":[{"id":1037,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27496:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1038,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27504:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":1036,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"27484:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27484:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27458:55:0"},{"expression":{"id":1045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1041,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27616:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1042,"name":"balanceAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1035,"src":"27628:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":1043,"name":"balanceBeforeFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1018,"src":"27646:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27628:34:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27616:46:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1046,"nodeType":"ExpressionStatement","src":"27616:46:0"}]},"id":1048,"nodeType":"IfStatement","src":"27099:578:0","trueBody":{"id":1016,"nodeType":"Block","src":"27121:127:0","statements":[{"expression":{"arguments":[{"id":1007,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27159:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1009,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"27187:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27191:6:0","memberName":"sender","nodeType":"MemberAccess","src":"27187:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1011,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27203:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":1012,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27221:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1008,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"27167:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["27181:4:0","27199:2:0","27213:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"27167:65:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1006,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27139:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27139:94:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1015,"nodeType":"ExpressionStatement","src":"27139:94:0"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1051,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27701:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1052,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"27711:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27701:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1107,"nodeType":"Block","src":"27889:501:0","statements":[{"assignments":[1069],"declarations":[{"constant":false,"id":1069,"mutability":"mutable","name":"balanceBeforeFundingPool","nameLocation":"27911:24:0","nodeType":"VariableDeclaration","scope":1107,"src":"27903:32:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1068,"name":"uint256","nodeType":"ElementaryTypeName","src":"27903:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1077,"initialValue":{"arguments":[{"id":1071,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27950:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1074,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"27966:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1073,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27958:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1072,"name":"address","nodeType":"ElementaryTypeName","src":"27958:7:0","typeDescriptions":{}}},"id":1075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27958:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1070,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"27938:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27938:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27903:74:0"},{"expression":{"arguments":[{"id":1079,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"28028:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1081,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"28056:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28060:6:0","memberName":"sender","nodeType":"MemberAccess","src":"28056:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1085,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"28080:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28072:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1083,"name":"address","nodeType":"ElementaryTypeName","src":"28072:7:0","typeDescriptions":{}}},"id":1086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28072:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1087,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28100:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1080,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"28036:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["28050:4:0","28068:2:0","28092:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"28036:80:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1078,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27991:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27991:139:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1090,"nodeType":"ExpressionStatement","src":"27991:139:0"},{"assignments":[1092],"declarations":[{"constant":false,"id":1092,"mutability":"mutable","name":"balanceAfterFundingPool","nameLocation":"28152:23:0","nodeType":"VariableDeclaration","scope":1107,"src":"28144:31:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1091,"name":"uint256","nodeType":"ElementaryTypeName","src":"28144:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1100,"initialValue":{"arguments":[{"id":1094,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"28190:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1097,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"28206:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1096,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28198:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1095,"name":"address","nodeType":"ElementaryTypeName","src":"28198:7:0","typeDescriptions":{}}},"id":1098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28198:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1093,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"28178:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28178:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28144:73:0"},{"expression":{"id":1105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1101,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28312:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1102,"name":"balanceAfterFundingPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1092,"src":"28329:23:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":1103,"name":"balanceBeforeFundingPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1069,"src":"28355:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28329:50:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28312:67:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1106,"nodeType":"ExpressionStatement","src":"28312:67:0"}]},"id":1108,"nodeType":"IfStatement","src":"27697:693:0","trueBody":{"id":1067,"nodeType":"Block","src":"27719:164:0","statements":[{"expression":{"arguments":[{"id":1055,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27770:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1057,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"27798:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27802:6:0","memberName":"sender","nodeType":"MemberAccess","src":"27798:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1061,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"27822:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1060,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27814:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1059,"name":"address","nodeType":"ElementaryTypeName","src":"27814:7:0","typeDescriptions":{}}},"id":1062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27814:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1063,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"27842:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1056,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"27778:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["27792:4:0","27810:2:0","27834:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"27778:80:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1054,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27733:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27733:139:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1066,"nodeType":"ExpressionStatement","src":"27733:139:0"}]}},{"expression":{"arguments":[{"id":1112,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28429:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1109,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"28400:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":1111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28410:18:0","memberName":"increasePoolAmount","nodeType":"MemberAccess","referencedDeclaration":2908,"src":"28400:28:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":1113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28400:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1114,"nodeType":"ExpressionStatement","src":"28400:44:0"},{"eventCall":{"arguments":[{"id":1116,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":952,"src":"28471:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1117,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28480:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1118,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"28496:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1115,"name":"PoolFunded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2353,"src":"28460:10:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":1119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28460:46:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1120,"nodeType":"EmitStatement","src":"28455:51:0"}]},"documentation":{"id":948,"nodeType":"StructuredDocumentation","src":"26316:313:0","text":"@notice Fund a pool.\n @dev Deducts the fee and transfers the amount to the distribution strategy.\n Emits a 'PoolFunded' event.\n @param _amount The amount to transfer\n @param _poolId The 'poolId' for the pool you are funding\n @param _strategy The address of the strategy"},"implemented":true,"kind":"function","modifiers":[],"name":"_fundPool","nameLocation":"26643:9:0","parameters":{"id":956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":950,"mutability":"mutable","name":"_amount","nameLocation":"26661:7:0","nodeType":"VariableDeclaration","scope":1122,"src":"26653:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":949,"name":"uint256","nodeType":"ElementaryTypeName","src":"26653:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":952,"mutability":"mutable","name":"_poolId","nameLocation":"26678:7:0","nodeType":"VariableDeclaration","scope":1122,"src":"26670:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":951,"name":"uint256","nodeType":"ElementaryTypeName","src":"26670:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":955,"mutability":"mutable","name":"_strategy","nameLocation":"26697:9:0","nodeType":"VariableDeclaration","scope":1122,"src":"26687:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":954,"nodeType":"UserDefinedTypeName","pathNode":{"id":953,"name":"IStrategy","nameLocations":["26687:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"26687:9:0"},"referencedDeclaration":2969,"src":"26687:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"}],"src":"26652:55:0"},"returnParameters":{"id":957,"nodeType":"ParameterList","parameters":[],"src":"26717:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1135,"nodeType":"FunctionDefinition","src":"28898:132:0","nodes":[],"body":{"id":1134,"nodeType":"Block","src":"28976:54:0","nodes":[],"statements":[{"expression":{"baseExpression":{"id":1130,"name":"cloneableStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"28993:19:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":1132,"indexExpression":{"id":1131,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1125,"src":"29013:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28993:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1129,"id":1133,"nodeType":"Return","src":"28986:37:0"}]},"documentation":{"id":1123,"nodeType":"StructuredDocumentation","src":"28519:374:0","text":"@notice Checks if the strategy is an approved cloneable strategy.\n @dev Internal function used by createPoolwithCustomStrategy and createPool to\n determine if a strategy is in the cloneable strategy allow list.\n @param _strategy The address of the strategy\n @return This will return 'true' if the strategy is cloneable, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isCloneableStrategy","nameLocation":"28907:20:0","parameters":{"id":1126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1125,"mutability":"mutable","name":"_strategy","nameLocation":"28936:9:0","nodeType":"VariableDeclaration","scope":1135,"src":"28928:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1124,"name":"address","nodeType":"ElementaryTypeName","src":"28928:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28927:19:0"},"returnParameters":{"id":1129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1128,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1135,"src":"28970:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1127,"name":"bool","nodeType":"ElementaryTypeName","src":"28970:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28969:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":1154,"nodeType":"FunctionDefinition","src":"29346:153:0","nodes":[],"body":{"id":1153,"nodeType":"Block","src":"29432:67:0","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":1146,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"29457:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1148,"indexExpression":{"id":1147,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1138,"src":"29463:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29457:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":1149,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29472:9:0","memberName":"adminRole","nodeType":"MemberAccess","referencedDeclaration":2318,"src":"29457:24:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1150,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1140,"src":"29483:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1145,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52456,"src":"29449:7:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29449:43:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1144,"id":1152,"nodeType":"Return","src":"29442:50:0"}]},"documentation":{"id":1136,"nodeType":"StructuredDocumentation","src":"29036:305:0","text":"@notice Checks if the address is a pool admin\n @dev Internal function used to determine if an address is a pool admin\n @param _poolId The ID of the pool\n @param _address The address to check\n @return This will return 'true' if the address is a pool admin, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isPoolAdmin","nameLocation":"29355:12:0","parameters":{"id":1141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1138,"mutability":"mutable","name":"_poolId","nameLocation":"29376:7:0","nodeType":"VariableDeclaration","scope":1154,"src":"29368:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1137,"name":"uint256","nodeType":"ElementaryTypeName","src":"29368:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1140,"mutability":"mutable","name":"_address","nameLocation":"29393:8:0","nodeType":"VariableDeclaration","scope":1154,"src":"29385:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1139,"name":"address","nodeType":"ElementaryTypeName","src":"29385:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29367:35:0"},"returnParameters":{"id":1144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1143,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1154,"src":"29426:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1142,"name":"bool","nodeType":"ElementaryTypeName","src":"29426:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29425:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":1178,"nodeType":"FunctionDefinition","src":"29821:192:0","nodes":[],"body":{"id":1177,"nodeType":"Block","src":"29909:104:0","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"baseExpression":{"id":1165,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"29934:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1167,"indexExpression":{"id":1166,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1157,"src":"29940:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29934:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":1168,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29949:11:0","memberName":"managerRole","nodeType":"MemberAccess","referencedDeclaration":2316,"src":"29934:26:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1169,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1159,"src":"29962:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1164,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52456,"src":"29926:7:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29926:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":1172,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1157,"src":"29988:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1173,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1159,"src":"29997:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1171,"name":"_isPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1154,"src":"29975:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":1174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29975:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"29926:80:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1163,"id":1176,"nodeType":"Return","src":"29919:87:0"}]},"documentation":{"id":1155,"nodeType":"StructuredDocumentation","src":"29505:311:0","text":"@notice Checks if the address is a pool manager\n @dev Internal function used to determine if an address is a pool manager\n @param _poolId The ID of the pool\n @param _address The address to check\n @return This will return 'true' if the address is a pool manager, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isPoolManager","nameLocation":"29830:14:0","parameters":{"id":1160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1157,"mutability":"mutable","name":"_poolId","nameLocation":"29853:7:0","nodeType":"VariableDeclaration","scope":1178,"src":"29845:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1156,"name":"uint256","nodeType":"ElementaryTypeName","src":"29845:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1159,"mutability":"mutable","name":"_address","nameLocation":"29870:8:0","nodeType":"VariableDeclaration","scope":1178,"src":"29862:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1158,"name":"address","nodeType":"ElementaryTypeName","src":"29862:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29844:35:0"},"returnParameters":{"id":1163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1162,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1178,"src":"29903:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1161,"name":"bool","nodeType":"ElementaryTypeName","src":"29903:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29902:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":1205,"nodeType":"FunctionDefinition","src":"30226:203:0","nodes":[],"body":{"id":1204,"nodeType":"Block","src":"30279:150:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1184,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1181,"src":"30293:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30314:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30306:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1185,"name":"address","nodeType":"ElementaryTypeName","src":"30306:7:0","typeDescriptions":{}}},"id":1188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30306:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"30293:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1193,"nodeType":"IfStatement","src":"30289:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1190,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"30325:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30325:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1192,"nodeType":"RevertStatement","src":"30318:21:0"}},{"expression":{"id":1198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1194,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"30350:8:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":1196,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1181,"src":"30371:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1195,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"30361:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistry_$2802_$","typeString":"type(contract IRegistry)"}},"id":1197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30361:20:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"src":"30350:31:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":1199,"nodeType":"ExpressionStatement","src":"30350:31:0"},{"eventCall":{"arguments":[{"id":1201,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1181,"src":"30412:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1200,"name":"RegistryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2380,"src":"30396:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":1202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30396:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1203,"nodeType":"EmitStatement","src":"30391:31:0"}]},"documentation":{"id":1179,"nodeType":"StructuredDocumentation","src":"30019:202:0","text":"@notice Updates the registry address\n @dev Internal function used to update the registry address.\n Emits a RegistryUpdated event.\n @param _registry The new registry address"},"implemented":true,"kind":"function","modifiers":[],"name":"_updateRegistry","nameLocation":"30235:15:0","parameters":{"id":1182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1181,"mutability":"mutable","name":"_registry","nameLocation":"30259:9:0","nodeType":"VariableDeclaration","scope":1205,"src":"30251:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1180,"name":"address","nodeType":"ElementaryTypeName","src":"30251:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30250:19:0"},"returnParameters":{"id":1183,"nodeType":"ParameterList","parameters":[],"src":"30279:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1230,"nodeType":"FunctionDefinition","src":"30642:199:0","nodes":[],"body":{"id":1229,"nodeType":"Block","src":"30703:138:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1211,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1208,"src":"30717:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30738:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1213,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30730:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1212,"name":"address","nodeType":"ElementaryTypeName","src":"30730:7:0","typeDescriptions":{}}},"id":1215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30730:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"30717:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1220,"nodeType":"IfStatement","src":"30713:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1217,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"30749:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30749:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1219,"nodeType":"RevertStatement","src":"30742:21:0"}},{"expression":{"id":1223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1221,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"30774:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1222,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1208,"src":"30785:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"30774:20:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":1224,"nodeType":"ExpressionStatement","src":"30774:20:0"},{"eventCall":{"arguments":[{"id":1226,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"30825:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":1225,"name":"TreasuryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2365,"src":"30809:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":1227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30809:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1228,"nodeType":"EmitStatement","src":"30804:30:0"}]},"documentation":{"id":1206,"nodeType":"StructuredDocumentation","src":"30435:202:0","text":"@notice Updates the treasury address\n @dev Internal function used to update the treasury address.\n Emits a TreasuryUpdated event.\n @param _treasury The new treasury address"},"implemented":true,"kind":"function","modifiers":[],"name":"_updateTreasury","nameLocation":"30651:15:0","parameters":{"id":1209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1208,"mutability":"mutable","name":"_treasury","nameLocation":"30683:9:0","nodeType":"VariableDeclaration","scope":1230,"src":"30667:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":1207,"name":"address","nodeType":"ElementaryTypeName","src":"30667:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"30666:27:0"},"returnParameters":{"id":1210,"nodeType":"ParameterList","parameters":[],"src":"30703:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1252,"nodeType":"FunctionDefinition","src":"31041:198:0","nodes":[],"body":{"id":1251,"nodeType":"Block","src":"31098:141:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1236,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1233,"src":"31112:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31653138","id":1237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31126:4:0","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"31112:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1242,"nodeType":"IfStatement","src":"31108:44:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1239,"name":"INVALID_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3041,"src":"31139:11:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31139:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1241,"nodeType":"RevertStatement","src":"31132:20:0"}},{"expression":{"id":1245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1243,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"31163:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1244,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1233,"src":"31176:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31163:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1246,"nodeType":"ExpressionStatement","src":"31163:24:0"},{"eventCall":{"arguments":[{"id":1248,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"31221:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1247,"name":"PercentFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2370,"src":"31203:17:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":1249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31203:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1250,"nodeType":"EmitStatement","src":"31198:34:0"}]},"documentation":{"id":1231,"nodeType":"StructuredDocumentation","src":"30847:189:0","text":"@notice Updates the fee percentage\n @dev Internal function used to update the percentage fee.\n Emits a PercentFeeUpdated event.\n @param _percentFee The new fee"},"implemented":true,"kind":"function","modifiers":[],"name":"_updatePercentFee","nameLocation":"31050:17:0","parameters":{"id":1234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1233,"mutability":"mutable","name":"_percentFee","nameLocation":"31076:11:0","nodeType":"VariableDeclaration","scope":1252,"src":"31068:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1232,"name":"uint256","nodeType":"ElementaryTypeName","src":"31068:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31067:21:0"},"returnParameters":{"id":1235,"nodeType":"ParameterList","parameters":[],"src":"31098:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1267,"nodeType":"FunctionDefinition","src":"31426:125:0","nodes":[],"body":{"id":1266,"nodeType":"Block","src":"31477:74:0","nodes":[],"statements":[{"expression":{"id":1260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1258,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"31487:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1259,"name":"_baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1255,"src":"31497:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31487:18:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1261,"nodeType":"ExpressionStatement","src":"31487:18:0"},{"eventCall":{"arguments":[{"id":1263,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"31536:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1262,"name":"BaseFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2375,"src":"31521:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":1264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31521:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1265,"nodeType":"EmitStatement","src":"31516:28:0"}]},"documentation":{"id":1253,"nodeType":"StructuredDocumentation","src":"31245:176:0","text":"@notice Updates the base fee\n @dev Internal function used to update the base fee.\n Emits a BaseFeeUpdated event.\n @param _baseFee The new base fee"},"implemented":true,"kind":"function","modifiers":[],"name":"_updateBaseFee","nameLocation":"31435:14:0","parameters":{"id":1256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1255,"mutability":"mutable","name":"_baseFee","nameLocation":"31458:8:0","nodeType":"VariableDeclaration","scope":1267,"src":"31450:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1254,"name":"uint256","nodeType":"ElementaryTypeName","src":"31450:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31449:18:0"},"returnParameters":{"id":1257,"nodeType":"ParameterList","parameters":[],"src":"31477:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1276,"nodeType":"FunctionDefinition","src":"31788:103:0","nodes":[],"body":{"id":1275,"nodeType":"Block","src":"31863:28:0","nodes":[],"statements":[{"expression":{"hexValue":"31653138","id":1273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31880:4:0","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"functionReturnParameters":1272,"id":1274,"nodeType":"Return","src":"31873:11:0"}]},"baseFunctions":[2609],"documentation":{"id":1268,"nodeType":"StructuredDocumentation","src":"31657:126:0","text":"@notice Getter for the fee denominator\n @return FEE_DENOMINATOR The fee denominator is (1e18) which represents 100%"},"functionSelector":"f4e1fc41","implemented":true,"kind":"function","modifiers":[],"name":"getFeeDenominator","nameLocation":"31797:17:0","parameters":{"id":1269,"nodeType":"ParameterList","parameters":[],"src":"31814:2:0"},"returnParameters":{"id":1272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1271,"mutability":"mutable","name":"FEE_DENOMINATOR","nameLocation":"31846:15:0","nodeType":"VariableDeclaration","scope":1276,"src":"31838:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1270,"name":"uint256","nodeType":"ElementaryTypeName","src":"31838:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31837:25:0"},"scope":1390,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":1292,"nodeType":"FunctionDefinition","src":"32112:140:0","nodes":[],"body":{"id":1291,"nodeType":"Block","src":"32197:55:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":1287,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1279,"src":"32227:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1288,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1281,"src":"32236:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1286,"name":"_isPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1154,"src":"32214:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":1289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32214:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1285,"id":1290,"nodeType":"Return","src":"32207:38:0"}]},"baseFunctions":[2543],"documentation":{"id":1277,"nodeType":"StructuredDocumentation","src":"31897:210:0","text":"@notice Checks if the address is a pool admin.\n @param _poolId The ID of the pool\n @param _address The address to check\n @return 'true' if the address is a pool admin, otherwise 'false'"},"functionSelector":"ab3febc6","implemented":true,"kind":"function","modifiers":[],"name":"isPoolAdmin","nameLocation":"32121:11:0","parameters":{"id":1282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1279,"mutability":"mutable","name":"_poolId","nameLocation":"32141:7:0","nodeType":"VariableDeclaration","scope":1292,"src":"32133:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1278,"name":"uint256","nodeType":"ElementaryTypeName","src":"32133:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1281,"mutability":"mutable","name":"_address","nameLocation":"32158:8:0","nodeType":"VariableDeclaration","scope":1292,"src":"32150:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1280,"name":"address","nodeType":"ElementaryTypeName","src":"32150:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32132:35:0"},"returnParameters":{"id":1285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1284,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1292,"src":"32191:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1283,"name":"bool","nodeType":"ElementaryTypeName","src":"32191:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32190:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1308,"nodeType":"FunctionDefinition","src":"32476:144:0","nodes":[],"body":{"id":1307,"nodeType":"Block","src":"32563:57:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":1303,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1295,"src":"32595:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1304,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1297,"src":"32604:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1302,"name":"_isPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1178,"src":"32580:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":1305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32580:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1301,"id":1306,"nodeType":"Return","src":"32573:40:0"}]},"baseFunctions":[2553],"documentation":{"id":1293,"nodeType":"StructuredDocumentation","src":"32258:213:0","text":"@notice Checks if the address is a pool manager\n @param _poolId The ID of the pool\n @param _address The address to check\n @return 'true' if the address is a pool manager, otherwise 'false'"},"functionSelector":"29e40d4b","implemented":true,"kind":"function","modifiers":[],"name":"isPoolManager","nameLocation":"32485:13:0","parameters":{"id":1298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1295,"mutability":"mutable","name":"_poolId","nameLocation":"32507:7:0","nodeType":"VariableDeclaration","scope":1308,"src":"32499:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1294,"name":"uint256","nodeType":"ElementaryTypeName","src":"32499:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1297,"mutability":"mutable","name":"_address","nameLocation":"32524:8:0","nodeType":"VariableDeclaration","scope":1308,"src":"32516:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1296,"name":"address","nodeType":"ElementaryTypeName","src":"32516:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32498:35:0"},"returnParameters":{"id":1301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1308,"src":"32557:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1299,"name":"bool","nodeType":"ElementaryTypeName","src":"32557:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32556:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1325,"nodeType":"FunctionDefinition","src":"32753:126:0","nodes":[],"body":{"id":1324,"nodeType":"Block","src":"32823:56:0","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":1318,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"32848:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1320,"indexExpression":{"id":1319,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1311,"src":"32854:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32848:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":1321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32863:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"32848:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32840:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1316,"name":"address","nodeType":"ElementaryTypeName","src":"32840:7:0","typeDescriptions":{}}},"id":1322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32840:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1315,"id":1323,"nodeType":"Return","src":"32833:39:0"}]},"baseFunctions":[2569],"documentation":{"id":1309,"nodeType":"StructuredDocumentation","src":"32626:122:0","text":"@notice Getter for the strategy.\n @param _poolId The ID of the pool\n @return The address of the strategy"},"functionSelector":"cfc0cc34","implemented":true,"kind":"function","modifiers":[],"name":"getStrategy","nameLocation":"32762:11:0","parameters":{"id":1312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1311,"mutability":"mutable","name":"_poolId","nameLocation":"32782:7:0","nodeType":"VariableDeclaration","scope":1325,"src":"32774:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1310,"name":"uint256","nodeType":"ElementaryTypeName","src":"32774:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32773:17:0"},"returnParameters":{"id":1315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1314,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1325,"src":"32814:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1313,"name":"address","nodeType":"ElementaryTypeName","src":"32814:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32813:9:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1334,"nodeType":"FunctionDefinition","src":"32977:91:0","nodes":[],"body":{"id":1333,"nodeType":"Block","src":"33034:34:0","nodes":[],"statements":[{"expression":{"id":1331,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"33051:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1330,"id":1332,"nodeType":"Return","src":"33044:17:0"}]},"baseFunctions":[2575],"documentation":{"id":1326,"nodeType":"StructuredDocumentation","src":"32885:87:0","text":"@notice Getter for fee percentage.\n @return The fee percentage (1e18 = 100%)"},"functionSelector":"4edbaadc","implemented":true,"kind":"function","modifiers":[],"name":"getPercentFee","nameLocation":"32986:13:0","parameters":{"id":1327,"nodeType":"ParameterList","parameters":[],"src":"32999:2:0"},"returnParameters":{"id":1330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1329,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1334,"src":"33025:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1328,"name":"uint256","nodeType":"ElementaryTypeName","src":"33025:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33024:9:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1343,"nodeType":"FunctionDefinition","src":"33140:85:0","nodes":[],"body":{"id":1342,"nodeType":"Block","src":"33194:31:0","nodes":[],"statements":[{"expression":{"id":1340,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"33211:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1339,"id":1341,"nodeType":"Return","src":"33204:14:0"}]},"baseFunctions":[2581],"documentation":{"id":1335,"nodeType":"StructuredDocumentation","src":"33074:61:0","text":"@notice Getter for base fee.\n @return The base fee"},"functionSelector":"15e812ad","implemented":true,"kind":"function","modifiers":[],"name":"getBaseFee","nameLocation":"33149:10:0","parameters":{"id":1336,"nodeType":"ParameterList","parameters":[],"src":"33159:2:0"},"returnParameters":{"id":1339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1338,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1343,"src":"33185:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1337,"name":"uint256","nodeType":"ElementaryTypeName","src":"33185:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33184:9:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1352,"nodeType":"FunctionDefinition","src":"33313:95:0","nodes":[],"body":{"id":1351,"nodeType":"Block","src":"33376:32:0","nodes":[],"statements":[{"expression":{"id":1349,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"33393:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":1348,"id":1350,"nodeType":"Return","src":"33386:15:0"}]},"baseFunctions":[2587],"documentation":{"id":1344,"nodeType":"StructuredDocumentation","src":"33231:77:0","text":"@notice Getter for treasury address.\n @return The treasury address"},"functionSelector":"3b19e84a","implemented":true,"kind":"function","modifiers":[],"name":"getTreasury","nameLocation":"33322:11:0","parameters":{"id":1345,"nodeType":"ParameterList","parameters":[],"src":"33333:2:0"},"returnParameters":{"id":1348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1347,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1352,"src":"33359:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":1346,"name":"address","nodeType":"ElementaryTypeName","src":"33359:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"33358:17:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1362,"nodeType":"FunctionDefinition","src":"33488:89:0","nodes":[],"body":{"id":1361,"nodeType":"Block","src":"33545:32:0","nodes":[],"statements":[{"expression":{"id":1359,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"33562:8:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"functionReturnParameters":1358,"id":1360,"nodeType":"Return","src":"33555:15:0"}]},"baseFunctions":[2594],"documentation":{"id":1353,"nodeType":"StructuredDocumentation","src":"33414:69:0","text":"@notice Getter for registry.\n @return The registry address"},"functionSelector":"5ab1bd53","implemented":true,"kind":"function","modifiers":[],"name":"getRegistry","nameLocation":"33497:11:0","parameters":{"id":1354,"nodeType":"ParameterList","parameters":[],"src":"33508:2:0"},"returnParameters":{"id":1358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1357,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1362,"src":"33534:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":1356,"nodeType":"UserDefinedTypeName","pathNode":{"id":1355,"name":"IRegistry","nameLocations":["33534:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"33534:9:0"},"referencedDeclaration":2802,"src":"33534:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"}],"src":"33533:11:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1375,"nodeType":"FunctionDefinition","src":"33760:132:0","nodes":[],"body":{"id":1374,"nodeType":"Block","src":"33837:55:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":1371,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1365,"src":"33875:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1370,"name":"_isCloneableStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"33854:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":1372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33854:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1369,"id":1373,"nodeType":"Return","src":"33847:38:0"}]},"baseFunctions":[2561],"documentation":{"id":1363,"nodeType":"StructuredDocumentation","src":"33583:172:0","text":"@notice Getter for if strategy is cloneable.\n @param _strategy The address of the strategy\n @return 'true' if the strategy is cloneable, otherwise 'false'"},"functionSelector":"ab2ec589","implemented":true,"kind":"function","modifiers":[],"name":"isCloneableStrategy","nameLocation":"33769:19:0","parameters":{"id":1366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1365,"mutability":"mutable","name":"_strategy","nameLocation":"33797:9:0","nodeType":"VariableDeclaration","scope":1375,"src":"33789:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1364,"name":"address","nodeType":"ElementaryTypeName","src":"33789:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"33788:19:0"},"returnParameters":{"id":1369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1368,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1375,"src":"33831:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1367,"name":"bool","nodeType":"ElementaryTypeName","src":"33831:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33830:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1389,"nodeType":"FunctionDefinition","src":"34013:108:0","nodes":[],"body":{"id":1388,"nodeType":"Block","src":"34083:38:0","nodes":[],"statements":[{"expression":{"baseExpression":{"id":1384,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"34100:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1386,"indexExpression":{"id":1385,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1378,"src":"34106:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34100:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"functionReturnParameters":1383,"id":1387,"nodeType":"Return","src":"34093:21:0"}]},"baseFunctions":[2603],"documentation":{"id":1376,"nodeType":"StructuredDocumentation","src":"33898:110:0","text":"@notice Getter for the 'Pool'.\n @param _poolId The ID of the pool\n @return The 'Pool' struct"},"functionSelector":"068bcd8d","implemented":true,"kind":"function","modifiers":[],"name":"getPool","nameLocation":"34022:7:0","parameters":{"id":1379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1378,"mutability":"mutable","name":"_poolId","nameLocation":"34038:7:0","nodeType":"VariableDeclaration","scope":1389,"src":"34030:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1377,"name":"uint256","nodeType":"ElementaryTypeName","src":"34030:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34029:17:0"},"returnParameters":{"id":1383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1382,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1389,"src":"34070:11:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":1381,"nodeType":"UserDefinedTypeName","pathNode":{"id":1380,"name":"Pool","nameLocations":["34070:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"34070:4:0"},"referencedDeclaration":2319,"src":"34070:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"src":"34069:13:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":16,"name":"IAllo","nameLocations":["5097:5:0"],"nodeType":"IdentifierPath","referencedDeclaration":2610,"src":"5097:5:0"},"id":17,"nodeType":"InheritanceSpecifier","src":"5097:5:0"},{"baseName":{"id":18,"name":"Native","nameLocations":["5108:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"5108:6:0"},"id":19,"nodeType":"InheritanceSpecifier","src":"5108:6:0"},{"baseName":{"id":20,"name":"Transfer","nameLocations":["5120:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3317,"src":"5120:8:0"},"id":21,"nodeType":"InheritanceSpecifier","src":"5120:8:0"},{"baseName":{"id":22,"name":"Initializable","nameLocations":["5134:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":53152,"src":"5134:13:0"},"id":23,"nodeType":"InheritanceSpecifier","src":"5134:13:0"},{"baseName":{"id":24,"name":"Ownable","nameLocations":["5153:7:0"],"nodeType":"IdentifierPath","referencedDeclaration":4095,"src":"5153:7:0"},"id":25,"nodeType":"InheritanceSpecifier","src":"5153:7:0"},{"baseName":{"id":26,"name":"AccessControlUpgradeable","nameLocations":["5166:24:0"],"nodeType":"IdentifierPath","referencedDeclaration":52697,"src":"5166:24:0"},"id":27,"nodeType":"InheritanceSpecifier","src":"5166:24:0"},{"baseName":{"id":28,"name":"ReentrancyGuardUpgradeable","nameLocations":["5196:26:0"],"nodeType":"IdentifierPath","referencedDeclaration":53237,"src":"5196:26:0"},"id":29,"nodeType":"InheritanceSpecifier","src":"5196:26:0"},{"baseName":{"id":30,"name":"Errors","nameLocations":["5228:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":3089,"src":"5228:6:0"},"id":31,"nodeType":"InheritanceSpecifier","src":"5228:6:0"}],"canonicalName":"Allo","contractDependencies":[],"contractKind":"contract","documentation":{"id":15,"nodeType":"StructuredDocumentation","src":"4725:351:0","text":"@title Allo\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice This contract is used to create & manage pools as well as manage the protocol.\n @dev The contract must be initialized with the 'initialize()' function."},"fullyImplemented":true,"linearizedBaseContracts":[1390,3089,53237,52697,53970,53982,52770,53696,4095,53152,3317,3106,2610],"name":"Allo","nameLocation":"5085:4:0","scope":1391,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,3929,3932,3935]}],"license":"AGPL-3.0-only"},"id":0} \ No newline at end of file +{"abi":[{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"addPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addToCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocate","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"batchAllocate","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_datas","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchRegisterRecipient","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_data","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"recipientIds","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"cancelOwnershipHandover","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"completeOwnershipHandover","inputs":[{"name":"pendingOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"createPool","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_strategy","type":"address","internalType":"address"},{"name":"_initStrategyData","type":"bytes","internalType":"bytes"},{"name":"_token","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"createPoolWithCustomStrategy","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_strategy","type":"address","internalType":"address"},{"name":"_initStrategyData","type":"bytes","internalType":"bytes"},{"name":"_token","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"distribute","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_recipientIds","type":"address[]","internalType":"address[]"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fundPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"getBaseFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFeeDenominator","inputs":[],"outputs":[{"name":"FEE_DENOMINATOR","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"getPercentFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStrategy","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getTreasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_registry","type":"address","internalType":"address"},{"name":"_treasury","type":"address","internalType":"address payable"},{"name":"_percentFee","type":"uint256","internalType":"uint256"},{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCloneableStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolAdmin","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"result","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownershipHandoverExpiresAt","inputs":[{"name":"pendingOwner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRecipient","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"payable"},{"type":"function","name":"removeFromCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removePoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"requestOwnershipHandover","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"updateBaseFee","inputs":[{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePercentFee","inputs":[{"name":"_percentFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePoolMetadata","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateRegistry","inputs":[{"name":"_registry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTreasury","inputs":[{"name":"_treasury","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"BaseFeePaid","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BaseFeeUpdated","inputs":[{"name":"baseFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipHandoverCanceled","inputs":[{"name":"pendingOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipHandoverRequested","inputs":[{"name":"pendingOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"oldOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PercentFeeUpdated","inputs":[{"name":"percentFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolCreated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"strategy","type":"address","indexed":false,"internalType":"contract IStrategy"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"PoolFunded","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolMetadataUpdated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RegistryUpdated","inputs":[{"name":"registry","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyApproved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TreasuryUpdated","inputs":[{"name":"treasury","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"AMOUNT_MISMATCH","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"NewOwnerIsZeroAddress","inputs":[]},{"type":"error","name":"NoHandoverRequest","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50613183806100206000396000f3fe6080604052600436106101f75760003560e01c806301ffc9a7146101fc578063031e2fa114610231578063068bcd8d14610253578063075c0e9c1461028057806315e812ad146102a05780631a20bd88146102bf5780631a5da6c8146102ec578063248a9ca31461030c57806324ae6a271461032c578063256929621461034c57806329e40d4b146103545780632cf682b0146103745780632ec38188146103945780632f2ff15d146103a757806336568abe146103c75780633a5fbd92146103e75780633b19e84a1461040757806341bba0b4146104255780634edbaadc1461044557806354d1f13d1461045a5780635ab1bd53146104625780635acd6fac146104805780635f9ca13814610493578063715018a6146104b357806377da8caf146104bb5780637f51bb1f146104ce5780637f5a70bd146104ee5780638da5cb5b1461050e5780638e6901861461052757806391d1485414610547578063a0cf0aea14610567578063a217fddf1461058f578063a6b63eb8146105a4578063ab2ec589146105c4578063ab3febc6146105e4578063c6dff1cf14610604578063cfc0cc3414610624578063d547741f1461065d578063e1007d4a1461067d578063f04e283e14610690578063f2fde38b146106a3578063f4e1fc41146106b6578063f54fc4a0146106d1578063fee81cf4146106f1575b600080fd5b34801561020857600080fd5b5061021c6102173660046125af565b610724565b60405190151581526020015b60405180910390f35b34801561023d57600080fd5b5061025161024c3660046125ee565b61075b565b005b34801561025f57600080fd5b5061027361026e36600461260b565b6107be565b6040516102289190612693565b61029361028e3660046127b8565b6108d1565b60405161022891906127fe565b3480156102ac57600080fd5b5060ca545b604051908152602001610228565b3480156102cb57600080fd5b506102df6102da3660046128c4565b61096e565b60405161022891906129b6565b3480156102f857600080fd5b506102516103073660046125ee565b610af4565b34801561031857600080fd5b506102b161032736600461260b565b610b08565b34801561033857600080fd5b506102516103473660046129c9565b610b1d565b610251610bd1565b34801561036057600080fd5b5061021c61036f366004612a02565b610c20565b34801561038057600080fd5b5061025161038f366004612a02565b610c33565b6102516103a23660046127b8565b610c80565b3480156103b357600080fd5b506102516103c2366004612a02565b610ca0565b3480156103d357600080fd5b506102516103e2366004612a02565b610cbc565b3480156103f357600080fd5b50610251610402366004612a8b565b610d3b565b34801561041357600080fd5b5060cc546001600160a01b0316610293565b34801561043157600080fd5b506102516104403660046125ee565b610dc3565b34801561045157600080fd5b5060c9546102b1565b610251610e45565b34801561046e57600080fd5b5060cd546001600160a01b0316610293565b61025161048e366004612af7565b610e81565b34801561049f57600080fd5b506102516104ae366004612b9b565b611018565b610251611095565b6102b16104c9366004612bd7565b6110a9565b3480156104da57600080fd5b506102516104e93660046125ee565b61112c565b3480156104fa57600080fd5b50610251610509366004612a02565b61113d565b34801561051a57600080fd5b50638b78c6d81954610293565b34801561053357600080fd5b5061025161054236600461260b565b611163565b34801561055357600080fd5b5061021c610562366004612a02565b611174565b34801561057357600080fd5b5061029373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561059b57600080fd5b506102b1600081565b3480156105b057600080fd5b506102516105bf366004612c99565b61119f565b3480156105d057600080fd5b5061021c6105df3660046125ee565b6112ae565b3480156105f057600080fd5b5061021c6105ff366004612a02565b6112b9565b34801561061057600080fd5b5061025161061f366004612cf4565b6112c5565b34801561063057600080fd5b5061029361063f36600461260b565b600090815260cf60205260409020600101546001600160a01b031690565b34801561066957600080fd5b50610251610678366004612a02565b61134a565b6102b161068b366004612bd7565b611366565b61025161069e3660046125ee565b6113d1565b6102516106b13660046125ee565b61140e565b3480156106c257600080fd5b50670de0b6b3a76400006102b1565b3480156106dd57600080fd5b506102516106ec36600461260b565b611435565b3480156106fd57600080fd5b506102b161070c3660046125ee565b63389a75e1600c908152600091909152602090205490565b60006001600160e01b03198216637965db0b60e01b148061075557506301ffc9a760e01b6001600160e01b03198316145b92915050565b610763611446565b6001600160a01b038116600090815260d0602052604090819020805460ff19169055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4906107b39083906127fe565b60405180910390a150565b6107c6612549565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b0390811682850152600283015416818501528351808501909452600382018054855260048301805492959394606087019493908401919061083090612d80565b80601f016020809104026020016040519081016040528092919081815260200182805461085c90612d80565b80156108a95780601f1061087e576101008083540402835291602001916108a9565b820191906000526020600020905b81548152906001019060200180831161088c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b60006108db611461565b600083815260cf6020526040908190206001015490516315df065760e11b81526001600160a01b0390911690632bbe0cae90349061091f9086903390600401612dba565b60206040518083038185885af115801561093d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109629190612de4565b90506107556001609755565b6060610978611461565b8251806001600160401b03811115610992576109926126fb565b6040519080825280602002602001820160405280156109bb578160200160208202803683370190505b509150825181146109df5760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610ae85760cf6000868381518110610a0057610a00612e01565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610a4d57610a4d612e01565b6020026020010151336040518363ffffffff1660e01b8152600401610a73929190612dba565b6020604051808303816000875af1158015610a92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab69190612de4565b838281518110610ac857610ac8612e01565b6001600160a01b03909216602092830291909101909101526001016109e2565b50506107556001609755565b610afc611446565b610b05816114ba565b50565b60009081526065602052604090206001015490565b610b25611446565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610bbd576040516370a0823160e01b81526001600160a01b038416906370a0823190610b779030906004016127fe565b602060405180830381865afa158015610b94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb89190612e17565b610bbf565b475b9050610bcc83838361152c565b505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610c2c8383611566565b9392505050565b81610c3d81611592565b6001600160a01b038216610c645760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610bcc90836115b9565b610c88611461565b610c92828261163f565b610c9c6001609755565b5050565b610ca982610b08565b610cb2816116b9565b610bcc83836115b9565b6001600160a01b0381163314610d315760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b610c9c82826116c3565b610d43611461565b600083815260cf602052604090819020600101549051630a6f0ee960e01b81526001600160a01b0390911690630a6f0ee990610d8790859085903390600401612e30565b600060405180830381600087803b158015610da157600080fd5b505af1158015610db5573d6000803e3d6000fd5b50505050610bcc6001609755565b610dcb611446565b6001600160a01b038116610df25760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600090815260d0602052604090819020805460ff19166001179055517f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d1906107b39083906127fe565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b610e89611461565b80600003610eaa576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b0390811682860152600283015416818401528251808401909352600382018054845260048301805492959394606087019490939084019190610f1490612d80565b80601f0160208091040260200160405190810160405280929190818152602001828054610f4090612d80565b8015610f8d5780601f10610f6257610100808354040283529160200191610f8d565b820191906000526020600020905b815481529060010190602001808311610f7057829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015610fe05750348214155b15610ffe576040516303e09bb960e31b815260040160405180910390fd5b61100d8284836020015161172a565b50610c9c6001609755565b81611022816119dc565b600083815260cf60209081526040909120835160038201908155918401519091849160048401906110539082612ebc565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf0846040516110879190612f7b565b60405180910390a250505050565b61109d611446565b6110a760006119e6565b565b60006110b3611461565b6110bc87611a12565b6110d95760405163126d324760e31b815260040160405180910390fd5b33600090815260ce602052604081208054611115928b9261110b928c9290919061110283612fa4565b91905055611a30565b8888888888611a7f565b90506111216001609755565b979650505050505050565b611134611446565b610b0581611f63565b8161114781611592565b600083815260cf6020526040902060050154610bcc90836116c3565b61116b611446565b610b0581611fd6565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600054600190610100900460ff161580156111c1575060005460ff8083169116105b6112245760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610d28565b6000805461ffff191660ff8316176101001790556112418661200b565b61124a856114ba565b61125384611f63565b61125c83612035565b61126582611fd6565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b600061075582611a12565b6000610c2c8383612093565b6112cd611461565b8051829081146112f05760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561133e5761133685858381811061131057611310612e01565b9050602002013584838151811061132957611329612e01565b602002602001015161163f565b6001016112f3565b5050610bcc6001609755565b61135382610b08565b61135c816116b9565b610bcc83836116c3565b60006001600160a01b03871661138f5760405163538ba4f960e01b815260040160405180910390fd5b61139887611a12565b156113b65760405163eeffa72160e01b815260040160405180910390fd5b6113c588888888888888611a7f565b98975050505050505050565b6113d9611446565b63389a75e1600c52806000526020600c20805442111561140157636f5e88186000526004601cfd5b60009055610b05816119e6565b611416611446565b8060601b61142c57637448fbae6000526004601cfd5b610b05816119e6565b61143d611446565b610b0581612035565b638b78c6d8195433146110a7576382b429006000526004601cfd5b6002609754036114b35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610d28565b6002609755565b6001600160a01b0381166114e15760405163538ba4f960e01b815260040160405180910390fd5b60cd80546001600160a01b0319166001600160a01b0383161790556040517fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906107b39083906127fe565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161155b57610bcc82826120af565b610bcc8383836120cb565b600082815260cf60205260408120600501546115829083611174565b80610c2c5750610c2c8383612093565b61159c8133612093565b610b055760405163075fd2b160e01b815260040160405180910390fd5b6115c38282611174565b610c9c5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556115fb3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf602052604090819020600101549051633bca483f60e21b81526001600160a01b039091169063ef2920fc9034906116839085903390600401612dba565b6000604051808303818588803b15801561169c57600080fd5b505af11580156116b0573d6000803e3d6000fd5b50505050505050565b610b058133612111565b6116cd8282611174565b15610c9c5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b0316901561187b57670de0b6b3a764000060c9546117689089612fbd565b6117729190612fd4565b935061177e8484612ff6565b92508661178b8486613009565b146117a957604051637fcce2a960e01b815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611803576040805160608101825233815260cc546001600160a01b031660208201529081018590526117fd90829061216a565b5061187b565b60cc5460009061181d9083906001600160a01b03166121e9565b6040805160608101825233815260cc546001600160a01b0316602082015290810187905290915061184f90839061216a565b5060cc5460009061186a9084906001600160a01b03166121e9565b90506118768282612ff6565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038216016118dc576118d6816040518060600160405280336001600160a01b03168152602001886001600160a01b031681526020018681525061216a565b5061193e565b60006118e882876121e9565b9050611920826040518060600160405280336001600160a01b03168152602001896001600160a01b031681526020018781525061216a565b50600061192d83886121e9565b90506119398282612ff6565b945050505b60405163f5b0dfb760e01b8152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b15801561198057600080fd5b505af1158015611994573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b61159c8133611566565b638b78c6d81980546001600160a01b0390921691829060008051602061312e833981519152600080a355565b6001600160a01b0316600090815260d0602052604090205460ff1690565b6040516001600160601b03193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611a778482612232565b949350505050565b60cd54604051635e8a791560e01b8152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611acf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611af3919061301c565b611b105760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611b1f90612fa4565b91829055506040519091508190600090611b4f9083906020019081526430b236b4b760d91b602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf8752969096208751815591516001830180549185166001600160a01b031992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611c029082612ebc565b5050506080820151600582015560a090910151600690910155611c2582336115b9565b611c2f83836122c9565b604051633b7451b360e21b81526001600160a01b038b169063edd146cc90611c5d9087908d9060040161303e565b600060405180830381600087803b158015611c7757600080fd5b505af1158015611c8b573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf29190612e17565b141580611d725750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d669190612de4565b6001600160a01b031614155b15611d905760405163636e39bb60e01b815260040160405180910390fd5b845160005b81811015611e01576000878281518110611db157611db1612e01565b6020026020010151905060006001600160a01b0316816001600160a01b031603611dee5760405163538ba4f960e01b815260040160405180910390fd5b611df886826115b9565b50600101611d95565b5060ca5415611f04576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015611e435750348860ca54611e409190613009565b14155b80611e7857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14801590611e7857503460ca5414155b15611e96576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca54611ec79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b039091169061152c565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca54604051611efb91815260200190565b60405180910390a25b8715611f1557611f1588868d61172a565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c604051611f4c9493929190613057565b60405180910390a350505050979650505050505050565b6001600160a01b038116611f8a5760405163538ba4f960e01b815260040160405180910390fd5b60cc80546001600160a01b0319166001600160a01b0383169081179091556040517f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d1916107b3916127fe565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c3906020016107b3565b6001600160a01b0316638b78c6d81981905580600060008051602061312e8339815191528180a350565b670de0b6b3a764000081111561205e57604051632fb15b8760e01b815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b065906020016107b3565b600082815260cf6020526040812060060154610c2c9083611174565b60008060008084865af1610c9c5763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d156001600051141716612107576390b8ec186000526004601cfd5b6000603452505050565b61211b8282611174565b610c9c576121288161231c565b61213383602061232e565b604051602001612144929190613094565b60408051601f198184030181529082905262461bcd60e51b8252610d2891600401613103565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038516016121cb57803410156121b8576040516374c5672b60e01b815260040160405180910390fd5b6121c68360200151826120af565b6121df565b6121df8484600001518560200151846124c9565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161222157506001600160a01b03811631610755565b61222b838361251d565b9050610755565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166107555760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606401610d28565b60006122d483610b08565b600084815260656020526040808220600101859055519192508391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606107556001600160a01b03831660145b6060600061233d836002612fbd565b612348906002613009565b6001600160401b0381111561235f5761235f6126fb565b6040519080825280601f01601f191660200182016040528015612389576020820181803683370190505b509050600360fc1b816000815181106123a4576123a4612e01565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106123d3576123d3612e01565b60200101906001600160f81b031916908160001a90535060006123f7846002612fbd565b612402906001613009565b90505b600181111561247a576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061243657612436612e01565b1a60f81b82828151811061244c5761244c612e01565b60200101906001600160f81b031916908160001a90535060049490941c9361247381613116565b9050612405565b508315610c2c5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610d28565b60405181606052826040528360601b602c526323b872dd60601b600c52602060006064601c6000895af13d15600160005114171661250f57637939f4246000526004601cfd5b600060605260405250505050565b6000816014526370a0823160601b60005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b0316815260200161259b604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156125c157600080fd5b81356001600160e01b031981168114610c2c57600080fd5b6001600160a01b0381168114610b0557600080fd5b60006020828403121561260057600080fd5b8135610c2c816125d9565b60006020828403121561261d57600080fd5b5035919050565b60005b8381101561263f578181015183820152602001612627565b50506000910152565b60008151808452612660816020860160208601612624565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611a776040850182612648565b60208152815160208201526000602083015160018060a01b0380821660408501528060408601511660608501525050606083015160c060808401526126db60e0840182612674565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715612739576127396126fb565b604052919050565b60006001600160401b0383111561275a5761275a6126fb565b61276d601f8401601f1916602001612711565b905082815283838301111561278157600080fd5b828260208301376000602084830101529392505050565b600082601f8301126127a957600080fd5b610c2c83833560208501612741565b600080604083850312156127cb57600080fd5b8235915060208301356001600160401b038111156127e857600080fd5b6127f485828601612798565b9150509250929050565b6001600160a01b0391909116815260200190565b60006001600160401b0382111561282b5761282b6126fb565b5060051b60200190565b600082601f83011261284657600080fd5b8135602061285b61285683612812565b612711565b82815260059290921b8401810191818101908684111561287a57600080fd5b8286015b848110156128b95780356001600160401b0381111561289d5760008081fd5b6128ab8986838b0101612798565b84525091830191830161287e565b509695505050505050565b600080604083850312156128d757600080fd5b82356001600160401b03808211156128ee57600080fd5b818501915085601f83011261290257600080fd5b8135602061291261285683612812565b82815260059290921b8401810191818101908984111561293157600080fd5b948201945b8386101561294f57853582529482019490820190612936565b9650508601359250508082111561296557600080fd5b506127f485828601612835565b600081518084526020808501945080840160005b838110156129ab5781516001600160a01b031687529582019590820190600101612986565b509495945050505050565b602081526000610c2c6020830184612972565b600080604083850312156129dc57600080fd5b82356129e7816125d9565b915060208301356129f7816125d9565b809150509250929050565b60008060408385031215612a1557600080fd5b8235915060208301356129f7816125d9565b600082601f830112612a3857600080fd5b81356020612a4861285683612812565b82815260059290921b84018101918181019086841115612a6757600080fd5b8286015b848110156128b9578035612a7e816125d9565b8352918301918301612a6b565b600080600060608486031215612aa057600080fd5b8335925060208401356001600160401b0380821115612abe57600080fd5b612aca87838801612a27565b93506040860135915080821115612ae057600080fd5b50612aed86828701612798565b9150509250925092565b60008060408385031215612b0a57600080fd5b50508035926020909101359150565b600060408284031215612b2b57600080fd5b604080519081016001600160401b038082118383101715612b4e57612b4e6126fb565b81604052829350843583526020850135915080821115612b6d57600080fd5b508301601f81018513612b7f57600080fd5b612b8e85823560208401612741565b6020830152505092915050565b60008060408385031215612bae57600080fd5b8235915060208301356001600160401b03811115612bcb57600080fd5b6127f485828601612b19565b600080600080600080600060e0888a031215612bf257600080fd5b873596506020880135612c04816125d9565b955060408801356001600160401b0380821115612c2057600080fd5b612c2c8b838c01612798565b965060608a01359150612c3e826125d9565b9094506080890135935060a08901359080821115612c5b57600080fd5b612c678b838c01612b19565b935060c08a0135915080821115612c7d57600080fd5b50612c8a8a828b01612a27565b91505092959891949750929550565b600080600080600060a08688031215612cb157600080fd5b8535612cbc816125d9565b94506020860135612ccc816125d9565b93506040860135612cdc816125d9565b94979396509394606081013594506080013592915050565b600080600060408486031215612d0957600080fd5b83356001600160401b0380821115612d2057600080fd5b818601915086601f830112612d3457600080fd5b813581811115612d4357600080fd5b8760208260051b8501011115612d5857600080fd5b602092830195509350908501359080821115612d7357600080fd5b50612aed86828701612835565b600181811c90821680612d9457607f821691505b602082108103612db457634e487b7160e01b600052602260045260246000fd5b50919050565b604081526000612dcd6040830185612648565b905060018060a01b03831660208301529392505050565b600060208284031215612df657600080fd5b8151610c2c816125d9565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612e2957600080fd5b5051919050565b606081526000612e436060830186612972565b8281036020840152612e558186612648565b91505060018060a01b0383166040830152949350505050565b601f821115610bcc57600081815260208120601f850160051c81016020861015612e955750805b601f850160051c820191505b81811015612eb457828155600101612ea1565b505050505050565b81516001600160401b03811115612ed557612ed56126fb565b612ee981612ee38454612d80565b84612e6e565b602080601f831160018114612f1e5760008415612f065750858301515b600019600386901b1c1916600185901b178555612eb4565b600085815260208120601f198616915b82811015612f4d57888601518255948401946001909101908401612f2e565b5085821015612f6b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610c2c6020830184612674565b634e487b7160e01b600052601160045260246000fd5b600060018201612fb657612fb6612f8e565b5060010190565b808202811582820484141761075557610755612f8e565b600082612ff157634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561075557610755612f8e565b8082018082111561075557610755612f8e565b60006020828403121561302e57600080fd5b81518015158114610c2c57600080fd5b828152604060208201526000611a776040830184612648565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061308a90830184612674565b9695505050505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516130c6816017850160208801612624565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516130f7816028840160208801612624565b01602801949350505050565b602081526000610c2c6020830184612648565b60008161312557613125612f8e565b50600019019056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a26469706673582212207ff237b5031c0a799317c485a2e086d81ae3f6ba1ef3e75863651583e6046a8164736f6c63430008130033","sourceMap":"5076:29047:0:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106101f75760003560e01c806301ffc9a7146101fc578063031e2fa114610231578063068bcd8d14610253578063075c0e9c1461028057806315e812ad146102a05780631a20bd88146102bf5780631a5da6c8146102ec578063248a9ca31461030c57806324ae6a271461032c578063256929621461034c57806329e40d4b146103545780632cf682b0146103745780632ec38188146103945780632f2ff15d146103a757806336568abe146103c75780633a5fbd92146103e75780633b19e84a1461040757806341bba0b4146104255780634edbaadc1461044557806354d1f13d1461045a5780635ab1bd53146104625780635acd6fac146104805780635f9ca13814610493578063715018a6146104b357806377da8caf146104bb5780637f51bb1f146104ce5780637f5a70bd146104ee5780638da5cb5b1461050e5780638e6901861461052757806391d1485414610547578063a0cf0aea14610567578063a217fddf1461058f578063a6b63eb8146105a4578063ab2ec589146105c4578063ab3febc6146105e4578063c6dff1cf14610604578063cfc0cc3414610624578063d547741f1461065d578063e1007d4a1461067d578063f04e283e14610690578063f2fde38b146106a3578063f4e1fc41146106b6578063f54fc4a0146106d1578063fee81cf4146106f1575b600080fd5b34801561020857600080fd5b5061021c6102173660046125af565b610724565b60405190151581526020015b60405180910390f35b34801561023d57600080fd5b5061025161024c3660046125ee565b61075b565b005b34801561025f57600080fd5b5061027361026e36600461260b565b6107be565b6040516102289190612693565b61029361028e3660046127b8565b6108d1565b60405161022891906127fe565b3480156102ac57600080fd5b5060ca545b604051908152602001610228565b3480156102cb57600080fd5b506102df6102da3660046128c4565b61096e565b60405161022891906129b6565b3480156102f857600080fd5b506102516103073660046125ee565b610af4565b34801561031857600080fd5b506102b161032736600461260b565b610b08565b34801561033857600080fd5b506102516103473660046129c9565b610b1d565b610251610bd1565b34801561036057600080fd5b5061021c61036f366004612a02565b610c20565b34801561038057600080fd5b5061025161038f366004612a02565b610c33565b6102516103a23660046127b8565b610c80565b3480156103b357600080fd5b506102516103c2366004612a02565b610ca0565b3480156103d357600080fd5b506102516103e2366004612a02565b610cbc565b3480156103f357600080fd5b50610251610402366004612a8b565b610d3b565b34801561041357600080fd5b5060cc546001600160a01b0316610293565b34801561043157600080fd5b506102516104403660046125ee565b610dc3565b34801561045157600080fd5b5060c9546102b1565b610251610e45565b34801561046e57600080fd5b5060cd546001600160a01b0316610293565b61025161048e366004612af7565b610e81565b34801561049f57600080fd5b506102516104ae366004612b9b565b611018565b610251611095565b6102b16104c9366004612bd7565b6110a9565b3480156104da57600080fd5b506102516104e93660046125ee565b61112c565b3480156104fa57600080fd5b50610251610509366004612a02565b61113d565b34801561051a57600080fd5b50638b78c6d81954610293565b34801561053357600080fd5b5061025161054236600461260b565b611163565b34801561055357600080fd5b5061021c610562366004612a02565b611174565b34801561057357600080fd5b5061029373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561059b57600080fd5b506102b1600081565b3480156105b057600080fd5b506102516105bf366004612c99565b61119f565b3480156105d057600080fd5b5061021c6105df3660046125ee565b6112ae565b3480156105f057600080fd5b5061021c6105ff366004612a02565b6112b9565b34801561061057600080fd5b5061025161061f366004612cf4565b6112c5565b34801561063057600080fd5b5061029361063f36600461260b565b600090815260cf60205260409020600101546001600160a01b031690565b34801561066957600080fd5b50610251610678366004612a02565b61134a565b6102b161068b366004612bd7565b611366565b61025161069e3660046125ee565b6113d1565b6102516106b13660046125ee565b61140e565b3480156106c257600080fd5b50670de0b6b3a76400006102b1565b3480156106dd57600080fd5b506102516106ec36600461260b565b611435565b3480156106fd57600080fd5b506102b161070c3660046125ee565b63389a75e1600c908152600091909152602090205490565b60006001600160e01b03198216637965db0b60e01b148061075557506301ffc9a760e01b6001600160e01b03198316145b92915050565b610763611446565b6001600160a01b038116600090815260d0602052604090819020805460ff19169055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4906107b39083906127fe565b60405180910390a150565b6107c6612549565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b0390811682850152600283015416818501528351808501909452600382018054855260048301805492959394606087019493908401919061083090612d80565b80601f016020809104026020016040519081016040528092919081815260200182805461085c90612d80565b80156108a95780601f1061087e576101008083540402835291602001916108a9565b820191906000526020600020905b81548152906001019060200180831161088c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b60006108db611461565b600083815260cf6020526040908190206001015490516315df065760e11b81526001600160a01b0390911690632bbe0cae90349061091f9086903390600401612dba565b60206040518083038185885af115801561093d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109629190612de4565b90506107556001609755565b6060610978611461565b8251806001600160401b03811115610992576109926126fb565b6040519080825280602002602001820160405280156109bb578160200160208202803683370190505b509150825181146109df5760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610ae85760cf6000868381518110610a0057610a00612e01565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610a4d57610a4d612e01565b6020026020010151336040518363ffffffff1660e01b8152600401610a73929190612dba565b6020604051808303816000875af1158015610a92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab69190612de4565b838281518110610ac857610ac8612e01565b6001600160a01b03909216602092830291909101909101526001016109e2565b50506107556001609755565b610afc611446565b610b05816114ba565b50565b60009081526065602052604090206001015490565b610b25611446565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610bbd576040516370a0823160e01b81526001600160a01b038416906370a0823190610b779030906004016127fe565b602060405180830381865afa158015610b94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb89190612e17565b610bbf565b475b9050610bcc83838361152c565b505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610c2c8383611566565b9392505050565b81610c3d81611592565b6001600160a01b038216610c645760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610bcc90836115b9565b610c88611461565b610c92828261163f565b610c9c6001609755565b5050565b610ca982610b08565b610cb2816116b9565b610bcc83836115b9565b6001600160a01b0381163314610d315760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b610c9c82826116c3565b610d43611461565b600083815260cf602052604090819020600101549051630a6f0ee960e01b81526001600160a01b0390911690630a6f0ee990610d8790859085903390600401612e30565b600060405180830381600087803b158015610da157600080fd5b505af1158015610db5573d6000803e3d6000fd5b50505050610bcc6001609755565b610dcb611446565b6001600160a01b038116610df25760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600090815260d0602052604090819020805460ff19166001179055517f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d1906107b39083906127fe565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b610e89611461565b80600003610eaa576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b0390811682860152600283015416818401528251808401909352600382018054845260048301805492959394606087019490939084019190610f1490612d80565b80601f0160208091040260200160405190810160405280929190818152602001828054610f4090612d80565b8015610f8d5780601f10610f6257610100808354040283529160200191610f8d565b820191906000526020600020905b815481529060010190602001808311610f7057829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015610fe05750348214155b15610ffe576040516303e09bb960e31b815260040160405180910390fd5b61100d8284836020015161172a565b50610c9c6001609755565b81611022816119dc565b600083815260cf60209081526040909120835160038201908155918401519091849160048401906110539082612ebc565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf0846040516110879190612f7b565b60405180910390a250505050565b61109d611446565b6110a760006119e6565b565b60006110b3611461565b6110bc87611a12565b6110d95760405163126d324760e31b815260040160405180910390fd5b33600090815260ce602052604081208054611115928b9261110b928c9290919061110283612fa4565b91905055611a30565b8888888888611a7f565b90506111216001609755565b979650505050505050565b611134611446565b610b0581611f63565b8161114781611592565b600083815260cf6020526040902060050154610bcc90836116c3565b61116b611446565b610b0581611fd6565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600054600190610100900460ff161580156111c1575060005460ff8083169116105b6112245760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610d28565b6000805461ffff191660ff8316176101001790556112418661200b565b61124a856114ba565b61125384611f63565b61125c83612035565b61126582611fd6565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b600061075582611a12565b6000610c2c8383612093565b6112cd611461565b8051829081146112f05760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561133e5761133685858381811061131057611310612e01565b9050602002013584838151811061132957611329612e01565b602002602001015161163f565b6001016112f3565b5050610bcc6001609755565b61135382610b08565b61135c816116b9565b610bcc83836116c3565b60006001600160a01b03871661138f5760405163538ba4f960e01b815260040160405180910390fd5b61139887611a12565b156113b65760405163eeffa72160e01b815260040160405180910390fd5b6113c588888888888888611a7f565b98975050505050505050565b6113d9611446565b63389a75e1600c52806000526020600c20805442111561140157636f5e88186000526004601cfd5b60009055610b05816119e6565b611416611446565b8060601b61142c57637448fbae6000526004601cfd5b610b05816119e6565b61143d611446565b610b0581612035565b638b78c6d8195433146110a7576382b429006000526004601cfd5b6002609754036114b35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610d28565b6002609755565b6001600160a01b0381166114e15760405163538ba4f960e01b815260040160405180910390fd5b60cd80546001600160a01b0319166001600160a01b0383161790556040517fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906107b39083906127fe565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161155b57610bcc82826120af565b610bcc8383836120cb565b600082815260cf60205260408120600501546115829083611174565b80610c2c5750610c2c8383612093565b61159c8133612093565b610b055760405163075fd2b160e01b815260040160405180910390fd5b6115c38282611174565b610c9c5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556115fb3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf602052604090819020600101549051633bca483f60e21b81526001600160a01b039091169063ef2920fc9034906116839085903390600401612dba565b6000604051808303818588803b15801561169c57600080fd5b505af11580156116b0573d6000803e3d6000fd5b50505050505050565b610b058133612111565b6116cd8282611174565b15610c9c5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b0316901561187b57670de0b6b3a764000060c9546117689089612fbd565b6117729190612fd4565b935061177e8484612ff6565b92508661178b8486613009565b146117a957604051637fcce2a960e01b815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611803576040805160608101825233815260cc546001600160a01b031660208201529081018590526117fd90829061216a565b5061187b565b60cc5460009061181d9083906001600160a01b03166121e9565b6040805160608101825233815260cc546001600160a01b0316602082015290810187905290915061184f90839061216a565b5060cc5460009061186a9084906001600160a01b03166121e9565b90506118768282612ff6565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038216016118dc576118d6816040518060600160405280336001600160a01b03168152602001886001600160a01b031681526020018681525061216a565b5061193e565b60006118e882876121e9565b9050611920826040518060600160405280336001600160a01b03168152602001896001600160a01b031681526020018781525061216a565b50600061192d83886121e9565b90506119398282612ff6565b945050505b60405163f5b0dfb760e01b8152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b15801561198057600080fd5b505af1158015611994573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b61159c8133611566565b638b78c6d81980546001600160a01b0390921691829060008051602061312e833981519152600080a355565b6001600160a01b0316600090815260d0602052604090205460ff1690565b6040516001600160601b03193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611a778482612232565b949350505050565b60cd54604051635e8a791560e01b8152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611acf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611af3919061301c565b611b105760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611b1f90612fa4565b91829055506040519091508190600090611b4f9083906020019081526430b236b4b760d91b602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf8752969096208751815591516001830180549185166001600160a01b031992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611c029082612ebc565b5050506080820151600582015560a090910151600690910155611c2582336115b9565b611c2f83836122c9565b604051633b7451b360e21b81526001600160a01b038b169063edd146cc90611c5d9087908d9060040161303e565b600060405180830381600087803b158015611c7757600080fd5b505af1158015611c8b573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf29190612e17565b141580611d725750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d669190612de4565b6001600160a01b031614155b15611d905760405163636e39bb60e01b815260040160405180910390fd5b845160005b81811015611e01576000878281518110611db157611db1612e01565b6020026020010151905060006001600160a01b0316816001600160a01b031603611dee5760405163538ba4f960e01b815260040160405180910390fd5b611df886826115b9565b50600101611d95565b5060ca5415611f04576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015611e435750348860ca54611e409190613009565b14155b80611e7857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14801590611e7857503460ca5414155b15611e96576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca54611ec79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b039091169061152c565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca54604051611efb91815260200190565b60405180910390a25b8715611f1557611f1588868d61172a565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c604051611f4c9493929190613057565b60405180910390a350505050979650505050505050565b6001600160a01b038116611f8a5760405163538ba4f960e01b815260040160405180910390fd5b60cc80546001600160a01b0319166001600160a01b0383169081179091556040517f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d1916107b3916127fe565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c3906020016107b3565b6001600160a01b0316638b78c6d81981905580600060008051602061312e8339815191528180a350565b670de0b6b3a764000081111561205e57604051632fb15b8760e01b815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b065906020016107b3565b600082815260cf6020526040812060060154610c2c9083611174565b60008060008084865af1610c9c5763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d156001600051141716612107576390b8ec186000526004601cfd5b6000603452505050565b61211b8282611174565b610c9c576121288161231c565b61213383602061232e565b604051602001612144929190613094565b60408051601f198184030181529082905262461bcd60e51b8252610d2891600401613103565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038516016121cb57803410156121b8576040516374c5672b60e01b815260040160405180910390fd5b6121c68360200151826120af565b6121df565b6121df8484600001518560200151846124c9565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161222157506001600160a01b03811631610755565b61222b838361251d565b9050610755565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166107555760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606401610d28565b60006122d483610b08565b600084815260656020526040808220600101859055519192508391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606107556001600160a01b03831660145b6060600061233d836002612fbd565b612348906002613009565b6001600160401b0381111561235f5761235f6126fb565b6040519080825280601f01601f191660200182016040528015612389576020820181803683370190505b509050600360fc1b816000815181106123a4576123a4612e01565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106123d3576123d3612e01565b60200101906001600160f81b031916908160001a90535060006123f7846002612fbd565b612402906001613009565b90505b600181111561247a576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061243657612436612e01565b1a60f81b82828151811061244c5761244c612e01565b60200101906001600160f81b031916908160001a90535060049490941c9361247381613116565b9050612405565b508315610c2c5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610d28565b60405181606052826040528360601b602c526323b872dd60601b600c52602060006064601c6000895af13d15600160005114171661250f57637939f4246000526004601cfd5b600060605260405250505050565b6000816014526370a0823160601b60005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b0316815260200161259b604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156125c157600080fd5b81356001600160e01b031981168114610c2c57600080fd5b6001600160a01b0381168114610b0557600080fd5b60006020828403121561260057600080fd5b8135610c2c816125d9565b60006020828403121561261d57600080fd5b5035919050565b60005b8381101561263f578181015183820152602001612627565b50506000910152565b60008151808452612660816020860160208601612624565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611a776040850182612648565b60208152815160208201526000602083015160018060a01b0380821660408501528060408601511660608501525050606083015160c060808401526126db60e0840182612674565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715612739576127396126fb565b604052919050565b60006001600160401b0383111561275a5761275a6126fb565b61276d601f8401601f1916602001612711565b905082815283838301111561278157600080fd5b828260208301376000602084830101529392505050565b600082601f8301126127a957600080fd5b610c2c83833560208501612741565b600080604083850312156127cb57600080fd5b8235915060208301356001600160401b038111156127e857600080fd5b6127f485828601612798565b9150509250929050565b6001600160a01b0391909116815260200190565b60006001600160401b0382111561282b5761282b6126fb565b5060051b60200190565b600082601f83011261284657600080fd5b8135602061285b61285683612812565b612711565b82815260059290921b8401810191818101908684111561287a57600080fd5b8286015b848110156128b95780356001600160401b0381111561289d5760008081fd5b6128ab8986838b0101612798565b84525091830191830161287e565b509695505050505050565b600080604083850312156128d757600080fd5b82356001600160401b03808211156128ee57600080fd5b818501915085601f83011261290257600080fd5b8135602061291261285683612812565b82815260059290921b8401810191818101908984111561293157600080fd5b948201945b8386101561294f57853582529482019490820190612936565b9650508601359250508082111561296557600080fd5b506127f485828601612835565b600081518084526020808501945080840160005b838110156129ab5781516001600160a01b031687529582019590820190600101612986565b509495945050505050565b602081526000610c2c6020830184612972565b600080604083850312156129dc57600080fd5b82356129e7816125d9565b915060208301356129f7816125d9565b809150509250929050565b60008060408385031215612a1557600080fd5b8235915060208301356129f7816125d9565b600082601f830112612a3857600080fd5b81356020612a4861285683612812565b82815260059290921b84018101918181019086841115612a6757600080fd5b8286015b848110156128b9578035612a7e816125d9565b8352918301918301612a6b565b600080600060608486031215612aa057600080fd5b8335925060208401356001600160401b0380821115612abe57600080fd5b612aca87838801612a27565b93506040860135915080821115612ae057600080fd5b50612aed86828701612798565b9150509250925092565b60008060408385031215612b0a57600080fd5b50508035926020909101359150565b600060408284031215612b2b57600080fd5b604080519081016001600160401b038082118383101715612b4e57612b4e6126fb565b81604052829350843583526020850135915080821115612b6d57600080fd5b508301601f81018513612b7f57600080fd5b612b8e85823560208401612741565b6020830152505092915050565b60008060408385031215612bae57600080fd5b8235915060208301356001600160401b03811115612bcb57600080fd5b6127f485828601612b19565b600080600080600080600060e0888a031215612bf257600080fd5b873596506020880135612c04816125d9565b955060408801356001600160401b0380821115612c2057600080fd5b612c2c8b838c01612798565b965060608a01359150612c3e826125d9565b9094506080890135935060a08901359080821115612c5b57600080fd5b612c678b838c01612b19565b935060c08a0135915080821115612c7d57600080fd5b50612c8a8a828b01612a27565b91505092959891949750929550565b600080600080600060a08688031215612cb157600080fd5b8535612cbc816125d9565b94506020860135612ccc816125d9565b93506040860135612cdc816125d9565b94979396509394606081013594506080013592915050565b600080600060408486031215612d0957600080fd5b83356001600160401b0380821115612d2057600080fd5b818601915086601f830112612d3457600080fd5b813581811115612d4357600080fd5b8760208260051b8501011115612d5857600080fd5b602092830195509350908501359080821115612d7357600080fd5b50612aed86828701612835565b600181811c90821680612d9457607f821691505b602082108103612db457634e487b7160e01b600052602260045260246000fd5b50919050565b604081526000612dcd6040830185612648565b905060018060a01b03831660208301529392505050565b600060208284031215612df657600080fd5b8151610c2c816125d9565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612e2957600080fd5b5051919050565b606081526000612e436060830186612972565b8281036020840152612e558186612648565b91505060018060a01b0383166040830152949350505050565b601f821115610bcc57600081815260208120601f850160051c81016020861015612e955750805b601f850160051c820191505b81811015612eb457828155600101612ea1565b505050505050565b81516001600160401b03811115612ed557612ed56126fb565b612ee981612ee38454612d80565b84612e6e565b602080601f831160018114612f1e5760008415612f065750858301515b600019600386901b1c1916600185901b178555612eb4565b600085815260208120601f198616915b82811015612f4d57888601518255948401946001909101908401612f2e565b5085821015612f6b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610c2c6020830184612674565b634e487b7160e01b600052601160045260246000fd5b600060018201612fb657612fb6612f8e565b5060010190565b808202811582820484141761075557610755612f8e565b600082612ff157634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561075557610755612f8e565b8082018082111561075557610755612f8e565b60006020828403121561302e57600080fd5b81518015158114610c2c57600080fd5b828152604060208201526000611a776040830184612648565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061308a90830184612674565b9695505050505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516130c6816017850160208801612624565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516130f7816028840160208801612624565b01602801949350505050565b602081526000610c2c6020830184612648565b60008161312557613125612f8e565b50600019019056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a26469706673582212207ff237b5031c0a799317c485a2e086d81ae3f6ba1ef3e75863651583e6046a8164736f6c63430008130033","sourceMap":"5076:29047:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3050:213:43;;;;;;;;;;-1:-1:-1;3050:213:43;;;;;:::i;:::-;;:::i;:::-;;;470:14:142;;463:22;445:41;;433:2;418:18;3050:213:43;;;;;;;;14900:288:0;;;;;;;;;;-1:-1:-1;14900:288:0;;;;;:::i;:::-;;:::i;:::-;;34013:108;;;;;;;;;;-1:-1:-1;34013:108:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;17298:276::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;33140:85::-;;;;;;;;;;-1:-1:-1;33211:7:0;;33140:85;;;4432:25:142;;;4420:2;4405:18;33140:85:0;4286:177:142;18212:747:0;;;;;;;;;;-1:-1:-1;18212:747:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;13330:105::-;;;;;;;;;;-1:-1:-1;13330:105:0;;;;;:::i;:::-;;:::i;4855:129:43:-;;;;;;;;;;-1:-1:-1;4855:129:43;;;;;:::i;:::-;;:::i;16308:430:0:-;;;;;;;;;;-1:-1:-1;16308:430:0;;;;;:::i;:::-;;:::i;7331:617:12:-;;;:::i;32476:144:0:-;;;;;;;;;;-1:-1:-1;32476:144:0;;;;;:::i;:::-;;:::i;15387:358::-;;;;;;;;;;-1:-1:-1;15387:358:0;;;;;:::i;:::-;;:::i;19921:127::-;;;;;;:::i;:::-;;:::i;5280:145:43:-;;;;;;;;;;-1:-1:-1;5280:145:43;;;;;:::i;:::-;;:::i;6389:214::-;;;;;;;;;;-1:-1:-1;6389:214:43;;;;;:::i;:::-;;:::i;21468:196:0:-;;;;;;;;;;-1:-1:-1;21468:196:0;;;;;:::i;:::-;;:::i;33313:95::-;;;;;;;;;;-1:-1:-1;33393:8:0;;-1:-1:-1;;;;;33393:8:0;33313:95;;14481:229;;;;;;;;;;-1:-1:-1;14481:229:0;;;;;:::i;:::-;;:::i;32977:91::-;;;;;;;;;;-1:-1:-1;33051:10:0;;32977:91;;8030:456:12;;;:::i;33488:89:0:-;;;;;;;;;;-1:-1:-1;33562:8:0;;-1:-1:-1;;;;;33562:8:0;33488:89;;19156:439;;;;;;:::i;:::-;;:::i;12894:247::-;;;;;;;;;;-1:-1:-1;12894:247:0;;;;;:::i;:::-;;:::i;7072:100:12:-;;;:::i;11971:701:0:-;;;;;;:::i;:::-;;:::i;13624:113::-;;;;;;;;;;-1:-1:-1;13624:113:0;;;;;:::i;:::-;;:::i;15950:160::-;;;;;;;;;;-1:-1:-1;15950:160:0;;;;;:::i;:::-;;:::i;9718:191:12:-;;;;;;;;;;-1:-1:-1;;;9866:27:12;9718:191;;14188:101:0;;;;;;;;;;-1:-1:-1;14188:101:0;;;;;:::i;:::-;;:::i;3350:145:43:-;;;;;;;;;;-1:-1:-1;3350:145:43;;;;;:::i;:::-;;:::i;4412:75:9:-;;;;;;;;;;;;4445:42;4412:75;;2320:49:43;;;;;;;;;;-1:-1:-1;2320:49:43;2365:4;2320:49;;7626:593:0;;;;;;;;;;-1:-1:-1;7626:593:0;;;;;:::i;:::-;;:::i;33760:132::-;;;;;;;;;;-1:-1:-1;33760:132:0;;;;;:::i;:::-;;:::i;32112:140::-;;;;;;;;;;-1:-1:-1;32112:140:0;;;;;:::i;:::-;;:::i;20511:559::-;;;;;;;;;;-1:-1:-1;20511:559:0;;;;;:::i;:::-;;:::i;32753:126::-;;;;;;;;;;-1:-1:-1;32753:126:0;;;;;:::i;:::-;32814:7;32848:14;;;:5;:14;;;;;:23;;;-1:-1:-1;;;;;32848:23:0;;32753:126;5705:147:43;;;;;;;;;;-1:-1:-1;5705:147:43;;;;;:::i;:::-;;:::i;10281:884:0:-;;;;;;:::i;:::-;;:::i;8673:708:12:-;;;;;;:::i;:::-;;:::i;6658:349::-;;;;;;:::i;:::-;;:::i;31788:103:0:-;;;;;;;;;;-1:-1:-1;31880:4:0;31788:103;;13911:113;;;;;;;;;;-1:-1:-1;13911:113:0;;;;;:::i;:::-;;:::i;10012:435:12:-;;;;;;;;;;-1:-1:-1;10012:435:12;;;;;:::i;:::-;10282:19;10276:4;10269:33;;;10131:14;10315:26;;;;10425:4;10409:21;;10403:28;;10012:435;3050:213:43;3135:4;-1:-1:-1;;;;;;3158:58:43;;-1:-1:-1;;;3158:58:43;;:98;;-1:-1:-1;;;;;;;;;;1189:51:53;;;3220:36:43;3151:105;3050:213;-1:-1:-1;;3050:213:43:o;14900:288:0:-;10836:13:12;:11;:13::i;:::-;-1:-1:-1;;;;;15059:30:0;::::1;15092:5;15059:30:::0;;;:19:::1;:30;::::0;;;;;;:38;;-1:-1:-1;;15059:38:0::1;::::0;;15155:26;::::1;::::0;::::1;::::0;15079:9;;15155:26:::1;:::i;:::-;;;;;;;;14900:288:::0;:::o;34013:108::-;34070:11;;:::i;:::-;34100:14;;;;:5;:14;;;;;;;;;34093:21;;;;;;;;;;;;;;;-1:-1:-1;;;;;34093:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;34100:14;;34093:21;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;34013:108;;;:::o;17298:276::-;17401:7;2526:21:48;:19;:21::i;:::-;17489:14:0::1;::::0;;;:5:::1;:14;::::0;;;;;;:23:::1;;::::0;:78;;-1:-1:-1;;;17489:78:0;;-1:-1:-1;;;;;17489:23:0;;::::1;::::0;:41:::1;::::0;17538:9:::1;::::0;17489:78:::1;::::0;17549:5;;17556:10:::1;::::0;17489:78:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17482:85;;2568:20:48::0;1808:1;3074:7;:22;2894:209;18212:747:0;18348:29;2526:21:48;:19;:21::i;:::-;18416:15:0;;;-1:-1:-1;;;;;18456:27:0;::::1;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;-1:-1:-1;18456:27:0::1;;18441:42;;18514:5;:12;18498;:28;18494:51;;18535:10;;-1:-1:-1::0;;;18535:10:0::1;;;;;;;;;;;18494:51;18663:9;18658:204;18678:12;18674:1;:16;18658:204;;;18725:5;:18;18731:8;18740:1;18731:11;;;;;;;;:::i;:::-;;;;;;;18725:18;;;;;;;;;;;:27;;;;;;;;;;-1:-1:-1::0;;;;;18725:27:0::1;-1:-1:-1::0;;;;;18725:45:0::1;;18771:5;18777:1;18771:8;;;;;;;;:::i;:::-;;;;;;;18781:10;18725:67;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18707:12;18720:1;18707:15;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18707:85:0;;::::1;:15;::::0;;::::1;::::0;;;;;;;:85;18834:3:::1;;18658:204;;;;18933:19;2568:20:48::0;1808:1;3074:7;:22;2894:209;13330:105:0;10836:13:12;:11;:13::i;:::-;13402:26:0::1;13418:9;13402:15;:26::i;:::-;13330:105:::0;:::o;4855:129:43:-;4929:7;4955:12;;;:6;:12;;;;;:22;;;;4855:129::o;16308:430:0:-;10836:13:12;:11;:13::i;:::-;16506:14:0::1;-1:-1:-1::0;;;;;16523:16:0;::::1;4445:42:9;16523:16:0;:93;;16566:50;::::0;-1:-1:-1;;;16566:50:0;;-1:-1:-1;;;;;16566:35:0;::::1;::::0;::::1;::::0;:50:::1;::::0;16610:4:::1;::::0;16566:50:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16523:93;;;16542:21;16523:93;16506:110;;16688:43;16704:6;16712:10;16724:6;16688:15;:43::i;:::-;16385:353;16308:430:::0;;:::o;7331:617:12:-;7424:15;6282:9;-1:-1:-1;;;;;7442:46:12;:15;:46;7424:64;;7656:19;7650:4;7643:33;7706:8;7700:4;7693:22;7762:7;7755:4;7749;7739:21;7732:38;7909:8;7862:45;7859:1;7856;7851:67;7558:374;7331:617::o;32476:144:0:-;32557:4;32580:33;32595:7;32604:8;32580:14;:33::i;:::-;32573:40;32476:144;-1:-1:-1;;;32476:144:0:o;15387:358::-;15469:7;8837:28;8857:7;8837:19;:28::i;:::-;-1:-1:-1;;;;;15568:22:0;::::1;15564:49;;15599:14;;-1:-1:-1::0;;;15599:14:0::1;;;;;;;;;;;15564:49;15701:14;::::0;;;:5:::1;:14;::::0;;;;:26:::1;;::::0;15690:48:::1;::::0;15729:8;15690:10:::1;:48::i;19921:127::-:0;2526:21:48;:19;:21::i;:::-;20016:25:0::1;20026:7;20035:5;20016:9;:25::i;:::-;2568:20:48::0;1808:1;3074:7;:22;2894:209;2568:20;19921:127:0;;:::o;5280:145:43:-;5363:18;5376:4;5363:12;:18::i;:::-;2798:16;2809:4;2798:10;:16::i;:::-;5393:25:::1;5404:4;5410:7;5393:10;:25::i;6389:214::-:0;-1:-1:-1;;;;;6484:23:43;;965:10:51;6484:23:43;6476:83;;;;-1:-1:-1;;;6476:83:43;;16571:2:142;6476:83:43;;;16553:21:142;16610:2;16590:18;;;16583:30;16649:34;16629:18;;;16622:62;-1:-1:-1;;;16700:18:142;;;16693:45;16755:19;;6476:83:43;;;;;;;;;6570:26;6582:4;6588:7;6570:11;:26::i;21468:196:0:-;2526:21:48;:19;:21::i;:::-;21589:14:0::1;::::0;;;:5:::1;:14;::::0;;;;;;:23:::1;;::::0;:68;;-1:-1:-1;;;21589:68:0;;-1:-1:-1;;;;;21589:23:0;;::::1;::::0;:34:::1;::::0;:68:::1;::::0;21624:13;;21639:5;;21646:10:::1;::::0;21589:68:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;2568:20:48::0;1808:1;3074:7;:22;2894:209;14481:229:0;10836:13:12;:11;:13::i;:::-;-1:-1:-1;;;;;14567:23:0;::::1;14563:50;;14599:14;;-1:-1:-1::0;;;14599:14:0::1;;;;;;;;;;;14563:50;-1:-1:-1::0;;;;;14624:30:0;::::1;;::::0;;;:19:::1;:30;::::0;;;;;;:37;;-1:-1:-1;;14624:37:0::1;14657:4;14624:37;::::0;;14676:27;::::1;::::0;::::1;::::0;14644:9;;14676:27:::1;:::i;8030:456:12:-:0;8232:19;8226:4;8219:33;8278:8;8272:4;8265:22;8330:1;8323:4;8317;8307:21;8300:32;8461:8;8415:44;8412:1;8409;8404:66;8030:456::o;19156:439:0:-;2526:21:48;:19;:21::i;:::-;19318:7:0::1;19329:1;19318:12:::0;19314:43:::1;;19339:18;;-1:-1:-1::0;;;19339:18:0::1;;;;;;;;;;;19314:43;19368:16;19387:14:::0;;;:5:::1;:14;::::0;;;;;;;19368:33;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;-1:-1:-1;;;;;19368:33:0;;::::1;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;;;;;;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;;;;;;;;;19387:14;;19368:33;;;;;;;;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;19368:33:0;;;;-1:-1:-1;;;19368:33:0;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;;;;;;19415:10;::::1;::::0;19368:33;;-1:-1:-1;;;;;;19415:20:0::1;4445:42:9;19415:20:0;:44:::0;::::1;;;;19450:9;19439:7;:20;;19415:44;19411:75;;;19468:18;;-1:-1:-1::0;;;19468:18:0::1;;;;;;;;;;;19411:75;19546:42;19556:7;19565;19574:4;:13;;;19546:9;:42::i;:::-;19238:357;2568:20:48::0;1808:1;3074:7;:22;2894:209;12894:247:0;12991:7;8625:30;8647:7;8625:21;:30::i;:::-;13010:17:::1;13030:14:::0;;;:5:::1;:14;::::0;;;;;;;13054:25;;:13:::1;::::0;::::1;:25:::0;;;;;::::1;::::0;13030:14;;13070:9;;13054:25;;;;::::1;::::0;;::::1;:::i;:::-;;;;;13115:7;13095:39;13124:9;13095:39;;;;;;:::i;:::-;;;;;;;;13000:141;12894:247:::0;;;:::o;7072:100:12:-;10836:13;:11;:13::i;:::-;7144:21:::1;7162:1;7144:9;:21::i;:::-;7072:100::o:0;11971:701:0:-;12251:14;2526:21:48;:19;:21::i;:::-;12282:31:0::1;12303:9;12282:20;:31::i;:::-;12277:93;;12336:23;;-1:-1:-1::0;;;12336:23:0::1;;;;;;;;;;;12277:93;12522:10;12514:19;::::0;;;:7:::1;:19;::::0;;;;:21;;12426:239:::1;::::0;12451:10;;12485:51:::1;::::0;12503:9;;12514:21;;:19;:21:::1;::::0;::::1;:::i;:::-;;;;;12485:17;:51::i;:::-;12551:17;12582:6;12602:7;12623:9;12646;12426:11;:239::i;:::-;12419:246;;2568:20:48::0;1808:1;3074:7;:22;2894:209;2568:20;11971:701:0;;;;;;;;;:::o;13624:113::-;10836:13:12;:11;:13::i;:::-;13704:26:0::1;13720:9;13704:15;:26::i;15950:160::-:0;16035:7;8837:28;8857:7;8837:19;:28::i;:::-;16066:14:::1;::::0;;;:5:::1;:14;::::0;;;;:26:::1;;::::0;16054:49:::1;::::0;16094:8;16054:11:::1;:49::i;14188:101::-:0;10836:13:12;:11;:13::i;:::-;14258:24:0::1;14273:8;14258:14;:24::i;3350:145:43:-:0;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:43;;;;;;;;;;;;;;;3350:145::o;7626:593:0:-;4882:13:47;;7816:1:0;;4882:13:47;;;;;4881:14;:40;;;;-1:-1:-1;4899:12:47;;:22;;;;:12;;:22;4881:40;4873:99;;;;-1:-1:-1;;;4873:99:47;;20253:2:142;4873:99:47;;;20235:21:142;20292:2;20272:18;;;20265:30;20331:34;20311:18;;;20304:62;-1:-1:-1;;;20382:18:142;;;20375:44;20436:19;;4873:99:47;20051:410:142;4873:99:47;4982:12;:22;;-1:-1:-1;;5014:20:47;4982:22;;;5014:20;4982:22;5014:20;;;7890:24:0::1;7907:6:::0;7890:16:::1;:24::i;:::-;7968:26;7984:9;7968:15;:26::i;:::-;8048;8064:9;8048:15;:26::i;:::-;8119:30;8137:11;8119:17;:30::i;:::-;8188:24;8203:8;8188:14;:24::i;:::-;5071:5:47::0;5055:21;;-1:-1:-1;;5055:21:47;;;5091:20;;20638:4:142;20626:17;;20608:36;;5091:20:47;;20596:2:142;20581:18;5091:20:47;;;;;;;7626:593:0;;;;;;:::o;33760:132::-;33831:4;33854:31;33875:9;33854:20;:31::i;32112:140::-;32191:4;32214:31;32227:7;32236:8;32214:12;:31::i;20511:559::-;2526:21:48;:19;:21::i;:::-;20784:13:0;;20637:8;;20772:25;::::1;20768:48;;20806:10;;-1:-1:-1::0;;;20806:10:0::1;;;;;;;;;;;20768:48;20921:9;20916:148;20936:8;20932:1;:12;20916:148;;;20961:33;20971:8;;20980:1;20971:11;;;;;;;:::i;:::-;;;;;;;20984:6;20991:1;20984:9;;;;;;;;:::i;:::-;;;;;;;20961;:33::i;:::-;21036:3;;20916:148;;;;20608:462;2568:20:48::0;1808:1;3074:7;:22;2894:209;5705:147:43;5789:18;5802:4;5789:12;:18::i;:::-;2798:16;2809:4;2798:10;:16::i;:::-;5819:26:::1;5831:4;5837:7;5819:11;:26::i;10281:884:0:-:0;10566:14;-1:-1:-1;;;;;10687:23:0;;10683:50;;10719:14;;-1:-1:-1;;;10719:14:0;;;;;;;;;;;10683:50;10898:31;10919:9;10898:20;:31::i;:::-;10894:66;;;10938:22;;-1:-1:-1;;;10938:22:0;;;;;;;;;;;10894:66;11055:103;11067:10;11089:9;11101:17;11120:6;11128:7;11137:9;11148;11055:11;:103::i;:::-;11048:110;10281:884;-1:-1:-1;;;;;;;;10281:884:0:o;8673:708:12:-;10836:13;:11;:13::i;:::-;8907:19:::1;8901:4;8894:33;8953:12;8947:4;8940:26;9015:4;9009;8999:21;9121:12;9115:19;9102:11;9099:36;9096:157;;;9167:10;9161:4;9154:24;9234:4;9228;9221:18;9096:157;9330:1;9309:23:::0;;9351::::1;9361:12:::0;9351:9:::1;:23::i;6658:349::-:0;10836:13;:11;:13::i;:::-;6830:8:::1;6826:2;6822:17;6812:150;;6872:10;6866:4;6859:24;6943:4;6937;6930:18;6812:150;6981:19;6991:8;6981:9;:19::i;13911:113:0:-:0;10836:13:12;:11;:13::i;:::-;13987:30:0::1;14005:11;13987:17;:30::i;5593:364:12:-:0;-1:-1:-1;;5799:27:12;5789:8;5786:41;5776:165;;5860:10;5854:4;5847:24;5922:4;5916;5909:18;2601:287:48;1851:1;2733:7;;:19;2725:63;;;;-1:-1:-1;;;2725:63:48;;20857:2:142;2725:63:48;;;20839:21:142;20896:2;20876:18;;;20869:30;20935:33;20915:18;;;20908:61;20986:18;;2725:63:48;20655:355:142;2725:63:48;1851:1;2863:7;:18;2601:287::o;30226:203:0:-;-1:-1:-1;;;;;30293:23:0;;30289:50;;30325:14;;-1:-1:-1;;;30325:14:0;;;;;;;;;;;30289:50;30350:8;:31;;-1:-1:-1;;;;;;30350:31:0;-1:-1:-1;;;;;30350:31:0;;;;;30396:26;;;;;;30350:31;;30396:26;:::i;6721:269:10:-;-1:-1:-1;;;;;;;6815:16:10;;;6811:173;;6847:45;6879:3;6884:7;6847:31;:45::i;6811:173::-;6923:50;6952:6;6960:3;6965:7;6923:28;:50::i;29821:192:0:-;29903:4;29934:14;;;:5;:14;;;;;:26;;;29926:45;;29962:8;29926:7;:45::i;:::-;:80;;;;29975:31;29988:7;29997:8;29975:12;:31::i;22160:138::-;22235:33;22248:7;22257:10;22235:12;:33::i;:::-;22230:61;;22277:14;;-1:-1:-1;;;22277:14:0;;;;;;;;;;;7938:233:43;8021:22;8029:4;8035:7;8021;:22::i;:::-;8016:149;;8059:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8059:29:43;;;;;;;;;:36;;-1:-1:-1;;8059:36:43;8091:4;8059:36;;;8141:12;965:10:51;;886:96;8141:12:43;-1:-1:-1;;;;;8114:40:43;8132:7;-1:-1:-1;;;;;8114:40:43;8126:4;8114:40;;;;;;;;;;7938:233;;:::o;26159:151:0:-;26234:14;;;;:5;:14;;;;;;;:23;;;:69;;-1:-1:-1;;;26234:69:0;;-1:-1:-1;;;;;26234:23:0;;;;:32;;26274:9;;26234:69;;26285:5;;26292:10;;26234:69;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26159:151;;:::o;3789:103:43:-;3855:30;3866:4;965:10:51;3855::43;:30::i;8342:234::-;8425:22;8433:4;8439:7;8425;:22::i;:::-;8421:149;;;8495:5;8463:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8463:29:43;;;;;;;;;;:37;;-1:-1:-1;;8463:37:43;;;8519:40;965:10:51;;8463:12:43;;8519:40;;8495:5;8519:40;8342:234;;:::o;26634:1879:0:-;26727:17;26817:14;;;:5;:14;;;;;26858:10;;;;26883;;26779:7;;26817:14;-1:-1:-1;;;;;26858:10:0;;26883:14;26879:808;;31880:4;26936:10;;26926:20;;:7;:20;:::i;:::-;26925:44;;;;:::i;:::-;26913:56;-1:-1:-1;26983:27:0;26913:56;26983:27;;:::i;:::-;;-1:-1:-1;27059:7:0;27029:26;26983:27;27029:9;:26;:::i;:::-;:37;27025:59;;27075:9;;-1:-1:-1;;;27075:9:0;;;;;;;;;;;27025:59;-1:-1:-1;;;;;;;27103:16:0;;;27099:578;;27167:65;;;;;;;;27187:10;27167:65;;27203:8;;-1:-1:-1;;;;;27203:8:0;27167:65;;;;;;;;;;27139:94;;27159:6;;27139:19;:94::i;:::-;;27099:578;;;27319:8;;27272:24;;27299:29;;27311:6;;-1:-1:-1;;;;;27319:8:0;27299:11;:29::i;:::-;27374:65;;;;;;;;27394:10;27374:65;;27410:8;;-1:-1:-1;;;;;27410:8:0;27374:65;;;;;;;;;;27272:56;;-1:-1:-1;27346:94:0;;27366:6;;27346:19;:94::i;:::-;-1:-1:-1;27504:8:0;;27458:23;;27484:29;;27496:6;;-1:-1:-1;;;;;27504:8:0;27484:11;:29::i;:::-;27458:55;-1:-1:-1;27628:34:0;27646:16;27458:55;27628:34;:::i;:::-;27616:46;;27254:423;;27099:578;-1:-1:-1;;;;;;;27701:16:0;;;27697:693;;27733:139;27770:6;27778:80;;;;;;;;27798:10;-1:-1:-1;;;;;27778:80:0;;;;;27822:9;-1:-1:-1;;;;;27778:80:0;;;;;27842:14;27778:80;;;27733:19;:139::i;:::-;;27697:693;;;27903:32;27938:39;27950:6;27966:9;27938:11;:39::i;:::-;27903:74;;27991:139;28028:6;28036:80;;;;;;;;28056:10;-1:-1:-1;;;;;28036:80:0;;;;;28080:9;-1:-1:-1;;;;;28036:80:0;;;;;28100:14;28036:80;;;27991:19;:139::i;:::-;;28144:31;28178:39;28190:6;28206:9;28178:11;:39::i;:::-;28144:73;-1:-1:-1;28329:50:0;28355:24;28144:73;28329:50;:::i;:::-;28312:67;;27889:501;;27697:693;28400:44;;-1:-1:-1;;;28400:44:0;;;;;4432:25:142;;;-1:-1:-1;;;;;28400:28:0;;;;;4405:18:142;;28400:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;28460:46:0;;;21847:25:142;;;21903:2;21888:18;;21881:34;;;28471:7:0;;-1:-1:-1;28460:46:0;;-1:-1:-1;21820:18:142;28460:46:0;;;;;;;26717:1796;;;;26634:1879;;;:::o;21910:142::-;21987:35;22002:7;22011:10;21987:14;:35::i;5040:495:12:-;-1:-1:-1;;5416:16:12;;-1:-1:-1;;;;;5272:26:12;;;;;;-1:-1:-1;;;;;;;;;;;5373:1:12;;5365:78;5492:27;5040:495::o;28898:132:0:-;-1:-1:-1;;;;;28993:30:0;28970:4;28993:30;;;:19;:30;;;;;;;;;28898:132::o;4749:279:6:-;4867:36;;-1:-1:-1;;;;;;4884:10:6;22128:2:142;22099:15;22095:45;4867:36:6;;;22083:58:142;22157:12;;;22150:28;;;4823:7:6;;;;22194:12:142;;4867:36:6;;;;;;;;;;;;4857:47;;;;;;4842:62;;4968:53;5005:9;5016:4;4968:36;:53::i;:::-;4961:60;4749:279;-1:-1:-1;;;;4749:279:6:o;23131:2681:0:-;23424:8;;:57;;-1:-1:-1;;;23424:57:0;;;;;22391:25:142;;;23470:10:0;22432:18:142;;;22425:60;23393:14:0;;-1:-1:-1;;;;;23424:8:0;;:33;;22364:18:142;;23424:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23419:85;;23490:14;;-1:-1:-1;;;23490:14:0;;;;;;;;;;;23419:85;23526:10;;23524:12;;;;;:::i;:::-;;;;;-1:-1:-1;23764:33:0;;23524:12;;-1:-1:-1;23524:12:0;;23675:25;;23764:33;;23524:12;;23764:33;;23008:19:142;;;-1:-1:-1;;;23052:2:142;23043:12;;23036:29;23090:2;23081:12;;22778:321;23764:33:0;;;;-1:-1:-1;;23764:33:0;;;;;;;;;23754:44;;23764:33;23754:44;;;;23864:228;;;;;;;;-1:-1:-1;;;;;23864:228:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23845:16;24159:13;;;:5;:13;;;;;;:20;;;;;;;;;;;;;;-1:-1:-1;;;;;;24159:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23754:44;;-1:-1:-1;23764:33:0;;24159:13;:20;;;;;;;;;;:::i;:::-;-1:-1:-1;;;24159:20:0;;;;;;;;;;;;;;;;;;24239:39;24250:15;24267:10;24239;:39::i;:::-;24337:49;24351:17;24370:15;24337:13;:49::i;:::-;24541:47;;-1:-1:-1;;;24541:47:0;;-1:-1:-1;;;;;24541:20:0;;;;;:47;;24562:6;;24570:17;;24541:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24628:6;24603:9;-1:-1:-1;;;;;24603:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:31;;:80;;;;24678:4;-1:-1:-1;;;;;24638:45:0;24646:9;-1:-1:-1;;;;;24646:17:0;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;24638:45:0;;;24603:80;24599:103;;;24692:10;;-1:-1:-1;;;24692:10:0;;;;;;;;;;;24599:103;24775:16;;24750:22;24801:266;24821:14;24817:1;:18;24801:266;;;24852:15;24870:9;24880:1;24870:12;;;;;;;;:::i;:::-;;;;;;;24852:30;;24919:1;-1:-1:-1;;;;;24900:21:0;:7;-1:-1:-1;;;;;24900:21:0;;24896:48;;24930:14;;-1:-1:-1;;;24930:14:0;;;;;;;;;;;24896:48;24959:38;24970:17;24989:7;24959:10;:38::i;:::-;-1:-1:-1;25039:3:0;;24801:266;;;-1:-1:-1;25081:7:0;;:11;25077:554;;-1:-1:-1;;;;;25359:16:0;;4445:42:9;25359:16:0;:52;;;;;25401:9;25390:7;25380;;:17;;;;:::i;:::-;:30;;25359:52;25358:100;;;-1:-1:-1;;;;;;25417:16:0;;4445:42:9;25417:16:0;;;;:40;;;25448:9;25437:7;;:20;;25417:40;25354:164;;;25485:18;;-1:-1:-1;;;25485:18:0;;;;;;;;;;;25354:164;25555:8;;25565:7;;25531:42;;4445::9;;-1:-1:-1;;;;;25555:8:0;;;;25531:15;:42::i;:::-;25604:6;25592:28;25612:7;;25592:28;;;;4432:25:142;;4420:2;4405:18;;4286:177;25592:28:0;;;;;;;;25077:554;25645:11;;25641:79;;25672:37;25682:7;25691:6;25699:9;25672;:37::i;:::-;25755:10;25747:6;25735:70;25767:9;25778:6;25786:7;25795:9;25735:70;;;;;;;;;:::i;:::-;;;;;;;;23409:2403;;;;23131:2681;;;;;;;;;:::o;30642:199::-;-1:-1:-1;;;;;30717:23:0;;30713:50;;30749:14;;-1:-1:-1;;;30749:14:0;;;;;;;;;;;30713:50;30774:8;:20;;-1:-1:-1;;;;;;30774:20:0;-1:-1:-1;;;;;30774:20:0;;;;;;;;30809:25;;;;;;;:::i;31426:125::-;31487:7;:18;;;31521:23;;4432:25:142;;;31521:23:0;;4420:2:142;4405:18;31521:23:0;4286:177:142;4520:448:12;-1:-1:-1;;;;;4709:26:12;-1:-1:-1;;4784:38:12;;;4709:26;4940:1;-1:-1:-1;;;;;;;;;;;4940:1:12;;4889:63;4520:448;:::o;31041:198:0:-;31126:4;31112:11;:18;31108:44;;;31139:13;;-1:-1:-1;;;31139:13:0;;;;;;;;;;;31108:44;31163:10;:24;;;31203:29;;4432:25:142;;;31203:29:0;;4420:2:142;4405:18;31203:29:0;4286:177:142;29346:153:0;29426:4;29457:14;;;:5;:14;;;;;:24;;;29449:43;;29483:8;29449:7;:43::i;2455:490:14:-;2711:4;2705;2699;2693;2685:6;2681:2;2674:5;2669:47;2659:270;;2822:10;2816:4;2809:24;2910:4;2904;2897:18;11454:1189;11617:2;11611:4;11604:16;11674:6;11668:4;11661:20;-1:-1:-1;;;11808:4:14;11801:48;12272:4;12266;12260;12254;12251:1;12244:5;12237;12232:45;12192:16;12185:24;12181:1;12174:4;12168:11;12165:18;12162:48;11890:405;11863:655;;12411:10;12405:4;12398:24;12499:4;12493;12486:18;11863:655;12625:1;12619:4;12612:15;11454:1189;;;:::o;4173:501:43:-;4261:22;4269:4;4275:7;4261;:22::i;:::-;4256:412;;4444:39;4475:7;4444:30;:39::i;:::-;4554:49;4593:4;4600:2;4554:30;:49::i;:::-;4351:274;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4351:274:43;;;;;;;;;;-1:-1:-1;;;4299:358:43;;;;;;;:::i;6019:500:10:-;6150:20;;;;6117:4;;-1:-1:-1;;;;;;;6184:16:10;;;6180:312;;6260:6;6248:9;:18;6244:48;;;6275:17;;-1:-1:-1;;;6275:17:10;;;;;;;;;;;6244:48;6307:57;6339:13;:16;;;6357:6;6307:31;:57::i;:::-;6180:312;;;6395:86;6428:6;6436:13;:18;;;6456:13;:16;;;6474:6;6395:32;:86::i;:::-;-1:-1:-1;6508:4:10;;6019:500;-1:-1:-1;;;6019:500:10:o;7224:263::-;7302:7;-1:-1:-1;;;;;;;7325:16:10;;;7321:160;;-1:-1:-1;;;;;;7364:25:10;;;7357:32;;7321:160;7427:43;7453:6;7461:8;7427:25;:43::i;:::-;7420:50;;;;2118:794:46;2202:16;2534:48;2516:14;2510:4;2506:25;2500:4;2496:36;2493:90;2487:4;2480:104;2741:32;2724:14;2718:4;2714:25;2711:63;2705:4;2698:77;2823:4;2817;2811;2808:1;2800:28;2788:40;-1:-1:-1;;;;;;2855:22:46;;2847:58;;;;-1:-1:-1;;;2847:58:46;;25683:2:142;2847:58:46;;;25665:21:142;25722:2;25702:18;;;25695:30;-1:-1:-1;;;25741:18:142;;;25734:53;25804:18;;2847:58:46;25481:347:142;7523:247:43;7606:25;7634:18;7647:4;7634:12;:18::i;:::-;7662:12;;;;:6;:12;;;;;;:22;;:34;;;7711:52;7606:46;;-1:-1:-1;7687:9:43;;7606:46;;7669:4;;7711:52;;7662:12;7711:52;7596:174;7523:247;;:::o;2473:149:52:-;2531:13;2563:52;-1:-1:-1;;;;;2575:22:52;;376:2;1884:437;1959:13;1984:19;2016:10;2020:6;2016:1;:10;:::i;:::-;:14;;2029:1;2016:14;:::i;:::-;-1:-1:-1;;;;;2006:25:52;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2006:25:52;;1984:47;;-1:-1:-1;;;2041:6:52;2048:1;2041:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2041:15:52;;;;;;;;;-1:-1:-1;;;2066:6:52;2073:1;2066:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2066:15:52;;;;;;;;-1:-1:-1;2096:9:52;2108:10;2112:6;2108:1;:10;:::i;:::-;:14;;2121:1;2108:14;:::i;:::-;2096:26;;2091:128;2128:1;2124;:5;2091:128;;;-1:-1:-1;;;2171:5:52;2179:3;2171:11;2162:21;;;;;;;:::i;:::-;;;;2150:6;2157:1;2150:9;;;;;;;;:::i;:::-;;;;:33;-1:-1:-1;;;;;2150:33:52;;;;;;;;-1:-1:-1;2207:1:52;2197:11;;;;;2131:3;;;:::i;:::-;;;2091:128;;;-1:-1:-1;2236:10:52;;2228:55;;;;-1:-1:-1;;;2228:55:52;;26176:2:142;2228:55:52;;;26158:21:142;;;26195:18;;;26188:30;26254:34;26234:18;;;26227:62;26306:18;;2228:55:52;25974:356:142;7671:1379:14;7854:4;7848:11;7920:6;7914:4;7907:20;7985:2;7979:4;7972:16;8050:4;8046:2;8042:13;8036:4;8029:27;-1:-1:-1;;;8193:4:14;8186:48;8657:4;8651;8645;8639;8636:1;8629:5;8622;8617:45;8577:16;8570:24;8566:1;8559:4;8553:11;8550:18;8547:48;8275:405;8248:659;;8800:10;8794:4;8787:24;8888:4;8882;8875:18;8248:659;8934:1;8928:4;8921:15;8990:4;8983:15;-1:-1:-1;;;;7671:1379:14:o;18299:722::-;18373:14;18478:7;18472:4;18465:21;-1:-1:-1;;;18607:4:14;18600:48;18960:4;18954;18948;18942;18935:5;18928;18917:48;18855:4;18837:16;18834:26;18745:242;18718:4;18712:11;18687:318;18661:344;;18299:722;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:286:142:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:142;;209:43;;199:71;;266:1;263;256:12;497:131;-1:-1:-1;;;;;572:31:142;;562:42;;552:70;;618:1;615;608:12;633:247;692:6;745:2;733:9;724:7;720:23;716:32;713:52;;;761:1;758;751:12;713:52;800:9;787:23;819:31;844:5;819:31;:::i;885:180::-;944:6;997:2;985:9;976:7;972:23;968:32;965:52;;;1013:1;1010;1003:12;965:52;-1:-1:-1;1036:23:142;;885:180;-1:-1:-1;885:180:142:o;1070:250::-;1155:1;1165:113;1179:6;1176:1;1173:13;1165:113;;;1255:11;;;1249:18;1236:11;;;1229:39;1201:2;1194:10;1165:113;;;-1:-1:-1;;1312:1:142;1294:16;;1287:27;1070:250::o;1325:271::-;1367:3;1405:5;1399:12;1432:6;1427:3;1420:19;1448:76;1517:6;1510:4;1505:3;1501:14;1494:4;1487:5;1483:16;1448:76;:::i;:::-;1578:2;1557:15;-1:-1:-1;;1553:29:142;1544:39;;;;1585:4;1540:50;;1325:271;-1:-1:-1;;1325:271:142:o;1601:252::-;1688:5;1682:12;1677:3;1670:25;1652:3;1741:4;1734:5;1730:16;1724:23;1779:4;1772;1767:3;1763:14;1756:28;1800:47;1841:4;1836:3;1832:14;1818:12;1800:47;:::i;1858:774::-;2031:2;2020:9;2013:21;2076:6;2070:13;2065:2;2054:9;2050:18;2043:41;1994:4;2131:2;2123:6;2119:15;2113:22;2171:1;2167;2162:3;2158:11;2154:19;2227:2;2213:12;2209:21;2204:2;2193:9;2189:18;2182:49;2295:2;2289;2281:6;2277:15;2271:22;2267:31;2262:2;2251:9;2247:18;2240:59;;;2348:2;2340:6;2336:15;2330:22;2389:4;2383:3;2372:9;2368:19;2361:33;2417:63;2475:3;2464:9;2460:19;2444:14;2417:63;:::i;:::-;2403:77;;2535:3;2527:6;2523:16;2517:23;2511:3;2500:9;2496:19;2489:52;2597:3;2589:6;2585:16;2579:23;2572:4;2561:9;2557:20;2550:53;2620:6;2612:14;;;1858:774;;;;:::o;2637:127::-;2698:10;2693:3;2689:20;2686:1;2679:31;2729:4;2726:1;2719:15;2753:4;2750:1;2743:15;2769:275;2840:2;2834:9;2905:2;2886:13;;-1:-1:-1;;2882:27:142;2870:40;;-1:-1:-1;;;;;2925:34:142;;2961:22;;;2922:62;2919:88;;;2987:18;;:::i;:::-;3023:2;3016:22;2769:275;;-1:-1:-1;2769:275:142:o;3049:406::-;3113:5;-1:-1:-1;;;;;3136:30:142;;3133:56;;;3169:18;;:::i;:::-;3207:57;3252:2;3231:15;;-1:-1:-1;;3227:29:142;3258:4;3223:40;3207:57;:::i;:::-;3198:66;;3287:6;3280:5;3273:21;3327:3;3318:6;3313:3;3309:16;3306:25;3303:45;;;3344:1;3341;3334:12;3303:45;3393:6;3388:3;3381:4;3374:5;3370:16;3357:43;3447:1;3440:4;3431:6;3424:5;3420:18;3416:29;3409:40;3049:406;;;;;:::o;3460:220::-;3502:5;3555:3;3548:4;3540:6;3536:17;3532:27;3522:55;;3573:1;3570;3563:12;3522:55;3595:79;3670:3;3661:6;3648:20;3641:4;3633:6;3629:17;3595:79;:::i;3685:388::-;3762:6;3770;3823:2;3811:9;3802:7;3798:23;3794:32;3791:52;;;3839:1;3836;3829:12;3791:52;3862:23;;;-1:-1:-1;3936:2:142;3921:18;;3908:32;-1:-1:-1;;;;;3952:30:142;;3949:50;;;3995:1;3992;3985:12;3949:50;4018:49;4059:7;4050:6;4039:9;4035:22;4018:49;:::i;:::-;4008:59;;;3685:388;;;;;:::o;4078:203::-;-1:-1:-1;;;;;4242:32:142;;;;4224:51;;4212:2;4197:18;;4078:203::o;4468:183::-;4528:4;-1:-1:-1;;;;;4550:30:142;;4547:56;;;4583:18;;:::i;:::-;-1:-1:-1;4628:1:142;4624:14;4640:4;4620:25;;4468:183::o;4656:886::-;4708:5;4761:3;4754:4;4746:6;4742:17;4738:27;4728:55;;4779:1;4776;4769:12;4728:55;4815:6;4802:20;4841:4;4865:60;4881:43;4921:2;4881:43;:::i;:::-;4865:60;:::i;:::-;4959:15;;;5045:1;5041:10;;;;5029:23;;5025:32;;;4990:12;;;;5069:15;;;5066:35;;;5097:1;5094;5087:12;5066:35;5133:2;5125:6;5121:15;5145:368;5161:6;5156:3;5153:15;5145:368;;;5234:17;;-1:-1:-1;;;;;5267:35:142;;5264:125;;;5343:1;5372:2;5368;5361:14;5264:125;5414:56;5466:3;5461:2;5447:11;5439:6;5435:24;5431:33;5414:56;:::i;:::-;5402:69;;-1:-1:-1;5491:12:142;;;;5178;;5145:368;;;-1:-1:-1;5531:5:142;4656:886;-1:-1:-1;;;;;;4656:886:142:o;5547:1147::-;5674:6;5682;5735:2;5723:9;5714:7;5710:23;5706:32;5703:52;;;5751:1;5748;5741:12;5703:52;5778:23;;-1:-1:-1;;;;;5850:14:142;;;5847:34;;;5877:1;5874;5867:12;5847:34;5915:6;5904:9;5900:22;5890:32;;5960:7;5953:4;5949:2;5945:13;5941:27;5931:55;;5982:1;5979;5972:12;5931:55;6018:2;6005:16;6040:4;6064:60;6080:43;6120:2;6080:43;:::i;6064:60::-;6158:15;;;6240:1;6236:10;;;;6228:19;;6224:28;;;6189:12;;;;6264:19;;;6261:39;;;6296:1;6293;6286:12;6261:39;6320:11;;;;6340:142;6356:6;6351:3;6348:15;6340:142;;;6422:17;;6410:30;;6373:12;;;;6460;;;;6340:142;;;6501:5;-1:-1:-1;;6544:18:142;;6531:32;;-1:-1:-1;;6575:16:142;;;6572:36;;;6604:1;6601;6594:12;6572:36;;6627:61;6680:7;6669:8;6658:9;6654:24;6627:61;:::i;6699:461::-;6752:3;6790:5;6784:12;6817:6;6812:3;6805:19;6843:4;6872:2;6867:3;6863:12;6856:19;;6909:2;6902:5;6898:14;6930:1;6940:195;6954:6;6951:1;6948:13;6940:195;;;7019:13;;-1:-1:-1;;;;;7015:39:142;7003:52;;7075:12;;;;7110:15;;;;7051:1;6969:9;6940:195;;;-1:-1:-1;7151:3:142;;6699:461;-1:-1:-1;;;;;6699:461:142:o;7165:261::-;7344:2;7333:9;7326:21;7307:4;7364:56;7416:2;7405:9;7401:18;7393:6;7364:56;:::i;7798:388::-;7866:6;7874;7927:2;7915:9;7906:7;7902:23;7898:32;7895:52;;;7943:1;7940;7933:12;7895:52;7982:9;7969:23;8001:31;8026:5;8001:31;:::i;:::-;8051:5;-1:-1:-1;8108:2:142;8093:18;;8080:32;8121:33;8080:32;8121:33;:::i;:::-;8173:7;8163:17;;;7798:388;;;;;:::o;8191:315::-;8259:6;8267;8320:2;8308:9;8299:7;8295:23;8291:32;8288:52;;;8336:1;8333;8326:12;8288:52;8372:9;8359:23;8349:33;;8432:2;8421:9;8417:18;8404:32;8445:31;8470:5;8445:31;:::i;8831:737::-;8885:5;8938:3;8931:4;8923:6;8919:17;8915:27;8905:55;;8956:1;8953;8946:12;8905:55;8992:6;8979:20;9018:4;9042:60;9058:43;9098:2;9058:43;:::i;9042:60::-;9136:15;;;9222:1;9218:10;;;;9206:23;;9202:32;;;9167:12;;;;9246:15;;;9243:35;;;9274:1;9271;9264:12;9243:35;9310:2;9302:6;9298:15;9322:217;9338:6;9333:3;9330:15;9322:217;;;9418:3;9405:17;9435:31;9460:5;9435:31;:::i;:::-;9479:18;;9517:12;;;;9355;;9322:217;;9573:635;9684:6;9692;9700;9753:2;9741:9;9732:7;9728:23;9724:32;9721:52;;;9769:1;9766;9759:12;9721:52;9792:23;;;-1:-1:-1;9866:2:142;9851:18;;9838:32;-1:-1:-1;;;;;9919:14:142;;;9916:34;;;9946:1;9943;9936:12;9916:34;9969:61;10022:7;10013:6;10002:9;9998:22;9969:61;:::i;:::-;9959:71;;10083:2;10072:9;10068:18;10055:32;10039:48;;10112:2;10102:8;10099:16;10096:36;;;10128:1;10125;10118:12;10096:36;;10151:51;10194:7;10183:8;10172:9;10168:24;10151:51;:::i;:::-;10141:61;;;9573:635;;;;;:::o;10663:248::-;10731:6;10739;10792:2;10780:9;10771:7;10767:23;10763:32;10760:52;;;10808:1;10805;10798:12;10760:52;-1:-1:-1;;10831:23:142;;;10901:2;10886:18;;;10873:32;;-1:-1:-1;10663:248:142:o;10916:734::-;10971:5;11019:4;11007:9;11002:3;10998:19;10994:30;10991:50;;;11037:1;11034;11027:12;10991:50;11070:4;11064:11;;;11102:17;;-1:-1:-1;;;;;11171:18:142;;;11191:22;;;11168:46;11165:72;;;11217:18;;:::i;:::-;11259:10;11253:4;11246:24;11288:6;11279:15;;11331:9;11318:23;11310:6;11303:39;11393:2;11382:9;11378:18;11365:32;11351:46;;11420:2;11412:6;11409:14;11406:34;;;11436:1;11433;11426:12;11406:34;-1:-1:-1;11459:22:142;;11512:4;11504:13;;11500:23;-1:-1:-1;11490:51:142;;11537:1;11534;11527:12;11490:51;11574:69;11639:3;11634:2;11621:16;11616:2;11612;11608:11;11574:69;:::i;:::-;11569:2;11561:6;11557:15;11550:94;;;10916:734;;;;:::o;11655:415::-;11749:6;11757;11810:2;11798:9;11789:7;11785:23;11781:32;11778:52;;;11826:1;11823;11816:12;11778:52;11849:23;;;-1:-1:-1;11923:2:142;11908:18;;11895:32;-1:-1:-1;;;;;11939:30:142;;11936:50;;;11982:1;11979;11972:12;11936:50;12005:59;12056:7;12047:6;12036:9;12032:22;12005:59;:::i;12075:1208::-;12248:6;12256;12264;12272;12280;12288;12296;12349:3;12337:9;12328:7;12324:23;12320:33;12317:53;;;12366:1;12363;12356:12;12317:53;12402:9;12389:23;12379:33;;12462:2;12451:9;12447:18;12434:32;12475:31;12500:5;12475:31;:::i;:::-;12525:5;-1:-1:-1;12581:2:142;12566:18;;12553:32;-1:-1:-1;;;;;12634:14:142;;;12631:34;;;12661:1;12658;12651:12;12631:34;12684:49;12725:7;12716:6;12705:9;12701:22;12684:49;:::i;:::-;12674:59;;12785:2;12774:9;12770:18;12757:32;12742:47;;12798:33;12823:7;12798:33;:::i;:::-;12850:7;;-1:-1:-1;12904:3:142;12889:19;;12876:33;;-1:-1:-1;12962:3:142;12947:19;;12934:33;;12979:16;;;12976:36;;;13008:1;13005;12998:12;12976:36;13031:61;13084:7;13073:8;13062:9;13058:24;13031:61;:::i;:::-;13021:71;;13145:3;13134:9;13130:19;13117:33;13101:49;;13175:2;13165:8;13162:16;13159:36;;;13191:1;13188;13181:12;13159:36;;13214:63;13269:7;13258:8;13247:9;13243:24;13214:63;:::i;:::-;13204:73;;;12075:1208;;;;;;;;;;:::o;13548:675::-;13651:6;13659;13667;13675;13683;13736:3;13724:9;13715:7;13711:23;13707:33;13704:53;;;13753:1;13750;13743:12;13704:53;13792:9;13779:23;13811:31;13836:5;13811:31;:::i;:::-;13861:5;-1:-1:-1;13918:2:142;13903:18;;13890:32;13931:33;13890:32;13931:33;:::i;:::-;13983:7;-1:-1:-1;14042:2:142;14027:18;;14014:32;14055:33;14014:32;14055:33;:::i;:::-;13548:675;;;;-1:-1:-1;14107:7:142;;14161:2;14146:18;;14133:32;;-1:-1:-1;14212:3:142;14197:19;14184:33;;13548:675;-1:-1:-1;;13548:675:142:o;14228:854::-;14357:6;14365;14373;14426:2;14414:9;14405:7;14401:23;14397:32;14394:52;;;14442:1;14439;14432:12;14394:52;14469:23;;-1:-1:-1;;;;;14541:14:142;;;14538:34;;;14568:1;14565;14558:12;14538:34;14606:6;14595:9;14591:22;14581:32;;14651:7;14644:4;14640:2;14636:13;14632:27;14622:55;;14673:1;14670;14663:12;14622:55;14713:2;14700:16;14739:2;14731:6;14728:14;14725:34;;;14755:1;14752;14745:12;14725:34;14810:7;14803:4;14793:6;14790:1;14786:14;14782:2;14778:23;14774:34;14771:47;14768:67;;;14831:1;14828;14821:12;14768:67;14862:4;14854:13;;;;-1:-1:-1;14886:6:142;-1:-1:-1;14930:20:142;;;14917:34;;14963:16;;;14960:36;;;14992:1;14989;14982:12;14960:36;;15015:61;15068:7;15057:8;15046:9;15042:24;15015:61;:::i;15087:380::-;15166:1;15162:12;;;;15209;;;15230:61;;15284:4;15276:6;15272:17;15262:27;;15230:61;15337:2;15329:6;15326:14;15306:18;15303:38;15300:161;;15383:10;15378:3;15374:20;15371:1;15364:31;15418:4;15415:1;15408:15;15446:4;15443:1;15436:15;15300:161;;15087:380;;;:::o;15472:315::-;15647:2;15636:9;15629:21;15610:4;15667:45;15708:2;15697:9;15693:18;15685:6;15667:45;:::i;:::-;15659:53;;15777:1;15773;15768:3;15764:11;15760:19;15752:6;15748:32;15743:2;15732:9;15728:18;15721:60;15472:315;;;;;:::o;15792:251::-;15862:6;15915:2;15903:9;15894:7;15890:23;15886:32;15883:52;;;15931:1;15928;15921:12;15883:52;15963:9;15957:16;15982:31;16007:5;15982:31;:::i;16048:127::-;16109:10;16104:3;16100:20;16097:1;16090:31;16140:4;16137:1;16130:15;16164:4;16161:1;16154:15;16180:184;16250:6;16303:2;16291:9;16282:7;16278:23;16274:32;16271:52;;;16319:1;16316;16309:12;16271:52;-1:-1:-1;16342:16:142;;16180:184;-1:-1:-1;16180:184:142:o;16785:519::-;17038:2;17027:9;17020:21;17001:4;17064:56;17116:2;17105:9;17101:18;17093:6;17064:56;:::i;:::-;17168:9;17160:6;17156:22;17151:2;17140:9;17136:18;17129:50;17196:33;17222:6;17214;17196:33;:::i;:::-;17188:41;;;17294:1;17290;17285:3;17281:11;17277:19;17269:6;17265:32;17260:2;17249:9;17245:18;17238:60;16785:519;;;;;;:::o;17435:545::-;17537:2;17532:3;17529:11;17526:448;;;17573:1;17598:5;17594:2;17587:17;17643:4;17639:2;17629:19;17713:2;17701:10;17697:19;17694:1;17690:27;17684:4;17680:38;17749:4;17737:10;17734:20;17731:47;;;-1:-1:-1;17772:4:142;17731:47;17827:2;17822:3;17818:12;17815:1;17811:20;17805:4;17801:31;17791:41;;17882:82;17900:2;17893:5;17890:13;17882:82;;;17945:17;;;17926:1;17915:13;17882:82;;;17886:3;;;17435:545;;;:::o;18156:1352::-;18276:10;;-1:-1:-1;;;;;18298:30:142;;18295:56;;;18331:18;;:::i;:::-;18360:97;18450:6;18410:38;18442:4;18436:11;18410:38;:::i;:::-;18404:4;18360:97;:::i;:::-;18512:4;;18576:2;18565:14;;18593:1;18588:663;;;;19295:1;19312:6;19309:89;;;-1:-1:-1;19364:19:142;;;19358:26;19309:89;-1:-1:-1;;18113:1:142;18109:11;;;18105:24;18101:29;18091:40;18137:1;18133:11;;;18088:57;19411:81;;18558:944;;18588:663;17382:1;17375:14;;;17419:4;17406:18;;-1:-1:-1;;18624:20:142;;;18742:236;18756:7;18753:1;18750:14;18742:236;;;18845:19;;;18839:26;18824:42;;18937:27;;;;18905:1;18893:14;;;;18772:19;;18742:236;;;18746:3;19006:6;18997:7;18994:19;18991:201;;;19067:19;;;19061:26;-1:-1:-1;;19150:1:142;19146:14;;;19162:3;19142:24;19138:37;19134:42;19119:58;19104:74;;18991:201;-1:-1:-1;;;;;19238:1:142;19222:14;;;19218:22;19205:36;;-1:-1:-1;18156:1352:142:o;19513:261::-;19694:2;19683:9;19676:21;19657:4;19714:54;19764:2;19753:9;19749:18;19741:6;19714:54;:::i;19779:127::-;19840:10;19835:3;19831:20;19828:1;19821:31;19871:4;19868:1;19861:15;19895:4;19892:1;19885:15;19911:135;19950:3;19971:17;;;19968:43;;19991:18;;:::i;:::-;-1:-1:-1;20038:1:142;20027:13;;19911:135::o;21015:168::-;21088:9;;;21119;;21136:15;;;21130:22;;21116:37;21106:71;;21157:18;;:::i;21188:217::-;21228:1;21254;21244:132;;21298:10;21293:3;21289:20;21286:1;21279:31;21333:4;21330:1;21323:15;21361:4;21358:1;21351:15;21244:132;-1:-1:-1;21390:9:142;;21188:217::o;21410:128::-;21477:9;;;21498:11;;;21495:37;;;21512:18;;:::i;21543:125::-;21608:9;;;21629:10;;;21626:36;;;21642:18;;:::i;22496:277::-;22563:6;22616:2;22604:9;22595:7;22591:23;22587:32;22584:52;;;22632:1;22629;22622:12;22584:52;22664:9;22658:16;22717:5;22710:13;22703:21;22696:5;22693:32;22683:60;;22739:1;22736;22729:12;23104:289;23279:6;23268:9;23261:25;23322:2;23317;23306:9;23302:18;23295:30;23242:4;23342:45;23383:2;23372:9;23368:18;23360:6;23342:45;:::i;23668:550::-;-1:-1:-1;;;;;23989:15:142;;;23971:34;;24041:15;;24036:2;24021:18;;24014:43;24088:2;24073:18;;24066:34;;;24136:3;24131:2;24116:18;;24109:31;;;23914:4;;24157:55;;24192:19;;24184:6;24157:55;:::i;:::-;24149:63;23668:550;-1:-1:-1;;;;;;23668:550:142:o;24439:812::-;-1:-1:-1;;;24845:3:142;24838:38;24820:3;24905:6;24899:13;24921:75;24989:6;24984:2;24979:3;24975:12;24968:4;24960:6;24956:17;24921:75;:::i;:::-;-1:-1:-1;;;25055:2:142;25015:16;;;25047:11;;;25040:40;25105:13;;25127:76;25105:13;25189:2;25181:11;;25174:4;25162:17;;25127:76;:::i;:::-;25223:17;25242:2;25219:26;;24439:812;-1:-1:-1;;;;24439:812:142:o;25256:220::-;25405:2;25394:9;25387:21;25368:4;25425:45;25466:2;25455:9;25451:18;25443:6;25425:45;:::i;25833:136::-;25872:3;25900:5;25890:39;;25909:18;;:::i;:::-;-1:-1:-1;;;25945:18:142;;25833:136::o","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","NATIVE()":"a0cf0aea","addPoolManager(uint256,address)":"2cf682b0","addToCloneableStrategies(address)":"41bba0b4","allocate(uint256,bytes)":"2ec38188","batchAllocate(uint256[],bytes[])":"c6dff1cf","batchRegisterRecipient(uint256[],bytes[])":"1a20bd88","cancelOwnershipHandover()":"54d1f13d","completeOwnershipHandover(address)":"f04e283e","createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])":"77da8caf","createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":"e1007d4a","distribute(uint256,address[],bytes)":"3a5fbd92","fundPool(uint256,uint256)":"5acd6fac","getBaseFee()":"15e812ad","getFeeDenominator()":"f4e1fc41","getPercentFee()":"4edbaadc","getPool(uint256)":"068bcd8d","getRegistry()":"5ab1bd53","getRoleAdmin(bytes32)":"248a9ca3","getStrategy(uint256)":"cfc0cc34","getTreasury()":"3b19e84a","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(address,address,address,uint256,uint256)":"a6b63eb8","isCloneableStrategy(address)":"ab2ec589","isPoolAdmin(uint256,address)":"ab3febc6","isPoolManager(uint256,address)":"29e40d4b","owner()":"8da5cb5b","ownershipHandoverExpiresAt(address)":"fee81cf4","recoverFunds(address,address)":"24ae6a27","registerRecipient(uint256,bytes)":"075c0e9c","removeFromCloneableStrategies(address)":"031e2fa1","removePoolManager(uint256,address)":"7f5a70bd","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","requestOwnershipHandover()":"25692962","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","updateBaseFee(uint256)":"8e690186","updatePercentFee(uint256)":"f54fc4a0","updatePoolMetadata(uint256,(uint256,string))":"5f9ca138","updateRegistry(address)":"1a5da6c8","updateTreasury(address)":"7f51bb1f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AMOUNT_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewOwnerIsZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoHandoverRequest\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BaseFeePaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseFee\",\"type\":\"uint256\"}],\"name\":\"BaseFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"OwnershipHandoverCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"OwnershipHandoverRequested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"percentFee\",\"type\":\"uint256\"}],\"name\":\"PercentFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"PoolFunded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"RegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"}],\"name\":\"TreasuryUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"addPoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"addToCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_datas\",\"type\":\"bytes[]\"}],\"name\":\"batchAllocate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_data\",\"type\":\"bytes[]\"}],\"name\":\"batchRegisterRecipient\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"recipientIds\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cancelOwnershipHandover\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"completeOwnershipHandover\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initStrategyData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initStrategyData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"createPoolWithCustomStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_recipientIds\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"fundPool\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"FEE_DENOMINATOR\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPercentFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getPool\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getStrategy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTreasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"isCloneableStrategy\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolManager\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"result\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"ownershipHandoverExpiresAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"registerRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeFromCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"removePoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"requestOwnershipHandover\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"updateBaseFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"}],\"name\":\"updatePercentFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updatePoolMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"}],\"name\":\"updateRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"}],\"name\":\"updateTreasury\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"details\":\"The contract must be initialized with the 'initialize()' function.\",\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}],\"NewOwnerIsZeroAddress()\":[{\"details\":\"The `newOwner` cannot be the zero address.\"}],\"NoHandoverRequest()\":[{\"details\":\"The `pendingOwner` does not have a valid handover request.\"}],\"Unauthorized()\":[{\"details\":\"The caller is not authorized to call the function.\"}]},\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"params\":{\"amount\":\"Amount of the base fee paid\",\"poolId\":\"ID of the pool the base fee was paid for\"}},\"BaseFeeUpdated(uint256)\":{\"params\":{\"baseFee\":\"New base fee amount\"}},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"OwnershipHandoverCanceled(address)\":{\"details\":\"The ownership handover to `pendingOwner` has been canceled.\"},\"OwnershipHandoverRequested(address)\":{\"details\":\"An ownership handover to `pendingOwner` has been requested.\"},\"OwnershipTransferred(address,address)\":{\"details\":\"The ownership is transferred from `oldOwner` to `newOwner`. This event is intentionally kept the same as OpenZeppelin's Ownable to be compatible with indexers and [EIP-173](https://eips.ethereum.org/EIPS/eip-173), despite it not being as lightweight as a single argument event.\"},\"PercentFeeUpdated(uint256)\":{\"params\":{\"percentFee\":\"New percentage for the fee\"}},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"params\":{\"amount\":\"Amount pool was funded with when created\",\"metadata\":\"Pool metadata\",\"poolId\":\"ID of the pool created\",\"profileId\":\"ID of the profile the pool is associated with\",\"strategy\":\"Address of the strategy contract\",\"token\":\"Address of the token pool was funded with when created\"}},\"PoolFunded(uint256,uint256,uint256)\":{\"params\":{\"amount\":\"Amount funded to the pool\",\"fee\":\"Amount of the fee paid to the treasury\",\"poolId\":\"ID of the pool funded\"}},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"params\":{\"metadata\":\"Pool metadata that was updated\",\"poolId\":\"ID of the pool updated\"}},\"RegistryUpdated(address)\":{\"params\":{\"registry\":\"Address of the new registry\"}},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"StrategyApproved(address)\":{\"params\":{\"strategy\":\"Address of the strategy approved\"}},\"StrategyRemoved(address)\":{\"params\":{\"strategy\":\"Address of the strategy removed\"}},\"TreasuryUpdated(address)\":{\"params\":{\"treasury\":\"Address of the new treasury\"}}},\"kind\":\"dev\",\"methods\":{\"addPoolManager(uint256,address)\":{\"details\":\"Emits 'RoleGranted()' event. 'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address to add\",\"_poolId\":\"ID of the pool\"}},\"addToCloneableStrategies(address)\":{\"details\":\"Emits the 'StrategyApproved()' event. 'msg.sender' must be Allo owner.\",\"params\":{\"_strategy\":\"The address of the strategy\"}},\"allocate(uint256,bytes)\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate().\",\"params\":{\"_data\":\"Encoded data unique to the strategy for that pool\",\"_poolId\":\"ID of the pool\"}},\"batchAllocate(uint256[],bytes[])\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate(). Please note that this is not a 'payable' function, so if you want to send funds to the strategy, you must send the funds using 'fundPool()'.\",\"params\":{\"_datas\":\"encoded data unique to the strategy for that pool\",\"_poolIds\":\"IDs of the pools\"}},\"batchRegisterRecipient(uint256[],bytes[])\":{\"details\":\"Returns the 'recipientIds' from the strategy that have been registered from calling this function. Encoded data unique to a strategy that registerRecipient() requires. Encoded '_data' length must match '_poolIds' length or this will revert with MISMATCH(). Other requirements will be determined by the strategy.\",\"params\":{\"_data\":\"An array of encoded data unique to a strategy that registerRecipient() requires.\",\"_poolIds\":\"ID's of the pools\"},\"returns\":{\"recipientIds\":\"The recipient IDs that have been registered\"}},\"cancelOwnershipHandover()\":{\"details\":\"Cancels the two-step ownership handover to the caller, if any.\"},\"completeOwnershipHandover(address)\":{\"details\":\"Allows the owner to complete the two-step ownership handover to `pendingOwner`. Reverts if there is no existing ownership handover requested by `pendingOwner`.\"},\"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"custom:initstrategydata\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'\",\"details\":\"'msg.sender' must be owner or member of the profile id passed as '_profileId'.\",\"params\":{\"_amount\":\"The amount of the token\",\"_initStrategyData\":\"The data to initialize the strategy\",\"_managers\":\"The managers of the pool\",\"_metadata\":\"The metadata of the pool\",\"_profileId\":\"The ID of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\",\"_strategy\":\"The address of the strategy contract the pool will use.\",\"_token\":\"The address of the token\"}},\"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"details\":\"'msg.sender' must be a member or owner of a profile to create a pool with or without a custom strategy, The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'. The strategy address passed must not be a cloneable strategy. The strategy address passed must not be the zero address. 'msg.sender' must be a member or owner of the profile id passed as '_profileId'.\",\"params\":{\"_amount\":\"The amount of the token you want to deposit into the pool on initialization\",\"_initStrategyData\":\"The data to initialize the strategy\",\"_managers\":\"The managers of the pool, and can be added/removed later by the pool admin\",\"_metadata\":\"The 'Metadata' of the pool, this uses our 'Meatdata.sol' struct (consistent throughout the protocol)\",\"_profileId\":\"The 'profileId' of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\",\"_strategy\":\"The address of the deployed custom strategy\",\"_token\":\"The address of the token you want to use in your pool\"},\"returns\":{\"poolId\":\"The ID of the pool\"}},\"distribute(uint256,address[],bytes)\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'strategy.distribute()'.\",\"params\":{\"_data\":\"Encoded data unique to the strategy\",\"_poolId\":\"ID of the pool\",\"_recipientIds\":\"Ids of the recipients of the distribution\"}},\"fundPool(uint256,uint256)\":{\"details\":\"Anyone can fund a pool and call this function.\",\"params\":{\"_amount\":\"The amount to be deposited into the pool\",\"_poolId\":\"ID of the pool\"}},\"getBaseFee()\":{\"returns\":{\"_0\":\"The base fee\"}},\"getFeeDenominator()\":{\"returns\":{\"FEE_DENOMINATOR\":\"The fee denominator is (1e18) which represents 100%\"}},\"getPercentFee()\":{\"returns\":{\"_0\":\"The fee percentage (1e18 = 100%)\"}},\"getPool(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"The 'Pool' struct\"}},\"getRegistry()\":{\"returns\":{\"_0\":\"The registry address\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getStrategy(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"The address of the strategy\"}},\"getTreasury()\":{\"returns\":{\"_0\":\"The treasury address\"}},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(address,address,address,uint256,uint256)\":{\"details\":\"During upgrade -> a higher version should be passed to reinitializer\",\"params\":{\"_baseFee\":\"The base fee\",\"_owner\":\"The owner of allo\",\"_percentFee\":\"The percentage fee\",\"_registry\":\"The address of the registry\",\"_treasury\":\"The address of the treasury\"}},\"isCloneableStrategy(address)\":{\"params\":{\"_strategy\":\"The address of the strategy\"},\"returns\":{\"_0\":\"'true' if the strategy is cloneable, otherwise 'false'\"}},\"isPoolAdmin(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"'true' if the address is a pool admin, otherwise 'false'\"}},\"isPoolManager(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"'true' if the address is a pool manager, otherwise 'false'\"}},\"owner()\":{\"details\":\"Returns the owner of the contract.\"},\"ownershipHandoverExpiresAt(address)\":{\"details\":\"Returns the expiry timestamp for the two-step ownership handover to `pendingOwner`.\"},\"recoverFunds(address,address)\":{\"details\":\"'msg.sender' must be Allo owner\",\"params\":{\"_recipient\":\"The recipient\",\"_token\":\"The token to transfer\"}},\"registerRecipient(uint256,bytes)\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of registerRecipient().\",\"params\":{\"_data\":\"Encoded data unique to a strategy that registerRecipient() requires\",\"_poolId\":\"ID of the pool\"},\"returns\":{\"_0\":\"recipientId The recipient ID that has been registered\"}},\"removeFromCloneableStrategies(address)\":{\"details\":\"Emits 'StrategyRemoved()' event. 'msg.sender must be Allo owner.\",\"params\":{\"_strategy\":\"The address of the strategy\"}},\"removePoolManager(uint256,address)\":{\"details\":\"Emits 'RoleRevoked()' event. 'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address to remove\",\"_poolId\":\"ID of the pool\"}},\"renounceOwnership()\":{\"details\":\"Allows the owner to renounce their ownership.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"requestOwnershipHandover()\":{\"details\":\"Request a two-step ownership handover to the caller. The request will automatically expire in 48 hours (172800 seconds) by default.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Allows the owner to transfer the ownership to `newOwner`.\"},\"updateBaseFee(uint256)\":{\"details\":\"Use this to update the base fee. 'msg.sender' must be Allo owner.\",\"params\":{\"_baseFee\":\"The new base fee\"}},\"updatePercentFee(uint256)\":{\"details\":\"Use this to update the fee percentage. 'msg.sender' must be Allo owner.\",\"params\":{\"_percentFee\":\"The new fee\"}},\"updatePoolMetadata(uint256,(uint256,string))\":{\"details\":\"'msg.sender' must be a pool manager. Emits 'PoolMetadataUpdated()' event.\",\"params\":{\"_metadata\":\"The new metadata of the pool\",\"_poolId\":\"ID of the pool\"}},\"updateRegistry(address)\":{\"details\":\"Use this to update the registry address. 'msg.sender' must be Allo owner.\",\"params\":{\"_registry\":\"The new registry address\"}},\"updateTreasury(address)\":{\"details\":\"Use this to update the treasury address. 'msg.sender' must be Allo owner.\",\"params\":{\"_treasury\":\"The new treasury address\"}}},\"stateVariables\":{\"_nonces\":{\"details\":\"'msg.sender' -> 'nonce' for cloning strategies\"},\"baseFee\":{\"details\":\"This is different from the 'percentFee' in that this is a flat fee and not a percentage. So if you want to create a pool with a base fee of 100 DAI, then you would pass 100 DAI to the 'createPool()' function and the pool would be created with 100 DAI less than the amount you passed to the function. The base fee is sent to the treasury address.\"},\"cloneableStrategies\":{\"details\":\"Strategy.address -> bool\"},\"percentFee\":{\"details\":\"How the percentage is represented in our contracts: 1e18 = 100%, 1e17 = 10%, 1e16 = 1%, 1e15 = 0.1%\"},\"pools\":{\"details\":\"'Pool.id' -> 'Pool'\"}},\"title\":\"Allo\",\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"AMOUNT_MISMATCH()\":[{\"notice\":\"Thrown when the amount of tokens sent does not match the amount of tokens expected\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"notice\":\"Emitted when the base fee is paid\"},\"BaseFeeUpdated(uint256)\":{\"notice\":\"Emitted when the base fee is updated\"},\"PercentFeeUpdated(uint256)\":{\"notice\":\"Emitted when the percent fee is updated\"},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"notice\":\"Event emitted when a new pool is created\"},\"PoolFunded(uint256,uint256,uint256)\":{\"notice\":\"Emitted when a pool is funded\"},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"notice\":\"Emitted when a pools metadata is updated\"},\"RegistryUpdated(address)\":{\"notice\":\"Emitted when the registry address is updated\"},\"StrategyApproved(address)\":{\"notice\":\"Emitted when a strategy is approved and added to the cloneable strategies\"},\"StrategyRemoved(address)\":{\"notice\":\"Emitted when a strategy is removed from the cloneable strategies\"},\"TreasuryUpdated(address)\":{\"notice\":\"Emitted when the treasury address is updated\"}},\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"addPoolManager(uint256,address)\":{\"notice\":\"Add a pool manager\"},\"addToCloneableStrategies(address)\":{\"notice\":\"Add a strategy to the allowlist.\"},\"allocate(uint256,bytes)\":{\"notice\":\"Allocate to a recipient or multiple recipients.\"},\"batchAllocate(uint256[],bytes[])\":{\"notice\":\"Allocate to multiple pools\"},\"batchRegisterRecipient(uint256[],bytes[])\":{\"notice\":\"Register multiple recipients to multiple pools.\"},\"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"notice\":\"Creates a new pool (by cloning a cloneable strategies).\"},\"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"notice\":\"Creates a new pool (with a custom strategy)\"},\"distribute(uint256,address[],bytes)\":{\"notice\":\"Distribute to a recipient or multiple recipients.\"},\"fundPool(uint256,uint256)\":{\"notice\":\"Fund a pool.\"},\"getBaseFee()\":{\"notice\":\"Getter for base fee.\"},\"getFeeDenominator()\":{\"notice\":\"Getter for the fee denominator\"},\"getPercentFee()\":{\"notice\":\"Getter for fee percentage.\"},\"getPool(uint256)\":{\"notice\":\"Getter for the 'Pool'.\"},\"getRegistry()\":{\"notice\":\"Getter for registry.\"},\"getStrategy(uint256)\":{\"notice\":\"Getter for the strategy.\"},\"getTreasury()\":{\"notice\":\"Getter for treasury address.\"},\"initialize(address,address,address,uint256,uint256)\":{\"notice\":\"Initializes the contract after an upgrade\"},\"isCloneableStrategy(address)\":{\"notice\":\"Getter for if strategy is cloneable.\"},\"isPoolAdmin(uint256,address)\":{\"notice\":\"Checks if the address is a pool admin.\"},\"isPoolManager(uint256,address)\":{\"notice\":\"Checks if the address is a pool manager\"},\"recoverFunds(address,address)\":{\"notice\":\"Transfer the funds recovered to the recipient\"},\"registerRecipient(uint256,bytes)\":{\"notice\":\"Passes _data through to the strategy for that pool.\"},\"removeFromCloneableStrategies(address)\":{\"notice\":\"Remove a strategy from the allowlist\"},\"removePoolManager(uint256,address)\":{\"notice\":\"Remove a pool manager\"},\"updateBaseFee(uint256)\":{\"notice\":\"Updates the base fee.\"},\"updatePercentFee(uint256)\":{\"notice\":\"Updates the fee percentage.\"},\"updatePoolMetadata(uint256,(uint256,string))\":{\"notice\":\"Update pool metadata\"},\"updateRegistry(address)\":{\"notice\":\"Updates the registry address.\"},\"updateTreasury(address)\":{\"notice\":\"Updates the treasury address.\"}},\"notice\":\"This contract is used to create & manage pools as well as manage the protocol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/Allo.sol\":\"Allo\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"AMOUNT_MISMATCH"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[],"type":"error","name":"NewOwnerIsZeroAddress"},{"inputs":[],"type":"error","name":"NoHandoverRequest"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"BaseFeePaid","anonymous":false},{"inputs":[{"internalType":"uint256","name":"baseFee","type":"uint256","indexed":false}],"type":"event","name":"BaseFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipHandoverCanceled","anonymous":false},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipHandoverRequested","anonymous":false},{"inputs":[{"internalType":"address","name":"oldOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"percentFee","type":"uint256","indexed":false}],"type":"event","name":"PercentFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"contract IStrategy","name":"strategy","type":"address","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolCreated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"fee","type":"uint256","indexed":false}],"type":"event","name":"PoolFunded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"registry","type":"address","indexed":false}],"type":"event","name":"RegistryUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyApproved","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"treasury","type":"address","indexed":false}],"type":"event","name":"TreasuryUpdated","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addPoolManager"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addToCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_datas","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchAllocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_data","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchRegisterRecipient","outputs":[{"internalType":"address[]","name":"recipientIds","type":"address[]"}]},{"inputs":[],"stateMutability":"payable","type":"function","name":"cancelOwnershipHandover"},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address"}],"stateMutability":"payable","type":"function","name":"completeOwnershipHandover"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"bytes","name":"_initStrategyData","type":"bytes"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address[]","name":"_managers","type":"address[]"}],"stateMutability":"payable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"bytes","name":"_initStrategyData","type":"bytes"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address[]","name":"_managers","type":"address[]"}],"stateMutability":"payable","type":"function","name":"createPoolWithCustomStrategy","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address[]","name":"_recipientIds","type":"address[]"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"distribute"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"fundPool"},{"inputs":[],"stateMutability":"view","type":"function","name":"getBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"getFeeDenominator","outputs":[{"internalType":"uint256","name":"FEE_DENOMINATOR","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPercentFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPool","outputs":[{"internalType":"struct IAllo.Pool","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistry","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getStrategy","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getTreasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_registry","type":"address"},{"internalType":"address payable","name":"_treasury","type":"address"},{"internalType":"uint256","name":"_percentFee","type":"uint256"},{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"isCloneableStrategy","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolManager","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"result","type":"address"}]},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address"}],"stateMutability":"view","type":"function","name":"ownershipHandoverExpiresAt","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"registerRecipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeFromCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removePoolManager"},{"inputs":[],"stateMutability":"payable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[],"stateMutability":"payable","type":"function","name":"requestOwnershipHandover"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"payable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateBaseFee"},{"inputs":[{"internalType":"uint256","name":"_percentFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updatePercentFee"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updatePoolMetadata"},{"inputs":[{"internalType":"address","name":"_registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateRegistry"},{"inputs":[{"internalType":"address payable","name":"_treasury","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateTreasury"}],"devdoc":{"kind":"dev","methods":{"addPoolManager(uint256,address)":{"details":"Emits 'RoleGranted()' event. 'msg.sender' must be a pool admin.","params":{"_manager":"The address to add","_poolId":"ID of the pool"}},"addToCloneableStrategies(address)":{"details":"Emits the 'StrategyApproved()' event. 'msg.sender' must be Allo owner.","params":{"_strategy":"The address of the strategy"}},"allocate(uint256,bytes)":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate().","params":{"_data":"Encoded data unique to the strategy for that pool","_poolId":"ID of the pool"}},"batchAllocate(uint256[],bytes[])":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate(). Please note that this is not a 'payable' function, so if you want to send funds to the strategy, you must send the funds using 'fundPool()'.","params":{"_datas":"encoded data unique to the strategy for that pool","_poolIds":"IDs of the pools"}},"batchRegisterRecipient(uint256[],bytes[])":{"details":"Returns the 'recipientIds' from the strategy that have been registered from calling this function. Encoded data unique to a strategy that registerRecipient() requires. Encoded '_data' length must match '_poolIds' length or this will revert with MISMATCH(). Other requirements will be determined by the strategy.","params":{"_data":"An array of encoded data unique to a strategy that registerRecipient() requires.","_poolIds":"ID's of the pools"},"returns":{"recipientIds":"The recipient IDs that have been registered"}},"cancelOwnershipHandover()":{"details":"Cancels the two-step ownership handover to the caller, if any."},"completeOwnershipHandover(address)":{"details":"Allows the owner to complete the two-step ownership handover to `pendingOwner`. Reverts if there is no existing ownership handover requested by `pendingOwner`."},"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"custom:initstrategydata":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'","details":"'msg.sender' must be owner or member of the profile id passed as '_profileId'.","params":{"_amount":"The amount of the token","_initStrategyData":"The data to initialize the strategy","_managers":"The managers of the pool","_metadata":"The metadata of the pool","_profileId":"The ID of the registry profile, used to check if 'msg.sender' is a member or owner of the profile","_strategy":"The address of the strategy contract the pool will use.","_token":"The address of the token"}},"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"details":"'msg.sender' must be a member or owner of a profile to create a pool with or without a custom strategy, The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'. The strategy address passed must not be a cloneable strategy. The strategy address passed must not be the zero address. 'msg.sender' must be a member or owner of the profile id passed as '_profileId'.","params":{"_amount":"The amount of the token you want to deposit into the pool on initialization","_initStrategyData":"The data to initialize the strategy","_managers":"The managers of the pool, and can be added/removed later by the pool admin","_metadata":"The 'Metadata' of the pool, this uses our 'Meatdata.sol' struct (consistent throughout the protocol)","_profileId":"The 'profileId' of the registry profile, used to check if 'msg.sender' is a member or owner of the profile","_strategy":"The address of the deployed custom strategy","_token":"The address of the token you want to use in your pool"},"returns":{"poolId":"The ID of the pool"}},"distribute(uint256,address[],bytes)":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'strategy.distribute()'.","params":{"_data":"Encoded data unique to the strategy","_poolId":"ID of the pool","_recipientIds":"Ids of the recipients of the distribution"}},"fundPool(uint256,uint256)":{"details":"Anyone can fund a pool and call this function.","params":{"_amount":"The amount to be deposited into the pool","_poolId":"ID of the pool"}},"getBaseFee()":{"returns":{"_0":"The base fee"}},"getFeeDenominator()":{"returns":{"FEE_DENOMINATOR":"The fee denominator is (1e18) which represents 100%"}},"getPercentFee()":{"returns":{"_0":"The fee percentage (1e18 = 100%)"}},"getPool(uint256)":{"params":{"_poolId":"The ID of the pool"},"returns":{"_0":"The 'Pool' struct"}},"getRegistry()":{"returns":{"_0":"The registry address"}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"getStrategy(uint256)":{"params":{"_poolId":"The ID of the pool"},"returns":{"_0":"The address of the strategy"}},"getTreasury()":{"returns":{"_0":"The treasury address"}},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"initialize(address,address,address,uint256,uint256)":{"details":"During upgrade -> a higher version should be passed to reinitializer","params":{"_baseFee":"The base fee","_owner":"The owner of allo","_percentFee":"The percentage fee","_registry":"The address of the registry","_treasury":"The address of the treasury"}},"isCloneableStrategy(address)":{"params":{"_strategy":"The address of the strategy"},"returns":{"_0":"'true' if the strategy is cloneable, otherwise 'false'"}},"isPoolAdmin(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool"},"returns":{"_0":"'true' if the address is a pool admin, otherwise 'false'"}},"isPoolManager(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool"},"returns":{"_0":"'true' if the address is a pool manager, otherwise 'false'"}},"owner()":{"details":"Returns the owner of the contract."},"ownershipHandoverExpiresAt(address)":{"details":"Returns the expiry timestamp for the two-step ownership handover to `pendingOwner`."},"recoverFunds(address,address)":{"details":"'msg.sender' must be Allo owner","params":{"_recipient":"The recipient","_token":"The token to transfer"}},"registerRecipient(uint256,bytes)":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of registerRecipient().","params":{"_data":"Encoded data unique to a strategy that registerRecipient() requires","_poolId":"ID of the pool"},"returns":{"_0":"recipientId The recipient ID that has been registered"}},"removeFromCloneableStrategies(address)":{"details":"Emits 'StrategyRemoved()' event. 'msg.sender must be Allo owner.","params":{"_strategy":"The address of the strategy"}},"removePoolManager(uint256,address)":{"details":"Emits 'RoleRevoked()' event. 'msg.sender' must be a pool admin.","params":{"_manager":"The address to remove","_poolId":"ID of the pool"}},"renounceOwnership()":{"details":"Allows the owner to renounce their ownership."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"requestOwnershipHandover()":{"details":"Request a two-step ownership handover to the caller. The request will automatically expire in 48 hours (172800 seconds) by default."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Allows the owner to transfer the ownership to `newOwner`."},"updateBaseFee(uint256)":{"details":"Use this to update the base fee. 'msg.sender' must be Allo owner.","params":{"_baseFee":"The new base fee"}},"updatePercentFee(uint256)":{"details":"Use this to update the fee percentage. 'msg.sender' must be Allo owner.","params":{"_percentFee":"The new fee"}},"updatePoolMetadata(uint256,(uint256,string))":{"details":"'msg.sender' must be a pool manager. Emits 'PoolMetadataUpdated()' event.","params":{"_metadata":"The new metadata of the pool","_poolId":"ID of the pool"}},"updateRegistry(address)":{"details":"Use this to update the registry address. 'msg.sender' must be Allo owner.","params":{"_registry":"The new registry address"}},"updateTreasury(address)":{"details":"Use this to update the treasury address. 'msg.sender' must be Allo owner.","params":{"_treasury":"The new treasury address"}}},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"},"addPoolManager(uint256,address)":{"notice":"Add a pool manager"},"addToCloneableStrategies(address)":{"notice":"Add a strategy to the allowlist."},"allocate(uint256,bytes)":{"notice":"Allocate to a recipient or multiple recipients."},"batchAllocate(uint256[],bytes[])":{"notice":"Allocate to multiple pools"},"batchRegisterRecipient(uint256[],bytes[])":{"notice":"Register multiple recipients to multiple pools."},"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"notice":"Creates a new pool (by cloning a cloneable strategies)."},"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"notice":"Creates a new pool (with a custom strategy)"},"distribute(uint256,address[],bytes)":{"notice":"Distribute to a recipient or multiple recipients."},"fundPool(uint256,uint256)":{"notice":"Fund a pool."},"getBaseFee()":{"notice":"Getter for base fee."},"getFeeDenominator()":{"notice":"Getter for the fee denominator"},"getPercentFee()":{"notice":"Getter for fee percentage."},"getPool(uint256)":{"notice":"Getter for the 'Pool'."},"getRegistry()":{"notice":"Getter for registry."},"getStrategy(uint256)":{"notice":"Getter for the strategy."},"getTreasury()":{"notice":"Getter for treasury address."},"initialize(address,address,address,uint256,uint256)":{"notice":"Initializes the contract after an upgrade"},"isCloneableStrategy(address)":{"notice":"Getter for if strategy is cloneable."},"isPoolAdmin(uint256,address)":{"notice":"Checks if the address is a pool admin."},"isPoolManager(uint256,address)":{"notice":"Checks if the address is a pool manager"},"recoverFunds(address,address)":{"notice":"Transfer the funds recovered to the recipient"},"registerRecipient(uint256,bytes)":{"notice":"Passes _data through to the strategy for that pool."},"removeFromCloneableStrategies(address)":{"notice":"Remove a strategy from the allowlist"},"removePoolManager(uint256,address)":{"notice":"Remove a pool manager"},"updateBaseFee(uint256)":{"notice":"Updates the base fee."},"updatePercentFee(uint256)":{"notice":"Updates the fee percentage."},"updatePoolMetadata(uint256,(uint256,string))":{"notice":"Update pool metadata"},"updateRegistry(address)":{"notice":"Updates the registry address."},"updateTreasury(address)":{"notice":"Updates the treasury address."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/Allo.sol":"Allo"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":52990,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52993,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53695,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":53969,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"51","type":"t_array(t_uint256)50_storage"},{"astId":52389,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_roles","offset":0,"slot":"101","type":"t_mapping(t_bytes32,t_struct(RoleData)52384_storage)"},{"astId":52696,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":53167,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_status","offset":0,"slot":"151","type":"t_uint256"},{"astId":53236,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"152","type":"t_array(t_uint256)49_storage"},{"astId":34,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"percentFee","offset":0,"slot":"201","type":"t_uint256"},{"astId":37,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"baseFee","offset":0,"slot":"202","type":"t_uint256"},{"astId":40,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_poolIndex","offset":0,"slot":"203","type":"t_uint256"},{"astId":43,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"treasury","offset":0,"slot":"204","type":"t_address_payable"},{"astId":47,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"registry","offset":0,"slot":"205","type":"t_contract(IRegistry)2802"},{"astId":52,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_nonces","offset":0,"slot":"206","type":"t_mapping(t_address,t_uint256)"},{"astId":58,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"pools","offset":0,"slot":"207","type":"t_mapping(t_uint256,t_struct(Pool)2319_storage)"},{"astId":63,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"cloneableStrategies","offset":0,"slot":"208","type":"t_mapping(t_address,t_bool)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_address_payable":{"encoding":"inplace","label":"address payable","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(IRegistry)2802":{"encoding":"inplace","label":"contract IRegistry","numberOfBytes":"20"},"t_contract(IStrategy)2969":{"encoding":"inplace","label":"contract IStrategy","numberOfBytes":"20"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_bytes32,t_struct(RoleData)52384_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)52384_storage"},"t_mapping(t_uint256,t_struct(Pool)2319_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct IAllo.Pool)","numberOfBytes":"32","value":"t_struct(Pool)2319_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(Pool)2319_storage":{"encoding":"inplace","label":"struct IAllo.Pool","numberOfBytes":"224","members":[{"astId":2306,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"profileId","offset":0,"slot":"0","type":"t_bytes32"},{"astId":2309,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"strategy","offset":0,"slot":"1","type":"t_contract(IStrategy)2969"},{"astId":2311,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"token","offset":0,"slot":"2","type":"t_address"},{"astId":2314,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"metadata","offset":0,"slot":"3","type":"t_struct(Metadata)3098_storage"},{"astId":2316,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"managerRole","offset":0,"slot":"5","type":"t_bytes32"},{"astId":2318,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"adminRole","offset":0,"slot":"6","type":"t_bytes32"}]},"t_struct(RoleData)52384_storage":{"encoding":"inplace","label":"struct AccessControlUpgradeable.RoleData","numberOfBytes":"64","members":[{"astId":52381,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"members","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":52383,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"adminRole","offset":0,"slot":"1","type":"t_bytes32"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","id":1391,"exportedSymbols":{"AccessControlUpgradeable":[52697],"AddressUpgradeable":[53645],"Allo":[1390],"Clone":[3002],"ContextUpgradeable":[53696],"ERC165Upgradeable":[53970],"Errors":[3089],"IAccessControlUpgradeable":[52770],"IAllo":[2610],"IERC165Upgradeable":[53982],"IERC20Upgradeable":[53315],"IRegistry":[2802],"IStrategy":[2969],"Initializable":[53152],"MathUpgradeable":[54848],"Metadata":[3098],"Native":[3106],"Ownable":[4095],"ReentrancyGuardUpgradeable":[53237],"SignedMathUpgradeable":[54953],"StringsUpgradeable":[53925],"Transfer":[3317]},"nodeType":"SourceUnit","src":"42:34082:0","nodes":[{"id":1,"nodeType":"PragmaDirective","src":"42:23:0","nodes":[],"literals":["solidity","0.8",".19"]},{"id":2,"nodeType":"ImportDirective","src":"89:37:0","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/auth/Ownable.sol","file":"solady/src/auth/Ownable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":4096,"symbolAliases":[],"unitAlias":""},{"id":3,"nodeType":"ImportDirective","src":"127:84:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":53153,"symbolAliases":[],"unitAlias":""},{"id":4,"nodeType":"ImportDirective","src":"212:88:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":53316,"symbolAliases":[],"unitAlias":""},{"id":5,"nodeType":"ImportDirective","src":"301:90:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":52698,"symbolAliases":[],"unitAlias":""},{"id":6,"nodeType":"ImportDirective","src":"392:94:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":53238,"symbolAliases":[],"unitAlias":""},{"id":7,"nodeType":"ImportDirective","src":"501:32:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"./interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":2611,"symbolAliases":[],"unitAlias":""},{"id":9,"nodeType":"ImportDirective","src":"557:44:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"./libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":8,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"565:5:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":11,"nodeType":"ImportDirective","src":"602:46:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Errors.sol","file":"./libraries/Errors.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3090,"symbolAliases":[{"foreign":{"id":10,"name":"Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3089,"src":"610:6:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12,"nodeType":"ImportDirective","src":"649:32:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"./libraries/Native.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3107,"symbolAliases":[],"unitAlias":""},{"id":14,"nodeType":"ImportDirective","src":"682:50:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Transfer.sol","file":"./libraries/Transfer.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3318,"symbolAliases":[{"foreign":{"id":13,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3317,"src":"690:8:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1390,"nodeType":"ContractDefinition","src":"5076:29047:0","nodes":[{"id":34,"nodeType":"VariableDeclaration","src":"5862:26:0","nodes":[],"constant":false,"documentation":{"id":32,"nodeType":"StructuredDocumentation","src":"5344:513:0","text":"@notice Percentage that is used to calculate the fee Allo takes from each pool when funded\n and is deducted when a pool is funded. So if you want to fund a round with 1000 DAI and the fee\n percentage is 1e17 (10%), then 100 DAI will be deducted from the 1000 DAI and the pool will be\n funded with 900 DAI. The fee is then sent to the treasury address.\n @dev How the percentage is represented in our contracts: 1e18 = 100%, 1e17 = 10%, 1e16 = 1%, 1e15 = 0.1%"},"mutability":"mutable","name":"percentFee","nameLocation":"5878:10:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33,"name":"uint256","nodeType":"ElementaryTypeName","src":"5862:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":37,"nodeType":"VariableDeclaration","src":"6339:24:0","nodes":[],"constant":false,"documentation":{"id":35,"nodeType":"StructuredDocumentation","src":"5895:439:0","text":"@notice Fee Allo charges for all pools on creation\n @dev This is different from the 'percentFee' in that this is a flat fee and not a percentage. So if you want to create a pool\n with a base fee of 100 DAI, then you would pass 100 DAI to the 'createPool()' function and the pool would be created\n with 100 DAI less than the amount you passed to the function. The base fee is sent to the treasury address."},"mutability":"mutable","name":"baseFee","nameLocation":"6356:7:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36,"name":"uint256","nodeType":"ElementaryTypeName","src":"6339:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":40,"nodeType":"VariableDeclaration","src":"6431:26:0","nodes":[],"constant":false,"documentation":{"id":38,"nodeType":"StructuredDocumentation","src":"6370:56:0","text":"@notice Incremental index to track the pools created"},"mutability":"mutable","name":"_poolIndex","nameLocation":"6447:10:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39,"name":"uint256","nodeType":"ElementaryTypeName","src":"6431:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":43,"nodeType":"VariableDeclaration","src":"6494:32:0","nodes":[],"constant":false,"documentation":{"id":41,"nodeType":"StructuredDocumentation","src":"6464:25:0","text":"@notice Allo treasury"},"mutability":"mutable","name":"treasury","nameLocation":"6518:8:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":42,"name":"address","nodeType":"ElementaryTypeName","src":"6494:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"private"},{"id":47,"nodeType":"VariableDeclaration","src":"6567:26:0","nodes":[],"constant":false,"documentation":{"id":44,"nodeType":"StructuredDocumentation","src":"6533:29:0","text":"@notice Registry contract"},"mutability":"mutable","name":"registry","nameLocation":"6585:8:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":46,"nodeType":"UserDefinedTypeName","pathNode":{"id":45,"name":"IRegistry","nameLocations":["6567:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"6567:9:0"},"referencedDeclaration":2802,"src":"6567:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"private"},{"id":52,"nodeType":"VariableDeclaration","src":"6733:43:0","nodes":[],"constant":false,"documentation":{"id":48,"nodeType":"StructuredDocumentation","src":"6600:128:0","text":"@notice Maps the `msg.sender` to a `nonce` to prevent duplicates\n @dev 'msg.sender' -> 'nonce' for cloning strategies"},"mutability":"mutable","name":"_nonces","nameLocation":"6769:7:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":51,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":49,"name":"address","nodeType":"ElementaryTypeName","src":"6741:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6733:27:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":50,"name":"uint256","nodeType":"ElementaryTypeName","src":"6752:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"id":58,"nodeType":"VariableDeclaration","src":"6869:38:0","nodes":[],"constant":false,"documentation":{"id":53,"nodeType":"StructuredDocumentation","src":"6783:81:0","text":"@notice Maps the pool ID to the pool details\n @dev 'Pool.id' -> 'Pool'"},"mutability":"mutable","name":"pools","nameLocation":"6902:5:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool)"},"typeName":{"id":57,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":54,"name":"uint256","nodeType":"ElementaryTypeName","src":"6877:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"6869:24:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":56,"nodeType":"UserDefinedTypeName","pathNode":{"id":55,"name":"Pool","nameLocations":["6888:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"6888:4:0"},"referencedDeclaration":2319,"src":"6888:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}}},"visibility":"private"},{"id":63,"nodeType":"VariableDeclaration","src":"7064:52:0","nodes":[],"constant":false,"documentation":{"id":59,"nodeType":"StructuredDocumentation","src":"6914:145:0","text":"@notice Returns a bool for whether a strategy is cloneable or not using the strategy address as the key\n @dev Strategy.address -> bool"},"mutability":"mutable","name":"cloneableStrategies","nameLocation":"7097:19:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":62,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":60,"name":"address","nodeType":"ElementaryTypeName","src":"7072:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7064:24:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61,"name":"bool","nodeType":"ElementaryTypeName","src":"7083:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"private"},{"id":101,"nodeType":"FunctionDefinition","src":"7626:593:0","nodes":[],"body":{"id":100,"nodeType":"Block","src":"7819:400:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":81,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66,"src":"7907:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80,"name":"_initializeOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3980,"src":"7890:16:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":82,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7890:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83,"nodeType":"ExpressionStatement","src":"7890:24:0"},{"expression":{"arguments":[{"id":85,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68,"src":"7984:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84,"name":"_updateRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1205,"src":"7968:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":86,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7968:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87,"nodeType":"ExpressionStatement","src":"7968:26:0"},{"expression":{"arguments":[{"id":89,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70,"src":"8064:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":88,"name":"_updateTreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1230,"src":"8048:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_payable_$returns$__$","typeString":"function (address payable)"}},"id":90,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8048:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91,"nodeType":"ExpressionStatement","src":"8048:26:0"},{"expression":{"arguments":[{"id":93,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72,"src":"8137:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":92,"name":"_updatePercentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1252,"src":"8119:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":94,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8119:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95,"nodeType":"ExpressionStatement","src":"8119:30:0"},{"expression":{"arguments":[{"id":97,"name":"_baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74,"src":"8203:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":96,"name":"_updateBaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1267,"src":"8188:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":98,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8188:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99,"nodeType":"ExpressionStatement","src":"8188:24:0"}]},"baseFunctions":[2404],"documentation":{"id":64,"nodeType":"StructuredDocumentation","src":"7257:364:0","text":"@notice Initializes the contract after an upgrade\n @dev During upgrade -> a higher version should be passed to reinitializer\n @param _owner The owner of allo\n @param _registry The address of the registry\n @param _treasury The address of the treasury\n @param _percentFee The percentage fee\n @param _baseFee The base fee"},"functionSelector":"a6b63eb8","implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"31","id":77,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7816:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"id":78,"kind":"modifierInvocation","modifierName":{"id":76,"name":"reinitializer","nameLocations":["7802:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":53087,"src":"7802:13:0"},"nodeType":"ModifierInvocation","src":"7802:16:0"}],"name":"initialize","nameLocation":"7635:10:0","parameters":{"id":75,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66,"mutability":"mutable","name":"_owner","nameLocation":"7663:6:0","nodeType":"VariableDeclaration","scope":101,"src":"7655:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65,"name":"address","nodeType":"ElementaryTypeName","src":"7655:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68,"mutability":"mutable","name":"_registry","nameLocation":"7687:9:0","nodeType":"VariableDeclaration","scope":101,"src":"7679:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67,"name":"address","nodeType":"ElementaryTypeName","src":"7679:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70,"mutability":"mutable","name":"_treasury","nameLocation":"7722:9:0","nodeType":"VariableDeclaration","scope":101,"src":"7706:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":69,"name":"address","nodeType":"ElementaryTypeName","src":"7706:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":72,"mutability":"mutable","name":"_percentFee","nameLocation":"7749:11:0","nodeType":"VariableDeclaration","scope":101,"src":"7741:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71,"name":"uint256","nodeType":"ElementaryTypeName","src":"7741:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74,"mutability":"mutable","name":"_baseFee","nameLocation":"7778:8:0","nodeType":"VariableDeclaration","scope":101,"src":"7770:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73,"name":"uint256","nodeType":"ElementaryTypeName","src":"7770:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7645:147:0"},"returnParameters":{"id":79,"nodeType":"ParameterList","parameters":[],"src":"7819:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":112,"nodeType":"ModifierDefinition","src":"8573:100:0","nodes":[],"body":{"id":111,"nodeType":"Block","src":"8615:58:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":107,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":104,"src":"8647:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":106,"name":"_checkOnlyPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":693,"src":"8625:21:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8625:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":109,"nodeType":"ExpressionStatement","src":"8625:30:0"},{"id":110,"nodeType":"PlaceholderStatement","src":"8665:1:0"}]},"documentation":{"id":102,"nodeType":"StructuredDocumentation","src":"8463:105:0","text":"@notice Reverts UNAUTHORIZED() if the caller is not a pool manager\n @param _poolId The pool id"},"name":"onlyPoolManager","nameLocation":"8582:15:0","parameters":{"id":105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":104,"mutability":"mutable","name":"_poolId","nameLocation":"8606:7:0","nodeType":"VariableDeclaration","scope":112,"src":"8598:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":103,"name":"uint256","nodeType":"ElementaryTypeName","src":"8598:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8597:17:0"},"virtual":false,"visibility":"internal"},{"id":123,"nodeType":"ModifierDefinition","src":"8787:96:0","nodes":[],"body":{"id":122,"nodeType":"Block","src":"8827:56:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":118,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115,"src":"8857:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":117,"name":"_checkOnlyPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":710,"src":"8837:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8837:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":120,"nodeType":"ExpressionStatement","src":"8837:28:0"},{"id":121,"nodeType":"PlaceholderStatement","src":"8875:1:0"}]},"documentation":{"id":113,"nodeType":"StructuredDocumentation","src":"8679:103:0","text":"@notice Reverts UNAUTHORIZED() if the caller is not a pool admin\n @param _poolId The pool id"},"name":"onlyPoolAdmin","nameLocation":"8796:13:0","parameters":{"id":116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115,"mutability":"mutable","name":"_poolId","nameLocation":"8818:7:0","nodeType":"VariableDeclaration","scope":123,"src":"8810:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":114,"name":"uint256","nodeType":"ElementaryTypeName","src":"8810:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8809:17:0"},"virtual":false,"visibility":"internal"},{"id":175,"nodeType":"FunctionDefinition","src":"10281:884:0","nodes":[],"body":{"id":174,"nodeType":"Block","src":"10582:583:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":145,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"10687:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10708:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":147,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10700:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":146,"name":"address","nodeType":"ElementaryTypeName","src":"10700:7:0","typeDescriptions":{}}},"id":149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10700:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10687:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":154,"nodeType":"IfStatement","src":"10683:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":151,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"10719:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10719:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":153,"nodeType":"RevertStatement","src":"10712:21:0"}},{"condition":{"arguments":[{"id":156,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"10919:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":155,"name":"_isCloneableStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"10898:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10898:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":161,"nodeType":"IfStatement","src":"10894:66:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":158,"name":"IS_APPROVED_STRATEGY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3038,"src":"10938:20:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10938:22:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":160,"nodeType":"RevertStatement","src":"10931:29:0"}},{"expression":{"arguments":[{"id":163,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":126,"src":"11067:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":165,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"11089:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":164,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"11079:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStrategy_$2969_$","typeString":"type(contract IStrategy)"}},"id":166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11079:20:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":167,"name":"_initStrategyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":130,"src":"11101:17:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":168,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":132,"src":"11120:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":169,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134,"src":"11128:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":170,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137,"src":"11137:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":171,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":140,"src":"11148:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":162,"name":"_createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":925,"src":"11055:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_contract$_IStrategy_$2969_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,contract IStrategy,bytes memory,address,uint256,struct Metadata memory,address[] memory) returns (uint256)"}},"id":172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11055:103:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":144,"id":173,"nodeType":"Return","src":"11048:110:0"}]},"documentation":{"id":124,"nodeType":"StructuredDocumentation","src":"9025:1251:0","text":"@notice Creates a new pool (with a custom strategy)\n @dev 'msg.sender' must be a member or owner of a profile to create a pool with or without a custom strategy, The encoded data\n will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'. The strategy\n address passed must not be a cloneable strategy. The strategy address passed must not be the zero address. 'msg.sender' must\n be a member or owner of the profile id passed as '_profileId'.\n @param _profileId The 'profileId' of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\n @param _strategy The address of the deployed custom strategy\n @param _initStrategyData The data to initialize the strategy\n @param _token The address of the token you want to use in your pool\n @param _amount The amount of the token you want to deposit into the pool on initialization\n @param _metadata The 'Metadata' of the pool, this uses our 'Meatdata.sol' struct (consistent throughout the protocol)\n @param _managers The managers of the pool, and can be added/removed later by the pool admin\n @return poolId The ID of the pool"},"functionSelector":"e1007d4a","implemented":true,"kind":"function","modifiers":[],"name":"createPoolWithCustomStrategy","nameLocation":"10290:28:0","parameters":{"id":141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":126,"mutability":"mutable","name":"_profileId","nameLocation":"10336:10:0","nodeType":"VariableDeclaration","scope":175,"src":"10328:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":125,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10328:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":128,"mutability":"mutable","name":"_strategy","nameLocation":"10364:9:0","nodeType":"VariableDeclaration","scope":175,"src":"10356:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":127,"name":"address","nodeType":"ElementaryTypeName","src":"10356:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":130,"mutability":"mutable","name":"_initStrategyData","nameLocation":"10396:17:0","nodeType":"VariableDeclaration","scope":175,"src":"10383:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":129,"name":"bytes","nodeType":"ElementaryTypeName","src":"10383:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":132,"mutability":"mutable","name":"_token","nameLocation":"10431:6:0","nodeType":"VariableDeclaration","scope":175,"src":"10423:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":131,"name":"address","nodeType":"ElementaryTypeName","src":"10423:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":134,"mutability":"mutable","name":"_amount","nameLocation":"10455:7:0","nodeType":"VariableDeclaration","scope":175,"src":"10447:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":133,"name":"uint256","nodeType":"ElementaryTypeName","src":"10447:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":137,"mutability":"mutable","name":"_metadata","nameLocation":"10488:9:0","nodeType":"VariableDeclaration","scope":175,"src":"10472:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":136,"nodeType":"UserDefinedTypeName","pathNode":{"id":135,"name":"Metadata","nameLocations":["10472:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"10472:8:0"},"referencedDeclaration":3098,"src":"10472:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":140,"mutability":"mutable","name":"_managers","nameLocation":"10524:9:0","nodeType":"VariableDeclaration","scope":175,"src":"10507:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":138,"name":"address","nodeType":"ElementaryTypeName","src":"10507:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":139,"nodeType":"ArrayTypeName","src":"10507:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"10318:221:0"},"returnParameters":{"id":144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":143,"mutability":"mutable","name":"poolId","nameLocation":"10574:6:0","nodeType":"VariableDeclaration","scope":175,"src":"10566:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":142,"name":"uint256","nodeType":"ElementaryTypeName","src":"10566:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10565:16:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":229,"nodeType":"FunctionDefinition","src":"11971:701:0","nodes":[],"body":{"id":228,"nodeType":"Block","src":"12267:405:0","nodes":[],"statements":[{"condition":{"id":202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12281:32:0","subExpression":{"arguments":[{"id":200,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180,"src":"12303:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":199,"name":"_isCloneableStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"12282:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12282:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":207,"nodeType":"IfStatement","src":"12277:93:0","trueBody":{"id":206,"nodeType":"Block","src":"12315:55:0","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":203,"name":"NOT_APPROVED_STRATEGY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3035,"src":"12336:21:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12336:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":205,"nodeType":"RevertStatement","src":"12329:30:0"}]}},{"expression":{"arguments":[{"id":209,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":178,"src":"12451:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"id":213,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180,"src":"12503:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12514:21:0","subExpression":{"baseExpression":{"id":214,"name":"_nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52,"src":"12514:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":217,"indexExpression":{"expression":{"id":215,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12522:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12526:6:0","memberName":"sender","nodeType":"MemberAccess","src":"12522:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12514:19:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":211,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"12485:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12491:11:0","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"12485:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12485:51:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":210,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"12475:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStrategy_$2969_$","typeString":"type(contract IStrategy)"}},"id":220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12475:62:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":221,"name":"_initStrategyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":182,"src":"12551:17:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":222,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":184,"src":"12582:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":223,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186,"src":"12602:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":224,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":189,"src":"12623:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":225,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":192,"src":"12646:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":208,"name":"_createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":925,"src":"12426:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_contract$_IStrategy_$2969_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,contract IStrategy,bytes memory,address,uint256,struct Metadata memory,address[] memory) returns (uint256)"}},"id":226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12426:239:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":198,"id":227,"nodeType":"Return","src":"12419:246:0"}]},"documentation":{"id":176,"nodeType":"StructuredDocumentation","src":"11171:795:0","text":"@notice Creates a new pool (by cloning a cloneable strategies).\n @dev 'msg.sender' must be owner or member of the profile id passed as '_profileId'.\n @param _profileId The ID of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\n @param _strategy The address of the strategy contract the pool will use.\n @param _initStrategyData The data to initialize the strategy\n @param _token The address of the token\n @param _amount The amount of the token\n @param _metadata The metadata of the pool\n @param _managers The managers of the pool\n @custom:initstrategydata The encoded data will be specific to a given strategy requirements,\n reference the strategy implementation of 'initialize()'"},"functionSelector":"77da8caf","implemented":true,"kind":"function","modifiers":[{"id":195,"kind":"modifierInvocation","modifierName":{"id":194,"name":"nonReentrant","nameLocations":["12229:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53197,"src":"12229:12:0"},"nodeType":"ModifierInvocation","src":"12229:12:0"}],"name":"createPool","nameLocation":"11980:10:0","parameters":{"id":193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":178,"mutability":"mutable","name":"_profileId","nameLocation":"12008:10:0","nodeType":"VariableDeclaration","scope":229,"src":"12000:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":177,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12000:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":180,"mutability":"mutable","name":"_strategy","nameLocation":"12036:9:0","nodeType":"VariableDeclaration","scope":229,"src":"12028:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":179,"name":"address","nodeType":"ElementaryTypeName","src":"12028:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":182,"mutability":"mutable","name":"_initStrategyData","nameLocation":"12068:17:0","nodeType":"VariableDeclaration","scope":229,"src":"12055:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":181,"name":"bytes","nodeType":"ElementaryTypeName","src":"12055:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":184,"mutability":"mutable","name":"_token","nameLocation":"12103:6:0","nodeType":"VariableDeclaration","scope":229,"src":"12095:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":183,"name":"address","nodeType":"ElementaryTypeName","src":"12095:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":186,"mutability":"mutable","name":"_amount","nameLocation":"12127:7:0","nodeType":"VariableDeclaration","scope":229,"src":"12119:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":185,"name":"uint256","nodeType":"ElementaryTypeName","src":"12119:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":189,"mutability":"mutable","name":"_metadata","nameLocation":"12160:9:0","nodeType":"VariableDeclaration","scope":229,"src":"12144:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":188,"nodeType":"UserDefinedTypeName","pathNode":{"id":187,"name":"Metadata","nameLocations":["12144:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12144:8:0"},"referencedDeclaration":3098,"src":"12144:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":192,"mutability":"mutable","name":"_managers","nameLocation":"12196:9:0","nodeType":"VariableDeclaration","scope":229,"src":"12179:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":190,"name":"address","nodeType":"ElementaryTypeName","src":"12179:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":191,"nodeType":"ArrayTypeName","src":"12179:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"11990:221:0"},"returnParameters":{"id":198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":197,"mutability":"mutable","name":"poolId","nameLocation":"12259:6:0","nodeType":"VariableDeclaration","scope":229,"src":"12251:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":196,"name":"uint256","nodeType":"ElementaryTypeName","src":"12251:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12250:16:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":260,"nodeType":"FunctionDefinition","src":"12894:247:0","nodes":[],"body":{"id":259,"nodeType":"Block","src":"13000:141:0","nodes":[],"statements":[{"assignments":[243],"declarations":[{"constant":false,"id":243,"mutability":"mutable","name":"pool","nameLocation":"13023:4:0","nodeType":"VariableDeclaration","scope":259,"src":"13010:17:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":242,"nodeType":"UserDefinedTypeName","pathNode":{"id":241,"name":"Pool","nameLocations":["13010:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"13010:4:0"},"referencedDeclaration":2319,"src":"13010:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":247,"initialValue":{"baseExpression":{"id":244,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"13030:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":246,"indexExpression":{"id":245,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"13036:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13030:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"VariableDeclarationStatement","src":"13010:34:0"},{"expression":{"id":252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":248,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":243,"src":"13054:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool storage pointer"}},"id":250,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13059:8:0","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":2314,"src":"13054:13:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":251,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":235,"src":"13070:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"13054:25:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":253,"nodeType":"ExpressionStatement","src":"13054:25:0"},{"eventCall":{"arguments":[{"id":255,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"13115:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":256,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":235,"src":"13124:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":254,"name":"PoolMetadataUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2344,"src":"13095:19:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (uint256,struct Metadata memory)"}},"id":257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13095:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":258,"nodeType":"EmitStatement","src":"13090:44:0"}]},"baseFunctions":[2413],"documentation":{"id":230,"nodeType":"StructuredDocumentation","src":"12678:211:0","text":"@notice Update pool metadata\n @dev 'msg.sender' must be a pool manager. Emits 'PoolMetadataUpdated()' event.\n @param _poolId ID of the pool\n @param _metadata The new metadata of the pool"},"functionSelector":"5f9ca138","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":238,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"12991:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":239,"kind":"modifierInvocation","modifierName":{"id":237,"name":"onlyPoolManager","nameLocations":["12975:15:0"],"nodeType":"IdentifierPath","referencedDeclaration":112,"src":"12975:15:0"},"nodeType":"ModifierInvocation","src":"12975:24:0"}],"name":"updatePoolMetadata","nameLocation":"12903:18:0","parameters":{"id":236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":232,"mutability":"mutable","name":"_poolId","nameLocation":"12930:7:0","nodeType":"VariableDeclaration","scope":260,"src":"12922:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":231,"name":"uint256","nodeType":"ElementaryTypeName","src":"12922:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":235,"mutability":"mutable","name":"_metadata","nameLocation":"12955:9:0","nodeType":"VariableDeclaration","scope":260,"src":"12939:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":234,"nodeType":"UserDefinedTypeName","pathNode":{"id":233,"name":"Metadata","nameLocations":["12939:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12939:8:0"},"referencedDeclaration":3098,"src":"12939:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"12921:44:0"},"returnParameters":{"id":240,"nodeType":"ParameterList","parameters":[],"src":"13000:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":273,"nodeType":"FunctionDefinition","src":"13330:105:0","nodes":[],"body":{"id":272,"nodeType":"Block","src":"13392:43:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":269,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":263,"src":"13418:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":268,"name":"_updateRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1205,"src":"13402:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13402:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":271,"nodeType":"ExpressionStatement","src":"13402:26:0"}]},"baseFunctions":[2419],"documentation":{"id":261,"nodeType":"StructuredDocumentation","src":"13147:178:0","text":"@notice Updates the registry address.\n @dev Use this to update the registry address. 'msg.sender' must be Allo owner.\n @param _registry The new registry address"},"functionSelector":"1a5da6c8","implemented":true,"kind":"function","modifiers":[{"id":266,"kind":"modifierInvocation","modifierName":{"id":265,"name":"onlyOwner","nameLocations":["13382:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"13382:9:0"},"nodeType":"ModifierInvocation","src":"13382:9:0"}],"name":"updateRegistry","nameLocation":"13339:14:0","parameters":{"id":264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":263,"mutability":"mutable","name":"_registry","nameLocation":"13362:9:0","nodeType":"VariableDeclaration","scope":273,"src":"13354:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":262,"name":"address","nodeType":"ElementaryTypeName","src":"13354:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13353:19:0"},"returnParameters":{"id":267,"nodeType":"ParameterList","parameters":[],"src":"13392:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":286,"nodeType":"FunctionDefinition","src":"13624:113:0","nodes":[],"body":{"id":285,"nodeType":"Block","src":"13694:43:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":282,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":276,"src":"13720:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":281,"name":"_updateTreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1230,"src":"13704:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_payable_$returns$__$","typeString":"function (address payable)"}},"id":283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13704:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":284,"nodeType":"ExpressionStatement","src":"13704:26:0"}]},"baseFunctions":[2425],"documentation":{"id":274,"nodeType":"StructuredDocumentation","src":"13441:178:0","text":"@notice Updates the treasury address.\n @dev Use this to update the treasury address. 'msg.sender' must be Allo owner.\n @param _treasury The new treasury address"},"functionSelector":"7f51bb1f","implemented":true,"kind":"function","modifiers":[{"id":279,"kind":"modifierInvocation","modifierName":{"id":278,"name":"onlyOwner","nameLocations":["13684:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"13684:9:0"},"nodeType":"ModifierInvocation","src":"13684:9:0"}],"name":"updateTreasury","nameLocation":"13633:14:0","parameters":{"id":277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":276,"mutability":"mutable","name":"_treasury","nameLocation":"13664:9:0","nodeType":"VariableDeclaration","scope":286,"src":"13648:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":275,"name":"address","nodeType":"ElementaryTypeName","src":"13648:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"13647:27:0"},"returnParameters":{"id":280,"nodeType":"ParameterList","parameters":[],"src":"13694:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":299,"nodeType":"FunctionDefinition","src":"13911:113:0","nodes":[],"body":{"id":298,"nodeType":"Block","src":"13977:47:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":295,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":289,"src":"14005:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":294,"name":"_updatePercentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1252,"src":"13987:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13987:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":297,"nodeType":"ExpressionStatement","src":"13987:30:0"}]},"baseFunctions":[2431],"documentation":{"id":287,"nodeType":"StructuredDocumentation","src":"13743:163:0","text":"@notice Updates the fee percentage.\n @dev Use this to update the fee percentage. 'msg.sender' must be Allo owner.\n @param _percentFee The new fee"},"functionSelector":"f54fc4a0","implemented":true,"kind":"function","modifiers":[{"id":292,"kind":"modifierInvocation","modifierName":{"id":291,"name":"onlyOwner","nameLocations":["13967:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"13967:9:0"},"nodeType":"ModifierInvocation","src":"13967:9:0"}],"name":"updatePercentFee","nameLocation":"13920:16:0","parameters":{"id":290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":289,"mutability":"mutable","name":"_percentFee","nameLocation":"13945:11:0","nodeType":"VariableDeclaration","scope":299,"src":"13937:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":288,"name":"uint256","nodeType":"ElementaryTypeName","src":"13937:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13936:21:0"},"returnParameters":{"id":293,"nodeType":"ParameterList","parameters":[],"src":"13977:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":312,"nodeType":"FunctionDefinition","src":"14188:101:0","nodes":[],"body":{"id":311,"nodeType":"Block","src":"14248:41:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":308,"name":"_baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":302,"src":"14273:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":307,"name":"_updateBaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1267,"src":"14258:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14258:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":310,"nodeType":"ExpressionStatement","src":"14258:24:0"}]},"baseFunctions":[2437],"documentation":{"id":300,"nodeType":"StructuredDocumentation","src":"14030:153:0","text":"@notice Updates the base fee.\n @dev Use this to update the base fee. 'msg.sender' must be Allo owner.\n @param _baseFee The new base fee"},"functionSelector":"8e690186","implemented":true,"kind":"function","modifiers":[{"id":305,"kind":"modifierInvocation","modifierName":{"id":304,"name":"onlyOwner","nameLocations":["14238:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"14238:9:0"},"nodeType":"ModifierInvocation","src":"14238:9:0"}],"name":"updateBaseFee","nameLocation":"14197:13:0","parameters":{"id":303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":302,"mutability":"mutable","name":"_baseFee","nameLocation":"14219:8:0","nodeType":"VariableDeclaration","scope":312,"src":"14211:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":301,"name":"uint256","nodeType":"ElementaryTypeName","src":"14211:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14210:18:0"},"returnParameters":{"id":306,"nodeType":"ParameterList","parameters":[],"src":"14248:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":341,"nodeType":"FunctionDefinition","src":"14481:229:0","nodes":[],"body":{"id":340,"nodeType":"Block","src":"14553:157:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":320,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"14567:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14588:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14580:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":321,"name":"address","nodeType":"ElementaryTypeName","src":"14580:7:0","typeDescriptions":{}}},"id":324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14580:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14567:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":329,"nodeType":"IfStatement","src":"14563:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":326,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"14599:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14599:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":328,"nodeType":"RevertStatement","src":"14592:21:0"}},{"expression":{"id":334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":330,"name":"cloneableStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"14624:19:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":332,"indexExpression":{"id":331,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"14644:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14624:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14657:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"14624:37:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":335,"nodeType":"ExpressionStatement","src":"14624:37:0"},{"eventCall":{"arguments":[{"id":337,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"14693:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":336,"name":"StrategyApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2385,"src":"14676:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14676:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":339,"nodeType":"EmitStatement","src":"14671:32:0"}]},"baseFunctions":[2443],"documentation":{"id":313,"nodeType":"StructuredDocumentation","src":"14295:181:0","text":"@notice Add a strategy to the allowlist.\n @dev Emits the 'StrategyApproved()' event. 'msg.sender' must be Allo owner.\n @param _strategy The address of the strategy"},"functionSelector":"41bba0b4","implemented":true,"kind":"function","modifiers":[{"id":318,"kind":"modifierInvocation","modifierName":{"id":317,"name":"onlyOwner","nameLocations":["14543:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"14543:9:0"},"nodeType":"ModifierInvocation","src":"14543:9:0"}],"name":"addToCloneableStrategies","nameLocation":"14490:24:0","parameters":{"id":316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":315,"mutability":"mutable","name":"_strategy","nameLocation":"14523:9:0","nodeType":"VariableDeclaration","scope":341,"src":"14515:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":314,"name":"address","nodeType":"ElementaryTypeName","src":"14515:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14514:19:0"},"returnParameters":{"id":319,"nodeType":"ParameterList","parameters":[],"src":"14553:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":360,"nodeType":"FunctionDefinition","src":"14900:288:0","nodes":[],"body":{"id":359,"nodeType":"Block","src":"14977:211:0","nodes":[],"statements":[{"expression":{"id":353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":349,"name":"cloneableStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"15059:19:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":351,"indexExpression":{"id":350,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":344,"src":"15079:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15059:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15092:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"15059:38:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":354,"nodeType":"ExpressionStatement","src":"15059:38:0"},{"eventCall":{"arguments":[{"id":356,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":344,"src":"15171:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":355,"name":"StrategyRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2390,"src":"15155:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15155:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":358,"nodeType":"EmitStatement","src":"15150:31:0"}]},"baseFunctions":[2449],"documentation":{"id":342,"nodeType":"StructuredDocumentation","src":"14716:179:0","text":"@notice Remove a strategy from the allowlist\n @dev Emits 'StrategyRemoved()' event. 'msg.sender must be Allo owner.\n @param _strategy The address of the strategy"},"functionSelector":"031e2fa1","implemented":true,"kind":"function","modifiers":[{"id":347,"kind":"modifierInvocation","modifierName":{"id":346,"name":"onlyOwner","nameLocations":["14967:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"14967:9:0"},"nodeType":"ModifierInvocation","src":"14967:9:0"}],"name":"removeFromCloneableStrategies","nameLocation":"14909:29:0","parameters":{"id":345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":344,"mutability":"mutable","name":"_strategy","nameLocation":"14947:9:0","nodeType":"VariableDeclaration","scope":360,"src":"14939:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":343,"name":"address","nodeType":"ElementaryTypeName","src":"14939:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14938:19:0"},"returnParameters":{"id":348,"nodeType":"ParameterList","parameters":[],"src":"14977:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":390,"nodeType":"FunctionDefinition","src":"15387:358:0","nodes":[],"body":{"id":389,"nodeType":"Block","src":"15478:267:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":371,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":365,"src":"15568:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15588:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15580:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":372,"name":"address","nodeType":"ElementaryTypeName","src":"15580:7:0","typeDescriptions":{}}},"id":375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15580:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15568:22:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":380,"nodeType":"IfStatement","src":"15564:49:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":377,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"15599:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15599:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":379,"nodeType":"RevertStatement","src":"15592:21:0"}},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":382,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"15701:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":384,"indexExpression":{"id":383,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":363,"src":"15707:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15701:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":385,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15716:11:0","memberName":"managerRole","nodeType":"MemberAccess","referencedDeclaration":2316,"src":"15701:26:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":386,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":365,"src":"15729:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":381,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52660,"src":"15690:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15690:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":388,"nodeType":"ExpressionStatement","src":"15690:48:0"}]},"baseFunctions":[2457],"documentation":{"id":361,"nodeType":"StructuredDocumentation","src":"15194:188:0","text":"@notice Add a pool manager\n @dev Emits 'RoleGranted()' event. 'msg.sender' must be a pool admin.\n @param _poolId ID of the pool\n @param _manager The address to add"},"functionSelector":"2cf682b0","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":368,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":363,"src":"15469:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":369,"kind":"modifierInvocation","modifierName":{"id":367,"name":"onlyPoolAdmin","nameLocations":["15455:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":123,"src":"15455:13:0"},"nodeType":"ModifierInvocation","src":"15455:22:0"}],"name":"addPoolManager","nameLocation":"15396:14:0","parameters":{"id":366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":363,"mutability":"mutable","name":"_poolId","nameLocation":"15419:7:0","nodeType":"VariableDeclaration","scope":390,"src":"15411:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":362,"name":"uint256","nodeType":"ElementaryTypeName","src":"15411:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":365,"mutability":"mutable","name":"_manager","nameLocation":"15436:8:0","nodeType":"VariableDeclaration","scope":390,"src":"15428:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":364,"name":"address","nodeType":"ElementaryTypeName","src":"15428:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15410:35:0"},"returnParameters":{"id":370,"nodeType":"ParameterList","parameters":[],"src":"15478:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":410,"nodeType":"FunctionDefinition","src":"15950:160:0","nodes":[],"body":{"id":409,"nodeType":"Block","src":"16044:66:0","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":402,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"16066:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":404,"indexExpression":{"id":403,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":393,"src":"16072:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16066:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":405,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16081:11:0","memberName":"managerRole","nodeType":"MemberAccess","referencedDeclaration":2316,"src":"16066:26:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":406,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":395,"src":"16094:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":401,"name":"_revokeRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52691,"src":"16054:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16054:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":408,"nodeType":"ExpressionStatement","src":"16054:49:0"}]},"baseFunctions":[2465],"documentation":{"id":391,"nodeType":"StructuredDocumentation","src":"15751:194:0","text":"@notice Remove a pool manager\n @dev Emits 'RoleRevoked()' event. 'msg.sender' must be a pool admin.\n @param _poolId ID of the pool\n @param _manager The address to remove"},"functionSelector":"7f5a70bd","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":398,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":393,"src":"16035:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":399,"kind":"modifierInvocation","modifierName":{"id":397,"name":"onlyPoolAdmin","nameLocations":["16021:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":123,"src":"16021:13:0"},"nodeType":"ModifierInvocation","src":"16021:22:0"}],"name":"removePoolManager","nameLocation":"15959:17:0","parameters":{"id":396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":393,"mutability":"mutable","name":"_poolId","nameLocation":"15985:7:0","nodeType":"VariableDeclaration","scope":410,"src":"15977:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":392,"name":"uint256","nodeType":"ElementaryTypeName","src":"15977:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":395,"mutability":"mutable","name":"_manager","nameLocation":"16002:8:0","nodeType":"VariableDeclaration","scope":410,"src":"15994:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":394,"name":"address","nodeType":"ElementaryTypeName","src":"15994:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15976:35:0"},"returnParameters":{"id":400,"nodeType":"ParameterList","parameters":[],"src":"16044:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":448,"nodeType":"FunctionDefinition","src":"16308:430:0","nodes":[],"body":{"id":447,"nodeType":"Block","src":"16385:353:0","nodes":[],"statements":[{"assignments":[421],"declarations":[{"constant":false,"id":421,"mutability":"mutable","name":"amount","nameLocation":"16514:6:0","nodeType":"VariableDeclaration","scope":447,"src":"16506:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":420,"name":"uint256","nodeType":"ElementaryTypeName","src":"16506:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":440,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":422,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":413,"src":"16523:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":423,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"16533:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16523:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"arguments":[{"id":436,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16610:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":435,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16602:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":434,"name":"address","nodeType":"ElementaryTypeName","src":"16602:7:0","typeDescriptions":{}}},"id":437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16602:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":431,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":413,"src":"16584:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":430,"name":"IERC20Upgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53315,"src":"16566:17:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20Upgradeable_$53315_$","typeString":"type(contract IERC20Upgradeable)"}},"id":432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16566:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Upgradeable_$53315","typeString":"contract IERC20Upgradeable"}},"id":433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16592:9:0","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":53272,"src":"16566:35:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16566:50:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"16523:93:0","trueExpression":{"expression":{"arguments":[{"id":427,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16550:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16542:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":425,"name":"address","nodeType":"ElementaryTypeName","src":"16542:7:0","typeDescriptions":{}}},"id":428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16542:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16556:7:0","memberName":"balance","nodeType":"MemberAccess","src":"16542:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16506:110:0"},{"expression":{"arguments":[{"id":442,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":413,"src":"16704:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":443,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":415,"src":"16712:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":444,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":421,"src":"16724:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":441,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"16688:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16688:43:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":446,"nodeType":"ExpressionStatement","src":"16688:43:0"}]},"baseFunctions":[2473],"documentation":{"id":411,"nodeType":"StructuredDocumentation","src":"16116:187:0","text":"@notice Transfer the funds recovered to the recipient\n @dev 'msg.sender' must be Allo owner\n @param _token The token to transfer\n @param _recipient The recipient"},"functionSelector":"24ae6a27","implemented":true,"kind":"function","modifiers":[{"id":418,"kind":"modifierInvocation","modifierName":{"id":417,"name":"onlyOwner","nameLocations":["16375:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"16375:9:0"},"nodeType":"ModifierInvocation","src":"16375:9:0"}],"name":"recoverFunds","nameLocation":"16317:12:0","parameters":{"id":416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":413,"mutability":"mutable","name":"_token","nameLocation":"16338:6:0","nodeType":"VariableDeclaration","scope":448,"src":"16330:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":412,"name":"address","nodeType":"ElementaryTypeName","src":"16330:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":415,"mutability":"mutable","name":"_recipient","nameLocation":"16354:10:0","nodeType":"VariableDeclaration","scope":448,"src":"16346:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":414,"name":"address","nodeType":"ElementaryTypeName","src":"16346:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16329:36:0"},"returnParameters":{"id":419,"nodeType":"ParameterList","parameters":[],"src":"16385:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":474,"nodeType":"FunctionDefinition","src":"17298:276:0","nodes":[],"body":{"id":473,"nodeType":"Block","src":"17410:164:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":468,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":453,"src":"17549:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":469,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17556:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17560:6:0","memberName":"sender","nodeType":"MemberAccess","src":"17556:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":460,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"17489:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":462,"indexExpression":{"id":461,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":451,"src":"17495:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17489:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":463,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17504:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"17489:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17513:17:0","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":2949,"src":"17489:41:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$_t_address_$","typeString":"function (bytes memory,address) payable external returns (address)"}},"id":467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":465,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17538:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17542:5:0","memberName":"value","nodeType":"MemberAccess","src":"17538:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"17489:59:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$_t_address_$value","typeString":"function (bytes memory,address) payable external returns (address)"}},"id":471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17489:78:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":459,"id":472,"nodeType":"Return","src":"17482:85:0"}]},"baseFunctions":[2483],"documentation":{"id":449,"nodeType":"StructuredDocumentation","src":"16877:416:0","text":"@notice Passes _data through to the strategy for that pool.\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of registerRecipient().\n @param _poolId ID of the pool\n @param _data Encoded data unique to a strategy that registerRecipient() requires\n @return recipientId The recipient ID that has been registered"},"functionSelector":"075c0e9c","implemented":true,"kind":"function","modifiers":[{"id":456,"kind":"modifierInvocation","modifierName":{"id":455,"name":"nonReentrant","nameLocations":["17379:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53197,"src":"17379:12:0"},"nodeType":"ModifierInvocation","src":"17379:12:0"}],"name":"registerRecipient","nameLocation":"17307:17:0","parameters":{"id":454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":451,"mutability":"mutable","name":"_poolId","nameLocation":"17333:7:0","nodeType":"VariableDeclaration","scope":474,"src":"17325:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":450,"name":"uint256","nodeType":"ElementaryTypeName","src":"17325:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":453,"mutability":"mutable","name":"_data","nameLocation":"17355:5:0","nodeType":"VariableDeclaration","scope":474,"src":"17342:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":452,"name":"bytes","nodeType":"ElementaryTypeName","src":"17342:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"17324:37:0"},"returnParameters":{"id":459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":458,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":474,"src":"17401:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":457,"name":"address","nodeType":"ElementaryTypeName","src":"17401:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17400:9:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":543,"nodeType":"FunctionDefinition","src":"18212:747:0","nodes":[],"body":{"id":542,"nodeType":"Block","src":"18383:576:0","nodes":[],"statements":[{"assignments":[490],"declarations":[{"constant":false,"id":490,"mutability":"mutable","name":"poolIdLength","nameLocation":"18401:12:0","nodeType":"VariableDeclaration","scope":542,"src":"18393:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":489,"name":"uint256","nodeType":"ElementaryTypeName","src":"18393:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":493,"initialValue":{"expression":{"id":491,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"18416:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18425:6:0","memberName":"length","nodeType":"MemberAccess","src":"18416:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18393:38:0"},{"expression":{"id":500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":494,"name":"recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":487,"src":"18441:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":498,"name":"poolIdLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"18470:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":497,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"18456:13:0","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":495,"name":"address","nodeType":"ElementaryTypeName","src":"18460:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":496,"nodeType":"ArrayTypeName","src":"18460:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18456:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"18441:42:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":501,"nodeType":"ExpressionStatement","src":"18441:42:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":502,"name":"poolIdLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"18498:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":503,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":481,"src":"18514:5:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18520:6:0","memberName":"length","nodeType":"MemberAccess","src":"18514:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18498:28:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":509,"nodeType":"IfStatement","src":"18494:51:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":506,"name":"MISMATCH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3011,"src":"18535:8:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18535:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":508,"nodeType":"RevertStatement","src":"18528:17:0"}},{"body":{"id":538,"nodeType":"Block","src":"18693:169:0","statements":[{"expression":{"id":532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":516,"name":"recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":487,"src":"18707:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":518,"indexExpression":{"id":517,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18720:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18707:15:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":526,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":481,"src":"18771:5:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":528,"indexExpression":{"id":527,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18777:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18771:8:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":529,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18781:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18785:6:0","memberName":"sender","nodeType":"MemberAccess","src":"18781:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":519,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"18725:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":523,"indexExpression":{"baseExpression":{"id":520,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"18731:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":522,"indexExpression":{"id":521,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18740:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18731:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18725:18:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":524,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18744:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"18725:27:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18753:17:0","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":2949,"src":"18725:45:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$_t_address_$","typeString":"function (bytes memory,address) payable external returns (address)"}},"id":531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18725:67:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18707:85:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":533,"nodeType":"ExpressionStatement","src":"18707:85:0"},{"id":537,"nodeType":"UncheckedBlock","src":"18806:46:0","statements":[{"expression":{"id":535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"18834:3:0","subExpression":{"id":534,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18836:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":536,"nodeType":"ExpressionStatement","src":"18834:3:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":513,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18674:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":514,"name":"poolIdLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"18678:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18674:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":539,"initializationExpression":{"assignments":[511],"declarations":[{"constant":false,"id":511,"mutability":"mutable","name":"i","nameLocation":"18671:1:0","nodeType":"VariableDeclaration","scope":539,"src":"18663:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":510,"name":"uint256","nodeType":"ElementaryTypeName","src":"18663:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":512,"nodeType":"VariableDeclarationStatement","src":"18663:9:0"},"nodeType":"ForStatement","src":"18658:204:0"},{"expression":{"id":540,"name":"recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":487,"src":"18940:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":488,"id":541,"nodeType":"Return","src":"18933:19:0"}]},"baseFunctions":[2496],"documentation":{"id":475,"nodeType":"StructuredDocumentation","src":"17580:627:0","text":"@notice Register multiple recipients to multiple pools.\n @dev Returns the 'recipientIds' from the strategy that have been registered from calling this function.\n Encoded data unique to a strategy that registerRecipient() requires. Encoded '_data' length must match\n '_poolIds' length or this will revert with MISMATCH(). Other requirements will be determined by the strategy.\n @param _poolIds ID's of the pools\n @param _data An array of encoded data unique to a strategy that registerRecipient() requires.\n @return recipientIds The recipient IDs that have been registered"},"functionSelector":"1a20bd88","implemented":true,"kind":"function","modifiers":[{"id":484,"kind":"modifierInvocation","modifierName":{"id":483,"name":"nonReentrant","nameLocations":["18318:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53197,"src":"18318:12:0"},"nodeType":"ModifierInvocation","src":"18318:12:0"}],"name":"batchRegisterRecipient","nameLocation":"18221:22:0","parameters":{"id":482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":478,"mutability":"mutable","name":"_poolIds","nameLocation":"18261:8:0","nodeType":"VariableDeclaration","scope":543,"src":"18244:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":476,"name":"uint256","nodeType":"ElementaryTypeName","src":"18244:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":477,"nodeType":"ArrayTypeName","src":"18244:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":481,"mutability":"mutable","name":"_data","nameLocation":"18286:5:0","nodeType":"VariableDeclaration","scope":543,"src":"18271:20:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":479,"name":"bytes","nodeType":"ElementaryTypeName","src":"18271:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":480,"nodeType":"ArrayTypeName","src":"18271:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"18243:49:0"},"returnParameters":{"id":488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":487,"mutability":"mutable","name":"recipientIds","nameLocation":"18365:12:0","nodeType":"VariableDeclaration","scope":543,"src":"18348:29:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":485,"name":"address","nodeType":"ElementaryTypeName","src":"18348:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":486,"nodeType":"ArrayTypeName","src":"18348:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"18347:31:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":588,"nodeType":"FunctionDefinition","src":"19156:439:0","nodes":[],"body":{"id":587,"nodeType":"Block","src":"19238:357:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":553,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"19318:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19329:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"19318:12:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":559,"nodeType":"IfStatement","src":"19314:43:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":556,"name":"NOT_ENOUGH_FUNDS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3014,"src":"19339:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19339:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":558,"nodeType":"RevertStatement","src":"19332:25:0"}},{"assignments":[562],"declarations":[{"constant":false,"id":562,"mutability":"mutable","name":"pool","nameLocation":"19380:4:0","nodeType":"VariableDeclaration","scope":587,"src":"19368:16:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":561,"nodeType":"UserDefinedTypeName","pathNode":{"id":560,"name":"Pool","nameLocations":["19368:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"19368:4:0"},"referencedDeclaration":2319,"src":"19368:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":566,"initialValue":{"baseExpression":{"id":563,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"19387:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":565,"indexExpression":{"id":564,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":546,"src":"19393:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19387:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"VariableDeclarationStatement","src":"19368:33:0"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":567,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":562,"src":"19415:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":568,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19420:5:0","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"19415:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":569,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"19429:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19415:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":571,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"19439:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":572,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"19450:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19454:5:0","memberName":"value","nodeType":"MemberAccess","src":"19450:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19439:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"19415:44:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":579,"nodeType":"IfStatement","src":"19411:75:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":576,"name":"NOT_ENOUGH_FUNDS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3014,"src":"19468:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19468:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":578,"nodeType":"RevertStatement","src":"19461:25:0"}},{"expression":{"arguments":[{"id":581,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"19556:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":582,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":546,"src":"19565:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":583,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":562,"src":"19574:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":584,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19579:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"19574:13:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":580,"name":"_fundPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1122,"src":"19546:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_contract$_IStrategy_$2969_$returns$__$","typeString":"function (uint256,uint256,contract IStrategy)"}},"id":585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19546:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":586,"nodeType":"ExpressionStatement","src":"19546:42:0"}]},"baseFunctions":[2504],"documentation":{"id":544,"nodeType":"StructuredDocumentation","src":"18965:186:0","text":"@notice Fund a pool.\n @dev Anyone can fund a pool and call this function.\n @param _poolId ID of the pool\n @param _amount The amount to be deposited into the pool"},"functionSelector":"5acd6fac","implemented":true,"kind":"function","modifiers":[{"id":551,"kind":"modifierInvocation","modifierName":{"id":550,"name":"nonReentrant","nameLocations":["19225:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53197,"src":"19225:12:0"},"nodeType":"ModifierInvocation","src":"19225:12:0"}],"name":"fundPool","nameLocation":"19165:8:0","parameters":{"id":549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":546,"mutability":"mutable","name":"_poolId","nameLocation":"19182:7:0","nodeType":"VariableDeclaration","scope":588,"src":"19174:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":545,"name":"uint256","nodeType":"ElementaryTypeName","src":"19174:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":548,"mutability":"mutable","name":"_amount","nameLocation":"19199:7:0","nodeType":"VariableDeclaration","scope":588,"src":"19191:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":547,"name":"uint256","nodeType":"ElementaryTypeName","src":"19191:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19173:34:0"},"returnParameters":{"id":552,"nodeType":"ParameterList","parameters":[],"src":"19238:0:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":604,"nodeType":"FunctionDefinition","src":"19921:127:0","nodes":[],"body":{"id":603,"nodeType":"Block","src":"20006:42:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":599,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":591,"src":"20026:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":600,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":593,"src":"20035:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":598,"name":"_allocate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":947,"src":"20016:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory)"}},"id":601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20016:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":602,"nodeType":"ExpressionStatement","src":"20016:25:0"}]},"baseFunctions":[2512],"documentation":{"id":589,"nodeType":"StructuredDocumentation","src":"19601:315:0","text":"@notice Allocate to a recipient or multiple recipients.\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of allocate().\n @param _poolId ID of the pool\n @param _data Encoded data unique to the strategy for that pool"},"functionSelector":"2ec38188","implemented":true,"kind":"function","modifiers":[{"id":596,"kind":"modifierInvocation","modifierName":{"id":595,"name":"nonReentrant","nameLocations":["19993:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53197,"src":"19993:12:0"},"nodeType":"ModifierInvocation","src":"19993:12:0"}],"name":"allocate","nameLocation":"19930:8:0","parameters":{"id":594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":591,"mutability":"mutable","name":"_poolId","nameLocation":"19947:7:0","nodeType":"VariableDeclaration","scope":604,"src":"19939:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":590,"name":"uint256","nodeType":"ElementaryTypeName","src":"19939:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":593,"mutability":"mutable","name":"_data","nameLocation":"19969:5:0","nodeType":"VariableDeclaration","scope":604,"src":"19956:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":592,"name":"bytes","nodeType":"ElementaryTypeName","src":"19956:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"19938:37:0"},"returnParameters":{"id":597,"nodeType":"ParameterList","parameters":[],"src":"20006:0:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":651,"nodeType":"FunctionDefinition","src":"20511:559:0","nodes":[],"body":{"id":650,"nodeType":"Block","src":"20608:462:0","nodes":[],"statements":[{"assignments":[617],"declarations":[{"constant":false,"id":617,"mutability":"mutable","name":"numPools","nameLocation":"20626:8:0","nodeType":"VariableDeclaration","scope":650,"src":"20618:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":616,"name":"uint256","nodeType":"ElementaryTypeName","src":"20618:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":620,"initialValue":{"expression":{"id":618,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"20637:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20646:6:0","memberName":"length","nodeType":"MemberAccess","src":"20637:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20618:34:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":621,"name":"numPools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":617,"src":"20772:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":622,"name":"_datas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":611,"src":"20784:6:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20791:6:0","memberName":"length","nodeType":"MemberAccess","src":"20784:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20772:25:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":628,"nodeType":"IfStatement","src":"20768:48:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":625,"name":"MISMATCH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3011,"src":"20806:8:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20806:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":627,"nodeType":"RevertStatement","src":"20799:17:0"}},{"body":{"id":648,"nodeType":"Block","src":"20947:117:0","statements":[{"expression":{"arguments":[{"baseExpression":{"id":636,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"20971:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":638,"indexExpression":{"id":637,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"20980:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20971:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":639,"name":"_datas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":611,"src":"20984:6:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":641,"indexExpression":{"id":640,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"20991:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20984:9:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":635,"name":"_allocate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":947,"src":"20961:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory)"}},"id":642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20961:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":643,"nodeType":"ExpressionStatement","src":"20961:33:0"},{"id":647,"nodeType":"UncheckedBlock","src":"21008:46:0","statements":[{"expression":{"id":645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"21036:3:0","subExpression":{"id":644,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"21038:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":646,"nodeType":"ExpressionStatement","src":"21036:3:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":632,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"20932:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":633,"name":"numPools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":617,"src":"20936:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20932:12:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":649,"initializationExpression":{"assignments":[630],"declarations":[{"constant":false,"id":630,"mutability":"mutable","name":"i","nameLocation":"20929:1:0","nodeType":"VariableDeclaration","scope":649,"src":"20921:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":629,"name":"uint256","nodeType":"ElementaryTypeName","src":"20921:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":631,"nodeType":"VariableDeclarationStatement","src":"20921:9:0"},"nodeType":"ForStatement","src":"20916:148:0"}]},"baseFunctions":[2522],"documentation":{"id":605,"nodeType":"StructuredDocumentation","src":"20054:452:0","text":"@notice Allocate to multiple pools\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of allocate(). Please note that this is not a 'payable' function, so if you\n want to send funds to the strategy, you must send the funds using 'fundPool()'.\n @param _poolIds IDs of the pools\n @param _datas encoded data unique to the strategy for that pool"},"functionSelector":"c6dff1cf","implemented":true,"kind":"function","modifiers":[{"id":614,"kind":"modifierInvocation","modifierName":{"id":613,"name":"nonReentrant","nameLocations":["20595:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53197,"src":"20595:12:0"},"nodeType":"ModifierInvocation","src":"20595:12:0"}],"name":"batchAllocate","nameLocation":"20520:13:0","parameters":{"id":612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":608,"mutability":"mutable","name":"_poolIds","nameLocation":"20553:8:0","nodeType":"VariableDeclaration","scope":651,"src":"20534:27:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":606,"name":"uint256","nodeType":"ElementaryTypeName","src":"20534:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":607,"nodeType":"ArrayTypeName","src":"20534:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":611,"mutability":"mutable","name":"_datas","nameLocation":"20578:6:0","nodeType":"VariableDeclaration","scope":651,"src":"20563:21:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":609,"name":"bytes","nodeType":"ElementaryTypeName","src":"20563:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":610,"nodeType":"ArrayTypeName","src":"20563:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"20533:52:0"},"returnParameters":{"id":615,"nodeType":"ParameterList","parameters":[],"src":"20608:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":676,"nodeType":"FunctionDefinition","src":"21468:196:0","nodes":[],"body":{"id":675,"nodeType":"Block","src":"21579:85:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":669,"name":"_recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":657,"src":"21624:13:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":670,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":659,"src":"21639:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":671,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"21646:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21650:6:0","memberName":"sender","nodeType":"MemberAccess","src":"21646:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":664,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"21589:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":666,"indexExpression":{"id":665,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":654,"src":"21595:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21589:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":667,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21604:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"21589:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21613:10:0","memberName":"distribute","nodeType":"MemberAccess","referencedDeclaration":2968,"src":"21589:34:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_bytes_memory_ptr_$_t_address_$returns$__$","typeString":"function (address[] memory,bytes memory,address) external"}},"id":673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21589:68:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":674,"nodeType":"ExpressionStatement","src":"21589:68:0"}]},"baseFunctions":[2533],"documentation":{"id":652,"nodeType":"StructuredDocumentation","src":"21076:387:0","text":"@notice Distribute to a recipient or multiple recipients.\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of 'strategy.distribute()'.\n @param _poolId ID of the pool\n @param _recipientIds Ids of the recipients of the distribution\n @param _data Encoded data unique to the strategy"},"functionSelector":"3a5fbd92","implemented":true,"kind":"function","modifiers":[{"id":662,"kind":"modifierInvocation","modifierName":{"id":661,"name":"nonReentrant","nameLocations":["21566:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53197,"src":"21566:12:0"},"nodeType":"ModifierInvocation","src":"21566:12:0"}],"name":"distribute","nameLocation":"21477:10:0","parameters":{"id":660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":654,"mutability":"mutable","name":"_poolId","nameLocation":"21496:7:0","nodeType":"VariableDeclaration","scope":676,"src":"21488:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":653,"name":"uint256","nodeType":"ElementaryTypeName","src":"21488:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":657,"mutability":"mutable","name":"_recipientIds","nameLocation":"21522:13:0","nodeType":"VariableDeclaration","scope":676,"src":"21505:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":655,"name":"address","nodeType":"ElementaryTypeName","src":"21505:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":656,"nodeType":"ArrayTypeName","src":"21505:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":659,"mutability":"mutable","name":"_data","nameLocation":"21550:5:0","nodeType":"VariableDeclaration","scope":676,"src":"21537:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":658,"name":"bytes","nodeType":"ElementaryTypeName","src":"21537:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21487:69:0"},"returnParameters":{"id":663,"nodeType":"ParameterList","parameters":[],"src":"21579:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":693,"nodeType":"FunctionDefinition","src":"21910:142:0","nodes":[],"body":{"id":692,"nodeType":"Block","src":"21972:80:0","nodes":[],"statements":[{"condition":{"id":687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"21986:36:0","subExpression":{"arguments":[{"id":683,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":679,"src":"22002:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":684,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"22011:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22015:6:0","memberName":"sender","nodeType":"MemberAccess","src":"22011:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":682,"name":"_isPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1178,"src":"21987:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21987:35:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":691,"nodeType":"IfStatement","src":"21982:63:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":688,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"22031:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22031:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":690,"nodeType":"RevertStatement","src":"22024:21:0"}}]},"documentation":{"id":677,"nodeType":"StructuredDocumentation","src":"21806:99:0","text":"@notice Internal function to check is caller is pool manager\n @param _poolId The pool id"},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnlyPoolManager","nameLocation":"21919:21:0","parameters":{"id":680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":679,"mutability":"mutable","name":"_poolId","nameLocation":"21949:7:0","nodeType":"VariableDeclaration","scope":693,"src":"21941:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":678,"name":"uint256","nodeType":"ElementaryTypeName","src":"21941:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21940:17:0"},"returnParameters":{"id":681,"nodeType":"ParameterList","parameters":[],"src":"21972:0:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":710,"nodeType":"FunctionDefinition","src":"22160:138:0","nodes":[],"body":{"id":709,"nodeType":"Block","src":"22220:78:0","nodes":[],"statements":[{"condition":{"id":704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22234:34:0","subExpression":{"arguments":[{"id":700,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":696,"src":"22248:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":701,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"22257:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22261:6:0","memberName":"sender","nodeType":"MemberAccess","src":"22257:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":699,"name":"_isPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1154,"src":"22235:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22235:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":708,"nodeType":"IfStatement","src":"22230:61:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":705,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"22277:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22277:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":707,"nodeType":"RevertStatement","src":"22270:21:0"}}]},"documentation":{"id":694,"nodeType":"StructuredDocumentation","src":"22058:97:0","text":"@notice Internal function to check is caller is pool admin\n @param _poolId The pool id"},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnlyPoolAdmin","nameLocation":"22169:19:0","parameters":{"id":697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":696,"mutability":"mutable","name":"_poolId","nameLocation":"22197:7:0","nodeType":"VariableDeclaration","scope":710,"src":"22189:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":695,"name":"uint256","nodeType":"ElementaryTypeName","src":"22189:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22188:17:0"},"returnParameters":{"id":698,"nodeType":"ParameterList","parameters":[],"src":"22220:0:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":925,"nodeType":"FunctionDefinition","src":"23131:2681:0","nodes":[],"body":{"id":924,"nodeType":"Block","src":"23409:2403:0","nodes":[],"statements":[{"condition":{"id":739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"23423:58:0","subExpression":{"arguments":[{"id":735,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":713,"src":"23458:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":736,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"23470:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23474:6:0","memberName":"sender","nodeType":"MemberAccess","src":"23470:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":733,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"23424:8:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23433:24:0","memberName":"isOwnerOrMemberOfProfile","nodeType":"MemberAccess","referencedDeclaration":2704,"src":"23424:33:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23424:57:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":743,"nodeType":"IfStatement","src":"23419:85:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":740,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"23490:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23490:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":742,"nodeType":"RevertStatement","src":"23483:21:0"}},{"expression":{"id":747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":744,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"23515:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"23524:12:0","subExpression":{"id":745,"name":"_poolIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40,"src":"23526:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23515:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":748,"nodeType":"ExpressionStatement","src":"23515:21:0"},{"assignments":[750],"declarations":[{"constant":false,"id":750,"mutability":"mutable","name":"POOL_MANAGER_ROLE","nameLocation":"23683:17:0","nodeType":"VariableDeclaration","scope":924,"src":"23675:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":749,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23675:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":755,"initialValue":{"arguments":[{"id":753,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"23711:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23703:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":751,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23703:7:0","typeDescriptions":{}}},"id":754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23703:15:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"23675:43:0"},{"assignments":[757],"declarations":[{"constant":false,"id":757,"mutability":"mutable","name":"POOL_ADMIN_ROLE","nameLocation":"23736:15:0","nodeType":"VariableDeclaration","scope":924,"src":"23728:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":756,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23728:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":765,"initialValue":{"arguments":[{"arguments":[{"id":761,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"23781:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"61646d696e","id":762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23789:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_f23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d8","typeString":"literal_string \"admin\""},"value":"admin"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_f23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d8","typeString":"literal_string \"admin\""}],"expression":{"id":759,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23764:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":760,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23768:12:0","memberName":"encodePacked","nodeType":"MemberAccess","src":"23764:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23764:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":758,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"23754:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23754:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"23728:70:0"},{"assignments":[768],"declarations":[{"constant":false,"id":768,"mutability":"mutable","name":"pool","nameLocation":"23857:4:0","nodeType":"VariableDeclaration","scope":924,"src":"23845:16:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":767,"nodeType":"UserDefinedTypeName","pathNode":{"id":766,"name":"Pool","nameLocations":["23845:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"23845:4:0"},"referencedDeclaration":2319,"src":"23845:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":777,"initialValue":{"arguments":[{"id":770,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":713,"src":"23894:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":771,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"23928:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":772,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":725,"src":"23961:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":773,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"23991:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":774,"name":"POOL_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"24024:17:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":775,"name":"POOL_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":757,"src":"24066:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":769,"name":"Pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2319,"src":"23864:4:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Pool_$2319_storage_ptr_$","typeString":"type(struct IAllo.Pool storage pointer)"}},"id":776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["23883:9:0","23918:8:0","23951:8:0","23984:5:0","24011:11:0","24055:9:0"],"names":["profileId","strategy","metadata","token","managerRole","adminRole"],"nodeType":"FunctionCall","src":"23864:228:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"23845:247:0"},{"expression":{"id":782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":778,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"24159:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":780,"indexExpression":{"id":779,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"24165:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24159:13:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":781,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":768,"src":"24175:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"src":"24159:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":783,"nodeType":"ExpressionStatement","src":"24159:20:0"},{"expression":{"arguments":[{"id":785,"name":"POOL_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":757,"src":"24250:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":786,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"24267:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24271:6:0","memberName":"sender","nodeType":"MemberAccess","src":"24267:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":784,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52660,"src":"24239:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24239:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":789,"nodeType":"ExpressionStatement","src":"24239:39:0"},{"expression":{"arguments":[{"id":791,"name":"POOL_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"24351:17:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":792,"name":"POOL_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":757,"src":"24370:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":790,"name":"_setRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52628,"src":"24337:13:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24337:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":794,"nodeType":"ExpressionStatement","src":"24337:49:0"},{"expression":{"arguments":[{"id":798,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"24562:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":799,"name":"_initStrategyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":718,"src":"24570:17:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":795,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"24541:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24551:10:0","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":2939,"src":"24541:20:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) external"}},"id":800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24541:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":801,"nodeType":"ExpressionStatement","src":"24541:47:0"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":802,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"24603:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24613:9:0","memberName":"getPoolId","nodeType":"MemberAccess","referencedDeclaration":2876,"src":"24603:19:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24603:21:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":805,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"24628:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24603:31:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":809,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"24646:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24656:7:0","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":2870,"src":"24646:17:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24646:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}],"id":808,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24638:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":807,"name":"address","nodeType":"ElementaryTypeName","src":"24638:7:0","typeDescriptions":{}}},"id":812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24638:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":815,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"24678:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":814,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24670:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":813,"name":"address","nodeType":"ElementaryTypeName","src":"24670:7:0","typeDescriptions":{}}},"id":816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24670:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"24638:45:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24603:80:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":822,"nodeType":"IfStatement","src":"24599:103:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":819,"name":"MISMATCH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3011,"src":"24692:8:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24692:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":821,"nodeType":"RevertStatement","src":"24685:17:0"}},{"assignments":[824],"declarations":[{"constant":false,"id":824,"mutability":"mutable","name":"managersLength","nameLocation":"24758:14:0","nodeType":"VariableDeclaration","scope":924,"src":"24750:22:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":823,"name":"uint256","nodeType":"ElementaryTypeName","src":"24750:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":827,"initialValue":{"expression":{"id":825,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":728,"src":"24775:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24785:6:0","memberName":"length","nodeType":"MemberAccess","src":"24775:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24750:41:0"},{"body":{"id":859,"nodeType":"Block","src":"24838:229:0","statements":[{"assignments":[835],"declarations":[{"constant":false,"id":835,"mutability":"mutable","name":"manager","nameLocation":"24860:7:0","nodeType":"VariableDeclaration","scope":859,"src":"24852:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":834,"name":"address","nodeType":"ElementaryTypeName","src":"24852:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":839,"initialValue":{"baseExpression":{"id":836,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":728,"src":"24870:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":838,"indexExpression":{"id":837,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"24880:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24870:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"24852:30:0"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":840,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":835,"src":"24900:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24919:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24911:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":841,"name":"address","nodeType":"ElementaryTypeName","src":"24911:7:0","typeDescriptions":{}}},"id":844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24911:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"24900:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":849,"nodeType":"IfStatement","src":"24896:48:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":846,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"24930:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24930:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":848,"nodeType":"RevertStatement","src":"24923:21:0"}},{"expression":{"arguments":[{"id":851,"name":"POOL_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"24970:17:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":852,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":835,"src":"24989:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":850,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52660,"src":"24959:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24959:38:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":854,"nodeType":"ExpressionStatement","src":"24959:38:0"},{"id":858,"nodeType":"UncheckedBlock","src":"25011:46:0","statements":[{"expression":{"id":856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"25039:3:0","subExpression":{"id":855,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"25041:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":857,"nodeType":"ExpressionStatement","src":"25039:3:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":831,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"24817:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":832,"name":"managersLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":824,"src":"24821:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24817:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":860,"initializationExpression":{"assignments":[829],"declarations":[{"constant":false,"id":829,"mutability":"mutable","name":"i","nameLocation":"24814:1:0","nodeType":"VariableDeclaration","scope":860,"src":"24806:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":828,"name":"uint256","nodeType":"ElementaryTypeName","src":"24806:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":830,"nodeType":"VariableDeclarationStatement","src":"24806:9:0"},"nodeType":"ForStatement","src":"24801:266:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":861,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25081:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25091:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25081:11:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":903,"nodeType":"IfStatement","src":"25077:554:0","trueBody":{"id":902,"nodeType":"Block","src":"25094:537:0","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":864,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"25359:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":865,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"25369:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25359:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":867,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25380:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":868,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25390:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25380:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":870,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"25401:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25405:5:0","memberName":"value","nodeType":"MemberAccess","src":"25401:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25380:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":873,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25379:32:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25359:52:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":875,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25358:54:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":876,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"25417:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":877,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"25427:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25417:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":879,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25437:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":880,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"25448:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25452:5:0","memberName":"value","nodeType":"MemberAccess","src":"25448:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25437:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25417:40:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":884,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25416:42:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25358:100:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":890,"nodeType":"IfStatement","src":"25354:164:0","trueBody":{"id":889,"nodeType":"Block","src":"25460:58:0","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":886,"name":"NOT_ENOUGH_FUNDS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3014,"src":"25485:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25485:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":888,"nodeType":"RevertStatement","src":"25478:25:0"}]}},{"expression":{"arguments":[{"id":892,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"25547:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":893,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"25555:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":894,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25565:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":891,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"25531:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25531:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":896,"nodeType":"ExpressionStatement","src":"25531:42:0"},{"eventCall":{"arguments":[{"id":898,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"25604:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":899,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25612:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":897,"name":"BaseFeePaid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2360,"src":"25592:11:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25592:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":901,"nodeType":"EmitStatement","src":"25587:33:0"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":904,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25645:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25655:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25645:11:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":914,"nodeType":"IfStatement","src":"25641:79:0","trueBody":{"id":913,"nodeType":"Block","src":"25658:62:0","statements":[{"expression":{"arguments":[{"id":908,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25682:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":909,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"25691:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":910,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"25699:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":907,"name":"_fundPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1122,"src":"25672:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_contract$_IStrategy_$2969_$returns$__$","typeString":"function (uint256,uint256,contract IStrategy)"}},"id":911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25672:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":912,"nodeType":"ExpressionStatement","src":"25672:37:0"}]}},{"eventCall":{"arguments":[{"id":916,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"25747:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":917,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":713,"src":"25755:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":918,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"25767:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":919,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"25778:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":920,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25786:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":921,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":725,"src":"25795:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":915,"name":"PoolCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2336,"src":"25735:11:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_bytes32_$_t_contract$_IStrategy_$2969_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (uint256,bytes32,contract IStrategy,address,uint256,struct Metadata memory)"}},"id":922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25735:70:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":923,"nodeType":"EmitStatement","src":"25730:75:0"}]},"documentation":{"id":711,"nodeType":"StructuredDocumentation","src":"22304:822:0","text":"@notice Creates a new pool.\n @dev This is an internal function that is called by the 'createPool()' & 'createPoolWithCustomStrategy()' functions\n It is used to create a new pool and is called by both functions. The 'msg.sender' must be a member or owner of\n a profile to create a pool.\n @param _profileId The ID of the profile of for pool creator in the registry\n @param _strategy The address of strategy\n @param _initStrategyData The data to initialize the strategy\n @param _token The address of the token that the pool is denominated in\n @param _amount The amount of the token to be deposited into the pool\n @param _metadata The 'Metadata' of the pool\n @param _managers The managers of the pool\n @return poolId The ID of the pool"},"implemented":true,"kind":"function","modifiers":[],"name":"_createPool","nameLocation":"23140:11:0","parameters":{"id":729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":713,"mutability":"mutable","name":"_profileId","nameLocation":"23169:10:0","nodeType":"VariableDeclaration","scope":925,"src":"23161:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":712,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23161:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":716,"mutability":"mutable","name":"_strategy","nameLocation":"23199:9:0","nodeType":"VariableDeclaration","scope":925,"src":"23189:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":715,"nodeType":"UserDefinedTypeName","pathNode":{"id":714,"name":"IStrategy","nameLocations":["23189:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"23189:9:0"},"referencedDeclaration":2969,"src":"23189:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"},{"constant":false,"id":718,"mutability":"mutable","name":"_initStrategyData","nameLocation":"23231:17:0","nodeType":"VariableDeclaration","scope":925,"src":"23218:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":717,"name":"bytes","nodeType":"ElementaryTypeName","src":"23218:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":720,"mutability":"mutable","name":"_token","nameLocation":"23266:6:0","nodeType":"VariableDeclaration","scope":925,"src":"23258:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":719,"name":"address","nodeType":"ElementaryTypeName","src":"23258:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":722,"mutability":"mutable","name":"_amount","nameLocation":"23290:7:0","nodeType":"VariableDeclaration","scope":925,"src":"23282:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":721,"name":"uint256","nodeType":"ElementaryTypeName","src":"23282:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":725,"mutability":"mutable","name":"_metadata","nameLocation":"23323:9:0","nodeType":"VariableDeclaration","scope":925,"src":"23307:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":724,"nodeType":"UserDefinedTypeName","pathNode":{"id":723,"name":"Metadata","nameLocations":["23307:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"23307:8:0"},"referencedDeclaration":3098,"src":"23307:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":728,"mutability":"mutable","name":"_managers","nameLocation":"23359:9:0","nodeType":"VariableDeclaration","scope":925,"src":"23342:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":726,"name":"address","nodeType":"ElementaryTypeName","src":"23342:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":727,"nodeType":"ArrayTypeName","src":"23342:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"23151:223:0"},"returnParameters":{"id":732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":731,"mutability":"mutable","name":"poolId","nameLocation":"23401:6:0","nodeType":"VariableDeclaration","scope":925,"src":"23393:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":730,"name":"uint256","nodeType":"ElementaryTypeName","src":"23393:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23392:16:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":947,"nodeType":"FunctionDefinition","src":"26159:151:0","nodes":[],"body":{"id":946,"nodeType":"Block","src":"26224:86:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":941,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":930,"src":"26285:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":942,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"26292:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26296:6:0","memberName":"sender","nodeType":"MemberAccess","src":"26292:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":933,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"26234:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":935,"indexExpression":{"id":934,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":928,"src":"26240:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26234:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":936,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26249:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"26234:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26258:8:0","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":2957,"src":"26234:32:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$__$","typeString":"function (bytes memory,address) payable external"}},"id":940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":938,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"26274:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26278:5:0","memberName":"value","nodeType":"MemberAccess","src":"26274:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"26234:50:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$__$value","typeString":"function (bytes memory,address) payable external"}},"id":944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26234:69:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":945,"nodeType":"ExpressionStatement","src":"26234:69:0"}]},"documentation":{"id":926,"nodeType":"StructuredDocumentation","src":"25818:336:0","text":"@notice Allocate to recipient(s).\n @dev Passes '_data' & 'msg.sender' through to the strategy for that pool.\n This is an internal function that is called by the 'allocate()' & 'batchAllocate()' functions.\n @param _poolId ID of the pool\n @param _data Encoded data unique to the strategy for that pool"},"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"26168:9:0","parameters":{"id":931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":928,"mutability":"mutable","name":"_poolId","nameLocation":"26186:7:0","nodeType":"VariableDeclaration","scope":947,"src":"26178:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":927,"name":"uint256","nodeType":"ElementaryTypeName","src":"26178:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":930,"mutability":"mutable","name":"_data","nameLocation":"26208:5:0","nodeType":"VariableDeclaration","scope":947,"src":"26195:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":929,"name":"bytes","nodeType":"ElementaryTypeName","src":"26195:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26177:37:0"},"returnParameters":{"id":932,"nodeType":"ParameterList","parameters":[],"src":"26224:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1122,"nodeType":"FunctionDefinition","src":"26634:1879:0","nodes":[],"body":{"id":1121,"nodeType":"Block","src":"26717:1796:0","nodes":[],"statements":[{"assignments":[959],"declarations":[{"constant":false,"id":959,"mutability":"mutable","name":"feeAmount","nameLocation":"26735:9:0","nodeType":"VariableDeclaration","scope":1121,"src":"26727:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":958,"name":"uint256","nodeType":"ElementaryTypeName","src":"26727:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":960,"nodeType":"VariableDeclarationStatement","src":"26727:17:0"},{"assignments":[962],"declarations":[{"constant":false,"id":962,"mutability":"mutable","name":"amountAfterFee","nameLocation":"26762:14:0","nodeType":"VariableDeclaration","scope":1121,"src":"26754:22:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":961,"name":"uint256","nodeType":"ElementaryTypeName","src":"26754:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":964,"initialValue":{"id":963,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":950,"src":"26779:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26754:32:0"},{"assignments":[967],"declarations":[{"constant":false,"id":967,"mutability":"mutable","name":"pool","nameLocation":"26810:4:0","nodeType":"VariableDeclaration","scope":1121,"src":"26797:17:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":966,"nodeType":"UserDefinedTypeName","pathNode":{"id":965,"name":"Pool","nameLocations":["26797:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"26797:4:0"},"referencedDeclaration":2319,"src":"26797:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":971,"initialValue":{"baseExpression":{"id":968,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"26817:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":970,"indexExpression":{"id":969,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":952,"src":"26823:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26817:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"VariableDeclarationStatement","src":"26797:34:0"},{"assignments":[973],"declarations":[{"constant":false,"id":973,"mutability":"mutable","name":"_token","nameLocation":"26849:6:0","nodeType":"VariableDeclaration","scope":1121,"src":"26841:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":972,"name":"address","nodeType":"ElementaryTypeName","src":"26841:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":976,"initialValue":{"expression":{"id":974,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":967,"src":"26858:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool storage pointer"}},"id":975,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26863:5:0","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"26858:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"26841:27:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":977,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"26883:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26896:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"26883:14:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1050,"nodeType":"IfStatement","src":"26879:808:0","trueBody":{"id":1049,"nodeType":"Block","src":"26899:788:0","statements":[{"expression":{"id":988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":980,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"26913:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":981,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":950,"src":"26926:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":982,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"26936:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26926:20:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":984,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"26925:22:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":985,"name":"getFeeDenominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1276,"src":"26950:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26950:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26925:44:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26913:56:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":989,"nodeType":"ExpressionStatement","src":"26913:56:0"},{"expression":{"id":992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":990,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"26983:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":991,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27001:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26983:27:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":993,"nodeType":"ExpressionStatement","src":"26983:27:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":994,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27029:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":995,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"27041:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27029:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":997,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":950,"src":"27059:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27029:37:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1002,"nodeType":"IfStatement","src":"27025:59:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":999,"name":"INVALID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3008,"src":"27075:7:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27075:9:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1001,"nodeType":"RevertStatement","src":"27068:16:0"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1003,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27103:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1004,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"27113:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27103:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1047,"nodeType":"Block","src":"27254:423:0","statements":[{"assignments":[1018],"declarations":[{"constant":false,"id":1018,"mutability":"mutable","name":"balanceBeforeFee","nameLocation":"27280:16:0","nodeType":"VariableDeclaration","scope":1047,"src":"27272:24:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1017,"name":"uint256","nodeType":"ElementaryTypeName","src":"27272:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1023,"initialValue":{"arguments":[{"id":1020,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27311:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1021,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27319:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":1019,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"27299:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27299:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27272:56:0"},{"expression":{"arguments":[{"id":1025,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27366:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1027,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"27394:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27398:6:0","memberName":"sender","nodeType":"MemberAccess","src":"27394:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1029,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27410:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":1030,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27428:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1026,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"27374:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["27388:4:0","27406:2:0","27420:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"27374:65:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1024,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27346:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27346:94:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1033,"nodeType":"ExpressionStatement","src":"27346:94:0"},{"assignments":[1035],"declarations":[{"constant":false,"id":1035,"mutability":"mutable","name":"balanceAfterFee","nameLocation":"27466:15:0","nodeType":"VariableDeclaration","scope":1047,"src":"27458:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1034,"name":"uint256","nodeType":"ElementaryTypeName","src":"27458:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1040,"initialValue":{"arguments":[{"id":1037,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27496:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1038,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27504:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":1036,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"27484:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27484:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27458:55:0"},{"expression":{"id":1045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1041,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27616:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1042,"name":"balanceAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1035,"src":"27628:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":1043,"name":"balanceBeforeFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1018,"src":"27646:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27628:34:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27616:46:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1046,"nodeType":"ExpressionStatement","src":"27616:46:0"}]},"id":1048,"nodeType":"IfStatement","src":"27099:578:0","trueBody":{"id":1016,"nodeType":"Block","src":"27121:127:0","statements":[{"expression":{"arguments":[{"id":1007,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27159:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1009,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"27187:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27191:6:0","memberName":"sender","nodeType":"MemberAccess","src":"27187:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1011,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27203:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":1012,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27221:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1008,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"27167:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["27181:4:0","27199:2:0","27213:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"27167:65:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1006,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27139:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27139:94:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1015,"nodeType":"ExpressionStatement","src":"27139:94:0"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1051,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27701:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1052,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"27711:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27701:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1107,"nodeType":"Block","src":"27889:501:0","statements":[{"assignments":[1069],"declarations":[{"constant":false,"id":1069,"mutability":"mutable","name":"balanceBeforeFundingPool","nameLocation":"27911:24:0","nodeType":"VariableDeclaration","scope":1107,"src":"27903:32:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1068,"name":"uint256","nodeType":"ElementaryTypeName","src":"27903:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1077,"initialValue":{"arguments":[{"id":1071,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27950:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1074,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"27966:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1073,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27958:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1072,"name":"address","nodeType":"ElementaryTypeName","src":"27958:7:0","typeDescriptions":{}}},"id":1075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27958:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1070,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"27938:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27938:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27903:74:0"},{"expression":{"arguments":[{"id":1079,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"28028:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1081,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"28056:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28060:6:0","memberName":"sender","nodeType":"MemberAccess","src":"28056:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1085,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"28080:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28072:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1083,"name":"address","nodeType":"ElementaryTypeName","src":"28072:7:0","typeDescriptions":{}}},"id":1086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28072:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1087,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28100:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1080,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"28036:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["28050:4:0","28068:2:0","28092:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"28036:80:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1078,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27991:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27991:139:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1090,"nodeType":"ExpressionStatement","src":"27991:139:0"},{"assignments":[1092],"declarations":[{"constant":false,"id":1092,"mutability":"mutable","name":"balanceAfterFundingPool","nameLocation":"28152:23:0","nodeType":"VariableDeclaration","scope":1107,"src":"28144:31:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1091,"name":"uint256","nodeType":"ElementaryTypeName","src":"28144:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1100,"initialValue":{"arguments":[{"id":1094,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"28190:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1097,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"28206:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1096,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28198:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1095,"name":"address","nodeType":"ElementaryTypeName","src":"28198:7:0","typeDescriptions":{}}},"id":1098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28198:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1093,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"28178:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28178:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28144:73:0"},{"expression":{"id":1105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1101,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28312:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1102,"name":"balanceAfterFundingPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1092,"src":"28329:23:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":1103,"name":"balanceBeforeFundingPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1069,"src":"28355:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28329:50:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28312:67:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1106,"nodeType":"ExpressionStatement","src":"28312:67:0"}]},"id":1108,"nodeType":"IfStatement","src":"27697:693:0","trueBody":{"id":1067,"nodeType":"Block","src":"27719:164:0","statements":[{"expression":{"arguments":[{"id":1055,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27770:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1057,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"27798:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27802:6:0","memberName":"sender","nodeType":"MemberAccess","src":"27798:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1061,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"27822:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1060,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27814:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1059,"name":"address","nodeType":"ElementaryTypeName","src":"27814:7:0","typeDescriptions":{}}},"id":1062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27814:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1063,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"27842:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1056,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"27778:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["27792:4:0","27810:2:0","27834:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"27778:80:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1054,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27733:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27733:139:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1066,"nodeType":"ExpressionStatement","src":"27733:139:0"}]}},{"expression":{"arguments":[{"id":1112,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28429:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1109,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"28400:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":1111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28410:18:0","memberName":"increasePoolAmount","nodeType":"MemberAccess","referencedDeclaration":2908,"src":"28400:28:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":1113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28400:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1114,"nodeType":"ExpressionStatement","src":"28400:44:0"},{"eventCall":{"arguments":[{"id":1116,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":952,"src":"28471:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1117,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28480:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1118,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"28496:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1115,"name":"PoolFunded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2353,"src":"28460:10:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":1119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28460:46:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1120,"nodeType":"EmitStatement","src":"28455:51:0"}]},"documentation":{"id":948,"nodeType":"StructuredDocumentation","src":"26316:313:0","text":"@notice Fund a pool.\n @dev Deducts the fee and transfers the amount to the distribution strategy.\n Emits a 'PoolFunded' event.\n @param _amount The amount to transfer\n @param _poolId The 'poolId' for the pool you are funding\n @param _strategy The address of the strategy"},"implemented":true,"kind":"function","modifiers":[],"name":"_fundPool","nameLocation":"26643:9:0","parameters":{"id":956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":950,"mutability":"mutable","name":"_amount","nameLocation":"26661:7:0","nodeType":"VariableDeclaration","scope":1122,"src":"26653:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":949,"name":"uint256","nodeType":"ElementaryTypeName","src":"26653:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":952,"mutability":"mutable","name":"_poolId","nameLocation":"26678:7:0","nodeType":"VariableDeclaration","scope":1122,"src":"26670:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":951,"name":"uint256","nodeType":"ElementaryTypeName","src":"26670:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":955,"mutability":"mutable","name":"_strategy","nameLocation":"26697:9:0","nodeType":"VariableDeclaration","scope":1122,"src":"26687:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":954,"nodeType":"UserDefinedTypeName","pathNode":{"id":953,"name":"IStrategy","nameLocations":["26687:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"26687:9:0"},"referencedDeclaration":2969,"src":"26687:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"}],"src":"26652:55:0"},"returnParameters":{"id":957,"nodeType":"ParameterList","parameters":[],"src":"26717:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1135,"nodeType":"FunctionDefinition","src":"28898:132:0","nodes":[],"body":{"id":1134,"nodeType":"Block","src":"28976:54:0","nodes":[],"statements":[{"expression":{"baseExpression":{"id":1130,"name":"cloneableStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"28993:19:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":1132,"indexExpression":{"id":1131,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1125,"src":"29013:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28993:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1129,"id":1133,"nodeType":"Return","src":"28986:37:0"}]},"documentation":{"id":1123,"nodeType":"StructuredDocumentation","src":"28519:374:0","text":"@notice Checks if the strategy is an approved cloneable strategy.\n @dev Internal function used by createPoolwithCustomStrategy and createPool to\n determine if a strategy is in the cloneable strategy allow list.\n @param _strategy The address of the strategy\n @return This will return 'true' if the strategy is cloneable, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isCloneableStrategy","nameLocation":"28907:20:0","parameters":{"id":1126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1125,"mutability":"mutable","name":"_strategy","nameLocation":"28936:9:0","nodeType":"VariableDeclaration","scope":1135,"src":"28928:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1124,"name":"address","nodeType":"ElementaryTypeName","src":"28928:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28927:19:0"},"returnParameters":{"id":1129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1128,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1135,"src":"28970:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1127,"name":"bool","nodeType":"ElementaryTypeName","src":"28970:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28969:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":1154,"nodeType":"FunctionDefinition","src":"29346:153:0","nodes":[],"body":{"id":1153,"nodeType":"Block","src":"29432:67:0","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":1146,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"29457:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1148,"indexExpression":{"id":1147,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1138,"src":"29463:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29457:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":1149,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29472:9:0","memberName":"adminRole","nodeType":"MemberAccess","referencedDeclaration":2318,"src":"29457:24:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1150,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1140,"src":"29483:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1145,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52456,"src":"29449:7:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29449:43:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1144,"id":1152,"nodeType":"Return","src":"29442:50:0"}]},"documentation":{"id":1136,"nodeType":"StructuredDocumentation","src":"29036:305:0","text":"@notice Checks if the address is a pool admin\n @dev Internal function used to determine if an address is a pool admin\n @param _poolId The ID of the pool\n @param _address The address to check\n @return This will return 'true' if the address is a pool admin, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isPoolAdmin","nameLocation":"29355:12:0","parameters":{"id":1141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1138,"mutability":"mutable","name":"_poolId","nameLocation":"29376:7:0","nodeType":"VariableDeclaration","scope":1154,"src":"29368:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1137,"name":"uint256","nodeType":"ElementaryTypeName","src":"29368:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1140,"mutability":"mutable","name":"_address","nameLocation":"29393:8:0","nodeType":"VariableDeclaration","scope":1154,"src":"29385:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1139,"name":"address","nodeType":"ElementaryTypeName","src":"29385:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29367:35:0"},"returnParameters":{"id":1144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1143,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1154,"src":"29426:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1142,"name":"bool","nodeType":"ElementaryTypeName","src":"29426:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29425:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":1178,"nodeType":"FunctionDefinition","src":"29821:192:0","nodes":[],"body":{"id":1177,"nodeType":"Block","src":"29909:104:0","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"baseExpression":{"id":1165,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"29934:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1167,"indexExpression":{"id":1166,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1157,"src":"29940:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29934:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":1168,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29949:11:0","memberName":"managerRole","nodeType":"MemberAccess","referencedDeclaration":2316,"src":"29934:26:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1169,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1159,"src":"29962:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1164,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52456,"src":"29926:7:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29926:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":1172,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1157,"src":"29988:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1173,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1159,"src":"29997:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1171,"name":"_isPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1154,"src":"29975:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":1174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29975:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"29926:80:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1163,"id":1176,"nodeType":"Return","src":"29919:87:0"}]},"documentation":{"id":1155,"nodeType":"StructuredDocumentation","src":"29505:311:0","text":"@notice Checks if the address is a pool manager\n @dev Internal function used to determine if an address is a pool manager\n @param _poolId The ID of the pool\n @param _address The address to check\n @return This will return 'true' if the address is a pool manager, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isPoolManager","nameLocation":"29830:14:0","parameters":{"id":1160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1157,"mutability":"mutable","name":"_poolId","nameLocation":"29853:7:0","nodeType":"VariableDeclaration","scope":1178,"src":"29845:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1156,"name":"uint256","nodeType":"ElementaryTypeName","src":"29845:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1159,"mutability":"mutable","name":"_address","nameLocation":"29870:8:0","nodeType":"VariableDeclaration","scope":1178,"src":"29862:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1158,"name":"address","nodeType":"ElementaryTypeName","src":"29862:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29844:35:0"},"returnParameters":{"id":1163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1162,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1178,"src":"29903:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1161,"name":"bool","nodeType":"ElementaryTypeName","src":"29903:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29902:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":1205,"nodeType":"FunctionDefinition","src":"30226:203:0","nodes":[],"body":{"id":1204,"nodeType":"Block","src":"30279:150:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1184,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1181,"src":"30293:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30314:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30306:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1185,"name":"address","nodeType":"ElementaryTypeName","src":"30306:7:0","typeDescriptions":{}}},"id":1188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30306:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"30293:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1193,"nodeType":"IfStatement","src":"30289:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1190,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"30325:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30325:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1192,"nodeType":"RevertStatement","src":"30318:21:0"}},{"expression":{"id":1198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1194,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"30350:8:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":1196,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1181,"src":"30371:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1195,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"30361:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistry_$2802_$","typeString":"type(contract IRegistry)"}},"id":1197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30361:20:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"src":"30350:31:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":1199,"nodeType":"ExpressionStatement","src":"30350:31:0"},{"eventCall":{"arguments":[{"id":1201,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1181,"src":"30412:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1200,"name":"RegistryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2380,"src":"30396:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":1202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30396:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1203,"nodeType":"EmitStatement","src":"30391:31:0"}]},"documentation":{"id":1179,"nodeType":"StructuredDocumentation","src":"30019:202:0","text":"@notice Updates the registry address\n @dev Internal function used to update the registry address.\n Emits a RegistryUpdated event.\n @param _registry The new registry address"},"implemented":true,"kind":"function","modifiers":[],"name":"_updateRegistry","nameLocation":"30235:15:0","parameters":{"id":1182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1181,"mutability":"mutable","name":"_registry","nameLocation":"30259:9:0","nodeType":"VariableDeclaration","scope":1205,"src":"30251:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1180,"name":"address","nodeType":"ElementaryTypeName","src":"30251:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30250:19:0"},"returnParameters":{"id":1183,"nodeType":"ParameterList","parameters":[],"src":"30279:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1230,"nodeType":"FunctionDefinition","src":"30642:199:0","nodes":[],"body":{"id":1229,"nodeType":"Block","src":"30703:138:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1211,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1208,"src":"30717:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30738:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1213,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30730:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1212,"name":"address","nodeType":"ElementaryTypeName","src":"30730:7:0","typeDescriptions":{}}},"id":1215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30730:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"30717:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1220,"nodeType":"IfStatement","src":"30713:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1217,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"30749:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30749:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1219,"nodeType":"RevertStatement","src":"30742:21:0"}},{"expression":{"id":1223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1221,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"30774:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1222,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1208,"src":"30785:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"30774:20:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":1224,"nodeType":"ExpressionStatement","src":"30774:20:0"},{"eventCall":{"arguments":[{"id":1226,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"30825:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":1225,"name":"TreasuryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2365,"src":"30809:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":1227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30809:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1228,"nodeType":"EmitStatement","src":"30804:30:0"}]},"documentation":{"id":1206,"nodeType":"StructuredDocumentation","src":"30435:202:0","text":"@notice Updates the treasury address\n @dev Internal function used to update the treasury address.\n Emits a TreasuryUpdated event.\n @param _treasury The new treasury address"},"implemented":true,"kind":"function","modifiers":[],"name":"_updateTreasury","nameLocation":"30651:15:0","parameters":{"id":1209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1208,"mutability":"mutable","name":"_treasury","nameLocation":"30683:9:0","nodeType":"VariableDeclaration","scope":1230,"src":"30667:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":1207,"name":"address","nodeType":"ElementaryTypeName","src":"30667:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"30666:27:0"},"returnParameters":{"id":1210,"nodeType":"ParameterList","parameters":[],"src":"30703:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1252,"nodeType":"FunctionDefinition","src":"31041:198:0","nodes":[],"body":{"id":1251,"nodeType":"Block","src":"31098:141:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1236,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1233,"src":"31112:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31653138","id":1237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31126:4:0","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"31112:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1242,"nodeType":"IfStatement","src":"31108:44:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1239,"name":"INVALID_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3041,"src":"31139:11:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31139:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1241,"nodeType":"RevertStatement","src":"31132:20:0"}},{"expression":{"id":1245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1243,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"31163:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1244,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1233,"src":"31176:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31163:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1246,"nodeType":"ExpressionStatement","src":"31163:24:0"},{"eventCall":{"arguments":[{"id":1248,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"31221:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1247,"name":"PercentFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2370,"src":"31203:17:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":1249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31203:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1250,"nodeType":"EmitStatement","src":"31198:34:0"}]},"documentation":{"id":1231,"nodeType":"StructuredDocumentation","src":"30847:189:0","text":"@notice Updates the fee percentage\n @dev Internal function used to update the percentage fee.\n Emits a PercentFeeUpdated event.\n @param _percentFee The new fee"},"implemented":true,"kind":"function","modifiers":[],"name":"_updatePercentFee","nameLocation":"31050:17:0","parameters":{"id":1234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1233,"mutability":"mutable","name":"_percentFee","nameLocation":"31076:11:0","nodeType":"VariableDeclaration","scope":1252,"src":"31068:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1232,"name":"uint256","nodeType":"ElementaryTypeName","src":"31068:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31067:21:0"},"returnParameters":{"id":1235,"nodeType":"ParameterList","parameters":[],"src":"31098:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1267,"nodeType":"FunctionDefinition","src":"31426:125:0","nodes":[],"body":{"id":1266,"nodeType":"Block","src":"31477:74:0","nodes":[],"statements":[{"expression":{"id":1260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1258,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"31487:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1259,"name":"_baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1255,"src":"31497:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31487:18:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1261,"nodeType":"ExpressionStatement","src":"31487:18:0"},{"eventCall":{"arguments":[{"id":1263,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"31536:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1262,"name":"BaseFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2375,"src":"31521:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":1264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31521:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1265,"nodeType":"EmitStatement","src":"31516:28:0"}]},"documentation":{"id":1253,"nodeType":"StructuredDocumentation","src":"31245:176:0","text":"@notice Updates the base fee\n @dev Internal function used to update the base fee.\n Emits a BaseFeeUpdated event.\n @param _baseFee The new base fee"},"implemented":true,"kind":"function","modifiers":[],"name":"_updateBaseFee","nameLocation":"31435:14:0","parameters":{"id":1256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1255,"mutability":"mutable","name":"_baseFee","nameLocation":"31458:8:0","nodeType":"VariableDeclaration","scope":1267,"src":"31450:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1254,"name":"uint256","nodeType":"ElementaryTypeName","src":"31450:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31449:18:0"},"returnParameters":{"id":1257,"nodeType":"ParameterList","parameters":[],"src":"31477:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1276,"nodeType":"FunctionDefinition","src":"31788:103:0","nodes":[],"body":{"id":1275,"nodeType":"Block","src":"31863:28:0","nodes":[],"statements":[{"expression":{"hexValue":"31653138","id":1273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31880:4:0","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"functionReturnParameters":1272,"id":1274,"nodeType":"Return","src":"31873:11:0"}]},"baseFunctions":[2609],"documentation":{"id":1268,"nodeType":"StructuredDocumentation","src":"31657:126:0","text":"@notice Getter for the fee denominator\n @return FEE_DENOMINATOR The fee denominator is (1e18) which represents 100%"},"functionSelector":"f4e1fc41","implemented":true,"kind":"function","modifiers":[],"name":"getFeeDenominator","nameLocation":"31797:17:0","parameters":{"id":1269,"nodeType":"ParameterList","parameters":[],"src":"31814:2:0"},"returnParameters":{"id":1272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1271,"mutability":"mutable","name":"FEE_DENOMINATOR","nameLocation":"31846:15:0","nodeType":"VariableDeclaration","scope":1276,"src":"31838:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1270,"name":"uint256","nodeType":"ElementaryTypeName","src":"31838:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31837:25:0"},"scope":1390,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":1292,"nodeType":"FunctionDefinition","src":"32112:140:0","nodes":[],"body":{"id":1291,"nodeType":"Block","src":"32197:55:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":1287,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1279,"src":"32227:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1288,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1281,"src":"32236:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1286,"name":"_isPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1154,"src":"32214:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":1289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32214:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1285,"id":1290,"nodeType":"Return","src":"32207:38:0"}]},"baseFunctions":[2543],"documentation":{"id":1277,"nodeType":"StructuredDocumentation","src":"31897:210:0","text":"@notice Checks if the address is a pool admin.\n @param _poolId The ID of the pool\n @param _address The address to check\n @return 'true' if the address is a pool admin, otherwise 'false'"},"functionSelector":"ab3febc6","implemented":true,"kind":"function","modifiers":[],"name":"isPoolAdmin","nameLocation":"32121:11:0","parameters":{"id":1282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1279,"mutability":"mutable","name":"_poolId","nameLocation":"32141:7:0","nodeType":"VariableDeclaration","scope":1292,"src":"32133:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1278,"name":"uint256","nodeType":"ElementaryTypeName","src":"32133:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1281,"mutability":"mutable","name":"_address","nameLocation":"32158:8:0","nodeType":"VariableDeclaration","scope":1292,"src":"32150:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1280,"name":"address","nodeType":"ElementaryTypeName","src":"32150:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32132:35:0"},"returnParameters":{"id":1285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1284,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1292,"src":"32191:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1283,"name":"bool","nodeType":"ElementaryTypeName","src":"32191:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32190:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1308,"nodeType":"FunctionDefinition","src":"32476:144:0","nodes":[],"body":{"id":1307,"nodeType":"Block","src":"32563:57:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":1303,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1295,"src":"32595:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1304,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1297,"src":"32604:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1302,"name":"_isPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1178,"src":"32580:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":1305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32580:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1301,"id":1306,"nodeType":"Return","src":"32573:40:0"}]},"baseFunctions":[2553],"documentation":{"id":1293,"nodeType":"StructuredDocumentation","src":"32258:213:0","text":"@notice Checks if the address is a pool manager\n @param _poolId The ID of the pool\n @param _address The address to check\n @return 'true' if the address is a pool manager, otherwise 'false'"},"functionSelector":"29e40d4b","implemented":true,"kind":"function","modifiers":[],"name":"isPoolManager","nameLocation":"32485:13:0","parameters":{"id":1298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1295,"mutability":"mutable","name":"_poolId","nameLocation":"32507:7:0","nodeType":"VariableDeclaration","scope":1308,"src":"32499:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1294,"name":"uint256","nodeType":"ElementaryTypeName","src":"32499:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1297,"mutability":"mutable","name":"_address","nameLocation":"32524:8:0","nodeType":"VariableDeclaration","scope":1308,"src":"32516:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1296,"name":"address","nodeType":"ElementaryTypeName","src":"32516:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32498:35:0"},"returnParameters":{"id":1301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1308,"src":"32557:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1299,"name":"bool","nodeType":"ElementaryTypeName","src":"32557:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32556:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1325,"nodeType":"FunctionDefinition","src":"32753:126:0","nodes":[],"body":{"id":1324,"nodeType":"Block","src":"32823:56:0","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":1318,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"32848:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1320,"indexExpression":{"id":1319,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1311,"src":"32854:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32848:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":1321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32863:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"32848:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32840:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1316,"name":"address","nodeType":"ElementaryTypeName","src":"32840:7:0","typeDescriptions":{}}},"id":1322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32840:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1315,"id":1323,"nodeType":"Return","src":"32833:39:0"}]},"baseFunctions":[2569],"documentation":{"id":1309,"nodeType":"StructuredDocumentation","src":"32626:122:0","text":"@notice Getter for the strategy.\n @param _poolId The ID of the pool\n @return The address of the strategy"},"functionSelector":"cfc0cc34","implemented":true,"kind":"function","modifiers":[],"name":"getStrategy","nameLocation":"32762:11:0","parameters":{"id":1312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1311,"mutability":"mutable","name":"_poolId","nameLocation":"32782:7:0","nodeType":"VariableDeclaration","scope":1325,"src":"32774:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1310,"name":"uint256","nodeType":"ElementaryTypeName","src":"32774:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32773:17:0"},"returnParameters":{"id":1315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1314,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1325,"src":"32814:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1313,"name":"address","nodeType":"ElementaryTypeName","src":"32814:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32813:9:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1334,"nodeType":"FunctionDefinition","src":"32977:91:0","nodes":[],"body":{"id":1333,"nodeType":"Block","src":"33034:34:0","nodes":[],"statements":[{"expression":{"id":1331,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"33051:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1330,"id":1332,"nodeType":"Return","src":"33044:17:0"}]},"baseFunctions":[2575],"documentation":{"id":1326,"nodeType":"StructuredDocumentation","src":"32885:87:0","text":"@notice Getter for fee percentage.\n @return The fee percentage (1e18 = 100%)"},"functionSelector":"4edbaadc","implemented":true,"kind":"function","modifiers":[],"name":"getPercentFee","nameLocation":"32986:13:0","parameters":{"id":1327,"nodeType":"ParameterList","parameters":[],"src":"32999:2:0"},"returnParameters":{"id":1330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1329,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1334,"src":"33025:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1328,"name":"uint256","nodeType":"ElementaryTypeName","src":"33025:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33024:9:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1343,"nodeType":"FunctionDefinition","src":"33140:85:0","nodes":[],"body":{"id":1342,"nodeType":"Block","src":"33194:31:0","nodes":[],"statements":[{"expression":{"id":1340,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"33211:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1339,"id":1341,"nodeType":"Return","src":"33204:14:0"}]},"baseFunctions":[2581],"documentation":{"id":1335,"nodeType":"StructuredDocumentation","src":"33074:61:0","text":"@notice Getter for base fee.\n @return The base fee"},"functionSelector":"15e812ad","implemented":true,"kind":"function","modifiers":[],"name":"getBaseFee","nameLocation":"33149:10:0","parameters":{"id":1336,"nodeType":"ParameterList","parameters":[],"src":"33159:2:0"},"returnParameters":{"id":1339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1338,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1343,"src":"33185:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1337,"name":"uint256","nodeType":"ElementaryTypeName","src":"33185:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33184:9:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1352,"nodeType":"FunctionDefinition","src":"33313:95:0","nodes":[],"body":{"id":1351,"nodeType":"Block","src":"33376:32:0","nodes":[],"statements":[{"expression":{"id":1349,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"33393:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":1348,"id":1350,"nodeType":"Return","src":"33386:15:0"}]},"baseFunctions":[2587],"documentation":{"id":1344,"nodeType":"StructuredDocumentation","src":"33231:77:0","text":"@notice Getter for treasury address.\n @return The treasury address"},"functionSelector":"3b19e84a","implemented":true,"kind":"function","modifiers":[],"name":"getTreasury","nameLocation":"33322:11:0","parameters":{"id":1345,"nodeType":"ParameterList","parameters":[],"src":"33333:2:0"},"returnParameters":{"id":1348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1347,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1352,"src":"33359:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":1346,"name":"address","nodeType":"ElementaryTypeName","src":"33359:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"33358:17:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1362,"nodeType":"FunctionDefinition","src":"33488:89:0","nodes":[],"body":{"id":1361,"nodeType":"Block","src":"33545:32:0","nodes":[],"statements":[{"expression":{"id":1359,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"33562:8:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"functionReturnParameters":1358,"id":1360,"nodeType":"Return","src":"33555:15:0"}]},"baseFunctions":[2594],"documentation":{"id":1353,"nodeType":"StructuredDocumentation","src":"33414:69:0","text":"@notice Getter for registry.\n @return The registry address"},"functionSelector":"5ab1bd53","implemented":true,"kind":"function","modifiers":[],"name":"getRegistry","nameLocation":"33497:11:0","parameters":{"id":1354,"nodeType":"ParameterList","parameters":[],"src":"33508:2:0"},"returnParameters":{"id":1358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1357,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1362,"src":"33534:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":1356,"nodeType":"UserDefinedTypeName","pathNode":{"id":1355,"name":"IRegistry","nameLocations":["33534:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"33534:9:0"},"referencedDeclaration":2802,"src":"33534:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"}],"src":"33533:11:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1375,"nodeType":"FunctionDefinition","src":"33760:132:0","nodes":[],"body":{"id":1374,"nodeType":"Block","src":"33837:55:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":1371,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1365,"src":"33875:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1370,"name":"_isCloneableStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"33854:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":1372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33854:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1369,"id":1373,"nodeType":"Return","src":"33847:38:0"}]},"baseFunctions":[2561],"documentation":{"id":1363,"nodeType":"StructuredDocumentation","src":"33583:172:0","text":"@notice Getter for if strategy is cloneable.\n @param _strategy The address of the strategy\n @return 'true' if the strategy is cloneable, otherwise 'false'"},"functionSelector":"ab2ec589","implemented":true,"kind":"function","modifiers":[],"name":"isCloneableStrategy","nameLocation":"33769:19:0","parameters":{"id":1366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1365,"mutability":"mutable","name":"_strategy","nameLocation":"33797:9:0","nodeType":"VariableDeclaration","scope":1375,"src":"33789:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1364,"name":"address","nodeType":"ElementaryTypeName","src":"33789:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"33788:19:0"},"returnParameters":{"id":1369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1368,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1375,"src":"33831:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1367,"name":"bool","nodeType":"ElementaryTypeName","src":"33831:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33830:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1389,"nodeType":"FunctionDefinition","src":"34013:108:0","nodes":[],"body":{"id":1388,"nodeType":"Block","src":"34083:38:0","nodes":[],"statements":[{"expression":{"baseExpression":{"id":1384,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"34100:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1386,"indexExpression":{"id":1385,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1378,"src":"34106:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34100:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"functionReturnParameters":1383,"id":1387,"nodeType":"Return","src":"34093:21:0"}]},"baseFunctions":[2603],"documentation":{"id":1376,"nodeType":"StructuredDocumentation","src":"33898:110:0","text":"@notice Getter for the 'Pool'.\n @param _poolId The ID of the pool\n @return The 'Pool' struct"},"functionSelector":"068bcd8d","implemented":true,"kind":"function","modifiers":[],"name":"getPool","nameLocation":"34022:7:0","parameters":{"id":1379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1378,"mutability":"mutable","name":"_poolId","nameLocation":"34038:7:0","nodeType":"VariableDeclaration","scope":1389,"src":"34030:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1377,"name":"uint256","nodeType":"ElementaryTypeName","src":"34030:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34029:17:0"},"returnParameters":{"id":1383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1382,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1389,"src":"34070:11:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":1381,"nodeType":"UserDefinedTypeName","pathNode":{"id":1380,"name":"Pool","nameLocations":["34070:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"34070:4:0"},"referencedDeclaration":2319,"src":"34070:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"src":"34069:13:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":16,"name":"IAllo","nameLocations":["5097:5:0"],"nodeType":"IdentifierPath","referencedDeclaration":2610,"src":"5097:5:0"},"id":17,"nodeType":"InheritanceSpecifier","src":"5097:5:0"},{"baseName":{"id":18,"name":"Native","nameLocations":["5108:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"5108:6:0"},"id":19,"nodeType":"InheritanceSpecifier","src":"5108:6:0"},{"baseName":{"id":20,"name":"Transfer","nameLocations":["5120:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3317,"src":"5120:8:0"},"id":21,"nodeType":"InheritanceSpecifier","src":"5120:8:0"},{"baseName":{"id":22,"name":"Initializable","nameLocations":["5134:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":53152,"src":"5134:13:0"},"id":23,"nodeType":"InheritanceSpecifier","src":"5134:13:0"},{"baseName":{"id":24,"name":"Ownable","nameLocations":["5153:7:0"],"nodeType":"IdentifierPath","referencedDeclaration":4095,"src":"5153:7:0"},"id":25,"nodeType":"InheritanceSpecifier","src":"5153:7:0"},{"baseName":{"id":26,"name":"AccessControlUpgradeable","nameLocations":["5166:24:0"],"nodeType":"IdentifierPath","referencedDeclaration":52697,"src":"5166:24:0"},"id":27,"nodeType":"InheritanceSpecifier","src":"5166:24:0"},{"baseName":{"id":28,"name":"ReentrancyGuardUpgradeable","nameLocations":["5196:26:0"],"nodeType":"IdentifierPath","referencedDeclaration":53237,"src":"5196:26:0"},"id":29,"nodeType":"InheritanceSpecifier","src":"5196:26:0"},{"baseName":{"id":30,"name":"Errors","nameLocations":["5228:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":3089,"src":"5228:6:0"},"id":31,"nodeType":"InheritanceSpecifier","src":"5228:6:0"}],"canonicalName":"Allo","contractDependencies":[],"contractKind":"contract","documentation":{"id":15,"nodeType":"StructuredDocumentation","src":"4725:351:0","text":"@title Allo\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice This contract is used to create & manage pools as well as manage the protocol.\n @dev The contract must be initialized with the 'initialize()' function."},"fullyImplemented":true,"linearizedBaseContracts":[1390,3089,53237,52697,53970,53982,52770,53696,4095,53152,3317,3106,2610],"name":"Allo","nameLocation":"5085:4:0","scope":1391,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,3929,3932,3935]}],"license":"AGPL-3.0-only"},"id":0} \ No newline at end of file diff --git a/pkg/contracts/out/CVStrategyHelpers.sol/CVStrategyHelpers.json b/pkg/contracts/out/CVStrategyHelpers.sol/CVStrategyHelpers.json index 6b1e807e1..81d8eeda2 100644 --- a/pkg/contracts/out/CVStrategyHelpers.sol/CVStrategyHelpers.json +++ b/pkg/contracts/out/CVStrategyHelpers.sol/CVStrategyHelpers.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"DECIMALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"PERCENTAGE_SCALE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getParams","inputs":[{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"params","type":"tuple","internalType":"struct StrategyStruct2.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"},{"name":"initialAllowlist","type":"address[]","internalType":"address[]"}]}],"stateMutability":"pure"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_id1","inputs":[{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"pool_admin","type":"address","internalType":"address"},{"name":"pool_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x60016080908152610120604052602e60c081815260a09162001d4160e0399052805160099081556020820151600a906200003a9082620000f6565b5050503480156200004a57600080fd5b50620001c2565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200007c57607f821691505b6020821081036200009d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620000f157600081815260208120601f850160051c81016020861015620000cc5750805b601f850160051c820191505b81811015620000ed57828155600101620000d8565b5050505b505050565b81516001600160401b0381111562000112576200011262000051565b6200012a8162000123845462000067565b84620000a3565b602080601f831160018114620001625760008415620001495750858301515b600019600386901b1c1916600185901b178555620000ed565b600085815260208120601f198616915b82811015620001935788860151825594840194600190910190840162000172565b5085821015620001b25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611b6f80620001d26000396000f3fe608060405234801561001057600080fd5b50600436106101cc5760003560e01c8062b1fad7146101d1578063030e4006146101f65780630688b135146101fe5780630f166ad414610206578063174eedde1461020c5780631b96dce6146102135780631e7bcb2e1461021b5780632e0f26251461022357806337d1c40414610240578063392f37e9146102535780633f26479e146102695780634bf4ba2114610272578063587c1243146102875780635aff59991461028f57806366d003ac146102975780636a38dd0a1461029f57806370a32944146102a757806374d9284e1461020c578063759c9a86146102af57806379e62d0d146102b75780637b2edf32146102bf5780637cbe79ed146102c7578063829e423f1461020c57806385294f18146102cf5780638c7408c41461020c5780638e0d1a50146102e25780638e3c2493146102ea578063a0cf0aea146102f2578063a407c67a1461030d578063aa3744bd14610315578063c36e336b1461031d578063d1e82b581461033d578063d1f2cd8814610345578063d5bee9f51461034d578063da4bf08714610355578063dac4eb161461035d578063e070e0ab14610365578063e99ce91114610378578063ef0d790f1461038b575b600080fd5b6101d9610393565b6040516001600160a01b0390911681526020015b60405180910390f35b6101d96103c8565b6101d96103fe565b306101d9565b60006101d9565b6101d961042b565b6101d961045c565b610232670de0b6b3a764000081565b6040519081526020016101ed565b61023261024e366004611285565b61048f565b61025b61054f565b6040516101ed9291906113ad565b61023261271081565b61027a6105e6565b6040516101ed9190611412565b6101d9610609565b6101d961063c565b6101d961066f565b6101d961069b565b61027a6106cb565b6101d9610763565b61027a610792565b6101d96107fa565b6101d961082d565b6102326102dd3660046114d8565b61085a565b6101d9610889565b6101d96108b6565b6101d973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61027a6108e9565b6101d9610951565b61033061032b3660046115bd565b61097e565b6040516101ed9190611663565b6101d9610ad0565b6101d9610b03565b6101d9610b34565b6101d9610b62565b6101d9610b92565b610232610373366004611752565b610bc3565b610232610386366004611808565b610dc8565b6101d9610e56565b60006103c36040518060400160405280600d81526020016c706f6f6c5f6d616e616765723160981b815250610e88565b905090565b60006103c360405180604001604052806013815260200172383937b334b63298afb737ba20a6b2b6b132b960691b815250610e88565b60006103c36040518060400160405280600a8152602001693932b1b4b834b2b73a1960b11b815250610e88565b60006103c36040518060400160405280600e81526020016d383937b334b632992fb7bbb732b960911b815250610e88565b60006103c36040518060400160405280601081526020016f70726f66696c65315f6d656d6265723160801b815250610e88565b600b54600090610544576040805180820182526001815281518083018352600c81526b506f6f6c50726f66696c653160a01b6020828101919091528201529051633a92f65f60e01b81526001600160a01b03861691633a92f65f916104fd916002918890889060040161183a565b6020604051808303816000875af115801561051c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054091906118bb565b600b555b50600b549392505050565b60098054600a8054919291610563906118d4565b80601f016020809104026020016040519081016040528092919081815260200182805461058f906118d4565b80156105dc5780601f106105b1576101008083540402835291602001916105dc565b820191906000526020600020905b8154815290600101906020018083116105bf57829003601f168201915b5050505050905082565b604080516002808252606080830184529260208301908036833701905050905090565b60006103c36040518060400160405280601081526020016f70726f66696c65325f6d656d6265723160801b815250610e88565b60006103c36040518060400160405280601081526020016f726563697069656e744164647265737360801b815250610e88565b60006103c3604051806040016040528060098152602001681c9958da5c1a595b9d60ba1b815250610e88565b60006103c36040518060400160405280600d81526020016c3837b7b62fb6b0b730b3b2b91960991b815250610e88565b604080516002808252606080830184529260009291906020830190803683370190505090506106f861045c565b8160008151811061070b5761070b61190e565b60200260200101906001600160a01b031690816001600160a01b0316815250506107336107fa565b816001815181106107465761074661190e565b6001600160a01b0390921660209283029190910190910152919050565b60006103c36040518060400160405280600c81526020016b1b9bd7dc9958da5c1a595b9d60a21b815250610e88565b604080516002808252606080830184529260009291906020830190803683370190505090506107bf610393565b816000815181106107d2576107d261190e565b60200260200101906001600160a01b031690816001600160a01b03168152505061073361069b565b60006103c36040518060400160405280601081526020016f383937b334b63298afb6b2b6b132b91960811b815250610e88565b60006103c36040518060400160405280600a81526020016930b63637afb7bbb732b960b11b815250610e88565b600061087c89898989898989604051806020016040528060008152508a610bc3565b9998505050505050505050565b60006103c36040518060400160405280600a8152602001693837b7b62fb0b236b4b760b11b815250610e88565b60006103c36040518060400160405280601081526020016f383937b334b632992fb6b2b6b132b91960811b815250610e88565b60408051600280825260608083018452926000929190602083019080368337019050509050610916610609565b816000815181106109295761092961190e565b60200260200101906001600160a01b031690816001600160a01b0316815250506107336108b6565b60006103c36040518060400160405280600a815260200169726563697069656e743160b01b815250610e88565b610986611151565b610997670de0a46bc207d800610e9a565b8151604001526109ae6702c68af0bb140000610e9a565b8151526109c166038d7ea4c68000610e9a565b815160209081019190915281516702c68af0bb1400006060909101526001600160a01b03871660a08301528101856002811115610a0057610a00611629565b90816002811115610a1357610a13611629565b90525060408101846003811115610a2c57610a2c611629565b90816003811115610a3f57610a3f611629565b9052508251600003610a6157610a5e670de0b6b3a764000060c861193a565b83525b6060810183905260808101829052604080516001808252818301909252906020808301908036833750505060e082018190528051600091908290610aa757610aa761190e565b60200260200101906001600160a01b031690816001600160a01b03168152505095945050505050565b60006103c36040518060400160405280601081526020016f3837b7b62fb737ba20a6b0b730b3b2b960811b815250610e88565b60006103c36040518060400160405280600e81526020016d383937b334b63298afb7bbb732b960911b815250610e88565b60006103c36040518060400160405280600b81526020016a1c985b991bdb4818da185960aa1b815250610e88565b60006103c36040518060400160405280600d81526020016c616c6c6f5f747265617375727960981b815250610e88565b60006103c36040518060400160405280600e81526020016d3932b3b4b9ba393cafb7bbb732b960911b815250610e88565b600080610bd3898787878761097e565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610c0d57610c0d61190e565b60200260200101906001600160a01b031690816001600160a01b0316815250503381600181518110610c4157610c4161190e565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90891615610c775750875b8c6001600160a01b031663e1007d4a610c988c610c92610889565b8661048f565b8e86604051602001610caa9190611663565b6040516020818303038152906040528560006009896040518863ffffffff1660e01b8152600401610ce19796959493929190611951565b6020604051808303816000875af1158015610d00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2491906118bb565b9350876002811115610d3857610d38611629565b8c6001600160a01b031663351d9f966040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9a9190611a61565b6002811115610dab57610dab611629565b14610db857610db8611a7e565b5050509998505050505050505050565b60008481610de6610de062989680608087901b611a94565b83610eb1565b905060806001607f1b610dfc8662989680611ab6565b610e0a84600160801b611ab6565b610e17629896808a61193a565b610e21919061193a565b610e2b9190611a94565b610e35898561193a565b610e3f9190611ac9565b610e499190611ac9565b901c979650505050505050565b60006103c360405180604001604052806013815260200172383937b334b632992fb737ba20a6b2b6b132b960691b8152505b6000610e9382610f5e565b5092915050565b6000610eab64174876e80083611a94565b92915050565b6000600160801b8310610f0a5760405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b60448201526064015b60405180910390fd5b50600160801b82825b8015610f565780600116600003610f3857610f2e8283611074565b915060011c610f13565b610f428383611074565b9250610f4f600182611ab6565b9050610f13565b505092915050565b60008082604051602001610f729190611adc565b60408051808303601f190181529082905280516020909101206001625e79b760e01b03198252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa158015610fdd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110019190611af8565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061103d9085908790600401611b15565b600060405180830381600087803b15801561105757600080fd5b505af115801561106b573d6000803e3d6000fd5b50505050915091565b6000600160801b8311156110db5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608401610f01565b600160801b821061112d5760405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401610f01565b60806001607f1b61113e848661193a565b6111489190611ac9565b901c9392505050565b6040518061010001604052806111886040518060800160405280600081526020016000815260200160008152602001600081525090565b815260200160008152602001600081526020016111b16040518060200160405280600081525090565b81526020016112016040518060c0016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081525090565b8152600060208201819052604082015260609081015290565b6001600160a01b03169052565b6001600160a01b038116811461123c57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561127d5761127d61123f565b604052919050565b60008060006060848603121561129a57600080fd5b83356112a581611227565b92506020848101356112b681611227565b925060408501356001600160401b03808211156112d257600080fd5b818701915087601f8301126112e657600080fd5b8135818111156112f8576112f861123f565b8060051b9150611309848301611255565b818152918301840191848101908a84111561132357600080fd5b938501935b8385101561134d578435925061133d83611227565b8282529385019390850190611328565b8096505050505050509250925092565b60005b83811015611378578181015183820152602001611360565b50506000910152565b6000815180845261139981602086016020860161135d565b601f01601f19169290920160200192915050565b8281526040602082015260006113c66040830184611381565b949350505050565b600081518084526020808501945080840160005b838110156114075781516001600160a01b0316875295820195908201906001016113e2565b509495945050505050565b60208152600061142560208301846113ce565b9392505050565b6003811061123c57600080fd5b80356004811061144857600080fd5b919050565b600060c0828403121561145f57600080fd5b60405160c081016001600160401b03811182821017156114815761148161123f565b604052905080823561149281611227565b815260208301356114a281611227565b8060208301525060408301356040820152606083013560608201526080830135608082015260a083013560a08201525092915050565b6000806000806000806000806101a0898b0312156114f557600080fd5b883561150081611227565b9750602089013561151081611227565b9650604089013561152081611227565b9550606089013561153081611227565b9450608089013561154081611227565b935060a08901356115508161142c565b925061155e60c08a01611439565b915061156d8a60e08b0161144d565b90509295985092959890939650565b60006020828403121561158e57600080fd5b604051602081016001600160401b03811182821017156115b0576115b061123f565b6040529135825250919050565b600080600080600061014086880312156115d657600080fd5b85356115e181611227565b945060208601356115f18161142c565b93506115ff60408701611439565b925061160e876060880161157c565b915061161d876080880161144d565b90509295509295909350565b634e487b7160e01b600052602160045260246000fd5b6003811061164f5761164f611629565b9052565b6004811061164f5761164f611629565b6020815260008251805160208401526020810151604084015260408101516060840152606081015160808401525060208301516116a360a084018261163f565b5060408301516116b660c0840182611653565b506060838101515160e084015260808085015180516001600160a01b0390811661010087015260208201511661012086015260408101516101408601529182015161016085015281015161018084015260a0908101516101a08401528301516117236101c084018261121a565b5060c08301516117376101e084018261121a565b5060e0830151610200838101526113c66102208401826113ce565b60008060008060008060008060006101c08a8c03121561177157600080fd5b893561177c81611227565b985060208a013561178c81611227565b975060408a013561179c81611227565b965060608a01356117ac81611227565b955060808a01356117bc81611227565b945060a08a01356117cc8161142c565b93506117da60c08b01611439565b92506117e98b60e08c0161157c565b91506117f98b6101008c0161144d565b90509295985092959850929598565b6000806000806080858703121561181e57600080fd5b5050823594602084013594506040840135936060013592509050565b84815260a06020820152600e60a08201526d506f6f6c2050726f66696c65203160901b60c082015260e06040820152835160e082015260006020850151604061010084015261188d610120840182611381565b6001600160a01b0386166060850152838103608085015290506118b081856113ce565b979650505050505050565b6000602082840312156118cd57600080fd5b5051919050565b600181811c908216806118e857607f821691505b60208210810361190857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610eab57610eab611924565b8781526000602060018060a01b03808a168285015260e0604085015261197a60e085018a611381565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c9050858216806119ba57607f821691505b87821081036119d757634e487b7160e01b84526022600452602484fd5b604086018290526060860195508080156119f85760018114611a0e57611a39565b60ff198416875282151560051b87019450611a39565b60008681526020902060005b84811015611a3357815489820152908901908a01611a1a565b88019550505b5050505086810360c0880152611a4f81896113ce565b9e9d5050505050505050505050505050565b600060208284031215611a7357600080fd5b81516114258161142c565b634e487b7160e01b600052600160045260246000fd5b600082611ab157634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610eab57610eab611924565b80820180821115610eab57610eab611924565b60008251611aee81846020870161135d565b9190910192915050565b600060208284031215611b0a57600080fd5b815161142581611227565b6001600160a01b03831681526040602082018190526000906113c69083018461138156fea2646970667358221220362900052d29381cb0024fcb9a4cdbb2c8e93f4286f42c17a11bd189645d1deb64736f6c63430008130033516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a44686132666a3547656536684a7a5359","sourceMap":"924:1:118:-:0;824:5797;904:82;;;;824:5797;904:82;;;;;;;;;;;;;877:109;;;;;;;;;;;;;;;;:::i;:::-;;;;824:5797;;;;;;;;;;;;14:127:126;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:126;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:126;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:126;;;2580:26;2531:89;-1:-1:-1;;1335:1:126;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:126;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:126;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:126;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:126:o;:::-;824:5797:118;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101cc5760003560e01c8062b1fad7146101d1578063030e4006146101f65780630688b135146101fe5780630f166ad414610206578063174eedde1461020c5780631b96dce6146102135780631e7bcb2e1461021b5780632e0f26251461022357806337d1c40414610240578063392f37e9146102535780633f26479e146102695780634bf4ba2114610272578063587c1243146102875780635aff59991461028f57806366d003ac146102975780636a38dd0a1461029f57806370a32944146102a757806374d9284e1461020c578063759c9a86146102af57806379e62d0d146102b75780637b2edf32146102bf5780637cbe79ed146102c7578063829e423f1461020c57806385294f18146102cf5780638c7408c41461020c5780638e0d1a50146102e25780638e3c2493146102ea578063a0cf0aea146102f2578063a407c67a1461030d578063aa3744bd14610315578063c36e336b1461031d578063d1e82b581461033d578063d1f2cd8814610345578063d5bee9f51461034d578063da4bf08714610355578063dac4eb161461035d578063e070e0ab14610365578063e99ce91114610378578063ef0d790f1461038b575b600080fd5b6101d9610393565b6040516001600160a01b0390911681526020015b60405180910390f35b6101d96103c8565b6101d96103fe565b306101d9565b60006101d9565b6101d961042b565b6101d961045c565b610232670de0b6b3a764000081565b6040519081526020016101ed565b61023261024e366004611285565b61048f565b61025b61054f565b6040516101ed9291906113ad565b61023261271081565b61027a6105e6565b6040516101ed9190611412565b6101d9610609565b6101d961063c565b6101d961066f565b6101d961069b565b61027a6106cb565b6101d9610763565b61027a610792565b6101d96107fa565b6101d961082d565b6102326102dd3660046114d8565b61085a565b6101d9610889565b6101d96108b6565b6101d973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61027a6108e9565b6101d9610951565b61033061032b3660046115bd565b61097e565b6040516101ed9190611663565b6101d9610ad0565b6101d9610b03565b6101d9610b34565b6101d9610b62565b6101d9610b92565b610232610373366004611752565b610bc3565b610232610386366004611808565b610dc8565b6101d9610e56565b60006103c36040518060400160405280600d81526020016c706f6f6c5f6d616e616765723160981b815250610e88565b905090565b60006103c360405180604001604052806013815260200172383937b334b63298afb737ba20a6b2b6b132b960691b815250610e88565b60006103c36040518060400160405280600a8152602001693932b1b4b834b2b73a1960b11b815250610e88565b60006103c36040518060400160405280600e81526020016d383937b334b632992fb7bbb732b960911b815250610e88565b60006103c36040518060400160405280601081526020016f70726f66696c65315f6d656d6265723160801b815250610e88565b600b54600090610544576040805180820182526001815281518083018352600c81526b506f6f6c50726f66696c653160a01b6020828101919091528201529051633a92f65f60e01b81526001600160a01b03861691633a92f65f916104fd916002918890889060040161183a565b6020604051808303816000875af115801561051c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054091906118bb565b600b555b50600b549392505050565b60098054600a8054919291610563906118d4565b80601f016020809104026020016040519081016040528092919081815260200182805461058f906118d4565b80156105dc5780601f106105b1576101008083540402835291602001916105dc565b820191906000526020600020905b8154815290600101906020018083116105bf57829003601f168201915b5050505050905082565b604080516002808252606080830184529260208301908036833701905050905090565b60006103c36040518060400160405280601081526020016f70726f66696c65325f6d656d6265723160801b815250610e88565b60006103c36040518060400160405280601081526020016f726563697069656e744164647265737360801b815250610e88565b60006103c3604051806040016040528060098152602001681c9958da5c1a595b9d60ba1b815250610e88565b60006103c36040518060400160405280600d81526020016c3837b7b62fb6b0b730b3b2b91960991b815250610e88565b604080516002808252606080830184529260009291906020830190803683370190505090506106f861045c565b8160008151811061070b5761070b61190e565b60200260200101906001600160a01b031690816001600160a01b0316815250506107336107fa565b816001815181106107465761074661190e565b6001600160a01b0390921660209283029190910190910152919050565b60006103c36040518060400160405280600c81526020016b1b9bd7dc9958da5c1a595b9d60a21b815250610e88565b604080516002808252606080830184529260009291906020830190803683370190505090506107bf610393565b816000815181106107d2576107d261190e565b60200260200101906001600160a01b031690816001600160a01b03168152505061073361069b565b60006103c36040518060400160405280601081526020016f383937b334b63298afb6b2b6b132b91960811b815250610e88565b60006103c36040518060400160405280600a81526020016930b63637afb7bbb732b960b11b815250610e88565b600061087c89898989898989604051806020016040528060008152508a610bc3565b9998505050505050505050565b60006103c36040518060400160405280600a8152602001693837b7b62fb0b236b4b760b11b815250610e88565b60006103c36040518060400160405280601081526020016f383937b334b632992fb6b2b6b132b91960811b815250610e88565b60408051600280825260608083018452926000929190602083019080368337019050509050610916610609565b816000815181106109295761092961190e565b60200260200101906001600160a01b031690816001600160a01b0316815250506107336108b6565b60006103c36040518060400160405280600a815260200169726563697069656e743160b01b815250610e88565b610986611151565b610997670de0a46bc207d800610e9a565b8151604001526109ae6702c68af0bb140000610e9a565b8151526109c166038d7ea4c68000610e9a565b815160209081019190915281516702c68af0bb1400006060909101526001600160a01b03871660a08301528101856002811115610a0057610a00611629565b90816002811115610a1357610a13611629565b90525060408101846003811115610a2c57610a2c611629565b90816003811115610a3f57610a3f611629565b9052508251600003610a6157610a5e670de0b6b3a764000060c861193a565b83525b6060810183905260808101829052604080516001808252818301909252906020808301908036833750505060e082018190528051600091908290610aa757610aa761190e565b60200260200101906001600160a01b031690816001600160a01b03168152505095945050505050565b60006103c36040518060400160405280601081526020016f3837b7b62fb737ba20a6b0b730b3b2b960811b815250610e88565b60006103c36040518060400160405280600e81526020016d383937b334b63298afb7bbb732b960911b815250610e88565b60006103c36040518060400160405280600b81526020016a1c985b991bdb4818da185960aa1b815250610e88565b60006103c36040518060400160405280600d81526020016c616c6c6f5f747265617375727960981b815250610e88565b60006103c36040518060400160405280600e81526020016d3932b3b4b9ba393cafb7bbb732b960911b815250610e88565b600080610bd3898787878761097e565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610c0d57610c0d61190e565b60200260200101906001600160a01b031690816001600160a01b0316815250503381600181518110610c4157610c4161190e565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90891615610c775750875b8c6001600160a01b031663e1007d4a610c988c610c92610889565b8661048f565b8e86604051602001610caa9190611663565b6040516020818303038152906040528560006009896040518863ffffffff1660e01b8152600401610ce19796959493929190611951565b6020604051808303816000875af1158015610d00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2491906118bb565b9350876002811115610d3857610d38611629565b8c6001600160a01b031663351d9f966040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9a9190611a61565b6002811115610dab57610dab611629565b14610db857610db8611a7e565b5050509998505050505050505050565b60008481610de6610de062989680608087901b611a94565b83610eb1565b905060806001607f1b610dfc8662989680611ab6565b610e0a84600160801b611ab6565b610e17629896808a61193a565b610e21919061193a565b610e2b9190611a94565b610e35898561193a565b610e3f9190611ac9565b610e499190611ac9565b901c979650505050505050565b60006103c360405180604001604052806013815260200172383937b334b632992fb737ba20a6b2b6b132b960691b8152505b6000610e9382610f5e565b5092915050565b6000610eab64174876e80083611a94565b92915050565b6000600160801b8310610f0a5760405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b60448201526064015b60405180910390fd5b50600160801b82825b8015610f565780600116600003610f3857610f2e8283611074565b915060011c610f13565b610f428383611074565b9250610f4f600182611ab6565b9050610f13565b505092915050565b60008082604051602001610f729190611adc565b60408051808303601f190181529082905280516020909101206001625e79b760e01b03198252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa158015610fdd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110019190611af8565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061103d9085908790600401611b15565b600060405180830381600087803b15801561105757600080fd5b505af115801561106b573d6000803e3d6000fd5b50505050915091565b6000600160801b8311156110db5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608401610f01565b600160801b821061112d5760405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401610f01565b60806001607f1b61113e848661193a565b6111489190611ac9565b901c9392505050565b6040518061010001604052806111886040518060800160405280600081526020016000815260200160008152602001600081525090565b815260200160008152602001600081526020016111b16040518060200160405280600081525090565b81526020016112016040518060c0016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081525090565b8152600060208201819052604082015260609081015290565b6001600160a01b03169052565b6001600160a01b038116811461123c57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561127d5761127d61123f565b604052919050565b60008060006060848603121561129a57600080fd5b83356112a581611227565b92506020848101356112b681611227565b925060408501356001600160401b03808211156112d257600080fd5b818701915087601f8301126112e657600080fd5b8135818111156112f8576112f861123f565b8060051b9150611309848301611255565b818152918301840191848101908a84111561132357600080fd5b938501935b8385101561134d578435925061133d83611227565b8282529385019390850190611328565b8096505050505050509250925092565b60005b83811015611378578181015183820152602001611360565b50506000910152565b6000815180845261139981602086016020860161135d565b601f01601f19169290920160200192915050565b8281526040602082015260006113c66040830184611381565b949350505050565b600081518084526020808501945080840160005b838110156114075781516001600160a01b0316875295820195908201906001016113e2565b509495945050505050565b60208152600061142560208301846113ce565b9392505050565b6003811061123c57600080fd5b80356004811061144857600080fd5b919050565b600060c0828403121561145f57600080fd5b60405160c081016001600160401b03811182821017156114815761148161123f565b604052905080823561149281611227565b815260208301356114a281611227565b8060208301525060408301356040820152606083013560608201526080830135608082015260a083013560a08201525092915050565b6000806000806000806000806101a0898b0312156114f557600080fd5b883561150081611227565b9750602089013561151081611227565b9650604089013561152081611227565b9550606089013561153081611227565b9450608089013561154081611227565b935060a08901356115508161142c565b925061155e60c08a01611439565b915061156d8a60e08b0161144d565b90509295985092959890939650565b60006020828403121561158e57600080fd5b604051602081016001600160401b03811182821017156115b0576115b061123f565b6040529135825250919050565b600080600080600061014086880312156115d657600080fd5b85356115e181611227565b945060208601356115f18161142c565b93506115ff60408701611439565b925061160e876060880161157c565b915061161d876080880161144d565b90509295509295909350565b634e487b7160e01b600052602160045260246000fd5b6003811061164f5761164f611629565b9052565b6004811061164f5761164f611629565b6020815260008251805160208401526020810151604084015260408101516060840152606081015160808401525060208301516116a360a084018261163f565b5060408301516116b660c0840182611653565b506060838101515160e084015260808085015180516001600160a01b0390811661010087015260208201511661012086015260408101516101408601529182015161016085015281015161018084015260a0908101516101a08401528301516117236101c084018261121a565b5060c08301516117376101e084018261121a565b5060e0830151610200838101526113c66102208401826113ce565b60008060008060008060008060006101c08a8c03121561177157600080fd5b893561177c81611227565b985060208a013561178c81611227565b975060408a013561179c81611227565b965060608a01356117ac81611227565b955060808a01356117bc81611227565b945060a08a01356117cc8161142c565b93506117da60c08b01611439565b92506117e98b60e08c0161157c565b91506117f98b6101008c0161144d565b90509295985092959850929598565b6000806000806080858703121561181e57600080fd5b5050823594602084013594506040840135936060013592509050565b84815260a06020820152600e60a08201526d506f6f6c2050726f66696c65203160901b60c082015260e06040820152835160e082015260006020850151604061010084015261188d610120840182611381565b6001600160a01b0386166060850152838103608085015290506118b081856113ce565b979650505050505050565b6000602082840312156118cd57600080fd5b5051919050565b600181811c908216806118e857607f821691505b60208210810361190857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610eab57610eab611924565b8781526000602060018060a01b03808a168285015260e0604085015261197a60e085018a611381565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c9050858216806119ba57607f821691505b87821081036119d757634e487b7160e01b84526022600452602484fd5b604086018290526060860195508080156119f85760018114611a0e57611a39565b60ff198416875282151560051b87019450611a39565b60008681526020902060005b84811015611a3357815489820152908901908a01611a1a565b88019550505b5050505086810360c0880152611a4f81896113ce565b9e9d5050505050505050505050505050565b600060208284031215611a7357600080fd5b81516114258161142c565b634e487b7160e01b600052600160045260246000fd5b600082611ab157634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610eab57610eab611924565b80820180821115610eab57610eab611924565b60008251611aee81846020870161135d565b9190910192915050565b600060208284031215611b0a57600080fd5b815161142581611227565b6001600160a01b03831681526040602082018190526000906113c69083018461138156fea2646970667358221220362900052d29381cb0024fcb9a4cdbb2c8e93f4286f42c17a11bd189645d1deb64736f6c63430008130033","sourceMap":"824:5797:118:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:15;;;:::i;:::-;;;-1:-1:-1;;;;;287:32:126;;;269:51;;257:2;242:18;1763:107:15;;;;;;;;2429:119;;;:::i;4045:101::-;;;:::i;226:92::-;306:4;226:92;;905:138;968:7;905:138;;3126:109;;;:::i;2554:113::-;;;:::i;1015:43:118:-;;1050:8;1015:43;;;;;477:25:126;;;465:2;450:18;1015:43:118;331:177:126;1413:437:118;;;;;;:::i;:::-;;:::i;877:109::-;;;:::i;:::-;;;;;;;;:::i;1064:50::-;;1107:7;1064:50;;1331:118:15;;;:::i;:::-;;;;;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;4152:99::-;;;:::i;1876:107::-;;;:::i;2792:241::-;;;:::i;4376:105::-;;;:::i;1989:232::-;;;:::i;2673:113::-;;;:::i;439:101::-;;;:::i;4747:638:118:-;;;;;;:::i;:::-;;:::i;1537:101:15:-;;;:::i;3485:113::-;;;:::i;4412:75:9:-;;4445:42;4412:75;;3604:241:15;;;:::i;3938:101::-;;;:::i;1856:1259:118:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1644:113:15:-;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;546:124::-;;;:::i;324:109::-;;;:::i;3121:1620:118:-;;;;;;:::i;:::-;;:::i;6239:380::-;;;;;;:::i;:::-;;:::i;3241:119:15:-;;;:::i;1763:107::-;1812:7;1838:25;;;;;;;;;;;;;;-1:-1:-1;;;1838:25:15;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;-1:-1:-1;;;2510:31:15;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;-1:-1:-1;;;4117:22:15;;;:8;:22::i;3126:109::-;3176:7;3202:26;;;;;;;;;;;;;;-1:-1:-1;;;3202:26:15;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;-1:-1:-1;;;2632:28:15;;;:8;:28::i;1413:437:118:-;1585:16;;1558:7;;1581:230;;1711:48;;;;;;;;1731:1;1711:48;;;;;;;;;;;;-1:-1:-1;;;1711:48:118;;;;;;;;;;;1650:150;;-1:-1:-1;;;1650:150:118;;-1:-1:-1;;;;;1650:22:118;;;;;:150;;1690:1;;1761:10;;1773:13;;1650:150;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1631:16;:169;1581:230;-1:-1:-1;1827:16:118;;1413:437;;;;;:::o;877:109::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1331:118:15:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:15;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;-1:-1:-1;;;3444:28:15;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;-1:-1:-1;;;4335:28:15;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;-1:-1:-1;;;4223:21:15;;;:8;:21::i;1876:107::-;1925:7;1951:25;;;;;;;;;;;;;;-1:-1:-1;;;1951:25:15;;;:8;:25::i;2792:241::-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:15;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:15;;;-1:-1:-1;;;;;2926:32:15;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:15;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:15:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;-1:-1:-1;;;4450:24:15;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:15;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:15;;;-1:-1:-1;;;;;2120:29:15;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;-1:-1:-1;;;2751:28:15;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;-1:-1:-1;;;511:22:15;;;:8;:22::i;4747:638:118:-;5083:14;5116:262;5140:4;5158:8;5180:17;5211:8;5233:5;5252:12;5278:11;5303:35;;;;;;;;5336:1;5303:35;;;5352:16;5116:10;:262::i;:::-;5109:269;4747:638;-1:-1:-1;;;;;;;;;4747:638:118:o;1537:101:15:-;1583:7;1609:22;;;;;;;;;;;;;;-1:-1:-1;;;1609:22:15;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;-1:-1:-1;;;3563:28:15;;;:8;:28::i;3604:241::-;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:15;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:15;;;-1:-1:-1;;;;;3738:32:15;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;-1:-1:-1;;;4010:22:15;;;:8;:22::i;1856:1259:118:-;2161:46;;:::i;:::-;2294:30;2308:15;2294:13;:30::i;:::-;2270:15;;:21;;:54;2378:24;2392:9;2378:13;:24::i;:::-;2351:15;;:51;2456:26;2470:11;2456:13;:26::i;:::-;2431:15;;:22;;;;:51;;;;2513:15;;2550:9;2513:34;;;;:46;-1:-1:-1;;;;;2576:44:118;;:24;;;:44;2630:19;;2652:12;2630:34;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2674:18:118;;;2695:11;2674:32;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2721:21:118;;;:26;2717:197;;2889:14;1050:8;2889:3;:14;:::i;:::-;2865:38;;2717:197;2923:18;;;:32;;;2965:23;;;:42;;;3043:16;;;3057:1;3043:16;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3017:23:118;;;:42;;;3069:26;;3106:1;;3017:42;3106:1;;3069:26;;;;:::i;:::-;;;;;;:39;-1:-1:-1;;;;;3069:39:118;;;-1:-1:-1;;;;;3069:39:118;;;;;1856:1259;;;;;;;:::o;1644:113:15:-;1696:7;1722:28;;;;;;;;;;;;;;-1:-1:-1;;;1722:28:15;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;-1:-1:-1;;;2390:26:15;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;-1:-1:-1;;;4646:23:15;;;:8;:23::i;546:124::-;595:15;637:25;;;;;;;;;;;;;;-1:-1:-1;;;637:25:15;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;-1:-1:-1;;;400:26:15;;;:8;:26::i;3121:1620:118:-;3518:14;3595:46;3656:86;3666:17;3685:12;3699:11;3712;3725:16;3656:9;:86::i;:::-;3787:16;;;3801:1;3787:16;;;;;;;;3595:147;;-1:-1:-1;3753:31:118;;3787:16;;;;;;;;;;;;-1:-1:-1;3787:16:118;3753:50;;3841:4;3813:14;3828:1;3813:17;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;3813:33:118;;;-1:-1:-1;;;;;3813:33:118;;;;;3884:10;3856:14;3871:1;3856:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3856:39:118;;;:17;;;;;;;;;:39;4445:42:9;;4182:19:118;;;4178:64;;-1:-1:-1;4226:5:118;4178:64;4260:4;-1:-1:-1;;;;;4260:33:118;;4348:55;4364:8;4374:12;:10;:12::i;:::-;4388:14;4348:15;:55::i;:::-;4425:8;4459:6;4448:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;4480:6;4500:1;4515:8;4537:14;4260:301;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4251:310;;4721:12;4669:64;;;;;;;;:::i;:::-;4692:8;-1:-1:-1;;;;;4669:46:118;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:64;;;;;;;;:::i;:::-;;4662:72;;;;:::i;:::-;3534:1207;;;3121:1620;;;;;;;;;;;:::o;6239:380::-;6389:7;6424:11;6389:7;6465:27;6470:18;1291:7;6480:3;6471:12;;;6470:18;:::i;:::-;6490:1;6465:4;:27::i;:::-;6445:47;-1:-1:-1;6609:3:118;-1:-1:-1;;;6582:9:118;6586:5;1291:7;6582:9;:::i;:::-;6557:19;6567:9;-1:-1:-1;;;6557:19:118;:::i;:::-;6539:14;1291:7;6539:10;:14;:::i;:::-;:38;;;;:::i;:::-;6538:54;;;;:::i;:::-;6512:21;6524:9;6512;:21;:::i;:::-;6511:82;;;;:::i;:::-;6510:94;;;;:::i;:::-;6509:103;;;6239:380;-1:-1:-1;;;;;;;6239:380:118:o;3241:119:15:-;3296:7;3322:31;;;;;;;;;;;;;;-1:-1:-1;;;3322:31:15;;;20439:125:23;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:23;20439:125;-1:-1:-1;;20439:125:23:o;5391:114:118:-;5454:7;5480:18;5490:8;5480:7;:18;:::i;:::-;5473:25;5391:114;-1:-1:-1;;5391:114:118:o;5786:447::-;5847:15;-1:-1:-1;;;5882:2:118;:12;5874:53;;;;-1:-1:-1;;;5874:53:118;;18502:2:126;5874:53:118;;;18484:21:126;18541:2;18521:18;;;18514:30;-1:-1:-1;;;18560:18:126;;;18553:58;18628:18;;5874:53:118;;;;;;;;;-1:-1:-1;;;;5949:2:118;5973;6012:215;6019:5;;6012:215;;6044:1;6048;6044:5;6053:1;6044:10;6040:177;;6078:10;6083:1;6086;6078:4;:10::i;:::-;6074:14;-1:-1:-1;6112:1:118;6106:7;6012:215;;6040:177;6162:16;6167:7;6176:1;6162:4;:16::i;:::-;6152:26;-1:-1:-1;6196:6:118;6201:1;6196:6;;:::i;:::-;;;6012:215;;;5864:369;;5786:447;;;;:::o;20158:242:23:-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:23;;;;;;;20293:33;;20303:22;20293:33;;;;-1:-1:-1;;;;;;20344:19:23;;;;;477:25:126;;;20293:33:23;-1:-1:-1;20344:7:23;;;;450:18:126;;20344:19:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:23;;20337:26;;-1:-1:-1;20373:8:23;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;5511:269:118:-;5572:15;-1:-1:-1;;;5607:2:118;:13;;5599:66;;;;-1:-1:-1;;;5599:66:118;;19742:2:126;5599:66:118;;;19724:21:126;19781:2;19761:18;;;19754:30;19820:34;19800:18;;;19793:62;-1:-1:-1;;;19871:18:126;;;19864:38;19919:19;;5599:66:118;19540:404:126;5599:66:118;-1:-1:-1;;;5683:2:118;:12;5675:53;;;;-1:-1:-1;;;5675:53:118;;20151:2:126;5675:53:118;;;20133:21:126;20190:2;20170:18;;;20163:30;-1:-1:-1;;;20209:18:126;;;20202:58;20277:18;;5675:53:118;19949:352:126;5675:53:118;5770:3;-1:-1:-1;;;5747:7:118;5752:2;5747;:7;:::i;:::-;5746:19;;;;:::i;:::-;5745:28;;;5511:269;-1:-1:-1;;;5511:269:118:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:104:126:-;-1:-1:-1;;;;;80:31:126;68:44;;14:104::o;513:142::-;-1:-1:-1;;;;;599:31:126;;589:42;;579:70;;645:1;642;635:12;579:70;513:142;:::o;660:127::-;721:10;716:3;712:20;709:1;702:31;752:4;749:1;742:15;776:4;773:1;766:15;792:275;863:2;857:9;928:2;909:13;;-1:-1:-1;;905:27:126;893:40;;-1:-1:-1;;;;;948:34:126;;984:22;;;945:62;942:88;;;1010:18;;:::i;:::-;1046:2;1039:22;792:275;;-1:-1:-1;792:275:126:o;1072:1354::-;1192:6;1200;1208;1261:2;1249:9;1240:7;1236:23;1232:32;1229:52;;;1277:1;1274;1267:12;1229:52;1316:9;1303:23;1335:42;1371:5;1335:42;:::i;:::-;1396:5;-1:-1:-1;1420:2:126;1459:18;;;1446:32;1487:44;1446:32;1487:44;:::i;:::-;1550:7;-1:-1:-1;1608:2:126;1593:18;;1580:32;-1:-1:-1;;;;;1661:14:126;;;1658:34;;;1688:1;1685;1678:12;1658:34;1726:6;1715:9;1711:22;1701:32;;1771:7;1764:4;1760:2;1756:13;1752:27;1742:55;;1793:1;1790;1783:12;1742:55;1829:2;1816:16;1851:2;1847;1844:10;1841:36;;;1857:18;;:::i;:::-;1903:2;1900:1;1896:10;1886:20;;1926:28;1950:2;1946;1942:11;1926:28;:::i;:::-;1988:15;;;2058:11;;;2054:20;;;2019:12;;;;2086:19;;;2083:39;;;2118:1;2115;2108:12;2083:39;2142:11;;;;2162:234;2178:6;2173:3;2170:15;2162:234;;;2260:3;2247:17;2232:32;;2277:44;2313:7;2277:44;:::i;:::-;2334:20;;;2195:12;;;;2374;;;;2162:234;;;2415:5;2405:15;;;;;;;;1072:1354;;;;;:::o;2768:250::-;2853:1;2863:113;2877:6;2874:1;2871:13;2863:113;;;2953:11;;;2947:18;2934:11;;;2927:39;2899:2;2892:10;2863:113;;;-1:-1:-1;;3010:1:126;2992:16;;2985:27;2768:250::o;3023:271::-;3065:3;3103:5;3097:12;3130:6;3125:3;3118:19;3146:76;3215:6;3208:4;3203:3;3199:14;3192:4;3185:5;3181:16;3146:76;:::i;:::-;3276:2;3255:15;-1:-1:-1;;3251:29:126;3242:39;;;;3283:4;3238:50;;3023:271;-1:-1:-1;;3023:271:126:o;3299:291::-;3476:6;3465:9;3458:25;3519:2;3514;3503:9;3499:18;3492:30;3439:4;3539:45;3580:2;3569:9;3565:18;3557:6;3539:45;:::i;:::-;3531:53;3299:291;-1:-1:-1;;;;3299:291:126:o;3595:461::-;3648:3;3686:5;3680:12;3713:6;3708:3;3701:19;3739:4;3768:2;3763:3;3759:12;3752:19;;3805:2;3798:5;3794:14;3826:1;3836:195;3850:6;3847:1;3844:13;3836:195;;;3915:13;;-1:-1:-1;;;;;3911:39:126;3899:52;;3971:12;;;;4006:15;;;;3947:1;3865:9;3836:195;;;-1:-1:-1;4047:3:126;;3595:461;-1:-1:-1;;;;;3595:461:126:o;4061:261::-;4240:2;4229:9;4222:21;4203:4;4260:56;4312:2;4301:9;4297:18;4289:6;4260:56;:::i;:::-;4252:64;4061:261;-1:-1:-1;;;4061:261:126:o;4327:111::-;4412:1;4405:5;4402:12;4392:40;;4428:1;4425;4418:12;4443:152;4520:20;;4569:1;4559:12;;4549:40;;4585:1;4582;4575:12;4549:40;4443:152;;;:::o;4600:917::-;4663:5;4711:4;4699:9;4694:3;4690:19;4686:30;4683:50;;;4729:1;4726;4719:12;4683:50;4762:2;4756:9;4804:4;4792:17;;-1:-1:-1;;;;;4824:34:126;;4860:22;;;4821:62;4818:88;;;4886:18;;:::i;:::-;4922:2;4915:22;4955:6;-1:-1:-1;4955:6:126;4985:23;;5017:44;4985:23;5017:44;:::i;:::-;5070:23;;5145:2;5130:18;;5117:32;5158:44;5117:32;5158:44;:::i;:::-;5235:7;5230:2;5222:6;5218:15;5211:32;;5304:2;5293:9;5289:18;5276:32;5271:2;5263:6;5259:15;5252:57;5370:2;5359:9;5355:18;5342:32;5337:2;5329:6;5325:15;5318:57;5437:3;5426:9;5422:19;5409:33;5403:3;5395:6;5391:16;5384:59;5505:3;5494:9;5490:19;5477:33;5471:3;5463:6;5459:16;5452:59;;4600:917;;;;:::o;5522:1305::-;5745:6;5753;5761;5769;5777;5785;5793;5801;5854:3;5842:9;5833:7;5829:23;5825:33;5822:53;;;5871:1;5868;5861:12;5822:53;5910:9;5897:23;5929:42;5965:5;5929:42;:::i;:::-;5990:5;-1:-1:-1;6047:2:126;6032:18;;6019:32;6060:44;6019:32;6060:44;:::i;:::-;6123:7;-1:-1:-1;6182:2:126;6167:18;;6154:32;6195:44;6154:32;6195:44;:::i;:::-;6258:7;-1:-1:-1;6317:2:126;6302:18;;6289:32;6330:44;6289:32;6330:44;:::i;:::-;6393:7;-1:-1:-1;6452:3:126;6437:19;;6424:33;6466:44;6424:33;6466:44;:::i;:::-;6529:7;-1:-1:-1;6588:3:126;6573:19;;6560:33;6602:43;6560:33;6602:43;:::i;:::-;6664:7;-1:-1:-1;6690:48:126;6733:3;6718:19;;6690:48;:::i;:::-;6680:58;;6757:64;6813:7;6807:3;6796:9;6792:19;6757:64;:::i;:::-;6747:74;;5522:1305;;;;;;;;;;;:::o;6832:416::-;6896:5;6944:4;6932:9;6927:3;6923:19;6919:30;6916:50;;;6962:1;6959;6952:12;6916:50;6995:2;6989:9;7037:4;7025:17;;-1:-1:-1;;;;;7057:34:126;;7093:22;;;7054:62;7051:88;;;7119:18;;:::i;:::-;7155:2;7148:22;7218:23;;7203:39;;-1:-1:-1;7188:6:126;6832:416;-1:-1:-1;6832:416:126:o;7253:799::-;7454:6;7462;7470;7478;7486;7539:3;7527:9;7518:7;7514:23;7510:33;7507:53;;;7556:1;7553;7546:12;7507:53;7595:9;7582:23;7614:42;7650:5;7614:42;:::i;:::-;7675:5;-1:-1:-1;7732:2:126;7717:18;;7704:32;7745:43;7704:32;7745:43;:::i;:::-;7807:7;-1:-1:-1;7833:47:126;7876:2;7861:18;;7833:47;:::i;:::-;7823:57;;7899:64;7955:7;7950:2;7939:9;7935:18;7899:64;:::i;:::-;7889:74;;7982:64;8038:7;8032:3;8021:9;8017:19;7982:64;:::i;:::-;7972:74;;7253:799;;;;;;;;:::o;8057:127::-;8118:10;8113:3;8109:20;8106:1;8099:31;8149:4;8146:1;8139:15;8173:4;8170:1;8163:15;8189:143;8273:1;8266:5;8263:12;8253:46;;8279:18;;:::i;:::-;8308;;8189:143::o;8337:142::-;8420:1;8413:5;8410:12;8400:46;;8426:18;;:::i;9498:1416::-;9697:2;9686:9;9679:21;9660:4;9725:6;9719:13;9774:2;9768:9;9763:2;9752:9;9748:18;9741:37;9828:2;9824;9820:11;9814:18;9809:2;9798:9;9794:18;9787:46;9883:2;9879;9875:11;9869:18;9864:2;9853:9;9849:18;9842:46;9939:2;9935;9931:11;9925:18;9919:3;9908:9;9904:19;9897:47;;9991:2;9983:6;9979:15;9973:22;10004:63;10062:3;10051:9;10047:19;10033:12;10004:63;:::i;:::-;;10116:2;10108:6;10104:15;10098:22;10129:64;10188:3;10177:9;10173:19;10157:14;10129:64;:::i;:::-;-1:-1:-1;10242:2:126;10230:15;;;10224:22;8559:12;10322:3;10307:19;;8547:25;10376:3;10364:16;;;10358:23;8703:12;;-1:-1:-1;;;;;8699:21:126;;;10456:3;10441:19;;8687:34;8774:4;8763:16;;8757:23;8753:32;8737:14;;;8730:56;8835:4;8824:16;;8818:23;8802:14;;;8795:47;8880:16;;;8874:23;8858:14;;;8851:47;8936:16;;8930:23;8914:14;;;8907:47;8667:3;8992:16;;;8986:23;8970:14;;;8963:47;10498:16;;10492:23;10524:55;10574:3;10559:19;;10492:23;10524:55;:::i;:::-;;10628:3;10620:6;10616:16;10610:23;10642:55;10692:3;10681:9;10677:19;10661:14;10642:55;:::i;:::-;-1:-1:-1;10746:3:126;10734:16;;10728:23;10770:6;10792:18;;;10785:30;10832:76;10903:3;10888:19;;10728:23;10832:76;:::i;11143:1442::-;11411:6;11419;11427;11435;11443;11451;11459;11467;11475;11528:3;11516:9;11507:7;11503:23;11499:33;11496:53;;;11545:1;11542;11535:12;11496:53;11584:9;11571:23;11603:42;11639:5;11603:42;:::i;:::-;11664:5;-1:-1:-1;11721:2:126;11706:18;;11693:32;11734:44;11693:32;11734:44;:::i;:::-;11797:7;-1:-1:-1;11856:2:126;11841:18;;11828:32;11869:44;11828:32;11869:44;:::i;:::-;11932:7;-1:-1:-1;11991:2:126;11976:18;;11963:32;12004:44;11963:32;12004:44;:::i;:::-;12067:7;-1:-1:-1;12126:3:126;12111:19;;12098:33;12140:44;12098:33;12140:44;:::i;:::-;12203:7;-1:-1:-1;12262:3:126;12247:19;;12234:33;12276:43;12234:33;12276:43;:::i;:::-;12338:7;-1:-1:-1;12364:48:126;12407:3;12392:19;;12364:48;:::i;:::-;12354:58;;12431:65;12488:7;12482:3;12471:9;12467:19;12431:65;:::i;:::-;12421:75;;12515:64;12571:7;12565:3;12554:9;12550:19;12515:64;:::i;:::-;12505:74;;11143:1442;;;;;;;;;;;:::o;12590:385::-;12676:6;12684;12692;12700;12753:3;12741:9;12732:7;12728:23;12724:33;12721:53;;;12770:1;12767;12760:12;12721:53;-1:-1:-1;;12793:23:126;;;12863:2;12848:18;;12835:32;;-1:-1:-1;12914:2:126;12899:18;;12886:32;;12965:2;12950:18;12937:32;;-1:-1:-1;12590:385:126;-1:-1:-1;12590:385:126:o;12980:1009::-;13404:6;13393:9;13386:25;13447:3;13442:2;13431:9;13427:18;13420:31;13488:2;13482:3;13471:9;13467:19;13460:31;-1:-1:-1;;;13522:3:126;13511:9;13507:19;13500:45;13581:3;13576:2;13565:9;13561:18;13554:31;13628:6;13622:13;13616:3;13605:9;13601:19;13594:42;13367:4;13683:2;13675:6;13671:15;13665:22;13724:2;13718:3;13707:9;13703:19;13696:31;13747:52;13794:3;13783:9;13779:19;13765:12;13747:52;:::i;:::-;-1:-1:-1;;;;;13835:32:126;;13830:2;13815:18;;13808:60;13905:19;;;13899:3;13884:19;;13877:48;13736:63;-1:-1:-1;13942:41:126;13736:63;13971:6;13942:41;:::i;:::-;13934:49;12980:1009;-1:-1:-1;;;;;;;12980:1009:126:o;13994:184::-;14064:6;14117:2;14105:9;14096:7;14092:23;14088:32;14085:52;;;14133:1;14130;14123:12;14085:52;-1:-1:-1;14156:16:126;;13994:184;-1:-1:-1;13994:184:126:o;14183:380::-;14262:1;14258:12;;;;14305;;;14326:61;;14380:4;14372:6;14368:17;14358:27;;14326:61;14433:2;14425:6;14422:14;14402:18;14399:38;14396:161;;14479:10;14474:3;14470:20;14467:1;14460:31;14514:4;14511:1;14504:15;14542:4;14539:1;14532:15;14396:161;;14183:380;;;:::o;14568:127::-;14629:10;14624:3;14620:20;14617:1;14610:31;14660:4;14657:1;14650:15;14684:4;14681:1;14674:15;14700:127;14761:10;14756:3;14752:20;14749:1;14742:31;14792:4;14789:1;14782:15;14816:4;14813:1;14806:15;14832:168;14905:9;;;14936;;14953:15;;;14947:22;;14933:37;14923:71;;14974:18;;:::i;15131:2074::-;15553:6;15542:9;15535:25;15516:4;15579:2;15617:1;15613;15608:3;15604:11;15600:19;15667:2;15659:6;15655:15;15650:2;15639:9;15635:18;15628:43;15707:3;15702:2;15691:9;15687:18;15680:31;15734:46;15775:3;15764:9;15760:19;15752:6;15734:46;:::i;:::-;15828:2;15820:6;15816:15;15811:2;15800:9;15796:18;15789:43;15869:6;15863:3;15852:9;15848:19;15841:35;15925:9;15917:6;15913:22;15907:3;15896:9;15892:19;15885:51;15966:6;15960:13;15952:6;15945:29;15993:4;15983:14;;16038:2;16030:6;16026:15;16074:2;16069;16061:6;16057:15;16050:27;16097:1;16130:12;16124:19;16166:3;16196:9;16192:2;16188:18;16178:28;;16256:2;16245:9;16241:18;16278;16268:61;;16322:4;16314:6;16310:17;16300:27;;16268:61;16375:2;16367:6;16364:14;16344:18;16341:38;16338:165;;-1:-1:-1;;;16402:33:126;;16458:4;16455:1;16448:15;16488:4;16409:3;16476:17;16338:165;16571:2;16559:15;;2700:19;;;2743:14;;;16512:71;-1:-1:-1;16599:18:126;16626:128;;;;16768:1;16763:321;;;;16592:492;;16626:128;-1:-1:-1;;16659:24:126;;16647:37;;16727:14;;16720:22;16717:1;16713:30;16704:40;;;-1:-1:-1;16626:128:126;;16763:321;15078:1;15071:14;;;15115:4;15102:18;;16864:1;16878:165;16892:6;16889:1;16886:13;16878:165;;;16970:14;;16957:11;;;16950:35;17013:16;;;;16907:10;;16878:165;;;17063:11;;;-1:-1:-1;;16592:492:126;;;;;17130:9;17125:3;17121:19;17115:3;17104:9;17100:19;17093:48;17158:41;17195:3;17187:6;17158:41;:::i;:::-;17150:49;15131:2074;-1:-1:-1;;;;;;;;;;;;;;15131:2074:126:o;17399:279::-;17487:6;17540:2;17528:9;17519:7;17515:23;17511:32;17508:52;;;17556:1;17553;17546:12;17508:52;17588:9;17582:16;17607:41;17642:5;17607:41;:::i;17683:127::-;17744:10;17739:3;17735:20;17732:1;17725:31;17775:4;17772:1;17765:15;17799:4;17796:1;17789:15;17815:217;17855:1;17881;17871:132;;17925:10;17920:3;17916:20;17913:1;17906:31;17960:4;17957:1;17950:15;17988:4;17985:1;17978:15;17871:132;-1:-1:-1;18017:9:126;;17815:217::o;18037:128::-;18104:9;;;18125:11;;;18122:37;;;18139:18;;:::i;18170:125::-;18235:9;;;18256:10;;;18253:36;;;18269:18;;:::i;18657:289::-;18788:3;18826:6;18820:13;18842:66;18901:6;18896:3;18889:4;18881:6;18877:17;18842:66;:::i;:::-;18924:16;;;;;18657:289;-1:-1:-1;;18657:289:126:o;18951:262::-;19021:6;19074:2;19062:9;19053:7;19049:23;19045:32;19042:52;;;19090:1;19087;19080:12;19042:52;19122:9;19116:16;19141:42;19177:5;19141:42;:::i;19218:317::-;-1:-1:-1;;;;;19395:32:126;;19377:51;;19464:2;19459;19444:18;;19437:30;;;-1:-1:-1;;19484:45:126;;19510:18;;19502:6;19484:45;:::i","linkReferences":{}},"methodIdentifiers":{"DECIMALS()":"2e0f2625","NATIVE()":"a0cf0aea","PERCENTAGE_SCALE()":"3f26479e","_calculateConviction(uint256,uint256,uint256,uint256)":"e99ce911","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","createPool(address,address,address,address,address,uint8,uint8,(address,address,uint256,uint256,uint256,uint256))":"85294f18","createPool(address,address,address,address,address,uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256))":"e070e0ab","getParams(address,uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256))":"c36e336b","local()":"0f166ad4","metadata()":"392f37e9","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_id1(address,address,address[])":"37d1c404","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry_owner()":"dac4eb16"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DECIMALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERCENTAGE_SCALE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"getParams\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"initialAllowlist\",\"type\":\"address[]\"}],\"internalType\":\"struct StrategyStruct2.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"pool_admin\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"pool_managers\",\"type\":\"address[]\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/CVStrategyHelpers.sol\":\"CVStrategyHelpers\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293\",\"dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x4301751ea11db320804edf82deeb83d694240d4ab92e96fd75272823a0e68cbe\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://17eb861b8e0b13b4fc31136dbb817f5bf9b0637dc1c0484b090e1e2121fc2595\",\"dweb:/ipfs/QmbYz9fngCp4FmvAJyP2NqSpxBJRJa573mTQ5R9nVsCJAg\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol\":{\"keccak256\":\"0x62c6f7fca9e1532f2cdff846efefc79a704fee448a309e6d8ecd385d839379c2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://50b2a568546d8d35ce4020154efc32fd99ecdf3ec0a7797cc78928dca0775fca\",\"dweb:/ipfs/QmR5wG5wRWVzLkho3pwDC3t8ABRpUMwBSq6hZukJNd3xPa\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xaea628cb12b8c0dd868c04c935f99ab50c88372f130ce2ced0c7b2b3ce780381\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://22eb93eaf9fc1a9f591ed87dc478e8aabafb46e22ef870bba1345a799c44ba3d\",\"dweb:/ipfs/QmSAXa8UmtGNXNtVbmqPMyEpA3RZYqWjZvPoVFHCvjHjwj\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol\":{\"keccak256\":\"0x7367a8a82bee7dcc2db5e1b00e1b7a685357b04af220879b4dd91f8731a8a1ff\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c5b065857872e4f4d1ecd79c9dece1ae55e75202fdea114ccc4b592aaf81cc07\",\"dweb:/ipfs/Qmdptrz3HCp64YAVArpRxGwoPMtrDpjnZ17VqQhhKzrnzX\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]},\"pkg/contracts/test/CVStrategyHelpers.sol\":{\"keccak256\":\"0xd70552580d0be712b9b0f1247721fc430fa8e26b57ea0682a0844b1941ea434b\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://50cbe3fce1612c4468e383b79c90d2686640ad94840ee4206237aae63c30c773\",\"dweb:/ipfs/QmXbsEH7kR5P3sVCwoELPztLSZi6MJaJyqz5wL1k7GJ89R\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"DECIMALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PERCENTAGE_SCALE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"}],"stateMutability":"pure","type":"function","name":"_calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"pure","type":"function","name":"getParams","outputs":[{"internalType":"struct StrategyStruct2.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"},{"internalType":"address[]","name":"initialAllowlist","type":"address[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"pool_admin","type":"address"},{"internalType":"address[]","name":"pool_managers","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"poolProfile_id1","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/CVStrategyHelpers.sol":"CVStrategyHelpers"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2","urls":["bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293","dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x4301751ea11db320804edf82deeb83d694240d4ab92e96fd75272823a0e68cbe","urls":["bzz-raw://17eb861b8e0b13b4fc31136dbb817f5bf9b0637dc1c0484b090e1e2121fc2595","dweb:/ipfs/QmbYz9fngCp4FmvAJyP2NqSpxBJRJa573mTQ5R9nVsCJAg"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol":{"keccak256":"0x62c6f7fca9e1532f2cdff846efefc79a704fee448a309e6d8ecd385d839379c2","urls":["bzz-raw://50b2a568546d8d35ce4020154efc32fd99ecdf3ec0a7797cc78928dca0775fca","dweb:/ipfs/QmR5wG5wRWVzLkho3pwDC3t8ABRpUMwBSq6hZukJNd3xPa"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xaea628cb12b8c0dd868c04c935f99ab50c88372f130ce2ced0c7b2b3ce780381","urls":["bzz-raw://22eb93eaf9fc1a9f591ed87dc478e8aabafb46e22ef870bba1345a799c44ba3d","dweb:/ipfs/QmSAXa8UmtGNXNtVbmqPMyEpA3RZYqWjZvPoVFHCvjHjwj"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol":{"keccak256":"0x7367a8a82bee7dcc2db5e1b00e1b7a685357b04af220879b4dd91f8731a8a1ff","urls":["bzz-raw://c5b065857872e4f4d1ecd79c9dece1ae55e75202fdea114ccc4b592aaf81cc07","dweb:/ipfs/Qmdptrz3HCp64YAVArpRxGwoPMtrDpjnZ17VqQhhKzrnzX"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"},"pkg/contracts/test/CVStrategyHelpers.sol":{"keccak256":"0xd70552580d0be712b9b0f1247721fc430fa8e26b57ea0682a0844b1941ea434b","urls":["bzz-raw://50cbe3fce1612c4468e383b79c90d2686640ad94840ee4206237aae63c30c773","dweb:/ipfs/QmXbsEH7kR5P3sVCwoELPztLSZi6MJaJyqz5wL1k7GJ89R"],"license":"AGPL-3.0-or-later"}},"version":1},"storageLayout":{"storage":[{"astId":9278,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"gasMeteringOff","offset":0,"slot":"0","type":"t_bool"},{"astId":11315,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"stdstore","offset":0,"slot":"1","type":"t_struct(StdStorage)13196_storage"},{"astId":77096,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"metadata","offset":0,"slot":"9","type":"t_struct(Metadata)3098_storage"},{"astId":77108,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"_poolProfileId1_","offset":0,"slot":"11","type":"t_bytes32"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13171_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13171_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13171_storage)"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(FindData)13171_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13164,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13166,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13168,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13170,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(StdStorage)13196_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13180,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage)))"},{"astId":13183,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13185,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13187,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13189,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13191,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13193,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13195,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"pkg/contracts/test/CVStrategyHelpers.sol","id":77624,"exportedSymbols":{"Accounts":[5026],"Allo":[1390],"CVStrategyHelpers":[77623],"CVStrategyV0_0":[69234],"CVStrategyV0_1":[69799],"IRegistry":[2802],"Metadata":[3098],"Native":[3106],"RegistryCommunityV0_1":[72996],"StrategyStruct":[65656],"StrategyStruct2":[69274],"console":[29510]},"nodeType":"SourceUnit","src":"46:6576:118","nodes":[{"id":77068,"nodeType":"PragmaDirective","src":"46:24:118","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":77069,"nodeType":"ImportDirective","src":"72:31:118","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":77624,"sourceUnit":29511,"symbolAliases":[],"unitAlias":""},{"id":77071,"nodeType":"ImportDirective","src":"104:53:118","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","file":"allo-v2-contracts/core/Allo.sol","nameLocation":"-1:-1:-1","scope":77624,"sourceUnit":1391,"symbolAliases":[{"foreign":{"id":77070,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"112:4:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77076,"nodeType":"ImportDirective","src":"394:117:118","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol","file":"../src/CVStrategy/CVStrategyV0_1.sol","nameLocation":"-1:-1:-1","scope":77624,"sourceUnit":69800,"symbolAliases":[{"foreign":{"id":77072,"name":"CVStrategyV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69799,"src":"402:14:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77073,"name":"StrategyStruct2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69274,"src":"418:15:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77074,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69234,"src":"435:14:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77075,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"451:14:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77078,"nodeType":"ImportDirective","src":"512:89:118","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol","file":"../src/RegistryCommunity/RegistryCommunityV0_1.sol","nameLocation":"-1:-1:-1","scope":77624,"sourceUnit":72997,"symbolAliases":[{"foreign":{"id":77077,"name":"RegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72996,"src":"520:21:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77080,"nodeType":"ImportDirective","src":"602:67:118","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"allo-v2-contracts/core/libraries/Native.sol","nameLocation":"-1:-1:-1","scope":77624,"sourceUnit":3107,"symbolAliases":[{"foreign":{"id":77079,"name":"Native","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"610:6:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77083,"nodeType":"ImportDirective","src":"670:84:118","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":77624,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":77081,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"678:9:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77082,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"689:8:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77085,"nodeType":"ImportDirective","src":"756:66:118","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"allo-v2-test/foundry/shared/Accounts.sol","nameLocation":"-1:-1:-1","scope":77624,"sourceUnit":5027,"symbolAliases":[{"foreign":{"id":77084,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5026,"src":"764:8:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77623,"nodeType":"ContractDefinition","src":"824:5797:118","nodes":[{"id":77096,"nodeType":"VariableDeclaration","src":"877:109:118","nodes":[],"constant":false,"functionSelector":"392f37e9","mutability":"mutable","name":"metadata","nameLocation":"893:8:118","scope":77623,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata"},"typeName":{"id":77091,"nodeType":"UserDefinedTypeName","pathNode":{"id":77090,"name":"Metadata","nameLocations":["877:8:118"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"877:8:118"},"referencedDeclaration":3098,"src":"877:8:118","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"value":{"arguments":[{"hexValue":"31","id":77093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"924:1:118","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a44686132666a3547656536684a7a5359","id":77094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"936:48:118","typeDescriptions":{"typeIdentifier":"t_stringliteral_5132d0078161e899617508f56f10fe912a54664090fbe8853f8693be238f8d30","typeString":"literal_string \"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY\""},"value":"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_5132d0078161e899617508f56f10fe912a54664090fbe8853f8693be238f8d30","typeString":"literal_string \"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY\""}],"id":77092,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"904:8:118","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":77095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["914:8:118","927:7:118"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"904:82:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"visibility":"public"},{"id":77101,"nodeType":"VariableDeclaration","src":"1015:43:118","nodes":[],"constant":true,"functionSelector":"2e0f2625","mutability":"constant","name":"DECIMALS","nameLocation":"1039:8:118","scope":77623,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77097,"name":"uint256","nodeType":"ElementaryTypeName","src":"1015:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"id":77100,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":77098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1050:2:118","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3138","id":77099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1056:2:118","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"src":"1050:8:118","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}},"visibility":"public"},{"id":77106,"nodeType":"VariableDeclaration","src":"1064:50:118","nodes":[],"constant":true,"functionSelector":"3f26479e","mutability":"constant","name":"PERCENTAGE_SCALE","nameLocation":"1088:16:118","scope":77623,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77102,"name":"uint256","nodeType":"ElementaryTypeName","src":"1064:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":77105,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":77103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1107:2:118","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":77104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1113:1:118","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"1107:7:118","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"visibility":"public"},{"id":77108,"nodeType":"VariableDeclaration","src":"1121:33:118","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileId1_","nameLocation":"1138:16:118","scope":77623,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":77107,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1121:7:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":77113,"nodeType":"VariableDeclaration","src":"1161:44:118","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"1187:7:118","scope":77623,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77109,"name":"uint256","nodeType":"ElementaryTypeName","src":"1161:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"id":77112,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":77110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1197:1:118","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"313237","id":77111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1202:3:118","typeDescriptions":{"typeIdentifier":"t_rational_127_by_1","typeString":"int_const 127"},"value":"127"},"src":"1197:8:118","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"}},"visibility":"internal"},{"id":77118,"nodeType":"VariableDeclaration","src":"1211:44:118","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"1237:7:118","scope":77623,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77114,"name":"uint256","nodeType":"ElementaryTypeName","src":"1211:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":77117,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":77115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1247:1:118","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"313238","id":77116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1252:3:118","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"1247:8:118","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}},"visibility":"internal"},{"id":77123,"nodeType":"VariableDeclaration","src":"1261:37:118","nodes":[],"constant":true,"mutability":"constant","name":"D","nameLocation":"1287:1:118","scope":77623,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77119,"name":"uint256","nodeType":"ElementaryTypeName","src":"1261:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"id":77122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":77120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1291:2:118","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"37","id":77121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1297:1:118","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"src":"1291:7:118","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"}},"visibility":"internal"},{"id":77161,"nodeType":"FunctionDefinition","src":"1413:437:118","nodes":[],"body":{"id":77160,"nodeType":"Block","src":"1571:279:118","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":77141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77136,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77108,"src":"1585:16:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":77139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1613:1:118","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":77138,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1605:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":77137,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1605:7:118","typeDescriptions":{}}},"id":77140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1605:10:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1585:30:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77157,"nodeType":"IfStatement","src":"1581:230:118","trueBody":{"id":77156,"nodeType":"Block","src":"1617:194:118","statements":[{"expression":{"id":77154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77142,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77108,"src":"1631:16:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"32","id":77145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1690:1:118","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"hexValue":"506f6f6c2050726f66696c652031","id":77146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1693:16:118","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},"value":"Pool Profile 1"},{"arguments":[{"hexValue":"31","id":77148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1731:1:118","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"506f6f6c50726f66696c6531","id":77149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1743:14:118","typeDescriptions":{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""},"value":"PoolProfile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""}],"id":77147,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1711:8:118","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":77150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1721:8:118","1734:7:118"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1711:48:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":77151,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77128,"src":"1761:10:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77152,"name":"pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77131,"src":"1773:13:118","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":77143,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77126,"src":"1650:8:118","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":77144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1659:13:118","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":2742,"src":"1650:22:118","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":77153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1650:150:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1631:169:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":77155,"nodeType":"ExpressionStatement","src":"1631:169:118"}]}},{"expression":{"id":77158,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77108,"src":"1827:16:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":77135,"id":77159,"nodeType":"Return","src":"1820:23:118"}]},"functionSelector":"37d1c404","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_id1","nameLocation":"1422:15:118","parameters":{"id":77132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77126,"mutability":"mutable","name":"registry","nameLocation":"1448:8:118","nodeType":"VariableDeclaration","scope":77161,"src":"1438:18:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":77125,"nodeType":"UserDefinedTypeName","pathNode":{"id":77124,"name":"IRegistry","nameLocations":["1438:9:118"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"1438:9:118"},"referencedDeclaration":2802,"src":"1438:9:118","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":77128,"mutability":"mutable","name":"pool_admin","nameLocation":"1466:10:118","nodeType":"VariableDeclaration","scope":77161,"src":"1458:18:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77127,"name":"address","nodeType":"ElementaryTypeName","src":"1458:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77131,"mutability":"mutable","name":"pool_managers","nameLocation":"1495:13:118","nodeType":"VariableDeclaration","scope":77161,"src":"1478:30:118","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":77129,"name":"address","nodeType":"ElementaryTypeName","src":"1478:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77130,"nodeType":"ArrayTypeName","src":"1478:9:118","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1437:72:118"},"returnParameters":{"id":77135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77134,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77161,"src":"1558:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":77133,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1558:7:118","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1557:9:118"},"scope":77623,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":77285,"nodeType":"FunctionDefinition","src":"1856:1259:118","nodes":[],"body":{"id":77284,"nodeType":"Block","src":"2209:906:118","nodes":[],"statements":[{"expression":{"id":77189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":77181,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77179,"src":"2270:6:118","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":77184,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2277:8:118","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":69253,"src":"2270:15:118","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"id":77185,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2286:5:118","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65632,"src":"2270:21:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e39393939373939","id":77187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2308:15:118","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_999979900000000000_by_1","typeString":"int_const 999979900000000000"},"value":"0.9999799"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_999979900000000000_by_1","typeString":"int_const 999979900000000000"}],"id":77186,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77467,"src":"2294:13:118","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":77188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2294:30:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2270:54:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77190,"nodeType":"ExpressionStatement","src":"2270:54:118"},{"expression":{"id":77199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":77191,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77179,"src":"2351:6:118","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":77194,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2358:8:118","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":69253,"src":"2351:15:118","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"id":77195,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2367:8:118","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":65628,"src":"2351:24:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e32","id":77197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2392:9:118","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":77196,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77467,"src":"2378:13:118","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":77198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2378:24:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2351:51:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77200,"nodeType":"ExpressionStatement","src":"2351:51:118"},{"expression":{"id":77209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":77201,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77179,"src":"2431:6:118","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":77204,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2438:8:118","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":69253,"src":"2431:15:118","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"id":77205,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2447:6:118","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":65630,"src":"2431:22:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e303031","id":77207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2470:11:118","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000_by_1","typeString":"int_const 1000000000000000"},"value":"0.001"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1000000000000000_by_1","typeString":"int_const 1000000000000000"}],"id":77206,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77467,"src":"2456:13:118","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":77208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2456:26:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2431:51:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77210,"nodeType":"ExpressionStatement","src":"2431:51:118"},{"expression":{"id":77217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":77211,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77179,"src":"2513:6:118","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":77214,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2520:8:118","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":69253,"src":"2513:15:118","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"id":77215,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2529:18:118","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":65634,"src":"2513:34:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"302e32","id":77216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2550:9:118","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"},"src":"2513:46:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77218,"nodeType":"ExpressionStatement","src":"2513:46:118"},{"expression":{"id":77223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":77219,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77179,"src":"2576:6:118","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":77221,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2583:17:118","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":69267,"src":"2576:24:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77222,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77163,"src":"2603:17:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2576:44:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77224,"nodeType":"ExpressionStatement","src":"2576:44:118"},{"expression":{"id":77229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":77225,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77179,"src":"2630:6:118","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":77227,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2637:12:118","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":69256,"src":"2630:19:118","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77228,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77166,"src":"2652:12:118","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"src":"2630:34:118","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"id":77230,"nodeType":"ExpressionStatement","src":"2630:34:118"},{"expression":{"id":77235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":77231,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77179,"src":"2674:6:118","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":77233,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2681:11:118","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":69259,"src":"2674:18:118","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77234,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77169,"src":"2695:11:118","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"src":"2674:32:118","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"id":77236,"nodeType":"ExpressionStatement","src":"2674:32:118"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77237,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77172,"src":"2721:11:118","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"id":77238,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2733:9:118","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65611,"src":"2721:21:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":77239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2746:1:118","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2721:26:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77250,"nodeType":"IfStatement","src":"2717:197:118","trueBody":{"id":77249,"nodeType":"Block","src":"2749:165:118","statements":[{"expression":{"id":77247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":77241,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77172,"src":"2865:11:118","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"id":77243,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2877:9:118","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65611,"src":"2865:21:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77246,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"323030","id":77244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2889:3:118","typeDescriptions":{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},"value":"200"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":77245,"name":"DECIMALS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77101,"src":"2895:8:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2889:14:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2865:38:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77248,"nodeType":"ExpressionStatement","src":"2865:38:118"}]}},{"expression":{"id":77255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":77251,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77179,"src":"2923:6:118","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":77253,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2930:11:118","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":69262,"src":"2923:18:118","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77254,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77172,"src":"2944:11:118","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"2923:32:118","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"id":77256,"nodeType":"ExpressionStatement","src":"2923:32:118"},{"expression":{"id":77261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":77257,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77179,"src":"2965:6:118","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":77259,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2972:16:118","memberName":"arbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":69265,"src":"2965:23:118","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77260,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77175,"src":"2991:16:118","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"src":"2965:42:118","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":77262,"nodeType":"ExpressionStatement","src":"2965:42:118"},{"expression":{"id":77271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":77263,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77179,"src":"3017:6:118","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":77265,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3024:16:118","memberName":"initialAllowlist","nodeType":"MemberAccess","referencedDeclaration":69272,"src":"3017:23:118","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":77269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3057:1:118","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":77268,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3043:13:118","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":77266,"name":"address","nodeType":"ElementaryTypeName","src":"3047:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77267,"nodeType":"ArrayTypeName","src":"3047:9:118","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":77270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3043:16:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"3017:42:118","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77272,"nodeType":"ExpressionStatement","src":"3017:42:118"},{"expression":{"id":77282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":77273,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77179,"src":"3069:6:118","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":77276,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3076:16:118","memberName":"initialAllowlist","nodeType":"MemberAccess","referencedDeclaration":69272,"src":"3069:23:118","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77277,"indexExpression":{"hexValue":"30","id":77275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3093:1:118","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3069:26:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":77280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3106:1:118","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":77279,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3098:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77278,"name":"address","nodeType":"ElementaryTypeName","src":"3098:7:118","typeDescriptions":{}}},"id":77281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3098:10:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3069:39:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77283,"nodeType":"ExpressionStatement","src":"3069:39:118"}]},"functionSelector":"c36e336b","implemented":true,"kind":"function","modifiers":[],"name":"getParams","nameLocation":"1865:9:118","parameters":{"id":77176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77163,"mutability":"mutable","name":"registryCommunity","nameLocation":"1892:17:118","nodeType":"VariableDeclaration","scope":77285,"src":"1884:25:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77162,"name":"address","nodeType":"ElementaryTypeName","src":"1884:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77166,"mutability":"mutable","name":"proposalType","nameLocation":"1947:12:118","nodeType":"VariableDeclaration","scope":77285,"src":"1919:40:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":77165,"nodeType":"UserDefinedTypeName","pathNode":{"id":77164,"name":"StrategyStruct.ProposalType","nameLocations":["1919:14:118","1934:12:118"],"nodeType":"IdentifierPath","referencedDeclaration":65538,"src":"1919:27:118"},"referencedDeclaration":65538,"src":"1919:27:118","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":77169,"mutability":"mutable","name":"pointSystem","nameLocation":"1996:11:118","nodeType":"VariableDeclaration","scope":77285,"src":"1969:38:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":77168,"nodeType":"UserDefinedTypeName","pathNode":{"id":77167,"name":"StrategyStruct.PointSystem","nameLocations":["1969:14:118","1984:11:118"],"nodeType":"IdentifierPath","referencedDeclaration":65543,"src":"1969:26:118"},"referencedDeclaration":65543,"src":"1969:26:118","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":77172,"mutability":"mutable","name":"pointConfig","nameLocation":"2057:11:118","nodeType":"VariableDeclaration","scope":77285,"src":"2017:51:118","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":77171,"nodeType":"UserDefinedTypeName","pathNode":{"id":77170,"name":"StrategyStruct.PointSystemConfig","nameLocations":["2017:14:118","2032:17:118"],"nodeType":"IdentifierPath","referencedDeclaration":65612,"src":"2017:32:118"},"referencedDeclaration":65612,"src":"2017:32:118","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":77175,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"2117:16:118","nodeType":"VariableDeclaration","scope":77285,"src":"2078:55:118","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":77174,"nodeType":"UserDefinedTypeName","pathNode":{"id":77173,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["2078:14:118","2093:16:118"],"nodeType":"IdentifierPath","referencedDeclaration":65626,"src":"2078:31:118"},"referencedDeclaration":65626,"src":"2078:31:118","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"src":"1874:265:118"},"returnParameters":{"id":77180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77179,"mutability":"mutable","name":"params","nameLocation":"2201:6:118","nodeType":"VariableDeclaration","scope":77285,"src":"2161:46:118","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams"},"typeName":{"id":77178,"nodeType":"UserDefinedTypeName","pathNode":{"id":77177,"name":"StrategyStruct2.InitializeParams","nameLocations":["2161:15:118","2177:16:118"],"nodeType":"IdentifierPath","referencedDeclaration":69273,"src":"2161:32:118"},"referencedDeclaration":69273,"src":"2161:32:118","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_storage_ptr","typeString":"struct StrategyStruct2.InitializeParams"}},"visibility":"internal"}],"src":"2160:48:118"},"scope":77623,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":77411,"nodeType":"FunctionDefinition","src":"3121:1620:118","nodes":[],"body":{"id":77410,"nodeType":"Block","src":"3534:1207:118","nodes":[],"statements":[{"assignments":[77318],"declarations":[{"constant":false,"id":77318,"mutability":"mutable","name":"params","nameLocation":"3635:6:118","nodeType":"VariableDeclaration","scope":77410,"src":"3595:46:118","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams"},"typeName":{"id":77317,"nodeType":"UserDefinedTypeName","pathNode":{"id":77316,"name":"StrategyStruct2.InitializeParams","nameLocations":["3595:15:118","3611:16:118"],"nodeType":"IdentifierPath","referencedDeclaration":69273,"src":"3595:32:118"},"referencedDeclaration":69273,"src":"3595:32:118","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_storage_ptr","typeString":"struct StrategyStruct2.InitializeParams"}},"visibility":"internal"}],"id":77326,"initialValue":{"arguments":[{"id":77320,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77292,"src":"3666:17:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77321,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77300,"src":"3685:12:118","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},{"id":77322,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77303,"src":"3699:11:118","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},{"id":77323,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77306,"src":"3712:11:118","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},{"id":77324,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77309,"src":"3725:16:118","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"},{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"},{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}],"id":77319,"name":"getParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77285,"src":"3656:9:118","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_enum$_ProposalType_$65538_$_t_enum$_PointSystem_$65543_$_t_struct$_PointSystemConfig_$65612_memory_ptr_$_t_struct$_ArbitrableConfig_$65626_memory_ptr_$returns$_t_struct$_InitializeParams_$69273_memory_ptr_$","typeString":"function (address,enum StrategyStruct.ProposalType,enum StrategyStruct.PointSystem,struct StrategyStruct.PointSystemConfig memory,struct StrategyStruct.ArbitrableConfig memory) pure returns (struct StrategyStruct2.InitializeParams memory)"}},"id":77325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3656:86:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"3595:147:118"},{"assignments":[77331],"declarations":[{"constant":false,"id":77331,"mutability":"mutable","name":"_pool_managers","nameLocation":"3770:14:118","nodeType":"VariableDeclaration","scope":77410,"src":"3753:31:118","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":77329,"name":"address","nodeType":"ElementaryTypeName","src":"3753:7:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77330,"nodeType":"ArrayTypeName","src":"3753:9:118","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":77337,"initialValue":{"arguments":[{"hexValue":"32","id":77335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3801:1:118","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":77334,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3787:13:118","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":77332,"name":"address","nodeType":"ElementaryTypeName","src":"3791:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77333,"nodeType":"ArrayTypeName","src":"3791:9:118","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":77336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3787:16:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3753:50:118"},{"expression":{"id":77345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":77338,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77331,"src":"3813:14:118","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77340,"indexExpression":{"hexValue":"30","id":77339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3828:1:118","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3813:17:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":77343,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3841:4:118","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyHelpers_$77623","typeString":"contract CVStrategyHelpers"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyHelpers_$77623","typeString":"contract CVStrategyHelpers"}],"id":77342,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3833:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77341,"name":"address","nodeType":"ElementaryTypeName","src":"3833:7:118","typeDescriptions":{}}},"id":77344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3833:13:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3813:33:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77346,"nodeType":"ExpressionStatement","src":"3813:33:118"},{"expression":{"id":77355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":77347,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77331,"src":"3856:14:118","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":77349,"indexExpression":{"hexValue":"31","id":77348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3871:1:118","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3856:17:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":77352,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3884:3:118","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3888:6:118","memberName":"sender","nodeType":"MemberAccess","src":"3884:10:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77351,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3876:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77350,"name":"address","nodeType":"ElementaryTypeName","src":"3876:7:118","typeDescriptions":{}}},"id":77354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3876:19:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3856:39:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77356,"nodeType":"ExpressionStatement","src":"3856:39:118"},{"assignments":[77358],"declarations":[{"constant":false,"id":77358,"mutability":"mutable","name":"_token","nameLocation":"4153:6:118","nodeType":"VariableDeclaration","scope":77410,"src":"4145:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77357,"name":"address","nodeType":"ElementaryTypeName","src":"4145:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":77360,"initialValue":{"id":77359,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"4162:6:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4145:23:118"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":77366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77361,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77297,"src":"4182:5:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":77364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4199:1:118","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":77363,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4191:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77362,"name":"address","nodeType":"ElementaryTypeName","src":"4191:7:118","typeDescriptions":{}}},"id":77365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4191:10:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4182:19:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77372,"nodeType":"IfStatement","src":"4178:64:118","trueBody":{"id":77371,"nodeType":"Block","src":"4203:39:118","statements":[{"expression":{"id":77369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77367,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77358,"src":"4217:6:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77368,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77297,"src":"4226:5:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4217:14:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":77370,"nodeType":"ExpressionStatement","src":"4217:14:118"}]}},{"expression":{"id":77395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77373,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77312,"src":"4251:6:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":77377,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77295,"src":"4364:8:118","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"arguments":[],"expression":{"argumentTypes":[],"id":77378,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"4374:10:118","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":77379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4374:12:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77380,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77331,"src":"4388:14:118","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":77376,"name":"poolProfile_id1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77161,"src":"4348:15:118","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IRegistry_$2802_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (contract IRegistry,address,address[] memory) returns (bytes32)"}},"id":77381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4348:55:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":77384,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77290,"src":"4425:8:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77383,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4417:7:118","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77382,"name":"address","nodeType":"ElementaryTypeName","src":"4417:7:118","typeDescriptions":{}}},"id":77385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4417:17:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":77388,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77318,"src":"4459:6:118","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}],"expression":{"id":77386,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4448:3:118","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":77387,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4452:6:118","memberName":"encode","nodeType":"MemberAccess","src":"4448:10:118","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":77389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4448:18:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":77390,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77358,"src":"4480:6:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":77391,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4500:1:118","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":77392,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77096,"src":"4515:8:118","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},{"id":77393,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77331,"src":"4537:14:118","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":77374,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77288,"src":"4260:4:118","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":77375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4265:28:118","memberName":"createPoolWithCustomStrategy","nodeType":"MemberAccess","referencedDeclaration":175,"src":"4260:33:118","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,address,bytes memory,address,uint256,struct Metadata memory,address[] memory) payable external returns (uint256)"}},"id":77394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4260:301:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4251:310:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77396,"nodeType":"ExpressionStatement","src":"4251:310:118"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"},"id":77407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"id":77401,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77290,"src":"4692:8:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77400,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4684:8:118","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":77399,"name":"address","nodeType":"ElementaryTypeName","src":"4684:8:118","stateMutability":"payable","typeDescriptions":{}}},"id":77402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4684:17:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":77398,"name":"CVStrategyV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69799,"src":"4669:14:118","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategyV0_1_$69799_$","typeString":"type(contract CVStrategyV0_1)"}},"id":77403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4669:33:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}},"id":77404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4703:12:118","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":65929,"src":"4669:46:118","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_enum$_ProposalType_$65538_$","typeString":"function () view external returns (enum StrategyStruct.ProposalType)"}},"id":77405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4669:48:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":77406,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77300,"src":"4721:12:118","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"src":"4669:64:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":77397,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"4662:6:118","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":77408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4662:72:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77409,"nodeType":"ExpressionStatement","src":"4662:72:118"}]},"functionSelector":"e070e0ab","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"3130:10:118","parameters":{"id":77310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77288,"mutability":"mutable","name":"allo","nameLocation":"3155:4:118","nodeType":"VariableDeclaration","scope":77411,"src":"3150:9:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},"typeName":{"id":77287,"nodeType":"UserDefinedTypeName","pathNode":{"id":77286,"name":"Allo","nameLocations":["3150:4:118"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"3150:4:118"},"referencedDeclaration":1390,"src":"3150:4:118","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"visibility":"internal"},{"constant":false,"id":77290,"mutability":"mutable","name":"strategy","nameLocation":"3177:8:118","nodeType":"VariableDeclaration","scope":77411,"src":"3169:16:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77289,"name":"address","nodeType":"ElementaryTypeName","src":"3169:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77292,"mutability":"mutable","name":"registryCommunity","nameLocation":"3203:17:118","nodeType":"VariableDeclaration","scope":77411,"src":"3195:25:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77291,"name":"address","nodeType":"ElementaryTypeName","src":"3195:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77295,"mutability":"mutable","name":"registry","nameLocation":"3240:8:118","nodeType":"VariableDeclaration","scope":77411,"src":"3230:18:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":77294,"nodeType":"UserDefinedTypeName","pathNode":{"id":77293,"name":"IRegistry","nameLocations":["3230:9:118"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"3230:9:118"},"referencedDeclaration":2802,"src":"3230:9:118","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":77297,"mutability":"mutable","name":"token","nameLocation":"3266:5:118","nodeType":"VariableDeclaration","scope":77411,"src":"3258:13:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77296,"name":"address","nodeType":"ElementaryTypeName","src":"3258:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77300,"mutability":"mutable","name":"proposalType","nameLocation":"3309:12:118","nodeType":"VariableDeclaration","scope":77411,"src":"3281:40:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":77299,"nodeType":"UserDefinedTypeName","pathNode":{"id":77298,"name":"StrategyStruct.ProposalType","nameLocations":["3281:14:118","3296:12:118"],"nodeType":"IdentifierPath","referencedDeclaration":65538,"src":"3281:27:118"},"referencedDeclaration":65538,"src":"3281:27:118","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":77303,"mutability":"mutable","name":"pointSystem","nameLocation":"3358:11:118","nodeType":"VariableDeclaration","scope":77411,"src":"3331:38:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":77302,"nodeType":"UserDefinedTypeName","pathNode":{"id":77301,"name":"StrategyStruct.PointSystem","nameLocations":["3331:14:118","3346:11:118"],"nodeType":"IdentifierPath","referencedDeclaration":65543,"src":"3331:26:118"},"referencedDeclaration":65543,"src":"3331:26:118","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":77306,"mutability":"mutable","name":"pointConfig","nameLocation":"3419:11:118","nodeType":"VariableDeclaration","scope":77411,"src":"3379:51:118","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":77305,"nodeType":"UserDefinedTypeName","pathNode":{"id":77304,"name":"StrategyStruct.PointSystemConfig","nameLocations":["3379:14:118","3394:17:118"],"nodeType":"IdentifierPath","referencedDeclaration":65612,"src":"3379:32:118"},"referencedDeclaration":65612,"src":"3379:32:118","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":77309,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"3479:16:118","nodeType":"VariableDeclaration","scope":77411,"src":"3440:55:118","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":77308,"nodeType":"UserDefinedTypeName","pathNode":{"id":77307,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["3440:14:118","3455:16:118"],"nodeType":"IdentifierPath","referencedDeclaration":65626,"src":"3440:31:118"},"referencedDeclaration":65626,"src":"3440:31:118","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"src":"3140:361:118"},"returnParameters":{"id":77313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77312,"mutability":"mutable","name":"poolId","nameLocation":"3526:6:118","nodeType":"VariableDeclaration","scope":77411,"src":"3518:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77311,"name":"uint256","nodeType":"ElementaryTypeName","src":"3518:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3517:16:118"},"scope":77623,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":77453,"nodeType":"FunctionDefinition","src":"4747:638:118","nodes":[],"body":{"id":77452,"nodeType":"Block","src":"5099:286:118","nodes":[],"statements":[{"expression":{"arguments":[{"id":77438,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77414,"src":"5140:4:118","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},{"id":77439,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77416,"src":"5158:8:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77440,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77418,"src":"5180:17:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77441,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77421,"src":"5211:8:118","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"id":77442,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77423,"src":"5233:5:118","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77443,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77426,"src":"5252:12:118","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},{"id":77444,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77429,"src":"5278:11:118","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},{"arguments":[{"hexValue":"30","id":77447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5336:1:118","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":77445,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"5303:14:118","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":77446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5318:17:118","memberName":"PointSystemConfig","nodeType":"MemberAccess","referencedDeclaration":65612,"src":"5303:32:118","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PointSystemConfig_$65612_storage_ptr_$","typeString":"type(struct StrategyStruct.PointSystemConfig storage pointer)"}},"id":77448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5303:35:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},{"id":77449,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77432,"src":"5352:16:118","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"},{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"},{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}],"id":77437,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[77411,77453],"referencedDeclaration":77411,"src":"5116:10:118","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Allo_$1390_$_t_address_$_t_address_$_t_contract$_IRegistry_$2802_$_t_address_$_t_enum$_ProposalType_$65538_$_t_enum$_PointSystem_$65543_$_t_struct$_PointSystemConfig_$65612_memory_ptr_$_t_struct$_ArbitrableConfig_$65626_memory_ptr_$returns$_t_uint256_$","typeString":"function (contract Allo,address,address,contract IRegistry,address,enum StrategyStruct.ProposalType,enum StrategyStruct.PointSystem,struct StrategyStruct.PointSystemConfig memory,struct StrategyStruct.ArbitrableConfig memory) returns (uint256)"}},"id":77450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5116:262:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":77436,"id":77451,"nodeType":"Return","src":"5109:269:118"}]},"functionSelector":"85294f18","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"4756:10:118","parameters":{"id":77433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77414,"mutability":"mutable","name":"allo","nameLocation":"4781:4:118","nodeType":"VariableDeclaration","scope":77453,"src":"4776:9:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},"typeName":{"id":77413,"nodeType":"UserDefinedTypeName","pathNode":{"id":77412,"name":"Allo","nameLocations":["4776:4:118"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"4776:4:118"},"referencedDeclaration":1390,"src":"4776:4:118","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"visibility":"internal"},{"constant":false,"id":77416,"mutability":"mutable","name":"strategy","nameLocation":"4803:8:118","nodeType":"VariableDeclaration","scope":77453,"src":"4795:16:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77415,"name":"address","nodeType":"ElementaryTypeName","src":"4795:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77418,"mutability":"mutable","name":"registryCommunity","nameLocation":"4829:17:118","nodeType":"VariableDeclaration","scope":77453,"src":"4821:25:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77417,"name":"address","nodeType":"ElementaryTypeName","src":"4821:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77421,"mutability":"mutable","name":"registry","nameLocation":"4866:8:118","nodeType":"VariableDeclaration","scope":77453,"src":"4856:18:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":77420,"nodeType":"UserDefinedTypeName","pathNode":{"id":77419,"name":"IRegistry","nameLocations":["4856:9:118"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"4856:9:118"},"referencedDeclaration":2802,"src":"4856:9:118","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":77423,"mutability":"mutable","name":"token","nameLocation":"4892:5:118","nodeType":"VariableDeclaration","scope":77453,"src":"4884:13:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77422,"name":"address","nodeType":"ElementaryTypeName","src":"4884:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77426,"mutability":"mutable","name":"proposalType","nameLocation":"4935:12:118","nodeType":"VariableDeclaration","scope":77453,"src":"4907:40:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":77425,"nodeType":"UserDefinedTypeName","pathNode":{"id":77424,"name":"StrategyStruct.ProposalType","nameLocations":["4907:14:118","4922:12:118"],"nodeType":"IdentifierPath","referencedDeclaration":65538,"src":"4907:27:118"},"referencedDeclaration":65538,"src":"4907:27:118","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":77429,"mutability":"mutable","name":"pointSystem","nameLocation":"4984:11:118","nodeType":"VariableDeclaration","scope":77453,"src":"4957:38:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":77428,"nodeType":"UserDefinedTypeName","pathNode":{"id":77427,"name":"StrategyStruct.PointSystem","nameLocations":["4957:14:118","4972:11:118"],"nodeType":"IdentifierPath","referencedDeclaration":65543,"src":"4957:26:118"},"referencedDeclaration":65543,"src":"4957:26:118","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":77432,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"5044:16:118","nodeType":"VariableDeclaration","scope":77453,"src":"5005:55:118","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":77431,"nodeType":"UserDefinedTypeName","pathNode":{"id":77430,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["5005:14:118","5020:16:118"],"nodeType":"IdentifierPath","referencedDeclaration":65626,"src":"5005:31:118"},"referencedDeclaration":65626,"src":"5005:31:118","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"src":"4766:300:118"},"returnParameters":{"id":77436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77435,"mutability":"mutable","name":"poolId","nameLocation":"5091:6:118","nodeType":"VariableDeclaration","scope":77453,"src":"5083:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77434,"name":"uint256","nodeType":"ElementaryTypeName","src":"5083:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5082:16:118"},"scope":77623,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":77467,"nodeType":"FunctionDefinition","src":"5391:114:118","nodes":[],"body":{"id":77466,"nodeType":"Block","src":"5463:42:118","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77460,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77455,"src":"5480:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"},"id":77463,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":77461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5490:2:118","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3131","id":77462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5496:2:118","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},"src":"5490:8:118","typeDescriptions":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"}},"src":"5480:18:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":77459,"id":77465,"nodeType":"Return","src":"5473:25:118"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_etherToFloat","nameLocation":"5400:13:118","parameters":{"id":77456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77455,"mutability":"mutable","name":"_amount","nameLocation":"5422:7:118","nodeType":"VariableDeclaration","scope":77467,"src":"5414:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77454,"name":"uint256","nodeType":"ElementaryTypeName","src":"5414:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5413:17:118"},"returnParameters":{"id":77459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77458,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77467,"src":"5454:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77457,"name":"uint256","nodeType":"ElementaryTypeName","src":"5454:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5453:9:118"},"scope":77623,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":77501,"nodeType":"FunctionDefinition","src":"5511:269:118","nodes":[],"body":{"id":77500,"nodeType":"Block","src":"5589:191:118","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77477,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77469,"src":"5607:2:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":77478,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77118,"src":"5613:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5607:13:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":77480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5622:42:118","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":77476,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5599:7:118","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":77481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5599:66:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77482,"nodeType":"ExpressionStatement","src":"5599:66:118"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77484,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77471,"src":"5683:2:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":77485,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77118,"src":"5688:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5683:12:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":77487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5697:30:118","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":77483,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5675:7:118","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":77488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5675:53:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77489,"nodeType":"ExpressionStatement","src":"5675:53:118"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77490,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77469,"src":"5747:2:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":77491,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77471,"src":"5752:2:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5747:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77493,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5746:9:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":77494,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77113,"src":"5758:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5746:19:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77496,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5745:21:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":77497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5770:3:118","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"5745:28:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":77475,"id":77499,"nodeType":"Return","src":"5738:35:118"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"5520:4:118","parameters":{"id":77472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77469,"mutability":"mutable","name":"_a","nameLocation":"5533:2:118","nodeType":"VariableDeclaration","scope":77501,"src":"5525:10:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77468,"name":"uint256","nodeType":"ElementaryTypeName","src":"5525:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77471,"mutability":"mutable","name":"_b","nameLocation":"5545:2:118","nodeType":"VariableDeclaration","scope":77501,"src":"5537:10:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77470,"name":"uint256","nodeType":"ElementaryTypeName","src":"5537:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5524:24:118"},"returnParameters":{"id":77475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77474,"mutability":"mutable","name":"_result","nameLocation":"5580:7:118","nodeType":"VariableDeclaration","scope":77501,"src":"5572:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77473,"name":"uint256","nodeType":"ElementaryTypeName","src":"5572:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5571:17:118"},"scope":77623,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":77565,"nodeType":"FunctionDefinition","src":"5786:447:118","nodes":[],"body":{"id":77564,"nodeType":"Block","src":"5864:369:118","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77511,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77503,"src":"5882:2:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":77512,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77118,"src":"5887:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5882:12:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":77514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5896:30:118","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":77510,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5874:7:118","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":77515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5874:53:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77516,"nodeType":"ExpressionStatement","src":"5874:53:118"},{"assignments":[77518],"declarations":[{"constant":false,"id":77518,"mutability":"mutable","name":"a","nameLocation":"5945:1:118","nodeType":"VariableDeclaration","scope":77564,"src":"5937:9:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77517,"name":"uint256","nodeType":"ElementaryTypeName","src":"5937:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77520,"initialValue":{"id":77519,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77503,"src":"5949:2:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5937:14:118"},{"assignments":[77522],"declarations":[{"constant":false,"id":77522,"mutability":"mutable","name":"b","nameLocation":"5969:1:118","nodeType":"VariableDeclaration","scope":77564,"src":"5961:9:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77521,"name":"uint256","nodeType":"ElementaryTypeName","src":"5961:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77524,"initialValue":{"id":77523,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77505,"src":"5973:2:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5961:14:118"},{"expression":{"id":77527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77525,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77508,"src":"5985:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77526,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77118,"src":"5995:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5985:17:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77528,"nodeType":"ExpressionStatement","src":"5985:17:118"},{"body":{"id":77562,"nodeType":"Block","src":"6026:201:118","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77532,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77522,"src":"6044:1:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":77533,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6048:1:118","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6044:5:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":77535,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6053:1:118","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6044:10:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":77560,"nodeType":"Block","src":"6134:83:118","statements":[{"expression":{"id":77554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77549,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77508,"src":"6152:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":77551,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77508,"src":"6167:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77552,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77518,"src":"6176:1:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77550,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77501,"src":"6162:4:118","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":77553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6162:16:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6152:26:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77555,"nodeType":"ExpressionStatement","src":"6152:26:118"},{"expression":{"id":77558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77556,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77522,"src":"6196:1:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":77557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6201:1:118","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6196:6:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77559,"nodeType":"ExpressionStatement","src":"6196:6:118"}]},"id":77561,"nodeType":"IfStatement","src":"6040:177:118","trueBody":{"id":77548,"nodeType":"Block","src":"6056:72:118","statements":[{"expression":{"id":77542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77537,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77518,"src":"6074:1:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":77539,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77518,"src":"6083:1:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77540,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77518,"src":"6086:1:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77538,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77501,"src":"6078:4:118","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":77541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6078:10:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6074:14:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77543,"nodeType":"ExpressionStatement","src":"6074:14:118"},{"expression":{"id":77546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77544,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77522,"src":"6106:1:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":77545,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6112:1:118","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6106:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77547,"nodeType":"ExpressionStatement","src":"6106:7:118"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77529,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77522,"src":"6019:1:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":77530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6023:1:118","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6019:5:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77563,"nodeType":"WhileStatement","src":"6012:215:118"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"5795:4:118","parameters":{"id":77506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77503,"mutability":"mutable","name":"_a","nameLocation":"5808:2:118","nodeType":"VariableDeclaration","scope":77565,"src":"5800:10:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77502,"name":"uint256","nodeType":"ElementaryTypeName","src":"5800:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77505,"mutability":"mutable","name":"_b","nameLocation":"5820:2:118","nodeType":"VariableDeclaration","scope":77565,"src":"5812:10:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77504,"name":"uint256","nodeType":"ElementaryTypeName","src":"5812:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5799:24:118"},"returnParameters":{"id":77509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77508,"mutability":"mutable","name":"_result","nameLocation":"5855:7:118","nodeType":"VariableDeclaration","scope":77565,"src":"5847:15:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77507,"name":"uint256","nodeType":"ElementaryTypeName","src":"5847:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5846:17:118"},"scope":77623,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":77622,"nodeType":"FunctionDefinition","src":"6239:380:118","nodes":[],"body":{"id":77621,"nodeType":"Block","src":"6402:217:118","nodes":[],"statements":[{"assignments":[77579],"declarations":[{"constant":false,"id":77579,"mutability":"mutable","name":"t","nameLocation":"6420:1:118","nodeType":"VariableDeclaration","scope":77621,"src":"6412:9:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77578,"name":"uint256","nodeType":"ElementaryTypeName","src":"6412:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77581,"initialValue":{"id":77580,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77567,"src":"6424:11:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6412:23:118"},{"assignments":[77583],"declarations":[{"constant":false,"id":77583,"mutability":"mutable","name":"atTWO_128","nameLocation":"6453:9:118","nodeType":"VariableDeclaration","scope":77621,"src":"6445:17:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77582,"name":"uint256","nodeType":"ElementaryTypeName","src":"6445:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77593,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77585,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77573,"src":"6471:5:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":77586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6480:3:118","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"6471:12:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77588,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6470:14:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":77589,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77123,"src":"6487:1:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6470:18:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77591,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77579,"src":"6490:1:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77584,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77565,"src":"6465:4:118","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":77592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6465:27:118","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6445:47:118"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77616,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77594,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77583,"src":"6512:9:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":77595,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77569,"src":"6524:9:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6512:21:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77597,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6511:23:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77598,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77571,"src":"6539:10:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":77599,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77123,"src":"6552:1:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6539:14:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77601,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77118,"src":"6557:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":77602,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77583,"src":"6567:9:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6557:19:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77604,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6556:21:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6539:38:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77606,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6538:40:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77607,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77123,"src":"6582:1:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":77608,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77573,"src":"6586:5:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6582:9:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77610,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6581:11:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6538:54:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77612,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6537:56:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6511:82:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77614,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6510:84:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":77615,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77113,"src":"6597:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6510:94:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77617,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6509:96:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":77618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6609:3:118","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"6509:103:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":77577,"id":77620,"nodeType":"Return","src":"6502:110:118"}]},"functionSelector":"e99ce911","implemented":true,"kind":"function","modifiers":[],"name":"_calculateConviction","nameLocation":"6248:20:118","parameters":{"id":77574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77567,"mutability":"mutable","name":"_timePassed","nameLocation":"6277:11:118","nodeType":"VariableDeclaration","scope":77622,"src":"6269:19:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77566,"name":"uint256","nodeType":"ElementaryTypeName","src":"6269:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77569,"mutability":"mutable","name":"_lastConv","nameLocation":"6298:9:118","nodeType":"VariableDeclaration","scope":77622,"src":"6290:17:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77568,"name":"uint256","nodeType":"ElementaryTypeName","src":"6290:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77571,"mutability":"mutable","name":"_oldAmount","nameLocation":"6317:10:118","nodeType":"VariableDeclaration","scope":77622,"src":"6309:18:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77570,"name":"uint256","nodeType":"ElementaryTypeName","src":"6309:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77573,"mutability":"mutable","name":"decay","nameLocation":"6337:5:118","nodeType":"VariableDeclaration","scope":77622,"src":"6329:13:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77572,"name":"uint256","nodeType":"ElementaryTypeName","src":"6329:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6268:75:118"},"returnParameters":{"id":77577,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77576,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77622,"src":"6389:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77575,"name":"uint256","nodeType":"ElementaryTypeName","src":"6389:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6388:9:118"},"scope":77623,"stateMutability":"pure","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":77086,"name":"Native","nameLocations":["854:6:118"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"854:6:118"},"id":77087,"nodeType":"InheritanceSpecifier","src":"854:6:118"},{"baseName":{"id":77088,"name":"Accounts","nameLocations":["862:8:118"],"nodeType":"IdentifierPath","referencedDeclaration":5026,"src":"862:8:118"},"id":77089,"nodeType":"InheritanceSpecifier","src":"862:8:118"}],"canonicalName":"CVStrategyHelpers","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[77623,5026,12099,11306,3106],"name":"CVStrategyHelpers","nameLocation":"833:17:118","scope":77624,"usedErrors":[]}],"license":"AGPL-3.0-or-later"},"id":118} \ No newline at end of file +{"abi":[{"type":"function","name":"DECIMALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"PERCENTAGE_SCALE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum PointSystem"},{"name":"arbitrableConfig","type":"tuple","internalType":"struct ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getParams","inputs":[{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"params","type":"tuple","internalType":"struct CVStrategyInitializeParamsV0_1","components":[{"name":"cvParams","type":"tuple","internalType":"struct CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"},{"name":"initialAllowlist","type":"address[]","internalType":"address[]"}]}],"stateMutability":"pure"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_id1","inputs":[{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"pool_admin","type":"address","internalType":"address"},{"name":"pool_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x60016080908152610120604052602e60c081815260a09162001d4160e0399052805160099081556020820151600a906200003a9082620000f6565b5050503480156200004a57600080fd5b50620001c2565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200007c57607f821691505b6020821081036200009d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620000f157600081815260208120601f850160051c81016020861015620000cc5750805b601f850160051c820191505b81811015620000ed57828155600101620000d8565b5050505b505050565b81516001600160401b0381111562000112576200011262000051565b6200012a8162000123845462000067565b84620000a3565b602080601f831160018114620001625760008415620001495750858301515b600019600386901b1c1916600185901b178555620000ed565b600085815260208120601f198616915b82811015620001935788860151825594840194600190910190840162000172565b5085821015620001b25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611b6f80620001d26000396000f3fe608060405234801561001057600080fd5b50600436106101cc5760003560e01c8062b1fad7146101d1578063030e4006146101f65780630688b135146101fe5780630f166ad414610206578063174eedde1461020c5780631b96dce6146102135780631e7bcb2e1461021b5780632e0f26251461022357806337d1c40414610240578063392f37e9146102535780633f26479e146102695780634bf4ba2114610272578063587c1243146102875780635aff59991461028f57806366d003ac146102975780636a38dd0a1461029f57806370a32944146102a757806374d9284e1461020c578063759c9a86146102af57806379e62d0d146102b75780637b2edf32146102bf5780637cbe79ed146102c7578063829e423f1461020c57806385294f18146102cf5780638c7408c41461020c5780638e0d1a50146102e25780638e3c2493146102ea578063a0cf0aea146102f2578063a407c67a1461030d578063aa3744bd14610315578063c36e336b1461031d578063d1e82b581461033d578063d1f2cd8814610345578063d5bee9f51461034d578063da4bf08714610355578063dac4eb161461035d578063e070e0ab14610365578063e99ce91114610378578063ef0d790f1461038b575b600080fd5b6101d9610393565b6040516001600160a01b0390911681526020015b60405180910390f35b6101d96103c8565b6101d96103fe565b306101d9565b60006101d9565b6101d961042b565b6101d961045c565b610232670de0b6b3a764000081565b6040519081526020016101ed565b61023261024e366004611285565b61048f565b61025b61054f565b6040516101ed9291906113ad565b61023261271081565b61027a6105e6565b6040516101ed9190611412565b6101d9610609565b6101d961063c565b6101d961066f565b6101d961069b565b61027a6106cb565b6101d9610763565b61027a610792565b6101d96107fa565b6101d961082d565b6102326102dd3660046114d8565b61085a565b6101d9610889565b6101d96108b6565b6101d973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61027a6108e9565b6101d9610951565b61033061032b3660046115bd565b61097e565b6040516101ed9190611663565b6101d9610ad0565b6101d9610b03565b6101d9610b34565b6101d9610b62565b6101d9610b92565b610232610373366004611752565b610bc3565b610232610386366004611808565b610dc8565b6101d9610e56565b60006103c36040518060400160405280600d81526020016c706f6f6c5f6d616e616765723160981b815250610e88565b905090565b60006103c360405180604001604052806013815260200172383937b334b63298afb737ba20a6b2b6b132b960691b815250610e88565b60006103c36040518060400160405280600a8152602001693932b1b4b834b2b73a1960b11b815250610e88565b60006103c36040518060400160405280600e81526020016d383937b334b632992fb7bbb732b960911b815250610e88565b60006103c36040518060400160405280601081526020016f70726f66696c65315f6d656d6265723160801b815250610e88565b600b54600090610544576040805180820182526001815281518083018352600c81526b506f6f6c50726f66696c653160a01b6020828101919091528201529051633a92f65f60e01b81526001600160a01b03861691633a92f65f916104fd916002918890889060040161183a565b6020604051808303816000875af115801561051c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054091906118bb565b600b555b50600b549392505050565b60098054600a8054919291610563906118d4565b80601f016020809104026020016040519081016040528092919081815260200182805461058f906118d4565b80156105dc5780601f106105b1576101008083540402835291602001916105dc565b820191906000526020600020905b8154815290600101906020018083116105bf57829003601f168201915b5050505050905082565b604080516002808252606080830184529260208301908036833701905050905090565b60006103c36040518060400160405280601081526020016f70726f66696c65325f6d656d6265723160801b815250610e88565b60006103c36040518060400160405280601081526020016f726563697069656e744164647265737360801b815250610e88565b60006103c3604051806040016040528060098152602001681c9958da5c1a595b9d60ba1b815250610e88565b60006103c36040518060400160405280600d81526020016c3837b7b62fb6b0b730b3b2b91960991b815250610e88565b604080516002808252606080830184529260009291906020830190803683370190505090506106f861045c565b8160008151811061070b5761070b61190e565b60200260200101906001600160a01b031690816001600160a01b0316815250506107336107fa565b816001815181106107465761074661190e565b6001600160a01b0390921660209283029190910190910152919050565b60006103c36040518060400160405280600c81526020016b1b9bd7dc9958da5c1a595b9d60a21b815250610e88565b604080516002808252606080830184529260009291906020830190803683370190505090506107bf610393565b816000815181106107d2576107d261190e565b60200260200101906001600160a01b031690816001600160a01b03168152505061073361069b565b60006103c36040518060400160405280601081526020016f383937b334b63298afb6b2b6b132b91960811b815250610e88565b60006103c36040518060400160405280600a81526020016930b63637afb7bbb732b960b11b815250610e88565b600061087c89898989898989604051806020016040528060008152508a610bc3565b9998505050505050505050565b60006103c36040518060400160405280600a8152602001693837b7b62fb0b236b4b760b11b815250610e88565b60006103c36040518060400160405280601081526020016f383937b334b632992fb6b2b6b132b91960811b815250610e88565b60408051600280825260608083018452926000929190602083019080368337019050509050610916610609565b816000815181106109295761092961190e565b60200260200101906001600160a01b031690816001600160a01b0316815250506107336108b6565b60006103c36040518060400160405280600a815260200169726563697069656e743160b01b815250610e88565b610986611151565b610997670de0a46bc207d800610e9a565b8151604001526109ae6702c68af0bb140000610e9a565b8151526109c166038d7ea4c68000610e9a565b815160209081019190915281516702c68af0bb1400006060909101526001600160a01b03871660a08301528101856002811115610a0057610a00611629565b90816002811115610a1357610a13611629565b90525060408101846003811115610a2c57610a2c611629565b90816003811115610a3f57610a3f611629565b9052508251600003610a6157610a5e670de0b6b3a764000060c861193a565b83525b6060810183905260808101829052604080516001808252818301909252906020808301908036833750505060e082018190528051600091908290610aa757610aa761190e565b60200260200101906001600160a01b031690816001600160a01b03168152505095945050505050565b60006103c36040518060400160405280601081526020016f3837b7b62fb737ba20a6b0b730b3b2b960811b815250610e88565b60006103c36040518060400160405280600e81526020016d383937b334b63298afb7bbb732b960911b815250610e88565b60006103c36040518060400160405280600b81526020016a1c985b991bdb4818da185960aa1b815250610e88565b60006103c36040518060400160405280600d81526020016c616c6c6f5f747265617375727960981b815250610e88565b60006103c36040518060400160405280600e81526020016d3932b3b4b9ba393cafb7bbb732b960911b815250610e88565b600080610bd3898787878761097e565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610c0d57610c0d61190e565b60200260200101906001600160a01b031690816001600160a01b0316815250503381600181518110610c4157610c4161190e565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90891615610c775750875b8c6001600160a01b031663e1007d4a610c988c610c92610889565b8661048f565b8e86604051602001610caa9190611663565b6040516020818303038152906040528560006009896040518863ffffffff1660e01b8152600401610ce19796959493929190611951565b6020604051808303816000875af1158015610d00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2491906118bb565b9350876002811115610d3857610d38611629565b8c6001600160a01b031663351d9f966040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9a9190611a61565b6002811115610dab57610dab611629565b14610db857610db8611a7e565b5050509998505050505050505050565b60008481610de6610de062989680608087901b611a94565b83610eb1565b905060806001607f1b610dfc8662989680611ab6565b610e0a84600160801b611ab6565b610e17629896808a61193a565b610e21919061193a565b610e2b9190611a94565b610e35898561193a565b610e3f9190611ac9565b610e499190611ac9565b901c979650505050505050565b60006103c360405180604001604052806013815260200172383937b334b632992fb737ba20a6b2b6b132b960691b8152505b6000610e9382610f5e565b5092915050565b6000610eab64174876e80083611a94565b92915050565b6000600160801b8310610f0a5760405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b60448201526064015b60405180910390fd5b50600160801b82825b8015610f565780600116600003610f3857610f2e8283611074565b915060011c610f13565b610f428383611074565b9250610f4f600182611ab6565b9050610f13565b505092915050565b60008082604051602001610f729190611adc565b60408051808303601f190181529082905280516020909101206001625e79b760e01b03198252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa158015610fdd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110019190611af8565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061103d9085908790600401611b15565b600060405180830381600087803b15801561105757600080fd5b505af115801561106b573d6000803e3d6000fd5b50505050915091565b6000600160801b8311156110db5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608401610f01565b600160801b821061112d5760405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401610f01565b60806001607f1b61113e848661193a565b6111489190611ac9565b901c9392505050565b6040518061010001604052806111886040518060800160405280600081526020016000815260200160008152602001600081525090565b815260200160008152602001600081526020016111b16040518060200160405280600081525090565b81526020016112016040518060c0016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081525090565b8152600060208201819052604082015260609081015290565b6001600160a01b03169052565b6001600160a01b038116811461123c57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561127d5761127d61123f565b604052919050565b60008060006060848603121561129a57600080fd5b83356112a581611227565b92506020848101356112b681611227565b925060408501356001600160401b03808211156112d257600080fd5b818701915087601f8301126112e657600080fd5b8135818111156112f8576112f861123f565b8060051b9150611309848301611255565b818152918301840191848101908a84111561132357600080fd5b938501935b8385101561134d578435925061133d83611227565b8282529385019390850190611328565b8096505050505050509250925092565b60005b83811015611378578181015183820152602001611360565b50506000910152565b6000815180845261139981602086016020860161135d565b601f01601f19169290920160200192915050565b8281526040602082015260006113c66040830184611381565b949350505050565b600081518084526020808501945080840160005b838110156114075781516001600160a01b0316875295820195908201906001016113e2565b509495945050505050565b60208152600061142560208301846113ce565b9392505050565b6003811061123c57600080fd5b80356004811061144857600080fd5b919050565b600060c0828403121561145f57600080fd5b60405160c081016001600160401b03811182821017156114815761148161123f565b604052905080823561149281611227565b815260208301356114a281611227565b8060208301525060408301356040820152606083013560608201526080830135608082015260a083013560a08201525092915050565b6000806000806000806000806101a0898b0312156114f557600080fd5b883561150081611227565b9750602089013561151081611227565b9650604089013561152081611227565b9550606089013561153081611227565b9450608089013561154081611227565b935060a08901356115508161142c565b925061155e60c08a01611439565b915061156d8a60e08b0161144d565b90509295985092959890939650565b60006020828403121561158e57600080fd5b604051602081016001600160401b03811182821017156115b0576115b061123f565b6040529135825250919050565b600080600080600061014086880312156115d657600080fd5b85356115e181611227565b945060208601356115f18161142c565b93506115ff60408701611439565b925061160e876060880161157c565b915061161d876080880161144d565b90509295509295909350565b634e487b7160e01b600052602160045260246000fd5b6003811061164f5761164f611629565b9052565b6004811061164f5761164f611629565b6020815260008251805160208401526020810151604084015260408101516060840152606081015160808401525060208301516116a360a084018261163f565b5060408301516116b660c0840182611653565b506060838101515160e084015260808085015180516001600160a01b0390811661010087015260208201511661012086015260408101516101408601529182015161016085015281015161018084015260a0908101516101a08401528301516117236101c084018261121a565b5060c08301516117376101e084018261121a565b5060e0830151610200838101526113c66102208401826113ce565b60008060008060008060008060006101c08a8c03121561177157600080fd5b893561177c81611227565b985060208a013561178c81611227565b975060408a013561179c81611227565b965060608a01356117ac81611227565b955060808a01356117bc81611227565b945060a08a01356117cc8161142c565b93506117da60c08b01611439565b92506117e98b60e08c0161157c565b91506117f98b6101008c0161144d565b90509295985092959850929598565b6000806000806080858703121561181e57600080fd5b5050823594602084013594506040840135936060013592509050565b84815260a06020820152600e60a08201526d506f6f6c2050726f66696c65203160901b60c082015260e06040820152835160e082015260006020850151604061010084015261188d610120840182611381565b6001600160a01b0386166060850152838103608085015290506118b081856113ce565b979650505050505050565b6000602082840312156118cd57600080fd5b5051919050565b600181811c908216806118e857607f821691505b60208210810361190857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610eab57610eab611924565b8781526000602060018060a01b03808a168285015260e0604085015261197a60e085018a611381565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c9050858216806119ba57607f821691505b87821081036119d757634e487b7160e01b84526022600452602484fd5b604086018290526060860195508080156119f85760018114611a0e57611a39565b60ff198416875282151560051b87019450611a39565b60008681526020902060005b84811015611a3357815489820152908901908a01611a1a565b88019550505b5050505086810360c0880152611a4f81896113ce565b9e9d5050505050505050505050505050565b600060208284031215611a7357600080fd5b81516114258161142c565b634e487b7160e01b600052600160045260246000fd5b600082611ab157634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610eab57610eab611924565b80820180821115610eab57610eab611924565b60008251611aee81846020870161135d565b9190910192915050565b600060208284031215611b0a57600080fd5b815161142581611227565b6001600160a01b03831681526040602082018190526000906113c69083018461138156fea2646970667358221220bcb3fc0b8f75329eb7d27d299b3595794734d53d75f437e79cd253477d8e33ed64736f6c63430008130033516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a44686132666a3547656536684a7a5359","sourceMap":"1014:1:134:-:0;914:5508;994:82;;;;914:5508;994:82;;;;;;;;;;;;;967:109;;;;;;;;;;;;;;;;:::i;:::-;;;;914:5508;;;;;;;;;;;;14:127:142;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:142;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:142;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:142;;;2580:26;2531:89;-1:-1:-1;;1335:1:142;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:142;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:142;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:142;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:142:o;:::-;914:5508:134;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101cc5760003560e01c8062b1fad7146101d1578063030e4006146101f65780630688b135146101fe5780630f166ad414610206578063174eedde1461020c5780631b96dce6146102135780631e7bcb2e1461021b5780632e0f26251461022357806337d1c40414610240578063392f37e9146102535780633f26479e146102695780634bf4ba2114610272578063587c1243146102875780635aff59991461028f57806366d003ac146102975780636a38dd0a1461029f57806370a32944146102a757806374d9284e1461020c578063759c9a86146102af57806379e62d0d146102b75780637b2edf32146102bf5780637cbe79ed146102c7578063829e423f1461020c57806385294f18146102cf5780638c7408c41461020c5780638e0d1a50146102e25780638e3c2493146102ea578063a0cf0aea146102f2578063a407c67a1461030d578063aa3744bd14610315578063c36e336b1461031d578063d1e82b581461033d578063d1f2cd8814610345578063d5bee9f51461034d578063da4bf08714610355578063dac4eb161461035d578063e070e0ab14610365578063e99ce91114610378578063ef0d790f1461038b575b600080fd5b6101d9610393565b6040516001600160a01b0390911681526020015b60405180910390f35b6101d96103c8565b6101d96103fe565b306101d9565b60006101d9565b6101d961042b565b6101d961045c565b610232670de0b6b3a764000081565b6040519081526020016101ed565b61023261024e366004611285565b61048f565b61025b61054f565b6040516101ed9291906113ad565b61023261271081565b61027a6105e6565b6040516101ed9190611412565b6101d9610609565b6101d961063c565b6101d961066f565b6101d961069b565b61027a6106cb565b6101d9610763565b61027a610792565b6101d96107fa565b6101d961082d565b6102326102dd3660046114d8565b61085a565b6101d9610889565b6101d96108b6565b6101d973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61027a6108e9565b6101d9610951565b61033061032b3660046115bd565b61097e565b6040516101ed9190611663565b6101d9610ad0565b6101d9610b03565b6101d9610b34565b6101d9610b62565b6101d9610b92565b610232610373366004611752565b610bc3565b610232610386366004611808565b610dc8565b6101d9610e56565b60006103c36040518060400160405280600d81526020016c706f6f6c5f6d616e616765723160981b815250610e88565b905090565b60006103c360405180604001604052806013815260200172383937b334b63298afb737ba20a6b2b6b132b960691b815250610e88565b60006103c36040518060400160405280600a8152602001693932b1b4b834b2b73a1960b11b815250610e88565b60006103c36040518060400160405280600e81526020016d383937b334b632992fb7bbb732b960911b815250610e88565b60006103c36040518060400160405280601081526020016f70726f66696c65315f6d656d6265723160801b815250610e88565b600b54600090610544576040805180820182526001815281518083018352600c81526b506f6f6c50726f66696c653160a01b6020828101919091528201529051633a92f65f60e01b81526001600160a01b03861691633a92f65f916104fd916002918890889060040161183a565b6020604051808303816000875af115801561051c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054091906118bb565b600b555b50600b549392505050565b60098054600a8054919291610563906118d4565b80601f016020809104026020016040519081016040528092919081815260200182805461058f906118d4565b80156105dc5780601f106105b1576101008083540402835291602001916105dc565b820191906000526020600020905b8154815290600101906020018083116105bf57829003601f168201915b5050505050905082565b604080516002808252606080830184529260208301908036833701905050905090565b60006103c36040518060400160405280601081526020016f70726f66696c65325f6d656d6265723160801b815250610e88565b60006103c36040518060400160405280601081526020016f726563697069656e744164647265737360801b815250610e88565b60006103c3604051806040016040528060098152602001681c9958da5c1a595b9d60ba1b815250610e88565b60006103c36040518060400160405280600d81526020016c3837b7b62fb6b0b730b3b2b91960991b815250610e88565b604080516002808252606080830184529260009291906020830190803683370190505090506106f861045c565b8160008151811061070b5761070b61190e565b60200260200101906001600160a01b031690816001600160a01b0316815250506107336107fa565b816001815181106107465761074661190e565b6001600160a01b0390921660209283029190910190910152919050565b60006103c36040518060400160405280600c81526020016b1b9bd7dc9958da5c1a595b9d60a21b815250610e88565b604080516002808252606080830184529260009291906020830190803683370190505090506107bf610393565b816000815181106107d2576107d261190e565b60200260200101906001600160a01b031690816001600160a01b03168152505061073361069b565b60006103c36040518060400160405280601081526020016f383937b334b63298afb6b2b6b132b91960811b815250610e88565b60006103c36040518060400160405280600a81526020016930b63637afb7bbb732b960b11b815250610e88565b600061087c89898989898989604051806020016040528060008152508a610bc3565b9998505050505050505050565b60006103c36040518060400160405280600a8152602001693837b7b62fb0b236b4b760b11b815250610e88565b60006103c36040518060400160405280601081526020016f383937b334b632992fb6b2b6b132b91960811b815250610e88565b60408051600280825260608083018452926000929190602083019080368337019050509050610916610609565b816000815181106109295761092961190e565b60200260200101906001600160a01b031690816001600160a01b0316815250506107336108b6565b60006103c36040518060400160405280600a815260200169726563697069656e743160b01b815250610e88565b610986611151565b610997670de0a46bc207d800610e9a565b8151604001526109ae6702c68af0bb140000610e9a565b8151526109c166038d7ea4c68000610e9a565b815160209081019190915281516702c68af0bb1400006060909101526001600160a01b03871660a08301528101856002811115610a0057610a00611629565b90816002811115610a1357610a13611629565b90525060408101846003811115610a2c57610a2c611629565b90816003811115610a3f57610a3f611629565b9052508251600003610a6157610a5e670de0b6b3a764000060c861193a565b83525b6060810183905260808101829052604080516001808252818301909252906020808301908036833750505060e082018190528051600091908290610aa757610aa761190e565b60200260200101906001600160a01b031690816001600160a01b03168152505095945050505050565b60006103c36040518060400160405280601081526020016f3837b7b62fb737ba20a6b0b730b3b2b960811b815250610e88565b60006103c36040518060400160405280600e81526020016d383937b334b63298afb7bbb732b960911b815250610e88565b60006103c36040518060400160405280600b81526020016a1c985b991bdb4818da185960aa1b815250610e88565b60006103c36040518060400160405280600d81526020016c616c6c6f5f747265617375727960981b815250610e88565b60006103c36040518060400160405280600e81526020016d3932b3b4b9ba393cafb7bbb732b960911b815250610e88565b600080610bd3898787878761097e565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610c0d57610c0d61190e565b60200260200101906001600160a01b031690816001600160a01b0316815250503381600181518110610c4157610c4161190e565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90891615610c775750875b8c6001600160a01b031663e1007d4a610c988c610c92610889565b8661048f565b8e86604051602001610caa9190611663565b6040516020818303038152906040528560006009896040518863ffffffff1660e01b8152600401610ce19796959493929190611951565b6020604051808303816000875af1158015610d00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2491906118bb565b9350876002811115610d3857610d38611629565b8c6001600160a01b031663351d9f966040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9a9190611a61565b6002811115610dab57610dab611629565b14610db857610db8611a7e565b5050509998505050505050505050565b60008481610de6610de062989680608087901b611a94565b83610eb1565b905060806001607f1b610dfc8662989680611ab6565b610e0a84600160801b611ab6565b610e17629896808a61193a565b610e21919061193a565b610e2b9190611a94565b610e35898561193a565b610e3f9190611ac9565b610e499190611ac9565b901c979650505050505050565b60006103c360405180604001604052806013815260200172383937b334b632992fb737ba20a6b2b6b132b960691b8152505b6000610e9382610f5e565b5092915050565b6000610eab64174876e80083611a94565b92915050565b6000600160801b8310610f0a5760405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b60448201526064015b60405180910390fd5b50600160801b82825b8015610f565780600116600003610f3857610f2e8283611074565b915060011c610f13565b610f428383611074565b9250610f4f600182611ab6565b9050610f13565b505092915050565b60008082604051602001610f729190611adc565b60408051808303601f190181529082905280516020909101206001625e79b760e01b03198252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa158015610fdd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110019190611af8565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061103d9085908790600401611b15565b600060405180830381600087803b15801561105757600080fd5b505af115801561106b573d6000803e3d6000fd5b50505050915091565b6000600160801b8311156110db5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608401610f01565b600160801b821061112d5760405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401610f01565b60806001607f1b61113e848661193a565b6111489190611ac9565b901c9392505050565b6040518061010001604052806111886040518060800160405280600081526020016000815260200160008152602001600081525090565b815260200160008152602001600081526020016111b16040518060200160405280600081525090565b81526020016112016040518060c0016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081525090565b8152600060208201819052604082015260609081015290565b6001600160a01b03169052565b6001600160a01b038116811461123c57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561127d5761127d61123f565b604052919050565b60008060006060848603121561129a57600080fd5b83356112a581611227565b92506020848101356112b681611227565b925060408501356001600160401b03808211156112d257600080fd5b818701915087601f8301126112e657600080fd5b8135818111156112f8576112f861123f565b8060051b9150611309848301611255565b818152918301840191848101908a84111561132357600080fd5b938501935b8385101561134d578435925061133d83611227565b8282529385019390850190611328565b8096505050505050509250925092565b60005b83811015611378578181015183820152602001611360565b50506000910152565b6000815180845261139981602086016020860161135d565b601f01601f19169290920160200192915050565b8281526040602082015260006113c66040830184611381565b949350505050565b600081518084526020808501945080840160005b838110156114075781516001600160a01b0316875295820195908201906001016113e2565b509495945050505050565b60208152600061142560208301846113ce565b9392505050565b6003811061123c57600080fd5b80356004811061144857600080fd5b919050565b600060c0828403121561145f57600080fd5b60405160c081016001600160401b03811182821017156114815761148161123f565b604052905080823561149281611227565b815260208301356114a281611227565b8060208301525060408301356040820152606083013560608201526080830135608082015260a083013560a08201525092915050565b6000806000806000806000806101a0898b0312156114f557600080fd5b883561150081611227565b9750602089013561151081611227565b9650604089013561152081611227565b9550606089013561153081611227565b9450608089013561154081611227565b935060a08901356115508161142c565b925061155e60c08a01611439565b915061156d8a60e08b0161144d565b90509295985092959890939650565b60006020828403121561158e57600080fd5b604051602081016001600160401b03811182821017156115b0576115b061123f565b6040529135825250919050565b600080600080600061014086880312156115d657600080fd5b85356115e181611227565b945060208601356115f18161142c565b93506115ff60408701611439565b925061160e876060880161157c565b915061161d876080880161144d565b90509295509295909350565b634e487b7160e01b600052602160045260246000fd5b6003811061164f5761164f611629565b9052565b6004811061164f5761164f611629565b6020815260008251805160208401526020810151604084015260408101516060840152606081015160808401525060208301516116a360a084018261163f565b5060408301516116b660c0840182611653565b506060838101515160e084015260808085015180516001600160a01b0390811661010087015260208201511661012086015260408101516101408601529182015161016085015281015161018084015260a0908101516101a08401528301516117236101c084018261121a565b5060c08301516117376101e084018261121a565b5060e0830151610200838101526113c66102208401826113ce565b60008060008060008060008060006101c08a8c03121561177157600080fd5b893561177c81611227565b985060208a013561178c81611227565b975060408a013561179c81611227565b965060608a01356117ac81611227565b955060808a01356117bc81611227565b945060a08a01356117cc8161142c565b93506117da60c08b01611439565b92506117e98b60e08c0161157c565b91506117f98b6101008c0161144d565b90509295985092959850929598565b6000806000806080858703121561181e57600080fd5b5050823594602084013594506040840135936060013592509050565b84815260a06020820152600e60a08201526d506f6f6c2050726f66696c65203160901b60c082015260e06040820152835160e082015260006020850151604061010084015261188d610120840182611381565b6001600160a01b0386166060850152838103608085015290506118b081856113ce565b979650505050505050565b6000602082840312156118cd57600080fd5b5051919050565b600181811c908216806118e857607f821691505b60208210810361190857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610eab57610eab611924565b8781526000602060018060a01b03808a168285015260e0604085015261197a60e085018a611381565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c9050858216806119ba57607f821691505b87821081036119d757634e487b7160e01b84526022600452602484fd5b604086018290526060860195508080156119f85760018114611a0e57611a39565b60ff198416875282151560051b87019450611a39565b60008681526020902060005b84811015611a3357815489820152908901908a01611a1a565b88019550505b5050505086810360c0880152611a4f81896113ce565b9e9d5050505050505050505050505050565b600060208284031215611a7357600080fd5b81516114258161142c565b634e487b7160e01b600052600160045260246000fd5b600082611ab157634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610eab57610eab611924565b80820180821115610eab57610eab611924565b60008251611aee81846020870161135d565b9190910192915050565b600060208284031215611b0a57600080fd5b815161142581611227565b6001600160a01b03831681526040602082018190526000906113c69083018461138156fea2646970667358221220bcb3fc0b8f75329eb7d27d299b3595794734d53d75f437e79cd253477d8e33ed64736f6c63430008130033","sourceMap":"914:5508:134:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:15;;;:::i;:::-;;;-1:-1:-1;;;;;287:32:142;;;269:51;;257:2;242:18;1763:107:15;;;;;;;;2429:119;;;:::i;4045:101::-;;;:::i;226:92::-;306:4;226:92;;905:138;968:7;905:138;;3126:109;;;:::i;2554:113::-;;;:::i;1105:43:134:-;;1140:8;1105:43;;;;;477:25:142;;;465:2;450:18;1105:43:134;331:177:142;1503:437:134;;;;;;:::i;:::-;;:::i;967:109::-;;;:::i;:::-;;;;;;;;:::i;1154:50::-;;1197:7;1154:50;;1331:118:15;;;:::i;:::-;;;;;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;4152:99::-;;;:::i;1876:107::-;;;:::i;2792:241::-;;;:::i;4376:105::-;;;:::i;1989:232::-;;;:::i;2673:113::-;;;:::i;439:101::-;;;:::i;4608:578:134:-;;;;;;:::i;:::-;;:::i;1537:101:15:-;;;:::i;3485:113::-;;;:::i;4412:75:9:-;;4445:42;4412:75;;3604:241:15;;;:::i;3938:101::-;;;:::i;1946:1182:134:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1644:113:15:-;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;546:124::-;;;:::i;324:109::-;;;:::i;3134:1468:134:-;;;;;;:::i;:::-;;:::i;6040:380::-;;;;;;:::i;:::-;;:::i;3241:119:15:-;;;:::i;1763:107::-;1812:7;1838:25;;;;;;;;;;;;;;-1:-1:-1;;;1838:25:15;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;-1:-1:-1;;;2510:31:15;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;-1:-1:-1;;;4117:22:15;;;:8;:22::i;3126:109::-;3176:7;3202:26;;;;;;;;;;;;;;-1:-1:-1;;;3202:26:15;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;-1:-1:-1;;;2632:28:15;;;:8;:28::i;1503:437:134:-;1675:16;;1648:7;;1671:230;;1801:48;;;;;;;;1821:1;1801:48;;;;;;;;;;;;-1:-1:-1;;;1801:48:134;;;;;;;;;;;1740:150;;-1:-1:-1;;;1740:150:134;;-1:-1:-1;;;;;1740:22:134;;;;;:150;;1780:1;;1851:10;;1863:13;;1740:150;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1721:16;:169;1671:230;-1:-1:-1;1917:16:134;;1503:437;;;;;:::o;967:109::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1331:118:15:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:15;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;-1:-1:-1;;;3444:28:15;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;-1:-1:-1;;;4335:28:15;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;-1:-1:-1;;;4223:21:15;;;:8;:21::i;1876:107::-;1925:7;1951:25;;;;;;;;;;;;;;-1:-1:-1;;;1951:25:15;;;:8;:25::i;2792:241::-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:15;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:15;;;-1:-1:-1;;;;;2926:32:15;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:15;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:15:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;-1:-1:-1;;;4450:24:15;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:15;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:15;;;-1:-1:-1;;;;;2120:29:15;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;-1:-1:-1;;;2751:28:15;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;-1:-1:-1;;;511:22:15;;;:8;:22::i;4608:578:134:-;4899:14;4932:247;4956:4;4974:8;4996:17;5027:8;5049:5;5068:12;5094:11;5119:20;;;;;;;;5137:1;5119:20;;;5153:16;4932:10;:247::i;:::-;4925:254;4608:578;-1:-1:-1;;;;;;;;;4608:578:134:o;1537:101:15:-;1583:7;1609:22;;;;;;;;;;;;;;-1:-1:-1;;;1609:22:15;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;-1:-1:-1;;;3563:28:15;;;:8;:28::i;3604:241::-;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:15;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:15;;;-1:-1:-1;;;;;3738:32:15;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;-1:-1:-1;;;4010:22:15;;;:8;:22::i;1946:1182:134:-;2191:44;;:::i;:::-;2322:30;2336:15;2322:13;:30::i;:::-;2298:15;;:21;;:54;2406:24;2420:9;2406:13;:24::i;:::-;2379:15;;:51;2484:26;2498:11;2484:13;:26::i;:::-;2459:15;;:22;;;;:51;;;;2541:15;;2578:9;2541:34;;;;:46;-1:-1:-1;;;;;2604:44:134;;:24;;;:44;2658:19;;2680:12;2658:34;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2702:18:134;;;2723:11;2702:32;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2749:21:134;;;:26;2745:182;;2902:14;1140:8;2902:3;:14;:::i;:::-;2878:38;;2745:182;2936:18;;;:32;;;2978:23;;;:42;;;3056:16;;;3070:1;3056:16;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3030:23:134;;;:42;;;3082:26;;3119:1;;3030:42;3119:1;;3082:26;;;;:::i;:::-;;;;;;:39;-1:-1:-1;;;;;3082:39:134;;;-1:-1:-1;;;;;3082:39:134;;;;;1946:1182;;;;;;;:::o;1644:113:15:-;1696:7;1722:28;;;;;;;;;;;;;;-1:-1:-1;;;1722:28:15;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;-1:-1:-1;;;2390:26:15;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;-1:-1:-1;;;4646:23:15;;;:8;:23::i;546:124::-;595:15;637:25;;;;;;;;;;;;;;-1:-1:-1;;;637:25:15;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;-1:-1:-1;;;400:26:15;;;:8;:26::i;3134:1468:134:-;3471:14;3548:44;3607:86;3617:17;3636:12;3650:11;3663;3676:16;3607:9;:86::i;:::-;3738:16;;;3752:1;3738:16;;;;;;;;3548:145;;-1:-1:-1;3704:31:134;;3738:16;;;;;;;;;;;;-1:-1:-1;3738:16:134;3704:50;;3792:4;3764:14;3779:1;3764:17;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;3764:33:134;;;-1:-1:-1;;;;;3764:33:134;;;;;3835:10;3807:14;3822:1;3807:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3807:39:134;;;:17;;;;;;;;;:39;4445:42:9;;4133:19:134;;;4129:64;;-1:-1:-1;4177:5:134;4129:64;4211:4;-1:-1:-1;;;;;4211:33:134;;4299:55;4315:8;4325:12;:10;:12::i;:::-;4339:14;4299:15;:55::i;:::-;4376:8;4410:6;4399:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;4431:6;4451:1;4466:8;4488:14;4211:301;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4202:310;;4582:12;4530:64;;;;;;;;:::i;:::-;4553:8;-1:-1:-1;;;;;4530:46:134;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:64;;;;;;;;:::i;:::-;;4523:72;;;;:::i;:::-;3487:1115;;;3134:1468;;;;;;;;;;;:::o;6040:380::-;6190:7;6225:11;6190:7;6266:27;6271:18;1381:7;6281:3;6272:12;;;6271:18;:::i;:::-;6291:1;6266:4;:27::i;:::-;6246:47;-1:-1:-1;6410:3:134;-1:-1:-1;;;6383:9:134;6387:5;1381:7;6383:9;:::i;:::-;6358:19;6368:9;-1:-1:-1;;;6358:19:134;:::i;:::-;6340:14;1381:7;6340:10;:14;:::i;:::-;:38;;;;:::i;:::-;6339:54;;;;:::i;:::-;6313:21;6325:9;6313;:21;:::i;:::-;6312:82;;;;:::i;:::-;6311:94;;;;:::i;:::-;6310:103;;;6040:380;-1:-1:-1;;;;;;;6040:380:134:o;3241:119:15:-;3296:7;3322:31;;;;;;;;;;;;;;-1:-1:-1;;;3322:31:15;;;20439:125:23;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:23;20439:125;-1:-1:-1;;20439:125:23:o;5192:114:134:-;5255:7;5281:18;5291:8;5281:7;:18;:::i;:::-;5274:25;5192:114;-1:-1:-1;;5192:114:134:o;5587:447::-;5648:15;-1:-1:-1;;;5683:2:134;:12;5675:53;;;;-1:-1:-1;;;5675:53:134;;18530:2:142;5675:53:134;;;18512:21:142;18569:2;18549:18;;;18542:30;-1:-1:-1;;;18588:18:142;;;18581:58;18656:18;;5675:53:134;;;;;;;;;-1:-1:-1;;;;5750:2:134;5774;5813:215;5820:5;;5813:215;;5845:1;5849;5845:5;5854:1;5845:10;5841:177;;5879:10;5884:1;5887;5879:4;:10::i;:::-;5875:14;-1:-1:-1;5913:1:134;5907:7;5813:215;;5841:177;5963:16;5968:7;5977:1;5963:4;:16::i;:::-;5953:26;-1:-1:-1;5997:6:134;6002:1;5997:6;;:::i;:::-;;;5813:215;;;5665:369;;5587:447;;;;:::o;20158:242:23:-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:23;;;;;;;20293:33;;20303:22;20293:33;;;;-1:-1:-1;;;;;;20344:19:23;;;;;477:25:142;;;20293:33:23;-1:-1:-1;20344:7:23;;;;450:18:142;;20344:19:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:23;;20337:26;;-1:-1:-1;20373:8:23;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;5312:269:134:-;5373:15;-1:-1:-1;;;5408:2:134;:13;;5400:66;;;;-1:-1:-1;;;5400:66:134;;19770:2:142;5400:66:134;;;19752:21:142;19809:2;19789:18;;;19782:30;19848:34;19828:18;;;19821:62;-1:-1:-1;;;19899:18:142;;;19892:38;19947:19;;5400:66:134;19568:404:142;5400:66:134;-1:-1:-1;;;5484:2:134;:12;5476:53;;;;-1:-1:-1;;;5476:53:134;;20179:2:142;5476:53:134;;;20161:21:142;20218:2;20198:18;;;20191:30;-1:-1:-1;;;20237:18:142;;;20230:58;20305:18;;5476:53:134;19977:352:142;5476:53:134;5571:3;-1:-1:-1;;;5548:7:134;5553:2;5548;:7;:::i;:::-;5547:19;;;;:::i;:::-;5546:28;;;5312:269;-1:-1:-1;;;5312:269:134:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:104:142:-;-1:-1:-1;;;;;80:31:142;68:44;;14:104::o;513:142::-;-1:-1:-1;;;;;599:31:142;;589:42;;579:70;;645:1;642;635:12;579:70;513:142;:::o;660:127::-;721:10;716:3;712:20;709:1;702:31;752:4;749:1;742:15;776:4;773:1;766:15;792:275;863:2;857:9;928:2;909:13;;-1:-1:-1;;905:27:142;893:40;;-1:-1:-1;;;;;948:34:142;;984:22;;;945:62;942:88;;;1010:18;;:::i;:::-;1046:2;1039:22;792:275;;-1:-1:-1;792:275:142:o;1072:1354::-;1192:6;1200;1208;1261:2;1249:9;1240:7;1236:23;1232:32;1229:52;;;1277:1;1274;1267:12;1229:52;1316:9;1303:23;1335:42;1371:5;1335:42;:::i;:::-;1396:5;-1:-1:-1;1420:2:142;1459:18;;;1446:32;1487:44;1446:32;1487:44;:::i;:::-;1550:7;-1:-1:-1;1608:2:142;1593:18;;1580:32;-1:-1:-1;;;;;1661:14:142;;;1658:34;;;1688:1;1685;1678:12;1658:34;1726:6;1715:9;1711:22;1701:32;;1771:7;1764:4;1760:2;1756:13;1752:27;1742:55;;1793:1;1790;1783:12;1742:55;1829:2;1816:16;1851:2;1847;1844:10;1841:36;;;1857:18;;:::i;:::-;1903:2;1900:1;1896:10;1886:20;;1926:28;1950:2;1946;1942:11;1926:28;:::i;:::-;1988:15;;;2058:11;;;2054:20;;;2019:12;;;;2086:19;;;2083:39;;;2118:1;2115;2108:12;2083:39;2142:11;;;;2162:234;2178:6;2173:3;2170:15;2162:234;;;2260:3;2247:17;2232:32;;2277:44;2313:7;2277:44;:::i;:::-;2334:20;;;2195:12;;;;2374;;;;2162:234;;;2415:5;2405:15;;;;;;;;1072:1354;;;;;:::o;2768:250::-;2853:1;2863:113;2877:6;2874:1;2871:13;2863:113;;;2953:11;;;2947:18;2934:11;;;2927:39;2899:2;2892:10;2863:113;;;-1:-1:-1;;3010:1:142;2992:16;;2985:27;2768:250::o;3023:271::-;3065:3;3103:5;3097:12;3130:6;3125:3;3118:19;3146:76;3215:6;3208:4;3203:3;3199:14;3192:4;3185:5;3181:16;3146:76;:::i;:::-;3276:2;3255:15;-1:-1:-1;;3251:29:142;3242:39;;;;3283:4;3238:50;;3023:271;-1:-1:-1;;3023:271:142:o;3299:291::-;3476:6;3465:9;3458:25;3519:2;3514;3503:9;3499:18;3492:30;3439:4;3539:45;3580:2;3569:9;3565:18;3557:6;3539:45;:::i;:::-;3531:53;3299:291;-1:-1:-1;;;;3299:291:142:o;3595:461::-;3648:3;3686:5;3680:12;3713:6;3708:3;3701:19;3739:4;3768:2;3763:3;3759:12;3752:19;;3805:2;3798:5;3794:14;3826:1;3836:195;3850:6;3847:1;3844:13;3836:195;;;3915:13;;-1:-1:-1;;;;;3911:39:142;3899:52;;3971:12;;;;4006:15;;;;3947:1;3865:9;3836:195;;;-1:-1:-1;4047:3:142;;3595:461;-1:-1:-1;;;;;3595:461:142:o;4061:261::-;4240:2;4229:9;4222:21;4203:4;4260:56;4312:2;4301:9;4297:18;4289:6;4260:56;:::i;:::-;4252:64;4061:261;-1:-1:-1;;;4061:261:142:o;4327:111::-;4412:1;4405:5;4402:12;4392:40;;4428:1;4425;4418:12;4443:152;4520:20;;4569:1;4559:12;;4549:40;;4585:1;4582;4575:12;4549:40;4443:152;;;:::o;4600:917::-;4663:5;4711:4;4699:9;4694:3;4690:19;4686:30;4683:50;;;4729:1;4726;4719:12;4683:50;4762:2;4756:9;4804:4;4792:17;;-1:-1:-1;;;;;4824:34:142;;4860:22;;;4821:62;4818:88;;;4886:18;;:::i;:::-;4922:2;4915:22;4955:6;-1:-1:-1;4955:6:142;4985:23;;5017:44;4985:23;5017:44;:::i;:::-;5070:23;;5145:2;5130:18;;5117:32;5158:44;5117:32;5158:44;:::i;:::-;5235:7;5230:2;5222:6;5218:15;5211:32;;5304:2;5293:9;5289:18;5276:32;5271:2;5263:6;5259:15;5252:57;5370:2;5359:9;5355:18;5342:32;5337:2;5329:6;5325:15;5318:57;5437:3;5426:9;5422:19;5409:33;5403:3;5395:6;5391:16;5384:59;5505:3;5494:9;5490:19;5477:33;5471:3;5463:6;5459:16;5452:59;;4600:917;;;;:::o;5522:1305::-;5745:6;5753;5761;5769;5777;5785;5793;5801;5854:3;5842:9;5833:7;5829:23;5825:33;5822:53;;;5871:1;5868;5861:12;5822:53;5910:9;5897:23;5929:42;5965:5;5929:42;:::i;:::-;5990:5;-1:-1:-1;6047:2:142;6032:18;;6019:32;6060:44;6019:32;6060:44;:::i;:::-;6123:7;-1:-1:-1;6182:2:142;6167:18;;6154:32;6195:44;6154:32;6195:44;:::i;:::-;6258:7;-1:-1:-1;6317:2:142;6302:18;;6289:32;6330:44;6289:32;6330:44;:::i;:::-;6393:7;-1:-1:-1;6452:3:142;6437:19;;6424:33;6466:44;6424:33;6466:44;:::i;:::-;6529:7;-1:-1:-1;6588:3:142;6573:19;;6560:33;6602:43;6560:33;6602:43;:::i;:::-;6664:7;-1:-1:-1;6690:48:142;6733:3;6718:19;;6690:48;:::i;:::-;6680:58;;6757:64;6813:7;6807:3;6796:9;6792:19;6757:64;:::i;:::-;6747:74;;5522:1305;;;;;;;;;;;:::o;6832:416::-;6896:5;6944:4;6932:9;6927:3;6923:19;6919:30;6916:50;;;6962:1;6959;6952:12;6916:50;6995:2;6989:9;7037:4;7025:17;;-1:-1:-1;;;;;7057:34:142;;7093:22;;;7054:62;7051:88;;;7119:18;;:::i;:::-;7155:2;7148:22;7218:23;;7203:39;;-1:-1:-1;7188:6:142;6832:416;-1:-1:-1;6832:416:142:o;7253:799::-;7454:6;7462;7470;7478;7486;7539:3;7527:9;7518:7;7514:23;7510:33;7507:53;;;7556:1;7553;7546:12;7507:53;7595:9;7582:23;7614:42;7650:5;7614:42;:::i;:::-;7675:5;-1:-1:-1;7732:2:142;7717:18;;7704:32;7745:43;7704:32;7745:43;:::i;:::-;7807:7;-1:-1:-1;7833:47:142;7876:2;7861:18;;7833:47;:::i;:::-;7823:57;;7899:64;7955:7;7950:2;7939:9;7935:18;7899:64;:::i;:::-;7889:74;;7982:64;8038:7;8032:3;8021:9;8017:19;7982:64;:::i;:::-;7972:74;;7253:799;;;;;;;;:::o;8057:127::-;8118:10;8113:3;8109:20;8106:1;8099:31;8149:4;8146:1;8139:15;8173:4;8170:1;8163:15;8189:143;8273:1;8266:5;8263:12;8253:46;;8279:18;;:::i;:::-;8308;;8189:143::o;8337:142::-;8420:1;8413:5;8410:12;8400:46;;8426:18;;:::i;9498:1444::-;9725:2;9714:9;9707:21;9688:4;9753:6;9747:13;9802:2;9796:9;9791:2;9780:9;9776:18;9769:37;9856:2;9852;9848:11;9842:18;9837:2;9826:9;9822:18;9815:46;9911:2;9907;9903:11;9897:18;9892:2;9881:9;9877:18;9870:46;9967:2;9963;9959:11;9953:18;9947:3;9936:9;9932:19;9925:47;;10019:2;10011:6;10007:15;10001:22;10032:63;10090:3;10079:9;10075:19;10061:12;10032:63;:::i;:::-;;10144:2;10136:6;10132:15;10126:22;10157:64;10216:3;10205:9;10201:19;10185:14;10157:64;:::i;:::-;-1:-1:-1;10270:2:142;10258:15;;;10252:22;8559:12;10350:3;10335:19;;8547:25;10404:3;10392:16;;;10386:23;8703:12;;-1:-1:-1;;;;;8699:21:142;;;10484:3;10469:19;;8687:34;8774:4;8763:16;;8757:23;8753:32;8737:14;;;8730:56;8835:4;8824:16;;8818:23;8802:14;;;8795:47;8880:16;;;8874:23;8858:14;;;8851:47;8936:16;;8930:23;8914:14;;;8907:47;8667:3;8992:16;;;8986:23;8970:14;;;8963:47;10526:16;;10520:23;10552:55;10602:3;10587:19;;10520:23;10552:55;:::i;:::-;;10656:3;10648:6;10644:16;10638:23;10670:55;10720:3;10709:9;10705:19;10689:14;10670:55;:::i;:::-;-1:-1:-1;10774:3:142;10762:16;;10756:23;10798:6;10820:18;;;10813:30;10860:76;10931:3;10916:19;;10756:23;10860:76;:::i;11171:1442::-;11439:6;11447;11455;11463;11471;11479;11487;11495;11503;11556:3;11544:9;11535:7;11531:23;11527:33;11524:53;;;11573:1;11570;11563:12;11524:53;11612:9;11599:23;11631:42;11667:5;11631:42;:::i;:::-;11692:5;-1:-1:-1;11749:2:142;11734:18;;11721:32;11762:44;11721:32;11762:44;:::i;:::-;11825:7;-1:-1:-1;11884:2:142;11869:18;;11856:32;11897:44;11856:32;11897:44;:::i;:::-;11960:7;-1:-1:-1;12019:2:142;12004:18;;11991:32;12032:44;11991:32;12032:44;:::i;:::-;12095:7;-1:-1:-1;12154:3:142;12139:19;;12126:33;12168:44;12126:33;12168:44;:::i;:::-;12231:7;-1:-1:-1;12290:3:142;12275:19;;12262:33;12304:43;12262:33;12304:43;:::i;:::-;12366:7;-1:-1:-1;12392:48:142;12435:3;12420:19;;12392:48;:::i;:::-;12382:58;;12459:65;12516:7;12510:3;12499:9;12495:19;12459:65;:::i;:::-;12449:75;;12543:64;12599:7;12593:3;12582:9;12578:19;12543:64;:::i;:::-;12533:74;;11171:1442;;;;;;;;;;;:::o;12618:385::-;12704:6;12712;12720;12728;12781:3;12769:9;12760:7;12756:23;12752:33;12749:53;;;12798:1;12795;12788:12;12749:53;-1:-1:-1;;12821:23:142;;;12891:2;12876:18;;12863:32;;-1:-1:-1;12942:2:142;12927:18;;12914:32;;12993:2;12978:18;12965:32;;-1:-1:-1;12618:385:142;-1:-1:-1;12618:385:142:o;13008:1009::-;13432:6;13421:9;13414:25;13475:3;13470:2;13459:9;13455:18;13448:31;13516:2;13510:3;13499:9;13495:19;13488:31;-1:-1:-1;;;13550:3:142;13539:9;13535:19;13528:45;13609:3;13604:2;13593:9;13589:18;13582:31;13656:6;13650:13;13644:3;13633:9;13629:19;13622:42;13395:4;13711:2;13703:6;13699:15;13693:22;13752:2;13746:3;13735:9;13731:19;13724:31;13775:52;13822:3;13811:9;13807:19;13793:12;13775:52;:::i;:::-;-1:-1:-1;;;;;13863:32:142;;13858:2;13843:18;;13836:60;13933:19;;;13927:3;13912:19;;13905:48;13764:63;-1:-1:-1;13970:41:142;13764:63;13999:6;13970:41;:::i;:::-;13962:49;13008:1009;-1:-1:-1;;;;;;;13008:1009:142:o;14022:184::-;14092:6;14145:2;14133:9;14124:7;14120:23;14116:32;14113:52;;;14161:1;14158;14151:12;14113:52;-1:-1:-1;14184:16:142;;14022:184;-1:-1:-1;14022:184:142:o;14211:380::-;14290:1;14286:12;;;;14333;;;14354:61;;14408:4;14400:6;14396:17;14386:27;;14354:61;14461:2;14453:6;14450:14;14430:18;14427:38;14424:161;;14507:10;14502:3;14498:20;14495:1;14488:31;14542:4;14539:1;14532:15;14570:4;14567:1;14560:15;14424:161;;14211:380;;;:::o;14596:127::-;14657:10;14652:3;14648:20;14645:1;14638:31;14688:4;14685:1;14678:15;14712:4;14709:1;14702:15;14728:127;14789:10;14784:3;14780:20;14777:1;14770:31;14820:4;14817:1;14810:15;14844:4;14841:1;14834:15;14860:168;14933:9;;;14964;;14981:15;;;14975:22;;14961:37;14951:71;;15002:18;;:::i;15159:2074::-;15581:6;15570:9;15563:25;15544:4;15607:2;15645:1;15641;15636:3;15632:11;15628:19;15695:2;15687:6;15683:15;15678:2;15667:9;15663:18;15656:43;15735:3;15730:2;15719:9;15715:18;15708:31;15762:46;15803:3;15792:9;15788:19;15780:6;15762:46;:::i;:::-;15856:2;15848:6;15844:15;15839:2;15828:9;15824:18;15817:43;15897:6;15891:3;15880:9;15876:19;15869:35;15953:9;15945:6;15941:22;15935:3;15924:9;15920:19;15913:51;15994:6;15988:13;15980:6;15973:29;16021:4;16011:14;;16066:2;16058:6;16054:15;16102:2;16097;16089:6;16085:15;16078:27;16125:1;16158:12;16152:19;16194:3;16224:9;16220:2;16216:18;16206:28;;16284:2;16273:9;16269:18;16306;16296:61;;16350:4;16342:6;16338:17;16328:27;;16296:61;16403:2;16395:6;16392:14;16372:18;16369:38;16366:165;;-1:-1:-1;;;16430:33:142;;16486:4;16483:1;16476:15;16516:4;16437:3;16504:17;16366:165;16599:2;16587:15;;2700:19;;;2743:14;;;16540:71;-1:-1:-1;16627:18:142;16654:128;;;;16796:1;16791:321;;;;16620:492;;16654:128;-1:-1:-1;;16687:24:142;;16675:37;;16755:14;;16748:22;16745:1;16741:30;16732:40;;;-1:-1:-1;16654:128:142;;16791:321;15106:1;15099:14;;;15143:4;15130:18;;16892:1;16906:165;16920:6;16917:1;16914:13;16906:165;;;16998:14;;16985:11;;;16978:35;17041:16;;;;16935:10;;16906:165;;;17091:11;;;-1:-1:-1;;16620:492:142;;;;;17158:9;17153:3;17149:19;17143:3;17132:9;17128:19;17121:48;17186:41;17223:3;17215:6;17186:41;:::i;:::-;17178:49;15159:2074;-1:-1:-1;;;;;;;;;;;;;;15159:2074:142:o;17427:279::-;17515:6;17568:2;17556:9;17547:7;17543:23;17539:32;17536:52;;;17584:1;17581;17574:12;17536:52;17616:9;17610:16;17635:41;17670:5;17635:41;:::i;17711:127::-;17772:10;17767:3;17763:20;17760:1;17753:31;17803:4;17800:1;17793:15;17827:4;17824:1;17817:15;17843:217;17883:1;17909;17899:132;;17953:10;17948:3;17944:20;17941:1;17934:31;17988:4;17985:1;17978:15;18016:4;18013:1;18006:15;17899:132;-1:-1:-1;18045:9:142;;17843:217::o;18065:128::-;18132:9;;;18153:11;;;18150:37;;;18167:18;;:::i;18198:125::-;18263:9;;;18284:10;;;18281:36;;;18297:18;;:::i;18685:289::-;18816:3;18854:6;18848:13;18870:66;18929:6;18924:3;18917:4;18909:6;18905:17;18870:66;:::i;:::-;18952:16;;;;;18685:289;-1:-1:-1;;18685:289:142:o;18979:262::-;19049:6;19102:2;19090:9;19081:7;19077:23;19073:32;19070:52;;;19118:1;19115;19108:12;19070:52;19150:9;19144:16;19169:42;19205:5;19169:42;:::i;19246:317::-;-1:-1:-1;;;;;19423:32:142;;19405:51;;19492:2;19487;19472:18;;19465:30;;;-1:-1:-1;;19512:45:142;;19538:18;;19530:6;19512:45;:::i","linkReferences":{}},"methodIdentifiers":{"DECIMALS()":"2e0f2625","NATIVE()":"a0cf0aea","PERCENTAGE_SCALE()":"3f26479e","_calculateConviction(uint256,uint256,uint256,uint256)":"e99ce911","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","createPool(address,address,address,address,address,uint8,uint8,(address,address,uint256,uint256,uint256,uint256))":"85294f18","createPool(address,address,address,address,address,uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256))":"e070e0ab","getParams(address,uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256))":"c36e336b","local()":"0f166ad4","metadata()":"392f37e9","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_id1(address,address,address[])":"37d1c404","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry_owner()":"dac4eb16"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DECIMALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERCENTAGE_SCALE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"enum ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"getParams\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"initialAllowlist\",\"type\":\"address[]\"}],\"internalType\":\"struct CVStrategyInitializeParamsV0_1\",\"name\":\"params\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"pool_admin\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"pool_managers\",\"type\":\"address[]\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/CVStrategyHelpers.sol\":\"CVStrategyHelpers\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293\",\"dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0xc3aed28a3fec8dcc2e95c8569aa2c4323897a1685c63746822956fe995eddf28\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c4126fea7a0d30c76aab94605930ed01c7e53df2f4a7bba4773c097904d5eb39\",\"dweb:/ipfs/QmNsDu9G5JKCXdTs1HmEyVcR3S4DhuiZRt2bEPVNYGckgw\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol\":{\"keccak256\":\"0x7ac113b4d9b37166aa2453c1bdbb04db3aa4a2e8445b947b36034a59ea2d7290\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://74a5dfd911f0579d4c2cf49669e0b1e06c88f3764cca83cf95579c4db671de40\",\"dweb:/ipfs/QmQm2LGi4KLV7yPY3sMbD44n7crAuGQwp6fJ8a8C5WQBYa\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x6b05f27573e30362ec808b4d79f8156550a8dd5090b107b46928ab8d87be3c87\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://134753f1a9a463e4193ffa2b2f6e32813b7a3d7603ddacaedf0f65a6a72c864a\",\"dweb:/ipfs/QmZnQa6a3aFUvxdT1yaj72DBQUShfq5okHshhHwGv85Mdq\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol\":{\"keccak256\":\"0x30e941996ee5d85123b7287e4c56fb642644624fcd7bd54ec5cc6d9c35929659\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d05002caba8d60e778bd4e27da3f3e93e8ecc33814902e8bad2b3d1eb65027b0\",\"dweb:/ipfs/QmZYjLmM48816YfFPXNxf3XwjJ3DLQ58mSPP8hRDBAnNtQ\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]},\"pkg/contracts/test/CVStrategyHelpers.sol\":{\"keccak256\":\"0x082384255b863be3fb26aec66adb19083a3b8f93007e74c0af8bf8bd7fa5d15d\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://7f72b03dac8a4121cd3fa5b2bb6d02582490727c77a07d991cd0318e1238a74e\",\"dweb:/ipfs/QmWstkXhdxh8JJfy5NmwsZZiDmHkc4saJHkeDsiSMxeYgw\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"DECIMALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PERCENTAGE_SCALE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"}],"stateMutability":"pure","type":"function","name":"_calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"enum ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"enum ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"enum ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"pure","type":"function","name":"getParams","outputs":[{"internalType":"struct CVStrategyInitializeParamsV0_1","name":"params","type":"tuple","components":[{"internalType":"struct CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"},{"internalType":"address[]","name":"initialAllowlist","type":"address[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"pool_admin","type":"address"},{"internalType":"address[]","name":"pool_managers","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"poolProfile_id1","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/CVStrategyHelpers.sol":"CVStrategyHelpers"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2","urls":["bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293","dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0xc3aed28a3fec8dcc2e95c8569aa2c4323897a1685c63746822956fe995eddf28","urls":["bzz-raw://c4126fea7a0d30c76aab94605930ed01c7e53df2f4a7bba4773c097904d5eb39","dweb:/ipfs/QmNsDu9G5JKCXdTs1HmEyVcR3S4DhuiZRt2bEPVNYGckgw"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol":{"keccak256":"0x7ac113b4d9b37166aa2453c1bdbb04db3aa4a2e8445b947b36034a59ea2d7290","urls":["bzz-raw://74a5dfd911f0579d4c2cf49669e0b1e06c88f3764cca83cf95579c4db671de40","dweb:/ipfs/QmQm2LGi4KLV7yPY3sMbD44n7crAuGQwp6fJ8a8C5WQBYa"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0x6b05f27573e30362ec808b4d79f8156550a8dd5090b107b46928ab8d87be3c87","urls":["bzz-raw://134753f1a9a463e4193ffa2b2f6e32813b7a3d7603ddacaedf0f65a6a72c864a","dweb:/ipfs/QmZnQa6a3aFUvxdT1yaj72DBQUShfq5okHshhHwGv85Mdq"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol":{"keccak256":"0x30e941996ee5d85123b7287e4c56fb642644624fcd7bd54ec5cc6d9c35929659","urls":["bzz-raw://d05002caba8d60e778bd4e27da3f3e93e8ecc33814902e8bad2b3d1eb65027b0","dweb:/ipfs/QmZYjLmM48816YfFPXNxf3XwjJ3DLQ58mSPP8hRDBAnNtQ"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"},"pkg/contracts/test/CVStrategyHelpers.sol":{"keccak256":"0x082384255b863be3fb26aec66adb19083a3b8f93007e74c0af8bf8bd7fa5d15d","urls":["bzz-raw://7f72b03dac8a4121cd3fa5b2bb6d02582490727c77a07d991cd0318e1238a74e","dweb:/ipfs/QmWstkXhdxh8JJfy5NmwsZZiDmHkc4saJHkeDsiSMxeYgw"],"license":"AGPL-3.0-or-later"}},"version":1},"storageLayout":{"storage":[{"astId":9278,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"gasMeteringOff","offset":0,"slot":"0","type":"t_bool"},{"astId":11315,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"stdstore","offset":0,"slot":"1","type":"t_struct(StdStorage)13196_storage"},{"astId":79381,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"metadata","offset":0,"slot":"9","type":"t_struct(Metadata)3098_storage"},{"astId":79393,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"_poolProfileId1_","offset":0,"slot":"11","type":"t_bytes32"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13171_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13171_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13171_storage)"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(FindData)13171_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13164,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13166,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13168,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13170,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(StdStorage)13196_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13180,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage)))"},{"astId":13183,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13185,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13187,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13189,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13191,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13193,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13195,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"pkg/contracts/test/CVStrategyHelpers.sol","id":79906,"exportedSymbols":{"Accounts":[5026],"Allo":[1390],"ArbitrableConfig":[65628],"CVStrategyHelpers":[79905],"CVStrategyInitializeParamsV0_0":[65657],"CVStrategyInitializeParamsV0_1":[69242],"CVStrategyV0_0":[69194],"CVStrategyV0_1":[69756],"CreateProposal":[65557],"IRegistry":[2802],"Metadata":[3098],"Native":[3106],"PointSystem":[65545],"PointSystemConfig":[65614],"ProposalType":[65540],"console":[29510]},"nodeType":"SourceUnit","src":"46:6377:134","nodes":[{"id":79349,"nodeType":"PragmaDirective","src":"46:24:134","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":79350,"nodeType":"ImportDirective","src":"72:31:134","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":79906,"sourceUnit":29511,"symbolAliases":[],"unitAlias":""},{"id":79352,"nodeType":"ImportDirective","src":"104:53:134","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","file":"allo-v2-contracts/core/Allo.sol","nameLocation":"-1:-1:-1","scope":79906,"sourceUnit":1391,"symbolAliases":[{"foreign":{"id":79351,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"112:4:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79361,"nodeType":"ImportDirective","src":"376:230:134","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol","file":"../src/CVStrategy/CVStrategyV0_1.sol","nameLocation":"-1:-1:-1","scope":79906,"sourceUnit":69757,"symbolAliases":[{"foreign":{"id":79353,"name":"CVStrategyV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69756,"src":"389:14:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":79354,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69194,"src":"409:14:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":79355,"name":"ProposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65540,"src":"429:12:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":79356,"name":"PointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65545,"src":"447:11:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":79357,"name":"CreateProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65557,"src":"464:14:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":79358,"name":"PointSystemConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65614,"src":"484:17:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":79359,"name":"ArbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65628,"src":"507:16:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":79360,"name":"CVStrategyInitializeParamsV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69242,"src":"529:30:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79363,"nodeType":"ImportDirective","src":"607:84:134","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol","file":"../src/CVStrategy/CVStrategyV0_0.sol","nameLocation":"-1:-1:-1","scope":79906,"sourceUnit":69195,"symbolAliases":[{"foreign":{"id":79362,"name":"CVStrategyInitializeParamsV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65657,"src":"615:30:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79365,"nodeType":"ImportDirective","src":"692:67:134","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"allo-v2-contracts/core/libraries/Native.sol","nameLocation":"-1:-1:-1","scope":79906,"sourceUnit":3107,"symbolAliases":[{"foreign":{"id":79364,"name":"Native","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"700:6:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79368,"nodeType":"ImportDirective","src":"760:84:134","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":79906,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":79366,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"768:9:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":79367,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"779:8:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79370,"nodeType":"ImportDirective","src":"846:66:134","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"allo-v2-test/foundry/shared/Accounts.sol","nameLocation":"-1:-1:-1","scope":79906,"sourceUnit":5027,"symbolAliases":[{"foreign":{"id":79369,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5026,"src":"854:8:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79905,"nodeType":"ContractDefinition","src":"914:5508:134","nodes":[{"id":79381,"nodeType":"VariableDeclaration","src":"967:109:134","nodes":[],"constant":false,"functionSelector":"392f37e9","mutability":"mutable","name":"metadata","nameLocation":"983:8:134","scope":79905,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata"},"typeName":{"id":79376,"nodeType":"UserDefinedTypeName","pathNode":{"id":79375,"name":"Metadata","nameLocations":["967:8:134"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"967:8:134"},"referencedDeclaration":3098,"src":"967:8:134","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"value":{"arguments":[{"hexValue":"31","id":79378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1014:1:134","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a44686132666a3547656536684a7a5359","id":79379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1026:48:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_5132d0078161e899617508f56f10fe912a54664090fbe8853f8693be238f8d30","typeString":"literal_string \"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY\""},"value":"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_5132d0078161e899617508f56f10fe912a54664090fbe8853f8693be238f8d30","typeString":"literal_string \"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY\""}],"id":79377,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"994:8:134","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":79380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1004:8:134","1017:7:134"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"994:82:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"visibility":"public"},{"id":79386,"nodeType":"VariableDeclaration","src":"1105:43:134","nodes":[],"constant":true,"functionSelector":"2e0f2625","mutability":"constant","name":"DECIMALS","nameLocation":"1129:8:134","scope":79905,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79382,"name":"uint256","nodeType":"ElementaryTypeName","src":"1105:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"id":79385,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":79383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1140:2:134","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3138","id":79384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1146:2:134","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"src":"1140:8:134","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}},"visibility":"public"},{"id":79391,"nodeType":"VariableDeclaration","src":"1154:50:134","nodes":[],"constant":true,"functionSelector":"3f26479e","mutability":"constant","name":"PERCENTAGE_SCALE","nameLocation":"1178:16:134","scope":79905,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79387,"name":"uint256","nodeType":"ElementaryTypeName","src":"1154:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":79390,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":79388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1197:2:134","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":79389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1203:1:134","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"1197:7:134","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"visibility":"public"},{"id":79393,"nodeType":"VariableDeclaration","src":"1211:33:134","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileId1_","nameLocation":"1228:16:134","scope":79905,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":79392,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1211:7:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":79398,"nodeType":"VariableDeclaration","src":"1251:44:134","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"1277:7:134","scope":79905,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79394,"name":"uint256","nodeType":"ElementaryTypeName","src":"1251:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"id":79397,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":79395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1287:1:134","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"313237","id":79396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1292:3:134","typeDescriptions":{"typeIdentifier":"t_rational_127_by_1","typeString":"int_const 127"},"value":"127"},"src":"1287:8:134","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"}},"visibility":"internal"},{"id":79403,"nodeType":"VariableDeclaration","src":"1301:44:134","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"1327:7:134","scope":79905,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79399,"name":"uint256","nodeType":"ElementaryTypeName","src":"1301:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":79402,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":79400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1337:1:134","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"313238","id":79401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1342:3:134","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"1337:8:134","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}},"visibility":"internal"},{"id":79408,"nodeType":"VariableDeclaration","src":"1351:37:134","nodes":[],"constant":true,"mutability":"constant","name":"D","nameLocation":"1377:1:134","scope":79905,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79404,"name":"uint256","nodeType":"ElementaryTypeName","src":"1351:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"id":79407,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":79405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1381:2:134","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"37","id":79406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1387:1:134","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"src":"1381:7:134","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"}},"visibility":"internal"},{"id":79446,"nodeType":"FunctionDefinition","src":"1503:437:134","nodes":[],"body":{"id":79445,"nodeType":"Block","src":"1661:279:134","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":79426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79421,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79393,"src":"1675:16:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":79424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1703:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79423,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1695:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":79422,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1695:7:134","typeDescriptions":{}}},"id":79425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1695:10:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1675:30:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79442,"nodeType":"IfStatement","src":"1671:230:134","trueBody":{"id":79441,"nodeType":"Block","src":"1707:194:134","statements":[{"expression":{"id":79439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79427,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79393,"src":"1721:16:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"32","id":79430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1780:1:134","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"hexValue":"506f6f6c2050726f66696c652031","id":79431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1783:16:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},"value":"Pool Profile 1"},{"arguments":[{"hexValue":"31","id":79433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1821:1:134","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"506f6f6c50726f66696c6531","id":79434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1833:14:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""},"value":"PoolProfile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""}],"id":79432,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1801:8:134","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":79435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1811:8:134","1824:7:134"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1801:48:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":79436,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79413,"src":"1851:10:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79437,"name":"pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79416,"src":"1863:13:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":79428,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79411,"src":"1740:8:134","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":79429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1749:13:134","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":2742,"src":"1740:22:134","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":79438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1740:150:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1721:169:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":79440,"nodeType":"ExpressionStatement","src":"1721:169:134"}]}},{"expression":{"id":79443,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79393,"src":"1917:16:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":79420,"id":79444,"nodeType":"Return","src":"1910:23:134"}]},"functionSelector":"37d1c404","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_id1","nameLocation":"1512:15:134","parameters":{"id":79417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79411,"mutability":"mutable","name":"registry","nameLocation":"1538:8:134","nodeType":"VariableDeclaration","scope":79446,"src":"1528:18:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":79410,"nodeType":"UserDefinedTypeName","pathNode":{"id":79409,"name":"IRegistry","nameLocations":["1528:9:134"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"1528:9:134"},"referencedDeclaration":2802,"src":"1528:9:134","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":79413,"mutability":"mutable","name":"pool_admin","nameLocation":"1556:10:134","nodeType":"VariableDeclaration","scope":79446,"src":"1548:18:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79412,"name":"address","nodeType":"ElementaryTypeName","src":"1548:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79416,"mutability":"mutable","name":"pool_managers","nameLocation":"1585:13:134","nodeType":"VariableDeclaration","scope":79446,"src":"1568:30:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":79414,"name":"address","nodeType":"ElementaryTypeName","src":"1568:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79415,"nodeType":"ArrayTypeName","src":"1568:9:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1527:72:134"},"returnParameters":{"id":79420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79419,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79446,"src":"1648:7:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":79418,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1648:7:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1647:9:134"},"scope":79905,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":79570,"nodeType":"FunctionDefinition","src":"1946:1182:134","nodes":[],"body":{"id":79569,"nodeType":"Block","src":"2237:891:134","nodes":[],"statements":[{"expression":{"id":79474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":79466,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79464,"src":"2298:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}},"id":79469,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2305:8:134","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":69222,"src":"2298:15:134","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams memory"}},"id":79470,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2314:5:134","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65634,"src":"2298:21:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e39393939373939","id":79472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2336:15:134","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_999979900000000000_by_1","typeString":"int_const 999979900000000000"},"value":"0.9999799"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_999979900000000000_by_1","typeString":"int_const 999979900000000000"}],"id":79471,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79749,"src":"2322:13:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":79473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2322:30:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2298:54:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79475,"nodeType":"ExpressionStatement","src":"2298:54:134"},{"expression":{"id":79484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":79476,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79464,"src":"2379:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}},"id":79479,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2386:8:134","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":69222,"src":"2379:15:134","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams memory"}},"id":79480,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2395:8:134","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":65630,"src":"2379:24:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e32","id":79482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2420:9:134","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":79481,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79749,"src":"2406:13:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":79483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2406:24:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2379:51:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79485,"nodeType":"ExpressionStatement","src":"2379:51:134"},{"expression":{"id":79494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":79486,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79464,"src":"2459:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}},"id":79489,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2466:8:134","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":69222,"src":"2459:15:134","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams memory"}},"id":79490,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2475:6:134","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":65632,"src":"2459:22:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e303031","id":79492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2498:11:134","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000_by_1","typeString":"int_const 1000000000000000"},"value":"0.001"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1000000000000000_by_1","typeString":"int_const 1000000000000000"}],"id":79491,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79749,"src":"2484:13:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":79493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2484:26:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2459:51:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79495,"nodeType":"ExpressionStatement","src":"2459:51:134"},{"expression":{"id":79502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":79496,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79464,"src":"2541:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}},"id":79499,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2548:8:134","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":69222,"src":"2541:15:134","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams memory"}},"id":79500,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2557:18:134","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":65636,"src":"2541:34:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"302e32","id":79501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2578:9:134","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"},"src":"2541:46:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79503,"nodeType":"ExpressionStatement","src":"2541:46:134"},{"expression":{"id":79508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79504,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79464,"src":"2604:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}},"id":79506,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2611:17:134","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":69236,"src":"2604:24:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79507,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79448,"src":"2631:17:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2604:44:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79509,"nodeType":"ExpressionStatement","src":"2604:44:134"},{"expression":{"id":79514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79510,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79464,"src":"2658:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}},"id":79512,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2665:12:134","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":69225,"src":"2658:19:134","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79513,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79451,"src":"2680:12:134","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"src":"2658:34:134","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"id":79515,"nodeType":"ExpressionStatement","src":"2658:34:134"},{"expression":{"id":79520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79516,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79464,"src":"2702:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}},"id":79518,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2709:11:134","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":69228,"src":"2702:18:134","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79519,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79454,"src":"2723:11:134","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"src":"2702:32:134","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"id":79521,"nodeType":"ExpressionStatement","src":"2702:32:134"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79522,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79457,"src":"2749:11:134","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_memory_ptr","typeString":"struct PointSystemConfig memory"}},"id":79523,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2761:9:134","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65613,"src":"2749:21:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2774:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2749:26:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79535,"nodeType":"IfStatement","src":"2745:182:134","trueBody":{"id":79534,"nodeType":"Block","src":"2777:150:134","statements":[{"expression":{"id":79532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79526,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79457,"src":"2878:11:134","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_memory_ptr","typeString":"struct PointSystemConfig memory"}},"id":79528,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2890:9:134","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65613,"src":"2878:21:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79531,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"323030","id":79529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2902:3:134","typeDescriptions":{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},"value":"200"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":79530,"name":"DECIMALS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79386,"src":"2908:8:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2902:14:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2878:38:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79533,"nodeType":"ExpressionStatement","src":"2878:38:134"}]}},{"expression":{"id":79540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79536,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79464,"src":"2936:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}},"id":79538,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2943:11:134","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":69231,"src":"2936:18:134","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_memory_ptr","typeString":"struct PointSystemConfig memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79539,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79457,"src":"2957:11:134","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_memory_ptr","typeString":"struct PointSystemConfig memory"}},"src":"2936:32:134","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_memory_ptr","typeString":"struct PointSystemConfig memory"}},"id":79541,"nodeType":"ExpressionStatement","src":"2936:32:134"},{"expression":{"id":79546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79542,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79464,"src":"2978:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}},"id":79544,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2985:16:134","memberName":"arbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":69234,"src":"2978:23:134","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79545,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79460,"src":"3004:16:134","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"src":"2978:42:134","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":79547,"nodeType":"ExpressionStatement","src":"2978:42:134"},{"expression":{"id":79556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79548,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79464,"src":"3030:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}},"id":79550,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3037:16:134","memberName":"initialAllowlist","nodeType":"MemberAccess","referencedDeclaration":69241,"src":"3030:23:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":79554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3070:1:134","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":79553,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3056:13:134","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":79551,"name":"address","nodeType":"ElementaryTypeName","src":"3060:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79552,"nodeType":"ArrayTypeName","src":"3060:9:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":79555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3056:16:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"3030:42:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":79557,"nodeType":"ExpressionStatement","src":"3030:42:134"},{"expression":{"id":79567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":79558,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79464,"src":"3082:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}},"id":79561,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3089:16:134","memberName":"initialAllowlist","nodeType":"MemberAccess","referencedDeclaration":69241,"src":"3082:23:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":79562,"indexExpression":{"hexValue":"30","id":79560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3106:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3082:26:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":79565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3119:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79564,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3111:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79563,"name":"address","nodeType":"ElementaryTypeName","src":"3111:7:134","typeDescriptions":{}}},"id":79566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3111:10:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3082:39:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79568,"nodeType":"ExpressionStatement","src":"3082:39:134"}]},"functionSelector":"c36e336b","implemented":true,"kind":"function","modifiers":[],"name":"getParams","nameLocation":"1955:9:134","parameters":{"id":79461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79448,"mutability":"mutable","name":"registryCommunity","nameLocation":"1982:17:134","nodeType":"VariableDeclaration","scope":79570,"src":"1974:25:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79447,"name":"address","nodeType":"ElementaryTypeName","src":"1974:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79451,"mutability":"mutable","name":"proposalType","nameLocation":"2022:12:134","nodeType":"VariableDeclaration","scope":79570,"src":"2009:25:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"},"typeName":{"id":79450,"nodeType":"UserDefinedTypeName","pathNode":{"id":79449,"name":"ProposalType","nameLocations":["2009:12:134"],"nodeType":"IdentifierPath","referencedDeclaration":65540,"src":"2009:12:134"},"referencedDeclaration":65540,"src":"2009:12:134","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"visibility":"internal"},{"constant":false,"id":79454,"mutability":"mutable","name":"pointSystem","nameLocation":"2056:11:134","nodeType":"VariableDeclaration","scope":79570,"src":"2044:23:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"},"typeName":{"id":79453,"nodeType":"UserDefinedTypeName","pathNode":{"id":79452,"name":"PointSystem","nameLocations":["2044:11:134"],"nodeType":"IdentifierPath","referencedDeclaration":65545,"src":"2044:11:134"},"referencedDeclaration":65545,"src":"2044:11:134","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"visibility":"internal"},{"constant":false,"id":79457,"mutability":"mutable","name":"pointConfig","nameLocation":"2102:11:134","nodeType":"VariableDeclaration","scope":79570,"src":"2077:36:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_memory_ptr","typeString":"struct PointSystemConfig"},"typeName":{"id":79456,"nodeType":"UserDefinedTypeName","pathNode":{"id":79455,"name":"PointSystemConfig","nameLocations":["2077:17:134"],"nodeType":"IdentifierPath","referencedDeclaration":65614,"src":"2077:17:134"},"referencedDeclaration":65614,"src":"2077:17:134","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_storage_ptr","typeString":"struct PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":79460,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"2147:16:134","nodeType":"VariableDeclaration","scope":79570,"src":"2123:40:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig"},"typeName":{"id":79459,"nodeType":"UserDefinedTypeName","pathNode":{"id":79458,"name":"ArbitrableConfig","nameLocations":["2123:16:134"],"nodeType":"IdentifierPath","referencedDeclaration":65628,"src":"2123:16:134"},"referencedDeclaration":65628,"src":"2123:16:134","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage_ptr","typeString":"struct ArbitrableConfig"}},"visibility":"internal"}],"src":"1964:205:134"},"returnParameters":{"id":79465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79464,"mutability":"mutable","name":"params","nameLocation":"2229:6:134","nodeType":"VariableDeclaration","scope":79570,"src":"2191:44:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1"},"typeName":{"id":79463,"nodeType":"UserDefinedTypeName","pathNode":{"id":79462,"name":"CVStrategyInitializeParamsV0_1","nameLocations":["2191:30:134"],"nodeType":"IdentifierPath","referencedDeclaration":69242,"src":"2191:30:134"},"referencedDeclaration":69242,"src":"2191:30:134","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_storage_ptr","typeString":"struct CVStrategyInitializeParamsV0_1"}},"visibility":"internal"}],"src":"2190:46:134"},"scope":79905,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":79694,"nodeType":"FunctionDefinition","src":"3134:1468:134","nodes":[],"body":{"id":79693,"nodeType":"Block","src":"3487:1115:134","nodes":[],"statements":[{"assignments":[79601],"declarations":[{"constant":false,"id":79601,"mutability":"mutable","name":"params","nameLocation":"3586:6:134","nodeType":"VariableDeclaration","scope":79693,"src":"3548:44:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1"},"typeName":{"id":79600,"nodeType":"UserDefinedTypeName","pathNode":{"id":79599,"name":"CVStrategyInitializeParamsV0_1","nameLocations":["3548:30:134"],"nodeType":"IdentifierPath","referencedDeclaration":69242,"src":"3548:30:134"},"referencedDeclaration":69242,"src":"3548:30:134","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_storage_ptr","typeString":"struct CVStrategyInitializeParamsV0_1"}},"visibility":"internal"}],"id":79609,"initialValue":{"arguments":[{"id":79603,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79577,"src":"3617:17:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79604,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79585,"src":"3636:12:134","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},{"id":79605,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79588,"src":"3650:11:134","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},{"id":79606,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79591,"src":"3663:11:134","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_memory_ptr","typeString":"struct PointSystemConfig memory"}},{"id":79607,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79594,"src":"3676:16:134","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"},{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"},{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_memory_ptr","typeString":"struct PointSystemConfig memory"},{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}],"id":79602,"name":"getParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79570,"src":"3607:9:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_enum$_ProposalType_$65540_$_t_enum$_PointSystem_$65545_$_t_struct$_PointSystemConfig_$65614_memory_ptr_$_t_struct$_ArbitrableConfig_$65628_memory_ptr_$returns$_t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr_$","typeString":"function (address,enum ProposalType,enum PointSystem,struct PointSystemConfig memory,struct ArbitrableConfig memory) pure returns (struct CVStrategyInitializeParamsV0_1 memory)"}},"id":79608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3607:86:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}},"nodeType":"VariableDeclarationStatement","src":"3548:145:134"},{"assignments":[79614],"declarations":[{"constant":false,"id":79614,"mutability":"mutable","name":"_pool_managers","nameLocation":"3721:14:134","nodeType":"VariableDeclaration","scope":79693,"src":"3704:31:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":79612,"name":"address","nodeType":"ElementaryTypeName","src":"3704:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79613,"nodeType":"ArrayTypeName","src":"3704:9:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":79620,"initialValue":{"arguments":[{"hexValue":"32","id":79618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3752:1:134","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":79617,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3738:13:134","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":79615,"name":"address","nodeType":"ElementaryTypeName","src":"3742:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79616,"nodeType":"ArrayTypeName","src":"3742:9:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":79619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3738:16:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3704:50:134"},{"expression":{"id":79628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79621,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79614,"src":"3764:14:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":79623,"indexExpression":{"hexValue":"30","id":79622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3779:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3764:17:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":79626,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3792:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyHelpers_$79905","typeString":"contract CVStrategyHelpers"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyHelpers_$79905","typeString":"contract CVStrategyHelpers"}],"id":79625,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3784:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79624,"name":"address","nodeType":"ElementaryTypeName","src":"3784:7:134","typeDescriptions":{}}},"id":79627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3784:13:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3764:33:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79629,"nodeType":"ExpressionStatement","src":"3764:33:134"},{"expression":{"id":79638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79630,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79614,"src":"3807:14:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":79632,"indexExpression":{"hexValue":"31","id":79631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3822:1:134","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3807:17:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":79635,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3835:3:134","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":79636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3839:6:134","memberName":"sender","nodeType":"MemberAccess","src":"3835:10:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":79634,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3827:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79633,"name":"address","nodeType":"ElementaryTypeName","src":"3827:7:134","typeDescriptions":{}}},"id":79637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3827:19:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3807:39:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79639,"nodeType":"ExpressionStatement","src":"3807:39:134"},{"assignments":[79641],"declarations":[{"constant":false,"id":79641,"mutability":"mutable","name":"_token","nameLocation":"4104:6:134","nodeType":"VariableDeclaration","scope":79693,"src":"4096:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79640,"name":"address","nodeType":"ElementaryTypeName","src":"4096:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":79643,"initialValue":{"id":79642,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"4113:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4096:23:134"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":79649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79644,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79582,"src":"4133:5:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":79647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4150:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79646,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4142:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79645,"name":"address","nodeType":"ElementaryTypeName","src":"4142:7:134","typeDescriptions":{}}},"id":79648,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4142:10:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4133:19:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79655,"nodeType":"IfStatement","src":"4129:64:134","trueBody":{"id":79654,"nodeType":"Block","src":"4154:39:134","statements":[{"expression":{"id":79652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79650,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79641,"src":"4168:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79651,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79582,"src":"4177:5:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4168:14:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79653,"nodeType":"ExpressionStatement","src":"4168:14:134"}]}},{"expression":{"id":79678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79656,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79597,"src":"4202:6:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":79660,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79580,"src":"4315:8:134","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"arguments":[],"expression":{"argumentTypes":[],"id":79661,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"4325:10:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":79662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4325:12:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79663,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79614,"src":"4339:14:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":79659,"name":"poolProfile_id1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79446,"src":"4299:15:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IRegistry_$2802_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (contract IRegistry,address,address[] memory) returns (bytes32)"}},"id":79664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4299:55:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":79667,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79575,"src":"4376:8:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":79666,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4368:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79665,"name":"address","nodeType":"ElementaryTypeName","src":"4368:7:134","typeDescriptions":{}}},"id":79668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4368:17:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":79671,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79601,"src":"4410:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}],"expression":{"id":79669,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4399:3:134","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":79670,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4403:6:134","memberName":"encode","nodeType":"MemberAccess","src":"4399:10:134","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":79672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4399:18:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":79673,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79641,"src":"4431:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":79674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4451:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":79675,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79381,"src":"4466:8:134","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},{"id":79676,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79614,"src":"4488:14:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":79657,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79573,"src":"4211:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":79658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4216:28:134","memberName":"createPoolWithCustomStrategy","nodeType":"MemberAccess","referencedDeclaration":175,"src":"4211:33:134","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,address,bytes memory,address,uint256,struct Metadata memory,address[] memory) payable external returns (uint256)"}},"id":79677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4211:301:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4202:310:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79679,"nodeType":"ExpressionStatement","src":"4202:310:134"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"},"id":79690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"id":79684,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79575,"src":"4553:8:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":79683,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4545:8:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":79682,"name":"address","nodeType":"ElementaryTypeName","src":"4545:8:134","stateMutability":"payable","typeDescriptions":{}}},"id":79685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4545:17:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":79681,"name":"CVStrategyV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69756,"src":"4530:14:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategyV0_1_$69756_$","typeString":"type(contract CVStrategyV0_1)"}},"id":79686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4530:33:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}},"id":79687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4564:12:134","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":65930,"src":"4530:46:134","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_enum$_ProposalType_$65540_$","typeString":"function () view external returns (enum ProposalType)"}},"id":79688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4530:48:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":79689,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79585,"src":"4582:12:134","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"src":"4530:64:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":79680,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"4523:6:134","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":79691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4523:72:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79692,"nodeType":"ExpressionStatement","src":"4523:72:134"}]},"functionSelector":"e070e0ab","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"3143:10:134","parameters":{"id":79595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79573,"mutability":"mutable","name":"allo","nameLocation":"3168:4:134","nodeType":"VariableDeclaration","scope":79694,"src":"3163:9:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},"typeName":{"id":79572,"nodeType":"UserDefinedTypeName","pathNode":{"id":79571,"name":"Allo","nameLocations":["3163:4:134"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"3163:4:134"},"referencedDeclaration":1390,"src":"3163:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"visibility":"internal"},{"constant":false,"id":79575,"mutability":"mutable","name":"strategy","nameLocation":"3190:8:134","nodeType":"VariableDeclaration","scope":79694,"src":"3182:16:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79574,"name":"address","nodeType":"ElementaryTypeName","src":"3182:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79577,"mutability":"mutable","name":"registryCommunity","nameLocation":"3216:17:134","nodeType":"VariableDeclaration","scope":79694,"src":"3208:25:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79576,"name":"address","nodeType":"ElementaryTypeName","src":"3208:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79580,"mutability":"mutable","name":"registry","nameLocation":"3253:8:134","nodeType":"VariableDeclaration","scope":79694,"src":"3243:18:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":79579,"nodeType":"UserDefinedTypeName","pathNode":{"id":79578,"name":"IRegistry","nameLocations":["3243:9:134"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"3243:9:134"},"referencedDeclaration":2802,"src":"3243:9:134","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":79582,"mutability":"mutable","name":"token","nameLocation":"3279:5:134","nodeType":"VariableDeclaration","scope":79694,"src":"3271:13:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79581,"name":"address","nodeType":"ElementaryTypeName","src":"3271:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79585,"mutability":"mutable","name":"proposalType","nameLocation":"3307:12:134","nodeType":"VariableDeclaration","scope":79694,"src":"3294:25:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"},"typeName":{"id":79584,"nodeType":"UserDefinedTypeName","pathNode":{"id":79583,"name":"ProposalType","nameLocations":["3294:12:134"],"nodeType":"IdentifierPath","referencedDeclaration":65540,"src":"3294:12:134"},"referencedDeclaration":65540,"src":"3294:12:134","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"visibility":"internal"},{"constant":false,"id":79588,"mutability":"mutable","name":"pointSystem","nameLocation":"3341:11:134","nodeType":"VariableDeclaration","scope":79694,"src":"3329:23:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"},"typeName":{"id":79587,"nodeType":"UserDefinedTypeName","pathNode":{"id":79586,"name":"PointSystem","nameLocations":["3329:11:134"],"nodeType":"IdentifierPath","referencedDeclaration":65545,"src":"3329:11:134"},"referencedDeclaration":65545,"src":"3329:11:134","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"visibility":"internal"},{"constant":false,"id":79591,"mutability":"mutable","name":"pointConfig","nameLocation":"3387:11:134","nodeType":"VariableDeclaration","scope":79694,"src":"3362:36:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_memory_ptr","typeString":"struct PointSystemConfig"},"typeName":{"id":79590,"nodeType":"UserDefinedTypeName","pathNode":{"id":79589,"name":"PointSystemConfig","nameLocations":["3362:17:134"],"nodeType":"IdentifierPath","referencedDeclaration":65614,"src":"3362:17:134"},"referencedDeclaration":65614,"src":"3362:17:134","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_storage_ptr","typeString":"struct PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":79594,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"3432:16:134","nodeType":"VariableDeclaration","scope":79694,"src":"3408:40:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig"},"typeName":{"id":79593,"nodeType":"UserDefinedTypeName","pathNode":{"id":79592,"name":"ArbitrableConfig","nameLocations":["3408:16:134"],"nodeType":"IdentifierPath","referencedDeclaration":65628,"src":"3408:16:134"},"referencedDeclaration":65628,"src":"3408:16:134","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage_ptr","typeString":"struct ArbitrableConfig"}},"visibility":"internal"}],"src":"3153:301:134"},"returnParameters":{"id":79598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79597,"mutability":"mutable","name":"poolId","nameLocation":"3479:6:134","nodeType":"VariableDeclaration","scope":79694,"src":"3471:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79596,"name":"uint256","nodeType":"ElementaryTypeName","src":"3471:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3470:16:134"},"scope":79905,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":79735,"nodeType":"FunctionDefinition","src":"4608:578:134","nodes":[],"body":{"id":79734,"nodeType":"Block","src":"4915:271:134","nodes":[],"statements":[{"expression":{"arguments":[{"id":79721,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79697,"src":"4956:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},{"id":79722,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79699,"src":"4974:8:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79723,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79701,"src":"4996:17:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79724,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79704,"src":"5027:8:134","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"id":79725,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79706,"src":"5049:5:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79726,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79709,"src":"5068:12:134","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},{"id":79727,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79712,"src":"5094:11:134","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},{"arguments":[{"hexValue":"30","id":79729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5137:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79728,"name":"PointSystemConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65614,"src":"5119:17:134","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PointSystemConfig_$65614_storage_ptr_$","typeString":"type(struct PointSystemConfig storage pointer)"}},"id":79730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5119:20:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_memory_ptr","typeString":"struct PointSystemConfig memory"}},{"id":79731,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79715,"src":"5153:16:134","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"},{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"},{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_memory_ptr","typeString":"struct PointSystemConfig memory"},{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}],"id":79720,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[79694,79735],"referencedDeclaration":79694,"src":"4932:10:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Allo_$1390_$_t_address_$_t_address_$_t_contract$_IRegistry_$2802_$_t_address_$_t_enum$_ProposalType_$65540_$_t_enum$_PointSystem_$65545_$_t_struct$_PointSystemConfig_$65614_memory_ptr_$_t_struct$_ArbitrableConfig_$65628_memory_ptr_$returns$_t_uint256_$","typeString":"function (contract Allo,address,address,contract IRegistry,address,enum ProposalType,enum PointSystem,struct PointSystemConfig memory,struct ArbitrableConfig memory) returns (uint256)"}},"id":79732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4932:247:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79719,"id":79733,"nodeType":"Return","src":"4925:254:134"}]},"functionSelector":"85294f18","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"4617:10:134","parameters":{"id":79716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79697,"mutability":"mutable","name":"allo","nameLocation":"4642:4:134","nodeType":"VariableDeclaration","scope":79735,"src":"4637:9:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},"typeName":{"id":79696,"nodeType":"UserDefinedTypeName","pathNode":{"id":79695,"name":"Allo","nameLocations":["4637:4:134"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"4637:4:134"},"referencedDeclaration":1390,"src":"4637:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"visibility":"internal"},{"constant":false,"id":79699,"mutability":"mutable","name":"strategy","nameLocation":"4664:8:134","nodeType":"VariableDeclaration","scope":79735,"src":"4656:16:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79698,"name":"address","nodeType":"ElementaryTypeName","src":"4656:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79701,"mutability":"mutable","name":"registryCommunity","nameLocation":"4690:17:134","nodeType":"VariableDeclaration","scope":79735,"src":"4682:25:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79700,"name":"address","nodeType":"ElementaryTypeName","src":"4682:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79704,"mutability":"mutable","name":"registry","nameLocation":"4727:8:134","nodeType":"VariableDeclaration","scope":79735,"src":"4717:18:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":79703,"nodeType":"UserDefinedTypeName","pathNode":{"id":79702,"name":"IRegistry","nameLocations":["4717:9:134"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"4717:9:134"},"referencedDeclaration":2802,"src":"4717:9:134","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":79706,"mutability":"mutable","name":"token","nameLocation":"4753:5:134","nodeType":"VariableDeclaration","scope":79735,"src":"4745:13:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79705,"name":"address","nodeType":"ElementaryTypeName","src":"4745:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79709,"mutability":"mutable","name":"proposalType","nameLocation":"4781:12:134","nodeType":"VariableDeclaration","scope":79735,"src":"4768:25:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"},"typeName":{"id":79708,"nodeType":"UserDefinedTypeName","pathNode":{"id":79707,"name":"ProposalType","nameLocations":["4768:12:134"],"nodeType":"IdentifierPath","referencedDeclaration":65540,"src":"4768:12:134"},"referencedDeclaration":65540,"src":"4768:12:134","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"visibility":"internal"},{"constant":false,"id":79712,"mutability":"mutable","name":"pointSystem","nameLocation":"4815:11:134","nodeType":"VariableDeclaration","scope":79735,"src":"4803:23:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"},"typeName":{"id":79711,"nodeType":"UserDefinedTypeName","pathNode":{"id":79710,"name":"PointSystem","nameLocations":["4803:11:134"],"nodeType":"IdentifierPath","referencedDeclaration":65545,"src":"4803:11:134"},"referencedDeclaration":65545,"src":"4803:11:134","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"visibility":"internal"},{"constant":false,"id":79715,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"4860:16:134","nodeType":"VariableDeclaration","scope":79735,"src":"4836:40:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig"},"typeName":{"id":79714,"nodeType":"UserDefinedTypeName","pathNode":{"id":79713,"name":"ArbitrableConfig","nameLocations":["4836:16:134"],"nodeType":"IdentifierPath","referencedDeclaration":65628,"src":"4836:16:134"},"referencedDeclaration":65628,"src":"4836:16:134","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage_ptr","typeString":"struct ArbitrableConfig"}},"visibility":"internal"}],"src":"4627:255:134"},"returnParameters":{"id":79719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79718,"mutability":"mutable","name":"poolId","nameLocation":"4907:6:134","nodeType":"VariableDeclaration","scope":79735,"src":"4899:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79717,"name":"uint256","nodeType":"ElementaryTypeName","src":"4899:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4898:16:134"},"scope":79905,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":79749,"nodeType":"FunctionDefinition","src":"5192:114:134","nodes":[],"body":{"id":79748,"nodeType":"Block","src":"5264:42:134","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79742,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"5281:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"},"id":79745,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":79743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5291:2:134","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3131","id":79744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5297:2:134","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},"src":"5291:8:134","typeDescriptions":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"}},"src":"5281:18:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79741,"id":79747,"nodeType":"Return","src":"5274:25:134"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_etherToFloat","nameLocation":"5201:13:134","parameters":{"id":79738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79737,"mutability":"mutable","name":"_amount","nameLocation":"5223:7:134","nodeType":"VariableDeclaration","scope":79749,"src":"5215:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79736,"name":"uint256","nodeType":"ElementaryTypeName","src":"5215:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5214:17:134"},"returnParameters":{"id":79741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79740,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79749,"src":"5255:7:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79739,"name":"uint256","nodeType":"ElementaryTypeName","src":"5255:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5254:9:134"},"scope":79905,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":79783,"nodeType":"FunctionDefinition","src":"5312:269:134","nodes":[],"body":{"id":79782,"nodeType":"Block","src":"5390:191:134","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79759,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"5408:2:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":79760,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79403,"src":"5414:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5408:13:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":79762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5423:42:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":79758,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5400:7:134","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":79763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5400:66:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79764,"nodeType":"ExpressionStatement","src":"5400:66:134"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79766,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79753,"src":"5484:2:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":79767,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79403,"src":"5489:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5484:12:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":79769,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5498:30:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":79765,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5476:7:134","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":79770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5476:53:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79771,"nodeType":"ExpressionStatement","src":"5476:53:134"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79772,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"5548:2:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":79773,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79753,"src":"5553:2:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5548:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":79775,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5547:9:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":79776,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79398,"src":"5559:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5547:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":79778,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5546:21:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":79779,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5571:3:134","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"5546:28:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79757,"id":79781,"nodeType":"Return","src":"5539:35:134"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"5321:4:134","parameters":{"id":79754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79751,"mutability":"mutable","name":"_a","nameLocation":"5334:2:134","nodeType":"VariableDeclaration","scope":79783,"src":"5326:10:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79750,"name":"uint256","nodeType":"ElementaryTypeName","src":"5326:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79753,"mutability":"mutable","name":"_b","nameLocation":"5346:2:134","nodeType":"VariableDeclaration","scope":79783,"src":"5338:10:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79752,"name":"uint256","nodeType":"ElementaryTypeName","src":"5338:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5325:24:134"},"returnParameters":{"id":79757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79756,"mutability":"mutable","name":"_result","nameLocation":"5381:7:134","nodeType":"VariableDeclaration","scope":79783,"src":"5373:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79755,"name":"uint256","nodeType":"ElementaryTypeName","src":"5373:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5372:17:134"},"scope":79905,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":79847,"nodeType":"FunctionDefinition","src":"5587:447:134","nodes":[],"body":{"id":79846,"nodeType":"Block","src":"5665:369:134","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79793,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79785,"src":"5683:2:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":79794,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79403,"src":"5688:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5683:12:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":79796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5697:30:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":79792,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5675:7:134","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":79797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5675:53:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79798,"nodeType":"ExpressionStatement","src":"5675:53:134"},{"assignments":[79800],"declarations":[{"constant":false,"id":79800,"mutability":"mutable","name":"a","nameLocation":"5746:1:134","nodeType":"VariableDeclaration","scope":79846,"src":"5738:9:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79799,"name":"uint256","nodeType":"ElementaryTypeName","src":"5738:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79802,"initialValue":{"id":79801,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79785,"src":"5750:2:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5738:14:134"},{"assignments":[79804],"declarations":[{"constant":false,"id":79804,"mutability":"mutable","name":"b","nameLocation":"5770:1:134","nodeType":"VariableDeclaration","scope":79846,"src":"5762:9:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79803,"name":"uint256","nodeType":"ElementaryTypeName","src":"5762:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79806,"initialValue":{"id":79805,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79787,"src":"5774:2:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5762:14:134"},{"expression":{"id":79809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79807,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79790,"src":"5786:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79808,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79403,"src":"5796:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5786:17:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79810,"nodeType":"ExpressionStatement","src":"5786:17:134"},{"body":{"id":79844,"nodeType":"Block","src":"5827:201:134","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79814,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79804,"src":"5845:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":79815,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5849:1:134","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5845:5:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5854:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5845:10:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":79842,"nodeType":"Block","src":"5935:83:134","statements":[{"expression":{"id":79836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79831,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79790,"src":"5953:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":79833,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79790,"src":"5968:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79834,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79800,"src":"5977:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79832,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79783,"src":"5963:4:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":79835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5963:16:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5953:26:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79837,"nodeType":"ExpressionStatement","src":"5953:26:134"},{"expression":{"id":79840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79838,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79804,"src":"5997:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":79839,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6002:1:134","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5997:6:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79841,"nodeType":"ExpressionStatement","src":"5997:6:134"}]},"id":79843,"nodeType":"IfStatement","src":"5841:177:134","trueBody":{"id":79830,"nodeType":"Block","src":"5857:72:134","statements":[{"expression":{"id":79824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79819,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79800,"src":"5875:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":79821,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79800,"src":"5884:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79822,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79800,"src":"5887:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79820,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79783,"src":"5879:4:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":79823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5879:10:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5875:14:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79825,"nodeType":"ExpressionStatement","src":"5875:14:134"},{"expression":{"id":79828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79826,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79804,"src":"5907:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":79827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5913:1:134","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5907:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79829,"nodeType":"ExpressionStatement","src":"5907:7:134"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79811,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79804,"src":"5820:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":79812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5824:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5820:5:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79845,"nodeType":"WhileStatement","src":"5813:215:134"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"5596:4:134","parameters":{"id":79788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79785,"mutability":"mutable","name":"_a","nameLocation":"5609:2:134","nodeType":"VariableDeclaration","scope":79847,"src":"5601:10:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79784,"name":"uint256","nodeType":"ElementaryTypeName","src":"5601:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79787,"mutability":"mutable","name":"_b","nameLocation":"5621:2:134","nodeType":"VariableDeclaration","scope":79847,"src":"5613:10:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79786,"name":"uint256","nodeType":"ElementaryTypeName","src":"5613:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5600:24:134"},"returnParameters":{"id":79791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79790,"mutability":"mutable","name":"_result","nameLocation":"5656:7:134","nodeType":"VariableDeclaration","scope":79847,"src":"5648:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79789,"name":"uint256","nodeType":"ElementaryTypeName","src":"5648:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5647:17:134"},"scope":79905,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":79904,"nodeType":"FunctionDefinition","src":"6040:380:134","nodes":[],"body":{"id":79903,"nodeType":"Block","src":"6203:217:134","nodes":[],"statements":[{"assignments":[79861],"declarations":[{"constant":false,"id":79861,"mutability":"mutable","name":"t","nameLocation":"6221:1:134","nodeType":"VariableDeclaration","scope":79903,"src":"6213:9:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79860,"name":"uint256","nodeType":"ElementaryTypeName","src":"6213:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79863,"initialValue":{"id":79862,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79849,"src":"6225:11:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6213:23:134"},{"assignments":[79865],"declarations":[{"constant":false,"id":79865,"mutability":"mutable","name":"atTWO_128","nameLocation":"6254:9:134","nodeType":"VariableDeclaration","scope":79903,"src":"6246:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79864,"name":"uint256","nodeType":"ElementaryTypeName","src":"6246:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79875,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79867,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79855,"src":"6272:5:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":79868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6281:3:134","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"6272:12:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":79870,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6271:14:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":79871,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79408,"src":"6288:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6271:18:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79873,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79861,"src":"6291:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79866,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79847,"src":"6266:4:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":79874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6266:27:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6246:47:134"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79876,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79865,"src":"6313:9:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":79877,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79851,"src":"6325:9:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6313:21:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":79879,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6312:23:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79880,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79853,"src":"6340:10:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":79881,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79408,"src":"6353:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6340:14:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79883,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79403,"src":"6358:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":79884,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79865,"src":"6368:9:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6358:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":79886,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6357:21:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6340:38:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":79888,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6339:40:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79889,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79408,"src":"6383:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":79890,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79855,"src":"6387:5:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6383:9:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":79892,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6382:11:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6339:54:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":79894,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6338:56:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6312:82:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":79896,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6311:84:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":79897,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79398,"src":"6398:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6311:94:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":79899,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6310:96:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":79900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6410:3:134","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"6310:103:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79859,"id":79902,"nodeType":"Return","src":"6303:110:134"}]},"functionSelector":"e99ce911","implemented":true,"kind":"function","modifiers":[],"name":"_calculateConviction","nameLocation":"6049:20:134","parameters":{"id":79856,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79849,"mutability":"mutable","name":"_timePassed","nameLocation":"6078:11:134","nodeType":"VariableDeclaration","scope":79904,"src":"6070:19:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79848,"name":"uint256","nodeType":"ElementaryTypeName","src":"6070:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79851,"mutability":"mutable","name":"_lastConv","nameLocation":"6099:9:134","nodeType":"VariableDeclaration","scope":79904,"src":"6091:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79850,"name":"uint256","nodeType":"ElementaryTypeName","src":"6091:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79853,"mutability":"mutable","name":"_oldAmount","nameLocation":"6118:10:134","nodeType":"VariableDeclaration","scope":79904,"src":"6110:18:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79852,"name":"uint256","nodeType":"ElementaryTypeName","src":"6110:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79855,"mutability":"mutable","name":"decay","nameLocation":"6138:5:134","nodeType":"VariableDeclaration","scope":79904,"src":"6130:13:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79854,"name":"uint256","nodeType":"ElementaryTypeName","src":"6130:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6069:75:134"},"returnParameters":{"id":79859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79858,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79904,"src":"6190:7:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79857,"name":"uint256","nodeType":"ElementaryTypeName","src":"6190:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6189:9:134"},"scope":79905,"stateMutability":"pure","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":79371,"name":"Native","nameLocations":["944:6:134"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"944:6:134"},"id":79372,"nodeType":"InheritanceSpecifier","src":"944:6:134"},{"baseName":{"id":79373,"name":"Accounts","nameLocations":["952:8:134"],"nodeType":"IdentifierPath","referencedDeclaration":5026,"src":"952:8:134"},"id":79374,"nodeType":"InheritanceSpecifier","src":"952:8:134"}],"canonicalName":"CVStrategyHelpers","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[79905,5026,12099,11306,3106],"name":"CVStrategyHelpers","nameLocation":"923:17:134","scope":79906,"usedErrors":[]}],"license":"AGPL-3.0-or-later"},"id":134} \ No newline at end of file diff --git a/pkg/contracts/out/CVStrategyV0_0.sol/CVStrategyV0_0.json b/pkg/contracts/out/CVStrategyV0_0.sol/CVStrategyV0_0.json index fc147bd6c..52883237b 100644 --- a/pkg/contracts/out/CVStrategyV0_0.sol/CVStrategyV0_0.json +++ b/pkg/contracts/out/CVStrategyV0_0.sol/CVStrategyV0_0.json @@ -1 +1 @@ -{"abi":[{"type":"fallback","stateMutability":"payable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"D","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"DISPUTE_COOLDOWN_SEC","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_STAKED_PROPOSALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"RULING_OPTIONS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"activatePoints","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocate","inputs":[{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"arbitrableConfigs","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculateThreshold","inputs":[{"name":"_requestedAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_threshold","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"canExecuteProposal","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"canBeExecuted","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"cancelProposal","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cloneNonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"collateralVault","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ICollateralVault"}],"stateMutability":"view"},{"type":"function","name":"currentArbitrableConfigVersion","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"cvParams","inputs":[],"outputs":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"deactivatePoints","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deactivatePoints","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToUnstake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"disputeCount","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"disputeIdToProposalId","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"disputeProposal","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"context","type":"string","internalType":"string"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"disputeId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"distribute","inputs":[{"name":"_recipientIds","type":"address[]","internalType":"address[]"},{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAllo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IAllo"}],"stateMutability":"view"},{"type":"function","name":"getArbitrableConfig","inputs":[],"outputs":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDecay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMaxAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMaxConviction","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMetadata","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getPayouts","inputs":[{"name":"","type":"address[]","internalType":"address[]"},{"name":"","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct IStrategy.PayoutSummary[]","components":[{"name":"recipientAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}]}],"stateMutability":"pure"},{"type":"function","name":"getPointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"stateMutability":"view"},{"type":"function","name":"getPoolAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPoolId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposal","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"submitter","type":"address","internalType":"address"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"requestedToken","type":"address","internalType":"address"},{"name":"requestedAmount","type":"uint256","internalType":"uint256"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"proposalStatus","type":"uint8","internalType":"enum StrategyStruct.ProposalStatus"},{"name":"blockLast","type":"uint256","internalType":"uint256"},{"name":"convictionLast","type":"uint256","internalType":"uint256"},{"name":"threshold","type":"uint256","internalType":"uint256"},{"name":"voterStakedPoints","type":"uint256","internalType":"uint256"},{"name":"arbitrableConfigVersion","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposalStakedAmount","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposalVoterStake","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_voter","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRecipientStatus","inputs":[{"name":"_recipientId","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint8","internalType":"enum IStrategy.Status"}],"stateMutability":"view"},{"type":"function","name":"getRegistryCommunity","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract RegistryCommunityV0_0"}],"stateMutability":"view"},{"type":"function","name":"getStrategyId","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getTotalVoterStakePct","inputs":[{"name":"_voter","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"increasePoolAmount","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"increasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToStake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"init","inputs":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"init","inputs":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_name","type":"string","internalType":"string"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initialOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isPoolActive","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isValidAllocator","inputs":[{"name":"_allocator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pointConfig","inputs":[],"outputs":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"pointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"stateMutability":"view"},{"type":"function","name":"proposalCounter","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proposalType","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.ProposalType"}],"stateMutability":"view"},{"type":"function","name":"proposals","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"requestedAmount","type":"uint256","internalType":"uint256"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"convictionLast","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"submitter","type":"address","internalType":"address"},{"name":"requestedToken","type":"address","internalType":"address"},{"name":"blockLast","type":"uint256","internalType":"uint256"},{"name":"proposalStatus","type":"uint8","internalType":"enum StrategyStruct.ProposalStatus"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"disputeInfo","type":"tuple","internalType":"struct StrategyStruct.ProposalDisputeInfo","components":[{"name":"disputeId","type":"uint256","internalType":"uint256"},{"name":"disputeTimestamp","type":"uint256","internalType":"uint256"},{"name":"challenger","type":"address","internalType":"address"}]},{"name":"lastDisputeCompletion","type":"uint256","internalType":"uint256"},{"name":"arbitrableConfigVersion","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerRecipient","inputs":[{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[{"name":"recipientId","type":"address","internalType":"address"}],"stateMutability":"payable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rule","inputs":[{"name":"_disputeID","type":"uint256","internalType":"uint256"},{"name":"_ruling","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCollateralVaultTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPoolActive","inputs":[{"name":"_active","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPoolParams","inputs":[{"name":"_arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"_cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSybilScorer","inputs":[{"name":"_sybilScorer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"sybilScorer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISybilScorer"}],"stateMutability":"view"},{"type":"function","name":"totalEffectiveActivePoints","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalPointsActivated","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalStaked","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalVoterStakePct","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProposalConviction","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"voterStakedProposals","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Allocated","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ArbitrableConfigUpdated","inputs":[{"name":"currentArbitrableConfigVersion","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"arbitrator","type":"address","indexed":false,"internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","indexed":false,"internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"defaultRuling","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CVParamsUpdated","inputs":[{"name":"cvParams","type":"tuple","indexed":false,"internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]}],"anonymous":false},{"type":"event","name":"DisputeRequest","inputs":[{"name":"_arbitrator","type":"address","indexed":true,"internalType":"contract IArbitrator"},{"name":"_arbitrableDisputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_externalDisputeID","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_templateId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_templateUri","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"Distributed","inputs":[{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"beneficiary","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Distributed","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"recipientAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"InitializedCV","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"tuple","indexed":false,"internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]}],"anonymous":false},{"type":"event","name":"MinThresholdPointsUpdated","inputs":[{"name":"before","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PointsDeactivated","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PoolActive","inputs":[{"name":"active","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"PoolAmountIncreased","inputs":[{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PowerDecreased","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"},{"name":"tokensUnStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"pointsToDecrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PowerIncreased","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"},{"name":"tokensStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"pointsToIncrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalCancelled","inputs":[{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalCreated","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalDisputed","inputs":[{"name":"arbitrator","type":"address","indexed":false,"internalType":"contract IArbitrator"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"disputeId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"challenger","type":"address","indexed":false,"internalType":"address"},{"name":"context","type":"string","indexed":false,"internalType":"string"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Registered","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RegistryUpdated","inputs":[{"name":"registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Ruling","inputs":[{"name":"_arbitrator","type":"address","indexed":true,"internalType":"contract IArbitrator"},{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_ruling","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SupportAdded","inputs":[{"name":"from","type":"address","indexed":false,"internalType":"address"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"totalStakedAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"convictionLast","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"TribunaSafeRegistered","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"},{"name":"arbitrator","type":"address","indexed":false,"internalType":"address"},{"name":"tribunalSafe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"AMOUNT_MISMATCH","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"AmountOverMaxRatio","inputs":[]},{"type":"error","name":"ArbitratorCannotBeZero","inputs":[]},{"type":"error","name":"CallerNotOwner","inputs":[{"name":"_caller","type":"address","internalType":"address"},{"name":"_owner","type":"address","internalType":"address"}]},{"type":"error","name":"CantIncreaseFixedSystem","inputs":[]},{"type":"error","name":"ConvictionUnderMinimumThreshold","inputs":[]},{"type":"error","name":"DefaultRulingNotSet","inputs":[]},{"type":"error","name":"DisputeCooldownNotPassed","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_remainingSec","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"InsufficientCollateral","inputs":[{"name":"sentAmount","type":"uint256","internalType":"uint256"},{"name":"requiredAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"MaxPointsReached","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"NotEnoughPointsToSupport","inputs":[{"name":"pointsSupport","type":"uint256","internalType":"uint256"},{"name":"pointsBalance","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NotImplemented","inputs":[]},{"type":"error","name":"OnlyArbitrator","inputs":[]},{"type":"error","name":"OnlyCommunityAllowed","inputs":[]},{"type":"error","name":"OnlyCouncilSafe","inputs":[]},{"type":"error","name":"OnlySubmitter","inputs":[{"name":"submitter","type":"address","internalType":"address"},{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"PoolAmountNotEnough","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_requestedAmount","type":"uint256","internalType":"uint256"},{"name":"_poolAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PoolIdCannotBeZero","inputs":[]},{"type":"error","name":"PoolIsEmpty","inputs":[]},{"type":"error","name":"ProposalDataIsEmpty","inputs":[]},{"type":"error","name":"ProposalIdCannotBeZero","inputs":[]},{"type":"error","name":"ProposalNotActive","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalNotDisputed","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalNotInList","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalSupportDuplicated","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"RegistryCannotBeZero","inputs":[]},{"type":"error","name":"SupportUnderflow","inputs":[{"name":"_support","type":"uint256","internalType":"uint256"},{"name":"_delta","type":"int256","internalType":"int256"},{"name":"_result","type":"int256","internalType":"int256"}]},{"type":"error","name":"TokenCannotBeZero","inputs":[]},{"type":"error","name":"TokenNotAllowed","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"UserCannotBeZero","inputs":[]},{"type":"error","name":"UserCannotExecuteAction","inputs":[]},{"type":"error","name":"UserIsInactive","inputs":[]},{"type":"error","name":"UserNotInRegistry","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b506080516166846200004d6000396000818161181501528181611855015281816118f40152818161193401526119ac01526166846000f3fe6080604052600436106103425760003560e01c8063013cf08b1461034b57806301ffc9a71461038d578063059351cd146103bd578063062f9ece1461044a5780630a6f0ee91461046a5780630ba959091461048a5780630bece79c146104a95780630c0512e9146104d65780630f529ba2146104ec578063125fd1d91461050357806315cc481e14610519578063184b9559146105375780631aa91a9e146105575780631ddf1e23146105775780632506b8701461058c578063255ffb38146105cf5780632bbe0cae146105fc5780632dbd6fdd1461060f5780632ed04b2b1461063b578063311a6c561461065b578063339604591461067b578063346db8cb14610691578063351d9f96146106b15780633659cfe6146106d857806338fff2d0146106f8578063406244d81461070d57806341bb76051461072257806342fda9c71461077f57806348f19c1d146107945780634ab4ba42146107a95780634d31d087146107be5780634f1ef286146107de57806352d1902d146107f157806359a5db8b146108065780635db64b991461082657806360d5dedc14610853578063626c47e8146108735780636453d9c414610888578063715018a6146108a8578063782aadff146108bd578063814516ad146108dd578063817b1cd2146108f2578063824ea8ed14610908578063868c57b8146109285780638da5cb5b14610948578063950559d71461095d5780639a1c157c1461097d578063a0cf0aea14610992578063a28889e1146109ba578063a47ff7e5146109f2578063a574cea414610a09578063aba9ffee14610a36578063ac1ed7b914610a4c578063b0d3713a14610a6c578063b2b878d014610a8c578063b41596ec14610ab9578063b5f620ce14610acc578063b6c61f3114610aec578063bcc5b93b14610b0c578063c329217114610b2c578063c4d66de814610b49578063c7f758a814610b69578063d1e3623214610ba0578063dc96ff2d14610bb5578063df868ed314610be5578063e0a8f6f514610bfa578063e0dd2c3814610c1a578063eb11af9314610c3a578063edd146cc14610c62578063ef2920fc14610c82578063f2fde38b14610c95578063f5b0dfb714610cb5578063f5be3f7c14610cd5578063ffa1ad7414610ceb57005b3661034957005b005b34801561035757600080fd5b5061036b610366366004615045565b610d27565b6040516103849d9c9b9a99989796959493929190615100565b60405180910390f35b34801561039957600080fd5b506103ad6103a83660046151a2565b610e75565b6040519015158152602001610384565b3480156103c957600080fd5b50610412606f546000908152607f60205260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169694909316949193909290565b604080516001600160a01b039788168152969095166020870152938501929092526060840152608083015260a082015260c001610384565b34801561045657600080fd5b506103496104653660046152d7565b610eac565b34801561047657600080fd5b506103496104853660046154ac565b610ec2565b34801561049657600080fd5b506077545b604051908152602001610384565b3480156104b557600080fd5b506079546104c9906001600160a01b031681565b6040516103849190615523565b3480156104e257600080fd5b5061049b606e5481565b3480156104f857600080fd5b5061049b6298968081565b34801561050f57600080fd5b5061049b606f5481565b34801561052557600080fd5b506065546001600160a01b03166104c9565b34801561054357600080fd5b50610349610552366004615537565b610ee2565b34801561056357600080fd5b5061049b610572366004615045565b611042565b34801561058357600080fd5b5061034961108c565b34801561059857600080fd5b506072546073546074546075546105af9392919084565b604080519485526020850193909352918301526060820152608001610384565b3480156105db57600080fd5b5061049b6105ea366004615045565b607e6020526000908152604090205481565b6104c961060a366004615577565b611097565b34801561061b57600080fd5b5060765461062e90610100900460ff1681565b60405161038491906155dc565b34801561064757600080fd5b5061049b6106563660046155ea565b6110ba565b34801561066757600080fd5b50610349610676366004615616565b61117e565b34801561068757600080fd5b5061049b606c5481565b34801561069d57600080fd5b5061049b6106ac366004615638565b611770565b3480156106bd57600080fd5b506076546106cb9060ff1681565b6040516103849190615674565b3480156106e457600080fd5b506103496106f3366004615682565b61180b565b34801561070457600080fd5b5060685461049b565b34801561071957600080fd5b5061049b600a81565b34801561072e57600080fd5b5061041261073d366004615045565b607f602052600090815260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169593909416939192909186565b34801561078b57600080fd5b5060665461049b565b3480156107a057600080fd5b506104c96118d3565b3480156107b557600080fd5b5060695461049b565b3480156107ca57600080fd5b506103ad6107d9366004615682565b6118e2565b6103496107ec36600461569f565b6118ea565b3480156107fd57600080fd5b5061049b61199f565b34801561081257600080fd5b5061049b610821366004615045565b611a4d565b34801561083257600080fd5b5061049b610841366004615682565b607c6020526000908152604090205481565b34801561085f57600080fd5b5061034961086e3660046156ee565b611b67565b34801561087f57600080fd5b5061049b600381565b34801561089457600080fd5b506103496108a3366004615682565b611be3565b3480156108b457600080fd5b50610349611bf4565b3480156108c957600080fd5b5061049b6108d83660046155ea565b611c06565b3480156108e957600080fd5b50610349611d9c565b3480156108fe57600080fd5b5061049b60705481565b34801561091457600080fd5b506103ad610923366004615045565b611eb9565b34801561093457600080fd5b5061049b6109433660046155ea565b611f16565b34801561095457600080fd5b506104c9611f47565b34801561096957600080fd5b5061049b610978366004615045565b611fd8565b34801561098957600080fd5b5060745461049b565b34801561099e57600080fd5b506104c973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156109c657600080fd5b50606d546109da906001600160401b031681565b6040516001600160401b039091168152602001610384565b3480156109fe57600080fd5b5060775461049b9081565b348015610a1557600080fd5b50610a29610a24366004615045565b612002565b6040516103849190615749565b348015610a4257600080fd5b5061049b60715481565b348015610a5857600080fd5b50610349610a67366004615682565b6120e1565b348015610a7857600080fd5b50610349610a87366004615682565b612114565b348015610a9857600080fd5b50610aac610aa736600461575c565b61213e565b6040516103849190615830565b61049b610ac73660046158c9565b612159565b348015610ad857600080fd5b50610349610ae7366004615950565b6124ab565b348015610af857600080fd5b50607a546104c9906001600160a01b031681565b348015610b1857600080fd5b5061049b610b27366004615682565b6124b4565b348015610b3857600080fd5b50607654610100900460ff1661062e565b348015610b5557600080fd5b50610349610b64366004615682565b6124cf565b348015610b7557600080fd5b50610b89610b84366004615045565b6124ff565b6040516103849b9a9998979695949392919061596d565b348015610bac57600080fd5b5060715461049b565b348015610bc157600080fd5b5061049b610bd0366004615045565b6000908152607b602052604090206002015490565b348015610bf157600080fd5b506103ad61260b565b348015610c0657600080fd5b50610349610c15366004615045565b61261e565b348015610c2657600080fd5b5061049b610c353660046159dc565b6127a3565b348015610c4657600080fd5b50610c556107d9366004615682565b6040516103849190615a01565b348015610c6e57600080fd5b50610349610c7d366004615a14565b6127ce565b610349610c90366004615577565b6129a8565b348015610ca157600080fd5b50610349610cb0366004615682565b6129c2565b348015610cc157600080fd5b50610349610cd0366004615045565b612a2f565b348015610ce157600080fd5b5061049b611c2081565b348015610cf757600080fd5b50610d1a604051806040016040528060038152602001620302e360ec1b81525081565b6040516103849190615a44565b607b602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610dae90615a57565b80601f0160208091040260200160405190810160405280929190818152602001828054610dda90615a57565b8015610e275780601f10610dfc57610100808354040283529160200191610e27565b820191906000526020600020905b815481529060010190602001808311610e0a57829003601f168201915b50505091909252505060408051606081018252600c8501548152600d8501546020820152600e8501546001600160a01b031691810191909152600f840154601090940154929390929091508d565b60006001600160e01b0319821663f1801e6160e01b1480610ea657506301ffc9a760e01b6001600160e01b03198316145b92915050565b610eb4612a58565b610ebe8282612af2565b5050565b610eca612e67565b610ed2612e92565b610edd838383612eb5565b505050565b600054610100900460ff1615808015610f025750600054600160ff909116105b80610f235750610f11306131bf565b158015610f23575060005460ff166001145b610f8b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610fae576000805461ff0019166101001790555b610fdb846040518060400160405280600a8152602001694356537472617465677960b01b81525084611b67565b606a80546001600160a01b0319166001600160a01b038516179055801561103c576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b6000818152607b60205260408120805483146110745760405163c1d17bef60e01b815260048101849052602401610f82565b6110828182600201546131ce565b6003015492915050565b61109533613209565b565b60006110a1612e67565b6110a9612e92565b6110b38383613335565b9392505050565b60006110c4613723565b60006002607654610100900460ff1660038111156110e4576110e461506b565b148061110b57506001607654610100900460ff1660038111156111095761110961506b565b145b15611117575081611124565b611121848461374e565b90505b80607160008282546111369190615aa1565b90915550506040517f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19061116f90869086908590615ab4565b60405180910390a19392505050565b6000828152607e6020908152604080832054808452607b835281842060108101548552607f8452828520835160c08101855281546001600160a01b03908116825260018301541695810195909552600281015493850193909352600383015460608501526004830154608085015260059092015460a08401529290919083900361121e5760405163c1d17bef60e01b815260048101849052602401610f82565b6005600883015460ff1660068111156112395761123961506b565b1461125a57604051634b011ca960e11b815260048101849052602401610f82565b60a0810151600d83015460009161127091615ad5565b4211905080158161128b575081516001600160a01b03163314155b156112a957604051631777988560e11b815260040160405180910390fd5b80806112b3575084155b156113fc5781608001516000036112dd57604051630dd466dd60e41b815260040160405180910390fd5b81608001516001036112f95760088301805460ff191660011790555b81608001516002036113865760088301805460ff191660061790556079546005840154604084810151905163099ea56b60e41b81526001600160a01b03938416936399ea56b093611353938a939290911691600401615ae8565b600060405180830381600087803b15801561136d57600080fd5b505af1158015611381573d6000803e3d6000fd5b505050505b607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b0936113c5938a939290911691600401615ae8565b600060405180830381600087803b1580156113df57600080fd5b505af11580156113f3573d6000803e3d6000fd5b505050506116d9565b846001036114bd5760088301805460ff19166001179055607954600e8401546001600160a01b0391821691638969ab53918791166114386118d3565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611475573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114999190615b07565b86606001516040518563ffffffff1660e01b81526004016113c59493929190615b24565b846002036116d95760088301805460ff19166006179055607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b093611513938a939290911691600401615ae8565b600060405180830381600087803b15801561152d57600080fd5b505af1158015611541573d6000803e3d6000fd5b505060795460058601546001600160a01b039182169350638969ab53925087911661156a6118d3565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115cb9190615b07565b606f546000908152607f602052604090206002908101546115ec9190615b5f565b6040518563ffffffff1660e01b815260040161160b9493929190615b24565b600060405180830381600087803b15801561162557600080fd5b505af1158015611639573d6000803e3d6000fd5b50506079546005860154600e870154606f546000908152607f602052604090206002908101546001600160a01b039485169650638969ab5395508a9493841693909216916116879190615b5f565b6040518563ffffffff1660e01b81526004016116a69493929190615b24565b600060405180830381600087803b1580156116c057600080fd5b505af11580156116d4573d6000803e3d6000fd5b505050505b606d80546001600160401b03169060006116f283615b81565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550504283600f01819055508582600001516001600160a01b03167f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222768760405161176091815260200190565b60405180910390a3505050505050565b607454600090849082906117959061178f90629896809060801b615b5f565b83613951565b905060806001607f1b607260020154629896806117b29190615aa1565b6117c084600160801b615aa1565b6117cd6298968089615ba4565b6117d79190615ba4565b6117e19190615b5f565b6117eb8885615ba4565b6117f59190615ad5565b6117ff9190615ad5565b901c9695505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036118535760405162461bcd60e51b8152600401610f8290615bbb565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166118856139f9565b6001600160a01b0316146118ab5760405162461bcd60e51b8152600401610f8290615bf5565b6118b481613a15565b604080516000808252602082019092526118d091839190613a50565b50565b6078546001600160a01b031690565b600080610ea6565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036119325760405162461bcd60e51b8152600401610f8290615bbb565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166119646139f9565b6001600160a01b03161461198a5760405162461bcd60e51b8152600401610f8290615bf5565b61199382613a15565b610ebe82826001613a50565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611a3a5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610f82565b506000805160206165e883398151915290565b60008060695411611a715760405163ed4421ad60e01b815260040160405180910390fd5b611a7a82613bbb565b15611a9857604051630efd728560e21b815260040160405180910390fd5b606954600090611aac84600160401b615ba4565b611ab69190615b5f565b6072546298968090611acc90600160401b615ba4565b611ad69190615b5f565b611ae09190615aa1565b90506040611aed60715490565b607454611afd9062989680615aa1565b629896806040611b0d8680615ba4565b607354911c90611b2490629896809060801b615b5f565b611b2e9190615b5f565b611b389190615ba4565b611b429190615b5f565b611b4c9190615ba4565b607554911c92508211611b61576075546110b3565b50919050565b600054610100900460ff16611b8e5760405162461bcd60e51b8152600401610f8290615c2f565b611b97816124cf565b606580546001600160a01b0319166001600160a01b038516179055604051611bc3908390602001615a44565b60408051601f198184030181529190528051602090910120606655505050565b611beb613723565b6118d081613209565b611bfc613be2565b6110956000613c41565b6000611c10613723565b611c1983613c93565b611c3657604051630b72d6b160e31b815260040160405180910390fd5b60006002607654610100900460ff166003811115611c5657611c5661506b565b03611c6457825b9050611cc1565b6001607654610100900460ff166003811115611c8257611c8261506b565b03611c9157611c5d8484613d21565b6003607654610100900460ff166003811115611caf57611caf61506b565b03611cc157611cbe8484613dca565b90505b6000611ccb6118d3565b6001600160a01b031663477a5cc086306040518363ffffffff1660e01b8152600401611cf8929190615c7a565b602060405180830381865afa158015611d15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d399190615c94565b90508015611d59578160716000828254611d539190615ad5565b90915550505b7f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a858584604051611d8c93929190615ab4565b60405180910390a1509392505050565b33611da681613c93565b611dc357604051630b72d6b160e31b815260040160405180910390fd5b611dcb6118d3565b6001600160a01b0316630d4a8b4982306040518363ffffffff1660e01b8152600401611df8929190615c7a565b600060405180830381600087803b158015611e1257600080fd5b505af1158015611e26573d6000803e3d6000fd5b50505050611e326118d3565b6001600160a01b0316637817ee4f82306040518363ffffffff1660e01b8152600401611e5f929190615c7a565b602060405180830381865afa158015611e7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea09190615cb1565b60716000828254611eb19190615ad5565b909155505050565b6000818152607b60205260408120600281015482908190611edb908490613fcb565b91509150816000148015611eed575080155b15611efa57826003015491505b6000611f098460010154611a4d565b9092101595945050505050565b607d6020528160005260406000208181548110611f3257600080fd5b90600052602060002001600091509150505481565b600080611f5c6033546001600160a01b031690565b9050806001600160a01b03163b600003611f7557919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611fcf575060408051601f3d908101601f19168201909252611fcc91810190615b07565b60015b610ea657919050565b607454600090611feb9062989680615aa1565b611ff86298968084615ba4565b610ea69190615b5f565b6040805180820190915260008152606060208201526000607b6000848152602001908152602001600020905080600a016040518060400160405290816000820154815260200160018201805461205790615a57565b80601f016020809104026020016040519081016040528092919081815260200182805461208390615a57565b80156120d05780601f106120a5576101008083540402835291602001916120d0565b820191906000526020600020905b8154815290600101906020018083116120b357829003601f168201915b505050505081525050915050919050565b6120e9612a58565b6120f281614023565b607a80546001600160a01b0319166001600160a01b0392909216919091179055565b61211c613be2565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b606060405163d623472560e01b815260040160405180910390fd5b6000858152607b6020908152604080832060108101548452607f8352818420825160c08101845281546001600160a01b0390811680835260018401549091169582019590955260028201549381019390935260038101546060840152600481015460808401526005015460a0830152916121e657604051636c291fd360e01b815260040160405180910390fd5b8154881461220a5760405163c1d17bef60e01b815260048101899052602401610f82565b6001600883015460ff1660068111156122255761222561506b565b14612246576040516344980d8f60e01b815260048101899052602401610f82565b8060600151341015612272576060810151604051632c1f8ef160e21b8152610f82913491600401615cda565b600f82015415801590612295575042611c2083600f01546122939190615ad5565b115b156122d3578742611c2084600f01546122ae9190615ad5565b6122b89190615aa1565b604051638d2f6c3160e01b8152600401610f82929190615cda565b60008160600151346122e59190615aa1565b607954606084015160405163240ff7c560e11b81529293506001600160a01b039091169163481fef8a9190612320908d903390600401615ce8565b6000604051808303818588803b15801561233957600080fd5b505af115801561234d573d6000803e3d6000fd5b5050845160405163c13517e160e01b81526001600160a01b03909116935063c13517e19250849150612388906003908b908b90600401615d28565b60206040518083038185885af11580156123a6573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906123cb9190615cb1565b60088401805491955060059160ff19166001830217905550600c830184905542600d840155600e830180546001600160a01b031916331790556000848152607e602052604081208a9055606d80546001600160401b03169161242c83615d4b565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550507f034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d82600001518a86338c8c89600c01600101546040516124979796959493929190615d79565b60405180910390a150505095945050505050565b6118d08161404a565b6001600160a01b03166000908152607c602052604090205490565b600054610100900460ff166124f65760405162461bcd60e51b8152600401610f8290615c2f565b6118d081613c41565b600080600080600080600080600080600080607b60008e8152602001908152602001600020905080600101546000146125445761253f8160010154611a4d565b612547565b60005b93508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548b896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020548a601001549b509b509b509b509b509b509b509b509b509b509b505091939597999b90929496989a50565b600061261960675460ff1690565b905090565b60016000828152607b602052604090206008015460ff1660068111156126465761264661506b565b14612667576040516344980d8f60e01b815260048101829052602401610f82565b6000818152607b60205260409020600501546001600160a01b031633146126c0576000818152607b602052604090819020600501549051634544dc9160e11b8152610f82916001600160a01b0316903390600401615c7a565b6079546000828152607b6020908152604080832060058101546010909101548452607f9092529182902060020154915163099ea56b60e41b81526001600160a01b03938416936399ea56b09361271d938793921691600401615ae8565b600060405180830381600087803b15801561273757600080fd5b505af115801561274b573d6000803e3d6000fd5b5050506000828152607b6020908152604091829020600801805460ff1916600317905590518381527f416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c9250015b60405180910390a150565b6000828152607b602090815260408083206001600160a01b03851684526009019091528120546110b3565b6127d6612e67565b6127df8261408b565b606a54606c8054612808926001600160a01b03169160006127ff83615dc8565b919050556140da565b607980546001600160a01b0319166001600160a01b039290921691821790556040805163204a7f0760e21b81529051638129fc1c9160048082019260009290919082900301818387803b15801561285e57600080fd5b505af1158015612872573d6000803e3d6000fd5b5050505060008180602001905181019061288c9190615eac565b60a08101519091506001600160a01b03166128ba57604051635df4b1ef60e01b815260040160405180910390fd5b60a0810151607880546001600160a01b0319166001600160a01b0390921691909117905560208101516076805460ff191660018360028111156128ff576128ff61506b565b021790555060408101516076805461ff0019166101008360038111156129275761292761506b565b021790555060608101515160775560c0810151607a80546001600160a01b0319166001600160a01b039092169190911790556080810151815161296a9190612af2565b7fe5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b838260405161299b929190615f9d565b60405180910390a1505050565b6129b0612e67565b6129b8612e92565b610ebe8282614129565b6129ca613be2565b6001600160a01b0381166124f65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610f82565b612a37612e67565b8060696000828254612a499190615ad5565b909155506118d090508161421c565b612a606118d3565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ac19190615b07565b6001600160a01b0316336001600160a01b03161461109557604051637430763f60e11b815260040160405180910390fd5b60208201516001600160a01b031615801590612b17575081516001600160a01b031615155b8015612c005750606f546000908152607f6020908152604090912060010154908301516001600160a01b039081169116141580612b735750606f546000908152607f602052604090205482516001600160a01b03908116911614155b80612b975750606f546000908152607f602052604090819020600201549083015114155b80612bba5750606f546000908152607f6020526040902060030154606083015114155b80612bdd5750606f546000908152607f6020526040902060040154608083015114155b80612c005750606f546000908152607f602052604090206005015460a083015114155b15612e0f57602080830151606f546000908152607f9092526040909120600101546001600160a01b039081169116141580612c5a57508151606f546000908152607f60205260409020546001600160a01b03908116911614155b15612d23578151602083015160405163446adb9960e11b81526001600160a01b03909216916388d5b73291612c9191600401615523565b600060405180830381600087803b158015612cab57600080fd5b505af1158015612cbf573d6000803e3d6000fd5b5050835160208501516040517fdc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f9450612d1a9350309291906001600160a01b0393841681529183166020830152909116604082015260600190565b60405180910390a15b606f8054906000612d3383615dc8565b9091555050606f80546000908152607f6020908152604091829020855181546001600160a01b03199081166001600160a01b03928316908117845588850151600185018054909316931692831790915587850151600284018190556060808a0151600386018190556080808c01516004880181905560a0808e015160059099018990559a548a519081529889019590955297870194909452850152938301529281019190915260c08101919091527fe677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d539060e00160405180910390a15b805160725560208101516073556040808201516074556060820151607555517fec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc90612e5b90839061605d565b60405180910390a15050565b6065546001600160a01b031633146110955760405163075fd2b160e01b815260040160405180910390fd5b60685460000361109557604051630f68fe6360e21b815260040160405180910390fd5b6000825111612ed757604051630317df1360e61b815260040160405180910390fd5b600082806020019051810190612eed9190615cb1565b905080600003612f105760405163f881a10d60e01b815260040160405180910390fd5b6000818152607b60205260409020600160765460ff166002811115612f3757612f3761506b565b036131b85780548214612f605760405163c1d17bef60e01b815260048101839052602401610f82565b60695481600101541115612f9357818160010154606954604051632c31d85b60e11b8152600401610f829392919061606b565b6001600882015460ff166006811115612fae57612fae61506b565b14612fcf576040516344980d8f60e01b815260048101839052602401610f82565b6000612fda83611042565b90506000612feb8360010154611a4d565b90508082108015613000575060008360010154115b1561301e5760405163199cf26160e31b815260040160405180910390fd5b60655460685460405163068bcd8d60e01b815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561306c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613094919081019061610e565b90508360010154606960008282546130ac9190615aa1565b90915550506040810151600485015460018601546130d492916001600160a01b03169061424c565b60088401805460ff191660049081179091556079546005860154606f546000908152607f60205260409081902060020154905163099ea56b60e41b81526001600160a01b03938416946399ea56b094613134948c94911692909101615ae8565b600060405180830381600087803b15801561314e57600080fd5b505af1158015613162573d6000803e3d6000fd5b505050600485015460018601546040517fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f3584793506131ac9289926001600160a01b0390911691615ae8565b60405180910390a15050505b5050505050565b6001600160a01b03163b151590565b6000806131db8484613fcb565b915091508160001480156131ed575080155b156131f85750505050565b600784015560039092019190915550565b6132116118d3565b6001600160a01b0316637817ee4f82306040518363ffffffff1660e01b815260040161323e929190615c7a565b602060405180830381865afa15801561325b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061327f9190615cb1565b607160008282546132909190615aa1565b9091555061329e90506118d3565b6001600160a01b03166322bcf99982306040518363ffffffff1660e01b81526004016132cb929190615c7a565b600060405180830381600087803b1580156132e557600080fd5b505af11580156132f9573d6000803e3d6000fd5b5050505061330681614286565b7f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b816040516127989190615523565b600061334082613c93565b61335d57604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061337391906161c1565b80519091506000036133985760405163273c8bc360e11b815260040160405180910390fd5b600160765460ff1660028111156133b1576133b161506b565b03613532576133c38160200151614023565b60608101516001600160a01b03166133ee5760405163165a825360e21b815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561342e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134529190615b07565b825160405163068bcd8d60e01b815260048101919091529091506000906001600160a01b0383169063068bcd8d90602401600060405180830381865afa1580156134a0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134c8919081019061610e565b905080604001516001600160a01b031683606001516001600160a01b0316146135045760405163514e24c360e11b815260040160405180910390fd5b6135118360400151613bbb565b1561352f57604051630efd728560e21b815260040160405180910390fd5b50505b606f546000908152607f60205260409020546001600160a01b03161580159061356e5750606f546000908152607f602052604090206002015434105b156135a457606f546000908152607f602052604090819020600201549051632c1f8ef160e21b8152610f82913491600401615cda565b6000606e600081546135b590615dc8565b91829055506000818152607b602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b84019061366990826162b5565b5050606f54601083015550607954600582015460405163240ff7c560e11b81526001600160a01b039283169263481fef8a9234926136ad9288921690600401615ce8565b6000604051808303818588803b1580156136c657600080fd5b505af11580156136da573d6000803e3d6000fd5b50505050507ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b60685483604051613712929190615cda565b60405180910390a150949350505050565b6078546001600160a01b03163314611095576040516357848b5160e11b815260040160405180910390fd5b6000601261375a6118d3565b6001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613797573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137bb9190615b07565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613814575060408051601f3d908101601f1916820190925261381191810190616374565b60015b1561381f5760ff1690505b60008361382a6118d3565b6001600160a01b0316632c611c4a876040518263ffffffff1660e01b81526004016138559190615523565b602060405180830381865afa158015613872573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138969190615cb1565b6138a09190615aa1565b905060006138c16138b284600a61647b565b6138bc9084615ba4565b6143e7565b90506000816138ce6118d3565b6001600160a01b0316637817ee4f89306040518363ffffffff1660e01b81526004016138fb929190615c7a565b602060405180830381865afa158015613918573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061393c9190615cb1565b6139469190615aa1565b979650505050505050565b6000600160801b83106139a55760405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401610f82565b50600160801b82825b80156139f157806001166000036139d3576139c982836144cf565b915060011c6139ae565b6139dd83836144cf565b92506139ea600182615aa1565b90506139ae565b505092915050565b6000805160206165e8833981519152546001600160a01b031690565b33613a1e611f47565b6001600160a01b0316146118d05733613a35611f47565b60405163163678e960e01b8152600401610f82929190615c7a565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615613a8357610edd836145ac565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613add575060408051601f3d908101601f19168201909252613ada91810190615cb1565b60015b613b405760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610f82565b6000805160206165e88339815191528114613baf5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610f82565b50610edd838383614646565b6000613bca6298968083615ba4565b606954607254613bda9190615ba4565b111592915050565b33613beb611f47565b6001600160a01b0316146110955760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610f82565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b607a546000906001600160a01b0316613cae57506001919050565b607a546040516302154c3d60e51b81526001600160a01b03909116906342a987a090613ce09085903090600401615c7a565b602060405180830381865afa158015613cfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea69190615c94565b60008181613d2d6118d3565b6001600160a01b0316637817ee4f86306040518363ffffffff1660e01b8152600401613d5a929190615c7a565b602060405180830381865afa158015613d77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d9b9190615cb1565b607754909150613dab8383615ad5565b1115613dc257607754613dbf908290615aa1565b91505b509392505050565b60008082613dd66118d3565b6001600160a01b0316632c611c4a866040518263ffffffff1660e01b8152600401613e019190615523565b602060405180830381865afa158015613e1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e429190615cb1565b613e4c9190615ad5565b90506012613e586118d3565b6001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613e95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eb99190615b07565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613f12575060408051601f3d908101601f19168201909252613f0f91810190616374565b60015b15613f1d5760ff1690505b6000613f37613f2d83600a61647b565b6138bc9085615ba4565b90506000613f436118d3565b6001600160a01b0316637817ee4f88306040518363ffffffff1660e01b8152600401613f70929190615c7a565b602060405180830381865afa158015613f8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613fb19190615cb1565b90506000613fbf8284615aa1565b98975050505050505050565b6000804390508084600701541115613fe557613fe5616487565b80846007015403613ffb5750600090508061401c565b61401984600701548261400e9190615aa1565b856003015485611770565b91505b9250929050565b6001600160a01b0381166118d0576040516303988b8160e61b815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001612798565b614093612e67565b606854156140b45760405163439a74c960e01b815260040160405180910390fd5b806000036140d557604051637fcce2a960e01b815260040160405180910390fd5b606855565b6040516001600160601b03193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050614121848261466b565b949350505050565b61413281614702565b61413b81613c93565b61415857604051630b72d6b160e31b815260040160405180910390fd5b60006141626118d3565b6001600160a01b031663477a5cc083306040518363ffffffff1660e01b815260040161418f929190615c7a565b602060405180830381865afa1580156141ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141d09190615c94565b9050806141f057604051635fccb67f60e01b815260040160405180910390fd5b600083806020019051810190614206919061649d565b905061421283826147e3565b61103c8382614978565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001612798565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161427b57610edd8282614d50565b610edd838383614d6c565b6001600160a01b0381166000908152607d60209081526040808320805482518185028101850190935280835291929091908301828280156142e657602002820191906000526020600020905b8154815260200190600101908083116142d2575b5050505050905060005b8151811015610edd57600082828151811061430d5761430d616547565b602002602001015190506000607b6000838152602001908152602001600020905061433782614db2565b156143d2576001600160a01b0385166000908152600982016020526040812080549082905560028301805491928392614371908490615aa1565b92505081905550806070600082825461438a9190615aa1565b9091555061439a905082826131ce565b60008051602061660883398151915286846000856002015486600301546040516143c895949392919061655d565b60405180910390a1505b505080806143df90615dc8565b9150506142f0565b6000816000036143f957506000919050565b6000600161440684614deb565b901c6001901b9050600181848161441f5761441f615b49565b048201901c9050600181848161443757614437615b49565b048201901c9050600181848161444f5761444f615b49565b048201901c9050600181848161446757614467615b49565b048201901c9050600181848161447f5761447f615b49565b048201901c9050600181848161449757614497615b49565b048201901c905060018184816144af576144af615b49565b048201901c90506110b3818285816144c9576144c9615b49565b04614e7f565b6000600160801b8311156145365760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608401610f82565b600160801b82106145885760405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401610f82565b60806001607f1b6145998486615ba4565b6145a39190615ad5565b901c9392505050565b6145b5816131bf565b6146175760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610f82565b6000805160206165e883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61464f83614e95565b60008251118061465c5750805b15610edd5761103c8383614ed5565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b038116610ea65760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606401610f82565b6001600160a01b03811661472957604051631a3e505160e31b815260040160405180910390fd5b6078546001600160a01b031661475257604051635df4b1ef60e01b815260040160405180910390fd5b61475a6118d3565b6001600160a01b031663a230c524826040518263ffffffff1660e01b81526004016147859190615523565b602060405180830381865afa1580156147a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147c69190615c94565b6118d057604051636a5cfb6d60e01b815260040160405180910390fd5b6000805b82518110156148a05782818151811061480257614802616547565b6020026020010151600001516000031561488e57600083828151811061482a5761482a616547565b602002602001015160000151905061484181614db2565b6148615760405163c1d17bef60e01b815260048101829052602401610f82565b83828151811061487357614873616547565b6020026020010151602001518361488a919061658b565b9250505b8061489881615dc8565b9150506147e7565b5060006148b56148af856124b4565b83614efa565b905060006148c16118d3565b6001600160a01b0316637817ee4f86306040518363ffffffff1660e01b81526004016148ee929190615c7a565b602060405180830381865afa15801561490b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061492f9190615cb1565b905080821115614956578181604051636b20c17f60e11b8152600401610f82929190615cda565b506001600160a01b039093166000908152607c60205260409020929092555050565b606060005b825181101561103c57600083828151811061499a5761499a616547565b602002602001015160000151905082516000036149f657604080516001808252818301909252906020808301908036833701905050925080836000815181106149e5576149e5616547565b602002602001018181525050614b29565b6000805b8451811015614a565782858281518110614a1657614a16616547565b602002602001015103614a4457600191508281604051632b7aec5560e21b8152600401610f82929190615cda565b80614a4e81615dc8565b9150506149fa565b5080614b2757600084516001614a6c9190615ad5565b6001600160401b03811115614a8357614a836151cc565b604051908082528060200260200182016040528015614aac578160200160208202803683370190505b50905060005b8551811015614b0457858181518110614acd57614acd616547565b6020026020010151828281518110614ae757614ae7616547565b602090810291909101015280614afc81615dc8565b915050614ab2565b508281865181518110614b1957614b19616547565b602090810291909101015293505b505b6000848381518110614b3d57614b3d616547565b6020908102919091018101518101516000848152607b835260408082206001600160a01b038b16835260098101909452812054919350614b7d8285614efa565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607d6020526040902054811015614c165784546001600160a01b038c166000908152607d60205260409020805483908110614beb57614beb616547565b906000526020600020015403614c045760019150614c16565b80614c0e81615dc8565b915050614b9f565b5080614c4c576001600160a01b038a166000908152607d6020908152604082208654815460018101835591845291909220909101555b818311614c9c57614c5d8383615aa1565b60706000828254614c6e9190615ad5565b90915550614c7e90508383615aa1565b846002016000828254614c919190615ad5565b90915550614ce09050565b614ca68284615aa1565b60706000828254614cb79190615aa1565b90915550614cc790508284615aa1565b846002016000828254614cda9190615aa1565b90915550505b8360070154600003614cf757436007850155614d37565b614d0184846131ce565b6000805160206166088339815191528a878487600201548860030154604051614d2e95949392919061655d565b60405180910390a15b5050505050508080614d4890615dc8565b91505061497d565b60008060008084865af1610ebe5763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d156001600051141716614da8576390b8ec186000526004601cfd5b6000603452505050565b6000818152607b602052604081205415801590610ea65750506000908152607b60205260409020600501546001600160a01b0316151590565b600080608083901c15614e0057608092831c92015b604083901c15614e1257604092831c92015b602083901c15614e2457602092831c92015b601083901c15614e3657601092831c92015b600883901c15614e4857600892831c92015b600483901c15614e5a57600492831c92015b600283901c15614e6c57600292831c92015b600183901c15610ea65760010192915050565b6000818310614e8e57816110b3565b5090919050565b614e9e816145ac565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606110b3838360405180606001604052806027815260200161662860279139614f31565b600080614f07838561658b565b905060008112156110b357838382604051631dde38a160e11b8152600401610f829392919061606b565b6060600080856001600160a01b031685604051614f4e91906165ab565b600060405180830381855af49150503d8060008114614f89576040519150601f19603f3d011682016040523d82523d6000602084013e614f8e565b606091505b5091509150614f9f86838387614fa9565b9695505050505050565b6060831561501657825160000361500f57614fc3856131bf565b61500f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610f82565b5081614121565b614121838381511561502b5781518083602001fd5b8060405162461bcd60e51b8152600401610f829190615a44565b60006020828403121561505757600080fd5b5035919050565b6001600160a01b03169052565b634e487b7160e01b600052602160045260246000fd5b600781106118d0576118d061506b565b60005b838110156150ac578181015183820152602001615094565b50506000910152565b600081518084526150cd816020860160208601615091565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015261412160408501826150b5565b60006101e08f83528e60208401528d60408401528c606084015260018060a01b03808d166080850152808c1660a0850152808b1660c08501528960e085015261514889615081565b8861010085015281610120850152615162828501896150e1565b875161014086015260208801516101608601526040909701511661018084015250506101a08101929092526101c0909101529a9950505050505050505050565b6000602082840312156151b457600080fd5b81356001600160e01b0319811681146110b357600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715615204576152046151cc565b60405290565b60405160c081016001600160401b0381118282101715615204576152046151cc565b60405160e081016001600160401b0381118282101715615204576152046151cc565b604080519081016001600160401b0381118282101715615204576152046151cc565b60405160a081016001600160401b0381118282101715615204576152046151cc565b604051601f8201601f191681016001600160401b03811182821017156152ba576152ba6151cc565b604052919050565b6001600160a01b03811681146118d057600080fd5b6000808284036101408112156152ec57600080fd5b60c08112156152fa57600080fd5b61530261520a565b843561530d816152c2565b8152602085013561531d816152c2565b602082015260408581013590820152606080860135908201526080808601358183015260a0808701359083015290935060bf198201121561535d57600080fd5b506153666151e2565b60c0840135815260e0840135602082015261010084013560408201526101209093013560608401525092909150565b60006001600160401b038211156153ae576153ae6151cc565b5060051b60200190565b600082601f8301126153c957600080fd5b813560206153de6153d983615395565b615292565b82815260059290921b840181019181810190868411156153fd57600080fd5b8286015b84811015615421578035615414816152c2565b8352918301918301615401565b509695505050505050565b60006001600160401b03821115615445576154456151cc565b50601f01601f191660200190565b60006154616153d98461542c565b905082815283838301111561547557600080fd5b828260208301376000602084830101529392505050565b600082601f83011261549d57600080fd5b6110b383833560208501615453565b6000806000606084860312156154c157600080fd5b83356001600160401b03808211156154d857600080fd5b6154e4878388016153b8565b945060208601359150808211156154fa57600080fd5b506155078682870161548c565b9250506040840135615518816152c2565b809150509250925092565b6001600160a01b0391909116815260200190565b60008060006060848603121561554c57600080fd5b8335615557816152c2565b92506020840135615567816152c2565b91506040840135615518816152c2565b6000806040838503121561558a57600080fd5b82356001600160401b038111156155a057600080fd5b6155ac8582860161548c565b92505060208301356155bd816152c2565b809150509250929050565b600481106155d8576155d861506b565b9052565b60208101610ea682846155c8565b600080604083850312156155fd57600080fd5b8235615608816152c2565b946020939093013593505050565b6000806040838503121561562957600080fd5b50508035926020909101359150565b60008060006060848603121561564d57600080fd5b505081359360208301359350604090920135919050565b600381106155d8576155d861506b565b60208101610ea68284615664565b60006020828403121561569457600080fd5b81356110b3816152c2565b600080604083850312156156b257600080fd5b82356156bd816152c2565b915060208301356001600160401b038111156156d857600080fd5b6156e48582860161548c565b9150509250929050565b60008060006060848603121561570357600080fd5b833561570e816152c2565b925060208401356001600160401b0381111561572957600080fd5b8401601f8101861361573a57600080fd5b61550786823560208401615453565b6020815260006110b360208301846150e1565b6000806040838503121561576f57600080fd5b82356001600160401b038082111561578657600080fd5b615792868387016153b8565b93506020915081850135818111156157a957600080fd5b8501601f810187136157ba57600080fd5b80356157c86153d982615395565b81815260059190911b820184019084810190898311156157e757600080fd5b8584015b8381101561581f578035868111156158035760008081fd5b6158118c898389010161548c565b8452509186019186016157eb565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b8281101561587b57815180516001600160a01b0316855286015186850152928401929085019060010161584d565b5091979650505050505050565b60008083601f84011261589a57600080fd5b5081356001600160401b038111156158b157600080fd5b60208301915083602082850101111561401c57600080fd5b6000806000806000606086880312156158e157600080fd5b8535945060208601356001600160401b03808211156158ff57600080fd5b61590b89838a01615888565b9096509450604088013591508082111561592457600080fd5b5061593188828901615888565b969995985093965092949392505050565b80151581146118d057600080fd5b60006020828403121561596257600080fd5b81356110b381615942565b6001600160a01b038c811682528b811660208301528a166040820152606081018990526080810188905261016081016159a588615081565b8760a08301528660c08301528560e08301528461010083015283610120830152826101408301529c9b505050505050505050505050565b600080604083850312156159ef57600080fd5b8235915060208301356155bd816152c2565b60208101615a0e83615081565b91905290565b60008060408385031215615a2757600080fd5b8235915060208301356001600160401b038111156156d857600080fd5b6020815260006110b360208301846150b5565b600181811c90821680615a6b57607f821691505b602082108103611b6157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610ea657610ea6615a8b565b6001600160a01b039390931683526020830191909152604082015260600190565b80820180821115610ea657610ea6615a8b565b9283526001600160a01b03919091166020830152604082015260600190565b600060208284031215615b1957600080fd5b81516110b3816152c2565b9384526001600160a01b03928316602085015291166040830152606082015260800190565b634e487b7160e01b600052601260045260246000fd5b600082615b7c57634e487b7160e01b600052601260045260246000fd5b500490565b60006001600160401b03821680615b9a57615b9a615a8b565b6000190192915050565b8082028115828204841417610ea657610ea6615a8b565b6020808252602c908201526000805160206165c883398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206165c883398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0392831681529116602082015260400190565b600060208284031215615ca657600080fd5b81516110b381615942565b600060208284031215615cc357600080fd5b5051919050565b8051615cd5816152c2565b919050565b918252602082015260400190565b9182526001600160a01b0316602082015260400190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b838152604060208201526000615d42604083018486615cff565b95945050505050565b60006001600160401b038281166002600160401b03198101615d6f57615d6f615a8b565b6001019392505050565b6001600160a01b03888116825260208201889052604082018790528516606082015260c060808201819052600090615db49083018587615cff565b90508260a083015298975050505050505050565b600060018201615dda57615dda615a8b565b5060010190565b805160038110615cd557600080fd5b805160048110615cd557600080fd5b600060208284031215615e1157600080fd5b604051602081016001600160401b0381118282101715615e3357615e336151cc565b6040529151825250919050565b600060c08284031215615e5257600080fd5b615e5a61520a565b90508151615e67816152c2565b81526020820151615e77816152c2565b8060208301525060408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b60008183036101e0811215615ec057600080fd5b615ec861522c565b6080821215615ed657600080fd5b615ede6151e2565b915083518252602084015160208301526040840151604083015260608401516060830152818152615f1160808501615de1565b6020820152615f2260a08501615df0565b6040820152615f348560c08601615dff565b6060820152615f468560e08601615e40565b6080820152615f586101a08501615cca565b60a0820152615f6a6101c08501615cca565b60c0820152949350505050565b805182526020810151602083015260408101516040830152606081015160608301525050565b600061020082019050838252615fb7602083018451615f77565b6020830151615fc960a0840182615664565b506040830151615fdc60c08401826155c8565b506060838101515160e084015260808085015180516001600160a01b0390811661010087015260208201511661012086015260408101516101408601529182015161016085015281015161018084015260a0908101516101a08401528301516160496101c084018261505e565b5060c0830151613dc26101e084018261505e565b60808101610ea68284615f77565b9283526020830191909152604082015260600190565b60006040828403121561609357600080fd5b61609b61524e565b8251815260208301519091506001600160401b038111156160bb57600080fd5b8201601f810184136160cc57600080fd5b80516160da6153d98261542c565b8181528560208385010111156160ef57600080fd5b616100826020830160208601615091565b602084015250909392505050565b60006020828403121561612057600080fd5b81516001600160401b038082111561613757600080fd5b9083019060c0828603121561614b57600080fd5b61615361520a565b825181526020830151616165816152c2565b60208201526040830151616178816152c2565b604082015260608301518281111561618f57600080fd5b61619b87828601616081565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6000602082840312156161d357600080fd5b81516001600160401b03808211156161ea57600080fd5b9083019060a082860312156161fe57600080fd5b616206615270565b825181526020830151616218816152c2565b6020820152604083810151908201526060830151616235816152c2565b606082015260808301518281111561624c57600080fd5b61625887828601616081565b60808301525095945050505050565b601f821115610edd57600081815260208120601f850160051c8101602086101561628e5750805b601f850160051c820191505b818110156162ad5782815560010161629a565b505050505050565b81516001600160401b038111156162ce576162ce6151cc565b6162e2816162dc8454615a57565b84616267565b602080601f83116001811461631757600084156162ff5750858301515b600019600386901b1c1916600185901b1785556162ad565b600085815260208120601f198616915b8281101561634657888601518255948401946001909101908401616327565b50858210156163645787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561638657600080fd5b815160ff811681146110b357600080fd5b600181815b808511156163d25781600019048211156163b8576163b8615a8b565b808516156163c557918102915b93841c939080029061639c565b509250929050565b6000826163e957506001610ea6565b816163f657506000610ea6565b816001811461640c576002811461641657616432565b6001915050610ea6565b60ff84111561642757616427615a8b565b50506001821b610ea6565b5060208310610133831016604e8410600b8410161715616455575081810a610ea6565b61645f8383616397565b806000190482111561647357616473615a8b565b029392505050565b60006110b383836163da565b634e487b7160e01b600052600160045260246000fd5b600060208083850312156164b057600080fd5b82516001600160401b038111156164c657600080fd5b8301601f810185136164d757600080fd5b80516164e56153d982615395565b81815260069190911b8201830190838101908783111561650457600080fd5b928401925b8284101561394657604084890312156165225760008081fd5b61652a61524e565b845181528585015186820152825260409093019290840190616509565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03959095168552602085019390935260408401919091526060830152608082015260a00190565b80820182811260008312801582168215821617156139f1576139f1615a8b565b600082516165bd818460208701615091565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122079886af1170517d558760581dbadd6f01b3e42319e0bf3bd232a67d0eed2451864736f6c63430008130033","sourceMap":"3983:51407:98:-:0;;;1088:4:64;1045:48;;3983:51407:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106103425760003560e01c8063013cf08b1461034b57806301ffc9a71461038d578063059351cd146103bd578063062f9ece1461044a5780630a6f0ee91461046a5780630ba959091461048a5780630bece79c146104a95780630c0512e9146104d65780630f529ba2146104ec578063125fd1d91461050357806315cc481e14610519578063184b9559146105375780631aa91a9e146105575780631ddf1e23146105775780632506b8701461058c578063255ffb38146105cf5780632bbe0cae146105fc5780632dbd6fdd1461060f5780632ed04b2b1461063b578063311a6c561461065b578063339604591461067b578063346db8cb14610691578063351d9f96146106b15780633659cfe6146106d857806338fff2d0146106f8578063406244d81461070d57806341bb76051461072257806342fda9c71461077f57806348f19c1d146107945780634ab4ba42146107a95780634d31d087146107be5780634f1ef286146107de57806352d1902d146107f157806359a5db8b146108065780635db64b991461082657806360d5dedc14610853578063626c47e8146108735780636453d9c414610888578063715018a6146108a8578063782aadff146108bd578063814516ad146108dd578063817b1cd2146108f2578063824ea8ed14610908578063868c57b8146109285780638da5cb5b14610948578063950559d71461095d5780639a1c157c1461097d578063a0cf0aea14610992578063a28889e1146109ba578063a47ff7e5146109f2578063a574cea414610a09578063aba9ffee14610a36578063ac1ed7b914610a4c578063b0d3713a14610a6c578063b2b878d014610a8c578063b41596ec14610ab9578063b5f620ce14610acc578063b6c61f3114610aec578063bcc5b93b14610b0c578063c329217114610b2c578063c4d66de814610b49578063c7f758a814610b69578063d1e3623214610ba0578063dc96ff2d14610bb5578063df868ed314610be5578063e0a8f6f514610bfa578063e0dd2c3814610c1a578063eb11af9314610c3a578063edd146cc14610c62578063ef2920fc14610c82578063f2fde38b14610c95578063f5b0dfb714610cb5578063f5be3f7c14610cd5578063ffa1ad7414610ceb57005b3661034957005b005b34801561035757600080fd5b5061036b610366366004615045565b610d27565b6040516103849d9c9b9a99989796959493929190615100565b60405180910390f35b34801561039957600080fd5b506103ad6103a83660046151a2565b610e75565b6040519015158152602001610384565b3480156103c957600080fd5b50610412606f546000908152607f60205260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169694909316949193909290565b604080516001600160a01b039788168152969095166020870152938501929092526060840152608083015260a082015260c001610384565b34801561045657600080fd5b506103496104653660046152d7565b610eac565b34801561047657600080fd5b506103496104853660046154ac565b610ec2565b34801561049657600080fd5b506077545b604051908152602001610384565b3480156104b557600080fd5b506079546104c9906001600160a01b031681565b6040516103849190615523565b3480156104e257600080fd5b5061049b606e5481565b3480156104f857600080fd5b5061049b6298968081565b34801561050f57600080fd5b5061049b606f5481565b34801561052557600080fd5b506065546001600160a01b03166104c9565b34801561054357600080fd5b50610349610552366004615537565b610ee2565b34801561056357600080fd5b5061049b610572366004615045565b611042565b34801561058357600080fd5b5061034961108c565b34801561059857600080fd5b506072546073546074546075546105af9392919084565b604080519485526020850193909352918301526060820152608001610384565b3480156105db57600080fd5b5061049b6105ea366004615045565b607e6020526000908152604090205481565b6104c961060a366004615577565b611097565b34801561061b57600080fd5b5060765461062e90610100900460ff1681565b60405161038491906155dc565b34801561064757600080fd5b5061049b6106563660046155ea565b6110ba565b34801561066757600080fd5b50610349610676366004615616565b61117e565b34801561068757600080fd5b5061049b606c5481565b34801561069d57600080fd5b5061049b6106ac366004615638565b611770565b3480156106bd57600080fd5b506076546106cb9060ff1681565b6040516103849190615674565b3480156106e457600080fd5b506103496106f3366004615682565b61180b565b34801561070457600080fd5b5060685461049b565b34801561071957600080fd5b5061049b600a81565b34801561072e57600080fd5b5061041261073d366004615045565b607f602052600090815260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169593909416939192909186565b34801561078b57600080fd5b5060665461049b565b3480156107a057600080fd5b506104c96118d3565b3480156107b557600080fd5b5060695461049b565b3480156107ca57600080fd5b506103ad6107d9366004615682565b6118e2565b6103496107ec36600461569f565b6118ea565b3480156107fd57600080fd5b5061049b61199f565b34801561081257600080fd5b5061049b610821366004615045565b611a4d565b34801561083257600080fd5b5061049b610841366004615682565b607c6020526000908152604090205481565b34801561085f57600080fd5b5061034961086e3660046156ee565b611b67565b34801561087f57600080fd5b5061049b600381565b34801561089457600080fd5b506103496108a3366004615682565b611be3565b3480156108b457600080fd5b50610349611bf4565b3480156108c957600080fd5b5061049b6108d83660046155ea565b611c06565b3480156108e957600080fd5b50610349611d9c565b3480156108fe57600080fd5b5061049b60705481565b34801561091457600080fd5b506103ad610923366004615045565b611eb9565b34801561093457600080fd5b5061049b6109433660046155ea565b611f16565b34801561095457600080fd5b506104c9611f47565b34801561096957600080fd5b5061049b610978366004615045565b611fd8565b34801561098957600080fd5b5060745461049b565b34801561099e57600080fd5b506104c973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156109c657600080fd5b50606d546109da906001600160401b031681565b6040516001600160401b039091168152602001610384565b3480156109fe57600080fd5b5060775461049b9081565b348015610a1557600080fd5b50610a29610a24366004615045565b612002565b6040516103849190615749565b348015610a4257600080fd5b5061049b60715481565b348015610a5857600080fd5b50610349610a67366004615682565b6120e1565b348015610a7857600080fd5b50610349610a87366004615682565b612114565b348015610a9857600080fd5b50610aac610aa736600461575c565b61213e565b6040516103849190615830565b61049b610ac73660046158c9565b612159565b348015610ad857600080fd5b50610349610ae7366004615950565b6124ab565b348015610af857600080fd5b50607a546104c9906001600160a01b031681565b348015610b1857600080fd5b5061049b610b27366004615682565b6124b4565b348015610b3857600080fd5b50607654610100900460ff1661062e565b348015610b5557600080fd5b50610349610b64366004615682565b6124cf565b348015610b7557600080fd5b50610b89610b84366004615045565b6124ff565b6040516103849b9a9998979695949392919061596d565b348015610bac57600080fd5b5060715461049b565b348015610bc157600080fd5b5061049b610bd0366004615045565b6000908152607b602052604090206002015490565b348015610bf157600080fd5b506103ad61260b565b348015610c0657600080fd5b50610349610c15366004615045565b61261e565b348015610c2657600080fd5b5061049b610c353660046159dc565b6127a3565b348015610c4657600080fd5b50610c556107d9366004615682565b6040516103849190615a01565b348015610c6e57600080fd5b50610349610c7d366004615a14565b6127ce565b610349610c90366004615577565b6129a8565b348015610ca157600080fd5b50610349610cb0366004615682565b6129c2565b348015610cc157600080fd5b50610349610cd0366004615045565b612a2f565b348015610ce157600080fd5b5061049b611c2081565b348015610cf757600080fd5b50610d1a604051806040016040528060038152602001620302e360ec1b81525081565b6040516103849190615a44565b607b602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610dae90615a57565b80601f0160208091040260200160405190810160405280929190818152602001828054610dda90615a57565b8015610e275780601f10610dfc57610100808354040283529160200191610e27565b820191906000526020600020905b815481529060010190602001808311610e0a57829003601f168201915b50505091909252505060408051606081018252600c8501548152600d8501546020820152600e8501546001600160a01b031691810191909152600f840154601090940154929390929091508d565b60006001600160e01b0319821663f1801e6160e01b1480610ea657506301ffc9a760e01b6001600160e01b03198316145b92915050565b610eb4612a58565b610ebe8282612af2565b5050565b610eca612e67565b610ed2612e92565b610edd838383612eb5565b505050565b600054610100900460ff1615808015610f025750600054600160ff909116105b80610f235750610f11306131bf565b158015610f23575060005460ff166001145b610f8b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610fae576000805461ff0019166101001790555b610fdb846040518060400160405280600a8152602001694356537472617465677960b01b81525084611b67565b606a80546001600160a01b0319166001600160a01b038516179055801561103c576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b6000818152607b60205260408120805483146110745760405163c1d17bef60e01b815260048101849052602401610f82565b6110828182600201546131ce565b6003015492915050565b61109533613209565b565b60006110a1612e67565b6110a9612e92565b6110b38383613335565b9392505050565b60006110c4613723565b60006002607654610100900460ff1660038111156110e4576110e461506b565b148061110b57506001607654610100900460ff1660038111156111095761110961506b565b145b15611117575081611124565b611121848461374e565b90505b80607160008282546111369190615aa1565b90915550506040517f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19061116f90869086908590615ab4565b60405180910390a19392505050565b6000828152607e6020908152604080832054808452607b835281842060108101548552607f8452828520835160c08101855281546001600160a01b03908116825260018301541695810195909552600281015493850193909352600383015460608501526004830154608085015260059092015460a08401529290919083900361121e5760405163c1d17bef60e01b815260048101849052602401610f82565b6005600883015460ff1660068111156112395761123961506b565b1461125a57604051634b011ca960e11b815260048101849052602401610f82565b60a0810151600d83015460009161127091615ad5565b4211905080158161128b575081516001600160a01b03163314155b156112a957604051631777988560e11b815260040160405180910390fd5b80806112b3575084155b156113fc5781608001516000036112dd57604051630dd466dd60e41b815260040160405180910390fd5b81608001516001036112f95760088301805460ff191660011790555b81608001516002036113865760088301805460ff191660061790556079546005840154604084810151905163099ea56b60e41b81526001600160a01b03938416936399ea56b093611353938a939290911691600401615ae8565b600060405180830381600087803b15801561136d57600080fd5b505af1158015611381573d6000803e3d6000fd5b505050505b607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b0936113c5938a939290911691600401615ae8565b600060405180830381600087803b1580156113df57600080fd5b505af11580156113f3573d6000803e3d6000fd5b505050506116d9565b846001036114bd5760088301805460ff19166001179055607954600e8401546001600160a01b0391821691638969ab53918791166114386118d3565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611475573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114999190615b07565b86606001516040518563ffffffff1660e01b81526004016113c59493929190615b24565b846002036116d95760088301805460ff19166006179055607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b093611513938a939290911691600401615ae8565b600060405180830381600087803b15801561152d57600080fd5b505af1158015611541573d6000803e3d6000fd5b505060795460058601546001600160a01b039182169350638969ab53925087911661156a6118d3565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115cb9190615b07565b606f546000908152607f602052604090206002908101546115ec9190615b5f565b6040518563ffffffff1660e01b815260040161160b9493929190615b24565b600060405180830381600087803b15801561162557600080fd5b505af1158015611639573d6000803e3d6000fd5b50506079546005860154600e870154606f546000908152607f602052604090206002908101546001600160a01b039485169650638969ab5395508a9493841693909216916116879190615b5f565b6040518563ffffffff1660e01b81526004016116a69493929190615b24565b600060405180830381600087803b1580156116c057600080fd5b505af11580156116d4573d6000803e3d6000fd5b505050505b606d80546001600160401b03169060006116f283615b81565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550504283600f01819055508582600001516001600160a01b03167f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222768760405161176091815260200190565b60405180910390a3505050505050565b607454600090849082906117959061178f90629896809060801b615b5f565b83613951565b905060806001607f1b607260020154629896806117b29190615aa1565b6117c084600160801b615aa1565b6117cd6298968089615ba4565b6117d79190615ba4565b6117e19190615b5f565b6117eb8885615ba4565b6117f59190615ad5565b6117ff9190615ad5565b901c9695505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036118535760405162461bcd60e51b8152600401610f8290615bbb565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166118856139f9565b6001600160a01b0316146118ab5760405162461bcd60e51b8152600401610f8290615bf5565b6118b481613a15565b604080516000808252602082019092526118d091839190613a50565b50565b6078546001600160a01b031690565b600080610ea6565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036119325760405162461bcd60e51b8152600401610f8290615bbb565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166119646139f9565b6001600160a01b03161461198a5760405162461bcd60e51b8152600401610f8290615bf5565b61199382613a15565b610ebe82826001613a50565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611a3a5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610f82565b506000805160206165e883398151915290565b60008060695411611a715760405163ed4421ad60e01b815260040160405180910390fd5b611a7a82613bbb565b15611a9857604051630efd728560e21b815260040160405180910390fd5b606954600090611aac84600160401b615ba4565b611ab69190615b5f565b6072546298968090611acc90600160401b615ba4565b611ad69190615b5f565b611ae09190615aa1565b90506040611aed60715490565b607454611afd9062989680615aa1565b629896806040611b0d8680615ba4565b607354911c90611b2490629896809060801b615b5f565b611b2e9190615b5f565b611b389190615ba4565b611b429190615b5f565b611b4c9190615ba4565b607554911c92508211611b61576075546110b3565b50919050565b600054610100900460ff16611b8e5760405162461bcd60e51b8152600401610f8290615c2f565b611b97816124cf565b606580546001600160a01b0319166001600160a01b038516179055604051611bc3908390602001615a44565b60408051601f198184030181529190528051602090910120606655505050565b611beb613723565b6118d081613209565b611bfc613be2565b6110956000613c41565b6000611c10613723565b611c1983613c93565b611c3657604051630b72d6b160e31b815260040160405180910390fd5b60006002607654610100900460ff166003811115611c5657611c5661506b565b03611c6457825b9050611cc1565b6001607654610100900460ff166003811115611c8257611c8261506b565b03611c9157611c5d8484613d21565b6003607654610100900460ff166003811115611caf57611caf61506b565b03611cc157611cbe8484613dca565b90505b6000611ccb6118d3565b6001600160a01b031663477a5cc086306040518363ffffffff1660e01b8152600401611cf8929190615c7a565b602060405180830381865afa158015611d15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d399190615c94565b90508015611d59578160716000828254611d539190615ad5565b90915550505b7f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a858584604051611d8c93929190615ab4565b60405180910390a1509392505050565b33611da681613c93565b611dc357604051630b72d6b160e31b815260040160405180910390fd5b611dcb6118d3565b6001600160a01b0316630d4a8b4982306040518363ffffffff1660e01b8152600401611df8929190615c7a565b600060405180830381600087803b158015611e1257600080fd5b505af1158015611e26573d6000803e3d6000fd5b50505050611e326118d3565b6001600160a01b0316637817ee4f82306040518363ffffffff1660e01b8152600401611e5f929190615c7a565b602060405180830381865afa158015611e7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea09190615cb1565b60716000828254611eb19190615ad5565b909155505050565b6000818152607b60205260408120600281015482908190611edb908490613fcb565b91509150816000148015611eed575080155b15611efa57826003015491505b6000611f098460010154611a4d565b9092101595945050505050565b607d6020528160005260406000208181548110611f3257600080fd5b90600052602060002001600091509150505481565b600080611f5c6033546001600160a01b031690565b9050806001600160a01b03163b600003611f7557919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611fcf575060408051601f3d908101601f19168201909252611fcc91810190615b07565b60015b610ea657919050565b607454600090611feb9062989680615aa1565b611ff86298968084615ba4565b610ea69190615b5f565b6040805180820190915260008152606060208201526000607b6000848152602001908152602001600020905080600a016040518060400160405290816000820154815260200160018201805461205790615a57565b80601f016020809104026020016040519081016040528092919081815260200182805461208390615a57565b80156120d05780601f106120a5576101008083540402835291602001916120d0565b820191906000526020600020905b8154815290600101906020018083116120b357829003601f168201915b505050505081525050915050919050565b6120e9612a58565b6120f281614023565b607a80546001600160a01b0319166001600160a01b0392909216919091179055565b61211c613be2565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b606060405163d623472560e01b815260040160405180910390fd5b6000858152607b6020908152604080832060108101548452607f8352818420825160c08101845281546001600160a01b0390811680835260018401549091169582019590955260028201549381019390935260038101546060840152600481015460808401526005015460a0830152916121e657604051636c291fd360e01b815260040160405180910390fd5b8154881461220a5760405163c1d17bef60e01b815260048101899052602401610f82565b6001600883015460ff1660068111156122255761222561506b565b14612246576040516344980d8f60e01b815260048101899052602401610f82565b8060600151341015612272576060810151604051632c1f8ef160e21b8152610f82913491600401615cda565b600f82015415801590612295575042611c2083600f01546122939190615ad5565b115b156122d3578742611c2084600f01546122ae9190615ad5565b6122b89190615aa1565b604051638d2f6c3160e01b8152600401610f82929190615cda565b60008160600151346122e59190615aa1565b607954606084015160405163240ff7c560e11b81529293506001600160a01b039091169163481fef8a9190612320908d903390600401615ce8565b6000604051808303818588803b15801561233957600080fd5b505af115801561234d573d6000803e3d6000fd5b5050845160405163c13517e160e01b81526001600160a01b03909116935063c13517e19250849150612388906003908b908b90600401615d28565b60206040518083038185885af11580156123a6573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906123cb9190615cb1565b60088401805491955060059160ff19166001830217905550600c830184905542600d840155600e830180546001600160a01b031916331790556000848152607e602052604081208a9055606d80546001600160401b03169161242c83615d4b565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550507f034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d82600001518a86338c8c89600c01600101546040516124979796959493929190615d79565b60405180910390a150505095945050505050565b6118d08161404a565b6001600160a01b03166000908152607c602052604090205490565b600054610100900460ff166124f65760405162461bcd60e51b8152600401610f8290615c2f565b6118d081613c41565b600080600080600080600080600080600080607b60008e8152602001908152602001600020905080600101546000146125445761253f8160010154611a4d565b612547565b60005b93508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548b896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020548a601001549b509b509b509b509b509b509b509b509b509b509b505091939597999b90929496989a50565b600061261960675460ff1690565b905090565b60016000828152607b602052604090206008015460ff1660068111156126465761264661506b565b14612667576040516344980d8f60e01b815260048101829052602401610f82565b6000818152607b60205260409020600501546001600160a01b031633146126c0576000818152607b602052604090819020600501549051634544dc9160e11b8152610f82916001600160a01b0316903390600401615c7a565b6079546000828152607b6020908152604080832060058101546010909101548452607f9092529182902060020154915163099ea56b60e41b81526001600160a01b03938416936399ea56b09361271d938793921691600401615ae8565b600060405180830381600087803b15801561273757600080fd5b505af115801561274b573d6000803e3d6000fd5b5050506000828152607b6020908152604091829020600801805460ff1916600317905590518381527f416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c9250015b60405180910390a150565b6000828152607b602090815260408083206001600160a01b03851684526009019091528120546110b3565b6127d6612e67565b6127df8261408b565b606a54606c8054612808926001600160a01b03169160006127ff83615dc8565b919050556140da565b607980546001600160a01b0319166001600160a01b039290921691821790556040805163204a7f0760e21b81529051638129fc1c9160048082019260009290919082900301818387803b15801561285e57600080fd5b505af1158015612872573d6000803e3d6000fd5b5050505060008180602001905181019061288c9190615eac565b60a08101519091506001600160a01b03166128ba57604051635df4b1ef60e01b815260040160405180910390fd5b60a0810151607880546001600160a01b0319166001600160a01b0390921691909117905560208101516076805460ff191660018360028111156128ff576128ff61506b565b021790555060408101516076805461ff0019166101008360038111156129275761292761506b565b021790555060608101515160775560c0810151607a80546001600160a01b0319166001600160a01b039092169190911790556080810151815161296a9190612af2565b7fe5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b838260405161299b929190615f9d565b60405180910390a1505050565b6129b0612e67565b6129b8612e92565b610ebe8282614129565b6129ca613be2565b6001600160a01b0381166124f65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610f82565b612a37612e67565b8060696000828254612a499190615ad5565b909155506118d090508161421c565b612a606118d3565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ac19190615b07565b6001600160a01b0316336001600160a01b03161461109557604051637430763f60e11b815260040160405180910390fd5b60208201516001600160a01b031615801590612b17575081516001600160a01b031615155b8015612c005750606f546000908152607f6020908152604090912060010154908301516001600160a01b039081169116141580612b735750606f546000908152607f602052604090205482516001600160a01b03908116911614155b80612b975750606f546000908152607f602052604090819020600201549083015114155b80612bba5750606f546000908152607f6020526040902060030154606083015114155b80612bdd5750606f546000908152607f6020526040902060040154608083015114155b80612c005750606f546000908152607f602052604090206005015460a083015114155b15612e0f57602080830151606f546000908152607f9092526040909120600101546001600160a01b039081169116141580612c5a57508151606f546000908152607f60205260409020546001600160a01b03908116911614155b15612d23578151602083015160405163446adb9960e11b81526001600160a01b03909216916388d5b73291612c9191600401615523565b600060405180830381600087803b158015612cab57600080fd5b505af1158015612cbf573d6000803e3d6000fd5b5050835160208501516040517fdc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f9450612d1a9350309291906001600160a01b0393841681529183166020830152909116604082015260600190565b60405180910390a15b606f8054906000612d3383615dc8565b9091555050606f80546000908152607f6020908152604091829020855181546001600160a01b03199081166001600160a01b03928316908117845588850151600185018054909316931692831790915587850151600284018190556060808a0151600386018190556080808c01516004880181905560a0808e015160059099018990559a548a519081529889019590955297870194909452850152938301529281019190915260c08101919091527fe677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d539060e00160405180910390a15b805160725560208101516073556040808201516074556060820151607555517fec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc90612e5b90839061605d565b60405180910390a15050565b6065546001600160a01b031633146110955760405163075fd2b160e01b815260040160405180910390fd5b60685460000361109557604051630f68fe6360e21b815260040160405180910390fd5b6000825111612ed757604051630317df1360e61b815260040160405180910390fd5b600082806020019051810190612eed9190615cb1565b905080600003612f105760405163f881a10d60e01b815260040160405180910390fd5b6000818152607b60205260409020600160765460ff166002811115612f3757612f3761506b565b036131b85780548214612f605760405163c1d17bef60e01b815260048101839052602401610f82565b60695481600101541115612f9357818160010154606954604051632c31d85b60e11b8152600401610f829392919061606b565b6001600882015460ff166006811115612fae57612fae61506b565b14612fcf576040516344980d8f60e01b815260048101839052602401610f82565b6000612fda83611042565b90506000612feb8360010154611a4d565b90508082108015613000575060008360010154115b1561301e5760405163199cf26160e31b815260040160405180910390fd5b60655460685460405163068bcd8d60e01b815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561306c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613094919081019061610e565b90508360010154606960008282546130ac9190615aa1565b90915550506040810151600485015460018601546130d492916001600160a01b03169061424c565b60088401805460ff191660049081179091556079546005860154606f546000908152607f60205260409081902060020154905163099ea56b60e41b81526001600160a01b03938416946399ea56b094613134948c94911692909101615ae8565b600060405180830381600087803b15801561314e57600080fd5b505af1158015613162573d6000803e3d6000fd5b505050600485015460018601546040517fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f3584793506131ac9289926001600160a01b0390911691615ae8565b60405180910390a15050505b5050505050565b6001600160a01b03163b151590565b6000806131db8484613fcb565b915091508160001480156131ed575080155b156131f85750505050565b600784015560039092019190915550565b6132116118d3565b6001600160a01b0316637817ee4f82306040518363ffffffff1660e01b815260040161323e929190615c7a565b602060405180830381865afa15801561325b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061327f9190615cb1565b607160008282546132909190615aa1565b9091555061329e90506118d3565b6001600160a01b03166322bcf99982306040518363ffffffff1660e01b81526004016132cb929190615c7a565b600060405180830381600087803b1580156132e557600080fd5b505af11580156132f9573d6000803e3d6000fd5b5050505061330681614286565b7f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b816040516127989190615523565b600061334082613c93565b61335d57604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061337391906161c1565b80519091506000036133985760405163273c8bc360e11b815260040160405180910390fd5b600160765460ff1660028111156133b1576133b161506b565b03613532576133c38160200151614023565b60608101516001600160a01b03166133ee5760405163165a825360e21b815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561342e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134529190615b07565b825160405163068bcd8d60e01b815260048101919091529091506000906001600160a01b0383169063068bcd8d90602401600060405180830381865afa1580156134a0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134c8919081019061610e565b905080604001516001600160a01b031683606001516001600160a01b0316146135045760405163514e24c360e11b815260040160405180910390fd5b6135118360400151613bbb565b1561352f57604051630efd728560e21b815260040160405180910390fd5b50505b606f546000908152607f60205260409020546001600160a01b03161580159061356e5750606f546000908152607f602052604090206002015434105b156135a457606f546000908152607f602052604090819020600201549051632c1f8ef160e21b8152610f82913491600401615cda565b6000606e600081546135b590615dc8565b91829055506000818152607b602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b84019061366990826162b5565b5050606f54601083015550607954600582015460405163240ff7c560e11b81526001600160a01b039283169263481fef8a9234926136ad9288921690600401615ce8565b6000604051808303818588803b1580156136c657600080fd5b505af11580156136da573d6000803e3d6000fd5b50505050507ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b60685483604051613712929190615cda565b60405180910390a150949350505050565b6078546001600160a01b03163314611095576040516357848b5160e11b815260040160405180910390fd5b6000601261375a6118d3565b6001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613797573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137bb9190615b07565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613814575060408051601f3d908101601f1916820190925261381191810190616374565b60015b1561381f5760ff1690505b60008361382a6118d3565b6001600160a01b0316632c611c4a876040518263ffffffff1660e01b81526004016138559190615523565b602060405180830381865afa158015613872573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138969190615cb1565b6138a09190615aa1565b905060006138c16138b284600a61647b565b6138bc9084615ba4565b6143e7565b90506000816138ce6118d3565b6001600160a01b0316637817ee4f89306040518363ffffffff1660e01b81526004016138fb929190615c7a565b602060405180830381865afa158015613918573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061393c9190615cb1565b6139469190615aa1565b979650505050505050565b6000600160801b83106139a55760405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401610f82565b50600160801b82825b80156139f157806001166000036139d3576139c982836144cf565b915060011c6139ae565b6139dd83836144cf565b92506139ea600182615aa1565b90506139ae565b505092915050565b6000805160206165e8833981519152546001600160a01b031690565b33613a1e611f47565b6001600160a01b0316146118d05733613a35611f47565b60405163163678e960e01b8152600401610f82929190615c7a565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615613a8357610edd836145ac565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613add575060408051601f3d908101601f19168201909252613ada91810190615cb1565b60015b613b405760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610f82565b6000805160206165e88339815191528114613baf5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610f82565b50610edd838383614646565b6000613bca6298968083615ba4565b606954607254613bda9190615ba4565b111592915050565b33613beb611f47565b6001600160a01b0316146110955760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610f82565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b607a546000906001600160a01b0316613cae57506001919050565b607a546040516302154c3d60e51b81526001600160a01b03909116906342a987a090613ce09085903090600401615c7a565b602060405180830381865afa158015613cfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea69190615c94565b60008181613d2d6118d3565b6001600160a01b0316637817ee4f86306040518363ffffffff1660e01b8152600401613d5a929190615c7a565b602060405180830381865afa158015613d77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d9b9190615cb1565b607754909150613dab8383615ad5565b1115613dc257607754613dbf908290615aa1565b91505b509392505050565b60008082613dd66118d3565b6001600160a01b0316632c611c4a866040518263ffffffff1660e01b8152600401613e019190615523565b602060405180830381865afa158015613e1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e429190615cb1565b613e4c9190615ad5565b90506012613e586118d3565b6001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613e95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eb99190615b07565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613f12575060408051601f3d908101601f19168201909252613f0f91810190616374565b60015b15613f1d5760ff1690505b6000613f37613f2d83600a61647b565b6138bc9085615ba4565b90506000613f436118d3565b6001600160a01b0316637817ee4f88306040518363ffffffff1660e01b8152600401613f70929190615c7a565b602060405180830381865afa158015613f8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613fb19190615cb1565b90506000613fbf8284615aa1565b98975050505050505050565b6000804390508084600701541115613fe557613fe5616487565b80846007015403613ffb5750600090508061401c565b61401984600701548261400e9190615aa1565b856003015485611770565b91505b9250929050565b6001600160a01b0381166118d0576040516303988b8160e61b815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001612798565b614093612e67565b606854156140b45760405163439a74c960e01b815260040160405180910390fd5b806000036140d557604051637fcce2a960e01b815260040160405180910390fd5b606855565b6040516001600160601b03193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050614121848261466b565b949350505050565b61413281614702565b61413b81613c93565b61415857604051630b72d6b160e31b815260040160405180910390fd5b60006141626118d3565b6001600160a01b031663477a5cc083306040518363ffffffff1660e01b815260040161418f929190615c7a565b602060405180830381865afa1580156141ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141d09190615c94565b9050806141f057604051635fccb67f60e01b815260040160405180910390fd5b600083806020019051810190614206919061649d565b905061421283826147e3565b61103c8382614978565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001612798565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161427b57610edd8282614d50565b610edd838383614d6c565b6001600160a01b0381166000908152607d60209081526040808320805482518185028101850190935280835291929091908301828280156142e657602002820191906000526020600020905b8154815260200190600101908083116142d2575b5050505050905060005b8151811015610edd57600082828151811061430d5761430d616547565b602002602001015190506000607b6000838152602001908152602001600020905061433782614db2565b156143d2576001600160a01b0385166000908152600982016020526040812080549082905560028301805491928392614371908490615aa1565b92505081905550806070600082825461438a9190615aa1565b9091555061439a905082826131ce565b60008051602061660883398151915286846000856002015486600301546040516143c895949392919061655d565b60405180910390a1505b505080806143df90615dc8565b9150506142f0565b6000816000036143f957506000919050565b6000600161440684614deb565b901c6001901b9050600181848161441f5761441f615b49565b048201901c9050600181848161443757614437615b49565b048201901c9050600181848161444f5761444f615b49565b048201901c9050600181848161446757614467615b49565b048201901c9050600181848161447f5761447f615b49565b048201901c9050600181848161449757614497615b49565b048201901c905060018184816144af576144af615b49565b048201901c90506110b3818285816144c9576144c9615b49565b04614e7f565b6000600160801b8311156145365760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608401610f82565b600160801b82106145885760405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401610f82565b60806001607f1b6145998486615ba4565b6145a39190615ad5565b901c9392505050565b6145b5816131bf565b6146175760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610f82565b6000805160206165e883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61464f83614e95565b60008251118061465c5750805b15610edd5761103c8383614ed5565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b038116610ea65760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606401610f82565b6001600160a01b03811661472957604051631a3e505160e31b815260040160405180910390fd5b6078546001600160a01b031661475257604051635df4b1ef60e01b815260040160405180910390fd5b61475a6118d3565b6001600160a01b031663a230c524826040518263ffffffff1660e01b81526004016147859190615523565b602060405180830381865afa1580156147a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147c69190615c94565b6118d057604051636a5cfb6d60e01b815260040160405180910390fd5b6000805b82518110156148a05782818151811061480257614802616547565b6020026020010151600001516000031561488e57600083828151811061482a5761482a616547565b602002602001015160000151905061484181614db2565b6148615760405163c1d17bef60e01b815260048101829052602401610f82565b83828151811061487357614873616547565b6020026020010151602001518361488a919061658b565b9250505b8061489881615dc8565b9150506147e7565b5060006148b56148af856124b4565b83614efa565b905060006148c16118d3565b6001600160a01b0316637817ee4f86306040518363ffffffff1660e01b81526004016148ee929190615c7a565b602060405180830381865afa15801561490b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061492f9190615cb1565b905080821115614956578181604051636b20c17f60e11b8152600401610f82929190615cda565b506001600160a01b039093166000908152607c60205260409020929092555050565b606060005b825181101561103c57600083828151811061499a5761499a616547565b602002602001015160000151905082516000036149f657604080516001808252818301909252906020808301908036833701905050925080836000815181106149e5576149e5616547565b602002602001018181525050614b29565b6000805b8451811015614a565782858281518110614a1657614a16616547565b602002602001015103614a4457600191508281604051632b7aec5560e21b8152600401610f82929190615cda565b80614a4e81615dc8565b9150506149fa565b5080614b2757600084516001614a6c9190615ad5565b6001600160401b03811115614a8357614a836151cc565b604051908082528060200260200182016040528015614aac578160200160208202803683370190505b50905060005b8551811015614b0457858181518110614acd57614acd616547565b6020026020010151828281518110614ae757614ae7616547565b602090810291909101015280614afc81615dc8565b915050614ab2565b508281865181518110614b1957614b19616547565b602090810291909101015293505b505b6000848381518110614b3d57614b3d616547565b6020908102919091018101518101516000848152607b835260408082206001600160a01b038b16835260098101909452812054919350614b7d8285614efa565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607d6020526040902054811015614c165784546001600160a01b038c166000908152607d60205260409020805483908110614beb57614beb616547565b906000526020600020015403614c045760019150614c16565b80614c0e81615dc8565b915050614b9f565b5080614c4c576001600160a01b038a166000908152607d6020908152604082208654815460018101835591845291909220909101555b818311614c9c57614c5d8383615aa1565b60706000828254614c6e9190615ad5565b90915550614c7e90508383615aa1565b846002016000828254614c919190615ad5565b90915550614ce09050565b614ca68284615aa1565b60706000828254614cb79190615aa1565b90915550614cc790508284615aa1565b846002016000828254614cda9190615aa1565b90915550505b8360070154600003614cf757436007850155614d37565b614d0184846131ce565b6000805160206166088339815191528a878487600201548860030154604051614d2e95949392919061655d565b60405180910390a15b5050505050508080614d4890615dc8565b91505061497d565b60008060008084865af1610ebe5763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d156001600051141716614da8576390b8ec186000526004601cfd5b6000603452505050565b6000818152607b602052604081205415801590610ea65750506000908152607b60205260409020600501546001600160a01b0316151590565b600080608083901c15614e0057608092831c92015b604083901c15614e1257604092831c92015b602083901c15614e2457602092831c92015b601083901c15614e3657601092831c92015b600883901c15614e4857600892831c92015b600483901c15614e5a57600492831c92015b600283901c15614e6c57600292831c92015b600183901c15610ea65760010192915050565b6000818310614e8e57816110b3565b5090919050565b614e9e816145ac565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606110b3838360405180606001604052806027815260200161662860279139614f31565b600080614f07838561658b565b905060008112156110b357838382604051631dde38a160e11b8152600401610f829392919061606b565b6060600080856001600160a01b031685604051614f4e91906165ab565b600060405180830381855af49150503d8060008114614f89576040519150601f19603f3d011682016040523d82523d6000602084013e614f8e565b606091505b5091509150614f9f86838387614fa9565b9695505050505050565b6060831561501657825160000361500f57614fc3856131bf565b61500f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610f82565b5081614121565b614121838381511561502b5781518083602001fd5b8060405162461bcd60e51b8152600401610f829190615a44565b60006020828403121561505757600080fd5b5035919050565b6001600160a01b03169052565b634e487b7160e01b600052602160045260246000fd5b600781106118d0576118d061506b565b60005b838110156150ac578181015183820152602001615094565b50506000910152565b600081518084526150cd816020860160208601615091565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015261412160408501826150b5565b60006101e08f83528e60208401528d60408401528c606084015260018060a01b03808d166080850152808c1660a0850152808b1660c08501528960e085015261514889615081565b8861010085015281610120850152615162828501896150e1565b875161014086015260208801516101608601526040909701511661018084015250506101a08101929092526101c0909101529a9950505050505050505050565b6000602082840312156151b457600080fd5b81356001600160e01b0319811681146110b357600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715615204576152046151cc565b60405290565b60405160c081016001600160401b0381118282101715615204576152046151cc565b60405160e081016001600160401b0381118282101715615204576152046151cc565b604080519081016001600160401b0381118282101715615204576152046151cc565b60405160a081016001600160401b0381118282101715615204576152046151cc565b604051601f8201601f191681016001600160401b03811182821017156152ba576152ba6151cc565b604052919050565b6001600160a01b03811681146118d057600080fd5b6000808284036101408112156152ec57600080fd5b60c08112156152fa57600080fd5b61530261520a565b843561530d816152c2565b8152602085013561531d816152c2565b602082015260408581013590820152606080860135908201526080808601358183015260a0808701359083015290935060bf198201121561535d57600080fd5b506153666151e2565b60c0840135815260e0840135602082015261010084013560408201526101209093013560608401525092909150565b60006001600160401b038211156153ae576153ae6151cc565b5060051b60200190565b600082601f8301126153c957600080fd5b813560206153de6153d983615395565b615292565b82815260059290921b840181019181810190868411156153fd57600080fd5b8286015b84811015615421578035615414816152c2565b8352918301918301615401565b509695505050505050565b60006001600160401b03821115615445576154456151cc565b50601f01601f191660200190565b60006154616153d98461542c565b905082815283838301111561547557600080fd5b828260208301376000602084830101529392505050565b600082601f83011261549d57600080fd5b6110b383833560208501615453565b6000806000606084860312156154c157600080fd5b83356001600160401b03808211156154d857600080fd5b6154e4878388016153b8565b945060208601359150808211156154fa57600080fd5b506155078682870161548c565b9250506040840135615518816152c2565b809150509250925092565b6001600160a01b0391909116815260200190565b60008060006060848603121561554c57600080fd5b8335615557816152c2565b92506020840135615567816152c2565b91506040840135615518816152c2565b6000806040838503121561558a57600080fd5b82356001600160401b038111156155a057600080fd5b6155ac8582860161548c565b92505060208301356155bd816152c2565b809150509250929050565b600481106155d8576155d861506b565b9052565b60208101610ea682846155c8565b600080604083850312156155fd57600080fd5b8235615608816152c2565b946020939093013593505050565b6000806040838503121561562957600080fd5b50508035926020909101359150565b60008060006060848603121561564d57600080fd5b505081359360208301359350604090920135919050565b600381106155d8576155d861506b565b60208101610ea68284615664565b60006020828403121561569457600080fd5b81356110b3816152c2565b600080604083850312156156b257600080fd5b82356156bd816152c2565b915060208301356001600160401b038111156156d857600080fd5b6156e48582860161548c565b9150509250929050565b60008060006060848603121561570357600080fd5b833561570e816152c2565b925060208401356001600160401b0381111561572957600080fd5b8401601f8101861361573a57600080fd5b61550786823560208401615453565b6020815260006110b360208301846150e1565b6000806040838503121561576f57600080fd5b82356001600160401b038082111561578657600080fd5b615792868387016153b8565b93506020915081850135818111156157a957600080fd5b8501601f810187136157ba57600080fd5b80356157c86153d982615395565b81815260059190911b820184019084810190898311156157e757600080fd5b8584015b8381101561581f578035868111156158035760008081fd5b6158118c898389010161548c565b8452509186019186016157eb565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b8281101561587b57815180516001600160a01b0316855286015186850152928401929085019060010161584d565b5091979650505050505050565b60008083601f84011261589a57600080fd5b5081356001600160401b038111156158b157600080fd5b60208301915083602082850101111561401c57600080fd5b6000806000806000606086880312156158e157600080fd5b8535945060208601356001600160401b03808211156158ff57600080fd5b61590b89838a01615888565b9096509450604088013591508082111561592457600080fd5b5061593188828901615888565b969995985093965092949392505050565b80151581146118d057600080fd5b60006020828403121561596257600080fd5b81356110b381615942565b6001600160a01b038c811682528b811660208301528a166040820152606081018990526080810188905261016081016159a588615081565b8760a08301528660c08301528560e08301528461010083015283610120830152826101408301529c9b505050505050505050505050565b600080604083850312156159ef57600080fd5b8235915060208301356155bd816152c2565b60208101615a0e83615081565b91905290565b60008060408385031215615a2757600080fd5b8235915060208301356001600160401b038111156156d857600080fd5b6020815260006110b360208301846150b5565b600181811c90821680615a6b57607f821691505b602082108103611b6157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610ea657610ea6615a8b565b6001600160a01b039390931683526020830191909152604082015260600190565b80820180821115610ea657610ea6615a8b565b9283526001600160a01b03919091166020830152604082015260600190565b600060208284031215615b1957600080fd5b81516110b3816152c2565b9384526001600160a01b03928316602085015291166040830152606082015260800190565b634e487b7160e01b600052601260045260246000fd5b600082615b7c57634e487b7160e01b600052601260045260246000fd5b500490565b60006001600160401b03821680615b9a57615b9a615a8b565b6000190192915050565b8082028115828204841417610ea657610ea6615a8b565b6020808252602c908201526000805160206165c883398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206165c883398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0392831681529116602082015260400190565b600060208284031215615ca657600080fd5b81516110b381615942565b600060208284031215615cc357600080fd5b5051919050565b8051615cd5816152c2565b919050565b918252602082015260400190565b9182526001600160a01b0316602082015260400190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b838152604060208201526000615d42604083018486615cff565b95945050505050565b60006001600160401b038281166002600160401b03198101615d6f57615d6f615a8b565b6001019392505050565b6001600160a01b03888116825260208201889052604082018790528516606082015260c060808201819052600090615db49083018587615cff565b90508260a083015298975050505050505050565b600060018201615dda57615dda615a8b565b5060010190565b805160038110615cd557600080fd5b805160048110615cd557600080fd5b600060208284031215615e1157600080fd5b604051602081016001600160401b0381118282101715615e3357615e336151cc565b6040529151825250919050565b600060c08284031215615e5257600080fd5b615e5a61520a565b90508151615e67816152c2565b81526020820151615e77816152c2565b8060208301525060408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b60008183036101e0811215615ec057600080fd5b615ec861522c565b6080821215615ed657600080fd5b615ede6151e2565b915083518252602084015160208301526040840151604083015260608401516060830152818152615f1160808501615de1565b6020820152615f2260a08501615df0565b6040820152615f348560c08601615dff565b6060820152615f468560e08601615e40565b6080820152615f586101a08501615cca565b60a0820152615f6a6101c08501615cca565b60c0820152949350505050565b805182526020810151602083015260408101516040830152606081015160608301525050565b600061020082019050838252615fb7602083018451615f77565b6020830151615fc960a0840182615664565b506040830151615fdc60c08401826155c8565b506060838101515160e084015260808085015180516001600160a01b0390811661010087015260208201511661012086015260408101516101408601529182015161016085015281015161018084015260a0908101516101a08401528301516160496101c084018261505e565b5060c0830151613dc26101e084018261505e565b60808101610ea68284615f77565b9283526020830191909152604082015260600190565b60006040828403121561609357600080fd5b61609b61524e565b8251815260208301519091506001600160401b038111156160bb57600080fd5b8201601f810184136160cc57600080fd5b80516160da6153d98261542c565b8181528560208385010111156160ef57600080fd5b616100826020830160208601615091565b602084015250909392505050565b60006020828403121561612057600080fd5b81516001600160401b038082111561613757600080fd5b9083019060c0828603121561614b57600080fd5b61615361520a565b825181526020830151616165816152c2565b60208201526040830151616178816152c2565b604082015260608301518281111561618f57600080fd5b61619b87828601616081565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6000602082840312156161d357600080fd5b81516001600160401b03808211156161ea57600080fd5b9083019060a082860312156161fe57600080fd5b616206615270565b825181526020830151616218816152c2565b6020820152604083810151908201526060830151616235816152c2565b606082015260808301518281111561624c57600080fd5b61625887828601616081565b60808301525095945050505050565b601f821115610edd57600081815260208120601f850160051c8101602086101561628e5750805b601f850160051c820191505b818110156162ad5782815560010161629a565b505050505050565b81516001600160401b038111156162ce576162ce6151cc565b6162e2816162dc8454615a57565b84616267565b602080601f83116001811461631757600084156162ff5750858301515b600019600386901b1c1916600185901b1785556162ad565b600085815260208120601f198616915b8281101561634657888601518255948401946001909101908401616327565b50858210156163645787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561638657600080fd5b815160ff811681146110b357600080fd5b600181815b808511156163d25781600019048211156163b8576163b8615a8b565b808516156163c557918102915b93841c939080029061639c565b509250929050565b6000826163e957506001610ea6565b816163f657506000610ea6565b816001811461640c576002811461641657616432565b6001915050610ea6565b60ff84111561642757616427615a8b565b50506001821b610ea6565b5060208310610133831016604e8410600b8410161715616455575081810a610ea6565b61645f8383616397565b806000190482111561647357616473615a8b565b029392505050565b60006110b383836163da565b634e487b7160e01b600052600160045260246000fd5b600060208083850312156164b057600080fd5b82516001600160401b038111156164c657600080fd5b8301601f810185136164d757600080fd5b80516164e56153d982615395565b81815260069190911b8201830190838101908783111561650457600080fd5b928401925b8284101561394657604084890312156165225760008081fd5b61652a61524e565b845181528585015186820152825260409093019290840190616509565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03959095168552602085019390935260408401919091526060830152608082015260a00190565b80820182811260008312801582168215821617156139f1576139f1615a8b565b600082516165bd818460208701615091565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122079886af1170517d558760581dbadd6f01b3e42319e0bf3bd232a67d0eed2451864736f6c63430008130033","sourceMap":"3983:51407:98:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9561:60;;;;;;;;;;-1:-1:-1;9561:60:98;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;11829:210;;;;;;;;;;-1:-1:-1;11829:210:98;;;;;:::i;:::-;;:::i;:::-;;;3313:14:126;;3306:22;3288:41;;3276:2;3261:18;11829:210:98;3148:187:126;31642:874:98;;;;;;;;;;;;32041:30;;31749:22;32023:49;;;:17;:49;;;;;:60;;;32097:62;;;32173:75;;;;32262:76;;;;32352:63;;;;32429:70;;;;;-1:-1:-1;;;;;32023:60:98;;;;32097:62;;;;;32173:75;;32262:76;;32429:70;31642:874;;;;;-1:-1:-1;;;;;3704:15:126;;;3686:34;;3756:15;;;;3751:2;3736:18;;3729:43;3788:18;;;3781:34;;;;3846:2;3831:18;;3824:34;3889:3;3874:19;;3867:35;3666:3;3918:19;;3911:35;3635:3;3620:19;31642:874:98;3340:612:126;48947:250:98;;;;;;;;;;-1:-1:-1;48947:250:98;;;;;:::i;:::-;;:::i;7520:325:97:-;;;;;;;;;;-1:-1:-1;7520:325:97;;;;;:::i;:::-;;:::i;21968:107:98:-;;;;;;;;;;-1:-1:-1;22047:11:98;:21;21968:107;;;9672:25:126;;;9660:2;9645:18;21968:107:98;9526:177:126;9418:39:98;;;;;;;;;;-1:-1:-1;9418:39:98;;;;-1:-1:-1;;;;;9418:39:98;;;;;;;;;;:::i;8888:30::-;;;;;;;;;;;;;;;;8110:36;;;;;;;;;;;;8138:8;8110:36;;8924:45;;;;;;;;;;;;;;;;3560:86:97;;;;;;;;;;-1:-1:-1;3635:4:97;;-1:-1:-1;;;;;3635:4:97;3560:86;;10399:222:98;;;;;;;;;;-1:-1:-1;10399:222:98;;;;;:::i;:::-;;:::i;47615:639::-;;;;;;;;;;-1:-1:-1;47615:639:98;;;;;:::i;:::-;;:::i;17002:89::-;;;;;;;;;;;;;:::i;9050:39::-;;;;;;;;;;-1:-1:-1;9050:39:98;;;;;;;;;;;;;;;;;;;10968:25:126;;;11024:2;11009:18;;11002:34;;;;11052:18;;;11045:34;11110:2;11095:18;;11088:34;10955:3;10940:19;9050:39:98;10737:391:126;9863:56:98;;;;;;;;;;-1:-1:-1;9863:56:98;;;;;:::i;:::-;;;;;;;;;;;;;;6244:344:97;;;;;;:::i;:::-;;:::i;9242:45:98:-;;;;;;;;;;-1:-1:-1;9242:45:98;;;;;;;;;;;;;;;;;;:::i;18690:689::-;;;;;;;;;;-1:-1:-1;18690:689:98;;;;;:::i;:::-;;:::i;51614:3004::-;;;;;;;;;;-1:-1:-1;51614:3004:98;;;;;:::i;:::-;;:::i;8825:25::-;;;;;;;;;;;;;;;;39067:1191;;;;;;;;;;-1:-1:-1;39067:1191:98;;;;;:::i;:::-;;:::i;9136:47::-;;;;;;;;;;-1:-1:-1;9136:47:98;;;;;;;;;;;;;;;:::i;3143:195:64:-;;;;;;;;;;-1:-1:-1;3143:195:64;;;;;:::i;:::-;;:::i;3728:92:97:-;;;;;;;;;;-1:-1:-1;3807:6:97;;3728:92;;8402:49:98;;;;;;;;;;;;8449:2;8402:49;;9925:76;;;;;;;;;;-1:-1:-1;9925:76:98;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9925:76:98;;;;;;;;;;;;;;;3910:100:97;;;;;;;;;;-1:-1:-1;3993:10:97;;3910:100;;10008:140:98;;;;;;;;;;;;;:::i;4101:108:97:-;;;;;;;;;;-1:-1:-1;4192:10:97;;4101:108;;9210:145;;;;;;;;;;-1:-1:-1;9210:145:97;;;;;:::i;:::-;;:::i;3657:220:64:-;;;;;;:::i;:::-;;:::i;2762:131::-;;;;;;;;;;;;;:::i;40839:1549:98:-;;;;;;;;;;-1:-1:-1;40839:1549:98;;;;;:::i;:::-;;:::i;9677:53::-;;;;;;;;;;-1:-1:-1;9677:53:98;;;;;:::i;:::-;;;;;;;;;;;;;;1724:217:97;;;;;;;;;;-1:-1:-1;1724:217:97;;;;;:::i;:::-;;:::i;8537:42:98:-;;;;;;;;;;;;8578:1;8537:42;;17097:136;;;;;;;;;;-1:-1:-1;17097:136:98;;;;;:::i;:::-;;:::i;2085:101:45:-;;;;;;;;;;;;;:::i;17614:1070:98:-;;;;;;;;;;-1:-1:-1;17614:1070:98;;;;;:::i;:::-;;:::i;16627:369::-;;;;;;;;;;;;;:::i;8976:26::-;;;;;;;;;;;;;;;;25563:743;;;;;;;;;;-1:-1:-1;25563:743:98;;;;;:::i;:::-;;:::i;9768:57::-;;;;;;;;;;-1:-1:-1;9768:57:98;;;;;:::i;:::-;;:::i;525:604:105:-;;;;;;;;;;;;;:::i;48260:141:98:-;;;;;;;;;;-1:-1:-1;48260:141:98;;;;;:::i;:::-;;:::i;16523:98::-;;;;;;;;;;-1:-1:-1;16600:14:98;;16523:98;;4412:75:9;;;;;;;;;;;;4445:42;4412:75;;8856:26:98;;;;;;;;;;-1:-1:-1;8856:26:98;;;;-1:-1:-1;;;;;8856:26:98;;;;;;-1:-1:-1;;;;;15532:31:126;;;15514:50;;15502:2;15487:18;8856:26:98;15370:200:126;9293:51:98;;;;;;;;;;-1:-1:-1;9293:51:98;;;;;;30683:206;;;;;;;;;;-1:-1:-1;30683:206:98;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;9008:35::-;;;;;;;;;;;;;;;;48752:189;;;;;;;;;;-1:-1:-1;48752:189:98;;;;;:::i;:::-;;:::i;13360:132::-;;;;;;;;;;-1:-1:-1;13360:132:98;;;;;:::i;:::-;;:::i;26956:287::-;;;;;;;;;;-1:-1:-1;26956:287:98;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;49203:2405::-;;;;;;:::i;:::-;;:::i;27912:86::-;;;;;;;;;;-1:-1:-1;27912:86:98;;;;;:::i;:::-;;:::i;9463:31::-;;;;;;;;;;-1:-1:-1;9463:31:98;;;;-1:-1:-1;;;;;9463:31:98;;;31501:135;;;;;;;;;;-1:-1:-1;31501:135:98;;;;;:::i;:::-;;:::i;22081:118::-;;;;;;;;;;-1:-1:-1;22181:11:98;;;;;;;22081:118;;404:115:105;;;;;;;;;;-1:-1:-1;404:115:105;;;;;:::i;:::-;;:::i;29532:1145:98:-;;;;;;;;;;-1:-1:-1;29532:1145:98;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;43609:120::-;;;;;;;;;;-1:-1:-1;43702:20:98;;43609:120;;31280:153;;;;;;;;;;-1:-1:-1;31280:153:98;;;;;:::i;:::-;31365:7;31391:22;;;:9;:22;;;;;:35;;;;31280:153;4341:101:97;;;;;;;;;;;;;:::i;54624:732:98:-;;;;;;;;;;-1:-1:-1;54624:732:98;;;;;:::i;:::-;;:::i;31090:184::-;;;;;;;;;;-1:-1:-1;31090:184:98;;;;;:::i;:::-;;:::i;4598:146:97:-;;;;;;;;;;-1:-1:-1;4598:146:97;;;;;:::i;:::-;;;;;;;:::i;10627:801:98:-;;;;;;;;;;-1:-1:-1;10627:801:98;;;;;:::i;:::-;;:::i;6907:220:97:-;;;;;;:::i;:::-;;:::i;2335:198:45:-;;;;;;;;;;-1:-1:-1;2335:198:45;;;;;:::i;:::-;;:::i;5631:197:97:-;;;;;;;;;;-1:-1:-1;5631:197:97;;;;;:::i;:::-;;:::i;8585:54:98:-;;;;;;;;;;;;8632:7;8585:54;;8066:38;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8066:38:98;;;;;;;;;;;;:::i;9561:60::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9561:60:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9561:60:98;;;;-1:-1:-1;;9561:60:98;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9561:60:98;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9561:60:98;:::o;11829:210::-;11922:4;-1:-1:-1;;;;;;11945:47:98;;-1:-1:-1;;;11945:47:98;;:87;;-1:-1:-1;;;;;;;;;;937:40:80;;;11996:36:98;11938:94;11829:210;-1:-1:-1;;11829:210:98:o;48947:250::-;49119:17;:15;:17::i;:::-;49146:44;49161:17;49180:9;49146:14;:44::i;:::-;48947:250;;:::o;7520:325:97:-;2435:16;:14;:16::i;:::-;3307:23:::1;:21;:23::i;:::-;7739:42:::2;7751:13;7766:5;7773:7;7739:11;:42::i;:::-;7520:325:::0;;;:::o;10399:222:98:-;3279:19:47;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:47;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;;3388:44;3426:4;3388:29;:44::i;:::-;3387:45;:66;;;;-1:-1:-1;3436:12:47;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:47;;22599:2:126;3325:201:47;;;22581:21:126;22638:2;22618:18;;;22611:30;22677:34;22657:18;;;22650:62;-1:-1:-1;;;22728:18:126;;;22721:44;22782:19;;3325:201:47;;;;;;;;;3536:12;:16;;-1:-1:-1;;3536:16:47;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:47;;;;;3562:65;10516:38:98::1;10527:5;10516:38;;;;;;;;;;;;;-1:-1:-1::0;;;10516:38:98::1;;::::0;10548:5:::1;10516:10;:38::i;:::-;10564:23;:50:::0;;-1:-1:-1;;;;;;10564:50:98::1;-1:-1:-1::0;;;;;10564:50:98;::::1;;::::0;;3647:99:47;;;;3697:5;3681:21;;-1:-1:-1;;3681:21:47;;;3721:14;;-1:-1:-1;22964:36:126;;3721:14:47;;22952:2:126;22937:18;3721:14:47;;;;;;;3647:99;3269:483;10399:222:98;;;:::o;47615:639::-;47693:7;47755:21;;;:9;:21;;;;;47791:19;;:33;;47787:100;;47847:29;;-1:-1:-1;;;47847:29:98;;;;;9672:25:126;;;9645:18;;47847:29:98;9526:177:126;47787:100:98;48148:59;48175:8;48185;:21;;;48148:26;:59::i;:::-;48224:23;;;;47615:639;-1:-1:-1;;47615:639:98:o;17002:89::-;17055:29;17073:10;17055:17;:29::i;:::-;17002:89::o;6244:344:97:-;6399:19;2435:16;:14;:16::i;:::-;3307:23:::1;:21;:23::i;:::-;6498:34:::2;6517:5;6524:7;6498:18;:34::i;:::-;6484:48:::0;6244:344;-1:-1:-1;;;6244:344:97:o;18690:689:98:-;18782:7;18801:23;:21;:23::i;:::-;18880:24;18937:36;18922:11;;;;;;;:51;;;;;;;;:::i;:::-;;:103;;;-1:-1:-1;18992:33:98;18977:11;;;;;;;:48;;;;;;;;:::i;:::-;;18922:103;18918:298;;;-1:-1:-1;19089:16:98;18918:298;;;19156:49;19179:7;19188:16;19156:22;:49::i;:::-;19137:68;;18918:298;19249:16;19225:20;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;19280:59:98;;;;;;19295:7;;19304:16;;19322;;19280:59;:::i;:::-;;;;;;;;19356:16;18690:689;-1:-1:-1;;;18690:689:98:o;51614:3004::-;51701:18;51722:33;;;:21;:33;;;;;;;;;51808:21;;;:9;:21;;;;;51915:32;;;;51897:51;;:17;:51;;;;;51839:109;;;;;;;;;-1:-1:-1;;;;;51839:109:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;51722:33;51808:21;;51839:109;51963:15;;;51959:82;;52001:29;;-1:-1:-1;;;52001:29:98;;;;;9672:25:126;;;9645:18;;52001:29:98;9526:177:126;51959:82:98;52081:38;52054:23;;;;;;:65;;;;;;;;:::i;:::-;;52050:134;;52142:31;;-1:-1:-1;;;52142:31:98;;;;;9672:25:126;;;9645:18;;52142:31:98;9526:177:126;52050:134:98;52269:37;;;;52229;;;;52194:14;;52229:77;;;:::i;:::-;52211:15;:95;;-1:-1:-1;52321:10:98;;52211:95;52321:64;;-1:-1:-1;52357:27:98;;-1:-1:-1;;;;;52335:50:98;:10;:50;;52321:64;52317:118;;;52408:16;;-1:-1:-1;;;52408:16:98;;;;;;;;;;;52317:118;52449:9;:25;;;-1:-1:-1;52462:12:98;;52449:25;52445:2013;;;52494:16;:30;;;52528:1;52494:35;52490:102;;52556:21;;-1:-1:-1;;;52556:21:98;;;;;;;;;;;52490:102;52609:16;:30;;;52643:1;52609:35;52605:136;;52664:23;;;:62;;-1:-1:-1;;52664:62:98;52690:36;52664:62;;;52605:136;52758:16;:30;;;52792:1;52758:35;52754:304;;52813:23;;;:64;;-1:-1:-1;;52813:64:98;52839:38;52813:64;;;52895:15;;52963:18;;;;52983:42;;;;;52895:148;;-1:-1:-1;;;52895:148:98;;-1:-1:-1;;;;;52895:15:98;;;;:34;;:148;;52951:10;;52963:18;;;;;52895:148;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;52754:304;53071:15;;53135:31;;;;53168:43;;;;53071:154;;-1:-1:-1;;;53071:154:98;;-1:-1:-1;;;;;53071:15:98;;;;:34;;:154;;53123:10;;53135:31;;;;;53071:154;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;52445:2013;;;53246:7;53257:1;53246:12;53242:1216;;53274:23;;;:62;;-1:-1:-1;;53274:62:98;53300:36;53274:62;;;53350:15;;53433:31;;;;-1:-1:-1;;;;;53350:15:98;;;;:37;;53405:10;;53433:31;53490:22;:20;:22::i;:::-;-1:-1:-1;;;;;53490:34:98;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;53545:16;:43;;;53350:252;;;;;;;;;;;;;;;;;;:::i;53242:1216::-;53623:7;53634:1;53623:12;53619:839;;53651:23;;;:64;;-1:-1:-1;;53651:64:98;53677:38;53651:64;;;53729:15;;53793:31;;;;53826:43;;;;53729:154;;-1:-1:-1;;;53729:154:98;;-1:-1:-1;;;;;53729:15:98;;;;:34;;:154;;53781:10;;53793:31;;;;;53729:154;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;53897:15:98;;53980:18;;;;-1:-1:-1;;;;;53897:15:98;;;;-1:-1:-1;53897:37:98;;-1:-1:-1;53952:10:98;;53980:18;54024:22;:20;:22::i;:::-;-1:-1:-1;;;;;54024:34:98;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;54097:30;;54079:49;;;;:17;:49;;;;;54157:1;54079:75;;;;:79;;54157:1;54079:79;:::i;:::-;53897:275;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;54186:15:98;;54269:18;;;;54305:31;;;;54372:30;;54186:15;54354:49;;;:17;:49;;;;;54305:31;54354:75;;;;-1:-1:-1;;;;;54186:15:98;;;;-1:-1:-1;54186:37:98;;-1:-1:-1;54241:10:98;;54269:18;;;;54305:31;;;;54354:79;;54305:31;54354:79;:::i;:::-;54186:261;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;53619:839;54468:12;:14;;-1:-1:-1;;;;;54468:14:98;;:12;:14;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;54468:14:98;;;;;-1:-1:-1;;;;;54468:14:98;;;;;;;54525:15;54492:8;:30;;:48;;;;54591:10;54562:16;:27;;;-1:-1:-1;;;;;54555:56:98;;54603:7;54555:56;;;;9672:25:126;;9660:2;9645:18;;9526:177;54555:56:98;;;;;;;;51691:2927;;;;51614:3004;;:::o;39067:1191::-;39604:14;;39217:7;;39252:11;;39217:7;;39598:36;;39603:27;;8138:8;;39622:3;39604:21;39603:27;:::i;:::-;39632:1;39598:4;:36::i;:::-;39578:56;;40248:3;-1:-1:-1;;;40204:8:98;:14;;;8138:8;40200:18;;;;:::i;:::-;40175:19;40185:9;-1:-1:-1;;;40175:19:98;:::i;:::-;40157:14;8138:8;40157:10;:14;:::i;:::-;:38;;;;:::i;:::-;40156:63;;;;:::i;:::-;40130:21;40142:9;40130;:21;:::i;:::-;40129:91;;;;:::i;:::-;40128:103;;;;:::i;:::-;40127:124;;;39067:1191;-1:-1:-1;;;;;;39067:1191:98:o;3143:195:64:-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3224:36:::1;3242:17;3224;:36::i;:::-;3311:12;::::0;;3321:1:::1;3311:12:::0;;;::::1;::::0;::::1;::::0;;;3270:61:::1;::::0;3292:17;;3311:12;3270:21:::1;:61::i;:::-;3143:195:::0;:::o;10008:140:98:-;10123:17;;-1:-1:-1;;;;;10123:17:98;;10008:140::o;9210:145:97:-;9296:4;;9319:29;27763:143:98;3657:220:64;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3772:36:::1;3790:17;3772;:36::i;:::-;3818:52;3840:17;3859:4;3865;3818:21;:52::i;2762:131::-:0;2840:7;2080:4;-1:-1:-1;;;;;2089:6:64;2072:23;;2064:92;;;;-1:-1:-1;;;2064:92:64;;26595:2:126;2064:92:64;;;26577:21:126;26634:2;26614:18;;;26607:30;26673:34;26653:18;;;26646:62;-1:-1:-1;;;26724:18:126;;;26717:54;26788:19;;2064:92:64;26393:420:126;2064:92:64;-1:-1:-1;;;;;;;;;;;;2762:131:64;:::o;40839:1549:98:-;40922:18;41090:1;41076:10;;:15;41072:66;;41114:13;;-1:-1:-1;;;41114:13:98;;;;;;;;;;;41072:66;41578:33;41594:16;41578:15;:33::i;:::-;41574:91;;;41634:20;;-1:-1:-1;;;41634:20:98;;;;;;;;;;;41574:91;41896:10;;41813:13;;41866:26;:16;-1:-1:-1;;;41866:26:98;:::i;:::-;41865:41;;;;:::i;:::-;41830:8;:17;8138:8;;41830:27;;-1:-1:-1;;;41830:27:98;:::i;:::-;41829:33;;;;:::i;:::-;:77;;;;:::i;:::-;41813:93;;42093:2;42051:28;43702:20;;;43609:120;42051:28;42016:14;;42012:18;;8138:8;42012:18;:::i;:::-;8138:8;41999:2;41981:13;41989:5;;41981:13;:::i;:::-;41948:15;;41980:21;;;41947:28;;8138:8;;41967:3;41948:22;41947:28;:::i;:::-;41946:56;;;;:::i;:::-;41945:62;;;;:::i;:::-;41944:87;;;;:::i;:::-;41943:136;;;;:::i;:::-;42311:27;;41929:166;;;-1:-1:-1;42298:40:98;;:83;;42354:27;;42298:83;;;-1:-1:-1;42341:10:98;42285:96;-1:-1:-1;40839:1549:98:o;1724:217:97:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;:::-;1831:23:97::1;1848:5;1831:16;:23::i;:::-;1864:4;:19:::0;;-1:-1:-1;;;;;;1864:19:97::1;-1:-1:-1::0;;;;;1864:19:97;::::1;;::::0;;1916:17:::1;::::0;::::1;::::0;1927:5;;1916:17:::1;;;:::i;:::-;;::::0;;-1:-1:-1;;1916:17:97;;::::1;::::0;;;;;;1906:28;;1916:17:::1;1906:28:::0;;::::1;::::0;1893:10:::1;:41:::0;-1:-1:-1;;;1724:217:97:o;17097:136:98:-;17167:23;:21;:23::i;:::-;17200:26;17218:7;17200:17;:26::i;2085:101:45:-;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;17614:1070:98:-:0;17704:7;17768:23;:21;:23::i;:::-;17806:26;17824:7;17806:17;:26::i;:::-;17801:90;;17855:25;;-1:-1:-1;;;17855:25:98;;;;;;;;;;;17801:90;17900:24;17957:36;17942:11;;;;;;;:51;;;;;;;;:::i;:::-;;17938:441;;18051:14;18028:38;18009:57;;17938:441;;;18102:33;18087:11;;;;;;;:48;;;;;;;;:::i;:::-;;18083:296;;18170:44;18190:7;18199:14;18170:19;:44::i;18083:296::-;18250:36;18235:11;;;;;;;:51;;;;;;;;:::i;:::-;;18231:148;;18321:47;18344:7;18353:14;18321:22;:47::i;:::-;18302:66;;18231:148;18388:16;18407:22;:20;:22::i;:::-;-1:-1:-1;;;;;18407:50:98;;18458:7;18475:4;18407:74;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18388:93;;18495:11;18491:82;;;18546:16;18522:20;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;18491:82:98;18587:57;18602:7;18611:14;18627:16;18587:57;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;18661:16:98;17614:1070;-1:-1:-1;;;17614:1070:98:o;16627:369::-;16697:10;16722:25;16697:10;16722:17;:25::i;:::-;16717:89;;16770:25;;-1:-1:-1;;;16770:25:98;;;;;;;;;;;16717:89;16815:22;:20;:22::i;:::-;-1:-1:-1;;;;;16815:47:98;;16863:6;16879:4;16815:70;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16919:22;:20;:22::i;:::-;-1:-1:-1;;;;;16919:47:98;;16967:6;16983:4;16919:70;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16895:20;;:94;;;;;;;:::i;:::-;;;;-1:-1:-1;;;16627:369:98:o;25563:743::-;25640:18;25713:21;;;:9;:21;;;;;25923;;;;25640:18;;;;25879:66;;25713:21;;25879:33;:66::i;:::-;25819:126;;;;25960:14;25978:1;25960:19;:39;;;;-1:-1:-1;25983:16:98;;25960:39;25956:110;;;26032:8;:23;;;26015:40;;25956:110;26075:17;26095:44;26114:8;:24;;;26095:18;:44::i;:::-;26272:27;;;;;25563:743;-1:-1:-1;;;;;25563:743:98:o;9768:57::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;525:604:105:-;572:7;591:20;614:26;1534:6:45;;-1:-1:-1;;;;;1534:6:45;;1462:85;614:26:105;591:49;;715:12;-1:-1:-1;;;;;707:33:105;;744:1;707:38;703:420;;829:12;525:604;-1:-1:-1;525:604:105:o;703:420::-;895:12;-1:-1:-1;;;;;876:38:105;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;876:40:105;;;;;;;;-1:-1:-1;;876:40:105;;;;;;;;;;;;:::i;:::-;;;872:241;;1086:12;525:604;-1:-1:-1;525:604:105:o;48260:141:98:-;48378:14;;48331:7;;48374:18;;8138:8;48374:18;:::i;:::-;48359:10;8138:8;48359:6;:10;:::i;:::-;48358:35;;;;:::i;30683:206::-;-1:-1:-1;;;;;;;;;;;;;;;;;30783:40:98;30826:9;:22;30836:11;30826:22;;;;;;;;;;;30783:65;;30865:8;:17;;30858:24;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30683:206;;;:::o;48752:189::-;48825:17;:15;:17::i;:::-;48852:32;48871:12;48852:18;:32::i;:::-;48894:11;:40;;-1:-1:-1;;;;;;48894:40:98;-1:-1:-1;;;;;48894:40:98;;;;;;;;;;48752:189::o;13360:132::-;1355:13:45;:11;:13::i;:::-;13451:23:98::1;:34:::0;;-1:-1:-1;;;;;;13451:34:98::1;-1:-1:-1::0;;;;;13451:34:98;;;::::1;::::0;;;::::1;::::0;;13360:132::o;26956:287::-;27042:22;27220:16;;-1:-1:-1;;;27220:16:98;;;;;;;;;;;49203:2405;49366:17;49442:21;;;:9;:21;;;;;;;;49549:32;;;;49531:51;;:17;:51;;;;;49473:109;;;;;;;;;-1:-1:-1;;;;;49473:109:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49442:21;49593:112;;49670:24;;-1:-1:-1;;;49670:24:98;;;;;;;;;;;49593:112;49882:19;;:33;;49878:100;;49938:29;;-1:-1:-1;;;49938:29:98;;;;;9672:25:126;;;9645:18;;49938:29:98;9526:177:126;49878:100:98;50018:36;49991:23;;;;;;:63;;;;;;;;:::i;:::-;;49987:130;;50077:29;;-1:-1:-1;;;50077:29:98;;;;;9672:25:126;;;9645:18;;50077:29:98;9526:177:126;49987:130:98;50142:16;:43;;;50130:9;:55;50126:171;;;50242:43;;;;50208:78;;-1:-1:-1;;;50208:78:98;;;;50231:9;;50208:78;;;:::i;50126:171::-;50416:30;;;;:35;;;;:126;;;50527:15;8632:7;50471:8;:30;;;:53;;;;:::i;:::-;:71;50416:126;50399:325;;;50616:10;50684:15;8632:7;50628:8;:30;;;:53;;;;:::i;:::-;:71;;;;:::i;:::-;50574:139;;-1:-1:-1;;;50574:139:98;;;;;;;;;:::i;50399:325::-;50734:22;50771:16;:43;;;50759:9;:55;;;;:::i;:::-;50825:15;;50866:43;;;;50825:109;;-1:-1:-1;;;50825:109:98;;50734:80;;-1:-1:-1;;;;;;50825:15:98;;;;:33;;50866:43;50825:109;;50911:10;;50923;;50825:109;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;50957:27:98;;:92;;-1:-1:-1;;;50957:92:98;;-1:-1:-1;;;;;50957:41:98;;;;-1:-1:-1;50957:41:98;;-1:-1:-1;51006:14:98;;-1:-1:-1;50957:92:98;;8578:1;;51038:10;;;;50957:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;51060:23;;;:64;;50945:104;;-1:-1:-1;51086:38:98;;-1:-1:-1;;51060:64:98;;51086:38;51060:64;;;;-1:-1:-1;51134:20:98;;;:42;;;51226:15;51186:37;;;:55;51251:31;;;:44;;-1:-1:-1;;;;;;51251:44:98;51285:10;51251:44;;;51134:30;51305:32;;;:21;:32;;;;;:45;;;51361:12;:14;;-1:-1:-1;;;;;51361:14:98;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;51361:14:98;;;;;-1:-1:-1;;;;;51361:14:98;;;;;;;51391:210;51421:16;:27;;;51462:10;51486:9;51509:10;51533:7;;51554:8;:20;;:37;;;51391:210;;;;;;;;;;;;:::i;:::-;;;;;;;;49389:2219;;;49203:2405;;;;;;;:::o;27912:86::-;27968:23;27983:7;27968:14;:23::i;31501:135::-;-1:-1:-1;;;;;31603:26:98;31577:7;31603:26;;;:18;:26;;;;;;;31501:135::o;404:115:105:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;:::-;480:32:105::1;499:12;480:18;:32::i;29532:1145:98:-:0;29650:17;29681:19;29714:22;29750:23;29787:20;29821:44;29879:17;29910:22;29946:17;29977:25;30016:31;30072:40;30115:9;:22;30125:11;30115:22;;;;;;;;;;;30072:65;;30160:8;:24;;;30188:1;30160:29;:80;;30196:44;30215:8;:24;;;30196:18;:44::i;:::-;30160:80;;;30192:1;30160:80;30148:92;;30271:8;:18;;;;;;;;;;-1:-1:-1;;;;;30271:18:98;30303:8;:20;;;;;;;;;;-1:-1:-1;;;;;30303:20:98;30337:8;:23;;;;;;;;;;-1:-1:-1;;;;;30337:23:98;30374:8;:24;;;30412:8;:21;;;30447:8;:23;;;;;;;;;;;;30484:8;:18;;;30516:8;:23;;;30553:9;30576:8;:26;;:38;30603:10;-1:-1:-1;;;;;30576:38:98;-1:-1:-1;;;;;30576:38:98;;;;;;;;;;;;;30628:8;:32;;;30250:420;;;;;;;;;;;;;;;;;;;;;;;29532:1145;;;;;;;;;;;;;:::o;4341:101:97:-;4397:4;4420:15;11342:10;;;;;11263:96;4420:15;4413:22;;4341:101;:::o;54624:732:98:-;54739:36;54699:21;;;;:9;:21;;;;;:36;;;;;:76;;;;;;;;:::i;:::-;;54695:143;;54798:29;;-1:-1:-1;;;54798:29:98;;;;;9672:25:126;;;9645:18;;54798:29:98;9526:177:126;54695:143:98;54852:21;;;;:9;:21;;;;;:31;;;-1:-1:-1;;;;;54852:31:98;54887:10;54852:45;54848:141;;54934:21;;;;:9;:21;;;;;;;:31;;;54920:58;;-1:-1:-1;;;54920:58:98;;;;-1:-1:-1;;;;;54934:31:98;;54967:10;;54920:58;;;:::i;54848:141::-;54999:15;;;55071:21;;;:9;:21;;;;;;;;:31;;;;55134:45;;;;;55116:64;;:17;:64;;;;;;;:90;;;54999:217;;-1:-1:-1;;;54999:217:98;;-1:-1:-1;;;;;54999:15:98;;;;:34;;:217;;55047:10;;55071:31;;;54999:217;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;55227:21:98;;;;:9;:21;;;;;;;;;:36;;:78;;-1:-1:-1;;55227:78:98;55266:39;55227:78;;;55320:29;;9672:25:126;;;55320:29:98;;-1:-1:-1;9645:18:126;55320:29:98;;;;;;;;54624:732;:::o;31090:184::-;31189:7;32693:22;;;:9;:22;;;;;;;;-1:-1:-1;;;;;32693:48:98;;;;:40;;:48;;;;;;31215:52;32522:226;10627:801;2435:16:97;:14;:16::i;:::-;10720:28:98::1;10740:7;10720:19;:28::i;:::-;10812:23;::::0;10837:10:::1;:12:::0;;10794:56:::1;::::0;-1:-1:-1;;;;;10812:23:98::1;::::0;::::1;10837:12;::::0;::::1;:::i;:::-;;;;;10794:17;:56::i;:::-;10759:15;:92:::0;;-1:-1:-1;;;;;;10759:92:98::1;-1:-1:-1::0;;;;;10759:92:98;;;::::1;::::0;;::::1;::::0;;10861:28:::1;::::0;;-1:-1:-1;;;10861:28:98;;;;:26:::1;::::0;:28:::1;::::0;;::::1;::::0;-1:-1:-1;;10861:28:98;;;;;;;;-1:-1:-1;10759:92:98;10861:28;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10900:41;10955:5;10944:52;;;;;;;;;;;;:::i;:::-;11011:20;::::0;::::1;::::0;10900:96;;-1:-1:-1;;;;;;11011:34:98::1;11007:94;;11068:22;;-1:-1:-1::0;;;11068:22:98::1;;;;;;;;;;;11007:94;11131:20;::::0;::::1;::::0;11111:17:::1;:40:::0;;-1:-1:-1;;;;;;11111:40:98::1;-1:-1:-1::0;;;;;11111:40:98;;::::1;::::0;;;::::1;::::0;;11177:15:::1;::::0;::::1;::::0;11162:12:::1;:30:::0;;-1:-1:-1;;11162:30:98::1;-1:-1:-1::0;11177:15:98;11162:30:::1;::::0;::::1;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;11216:14:98::1;::::0;::::1;::::0;11202:11:::1;:28:::0;;-1:-1:-1;;11202:28:98::1;;11216:14:::0;11202:28:::1;::::0;::::1;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;11254:14:98::1;::::0;::::1;::::0;11240:28;:11:::1;:28:::0;11305:14:::1;::::0;::::1;::::0;11278:11:::1;:42:::0;;-1:-1:-1;;;;;;11278:42:98::1;-1:-1:-1::0;;;;;11278:42:98;;::::1;::::0;;;::::1;::::0;;11346:19:::1;::::0;::::1;::::0;11367:11;;11331:48:::1;::::0;11346:19;11331:14:::1;:48::i;:::-;11395:26;11409:7;11418:2;11395:26;;;;;;;:::i;:::-;;;;;;;;10710:718;10627:801:::0;;:::o;6907:220:97:-;2435:16;:14;:16::i;:::-;3307:23:::1;:21;:23::i;:::-;7055:25:::2;7065:5;7072:7;7055:9;:25::i;2335:198:45:-:0;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:45;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:45;;35102:2:126;2415:73:45::1;::::0;::::1;35084:21:126::0;35141:2;35121:18;;;35114:30;35180:34;35160:18;;;35153:62;-1:-1:-1;;;35231:18:126;;;35224:36;35277:19;;2415:73:45::1;34900:402:126::0;5631:197:97;2435:16;:14;:16::i;:::-;5771:7:::1;5757:10;;:21;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;5788:33:97::1;::::0;-1:-1:-1;5813:7:97;5788:24:::1;:33::i;12931:179:98:-:0;13016:22;:20;:22::i;:::-;-1:-1:-1;;;;;13016:34:98;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12994:59:98;:10;-1:-1:-1;;;;;12994:59:98;;12990:114;;13076:17;;-1:-1:-1;;;13076:17:98;;;;;;;;;;;45200:2409;45390:30;;;;-1:-1:-1;;;;;45390:44:98;;;;;:99;;-1:-1:-1;45446:28:98;;-1:-1:-1;;;;;45438:51:98;;;45390:99;:1027;;;;-1:-1:-1;45583:30:98;;45565:49;;;;:17;:49;;;;;;;;:62;;;45531:30;;;;-1:-1:-1;;;;;45531:96:98;;;45565:62;;45531:96;;;:216;;-1:-1:-1;45705:30:98;;45687:49;;;;:17;:49;;;;;:60;45655:28;;-1:-1:-1;;;;;45655:92:98;;;45687:60;;45655:92;;45531:216;:394;;;-1:-1:-1;45868:30:98;;45850:49;;;;:17;:49;;;;;;;:75;;;45775:43;;;;:150;;45531:394;:574;;;-1:-1:-1;46047:30:98;;46029:49;;;;:17;:49;;;;;:76;;;45953:44;;;;:152;;45531:574;:700;;;-1:-1:-1;46186:30:98;;46168:49;;;;:17;:49;;;;;:63;;;46133:31;;;;:98;;45531:700;:868;;;-1:-1:-1;46347:30:98;;46329:49;;;;:17;:49;;;;;:70;;;46259:38;;;;:140;;45531:868;45373:2158;;;46529:30;;;;;46481;;46463:49;;;;:17;:49;;;;;;;:62;;;-1:-1:-1;;;;;46463:62:98;;;:96;;;;;:212;;-1:-1:-1;46647:28:98;;46601:30;;46647:28;46583:49;;;:17;:49;;;;;:60;-1:-1:-1;;;;;46583:60:98;;;:92;;;;46463:212;46442:522;;;46708:28;;46750:30;;;;46708:73;;-1:-1:-1;;;46708:73:98;;-1:-1:-1;;;;;46708:41:98;;;;;;:73;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;46870:28:98;;46901:30;;;;46804:145;;;;-1:-1:-1;46804:145:98;;-1:-1:-1;46855:4:98;;46870:28;46901:30;-1:-1:-1;;;;;35565:15:126;;;35547:34;;35617:15;;;35612:2;35597:18;;35590:43;35669:15;;;35664:2;35649:18;;35642:43;35497:2;35482:18;;35307:384;46804:145:98;;;;;;;;46442:522;46978:30;:32;;;:30;:32;;;:::i;:::-;;;;-1:-1:-1;;47042:30:98;;;47024:49;;;;:17;:49;;;;;;;;;:69;;;;-1:-1:-1;;;;;;47024:69:98;;;-1:-1:-1;;;;;47024:69:98;;;;;;;;;;;;-1:-1:-1;47024:69:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47154:30;;47113:407;;36032:25:126;;;36111:18;;;36104:43;;;;36163:18;;;36156:43;;;;36215:18;;36208:34;36258:19;;;36251:35;36302:19;;;36295:35;;;;36361:3;36346:19;;36339:35;;;;47113:407:98;;36019:3:126;36004:19;47113:407:98;;;;;;;45373:2158;47541:20;;:8;:20;;;;;;;;;;;;;;;;;;;;47576:26;;;;;47552:9;;47576:26;:::i;:::-;;;;;;;;45200:2409;;:::o;9629:119:97:-;9713:4;;-1:-1:-1;;;;;9713:4:97;9691:10;:27;9687:54;;9727:14;;-1:-1:-1;;;9727:14:97;;;;;;;;;;;10618:113;10687:6;;10697:1;10687:11;10683:41;;10707:17;;-1:-1:-1;;;10707:17:97;;;;;;;;;;;23624:1933:98;23793:1;23777:5;:12;:17;23773:76;;23817:21;;-1:-1:-1;;;23817:21:98;;;;;;;;;;;23773:76;23859:18;23891:5;23880:28;;;;;;;;;;;;:::i;:::-;23859:49;;23923:10;23937:1;23923:15;23919:77;;23961:24;;-1:-1:-1;;;23961:24:98;;;;;;;;;;;23919:77;24005:40;24048:21;;;:9;:21;;;;;24100:35;24084:12;;;;:51;;;;;;;;:::i;:::-;;24080:1411;;24155:19;;:33;;24151:108;;24215:29;;-1:-1:-1;;;24215:29:98;;;;;9672:25:126;;;9645:18;;24215:29:98;9526:177:126;24151:108:98;24304:10;;24277:8;:24;;;:37;24273:152;;;24361:10;24373:8;:24;;;24399:10;;24341:69;;-1:-1:-1;;;24341:69:98;;;;;;;;;;:::i;24273:152::-;24470:36;24443:23;;;;;;:63;;;;;;;;:::i;:::-;;24439:138;;24533:29;;-1:-1:-1;;;24533:29:98;;;;;9672:25:126;;;9645:18;;24533:29:98;9526:177:126;24439:138:98;24591:22;24616:36;24641:10;24616:24;:36::i;:::-;24591:61;;24666:17;24686:44;24705:8;:24;;;24686:18;:44::i;:::-;24666:64;;24766:9;24749:14;:26;:58;;;;;24806:1;24779:8;:24;;;:28;24749:58;24745:137;;;24834:33;;-1:-1:-1;;;24834:33:98;;;;;;;;;;;24745:137;24921:4;;24934:6;;24921:20;;-1:-1:-1;;;24921:20:98;;;;;9672:25:126;;;;24896:22:98;;-1:-1:-1;;;;;24921:4:98;;:12;;9645:18:126;;24921:20:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;24921:20:98;;;;;;;;;;;;:::i;:::-;24896:45;;24970:8;:24;;;24956:10;;:38;;;;;;;:::i;:::-;;;;-1:-1:-1;;25032:10:98;;;;25044:20;;;;;25066:24;;;25016:75;;25032:10;-1:-1:-1;;;;;25044:20:98;;25016:15;:75::i;:::-;25106:23;;;:64;;-1:-1:-1;;25106:64:98;25132:38;25106:64;;;;;;25184:15;;25264:18;;;;25318:30;;-1:-1:-1;25300:49:98;;;:17;:49;;;;;;;:75;;;25184:205;;-1:-1:-1;;;25184:205:98;;-1:-1:-1;;;;;25184:15:98;;;;:34;;:205;;25236:10;;25264:18;;;25300:75;;25184:205;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;25433:20:98;;;;;25455:24;;;25409:71;;;;-1:-1:-1;25409:71:98;;25421:10;;-1:-1:-1;;;;;25433:20:98;;;;25409:71;:::i;:::-;;;;;;;;24137:1354;;;24080:1411;23718:1839;;23624:1933;;;:::o;1423:320:50:-;-1:-1:-1;;;;;1713:19:50;;:23;;;1423:320::o;43919:424:98:-;44066:18;44086:19;44109:56;44143:9;44154:10;44109:33;:56::i;:::-;44065:100;;;;44179:10;44193:1;44179:15;:35;;;;-1:-1:-1;44198:16:98;;44179:35;44175:72;;;44230:7;;43919:424;;:::o;44175:72::-;44256:19;;;:33;44299:24;;;;:37;;;;-1:-1:-1;43919:424:98:o;17239:369::-;17334:22;:20;:22::i;:::-;-1:-1:-1;;;;;17334:47:98;;17382:7;17399:4;17334:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17310:20;;:95;;;;;;;:::i;:::-;;;;-1:-1:-1;17415:22:98;;-1:-1:-1;17415:20:98;:22::i;:::-;-1:-1:-1;;;;;17415:49:98;;17465:7;17482:4;17415:73;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17543:17;17552:7;17543:8;:17::i;:::-;17575:26;17593:7;17575:26;;;;;;:::i;13818:2699::-;13918:7;13942:26;13960:7;13942:17;:26::i;:::-;13937:90;;13991:25;;-1:-1:-1;;;13991:25:98;;;;;;;;;;;13937:90;14096:45;14155:5;14144:50;;;;;;;;;;;;:::i;:::-;14309:15;;14096:98;;-1:-1:-1;14309:15:98;:20;14305:78;;14352:20;;-1:-1:-1;;;14352:20:98;;;;;;;;;;;14305:78;14475:35;14459:12;;;;:51;;;;;;;;:::i;:::-;;14455:764;;14526:40;14545:8;:20;;;14526:18;:40::i;:::-;14632:23;;;;-1:-1:-1;;;;;14632:37:98;14628:102;;14696:19;;-1:-1:-1;;;14696:19:98;;;;;;;;;;;14628:102;14743:11;14757:4;-1:-1:-1;;;;;14757:12:98;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14824:15;;14810:30;;-1:-1:-1;;;14810:30:98;;;;;9672:25:126;;;;14743:28:98;;-1:-1:-1;14785:22:98;;-1:-1:-1;;;;;14810:13:98;;;;;9645:18:126;;14810:30:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14810:30:98;;;;;;;;;;;;:::i;:::-;14785:55;;14885:4;:10;;;-1:-1:-1;;;;;14858:37:98;:8;:23;;;-1:-1:-1;;;;;14858:37:98;;14854:235;;15057:17;;-1:-1:-1;;;15057:17:98;;;;;;;;;;;14854:235;15106:41;15122:8;:24;;;15106:15;:41::i;:::-;15102:107;;;15174:20;;-1:-1:-1;;;15174:20:98;;;;;;;;;;;15102:107;14512:707;;14455:764;15272:30;;15327:1;15254:49;;;:17;:49;;;;;:60;-1:-1:-1;;;;;15254:60:98;15246:83;;;;:190;;-1:-1:-1;15379:30:98;;15361:49;;;;:17;:49;;;;;:75;;;15349:9;:87;15246:190;15229:390;;;15537:30;;15519:49;;;;:17;:49;;;;;;;:75;;;15468:140;;-1:-1:-1;;;15468:140:98;;;;15508:9;;15468:140;;;:::i;15229:390::-;15629:18;15652:15;;15650:17;;;;;:::i;:::-;;;;;-1:-1:-1;15677:33:98;15713:21;;;:9;:21;;;;;;;;15745:25;;;15780:11;;;:21;;-1:-1:-1;;;;;15780:21:98;;;-1:-1:-1;;;;;;15780:21:98;;;;;;;15827:20;;;;15811:13;;;:36;;;;;;;;;;;;;;15876:23;;;;15857:16;;;:42;;;;;;;;;;;15929:24;;;;-1:-1:-1;15909:17:98;;;:44;;;;16014:16;;;:55;;-1:-1:-1;;16014:55:98;;;;;;16093:12;16079:11;;;:26;-1:-1:-1;16115:16:98;;:20;;;;16194:17;;;;16181:30;;:10;;;:30;;;;;;;15650:17;;-1:-1:-1;15713:21:98;;16181:30;;;;;;;;:::i;:::-;-1:-1:-1;;16249:30:98;;16221:25;;;:58;-1:-1:-1;16289:15:98;;16353:11;;;;16289:76;;-1:-1:-1;;;16289:76:98;;-1:-1:-1;;;;;16289:15:98;;;;:33;;16330:9;;16289:76;;16341:10;;16353:11;;16289:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16381:35;16397:6;;16405:10;16381:35;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;16498:10:98;13818:2699;-1:-1:-1;;;;13818:2699:98:o;12607:171::-;12698:17;;-1:-1:-1;;;;;12698:17:98;12676:10;:40;12672:100;;12739:22;;-1:-1:-1;;;12739:22:98;;;;;;;;;;;21080:882;21218:7;21259:2;21289:22;:20;:22::i;:::-;-1:-1:-1;;;;;21289:34:98;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;21275:61:98;;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21275:63:98;;;;;;;;-1:-1:-1;;21275:63:98;;;;;;;;;;;;:::i;:::-;;;21271:216;;;21388:17;;;-1:-1:-1;21271:216:98;21558:21;21638:16;21582:22;:20;:22::i;:::-;-1:-1:-1;;;;;21582:44:98;;21627:7;21582:53;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:72;;;;:::i;:::-;21558:96;-1:-1:-1;21720:22:98;21745:40;21771:13;21777:7;21771:2;:13;:::i;:::-;21755:29;;:13;:29;:::i;:::-;21745:9;:40::i;:::-;21720:65;;21795:24;21908:14;21834:22;:20;:22::i;:::-;-1:-1:-1;;;;;21834:47:98;;21882:7;21899:4;21834:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:88;;;;:::i;:::-;21795:127;21080:882;-1:-1:-1;;;;;;;21080:882:98:o;43148:455::-;43217:15;-1:-1:-1;;;43252:2:98;:12;43244:53;;;;-1:-1:-1;;;43244:53:98;;44399:2:126;43244:53:98;;;44381:21:126;44438:2;44418:18;;;44411:30;-1:-1:-1;;;44457:18:126;;;44450:58;44525:18;;43244:53:98;44197:352:126;43244:53:98;-1:-1:-1;;;;43319:2:98;43343;43382:215;43389:5;;43382:215;;43414:1;43418;43414:5;43423:1;43414:10;43410:177;;43448:10;43453:1;43456;43448:4;:10::i;:::-;43444:14;-1:-1:-1;43482:1:98;43476:7;43382:215;;43410:177;43532:16;43537:7;43546:1;43532:4;:16::i;:::-;43522:26;-1:-1:-1;43566:6:98;43571:1;43566:6;;:::i;:::-;;;43382:215;;;43234:369;;43148:455;;;;:::o;1175:140:60:-;-1:-1:-1;;;;;;;;;;;1254:54:60;-1:-1:-1;;;;;1254:54:60;;1175:140::o;1135:169:105:-;1219:10;1208:7;:5;:7::i;:::-;-1:-1:-1;;;;;1208:21:105;;1204:94;;1267:10;1279:7;:5;:7::i;:::-;1252:35;;-1:-1:-1;;;1252:35:105;;;;;;;;;:::i;2494:922:60:-;689:66;2910:48;;;2906:504;;;2974:37;2993:17;2974:18;:37::i;2906:504::-;3064:17;-1:-1:-1;;;;;3046:50:60;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3046:52:60;;;;;;;;-1:-1:-1;;3046:52:60;;;;;;;;;;;;:::i;:::-;;;3042:291;;3262:56;;-1:-1:-1;;;3262:56:60;;44945:2:126;3262:56:60;;;44927:21:126;44984:2;44964:18;;;44957:30;45023:34;45003:18;;;44996:62;-1:-1:-1;;;45074:18:126;;;45067:44;45128:19;;3262:56:60;44743:410:126;3042:291:60;-1:-1:-1;;;;;;;;;;;3148:28:60;;3140:82;;;;-1:-1:-1;;;3140:82:60;;45360:2:126;3140:82:60;;;45342:21:126;45399:2;45379:18;;;45372:30;45438:34;45418:18;;;45411:62;-1:-1:-1;;;45489:18:126;;;45482:39;45538:19;;3140:82:60;45158:405:126;3140:82:60;3099:138;3346:53;3364:17;3383:4;3389:9;3346:17;:53::i;33117:191:98:-;33199:19;33281:20;8138:8;33281:16;:20;:::i;:::-;33267:10;;33247:8;:17;:30;;33267:10;33247:30;:::i;:::-;:54;;;33117:191;-1:-1:-1;;33117:191:98:o;1620:130:45:-;965:10:51;1683:7:45;:5;:7::i;:::-;-1:-1:-1;;;;;1683:23:45;;1675:68;;;;-1:-1:-1;;;1675:68:45;;45770:2:126;1675:68:45;;;45752:21:126;;;45789:18;;;45782:30;45848:34;45828:18;;;45821:62;45900:18;;1675:68:45;45568:356:126;2687:187:45;2779:6;;;-1:-1:-1;;;;;2795:17:45;;;-1:-1:-1;;;;;;2795:17:45;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;13116:238:98:-;13217:11;;13189:4;;-1:-1:-1;;;;;13217:11:98;13205:76;;-1:-1:-1;13266:4:98;;13116:238;-1:-1:-1;13116:238:98:o;13205:76::-;13297:11;;:50;;-1:-1:-1;;;13297:50:98;;-1:-1:-1;;;;;13297:11:98;;;;:28;;:50;;13326:5;;13341:4;;13297:50;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;19525:637::-;19626:7;19672:14;19626:7;19782:22;:20;:22::i;:::-;-1:-1:-1;;;;;19782:47:98;;19830:7;19847:4;19782:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19952:11;:21;19760:93;;-1:-1:-1;19919:30:98;19933:16;19760:93;19919:30;:::i;:::-;:54;19915:139;;;20008:11;:21;:35;;20032:11;;20008:35;:::i;:::-;19989:54;;19915:139;-1:-1:-1;20139:16:98;19525:637;-1:-1:-1;;;19525:637:98:o;20168:756::-;20272:7;20291:18;20368:14;20312:22;:20;:22::i;:::-;-1:-1:-1;;;;;20312:44:98;;20357:7;20312:53;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:70;;;;:::i;:::-;20291:91;-1:-1:-1;20411:2:98;20441:22;:20;:22::i;:::-;-1:-1:-1;;;;;20441:34:98;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20427:61:98;;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20427:63:98;;;;;;;;-1:-1:-1;;20427:63:98;;;;;;;;;;;;:::i;:::-;;;20423:216;;;20540:17;;;-1:-1:-1;20423:216:98;20648:22;20673:37;20696:13;20702:7;20696:2;:13;:::i;:::-;20683:26;;:10;:26;:::i;20673:37::-;20648:62;;20720:21;20744:22;:20;:22::i;:::-;-1:-1:-1;;;;;20744:47:98;;20792:7;20809:4;20744:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20720:95;-1:-1:-1;20826:24:98;20853:30;20720:95;20853:14;:30;:::i;:::-;20826:57;20168:756;-1:-1:-1;;;;;;;;20168:756:98:o;44349:845::-;44518:18;44538:19;44587:12;44573:26;;44639:11;44616:9;:19;;;:34;;44609:42;;;;:::i;:::-;44688:11;44665:9;:19;;;:34;44661:173;;-1:-1:-1;44789:1:98;;-1:-1:-1;44789:1:98;44781:13;;44661:173;44900:287;45057:9;:19;;;45043:11;:33;;;;:::i;:::-;45129:9;:24;;;45167:10;44900:19;:287::i;:::-;44887:300;;44349:845;;;;;;:::o;12784:141::-;-1:-1:-1;;;;;12866:22:98;;12862:56;;12897:21;;-1:-1:-1;;;12897:21:98;;;;;;;;;;;10971:126:97;11036:10;:20;;-1:-1:-1;;11036:20:97;;;;;;;;;;11071:19;;3288:41:126;;;11071:19:97;;3276:2:126;3261:18;11071:19:97;3148:187:126;5044:390:97;2435:16;:14;:16::i;:::-;5243:6:::1;::::0;:11;5239:45:::1;;5263:21;;-1:-1:-1::0;;;5263:21:97::1;;;;;;;;;;;5239:45;5371:7;5382:1;5371:12:::0;5367:34:::1;;5392:9;;-1:-1:-1::0;;;5392:9:97::1;;;;;;;;;;;5367:34;5411:6;:16:::0;5044:390::o;4749:279:6:-;4867:36;;-1:-1:-1;;;;;;4884:10:6;46263:2:126;46234:15;46230:45;4867:36:6;;;46218:58:126;46292:12;;;46285:28;;;4823:7:6;;;;46329:12:126;;4867:36:6;;;;;;;;;;;;4857:47;;;;;;4842:62;;4968:53;5005:9;5016:4;4968:36;:53::i;:::-;4961:60;4749:279;-1:-1:-1;;;;4749:279:6:o;22705:663:98:-;22797:28;22817:7;22797:19;:28::i;:::-;22840:26;22858:7;22840:17;:26::i;:::-;22835:90;;22889:25;;-1:-1:-1;;;22889:25:98;;;;;;;;;;;22835:90;22980:28;23011:22;:20;:22::i;:::-;-1:-1:-1;;;;;23011:50:98;;23062:7;23079:4;23011:74;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22980:105;;23100:23;23095:78;;23146:16;;-1:-1:-1;;;23146:16:98;;;;;;;;;;;23095:78;23182:42;23238:5;23227:53;;;;;;;;;;;;:::i;:::-;23182:98;;23290:37;23315:7;23324:2;23290:24;:37::i;:::-;23337:24;23349:7;23358:2;23337:11;:24::i;27541:127::-;27633:28;;9672:25:126;;;27633:28:98;;9660:2:126;9645:18;27633:28:98;9526:177:126;6721:269:10;-1:-1:-1;;;;;;;6815:16:10;;;6811:173;;6847:45;6879:3;6884:7;6847:31;:45::i;6811:173::-;6923:50;6952:6;6960:3;6965:7;6923:28;:50::i;28004:844:98:-;-1:-1:-1;;;;;28146:29:98;;28114;28146;;;:20;:29;;;;;;;;28114:61;;;;;;;;;;;;;;;;;;;28146:29;;28114:61;;;28146:29;28114:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28190:9;28185:657;28209:12;:19;28205:1;:23;28185:657;;;28249:18;28270:12;28283:1;28270:15;;;;;;;;:::i;:::-;;;;;;;28249:36;;28299:40;28342:9;:21;28352:10;28342:21;;;;;;;;;;;28299:64;;28381:26;28396:10;28381:14;:26::i;:::-;28377:455;;;-1:-1:-1;;;;;28450:35:98;;28427:20;28450:35;;;:26;;;:35;;;;;;;28503:39;;;;28560:21;;;:37;;28450:35;;;;28560:37;;28450:35;;28560:37;:::i;:::-;;;;;;;;28630:12;28615:11;;:27;;;;;;;:::i;:::-;;;;-1:-1:-1;28660:50:98;;-1:-1:-1;28687:8:98;28697:12;28660:26;:50::i;:::-;-1:-1:-1;;;;;;;;;;;28746:7:98;28755:10;28767:1;28770:8;:21;;;28793:8;:23;;;28733:84;;;;;;;;;;:::i;:::-;;;;;;;;28409:423;28377:455;28235:607;;28230:3;;;;;:::i;:::-;;;;28185:657;;6530:1642:83;6578:7;6601:1;6606;6601:6;6597:45;;-1:-1:-1;6630:1:83;;6530:1642;-1:-1:-1;6530:1642:83:o;6597:45::-;7321:14;7355:1;7344:7;7349:1;7344:4;:7::i;:::-;:12;;7338:1;:19;;7321:36;;7816:1;7805:6;7801:1;:10;;;;;:::i;:::-;;7792:6;:19;7791:26;;7782:35;;7865:1;7854:6;7850:1;:10;;;;;:::i;:::-;;7841:6;:19;7840:26;;7831:35;;7914:1;7903:6;7899:1;:10;;;;;:::i;:::-;;7890:6;:19;7889:26;;7880:35;;7963:1;7952:6;7948:1;:10;;;;;:::i;:::-;;7939:6;:19;7938:26;;7929:35;;8012:1;8001:6;7997:1;:10;;;;;:::i;:::-;;7988:6;:19;7987:26;;7978:35;;8061:1;8050:6;8046:1;:10;;;;;:::i;:::-;;8037:6;:19;8036:26;;8027:35;;8110:1;8099:6;8095:1;:10;;;;;:::i;:::-;;8086:6;:19;8085:26;;8076:35;;8132:23;8136:6;8148;8144:1;:10;;;;;:::i;:::-;;8132:3;:23::i;42649:277:98:-;42718:15;-1:-1:-1;;;42753:2:98;:13;;42745:66;;;;-1:-1:-1;;;42745:66:98;;48378:2:126;42745:66:98;;;48360:21:126;48417:2;48397:18;;;48390:30;48456:34;48436:18;;;48429:62;-1:-1:-1;;;48507:18:126;;;48500:38;48555:19;;42745:66:98;48176:404:126;42745:66:98;-1:-1:-1;;;42829:2:98;:12;42821:53;;;;-1:-1:-1;;;42821:53:98;;48787:2:126;42821:53:98;;;48769:21:126;48826:2;48806:18;;;48799:30;-1:-1:-1;;;48845:18:126;;;48838:58;48913:18;;42821:53:98;48585:352:126;42821:53:98;42916:3;-1:-1:-1;;;42893:7:98;42898:2;42893;:7;:::i;:::-;42892:19;;;;:::i;:::-;42891:28;;;42649:277;-1:-1:-1;;;42649:277:98:o;1406:259:60:-;1487:37;1506:17;1487:18;:37::i;:::-;1479:95;;;;-1:-1:-1;;;1479:95:60;;49144:2:126;1479:95:60;;;49126:21:126;49183:2;49163:18;;;49156:30;49222:34;49202:18;;;49195:62;-1:-1:-1;;;49273:18:126;;;49266:43;49326:19;;1479:95:60;48942:409:126;1479:95:60;-1:-1:-1;;;;;;;;;;;1584:74:60;;-1:-1:-1;;;;;;1584:74:60;-1:-1:-1;;;;;1584:74:60;;;;;;;;;;1406:259::o;2057:265::-;2165:29;2176:17;2165:10;:29::i;:::-;2222:1;2208:4;:11;:15;:28;;;;2227:9;2208:28;2204:112;;;2252:53;2281:17;2300:4;2252:28;:53::i;2118:794:46:-;2202:16;2534:48;2516:14;2510:4;2506:25;2500:4;2496:36;2493:90;2487:4;2480:104;2741:32;2724:14;2718:4;2714:25;2711:63;2705:4;2698:77;2823:4;2817;2811;2808:1;2800:28;2788:40;-1:-1:-1;;;;;;2855:22:46;;2847:58;;;;-1:-1:-1;;;2847:58:46;;49558:2:126;2847:58:46;;;49540:21:126;49597:2;49577:18;;;49570:30;-1:-1:-1;;;49616:18:126;;;49609:53;49679:18;;2847:58:46;49356:347:126;12210:391:98;-1:-1:-1;;;;;12292:21:98;;12288:77;;12336:18;;-1:-1:-1;;;12336:18:98;;;;;;;;;;;12288:77;12386:17;;-1:-1:-1;;;;;12386:17:98;12374:100;;12441:22;;-1:-1:-1;;;12441:22:98;;;;;;;;;;;12374:100;12488:22;:20;:22::i;:::-;-1:-1:-1;;;;;12488:31:98;;12520:7;12488:40;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12483:98;;12551:19;;-1:-1:-1;;;12551:19:98;;;;;;;;;;;33314:1553;33454:22;33495:9;33490:630;33514:16;:23;33510:1;:27;33490:630;;;33617:16;33634:1;33617:19;;;;;;;;:::i;:::-;;;;;;;:30;;;33651:1;33617:35;33613:187;33777:8;33613:187;33813:18;33834:16;33851:1;33834:19;;;;;;;;:::i;:::-;;;;;;;:30;;;33813:51;;33883:26;33898:10;33883:14;:26::i;:::-;33878:167;;33936:29;;-1:-1:-1;;;33936:29:98;;;;;9672:25:126;;;9645:18;;33936:29:98;9526:177:126;33878:167:98;34077:16;34094:1;34077:19;;;;;;;;:::i;:::-;;;;;;;:32;;;34058:51;;;;;:::i;:::-;;;33544:576;33490:630;33539:3;;;;:::i;:::-;;;;33490:630;;;;34216:29;34248:60;34260:30;34282:7;34260:21;:30::i;:::-;34292:15;34248:11;:60::i;:::-;34216:92;;34390:26;34419:22;:20;:22::i;:::-;-1:-1:-1;;;;;34419:47:98;;34467:7;34484:4;34419:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;34390:100;;34680:18;34656:21;:42;34652:147;;;34746:21;34769:18;34721:67;;-1:-1:-1;;;34721:67:98;;;;;;;;;:::i;34652:147::-;-1:-1:-1;;;;;;34809:27:98;;;;;;;:18;:27;;;;;:51;;;;-1:-1:-1;;33314:1553:98:o;34873:3487::-;34996:29;35040:9;35035:3319;35059:16;:23;35055:1;:27;35035:3319;;;35103:18;35124:16;35141:1;35124:19;;;;;;;;:::i;:::-;;;;;;;:30;;;35103:51;;35227:12;:19;35250:1;35227:24;35223:920;;35286:16;;;35300:1;35286:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;35286:16:98;35271:31;;35338:10;35320:12;35333:1;35320:15;;;;;;;;:::i;:::-;;;;;;:28;;;;;35223:920;;;35397:10;35438:9;35433:318;35457:12;:19;35453:1;:23;35433:318;;;35553:10;35534:12;35547:1;35534:15;;;;;;;;:::i;:::-;;;;;;;:29;35530:203;;35599:4;35591:12;;35662:10;35674:1;35636:40;;-1:-1:-1;;;35636:40:98;;;;;;;;;:::i;35530:203::-;35478:3;;;;:::i;:::-;;;;35433:318;;;;35773:5;35768:361;;35802:21;35840:12;:19;35862:1;35840:23;;;;:::i;:::-;-1:-1:-1;;;;;35826:38:98;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;35826:38:98;;35802:62;;35891:9;35886:124;35910:12;:19;35906:1;:23;35886:124;;;35972:12;35985:1;35972:15;;;;;;;;:::i;:::-;;;;;;;35962:4;35967:1;35962:7;;;;;;;;:::i;:::-;;;;;;;;;;:25;35931:3;;;;:::i;:::-;;;;35886:124;;;;36059:10;36031:4;36036:12;:19;36031:25;;;;;;;;:::i;:::-;;;;;;;;;;:38;36106:4;-1:-1:-1;35768:361:98;35379:764;35223:920;36156:12;36171:16;36188:1;36171:19;;;;;;;;:::i;:::-;;;;;;;;;;;;:32;;;36218:40;36261:21;;;:9;:21;;;;;;-1:-1:-1;;;;;36415:35:98;;;;:26;;;:35;;;;;;36171:32;;-1:-1:-1;36638:40:98;36415:35;36171:32;36638:11;:40::i;:::-;-1:-1:-1;;;;;36813:35:98;;;;;;:26;;;:35;;;;;:50;;;36615:63;;-1:-1:-1;36813:35:98;37135:246;-1:-1:-1;;;;;37159:29:98;;;;;;:20;:29;;;;;:36;37155:40;;37135:246;;;37260:19;;-1:-1:-1;;;;;37224:29:98;;37260:19;37224:29;;;:20;:29;;;;;:32;;37254:1;;37224:32;;;;;;:::i;:::-;;;;;;;;;:55;37220:147;;37317:4;37303:18;;37343:5;;37220:147;37197:3;;;;:::i;:::-;;;;37135:246;;;;37399:11;37394:106;;-1:-1:-1;;;;;37430:29:98;;;;;;:20;:29;;;;;;;37465:19;;37430:55;;;;;;;;;;;;;;;;;;37394:106;37679:12;37655:20;:36;37651:370;;37726:35;37741:20;37726:12;:35;:::i;:::-;37711:11;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;37804:35:98;;-1:-1:-1;37819:20:98;37804:12;:35;:::i;:::-;37779:8;:21;;;:60;;;;;;;:::i;:::-;;;;-1:-1:-1;37651:370:98;;-1:-1:-1;37651:370:98;;37893:35;37916:12;37893:20;:35;:::i;:::-;37878:11;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;37971:35:98;;-1:-1:-1;37994:12:98;37971:20;:35;:::i;:::-;37946:8;:21;;;:60;;;;;;;:::i;:::-;;;;-1:-1:-1;;37651:370:98;38038:8;:18;;;38060:1;38038:23;38034:310;;38102:12;38081:18;;;:33;38034:310;;;38153:58;38180:8;38190:20;38153:26;:58::i;:::-;-1:-1:-1;;;;;;;;;;;38247:7:98;38256:10;38268:12;38282:8;:21;;;38305:8;:23;;;38234:95;;;;;;;;;;:::i;:::-;;;;;;;;38034:310;35089:3265;;;;;;35084:3;;;;;:::i;:::-;;;;35035:3319;;2455:490:14;2711:4;2705;2699;2693;2685:6;2681:2;2674:5;2669:47;2659:270;;2822:10;2816:4;2809:24;2910:4;2904;2897:18;11454:1189;11617:2;11611:4;11604:16;11674:6;11668:4;11661:20;-1:-1:-1;;;11808:4:14;11801:48;12272:4;12266;12260;12254;12251:1;12244:5;12237;12232:45;12192:16;12185:24;12181:1;12174:4;12168:11;12165:18;12162:48;11890:405;11863:655;;12411:10;12405:4;12398:24;12499:4;12493;12486:18;11863:655;12625:1;12619:4;12612:15;11454:1189;;;:::o;32918:193:98:-;32994:4;33017:22;;;:9;:22;;;;;:33;:37;;;;:87;;-1:-1:-1;;33102:1:98;33058:22;;;:9;:22;;;;;:32;;;-1:-1:-1;;;;;33058:32:98;:46;;;32918:193::o;8633:983:83:-;8685:7;;8769:3;8760:12;;;:16;8756:99;;8806:3;8796:13;;;;8827;8756:99;8881:2;8872:11;;;:15;8868:96;;8917:2;8907:12;;;;8937;8868:96;8990:2;8981:11;;;:15;8977:96;;9026:2;9016:12;;;;9046;8977:96;9099:2;9090:11;;;:15;9086:96;;9135:2;9125:12;;;;9155;9086:96;9208:1;9199:10;;;:14;9195:93;;9243:1;9233:11;;;;9262;9195:93;9314:1;9305:10;;;:14;9301:93;;9349:1;9339:11;;;;9368;9301:93;9420:1;9411:10;;;:14;9407:93;;9455:1;9445:11;;;;9474;9407:93;9526:1;9517:10;;;:14;9513:64;;9561:1;9551:11;9603:6;8633:983;-1:-1:-1;;8633:983:83:o;588:104::-;646:7;676:1;672;:5;:13;;684:1;672:13;;;-1:-1:-1;680:1:83;;588:104;-1:-1:-1;588:104:83:o;1771:152:60:-;1837:37;1856:17;1837:18;:37::i;:::-;1889:27;;-1:-1:-1;;;;;1889:27:60;;;;;;;;1771:152;:::o;6674:198:76:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;38366:284:98:-;38451:7;;38486:25;38505:6;38493:8;38486:25;:::i;:::-;38470:41;;38535:1;38526:6;:10;38522:90;;;38576:8;38586:6;38594;38559:42;;-1:-1:-1;;;38559:42:98;;;;;;;;;;:::i;7058:325:76:-;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:76;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:76:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;8121:18;8132:6;8121:10;:18::i;:::-;8113:60;;;;-1:-1:-1;;;8113:60:76;;51237:2:126;8113:60:76;;;51219:21:126;51276:2;51256:18;;;51249:30;51315:31;51295:18;;;51288:59;51364:18;;8113:60:76;51035:353:126;8113:60:76;-1:-1:-1;8208:10:76;8201:17;;7875:418;8249:33;8257:10;8269:12;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:76;;;;;;;;:::i;14:180:126:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:126;;14:180;-1:-1:-1;14:180:126:o;199:104::-;-1:-1:-1;;;;;265:31:126;253:44;;199:104::o;308:127::-;369:10;364:3;360:20;357:1;350:31;400:4;397:1;390:15;424:4;421:1;414:15;440:119;527:1;520:5;517:12;507:46;;533:18;;:::i;564:250::-;649:1;659:113;673:6;670:1;667:13;659:113;;;749:11;;;743:18;730:11;;;723:39;695:2;688:10;659:113;;;-1:-1:-1;;806:1:126;788:16;;781:27;564:250::o;819:271::-;861:3;899:5;893:12;926:6;921:3;914:19;942:76;1011:6;1004:4;999:3;995:14;988:4;981:5;977:16;942:76;:::i;:::-;1072:2;1051:15;-1:-1:-1;;1047:29:126;1038:39;;;;1079:4;1034:50;;819:271;-1:-1:-1;;819:271:126:o;1095:252::-;1182:5;1176:12;1171:3;1164:25;1146:3;1235:4;1228:5;1224:16;1218:23;1273:4;1266;1261:3;1257:14;1250:28;1294:47;1335:4;1330:3;1326:14;1312:12;1294:47;:::i;1352:1500::-;1929:4;1958:3;1988:6;1977:9;1970:25;2031:6;2026:2;2015:9;2011:18;2004:34;2074:6;2069:2;2058:9;2054:18;2047:34;2117:6;2112:2;2101:9;2097:18;2090:34;2160:1;2156;2151:3;2147:11;2143:19;2211:2;2203:6;2199:15;2193:3;2182:9;2178:19;2171:44;2264:2;2256:6;2252:15;2246:3;2235:9;2231:19;2224:44;2317:2;2309:6;2305:15;2299:3;2288:9;2284:19;2277:44;2358:6;2352:3;2341:9;2337:19;2330:35;2374:44;2411:6;2374:44;:::i;:::-;2455:6;2449:3;2438:9;2434:19;2427:35;2499:2;2493:3;2482:9;2478:19;2471:31;2519:54;2569:2;2558:9;2554:18;2546:6;2519:54;:::i;:::-;2610:14;;2604:3;2589:19;;2582:43;2681:2;2668:16;;2662:23;2656:3;2641:19;;2634:52;2746:2;2733:16;;;2727:23;2723:32;2717:3;2702:19;;2695:61;-1:-1:-1;;2787:3:126;2772:19;;2765:36;;;;2832:3;2817:19;;;2810:36;2511:62;1352:1500;-1:-1:-1;;;;;;;;;;1352:1500:126:o;2857:286::-;2915:6;2968:2;2956:9;2947:7;2943:23;2939:32;2936:52;;;2984:1;2981;2974:12;2936:52;3010:23;;-1:-1:-1;;;;;;3062:32:126;;3052:43;;3042:71;;3109:1;3106;3099:12;3957:127;4018:10;4013:3;4009:20;4006:1;3999:31;4049:4;4046:1;4039:15;4073:4;4070:1;4063:15;4089:253;4161:2;4155:9;4203:4;4191:17;;-1:-1:-1;;;;;4223:34:126;;4259:22;;;4220:62;4217:88;;;4285:18;;:::i;:::-;4321:2;4314:22;4089:253;:::o;4347:::-;4419:2;4413:9;4461:4;4449:17;;-1:-1:-1;;;;;4481:34:126;;4517:22;;;4478:62;4475:88;;;4543:18;;:::i;4605:253::-;4677:2;4671:9;4719:4;4707:17;;-1:-1:-1;;;;;4739:34:126;;4775:22;;;4736:62;4733:88;;;4801:18;;:::i;4863:257::-;4935:4;4929:11;;;4967:17;;-1:-1:-1;;;;;4999:34:126;;5035:22;;;4996:62;4993:88;;;5061:18;;:::i;5125:253::-;5197:2;5191:9;5239:4;5227:17;;-1:-1:-1;;;;;5259:34:126;;5295:22;;;5256:62;5253:88;;;5321:18;;:::i;5383:275::-;5454:2;5448:9;5519:2;5500:13;;-1:-1:-1;;5496:27:126;5484:40;;-1:-1:-1;;;;;5539:34:126;;5575:22;;;5536:62;5533:88;;;5601:18;;:::i;:::-;5637:2;5630:22;5383:275;;-1:-1:-1;5383:275:126:o;5663:144::-;-1:-1:-1;;;;;5751:31:126;;5741:42;;5731:70;;5797:1;5794;5787:12;5812:1289;5942:6;5950;5994:9;5985:7;5981:23;6024:3;6020:2;6016:12;6013:32;;;6041:1;6038;6031:12;6013:32;6065:4;6061:2;6057:13;6054:33;;;6083:1;6080;6073:12;6054:33;6109:22;;:::i;:::-;6168:9;6155:23;6187:46;6225:7;6187:46;:::i;:::-;6242:22;;6316:2;6301:18;;6288:32;6329:46;6288:32;6329:46;:::i;:::-;6402:2;6391:14;;6384:31;6475:2;6460:18;;;6447:32;6431:14;;;6424:56;6540:2;6525:18;;;6512:32;6496:14;;;6489:56;6606:3;6591:19;;;6578:33;6561:15;;;6554:58;6673:3;6658:19;;;6645:33;6628:15;;;6621:58;6395:5;;-1:-1:-1;;;6719:17:126;;6715:27;6712:47;;;6755:1;6752;6745:12;6712:47;;6783:22;;:::i;:::-;6858:4;6843:20;;6830:34;6814:51;;6927:3;6912:19;;6899:33;6894:2;6881:16;;6874:59;6995:3;6980:19;;6967:33;6962:2;6949:16;;6942:59;7063:3;7048:19;;;7035:33;7030:2;7017:16;;7010:59;-1:-1:-1;5812:1289:126;6821:7;;-1:-1:-1;5812:1289:126:o;7106:183::-;7166:4;-1:-1:-1;;;;;7188:30:126;;7185:56;;;7221:18;;:::i;:::-;-1:-1:-1;7266:1:126;7262:14;7278:4;7258:25;;7106:183::o;7294:750::-;7348:5;7401:3;7394:4;7386:6;7382:17;7378:27;7368:55;;7419:1;7416;7409:12;7368:55;7455:6;7442:20;7481:4;7505:60;7521:43;7561:2;7521:43;:::i;:::-;7505:60;:::i;:::-;7599:15;;;7685:1;7681:10;;;;7669:23;;7665:32;;;7630:12;;;;7709:15;;;7706:35;;;7737:1;7734;7727:12;7706:35;7773:2;7765:6;7761:15;7785:230;7801:6;7796:3;7793:15;7785:230;;;7881:3;7868:17;7898:44;7936:5;7898:44;:::i;:::-;7955:18;;7993:12;;;;7818;;7785:230;;;-1:-1:-1;8033:5:126;7294:750;-1:-1:-1;;;;;;7294:750:126:o;8049:186::-;8097:4;-1:-1:-1;;;;;8119:30:126;;8116:56;;;8152:18;;:::i;:::-;-1:-1:-1;8218:2:126;8197:15;-1:-1:-1;;8193:29:126;8224:4;8189:40;;8049:186::o;8240:336::-;8304:5;8333:52;8349:35;8377:6;8349:35;:::i;8333:52::-;8324:61;;8408:6;8401:5;8394:21;8448:3;8439:6;8434:3;8430:16;8427:25;8424:45;;;8465:1;8462;8455:12;8424:45;8514:6;8509:3;8502:4;8495:5;8491:16;8478:43;8568:1;8561:4;8552:6;8545:5;8541:18;8537:29;8530:40;8240:336;;;;;:::o;8581:220::-;8623:5;8676:3;8669:4;8661:6;8657:17;8653:27;8643:55;;8694:1;8691;8684:12;8643:55;8716:79;8791:3;8782:6;8769:20;8762:4;8754:6;8750:17;8716:79;:::i;8806:715::-;8917:6;8925;8933;8986:2;8974:9;8965:7;8961:23;8957:32;8954:52;;;9002:1;8999;8992:12;8954:52;9029:23;;-1:-1:-1;;;;;9101:14:126;;;9098:34;;;9128:1;9125;9118:12;9098:34;9151:61;9204:7;9195:6;9184:9;9180:22;9151:61;:::i;:::-;9141:71;;9265:2;9254:9;9250:18;9237:32;9221:48;;9294:2;9284:8;9281:16;9278:36;;;9310:1;9307;9300:12;9278:36;;9333:51;9376:7;9365:8;9354:9;9350:24;9333:51;:::i;:::-;9323:61;;;9434:2;9423:9;9419:18;9406:32;9447:44;9485:5;9447:44;:::i;:::-;9510:5;9500:15;;;8806:715;;;;;:::o;9708:229::-;-1:-1:-1;;;;;9898:32:126;;;;9880:51;;9868:2;9853:18;;9708:229::o;10164:568::-;10241:6;10249;10257;10310:2;10298:9;10289:7;10285:23;10281:32;10278:52;;;10326:1;10323;10316:12;10278:52;10365:9;10352:23;10384:44;10422:5;10384:44;:::i;:::-;10447:5;-1:-1:-1;10504:2:126;10489:18;;10476:32;10517:46;10476:32;10517:46;:::i;:::-;10582:7;-1:-1:-1;10641:2:126;10626:18;;10613:32;10654:46;10613:32;10654:46;:::i;11133:468::-;11210:6;11218;11271:2;11259:9;11250:7;11246:23;11242:32;11239:52;;;11287:1;11284;11277:12;11239:52;11314:23;;-1:-1:-1;;;;;11349:30:126;;11346:50;;;11392:1;11389;11382:12;11346:50;11415:49;11456:7;11447:6;11436:9;11432:22;11415:49;:::i;:::-;11405:59;;;11514:2;11503:9;11499:18;11486:32;11527:44;11565:5;11527:44;:::i;:::-;11590:5;11580:15;;;11133:468;;;;;:::o;11814:142::-;11897:1;11890:5;11887:12;11877:46;;11903:18;;:::i;:::-;11932;;11814:142::o;11961:213::-;12110:2;12095:18;;12122:46;12099:9;12150:6;12122:46;:::i;12179:328::-;12247:6;12255;12308:2;12296:9;12287:7;12283:23;12279:32;12276:52;;;12324:1;12321;12314:12;12276:52;12363:9;12350:23;12382:44;12420:5;12382:44;:::i;:::-;12445:5;12497:2;12482:18;;;;12469:32;;-1:-1:-1;;;12179:328:126:o;12512:248::-;12580:6;12588;12641:2;12629:9;12620:7;12616:23;12612:32;12609:52;;;12657:1;12654;12647:12;12609:52;-1:-1:-1;;12680:23:126;;;12750:2;12735:18;;;12722:32;;-1:-1:-1;12512:248:126:o;12765:316::-;12842:6;12850;12858;12911:2;12899:9;12890:7;12886:23;12882:32;12879:52;;;12927:1;12924;12917:12;12879:52;-1:-1:-1;;12950:23:126;;;13020:2;13005:18;;12992:32;;-1:-1:-1;13071:2:126;13056:18;;;13043:32;;12765:316;-1:-1:-1;12765:316:126:o;13086:143::-;13170:1;13163:5;13160:12;13150:46;;13176:18;;:::i;13234:215::-;13384:2;13369:18;;13396:47;13373:9;13425:6;13396:47;:::i;13454:260::-;13513:6;13566:2;13554:9;13545:7;13541:23;13537:32;13534:52;;;13582:1;13579;13572:12;13534:52;13621:9;13608:23;13640:44;13678:5;13640:44;:::i;14140:468::-;14217:6;14225;14278:2;14266:9;14257:7;14253:23;14249:32;14246:52;;;14294:1;14291;14284:12;14246:52;14333:9;14320:23;14352:44;14390:5;14352:44;:::i;:::-;14415:5;-1:-1:-1;14471:2:126;14456:18;;14443:32;-1:-1:-1;;;;;14487:30:126;;14484:50;;;14530:1;14527;14520:12;14484:50;14553:49;14594:7;14585:6;14574:9;14570:22;14553:49;:::i;:::-;14543:59;;;14140:468;;;;;:::o;14613:752::-;14700:6;14708;14716;14769:2;14757:9;14748:7;14744:23;14740:32;14737:52;;;14785:1;14782;14775:12;14737:52;14824:9;14811:23;14843:44;14881:5;14843:44;:::i;:::-;14906:5;-1:-1:-1;14962:2:126;14947:18;;14934:32;-1:-1:-1;;;;;14978:30:126;;14975:50;;;15021:1;15018;15011:12;14975:50;15044:22;;15097:4;15089:13;;15085:27;-1:-1:-1;15075:55:126;;15126:1;15123;15116:12;15075:55;15149:73;15214:7;15209:2;15196:16;15191:2;15187;15183:11;15149:73;:::i;15575:261::-;15756:2;15745:9;15738:21;15719:4;15776:54;15826:2;15815:9;15811:18;15803:6;15776:54;:::i;15841:1357::-;15968:6;15976;16029:2;16017:9;16008:7;16004:23;16000:32;15997:52;;;16045:1;16042;16035:12;15997:52;16072:23;;-1:-1:-1;;;;;16144:14:126;;;16141:34;;;16171:1;16168;16161:12;16141:34;16194:61;16247:7;16238:6;16227:9;16223:22;16194:61;:::i;:::-;16184:71;;16274:2;16264:12;;16329:2;16318:9;16314:18;16301:32;16358:2;16348:8;16345:16;16342:36;;;16374:1;16371;16364:12;16342:36;16397:24;;16452:4;16444:13;;16440:27;-1:-1:-1;16430:55:126;;16481:1;16478;16471:12;16430:55;16517:2;16504:16;16540:60;16556:43;16596:2;16556:43;:::i;16540:60::-;16634:15;;;16716:1;16712:10;;;;16704:19;;16700:28;;;16665:12;;;;16740:19;;;16737:39;;;16772:1;16769;16762:12;16737:39;16804:2;16800;16796:11;16816:352;16832:6;16827:3;16824:15;16816:352;;;16918:3;16905:17;16954:2;16941:11;16938:19;16935:109;;;16998:1;17027:2;17023;17016:14;16935:109;17069:56;17117:7;17112:2;17098:11;17094:2;17090:20;17086:29;17069:56;:::i;:::-;17057:69;;-1:-1:-1;17146:12:126;;;;16849;;16816:352;;;16820:3;17187:5;17177:15;;;;;;;;15841:1357;;;;;:::o;17203:826::-;17436:2;17488:21;;;17558:13;;17461:18;;;17580:22;;;17407:4;;17436:2;17621;;17639:18;;;;17680:15;;;17407:4;17723:280;17737:6;17734:1;17731:13;17723:280;;;17796:13;;17838:9;;-1:-1:-1;;;;;17834:35:126;17822:48;;17910:11;;17904:18;17890:12;;;17883:40;17943:12;;;;17978:15;;;;17866:1;17752:9;17723:280;;;-1:-1:-1;18020:3:126;;17203:826;-1:-1:-1;;;;;;;17203:826:126:o;18034:348::-;18086:8;18096:6;18150:3;18143:4;18135:6;18131:17;18127:27;18117:55;;18168:1;18165;18158:12;18117:55;-1:-1:-1;18191:20:126;;-1:-1:-1;;;;;18223:30:126;;18220:50;;;18266:1;18263;18256:12;18220:50;18303:4;18295:6;18291:17;18279:29;;18355:3;18348:4;18339:6;18331;18327:19;18323:30;18320:39;18317:59;;;18372:1;18369;18362:12;18387:788;18487:6;18495;18503;18511;18519;18572:2;18560:9;18551:7;18547:23;18543:32;18540:52;;;18588:1;18585;18578:12;18540:52;18611:23;;;-1:-1:-1;18685:2:126;18670:18;;18657:32;-1:-1:-1;;;;;18738:14:126;;;18735:34;;;18765:1;18762;18755:12;18735:34;18804:59;18855:7;18846:6;18835:9;18831:22;18804:59;:::i;:::-;18882:8;;-1:-1:-1;18778:85:126;-1:-1:-1;18970:2:126;18955:18;;18942:32;;-1:-1:-1;18986:16:126;;;18983:36;;;19015:1;19012;19005:12;18983:36;;19054:61;19107:7;19096:8;19085:9;19081:24;19054:61;:::i;:::-;18387:788;;;;-1:-1:-1;18387:788:126;;-1:-1:-1;19134:8:126;;19028:87;18387:788;-1:-1:-1;;;18387:788:126:o;19180:118::-;19266:5;19259:13;19252:21;19245:5;19242:32;19232:60;;19288:1;19285;19278:12;19303:241;19359:6;19412:2;19400:9;19391:7;19387:23;19383:32;19380:52;;;19428:1;19425;19418:12;19380:52;19467:9;19454:23;19486:28;19508:5;19486:28;:::i;19779:1033::-;-1:-1:-1;;;;;20281:15:126;;;20263:34;;20333:15;;;20328:2;20313:18;;20306:43;20385:15;;20380:2;20365:18;;20358:43;20432:2;20417:18;;20410:34;;;20475:3;20460:19;;20453:35;;;20212:3;20197:19;;20497:44;20534:6;20497:44;:::i;:::-;20578:6;20572:3;20561:9;20557:19;20550:35;20622:6;20616:3;20605:9;20601:19;20594:35;20666:6;20660:3;20649:9;20645:19;20638:35;20710:6;20704:3;20693:9;20689:19;20682:35;20754:6;20748:3;20737:9;20733:19;20726:35;20798:7;20792:3;20781:9;20777:19;20770:36;19779:1033;;;;;;;;;;;;;;:::o;20817:328::-;20885:6;20893;20946:2;20934:9;20925:7;20921:23;20917:32;20914:52;;;20962:1;20959;20952:12;20914:52;20998:9;20985:23;20975:33;;21058:2;21047:9;21043:18;21030:32;21071:44;21109:5;21071:44;:::i;21150:239::-;21293:2;21278:18;;21305:44;21342:6;21305:44;:::i;:::-;21358:25;;;21150:239;:::o;21394:388::-;21471:6;21479;21532:2;21520:9;21511:7;21507:23;21503:32;21500:52;;;21548:1;21545;21538:12;21500:52;21571:23;;;-1:-1:-1;21645:2:126;21630:18;;21617:32;-1:-1:-1;;;;;21661:30:126;;21658:50;;;21704:1;21701;21694:12;21787:220;21936:2;21925:9;21918:21;21899:4;21956:45;21997:2;21986:9;21982:18;21974:6;21956:45;:::i;22012:380::-;22091:1;22087:12;;;;22134;;;22155:61;;22209:4;22201:6;22197:17;22187:27;;22155:61;22262:2;22254:6;22251:14;22231:18;22228:38;22225:161;;22308:10;22303:3;22299:20;22296:1;22289:31;22343:4;22340:1;22333:15;22371:4;22368:1;22361:15;23011:127;23072:10;23067:3;23063:20;23060:1;23053:31;23103:4;23100:1;23093:15;23127:4;23124:1;23117:15;23143:128;23210:9;;;23231:11;;;23228:37;;;23245:18;;:::i;23276:345::-;-1:-1:-1;;;;;23496:32:126;;;;23478:51;;23560:2;23545:18;;23538:34;;;;23603:2;23588:18;;23581:34;23466:2;23451:18;;23276:345::o;23626:125::-;23691:9;;;23712:10;;;23709:36;;;23725:18;;:::i;23756:345::-;23958:25;;;-1:-1:-1;;;;;24019:32:126;;;;24014:2;23999:18;;23992:60;24083:2;24068:18;;24061:34;23946:2;23931:18;;23756:345::o;24106:279::-;24191:6;24244:2;24232:9;24223:7;24219:23;24215:32;24212:52;;;24260:1;24257;24250:12;24212:52;24292:9;24286:16;24311:44;24349:5;24311:44;:::i;24390:447::-;24621:25;;;-1:-1:-1;;;;;24720:15:126;;;24715:2;24700:18;;24693:43;24772:15;;24767:2;24752:18;;24745:43;24819:2;24804:18;;24797:34;24608:3;24593:19;;24390:447::o;24842:127::-;24903:10;24898:3;24894:20;24891:1;24884:31;24934:4;24931:1;24924:15;24958:4;24955:1;24948:15;24974:217;25014:1;25040;25030:132;;25084:10;25079:3;25075:20;25072:1;25065:31;25119:4;25116:1;25109:15;25147:4;25144:1;25137:15;25030:132;-1:-1:-1;25176:9:126;;24974:217::o;25196:193::-;25234:3;-1:-1:-1;;;;;25267:30:126;;;25306:41;;25327:18;;:::i;:::-;-1:-1:-1;;25363:20:126;;25196:193;-1:-1:-1;;25196:193:126:o;25394:168::-;25467:9;;;25498;;25515:15;;;25509:22;;25495:37;25485:71;;25536:18;;:::i;25567:408::-;25769:2;25751:21;;;25808:2;25788:18;;;25781:30;-1:-1:-1;;;;;;;;;;;25842:2:126;25827:18;;25820:62;-1:-1:-1;;;25913:2:126;25898:18;;25891:42;25965:3;25950:19;;25567:408::o;25980:::-;26182:2;26164:21;;;26221:2;26201:18;;;26194:30;-1:-1:-1;;;;;;;;;;;26255:2:126;26240:18;;26233:62;-1:-1:-1;;;26326:2:126;26311:18;;26304:42;26378:3;26363:19;;25980:408::o;26818:407::-;27020:2;27002:21;;;27059:2;27039:18;;;27032:30;27098:34;27093:2;27078:18;;27071:62;-1:-1:-1;;;27164:2:126;27149:18;;27142:41;27215:3;27200:19;;26818:407::o;27230:304::-;-1:-1:-1;;;;;27460:15:126;;;27442:34;;27512:15;;27507:2;27492:18;;27485:43;27392:2;27377:18;;27230:304::o;27539:245::-;27606:6;27659:2;27647:9;27638:7;27634:23;27630:32;27627:52;;;27675:1;27672;27665:12;27627:52;27707:9;27701:16;27726:28;27748:5;27726:28;:::i;27789:184::-;27859:6;27912:2;27900:9;27891:7;27887:23;27883:32;27880:52;;;27928:1;27925;27918:12;27880:52;-1:-1:-1;27951:16:126;;27789:184;-1:-1:-1;27789:184:126:o;27978:151::-;28057:13;;28079:44;28057:13;28079:44;:::i;:::-;27978:151;;;:::o;28403:248::-;28577:25;;;28633:2;28618:18;;28611:34;28565:2;28550:18;;28403:248::o;28656:274::-;28830:25;;;-1:-1:-1;;;;;28891:32:126;28886:2;28871:18;;28864:60;28818:2;28803:18;;28656:274::o;28935:266::-;29023:6;29018:3;29011:19;29075:6;29068:5;29061:4;29056:3;29052:14;29039:43;-1:-1:-1;29127:1:126;29102:16;;;29120:4;29098:27;;;29091:38;;;;29183:2;29162:15;;;-1:-1:-1;;29158:29:126;29149:39;;;29145:50;;28935:266::o;29206:315::-;29391:6;29380:9;29373:25;29434:2;29429;29418:9;29414:18;29407:30;29354:4;29454:61;29511:2;29500:9;29496:18;29488:6;29480;29454:61;:::i;:::-;29446:69;29206:315;-1:-1:-1;;;;;29206:315:126:o;29526:209::-;29564:3;-1:-1:-1;;;;;29634:14:126;;;-1:-1:-1;;;;;;29660:15:126;;29657:41;;29678:18;;:::i;:::-;29727:1;29714:15;;29526:209;-1:-1:-1;;;29526:209:126:o;29740:682::-;-1:-1:-1;;;;;30098:15:126;;;30080:34;;30145:2;30130:18;;30123:34;;;30188:2;30173:18;;30166:34;;;30236:15;;30231:2;30216:18;;30209:43;30289:3;30283;30268:19;;30261:32;;;30023:4;;30310:62;;30352:19;;30344:6;30336;30310:62;:::i;:::-;30302:70;;30409:6;30403:3;30392:9;30388:19;30381:35;29740:682;;;;;;;;;;:::o;30427:135::-;30466:3;30487:17;;;30484:43;;30507:18;;:::i;:::-;-1:-1:-1;30554:1:126;30543:13;;30427:135::o;30567:157::-;30656:13;;30698:1;30688:12;;30678:40;;30714:1;30711;30704:12;30729:156;30817:13;;30859:1;30849:12;;30839:40;;30875:1;30872;30865:12;30890:420;30965:5;31013:4;31001:9;30996:3;30992:19;30988:30;30985:50;;;31031:1;31028;31021:12;30985:50;31064:2;31058:9;31106:4;31094:17;;-1:-1:-1;;;;;31126:34:126;;31162:22;;;31123:62;31120:88;;;31188:18;;:::i;:::-;31224:2;31217:22;31287:16;;31272:32;;-1:-1:-1;31257:6:126;30890:420;-1:-1:-1;30890:420:126:o;31315:696::-;31389:5;31437:4;31425:9;31420:3;31416:19;31412:30;31409:50;;;31455:1;31452;31445:12;31409:50;31477:22;;:::i;:::-;31468:31;;31529:9;31523:16;31548:46;31586:7;31548:46;:::i;:::-;31603:22;;31670:2;31655:18;;31649:25;31683:46;31649:25;31683:46;:::i;:::-;31761:7;31756:2;31749:5;31745:14;31738:31;;31822:2;31811:9;31807:18;31801:25;31796:2;31789:5;31785:14;31778:49;31880:2;31869:9;31865:18;31859:25;31854:2;31847:5;31843:14;31836:49;31939:3;31928:9;31924:19;31918:26;31912:3;31905:5;31901:15;31894:51;31999:3;31988:9;31984:19;31978:26;31972:3;31965:5;31961:15;31954:51;31315:696;;;;:::o;32016:1189::-;32121:6;32165:9;32156:7;32152:23;32195:3;32191:2;32187:12;32184:32;;;32212:1;32209;32202:12;32184:32;32238:22;;:::i;:::-;32280:4;32276:2;32272:13;32269:33;;;32298:1;32295;32288:12;32269:33;32326:22;;:::i;:::-;32311:37;;32379:9;32373:16;32364:7;32357:33;32445:2;32434:9;32430:18;32424:25;32419:2;32410:7;32406:16;32399:51;32505:2;32494:9;32490:18;32484:25;32479:2;32470:7;32466:16;32459:51;32565:2;32554:9;32550:18;32544:25;32539:2;32530:7;32526:16;32519:51;32593:7;32586:5;32579:22;32633:61;32688:4;32677:9;32673:20;32633:61;:::i;:::-;32628:2;32621:5;32617:14;32610:85;32727:59;32781:3;32770:9;32766:19;32727:59;:::i;:::-;32722:2;32715:5;32711:14;32704:83;32819:76;32887:7;32881:3;32870:9;32866:19;32819:76;:::i;:::-;32814:2;32807:5;32803:14;32796:100;32930:76;32998:7;32991:4;32980:9;32976:20;32930:76;:::i;:::-;32923:4;32916:5;32912:16;32905:102;33040:50;33085:3;33074:9;33070:19;33040:50;:::i;:::-;33034:3;33027:5;33023:15;33016:75;33124:50;33169:3;33158:9;33154:19;33124:50;:::i;:::-;33118:3;33107:15;;33100:75;33111:5;32016:1189;-1:-1:-1;;;;32016:1189:126:o;33210:261::-;33290:5;33284:12;33279:3;33272:25;33346:4;33339:5;33335:16;33329:23;33322:4;33317:3;33313:14;33306:47;33402:4;33395:5;33391:16;33385:23;33378:4;33373:3;33369:14;33362:47;33458:4;33451:5;33447:16;33441:23;33434:4;33429:3;33425:14;33418:47;;;33210:261::o;33476:1419::-;33666:4;33708:3;33697:9;33693:19;33685:27;;33739:6;33728:9;33721:25;33755:61;33812:2;33801:9;33797:18;33788:6;33782:13;33755:61;:::i;:::-;33863:2;33855:6;33851:15;33845:22;33876:63;33934:3;33923:9;33919:19;33905:12;33876:63;:::i;:::-;;33988:4;33980:6;33976:17;33970:24;34003:64;34062:3;34051:9;34047:19;34031:14;34003:64;:::i;:::-;-1:-1:-1;34128:4:126;34116:17;;;34110:24;34104:31;34098:3;34083:19;;34076:60;34185:4;34173:17;;;34167:24;34270:21;;-1:-1:-1;;;;;34266:30:126;;;34260:3;34245:19;;34238:59;34364:2;34344:23;;34338:30;34334:39;34328:3;34313:19;;34306:68;34437:4;34417:25;;34411:32;34405:3;34390:19;;34383:61;34487:25;;;34481:32;34475:3;34460:19;;34453:61;34557:25;;34551:32;34545:3;34530:19;;34523:61;34218:3;34627:24;;;34621:31;34615:3;34600:19;;34593:60;34690:16;;34684:23;34716:55;34766:3;34751:19;;34684:23;34716:55;:::i;:::-;;34820:3;34812:6;34808:16;34802:23;34834:55;34884:3;34873:9;34869:19;34853:14;34834:55;:::i;36385:252::-;36573:3;36558:19;;36586:45;36562:9;36613:6;36586:45;:::i;36642:319::-;36844:25;;;36900:2;36885:18;;36878:34;;;;36943:2;36928:18;;36921:34;36832:2;36817:18;;36642:319::o;36966:726::-;37032:5;37080:4;37068:9;37063:3;37059:19;37055:30;37052:50;;;37098:1;37095;37088:12;37052:50;37120:22;;:::i;:::-;37165:16;;37151:31;;37226:2;37211:18;;37205:25;37111:31;;-1:-1:-1;;;;;;37242:30:126;;37239:50;;;37285:1;37282;37275:12;37239:50;37308:22;;37361:4;37353:13;;37349:23;-1:-1:-1;37339:51:126;;37386:1;37383;37376:12;37339:51;37415:2;37409:9;37440:48;37456:31;37484:2;37456:31;:::i;37440:48::-;37511:2;37504:5;37497:17;37551:3;37546:2;37541;37537;37533:11;37529:20;37526:29;37523:49;;;37568:1;37565;37558:12;37523:49;37581:67;37645:2;37640;37633:5;37629:14;37624:2;37620;37616:11;37581:67;:::i;:::-;37675:2;37664:14;;37657:29;-1:-1:-1;37668:5:126;;36966:726;-1:-1:-1;;;36966:726:126:o;37697:1054::-;37789:6;37842:2;37830:9;37821:7;37817:23;37813:32;37810:52;;;37858:1;37855;37848:12;37810:52;37885:16;;-1:-1:-1;;;;;37950:14:126;;;37947:34;;;37977:1;37974;37967:12;37947:34;38000:22;;;;38056:4;38038:16;;;38034:27;38031:47;;;38074:1;38071;38064:12;38031:47;38100:22;;:::i;:::-;38151:2;38145:9;38138:5;38131:24;38193:2;38189;38185:11;38179:18;38206:46;38244:7;38206:46;:::i;:::-;38279:2;38268:14;;38261:31;38330:2;38322:11;;38316:18;38343:46;38316:18;38343:46;:::i;:::-;38416:2;38405:14;;38398:31;38468:2;38460:11;;38454:18;38484:16;;;38481:36;;;38513:1;38510;38503:12;38481:36;38549:65;38606:7;38595:8;38591:2;38587:17;38549:65;:::i;:::-;38544:2;38537:5;38533:14;38526:89;;38662:3;38658:2;38654:12;38648:19;38642:3;38635:5;38631:15;38624:44;38715:3;38711:2;38707:12;38701:19;38695:3;38688:5;38684:15;38677:44;38740:5;38730:15;;;;;37697:1054;;;;:::o;38756:1012::-;38859:6;38912:2;38900:9;38891:7;38887:23;38883:32;38880:52;;;38928:1;38925;38918:12;38880:52;38955:16;;-1:-1:-1;;;;;39020:14:126;;;39017:34;;;39047:1;39044;39037:12;39017:34;39070:22;;;;39126:4;39108:16;;;39104:27;39101:47;;;39144:1;39141;39134:12;39101:47;39170:22;;:::i;:::-;39221:2;39215:9;39208:5;39201:24;39263:2;39259;39255:11;39249:18;39276:46;39314:7;39276:46;:::i;:::-;39349:2;39338:14;;39331:31;39408:2;39400:11;;;39394:18;39378:14;;;39371:42;39451:2;39443:11;;39437:18;39464:46;39437:18;39464:46;:::i;:::-;39537:2;39526:14;;39519:31;39589:3;39581:12;;39575:19;39606:16;;;39603:36;;;39635:1;39632;39625:12;39603:36;39672:65;39729:7;39718:8;39714:2;39710:17;39672:65;:::i;:::-;39666:3;39655:15;;39648:90;-1:-1:-1;39659:5:126;38756:1012;-1:-1:-1;;;;;38756:1012:126:o;40182:545::-;40284:2;40279:3;40276:11;40273:448;;;40320:1;40345:5;40341:2;40334:17;40390:4;40386:2;40376:19;40460:2;40448:10;40444:19;40441:1;40437:27;40431:4;40427:38;40496:4;40484:10;40481:20;40478:47;;;-1:-1:-1;40519:4:126;40478:47;40574:2;40569:3;40565:12;40562:1;40558:20;40552:4;40548:31;40538:41;;40629:82;40647:2;40640:5;40637:13;40629:82;;;40692:17;;;40673:1;40662:13;40629:82;;;40633:3;;;40182:545;;;:::o;40903:1352::-;41023:10;;-1:-1:-1;;;;;41045:30:126;;41042:56;;;41078:18;;:::i;:::-;41107:97;41197:6;41157:38;41189:4;41183:11;41157:38;:::i;:::-;41151:4;41107:97;:::i;:::-;41259:4;;41323:2;41312:14;;41340:1;41335:663;;;;42042:1;42059:6;42056:89;;;-1:-1:-1;42111:19:126;;;42105:26;42056:89;-1:-1:-1;;40860:1:126;40856:11;;;40852:24;40848:29;40838:40;40884:1;40880:11;;;40835:57;42158:81;;41305:944;;41335:663;40129:1;40122:14;;;40166:4;40153:18;;-1:-1:-1;;41371:20:126;;;41489:236;41503:7;41500:1;41497:14;41489:236;;;41592:19;;;41586:26;41571:42;;41684:27;;;;41652:1;41640:14;;;;41519:19;;41489:236;;;41493:3;41753:6;41744:7;41741:19;41738:201;;;41814:19;;;41808:26;-1:-1:-1;;41897:1:126;41893:14;;;41909:3;41889:24;41885:37;41881:42;41866:58;41851:74;;41738:201;-1:-1:-1;;;;;41985:1:126;41969:14;;;41965:22;41952:36;;-1:-1:-1;40903:1352:126:o;42545:273::-;42613:6;42666:2;42654:9;42645:7;42641:23;42637:32;42634:52;;;42682:1;42679;42672:12;42634:52;42714:9;42708:16;42764:4;42757:5;42753:16;42746:5;42743:27;42733:55;;42784:1;42781;42774:12;42823:422;42912:1;42955:5;42912:1;42969:270;42990:7;42980:8;42977:21;42969:270;;;43049:4;43045:1;43041:6;43037:17;43031:4;43028:27;43025:53;;;43058:18;;:::i;:::-;43108:7;43098:8;43094:22;43091:55;;;43128:16;;;;43091:55;43207:22;;;;43167:15;;;;42969:270;;;42973:3;42823:422;;;;;:::o;43250:806::-;43299:5;43329:8;43319:80;;-1:-1:-1;43370:1:126;43384:5;;43319:80;43418:4;43408:76;;-1:-1:-1;43455:1:126;43469:5;;43408:76;43500:4;43518:1;43513:59;;;;43586:1;43581:130;;;;43493:218;;43513:59;43543:1;43534:10;;43557:5;;;43581:130;43618:3;43608:8;43605:17;43602:43;;;43625:18;;:::i;:::-;-1:-1:-1;;43681:1:126;43667:16;;43696:5;;43493:218;;43795:2;43785:8;43782:16;43776:3;43770:4;43767:13;43763:36;43757:2;43747:8;43744:16;43739:2;43733:4;43730:12;43726:35;43723:77;43720:159;;;-1:-1:-1;43832:19:126;;;43864:5;;43720:159;43911:34;43936:8;43930:4;43911:34;:::i;:::-;43981:6;43977:1;43973:6;43969:19;43960:7;43957:32;43954:58;;;43992:18;;:::i;:::-;44030:20;;43250:806;-1:-1:-1;;;43250:806:126:o;44061:131::-;44121:5;44150:36;44177:8;44171:4;44150:36;:::i;45929:127::-;45990:10;45985:3;45981:20;45978:1;45971:31;46021:4;46018:1;46011:15;46045:4;46042:1;46035:15;46352:1185;46481:6;46512:2;46555;46543:9;46534:7;46530:23;46526:32;46523:52;;;46571:1;46568;46561:12;46523:52;46598:16;;-1:-1:-1;;;;;46626:30:126;;46623:50;;;46669:1;46666;46659:12;46623:50;46692:22;;46745:4;46737:13;;46733:27;-1:-1:-1;46723:55:126;;46774:1;46771;46764:12;46723:55;46803:2;46797:9;46826:60;46842:43;46882:2;46842:43;:::i;46826:60::-;46920:15;;;47002:1;46998:10;;;;46990:19;;46986:28;;;46951:12;;;;47026:19;;;47023:39;;;47058:1;47055;47048:12;47023:39;47082:11;;;;47102:405;47118:6;47113:3;47110:15;47102:405;;;47200:4;47194:3;47185:7;47181:17;47177:28;47174:118;;;47246:1;47275:2;47271;47264:14;47174:118;47318:22;;:::i;:::-;47367:10;;47353:25;;47420:12;;;47414:19;47398:14;;;47391:43;47447:18;;47144:4;47135:14;;;;47485:12;;;;47102:405;;47542:127;47603:10;47598:3;47594:20;47591:1;47584:31;47634:4;47631:1;47624:15;47658:4;47655:1;47648:15;47674:497;-1:-1:-1;;;;;47959:32:126;;;;47941:51;;48023:2;48008:18;;48001:34;;;;48066:2;48051:18;;48044:34;;;;48109:2;48094:18;;48087:34;48152:3;48137:19;;48130:35;47928:3;47913:19;;47674:497::o;49708:216::-;49772:9;;;49800:11;;;49747:3;49830:9;;49858:10;;49854:19;;49883:10;;49875:19;;49851:44;49848:70;;;49898:18;;:::i;50743:287::-;50872:3;50910:6;50904:13;50926:66;50985:6;50980:3;50973:4;50965:6;50961:17;50926:66;:::i;:::-;51008:16;;;;;50743:287;-1:-1:-1;;50743:287:126:o","linkReferences":{},"immutableReferences":{"55572":[{"start":6165,"length":32},{"start":6229,"length":32},{"start":6388,"length":32},{"start":6452,"length":32},{"start":6572,"length":32}]}},"methodIdentifiers":{"D()":"0f529ba2","DISPUTE_COOLDOWN_SEC()":"f5be3f7c","MAX_STAKED_PROPOSALS()":"406244d8","NATIVE()":"a0cf0aea","RULING_OPTIONS()":"626c47e8","VERSION()":"ffa1ad74","activatePoints()":"814516ad","allocate(bytes,address)":"ef2920fc","arbitrableConfigs(uint256)":"41bb7605","calculateConviction(uint256,uint256,uint256)":"346db8cb","calculateThreshold(uint256)":"59a5db8b","canExecuteProposal(uint256)":"824ea8ed","cancelProposal(uint256)":"e0a8f6f5","cloneNonce()":"33960459","collateralVault()":"0bece79c","currentArbitrableConfigVersion()":"125fd1d9","cvParams()":"2506b870","deactivatePoints()":"1ddf1e23","deactivatePoints(address)":"6453d9c4","decreasePower(address,uint256)":"2ed04b2b","disputeCount()":"a28889e1","disputeIdToProposalId(uint256)":"255ffb38","disputeProposal(uint256,string,bytes)":"b41596ec","distribute(address[],bytes,address)":"0a6f0ee9","getAllo()":"15cc481e","getArbitrableConfig()":"059351cd","getDecay()":"9a1c157c","getMaxAmount()":"0ba95909","getMaxConviction(uint256)":"950559d7","getMetadata(uint256)":"a574cea4","getPayouts(address[],bytes[])":"b2b878d0","getPointSystem()":"c3292171","getPoolAmount()":"4ab4ba42","getPoolId()":"38fff2d0","getProposal(uint256)":"c7f758a8","getProposalStakedAmount(uint256)":"dc96ff2d","getProposalVoterStake(uint256,address)":"e0dd2c38","getRecipientStatus(address)":"eb11af93","getRegistryCommunity()":"48f19c1d","getStrategyId()":"42fda9c7","getTotalVoterStakePct(address)":"bcc5b93b","increasePoolAmount(uint256)":"f5b0dfb7","increasePower(address,uint256)":"782aadff","init(address,address,address)":"184b9559","init(address,string,address)":"60d5dedc","initialize(address)":"c4d66de8","initialize(uint256,bytes)":"edd146cc","isPoolActive()":"df868ed3","isValidAllocator(address)":"4d31d087","owner()":"8da5cb5b","pointConfig()":"a47ff7e5","pointSystem()":"2dbd6fdd","proposalCounter()":"0c0512e9","proposalType()":"351d9f96","proposals(uint256)":"013cf08b","proxiableUUID()":"52d1902d","registerRecipient(bytes,address)":"2bbe0cae","renounceOwnership()":"715018a6","rule(uint256,uint256)":"311a6c56","setCollateralVaultTemplate(address)":"b0d3713a","setPoolActive(bool)":"b5f620ce","setPoolParams((address,address,uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256))":"062f9ece","setSybilScorer(address)":"ac1ed7b9","supportsInterface(bytes4)":"01ffc9a7","sybilScorer()":"b6c61f31","totalEffectiveActivePoints()":"d1e36232","totalPointsActivated()":"aba9ffee","totalStaked()":"817b1cd2","totalVoterStakePct(address)":"5db64b99","transferOwnership(address)":"f2fde38b","updateProposalConviction(uint256)":"1aa91a9e","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286","voterStakedProposals(address,uint256)":"868c57b8"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AMOUNT_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AmountOverMaxRatio\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ArbitratorCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"CallerNotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CantIncreaseFixedSystem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ConvictionUnderMinimumThreshold\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DefaultRulingNotSet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_remainingSec\",\"type\":\"uint256\"}],\"name\":\"DisputeCooldownNotPassed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"sentAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requiredAmount\",\"type\":\"uint256\"}],\"name\":\"InsufficientCollateral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MaxPointsReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"pointsSupport\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pointsBalance\",\"type\":\"uint256\"}],\"name\":\"NotEnoughPointsToSupport\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotImplemented\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyArbitrator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCommunityAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncilSafe\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OnlySubmitter\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_poolAmount\",\"type\":\"uint256\"}],\"name\":\"PoolAmountNotEnough\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PoolIdCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PoolIsEmpty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposalDataIsEmpty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposalIdCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotActive\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotDisputed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotInList\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"ProposalSupportDuplicated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RegistryCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_support\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"_delta\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"_result\",\"type\":\"int256\"}],\"name\":\"SupportUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenNotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserCannotExecuteAction\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserIsInactive\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Allocated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"currentArbitrableConfigVersion\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"name\":\"ArbitrableConfigUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"}],\"name\":\"CVParamsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IArbitrator\",\"name\":\"_arbitrator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_arbitrableDisputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_externalDisputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_templateId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_templateUri\",\"type\":\"string\"}],\"name\":\"DisputeRequest\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Distributed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipientAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Distributed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"data\",\"type\":\"tuple\"}],\"name\":\"InitializedCV\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"before\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"name\":\"MinThresholdPointsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"PointsDeactivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"}],\"name\":\"PoolActive\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"PoolAmountIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokensUnStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pointsToDecrease\",\"type\":\"uint256\"}],\"name\":\"PowerDecreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokensStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pointsToIncrease\",\"type\":\"uint256\"}],\"name\":\"PowerIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"context\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"ProposalDisputed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Registered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"}],\"name\":\"RegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IArbitrator\",\"name\":\"_arbitrator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"Ruling\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalStakedAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"}],\"name\":\"SupportAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"}],\"name\":\"TribunaSafeRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"D\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DISPUTE_COOLDOWN_SEC\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_STAKED_PROPOSALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RULING_OPTIONS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"arbitrableConfigs\",\"outputs\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"}],\"name\":\"calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_requestedAmount\",\"type\":\"uint256\"}],\"name\":\"calculateThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"canExecuteProposal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canBeExecuted\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"cancelProposal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloneNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateralVault\",\"outputs\":[{\"internalType\":\"contract ICollateralVault\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentArbitrableConfigVersion\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cvParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToUnstake\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disputeCount\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"disputeIdToProposalId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"context\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"disputeProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_recipientIds\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllo\",\"outputs\":[{\"internalType\":\"contract IAllo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getArbitrableConfig\",\"outputs\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDecay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMaxAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"getMaxConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"name\":\"getPayouts\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"recipientAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct IStrategy.PayoutSummary[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposal\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requestedToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalStatus\",\"name\":\"proposalStatus\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"blockLast\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"voterStakedPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"arbitrableConfigVersion\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"getProposalVoterStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipientId\",\"type\":\"address\"}],\"name\":\"getRecipientStatus\",\"outputs\":[{\"internalType\":\"enum IStrategy.Status\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistryCommunity\",\"outputs\":[{\"internalType\":\"contract RegistryCommunityV0_0\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStrategyId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"getTotalVoterStakePct\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"increasePoolAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToStake\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPoolActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allocator\",\"type\":\"address\"}],\"name\":\"isValidAllocator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pointConfig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalType\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requestedToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockLast\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalStatus\",\"name\":\"proposalStatus\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"disputeTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.ProposalDisputeInfo\",\"name\":\"disputeInfo\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"lastDisputeCompletion\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"arbitrableConfigVersion\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"registerRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"rule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setCollateralVaultTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_active\",\"type\":\"bool\"}],\"name\":\"setPoolActive\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"_arbitrableConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"_cvParams\",\"type\":\"tuple\"}],\"name\":\"setPoolParams\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sybilScorer\",\"type\":\"address\"}],\"name\":\"setSybilScorer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sybilScorer\",\"outputs\":[{\"internalType\":\"contract ISybilScorer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalEffectiveActivePoints\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalPointsActivated\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalStaked\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"totalVoterStakePct\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"updateProposalConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"voterStakedProposals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"CVStrategyV0_0\",\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}]},\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"Allocated(address,uint256,address,address)\":{\"params\":{\"amount\":\"The amount allocated\",\"recipientId\":\"The ID of the recipient\",\"token\":\"The token allocated\"}},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"DisputeRequest(address,uint256,uint256,uint256,string)\":{\"details\":\"To be emitted when a dispute is created to link the correct meta-evidence to the disputeID.\",\"params\":{\"_arbitrableDisputeID\":\"The identifier of the dispute in the Arbitrable contract.\",\"_arbitrator\":\"The arbitrator of the contract.\",\"_externalDisputeID\":\"An identifier created outside Kleros by the protocol requesting arbitration.\",\"_templateId\":\"The identifier of the dispute template. Should not be used with _templateUri.\",\"_templateUri\":\"The URI to the dispute template. For example on IPFS: starting with '/ipfs/'. Should not be used with _templateId.\"}},\"Distributed(address,address,uint256,address)\":{\"params\":{\"amount\":\"The amount distributed\",\"recipientAddress\":\"The recipient\",\"recipientId\":\"The ID of the recipient\",\"sender\":\"The sender\"}},\"Initialized(uint256,bytes)\":{\"params\":{\"data\":\"The data passed to the 'initialize' function\",\"poolId\":\"The ID of the pool\"}},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"PoolActive(bool)\":{\"params\":{\"active\":\"The status of the pool\"}},\"Registered(address,bytes,address)\":{\"params\":{\"data\":\"The data passed to the 'registerRecipient' function\",\"recipientId\":\"The ID of the recipient\",\"sender\":\"The sender\"}},\"Ruling(address,uint256,uint256)\":{\"details\":\"To be raised when a ruling is given.\",\"params\":{\"_arbitrator\":\"The arbitrator giving the ruling.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"The ruling which was given.\"}},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"allocate(bytes,address)\":{\"details\":\"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to allocate to the recipient\",\"_sender\":\"The address of the sender\"}},\"calculateConviction(uint256,uint256,uint256)\":{\"details\":\"Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a) Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\",\"params\":{\"_lastConv\":\"Last conviction record\",\"_oldAmount\":\"Amount of tokens staked until now\",\"_timePassed\":\"Number of blocks since last conviction record\"},\"returns\":{\"_0\":\"Current conviction\"}},\"calculateThreshold(uint256)\":{\"details\":\"Formula: \\u03c1 * totalStaked / (1 - a) / (\\u03b2 - requestedAmount / total)**2 For the Solidity implementation we amplify \\u03c1 and \\u03b2 and simplify the formula: weight = \\u03c1 * D maxRatio = \\u03b2 * D decay = a * D threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\",\"params\":{\"_requestedAmount\":\"Requested amount of tokens on certain proposal\"},\"returns\":{\"_threshold\":\"Threshold a proposal's conviction should surpass in order to be able to executed it.\"}},\"distribute(address[],bytes,address)\":{\"details\":\"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to distribute to the recipients\",\"_recipientIds\":\"The IDs of the recipients\",\"_sender\":\"The address of the sender\"}},\"getAllo()\":{\"returns\":{\"_0\":\"The Allo contract\"}},\"getPayouts(address[],bytes[])\":{\"returns\":{\"_0\":\"Input the values you would send to distribute(), get the amounts each recipient in the array would receive\"}},\"getPoolAmount()\":{\"returns\":{\"_0\":\"The balance of the pool\"}},\"getPoolId()\":{\"returns\":{\"_0\":\"The ID of the pool\"}},\"getProposal(uint256)\":{\"details\":\"Get proposal details\",\"params\":{\"_proposalId\":\"Proposal id\"},\"returns\":{\"arbitrableConfigVersion\":\"Proposal arbitrable config id\",\"beneficiary\":\"Proposal beneficiary\",\"blockLast\":\"Last block when conviction was calculated\",\"convictionLast\":\"Last conviction calculated\",\"proposalStatus\":\"Proposal status\",\"requestedAmount\":\"Proposal requested amount\",\"requestedToken\":\"Proposal requested token\",\"stakedAmount\":\"Proposal staked points\",\"submitter\":\"Proposal submitter\",\"threshold\":\"Proposal threshold\",\"voterStakedPoints\":\"Voter staked points\"}},\"getProposalVoterStake(uint256,address)\":{\"params\":{\"_proposalId\":\"Proposal id\",\"_voter\":\"Voter address\"},\"returns\":{\"_0\":\"Proposal voter stake\"}},\"getRecipientStatus(address)\":{\"params\":{\"_recipientId\":\"The ID of the recipient\"},\"returns\":{\"_0\":\"The status of the recipient\"}},\"getStrategyId()\":{\"returns\":{\"_0\":\"The ID of the strategy\"}},\"increasePoolAmount(uint256)\":{\"details\":\"Increases the 'poolAmount' by '_amount'. Only 'Allo' contract can call this.\",\"params\":{\"_amount\":\"The amount to increase the pool by\"}},\"init(address,string,address)\":{\"params\":{\"_allo\":\"Address of the Allo contract.\",\"_name\":\"Name of the strategy\",\"owner\":\"Address of the owner of the strategy\"}},\"initialize(uint256,bytes)\":{\"params\":{\"_data\":\"The encoded data\",\"_poolId\":\"The ID of the pool\"}},\"isPoolActive()\":{\"returns\":{\"_0\":\"'true' if the pool is active, otherwise 'false'\"}},\"isValidAllocator(address)\":{\"details\":\"How the allocator is determined is up to the strategy implementation.\",\"params\":{\"_allocator\":\"The address to check if it is a valid allocator for the strategy.\"},\"returns\":{\"_0\":\"'true' if the address is a valid allocator, 'false' otherwise\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"registerRecipient(bytes,address)\":{\"details\":\"Registers a recipient and returns the ID of the recipient. The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to register the recipient\",\"_sender\":\"The address of the sender\"},\"returns\":{\"recipientId\":\"The recipientId\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"rule(uint256,uint256)\":{\"details\":\"Give a ruling for a dispute. Must be called by the arbitrator. The purpose of this function is to ensure that the address calling it has the right to rule on the contract.\",\"params\":{\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"Ruling given by the arbitrator. Note that 0 is reserved for \\\"Not able/wanting to make a decision\\\".\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"AMOUNT_MISMATCH()\":[{\"notice\":\"Thrown when the amount of tokens sent does not match the amount of tokens expected\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"events\":{\"Allocated(address,uint256,address,address)\":{\"notice\":\"Emitted when a recipient is allocated to.\"},\"Distributed(address,address,uint256,address)\":{\"notice\":\"Emitted when tokens are distributed.\"},\"Initialized(uint256,bytes)\":{\"notice\":\"Emitted when strategy is initialized.\"},\"PoolActive(bool)\":{\"notice\":\"Emitted when pool is set to active status.\"},\"Registered(address,bytes,address)\":{\"notice\":\"Emitted when a recipient is registered.\"}},\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"allocate(bytes,address)\":{\"notice\":\"Allocates to a recipient.\"},\"distribute(address[],bytes,address)\":{\"notice\":\"Distributes funds (tokens) to recipients.\"},\"getAllo()\":{\"notice\":\"Getter for the 'Allo' contract.\"},\"getPoolAmount()\":{\"notice\":\"Getter for the 'poolAmount'.\"},\"getPoolId()\":{\"notice\":\"Getter for the 'poolId'.\"},\"getProposalVoterStake(uint256,address)\":{\"notice\":\"Get stake of voter `_voter` on proposal #`_proposalId`\"},\"getRecipientStatus(address)\":{\"notice\":\"Getter for the status of a recipient.\"},\"getStrategyId()\":{\"notice\":\"Getter for the 'strategyId'.\"},\"increasePoolAmount(uint256)\":{\"notice\":\"Increases the pool amount.\"},\"init(address,string,address)\":{\"notice\":\"Constructor to set the Allo contract and \\\"strategyId'.`init` here its the initialize for upgradable contracts, different from `initialize()` that its used for Allo\"},\"initialize(uint256,bytes)\":{\"notice\":\"@dev The default BaseStrategy version will not use the data if a strategy wants to use it, they will overwrite it, use it, and then call super.initialize().\"},\"isPoolActive()\":{\"notice\":\"Getter for whether or not the pool is active.\"},\"isValidAllocator(address)\":{\"notice\":\"Checks if the '_allocator' is a valid allocator.\"},\"registerRecipient(bytes,address)\":{\"notice\":\"Registers a recipient.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":\"CVStrategyV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293\",\"dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x4301751ea11db320804edf82deeb83d694240d4ab92e96fd75272823a0e68cbe\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://17eb861b8e0b13b4fc31136dbb817f5bf9b0637dc1c0484b090e1e2121fc2595\",\"dweb:/ipfs/QmbYz9fngCp4FmvAJyP2NqSpxBJRJa573mTQ5R9nVsCJAg\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xaea628cb12b8c0dd868c04c935f99ab50c88372f130ce2ced0c7b2b3ce780381\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://22eb93eaf9fc1a9f591ed87dc478e8aabafb46e22ef870bba1345a799c44ba3d\",\"dweb:/ipfs/QmSAXa8UmtGNXNtVbmqPMyEpA3RZYqWjZvPoVFHCvjHjwj\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"AMOUNT_MISMATCH"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[],"type":"error","name":"AmountOverMaxRatio"},{"inputs":[],"type":"error","name":"ArbitratorCannotBeZero"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"type":"error","name":"CallerNotOwner"},{"inputs":[],"type":"error","name":"CantIncreaseFixedSystem"},{"inputs":[],"type":"error","name":"ConvictionUnderMinimumThreshold"},{"inputs":[],"type":"error","name":"DefaultRulingNotSet"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"_remainingSec","type":"uint256"}],"type":"error","name":"DisputeCooldownNotPassed"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[{"internalType":"uint256","name":"sentAmount","type":"uint256"},{"internalType":"uint256","name":"requiredAmount","type":"uint256"}],"type":"error","name":"InsufficientCollateral"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"MaxPointsReached"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[{"internalType":"uint256","name":"pointsSupport","type":"uint256"},{"internalType":"uint256","name":"pointsBalance","type":"uint256"}],"type":"error","name":"NotEnoughPointsToSupport"},{"inputs":[],"type":"error","name":"NotImplemented"},{"inputs":[],"type":"error","name":"OnlyArbitrator"},{"inputs":[],"type":"error","name":"OnlyCommunityAllowed"},{"inputs":[],"type":"error","name":"OnlyCouncilSafe"},{"inputs":[{"internalType":"address","name":"submitter","type":"address"},{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"OnlySubmitter"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"_requestedAmount","type":"uint256"},{"internalType":"uint256","name":"_poolAmount","type":"uint256"}],"type":"error","name":"PoolAmountNotEnough"},{"inputs":[],"type":"error","name":"PoolIdCannotBeZero"},{"inputs":[],"type":"error","name":"PoolIsEmpty"},{"inputs":[],"type":"error","name":"ProposalDataIsEmpty"},{"inputs":[],"type":"error","name":"ProposalIdCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotActive"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotDisputed"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotInList"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"ProposalSupportDuplicated"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"RegistryCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"_support","type":"uint256"},{"internalType":"int256","name":"_delta","type":"int256"},{"internalType":"int256","name":"_result","type":"int256"}],"type":"error","name":"SupportUnderflow"},{"inputs":[],"type":"error","name":"TokenCannotBeZero"},{"inputs":[],"type":"error","name":"TokenNotAllowed"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"UserCannotBeZero"},{"inputs":[],"type":"error","name":"UserCannotExecuteAction"},{"inputs":[],"type":"error","name":"UserIsInactive"},{"inputs":[],"type":"error","name":"UserNotInRegistry"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Allocated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"currentArbitrableConfigVersion","type":"uint256","indexed":false},{"internalType":"contract IArbitrator","name":"arbitrator","type":"address","indexed":false},{"internalType":"address","name":"tribunalSafe","type":"address","indexed":false},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"defaultRuling","type":"uint256","indexed":false},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256","indexed":false}],"type":"event","name":"ArbitrableConfigUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}],"indexed":false}],"type":"event","name":"CVParamsUpdated","anonymous":false},{"inputs":[{"internalType":"contract IArbitrator","name":"_arbitrator","type":"address","indexed":true},{"internalType":"uint256","name":"_arbitrableDisputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_externalDisputeID","type":"uint256","indexed":false},{"internalType":"uint256","name":"_templateId","type":"uint256","indexed":false},{"internalType":"string","name":"_templateUri","type":"string","indexed":false}],"type":"event","name":"DisputeRequest","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"address","name":"beneficiary","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Distributed","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"address","name":"recipientAddress","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Distributed","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"struct StrategyStruct.InitializeParams","name":"data","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}],"indexed":false}],"type":"event","name":"InitializedCV","anonymous":false},{"inputs":[{"internalType":"uint256","name":"before","type":"uint256","indexed":false},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256","indexed":false}],"type":"event","name":"MinThresholdPointsUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false}],"type":"event","name":"PointsDeactivated","anonymous":false},{"inputs":[{"internalType":"bool","name":"active","type":"bool","indexed":false}],"type":"event","name":"PoolActive","anonymous":false},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"PoolAmountIncreased","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false},{"internalType":"uint256","name":"tokensUnStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"pointsToDecrease","type":"uint256","indexed":false}],"type":"event","name":"PowerDecreased","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false},{"internalType":"uint256","name":"tokensStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"pointsToIncrease","type":"uint256","indexed":false}],"type":"event","name":"PowerIncreased","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false}],"type":"event","name":"ProposalCancelled","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false}],"type":"event","name":"ProposalCreated","anonymous":false},{"inputs":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"uint256","name":"disputeId","type":"uint256","indexed":false},{"internalType":"address","name":"challenger","type":"address","indexed":false},{"internalType":"string","name":"context","type":"string","indexed":false},{"internalType":"uint256","name":"timestamp","type":"uint256","indexed":false}],"type":"event","name":"ProposalDisputed","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"bytes","name":"data","type":"bytes","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Registered","anonymous":false},{"inputs":[{"internalType":"address","name":"registryCommunity","type":"address","indexed":false}],"type":"event","name":"RegistryUpdated","anonymous":false},{"inputs":[{"internalType":"contract IArbitrator","name":"_arbitrator","type":"address","indexed":true},{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_ruling","type":"uint256","indexed":false}],"type":"event","name":"Ruling","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"totalStakedAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"convictionLast","type":"uint256","indexed":false}],"type":"event","name":"SupportAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false},{"internalType":"address","name":"arbitrator","type":"address","indexed":false},{"internalType":"address","name":"tribunalSafe","type":"address","indexed":false}],"type":"event","name":"TribunaSafeRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"D","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DISPUTE_COOLDOWN_SEC","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_STAKED_PROPOSALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RULING_OPTIONS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"activatePoints"},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"arbitrableConfigs","outputs":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_requestedAmount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateThreshold","outputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"canExecuteProposal","outputs":[{"internalType":"bool","name":"canBeExecuted","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"cancelProposal"},{"inputs":[],"stateMutability":"view","type":"function","name":"cloneNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVault","outputs":[{"internalType":"contract ICollateralVault","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"currentArbitrableConfigVersion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"cvParams","outputs":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToUnstake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"disputeCount","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"disputeIdToProposalId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"string","name":"context","type":"string"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"disputeProposal","outputs":[{"internalType":"uint256","name":"disputeId","type":"uint256"}]},{"inputs":[{"internalType":"address[]","name":"_recipientIds","type":"address[]"},{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"distribute"},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllo","outputs":[{"internalType":"contract IAllo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getArbitrableConfig","outputs":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDecay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMaxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"getMaxConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getMetadata","outputs":[{"internalType":"struct Metadata","name":"","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}]},{"inputs":[{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"bytes[]","name":"","type":"bytes[]"}],"stateMutability":"pure","type":"function","name":"getPayouts","outputs":[{"internalType":"struct IStrategy.PayoutSummary[]","name":"","type":"tuple[]","components":[{"internalType":"address","name":"recipientAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPointSystem","outputs":[{"internalType":"enum StrategyStruct.PointSystem","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPoolAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPoolId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getProposal","outputs":[{"internalType":"address","name":"submitter","type":"address"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"address","name":"requestedToken","type":"address"},{"internalType":"uint256","name":"requestedAmount","type":"uint256"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalStatus","name":"proposalStatus","type":"uint8"},{"internalType":"uint256","name":"blockLast","type":"uint256"},{"internalType":"uint256","name":"convictionLast","type":"uint256"},{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"voterStakedPoints","type":"uint256"},{"internalType":"uint256","name":"arbitrableConfigVersion","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getProposalStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"address","name":"_voter","type":"address"}],"stateMutability":"view","type":"function","name":"getProposalVoterStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_recipientId","type":"address"}],"stateMutability":"view","type":"function","name":"getRecipientStatus","outputs":[{"internalType":"enum IStrategy.Status","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistryCommunity","outputs":[{"internalType":"contract RegistryCommunityV0_0","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStrategyId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_voter","type":"address"}],"stateMutability":"view","type":"function","name":"getTotalVoterStakePct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePoolAmount"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToStake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isPoolActive","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_allocator","type":"address"}],"stateMutability":"view","type":"function","name":"isValidAllocator","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pointConfig","outputs":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pointSystem","outputs":[{"internalType":"enum StrategyStruct.PointSystem","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposalCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposalType","outputs":[{"internalType":"enum StrategyStruct.ProposalType","name":"","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"proposals","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"requestedAmount","type":"uint256"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"uint256","name":"convictionLast","type":"uint256"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"address","name":"submitter","type":"address"},{"internalType":"address","name":"requestedToken","type":"address"},{"internalType":"uint256","name":"blockLast","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalStatus","name":"proposalStatus","type":"uint8"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"struct StrategyStruct.ProposalDisputeInfo","name":"disputeInfo","type":"tuple","components":[{"internalType":"uint256","name":"disputeId","type":"uint256"},{"internalType":"uint256","name":"disputeTimestamp","type":"uint256"},{"internalType":"address","name":"challenger","type":"address"}]},{"internalType":"uint256","name":"lastDisputeCompletion","type":"uint256"},{"internalType":"uint256","name":"arbitrableConfigVersion","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"payable","type":"function","name":"registerRecipient","outputs":[{"internalType":"address","name":"recipientId","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256"},{"internalType":"uint256","name":"_ruling","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"rule"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCollateralVaultTemplate"},{"inputs":[{"internalType":"bool","name":"_active","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setPoolActive"},{"inputs":[{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"_arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"struct StrategyStruct.CVParams","name":"_cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"setPoolParams"},{"inputs":[{"internalType":"address","name":"_sybilScorer","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSybilScorer"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"sybilScorer","outputs":[{"internalType":"contract ISybilScorer","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalEffectiveActivePoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalPointsActivated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"totalVoterStakePct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateProposalConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"voterStakedProposals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"allocate(bytes,address)":{"details":"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to allocate to the recipient","_sender":"The address of the sender"}},"calculateConviction(uint256,uint256,uint256)":{"details":"Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a) Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128","params":{"_lastConv":"Last conviction record","_oldAmount":"Amount of tokens staked until now","_timePassed":"Number of blocks since last conviction record"},"returns":{"_0":"Current conviction"}},"calculateThreshold(uint256)":{"details":"Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2 For the Solidity implementation we amplify ρ and β and simplify the formula: weight = ρ * D maxRatio = β * D decay = a * D threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2","params":{"_requestedAmount":"Requested amount of tokens on certain proposal"},"returns":{"_threshold":"Threshold a proposal's conviction should surpass in order to be able to executed it."}},"distribute(address[],bytes,address)":{"details":"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to distribute to the recipients","_recipientIds":"The IDs of the recipients","_sender":"The address of the sender"}},"getAllo()":{"returns":{"_0":"The Allo contract"}},"getPayouts(address[],bytes[])":{"returns":{"_0":"Input the values you would send to distribute(), get the amounts each recipient in the array would receive"}},"getPoolAmount()":{"returns":{"_0":"The balance of the pool"}},"getPoolId()":{"returns":{"_0":"The ID of the pool"}},"getProposal(uint256)":{"details":"Get proposal details","params":{"_proposalId":"Proposal id"},"returns":{"arbitrableConfigVersion":"Proposal arbitrable config id","beneficiary":"Proposal beneficiary","blockLast":"Last block when conviction was calculated","convictionLast":"Last conviction calculated","proposalStatus":"Proposal status","requestedAmount":"Proposal requested amount","requestedToken":"Proposal requested token","stakedAmount":"Proposal staked points","submitter":"Proposal submitter","threshold":"Proposal threshold","voterStakedPoints":"Voter staked points"}},"getProposalVoterStake(uint256,address)":{"params":{"_proposalId":"Proposal id","_voter":"Voter address"},"returns":{"_0":"Proposal voter stake"}},"getRecipientStatus(address)":{"params":{"_recipientId":"The ID of the recipient"},"returns":{"_0":"The status of the recipient"}},"getStrategyId()":{"returns":{"_0":"The ID of the strategy"}},"increasePoolAmount(uint256)":{"details":"Increases the 'poolAmount' by '_amount'. Only 'Allo' contract can call this.","params":{"_amount":"The amount to increase the pool by"}},"init(address,string,address)":{"params":{"_allo":"Address of the Allo contract.","_name":"Name of the strategy","owner":"Address of the owner of the strategy"}},"initialize(uint256,bytes)":{"params":{"_data":"The encoded data","_poolId":"The ID of the pool"}},"isPoolActive()":{"returns":{"_0":"'true' if the pool is active, otherwise 'false'"}},"isValidAllocator(address)":{"details":"How the allocator is determined is up to the strategy implementation.","params":{"_allocator":"The address to check if it is a valid allocator for the strategy."},"returns":{"_0":"'true' if the address is a valid allocator, 'false' otherwise"}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"registerRecipient(bytes,address)":{"details":"Registers a recipient and returns the ID of the recipient. The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to register the recipient","_sender":"The address of the sender"},"returns":{"recipientId":"The recipientId"}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"rule(uint256,uint256)":{"details":"Give a ruling for a dispute. Must be called by the arbitrator. The purpose of this function is to ensure that the address calling it has the right to rule on the contract.","params":{"_disputeID":"The identifier of the dispute in the Arbitrator contract.","_ruling":"Ruling given by the arbitrator. Note that 0 is reserved for \"Not able/wanting to make a decision\"."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"},"allocate(bytes,address)":{"notice":"Allocates to a recipient."},"distribute(address[],bytes,address)":{"notice":"Distributes funds (tokens) to recipients."},"getAllo()":{"notice":"Getter for the 'Allo' contract."},"getPoolAmount()":{"notice":"Getter for the 'poolAmount'."},"getPoolId()":{"notice":"Getter for the 'poolId'."},"getProposalVoterStake(uint256,address)":{"notice":"Get stake of voter `_voter` on proposal #`_proposalId`"},"getRecipientStatus(address)":{"notice":"Getter for the status of a recipient."},"getStrategyId()":{"notice":"Getter for the 'strategyId'."},"increasePoolAmount(uint256)":{"notice":"Increases the pool amount."},"init(address,string,address)":{"notice":"Constructor to set the Allo contract and \"strategyId'.`init` here its the initialize for upgradable contracts, different from `initialize()` that its used for Allo"},"initialize(uint256,bytes)":{"notice":"@dev The default BaseStrategy version will not use the data if a strategy wants to use it, they will overwrite it, use it, and then call super.initialize()."},"isPoolActive()":{"notice":"Getter for whether or not the pool is active."},"isValidAllocator(address)":{"notice":"Checks if the '_allocator' is a valid allocator."},"registerRecipient(bytes,address)":{"notice":"Registers a recipient."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":"CVStrategyV0_0"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2","urls":["bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293","dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x4301751ea11db320804edf82deeb83d694240d4ab92e96fd75272823a0e68cbe","urls":["bzz-raw://17eb861b8e0b13b4fc31136dbb817f5bf9b0637dc1c0484b090e1e2121fc2595","dweb:/ipfs/QmbYz9fngCp4FmvAJyP2NqSpxBJRJa573mTQ5R9nVsCJAg"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xaea628cb12b8c0dd868c04c935f99ab50c88372f130ce2ced0c7b2b3ce780381","urls":["bzz-raw://22eb93eaf9fc1a9f591ed87dc478e8aabafb46e22ef870bba1345a799c44ba3d","dweb:/ipfs/QmSAXa8UmtGNXNtVbmqPMyEpA3RZYqWjZvPoVFHCvjHjwj"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":52990,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52993,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53695,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52782,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52902,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":64873,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"allo","offset":0,"slot":"101","type":"t_contract(IAllo)2610"},{"astId":64875,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"strategyId","offset":0,"slot":"102","type":"t_bytes32"},{"astId":64877,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"poolActive","offset":0,"slot":"103","type":"t_bool"},{"astId":64879,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"poolId","offset":0,"slot":"104","type":"t_uint256"},{"astId":64881,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"poolAmount","offset":0,"slot":"105","type":"t_uint256"},{"astId":65909,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"collateralVaultTemplate","offset":0,"slot":"106","type":"t_address"},{"astId":65911,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"surpressStateMutabilityWarning","offset":0,"slot":"107","type":"t_uint256"},{"astId":65913,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"cloneNonce","offset":0,"slot":"108","type":"t_uint256"},{"astId":65915,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeCount","offset":0,"slot":"109","type":"t_uint64"},{"astId":65917,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalCounter","offset":0,"slot":"110","type":"t_uint256"},{"astId":65919,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"currentArbitrableConfigVersion","offset":0,"slot":"111","type":"t_uint256"},{"astId":65921,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"totalStaked","offset":0,"slot":"112","type":"t_uint256"},{"astId":65923,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"totalPointsActivated","offset":0,"slot":"113","type":"t_uint256"},{"astId":65926,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"cvParams","offset":0,"slot":"114","type":"t_struct(CVParams)65635_storage"},{"astId":65929,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalType","offset":0,"slot":"118","type":"t_enum(ProposalType)65538"},{"astId":65932,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"pointSystem","offset":1,"slot":"118","type":"t_enum(PointSystem)65543"},{"astId":65935,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"pointConfig","offset":0,"slot":"119","type":"t_struct(PointSystemConfig)65612_storage"},{"astId":65937,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"registryCommunity","offset":0,"slot":"120","type":"t_address"},{"astId":65940,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"collateralVault","offset":0,"slot":"121","type":"t_contract(ICollateralVault)74077"},{"astId":65943,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"sybilScorer","offset":0,"slot":"122","type":"t_contract(ISybilScorer)70165"},{"astId":65948,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposals","offset":0,"slot":"123","type":"t_mapping(t_uint256,t_struct(Proposal)65604_storage)"},{"astId":65952,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"totalVoterStakePct","offset":0,"slot":"124","type":"t_mapping(t_address,t_uint256)"},{"astId":65957,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"voterStakedProposals","offset":0,"slot":"125","type":"t_mapping(t_address,t_array(t_uint256)dyn_storage)"},{"astId":65961,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeIdToProposalId","offset":0,"slot":"126","type":"t_mapping(t_uint256,t_uint256)"},{"astId":65966,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"arbitrableConfigs","offset":0,"slot":"127","type":"t_mapping(t_uint256,t_struct(ArbitrableConfig)65626_storage)"},{"astId":69233,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"__gap","offset":0,"slot":"128","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_array(t_uint256)dyn_storage":{"encoding":"dynamic_array","label":"uint256[]","numberOfBytes":"32","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(IAllo)2610":{"encoding":"inplace","label":"contract IAllo","numberOfBytes":"20"},"t_contract(IArbitrator)74044":{"encoding":"inplace","label":"contract IArbitrator","numberOfBytes":"20"},"t_contract(ICollateralVault)74077":{"encoding":"inplace","label":"contract ICollateralVault","numberOfBytes":"20"},"t_contract(ISybilScorer)70165":{"encoding":"inplace","label":"contract ISybilScorer","numberOfBytes":"20"},"t_enum(PointSystem)65543":{"encoding":"inplace","label":"enum StrategyStruct.PointSystem","numberOfBytes":"1"},"t_enum(ProposalStatus)65563":{"encoding":"inplace","label":"enum StrategyStruct.ProposalStatus","numberOfBytes":"1"},"t_enum(ProposalType)65538":{"encoding":"inplace","label":"enum StrategyStruct.ProposalType","numberOfBytes":"1"},"t_mapping(t_address,t_array(t_uint256)dyn_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256[])","numberOfBytes":"32","value":"t_array(t_uint256)dyn_storage"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_uint256,t_struct(ArbitrableConfig)65626_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig)","numberOfBytes":"32","value":"t_struct(ArbitrableConfig)65626_storage"},"t_mapping(t_uint256,t_struct(Proposal)65604_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct StrategyStruct.Proposal)","numberOfBytes":"32","value":"t_struct(Proposal)65604_storage"},"t_mapping(t_uint256,t_uint256)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(ArbitrableConfig)65626_storage":{"encoding":"inplace","label":"struct StrategyStruct.ArbitrableConfig","numberOfBytes":"192","members":[{"astId":65615,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"arbitrator","offset":0,"slot":"0","type":"t_contract(IArbitrator)74044"},{"astId":65617,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"tribunalSafe","offset":0,"slot":"1","type":"t_address"},{"astId":65619,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"submitterCollateralAmount","offset":0,"slot":"2","type":"t_uint256"},{"astId":65621,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"challengerCollateralAmount","offset":0,"slot":"3","type":"t_uint256"},{"astId":65623,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"defaultRuling","offset":0,"slot":"4","type":"t_uint256"},{"astId":65625,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"defaultRulingTimeout","offset":0,"slot":"5","type":"t_uint256"}]},"t_struct(CVParams)65635_storage":{"encoding":"inplace","label":"struct StrategyStruct.CVParams","numberOfBytes":"128","members":[{"astId":65628,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"maxRatio","offset":0,"slot":"0","type":"t_uint256"},{"astId":65630,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"weight","offset":0,"slot":"1","type":"t_uint256"},{"astId":65632,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"decay","offset":0,"slot":"2","type":"t_uint256"},{"astId":65634,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"minThresholdPoints","offset":0,"slot":"3","type":"t_uint256"}]},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(PointSystemConfig)65612_storage":{"encoding":"inplace","label":"struct StrategyStruct.PointSystemConfig","numberOfBytes":"32","members":[{"astId":65611,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"maxAmount","offset":0,"slot":"0","type":"t_uint256"}]},"t_struct(Proposal)65604_storage":{"encoding":"inplace","label":"struct StrategyStruct.Proposal","numberOfBytes":"544","members":[{"astId":65572,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalId","offset":0,"slot":"0","type":"t_uint256"},{"astId":65574,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"requestedAmount","offset":0,"slot":"1","type":"t_uint256"},{"astId":65576,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"stakedAmount","offset":0,"slot":"2","type":"t_uint256"},{"astId":65578,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"convictionLast","offset":0,"slot":"3","type":"t_uint256"},{"astId":65580,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"beneficiary","offset":0,"slot":"4","type":"t_address"},{"astId":65582,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"submitter","offset":0,"slot":"5","type":"t_address"},{"astId":65584,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"requestedToken","offset":0,"slot":"6","type":"t_address"},{"astId":65586,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"blockLast","offset":0,"slot":"7","type":"t_uint256"},{"astId":65589,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalStatus","offset":0,"slot":"8","type":"t_enum(ProposalStatus)65563"},{"astId":65593,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"voterStakedPoints","offset":0,"slot":"9","type":"t_mapping(t_address,t_uint256)"},{"astId":65596,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"metadata","offset":0,"slot":"10","type":"t_struct(Metadata)3098_storage"},{"astId":65599,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeInfo","offset":0,"slot":"12","type":"t_struct(ProposalDisputeInfo)65570_storage"},{"astId":65601,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"lastDisputeCompletion","offset":0,"slot":"15","type":"t_uint256"},{"astId":65603,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"arbitrableConfigVersion","offset":0,"slot":"16","type":"t_uint256"}]},"t_struct(ProposalDisputeInfo)65570_storage":{"encoding":"inplace","label":"struct StrategyStruct.ProposalDisputeInfo","numberOfBytes":"96","members":[{"astId":65565,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeId","offset":0,"slot":"0","type":"t_uint256"},{"astId":65567,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeTimestamp","offset":0,"slot":"1","type":"t_uint256"},{"astId":65569,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"challenger","offset":0,"slot":"2","type":"t_address"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint64":{"encoding":"inplace","label":"uint64","numberOfBytes":"8"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol","id":69235,"exportedSymbols":{"BaseStrategy":[3923],"BaseStrategyUpgradeable":[65471],"CVStrategyV0_0":[69234],"Clone":[3002],"ERC165":[57725],"ERC20":[56450],"IAllo":[2610],"IArbitrable":[73940],"IArbitrator":[74044],"ICollateralVault":[74077],"IERC165":[57931],"IPointStrategy":[65534],"ISybilScorer":[70165],"Math":[58797],"Metadata":[3098],"OwnableUpgradeable":[52903],"PassportData":[70083],"RegistryCommunityV0_0":[72744],"StrategyStruct":[65656],"UUPSUpgradeable":[55672]},"nodeType":"SourceUnit","src":"42:55349:98","nodes":[{"id":65473,"nodeType":"PragmaDirective","src":"42:24:98","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":65475,"nodeType":"ImportDirective","src":"68:71:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":65474,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"76:8:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65478,"nodeType":"ImportDirective","src":"140:82:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/strategies/BaseStrategy.sol","file":"allo-v2-contracts/strategies/BaseStrategy.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":3924,"symbolAliases":[{"foreign":{"id":65476,"name":"BaseStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3923,"src":"148:12:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":65477,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"162:5:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65480,"nodeType":"ImportDirective","src":"223:85:98","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol","file":"../RegistryCommunity/RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":72745,"symbolAliases":[{"foreign":{"id":65479,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72744,"src":"231:21:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65483,"nodeType":"ImportDirective","src":"309:87:98","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":57726,"symbolAliases":[{"foreign":{"id":65481,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57725,"src":"317:6:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":65482,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57931,"src":"325:7:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65485,"nodeType":"ImportDirective","src":"397:68:98","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":56451,"symbolAliases":[{"foreign":{"id":65484,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56450,"src":"405:5:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65487,"nodeType":"ImportDirective","src":"466:58:98","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","file":"../interfaces/IArbitrator.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":74045,"symbolAliases":[{"foreign":{"id":65486,"name":"IArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74044,"src":"474:11:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65489,"nodeType":"ImportDirective","src":"525:58:98","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"../interfaces/IArbitrable.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":73941,"symbolAliases":[{"foreign":{"id":65488,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73940,"src":"533:11:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65491,"nodeType":"ImportDirective","src":"584:65:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":65490,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"592:5:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65493,"nodeType":"ImportDirective","src":"700:65:98","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":58798,"symbolAliases":[{"foreign":{"id":65492,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58797,"src":"708:4:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65496,"nodeType":"ImportDirective","src":"766:63:98","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"../ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":70166,"symbolAliases":[{"foreign":{"id":65494,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70165,"src":"774:12:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":65495,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70083,"src":"788:12:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65498,"nodeType":"ImportDirective","src":"830:88:98","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":55673,"symbolAliases":[{"foreign":{"id":65497,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55672,"src":"838:15:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65500,"nodeType":"ImportDirective","src":"919:71:98","nodes":[],"absolutePath":"pkg/contracts/src/BaseStrategyUpgradeable.sol","file":"../BaseStrategyUpgradeable.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":65472,"symbolAliases":[{"foreign":{"id":65499,"name":"BaseStrategyUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65471,"src":"927:23:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65502,"nodeType":"ImportDirective","src":"991:101:98","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":52904,"symbolAliases":[{"foreign":{"id":65501,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52903,"src":"999:18:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65504,"nodeType":"ImportDirective","src":"1093:68:98","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ICollateralVault.sol","file":"../interfaces/ICollateralVault.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":74078,"symbolAliases":[{"foreign":{"id":65503,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74077,"src":"1101:16:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65534,"nodeType":"ContractDefinition","src":"1163:358:98","nodes":[{"id":65509,"nodeType":"FunctionDefinition","src":"1194:52:98","nodes":[],"functionSelector":"6453d9c4","implemented":false,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"1203:16:98","parameters":{"id":65507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65506,"mutability":"mutable","name":"_member","nameLocation":"1228:7:98","nodeType":"VariableDeclaration","scope":65509,"src":"1220:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65505,"name":"address","nodeType":"ElementaryTypeName","src":"1220:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1219:17:98"},"returnParameters":{"id":65508,"nodeType":"ParameterList","parameters":[],"src":"1245:0:98"},"scope":65534,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65518,"nodeType":"FunctionDefinition","src":"1252:91:98","nodes":[],"functionSelector":"782aadff","implemented":false,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"1261:13:98","parameters":{"id":65514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65511,"mutability":"mutable","name":"_member","nameLocation":"1283:7:98","nodeType":"VariableDeclaration","scope":65518,"src":"1275:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65510,"name":"address","nodeType":"ElementaryTypeName","src":"1275:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65513,"mutability":"mutable","name":"_amountToStake","nameLocation":"1300:14:98","nodeType":"VariableDeclaration","scope":65518,"src":"1292:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65512,"name":"uint256","nodeType":"ElementaryTypeName","src":"1292:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1274:41:98"},"returnParameters":{"id":65517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65516,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65518,"src":"1334:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65515,"name":"uint256","nodeType":"ElementaryTypeName","src":"1334:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1333:9:98"},"scope":65534,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65527,"nodeType":"FunctionDefinition","src":"1349:92:98","nodes":[],"functionSelector":"2ed04b2b","implemented":false,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"1358:13:98","parameters":{"id":65523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65520,"mutability":"mutable","name":"_member","nameLocation":"1380:7:98","nodeType":"VariableDeclaration","scope":65527,"src":"1372:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65519,"name":"address","nodeType":"ElementaryTypeName","src":"1372:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65522,"mutability":"mutable","name":"_amountToUntake","nameLocation":"1397:15:98","nodeType":"VariableDeclaration","scope":65527,"src":"1389:23:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65521,"name":"uint256","nodeType":"ElementaryTypeName","src":"1389:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1371:42:98"},"returnParameters":{"id":65526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65525,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65527,"src":"1432:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65524,"name":"uint256","nodeType":"ElementaryTypeName","src":"1432:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1431:9:98"},"scope":65534,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65533,"nodeType":"FunctionDefinition","src":"1447:72:98","nodes":[],"functionSelector":"c3292171","implemented":false,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"1456:14:98","parameters":{"id":65528,"nodeType":"ParameterList","parameters":[],"src":"1470:2:98"},"returnParameters":{"id":65532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65531,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65533,"src":"1491:26:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":65530,"nodeType":"UserDefinedTypeName","pathNode":{"id":65529,"name":"StrategyStruct.PointSystem","nameLocations":["1491:14:98","1506:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":65543,"src":"1491:26:98"},"referencedDeclaration":65543,"src":"1491:26:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"1490:28:98"},"scope":65534,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IPointStrategy","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[65534],"name":"IPointStrategy","nameLocation":"1173:14:98","scope":69235,"usedErrors":[]},{"id":65656,"nodeType":"ContractDefinition","src":"1523:2414:98","nodes":[{"id":65538,"nodeType":"EnumDefinition","src":"1552:79:98","nodes":[],"canonicalName":"StrategyStruct.ProposalType","members":[{"id":65535,"name":"Signaling","nameLocation":"1580:9:98","nodeType":"EnumValue","src":"1580:9:98"},{"id":65536,"name":"Funding","nameLocation":"1599:7:98","nodeType":"EnumValue","src":"1599:7:98"},{"id":65537,"name":"Streaming","nameLocation":"1616:9:98","nodeType":"EnumValue","src":"1616:9:98"}],"name":"ProposalType","nameLocation":"1557:12:98"},{"id":65543,"nodeType":"EnumDefinition","src":"1637:92:98","nodes":[],"canonicalName":"StrategyStruct.PointSystem","members":[{"id":65539,"name":"Fixed","nameLocation":"1664:5:98","nodeType":"EnumValue","src":"1664:5:98"},{"id":65540,"name":"Capped","nameLocation":"1679:6:98","nodeType":"EnumValue","src":"1679:6:98"},{"id":65541,"name":"Unlimited","nameLocation":"1695:9:98","nodeType":"EnumValue","src":"1695:9:98"},{"id":65542,"name":"Quadratic","nameLocation":"1714:9:98","nodeType":"EnumValue","src":"1714:9:98"}],"name":"PointSystem","nameLocation":"1642:11:98"},{"id":65555,"nodeType":"StructDefinition","src":"1735:243:98","nodes":[],"canonicalName":"StrategyStruct.CreateProposal","members":[{"constant":false,"id":65545,"mutability":"mutable","name":"poolId","nameLocation":"1806:6:98","nodeType":"VariableDeclaration","scope":65555,"src":"1798:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65544,"name":"uint256","nodeType":"ElementaryTypeName","src":"1798:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65547,"mutability":"mutable","name":"beneficiary","nameLocation":"1830:11:98","nodeType":"VariableDeclaration","scope":65555,"src":"1822:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65546,"name":"address","nodeType":"ElementaryTypeName","src":"1822:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65549,"mutability":"mutable","name":"amountRequested","nameLocation":"1897:15:98","nodeType":"VariableDeclaration","scope":65555,"src":"1889:23:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65548,"name":"uint256","nodeType":"ElementaryTypeName","src":"1889:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65551,"mutability":"mutable","name":"requestedToken","nameLocation":"1930:14:98","nodeType":"VariableDeclaration","scope":65555,"src":"1922:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65550,"name":"address","nodeType":"ElementaryTypeName","src":"1922:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65554,"mutability":"mutable","name":"metadata","nameLocation":"1963:8:98","nodeType":"VariableDeclaration","scope":65555,"src":"1954:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":65553,"nodeType":"UserDefinedTypeName","pathNode":{"id":65552,"name":"Metadata","nameLocations":["1954:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"1954:8:98"},"referencedDeclaration":3098,"src":"1954:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"CreateProposal","nameLocation":"1742:14:98","scope":65656,"visibility":"public"},{"id":65563,"nodeType":"EnumDefinition","src":"1984:392:98","nodes":[],"canonicalName":"StrategyStruct.ProposalStatus","members":[{"id":65556,"name":"Inactive","nameLocation":"2014:8:98","nodeType":"EnumValue","src":"2014:8:98"},{"id":65557,"name":"Active","nameLocation":"2044:6:98","nodeType":"EnumValue","src":"2044:6:98"},{"id":65558,"name":"Paused","nameLocation":"2107:6:98","nodeType":"EnumValue","src":"2107:6:98"},{"id":65559,"name":"Cancelled","nameLocation":"2173:9:98","nodeType":"EnumValue","src":"2173:9:98"},{"id":65560,"name":"Executed","nameLocation":"2226:8:98","nodeType":"EnumValue","src":"2226:8:98"},{"id":65561,"name":"Disputed","nameLocation":"2277:8:98","nodeType":"EnumValue","src":"2277:8:98"},{"id":65562,"name":"Rejected","nameLocation":"2328:8:98","nodeType":"EnumValue","src":"2328:8:98"}],"name":"ProposalStatus","nameLocation":"1989:14:98"},{"id":65570,"nodeType":"StructDefinition","src":"2382:123:98","nodes":[],"canonicalName":"StrategyStruct.ProposalDisputeInfo","members":[{"constant":false,"id":65565,"mutability":"mutable","name":"disputeId","nameLocation":"2427:9:98","nodeType":"VariableDeclaration","scope":65570,"src":"2419:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65564,"name":"uint256","nodeType":"ElementaryTypeName","src":"2419:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65567,"mutability":"mutable","name":"disputeTimestamp","nameLocation":"2454:16:98","nodeType":"VariableDeclaration","scope":65570,"src":"2446:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65566,"name":"uint256","nodeType":"ElementaryTypeName","src":"2446:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65569,"mutability":"mutable","name":"challenger","nameLocation":"2488:10:98","nodeType":"VariableDeclaration","scope":65570,"src":"2480:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65568,"name":"address","nodeType":"ElementaryTypeName","src":"2480:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"ProposalDisputeInfo","nameLocation":"2389:19:98","scope":65656,"visibility":"public"},{"id":65604,"nodeType":"StructDefinition","src":"2511:526:98","nodes":[],"canonicalName":"StrategyStruct.Proposal","members":[{"constant":false,"id":65572,"mutability":"mutable","name":"proposalId","nameLocation":"2545:10:98","nodeType":"VariableDeclaration","scope":65604,"src":"2537:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65571,"name":"uint256","nodeType":"ElementaryTypeName","src":"2537:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65574,"mutability":"mutable","name":"requestedAmount","nameLocation":"2573:15:98","nodeType":"VariableDeclaration","scope":65604,"src":"2565:23:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65573,"name":"uint256","nodeType":"ElementaryTypeName","src":"2565:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65576,"mutability":"mutable","name":"stakedAmount","nameLocation":"2606:12:98","nodeType":"VariableDeclaration","scope":65604,"src":"2598:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65575,"name":"uint256","nodeType":"ElementaryTypeName","src":"2598:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65578,"mutability":"mutable","name":"convictionLast","nameLocation":"2636:14:98","nodeType":"VariableDeclaration","scope":65604,"src":"2628:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65577,"name":"uint256","nodeType":"ElementaryTypeName","src":"2628:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65580,"mutability":"mutable","name":"beneficiary","nameLocation":"2668:11:98","nodeType":"VariableDeclaration","scope":65604,"src":"2660:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65579,"name":"address","nodeType":"ElementaryTypeName","src":"2660:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65582,"mutability":"mutable","name":"submitter","nameLocation":"2697:9:98","nodeType":"VariableDeclaration","scope":65604,"src":"2689:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65581,"name":"address","nodeType":"ElementaryTypeName","src":"2689:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65584,"mutability":"mutable","name":"requestedToken","nameLocation":"2724:14:98","nodeType":"VariableDeclaration","scope":65604,"src":"2716:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65583,"name":"address","nodeType":"ElementaryTypeName","src":"2716:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65586,"mutability":"mutable","name":"blockLast","nameLocation":"2756:9:98","nodeType":"VariableDeclaration","scope":65604,"src":"2748:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65585,"name":"uint256","nodeType":"ElementaryTypeName","src":"2748:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65589,"mutability":"mutable","name":"proposalStatus","nameLocation":"2790:14:98","nodeType":"VariableDeclaration","scope":65604,"src":"2775:29:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":65588,"nodeType":"UserDefinedTypeName","pathNode":{"id":65587,"name":"ProposalStatus","nameLocations":["2775:14:98"],"nodeType":"IdentifierPath","referencedDeclaration":65563,"src":"2775:14:98"},"referencedDeclaration":65563,"src":"2775:14:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":65593,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"2842:17:98","nodeType":"VariableDeclaration","scope":65604,"src":"2814:45:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":65592,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65590,"name":"address","nodeType":"ElementaryTypeName","src":"2822:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2814:27:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65591,"name":"uint256","nodeType":"ElementaryTypeName","src":"2833:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":65596,"mutability":"mutable","name":"metadata","nameLocation":"2901:8:98","nodeType":"VariableDeclaration","scope":65604,"src":"2892:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":65595,"nodeType":"UserDefinedTypeName","pathNode":{"id":65594,"name":"Metadata","nameLocations":["2892:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2892:8:98"},"referencedDeclaration":3098,"src":"2892:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":65599,"mutability":"mutable","name":"disputeInfo","nameLocation":"2939:11:98","nodeType":"VariableDeclaration","scope":65604,"src":"2919:31:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"},"typeName":{"id":65598,"nodeType":"UserDefinedTypeName","pathNode":{"id":65597,"name":"ProposalDisputeInfo","nameLocations":["2919:19:98"],"nodeType":"IdentifierPath","referencedDeclaration":65570,"src":"2919:19:98"},"referencedDeclaration":65570,"src":"2919:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"}},"visibility":"internal"},{"constant":false,"id":65601,"mutability":"mutable","name":"lastDisputeCompletion","nameLocation":"2968:21:98","nodeType":"VariableDeclaration","scope":65604,"src":"2960:29:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65600,"name":"uint256","nodeType":"ElementaryTypeName","src":"2960:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65603,"mutability":"mutable","name":"arbitrableConfigVersion","nameLocation":"3007:23:98","nodeType":"VariableDeclaration","scope":65604,"src":"2999:31:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65602,"name":"uint256","nodeType":"ElementaryTypeName","src":"2999:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Proposal","nameLocation":"2518:8:98","scope":65656,"visibility":"public"},{"id":65609,"nodeType":"StructDefinition","src":"3043:126:98","nodes":[],"canonicalName":"StrategyStruct.ProposalSupport","members":[{"constant":false,"id":65606,"mutability":"mutable","name":"proposalId","nameLocation":"3084:10:98","nodeType":"VariableDeclaration","scope":65609,"src":"3076:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65605,"name":"uint256","nodeType":"ElementaryTypeName","src":"3076:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65608,"mutability":"mutable","name":"deltaSupport","nameLocation":"3111:12:98","nodeType":"VariableDeclaration","scope":65609,"src":"3104:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":65607,"name":"int256","nodeType":"ElementaryTypeName","src":"3104:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"ProposalSupport","nameLocation":"3050:15:98","scope":65656,"visibility":"public"},{"id":65612,"nodeType":"StructDefinition","src":"3175:89:98","nodes":[],"canonicalName":"StrategyStruct.PointSystemConfig","members":[{"constant":false,"id":65611,"mutability":"mutable","name":"maxAmount","nameLocation":"3248:9:98","nodeType":"VariableDeclaration","scope":65612,"src":"3240:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65610,"name":"uint256","nodeType":"ElementaryTypeName","src":"3240:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"PointSystemConfig","nameLocation":"3182:17:98","scope":65656,"visibility":"public"},{"id":65626,"nodeType":"StructDefinition","src":"3270:249:98","nodes":[],"canonicalName":"StrategyStruct.ArbitrableConfig","members":[{"constant":false,"id":65615,"mutability":"mutable","name":"arbitrator","nameLocation":"3316:10:98","nodeType":"VariableDeclaration","scope":65626,"src":"3304:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"},"typeName":{"id":65614,"nodeType":"UserDefinedTypeName","pathNode":{"id":65613,"name":"IArbitrator","nameLocations":["3304:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":74044,"src":"3304:11:98"},"referencedDeclaration":74044,"src":"3304:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":65617,"mutability":"mutable","name":"tribunalSafe","nameLocation":"3344:12:98","nodeType":"VariableDeclaration","scope":65626,"src":"3336:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65616,"name":"address","nodeType":"ElementaryTypeName","src":"3336:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65619,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"3374:25:98","nodeType":"VariableDeclaration","scope":65626,"src":"3366:33:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65618,"name":"uint256","nodeType":"ElementaryTypeName","src":"3366:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65621,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"3417:26:98","nodeType":"VariableDeclaration","scope":65626,"src":"3409:34:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65620,"name":"uint256","nodeType":"ElementaryTypeName","src":"3409:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65623,"mutability":"mutable","name":"defaultRuling","nameLocation":"3461:13:98","nodeType":"VariableDeclaration","scope":65626,"src":"3453:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65622,"name":"uint256","nodeType":"ElementaryTypeName","src":"3453:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65625,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"3492:20:98","nodeType":"VariableDeclaration","scope":65626,"src":"3484:28:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65624,"name":"uint256","nodeType":"ElementaryTypeName","src":"3484:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ArbitrableConfig","nameLocation":"3277:16:98","scope":65656,"visibility":"public"},{"id":65635,"nodeType":"StructDefinition","src":"3525:132:98","nodes":[],"canonicalName":"StrategyStruct.CVParams","members":[{"constant":false,"id":65628,"mutability":"mutable","name":"maxRatio","nameLocation":"3559:8:98","nodeType":"VariableDeclaration","scope":65635,"src":"3551:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65627,"name":"uint256","nodeType":"ElementaryTypeName","src":"3551:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65630,"mutability":"mutable","name":"weight","nameLocation":"3585:6:98","nodeType":"VariableDeclaration","scope":65635,"src":"3577:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65629,"name":"uint256","nodeType":"ElementaryTypeName","src":"3577:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65632,"mutability":"mutable","name":"decay","nameLocation":"3609:5:98","nodeType":"VariableDeclaration","scope":65635,"src":"3601:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65631,"name":"uint256","nodeType":"ElementaryTypeName","src":"3601:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65634,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"3632:18:98","nodeType":"VariableDeclaration","scope":65635,"src":"3624:26:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65633,"name":"uint256","nodeType":"ElementaryTypeName","src":"3624:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"CVParams","nameLocation":"3532:8:98","scope":65656,"visibility":"public"},{"id":65655,"nodeType":"StructDefinition","src":"3663:272:98","nodes":[],"canonicalName":"StrategyStruct.InitializeParams","members":[{"constant":false,"id":65638,"mutability":"mutable","name":"cvParams","nameLocation":"3706:8:98","nodeType":"VariableDeclaration","scope":65655,"src":"3697:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":65637,"nodeType":"UserDefinedTypeName","pathNode":{"id":65636,"name":"CVParams","nameLocations":["3697:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65635,"src":"3697:8:98"},"referencedDeclaration":65635,"src":"3697:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"},{"constant":false,"id":65641,"mutability":"mutable","name":"proposalType","nameLocation":"3737:12:98","nodeType":"VariableDeclaration","scope":65655,"src":"3724:25:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":65640,"nodeType":"UserDefinedTypeName","pathNode":{"id":65639,"name":"ProposalType","nameLocations":["3724:12:98"],"nodeType":"IdentifierPath","referencedDeclaration":65538,"src":"3724:12:98"},"referencedDeclaration":65538,"src":"3724:12:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":65644,"mutability":"mutable","name":"pointSystem","nameLocation":"3771:11:98","nodeType":"VariableDeclaration","scope":65655,"src":"3759:23:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":65643,"nodeType":"UserDefinedTypeName","pathNode":{"id":65642,"name":"PointSystem","nameLocations":["3759:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":65543,"src":"3759:11:98"},"referencedDeclaration":65543,"src":"3759:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":65647,"mutability":"mutable","name":"pointConfig","nameLocation":"3810:11:98","nodeType":"VariableDeclaration","scope":65655,"src":"3792:29:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":65646,"nodeType":"UserDefinedTypeName","pathNode":{"id":65645,"name":"PointSystemConfig","nameLocations":["3792:17:98"],"nodeType":"IdentifierPath","referencedDeclaration":65612,"src":"3792:17:98"},"referencedDeclaration":65612,"src":"3792:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":65650,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"3848:16:98","nodeType":"VariableDeclaration","scope":65655,"src":"3831:33:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":65649,"nodeType":"UserDefinedTypeName","pathNode":{"id":65648,"name":"ArbitrableConfig","nameLocations":["3831:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65626,"src":"3831:16:98"},"referencedDeclaration":65626,"src":"3831:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":65652,"mutability":"mutable","name":"registryCommunity","nameLocation":"3882:17:98","nodeType":"VariableDeclaration","scope":65655,"src":"3874:25:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65651,"name":"address","nodeType":"ElementaryTypeName","src":"3874:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65654,"mutability":"mutable","name":"sybilScorer","nameLocation":"3917:11:98","nodeType":"VariableDeclaration","scope":65655,"src":"3909:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65653,"name":"address","nodeType":"ElementaryTypeName","src":"3909:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"3670:16:98","scope":65656,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"StrategyStruct","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[65656],"name":"StrategyStruct","nameLocation":"1531:14:98","scope":69235,"usedErrors":[]},{"id":69234,"nodeType":"ContractDefinition","src":"3983:51407:98","nodes":[{"id":65667,"nodeType":"ErrorDefinition","src":"4243:25:98","nodes":[],"errorSelector":"d1f28288","name":"UserCannotBeZero","nameLocation":"4249:16:98","parameters":{"id":65666,"nodeType":"ParameterList","parameters":[],"src":"4265:2:98"}},{"id":65669,"nodeType":"ErrorDefinition","src":"4287:26:98","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"4293:17:98","parameters":{"id":65668,"nodeType":"ParameterList","parameters":[],"src":"4310:2:98"}},{"id":65671,"nodeType":"ErrorDefinition","src":"4331:23:98","nodes":[],"errorSelector":"5fccb67f","name":"UserIsInactive","nameLocation":"4337:14:98","parameters":{"id":65670,"nodeType":"ParameterList","parameters":[],"src":"4351:2:98"}},{"id":65673,"nodeType":"ErrorDefinition","src":"4373:20:98","nodes":[],"errorSelector":"ed4421ad","name":"PoolIsEmpty","nameLocation":"4379:11:98","parameters":{"id":65672,"nodeType":"ParameterList","parameters":[],"src":"4390:2:98"}},{"id":65675,"nodeType":"ErrorDefinition","src":"4412:23:98","nodes":[],"errorSelector":"d6234725","name":"NotImplemented","nameLocation":"4418:14:98","parameters":{"id":65674,"nodeType":"ParameterList","parameters":[],"src":"4432:2:98"}},{"id":65677,"nodeType":"ErrorDefinition","src":"4453:26:98","nodes":[],"errorSelector":"596a094c","name":"TokenCannotBeZero","nameLocation":"4459:17:98","parameters":{"id":65676,"nodeType":"ParameterList","parameters":[],"src":"4476:2:98"}},{"id":65679,"nodeType":"ErrorDefinition","src":"4497:24:98","nodes":[],"errorSelector":"a29c4986","name":"TokenNotAllowed","nameLocation":"4503:15:98","parameters":{"id":65678,"nodeType":"ParameterList","parameters":[],"src":"4518:2:98"}},{"id":65681,"nodeType":"ErrorDefinition","src":"4540:27:98","nodes":[],"errorSelector":"3bf5ca14","name":"AmountOverMaxRatio","nameLocation":"4546:18:98","parameters":{"id":65680,"nodeType":"ParameterList","parameters":[],"src":"4564:2:98"}},{"id":65683,"nodeType":"ErrorDefinition","src":"4586:27:98","nodes":[],"errorSelector":"4e791786","name":"PoolIdCannotBeZero","nameLocation":"4592:18:98","parameters":{"id":65682,"nodeType":"ParameterList","parameters":[],"src":"4610:2:98"}},{"id":65685,"nodeType":"ErrorDefinition","src":"4631:28:98","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"4637:19:98","parameters":{"id":65684,"nodeType":"ParameterList","parameters":[],"src":"4656:2:98"}},{"id":65687,"nodeType":"ErrorDefinition","src":"4677:29:98","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"4683:20:98","parameters":{"id":65686,"nodeType":"ParameterList","parameters":[],"src":"4703:2:98"}},{"id":65695,"nodeType":"ErrorDefinition","src":"4725:72:98","nodes":[],"errorSelector":"3bbc7142","name":"SupportUnderflow","nameLocation":"4731:16:98","parameters":{"id":65694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65689,"mutability":"mutable","name":"_support","nameLocation":"4756:8:98","nodeType":"VariableDeclaration","scope":65695,"src":"4748:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65688,"name":"uint256","nodeType":"ElementaryTypeName","src":"4748:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65691,"mutability":"mutable","name":"_delta","nameLocation":"4773:6:98","nodeType":"VariableDeclaration","scope":65695,"src":"4766:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":65690,"name":"int256","nodeType":"ElementaryTypeName","src":"4766:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":65693,"mutability":"mutable","name":"_result","nameLocation":"4788:7:98","nodeType":"VariableDeclaration","scope":65695,"src":"4781:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":65692,"name":"int256","nodeType":"ElementaryTypeName","src":"4781:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4747:49:98"}},{"id":65697,"nodeType":"ErrorDefinition","src":"4816:25:98","nodes":[],"errorSelector":"8402b474","name":"MaxPointsReached","nameLocation":"4822:16:98","parameters":{"id":65696,"nodeType":"ParameterList","parameters":[],"src":"4838:2:98"}},{"id":65699,"nodeType":"ErrorDefinition","src":"4860:32:98","nodes":[],"errorSelector":"573c3e93","name":"CantIncreaseFixedSystem","nameLocation":"4866:23:98","parameters":{"id":65698,"nodeType":"ParameterList","parameters":[],"src":"4889:2:98"}},{"id":65705,"nodeType":"ErrorDefinition","src":"4911:77:98","nodes":[],"errorSelector":"d64182fe","name":"NotEnoughPointsToSupport","nameLocation":"4917:24:98","parameters":{"id":65704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65701,"mutability":"mutable","name":"pointsSupport","nameLocation":"4950:13:98","nodeType":"VariableDeclaration","scope":65705,"src":"4942:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65700,"name":"uint256","nodeType":"ElementaryTypeName","src":"4942:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65703,"mutability":"mutable","name":"pointsBalance","nameLocation":"4973:13:98","nodeType":"VariableDeclaration","scope":65705,"src":"4965:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65702,"name":"uint256","nodeType":"ElementaryTypeName","src":"4965:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4941:46:98"}},{"id":65707,"nodeType":"ErrorDefinition","src":"5008:28:98","nodes":[],"errorSelector":"c5f7c4c0","name":"ProposalDataIsEmpty","nameLocation":"5014:19:98","parameters":{"id":65706,"nodeType":"ParameterList","parameters":[],"src":"5033:2:98"}},{"id":65709,"nodeType":"ErrorDefinition","src":"5054:31:98","nodes":[],"errorSelector":"f881a10d","name":"ProposalIdCannotBeZero","nameLocation":"5060:22:98","parameters":{"id":65708,"nodeType":"ParameterList","parameters":[],"src":"5082:2:98"}},{"id":65713,"nodeType":"ErrorDefinition","src":"5103:45:98","nodes":[],"errorSelector":"44980d8f","name":"ProposalNotActive","nameLocation":"5109:17:98","parameters":{"id":65712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65711,"mutability":"mutable","name":"_proposalId","nameLocation":"5135:11:98","nodeType":"VariableDeclaration","scope":65713,"src":"5127:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65710,"name":"uint256","nodeType":"ElementaryTypeName","src":"5127:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5126:21:98"}},{"id":65717,"nodeType":"ErrorDefinition","src":"5167:45:98","nodes":[],"errorSelector":"c1d17bef","name":"ProposalNotInList","nameLocation":"5173:17:98","parameters":{"id":65716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65715,"mutability":"mutable","name":"_proposalId","nameLocation":"5199:11:98","nodeType":"VariableDeclaration","scope":65717,"src":"5191:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65714,"name":"uint256","nodeType":"ElementaryTypeName","src":"5191:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5190:21:98"}},{"id":65723,"nodeType":"ErrorDefinition","src":"5231:68:98","nodes":[],"errorSelector":"adebb154","name":"ProposalSupportDuplicated","nameLocation":"5237:25:98","parameters":{"id":65722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65719,"mutability":"mutable","name":"_proposalId","nameLocation":"5271:11:98","nodeType":"VariableDeclaration","scope":65723,"src":"5263:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65718,"name":"uint256","nodeType":"ElementaryTypeName","src":"5263:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65721,"mutability":"mutable","name":"index","nameLocation":"5292:5:98","nodeType":"VariableDeclaration","scope":65723,"src":"5284:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65720,"name":"uint256","nodeType":"ElementaryTypeName","src":"5284:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5262:36:98"}},{"id":65725,"nodeType":"ErrorDefinition","src":"5317:40:98","nodes":[],"errorSelector":"cce79308","name":"ConvictionUnderMinimumThreshold","nameLocation":"5323:31:98","parameters":{"id":65724,"nodeType":"ParameterList","parameters":[],"src":"5354:2:98"}},{"id":65727,"nodeType":"ErrorDefinition","src":"5376:29:98","nodes":[],"errorSelector":"af0916a2","name":"OnlyCommunityAllowed","nameLocation":"5382:20:98","parameters":{"id":65726,"nodeType":"ParameterList","parameters":[],"src":"5402:2:98"}},{"id":65735,"nodeType":"ErrorDefinition","src":"5424:94:98","nodes":[],"errorSelector":"5863b0b6","name":"PoolAmountNotEnough","nameLocation":"5430:19:98","parameters":{"id":65734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65729,"mutability":"mutable","name":"_proposalId","nameLocation":"5458:11:98","nodeType":"VariableDeclaration","scope":65735,"src":"5450:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65728,"name":"uint256","nodeType":"ElementaryTypeName","src":"5450:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65731,"mutability":"mutable","name":"_requestedAmount","nameLocation":"5479:16:98","nodeType":"VariableDeclaration","scope":65735,"src":"5471:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65730,"name":"uint256","nodeType":"ElementaryTypeName","src":"5471:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65733,"mutability":"mutable","name":"_poolAmount","nameLocation":"5505:11:98","nodeType":"VariableDeclaration","scope":65735,"src":"5497:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65732,"name":"uint256","nodeType":"ElementaryTypeName","src":"5497:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5449:68:98"}},{"id":65737,"nodeType":"ErrorDefinition","src":"5536:24:98","nodes":[],"errorSelector":"e860ec7e","name":"OnlyCouncilSafe","nameLocation":"5542:15:98","parameters":{"id":65736,"nodeType":"ParameterList","parameters":[],"src":"5557:2:98"}},{"id":65739,"nodeType":"ErrorDefinition","src":"5565:32:98","nodes":[],"errorSelector":"5b96b588","name":"UserCannotExecuteAction","nameLocation":"5571:23:98","parameters":{"id":65738,"nodeType":"ParameterList","parameters":[],"src":"5594:2:98"}},{"id":65745,"nodeType":"ErrorDefinition","src":"5602:73:98","nodes":[],"errorSelector":"b07e3bc4","name":"InsufficientCollateral","nameLocation":"5608:22:98","parameters":{"id":65744,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65741,"mutability":"mutable","name":"sentAmount","nameLocation":"5639:10:98","nodeType":"VariableDeclaration","scope":65745,"src":"5631:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65740,"name":"uint256","nodeType":"ElementaryTypeName","src":"5631:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65743,"mutability":"mutable","name":"requiredAmount","nameLocation":"5659:14:98","nodeType":"VariableDeclaration","scope":65745,"src":"5651:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65742,"name":"uint256","nodeType":"ElementaryTypeName","src":"5651:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5630:44:98"}},{"id":65747,"nodeType":"ErrorDefinition","src":"5680:23:98","nodes":[],"errorSelector":"2eef310a","name":"OnlyArbitrator","nameLocation":"5686:14:98","parameters":{"id":65746,"nodeType":"ParameterList","parameters":[],"src":"5700:2:98"}},{"id":65751,"nodeType":"ErrorDefinition","src":"5708:47:98","nodes":[],"errorSelector":"96023952","name":"ProposalNotDisputed","nameLocation":"5714:19:98","parameters":{"id":65750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65749,"mutability":"mutable","name":"_proposalId","nameLocation":"5742:11:98","nodeType":"VariableDeclaration","scope":65751,"src":"5734:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65748,"name":"uint256","nodeType":"ElementaryTypeName","src":"5734:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5733:21:98"}},{"id":65753,"nodeType":"ErrorDefinition","src":"5760:31:98","nodes":[],"errorSelector":"6c291fd3","name":"ArbitratorCannotBeZero","nameLocation":"5766:22:98","parameters":{"id":65752,"nodeType":"ParameterList","parameters":[],"src":"5788:2:98"}},{"id":65759,"nodeType":"ErrorDefinition","src":"5796:55:98","nodes":[],"errorSelector":"8a89b922","name":"OnlySubmitter","nameLocation":"5802:13:98","parameters":{"id":65758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65755,"mutability":"mutable","name":"submitter","nameLocation":"5824:9:98","nodeType":"VariableDeclaration","scope":65759,"src":"5816:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65754,"name":"address","nodeType":"ElementaryTypeName","src":"5816:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65757,"mutability":"mutable","name":"sender","nameLocation":"5843:6:98","nodeType":"VariableDeclaration","scope":65759,"src":"5835:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65756,"name":"address","nodeType":"ElementaryTypeName","src":"5835:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5815:35:98"}},{"id":65761,"nodeType":"ErrorDefinition","src":"5937:28:98","nodes":[],"errorSelector":"dd466dd0","name":"DefaultRulingNotSet","nameLocation":"5943:19:98","parameters":{"id":65760,"nodeType":"ParameterList","parameters":[],"src":"5962:2:98"}},{"id":65767,"nodeType":"ErrorDefinition","src":"5970:75:98","nodes":[],"errorSelector":"8d2f6c31","name":"DisputeCooldownNotPassed","nameLocation":"5976:24:98","parameters":{"id":65766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65763,"mutability":"mutable","name":"_proposalId","nameLocation":"6009:11:98","nodeType":"VariableDeclaration","scope":65767,"src":"6001:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65762,"name":"uint256","nodeType":"ElementaryTypeName","src":"6001:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65765,"mutability":"mutable","name":"_remainingSec","nameLocation":"6030:13:98","nodeType":"VariableDeclaration","scope":65767,"src":"6022:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65764,"name":"uint256","nodeType":"ElementaryTypeName","src":"6022:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6000:44:98"}},{"id":65774,"nodeType":"EventDefinition","src":"6217:74:98","nodes":[],"anonymous":false,"eventSelector":"e5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b","name":"InitializedCV","nameLocation":"6223:13:98","parameters":{"id":65773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65769,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6245:6:98","nodeType":"VariableDeclaration","scope":65774,"src":"6237:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65768,"name":"uint256","nodeType":"ElementaryTypeName","src":"6237:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65772,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"6285:4:98","nodeType":"VariableDeclaration","scope":65774,"src":"6253:36:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":65771,"nodeType":"UserDefinedTypeName","pathNode":{"id":65770,"name":"StrategyStruct.InitializeParams","nameLocations":["6253:14:98","6268:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65655,"src":"6253:31:98"},"referencedDeclaration":65655,"src":"6253:31:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"6236:54:98"}},{"id":65782,"nodeType":"EventDefinition","src":"6296:75:98","nodes":[],"anonymous":false,"eventSelector":"a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847","name":"Distributed","nameLocation":"6302:11:98","parameters":{"id":65781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65776,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6322:10:98","nodeType":"VariableDeclaration","scope":65782,"src":"6314:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65775,"name":"uint256","nodeType":"ElementaryTypeName","src":"6314:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65778,"indexed":false,"mutability":"mutable","name":"beneficiary","nameLocation":"6342:11:98","nodeType":"VariableDeclaration","scope":65782,"src":"6334:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65777,"name":"address","nodeType":"ElementaryTypeName","src":"6334:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65780,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6363:6:98","nodeType":"VariableDeclaration","scope":65782,"src":"6355:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65779,"name":"uint256","nodeType":"ElementaryTypeName","src":"6355:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6313:57:98"}},{"id":65788,"nodeType":"EventDefinition","src":"6376:58:98","nodes":[],"anonymous":false,"eventSelector":"fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b","name":"ProposalCreated","nameLocation":"6382:15:98","parameters":{"id":65787,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65784,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6406:6:98","nodeType":"VariableDeclaration","scope":65788,"src":"6398:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65783,"name":"uint256","nodeType":"ElementaryTypeName","src":"6398:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65786,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6422:10:98","nodeType":"VariableDeclaration","scope":65788,"src":"6414:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65785,"name":"uint256","nodeType":"ElementaryTypeName","src":"6414:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6397:36:98"}},{"id":65792,"nodeType":"EventDefinition","src":"6439:42:98","nodes":[],"anonymous":false,"eventSelector":"46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339","name":"PoolAmountIncreased","nameLocation":"6445:19:98","parameters":{"id":65791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65790,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6473:6:98","nodeType":"VariableDeclaration","scope":65792,"src":"6465:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65789,"name":"uint256","nodeType":"ElementaryTypeName","src":"6465:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6464:16:98"}},{"id":65796,"nodeType":"EventDefinition","src":"6486:40:98","nodes":[],"anonymous":false,"eventSelector":"1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b","name":"PointsDeactivated","nameLocation":"6492:17:98","parameters":{"id":65795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65794,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6518:6:98","nodeType":"VariableDeclaration","scope":65796,"src":"6510:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65793,"name":"address","nodeType":"ElementaryTypeName","src":"6510:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6509:16:98"}},{"id":65804,"nodeType":"EventDefinition","src":"6531:85:98","nodes":[],"anonymous":false,"eventSelector":"0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a","name":"PowerIncreased","nameLocation":"6537:14:98","parameters":{"id":65803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65798,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6560:6:98","nodeType":"VariableDeclaration","scope":65804,"src":"6552:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65797,"name":"address","nodeType":"ElementaryTypeName","src":"6552:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65800,"indexed":false,"mutability":"mutable","name":"tokensStaked","nameLocation":"6576:12:98","nodeType":"VariableDeclaration","scope":65804,"src":"6568:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65799,"name":"uint256","nodeType":"ElementaryTypeName","src":"6568:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65802,"indexed":false,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"6598:16:98","nodeType":"VariableDeclaration","scope":65804,"src":"6590:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65801,"name":"uint256","nodeType":"ElementaryTypeName","src":"6590:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6551:64:98"}},{"id":65812,"nodeType":"EventDefinition","src":"6621:87:98","nodes":[],"anonymous":false,"eventSelector":"70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1","name":"PowerDecreased","nameLocation":"6627:14:98","parameters":{"id":65811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65806,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6650:6:98","nodeType":"VariableDeclaration","scope":65812,"src":"6642:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65805,"name":"address","nodeType":"ElementaryTypeName","src":"6642:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65808,"indexed":false,"mutability":"mutable","name":"tokensUnStaked","nameLocation":"6666:14:98","nodeType":"VariableDeclaration","scope":65812,"src":"6658:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65807,"name":"uint256","nodeType":"ElementaryTypeName","src":"6658:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65810,"indexed":false,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"6690:16:98","nodeType":"VariableDeclaration","scope":65812,"src":"6682:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65809,"name":"uint256","nodeType":"ElementaryTypeName","src":"6682:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6641:66:98"}},{"id":65824,"nodeType":"EventDefinition","src":"6713:134:98","nodes":[],"anonymous":false,"eventSelector":"0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f","name":"SupportAdded","nameLocation":"6719:12:98","parameters":{"id":65823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65814,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"6749:4:98","nodeType":"VariableDeclaration","scope":65824,"src":"6741:12:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65813,"name":"address","nodeType":"ElementaryTypeName","src":"6741:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65816,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6763:10:98","nodeType":"VariableDeclaration","scope":65824,"src":"6755:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65815,"name":"uint256","nodeType":"ElementaryTypeName","src":"6755:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65818,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6783:6:98","nodeType":"VariableDeclaration","scope":65824,"src":"6775:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65817,"name":"uint256","nodeType":"ElementaryTypeName","src":"6775:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65820,"indexed":false,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"6799:17:98","nodeType":"VariableDeclaration","scope":65824,"src":"6791:25:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65819,"name":"uint256","nodeType":"ElementaryTypeName","src":"6791:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65822,"indexed":false,"mutability":"mutable","name":"convictionLast","nameLocation":"6826:14:98","nodeType":"VariableDeclaration","scope":65824,"src":"6818:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65821,"name":"uint256","nodeType":"ElementaryTypeName","src":"6818:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6731:115:98"}},{"id":65829,"nodeType":"EventDefinition","src":"6852:56:98","nodes":[],"anonymous":false,"eventSelector":"ec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc","name":"CVParamsUpdated","nameLocation":"6858:15:98","parameters":{"id":65828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65827,"indexed":false,"mutability":"mutable","name":"cvParams","nameLocation":"6898:8:98","nodeType":"VariableDeclaration","scope":65829,"src":"6874:32:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":65826,"nodeType":"UserDefinedTypeName","pathNode":{"id":65825,"name":"StrategyStruct.CVParams","nameLocations":["6874:14:98","6889:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65635,"src":"6874:23:98"},"referencedDeclaration":65635,"src":"6874:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"6873:34:98"}},{"id":65833,"nodeType":"EventDefinition","src":"6913:49:98","nodes":[],"anonymous":false,"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"6919:15:98","parameters":{"id":65832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65831,"indexed":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"6943:17:98","nodeType":"VariableDeclaration","scope":65833,"src":"6935:25:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65830,"name":"address","nodeType":"ElementaryTypeName","src":"6935:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6934:27:98"}},{"id":65839,"nodeType":"EventDefinition","src":"6967:76:98","nodes":[],"anonymous":false,"eventSelector":"056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b","name":"MinThresholdPointsUpdated","nameLocation":"6973:25:98","parameters":{"id":65838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65835,"indexed":false,"mutability":"mutable","name":"before","nameLocation":"7007:6:98","nodeType":"VariableDeclaration","scope":65839,"src":"6999:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65834,"name":"uint256","nodeType":"ElementaryTypeName","src":"6999:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65837,"indexed":false,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"7023:18:98","nodeType":"VariableDeclaration","scope":65839,"src":"7015:26:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65836,"name":"uint256","nodeType":"ElementaryTypeName","src":"7015:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6998:44:98"}},{"id":65854,"nodeType":"EventDefinition","src":"7048:195:98","nodes":[],"anonymous":false,"eventSelector":"034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d","name":"ProposalDisputed","nameLocation":"7054:16:98","parameters":{"id":65853,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65842,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7092:10:98","nodeType":"VariableDeclaration","scope":65854,"src":"7080:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"},"typeName":{"id":65841,"nodeType":"UserDefinedTypeName","pathNode":{"id":65840,"name":"IArbitrator","nameLocations":["7080:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":74044,"src":"7080:11:98"},"referencedDeclaration":74044,"src":"7080:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":65844,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7120:10:98","nodeType":"VariableDeclaration","scope":65854,"src":"7112:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65843,"name":"uint256","nodeType":"ElementaryTypeName","src":"7112:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65846,"indexed":false,"mutability":"mutable","name":"disputeId","nameLocation":"7148:9:98","nodeType":"VariableDeclaration","scope":65854,"src":"7140:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65845,"name":"uint256","nodeType":"ElementaryTypeName","src":"7140:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65848,"indexed":false,"mutability":"mutable","name":"challenger","nameLocation":"7175:10:98","nodeType":"VariableDeclaration","scope":65854,"src":"7167:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65847,"name":"address","nodeType":"ElementaryTypeName","src":"7167:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65850,"indexed":false,"mutability":"mutable","name":"context","nameLocation":"7202:7:98","nodeType":"VariableDeclaration","scope":65854,"src":"7195:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65849,"name":"string","nodeType":"ElementaryTypeName","src":"7195:6:98","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":65852,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"7227:9:98","nodeType":"VariableDeclaration","scope":65854,"src":"7219:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65851,"name":"uint256","nodeType":"ElementaryTypeName","src":"7219:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7070:172:98"}},{"id":65862,"nodeType":"EventDefinition","src":"7248:88:98","nodes":[],"anonymous":false,"eventSelector":"dc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f","name":"TribunaSafeRegistered","nameLocation":"7254:21:98","parameters":{"id":65861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65856,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7284:8:98","nodeType":"VariableDeclaration","scope":65862,"src":"7276:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65855,"name":"address","nodeType":"ElementaryTypeName","src":"7276:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65858,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7302:10:98","nodeType":"VariableDeclaration","scope":65862,"src":"7294:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65857,"name":"address","nodeType":"ElementaryTypeName","src":"7294:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65860,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"7322:12:98","nodeType":"VariableDeclaration","scope":65862,"src":"7314:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65859,"name":"address","nodeType":"ElementaryTypeName","src":"7314:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7275:60:98"}},{"id":65866,"nodeType":"EventDefinition","src":"7341:44:98","nodes":[],"anonymous":false,"eventSelector":"416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c","name":"ProposalCancelled","nameLocation":"7347:17:98","parameters":{"id":65865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65864,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7373:10:98","nodeType":"VariableDeclaration","scope":65866,"src":"7365:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65863,"name":"uint256","nodeType":"ElementaryTypeName","src":"7365:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7364:20:98"}},{"id":65883,"nodeType":"EventDefinition","src":"7390:302:98","nodes":[],"anonymous":false,"eventSelector":"e677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d53","name":"ArbitrableConfigUpdated","nameLocation":"7396:23:98","parameters":{"id":65882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65868,"indexed":false,"mutability":"mutable","name":"currentArbitrableConfigVersion","nameLocation":"7437:30:98","nodeType":"VariableDeclaration","scope":65883,"src":"7429:38:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65867,"name":"uint256","nodeType":"ElementaryTypeName","src":"7429:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65871,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7489:10:98","nodeType":"VariableDeclaration","scope":65883,"src":"7477:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"},"typeName":{"id":65870,"nodeType":"UserDefinedTypeName","pathNode":{"id":65869,"name":"IArbitrator","nameLocations":["7477:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":74044,"src":"7477:11:98"},"referencedDeclaration":74044,"src":"7477:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":65873,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"7517:12:98","nodeType":"VariableDeclaration","scope":65883,"src":"7509:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65872,"name":"address","nodeType":"ElementaryTypeName","src":"7509:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65875,"indexed":false,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"7547:25:98","nodeType":"VariableDeclaration","scope":65883,"src":"7539:33:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65874,"name":"uint256","nodeType":"ElementaryTypeName","src":"7539:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65877,"indexed":false,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"7590:26:98","nodeType":"VariableDeclaration","scope":65883,"src":"7582:34:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65876,"name":"uint256","nodeType":"ElementaryTypeName","src":"7582:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65879,"indexed":false,"mutability":"mutable","name":"defaultRuling","nameLocation":"7634:13:98","nodeType":"VariableDeclaration","scope":65883,"src":"7626:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65878,"name":"uint256","nodeType":"ElementaryTypeName","src":"7626:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65881,"indexed":false,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"7665:20:98","nodeType":"VariableDeclaration","scope":65883,"src":"7657:28:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65880,"name":"uint256","nodeType":"ElementaryTypeName","src":"7657:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7419:272:98"}},{"id":65886,"nodeType":"VariableDeclaration","src":"8066:38:98","nodes":[],"constant":true,"functionSelector":"ffa1ad74","mutability":"constant","name":"VERSION","nameLocation":"8089:7:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65884,"name":"string","nodeType":"ElementaryTypeName","src":"8066:6:98","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"302e30","id":65885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8099:5:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_7be32719f3172a4c9a8d1f020e88b7d75f936a7394cfbfe03d409404e58cbdc3","typeString":"literal_string \"0.0\""},"value":"0.0"},"visibility":"public"},{"id":65889,"nodeType":"VariableDeclaration","src":"8110:36:98","nodes":[],"constant":true,"functionSelector":"0f529ba2","mutability":"constant","name":"D","nameLocation":"8134:1:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65887,"name":"uint256","nodeType":"ElementaryTypeName","src":"8110:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130303030303030","id":65888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8138:8:98","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"value":"10000000"},"visibility":"public"},{"id":65892,"nodeType":"VariableDeclaration","src":"8160:71:98","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"8186:7:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65890,"name":"uint256","nodeType":"ElementaryTypeName","src":"8160:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078313030303030303030303030303030303030303030303030303030303030303030","id":65891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8196:35:98","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"value":"0x100000000000000000000000000000000"},"visibility":"internal"},{"id":65895,"nodeType":"VariableDeclaration","src":"8247:70:98","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"8273:7:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65893,"name":"uint256","nodeType":"ElementaryTypeName","src":"8247:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783830303030303030303030303030303030303030303030303030303030303030","id":65894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8283:34:98","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"value":"0x80000000000000000000000000000000"},"visibility":"internal"},{"id":65898,"nodeType":"VariableDeclaration","src":"8333:54:98","nodes":[],"constant":true,"mutability":"constant","name":"TWO_64","nameLocation":"8359:6:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65896,"name":"uint256","nodeType":"ElementaryTypeName","src":"8333:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783130303030303030303030303030303030","id":65897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8368:19:98","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"value":"0x10000000000000000"},"visibility":"internal"},{"id":65901,"nodeType":"VariableDeclaration","src":"8402:49:98","nodes":[],"constant":true,"functionSelector":"406244d8","mutability":"constant","name":"MAX_STAKED_PROPOSALS","nameLocation":"8426:20:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65899,"name":"uint256","nodeType":"ElementaryTypeName","src":"8402:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130","id":65900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8449:2:98","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"id":65904,"nodeType":"VariableDeclaration","src":"8537:42:98","nodes":[],"constant":true,"functionSelector":"626c47e8","mutability":"constant","name":"RULING_OPTIONS","nameLocation":"8561:14:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65902,"name":"uint256","nodeType":"ElementaryTypeName","src":"8537:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":65903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8578:1:98","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"public"},{"id":65907,"nodeType":"VariableDeclaration","src":"8585:54:98","nodes":[],"constant":true,"functionSelector":"f5be3f7c","mutability":"constant","name":"DISPUTE_COOLDOWN_SEC","nameLocation":"8609:20:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65905,"name":"uint256","nodeType":"ElementaryTypeName","src":"8585:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":65906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8632:7:98","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_7200_by_1","typeString":"int_const 7200"},"value":"2"},"visibility":"public"},{"id":65909,"nodeType":"VariableDeclaration","src":"8646:40:98","nodes":[],"constant":false,"mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"8663:23:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65908,"name":"address","nodeType":"ElementaryTypeName","src":"8646:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":65911,"nodeType":"VariableDeclaration","src":"8734:47:98","nodes":[],"constant":false,"mutability":"mutable","name":"surpressStateMutabilityWarning","nameLocation":"8751:30:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65910,"name":"uint256","nodeType":"ElementaryTypeName","src":"8734:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":65913,"nodeType":"VariableDeclaration","src":"8825:25:98","nodes":[],"constant":false,"functionSelector":"33960459","mutability":"mutable","name":"cloneNonce","nameLocation":"8840:10:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65912,"name":"uint256","nodeType":"ElementaryTypeName","src":"8825:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65915,"nodeType":"VariableDeclaration","src":"8856:26:98","nodes":[],"constant":false,"functionSelector":"a28889e1","mutability":"mutable","name":"disputeCount","nameLocation":"8870:12:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":65914,"name":"uint64","nodeType":"ElementaryTypeName","src":"8856:6:98","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"public"},{"id":65917,"nodeType":"VariableDeclaration","src":"8888:30:98","nodes":[],"constant":false,"functionSelector":"0c0512e9","mutability":"mutable","name":"proposalCounter","nameLocation":"8903:15:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65916,"name":"uint256","nodeType":"ElementaryTypeName","src":"8888:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65919,"nodeType":"VariableDeclaration","src":"8924:45:98","nodes":[],"constant":false,"functionSelector":"125fd1d9","mutability":"mutable","name":"currentArbitrableConfigVersion","nameLocation":"8939:30:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65918,"name":"uint256","nodeType":"ElementaryTypeName","src":"8924:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65921,"nodeType":"VariableDeclaration","src":"8976:26:98","nodes":[],"constant":false,"functionSelector":"817b1cd2","mutability":"mutable","name":"totalStaked","nameLocation":"8991:11:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65920,"name":"uint256","nodeType":"ElementaryTypeName","src":"8976:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65923,"nodeType":"VariableDeclaration","src":"9008:35:98","nodes":[],"constant":false,"functionSelector":"aba9ffee","mutability":"mutable","name":"totalPointsActivated","nameLocation":"9023:20:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65922,"name":"uint256","nodeType":"ElementaryTypeName","src":"9008:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65926,"nodeType":"VariableDeclaration","src":"9050:39:98","nodes":[],"constant":false,"functionSelector":"2506b870","mutability":"mutable","name":"cvParams","nameLocation":"9081:8:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":65925,"nodeType":"UserDefinedTypeName","pathNode":{"id":65924,"name":"StrategyStruct.CVParams","nameLocations":["9050:14:98","9065:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65635,"src":"9050:23:98"},"referencedDeclaration":65635,"src":"9050:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"public"},{"id":65929,"nodeType":"VariableDeclaration","src":"9136:47:98","nodes":[],"constant":false,"functionSelector":"351d9f96","mutability":"mutable","name":"proposalType","nameLocation":"9171:12:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":65928,"nodeType":"UserDefinedTypeName","pathNode":{"id":65927,"name":"StrategyStruct.ProposalType","nameLocations":["9136:14:98","9151:12:98"],"nodeType":"IdentifierPath","referencedDeclaration":65538,"src":"9136:27:98"},"referencedDeclaration":65538,"src":"9136:27:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"public"},{"id":65932,"nodeType":"VariableDeclaration","src":"9242:45:98","nodes":[],"constant":false,"functionSelector":"2dbd6fdd","mutability":"mutable","name":"pointSystem","nameLocation":"9276:11:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":65931,"nodeType":"UserDefinedTypeName","pathNode":{"id":65930,"name":"StrategyStruct.PointSystem","nameLocations":["9242:14:98","9257:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":65543,"src":"9242:26:98"},"referencedDeclaration":65543,"src":"9242:26:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"public"},{"id":65935,"nodeType":"VariableDeclaration","src":"9293:51:98","nodes":[],"constant":false,"functionSelector":"a47ff7e5","mutability":"mutable","name":"pointConfig","nameLocation":"9333:11:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":65934,"nodeType":"UserDefinedTypeName","pathNode":{"id":65933,"name":"StrategyStruct.PointSystemConfig","nameLocations":["9293:14:98","9308:17:98"],"nodeType":"IdentifierPath","referencedDeclaration":65612,"src":"9293:32:98"},"referencedDeclaration":65612,"src":"9293:32:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"public"},{"id":65937,"nodeType":"VariableDeclaration","src":"9377:34:98","nodes":[],"constant":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"9394:17:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65936,"name":"address","nodeType":"ElementaryTypeName","src":"9377:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":65940,"nodeType":"VariableDeclaration","src":"9418:39:98","nodes":[],"constant":false,"functionSelector":"0bece79c","mutability":"mutable","name":"collateralVault","nameLocation":"9442:15:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"},"typeName":{"id":65939,"nodeType":"UserDefinedTypeName","pathNode":{"id":65938,"name":"ICollateralVault","nameLocations":["9418:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":74077,"src":"9418:16:98"},"referencedDeclaration":74077,"src":"9418:16:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"visibility":"public"},{"id":65943,"nodeType":"VariableDeclaration","src":"9463:31:98","nodes":[],"constant":false,"functionSelector":"b6c61f31","mutability":"mutable","name":"sybilScorer","nameLocation":"9483:11:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"},"typeName":{"id":65942,"nodeType":"UserDefinedTypeName","pathNode":{"id":65941,"name":"ISybilScorer","nameLocations":["9463:12:98"],"nodeType":"IdentifierPath","referencedDeclaration":70165,"src":"9463:12:98"},"referencedDeclaration":70165,"src":"9463:12:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"visibility":"public"},{"id":65948,"nodeType":"VariableDeclaration","src":"9561:60:98","nodes":[],"constant":false,"functionSelector":"013cf08b","mutability":"mutable","name":"proposals","nameLocation":"9612:9:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"typeName":{"id":65947,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65944,"name":"uint256","nodeType":"ElementaryTypeName","src":"9569:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9561:43:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65946,"nodeType":"UserDefinedTypeName","pathNode":{"id":65945,"name":"StrategyStruct.Proposal","nameLocations":["9580:14:98","9595:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"9580:23:98"},"referencedDeclaration":65604,"src":"9580:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}}},"visibility":"public"},{"id":65952,"nodeType":"VariableDeclaration","src":"9677:53:98","nodes":[],"constant":false,"functionSelector":"5db64b99","mutability":"mutable","name":"totalVoterStakePct","nameLocation":"9712:18:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":65951,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65949,"name":"address","nodeType":"ElementaryTypeName","src":"9685:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9677:27:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65950,"name":"uint256","nodeType":"ElementaryTypeName","src":"9696:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":65957,"nodeType":"VariableDeclaration","src":"9768:57:98","nodes":[],"constant":false,"functionSelector":"868c57b8","mutability":"mutable","name":"voterStakedProposals","nameLocation":"9805:20:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"typeName":{"id":65956,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65953,"name":"address","nodeType":"ElementaryTypeName","src":"9776:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9768:29:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":65954,"name":"uint256","nodeType":"ElementaryTypeName","src":"9787:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65955,"nodeType":"ArrayTypeName","src":"9787:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"public"},{"id":65961,"nodeType":"VariableDeclaration","src":"9863:56:98","nodes":[],"constant":false,"functionSelector":"255ffb38","mutability":"mutable","name":"disputeIdToProposalId","nameLocation":"9898:21:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":65960,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65958,"name":"uint256","nodeType":"ElementaryTypeName","src":"9871:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9863:27:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65959,"name":"uint256","nodeType":"ElementaryTypeName","src":"9882:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":65966,"nodeType":"VariableDeclaration","src":"9925:76:98","nodes":[],"constant":false,"functionSelector":"41bb7605","mutability":"mutable","name":"arbitrableConfigs","nameLocation":"9984:17:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig)"},"typeName":{"id":65965,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65962,"name":"uint256","nodeType":"ElementaryTypeName","src":"9933:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9925:51:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65964,"nodeType":"UserDefinedTypeName","pathNode":{"id":65963,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["9944:14:98","9959:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65626,"src":"9944:31:98"},"referencedDeclaration":65626,"src":"9944:31:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}}},"visibility":"public"},{"id":65977,"nodeType":"FunctionDefinition","src":"10008:140:98","nodes":[],"body":{"id":65976,"nodeType":"Block","src":"10084:64:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":65973,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65937,"src":"10123:17:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65972,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72744,"src":"10101:21:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":65974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10101:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"functionReturnParameters":65971,"id":65975,"nodeType":"Return","src":"10094:47:98"}]},"functionSelector":"48f19c1d","implemented":true,"kind":"function","modifiers":[],"name":"getRegistryCommunity","nameLocation":"10017:20:98","parameters":{"id":65967,"nodeType":"ParameterList","parameters":[],"src":"10037:2:98"},"returnParameters":{"id":65971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65970,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65977,"src":"10061:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":65969,"nodeType":"UserDefinedTypeName","pathNode":{"id":65968,"name":"RegistryCommunityV0_0","nameLocations":["10061:21:98"],"nodeType":"IdentifierPath","referencedDeclaration":72744,"src":"10061:21:98"},"referencedDeclaration":72744,"src":"10061:21:98","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"visibility":"internal"}],"src":"10060:23:98"},"scope":69234,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":66001,"nodeType":"FunctionDefinition","src":"10399:222:98","nodes":[],"body":{"id":66000,"nodeType":"Block","src":"10506:115:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":65991,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65979,"src":"10527:5:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"43565374726174656779","id":65992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10534:12:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},"value":"CVStrategy"},{"id":65993,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65983,"src":"10548:5:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65988,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"10516:5:98","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$69234_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":65990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10522:4:98","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":64915,"src":"10516:10:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (address,string memory,address)"}},"id":65994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10516:38:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65995,"nodeType":"ExpressionStatement","src":"10516:38:98"},{"expression":{"id":65998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65996,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65909,"src":"10564:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":65997,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65981,"src":"10590:24:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10564:50:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65999,"nodeType":"ExpressionStatement","src":"10564:50:98"}]},"functionSelector":"184b9559","implemented":true,"kind":"function","modifiers":[{"id":65986,"kind":"modifierInvocation","modifierName":{"id":65985,"name":"initializer","nameLocations":["10494:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":53054,"src":"10494:11:98"},"nodeType":"ModifierInvocation","src":"10494:11:98"}],"name":"init","nameLocation":"10408:4:98","parameters":{"id":65984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65979,"mutability":"mutable","name":"_allo","nameLocation":"10421:5:98","nodeType":"VariableDeclaration","scope":66001,"src":"10413:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65978,"name":"address","nodeType":"ElementaryTypeName","src":"10413:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65981,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"10436:24:98","nodeType":"VariableDeclaration","scope":66001,"src":"10428:32:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65980,"name":"address","nodeType":"ElementaryTypeName","src":"10428:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65983,"mutability":"mutable","name":"owner","nameLocation":"10470:5:98","nodeType":"VariableDeclaration","scope":66001,"src":"10462:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65982,"name":"address","nodeType":"ElementaryTypeName","src":"10462:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10412:64:98"},"returnParameters":{"id":65987,"nodeType":"ParameterList","parameters":[],"src":"10506:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66095,"nodeType":"FunctionDefinition","src":"10627:801:98","nodes":[],"body":{"id":66094,"nodeType":"Block","src":"10710:718:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":66011,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66003,"src":"10740:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66010,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65051,"src":"10720:19:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":66012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10720:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66013,"nodeType":"ExpressionStatement","src":"10720:28:98"},{"expression":{"id":66023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66014,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"10759:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":66018,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65909,"src":"10812:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10837:12:98","subExpression":{"id":66019,"name":"cloneNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65913,"src":"10837:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66016,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"10794:5:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":66017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10800:11:98","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"10794:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":66021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10794:56:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66015,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74077,"src":"10777:16:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ICollateralVault_$74077_$","typeString":"type(contract ICollateralVault)"}},"id":66022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10777:74:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"src":"10759:92:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":66024,"nodeType":"ExpressionStatement","src":"10759:92:98"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66025,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"10861:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":66027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10877:10:98","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":74049,"src":"10861:26:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":66028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10861:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66029,"nodeType":"ExpressionStatement","src":"10861:28:98"},{"assignments":[66034],"declarations":[{"constant":false,"id":66034,"mutability":"mutable","name":"ip","nameLocation":"10939:2:98","nodeType":"VariableDeclaration","scope":66094,"src":"10900:41:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":66033,"nodeType":"UserDefinedTypeName","pathNode":{"id":66032,"name":"StrategyStruct.InitializeParams","nameLocations":["10900:14:98","10915:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65655,"src":"10900:31:98"},"referencedDeclaration":65655,"src":"10900:31:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":66042,"initialValue":{"arguments":[{"id":66037,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66005,"src":"10955:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":66038,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"10963:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":66039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10978:16:98","memberName":"InitializeParams","nodeType":"MemberAccess","referencedDeclaration":65655,"src":"10963:31:98","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$65655_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"id":66040,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10962:33:98","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$65655_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$65655_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}],"expression":{"id":66035,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10944:3:98","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10948:6:98","memberName":"decode","nodeType":"MemberAccess","src":"10944:10:98","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":66041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10944:52:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"10900:96:98"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66043,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66034,"src":"11011:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":66044,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11014:17:98","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":65652,"src":"11011:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11043:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11035:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66045,"name":"address","nodeType":"ElementaryTypeName","src":"11035:7:98","typeDescriptions":{}}},"id":66048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11035:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11011:34:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66054,"nodeType":"IfStatement","src":"11007:94:98","trueBody":{"id":66053,"nodeType":"Block","src":"11047:54:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66050,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65687,"src":"11068:20:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11068:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66052,"nodeType":"RevertStatement","src":"11061:29:98"}]}},{"expression":{"id":66058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66055,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65937,"src":"11111:17:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66056,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66034,"src":"11131:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":66057,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11134:17:98","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":65652,"src":"11131:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11111:40:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66059,"nodeType":"ExpressionStatement","src":"11111:40:98"},{"expression":{"id":66063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66060,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65929,"src":"11162:12:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66061,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66034,"src":"11177:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":66062,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11180:12:98","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":65641,"src":"11177:15:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"src":"11162:30:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"id":66064,"nodeType":"ExpressionStatement","src":"11162:30:98"},{"expression":{"id":66068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66065,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65932,"src":"11202:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66066,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66034,"src":"11216:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":66067,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11219:11:98","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":65644,"src":"11216:14:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"src":"11202:28:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"id":66069,"nodeType":"ExpressionStatement","src":"11202:28:98"},{"expression":{"id":66073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66070,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65935,"src":"11240:11:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66071,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66034,"src":"11254:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":66072,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11257:11:98","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":65647,"src":"11254:14:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"11240:28:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":66074,"nodeType":"ExpressionStatement","src":"11240:28:98"},{"expression":{"id":66080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66075,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65943,"src":"11278:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":66077,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66034,"src":"11305:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":66078,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11308:11:98","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":65654,"src":"11305:14:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66076,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70165,"src":"11292:12:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$70165_$","typeString":"type(contract ISybilScorer)"}},"id":66079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11292:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"src":"11278:42:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"id":66081,"nodeType":"ExpressionStatement","src":"11278:42:98"},{"expression":{"arguments":[{"expression":{"id":66083,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66034,"src":"11346:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":66084,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11349:16:98","memberName":"arbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":65650,"src":"11346:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"expression":{"id":66085,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66034,"src":"11367:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":66086,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11370:8:98","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":65638,"src":"11367:11:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":66082,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68617,"src":"11331:14:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$65626_memory_ptr_$_t_struct$_CVParams_$65635_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":66087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11331:48:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66088,"nodeType":"ExpressionStatement","src":"11331:48:98"},{"eventCall":{"arguments":[{"id":66090,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66003,"src":"11409:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66091,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66034,"src":"11418:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"id":66089,"name":"InitializedCV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65774,"src":"11395:13:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$65655_memory_ptr_$returns$__$","typeString":"function (uint256,struct StrategyStruct.InitializeParams memory)"}},"id":66092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11395:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66093,"nodeType":"EmitStatement","src":"11390:31:98"}]},"baseFunctions":[2939],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[{"id":66008,"kind":"modifierInvocation","modifierName":{"id":66007,"name":"onlyAllo","nameLocations":["10701:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":64923,"src":"10701:8:98"},"nodeType":"ModifierInvocation","src":"10701:8:98"}],"name":"initialize","nameLocation":"10636:10:98","parameters":{"id":66006,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66003,"mutability":"mutable","name":"_poolId","nameLocation":"10655:7:98","nodeType":"VariableDeclaration","scope":66095,"src":"10647:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66002,"name":"uint256","nodeType":"ElementaryTypeName","src":"10647:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66005,"mutability":"mutable","name":"_data","nameLocation":"10677:5:98","nodeType":"VariableDeclaration","scope":66095,"src":"10664:18:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66004,"name":"bytes","nodeType":"ElementaryTypeName","src":"10664:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10646:37:98"},"returnParameters":{"id":66009,"nodeType":"ParameterList","parameters":[],"src":"10710:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66099,"nodeType":"FunctionDefinition","src":"11599:83:98","nodes":[],"body":{"id":66098,"nodeType":"Block","src":"11627:55:98","nodes":[],"statements":[]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":66096,"nodeType":"ParameterList","parameters":[],"src":"11607:2:98"},"returnParameters":{"id":66097,"nodeType":"ParameterList","parameters":[],"src":"11627:0:98"},"scope":69234,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":66103,"nodeType":"FunctionDefinition","src":"11688:135:98","nodes":[],"body":{"id":66102,"nodeType":"Block","src":"11715:108:98","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":66100,"nodeType":"ParameterList","parameters":[],"src":"11695:2:98"},"returnParameters":{"id":66101,"nodeType":"ParameterList","parameters":[],"src":"11715:0:98"},"scope":69234,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":66125,"nodeType":"FunctionDefinition","src":"11829:210:98","nodes":[],"body":{"id":66124,"nodeType":"Block","src":"11928:111:98","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":66122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":66117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66112,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66105,"src":"11945:11:98","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":66114,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65534,"src":"11965:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65534_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65534_$","typeString":"type(contract IPointStrategy)"}],"id":66113,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11960:4:98","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":66115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11960:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$65534","typeString":"type(contract IPointStrategy)"}},"id":66116,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11981:11:98","memberName":"interfaceId","nodeType":"MemberAccess","src":"11960:32:98","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"11945:47:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":66120,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66105,"src":"12020:11:98","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":66118,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"11996:5:98","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$69234_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":66119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12002:17:98","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57724,"src":"11996:23:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":66121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11996:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11945:87:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":66111,"id":66123,"nodeType":"Return","src":"11938:94:98"}]},"baseFunctions":[57724],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"11838:17:98","overrides":{"id":66108,"nodeType":"OverrideSpecifier","overrides":[{"id":66107,"name":"ERC165","nameLocations":["11905:6:98"],"nodeType":"IdentifierPath","referencedDeclaration":57725,"src":"11905:6:98"}],"src":"11896:16:98"},"parameters":{"id":66106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66105,"mutability":"mutable","name":"interfaceId","nameLocation":"11863:11:98","nodeType":"VariableDeclaration","scope":66125,"src":"11856:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":66104,"name":"bytes4","nodeType":"ElementaryTypeName","src":"11856:6:98","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"11855:20:98"},"returnParameters":{"id":66111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66110,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66125,"src":"11922:4:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66109,"name":"bool","nodeType":"ElementaryTypeName","src":"11922:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11921:6:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":66167,"nodeType":"FunctionDefinition","src":"12210:391:98","nodes":[],"body":{"id":66166,"nodeType":"Block","src":"12278:323:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66130,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66127,"src":"12292:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12311:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12303:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66131,"name":"address","nodeType":"ElementaryTypeName","src":"12303:7:98","typeDescriptions":{}}},"id":66134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12303:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12292:21:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66140,"nodeType":"IfStatement","src":"12288:77:98","trueBody":{"id":66139,"nodeType":"Block","src":"12315:50:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66136,"name":"UserCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65667,"src":"12336:16:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12336:18:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66138,"nodeType":"RevertStatement","src":"12329:25:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66143,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65937,"src":"12386:17:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12378:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66141,"name":"address","nodeType":"ElementaryTypeName","src":"12378:7:98","typeDescriptions":{}}},"id":66144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12378:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12416:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66146,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12408:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66145,"name":"address","nodeType":"ElementaryTypeName","src":"12408:7:98","typeDescriptions":{}}},"id":66148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12408:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12378:40:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66154,"nodeType":"IfStatement","src":"12374:100:98","trueBody":{"id":66153,"nodeType":"Block","src":"12420:54:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66150,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65687,"src":"12441:20:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12441:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66152,"nodeType":"RevertStatement","src":"12434:29:98"}]}},{"condition":{"id":66160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12487:41:98","subExpression":{"arguments":[{"id":66158,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66127,"src":"12520:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66155,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"12488:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12488:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12511:8:98","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":72361,"src":"12488:31:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":66159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12488:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66165,"nodeType":"IfStatement","src":"12483:98:98","trueBody":{"id":66164,"nodeType":"Block","src":"12530:51:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66161,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65669,"src":"12551:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12551:19:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66163,"nodeType":"RevertStatement","src":"12544:26:98"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSenderIsMember","nameLocation":"12219:19:98","parameters":{"id":66128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66127,"mutability":"mutable","name":"_sender","nameLocation":"12247:7:98","nodeType":"VariableDeclaration","scope":66167,"src":"12239:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66126,"name":"address","nodeType":"ElementaryTypeName","src":"12239:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12238:17:98"},"returnParameters":{"id":66129,"nodeType":"ParameterList","parameters":[],"src":"12278:0:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66183,"nodeType":"FunctionDefinition","src":"12607:171:98","nodes":[],"body":{"id":66182,"nodeType":"Block","src":"12662:116:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66170,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12676:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12680:6:98","memberName":"sender","nodeType":"MemberAccess","src":"12676:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":66174,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65937,"src":"12698:17:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66173,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12690:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66172,"name":"address","nodeType":"ElementaryTypeName","src":"12690:7:98","typeDescriptions":{}}},"id":66175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12690:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12676:40:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66181,"nodeType":"IfStatement","src":"12672:100:98","trueBody":{"id":66180,"nodeType":"Block","src":"12718:54:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66177,"name":"OnlyCommunityAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65727,"src":"12739:20:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12739:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66179,"nodeType":"RevertStatement","src":"12732:29:98"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryCommunity","nameLocation":"12616:21:98","parameters":{"id":66168,"nodeType":"ParameterList","parameters":[],"src":"12637:2:98"},"returnParameters":{"id":66169,"nodeType":"ParameterList","parameters":[],"src":"12662:0:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66199,"nodeType":"FunctionDefinition","src":"12784:141:98","nodes":[],"body":{"id":66198,"nodeType":"Block","src":"12852:73:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66188,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66185,"src":"12866:8:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12886:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12878:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66189,"name":"address","nodeType":"ElementaryTypeName","src":"12878:7:98","typeDescriptions":{}}},"id":66192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12878:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12866:22:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66197,"nodeType":"IfStatement","src":"12862:56:98","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66194,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65685,"src":"12897:19:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12897:21:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66196,"nodeType":"RevertStatement","src":"12890:28:98"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"12793:18:98","parameters":{"id":66186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66185,"mutability":"mutable","name":"_address","nameLocation":"12820:8:98","nodeType":"VariableDeclaration","scope":66199,"src":"12812:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66184,"name":"address","nodeType":"ElementaryTypeName","src":"12812:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12811:18:98"},"returnParameters":{"id":66187,"nodeType":"ParameterList","parameters":[],"src":"12852:0:98"},"scope":69234,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":66218,"nodeType":"FunctionDefinition","src":"12931:179:98","nodes":[],"body":{"id":66217,"nodeType":"Block","src":"12980:130:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66202,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12994:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12998:6:98","memberName":"sender","nodeType":"MemberAccess","src":"12994:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66206,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"13016:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13016:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13039:11:98","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":71055,"src":"13016:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$74170_$","typeString":"function () view external returns (contract ISafe)"}},"id":66209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13016:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}],"id":66205,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13008:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66204,"name":"address","nodeType":"ElementaryTypeName","src":"13008:7:98","typeDescriptions":{}}},"id":66210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13008:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12994:59:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66216,"nodeType":"IfStatement","src":"12990:114:98","trueBody":{"id":66215,"nodeType":"Block","src":"13055:49:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66212,"name":"OnlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65737,"src":"13076:15:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13076:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66214,"nodeType":"RevertStatement","src":"13069:24:98"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyCouncilSafe","nameLocation":"12940:15:98","parameters":{"id":66200,"nodeType":"ParameterList","parameters":[],"src":"12955:2:98"},"returnParameters":{"id":66201,"nodeType":"ParameterList","parameters":[],"src":"12980:0:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66248,"nodeType":"FunctionDefinition","src":"13116:238:98","nodes":[],"body":{"id":66247,"nodeType":"Block","src":"13195:159:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66227,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65943,"src":"13217:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}],"id":66226,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13209:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66225,"name":"address","nodeType":"ElementaryTypeName","src":"13209:7:98","typeDescriptions":{}}},"id":66228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13209:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13241:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66230,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13233:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66229,"name":"address","nodeType":"ElementaryTypeName","src":"13233:7:98","typeDescriptions":{}}},"id":66232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13233:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13209:34:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66237,"nodeType":"IfStatement","src":"13205:76:98","trueBody":{"id":66236,"nodeType":"Block","src":"13245:36:98","statements":[{"expression":{"hexValue":"74727565","id":66234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13266:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":66224,"id":66235,"nodeType":"Return","src":"13259:11:98"}]}},{"expression":{"arguments":[{"id":66240,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66220,"src":"13326:5:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66243,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13341:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":66242,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13333:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66241,"name":"address","nodeType":"ElementaryTypeName","src":"13333:7:98","typeDescriptions":{}}},"id":66244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13333:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66238,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65943,"src":"13297:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"id":66239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13309:16:98","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":70122,"src":"13297:28:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":66245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13297:50:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":66224,"id":66246,"nodeType":"Return","src":"13290:57:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"13125:17:98","parameters":{"id":66221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66220,"mutability":"mutable","name":"_user","nameLocation":"13151:5:98","nodeType":"VariableDeclaration","scope":66248,"src":"13143:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66219,"name":"address","nodeType":"ElementaryTypeName","src":"13143:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13142:15:98"},"returnParameters":{"id":66224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66223,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66248,"src":"13189:4:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66222,"name":"bool","nodeType":"ElementaryTypeName","src":"13189:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13188:6:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66260,"nodeType":"FunctionDefinition","src":"13360:132:98","nodes":[],"body":{"id":66259,"nodeType":"Block","src":"13441:51:98","nodes":[],"statements":[{"expression":{"id":66257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66255,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65909,"src":"13451:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66256,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66250,"src":"13477:8:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13451:34:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66258,"nodeType":"ExpressionStatement","src":"13451:34:98"}]},"functionSelector":"b0d3713a","implemented":true,"kind":"function","modifiers":[{"id":66253,"kind":"modifierInvocation","modifierName":{"id":66252,"name":"onlyOwner","nameLocations":["13431:9:98"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"13431:9:98"},"nodeType":"ModifierInvocation","src":"13431:9:98"}],"name":"setCollateralVaultTemplate","nameLocation":"13369:26:98","parameters":{"id":66251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66250,"mutability":"mutable","name":"template","nameLocation":"13404:8:98","nodeType":"VariableDeclaration","scope":66260,"src":"13396:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66249,"name":"address","nodeType":"ElementaryTypeName","src":"13396:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13395:18:98"},"returnParameters":{"id":66254,"nodeType":"ParameterList","parameters":[],"src":"13441:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66501,"nodeType":"FunctionDefinition","src":"13818:2699:98","nodes":[],"body":{"id":66500,"nodeType":"Block","src":"13927:2590:98","nodes":[],"statements":[{"condition":{"id":66273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13941:27:98","subExpression":{"arguments":[{"id":66271,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66264,"src":"13960:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66270,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66248,"src":"13942:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":66272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13942:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66278,"nodeType":"IfStatement","src":"13937:90:98","trueBody":{"id":66277,"nodeType":"Block","src":"13970:57:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66274,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65739,"src":"13991:23:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13991:25:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66276,"nodeType":"RevertStatement","src":"13984:32:98"}]}},{"expression":{"id":66279,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66262,"src":"14081:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":66280,"nodeType":"ExpressionStatement","src":"14081:5:98"},{"assignments":[66285],"declarations":[{"constant":false,"id":66285,"mutability":"mutable","name":"proposal","nameLocation":"14133:8:98","nodeType":"VariableDeclaration","scope":66500,"src":"14096:45:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal"},"typeName":{"id":66284,"nodeType":"UserDefinedTypeName","pathNode":{"id":66283,"name":"StrategyStruct.CreateProposal","nameLocations":["14096:14:98","14111:14:98"],"nodeType":"IdentifierPath","referencedDeclaration":65555,"src":"14096:29:98"},"referencedDeclaration":65555,"src":"14096:29:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_storage_ptr","typeString":"struct StrategyStruct.CreateProposal"}},"visibility":"internal"}],"id":66293,"initialValue":{"arguments":[{"id":66288,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66262,"src":"14155:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":66289,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"14163:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":66290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14178:14:98","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":65555,"src":"14163:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$65555_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"id":66291,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14162:31:98","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$65555_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$65555_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}],"expression":{"id":66286,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14144:3:98","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66287,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14148:6:98","memberName":"decode","nodeType":"MemberAccess","src":"14144:10:98","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":66292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14144:50:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"14096:98:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66294,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"14309:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66295,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14318:6:98","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":65545,"src":"14309:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":66296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14328:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14309:20:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66302,"nodeType":"IfStatement","src":"14305:78:98","trueBody":{"id":66301,"nodeType":"Block","src":"14331:52:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66298,"name":"PoolIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65683,"src":"14352:18:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14352:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66300,"nodeType":"RevertStatement","src":"14345:27:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"},"id":66307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66303,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65929,"src":"14459:12:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66304,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"14475:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":66305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14490:12:98","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":65538,"src":"14475:27:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$65538_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":66306,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14503:7:98","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":65536,"src":"14475:35:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"src":"14459:51:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66363,"nodeType":"IfStatement","src":"14455:764:98","trueBody":{"id":66362,"nodeType":"Block","src":"14512:707:98","statements":[{"expression":{"arguments":[{"expression":{"id":66309,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"14545:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66310,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14554:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65547,"src":"14545:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66308,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66199,"src":"14526:18:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":66311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14526:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66312,"nodeType":"ExpressionStatement","src":"14526:40:98"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66313,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"14632:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66314,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14641:14:98","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65551,"src":"14632:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14667:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66316,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14659:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66315,"name":"address","nodeType":"ElementaryTypeName","src":"14659:7:98","typeDescriptions":{}}},"id":66318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14659:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14632:37:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66324,"nodeType":"IfStatement","src":"14628:102:98","trueBody":{"id":66323,"nodeType":"Block","src":"14671:59:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66320,"name":"TokenCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65677,"src":"14696:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14696:19:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66322,"nodeType":"RevertStatement","src":"14689:26:98"}]}},{"assignments":[66327],"declarations":[{"constant":false,"id":66327,"mutability":"mutable","name":"_allo","nameLocation":"14749:5:98","nodeType":"VariableDeclaration","scope":66362,"src":"14743:11:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"},"typeName":{"id":66326,"nodeType":"UserDefinedTypeName","pathNode":{"id":66325,"name":"IAllo","nameLocations":["14743:5:98"],"nodeType":"IdentifierPath","referencedDeclaration":2610,"src":"14743:5:98"},"referencedDeclaration":2610,"src":"14743:5:98","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"visibility":"internal"}],"id":66331,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66328,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14757:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}},"id":66329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14762:7:98","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":64969,"src":"14757:12:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":66330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14757:14:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"nodeType":"VariableDeclarationStatement","src":"14743:28:98"},{"assignments":[66336],"declarations":[{"constant":false,"id":66336,"mutability":"mutable","name":"pool","nameLocation":"14803:4:98","nodeType":"VariableDeclaration","scope":66362,"src":"14785:22:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":66335,"nodeType":"UserDefinedTypeName","pathNode":{"id":66334,"name":"IAllo.Pool","nameLocations":["14785:5:98","14791:4:98"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"14785:10:98"},"referencedDeclaration":2319,"src":"14785:10:98","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":66342,"initialValue":{"arguments":[{"expression":{"id":66339,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"14824:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66340,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14833:6:98","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":65545,"src":"14824:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66337,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66327,"src":"14810:5:98","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":66338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14816:7:98","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"14810:13:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":66341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14810:30:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"14785:55:98"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66343,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"14858:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66344,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14867:14:98","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65551,"src":"14858:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":66345,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66336,"src":"14885:4:98","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":66346,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14890:5:98","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"14885:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14858:37:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66352,"nodeType":"IfStatement","src":"14854:235:98","trueBody":{"id":66351,"nodeType":"Block","src":"14897:192:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66348,"name":"TokenNotAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65679,"src":"15057:15:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15057:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66350,"nodeType":"RevertStatement","src":"15050:24:98"}]}},{"condition":{"arguments":[{"expression":{"id":66354,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"15122:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66355,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15131:15:98","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":65549,"src":"15122:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66353,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67699,"src":"15106:15:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":66356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15106:41:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66361,"nodeType":"IfStatement","src":"15102:107:98","trueBody":{"id":66360,"nodeType":"Block","src":"15149:60:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66357,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65681,"src":"15174:18:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15174:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66359,"nodeType":"RevertStatement","src":"15167:27:98"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":66383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"baseExpression":{"id":66366,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"15254:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":66368,"indexExpression":{"id":66367,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"15272:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15254:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":66369,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15304:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"15254:60:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}],"id":66365,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15246:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66364,"name":"address","nodeType":"ElementaryTypeName","src":"15246:7:98","typeDescriptions":{}}},"id":66370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15246:69:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":66373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15327:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66372,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15319:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66371,"name":"address","nodeType":"ElementaryTypeName","src":"15319:7:98","typeDescriptions":{}}},"id":66374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15319:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15246:83:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66376,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15349:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15353:5:98","memberName":"value","nodeType":"MemberAccess","src":"15349:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":66378,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"15361:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":66380,"indexExpression":{"id":66379,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"15379:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15361:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":66381,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15411:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"15361:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15349:87:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15246:190:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66394,"nodeType":"IfStatement","src":"15229:390:98","trueBody":{"id":66393,"nodeType":"Block","src":"15447:172:98","statements":[{"errorCall":{"arguments":[{"expression":{"id":66385,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15508:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15512:5:98","memberName":"value","nodeType":"MemberAccess","src":"15508:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":66387,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"15519:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":66389,"indexExpression":{"id":66388,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"15537:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15519:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":66390,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15569:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"15519:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66384,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"15468:22:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":66391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15468:140:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66392,"nodeType":"RevertStatement","src":"15461:147:98"}]}},{"assignments":[66396],"declarations":[{"constant":false,"id":66396,"mutability":"mutable","name":"proposalId","nameLocation":"15637:10:98","nodeType":"VariableDeclaration","scope":66500,"src":"15629:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66395,"name":"uint256","nodeType":"ElementaryTypeName","src":"15629:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66399,"initialValue":{"id":66398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"15650:17:98","subExpression":{"id":66397,"name":"proposalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65917,"src":"15652:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15629:38:98"},{"assignments":[66404],"declarations":[{"constant":false,"id":66404,"mutability":"mutable","name":"p","nameLocation":"15709:1:98","nodeType":"VariableDeclaration","scope":66500,"src":"15677:33:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":66403,"nodeType":"UserDefinedTypeName","pathNode":{"id":66402,"name":"StrategyStruct.Proposal","nameLocations":["15677:14:98","15692:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"15677:23:98"},"referencedDeclaration":65604,"src":"15677:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":66408,"initialValue":{"baseExpression":{"id":66405,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"15713:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":66407,"indexExpression":{"id":66406,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66396,"src":"15723:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15713:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15677:57:98"},{"expression":{"id":66413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66409,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"15745:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66411,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15747:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65572,"src":"15745:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66412,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66396,"src":"15760:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15745:25:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66414,"nodeType":"ExpressionStatement","src":"15745:25:98"},{"expression":{"id":66419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66415,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"15780:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66417,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15782:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"15780:11:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66418,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66264,"src":"15794:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15780:21:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66420,"nodeType":"ExpressionStatement","src":"15780:21:98"},{"expression":{"id":66426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66421,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"15811:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66423,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15813:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65580,"src":"15811:13:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66424,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"15827:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66425,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15836:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65547,"src":"15827:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15811:36:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66427,"nodeType":"ExpressionStatement","src":"15811:36:98"},{"expression":{"id":66433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66428,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"15857:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66430,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15859:14:98","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65584,"src":"15857:16:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66431,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"15876:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66432,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15885:14:98","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65551,"src":"15876:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15857:42:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66434,"nodeType":"ExpressionStatement","src":"15857:42:98"},{"expression":{"id":66440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66435,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"15909:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66437,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15911:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"15909:17:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66438,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"15929:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66439,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15938:15:98","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":65549,"src":"15929:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15909:44:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66441,"nodeType":"ExpressionStatement","src":"15909:44:98"},{"expression":{"id":66448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66442,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"16014:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66444,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16016:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"16014:16:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":66445,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"16033:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":66446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16048:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"16033:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":66447,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16063:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65557,"src":"16033:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"16014:55:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"id":66449,"nodeType":"ExpressionStatement","src":"16014:55:98"},{"expression":{"id":66455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66450,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"16079:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66452,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16081:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65586,"src":"16079:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66453,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"16093:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":66454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16099:6:98","memberName":"number","nodeType":"MemberAccess","src":"16093:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16079:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66456,"nodeType":"ExpressionStatement","src":"16079:26:98"},{"expression":{"id":66461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66457,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"16115:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66459,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16117:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"16115:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":66460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16134:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16115:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66462,"nodeType":"ExpressionStatement","src":"16115:20:98"},{"expression":{"id":66468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66463,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"16181:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66465,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16183:8:98","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":65596,"src":"16181:10:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66466,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"16194:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66467,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16203:8:98","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":65554,"src":"16194:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"16181:30:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":66469,"nodeType":"ExpressionStatement","src":"16181:30:98"},{"expression":{"id":66474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66470,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"16221:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66472,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16223:23:98","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65603,"src":"16221:25:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66473,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"16249:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16221:58:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66475,"nodeType":"ExpressionStatement","src":"16221:58:98"},{"expression":{"arguments":[{"id":66482,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66396,"src":"16341:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":66483,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"16353:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16355:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"16353:11:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66476,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"16289:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":66478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16305:17:98","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":74056,"src":"16289:33:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":66481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":66479,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16330:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16334:5:98","memberName":"value","nodeType":"MemberAccess","src":"16330:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"16289:51:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":66485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16289:76:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66486,"nodeType":"ExpressionStatement","src":"16289:76:98"},{"eventCall":{"arguments":[{"id":66488,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"16397:6:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66489,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66396,"src":"16405:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66487,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65788,"src":"16381:15:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":66490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16381:35:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66491,"nodeType":"EmitStatement","src":"16376:40:98"},{"expression":{"arguments":[{"arguments":[{"id":66496,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66396,"src":"16498:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66495,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16490:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":66494,"name":"uint160","nodeType":"ElementaryTypeName","src":"16490:7:98","typeDescriptions":{}}},"id":66497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16490:19:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":66493,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16482:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66492,"name":"address","nodeType":"ElementaryTypeName","src":"16482:7:98","typeDescriptions":{}}},"id":66498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16482:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":66269,"id":66499,"nodeType":"Return","src":"16475:35:98"}]},"baseFunctions":[65357],"implemented":true,"kind":"function","modifiers":[],"name":"_registerRecipient","nameLocation":"13827:18:98","overrides":{"id":66266,"nodeType":"OverrideSpecifier","overrides":[],"src":"13900:8:98"},"parameters":{"id":66265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66262,"mutability":"mutable","name":"_data","nameLocation":"13859:5:98","nodeType":"VariableDeclaration","scope":66501,"src":"13846:18:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66261,"name":"bytes","nodeType":"ElementaryTypeName","src":"13846:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":66264,"mutability":"mutable","name":"_sender","nameLocation":"13874:7:98","nodeType":"VariableDeclaration","scope":66501,"src":"13866:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66263,"name":"address","nodeType":"ElementaryTypeName","src":"13866:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13845:37:98"},"returnParameters":{"id":66269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66268,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66501,"src":"13918:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66267,"name":"address","nodeType":"ElementaryTypeName","src":"13918:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13917:9:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":66510,"nodeType":"FunctionDefinition","src":"16523:98:98","nodes":[],"body":{"id":66509,"nodeType":"Block","src":"16583:38:98","nodes":[],"statements":[{"expression":{"expression":{"id":66506,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"16600:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":66507,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16609:5:98","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65632,"src":"16600:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66505,"id":66508,"nodeType":"Return","src":"16593:21:98"}]},"functionSelector":"9a1c157c","implemented":true,"kind":"function","modifiers":[],"name":"getDecay","nameLocation":"16532:8:98","parameters":{"id":66502,"nodeType":"ParameterList","parameters":[],"src":"16540:2:98"},"returnParameters":{"id":66505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66504,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66510,"src":"16574:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66503,"name":"uint256","nodeType":"ElementaryTypeName","src":"16574:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16573:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":66550,"nodeType":"FunctionDefinition","src":"16627:369:98","nodes":[],"body":{"id":66549,"nodeType":"Block","src":"16670:326:98","nodes":[],"statements":[{"assignments":[66514],"declarations":[{"constant":false,"id":66514,"mutability":"mutable","name":"member","nameLocation":"16688:6:98","nodeType":"VariableDeclaration","scope":66549,"src":"16680:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66513,"name":"address","nodeType":"ElementaryTypeName","src":"16680:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":66517,"initialValue":{"expression":{"id":66515,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16697:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16701:6:98","memberName":"sender","nodeType":"MemberAccess","src":"16697:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16680:27:98"},{"condition":{"id":66521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16721:26:98","subExpression":{"arguments":[{"id":66519,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66514,"src":"16740:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66518,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66248,"src":"16722:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":66520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16722:25:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66526,"nodeType":"IfStatement","src":"16717:89:98","trueBody":{"id":66525,"nodeType":"Block","src":"16749:57:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66522,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65739,"src":"16770:23:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16770:25:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66524,"nodeType":"RevertStatement","src":"16763:32:98"}]}},{"expression":{"arguments":[{"id":66530,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66514,"src":"16863:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66533,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16879:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":66532,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16871:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66531,"name":"address","nodeType":"ElementaryTypeName","src":"16871:7:98","typeDescriptions":{}}},"id":66534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16871:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66527,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"16815:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16815:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16838:24:98","memberName":"activateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":71768,"src":"16815:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":66535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16815:70:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66536,"nodeType":"ExpressionStatement","src":"16815:70:98"},{"expression":{"id":66547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66537,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65923,"src":"16895:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":66541,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66514,"src":"16967:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66544,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16983:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":66543,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16975:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66542,"name":"address","nodeType":"ElementaryTypeName","src":"16975:7:98","typeDescriptions":{}}},"id":66545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16975:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66538,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"16919:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16919:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16942:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72137,"src":"16919:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16919:70:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16895:94:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66548,"nodeType":"ExpressionStatement","src":"16895:94:98"}]},"functionSelector":"814516ad","implemented":true,"kind":"function","modifiers":[],"name":"activatePoints","nameLocation":"16636:14:98","parameters":{"id":66511,"nodeType":"ParameterList","parameters":[],"src":"16650:2:98"},"returnParameters":{"id":66512,"nodeType":"ParameterList","parameters":[],"src":"16670:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66559,"nodeType":"FunctionDefinition","src":"17002:89:98","nodes":[],"body":{"id":66558,"nodeType":"Block","src":"17045:46:98","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":66554,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17073:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17077:6:98","memberName":"sender","nodeType":"MemberAccess","src":"17073:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66553,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66608,"src":"17055:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17055:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66557,"nodeType":"ExpressionStatement","src":"17055:29:98"}]},"functionSelector":"1ddf1e23","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"17011:16:98","parameters":{"id":66551,"nodeType":"ParameterList","parameters":[],"src":"17027:2:98"},"returnParameters":{"id":66552,"nodeType":"ParameterList","parameters":[],"src":"17045:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":66572,"nodeType":"FunctionDefinition","src":"17097:136:98","nodes":[],"body":{"id":66571,"nodeType":"Block","src":"17157:76:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66564,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66183,"src":"17167:21:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":66565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17167:23:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66566,"nodeType":"ExpressionStatement","src":"17167:23:98"},{"expression":{"arguments":[{"id":66568,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66561,"src":"17218:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66567,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66608,"src":"17200:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17200:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66570,"nodeType":"ExpressionStatement","src":"17200:26:98"}]},"baseFunctions":[65509],"functionSelector":"6453d9c4","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"17106:16:98","parameters":{"id":66562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66561,"mutability":"mutable","name":"_member","nameLocation":"17131:7:98","nodeType":"VariableDeclaration","scope":66572,"src":"17123:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66560,"name":"address","nodeType":"ElementaryTypeName","src":"17123:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17122:17:98"},"returnParameters":{"id":66563,"nodeType":"ParameterList","parameters":[],"src":"17157:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66608,"nodeType":"FunctionDefinition","src":"17239:369:98","nodes":[],"body":{"id":66607,"nodeType":"Block","src":"17300:308:98","nodes":[],"statements":[{"expression":{"id":66587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66577,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65923,"src":"17310:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"arguments":[{"id":66581,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66574,"src":"17382:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66584,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17399:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":66583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17391:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66582,"name":"address","nodeType":"ElementaryTypeName","src":"17391:7:98","typeDescriptions":{}}},"id":66585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17391:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66578,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"17334:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17334:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17357:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72137,"src":"17334:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17334:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17310:95:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66588,"nodeType":"ExpressionStatement","src":"17310:95:98"},{"expression":{"arguments":[{"id":66592,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66574,"src":"17465:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66595,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17482:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":66594,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17474:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66593,"name":"address","nodeType":"ElementaryTypeName","src":"17474:7:98","typeDescriptions":{}}},"id":66596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17474:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66589,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"17415:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17415:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17438:26:98","memberName":"deactivateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":71827,"src":"17415:49:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":66597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17415:73:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66598,"nodeType":"ExpressionStatement","src":"17415:73:98"},{"expression":{"arguments":[{"id":66600,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66574,"src":"17552:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66599,"name":"withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67444,"src":"17543:8:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17543:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66602,"nodeType":"ExpressionStatement","src":"17543:17:98"},{"eventCall":{"arguments":[{"id":66604,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66574,"src":"17593:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66603,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65796,"src":"17575:17:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17575:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66606,"nodeType":"EmitStatement","src":"17570:31:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deactivatePoints","nameLocation":"17248:17:98","parameters":{"id":66575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66574,"mutability":"mutable","name":"_member","nameLocation":"17274:7:98","nodeType":"VariableDeclaration","scope":66608,"src":"17266:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66573,"name":"address","nodeType":"ElementaryTypeName","src":"17266:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17265:17:98"},"returnParameters":{"id":66576,"nodeType":"ParameterList","parameters":[],"src":"17300:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":66702,"nodeType":"FunctionDefinition","src":"17614:1070:98","nodes":[],"body":{"id":66701,"nodeType":"Block","src":"17713:971:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66617,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66183,"src":"17768:21:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":66618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17768:23:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66619,"nodeType":"ExpressionStatement","src":"17768:23:98"},{"condition":{"id":66623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17805:27:98","subExpression":{"arguments":[{"id":66621,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66610,"src":"17824:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66620,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66248,"src":"17806:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":66622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17806:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66628,"nodeType":"IfStatement","src":"17801:90:98","trueBody":{"id":66627,"nodeType":"Block","src":"17834:57:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66624,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65739,"src":"17855:23:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17855:25:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66626,"nodeType":"RevertStatement","src":"17848:32:98"}]}},{"assignments":[66630],"declarations":[{"constant":false,"id":66630,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"17908:16:98","nodeType":"VariableDeclaration","scope":66701,"src":"17900:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66629,"name":"uint256","nodeType":"ElementaryTypeName","src":"17900:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66632,"initialValue":{"hexValue":"30","id":66631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17927:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"17900:28:98"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"id":66637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66633,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65932,"src":"17942:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66634,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"17957:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":66635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17972:11:98","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65543,"src":"17957:26:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65543_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66636,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17984:9:98","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":65541,"src":"17957:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"src":"17942:51:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"id":66649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66645,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65932,"src":"18087:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66646,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"18102:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":66647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18117:11:98","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65543,"src":"18102:26:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65543_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66648,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18129:6:98","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":65540,"src":"18102:33:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"src":"18087:48:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"id":66662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66658,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65932,"src":"18235:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66659,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"18250:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":66660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18265:11:98","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65543,"src":"18250:26:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65543_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66661,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18277:9:98","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":65542,"src":"18250:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"src":"18235:51:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66671,"nodeType":"IfStatement","src":"18231:148:98","trueBody":{"id":66670,"nodeType":"Block","src":"18288:91:98","statements":[{"expression":{"id":66668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66663,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66630,"src":"18302:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66665,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66610,"src":"18344:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66666,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66612,"src":"18353:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66664,"name":"increasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66892,"src":"18321:22:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":66667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18321:47:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18302:66:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66669,"nodeType":"ExpressionStatement","src":"18302:66:98"}]}},"id":66672,"nodeType":"IfStatement","src":"18083:296:98","trueBody":{"id":66657,"nodeType":"Block","src":"18137:88:98","statements":[{"expression":{"id":66655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66650,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66630,"src":"18151:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66652,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66610,"src":"18190:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66653,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66612,"src":"18199:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66651,"name":"increasePowerCapped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66811,"src":"18170:19:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":66654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18170:44:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18151:63:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66656,"nodeType":"ExpressionStatement","src":"18151:63:98"}]}},"id":66673,"nodeType":"IfStatement","src":"17938:441:98","trueBody":{"id":66644,"nodeType":"Block","src":"17995:82:98","statements":[{"expression":{"id":66642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66638,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66630,"src":"18009:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66640,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66612,"src":"18051:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66639,"name":"increasePowerUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66768,"src":"18028:22:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18028:38:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18009:57:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66643,"nodeType":"ExpressionStatement","src":"18009:57:98"}]}},{"assignments":[66675],"declarations":[{"constant":false,"id":66675,"mutability":"mutable","name":"isActivated","nameLocation":"18393:11:98","nodeType":"VariableDeclaration","scope":66701,"src":"18388:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66674,"name":"bool","nodeType":"ElementaryTypeName","src":"18388:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":66685,"initialValue":{"arguments":[{"id":66679,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66610,"src":"18458:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66682,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18475:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":66681,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18467:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66680,"name":"address","nodeType":"ElementaryTypeName","src":"18467:7:98","typeDescriptions":{}}},"id":66683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18467:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66676,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"18407:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18407:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18430:27:98","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":71096,"src":"18407:50:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":66684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18407:74:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"18388:93:98"},{"condition":{"id":66686,"name":"isActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66675,"src":"18495:11:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66692,"nodeType":"IfStatement","src":"18491:82:98","trueBody":{"id":66691,"nodeType":"Block","src":"18508:65:98","statements":[{"expression":{"id":66689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66687,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65923,"src":"18522:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":66688,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66630,"src":"18546:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18522:40:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66690,"nodeType":"ExpressionStatement","src":"18522:40:98"}]}},{"eventCall":{"arguments":[{"id":66694,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66610,"src":"18602:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66695,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66612,"src":"18611:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66696,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66630,"src":"18627:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66693,"name":"PowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65804,"src":"18587:14:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":66697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18587:57:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66698,"nodeType":"EmitStatement","src":"18582:62:98"},{"expression":{"id":66699,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66630,"src":"18661:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66616,"id":66700,"nodeType":"Return","src":"18654:23:98"}]},"baseFunctions":[65518],"functionSelector":"782aadff","implemented":true,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"17623:13:98","parameters":{"id":66613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66610,"mutability":"mutable","name":"_member","nameLocation":"17645:7:98","nodeType":"VariableDeclaration","scope":66702,"src":"17637:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66609,"name":"address","nodeType":"ElementaryTypeName","src":"17637:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66612,"mutability":"mutable","name":"_amountToStake","nameLocation":"17662:14:98","nodeType":"VariableDeclaration","scope":66702,"src":"17654:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66611,"name":"uint256","nodeType":"ElementaryTypeName","src":"17654:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17636:41:98"},"returnParameters":{"id":66616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66615,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66702,"src":"17704:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66614,"name":"uint256","nodeType":"ElementaryTypeName","src":"17704:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17703:9:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66758,"nodeType":"FunctionDefinition","src":"18690:689:98","nodes":[],"body":{"id":66757,"nodeType":"Block","src":"18791:588:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66711,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66183,"src":"18801:21:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":66712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18801:23:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66713,"nodeType":"ExpressionStatement","src":"18801:23:98"},{"assignments":[66715],"declarations":[{"constant":false,"id":66715,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"18888:16:98","nodeType":"VariableDeclaration","scope":66757,"src":"18880:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66714,"name":"uint256","nodeType":"ElementaryTypeName","src":"18880:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66717,"initialValue":{"hexValue":"30","id":66716,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18907:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"18880:28:98"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":66728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"id":66722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66718,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65932,"src":"18922:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66719,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"18937:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":66720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18952:11:98","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65543,"src":"18937:26:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65543_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66721,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18964:9:98","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":65541,"src":"18937:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"src":"18922:51:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"id":66727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66723,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65932,"src":"18977:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66724,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"18992:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":66725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19007:11:98","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65543,"src":"18992:26:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65543_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66726,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19019:6:98","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":65540,"src":"18992:33:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"src":"18977:48:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18922:103:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":66743,"nodeType":"Block","src":"19123:93:98","statements":[{"expression":{"id":66741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66736,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66715,"src":"19137:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66738,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66704,"src":"19179:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66739,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66706,"src":"19188:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66737,"name":"decreasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66979,"src":"19156:22:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":66740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19156:49:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19137:68:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66742,"nodeType":"ExpressionStatement","src":"19137:68:98"}]},"id":66744,"nodeType":"IfStatement","src":"18918:298:98","trueBody":{"id":66735,"nodeType":"Block","src":"19027:90:98","statements":[{"expression":{"id":66733,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66729,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66715,"src":"19041:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66731,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66706,"src":"19089:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66730,"name":"decreasePowerCappedUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66902,"src":"19060:28:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19060:46:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19041:65:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66734,"nodeType":"ExpressionStatement","src":"19041:65:98"}]}},{"expression":{"id":66747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66745,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65923,"src":"19225:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":66746,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66715,"src":"19249:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19225:40:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66748,"nodeType":"ExpressionStatement","src":"19225:40:98"},{"eventCall":{"arguments":[{"id":66750,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66704,"src":"19295:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66751,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66706,"src":"19304:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66752,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66715,"src":"19322:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66749,"name":"PowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65812,"src":"19280:14:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":66753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19280:59:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66754,"nodeType":"EmitStatement","src":"19275:64:98"},{"expression":{"id":66755,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66715,"src":"19356:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66710,"id":66756,"nodeType":"Return","src":"19349:23:98"}]},"baseFunctions":[65527],"functionSelector":"2ed04b2b","implemented":true,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"18699:13:98","parameters":{"id":66707,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66704,"mutability":"mutable","name":"_member","nameLocation":"18721:7:98","nodeType":"VariableDeclaration","scope":66758,"src":"18713:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66703,"name":"address","nodeType":"ElementaryTypeName","src":"18713:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66706,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"18738:16:98","nodeType":"VariableDeclaration","scope":66758,"src":"18730:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66705,"name":"uint256","nodeType":"ElementaryTypeName","src":"18730:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18712:43:98"},"returnParameters":{"id":66710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66709,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66758,"src":"18782:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66708,"name":"uint256","nodeType":"ElementaryTypeName","src":"18782:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18781:9:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66768,"nodeType":"FunctionDefinition","src":"19385:134:98","nodes":[],"body":{"id":66767,"nodeType":"Block","src":"19481:38:98","nodes":[],"statements":[{"expression":{"id":66765,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66760,"src":"19498:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66764,"id":66766,"nodeType":"Return","src":"19491:21:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerUnlimited","nameLocation":"19394:22:98","parameters":{"id":66761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66760,"mutability":"mutable","name":"_amountToStake","nameLocation":"19425:14:98","nodeType":"VariableDeclaration","scope":66768,"src":"19417:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66759,"name":"uint256","nodeType":"ElementaryTypeName","src":"19417:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19416:24:98"},"returnParameters":{"id":66764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66763,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66768,"src":"19472:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66762,"name":"uint256","nodeType":"ElementaryTypeName","src":"19472:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19471:9:98"},"scope":69234,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":66811,"nodeType":"FunctionDefinition","src":"19525:637:98","nodes":[],"body":{"id":66810,"nodeType":"Block","src":"19635:527:98","nodes":[],"statements":[{"assignments":[66778],"declarations":[{"constant":false,"id":66778,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"19653:16:98","nodeType":"VariableDeclaration","scope":66810,"src":"19645:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66777,"name":"uint256","nodeType":"ElementaryTypeName","src":"19645:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66780,"initialValue":{"id":66779,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66772,"src":"19672:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19645:41:98"},{"assignments":[66782],"declarations":[{"constant":false,"id":66782,"mutability":"mutable","name":"memberPower","nameLocation":"19768:11:98","nodeType":"VariableDeclaration","scope":66810,"src":"19760:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66781,"name":"uint256","nodeType":"ElementaryTypeName","src":"19760:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66792,"initialValue":{"arguments":[{"id":66786,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66770,"src":"19830:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66789,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"19847:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":66788,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19839:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66787,"name":"address","nodeType":"ElementaryTypeName","src":"19839:7:98","typeDescriptions":{}}},"id":66790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19839:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66783,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"19782:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19782:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19805:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72137,"src":"19782:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19782:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19760:93:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66793,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66782,"src":"19919:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":66794,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66778,"src":"19933:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19919:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":66796,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65935,"src":"19952:11:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":66797,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19964:9:98","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65611,"src":"19952:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19919:54:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66807,"nodeType":"IfStatement","src":"19915:139:98","trueBody":{"id":66806,"nodeType":"Block","src":"19975:79:98","statements":[{"expression":{"id":66804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66799,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66778,"src":"19989:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66800,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65935,"src":"20008:11:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":66801,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20020:9:98","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65611,"src":"20008:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66802,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66782,"src":"20032:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20008:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19989:54:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66805,"nodeType":"ExpressionStatement","src":"19989:54:98"}]}},{"expression":{"id":66808,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66778,"src":"20139:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66776,"id":66809,"nodeType":"Return","src":"20132:23:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerCapped","nameLocation":"19534:19:98","parameters":{"id":66773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66770,"mutability":"mutable","name":"_member","nameLocation":"19562:7:98","nodeType":"VariableDeclaration","scope":66811,"src":"19554:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66769,"name":"address","nodeType":"ElementaryTypeName","src":"19554:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66772,"mutability":"mutable","name":"_amountToStake","nameLocation":"19579:14:98","nodeType":"VariableDeclaration","scope":66811,"src":"19571:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66771,"name":"uint256","nodeType":"ElementaryTypeName","src":"19571:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19553:41:98"},"returnParameters":{"id":66776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66775,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66811,"src":"19626:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66774,"name":"uint256","nodeType":"ElementaryTypeName","src":"19626:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19625:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66892,"nodeType":"FunctionDefinition","src":"20168:756:98","nodes":[],"body":{"id":66891,"nodeType":"Block","src":"20281:643:98","nodes":[],"statements":[{"assignments":[66821],"declarations":[{"constant":false,"id":66821,"mutability":"mutable","name":"totalStake","nameLocation":"20299:10:98","nodeType":"VariableDeclaration","scope":66891,"src":"20291:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66820,"name":"uint256","nodeType":"ElementaryTypeName","src":"20291:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66829,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66825,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66813,"src":"20357:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66822,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"20312:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20312:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20335:21:98","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":72150,"src":"20312:44:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":66826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20312:53:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":66827,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66815,"src":"20368:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20312:70:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20291:91:98"},{"assignments":[66831],"declarations":[{"constant":false,"id":66831,"mutability":"mutable","name":"decimal","nameLocation":"20401:7:98","nodeType":"VariableDeclaration","scope":66891,"src":"20393:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66830,"name":"uint256","nodeType":"ElementaryTypeName","src":"20393:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66833,"initialValue":{"hexValue":"3138","id":66832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20411:2:98","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"20393:20:98"},{"clauses":[{"block":{"id":66855,"nodeType":"Block","src":"20516:52:98","statements":[{"expression":{"id":66853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66848,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66831,"src":"20530:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66851,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66846,"src":"20548:8:98","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":66850,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20540:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66849,"name":"uint256","nodeType":"ElementaryTypeName","src":"20540:7:98","typeDescriptions":{}}},"id":66852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20540:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20530:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66854,"nodeType":"ExpressionStatement","src":"20530:27:98"}]},"errorName":"","id":66856,"nodeType":"TryCatchClause","parameters":{"id":66847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66846,"mutability":"mutable","name":"_decimal","nameLocation":"20506:8:98","nodeType":"VariableDeclaration","scope":66856,"src":"20500:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":66845,"name":"uint8","nodeType":"ElementaryTypeName","src":"20500:5:98","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"20499:16:98"},"src":"20491:77:98"},{"block":{"id":66857,"nodeType":"Block","src":"20575:64:98","statements":[]},"errorName":"","id":66858,"nodeType":"TryCatchClause","src":"20569:70:98"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66837,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"20441:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20441:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20464:11:98","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":71051,"src":"20441:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$56528_$","typeString":"function () view external returns (contract IERC20)"}},"id":66840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20441:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}],"id":66836,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20433:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66835,"name":"address","nodeType":"ElementaryTypeName","src":"20433:7:98","typeDescriptions":{}}},"id":66841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20433:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66834,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56450,"src":"20427:5:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56450_$","typeString":"type(contract ERC20)"}},"id":66842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20427:52:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56450","typeString":"contract ERC20"}},"id":66843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20480:8:98","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":55938,"src":"20427:61:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":66844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20427:63:98","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":66859,"nodeType":"TryStatement","src":"20423:216:98"},{"assignments":[66861],"declarations":[{"constant":false,"id":66861,"mutability":"mutable","name":"newTotalPoints","nameLocation":"20656:14:98","nodeType":"VariableDeclaration","scope":66891,"src":"20648:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66860,"name":"uint256","nodeType":"ElementaryTypeName","src":"20648:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66870,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66864,"name":"totalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66821,"src":"20683:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":66865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20696:2:98","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":66866,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66831,"src":"20702:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20696:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20683:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66862,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58797,"src":"20673:4:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58797_$","typeString":"type(library Math)"}},"id":66863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20678:4:98","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58301,"src":"20673:9:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20673:37:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20648:62:98"},{"assignments":[66872],"declarations":[{"constant":false,"id":66872,"mutability":"mutable","name":"currentPoints","nameLocation":"20728:13:98","nodeType":"VariableDeclaration","scope":66891,"src":"20720:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66871,"name":"uint256","nodeType":"ElementaryTypeName","src":"20720:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66882,"initialValue":{"arguments":[{"id":66876,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66813,"src":"20792:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66879,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"20809:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":66878,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20801:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66877,"name":"address","nodeType":"ElementaryTypeName","src":"20801:7:98","typeDescriptions":{}}},"id":66880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20801:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66873,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"20744:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20744:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20767:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72137,"src":"20744:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20744:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20720:95:98"},{"assignments":[66884],"declarations":[{"constant":false,"id":66884,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"20834:16:98","nodeType":"VariableDeclaration","scope":66891,"src":"20826:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66883,"name":"uint256","nodeType":"ElementaryTypeName","src":"20826:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66888,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66885,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66861,"src":"20853:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66886,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66872,"src":"20870:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20853:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20826:57:98"},{"expression":{"id":66889,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66884,"src":"20901:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66819,"id":66890,"nodeType":"Return","src":"20894:23:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerQuadratic","nameLocation":"20177:22:98","parameters":{"id":66816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66813,"mutability":"mutable","name":"_member","nameLocation":"20208:7:98","nodeType":"VariableDeclaration","scope":66892,"src":"20200:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66812,"name":"address","nodeType":"ElementaryTypeName","src":"20200:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66815,"mutability":"mutable","name":"_amountToStake","nameLocation":"20225:14:98","nodeType":"VariableDeclaration","scope":66892,"src":"20217:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66814,"name":"uint256","nodeType":"ElementaryTypeName","src":"20217:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20199:41:98"},"returnParameters":{"id":66819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66818,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66892,"src":"20272:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66817,"name":"uint256","nodeType":"ElementaryTypeName","src":"20272:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20271:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66902,"nodeType":"FunctionDefinition","src":"20930:144:98","nodes":[],"body":{"id":66901,"nodeType":"Block","src":"21034:40:98","nodes":[],"statements":[{"expression":{"id":66899,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66894,"src":"21051:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66898,"id":66900,"nodeType":"Return","src":"21044:23:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerCappedUnlimited","nameLocation":"20939:28:98","parameters":{"id":66895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66894,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20976:16:98","nodeType":"VariableDeclaration","scope":66902,"src":"20968:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66893,"name":"uint256","nodeType":"ElementaryTypeName","src":"20968:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20967:26:98"},"returnParameters":{"id":66898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66897,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66902,"src":"21025:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66896,"name":"uint256","nodeType":"ElementaryTypeName","src":"21025:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21024:9:98"},"scope":69234,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":66979,"nodeType":"FunctionDefinition","src":"21080:882:98","nodes":[],"body":{"id":66978,"nodeType":"Block","src":"21231:731:98","nodes":[],"statements":[{"assignments":[66912],"declarations":[{"constant":false,"id":66912,"mutability":"mutable","name":"decimal","nameLocation":"21249:7:98","nodeType":"VariableDeclaration","scope":66978,"src":"21241:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66911,"name":"uint256","nodeType":"ElementaryTypeName","src":"21241:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66914,"initialValue":{"hexValue":"3138","id":66913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21259:2:98","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"21241:20:98"},{"clauses":[{"block":{"id":66936,"nodeType":"Block","src":"21364:52:98","statements":[{"expression":{"id":66934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66929,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66912,"src":"21378:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66932,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"21396:8:98","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":66931,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21388:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66930,"name":"uint256","nodeType":"ElementaryTypeName","src":"21388:7:98","typeDescriptions":{}}},"id":66933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21388:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21378:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66935,"nodeType":"ExpressionStatement","src":"21378:27:98"}]},"errorName":"","id":66937,"nodeType":"TryCatchClause","parameters":{"id":66928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66927,"mutability":"mutable","name":"_decimal","nameLocation":"21354:8:98","nodeType":"VariableDeclaration","scope":66937,"src":"21348:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":66926,"name":"uint8","nodeType":"ElementaryTypeName","src":"21348:5:98","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"21347:16:98"},"src":"21339:77:98"},{"block":{"id":66938,"nodeType":"Block","src":"21423:64:98","statements":[]},"errorName":"","id":66939,"nodeType":"TryCatchClause","src":"21417:70:98"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66918,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"21289:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21289:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21312:11:98","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":71051,"src":"21289:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$56528_$","typeString":"function () view external returns (contract IERC20)"}},"id":66921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21289:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}],"id":66917,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21281:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66916,"name":"address","nodeType":"ElementaryTypeName","src":"21281:7:98","typeDescriptions":{}}},"id":66922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21281:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66915,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56450,"src":"21275:5:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56450_$","typeString":"type(contract ERC20)"}},"id":66923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21275:52:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56450","typeString":"contract ERC20"}},"id":66924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21328:8:98","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":55938,"src":"21275:61:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":66925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21275:63:98","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":66940,"nodeType":"TryStatement","src":"21271:216:98"},{"assignments":[66942],"declarations":[{"constant":false,"id":66942,"mutability":"mutable","name":"newTotalStake","nameLocation":"21566:13:98","nodeType":"VariableDeclaration","scope":66978,"src":"21558:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66941,"name":"uint256","nodeType":"ElementaryTypeName","src":"21558:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66950,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66946,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66904,"src":"21627:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66943,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"21582:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21582:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21605:21:98","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":72150,"src":"21582:44:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":66947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21582:53:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66948,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66906,"src":"21638:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21582:72:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21558:96:98"},{"assignments":[66952],"declarations":[{"constant":false,"id":66952,"mutability":"mutable","name":"newTotalPoints","nameLocation":"21728:14:98","nodeType":"VariableDeclaration","scope":66978,"src":"21720:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66951,"name":"uint256","nodeType":"ElementaryTypeName","src":"21720:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66961,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66955,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66942,"src":"21755:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":66956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21771:2:98","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":66957,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66912,"src":"21777:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21771:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21755:29:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66953,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58797,"src":"21745:4:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58797_$","typeString":"type(library Math)"}},"id":66954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21750:4:98","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58301,"src":"21745:9:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21745:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21720:65:98"},{"assignments":[66963],"declarations":[{"constant":false,"id":66963,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"21803:16:98","nodeType":"VariableDeclaration","scope":66978,"src":"21795:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66962,"name":"uint256","nodeType":"ElementaryTypeName","src":"21795:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66975,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66967,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66904,"src":"21882:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66970,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21899:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":66969,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21891:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66968,"name":"address","nodeType":"ElementaryTypeName","src":"21891:7:98","typeDescriptions":{}}},"id":66971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21891:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66964,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"21834:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21834:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21857:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72137,"src":"21834:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21834:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66973,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66952,"src":"21908:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21834:88:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21795:127:98"},{"expression":{"id":66976,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66963,"src":"21939:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66910,"id":66977,"nodeType":"Return","src":"21932:23:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerQuadratic","nameLocation":"21089:22:98","parameters":{"id":66907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66904,"mutability":"mutable","name":"_member","nameLocation":"21120:7:98","nodeType":"VariableDeclaration","scope":66979,"src":"21112:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66903,"name":"address","nodeType":"ElementaryTypeName","src":"21112:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66906,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"21137:16:98","nodeType":"VariableDeclaration","scope":66979,"src":"21129:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66905,"name":"uint256","nodeType":"ElementaryTypeName","src":"21129:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21111:43:98"},"returnParameters":{"id":66910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66909,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66979,"src":"21218:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66908,"name":"uint256","nodeType":"ElementaryTypeName","src":"21218:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21217:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66988,"nodeType":"FunctionDefinition","src":"21968:107:98","nodes":[],"body":{"id":66987,"nodeType":"Block","src":"22030:45:98","nodes":[],"statements":[{"expression":{"expression":{"id":66984,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65935,"src":"22047:11:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":66985,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22059:9:98","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65611,"src":"22047:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66983,"id":66986,"nodeType":"Return","src":"22040:28:98"}]},"functionSelector":"0ba95909","implemented":true,"kind":"function","modifiers":[],"name":"getMaxAmount","nameLocation":"21977:12:98","parameters":{"id":66980,"nodeType":"ParameterList","parameters":[],"src":"21989:2:98"},"returnParameters":{"id":66983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66982,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66988,"src":"22021:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66981,"name":"uint256","nodeType":"ElementaryTypeName","src":"22021:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22020:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":66997,"nodeType":"FunctionDefinition","src":"22081:118:98","nodes":[],"body":{"id":66996,"nodeType":"Block","src":"22164:35:98","nodes":[],"statements":[{"expression":{"id":66994,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65932,"src":"22181:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"functionReturnParameters":66993,"id":66995,"nodeType":"Return","src":"22174:18:98"}]},"baseFunctions":[65533],"functionSelector":"c3292171","implemented":true,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"22090:14:98","parameters":{"id":66989,"nodeType":"ParameterList","parameters":[],"src":"22104:2:98"},"returnParameters":{"id":66993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66992,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66997,"src":"22136:26:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":66991,"nodeType":"UserDefinedTypeName","pathNode":{"id":66990,"name":"StrategyStruct.PointSystem","nameLocations":["22136:14:98","22151:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":65543,"src":"22136:26:98"},"referencedDeclaration":65543,"src":"22136:26:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"22135:28:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":67063,"nodeType":"FunctionDefinition","src":"22705:663:98","nodes":[],"body":{"id":67062,"nodeType":"Block","src":"22787:581:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":67006,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67001,"src":"22817:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67005,"name":"checkSenderIsMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66167,"src":"22797:19:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":67007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22797:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67008,"nodeType":"ExpressionStatement","src":"22797:28:98"},{"condition":{"id":67012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22839:27:98","subExpression":{"arguments":[{"id":67010,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67001,"src":"22858:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67009,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66248,"src":"22840:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":67011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22840:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67017,"nodeType":"IfStatement","src":"22835:90:98","trueBody":{"id":67016,"nodeType":"Block","src":"22868:57:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67013,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65739,"src":"22889:23:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22889:25:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67015,"nodeType":"RevertStatement","src":"22882:32:98"}]}},{"assignments":[67019],"declarations":[{"constant":false,"id":67019,"mutability":"mutable","name":"isMemberActivatedPoints","nameLocation":"22985:23:98","nodeType":"VariableDeclaration","scope":67062,"src":"22980:28:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67018,"name":"bool","nodeType":"ElementaryTypeName","src":"22980:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":67029,"initialValue":{"arguments":[{"id":67023,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67001,"src":"23062:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67026,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"23079:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":67025,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23071:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67024,"name":"address","nodeType":"ElementaryTypeName","src":"23071:7:98","typeDescriptions":{}}},"id":67027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23071:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":67020,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"23011:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":67021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23011:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":67022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23034:27:98","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":71096,"src":"23011:50:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":67028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23011:74:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"22980:105:98"},{"condition":{"id":67031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"23099:24:98","subExpression":{"id":67030,"name":"isMemberActivatedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67019,"src":"23100:23:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67036,"nodeType":"IfStatement","src":"23095:78:98","trueBody":{"id":67035,"nodeType":"Block","src":"23125:48:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67032,"name":"UserIsInactive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65671,"src":"23146:14:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23146:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67034,"nodeType":"RevertStatement","src":"23139:23:98"}]}},{"assignments":[67042],"declarations":[{"constant":false,"id":67042,"mutability":"mutable","name":"pv","nameLocation":"23222:2:98","nodeType":"VariableDeclaration","scope":67062,"src":"23182:42:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":67040,"nodeType":"UserDefinedTypeName","pathNode":{"id":67039,"name":"StrategyStruct.ProposalSupport","nameLocations":["23182:14:98","23197:15:98"],"nodeType":"IdentifierPath","referencedDeclaration":65609,"src":"23182:30:98"},"referencedDeclaration":65609,"src":"23182:30:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65609_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":67041,"nodeType":"ArrayTypeName","src":"23182:32:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"id":67051,"initialValue":{"arguments":[{"id":67045,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66999,"src":"23238:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"expression":{"id":67046,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"23246:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":67047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23261:15:98","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":65609,"src":"23246:30:98","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$65609_storage_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport storage pointer)"}},"id":67048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23246:32:98","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"id":67049,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"23245:34:98","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}],"expression":{"id":67043,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23227:3:98","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23231:6:98","memberName":"decode","nodeType":"MemberAccess","src":"23227:10:98","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":67050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23227:53:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"23182:98:98"},{"expression":{"arguments":[{"id":67053,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67001,"src":"23315:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67054,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67042,"src":"23324:2:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":67052,"name":"_check_before_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67796,"src":"23290:24:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":67055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23290:37:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67056,"nodeType":"ExpressionStatement","src":"23290:37:98"},{"expression":{"arguments":[{"id":67058,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67001,"src":"23349:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67059,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67042,"src":"23358:2:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":67057,"name":"_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68083,"src":"23337:11:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":67060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23337:24:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67061,"nodeType":"ExpressionStatement","src":"23337:24:98"}]},"baseFunctions":[65365],"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"22714:9:98","overrides":{"id":67003,"nodeType":"OverrideSpecifier","overrides":[],"src":"22778:8:98"},"parameters":{"id":67002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66999,"mutability":"mutable","name":"_data","nameLocation":"22737:5:98","nodeType":"VariableDeclaration","scope":67063,"src":"22724:18:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66998,"name":"bytes","nodeType":"ElementaryTypeName","src":"22724:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":67001,"mutability":"mutable","name":"_sender","nameLocation":"22752:7:98","nodeType":"VariableDeclaration","scope":67063,"src":"22744:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67000,"name":"address","nodeType":"ElementaryTypeName","src":"22744:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22723:37:98"},"returnParameters":{"id":67004,"nodeType":"ParameterList","parameters":[],"src":"22787:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67231,"nodeType":"FunctionDefinition","src":"23624:1933:98","nodes":[],"body":{"id":67230,"nodeType":"Block","src":"23718:1839:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67074,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67068,"src":"23777:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":67075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23783:6:98","memberName":"length","nodeType":"MemberAccess","src":"23777:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":67076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23793:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23777:17:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67082,"nodeType":"IfStatement","src":"23773:76:98","trueBody":{"id":67081,"nodeType":"Block","src":"23796:53:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67078,"name":"ProposalDataIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65707,"src":"23817:19:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23817:21:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67080,"nodeType":"RevertStatement","src":"23810:28:98"}]}},{"assignments":[67084],"declarations":[{"constant":false,"id":67084,"mutability":"mutable","name":"proposalId","nameLocation":"23867:10:98","nodeType":"VariableDeclaration","scope":67230,"src":"23859:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67083,"name":"uint256","nodeType":"ElementaryTypeName","src":"23859:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67092,"initialValue":{"arguments":[{"id":67087,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67068,"src":"23891:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":67089,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23899:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67088,"name":"uint256","nodeType":"ElementaryTypeName","src":"23899:7:98","typeDescriptions":{}}}],"id":67090,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"23898:9:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":67085,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23880:3:98","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67086,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23884:6:98","memberName":"decode","nodeType":"MemberAccess","src":"23880:10:98","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":67091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23880:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23859:49:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67093,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"23923:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23937:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23923:15:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67100,"nodeType":"IfStatement","src":"23919:77:98","trueBody":{"id":67099,"nodeType":"Block","src":"23940:56:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67096,"name":"ProposalIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65709,"src":"23961:22:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23961:24:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67098,"nodeType":"RevertStatement","src":"23954:31:98"}]}},{"assignments":[67105],"declarations":[{"constant":false,"id":67105,"mutability":"mutable","name":"proposal","nameLocation":"24037:8:98","nodeType":"VariableDeclaration","scope":67230,"src":"24005:40:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67104,"nodeType":"UserDefinedTypeName","pathNode":{"id":67103,"name":"StrategyStruct.Proposal","nameLocations":["24005:14:98","24020:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"24005:23:98"},"referencedDeclaration":65604,"src":"24005:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67109,"initialValue":{"baseExpression":{"id":67106,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"24048:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67108,"indexExpression":{"id":67107,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"24058:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24048:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24005:64:98"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"},"id":67114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67110,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65929,"src":"24084:12:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":67111,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"24100:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":67112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24115:12:98","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":65538,"src":"24100:27:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$65538_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":67113,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24128:7:98","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":65536,"src":"24100:35:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"src":"24084:51:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67229,"nodeType":"IfStatement","src":"24080:1411:98","trueBody":{"id":67228,"nodeType":"Block","src":"24137:1354:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67115,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"24155:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67116,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24164:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65572,"src":"24155:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":67117,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"24178:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24155:33:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67124,"nodeType":"IfStatement","src":"24151:108:98","trueBody":{"id":67123,"nodeType":"Block","src":"24190:69:98","statements":[{"errorCall":{"arguments":[{"id":67120,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"24233:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67119,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65717,"src":"24215:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":67121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24215:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67122,"nodeType":"RevertStatement","src":"24208:36:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67125,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"24277:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67126,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24286:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"24277:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":67127,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"24304:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24277:37:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67137,"nodeType":"IfStatement","src":"24273:152:98","trueBody":{"id":67136,"nodeType":"Block","src":"24316:109:98","statements":[{"errorCall":{"arguments":[{"id":67130,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"24361:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67131,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"24373:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67132,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24382:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"24373:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67133,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"24399:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67129,"name":"PoolAmountNotEnough","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65735,"src":"24341:19:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":67134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24341:69:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67135,"nodeType":"RevertStatement","src":"24334:76:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"},"id":67143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67138,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"24443:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67139,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24452:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"24443:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":67140,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"24470:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":67141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24485:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"24470:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":67142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24500:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65557,"src":"24470:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"24443:63:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67149,"nodeType":"IfStatement","src":"24439:138:98","trueBody":{"id":67148,"nodeType":"Block","src":"24508:69:98","statements":[{"errorCall":{"arguments":[{"id":67145,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"24551:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67144,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65713,"src":"24533:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":67146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24533:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67147,"nodeType":"RevertStatement","src":"24526:36:98"}]}},{"assignments":[67151],"declarations":[{"constant":false,"id":67151,"mutability":"mutable","name":"convictionLast","nameLocation":"24599:14:98","nodeType":"VariableDeclaration","scope":67228,"src":"24591:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67150,"name":"uint256","nodeType":"ElementaryTypeName","src":"24591:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67155,"initialValue":{"arguments":[{"id":67153,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"24641:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67152,"name":"updateProposalConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68653,"src":"24616:24:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) returns (uint256)"}},"id":67154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24616:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24591:61:98"},{"assignments":[67157],"declarations":[{"constant":false,"id":67157,"mutability":"mutable","name":"threshold","nameLocation":"24674:9:98","nodeType":"VariableDeclaration","scope":67228,"src":"24666:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67156,"name":"uint256","nodeType":"ElementaryTypeName","src":"24666:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67162,"initialValue":{"arguments":[{"expression":{"id":67159,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"24705:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67160,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24714:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"24705:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67158,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68269,"src":"24686:18:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":67161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24686:44:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24666:64:98"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67163,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67151,"src":"24749:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":67164,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67157,"src":"24766:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24749:26:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67166,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"24779:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67167,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24788:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"24779:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":67168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24806:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"24779:28:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24749:58:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67175,"nodeType":"IfStatement","src":"24745:137:98","trueBody":{"id":67174,"nodeType":"Block","src":"24809:73:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67171,"name":"ConvictionUnderMinimumThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65725,"src":"24834:31:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24834:33:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67173,"nodeType":"RevertStatement","src":"24827:40:98"}]}},{"assignments":[67180],"declarations":[{"constant":false,"id":67180,"mutability":"mutable","name":"pool","nameLocation":"24914:4:98","nodeType":"VariableDeclaration","scope":67228,"src":"24896:22:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":67179,"nodeType":"UserDefinedTypeName","pathNode":{"id":67178,"name":"IAllo.Pool","nameLocations":["24896:5:98","24902:4:98"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"24896:10:98"},"referencedDeclaration":2319,"src":"24896:10:98","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":67185,"initialValue":{"arguments":[{"id":67183,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"24934:6:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67181,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64873,"src":"24921:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":67182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24926:7:98","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"24921:12:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":67184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24921:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"24896:45:98"},{"expression":{"id":67189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67186,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"24956:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"expression":{"id":67187,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"24970:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67188,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24979:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"24970:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24956:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67190,"nodeType":"ExpressionStatement","src":"24956:38:98"},{"expression":{"arguments":[{"expression":{"id":67192,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67180,"src":"25032:4:98","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":67193,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25037:5:98","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"25032:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67194,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"25044:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67195,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25053:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65580,"src":"25044:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67196,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"25066:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67197,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25075:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"25066:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67191,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"25016:15:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":67198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25016:75:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67199,"nodeType":"ExpressionStatement","src":"25016:75:98"},{"expression":{"id":67206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67200,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"25106:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67202,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"25115:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"25106:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":67203,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"25132:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":67204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25147:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"25132:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":67205,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25162:8:98","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":65560,"src":"25132:38:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"25106:64:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"id":67207,"nodeType":"ExpressionStatement","src":"25106:64:98"},{"expression":{"arguments":[{"id":67211,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"25236:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67212,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"25264:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67213,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25273:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"25264:18:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":67214,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"25300:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67216,"indexExpression":{"id":67215,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"25318:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25300:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67217,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25350:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"25300:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67208,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"25184:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":67210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25200:18:98","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74065,"src":"25184:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":67218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25184:205:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67219,"nodeType":"ExpressionStatement","src":"25184:205:98"},{"eventCall":{"arguments":[{"id":67221,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"25421:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67222,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"25433:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67223,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25442:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65580,"src":"25433:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67224,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"25455:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67225,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25464:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"25455:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67220,"name":"Distributed","nodeType":"Identifier","overloadedDeclarations":[65782,2858],"referencedDeclaration":65782,"src":"25409:11:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":67226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25409:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67227,"nodeType":"EmitStatement","src":"25404:76:98"}]}}]},"baseFunctions":[65376],"implemented":true,"kind":"function","modifiers":[],"name":"_distribute","nameLocation":"23633:11:98","overrides":{"id":67072,"nodeType":"OverrideSpecifier","overrides":[],"src":"23709:8:98"},"parameters":{"id":67071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67066,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67231,"src":"23645:16:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":67064,"name":"address","nodeType":"ElementaryTypeName","src":"23645:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67065,"nodeType":"ArrayTypeName","src":"23645:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":67068,"mutability":"mutable","name":"_data","nameLocation":"23676:5:98","nodeType":"VariableDeclaration","scope":67231,"src":"23663:18:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67067,"name":"bytes","nodeType":"ElementaryTypeName","src":"23663:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":67070,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67231,"src":"23683:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67069,"name":"address","nodeType":"ElementaryTypeName","src":"23683:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23644:47:98"},"returnParameters":{"id":67073,"nodeType":"ParameterList","parameters":[],"src":"23718:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67285,"nodeType":"FunctionDefinition","src":"25563:743:98","nodes":[],"body":{"id":67284,"nodeType":"Block","src":"25660:646:98","nodes":[],"statements":[{"assignments":[67242],"declarations":[{"constant":false,"id":67242,"mutability":"mutable","name":"proposal","nameLocation":"25702:8:98","nodeType":"VariableDeclaration","scope":67284,"src":"25670:40:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67241,"nodeType":"UserDefinedTypeName","pathNode":{"id":67240,"name":"StrategyStruct.Proposal","nameLocations":["25670:14:98","25685:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"25670:23:98"},"referencedDeclaration":65604,"src":"25670:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67246,"initialValue":{"baseExpression":{"id":67243,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"25713:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67245,"indexExpression":{"id":67244,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67233,"src":"25723:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25713:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25670:64:98"},{"assignments":[67248,67250],"declarations":[{"constant":false,"id":67248,"mutability":"mutable","name":"convictionLast","nameLocation":"25828:14:98","nodeType":"VariableDeclaration","scope":67284,"src":"25820:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67247,"name":"uint256","nodeType":"ElementaryTypeName","src":"25820:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67250,"mutability":"mutable","name":"blockNumber","nameLocation":"25852:11:98","nodeType":"VariableDeclaration","scope":67284,"src":"25844:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67249,"name":"uint256","nodeType":"ElementaryTypeName","src":"25844:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67256,"initialValue":{"arguments":[{"id":67252,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67242,"src":"25913:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":67253,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67242,"src":"25923:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67254,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25932:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"25923:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67251,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68465,"src":"25879:33:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$65604_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":67255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25879:66:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"25819:126:98"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67257,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67248,"src":"25960:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25978:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25960:19:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67260,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67250,"src":"25983:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25998:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25983:16:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25960:39:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67270,"nodeType":"IfStatement","src":"25956:110:98","trueBody":{"id":67269,"nodeType":"Block","src":"26001:65:98","statements":[{"expression":{"id":67267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67264,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67248,"src":"26015:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67265,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67242,"src":"26032:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67266,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26041:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"26032:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26015:40:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67268,"nodeType":"ExpressionStatement","src":"26015:40:98"}]}},{"assignments":[67272],"declarations":[{"constant":false,"id":67272,"mutability":"mutable","name":"threshold","nameLocation":"26083:9:98","nodeType":"VariableDeclaration","scope":67284,"src":"26075:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67271,"name":"uint256","nodeType":"ElementaryTypeName","src":"26075:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67277,"initialValue":{"arguments":[{"expression":{"id":67274,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67242,"src":"26114:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67275,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26123:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"26114:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67273,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68269,"src":"26095:18:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":67276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26095:44:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26075:64:98"},{"expression":{"id":67282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67278,"name":"canBeExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67236,"src":"26256:13:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67279,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67248,"src":"26272:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":67280,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67272,"src":"26290:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26272:27:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"26256:43:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67283,"nodeType":"ExpressionStatement","src":"26256:43:98"}]},"functionSelector":"824ea8ed","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteProposal","nameLocation":"25572:18:98","parameters":{"id":67234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67233,"mutability":"mutable","name":"proposalId","nameLocation":"25599:10:98","nodeType":"VariableDeclaration","scope":67285,"src":"25591:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67232,"name":"uint256","nodeType":"ElementaryTypeName","src":"25591:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25590:20:98"},"returnParameters":{"id":67237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67236,"mutability":"mutable","name":"canBeExecuted","nameLocation":"25645:13:98","nodeType":"VariableDeclaration","scope":67285,"src":"25640:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67235,"name":"bool","nodeType":"ElementaryTypeName","src":"25640:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25639:20:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":67295,"nodeType":"FunctionDefinition","src":"26596:231:98","nodes":[],"body":{"id":67294,"nodeType":"Block","src":"26695:132:98","nodes":[],"statements":[]},"baseFunctions":[65396],"implemented":true,"kind":"function","modifiers":[],"name":"_getRecipientStatus","nameLocation":"26605:19:98","overrides":{"id":67289,"nodeType":"OverrideSpecifier","overrides":[],"src":"26669:8:98"},"parameters":{"id":67288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67287,"mutability":"mutable","name":"_recipientId","nameLocation":"26633:12:98","nodeType":"VariableDeclaration","scope":67295,"src":"26625:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67286,"name":"address","nodeType":"ElementaryTypeName","src":"26625:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26624:22:98"},"returnParameters":{"id":67293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67292,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67295,"src":"26687:6:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"},"typeName":{"id":67291,"nodeType":"UserDefinedTypeName","pathNode":{"id":67290,"name":"Status","nameLocations":["26687:6:98"],"nodeType":"IdentifierPath","referencedDeclaration":2815,"src":"26687:6:98"},"referencedDeclaration":2815,"src":"26687:6:98","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"visibility":"internal"}],"src":"26686:8:98"},"scope":69234,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67314,"nodeType":"FunctionDefinition","src":"26956:287:98","nodes":[],"body":{"id":67313,"nodeType":"Block","src":"27066:177:98","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67310,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65675,"src":"27220:14:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27220:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67312,"nodeType":"RevertStatement","src":"27213:23:98"}]},"baseFunctions":[65235],"documentation":{"id":67296,"nodeType":"StructuredDocumentation","src":"26833:118:98","text":"@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive"},"functionSelector":"b2b878d0","implemented":true,"kind":"function","modifiers":[],"name":"getPayouts","nameLocation":"26965:10:98","overrides":{"id":67304,"nodeType":"OverrideSpecifier","overrides":[],"src":"27024:8:98"},"parameters":{"id":67303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67299,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67314,"src":"26976:16:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":67297,"name":"address","nodeType":"ElementaryTypeName","src":"26976:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67298,"nodeType":"ArrayTypeName","src":"26976:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":67302,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67314,"src":"26994:14:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":67300,"name":"bytes","nodeType":"ElementaryTypeName","src":"26994:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":67301,"nodeType":"ArrayTypeName","src":"26994:7:98","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"26975:34:98"},"returnParameters":{"id":67309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67308,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67314,"src":"27042:22:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr","typeString":"struct IStrategy.PayoutSummary[]"},"typeName":{"baseType":{"id":67306,"nodeType":"UserDefinedTypeName","pathNode":{"id":67305,"name":"PayoutSummary","nameLocations":["27042:13:98"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"27042:13:98"},"referencedDeclaration":2820,"src":"27042:13:98","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"id":67307,"nodeType":"ArrayTypeName","src":"27042:15:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr","typeString":"struct IStrategy.PayoutSummary[]"}},"visibility":"internal"}],"src":"27041:24:98"},"scope":69234,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":67326,"nodeType":"FunctionDefinition","src":"27249:286:98","nodes":[],"body":{"id":67325,"nodeType":"Block","src":"27417:118:98","nodes":[],"statements":[]},"baseFunctions":[65387],"implemented":true,"kind":"function","modifiers":[],"name":"_getPayout","nameLocation":"27258:10:98","overrides":{"id":67320,"nodeType":"OverrideSpecifier","overrides":[],"src":"27365:8:98"},"parameters":{"id":67319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67316,"mutability":"mutable","name":"_recipientId","nameLocation":"27277:12:98","nodeType":"VariableDeclaration","scope":67326,"src":"27269:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67315,"name":"address","nodeType":"ElementaryTypeName","src":"27269:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67318,"mutability":"mutable","name":"_data","nameLocation":"27304:5:98","nodeType":"VariableDeclaration","scope":67326,"src":"27291:18:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67317,"name":"bytes","nodeType":"ElementaryTypeName","src":"27291:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"27268:42:98"},"returnParameters":{"id":67324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67323,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67326,"src":"27391:20:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary"},"typeName":{"id":67322,"nodeType":"UserDefinedTypeName","pathNode":{"id":67321,"name":"PayoutSummary","nameLocations":["27391:13:98"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"27391:13:98"},"referencedDeclaration":2820,"src":"27391:13:98","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"visibility":"internal"}],"src":"27390:22:98"},"scope":69234,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67337,"nodeType":"FunctionDefinition","src":"27541:127:98","nodes":[],"body":{"id":67336,"nodeType":"Block","src":"27618:50:98","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":67333,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67328,"src":"27653:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67332,"name":"PoolAmountIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65792,"src":"27633:19:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":67334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27633:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67335,"nodeType":"EmitStatement","src":"27628:33:98"}]},"baseFunctions":[65410],"implemented":true,"kind":"function","modifiers":[],"name":"_afterIncreasePoolAmount","nameLocation":"27550:24:98","overrides":{"id":67330,"nodeType":"OverrideSpecifier","overrides":[],"src":"27609:8:98"},"parameters":{"id":67329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67328,"mutability":"mutable","name":"_amount","nameLocation":"27583:7:98","nodeType":"VariableDeclaration","scope":67337,"src":"27575:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67327,"name":"uint256","nodeType":"ElementaryTypeName","src":"27575:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27574:17:98"},"returnParameters":{"id":67331,"nodeType":"ParameterList","parameters":[],"src":"27618:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67346,"nodeType":"FunctionDefinition","src":"27763:143:98","nodes":[],"body":{"id":67345,"nodeType":"Block","src":"27856:50:98","nodes":[],"statements":[]},"baseFunctions":[65347],"implemented":true,"kind":"function","modifiers":[],"name":"_isValidAllocator","nameLocation":"27772:17:98","overrides":{"id":67341,"nodeType":"OverrideSpecifier","overrides":[],"src":"27832:8:98"},"parameters":{"id":67340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67339,"mutability":"mutable","name":"_allocator","nameLocation":"27798:10:98","nodeType":"VariableDeclaration","scope":67346,"src":"27790:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67338,"name":"address","nodeType":"ElementaryTypeName","src":"27790:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27789:20:98"},"returnParameters":{"id":67344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67343,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67346,"src":"27850:4:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67342,"name":"bool","nodeType":"ElementaryTypeName","src":"27850:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27849:6:98"},"scope":69234,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67356,"nodeType":"FunctionDefinition","src":"27912:86:98","nodes":[],"body":{"id":67355,"nodeType":"Block","src":"27958:40:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":67352,"name":"_active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67348,"src":"27983:7:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":67351,"name":"_setPoolActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65330,"src":"27968:14:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":67353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27968:23:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67354,"nodeType":"ExpressionStatement","src":"27968:23:98"}]},"functionSelector":"b5f620ce","implemented":true,"kind":"function","modifiers":[],"name":"setPoolActive","nameLocation":"27921:13:98","parameters":{"id":67349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67348,"mutability":"mutable","name":"_active","nameLocation":"27940:7:98","nodeType":"VariableDeclaration","scope":67356,"src":"27935:12:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67347,"name":"bool","nodeType":"ElementaryTypeName","src":"27935:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27934:14:98"},"returnParameters":{"id":67350,"nodeType":"ParameterList","parameters":[],"src":"27958:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":67444,"nodeType":"FunctionDefinition","src":"28004:844:98","nodes":[],"body":{"id":67443,"nodeType":"Block","src":"28056:792:98","nodes":[],"statements":[{"assignments":[67365],"declarations":[{"constant":false,"id":67365,"mutability":"mutable","name":"proposalsIds","nameLocation":"28131:12:98","nodeType":"VariableDeclaration","scope":67443,"src":"28114:29:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":67363,"name":"uint256","nodeType":"ElementaryTypeName","src":"28114:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67364,"nodeType":"ArrayTypeName","src":"28114:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":67369,"initialValue":{"baseExpression":{"id":67366,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65957,"src":"28146:20:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67368,"indexExpression":{"id":67367,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67358,"src":"28167:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28146:29:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"28114:61:98"},{"body":{"id":67441,"nodeType":"Block","src":"28235:607:98","statements":[{"assignments":[67382],"declarations":[{"constant":false,"id":67382,"mutability":"mutable","name":"proposalId","nameLocation":"28257:10:98","nodeType":"VariableDeclaration","scope":67441,"src":"28249:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67381,"name":"uint256","nodeType":"ElementaryTypeName","src":"28249:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67386,"initialValue":{"baseExpression":{"id":67383,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67365,"src":"28270:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67385,"indexExpression":{"id":67384,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67371,"src":"28283:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28270:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28249:36:98"},{"assignments":[67391],"declarations":[{"constant":false,"id":67391,"mutability":"mutable","name":"proposal","nameLocation":"28331:8:98","nodeType":"VariableDeclaration","scope":67441,"src":"28299:40:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67390,"nodeType":"UserDefinedTypeName","pathNode":{"id":67389,"name":"StrategyStruct.Proposal","nameLocations":["28299:14:98","28314:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"28299:23:98"},"referencedDeclaration":65604,"src":"28299:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67395,"initialValue":{"baseExpression":{"id":67392,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"28342:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67394,"indexExpression":{"id":67393,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67382,"src":"28352:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28342:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"28299:64:98"},{"condition":{"arguments":[{"id":67397,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67382,"src":"28396:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67396,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67680,"src":"28381:14:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":67398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28381:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67440,"nodeType":"IfStatement","src":"28377:455:98","trueBody":{"id":67439,"nodeType":"Block","src":"28409:423:98","statements":[{"assignments":[67400],"declarations":[{"constant":false,"id":67400,"mutability":"mutable","name":"stakedPoints","nameLocation":"28435:12:98","nodeType":"VariableDeclaration","scope":67439,"src":"28427:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67399,"name":"uint256","nodeType":"ElementaryTypeName","src":"28427:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67405,"initialValue":{"baseExpression":{"expression":{"id":67401,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67391,"src":"28450:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67402,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28459:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65593,"src":"28450:26:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67404,"indexExpression":{"id":67403,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67358,"src":"28477:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28450:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28427:58:98"},{"expression":{"id":67412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":67406,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67391,"src":"28503:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67409,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28512:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65593,"src":"28503:26:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67410,"indexExpression":{"id":67408,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67358,"src":"28530:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"28503:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":67411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28541:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"28503:39:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67413,"nodeType":"ExpressionStatement","src":"28503:39:98"},{"expression":{"id":67418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67414,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67391,"src":"28560:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67416,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"28569:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"28560:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":67417,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67400,"src":"28585:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28560:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67419,"nodeType":"ExpressionStatement","src":"28560:37:98"},{"expression":{"id":67422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67420,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65921,"src":"28615:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":67421,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67400,"src":"28630:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28615:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67423,"nodeType":"ExpressionStatement","src":"28615:27:98"},{"expression":{"arguments":[{"id":67425,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67391,"src":"28687:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":67426,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67400,"src":"28697:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67424,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68418,"src":"28660:26:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$65604_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":67427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28660:50:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67428,"nodeType":"ExpressionStatement","src":"28660:50:98"},{"eventCall":{"arguments":[{"id":67430,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67358,"src":"28746:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67431,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67382,"src":"28755:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":67432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28767:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":67433,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67391,"src":"28770:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67434,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28779:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"28770:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67435,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67391,"src":"28793:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67436,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28802:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"28793:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67429,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65824,"src":"28733:12:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":67437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28733:84:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67438,"nodeType":"EmitStatement","src":"28728:89:98"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67374,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67371,"src":"28205:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67375,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67365,"src":"28209:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28222:6:98","memberName":"length","nodeType":"MemberAccess","src":"28209:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28205:23:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67442,"initializationExpression":{"assignments":[67371],"declarations":[{"constant":false,"id":67371,"mutability":"mutable","name":"i","nameLocation":"28198:1:98","nodeType":"VariableDeclaration","scope":67442,"src":"28190:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67370,"name":"uint256","nodeType":"ElementaryTypeName","src":"28190:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67373,"initialValue":{"hexValue":"30","id":67372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28202:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"28190:13:98"},"loopExpression":{"expression":{"id":67379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"28230:3:98","subExpression":{"id":67378,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67371,"src":"28230:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67380,"nodeType":"ExpressionStatement","src":"28230:3:98"},"nodeType":"ForStatement","src":"28185:657:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"28013:8:98","parameters":{"id":67359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67358,"mutability":"mutable","name":"_member","nameLocation":"28030:7:98","nodeType":"VariableDeclaration","scope":67444,"src":"28022:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67357,"name":"address","nodeType":"ElementaryTypeName","src":"28022:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28021:17:98"},"returnParameters":{"id":67360,"nodeType":"ParameterList","parameters":[],"src":"28056:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67522,"nodeType":"FunctionDefinition","src":"29532:1145:98","nodes":[],"body":{"id":67521,"nodeType":"Block","src":"30062:615:98","nodes":[],"statements":[{"assignments":[67477],"declarations":[{"constant":false,"id":67477,"mutability":"mutable","name":"proposal","nameLocation":"30104:8:98","nodeType":"VariableDeclaration","scope":67521,"src":"30072:40:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67476,"nodeType":"UserDefinedTypeName","pathNode":{"id":67475,"name":"StrategyStruct.Proposal","nameLocations":["30072:14:98","30087:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"30072:23:98"},"referencedDeclaration":65604,"src":"30072:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67481,"initialValue":{"baseExpression":{"id":67478,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"30115:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67480,"indexExpression":{"id":67479,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67447,"src":"30125:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30115:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"30072:65:98"},{"expression":{"id":67493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67482,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67467,"src":"30148:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67483,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30160:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30169:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"30160:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30188:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"30160:29:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"id":67489,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30215:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67490,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30224:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"30215:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67488,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68269,"src":"30196:18:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":67491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30196:44:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"30160:80:98","trueExpression":{"hexValue":"30","id":67487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30192:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30148:92:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67494,"nodeType":"ExpressionStatement","src":"30148:92:98"},{"expression":{"components":[{"expression":{"id":67495,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30271:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67496,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30280:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"30271:18:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67497,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30303:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67498,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30312:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65580,"src":"30303:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67499,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30337:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67500,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30346:14:98","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65584,"src":"30337:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67501,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30374:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67502,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30383:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"30374:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67503,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30412:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67504,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30421:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"30412:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67505,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30447:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67506,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30456:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"30447:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},{"expression":{"id":67507,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30484:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67508,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30493:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65586,"src":"30484:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67509,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30516:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67510,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30525:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"30516:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67511,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67467,"src":"30553:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"expression":{"id":67512,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30576:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67513,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30585:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65593,"src":"30576:26:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67516,"indexExpression":{"expression":{"id":67514,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"30603:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30607:6:98","memberName":"sender","nodeType":"MemberAccess","src":"30603:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30576:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67517,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30628:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67518,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30637:23:98","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65603,"src":"30628:32:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67519,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"30257:413:98","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$65563_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum StrategyStruct.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":67472,"id":67520,"nodeType":"Return","src":"30250:420:98"}]},"documentation":{"id":67445,"nodeType":"StructuredDocumentation","src":"28854:673:98","text":" @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold\n @return voterStakedPoints Voter staked points\n @return arbitrableConfigVersion Proposal arbitrable config id"},"functionSelector":"c7f758a8","implemented":true,"kind":"function","modifiers":[],"name":"getProposal","nameLocation":"29541:11:98","parameters":{"id":67448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67447,"mutability":"mutable","name":"_proposalId","nameLocation":"29561:11:98","nodeType":"VariableDeclaration","scope":67522,"src":"29553:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67446,"name":"uint256","nodeType":"ElementaryTypeName","src":"29553:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29552:21:98"},"returnParameters":{"id":67472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67450,"mutability":"mutable","name":"submitter","nameLocation":"29658:9:98","nodeType":"VariableDeclaration","scope":67522,"src":"29650:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67449,"name":"address","nodeType":"ElementaryTypeName","src":"29650:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67452,"mutability":"mutable","name":"beneficiary","nameLocation":"29689:11:98","nodeType":"VariableDeclaration","scope":67522,"src":"29681:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67451,"name":"address","nodeType":"ElementaryTypeName","src":"29681:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67454,"mutability":"mutable","name":"requestedToken","nameLocation":"29722:14:98","nodeType":"VariableDeclaration","scope":67522,"src":"29714:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67453,"name":"address","nodeType":"ElementaryTypeName","src":"29714:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67456,"mutability":"mutable","name":"requestedAmount","nameLocation":"29758:15:98","nodeType":"VariableDeclaration","scope":67522,"src":"29750:23:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67455,"name":"uint256","nodeType":"ElementaryTypeName","src":"29750:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67458,"mutability":"mutable","name":"stakedAmount","nameLocation":"29795:12:98","nodeType":"VariableDeclaration","scope":67522,"src":"29787:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67457,"name":"uint256","nodeType":"ElementaryTypeName","src":"29787:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67461,"mutability":"mutable","name":"proposalStatus","nameLocation":"29851:14:98","nodeType":"VariableDeclaration","scope":67522,"src":"29821:44:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":67460,"nodeType":"UserDefinedTypeName","pathNode":{"id":67459,"name":"StrategyStruct.ProposalStatus","nameLocations":["29821:14:98","29836:14:98"],"nodeType":"IdentifierPath","referencedDeclaration":65563,"src":"29821:29:98"},"referencedDeclaration":65563,"src":"29821:29:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":67463,"mutability":"mutable","name":"blockLast","nameLocation":"29887:9:98","nodeType":"VariableDeclaration","scope":67522,"src":"29879:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67462,"name":"uint256","nodeType":"ElementaryTypeName","src":"29879:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67465,"mutability":"mutable","name":"convictionLast","nameLocation":"29918:14:98","nodeType":"VariableDeclaration","scope":67522,"src":"29910:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67464,"name":"uint256","nodeType":"ElementaryTypeName","src":"29910:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67467,"mutability":"mutable","name":"threshold","nameLocation":"29954:9:98","nodeType":"VariableDeclaration","scope":67522,"src":"29946:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67466,"name":"uint256","nodeType":"ElementaryTypeName","src":"29946:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67469,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"29985:17:98","nodeType":"VariableDeclaration","scope":67522,"src":"29977:25:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67468,"name":"uint256","nodeType":"ElementaryTypeName","src":"29977:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67471,"mutability":"mutable","name":"arbitrableConfigVersion","nameLocation":"30024:23:98","nodeType":"VariableDeclaration","scope":67522,"src":"30016:31:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67470,"name":"uint256","nodeType":"ElementaryTypeName","src":"30016:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29636:421:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67543,"nodeType":"FunctionDefinition","src":"30683:206:98","nodes":[],"body":{"id":67542,"nodeType":"Block","src":"30773:116:98","nodes":[],"statements":[{"assignments":[67534],"declarations":[{"constant":false,"id":67534,"mutability":"mutable","name":"proposal","nameLocation":"30815:8:98","nodeType":"VariableDeclaration","scope":67542,"src":"30783:40:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67533,"nodeType":"UserDefinedTypeName","pathNode":{"id":67532,"name":"StrategyStruct.Proposal","nameLocations":["30783:14:98","30798:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"30783:23:98"},"referencedDeclaration":65604,"src":"30783:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67538,"initialValue":{"baseExpression":{"id":67535,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"30826:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67537,"indexExpression":{"id":67536,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67524,"src":"30836:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30826:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"30783:65:98"},{"expression":{"expression":{"id":67539,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67534,"src":"30865:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67540,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30874:8:98","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":65596,"src":"30865:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"functionReturnParameters":67529,"id":67541,"nodeType":"Return","src":"30858:24:98"}]},"functionSelector":"a574cea4","implemented":true,"kind":"function","modifiers":[],"name":"getMetadata","nameLocation":"30692:11:98","parameters":{"id":67525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67524,"mutability":"mutable","name":"_proposalId","nameLocation":"30712:11:98","nodeType":"VariableDeclaration","scope":67543,"src":"30704:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67523,"name":"uint256","nodeType":"ElementaryTypeName","src":"30704:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30703:21:98"},"returnParameters":{"id":67529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67528,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67543,"src":"30756:15:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":67527,"nodeType":"UserDefinedTypeName","pathNode":{"id":67526,"name":"Metadata","nameLocations":["30756:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"30756:8:98"},"referencedDeclaration":3098,"src":"30756:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"30755:17:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67559,"nodeType":"FunctionDefinition","src":"31090:184:98","nodes":[],"body":{"id":67558,"nodeType":"Block","src":"31198:76:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":67554,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67546,"src":"31247:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67555,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67548,"src":"31260:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":67553,"name":"_internal_getProposalVoterStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67644,"src":"31215:31:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":67556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31215:52:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67552,"id":67557,"nodeType":"Return","src":"31208:59:98"}]},"documentation":{"id":67544,"nodeType":"StructuredDocumentation","src":"30895:190:98","text":" @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake"},"functionSelector":"e0dd2c38","implemented":true,"kind":"function","modifiers":[],"name":"getProposalVoterStake","nameLocation":"31099:21:98","parameters":{"id":67549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67546,"mutability":"mutable","name":"_proposalId","nameLocation":"31129:11:98","nodeType":"VariableDeclaration","scope":67559,"src":"31121:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67545,"name":"uint256","nodeType":"ElementaryTypeName","src":"31121:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67548,"mutability":"mutable","name":"_voter","nameLocation":"31150:6:98","nodeType":"VariableDeclaration","scope":67559,"src":"31142:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67547,"name":"address","nodeType":"ElementaryTypeName","src":"31142:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31120:37:98"},"returnParameters":{"id":67552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67559,"src":"31189:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67550,"name":"uint256","nodeType":"ElementaryTypeName","src":"31189:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31188:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67572,"nodeType":"FunctionDefinition","src":"31280:153:98","nodes":[],"body":{"id":67571,"nodeType":"Block","src":"31374:59:98","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":67566,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"31391:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67568,"indexExpression":{"id":67567,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67561,"src":"31401:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31391:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":67569,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31414:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"31391:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67565,"id":67570,"nodeType":"Return","src":"31384:42:98"}]},"functionSelector":"dc96ff2d","implemented":true,"kind":"function","modifiers":[],"name":"getProposalStakedAmount","nameLocation":"31289:23:98","parameters":{"id":67562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67561,"mutability":"mutable","name":"_proposalId","nameLocation":"31321:11:98","nodeType":"VariableDeclaration","scope":67572,"src":"31313:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67560,"name":"uint256","nodeType":"ElementaryTypeName","src":"31313:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31312:21:98"},"returnParameters":{"id":67565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67564,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67572,"src":"31365:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67563,"name":"uint256","nodeType":"ElementaryTypeName","src":"31365:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31364:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67584,"nodeType":"FunctionDefinition","src":"31501:135:98","nodes":[],"body":{"id":67583,"nodeType":"Block","src":"31586:50:98","nodes":[],"statements":[{"expression":{"baseExpression":{"id":67579,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65952,"src":"31603:18:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67581,"indexExpression":{"id":67580,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67574,"src":"31622:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31603:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67578,"id":67582,"nodeType":"Return","src":"31596:33:98"}]},"functionSelector":"bcc5b93b","implemented":true,"kind":"function","modifiers":[],"name":"getTotalVoterStakePct","nameLocation":"31510:21:98","parameters":{"id":67575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67574,"mutability":"mutable","name":"_voter","nameLocation":"31540:6:98","nodeType":"VariableDeclaration","scope":67584,"src":"31532:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67573,"name":"address","nodeType":"ElementaryTypeName","src":"31532:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31531:16:98"},"returnParameters":{"id":67578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67577,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67584,"src":"31577:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67576,"name":"uint256","nodeType":"ElementaryTypeName","src":"31577:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31576:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":67627,"nodeType":"FunctionDefinition","src":"31642:874:98","nodes":[],"body":{"id":67626,"nodeType":"Block","src":"31992:524:98","nodes":[],"statements":[{"expression":{"components":[{"expression":{"baseExpression":{"id":67600,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"32023:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67602,"indexExpression":{"id":67601,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"32041:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32023:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67603,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32073:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"32023:60:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},{"expression":{"baseExpression":{"id":67604,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"32097:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67606,"indexExpression":{"id":67605,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"32115:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32097:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67607,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32147:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"32097:62:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":67608,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"32173:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67610,"indexExpression":{"id":67609,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"32191:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32173:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67611,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32223:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"32173:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":67612,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"32262:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67614,"indexExpression":{"id":67613,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"32280:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32262:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67615,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32312:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"32262:76:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":67616,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"32352:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67618,"indexExpression":{"id":67617,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"32370:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32352:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67619,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32402:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"32352:63:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":67620,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"32429:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67622,"indexExpression":{"id":67621,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"32447:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32429:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67623,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32479:20:98","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"32429:70:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67624,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"32009:500:98","typeDescriptions":{"typeIdentifier":"t_tuple$_t_contract$_IArbitrator_$74044_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":67599,"id":67625,"nodeType":"Return","src":"32002:507:98"}]},"functionSelector":"059351cd","implemented":true,"kind":"function","modifiers":[],"name":"getArbitrableConfig","nameLocation":"31651:19:98","parameters":{"id":67585,"nodeType":"ParameterList","parameters":[],"src":"31670:2:98"},"returnParameters":{"id":67599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67588,"mutability":"mutable","name":"arbitrator","nameLocation":"31761:10:98","nodeType":"VariableDeclaration","scope":67627,"src":"31749:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"},"typeName":{"id":67587,"nodeType":"UserDefinedTypeName","pathNode":{"id":67586,"name":"IArbitrator","nameLocations":["31749:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":74044,"src":"31749:11:98"},"referencedDeclaration":74044,"src":"31749:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":67590,"mutability":"mutable","name":"tribunalSafe","nameLocation":"31793:12:98","nodeType":"VariableDeclaration","scope":67627,"src":"31785:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67589,"name":"address","nodeType":"ElementaryTypeName","src":"31785:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67592,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"31827:25:98","nodeType":"VariableDeclaration","scope":67627,"src":"31819:33:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67591,"name":"uint256","nodeType":"ElementaryTypeName","src":"31819:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67594,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"31874:26:98","nodeType":"VariableDeclaration","scope":67627,"src":"31866:34:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67593,"name":"uint256","nodeType":"ElementaryTypeName","src":"31866:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67596,"mutability":"mutable","name":"defaultRuling","nameLocation":"31922:13:98","nodeType":"VariableDeclaration","scope":67627,"src":"31914:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67595,"name":"uint256","nodeType":"ElementaryTypeName","src":"31914:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67598,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"31957:20:98","nodeType":"VariableDeclaration","scope":67627,"src":"31949:28:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67597,"name":"uint256","nodeType":"ElementaryTypeName","src":"31949:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31735:252:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67644,"nodeType":"FunctionDefinition","src":"32522:226:98","nodes":[],"body":{"id":67643,"nodeType":"Block","src":"32676:72:98","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":67636,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"32693:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67638,"indexExpression":{"id":67637,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67629,"src":"32703:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32693:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":67639,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32716:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65593,"src":"32693:40:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67641,"indexExpression":{"id":67640,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67631,"src":"32734:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32693:48:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67635,"id":67642,"nodeType":"Return","src":"32686:55:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_internal_getProposalVoterStake","nameLocation":"32531:31:98","parameters":{"id":67632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67629,"mutability":"mutable","name":"_proposalId","nameLocation":"32571:11:98","nodeType":"VariableDeclaration","scope":67644,"src":"32563:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67628,"name":"uint256","nodeType":"ElementaryTypeName","src":"32563:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67631,"mutability":"mutable","name":"_voter","nameLocation":"32592:6:98","nodeType":"VariableDeclaration","scope":67644,"src":"32584:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67630,"name":"address","nodeType":"ElementaryTypeName","src":"32584:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32562:37:98"},"returnParameters":{"id":67635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67634,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67644,"src":"32663:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67633,"name":"uint256","nodeType":"ElementaryTypeName","src":"32663:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32662:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67655,"nodeType":"FunctionDefinition","src":"32754:158:98","nodes":[],"body":{"id":67654,"nodeType":"Block","src":"32826:86:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":67649,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"32843:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":67650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32843:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":67651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32866:20:98","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":72537,"src":"32843:43:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":67652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32843:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67648,"id":67653,"nodeType":"Return","src":"32836:52:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"32763:20:98","parameters":{"id":67645,"nodeType":"ParameterList","parameters":[],"src":"32783:2:98"},"returnParameters":{"id":67648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67647,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67655,"src":"32817:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67646,"name":"uint256","nodeType":"ElementaryTypeName","src":"32817:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32816:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67680,"nodeType":"FunctionDefinition","src":"32918:193:98","nodes":[],"body":{"id":67679,"nodeType":"Block","src":"33000:111:98","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":67662,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"33017:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67664,"indexExpression":{"id":67663,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67657,"src":"33027:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33017:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":67665,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33040:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65572,"src":"33017:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":67666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33053:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"33017:37:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":67668,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"33058:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67670,"indexExpression":{"id":67669,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67657,"src":"33068:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33058:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":67671,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33081:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"33058:32:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":67674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33102:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":67673,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33094:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67672,"name":"address","nodeType":"ElementaryTypeName","src":"33094:7:98","typeDescriptions":{}}},"id":67675,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33094:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"33058:46:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"33017:87:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":67661,"id":67678,"nodeType":"Return","src":"33010:94:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"proposalExists","nameLocation":"32927:14:98","parameters":{"id":67658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67657,"mutability":"mutable","name":"_proposalID","nameLocation":"32950:11:98","nodeType":"VariableDeclaration","scope":67680,"src":"32942:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67656,"name":"uint256","nodeType":"ElementaryTypeName","src":"32942:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32941:21:98"},"returnParameters":{"id":67661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67660,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67680,"src":"32994:4:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67659,"name":"bool","nodeType":"ElementaryTypeName","src":"32994:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32993:6:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67699,"nodeType":"FunctionDefinition","src":"33117:191:98","nodes":[],"body":{"id":67698,"nodeType":"Block","src":"33220:88:98","nodes":[],"statements":[{"expression":{"id":67696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67687,"name":"isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67685,"src":"33230:14:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67688,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"33247:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":67689,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33256:8:98","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":65628,"src":"33247:17:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":67690,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"33267:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33247:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67692,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67682,"src":"33281:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":67693,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"33300:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33281:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33247:54:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"33230:71:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67697,"nodeType":"ExpressionStatement","src":"33230:71:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isOverMaxRatio","nameLocation":"33126:15:98","parameters":{"id":67683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67682,"mutability":"mutable","name":"_requestedAmount","nameLocation":"33150:16:98","nodeType":"VariableDeclaration","scope":67699,"src":"33142:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67681,"name":"uint256","nodeType":"ElementaryTypeName","src":"33142:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33141:26:98"},"returnParameters":{"id":67686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67685,"mutability":"mutable","name":"isOverMaxRatio","nameLocation":"33204:14:98","nodeType":"VariableDeclaration","scope":67699,"src":"33199:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67684,"name":"bool","nodeType":"ElementaryTypeName","src":"33199:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33198:21:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67796,"nodeType":"FunctionDefinition","src":"33314:1553:98","nodes":[],"body":{"id":67795,"nodeType":"Block","src":"33444:1423:98","nodes":[],"statements":[{"assignments":[67709],"declarations":[{"constant":false,"id":67709,"mutability":"mutable","name":"deltaSupportSum","nameLocation":"33461:15:98","nodeType":"VariableDeclaration","scope":67795,"src":"33454:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67708,"name":"int256","nodeType":"ElementaryTypeName","src":"33454:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":67711,"initialValue":{"hexValue":"30","id":67710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33479:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33454:26:98"},{"body":{"id":67756,"nodeType":"Block","src":"33544:576:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":67723,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67705,"src":"33617:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67725,"indexExpression":{"id":67724,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67713,"src":"33634:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33617:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65609_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67726,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33637:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65606,"src":"33617:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33651:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"33617:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67731,"nodeType":"IfStatement","src":"33613:187:98","trueBody":{"id":67730,"nodeType":"Block","src":"33654:146:98","statements":[{"id":67729,"nodeType":"Continue","src":"33777:8:98"}]}},{"assignments":[67733],"declarations":[{"constant":false,"id":67733,"mutability":"mutable","name":"proposalId","nameLocation":"33821:10:98","nodeType":"VariableDeclaration","scope":67756,"src":"33813:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67732,"name":"uint256","nodeType":"ElementaryTypeName","src":"33813:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67738,"initialValue":{"expression":{"baseExpression":{"id":67734,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67705,"src":"33834:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67736,"indexExpression":{"id":67735,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67713,"src":"33851:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33834:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65609_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67737,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33854:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65606,"src":"33834:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33813:51:98"},{"condition":{"id":67742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"33882:27:98","subExpression":{"arguments":[{"id":67740,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67733,"src":"33898:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67739,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67680,"src":"33883:14:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":67741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33883:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67748,"nodeType":"IfStatement","src":"33878:167:98","trueBody":{"id":67747,"nodeType":"Block","src":"33911:134:98","statements":[{"errorCall":{"arguments":[{"id":67744,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67733,"src":"33954:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67743,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65717,"src":"33936:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":67745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33936:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67746,"nodeType":"RevertStatement","src":"33929:36:98"}]}},{"expression":{"id":67754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67749,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67709,"src":"34058:15:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":67750,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67705,"src":"34077:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67752,"indexExpression":{"id":67751,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67713,"src":"34094:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34077:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65609_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67753,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34097:12:98","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":65608,"src":"34077:32:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"34058:51:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":67755,"nodeType":"ExpressionStatement","src":"34058:51:98"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67716,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67713,"src":"33510:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67717,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67705,"src":"33514:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33531:6:98","memberName":"length","nodeType":"MemberAccess","src":"33514:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33510:27:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67757,"initializationExpression":{"assignments":[67713],"declarations":[{"constant":false,"id":67713,"mutability":"mutable","name":"i","nameLocation":"33503:1:98","nodeType":"VariableDeclaration","scope":67757,"src":"33495:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67712,"name":"uint256","nodeType":"ElementaryTypeName","src":"33495:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67715,"initialValue":{"hexValue":"30","id":67714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33507:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33495:13:98"},"loopExpression":{"expression":{"id":67721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"33539:3:98","subExpression":{"id":67720,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67713,"src":"33539:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67722,"nodeType":"ExpressionStatement","src":"33539:3:98"},"nodeType":"ForStatement","src":"33490:630:98"},{"assignments":[67759],"declarations":[{"constant":false,"id":67759,"mutability":"mutable","name":"newTotalVotingSupport","nameLocation":"34224:21:98","nodeType":"VariableDeclaration","scope":67795,"src":"34216:29:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67758,"name":"uint256","nodeType":"ElementaryTypeName","src":"34216:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67766,"initialValue":{"arguments":[{"arguments":[{"id":67762,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67701,"src":"34282:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67761,"name":"getTotalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67584,"src":"34260:21:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":67763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34260:30:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67764,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67709,"src":"34292:15:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":67760,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68118,"src":"34248:11:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":67765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34248:60:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34216:92:98"},{"assignments":[67768],"declarations":[{"constant":false,"id":67768,"mutability":"mutable","name":"participantBalance","nameLocation":"34398:18:98","nodeType":"VariableDeclaration","scope":67795,"src":"34390:26:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67767,"name":"uint256","nodeType":"ElementaryTypeName","src":"34390:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67778,"initialValue":{"arguments":[{"id":67772,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67701,"src":"34467:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67775,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"34484:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":67774,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34476:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67773,"name":"address","nodeType":"ElementaryTypeName","src":"34476:7:98","typeDescriptions":{}}},"id":67776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34476:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":67769,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"34419:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":67770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34419:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":67771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34442:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72137,"src":"34419:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":67777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34419:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34390:100:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67779,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67759,"src":"34656:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":67780,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67768,"src":"34680:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34656:42:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67788,"nodeType":"IfStatement","src":"34652:147:98","trueBody":{"id":67787,"nodeType":"Block","src":"34700:99:98","statements":[{"errorCall":{"arguments":[{"id":67783,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67759,"src":"34746:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67784,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67768,"src":"34769:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67782,"name":"NotEnoughPointsToSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65705,"src":"34721:24:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":67785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34721:67:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67786,"nodeType":"RevertStatement","src":"34714:74:98"}]}},{"expression":{"id":67793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67789,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65952,"src":"34809:18:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67791,"indexExpression":{"id":67790,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67701,"src":"34828:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"34809:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67792,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67759,"src":"34839:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34809:51:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67794,"nodeType":"ExpressionStatement","src":"34809:51:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_check_before_addSupport","nameLocation":"33323:24:98","parameters":{"id":67706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67701,"mutability":"mutable","name":"_sender","nameLocation":"33356:7:98","nodeType":"VariableDeclaration","scope":67796,"src":"33348:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67700,"name":"address","nodeType":"ElementaryTypeName","src":"33348:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67705,"mutability":"mutable","name":"_proposalSupport","nameLocation":"33405:16:98","nodeType":"VariableDeclaration","scope":67796,"src":"33365:56:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":67703,"nodeType":"UserDefinedTypeName","pathNode":{"id":67702,"name":"StrategyStruct.ProposalSupport","nameLocations":["33365:14:98","33380:15:98"],"nodeType":"IdentifierPath","referencedDeclaration":65609,"src":"33365:30:98"},"referencedDeclaration":65609,"src":"33365:30:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65609_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":67704,"nodeType":"ArrayTypeName","src":"33365:32:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"33347:75:98"},"returnParameters":{"id":67707,"nodeType":"ParameterList","parameters":[],"src":"33444:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":68083,"nodeType":"FunctionDefinition","src":"34873:3487:98","nodes":[],"body":{"id":68082,"nodeType":"Block","src":"34986:3374:98","nodes":[],"statements":[{"assignments":[67809],"declarations":[{"constant":false,"id":67809,"mutability":"mutable","name":"proposalsIds","nameLocation":"35013:12:98","nodeType":"VariableDeclaration","scope":68082,"src":"34996:29:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":67807,"name":"uint256","nodeType":"ElementaryTypeName","src":"34996:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67808,"nodeType":"ArrayTypeName","src":"34996:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":67810,"nodeType":"VariableDeclarationStatement","src":"34996:29:98"},{"body":{"id":68080,"nodeType":"Block","src":"35089:3265:98","statements":[{"assignments":[67823],"declarations":[{"constant":false,"id":67823,"mutability":"mutable","name":"proposalId","nameLocation":"35111:10:98","nodeType":"VariableDeclaration","scope":68080,"src":"35103:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67822,"name":"uint256","nodeType":"ElementaryTypeName","src":"35103:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67828,"initialValue":{"expression":{"baseExpression":{"id":67824,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67802,"src":"35124:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67826,"indexExpression":{"id":67825,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67812,"src":"35141:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35124:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65609_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67827,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35144:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65606,"src":"35124:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"35103:51:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67829,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"35227:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35240:6:98","memberName":"length","nodeType":"MemberAccess","src":"35227:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35250:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"35227:24:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":67931,"nodeType":"Block","src":"35379:764:98","statements":[{"assignments":[67849],"declarations":[{"constant":false,"id":67849,"mutability":"mutable","name":"exist","nameLocation":"35402:5:98","nodeType":"VariableDeclaration","scope":67931,"src":"35397:10:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67848,"name":"bool","nodeType":"ElementaryTypeName","src":"35397:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":67851,"initialValue":{"hexValue":"66616c7365","id":67850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35410:5:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"35397:18:98"},{"body":{"id":67879,"nodeType":"Block","src":"35483:268:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":67863,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"35534:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67865,"indexExpression":{"id":67864,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67853,"src":"35547:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35534:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":67866,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67823,"src":"35553:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35534:29:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67878,"nodeType":"IfStatement","src":"35530:203:98","trueBody":{"id":67877,"nodeType":"Block","src":"35565:168:98","statements":[{"expression":{"id":67870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67868,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67849,"src":"35591:5:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":67869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35599:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"35591:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67871,"nodeType":"ExpressionStatement","src":"35591:12:98"},{"errorCall":{"arguments":[{"id":67873,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67823,"src":"35662:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67874,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67853,"src":"35674:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67872,"name":"ProposalSupportDuplicated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65723,"src":"35636:25:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":67875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35636:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67876,"nodeType":"RevertStatement","src":"35629:47:98"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67856,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67853,"src":"35453:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67857,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"35457:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35470:6:98","memberName":"length","nodeType":"MemberAccess","src":"35457:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35453:23:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67880,"initializationExpression":{"assignments":[67853],"declarations":[{"constant":false,"id":67853,"mutability":"mutable","name":"j","nameLocation":"35446:1:98","nodeType":"VariableDeclaration","scope":67880,"src":"35438:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67852,"name":"uint256","nodeType":"ElementaryTypeName","src":"35438:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67855,"initialValue":{"hexValue":"30","id":67854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35450:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35438:13:98"},"loopExpression":{"expression":{"id":67861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35478:3:98","subExpression":{"id":67860,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67853,"src":"35478:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67862,"nodeType":"ExpressionStatement","src":"35478:3:98"},"nodeType":"ForStatement","src":"35433:318:98"},{"condition":{"id":67882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"35772:6:98","subExpression":{"id":67881,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67849,"src":"35773:5:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67930,"nodeType":"IfStatement","src":"35768:361:98","trueBody":{"id":67929,"nodeType":"Block","src":"35780:349:98","statements":[{"assignments":[67887],"declarations":[{"constant":false,"id":67887,"mutability":"mutable","name":"temp","nameLocation":"35819:4:98","nodeType":"VariableDeclaration","scope":67929,"src":"35802:21:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":67885,"name":"uint256","nodeType":"ElementaryTypeName","src":"35802:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67886,"nodeType":"ArrayTypeName","src":"35802:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":67896,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67891,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"35840:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35853:6:98","memberName":"length","nodeType":"MemberAccess","src":"35840:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":67893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35862:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"35840:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67890,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"35826:13:98","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":67888,"name":"uint256","nodeType":"ElementaryTypeName","src":"35830:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67889,"nodeType":"ArrayTypeName","src":"35830:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":67895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35826:38:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"35802:62:98"},{"body":{"id":67916,"nodeType":"Block","src":"35936:74:98","statements":[{"expression":{"id":67914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67908,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67887,"src":"35962:4:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67910,"indexExpression":{"id":67909,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67898,"src":"35967:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35962:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":67911,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"35972:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67913,"indexExpression":{"id":67912,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67898,"src":"35985:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35972:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35962:25:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67915,"nodeType":"ExpressionStatement","src":"35962:25:98"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67901,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67898,"src":"35906:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67902,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"35910:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35923:6:98","memberName":"length","nodeType":"MemberAccess","src":"35910:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35906:23:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67917,"initializationExpression":{"assignments":[67898],"declarations":[{"constant":false,"id":67898,"mutability":"mutable","name":"j","nameLocation":"35899:1:98","nodeType":"VariableDeclaration","scope":67917,"src":"35891:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67897,"name":"uint256","nodeType":"ElementaryTypeName","src":"35891:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67900,"initialValue":{"hexValue":"30","id":67899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35903:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35891:13:98"},"loopExpression":{"expression":{"id":67906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35931:3:98","subExpression":{"id":67905,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67898,"src":"35931:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67907,"nodeType":"ExpressionStatement","src":"35931:3:98"},"nodeType":"ForStatement","src":"35886:124:98"},{"expression":{"id":67923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67918,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67887,"src":"36031:4:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67921,"indexExpression":{"expression":{"id":67919,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"36036:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36049:6:98","memberName":"length","nodeType":"MemberAccess","src":"36036:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"36031:25:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67922,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67823,"src":"36059:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36031:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67924,"nodeType":"ExpressionStatement","src":"36031:38:98"},{"expression":{"id":67927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67925,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"36091:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67926,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67887,"src":"36106:4:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"36091:19:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67928,"nodeType":"ExpressionStatement","src":"36091:19:98"}]}}]},"id":67932,"nodeType":"IfStatement","src":"35223:920:98","trueBody":{"id":67847,"nodeType":"Block","src":"35253:120:98","statements":[{"expression":{"id":67839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67833,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"35271:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":67837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35300:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":67836,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"35286:13:98","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":67834,"name":"uint256","nodeType":"ElementaryTypeName","src":"35290:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67835,"nodeType":"ArrayTypeName","src":"35290:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":67838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35286:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"35271:31:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67840,"nodeType":"ExpressionStatement","src":"35271:31:98"},{"expression":{"id":67845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67841,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"35320:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67843,"indexExpression":{"hexValue":"30","id":67842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35333:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35320:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67844,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67823,"src":"35338:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35320:28:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67846,"nodeType":"ExpressionStatement","src":"35320:28:98"}]}},{"assignments":[67934],"declarations":[{"constant":false,"id":67934,"mutability":"mutable","name":"delta","nameLocation":"36163:5:98","nodeType":"VariableDeclaration","scope":68080,"src":"36156:12:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67933,"name":"int256","nodeType":"ElementaryTypeName","src":"36156:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":67939,"initialValue":{"expression":{"baseExpression":{"id":67935,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67802,"src":"36171:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67937,"indexExpression":{"id":67936,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67812,"src":"36188:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36171:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65609_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67938,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36191:12:98","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":65608,"src":"36171:32:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"36156:47:98"},{"assignments":[67944],"declarations":[{"constant":false,"id":67944,"mutability":"mutable","name":"proposal","nameLocation":"36250:8:98","nodeType":"VariableDeclaration","scope":68080,"src":"36218:40:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67943,"nodeType":"UserDefinedTypeName","pathNode":{"id":67942,"name":"StrategyStruct.Proposal","nameLocations":["36218:14:98","36233:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"36218:23:98"},"referencedDeclaration":65604,"src":"36218:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67948,"initialValue":{"baseExpression":{"id":67945,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"36261:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67947,"indexExpression":{"id":67946,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67823,"src":"36271:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36261:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"36218:64:98"},{"assignments":[67950],"declarations":[{"constant":false,"id":67950,"mutability":"mutable","name":"previousStakedPoints","nameLocation":"36392:20:98","nodeType":"VariableDeclaration","scope":68080,"src":"36384:28:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67949,"name":"uint256","nodeType":"ElementaryTypeName","src":"36384:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67955,"initialValue":{"baseExpression":{"expression":{"id":67951,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"36415:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67952,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36424:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65593,"src":"36415:26:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67954,"indexExpression":{"id":67953,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67798,"src":"36442:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36415:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36384:66:98"},{"assignments":[67957],"declarations":[{"constant":false,"id":67957,"mutability":"mutable","name":"stakedPoints","nameLocation":"36623:12:98","nodeType":"VariableDeclaration","scope":68080,"src":"36615:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67956,"name":"uint256","nodeType":"ElementaryTypeName","src":"36615:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67962,"initialValue":{"arguments":[{"id":67959,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67950,"src":"36650:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67960,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67934,"src":"36672:5:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":67958,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68118,"src":"36638:11:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":67961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36638:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36615:63:98"},{"expression":{"id":67969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":67963,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"36813:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67966,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36822:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65593,"src":"36813:26:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67967,"indexExpression":{"id":67965,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67798,"src":"36840:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"36813:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67968,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67957,"src":"36851:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36813:50:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67970,"nodeType":"ExpressionStatement","src":"36813:50:98"},{"assignments":[67972],"declarations":[{"constant":false,"id":67972,"mutability":"mutable","name":"hasProposal","nameLocation":"37102:11:98","nodeType":"VariableDeclaration","scope":68080,"src":"37097:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67971,"name":"bool","nodeType":"ElementaryTypeName","src":"37097:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":67974,"initialValue":{"hexValue":"66616c7365","id":67973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"37116:5:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"37097:24:98"},{"body":{"id":68003,"nodeType":"Block","src":"37202:179:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":67988,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65957,"src":"37224:20:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67990,"indexExpression":{"id":67989,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67798,"src":"37245:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37224:29:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":67992,"indexExpression":{"id":67991,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67976,"src":"37254:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37224:32:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":67993,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"37260:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67994,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37269:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65572,"src":"37260:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37224:55:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68002,"nodeType":"IfStatement","src":"37220:147:98","trueBody":{"id":68001,"nodeType":"Block","src":"37281:86:98","statements":[{"expression":{"id":67998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67996,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67972,"src":"37303:11:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":67997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"37317:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"37303:18:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67999,"nodeType":"ExpressionStatement","src":"37303:18:98"},{"id":68000,"nodeType":"Break","src":"37343:5:98"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67979,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67976,"src":"37155:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":67980,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65957,"src":"37159:20:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67982,"indexExpression":{"id":67981,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67798,"src":"37180:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37159:29:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":67983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37189:6:98","memberName":"length","nodeType":"MemberAccess","src":"37159:36:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37155:40:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68004,"initializationExpression":{"assignments":[67976],"declarations":[{"constant":false,"id":67976,"mutability":"mutable","name":"k","nameLocation":"37148:1:98","nodeType":"VariableDeclaration","scope":68004,"src":"37140:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67975,"name":"uint256","nodeType":"ElementaryTypeName","src":"37140:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67978,"initialValue":{"hexValue":"30","id":67977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37152:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"37140:13:98"},"loopExpression":{"expression":{"id":67986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"37197:3:98","subExpression":{"id":67985,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67976,"src":"37197:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67987,"nodeType":"ExpressionStatement","src":"37197:3:98"},"nodeType":"ForStatement","src":"37135:246:98"},{"condition":{"id":68006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"37398:12:98","subExpression":{"id":68005,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67972,"src":"37399:11:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68016,"nodeType":"IfStatement","src":"37394:106:98","trueBody":{"id":68015,"nodeType":"Block","src":"37412:88:98","statements":[{"expression":{"arguments":[{"expression":{"id":68011,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"37465:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68012,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37474:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65572,"src":"37465:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":68007,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65957,"src":"37430:20:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":68009,"indexExpression":{"id":68008,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67798,"src":"37451:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37430:29:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":68010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37460:4:98","memberName":"push","nodeType":"MemberAccess","src":"37430:34:98","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":68013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37430:55:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68014,"nodeType":"ExpressionStatement","src":"37430:55:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68017,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67950,"src":"37655:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":68018,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67957,"src":"37679:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37655:36:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":68049,"nodeType":"Block","src":"37860:161:98","statements":[{"expression":{"id":68039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68035,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65921,"src":"37878:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68036,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67950,"src":"37893:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68037,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67957,"src":"37916:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37893:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37878:50:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68040,"nodeType":"ExpressionStatement","src":"37878:50:98"},{"expression":{"id":68047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68041,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"37946:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68043,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37955:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"37946:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68044,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67950,"src":"37971:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68045,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67957,"src":"37994:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37971:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37946:60:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68048,"nodeType":"ExpressionStatement","src":"37946:60:98"}]},"id":68050,"nodeType":"IfStatement","src":"37651:370:98","trueBody":{"id":68034,"nodeType":"Block","src":"37693:161:98","statements":[{"expression":{"id":68024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68020,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65921,"src":"37711:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68021,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67957,"src":"37726:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68022,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67950,"src":"37741:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37726:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37711:50:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68025,"nodeType":"ExpressionStatement","src":"37711:50:98"},{"expression":{"id":68032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68026,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"37779:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68028,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37788:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"37779:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68029,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67957,"src":"37804:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68030,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67950,"src":"37819:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37804:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37779:60:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68033,"nodeType":"ExpressionStatement","src":"37779:60:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68051,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"38038:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68052,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38047:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65586,"src":"38038:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38060:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38038:23:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":68078,"nodeType":"Block","src":"38135:209:98","statements":[{"expression":{"arguments":[{"id":68064,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"38180:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":68065,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67950,"src":"38190:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68063,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68418,"src":"38153:26:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$65604_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":68066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38153:58:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68067,"nodeType":"ExpressionStatement","src":"38153:58:98"},{"eventCall":{"arguments":[{"id":68069,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67798,"src":"38247:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":68070,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67823,"src":"38256:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68071,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67957,"src":"38268:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68072,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"38282:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68073,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38291:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"38282:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68074,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"38305:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68075,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38314:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"38305:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68068,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65824,"src":"38234:12:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":68076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38234:95:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68077,"nodeType":"EmitStatement","src":"38229:100:98"}]},"id":68079,"nodeType":"IfStatement","src":"38034:310:98","trueBody":{"id":68062,"nodeType":"Block","src":"38063:66:98","statements":[{"expression":{"id":68060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68055,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"38081:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68057,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"38090:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65586,"src":"38081:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68058,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"38102:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38108:6:98","memberName":"number","nodeType":"MemberAccess","src":"38102:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38081:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68061,"nodeType":"ExpressionStatement","src":"38081:33:98"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67815,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67812,"src":"35055:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67816,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67802,"src":"35059:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35076:6:98","memberName":"length","nodeType":"MemberAccess","src":"35059:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35055:27:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68081,"initializationExpression":{"assignments":[67812],"declarations":[{"constant":false,"id":67812,"mutability":"mutable","name":"i","nameLocation":"35048:1:98","nodeType":"VariableDeclaration","scope":68081,"src":"35040:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67811,"name":"uint256","nodeType":"ElementaryTypeName","src":"35040:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67814,"initialValue":{"hexValue":"30","id":67813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35052:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35040:13:98"},"loopExpression":{"expression":{"id":67820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35084:3:98","subExpression":{"id":67819,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67812,"src":"35084:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67821,"nodeType":"ExpressionStatement","src":"35084:3:98"},"nodeType":"ForStatement","src":"35035:3319:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addSupport","nameLocation":"34882:11:98","parameters":{"id":67803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67798,"mutability":"mutable","name":"_sender","nameLocation":"34902:7:98","nodeType":"VariableDeclaration","scope":68083,"src":"34894:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67797,"name":"address","nodeType":"ElementaryTypeName","src":"34894:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67802,"mutability":"mutable","name":"_proposalSupport","nameLocation":"34951:16:98","nodeType":"VariableDeclaration","scope":68083,"src":"34911:56:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":67800,"nodeType":"UserDefinedTypeName","pathNode":{"id":67799,"name":"StrategyStruct.ProposalSupport","nameLocations":["34911:14:98","34926:15:98"],"nodeType":"IdentifierPath","referencedDeclaration":65609,"src":"34911:30:98"},"referencedDeclaration":65609,"src":"34911:30:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65609_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":67801,"nodeType":"ArrayTypeName","src":"34911:32:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"34893:75:98"},"returnParameters":{"id":67804,"nodeType":"ParameterList","parameters":[],"src":"34986:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":68118,"nodeType":"FunctionDefinition","src":"38366:284:98","nodes":[],"body":{"id":68117,"nodeType":"Block","src":"38460:190:98","nodes":[],"statements":[{"assignments":[68093],"declarations":[{"constant":false,"id":68093,"mutability":"mutable","name":"result","nameLocation":"38477:6:98","nodeType":"VariableDeclaration","scope":68117,"src":"38470:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":68092,"name":"int256","nodeType":"ElementaryTypeName","src":"38470:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":68100,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":68099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":68096,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68085,"src":"38493:8:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68095,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38486:6:98","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":68094,"name":"int256","nodeType":"ElementaryTypeName","src":"38486:6:98","typeDescriptions":{}}},"id":68097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38486:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68098,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68087,"src":"38505:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"38486:25:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"38470:41:98"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":68103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68101,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68093,"src":"38526:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":68102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38535:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38526:10:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68111,"nodeType":"IfStatement","src":"38522:90:98","trueBody":{"id":68110,"nodeType":"Block","src":"38538:74:98","statements":[{"errorCall":{"arguments":[{"id":68105,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68085,"src":"38576:8:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68106,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68087,"src":"38586:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":68107,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68093,"src":"38594:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":68104,"name":"SupportUnderflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65695,"src":"38559:16:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":68108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38559:42:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68109,"nodeType":"RevertStatement","src":"38552:49:98"}]}},{"expression":{"arguments":[{"id":68114,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68093,"src":"38636:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":68113,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38628:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":68112,"name":"uint256","nodeType":"ElementaryTypeName","src":"38628:7:98","typeDescriptions":{}}},"id":68115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38628:15:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68091,"id":68116,"nodeType":"Return","src":"38621:22:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_applyDelta","nameLocation":"38375:11:98","parameters":{"id":68088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68085,"mutability":"mutable","name":"_support","nameLocation":"38395:8:98","nodeType":"VariableDeclaration","scope":68118,"src":"38387:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68084,"name":"uint256","nodeType":"ElementaryTypeName","src":"38387:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68087,"mutability":"mutable","name":"_delta","nameLocation":"38412:6:98","nodeType":"VariableDeclaration","scope":68118,"src":"38405:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":68086,"name":"int256","nodeType":"ElementaryTypeName","src":"38405:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"38386:33:98"},"returnParameters":{"id":68091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68090,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68118,"src":"38451:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68089,"name":"uint256","nodeType":"ElementaryTypeName","src":"38451:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38450:9:98"},"scope":69234,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68176,"nodeType":"FunctionDefinition","src":"39067:1191:98","nodes":[],"body":{"id":68175,"nodeType":"Block","src":"39230:1028:98","nodes":[],"statements":[{"assignments":[68131],"declarations":[{"constant":false,"id":68131,"mutability":"mutable","name":"t","nameLocation":"39248:1:98","nodeType":"VariableDeclaration","scope":68175,"src":"39240:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68130,"name":"uint256","nodeType":"ElementaryTypeName","src":"39240:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68133,"initialValue":{"id":68132,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68121,"src":"39252:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"39240:23:98"},{"assignments":[68135],"declarations":[{"constant":false,"id":68135,"mutability":"mutable","name":"atTWO_128","nameLocation":"39586:9:98","nodeType":"VariableDeclaration","scope":68175,"src":"39578:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68134,"name":"uint256","nodeType":"ElementaryTypeName","src":"39578:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68146,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68137,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"39604:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68138,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39613:5:98","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65632,"src":"39604:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":68139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39622:3:98","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"39604:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68141,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39603:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68142,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"39629:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39603:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68144,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68131,"src":"39632:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68136,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68369,"src":"39598:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":68145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39598:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"39578:56:98"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68147,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68135,"src":"40130:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68148,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68123,"src":"40142:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40130:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68150,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40129:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68151,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68125,"src":"40157:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68152,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"40170:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40157:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68154,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65892,"src":"40175:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68155,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68135,"src":"40185:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40175:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68157,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40174:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40157:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68159,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40156:40:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68160,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"40200:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68161,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"40204:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68162,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40213:5:98","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65632,"src":"40204:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40200:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68164,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40199:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40156:63:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68166,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40155:65:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40129:91:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68168,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40128:93:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68169,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65895,"src":"40224:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40128:103:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68171,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40127:105:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":68172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40248:3:98","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"40127:124:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68129,"id":68174,"nodeType":"Return","src":"40120:131:98"}]},"documentation":{"id":68119,"nodeType":"StructuredDocumentation","src":"38656:406:98","text":" @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction"},"functionSelector":"346db8cb","implemented":true,"kind":"function","modifiers":[],"name":"calculateConviction","nameLocation":"39076:19:98","parameters":{"id":68126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68121,"mutability":"mutable","name":"_timePassed","nameLocation":"39104:11:98","nodeType":"VariableDeclaration","scope":68176,"src":"39096:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68120,"name":"uint256","nodeType":"ElementaryTypeName","src":"39096:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68123,"mutability":"mutable","name":"_lastConv","nameLocation":"39125:9:98","nodeType":"VariableDeclaration","scope":68176,"src":"39117:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68122,"name":"uint256","nodeType":"ElementaryTypeName","src":"39117:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68125,"mutability":"mutable","name":"_oldAmount","nameLocation":"39144:10:98","nodeType":"VariableDeclaration","scope":68176,"src":"39136:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68124,"name":"uint256","nodeType":"ElementaryTypeName","src":"39136:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39095:60:98"},"returnParameters":{"id":68129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68128,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68176,"src":"39217:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68127,"name":"uint256","nodeType":"ElementaryTypeName","src":"39217:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39216:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68269,"nodeType":"FunctionDefinition","src":"40839:1549:98","nodes":[],"body":{"id":68268,"nodeType":"Block","src":"40942:1446:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68184,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"41076:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":68185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41090:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"41076:15:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68191,"nodeType":"IfStatement","src":"41072:66:98","trueBody":{"id":68190,"nodeType":"Block","src":"41093:45:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68187,"name":"PoolIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65673,"src":"41114:11:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41114:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68189,"nodeType":"RevertStatement","src":"41107:20:98"}]}},{"condition":{"arguments":[{"id":68193,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68179,"src":"41594:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68192,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67699,"src":"41578:15:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":68194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41578:33:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68199,"nodeType":"IfStatement","src":"41574:91:98","trueBody":{"id":68198,"nodeType":"Block","src":"41613:52:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68195,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65681,"src":"41634:18:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41634:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68197,"nodeType":"RevertStatement","src":"41627:27:98"}]}},{"assignments":[68201],"declarations":[{"constant":false,"id":68201,"mutability":"mutable","name":"denom","nameLocation":"41821:5:98","nodeType":"VariableDeclaration","scope":68268,"src":"41813:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68200,"name":"uint256","nodeType":"ElementaryTypeName","src":"41813:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68220,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68202,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"41830:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68203,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41839:8:98","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":65628,"src":"41830:17:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":68206,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":68204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41850:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":68205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41855:2:98","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41850:7:98","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"41830:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68208,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41829:29:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68209,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"41861:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41829:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68211,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68179,"src":"41866:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":68214,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":68212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41885:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":68213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41890:2:98","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41885:7:98","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"41866:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68216,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41865:28:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68217,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"41896:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41865:41:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41829:77:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"41813:93:98"},{"expression":{"id":68255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68221,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68182,"src":"41916:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68222,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"41948:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68223,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41957:6:98","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":65630,"src":"41948:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":68224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41967:3:98","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"41948:22:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68226,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41947:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68227,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"41974:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41947:28:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68229,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41946:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68230,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68201,"src":"41981:5:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68231,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68201,"src":"41989:5:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41981:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68233,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41980:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":68234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41999:2:98","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41980:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68236,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41979:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41946:56:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68238,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41945:58:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68239,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"42006:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41945:62:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68241,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41944:64:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68242,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"42012:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68243,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"42016:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68244,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42025:5:98","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65632,"src":"42016:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42012:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68246,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"42011:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41944:87:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68248,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41943:89:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":68249,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68377,"src":"42051:26:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":68250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42051:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41943:136:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68252,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41929:160:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":68253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42093:2:98","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41929:166:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41916:179:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68256,"nodeType":"ExpressionStatement","src":"41916:179:98"},{"expression":{"id":68266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68257,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68182,"src":"42285:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68258,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68182,"src":"42298:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":68259,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"42311:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68260,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42320:18:98","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":65634,"src":"42311:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42298:40:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":68263,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"42354:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68264,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42363:18:98","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":65634,"src":"42354:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"42298:83:98","trueExpression":{"id":68262,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68182,"src":"42341:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42285:96:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68267,"nodeType":"ExpressionStatement","src":"42285:96:98"}]},"documentation":{"id":68177,"nodeType":"StructuredDocumentation","src":"40264:570:98","text":" @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it."},"functionSelector":"59a5db8b","implemented":true,"kind":"function","modifiers":[],"name":"calculateThreshold","nameLocation":"40848:18:98","parameters":{"id":68180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68179,"mutability":"mutable","name":"_requestedAmount","nameLocation":"40875:16:98","nodeType":"VariableDeclaration","scope":68269,"src":"40867:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68178,"name":"uint256","nodeType":"ElementaryTypeName","src":"40867:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40866:26:98"},"returnParameters":{"id":68183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68182,"mutability":"mutable","name":"_threshold","nameLocation":"40930:10:98","nodeType":"VariableDeclaration","scope":68269,"src":"40922:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68181,"name":"uint256","nodeType":"ElementaryTypeName","src":"40922:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40921:20:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68304,"nodeType":"FunctionDefinition","src":"42649:277:98","nodes":[],"body":{"id":68303,"nodeType":"Block","src":"42735:191:98","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68280,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68272,"src":"42753:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":68281,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65892,"src":"42759:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42753:13:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":68283,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42768:42:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":68279,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"42745:7:98","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42745:66:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68285,"nodeType":"ExpressionStatement","src":"42745:66:98"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68287,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68274,"src":"42829:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":68288,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65892,"src":"42834:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42829:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":68290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42843:30:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":68286,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"42821:7:98","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42821:53:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68292,"nodeType":"ExpressionStatement","src":"42821:53:98"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68293,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68272,"src":"42893:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68294,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68274,"src":"42898:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42893:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68296,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"42892:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68297,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65895,"src":"42904:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42892:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68299,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"42891:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":68300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42916:3:98","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"42891:28:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68278,"id":68302,"nodeType":"Return","src":"42884:35:98"}]},"documentation":{"id":68270,"nodeType":"StructuredDocumentation","src":"42394:250:98","text":" Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"42658:4:98","parameters":{"id":68275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68272,"mutability":"mutable","name":"_a","nameLocation":"42671:2:98","nodeType":"VariableDeclaration","scope":68304,"src":"42663:10:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68271,"name":"uint256","nodeType":"ElementaryTypeName","src":"42663:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68274,"mutability":"mutable","name":"_b","nameLocation":"42683:2:98","nodeType":"VariableDeclaration","scope":68304,"src":"42675:10:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68273,"name":"uint256","nodeType":"ElementaryTypeName","src":"42675:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42662:24:98"},"returnParameters":{"id":68278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68277,"mutability":"mutable","name":"_result","nameLocation":"42726:7:98","nodeType":"VariableDeclaration","scope":68304,"src":"42718:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68276,"name":"uint256","nodeType":"ElementaryTypeName","src":"42718:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42717:17:98"},"scope":69234,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68369,"nodeType":"FunctionDefinition","src":"43148:455:98","nodes":[],"body":{"id":68368,"nodeType":"Block","src":"43234:369:98","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68315,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68307,"src":"43252:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":68316,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65892,"src":"43257:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43252:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":68318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43266:30:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":68314,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"43244:7:98","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43244:53:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68320,"nodeType":"ExpressionStatement","src":"43244:53:98"},{"assignments":[68322],"declarations":[{"constant":false,"id":68322,"mutability":"mutable","name":"a","nameLocation":"43315:1:98","nodeType":"VariableDeclaration","scope":68368,"src":"43307:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68321,"name":"uint256","nodeType":"ElementaryTypeName","src":"43307:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68324,"initialValue":{"id":68323,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68307,"src":"43319:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"43307:14:98"},{"assignments":[68326],"declarations":[{"constant":false,"id":68326,"mutability":"mutable","name":"b","nameLocation":"43339:1:98","nodeType":"VariableDeclaration","scope":68368,"src":"43331:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68325,"name":"uint256","nodeType":"ElementaryTypeName","src":"43331:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68328,"initialValue":{"id":68327,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68309,"src":"43343:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"43331:14:98"},{"expression":{"id":68331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68329,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68312,"src":"43355:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68330,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65892,"src":"43365:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43355:17:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68332,"nodeType":"ExpressionStatement","src":"43355:17:98"},{"body":{"id":68366,"nodeType":"Block","src":"43396:201:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68336,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68326,"src":"43414:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":68337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43418:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"43414:5:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43423:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43414:10:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":68364,"nodeType":"Block","src":"43504:83:98","statements":[{"expression":{"id":68358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68353,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68312,"src":"43522:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68355,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68312,"src":"43537:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68356,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68322,"src":"43546:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68354,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68304,"src":"43532:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":68357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43532:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43522:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68359,"nodeType":"ExpressionStatement","src":"43522:26:98"},{"expression":{"id":68362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68360,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68326,"src":"43566:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":68361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43571:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"43566:6:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68363,"nodeType":"ExpressionStatement","src":"43566:6:98"}]},"id":68365,"nodeType":"IfStatement","src":"43410:177:98","trueBody":{"id":68352,"nodeType":"Block","src":"43426:72:98","statements":[{"expression":{"id":68346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68341,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68322,"src":"43444:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68343,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68322,"src":"43453:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68344,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68322,"src":"43456:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68342,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68304,"src":"43448:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":68345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43448:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43444:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68347,"nodeType":"ExpressionStatement","src":"43444:14:98"},{"expression":{"id":68350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68348,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68326,"src":"43476:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":68349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43482:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"43476:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68351,"nodeType":"ExpressionStatement","src":"43476:7:98"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68333,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68326,"src":"43389:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":68334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43393:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43389:5:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68367,"nodeType":"WhileStatement","src":"43382:215:98"}]},"documentation":{"id":68305,"nodeType":"StructuredDocumentation","src":"42932:211:98","text":" Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"43157:4:98","parameters":{"id":68310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68307,"mutability":"mutable","name":"_a","nameLocation":"43170:2:98","nodeType":"VariableDeclaration","scope":68369,"src":"43162:10:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68306,"name":"uint256","nodeType":"ElementaryTypeName","src":"43162:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68309,"mutability":"mutable","name":"_b","nameLocation":"43182:2:98","nodeType":"VariableDeclaration","scope":68369,"src":"43174:10:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68308,"name":"uint256","nodeType":"ElementaryTypeName","src":"43174:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43161:24:98"},"returnParameters":{"id":68313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68312,"mutability":"mutable","name":"_result","nameLocation":"43225:7:98","nodeType":"VariableDeclaration","scope":68369,"src":"43217:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68311,"name":"uint256","nodeType":"ElementaryTypeName","src":"43217:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43216:17:98"},"scope":69234,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68377,"nodeType":"FunctionDefinition","src":"43609:120:98","nodes":[],"body":{"id":68376,"nodeType":"Block","src":"43685:44:98","nodes":[],"statements":[{"expression":{"id":68374,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65923,"src":"43702:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68373,"id":68375,"nodeType":"Return","src":"43695:27:98"}]},"functionSelector":"d1e36232","implemented":true,"kind":"function","modifiers":[],"name":"totalEffectiveActivePoints","nameLocation":"43618:26:98","parameters":{"id":68370,"nodeType":"ParameterList","parameters":[],"src":"43644:2:98"},"returnParameters":{"id":68373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68372,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68377,"src":"43676:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68371,"name":"uint256","nodeType":"ElementaryTypeName","src":"43676:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43675:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68418,"nodeType":"FunctionDefinition","src":"43919:424:98","nodes":[],"body":{"id":68417,"nodeType":"Block","src":"44055:288:98","nodes":[],"statements":[{"assignments":[68387,68389],"declarations":[{"constant":false,"id":68387,"mutability":"mutable","name":"conviction","nameLocation":"44074:10:98","nodeType":"VariableDeclaration","scope":68417,"src":"44066:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68386,"name":"uint256","nodeType":"ElementaryTypeName","src":"44066:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68389,"mutability":"mutable","name":"blockNumber","nameLocation":"44094:11:98","nodeType":"VariableDeclaration","scope":68417,"src":"44086:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68388,"name":"uint256","nodeType":"ElementaryTypeName","src":"44086:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68394,"initialValue":{"arguments":[{"id":68391,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68381,"src":"44143:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":68392,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68383,"src":"44154:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68390,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68465,"src":"44109:33:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$65604_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":68393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44109:56:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"44065:100:98"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68395,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68387,"src":"44179:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44193:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"44179:15:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68398,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68389,"src":"44198:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44213:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"44198:16:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"44179:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68404,"nodeType":"IfStatement","src":"44175:72:98","trueBody":{"id":68403,"nodeType":"Block","src":"44216:31:98","statements":[{"functionReturnParameters":68385,"id":68402,"nodeType":"Return","src":"44230:7:98"}]}},{"expression":{"id":68409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68405,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68381,"src":"44256:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68407,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"44266:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65586,"src":"44256:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68408,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68389,"src":"44278:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44256:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68410,"nodeType":"ExpressionStatement","src":"44256:33:98"},{"expression":{"id":68415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68411,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68381,"src":"44299:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68413,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"44309:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"44299:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68414,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68387,"src":"44326:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44299:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68416,"nodeType":"ExpressionStatement","src":"44299:37:98"}]},"documentation":{"id":68378,"nodeType":"StructuredDocumentation","src":"43735:179:98","text":" @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now"},"implemented":true,"kind":"function","modifiers":[],"name":"_calculateAndSetConviction","nameLocation":"43928:26:98","parameters":{"id":68384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68381,"mutability":"mutable","name":"_proposal","nameLocation":"43987:9:98","nodeType":"VariableDeclaration","scope":68418,"src":"43955:41:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68380,"nodeType":"UserDefinedTypeName","pathNode":{"id":68379,"name":"StrategyStruct.Proposal","nameLocations":["43955:14:98","43970:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"43955:23:98"},"referencedDeclaration":65604,"src":"43955:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":68383,"mutability":"mutable","name":"_oldStaked","nameLocation":"44006:10:98","nodeType":"VariableDeclaration","scope":68418,"src":"43998:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68382,"name":"uint256","nodeType":"ElementaryTypeName","src":"43998:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43954:63:98"},"returnParameters":{"id":68385,"nodeType":"ParameterList","parameters":[],"src":"44055:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":68465,"nodeType":"FunctionDefinition","src":"44349:845:98","nodes":[],"body":{"id":68464,"nodeType":"Block","src":"44563:631:98","nodes":[],"statements":[{"expression":{"id":68433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68430,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68428,"src":"44573:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68431,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"44587:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44593:6:98","memberName":"number","nodeType":"MemberAccess","src":"44587:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44573:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68434,"nodeType":"ExpressionStatement","src":"44573:26:98"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68436,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68421,"src":"44616:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68437,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44626:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65586,"src":"44616:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":68438,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68428,"src":"44639:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44616:34:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":68435,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"44609:6:98","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":68440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44609:42:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68441,"nodeType":"ExpressionStatement","src":"44609:42:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68442,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68421,"src":"44665:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68443,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44675:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65586,"src":"44665:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":68444,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68428,"src":"44688:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44665:34:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68451,"nodeType":"IfStatement","src":"44661:173:98","trueBody":{"id":68450,"nodeType":"Block","src":"44701:133:98","statements":[{"expression":{"components":[{"hexValue":"30","id":68446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44789:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":68447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44792:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":68448,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"44788:6:98","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"functionReturnParameters":68429,"id":68449,"nodeType":"Return","src":"44781:13:98"}]}},{"expression":{"id":68462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68452,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68426,"src":"44887:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68454,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68428,"src":"45043:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68455,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68421,"src":"45057:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68456,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45067:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65586,"src":"45057:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45043:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68458,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68421,"src":"45129:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68459,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45139:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"45129:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68460,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68423,"src":"45167:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68453,"name":"calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68176,"src":"44900:19:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (uint256)"}},"id":68461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44900:287:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44887:300:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68463,"nodeType":"ExpressionStatement","src":"44887:300:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_checkBlockAndCalculateConviction","nameLocation":"44358:33:98","parameters":{"id":68424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68421,"mutability":"mutable","name":"_proposal","nameLocation":"44424:9:98","nodeType":"VariableDeclaration","scope":68465,"src":"44392:41:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68420,"nodeType":"UserDefinedTypeName","pathNode":{"id":68419,"name":"StrategyStruct.Proposal","nameLocations":["44392:14:98","44407:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"44392:23:98"},"referencedDeclaration":65604,"src":"44392:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":68423,"mutability":"mutable","name":"_oldStaked","nameLocation":"44443:10:98","nodeType":"VariableDeclaration","scope":68465,"src":"44435:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68422,"name":"uint256","nodeType":"ElementaryTypeName","src":"44435:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44391:63:98"},"returnParameters":{"id":68429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68426,"mutability":"mutable","name":"conviction","nameLocation":"44526:10:98","nodeType":"VariableDeclaration","scope":68465,"src":"44518:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68425,"name":"uint256","nodeType":"ElementaryTypeName","src":"44518:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68428,"mutability":"mutable","name":"blockNumber","nameLocation":"44546:11:98","nodeType":"VariableDeclaration","scope":68465,"src":"44538:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68427,"name":"uint256","nodeType":"ElementaryTypeName","src":"44538:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44517:41:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":68617,"nodeType":"FunctionDefinition","src":"45200:2409:98","nodes":[],"body":{"id":68616,"nodeType":"Block","src":"45363:2246:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68474,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"45390:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68475,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45408:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"45390:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":68478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45432:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":68477,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45424:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68476,"name":"address","nodeType":"ElementaryTypeName","src":"45424:7:98","typeDescriptions":{}}},"id":68479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45424:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45390:44:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":68483,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"45446:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45464:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"45446:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}],"id":68482,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45438:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68481,"name":"address","nodeType":"ElementaryTypeName","src":"45438:7:98","typeDescriptions":{}}},"id":68485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45438:37:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":68488,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45487:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":68487,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45479:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68486,"name":"address","nodeType":"ElementaryTypeName","src":"45479:7:98","typeDescriptions":{}}},"id":68489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45479:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45438:51:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45390:99:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68492,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"45531:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68493,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45549:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"45531:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68494,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"45565:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68496,"indexExpression":{"id":68495,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"45583:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45565:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68497,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45615:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"45565:62:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45531:96:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"},"id":68505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68499,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"45655:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68500,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45673:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"45655:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68501,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"45687:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68503,"indexExpression":{"id":68502,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"45705:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45687:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68504,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45737:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"45687:60:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"src":"45655:92:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45531:216:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68507,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"45775:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68508,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45793:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"45775:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68509,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"45850:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68511,"indexExpression":{"id":68510,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"45868:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45850:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68512,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45900:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"45850:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45775:150:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45531:394:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68515,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"45953:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68516,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45971:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"45953:44:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68517,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"46029:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68519,"indexExpression":{"id":68518,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"46047:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46029:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68520,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46079:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"46029:76:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45953:152:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45531:574:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68523,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"46133:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68524,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46151:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"46133:31:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68525,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"46168:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68527,"indexExpression":{"id":68526,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"46186:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46168:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68528,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46218:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"46168:63:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46133:98:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45531:700:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68531,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"46259:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68532,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46277:20:98","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"46259:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68533,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"46329:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68535,"indexExpression":{"id":68534,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"46347:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46329:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68536,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46379:20:98","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"46329:70:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46259:140:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45531:868:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":68539,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"45509:908:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45390:1027:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68607,"nodeType":"IfStatement","src":"45373:2158:98","trueBody":{"id":68606,"nodeType":"Block","src":"46428:1103:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68541,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"46463:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68543,"indexExpression":{"id":68542,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"46481:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46463:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68544,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46513:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"46463:62:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":68545,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"46529:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68546,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46547:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"46529:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"46463:96:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"},"id":68554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68548,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"46583:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68550,"indexExpression":{"id":68549,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"46601:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46583:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68551,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46633:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"46583:60:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":68552,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"46647:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68553,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46665:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"46647:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"src":"46583:92:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"46463:212:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68580,"nodeType":"IfStatement","src":"46442:522:98","trueBody":{"id":68579,"nodeType":"Block","src":"46690:274:98","statements":[{"expression":{"arguments":[{"expression":{"id":68561,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"46750:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68562,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46768:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"46750:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":68556,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"46708:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68559,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46726:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"46708:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"id":68560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46737:12:98","memberName":"registerSafe","nodeType":"MemberAccess","referencedDeclaration":74043,"src":"46708:41:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":68563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46708:73:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68564,"nodeType":"ExpressionStatement","src":"46708:73:98"},{"eventCall":{"arguments":[{"arguments":[{"id":68568,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"46855:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":68567,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46847:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68566,"name":"address","nodeType":"ElementaryTypeName","src":"46847:7:98","typeDescriptions":{}}},"id":68569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46847:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":68572,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"46870:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68573,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46888:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"46870:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}],"id":68571,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46862:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68570,"name":"address","nodeType":"ElementaryTypeName","src":"46862:7:98","typeDescriptions":{}}},"id":68574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46862:37:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68575,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"46901:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68576,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46919:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"46901:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":68565,"name":"TribunaSafeRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65862,"src":"46804:21:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function (address,address,address)"}},"id":68577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46804:145:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68578,"nodeType":"EmitStatement","src":"46799:150:98"}]}},{"expression":{"id":68582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"46978:32:98","subExpression":{"id":68581,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"46978:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68583,"nodeType":"ExpressionStatement","src":"46978:32:98"},{"expression":{"id":68588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68584,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"47024:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68586,"indexExpression":{"id":68585,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"47042:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"47024:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68587,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"47076:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"src":"47024:69:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68589,"nodeType":"ExpressionStatement","src":"47024:69:98"},{"eventCall":{"arguments":[{"id":68591,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"47154:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68592,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"47202:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68593,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47220:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"47202:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},{"expression":{"id":68594,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"47248:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68595,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47266:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"47248:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68596,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"47296:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68597,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47314:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"47296:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68598,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"47357:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68599,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47375:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"47357:44:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68600,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"47419:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68601,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47437:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"47419:31:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68602,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"47468:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68603,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47486:20:98","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"47468:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68590,"name":"ArbitrableConfigUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65883,"src":"47113:23:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_contract$_IArbitrator_$74044_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"id":68604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47113:407:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68605,"nodeType":"EmitStatement","src":"47108:412:98"}]}},{"expression":{"id":68610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68608,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"47541:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68609,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68471,"src":"47552:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"src":"47541:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68611,"nodeType":"ExpressionStatement","src":"47541:20:98"},{"eventCall":{"arguments":[{"id":68613,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68471,"src":"47592:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":68612,"name":"CVParamsUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65829,"src":"47576:15:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_struct$_CVParams_$65635_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.CVParams memory)"}},"id":68614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47576:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68615,"nodeType":"EmitStatement","src":"47571:31:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_setPoolParams","nameLocation":"45209:14:98","parameters":{"id":68472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68468,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"45272:17:98","nodeType":"VariableDeclaration","scope":68617,"src":"45233:56:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":68467,"nodeType":"UserDefinedTypeName","pathNode":{"id":68466,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["45233:14:98","45248:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65626,"src":"45233:31:98"},"referencedDeclaration":65626,"src":"45233:31:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":68471,"mutability":"mutable","name":"_cvParams","nameLocation":"45330:9:98","nodeType":"VariableDeclaration","scope":68617,"src":"45299:40:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":68470,"nodeType":"UserDefinedTypeName","pathNode":{"id":68469,"name":"StrategyStruct.CVParams","nameLocations":["45299:14:98","45314:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65635,"src":"45299:23:98"},"referencedDeclaration":65635,"src":"45299:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"45223:122:98"},"returnParameters":{"id":68473,"nodeType":"ParameterList","parameters":[],"src":"45363:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":68653,"nodeType":"FunctionDefinition","src":"47615:639:98","nodes":[],"body":{"id":68652,"nodeType":"Block","src":"47702:552:98","nodes":[],"statements":[{"assignments":[68628],"declarations":[{"constant":false,"id":68628,"mutability":"mutable","name":"proposal","nameLocation":"47744:8:98","nodeType":"VariableDeclaration","scope":68652,"src":"47712:40:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68627,"nodeType":"UserDefinedTypeName","pathNode":{"id":68626,"name":"StrategyStruct.Proposal","nameLocations":["47712:14:98","47727:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"47712:23:98"},"referencedDeclaration":65604,"src":"47712:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68632,"initialValue":{"baseExpression":{"id":68629,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"47755:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68631,"indexExpression":{"id":68630,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68619,"src":"47765:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"47755:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"47712:64:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68633,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68628,"src":"47791:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68634,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47800:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65572,"src":"47791:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":68635,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68619,"src":"47814:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47791:33:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68642,"nodeType":"IfStatement","src":"47787:100:98","trueBody":{"id":68641,"nodeType":"Block","src":"47826:61:98","statements":[{"errorCall":{"arguments":[{"id":68638,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68619,"src":"47865:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68637,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65717,"src":"47847:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47847:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68640,"nodeType":"RevertStatement","src":"47840:36:98"}]}},{"expression":{"arguments":[{"id":68644,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68628,"src":"48175:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":68645,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68628,"src":"48185:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68646,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48194:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"48185:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68643,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68418,"src":"48148:26:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$65604_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":68647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48148:59:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68648,"nodeType":"ExpressionStatement","src":"48148:59:98"},{"expression":{"expression":{"id":68649,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68628,"src":"48224:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68650,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48233:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"48224:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68623,"id":68651,"nodeType":"Return","src":"48217:30:98"}]},"functionSelector":"1aa91a9e","implemented":true,"kind":"function","modifiers":[],"name":"updateProposalConviction","nameLocation":"47624:24:98","parameters":{"id":68620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68619,"mutability":"mutable","name":"proposalId","nameLocation":"47657:10:98","nodeType":"VariableDeclaration","scope":68653,"src":"47649:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68618,"name":"uint256","nodeType":"ElementaryTypeName","src":"47649:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47648:20:98"},"returnParameters":{"id":68623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68622,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68653,"src":"47693:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68621,"name":"uint256","nodeType":"ElementaryTypeName","src":"47693:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47692:9:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":68673,"nodeType":"FunctionDefinition","src":"48260:141:98","nodes":[],"body":{"id":68672,"nodeType":"Block","src":"48340:61:98","nodes":[],"statements":[{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68660,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68655,"src":"48359:6:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68661,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"48368:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48359:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68663,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"48358:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68664,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"48374:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68665,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"48378:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68666,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48387:5:98","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65632,"src":"48378:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48374:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68668,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"48373:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48358:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68670,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"48357:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68659,"id":68671,"nodeType":"Return","src":"48350:44:98"}]},"functionSelector":"950559d7","implemented":true,"kind":"function","modifiers":[],"name":"getMaxConviction","nameLocation":"48269:16:98","parameters":{"id":68656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68655,"mutability":"mutable","name":"amount","nameLocation":"48294:6:98","nodeType":"VariableDeclaration","scope":68673,"src":"48286:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68654,"name":"uint256","nodeType":"ElementaryTypeName","src":"48286:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48285:16:98"},"returnParameters":{"id":68659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68658,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68673,"src":"48331:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68657,"name":"uint256","nodeType":"ElementaryTypeName","src":"48331:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48330:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68692,"nodeType":"FunctionDefinition","src":"48752:189:98","nodes":[],"body":{"id":68691,"nodeType":"Block","src":"48815:126:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":68678,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66218,"src":"48825:15:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":68679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48825:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68680,"nodeType":"ExpressionStatement","src":"48825:17:98"},{"expression":{"arguments":[{"id":68682,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68675,"src":"48871:12:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":68681,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66199,"src":"48852:18:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":68683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48852:32:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68684,"nodeType":"ExpressionStatement","src":"48852:32:98"},{"expression":{"id":68689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68685,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65943,"src":"48894:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68687,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68675,"src":"48921:12:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":68686,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70165,"src":"48908:12:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$70165_$","typeString":"type(contract ISybilScorer)"}},"id":68688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48908:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"src":"48894:40:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"id":68690,"nodeType":"ExpressionStatement","src":"48894:40:98"}]},"functionSelector":"ac1ed7b9","implemented":true,"kind":"function","modifiers":[],"name":"setSybilScorer","nameLocation":"48761:14:98","parameters":{"id":68676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68675,"mutability":"mutable","name":"_sybilScorer","nameLocation":"48784:12:98","nodeType":"VariableDeclaration","scope":68692,"src":"48776:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68674,"name":"address","nodeType":"ElementaryTypeName","src":"48776:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"48775:22:98"},"returnParameters":{"id":68677,"nodeType":"ParameterList","parameters":[],"src":"48815:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":68710,"nodeType":"FunctionDefinition","src":"48947:250:98","nodes":[],"body":{"id":68709,"nodeType":"Block","src":"49109:88:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":68701,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66218,"src":"49119:15:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":68702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49119:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68703,"nodeType":"ExpressionStatement","src":"49119:17:98"},{"expression":{"arguments":[{"id":68705,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68695,"src":"49161:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"id":68706,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68698,"src":"49180:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":68704,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68617,"src":"49146:14:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$65626_memory_ptr_$_t_struct$_CVParams_$65635_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":68707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49146:44:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68708,"nodeType":"ExpressionStatement","src":"49146:44:98"}]},"functionSelector":"062f9ece","implemented":true,"kind":"function","modifiers":[],"name":"setPoolParams","nameLocation":"48956:13:98","parameters":{"id":68699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68695,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"49018:17:98","nodeType":"VariableDeclaration","scope":68710,"src":"48979:56:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":68694,"nodeType":"UserDefinedTypeName","pathNode":{"id":68693,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["48979:14:98","48994:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65626,"src":"48979:31:98"},"referencedDeclaration":65626,"src":"48979:31:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":68698,"mutability":"mutable","name":"_cvParams","nameLocation":"49076:9:98","nodeType":"VariableDeclaration","scope":68710,"src":"49045:40:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":68697,"nodeType":"UserDefinedTypeName","pathNode":{"id":68696,"name":"StrategyStruct.CVParams","nameLocations":["49045:14:98","49060:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65635,"src":"49045:23:98"},"referencedDeclaration":65635,"src":"49045:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"48969:122:98"},"returnParameters":{"id":68700,"nodeType":"ParameterList","parameters":[],"src":"49109:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":68903,"nodeType":"FunctionDefinition","src":"49203:2405:98","nodes":[],"body":{"id":68902,"nodeType":"Block","src":"49389:2219:98","nodes":[],"statements":[{"assignments":[68725],"declarations":[{"constant":false,"id":68725,"mutability":"mutable","name":"proposal","nameLocation":"49431:8:98","nodeType":"VariableDeclaration","scope":68902,"src":"49399:40:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68724,"nodeType":"UserDefinedTypeName","pathNode":{"id":68723,"name":"StrategyStruct.Proposal","nameLocations":["49399:14:98","49414:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"49399:23:98"},"referencedDeclaration":65604,"src":"49399:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68729,"initialValue":{"baseExpression":{"id":68726,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"49442:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68728,"indexExpression":{"id":68727,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68712,"src":"49452:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"49442:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"49399:64:98"},{"assignments":[68734],"declarations":[{"constant":false,"id":68734,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"49512:16:98","nodeType":"VariableDeclaration","scope":68902,"src":"49473:55:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":68733,"nodeType":"UserDefinedTypeName","pathNode":{"id":68732,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["49473:14:98","49488:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65626,"src":"49473:31:98"},"referencedDeclaration":65626,"src":"49473:31:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"id":68739,"initialValue":{"baseExpression":{"id":68735,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"49531:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68738,"indexExpression":{"expression":{"id":68736,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"49549:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68737,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49558:23:98","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65603,"src":"49549:32:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"49531:51:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"VariableDeclarationStatement","src":"49473:109:98"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":68742,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"49605:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68743,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49622:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"49605:27:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}],"id":68741,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49597:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68740,"name":"address","nodeType":"ElementaryTypeName","src":"49597:7:98","typeDescriptions":{}}},"id":68744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49597:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":68747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49645:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":68746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49637:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68745,"name":"address","nodeType":"ElementaryTypeName","src":"49637:7:98","typeDescriptions":{}}},"id":68748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49637:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"49597:50:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68754,"nodeType":"IfStatement","src":"49593:112:98","trueBody":{"id":68753,"nodeType":"Block","src":"49649:56:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68750,"name":"ArbitratorCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65753,"src":"49670:22:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49670:24:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68752,"nodeType":"RevertStatement","src":"49663:31:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68755,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"49882:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68756,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49891:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65572,"src":"49882:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":68757,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68712,"src":"49905:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49882:33:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68764,"nodeType":"IfStatement","src":"49878:100:98","trueBody":{"id":68763,"nodeType":"Block","src":"49917:61:98","statements":[{"errorCall":{"arguments":[{"id":68760,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68712,"src":"49956:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68759,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65717,"src":"49938:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49938:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68762,"nodeType":"RevertStatement","src":"49931:36:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"},"id":68770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68765,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"49991:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68766,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50000:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"49991:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":68767,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"50018:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":68768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50033:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"50018:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68769,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50048:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65557,"src":"50018:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49991:63:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68776,"nodeType":"IfStatement","src":"49987:130:98","trueBody":{"id":68775,"nodeType":"Block","src":"50056:61:98","statements":[{"errorCall":{"arguments":[{"id":68772,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68712,"src":"50095:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68771,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65713,"src":"50077:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50077:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68774,"nodeType":"RevertStatement","src":"50070:36:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68777,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"50130:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50134:5:98","memberName":"value","nodeType":"MemberAccess","src":"50130:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":68779,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"50142:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68780,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50159:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"50142:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50130:55:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68790,"nodeType":"IfStatement","src":"50126:171:98","trueBody":{"id":68789,"nodeType":"Block","src":"50187:110:98","statements":[{"errorCall":{"arguments":[{"expression":{"id":68783,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"50231:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50235:5:98","memberName":"value","nodeType":"MemberAccess","src":"50231:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68785,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"50242:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68786,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50259:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"50242:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68782,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"50208:22:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":68787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50208:78:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68788,"nodeType":"RevertStatement","src":"50201:85:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68791,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"50416:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68792,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50425:21:98","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"50416:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":68793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50450:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"50416:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68795,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"50471:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68796,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50480:21:98","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"50471:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68797,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65907,"src":"50504:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50471:53:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":68799,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50527:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50533:9:98","memberName":"timestamp","nodeType":"MemberAccess","src":"50527:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50471:71:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"50416:126:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68815,"nodeType":"IfStatement","src":"50399:325:98","trueBody":{"id":68814,"nodeType":"Block","src":"50553:171:98","statements":[{"errorCall":{"arguments":[{"id":68804,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68712,"src":"50616:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68805,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"50628:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68806,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50637:21:98","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"50628:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68807,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65907,"src":"50661:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50628:53:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68809,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50684:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50690:9:98","memberName":"timestamp","nodeType":"MemberAccess","src":"50684:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50628:71:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68803,"name":"DisputeCooldownNotPassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65767,"src":"50574:24:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":68812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50574:139:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68813,"nodeType":"RevertStatement","src":"50567:146:98"}]}},{"assignments":[68817],"declarations":[{"constant":false,"id":68817,"mutability":"mutable","name":"arbitrationFee","nameLocation":"50742:14:98","nodeType":"VariableDeclaration","scope":68902,"src":"50734:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68816,"name":"uint256","nodeType":"ElementaryTypeName","src":"50734:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68823,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68818,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"50759:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50763:5:98","memberName":"value","nodeType":"MemberAccess","src":"50759:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68820,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"50771:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68821,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50788:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"50771:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50759:55:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"50734:80:98"},{"expression":{"arguments":[{"id":68830,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68712,"src":"50911:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68831,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"50923:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50927:6:98","memberName":"sender","nodeType":"MemberAccess","src":"50923:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":68824,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"50825:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":68826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50841:17:98","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":74056,"src":"50825:33:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":68829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":68827,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"50866:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68828,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50883:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"50866:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"50825:85:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":68833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50825:109:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68834,"nodeType":"ExpressionStatement","src":"50825:109:98"},{"expression":{"id":68844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68835,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68719,"src":"50945:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68841,"name":"RULING_OPTIONS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65904,"src":"51022:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68842,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68716,"src":"51038:10:98","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":68836,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"50957:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68837,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50974:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"50957:27:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"id":68838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50985:13:98","memberName":"createDispute","nodeType":"MemberAccess","referencedDeclaration":73991,"src":"50957:41:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":68840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":68839,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68817,"src":"51006:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"50957:64:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":68843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50957:92:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50945:104:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68845,"nodeType":"ExpressionStatement","src":"50945:104:98"},{"expression":{"id":68852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68846,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"51060:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68848,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"51069:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"51060:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":68849,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"51086:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":68850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51101:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"51086:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51116:8:98","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":65561,"src":"51086:38:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"51060:64:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"id":68853,"nodeType":"ExpressionStatement","src":"51060:64:98"},{"expression":{"id":68860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":68854,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"51134:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68857,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51143:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65599,"src":"51134:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68858,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"51155:9:98","memberName":"disputeId","nodeType":"MemberAccess","referencedDeclaration":65565,"src":"51134:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68859,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68719,"src":"51167:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"51134:42:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68861,"nodeType":"ExpressionStatement","src":"51134:42:98"},{"expression":{"id":68869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":68862,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"51186:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68865,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51195:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65599,"src":"51186:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68866,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"51207:16:98","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":65567,"src":"51186:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68867,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"51226:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51232:9:98","memberName":"timestamp","nodeType":"MemberAccess","src":"51226:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"51186:55:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68870,"nodeType":"ExpressionStatement","src":"51186:55:98"},{"expression":{"id":68878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":68871,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"51251:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68874,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51260:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65599,"src":"51251:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68875,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"51272:10:98","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65569,"src":"51251:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68876,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"51285:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51289:6:98","memberName":"sender","nodeType":"MemberAccess","src":"51285:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"51251:44:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68879,"nodeType":"ExpressionStatement","src":"51251:44:98"},{"expression":{"id":68884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68880,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65961,"src":"51305:21:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":68882,"indexExpression":{"id":68881,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68719,"src":"51327:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"51305:32:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68883,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68712,"src":"51340:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"51305:45:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68885,"nodeType":"ExpressionStatement","src":"51305:45:98"},{"expression":{"id":68887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"51361:14:98","subExpression":{"id":68886,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65915,"src":"51361:12:98","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":68888,"nodeType":"ExpressionStatement","src":"51361:14:98"},{"eventCall":{"arguments":[{"expression":{"id":68890,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"51421:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68891,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51438:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"51421:27:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},{"id":68892,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68712,"src":"51462:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68893,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68719,"src":"51486:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68894,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"51509:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51513:6:98","memberName":"sender","nodeType":"MemberAccess","src":"51509:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":68896,"name":"context","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68714,"src":"51533:7:98","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"expression":{"expression":{"id":68897,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"51554:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68898,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51563:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65599,"src":"51554:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68899,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51575:16:98","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":65567,"src":"51554:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68889,"name":"ProposalDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65854,"src":"51391:16:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$74044_$_t_uint256_$_t_uint256_$_t_address_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256,address,string memory,uint256)"}},"id":68900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51391:210:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68901,"nodeType":"EmitStatement","src":"51386:215:98"}]},"functionSelector":"b41596ec","implemented":true,"kind":"function","modifiers":[],"name":"disputeProposal","nameLocation":"49212:15:98","parameters":{"id":68717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68712,"mutability":"mutable","name":"proposalId","nameLocation":"49236:10:98","nodeType":"VariableDeclaration","scope":68903,"src":"49228:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68711,"name":"uint256","nodeType":"ElementaryTypeName","src":"49228:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68714,"mutability":"mutable","name":"context","nameLocation":"49264:7:98","nodeType":"VariableDeclaration","scope":68903,"src":"49248:23:98","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":68713,"name":"string","nodeType":"ElementaryTypeName","src":"49248:6:98","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":68716,"mutability":"mutable","name":"_extraData","nameLocation":"49288:10:98","nodeType":"VariableDeclaration","scope":68903,"src":"49273:25:98","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":68715,"name":"bytes","nodeType":"ElementaryTypeName","src":"49273:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"49227:72:98"},"returnParameters":{"id":68720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68719,"mutability":"mutable","name":"disputeId","nameLocation":"49374:9:98","nodeType":"VariableDeclaration","scope":68903,"src":"49366:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68718,"name":"uint256","nodeType":"ElementaryTypeName","src":"49366:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49365:19:98"},"scope":69234,"stateMutability":"payable","virtual":true,"visibility":"external"},{"id":69161,"nodeType":"FunctionDefinition","src":"51614:3004:98","nodes":[],"body":{"id":69160,"nodeType":"Block","src":"51691:2927:98","nodes":[],"statements":[{"assignments":[68912],"declarations":[{"constant":false,"id":68912,"mutability":"mutable","name":"proposalId","nameLocation":"51709:10:98","nodeType":"VariableDeclaration","scope":69160,"src":"51701:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68911,"name":"uint256","nodeType":"ElementaryTypeName","src":"51701:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68916,"initialValue":{"baseExpression":{"id":68913,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65961,"src":"51722:21:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":68915,"indexExpression":{"id":68914,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68905,"src":"51744:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"51722:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"51701:54:98"},{"assignments":[68921],"declarations":[{"constant":false,"id":68921,"mutability":"mutable","name":"proposal","nameLocation":"51797:8:98","nodeType":"VariableDeclaration","scope":69160,"src":"51765:40:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68920,"nodeType":"UserDefinedTypeName","pathNode":{"id":68919,"name":"StrategyStruct.Proposal","nameLocations":["51765:14:98","51780:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"51765:23:98"},"referencedDeclaration":65604,"src":"51765:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68925,"initialValue":{"baseExpression":{"id":68922,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"51808:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68924,"indexExpression":{"id":68923,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"51818:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"51808:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"51765:64:98"},{"assignments":[68930],"declarations":[{"constant":false,"id":68930,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"51878:16:98","nodeType":"VariableDeclaration","scope":69160,"src":"51839:55:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":68929,"nodeType":"UserDefinedTypeName","pathNode":{"id":68928,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["51839:14:98","51854:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65626,"src":"51839:31:98"},"referencedDeclaration":65626,"src":"51839:31:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"id":68935,"initialValue":{"baseExpression":{"id":68931,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"51897:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68934,"indexExpression":{"expression":{"id":68932,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"51915:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68933,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51924:23:98","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65603,"src":"51915:32:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"51897:51:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"VariableDeclarationStatement","src":"51839:109:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68936,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"51963:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"51977:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"51963:15:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68944,"nodeType":"IfStatement","src":"51959:82:98","trueBody":{"id":68943,"nodeType":"Block","src":"51980:61:98","statements":[{"errorCall":{"arguments":[{"id":68940,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"52019:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68939,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65717,"src":"52001:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52001:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68942,"nodeType":"RevertStatement","src":"51994:36:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"},"id":68950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68945,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"52054:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68946,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52063:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"52054:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":68947,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"52081:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":68948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52096:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"52081:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68949,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52111:8:98","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":65561,"src":"52081:38:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"52054:65:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68956,"nodeType":"IfStatement","src":"52050:134:98","trueBody":{"id":68955,"nodeType":"Block","src":"52121:63:98","statements":[{"errorCall":{"arguments":[{"id":68952,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"52162:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68951,"name":"ProposalNotDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65751,"src":"52142:19:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52142:31:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68954,"nodeType":"RevertStatement","src":"52135:38:98"}]}},{"assignments":[68958],"declarations":[{"constant":false,"id":68958,"mutability":"mutable","name":"isTimeOut","nameLocation":"52199:9:98","nodeType":"VariableDeclaration","scope":69160,"src":"52194:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68957,"name":"bool","nodeType":"ElementaryTypeName","src":"52194:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":68968,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68959,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"52211:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52217:9:98","memberName":"timestamp","nodeType":"MemberAccess","src":"52211:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":68961,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"52229:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68962,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52238:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65599,"src":"52229:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68963,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52250:16:98","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":65567,"src":"52229:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":68964,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"52269:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68965,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52286:20:98","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"52269:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"52229:77:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"52211:95:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"52194:112:98"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"52321:10:98","subExpression":{"id":68969,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68958,"src":"52322:9:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68971,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"52335:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52339:6:98","memberName":"sender","nodeType":"MemberAccess","src":"52335:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"expression":{"id":68975,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"52357:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68976,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52374:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"52357:27:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}],"id":68974,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"52349:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68973,"name":"address","nodeType":"ElementaryTypeName","src":"52349:7:98","typeDescriptions":{}}},"id":68977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52349:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"52335:50:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"52321:64:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68984,"nodeType":"IfStatement","src":"52317:118:98","trueBody":{"id":68983,"nodeType":"Block","src":"52387:48:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68980,"name":"OnlyArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65747,"src":"52408:14:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52408:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68982,"nodeType":"RevertStatement","src":"52401:23:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68985,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68958,"src":"52449:9:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68986,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68907,"src":"52462:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52473:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"52462:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"52449:25:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69049,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68907,"src":"53246:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":69050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53257:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"53246:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69079,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68907,"src":"53623:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":69080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53634:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"53623:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69140,"nodeType":"IfStatement","src":"53619:839:98","trueBody":{"id":69139,"nodeType":"Block","src":"53637:821:98","statements":[{"expression":{"id":69088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69082,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"53651:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69084,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"53660:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"53651:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69085,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"53677:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":69086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53692:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"53677:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69087,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53707:8:98","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":65562,"src":"53677:38:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"53651:64:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69089,"nodeType":"ExpressionStatement","src":"53651:64:98"},{"expression":{"arguments":[{"id":69093,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"53781:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":69094,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"53793:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69095,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53802:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65599,"src":"53793:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69096,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53814:10:98","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65569,"src":"53793:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69097,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"53826:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69098,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53843:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"53826:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69090,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"53729:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":69092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53745:18:98","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74065,"src":"53729:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":69099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53729:154:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69100,"nodeType":"ExpressionStatement","src":"53729:154:98"},{"expression":{"arguments":[{"id":69104,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"53952:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69105,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"53980:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69106,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53989:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"53980:18:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69109,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"54024:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":69110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54024:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":69111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54047:11:98","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":71055,"src":"54024:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$74170_$","typeString":"function () view external returns (contract ISafe)"}},"id":69112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54024:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}],"id":69108,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"54016:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69107,"name":"address","nodeType":"ElementaryTypeName","src":"54016:7:98","typeDescriptions":{}}},"id":69113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54016:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69114,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"54079:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69116,"indexExpression":{"id":69115,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"54097:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54079:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69117,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54129:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"54079:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":69118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"54157:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"54079:79:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69101,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"53897:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":69103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53913:21:98","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":74076,"src":"53897:37:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":69120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53897:275:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69121,"nodeType":"ExpressionStatement","src":"53897:275:98"},{"expression":{"arguments":[{"id":69125,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"54241:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69126,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"54269:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69127,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54278:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"54269:18:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":69128,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"54305:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69129,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54314:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65599,"src":"54305:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69130,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54326:10:98","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65569,"src":"54305:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69131,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"54354:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69133,"indexExpression":{"id":69132,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"54372:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54354:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69134,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54404:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"54354:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":69135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"54432:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"54354:79:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69122,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"54186:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":69124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54202:21:98","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":74076,"src":"54186:37:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":69137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54186:261:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69138,"nodeType":"ExpressionStatement","src":"54186:261:98"}]}},"id":69141,"nodeType":"IfStatement","src":"53242:1216:98","trueBody":{"id":69078,"nodeType":"Block","src":"53260:353:98","statements":[{"expression":{"id":69058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69052,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"53274:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69054,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"53283:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"53274:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69055,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"53300:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":69056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53315:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"53300:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69057,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53330:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65557,"src":"53300:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"53274:62:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69059,"nodeType":"ExpressionStatement","src":"53274:62:98"},{"expression":{"arguments":[{"id":69063,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"53405:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":69064,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"53433:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69065,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53442:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65599,"src":"53433:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69066,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53454:10:98","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65569,"src":"53433:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69069,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"53490:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":69070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53490:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":69071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53513:11:98","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":71055,"src":"53490:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$74170_$","typeString":"function () view external returns (contract ISafe)"}},"id":69072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53490:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}],"id":69068,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"53482:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69067,"name":"address","nodeType":"ElementaryTypeName","src":"53482:7:98","typeDescriptions":{}}},"id":69073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53482:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69074,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"53545:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69075,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53562:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"53545:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69060,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"53350:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":69062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53366:21:98","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":74076,"src":"53350:37:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":69076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53350:252:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69077,"nodeType":"ExpressionStatement","src":"53350:252:98"}]}},"id":69142,"nodeType":"IfStatement","src":"52445:2013:98","trueBody":{"id":69048,"nodeType":"Block","src":"52476:760:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68990,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"52494:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68991,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52511:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"52494:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52528:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"52494:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68998,"nodeType":"IfStatement","src":"52490:102:98","trueBody":{"id":68997,"nodeType":"Block","src":"52531:61:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68994,"name":"DefaultRulingNotSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65761,"src":"52556:19:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52556:21:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68996,"nodeType":"RevertStatement","src":"52549:28:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68999,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"52609:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69000,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52626:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"52609:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":69001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52643:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"52609:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69012,"nodeType":"IfStatement","src":"52605:136:98","trueBody":{"id":69011,"nodeType":"Block","src":"52646:95:98","statements":[{"expression":{"id":69009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69003,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"52664:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69005,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"52673:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"52664:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69006,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"52690:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":69007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52705:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"52690:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69008,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52720:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65557,"src":"52690:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"52664:62:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69010,"nodeType":"ExpressionStatement","src":"52664:62:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69013,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"52758:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69014,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52775:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"52758:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":69015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52792:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"52758:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69036,"nodeType":"IfStatement","src":"52754:304:98","trueBody":{"id":69035,"nodeType":"Block","src":"52795:263:98","statements":[{"expression":{"id":69023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69017,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"52813:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69019,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"52822:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"52813:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69020,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"52839:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":69021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52854:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"52839:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69022,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52869:8:98","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":65562,"src":"52839:38:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"52813:64:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69024,"nodeType":"ExpressionStatement","src":"52813:64:98"},{"expression":{"arguments":[{"id":69028,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"52951:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69029,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"52963:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69030,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52972:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"52963:18:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69031,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"52983:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69032,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53000:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"52983:42:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69025,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"52895:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":69027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52911:18:98","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74065,"src":"52895:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":69033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52895:148:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69034,"nodeType":"ExpressionStatement","src":"52895:148:98"}]}},{"expression":{"arguments":[{"id":69040,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"53123:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":69041,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"53135:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53144:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65599,"src":"53135:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69043,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53156:10:98","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65569,"src":"53135:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69044,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"53168:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69045,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53185:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"53168:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69037,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"53071:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":69039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53087:18:98","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74065,"src":"53071:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":69046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53071:154:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69047,"nodeType":"ExpressionStatement","src":"53071:154:98"}]}},{"expression":{"id":69144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"54468:14:98","subExpression":{"id":69143,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65915,"src":"54468:12:98","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":69145,"nodeType":"ExpressionStatement","src":"54468:14:98"},{"expression":{"id":69151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69146,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"54492:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69148,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"54501:21:98","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"54492:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69149,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"54525:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":69150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54531:9:98","memberName":"timestamp","nodeType":"MemberAccess","src":"54525:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"54492:48:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69152,"nodeType":"ExpressionStatement","src":"54492:48:98"},{"eventCall":{"arguments":[{"expression":{"id":69154,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"54562:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69155,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54579:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"54562:27:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},{"id":69156,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68905,"src":"54591:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69157,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68907,"src":"54603:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69153,"name":"Ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73931,"src":"54555:6:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$74044_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256)"}},"id":69158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54555:56:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69159,"nodeType":"EmitStatement","src":"54550:61:98"}]},"baseFunctions":[73939],"functionSelector":"311a6c56","implemented":true,"kind":"function","modifiers":[],"name":"rule","nameLocation":"51623:4:98","overrides":{"id":68909,"nodeType":"OverrideSpecifier","overrides":[],"src":"51682:8:98"},"parameters":{"id":68908,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68905,"mutability":"mutable","name":"_disputeID","nameLocation":"51636:10:98","nodeType":"VariableDeclaration","scope":69161,"src":"51628:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68904,"name":"uint256","nodeType":"ElementaryTypeName","src":"51628:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68907,"mutability":"mutable","name":"_ruling","nameLocation":"51656:7:98","nodeType":"VariableDeclaration","scope":69161,"src":"51648:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68906,"name":"uint256","nodeType":"ElementaryTypeName","src":"51648:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51627:37:98"},"returnParameters":{"id":68910,"nodeType":"ParameterList","parameters":[],"src":"51691:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":69229,"nodeType":"FunctionDefinition","src":"54624:732:98","nodes":[],"body":{"id":69228,"nodeType":"Block","src":"54685:671:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"},"id":69173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69166,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"54699:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69168,"indexExpression":{"id":69167,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69163,"src":"54709:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54699:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69169,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54721:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"54699:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":69170,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"54739:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":69171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54754:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"54739:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54769:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65557,"src":"54739:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"54699:76:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69179,"nodeType":"IfStatement","src":"54695:143:98","trueBody":{"id":69178,"nodeType":"Block","src":"54777:61:98","statements":[{"errorCall":{"arguments":[{"id":69175,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69163,"src":"54816:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69174,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65713,"src":"54798:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":69176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54798:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69177,"nodeType":"RevertStatement","src":"54791:36:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69180,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"54852:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69182,"indexExpression":{"id":69181,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69163,"src":"54862:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54852:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69183,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54874:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"54852:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":69184,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"54887:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54891:6:98","memberName":"sender","nodeType":"MemberAccess","src":"54887:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"54852:45:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69197,"nodeType":"IfStatement","src":"54848:141:98","trueBody":{"id":69196,"nodeType":"Block","src":"54899:90:98","statements":[{"errorCall":{"arguments":[{"expression":{"baseExpression":{"id":69188,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"54934:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69190,"indexExpression":{"id":69189,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69163,"src":"54944:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54934:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69191,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54956:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"54934:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69192,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"54967:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54971:6:98","memberName":"sender","nodeType":"MemberAccess","src":"54967:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":69187,"name":"OnlySubmitter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65759,"src":"54920:13:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":69194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54920:58:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69195,"nodeType":"RevertStatement","src":"54913:65:98"}]}},{"expression":{"arguments":[{"id":69201,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69163,"src":"55047:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":69202,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"55071:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69204,"indexExpression":{"id":69203,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69163,"src":"55081:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"55071:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69205,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"55093:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"55071:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":69206,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"55116:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69211,"indexExpression":{"expression":{"baseExpression":{"id":69207,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"55134:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69209,"indexExpression":{"id":69208,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69163,"src":"55144:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"55134:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69210,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"55156:23:98","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65603,"src":"55134:45:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"55116:64:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69212,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"55181:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"55116:90:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69198,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"54999:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":69200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"55015:18:98","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74065,"src":"54999:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":69213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54999:217:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69214,"nodeType":"ExpressionStatement","src":"54999:217:98"},{"expression":{"id":69222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":69215,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"55227:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69217,"indexExpression":{"id":69216,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69163,"src":"55237:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"55227:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69218,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"55249:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"55227:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69219,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"55266:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":69220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"55281:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"55266:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69221,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55296:9:98","memberName":"Cancelled","nodeType":"MemberAccess","referencedDeclaration":65559,"src":"55266:39:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"55227:78:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69223,"nodeType":"ExpressionStatement","src":"55227:78:98"},{"eventCall":{"arguments":[{"id":69225,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69163,"src":"55338:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69224,"name":"ProposalCancelled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65866,"src":"55320:17:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":69226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55320:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69227,"nodeType":"EmitStatement","src":"55315:34:98"}]},"functionSelector":"e0a8f6f5","implemented":true,"kind":"function","modifiers":[],"name":"cancelProposal","nameLocation":"54633:14:98","parameters":{"id":69164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69163,"mutability":"mutable","name":"proposalId","nameLocation":"54656:10:98","nodeType":"VariableDeclaration","scope":69229,"src":"54648:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69162,"name":"uint256","nodeType":"ElementaryTypeName","src":"54648:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"54647:20:98"},"returnParameters":{"id":69165,"nodeType":"ParameterList","parameters":[],"src":"54685:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":69233,"nodeType":"VariableDeclaration","src":"55362:25:98","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"55382:5:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":69230,"name":"uint256","nodeType":"ElementaryTypeName","src":"55362:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69232,"length":{"hexValue":"3530","id":69231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"55370:2:98","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"55362:11:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":65658,"name":"BaseStrategyUpgradeable","nameLocations":["4010:23:98"],"nodeType":"IdentifierPath","referencedDeclaration":65471,"src":"4010:23:98"},"id":65659,"nodeType":"InheritanceSpecifier","src":"4010:23:98"},{"baseName":{"id":65660,"name":"IArbitrable","nameLocations":["4035:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":73940,"src":"4035:11:98"},"id":65661,"nodeType":"InheritanceSpecifier","src":"4035:11:98"},{"baseName":{"id":65662,"name":"IPointStrategy","nameLocations":["4048:14:98"],"nodeType":"IdentifierPath","referencedDeclaration":65534,"src":"4048:14:98"},"id":65663,"nodeType":"InheritanceSpecifier","src":"4048:14:98"},{"baseName":{"id":65664,"name":"ERC165","nameLocations":["4064:6:98"],"nodeType":"IdentifierPath","referencedDeclaration":57725,"src":"4064:6:98"},"id":65665,"nodeType":"InheritanceSpecifier","src":"4064:6:98"}],"canonicalName":"CVStrategyV0_0","contractDependencies":[],"contractKind":"contract","documentation":{"id":65657,"nodeType":"StructuredDocumentation","src":"3939:44:98","text":"@custom:oz-upgrades-from CVStrategyV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[69234,57725,57931,65534,73940,65471,3089,3317,3106,2969,70754,55672,55325,54974,54984,52903,53696,53152],"name":"CVStrategyV0_0","nameLocation":"3992:14:98","scope":69235,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,65667,65669,65671,65673,65675,65677,65679,65681,65683,65685,65687,65695,65697,65699,65705,65707,65709,65713,65717,65723,65725,65727,65735,65737,65739,65745,65747,65751,65753,65759,65761,65767,70677]}],"license":"AGPL-3.0-only"},"id":98} \ No newline at end of file +{"abi":[{"type":"fallback","stateMutability":"payable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"D","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"DISPUTE_COOLDOWN_SEC","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_STAKED_PROPOSALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"RULING_OPTIONS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"activatePoints","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocate","inputs":[{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"arbitrableConfigs","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculateThreshold","inputs":[{"name":"_requestedAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_threshold","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"canExecuteProposal","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"canBeExecuted","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"cancelProposal","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cloneNonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"collateralVault","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ICollateralVault"}],"stateMutability":"view"},{"type":"function","name":"currentArbitrableConfigVersion","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"cvParams","inputs":[],"outputs":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"deactivatePoints","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deactivatePoints","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToUnstake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"disputeCount","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"disputeIdToProposalId","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"disputeProposal","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"context","type":"string","internalType":"string"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"disputeId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"distribute","inputs":[{"name":"_recipientIds","type":"address[]","internalType":"address[]"},{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAllo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IAllo"}],"stateMutability":"view"},{"type":"function","name":"getArbitrableConfig","inputs":[],"outputs":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDecay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMaxAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMaxConviction","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMetadata","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getPayouts","inputs":[{"name":"","type":"address[]","internalType":"address[]"},{"name":"","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct IStrategy.PayoutSummary[]","components":[{"name":"recipientAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}]}],"stateMutability":"pure"},{"type":"function","name":"getPointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum PointSystem"}],"stateMutability":"view"},{"type":"function","name":"getPoolAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPoolId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposal","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"submitter","type":"address","internalType":"address"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"requestedToken","type":"address","internalType":"address"},{"name":"requestedAmount","type":"uint256","internalType":"uint256"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"proposalStatus","type":"uint8","internalType":"enum ProposalStatus"},{"name":"blockLast","type":"uint256","internalType":"uint256"},{"name":"convictionLast","type":"uint256","internalType":"uint256"},{"name":"threshold","type":"uint256","internalType":"uint256"},{"name":"voterStakedPoints","type":"uint256","internalType":"uint256"},{"name":"arbitrableConfigVersion","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposalStakedAmount","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposalVoterStake","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_voter","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRecipientStatus","inputs":[{"name":"_recipientId","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint8","internalType":"enum IStrategy.Status"}],"stateMutability":"view"},{"type":"function","name":"getRegistryCommunity","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract RegistryCommunityV0_0"}],"stateMutability":"view"},{"type":"function","name":"getStrategyId","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getTotalVoterStakePct","inputs":[{"name":"_voter","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"increasePoolAmount","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"increasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToStake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"init","inputs":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"init","inputs":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_name","type":"string","internalType":"string"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initialOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isPoolActive","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isValidAllocator","inputs":[{"name":"_allocator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pointConfig","inputs":[],"outputs":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"pointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum PointSystem"}],"stateMutability":"view"},{"type":"function","name":"proposalCounter","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proposalType","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum ProposalType"}],"stateMutability":"view"},{"type":"function","name":"proposals","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"requestedAmount","type":"uint256","internalType":"uint256"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"convictionLast","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"submitter","type":"address","internalType":"address"},{"name":"requestedToken","type":"address","internalType":"address"},{"name":"blockLast","type":"uint256","internalType":"uint256"},{"name":"proposalStatus","type":"uint8","internalType":"enum ProposalStatus"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"disputeInfo","type":"tuple","internalType":"struct ProposalDisputeInfo","components":[{"name":"disputeId","type":"uint256","internalType":"uint256"},{"name":"disputeTimestamp","type":"uint256","internalType":"uint256"},{"name":"challenger","type":"address","internalType":"address"}]},{"name":"lastDisputeCompletion","type":"uint256","internalType":"uint256"},{"name":"arbitrableConfigVersion","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerRecipient","inputs":[{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[{"name":"recipientId","type":"address","internalType":"address"}],"stateMutability":"payable"},{"type":"function","name":"registryCommunity","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rule","inputs":[{"name":"_disputeID","type":"uint256","internalType":"uint256"},{"name":"_ruling","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCollateralVaultTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPoolActive","inputs":[{"name":"_active","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPoolParams","inputs":[{"name":"_arbitrableConfig","type":"tuple","internalType":"struct ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"_cvParams","type":"tuple","internalType":"struct CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSybilScorer","inputs":[{"name":"_sybilScorer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"sybilScorer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISybilScorer"}],"stateMutability":"view"},{"type":"function","name":"totalEffectiveActivePoints","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalPointsActivated","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalStaked","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalVoterStakePct","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProposalConviction","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"voterStakedProposals","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Allocated","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ArbitrableConfigUpdated","inputs":[{"name":"currentArbitrableConfigVersion","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"arbitrator","type":"address","indexed":false,"internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","indexed":false,"internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"defaultRuling","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CVParamsUpdated","inputs":[{"name":"cvParams","type":"tuple","indexed":false,"internalType":"struct CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]}],"anonymous":false},{"type":"event","name":"DisputeRequest","inputs":[{"name":"_arbitrator","type":"address","indexed":true,"internalType":"contract IArbitrator"},{"name":"_arbitrableDisputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_externalDisputeID","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_templateId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_templateUri","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"Distributed","inputs":[{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"beneficiary","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Distributed","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"recipientAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"InitializedCV","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"tuple","indexed":false,"internalType":"struct CVStrategyInitializeParamsV0_0","components":[{"name":"cvParams","type":"tuple","internalType":"struct CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]}],"anonymous":false},{"type":"event","name":"MinThresholdPointsUpdated","inputs":[{"name":"before","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PointsDeactivated","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PoolActive","inputs":[{"name":"active","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"PoolAmountIncreased","inputs":[{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PowerDecreased","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"},{"name":"tokensUnStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"pointsToDecrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PowerIncreased","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"},{"name":"tokensStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"pointsToIncrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalCancelled","inputs":[{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalCreated","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalDisputed","inputs":[{"name":"arbitrator","type":"address","indexed":false,"internalType":"contract IArbitrator"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"disputeId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"challenger","type":"address","indexed":false,"internalType":"address"},{"name":"context","type":"string","indexed":false,"internalType":"string"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Registered","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RegistryUpdated","inputs":[{"name":"registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Ruling","inputs":[{"name":"_arbitrator","type":"address","indexed":true,"internalType":"contract IArbitrator"},{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_ruling","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SupportAdded","inputs":[{"name":"from","type":"address","indexed":false,"internalType":"address"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"totalStakedAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"convictionLast","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"TribunaSafeRegistered","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"},{"name":"arbitrator","type":"address","indexed":false,"internalType":"address"},{"name":"tribunalSafe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"AMOUNT_MISMATCH","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"AmountOverMaxRatio","inputs":[]},{"type":"error","name":"ArbitratorCannotBeZero","inputs":[]},{"type":"error","name":"CallerNotOwner","inputs":[{"name":"_caller","type":"address","internalType":"address"},{"name":"_owner","type":"address","internalType":"address"}]},{"type":"error","name":"CantIncreaseFixedSystem","inputs":[]},{"type":"error","name":"ConvictionUnderMinimumThreshold","inputs":[]},{"type":"error","name":"DefaultRulingNotSet","inputs":[]},{"type":"error","name":"DisputeCooldownNotPassed","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_remainingSec","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"InsufficientCollateral","inputs":[{"name":"sentAmount","type":"uint256","internalType":"uint256"},{"name":"requiredAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"MaxPointsReached","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"NotEnoughPointsToSupport","inputs":[{"name":"pointsSupport","type":"uint256","internalType":"uint256"},{"name":"pointsBalance","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NotImplemented","inputs":[]},{"type":"error","name":"OnlyArbitrator","inputs":[]},{"type":"error","name":"OnlyCommunityAllowed","inputs":[]},{"type":"error","name":"OnlyCouncilSafe","inputs":[]},{"type":"error","name":"OnlySubmitter","inputs":[{"name":"submitter","type":"address","internalType":"address"},{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"PoolAmountNotEnough","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_requestedAmount","type":"uint256","internalType":"uint256"},{"name":"_poolAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PoolIdCannotBeZero","inputs":[]},{"type":"error","name":"PoolIsEmpty","inputs":[]},{"type":"error","name":"ProposalDataIsEmpty","inputs":[]},{"type":"error","name":"ProposalIdCannotBeZero","inputs":[]},{"type":"error","name":"ProposalNotActive","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalNotDisputed","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalNotInList","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalSupportDuplicated","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"RegistryCannotBeZero","inputs":[]},{"type":"error","name":"SupportUnderflow","inputs":[{"name":"_support","type":"uint256","internalType":"uint256"},{"name":"_delta","type":"int256","internalType":"int256"},{"name":"_result","type":"int256","internalType":"int256"}]},{"type":"error","name":"TokenCannotBeZero","inputs":[]},{"type":"error","name":"TokenNotAllowed","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"UserCannotBeZero","inputs":[]},{"type":"error","name":"UserCannotExecuteAction","inputs":[]},{"type":"error","name":"UserIsInactive","inputs":[]},{"type":"error","name":"UserNotInRegistry","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b506080516167766200004d60003960008181611840015281816118800152818161191f0152818161195f01526119d701526167766000f3fe60806040526004361061034d5760003560e01c8063013cf08b1461035657806301ffc9a714610398578063059351cd146103c8578063062f9ece146104555780630a6f0ee9146104755780630ba95909146104955780630bece79c146104b45780630c0512e9146104e15780630f529ba2146104f7578063125fd1d91461050e57806315cc481e14610524578063184b9559146105425780631aa91a9e146105625780631ddf1e23146105825780632506b87014610597578063255ffb38146105da5780632bbe0cae146106075780632dbd6fdd1461061a5780632ed04b2b14610646578063311a6c56146106665780633396045914610686578063346db8cb1461069c578063351d9f96146106bc5780633659cfe6146106e357806338fff2d014610703578063406244d81461071857806341bb76051461072d57806342fda9c71461078a57806348f19c1d1461079f5780634ab4ba42146107b45780634d31d087146107c95780634f1ef286146107e957806352d1902d146107fc57806359a5db8b146108115780635db64b99146108315780636003e4141461085e57806360d5dedc1461087e578063626c47e81461089e5780636453d9c4146108b3578063715018a6146108d3578063782aadff146108e8578063814516ad14610908578063817b1cd21461091d578063824ea8ed14610933578063868c57b8146109535780638da5cb5b14610973578063950559d7146109885780639a1c157c146109a8578063a0cf0aea146109bd578063a28889e1146109e5578063a47ff7e514610a1d578063a574cea414610a34578063aba9ffee14610a61578063ac1ed7b914610a77578063b0d3713a14610a97578063b2b878d014610ab7578063b41596ec14610ae4578063b5f620ce14610af7578063b6c61f3114610b17578063bcc5b93b14610b37578063c329217114610b57578063c4d66de814610b74578063c7f758a814610b94578063d1e3623214610bcb578063dc96ff2d14610be0578063df868ed314610c10578063e0a8f6f514610c25578063e0dd2c3814610c45578063eb11af9314610c65578063edd146cc14610c8d578063ef2920fc14610cad578063f2fde38b14610cc0578063f5b0dfb714610ce0578063f5be3f7c14610d00578063ffa1ad7414610d1657005b3661035457005b005b34801561036257600080fd5b5061037661037136600461510d565b610d52565b60405161038f9d9c9b9a999897969594939291906151c8565b60405180910390f35b3480156103a457600080fd5b506103b86103b336600461526a565b610ea0565b604051901515815260200161038f565b3480156103d457600080fd5b5061041d606f546000908152607f60205260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169694909316949193909290565b604080516001600160a01b039788168152969095166020870152938501929092526060840152608083015260a082015260c00161038f565b34801561046157600080fd5b5061035461047036600461539f565b610ed7565b34801561048157600080fd5b50610354610490366004615574565b610eed565b3480156104a157600080fd5b506077545b60405190815260200161038f565b3480156104c057600080fd5b506079546104d4906001600160a01b031681565b60405161038f91906155eb565b3480156104ed57600080fd5b506104a6606e5481565b34801561050357600080fd5b506104a66298968081565b34801561051a57600080fd5b506104a6606f5481565b34801561053057600080fd5b506065546001600160a01b03166104d4565b34801561054e57600080fd5b5061035461055d3660046155ff565b610f0d565b34801561056e57600080fd5b506104a661057d36600461510d565b61106d565b34801561058e57600080fd5b506103546110b7565b3480156105a357600080fd5b506072546073546074546075546105ba9392919084565b60408051948552602085019390935291830152606082015260800161038f565b3480156105e657600080fd5b506104a66105f536600461510d565b607e6020526000908152604090205481565b6104d461061536600461563f565b6110c2565b34801561062657600080fd5b5060765461063990610100900460ff1681565b60405161038f91906156a4565b34801561065257600080fd5b506104a66106613660046156b2565b6110e5565b34801561067257600080fd5b506103546106813660046156de565b6111a9565b34801561069257600080fd5b506104a6606c5481565b3480156106a857600080fd5b506104a66106b7366004615700565b61179b565b3480156106c857600080fd5b506076546106d69060ff1681565b60405161038f919061573c565b3480156106ef57600080fd5b506103546106fe36600461574a565b611836565b34801561070f57600080fd5b506068546104a6565b34801561072457600080fd5b506104a6600a81565b34801561073957600080fd5b5061041d61074836600461510d565b607f602052600090815260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169593909416939192909186565b34801561079657600080fd5b506066546104a6565b3480156107ab57600080fd5b506104d46118fe565b3480156107c057600080fd5b506069546104a6565b3480156107d557600080fd5b506103b86107e436600461574a565b61190d565b6103546107f7366004615767565b611915565b34801561080857600080fd5b506104a66119ca565b34801561081d57600080fd5b506104a661082c36600461510d565b611a78565b34801561083d57600080fd5b506104a661084c36600461574a565b607c6020526000908152604090205481565b34801561086a57600080fd5b506078546104d4906001600160a01b031681565b34801561088a57600080fd5b506103546108993660046157b6565b611b92565b3480156108aa57600080fd5b506104a6600381565b3480156108bf57600080fd5b506103546108ce36600461574a565b611c0e565b3480156108df57600080fd5b50610354611c1f565b3480156108f457600080fd5b506104a66109033660046156b2565b611c31565b34801561091457600080fd5b50610354611dc7565b34801561092957600080fd5b506104a660705481565b34801561093f57600080fd5b506103b861094e36600461510d565b611ee4565b34801561095f57600080fd5b506104a661096e3660046156b2565b611f41565b34801561097f57600080fd5b506104d4611f72565b34801561099457600080fd5b506104a66109a336600461510d565b612003565b3480156109b457600080fd5b506074546104a6565b3480156109c957600080fd5b506104d473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156109f157600080fd5b50606d54610a05906001600160401b031681565b6040516001600160401b03909116815260200161038f565b348015610a2957600080fd5b506077546104a69081565b348015610a4057600080fd5b50610a54610a4f36600461510d565b61202d565b60405161038f9190615811565b348015610a6d57600080fd5b506104a660715481565b348015610a8357600080fd5b50610354610a9236600461574a565b61210c565b348015610aa357600080fd5b50610354610ab236600461574a565b61213f565b348015610ac357600080fd5b50610ad7610ad2366004615824565b612169565b60405161038f91906158f8565b6104a6610af2366004615991565b612184565b348015610b0357600080fd5b50610354610b12366004615a18565b6124d6565b348015610b2357600080fd5b50607a546104d4906001600160a01b031681565b348015610b4357600080fd5b506104a6610b5236600461574a565b6124df565b348015610b6357600080fd5b50607654610100900460ff16610639565b348015610b8057600080fd5b50610354610b8f36600461574a565b6124fa565b348015610ba057600080fd5b50610bb4610baf36600461510d565b61252a565b60405161038f9b9a99989796959493929190615a35565b348015610bd757600080fd5b506071546104a6565b348015610bec57600080fd5b506104a6610bfb36600461510d565b6000908152607b602052604090206002015490565b348015610c1c57600080fd5b506103b8612636565b348015610c3157600080fd5b50610354610c4036600461510d565b612649565b348015610c5157600080fd5b506104a6610c60366004615aa4565b6127ce565b348015610c7157600080fd5b50610c806107e436600461574a565b60405161038f9190615ac9565b348015610c9957600080fd5b50610354610ca8366004615adc565b6127f9565b610354610cbb36600461563f565b6129d3565b348015610ccc57600080fd5b50610354610cdb36600461574a565b6129ed565b348015610cec57600080fd5b50610354610cfb36600461510d565b612a5a565b348015610d0c57600080fd5b506104a6611c2081565b348015610d2257600080fd5b50610d45604051806040016040528060038152602001620302e360ec1b81525081565b60405161038f9190615b0c565b607b602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610dd990615b1f565b80601f0160208091040260200160405190810160405280929190818152602001828054610e0590615b1f565b8015610e525780601f10610e2757610100808354040283529160200191610e52565b820191906000526020600020905b815481529060010190602001808311610e3557829003601f168201915b50505091909252505060408051606081018252600c8501548152600d8501546020820152600e8501546001600160a01b031691810191909152600f840154601090940154929390929091508d565b60006001600160e01b0319821663f1801e6160e01b1480610ed157506301ffc9a760e01b6001600160e01b03198316145b92915050565b610edf612a83565b610ee98282612b1d565b5050565b610ef5612e92565b610efd612ebd565b610f08838383612ee0565b505050565b600054610100900460ff1615808015610f2d5750600054600160ff909116105b80610f4e5750610f3c306131ea565b158015610f4e575060005460ff166001145b610fb65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610fd9576000805461ff0019166101001790555b611006846040518060400160405280600a8152602001694356537472617465677960b01b81525084611b92565b606a80546001600160a01b0319166001600160a01b0385161790558015611067576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b6000818152607b602052604081208054831461109f5760405163c1d17bef60e01b815260048101849052602401610fad565b6110ad8182600201546131f9565b6003015492915050565b6110c033613234565b565b60006110cc612e92565b6110d4612ebd565b6110de8383613360565b9392505050565b60006110ef61374e565b60006002607654610100900460ff16600381111561110f5761110f615133565b148061113657506001607654610100900460ff16600381111561113457611134615133565b145b1561114257508161114f565b61114c8484613779565b90505b80607160008282546111619190615b69565b90915550506040517f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19061119a90869086908590615b7c565b60405180910390a19392505050565b6000828152607e6020908152604080832054808452607b835281842060108101548552607f8452828520835160c08101855281546001600160a01b03908116825260018301541695810195909552600281015493850193909352600383015460608501526004830154608085015260059092015460a0840152929091908390036112495760405163c1d17bef60e01b815260048101849052602401610fad565b6005600883015460ff16600681111561126457611264615133565b1461128557604051634b011ca960e11b815260048101849052602401610fad565b60a0810151600d83015460009161129b91615b9d565b421190508015816112b6575081516001600160a01b03163314155b156112d457604051631777988560e11b815260040160405180910390fd5b80806112de575084155b1561142757816080015160000361130857604051630dd466dd60e41b815260040160405180910390fd5b81608001516001036113245760088301805460ff191660011790555b81608001516002036113b15760088301805460ff191660061790556079546005840154604084810151905163099ea56b60e41b81526001600160a01b03938416936399ea56b09361137e938a939290911691600401615bb0565b600060405180830381600087803b15801561139857600080fd5b505af11580156113ac573d6000803e3d6000fd5b505050505b607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b0936113f0938a939290911691600401615bb0565b600060405180830381600087803b15801561140a57600080fd5b505af115801561141e573d6000803e3d6000fd5b50505050611704565b846001036114e85760088301805460ff19166001179055607954600e8401546001600160a01b0391821691638969ab53918791166114636118fe565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c49190615bcf565b86606001516040518563ffffffff1660e01b81526004016113f09493929190615bec565b846002036117045760088301805460ff19166006179055607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b09361153e938a939290911691600401615bb0565b600060405180830381600087803b15801561155857600080fd5b505af115801561156c573d6000803e3d6000fd5b505060795460058601546001600160a01b039182169350638969ab5392508791166115956118fe565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f69190615bcf565b606f546000908152607f602052604090206002908101546116179190615c27565b6040518563ffffffff1660e01b81526004016116369493929190615bec565b600060405180830381600087803b15801561165057600080fd5b505af1158015611664573d6000803e3d6000fd5b50506079546005860154600e870154606f546000908152607f602052604090206002908101546001600160a01b039485169650638969ab5395508a9493841693909216916116b29190615c27565b6040518563ffffffff1660e01b81526004016116d19493929190615bec565b600060405180830381600087803b1580156116eb57600080fd5b505af11580156116ff573d6000803e3d6000fd5b505050505b606d80546001600160401b031690600061171d83615c49565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550504283600f01819055508582600001516001600160a01b03167f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222768760405161178b91815260200190565b60405180910390a3505050505050565b607454600090849082906117c0906117ba90629896809060801b615c27565b8361397c565b905060806001607f1b607260020154629896806117dd9190615b69565b6117eb84600160801b615b69565b6117f86298968089615c6c565b6118029190615c6c565b61180c9190615c27565b6118168885615c6c565b6118209190615b9d565b61182a9190615b9d565b901c9695505050505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361187e5760405162461bcd60e51b8152600401610fad90615c83565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166118b0613a24565b6001600160a01b0316146118d65760405162461bcd60e51b8152600401610fad90615cbd565b6118df81613a40565b604080516000808252602082019092526118fb91839190613a7b565b50565b6078546001600160a01b031690565b600080610ed1565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361195d5760405162461bcd60e51b8152600401610fad90615c83565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661198f613a24565b6001600160a01b0316146119b55760405162461bcd60e51b8152600401610fad90615cbd565b6119be82613a40565b610ee982826001613a7b565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611a655760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610fad565b506000805160206166da83398151915290565b60008060695411611a9c5760405163ed4421ad60e01b815260040160405180910390fd5b611aa582613be6565b15611ac357604051630efd728560e21b815260040160405180910390fd5b606954600090611ad784600160401b615c6c565b611ae19190615c27565b6072546298968090611af790600160401b615c6c565b611b019190615c27565b611b0b9190615b69565b90506040611b1860715490565b607454611b289062989680615b69565b629896806040611b388680615c6c565b607354911c90611b4f90629896809060801b615c27565b611b599190615c27565b611b639190615c6c565b611b6d9190615c27565b611b779190615c6c565b607554911c92508211611b8c576075546110de565b50919050565b600054610100900460ff16611bb95760405162461bcd60e51b8152600401610fad90615cf7565b611bc2816124fa565b606580546001600160a01b0319166001600160a01b038516179055604051611bee908390602001615b0c565b60408051601f198184030181529190528051602090910120606655505050565b611c1661374e565b6118fb81613234565b611c27613c0d565b6110c06000613c6c565b6000611c3b61374e565b611c4483613cbe565b611c6157604051630b72d6b160e31b815260040160405180910390fd5b60006002607654610100900460ff166003811115611c8157611c81615133565b03611c8f57825b9050611cec565b6001607654610100900460ff166003811115611cad57611cad615133565b03611cbc57611c888484613d83565b6003607654610100900460ff166003811115611cda57611cda615133565b03611cec57611ce98484613e2c565b90505b6000611cf66118fe565b6001600160a01b031663477a5cc086306040518363ffffffff1660e01b8152600401611d23929190615d42565b602060405180830381865afa158015611d40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d649190615d5c565b90508015611d84578160716000828254611d7e9190615b9d565b90915550505b7f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a858584604051611db793929190615b7c565b60405180910390a1509392505050565b33611dd181613cbe565b611dee57604051630b72d6b160e31b815260040160405180910390fd5b611df66118fe565b6001600160a01b0316630d4a8b4982306040518363ffffffff1660e01b8152600401611e23929190615d42565b600060405180830381600087803b158015611e3d57600080fd5b505af1158015611e51573d6000803e3d6000fd5b50505050611e5d6118fe565b6001600160a01b0316637817ee4f82306040518363ffffffff1660e01b8152600401611e8a929190615d42565b602060405180830381865afa158015611ea7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ecb9190615d79565b60716000828254611edc9190615b9d565b909155505050565b6000818152607b60205260408120600281015482908190611f0690849061402d565b91509150816000148015611f18575080155b15611f2557826003015491505b6000611f348460010154611a78565b9092101595945050505050565b607d6020528160005260406000208181548110611f5d57600080fd5b90600052602060002001600091509150505481565b600080611f876033546001600160a01b031690565b9050806001600160a01b03163b600003611fa057919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611ffa575060408051601f3d908101601f19168201909252611ff791810190615bcf565b60015b610ed157919050565b6074546000906120169062989680615b69565b6120236298968084615c6c565b610ed19190615c27565b6040805180820190915260008152606060208201526000607b6000848152602001908152602001600020905080600a016040518060400160405290816000820154815260200160018201805461208290615b1f565b80601f01602080910402602001604051908101604052809291908181526020018280546120ae90615b1f565b80156120fb5780601f106120d0576101008083540402835291602001916120fb565b820191906000526020600020905b8154815290600101906020018083116120de57829003601f168201915b505050505081525050915050919050565b612114612a83565b61211d81614085565b607a80546001600160a01b0319166001600160a01b0392909216919091179055565b612147613c0d565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b606060405163d623472560e01b815260040160405180910390fd5b6000858152607b6020908152604080832060108101548452607f8352818420825160c08101845281546001600160a01b0390811680835260018401549091169582019590955260028201549381019390935260038101546060840152600481015460808401526005015460a08301529161221157604051636c291fd360e01b815260040160405180910390fd5b815488146122355760405163c1d17bef60e01b815260048101899052602401610fad565b6001600883015460ff16600681111561225057612250615133565b14612271576040516344980d8f60e01b815260048101899052602401610fad565b806060015134101561229d576060810151604051632c1f8ef160e21b8152610fad913491600401615da2565b600f820154158015906122c0575042611c2083600f01546122be9190615b9d565b115b156122fe578742611c2084600f01546122d99190615b9d565b6122e39190615b69565b604051638d2f6c3160e01b8152600401610fad929190615da2565b60008160600151346123109190615b69565b607954606084015160405163240ff7c560e11b81529293506001600160a01b039091169163481fef8a919061234b908d903390600401615db0565b6000604051808303818588803b15801561236457600080fd5b505af1158015612378573d6000803e3d6000fd5b5050845160405163c13517e160e01b81526001600160a01b03909116935063c13517e192508491506123b3906003908b908b90600401615df0565b60206040518083038185885af11580156123d1573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906123f69190615d79565b60088401805491955060059160ff19166001830217905550600c830184905542600d840155600e830180546001600160a01b031916331790556000848152607e602052604081208a9055606d80546001600160401b03169161245783615e13565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550507f034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d82600001518a86338c8c89600c01600101546040516124c29796959493929190615e41565b60405180910390a150505095945050505050565b6118fb816140ac565b6001600160a01b03166000908152607c602052604090205490565b600054610100900460ff166125215760405162461bcd60e51b8152600401610fad90615cf7565b6118fb81613c6c565b600080600080600080600080600080600080607b60008e81526020019081526020016000209050806001015460001461256f5761256a8160010154611a78565b612572565b60005b93508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548b896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020548a601001549b509b509b509b509b509b509b509b509b509b509b505091939597999b90929496989a50565b600061264460675460ff1690565b905090565b60016000828152607b602052604090206008015460ff16600681111561267157612671615133565b14612692576040516344980d8f60e01b815260048101829052602401610fad565b6000818152607b60205260409020600501546001600160a01b031633146126eb576000818152607b602052604090819020600501549051634544dc9160e11b8152610fad916001600160a01b0316903390600401615d42565b6079546000828152607b6020908152604080832060058101546010909101548452607f9092529182902060020154915163099ea56b60e41b81526001600160a01b03938416936399ea56b093612748938793921691600401615bb0565b600060405180830381600087803b15801561276257600080fd5b505af1158015612776573d6000803e3d6000fd5b5050506000828152607b6020908152604091829020600801805460ff1916600317905590518381527f416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c9250015b60405180910390a150565b6000828152607b602090815260408083206001600160a01b03851684526009019091528120546110de565b612801612e92565b61280a826140ed565b606a54606c8054612833926001600160a01b031691600061282a83615e90565b9190505561413c565b607980546001600160a01b0319166001600160a01b039290921691821790556040805163204a7f0760e21b81529051638129fc1c9160048082019260009290919082900301818387803b15801561288957600080fd5b505af115801561289d573d6000803e3d6000fd5b505050506000818060200190518101906128b79190615f74565b60a08101519091506001600160a01b03166128e557604051635df4b1ef60e01b815260040160405180910390fd5b60a0810151607880546001600160a01b0319166001600160a01b0390921691909117905560208101516076805460ff1916600183600281111561292a5761292a615133565b021790555060408101516076805461ff00191661010083600381111561295257612952615133565b021790555060608101515160775560c0810151607a80546001600160a01b0319166001600160a01b03909216919091179055608081015181516129959190612b1d565b7fe5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b83826040516129c6929190616065565b60405180910390a1505050565b6129db612e92565b6129e3612ebd565b610ee9828261418b565b6129f5613c0d565b6001600160a01b0381166125215760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610fad565b612a62612e92565b8060696000828254612a749190615b9d565b909155506118fb90508161427e565b612a8b6118fe565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ac8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aec9190615bcf565b6001600160a01b0316336001600160a01b0316146110c057604051637430763f60e11b815260040160405180910390fd5b60208201516001600160a01b031615801590612b42575081516001600160a01b031615155b8015612c2b5750606f546000908152607f6020908152604090912060010154908301516001600160a01b039081169116141580612b9e5750606f546000908152607f602052604090205482516001600160a01b03908116911614155b80612bc25750606f546000908152607f602052604090819020600201549083015114155b80612be55750606f546000908152607f6020526040902060030154606083015114155b80612c085750606f546000908152607f6020526040902060040154608083015114155b80612c2b5750606f546000908152607f602052604090206005015460a083015114155b15612e3a57602080830151606f546000908152607f9092526040909120600101546001600160a01b039081169116141580612c8557508151606f546000908152607f60205260409020546001600160a01b03908116911614155b15612d4e578151602083015160405163446adb9960e11b81526001600160a01b03909216916388d5b73291612cbc916004016155eb565b600060405180830381600087803b158015612cd657600080fd5b505af1158015612cea573d6000803e3d6000fd5b5050835160208501516040517fdc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f9450612d459350309291906001600160a01b0393841681529183166020830152909116604082015260600190565b60405180910390a15b606f8054906000612d5e83615e90565b9091555050606f80546000908152607f6020908152604091829020855181546001600160a01b03199081166001600160a01b03928316908117845588850151600185018054909316931692831790915587850151600284018190556060808a0151600386018190556080808c01516004880181905560a0808e015160059099018990559a548a519081529889019590955297870194909452850152938301529281019190915260c08101919091527fe677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d539060e00160405180910390a15b805160725560208101516073556040808201516074556060820151607555517fec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc90612e86908390616125565b60405180910390a15050565b6065546001600160a01b031633146110c05760405163075fd2b160e01b815260040160405180910390fd5b6068546000036110c057604051630f68fe6360e21b815260040160405180910390fd5b6000825111612f0257604051630317df1360e61b815260040160405180910390fd5b600082806020019051810190612f189190615d79565b905080600003612f3b5760405163f881a10d60e01b815260040160405180910390fd5b6000818152607b60205260409020600160765460ff166002811115612f6257612f62615133565b036131e35780548214612f8b5760405163c1d17bef60e01b815260048101839052602401610fad565b60695481600101541115612fbe57818160010154606954604051632c31d85b60e11b8152600401610fad93929190616133565b6001600882015460ff166006811115612fd957612fd9615133565b14612ffa576040516344980d8f60e01b815260048101839052602401610fad565b60006130058361106d565b905060006130168360010154611a78565b9050808210801561302b575060008360010154115b156130495760405163199cf26160e31b815260040160405180910390fd5b60655460685460405163068bcd8d60e01b815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015613097573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526130bf91908101906161d6565b90508360010154606960008282546130d79190615b69565b90915550506040810151600485015460018601546130ff92916001600160a01b0316906142ae565b60088401805460ff191660049081179091556079546005860154606f546000908152607f60205260409081902060020154905163099ea56b60e41b81526001600160a01b03938416946399ea56b09461315f948c94911692909101615bb0565b600060405180830381600087803b15801561317957600080fd5b505af115801561318d573d6000803e3d6000fd5b505050600485015460018601546040517fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f3584793506131d79289926001600160a01b0390911691615bb0565b60405180910390a15050505b5050505050565b6001600160a01b03163b151590565b600080613206848461402d565b91509150816000148015613218575080155b156132235750505050565b600784015560039092019190915550565b61323c6118fe565b6001600160a01b0316637817ee4f82306040518363ffffffff1660e01b8152600401613269929190615d42565b602060405180830381865afa158015613286573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132aa9190615d79565b607160008282546132bb9190615b69565b909155506132c990506118fe565b6001600160a01b03166322bcf99982306040518363ffffffff1660e01b81526004016132f6929190615d42565b600060405180830381600087803b15801561331057600080fd5b505af1158015613324573d6000803e3d6000fd5b50505050613331816142e8565b7f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b816040516127c391906155eb565b600061336b82613cbe565b61338857604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061339e9190616289565b80519091506000036133c35760405163273c8bc360e11b815260040160405180910390fd5b600160765460ff1660028111156133dc576133dc615133565b0361355d576133ee8160200151614085565b60608101516001600160a01b03166134195760405163165a825360e21b815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613459573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061347d9190615bcf565b825160405163068bcd8d60e01b815260048101919091529091506000906001600160a01b0383169063068bcd8d90602401600060405180830381865afa1580156134cb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134f391908101906161d6565b905080604001516001600160a01b031683606001516001600160a01b03161461352f5760405163514e24c360e11b815260040160405180910390fd5b61353c8360400151613be6565b1561355a57604051630efd728560e21b815260040160405180910390fd5b50505b606f546000908152607f60205260409020546001600160a01b0316158015906135995750606f546000908152607f602052604090206002015434105b156135cf57606f546000908152607f602052604090819020600201549051632c1f8ef160e21b8152610fad913491600401615da2565b6000606e600081546135e090615e90565b91829055506000818152607b602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b840190613694908261637d565b5050606f54601083015550607954600582015460405163240ff7c560e11b81526001600160a01b039283169263481fef8a9234926136d89288921690600401615db0565b6000604051808303818588803b1580156136f157600080fd5b505af1158015613705573d6000803e3d6000fd5b50505050507ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b6068548360405161373d929190615da2565b60405180910390a150949350505050565b6078546001600160a01b031633146110c0576040516357848b5160e11b815260040160405180910390fd5b600060126137856118fe565b6001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156137c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137e69190615bcf565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561383f575060408051601f3d908101601f1916820190925261383c9181019061643c565b60015b1561384a5760ff1690505b6000836138556118fe565b6001600160a01b0316632c611c4a876040518263ffffffff1660e01b815260040161388091906155eb565b602060405180830381865afa15801561389d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138c19190615d79565b6138cb9190615b69565b905060006138ec6138dd84600a616543565b6138e79084615c6c565b614449565b90506000816138f96118fe565b6001600160a01b0316637817ee4f89306040518363ffffffff1660e01b8152600401613926929190615d42565b602060405180830381865afa158015613943573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139679190615d79565b6139719190615b69565b979650505050505050565b6000600160801b83106139d05760405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401610fad565b50600160801b82825b8015613a1c57806001166000036139fe576139f48283614531565b915060011c6139d9565b613a088383614531565b9250613a15600182615b69565b90506139d9565b505092915050565b6000805160206166da833981519152546001600160a01b031690565b33613a49611f72565b6001600160a01b0316146118fb5733613a60611f72565b60405163163678e960e01b8152600401610fad929190615d42565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615613aae57610f088361460e565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613b08575060408051601f3d908101601f19168201909252613b0591810190615d79565b60015b613b6b5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610fad565b6000805160206166da8339815191528114613bda5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610fad565b50610f088383836146a8565b6000613bf56298968083615c6c565b606954607254613c059190615c6c565b111592915050565b33613c16611f72565b6001600160a01b0316146110c05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610fad565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60408051808201909152600b81526a39bcb134b629b1b7b932b960a91b6020820152607a54600091613cf8916001600160a01b03166146cd565b607a546001600160a01b0316613d1057506001919050565b607a546040516302154c3d60e51b81526001600160a01b03909116906342a987a090613d429085903090600401615d42565b602060405180830381865afa158015613d5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed19190615d5c565b60008181613d8f6118fe565b6001600160a01b0316637817ee4f86306040518363ffffffff1660e01b8152600401613dbc929190615d42565b602060405180830381865afa158015613dd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613dfd9190615d79565b607754909150613e0d8383615b9d565b1115613e2457607754613e21908290615b69565b91505b509392505050565b60008082613e386118fe565b6001600160a01b0316632c611c4a866040518263ffffffff1660e01b8152600401613e6391906155eb565b602060405180830381865afa158015613e80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ea49190615d79565b613eae9190615b9d565b90506012613eba6118fe565b6001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613ef7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f1b9190615bcf565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613f74575060408051601f3d908101601f19168201909252613f719181019061643c565b60015b15613f7f5760ff1690505b6000613f99613f8f83600a616543565b6138e79085615c6c565b90506000613fa56118fe565b6001600160a01b0316637817ee4f88306040518363ffffffff1660e01b8152600401613fd2929190615d42565b602060405180830381865afa158015613fef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140139190615d79565b905060006140218284615b69565b98975050505050505050565b60008043905080846007015411156140475761404761654f565b8084600701540361405d5750600090508061407e565b61407b8460070154826140709190615b69565b85600301548561179b565b91505b9250929050565b6001600160a01b0381166118fb576040516303988b8160e61b815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae0906020016127c3565b6140f5612e92565b606854156141165760405163439a74c960e01b815260040160405180910390fd5b8060000361413757604051637fcce2a960e01b815260040160405180910390fd5b606855565b6040516001600160601b03193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506141838482614712565b949350505050565b614194816147a9565b61419d81613cbe565b6141ba57604051630b72d6b160e31b815260040160405180910390fd5b60006141c46118fe565b6001600160a01b031663477a5cc083306040518363ffffffff1660e01b81526004016141f1929190615d42565b602060405180830381865afa15801561420e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142329190615d5c565b90508061425257604051635fccb67f60e01b815260040160405180910390fd5b6000838060200190518101906142689190616565565b9050614274838261488a565b6110678382614a1f565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339906020016127c3565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016142dd57610f088282614df7565b610f08838383614e13565b6001600160a01b0381166000908152607d602090815260408083208054825181850281018501909352808352919290919083018282801561434857602002820191906000526020600020905b815481526020019060010190808311614334575b5050505050905060005b8151811015610f0857600082828151811061436f5761436f61660f565b602002602001015190506000607b6000838152602001908152602001600020905061439982614e59565b15614434576001600160a01b03851660009081526009820160205260408120805490829055600283018054919283926143d3908490615b69565b9250508190555080607060008282546143ec9190615b69565b909155506143fc905082826131f9565b6000805160206166fa833981519152868460008560020154866003015460405161442a959493929190616625565b60405180910390a1505b5050808061444190615e90565b915050614352565b60008160000361445b57506000919050565b6000600161446884614e92565b901c6001901b9050600181848161448157614481615c11565b048201901c9050600181848161449957614499615c11565b048201901c905060018184816144b1576144b1615c11565b048201901c905060018184816144c9576144c9615c11565b048201901c905060018184816144e1576144e1615c11565b048201901c905060018184816144f9576144f9615c11565b048201901c9050600181848161451157614511615c11565b048201901c90506110de8182858161452b5761452b615c11565b04614f26565b6000600160801b8311156145985760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608401610fad565b600160801b82106145ea5760405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401610fad565b60806001607f1b6145fb8486615c6c565b6146059190615b9d565b901c9392505050565b614617816131ea565b6146795760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610fad565b6000805160206166da83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6146b183614f3c565b6000825111806146be5750805b15610f08576110678383614f7c565b610ee982826040516024016146e3929190616653565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b179052614fa1565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b038116610ed15760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606401610fad565b6001600160a01b0381166147d057604051631a3e505160e31b815260040160405180910390fd5b6078546001600160a01b03166147f957604051635df4b1ef60e01b815260040160405180910390fd5b6148016118fe565b6001600160a01b031663a230c524826040518263ffffffff1660e01b815260040161482c91906155eb565b602060405180830381865afa158015614849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061486d9190615d5c565b6118fb57604051636a5cfb6d60e01b815260040160405180910390fd5b6000805b8251811015614947578281815181106148a9576148a961660f565b602002602001015160000151600003156149355760008382815181106148d1576148d161660f565b60200260200101516000015190506148e881614e59565b6149085760405163c1d17bef60e01b815260048101829052602401610fad565b83828151811061491a5761491a61660f565b60200260200101516020015183614931919061667d565b9250505b8061493f81615e90565b91505061488e565b50600061495c614956856124df565b83614fc2565b905060006149686118fe565b6001600160a01b0316637817ee4f86306040518363ffffffff1660e01b8152600401614995929190615d42565b602060405180830381865afa1580156149b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906149d69190615d79565b9050808211156149fd578181604051636b20c17f60e11b8152600401610fad929190615da2565b506001600160a01b039093166000908152607c60205260409020929092555050565b606060005b8251811015611067576000838281518110614a4157614a4161660f565b60200260200101516000015190508251600003614a9d5760408051600180825281830190925290602080830190803683370190505092508083600081518110614a8c57614a8c61660f565b602002602001018181525050614bd0565b6000805b8451811015614afd5782858281518110614abd57614abd61660f565b602002602001015103614aeb57600191508281604051632b7aec5560e21b8152600401610fad929190615da2565b80614af581615e90565b915050614aa1565b5080614bce57600084516001614b139190615b9d565b6001600160401b03811115614b2a57614b2a615294565b604051908082528060200260200182016040528015614b53578160200160208202803683370190505b50905060005b8551811015614bab57858181518110614b7457614b7461660f565b6020026020010151828281518110614b8e57614b8e61660f565b602090810291909101015280614ba381615e90565b915050614b59565b508281865181518110614bc057614bc061660f565b602090810291909101015293505b505b6000848381518110614be457614be461660f565b6020908102919091018101518101516000848152607b835260408082206001600160a01b038b16835260098101909452812054919350614c248285614fc2565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607d6020526040902054811015614cbd5784546001600160a01b038c166000908152607d60205260409020805483908110614c9257614c9261660f565b906000526020600020015403614cab5760019150614cbd565b80614cb581615e90565b915050614c46565b5080614cf3576001600160a01b038a166000908152607d6020908152604082208654815460018101835591845291909220909101555b818311614d4357614d048383615b69565b60706000828254614d159190615b9d565b90915550614d2590508383615b69565b846002016000828254614d389190615b9d565b90915550614d879050565b614d4d8284615b69565b60706000828254614d5e9190615b69565b90915550614d6e90508284615b69565b846002016000828254614d819190615b69565b90915550505b8360070154600003614d9e57436007850155614dde565b614da884846131f9565b6000805160206166fa8339815191528a878487600201548860030154604051614dd5959493929190616625565b60405180910390a15b5050505050508080614def90615e90565b915050614a24565b60008060008084865af1610ee95763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d156001600051141716614e4f576390b8ec186000526004601cfd5b6000603452505050565b6000818152607b602052604081205415801590610ed15750506000908152607b60205260409020600501546001600160a01b0316151590565b600080608083901c15614ea757608092831c92015b604083901c15614eb957604092831c92015b602083901c15614ecb57602092831c92015b601083901c15614edd57601092831c92015b600883901c15614eef57600892831c92015b600483901c15614f0157600492831c92015b600283901c15614f1357600292831c92015b600183901c15610ed15760010192915050565b6000818310614f3557816110de565b5090919050565b614f458161460e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606110de838360405180606001604052806027815260200161671a60279139614ff9565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080614fcf838561667d565b905060008112156110de57838382604051631dde38a160e11b8152600401610fad93929190616133565b6060600080856001600160a01b031685604051615016919061669d565b600060405180830381855af49150503d8060008114615051576040519150601f19603f3d011682016040523d82523d6000602084013e615056565b606091505b509150915061506786838387615071565b9695505050505050565b606083156150de5782516000036150d75761508b856131ea565b6150d75760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610fad565b5081614183565b61418383838151156150f35781518083602001fd5b8060405162461bcd60e51b8152600401610fad9190615b0c565b60006020828403121561511f57600080fd5b5035919050565b6001600160a01b03169052565b634e487b7160e01b600052602160045260246000fd5b600781106118fb576118fb615133565b60005b8381101561517457818101518382015260200161515c565b50506000910152565b60008151808452615195816020860160208601615159565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152614183604085018261517d565b60006101e08f83528e60208401528d60408401528c606084015260018060a01b03808d166080850152808c1660a0850152808b1660c08501528960e085015261521089615149565b886101008501528161012085015261522a828501896151a9565b875161014086015260208801516101608601526040909701511661018084015250506101a08101929092526101c0909101529a9950505050505050505050565b60006020828403121561527c57600080fd5b81356001600160e01b0319811681146110de57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156152cc576152cc615294565b60405290565b60405160c081016001600160401b03811182821017156152cc576152cc615294565b60405160e081016001600160401b03811182821017156152cc576152cc615294565b604080519081016001600160401b03811182821017156152cc576152cc615294565b60405160a081016001600160401b03811182821017156152cc576152cc615294565b604051601f8201601f191681016001600160401b038111828210171561538257615382615294565b604052919050565b6001600160a01b03811681146118fb57600080fd5b6000808284036101408112156153b457600080fd5b60c08112156153c257600080fd5b6153ca6152d2565b84356153d58161538a565b815260208501356153e58161538a565b602082015260408581013590820152606080860135908201526080808601358183015260a0808701359083015290935060bf198201121561542557600080fd5b5061542e6152aa565b60c0840135815260e0840135602082015261010084013560408201526101209093013560608401525092909150565b60006001600160401b0382111561547657615476615294565b5060051b60200190565b600082601f83011261549157600080fd5b813560206154a66154a18361545d565b61535a565b82815260059290921b840181019181810190868411156154c557600080fd5b8286015b848110156154e95780356154dc8161538a565b83529183019183016154c9565b509695505050505050565b60006001600160401b0382111561550d5761550d615294565b50601f01601f191660200190565b60006155296154a1846154f4565b905082815283838301111561553d57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261556557600080fd5b6110de8383356020850161551b565b60008060006060848603121561558957600080fd5b83356001600160401b03808211156155a057600080fd5b6155ac87838801615480565b945060208601359150808211156155c257600080fd5b506155cf86828701615554565b92505060408401356155e08161538a565b809150509250925092565b6001600160a01b0391909116815260200190565b60008060006060848603121561561457600080fd5b833561561f8161538a565b9250602084013561562f8161538a565b915060408401356155e08161538a565b6000806040838503121561565257600080fd5b82356001600160401b0381111561566857600080fd5b61567485828601615554565b92505060208301356156858161538a565b809150509250929050565b600481106156a0576156a0615133565b9052565b60208101610ed18284615690565b600080604083850312156156c557600080fd5b82356156d08161538a565b946020939093013593505050565b600080604083850312156156f157600080fd5b50508035926020909101359150565b60008060006060848603121561571557600080fd5b505081359360208301359350604090920135919050565b600381106156a0576156a0615133565b60208101610ed1828461572c565b60006020828403121561575c57600080fd5b81356110de8161538a565b6000806040838503121561577a57600080fd5b82356157858161538a565b915060208301356001600160401b038111156157a057600080fd5b6157ac85828601615554565b9150509250929050565b6000806000606084860312156157cb57600080fd5b83356157d68161538a565b925060208401356001600160401b038111156157f157600080fd5b8401601f8101861361580257600080fd5b6155cf8682356020840161551b565b6020815260006110de60208301846151a9565b6000806040838503121561583757600080fd5b82356001600160401b038082111561584e57600080fd5b61585a86838701615480565b935060209150818501358181111561587157600080fd5b8501601f8101871361588257600080fd5b80356158906154a18261545d565b81815260059190911b820184019084810190898311156158af57600080fd5b8584015b838110156158e7578035868111156158cb5760008081fd5b6158d98c8983890101615554565b8452509186019186016158b3565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b8281101561594357815180516001600160a01b03168552860151868501529284019290850190600101615915565b5091979650505050505050565b60008083601f84011261596257600080fd5b5081356001600160401b0381111561597957600080fd5b60208301915083602082850101111561407e57600080fd5b6000806000806000606086880312156159a957600080fd5b8535945060208601356001600160401b03808211156159c757600080fd5b6159d389838a01615950565b909650945060408801359150808211156159ec57600080fd5b506159f988828901615950565b969995985093965092949392505050565b80151581146118fb57600080fd5b600060208284031215615a2a57600080fd5b81356110de81615a0a565b6001600160a01b038c811682528b811660208301528a16604082015260608101899052608081018890526101608101615a6d88615149565b8760a08301528660c08301528560e08301528461010083015283610120830152826101408301529c9b505050505050505050505050565b60008060408385031215615ab757600080fd5b8235915060208301356156858161538a565b60208101615ad683615149565b91905290565b60008060408385031215615aef57600080fd5b8235915060208301356001600160401b038111156157a057600080fd5b6020815260006110de602083018461517d565b600181811c90821680615b3357607f821691505b602082108103611b8c57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610ed157610ed1615b53565b6001600160a01b039390931683526020830191909152604082015260600190565b80820180821115610ed157610ed1615b53565b9283526001600160a01b03919091166020830152604082015260600190565b600060208284031215615be157600080fd5b81516110de8161538a565b9384526001600160a01b03928316602085015291166040830152606082015260800190565b634e487b7160e01b600052601260045260246000fd5b600082615c4457634e487b7160e01b600052601260045260246000fd5b500490565b60006001600160401b03821680615c6257615c62615b53565b6000190192915050565b8082028115828204841417610ed157610ed1615b53565b6020808252602c908201526000805160206166ba83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206166ba83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0392831681529116602082015260400190565b600060208284031215615d6e57600080fd5b81516110de81615a0a565b600060208284031215615d8b57600080fd5b5051919050565b8051615d9d8161538a565b919050565b918252602082015260400190565b9182526001600160a01b0316602082015260400190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b838152604060208201526000615e0a604083018486615dc7565b95945050505050565b60006001600160401b038281166002600160401b03198101615e3757615e37615b53565b6001019392505050565b6001600160a01b03888116825260208201889052604082018790528516606082015260c060808201819052600090615e7c9083018587615dc7565b90508260a083015298975050505050505050565b600060018201615ea257615ea2615b53565b5060010190565b805160038110615d9d57600080fd5b805160048110615d9d57600080fd5b600060208284031215615ed957600080fd5b604051602081016001600160401b0381118282101715615efb57615efb615294565b6040529151825250919050565b600060c08284031215615f1a57600080fd5b615f226152d2565b90508151615f2f8161538a565b81526020820151615f3f8161538a565b8060208301525060408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b60008183036101e0811215615f8857600080fd5b615f906152f4565b6080821215615f9e57600080fd5b615fa66152aa565b915083518252602084015160208301526040840151604083015260608401516060830152818152615fd960808501615ea9565b6020820152615fea60a08501615eb8565b6040820152615ffc8560c08601615ec7565b606082015261600e8560e08601615f08565b60808201526160206101a08501615d92565b60a08201526160326101c08501615d92565b60c0820152949350505050565b805182526020810151602083015260408101516040830152606081015160608301525050565b60006102008201905083825261607f60208301845161603f565b602083015161609160a084018261572c565b5060408301516160a460c0840182615690565b506060838101515160e084015260808085015180516001600160a01b0390811661010087015260208201511661012086015260408101516101408601529182015161016085015281015161018084015260a0908101516101a08401528301516161116101c0840182615126565b5060c0830151613e246101e0840182615126565b60808101610ed1828461603f565b9283526020830191909152604082015260600190565b60006040828403121561615b57600080fd5b616163615316565b8251815260208301519091506001600160401b0381111561618357600080fd5b8201601f8101841361619457600080fd5b80516161a26154a1826154f4565b8181528560208385010111156161b757600080fd5b6161c8826020830160208601615159565b602084015250909392505050565b6000602082840312156161e857600080fd5b81516001600160401b03808211156161ff57600080fd5b9083019060c0828603121561621357600080fd5b61621b6152d2565b82518152602083015161622d8161538a565b602082015260408301516162408161538a565b604082015260608301518281111561625757600080fd5b61626387828601616149565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b60006020828403121561629b57600080fd5b81516001600160401b03808211156162b257600080fd5b9083019060a082860312156162c657600080fd5b6162ce615338565b8251815260208301516162e08161538a565b60208201526040838101519082015260608301516162fd8161538a565b606082015260808301518281111561631457600080fd5b61632087828601616149565b60808301525095945050505050565b601f821115610f0857600081815260208120601f850160051c810160208610156163565750805b601f850160051c820191505b8181101561637557828155600101616362565b505050505050565b81516001600160401b0381111561639657616396615294565b6163aa816163a48454615b1f565b8461632f565b602080601f8311600181146163df57600084156163c75750858301515b600019600386901b1c1916600185901b178555616375565b600085815260208120601f198616915b8281101561640e578886015182559484019460019091019084016163ef565b508582101561642c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561644e57600080fd5b815160ff811681146110de57600080fd5b600181815b8085111561649a57816000190482111561648057616480615b53565b8085161561648d57918102915b93841c9390800290616464565b509250929050565b6000826164b157506001610ed1565b816164be57506000610ed1565b81600181146164d457600281146164de576164fa565b6001915050610ed1565b60ff8411156164ef576164ef615b53565b50506001821b610ed1565b5060208310610133831016604e8410600b841016171561651d575081810a610ed1565b616527838361645f565b806000190482111561653b5761653b615b53565b029392505050565b60006110de83836164a2565b634e487b7160e01b600052600160045260246000fd5b6000602080838503121561657857600080fd5b82516001600160401b0381111561658e57600080fd5b8301601f8101851361659f57600080fd5b80516165ad6154a18261545d565b81815260069190911b820183019083810190878311156165cc57600080fd5b928401925b8284101561397157604084890312156165ea5760008081fd5b6165f2615316565b8451815285850151868201528252604090930192908401906165d1565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03959095168552602085019390935260408401919091526060830152608082015260a00190565b604081526000616666604083018561517d565b905060018060a01b03831660208301529392505050565b8082018281126000831280158216821582161715613a1c57613a1c615b53565b600082516166af818460208701615159565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212200f490344a7e957b1d8cb28c160c049b05404f64f215654b3a346d983afece98364736f6c63430008130033","sourceMap":"3782:50033:98:-:0;;;1088:4:64;1045:48;;3782:50033:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361061034d5760003560e01c8063013cf08b1461035657806301ffc9a714610398578063059351cd146103c8578063062f9ece146104555780630a6f0ee9146104755780630ba95909146104955780630bece79c146104b45780630c0512e9146104e15780630f529ba2146104f7578063125fd1d91461050e57806315cc481e14610524578063184b9559146105425780631aa91a9e146105625780631ddf1e23146105825780632506b87014610597578063255ffb38146105da5780632bbe0cae146106075780632dbd6fdd1461061a5780632ed04b2b14610646578063311a6c56146106665780633396045914610686578063346db8cb1461069c578063351d9f96146106bc5780633659cfe6146106e357806338fff2d014610703578063406244d81461071857806341bb76051461072d57806342fda9c71461078a57806348f19c1d1461079f5780634ab4ba42146107b45780634d31d087146107c95780634f1ef286146107e957806352d1902d146107fc57806359a5db8b146108115780635db64b99146108315780636003e4141461085e57806360d5dedc1461087e578063626c47e81461089e5780636453d9c4146108b3578063715018a6146108d3578063782aadff146108e8578063814516ad14610908578063817b1cd21461091d578063824ea8ed14610933578063868c57b8146109535780638da5cb5b14610973578063950559d7146109885780639a1c157c146109a8578063a0cf0aea146109bd578063a28889e1146109e5578063a47ff7e514610a1d578063a574cea414610a34578063aba9ffee14610a61578063ac1ed7b914610a77578063b0d3713a14610a97578063b2b878d014610ab7578063b41596ec14610ae4578063b5f620ce14610af7578063b6c61f3114610b17578063bcc5b93b14610b37578063c329217114610b57578063c4d66de814610b74578063c7f758a814610b94578063d1e3623214610bcb578063dc96ff2d14610be0578063df868ed314610c10578063e0a8f6f514610c25578063e0dd2c3814610c45578063eb11af9314610c65578063edd146cc14610c8d578063ef2920fc14610cad578063f2fde38b14610cc0578063f5b0dfb714610ce0578063f5be3f7c14610d00578063ffa1ad7414610d1657005b3661035457005b005b34801561036257600080fd5b5061037661037136600461510d565b610d52565b60405161038f9d9c9b9a999897969594939291906151c8565b60405180910390f35b3480156103a457600080fd5b506103b86103b336600461526a565b610ea0565b604051901515815260200161038f565b3480156103d457600080fd5b5061041d606f546000908152607f60205260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169694909316949193909290565b604080516001600160a01b039788168152969095166020870152938501929092526060840152608083015260a082015260c00161038f565b34801561046157600080fd5b5061035461047036600461539f565b610ed7565b34801561048157600080fd5b50610354610490366004615574565b610eed565b3480156104a157600080fd5b506077545b60405190815260200161038f565b3480156104c057600080fd5b506079546104d4906001600160a01b031681565b60405161038f91906155eb565b3480156104ed57600080fd5b506104a6606e5481565b34801561050357600080fd5b506104a66298968081565b34801561051a57600080fd5b506104a6606f5481565b34801561053057600080fd5b506065546001600160a01b03166104d4565b34801561054e57600080fd5b5061035461055d3660046155ff565b610f0d565b34801561056e57600080fd5b506104a661057d36600461510d565b61106d565b34801561058e57600080fd5b506103546110b7565b3480156105a357600080fd5b506072546073546074546075546105ba9392919084565b60408051948552602085019390935291830152606082015260800161038f565b3480156105e657600080fd5b506104a66105f536600461510d565b607e6020526000908152604090205481565b6104d461061536600461563f565b6110c2565b34801561062657600080fd5b5060765461063990610100900460ff1681565b60405161038f91906156a4565b34801561065257600080fd5b506104a66106613660046156b2565b6110e5565b34801561067257600080fd5b506103546106813660046156de565b6111a9565b34801561069257600080fd5b506104a6606c5481565b3480156106a857600080fd5b506104a66106b7366004615700565b61179b565b3480156106c857600080fd5b506076546106d69060ff1681565b60405161038f919061573c565b3480156106ef57600080fd5b506103546106fe36600461574a565b611836565b34801561070f57600080fd5b506068546104a6565b34801561072457600080fd5b506104a6600a81565b34801561073957600080fd5b5061041d61074836600461510d565b607f602052600090815260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169593909416939192909186565b34801561079657600080fd5b506066546104a6565b3480156107ab57600080fd5b506104d46118fe565b3480156107c057600080fd5b506069546104a6565b3480156107d557600080fd5b506103b86107e436600461574a565b61190d565b6103546107f7366004615767565b611915565b34801561080857600080fd5b506104a66119ca565b34801561081d57600080fd5b506104a661082c36600461510d565b611a78565b34801561083d57600080fd5b506104a661084c36600461574a565b607c6020526000908152604090205481565b34801561086a57600080fd5b506078546104d4906001600160a01b031681565b34801561088a57600080fd5b506103546108993660046157b6565b611b92565b3480156108aa57600080fd5b506104a6600381565b3480156108bf57600080fd5b506103546108ce36600461574a565b611c0e565b3480156108df57600080fd5b50610354611c1f565b3480156108f457600080fd5b506104a66109033660046156b2565b611c31565b34801561091457600080fd5b50610354611dc7565b34801561092957600080fd5b506104a660705481565b34801561093f57600080fd5b506103b861094e36600461510d565b611ee4565b34801561095f57600080fd5b506104a661096e3660046156b2565b611f41565b34801561097f57600080fd5b506104d4611f72565b34801561099457600080fd5b506104a66109a336600461510d565b612003565b3480156109b457600080fd5b506074546104a6565b3480156109c957600080fd5b506104d473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156109f157600080fd5b50606d54610a05906001600160401b031681565b6040516001600160401b03909116815260200161038f565b348015610a2957600080fd5b506077546104a69081565b348015610a4057600080fd5b50610a54610a4f36600461510d565b61202d565b60405161038f9190615811565b348015610a6d57600080fd5b506104a660715481565b348015610a8357600080fd5b50610354610a9236600461574a565b61210c565b348015610aa357600080fd5b50610354610ab236600461574a565b61213f565b348015610ac357600080fd5b50610ad7610ad2366004615824565b612169565b60405161038f91906158f8565b6104a6610af2366004615991565b612184565b348015610b0357600080fd5b50610354610b12366004615a18565b6124d6565b348015610b2357600080fd5b50607a546104d4906001600160a01b031681565b348015610b4357600080fd5b506104a6610b5236600461574a565b6124df565b348015610b6357600080fd5b50607654610100900460ff16610639565b348015610b8057600080fd5b50610354610b8f36600461574a565b6124fa565b348015610ba057600080fd5b50610bb4610baf36600461510d565b61252a565b60405161038f9b9a99989796959493929190615a35565b348015610bd757600080fd5b506071546104a6565b348015610bec57600080fd5b506104a6610bfb36600461510d565b6000908152607b602052604090206002015490565b348015610c1c57600080fd5b506103b8612636565b348015610c3157600080fd5b50610354610c4036600461510d565b612649565b348015610c5157600080fd5b506104a6610c60366004615aa4565b6127ce565b348015610c7157600080fd5b50610c806107e436600461574a565b60405161038f9190615ac9565b348015610c9957600080fd5b50610354610ca8366004615adc565b6127f9565b610354610cbb36600461563f565b6129d3565b348015610ccc57600080fd5b50610354610cdb36600461574a565b6129ed565b348015610cec57600080fd5b50610354610cfb36600461510d565b612a5a565b348015610d0c57600080fd5b506104a6611c2081565b348015610d2257600080fd5b50610d45604051806040016040528060038152602001620302e360ec1b81525081565b60405161038f9190615b0c565b607b602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610dd990615b1f565b80601f0160208091040260200160405190810160405280929190818152602001828054610e0590615b1f565b8015610e525780601f10610e2757610100808354040283529160200191610e52565b820191906000526020600020905b815481529060010190602001808311610e3557829003601f168201915b50505091909252505060408051606081018252600c8501548152600d8501546020820152600e8501546001600160a01b031691810191909152600f840154601090940154929390929091508d565b60006001600160e01b0319821663f1801e6160e01b1480610ed157506301ffc9a760e01b6001600160e01b03198316145b92915050565b610edf612a83565b610ee98282612b1d565b5050565b610ef5612e92565b610efd612ebd565b610f08838383612ee0565b505050565b600054610100900460ff1615808015610f2d5750600054600160ff909116105b80610f4e5750610f3c306131ea565b158015610f4e575060005460ff166001145b610fb65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610fd9576000805461ff0019166101001790555b611006846040518060400160405280600a8152602001694356537472617465677960b01b81525084611b92565b606a80546001600160a01b0319166001600160a01b0385161790558015611067576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b6000818152607b602052604081208054831461109f5760405163c1d17bef60e01b815260048101849052602401610fad565b6110ad8182600201546131f9565b6003015492915050565b6110c033613234565b565b60006110cc612e92565b6110d4612ebd565b6110de8383613360565b9392505050565b60006110ef61374e565b60006002607654610100900460ff16600381111561110f5761110f615133565b148061113657506001607654610100900460ff16600381111561113457611134615133565b145b1561114257508161114f565b61114c8484613779565b90505b80607160008282546111619190615b69565b90915550506040517f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19061119a90869086908590615b7c565b60405180910390a19392505050565b6000828152607e6020908152604080832054808452607b835281842060108101548552607f8452828520835160c08101855281546001600160a01b03908116825260018301541695810195909552600281015493850193909352600383015460608501526004830154608085015260059092015460a0840152929091908390036112495760405163c1d17bef60e01b815260048101849052602401610fad565b6005600883015460ff16600681111561126457611264615133565b1461128557604051634b011ca960e11b815260048101849052602401610fad565b60a0810151600d83015460009161129b91615b9d565b421190508015816112b6575081516001600160a01b03163314155b156112d457604051631777988560e11b815260040160405180910390fd5b80806112de575084155b1561142757816080015160000361130857604051630dd466dd60e41b815260040160405180910390fd5b81608001516001036113245760088301805460ff191660011790555b81608001516002036113b15760088301805460ff191660061790556079546005840154604084810151905163099ea56b60e41b81526001600160a01b03938416936399ea56b09361137e938a939290911691600401615bb0565b600060405180830381600087803b15801561139857600080fd5b505af11580156113ac573d6000803e3d6000fd5b505050505b607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b0936113f0938a939290911691600401615bb0565b600060405180830381600087803b15801561140a57600080fd5b505af115801561141e573d6000803e3d6000fd5b50505050611704565b846001036114e85760088301805460ff19166001179055607954600e8401546001600160a01b0391821691638969ab53918791166114636118fe565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c49190615bcf565b86606001516040518563ffffffff1660e01b81526004016113f09493929190615bec565b846002036117045760088301805460ff19166006179055607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b09361153e938a939290911691600401615bb0565b600060405180830381600087803b15801561155857600080fd5b505af115801561156c573d6000803e3d6000fd5b505060795460058601546001600160a01b039182169350638969ab5392508791166115956118fe565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f69190615bcf565b606f546000908152607f602052604090206002908101546116179190615c27565b6040518563ffffffff1660e01b81526004016116369493929190615bec565b600060405180830381600087803b15801561165057600080fd5b505af1158015611664573d6000803e3d6000fd5b50506079546005860154600e870154606f546000908152607f602052604090206002908101546001600160a01b039485169650638969ab5395508a9493841693909216916116b29190615c27565b6040518563ffffffff1660e01b81526004016116d19493929190615bec565b600060405180830381600087803b1580156116eb57600080fd5b505af11580156116ff573d6000803e3d6000fd5b505050505b606d80546001600160401b031690600061171d83615c49565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550504283600f01819055508582600001516001600160a01b03167f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222768760405161178b91815260200190565b60405180910390a3505050505050565b607454600090849082906117c0906117ba90629896809060801b615c27565b8361397c565b905060806001607f1b607260020154629896806117dd9190615b69565b6117eb84600160801b615b69565b6117f86298968089615c6c565b6118029190615c6c565b61180c9190615c27565b6118168885615c6c565b6118209190615b9d565b61182a9190615b9d565b901c9695505050505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361187e5760405162461bcd60e51b8152600401610fad90615c83565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166118b0613a24565b6001600160a01b0316146118d65760405162461bcd60e51b8152600401610fad90615cbd565b6118df81613a40565b604080516000808252602082019092526118fb91839190613a7b565b50565b6078546001600160a01b031690565b600080610ed1565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361195d5760405162461bcd60e51b8152600401610fad90615c83565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661198f613a24565b6001600160a01b0316146119b55760405162461bcd60e51b8152600401610fad90615cbd565b6119be82613a40565b610ee982826001613a7b565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611a655760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610fad565b506000805160206166da83398151915290565b60008060695411611a9c5760405163ed4421ad60e01b815260040160405180910390fd5b611aa582613be6565b15611ac357604051630efd728560e21b815260040160405180910390fd5b606954600090611ad784600160401b615c6c565b611ae19190615c27565b6072546298968090611af790600160401b615c6c565b611b019190615c27565b611b0b9190615b69565b90506040611b1860715490565b607454611b289062989680615b69565b629896806040611b388680615c6c565b607354911c90611b4f90629896809060801b615c27565b611b599190615c27565b611b639190615c6c565b611b6d9190615c27565b611b779190615c6c565b607554911c92508211611b8c576075546110de565b50919050565b600054610100900460ff16611bb95760405162461bcd60e51b8152600401610fad90615cf7565b611bc2816124fa565b606580546001600160a01b0319166001600160a01b038516179055604051611bee908390602001615b0c565b60408051601f198184030181529190528051602090910120606655505050565b611c1661374e565b6118fb81613234565b611c27613c0d565b6110c06000613c6c565b6000611c3b61374e565b611c4483613cbe565b611c6157604051630b72d6b160e31b815260040160405180910390fd5b60006002607654610100900460ff166003811115611c8157611c81615133565b03611c8f57825b9050611cec565b6001607654610100900460ff166003811115611cad57611cad615133565b03611cbc57611c888484613d83565b6003607654610100900460ff166003811115611cda57611cda615133565b03611cec57611ce98484613e2c565b90505b6000611cf66118fe565b6001600160a01b031663477a5cc086306040518363ffffffff1660e01b8152600401611d23929190615d42565b602060405180830381865afa158015611d40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d649190615d5c565b90508015611d84578160716000828254611d7e9190615b9d565b90915550505b7f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a858584604051611db793929190615b7c565b60405180910390a1509392505050565b33611dd181613cbe565b611dee57604051630b72d6b160e31b815260040160405180910390fd5b611df66118fe565b6001600160a01b0316630d4a8b4982306040518363ffffffff1660e01b8152600401611e23929190615d42565b600060405180830381600087803b158015611e3d57600080fd5b505af1158015611e51573d6000803e3d6000fd5b50505050611e5d6118fe565b6001600160a01b0316637817ee4f82306040518363ffffffff1660e01b8152600401611e8a929190615d42565b602060405180830381865afa158015611ea7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ecb9190615d79565b60716000828254611edc9190615b9d565b909155505050565b6000818152607b60205260408120600281015482908190611f0690849061402d565b91509150816000148015611f18575080155b15611f2557826003015491505b6000611f348460010154611a78565b9092101595945050505050565b607d6020528160005260406000208181548110611f5d57600080fd5b90600052602060002001600091509150505481565b600080611f876033546001600160a01b031690565b9050806001600160a01b03163b600003611fa057919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611ffa575060408051601f3d908101601f19168201909252611ff791810190615bcf565b60015b610ed157919050565b6074546000906120169062989680615b69565b6120236298968084615c6c565b610ed19190615c27565b6040805180820190915260008152606060208201526000607b6000848152602001908152602001600020905080600a016040518060400160405290816000820154815260200160018201805461208290615b1f565b80601f01602080910402602001604051908101604052809291908181526020018280546120ae90615b1f565b80156120fb5780601f106120d0576101008083540402835291602001916120fb565b820191906000526020600020905b8154815290600101906020018083116120de57829003601f168201915b505050505081525050915050919050565b612114612a83565b61211d81614085565b607a80546001600160a01b0319166001600160a01b0392909216919091179055565b612147613c0d565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b606060405163d623472560e01b815260040160405180910390fd5b6000858152607b6020908152604080832060108101548452607f8352818420825160c08101845281546001600160a01b0390811680835260018401549091169582019590955260028201549381019390935260038101546060840152600481015460808401526005015460a08301529161221157604051636c291fd360e01b815260040160405180910390fd5b815488146122355760405163c1d17bef60e01b815260048101899052602401610fad565b6001600883015460ff16600681111561225057612250615133565b14612271576040516344980d8f60e01b815260048101899052602401610fad565b806060015134101561229d576060810151604051632c1f8ef160e21b8152610fad913491600401615da2565b600f820154158015906122c0575042611c2083600f01546122be9190615b9d565b115b156122fe578742611c2084600f01546122d99190615b9d565b6122e39190615b69565b604051638d2f6c3160e01b8152600401610fad929190615da2565b60008160600151346123109190615b69565b607954606084015160405163240ff7c560e11b81529293506001600160a01b039091169163481fef8a919061234b908d903390600401615db0565b6000604051808303818588803b15801561236457600080fd5b505af1158015612378573d6000803e3d6000fd5b5050845160405163c13517e160e01b81526001600160a01b03909116935063c13517e192508491506123b3906003908b908b90600401615df0565b60206040518083038185885af11580156123d1573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906123f69190615d79565b60088401805491955060059160ff19166001830217905550600c830184905542600d840155600e830180546001600160a01b031916331790556000848152607e602052604081208a9055606d80546001600160401b03169161245783615e13565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550507f034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d82600001518a86338c8c89600c01600101546040516124c29796959493929190615e41565b60405180910390a150505095945050505050565b6118fb816140ac565b6001600160a01b03166000908152607c602052604090205490565b600054610100900460ff166125215760405162461bcd60e51b8152600401610fad90615cf7565b6118fb81613c6c565b600080600080600080600080600080600080607b60008e81526020019081526020016000209050806001015460001461256f5761256a8160010154611a78565b612572565b60005b93508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548b896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020548a601001549b509b509b509b509b509b509b509b509b509b509b505091939597999b90929496989a50565b600061264460675460ff1690565b905090565b60016000828152607b602052604090206008015460ff16600681111561267157612671615133565b14612692576040516344980d8f60e01b815260048101829052602401610fad565b6000818152607b60205260409020600501546001600160a01b031633146126eb576000818152607b602052604090819020600501549051634544dc9160e11b8152610fad916001600160a01b0316903390600401615d42565b6079546000828152607b6020908152604080832060058101546010909101548452607f9092529182902060020154915163099ea56b60e41b81526001600160a01b03938416936399ea56b093612748938793921691600401615bb0565b600060405180830381600087803b15801561276257600080fd5b505af1158015612776573d6000803e3d6000fd5b5050506000828152607b6020908152604091829020600801805460ff1916600317905590518381527f416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c9250015b60405180910390a150565b6000828152607b602090815260408083206001600160a01b03851684526009019091528120546110de565b612801612e92565b61280a826140ed565b606a54606c8054612833926001600160a01b031691600061282a83615e90565b9190505561413c565b607980546001600160a01b0319166001600160a01b039290921691821790556040805163204a7f0760e21b81529051638129fc1c9160048082019260009290919082900301818387803b15801561288957600080fd5b505af115801561289d573d6000803e3d6000fd5b505050506000818060200190518101906128b79190615f74565b60a08101519091506001600160a01b03166128e557604051635df4b1ef60e01b815260040160405180910390fd5b60a0810151607880546001600160a01b0319166001600160a01b0390921691909117905560208101516076805460ff1916600183600281111561292a5761292a615133565b021790555060408101516076805461ff00191661010083600381111561295257612952615133565b021790555060608101515160775560c0810151607a80546001600160a01b0319166001600160a01b03909216919091179055608081015181516129959190612b1d565b7fe5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b83826040516129c6929190616065565b60405180910390a1505050565b6129db612e92565b6129e3612ebd565b610ee9828261418b565b6129f5613c0d565b6001600160a01b0381166125215760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610fad565b612a62612e92565b8060696000828254612a749190615b9d565b909155506118fb90508161427e565b612a8b6118fe565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ac8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aec9190615bcf565b6001600160a01b0316336001600160a01b0316146110c057604051637430763f60e11b815260040160405180910390fd5b60208201516001600160a01b031615801590612b42575081516001600160a01b031615155b8015612c2b5750606f546000908152607f6020908152604090912060010154908301516001600160a01b039081169116141580612b9e5750606f546000908152607f602052604090205482516001600160a01b03908116911614155b80612bc25750606f546000908152607f602052604090819020600201549083015114155b80612be55750606f546000908152607f6020526040902060030154606083015114155b80612c085750606f546000908152607f6020526040902060040154608083015114155b80612c2b5750606f546000908152607f602052604090206005015460a083015114155b15612e3a57602080830151606f546000908152607f9092526040909120600101546001600160a01b039081169116141580612c8557508151606f546000908152607f60205260409020546001600160a01b03908116911614155b15612d4e578151602083015160405163446adb9960e11b81526001600160a01b03909216916388d5b73291612cbc916004016155eb565b600060405180830381600087803b158015612cd657600080fd5b505af1158015612cea573d6000803e3d6000fd5b5050835160208501516040517fdc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f9450612d459350309291906001600160a01b0393841681529183166020830152909116604082015260600190565b60405180910390a15b606f8054906000612d5e83615e90565b9091555050606f80546000908152607f6020908152604091829020855181546001600160a01b03199081166001600160a01b03928316908117845588850151600185018054909316931692831790915587850151600284018190556060808a0151600386018190556080808c01516004880181905560a0808e015160059099018990559a548a519081529889019590955297870194909452850152938301529281019190915260c08101919091527fe677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d539060e00160405180910390a15b805160725560208101516073556040808201516074556060820151607555517fec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc90612e86908390616125565b60405180910390a15050565b6065546001600160a01b031633146110c05760405163075fd2b160e01b815260040160405180910390fd5b6068546000036110c057604051630f68fe6360e21b815260040160405180910390fd5b6000825111612f0257604051630317df1360e61b815260040160405180910390fd5b600082806020019051810190612f189190615d79565b905080600003612f3b5760405163f881a10d60e01b815260040160405180910390fd5b6000818152607b60205260409020600160765460ff166002811115612f6257612f62615133565b036131e35780548214612f8b5760405163c1d17bef60e01b815260048101839052602401610fad565b60695481600101541115612fbe57818160010154606954604051632c31d85b60e11b8152600401610fad93929190616133565b6001600882015460ff166006811115612fd957612fd9615133565b14612ffa576040516344980d8f60e01b815260048101839052602401610fad565b60006130058361106d565b905060006130168360010154611a78565b9050808210801561302b575060008360010154115b156130495760405163199cf26160e31b815260040160405180910390fd5b60655460685460405163068bcd8d60e01b815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015613097573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526130bf91908101906161d6565b90508360010154606960008282546130d79190615b69565b90915550506040810151600485015460018601546130ff92916001600160a01b0316906142ae565b60088401805460ff191660049081179091556079546005860154606f546000908152607f60205260409081902060020154905163099ea56b60e41b81526001600160a01b03938416946399ea56b09461315f948c94911692909101615bb0565b600060405180830381600087803b15801561317957600080fd5b505af115801561318d573d6000803e3d6000fd5b505050600485015460018601546040517fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f3584793506131d79289926001600160a01b0390911691615bb0565b60405180910390a15050505b5050505050565b6001600160a01b03163b151590565b600080613206848461402d565b91509150816000148015613218575080155b156132235750505050565b600784015560039092019190915550565b61323c6118fe565b6001600160a01b0316637817ee4f82306040518363ffffffff1660e01b8152600401613269929190615d42565b602060405180830381865afa158015613286573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132aa9190615d79565b607160008282546132bb9190615b69565b909155506132c990506118fe565b6001600160a01b03166322bcf99982306040518363ffffffff1660e01b81526004016132f6929190615d42565b600060405180830381600087803b15801561331057600080fd5b505af1158015613324573d6000803e3d6000fd5b50505050613331816142e8565b7f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b816040516127c391906155eb565b600061336b82613cbe565b61338857604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061339e9190616289565b80519091506000036133c35760405163273c8bc360e11b815260040160405180910390fd5b600160765460ff1660028111156133dc576133dc615133565b0361355d576133ee8160200151614085565b60608101516001600160a01b03166134195760405163165a825360e21b815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613459573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061347d9190615bcf565b825160405163068bcd8d60e01b815260048101919091529091506000906001600160a01b0383169063068bcd8d90602401600060405180830381865afa1580156134cb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134f391908101906161d6565b905080604001516001600160a01b031683606001516001600160a01b03161461352f5760405163514e24c360e11b815260040160405180910390fd5b61353c8360400151613be6565b1561355a57604051630efd728560e21b815260040160405180910390fd5b50505b606f546000908152607f60205260409020546001600160a01b0316158015906135995750606f546000908152607f602052604090206002015434105b156135cf57606f546000908152607f602052604090819020600201549051632c1f8ef160e21b8152610fad913491600401615da2565b6000606e600081546135e090615e90565b91829055506000818152607b602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b840190613694908261637d565b5050606f54601083015550607954600582015460405163240ff7c560e11b81526001600160a01b039283169263481fef8a9234926136d89288921690600401615db0565b6000604051808303818588803b1580156136f157600080fd5b505af1158015613705573d6000803e3d6000fd5b50505050507ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b6068548360405161373d929190615da2565b60405180910390a150949350505050565b6078546001600160a01b031633146110c0576040516357848b5160e11b815260040160405180910390fd5b600060126137856118fe565b6001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156137c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137e69190615bcf565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561383f575060408051601f3d908101601f1916820190925261383c9181019061643c565b60015b1561384a5760ff1690505b6000836138556118fe565b6001600160a01b0316632c611c4a876040518263ffffffff1660e01b815260040161388091906155eb565b602060405180830381865afa15801561389d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138c19190615d79565b6138cb9190615b69565b905060006138ec6138dd84600a616543565b6138e79084615c6c565b614449565b90506000816138f96118fe565b6001600160a01b0316637817ee4f89306040518363ffffffff1660e01b8152600401613926929190615d42565b602060405180830381865afa158015613943573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139679190615d79565b6139719190615b69565b979650505050505050565b6000600160801b83106139d05760405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401610fad565b50600160801b82825b8015613a1c57806001166000036139fe576139f48283614531565b915060011c6139d9565b613a088383614531565b9250613a15600182615b69565b90506139d9565b505092915050565b6000805160206166da833981519152546001600160a01b031690565b33613a49611f72565b6001600160a01b0316146118fb5733613a60611f72565b60405163163678e960e01b8152600401610fad929190615d42565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615613aae57610f088361460e565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613b08575060408051601f3d908101601f19168201909252613b0591810190615d79565b60015b613b6b5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610fad565b6000805160206166da8339815191528114613bda5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610fad565b50610f088383836146a8565b6000613bf56298968083615c6c565b606954607254613c059190615c6c565b111592915050565b33613c16611f72565b6001600160a01b0316146110c05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610fad565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60408051808201909152600b81526a39bcb134b629b1b7b932b960a91b6020820152607a54600091613cf8916001600160a01b03166146cd565b607a546001600160a01b0316613d1057506001919050565b607a546040516302154c3d60e51b81526001600160a01b03909116906342a987a090613d429085903090600401615d42565b602060405180830381865afa158015613d5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed19190615d5c565b60008181613d8f6118fe565b6001600160a01b0316637817ee4f86306040518363ffffffff1660e01b8152600401613dbc929190615d42565b602060405180830381865afa158015613dd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613dfd9190615d79565b607754909150613e0d8383615b9d565b1115613e2457607754613e21908290615b69565b91505b509392505050565b60008082613e386118fe565b6001600160a01b0316632c611c4a866040518263ffffffff1660e01b8152600401613e6391906155eb565b602060405180830381865afa158015613e80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ea49190615d79565b613eae9190615b9d565b90506012613eba6118fe565b6001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613ef7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f1b9190615bcf565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613f74575060408051601f3d908101601f19168201909252613f719181019061643c565b60015b15613f7f5760ff1690505b6000613f99613f8f83600a616543565b6138e79085615c6c565b90506000613fa56118fe565b6001600160a01b0316637817ee4f88306040518363ffffffff1660e01b8152600401613fd2929190615d42565b602060405180830381865afa158015613fef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140139190615d79565b905060006140218284615b69565b98975050505050505050565b60008043905080846007015411156140475761404761654f565b8084600701540361405d5750600090508061407e565b61407b8460070154826140709190615b69565b85600301548561179b565b91505b9250929050565b6001600160a01b0381166118fb576040516303988b8160e61b815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae0906020016127c3565b6140f5612e92565b606854156141165760405163439a74c960e01b815260040160405180910390fd5b8060000361413757604051637fcce2a960e01b815260040160405180910390fd5b606855565b6040516001600160601b03193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506141838482614712565b949350505050565b614194816147a9565b61419d81613cbe565b6141ba57604051630b72d6b160e31b815260040160405180910390fd5b60006141c46118fe565b6001600160a01b031663477a5cc083306040518363ffffffff1660e01b81526004016141f1929190615d42565b602060405180830381865afa15801561420e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142329190615d5c565b90508061425257604051635fccb67f60e01b815260040160405180910390fd5b6000838060200190518101906142689190616565565b9050614274838261488a565b6110678382614a1f565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339906020016127c3565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016142dd57610f088282614df7565b610f08838383614e13565b6001600160a01b0381166000908152607d602090815260408083208054825181850281018501909352808352919290919083018282801561434857602002820191906000526020600020905b815481526020019060010190808311614334575b5050505050905060005b8151811015610f0857600082828151811061436f5761436f61660f565b602002602001015190506000607b6000838152602001908152602001600020905061439982614e59565b15614434576001600160a01b03851660009081526009820160205260408120805490829055600283018054919283926143d3908490615b69565b9250508190555080607060008282546143ec9190615b69565b909155506143fc905082826131f9565b6000805160206166fa833981519152868460008560020154866003015460405161442a959493929190616625565b60405180910390a1505b5050808061444190615e90565b915050614352565b60008160000361445b57506000919050565b6000600161446884614e92565b901c6001901b9050600181848161448157614481615c11565b048201901c9050600181848161449957614499615c11565b048201901c905060018184816144b1576144b1615c11565b048201901c905060018184816144c9576144c9615c11565b048201901c905060018184816144e1576144e1615c11565b048201901c905060018184816144f9576144f9615c11565b048201901c9050600181848161451157614511615c11565b048201901c90506110de8182858161452b5761452b615c11565b04614f26565b6000600160801b8311156145985760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608401610fad565b600160801b82106145ea5760405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401610fad565b60806001607f1b6145fb8486615c6c565b6146059190615b9d565b901c9392505050565b614617816131ea565b6146795760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610fad565b6000805160206166da83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6146b183614f3c565b6000825111806146be5750805b15610f08576110678383614f7c565b610ee982826040516024016146e3929190616653565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b179052614fa1565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b038116610ed15760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606401610fad565b6001600160a01b0381166147d057604051631a3e505160e31b815260040160405180910390fd5b6078546001600160a01b03166147f957604051635df4b1ef60e01b815260040160405180910390fd5b6148016118fe565b6001600160a01b031663a230c524826040518263ffffffff1660e01b815260040161482c91906155eb565b602060405180830381865afa158015614849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061486d9190615d5c565b6118fb57604051636a5cfb6d60e01b815260040160405180910390fd5b6000805b8251811015614947578281815181106148a9576148a961660f565b602002602001015160000151600003156149355760008382815181106148d1576148d161660f565b60200260200101516000015190506148e881614e59565b6149085760405163c1d17bef60e01b815260048101829052602401610fad565b83828151811061491a5761491a61660f565b60200260200101516020015183614931919061667d565b9250505b8061493f81615e90565b91505061488e565b50600061495c614956856124df565b83614fc2565b905060006149686118fe565b6001600160a01b0316637817ee4f86306040518363ffffffff1660e01b8152600401614995929190615d42565b602060405180830381865afa1580156149b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906149d69190615d79565b9050808211156149fd578181604051636b20c17f60e11b8152600401610fad929190615da2565b506001600160a01b039093166000908152607c60205260409020929092555050565b606060005b8251811015611067576000838281518110614a4157614a4161660f565b60200260200101516000015190508251600003614a9d5760408051600180825281830190925290602080830190803683370190505092508083600081518110614a8c57614a8c61660f565b602002602001018181525050614bd0565b6000805b8451811015614afd5782858281518110614abd57614abd61660f565b602002602001015103614aeb57600191508281604051632b7aec5560e21b8152600401610fad929190615da2565b80614af581615e90565b915050614aa1565b5080614bce57600084516001614b139190615b9d565b6001600160401b03811115614b2a57614b2a615294565b604051908082528060200260200182016040528015614b53578160200160208202803683370190505b50905060005b8551811015614bab57858181518110614b7457614b7461660f565b6020026020010151828281518110614b8e57614b8e61660f565b602090810291909101015280614ba381615e90565b915050614b59565b508281865181518110614bc057614bc061660f565b602090810291909101015293505b505b6000848381518110614be457614be461660f565b6020908102919091018101518101516000848152607b835260408082206001600160a01b038b16835260098101909452812054919350614c248285614fc2565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607d6020526040902054811015614cbd5784546001600160a01b038c166000908152607d60205260409020805483908110614c9257614c9261660f565b906000526020600020015403614cab5760019150614cbd565b80614cb581615e90565b915050614c46565b5080614cf3576001600160a01b038a166000908152607d6020908152604082208654815460018101835591845291909220909101555b818311614d4357614d048383615b69565b60706000828254614d159190615b9d565b90915550614d2590508383615b69565b846002016000828254614d389190615b9d565b90915550614d879050565b614d4d8284615b69565b60706000828254614d5e9190615b69565b90915550614d6e90508284615b69565b846002016000828254614d819190615b69565b90915550505b8360070154600003614d9e57436007850155614dde565b614da884846131f9565b6000805160206166fa8339815191528a878487600201548860030154604051614dd5959493929190616625565b60405180910390a15b5050505050508080614def90615e90565b915050614a24565b60008060008084865af1610ee95763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d156001600051141716614e4f576390b8ec186000526004601cfd5b6000603452505050565b6000818152607b602052604081205415801590610ed15750506000908152607b60205260409020600501546001600160a01b0316151590565b600080608083901c15614ea757608092831c92015b604083901c15614eb957604092831c92015b602083901c15614ecb57602092831c92015b601083901c15614edd57601092831c92015b600883901c15614eef57600892831c92015b600483901c15614f0157600492831c92015b600283901c15614f1357600292831c92015b600183901c15610ed15760010192915050565b6000818310614f3557816110de565b5090919050565b614f458161460e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606110de838360405180606001604052806027815260200161671a60279139614ff9565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080614fcf838561667d565b905060008112156110de57838382604051631dde38a160e11b8152600401610fad93929190616133565b6060600080856001600160a01b031685604051615016919061669d565b600060405180830381855af49150503d8060008114615051576040519150601f19603f3d011682016040523d82523d6000602084013e615056565b606091505b509150915061506786838387615071565b9695505050505050565b606083156150de5782516000036150d75761508b856131ea565b6150d75760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610fad565b5081614183565b61418383838151156150f35781518083602001fd5b8060405162461bcd60e51b8152600401610fad9190615b0c565b60006020828403121561511f57600080fd5b5035919050565b6001600160a01b03169052565b634e487b7160e01b600052602160045260246000fd5b600781106118fb576118fb615133565b60005b8381101561517457818101518382015260200161515c565b50506000910152565b60008151808452615195816020860160208601615159565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152614183604085018261517d565b60006101e08f83528e60208401528d60408401528c606084015260018060a01b03808d166080850152808c1660a0850152808b1660c08501528960e085015261521089615149565b886101008501528161012085015261522a828501896151a9565b875161014086015260208801516101608601526040909701511661018084015250506101a08101929092526101c0909101529a9950505050505050505050565b60006020828403121561527c57600080fd5b81356001600160e01b0319811681146110de57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156152cc576152cc615294565b60405290565b60405160c081016001600160401b03811182821017156152cc576152cc615294565b60405160e081016001600160401b03811182821017156152cc576152cc615294565b604080519081016001600160401b03811182821017156152cc576152cc615294565b60405160a081016001600160401b03811182821017156152cc576152cc615294565b604051601f8201601f191681016001600160401b038111828210171561538257615382615294565b604052919050565b6001600160a01b03811681146118fb57600080fd5b6000808284036101408112156153b457600080fd5b60c08112156153c257600080fd5b6153ca6152d2565b84356153d58161538a565b815260208501356153e58161538a565b602082015260408581013590820152606080860135908201526080808601358183015260a0808701359083015290935060bf198201121561542557600080fd5b5061542e6152aa565b60c0840135815260e0840135602082015261010084013560408201526101209093013560608401525092909150565b60006001600160401b0382111561547657615476615294565b5060051b60200190565b600082601f83011261549157600080fd5b813560206154a66154a18361545d565b61535a565b82815260059290921b840181019181810190868411156154c557600080fd5b8286015b848110156154e95780356154dc8161538a565b83529183019183016154c9565b509695505050505050565b60006001600160401b0382111561550d5761550d615294565b50601f01601f191660200190565b60006155296154a1846154f4565b905082815283838301111561553d57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261556557600080fd5b6110de8383356020850161551b565b60008060006060848603121561558957600080fd5b83356001600160401b03808211156155a057600080fd5b6155ac87838801615480565b945060208601359150808211156155c257600080fd5b506155cf86828701615554565b92505060408401356155e08161538a565b809150509250925092565b6001600160a01b0391909116815260200190565b60008060006060848603121561561457600080fd5b833561561f8161538a565b9250602084013561562f8161538a565b915060408401356155e08161538a565b6000806040838503121561565257600080fd5b82356001600160401b0381111561566857600080fd5b61567485828601615554565b92505060208301356156858161538a565b809150509250929050565b600481106156a0576156a0615133565b9052565b60208101610ed18284615690565b600080604083850312156156c557600080fd5b82356156d08161538a565b946020939093013593505050565b600080604083850312156156f157600080fd5b50508035926020909101359150565b60008060006060848603121561571557600080fd5b505081359360208301359350604090920135919050565b600381106156a0576156a0615133565b60208101610ed1828461572c565b60006020828403121561575c57600080fd5b81356110de8161538a565b6000806040838503121561577a57600080fd5b82356157858161538a565b915060208301356001600160401b038111156157a057600080fd5b6157ac85828601615554565b9150509250929050565b6000806000606084860312156157cb57600080fd5b83356157d68161538a565b925060208401356001600160401b038111156157f157600080fd5b8401601f8101861361580257600080fd5b6155cf8682356020840161551b565b6020815260006110de60208301846151a9565b6000806040838503121561583757600080fd5b82356001600160401b038082111561584e57600080fd5b61585a86838701615480565b935060209150818501358181111561587157600080fd5b8501601f8101871361588257600080fd5b80356158906154a18261545d565b81815260059190911b820184019084810190898311156158af57600080fd5b8584015b838110156158e7578035868111156158cb5760008081fd5b6158d98c8983890101615554565b8452509186019186016158b3565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b8281101561594357815180516001600160a01b03168552860151868501529284019290850190600101615915565b5091979650505050505050565b60008083601f84011261596257600080fd5b5081356001600160401b0381111561597957600080fd5b60208301915083602082850101111561407e57600080fd5b6000806000806000606086880312156159a957600080fd5b8535945060208601356001600160401b03808211156159c757600080fd5b6159d389838a01615950565b909650945060408801359150808211156159ec57600080fd5b506159f988828901615950565b969995985093965092949392505050565b80151581146118fb57600080fd5b600060208284031215615a2a57600080fd5b81356110de81615a0a565b6001600160a01b038c811682528b811660208301528a16604082015260608101899052608081018890526101608101615a6d88615149565b8760a08301528660c08301528560e08301528461010083015283610120830152826101408301529c9b505050505050505050505050565b60008060408385031215615ab757600080fd5b8235915060208301356156858161538a565b60208101615ad683615149565b91905290565b60008060408385031215615aef57600080fd5b8235915060208301356001600160401b038111156157a057600080fd5b6020815260006110de602083018461517d565b600181811c90821680615b3357607f821691505b602082108103611b8c57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610ed157610ed1615b53565b6001600160a01b039390931683526020830191909152604082015260600190565b80820180821115610ed157610ed1615b53565b9283526001600160a01b03919091166020830152604082015260600190565b600060208284031215615be157600080fd5b81516110de8161538a565b9384526001600160a01b03928316602085015291166040830152606082015260800190565b634e487b7160e01b600052601260045260246000fd5b600082615c4457634e487b7160e01b600052601260045260246000fd5b500490565b60006001600160401b03821680615c6257615c62615b53565b6000190192915050565b8082028115828204841417610ed157610ed1615b53565b6020808252602c908201526000805160206166ba83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206166ba83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0392831681529116602082015260400190565b600060208284031215615d6e57600080fd5b81516110de81615a0a565b600060208284031215615d8b57600080fd5b5051919050565b8051615d9d8161538a565b919050565b918252602082015260400190565b9182526001600160a01b0316602082015260400190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b838152604060208201526000615e0a604083018486615dc7565b95945050505050565b60006001600160401b038281166002600160401b03198101615e3757615e37615b53565b6001019392505050565b6001600160a01b03888116825260208201889052604082018790528516606082015260c060808201819052600090615e7c9083018587615dc7565b90508260a083015298975050505050505050565b600060018201615ea257615ea2615b53565b5060010190565b805160038110615d9d57600080fd5b805160048110615d9d57600080fd5b600060208284031215615ed957600080fd5b604051602081016001600160401b0381118282101715615efb57615efb615294565b6040529151825250919050565b600060c08284031215615f1a57600080fd5b615f226152d2565b90508151615f2f8161538a565b81526020820151615f3f8161538a565b8060208301525060408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b60008183036101e0811215615f8857600080fd5b615f906152f4565b6080821215615f9e57600080fd5b615fa66152aa565b915083518252602084015160208301526040840151604083015260608401516060830152818152615fd960808501615ea9565b6020820152615fea60a08501615eb8565b6040820152615ffc8560c08601615ec7565b606082015261600e8560e08601615f08565b60808201526160206101a08501615d92565b60a08201526160326101c08501615d92565b60c0820152949350505050565b805182526020810151602083015260408101516040830152606081015160608301525050565b60006102008201905083825261607f60208301845161603f565b602083015161609160a084018261572c565b5060408301516160a460c0840182615690565b506060838101515160e084015260808085015180516001600160a01b0390811661010087015260208201511661012086015260408101516101408601529182015161016085015281015161018084015260a0908101516101a08401528301516161116101c0840182615126565b5060c0830151613e246101e0840182615126565b60808101610ed1828461603f565b9283526020830191909152604082015260600190565b60006040828403121561615b57600080fd5b616163615316565b8251815260208301519091506001600160401b0381111561618357600080fd5b8201601f8101841361619457600080fd5b80516161a26154a1826154f4565b8181528560208385010111156161b757600080fd5b6161c8826020830160208601615159565b602084015250909392505050565b6000602082840312156161e857600080fd5b81516001600160401b03808211156161ff57600080fd5b9083019060c0828603121561621357600080fd5b61621b6152d2565b82518152602083015161622d8161538a565b602082015260408301516162408161538a565b604082015260608301518281111561625757600080fd5b61626387828601616149565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b60006020828403121561629b57600080fd5b81516001600160401b03808211156162b257600080fd5b9083019060a082860312156162c657600080fd5b6162ce615338565b8251815260208301516162e08161538a565b60208201526040838101519082015260608301516162fd8161538a565b606082015260808301518281111561631457600080fd5b61632087828601616149565b60808301525095945050505050565b601f821115610f0857600081815260208120601f850160051c810160208610156163565750805b601f850160051c820191505b8181101561637557828155600101616362565b505050505050565b81516001600160401b0381111561639657616396615294565b6163aa816163a48454615b1f565b8461632f565b602080601f8311600181146163df57600084156163c75750858301515b600019600386901b1c1916600185901b178555616375565b600085815260208120601f198616915b8281101561640e578886015182559484019460019091019084016163ef565b508582101561642c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561644e57600080fd5b815160ff811681146110de57600080fd5b600181815b8085111561649a57816000190482111561648057616480615b53565b8085161561648d57918102915b93841c9390800290616464565b509250929050565b6000826164b157506001610ed1565b816164be57506000610ed1565b81600181146164d457600281146164de576164fa565b6001915050610ed1565b60ff8411156164ef576164ef615b53565b50506001821b610ed1565b5060208310610133831016604e8410600b841016171561651d575081810a610ed1565b616527838361645f565b806000190482111561653b5761653b615b53565b029392505050565b60006110de83836164a2565b634e487b7160e01b600052600160045260246000fd5b6000602080838503121561657857600080fd5b82516001600160401b0381111561658e57600080fd5b8301601f8101851361659f57600080fd5b80516165ad6154a18261545d565b81815260069190911b820183019083810190878311156165cc57600080fd5b928401925b8284101561397157604084890312156165ea5760008081fd5b6165f2615316565b8451815285850151868201528252604090930192908401906165d1565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03959095168552602085019390935260408401919091526060830152608082015260a00190565b604081526000616666604083018561517d565b905060018060a01b03831660208301529392505050565b8082018281126000831280158216821582161715613a1c57613a1c615b53565b600082516166af818460208701615159565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212200f490344a7e957b1d8cb28c160c049b05404f64f215654b3a346d983afece98364736f6c63430008130033","sourceMap":"3782:50033:98:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9282:45;;;;;;;;;;-1:-1:-1;9282:45:98;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;11518:210;;;;;;;;;;-1:-1:-1;11518:210:98;;;;;:::i;:::-;;:::i;:::-;;;3313:14:142;;3306:22;3288:41;;3276:2;3261:18;11518:210:98;3148:187:142;31044:874:98;;;;;;;;;;;;31443:30;;31151:22;31425:49;;;:17;:49;;;;;:60;;;31499:62;;;31575:75;;;;31664:76;;;;31754:63;;;;31831:70;;;;;-1:-1:-1;;;;;31425:60:98;;;;31499:62;;;;;31575:75;;31664:76;;31831:70;31044:874;;;;;-1:-1:-1;;;;;3704:15:142;;;3686:34;;3756:15;;;;3751:2;3736:18;;3729:43;3788:18;;;3781:34;;;;3846:2;3831:18;;3824:34;3889:3;3874:19;;3867:35;3666:3;3918:19;;3911:35;3635:3;3620:19;31044:874:98;3340:612:142;47619:198:98;;;;;;;;;;-1:-1:-1;47619:198:98;;;;;:::i;:::-;;:::i;7520:325:97:-;;;;;;;;;;-1:-1:-1;7520:325:97;;;;;:::i;:::-;;:::i;21565:107:98:-;;;;;;;;;;-1:-1:-1;21644:11:98;:21;21565:107;;;9672:25:142;;;9660:2;9645:18;21565:107:98;9526:177:142;9139:39:98;;;;;;;;;;-1:-1:-1;9139:39:98;;;;-1:-1:-1;;;;;9139:39:98;;;;;;;;;;:::i;8671:30::-;;;;;;;;;;;;;;;;7893:36;;;;;;;;;;;;7921:8;7893:36;;8707:45;;;;;;;;;;;;;;;;3560:86:97;;;;;;;;;;-1:-1:-1;3635:4:97;;-1:-1:-1;;;;;3635:4:97;3560:86;;10090:222:98;;;;;;;;;;-1:-1:-1;10090:222:98;;;;;:::i;:::-;;:::i;46317:609::-;;;;;;;;;;-1:-1:-1;46317:609:98;;;;;:::i;:::-;;:::i;16674:89::-;;;;;;;;;;;;;:::i;8833:24::-;;;;;;;;;;-1:-1:-1;8833:24:98;;;;;;;;;;;;;;;;;;;10968:25:142;;;11024:2;11009:18;;11002:34;;;;11052:18;;;11045:34;11110:2;11095:18;;11088:34;10955:3;10940:19;8833:24:98;10737:391:142;9569:56:98;;;;;;;;;;-1:-1:-1;9569:56:98;;;;;:::i;:::-;;;;;;;;;;;;;;6244:344:97;;;;;;:::i;:::-;;:::i;8995:30:98:-;;;;;;;;;;-1:-1:-1;8995:30:98;;;;;;;;;;;;;;;;;;:::i;18317:659::-;;;;;;;;;;-1:-1:-1;18317:659:98;;;;;:::i;:::-;;:::i;50174:2899::-;;;;;;;;;;-1:-1:-1;50174:2899:98;;;;;:::i;:::-;;:::i;8608:25::-;;;;;;;;;;;;;;;;38412:644;;;;;;;;;;-1:-1:-1;38412:644:98;;;;;:::i;:::-;;:::i;8904:32::-;;;;;;;;;;-1:-1:-1;8904:32:98;;;;;;;;;;;;;;;:::i;3143:195:64:-;;;;;;;;;;-1:-1:-1;3143:195:64;;;;;:::i;:::-;;:::i;3728:92:97:-;;;;;;;;;;-1:-1:-1;3807:6:97;;3728:92;;8185:49:98;;;;;;;;;;;;8232:2;8185:49;;9631:61;;;;;;;;;;-1:-1:-1;9631:61:98;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9631:61:98;;;;;;;;;;;;;;;3910:100:97;;;;;;;;;;-1:-1:-1;3993:10:97;;3910:100;;9699:140:98;;;;;;;;;;;;;:::i;4101:108:97:-;;;;;;;;;;-1:-1:-1;4192:10:97;;4101:108;;9210:145;;;;;;;;;;-1:-1:-1;9210:145:97;;;;;:::i;:::-;;:::i;3657:220:64:-;;;;;;:::i;:::-;;:::i;2762:131::-;;;;;;;;;;;;;:::i;39637:1549:98:-;;;;;;;;;;-1:-1:-1;39637:1549:98;;;;;:::i;:::-;;:::i;9383:53::-;;;;;;;;;;-1:-1:-1;9383:53:98;;;;;:::i;:::-;;;;;;;;;;;;;;9100:32;;;;;;;;;;-1:-1:-1;9100:32:98;;;;-1:-1:-1;;;;;9100:32:98;;;1724:217:97;;;;;;;;;;-1:-1:-1;1724:217:97;;;;;:::i;:::-;;:::i;8320:42:98:-;;;;;;;;;;;;8361:1;8320:42;;16769:136;;;;;;;;;;-1:-1:-1;16769:136:98;;;;;:::i;:::-;;:::i;2085:101:45:-;;;;;;;;;;;;;:::i;17286:1025:98:-;;;;;;;;;;-1:-1:-1;17286:1025:98;;;;;:::i;:::-;;:::i;16299:369::-;;;;;;;;;;;;;:::i;8759:26::-;;;;;;;;;;;;;;;;25040:728;;;;;;;;;;-1:-1:-1;25040:728:98;;;;;:::i;:::-;;:::i;9474:57::-;;;;;;;;;;-1:-1:-1;9474:57:98;;;;;:::i;:::-;;:::i;525:604:105:-;;;;;;;;;;;;;:::i;46932:141:98:-;;;;;;;;;;-1:-1:-1;46932:141:98;;;;;:::i;:::-;;:::i;16195:98::-;;;;;;;;;;-1:-1:-1;16272:14:98;;16195:98;;4412:75:9;;;;;;;;;;;;4445:42;4412:75;;8639:26:98;;;;;;;;;;-1:-1:-1;8639:26:98;;;;-1:-1:-1;;;;;8639:26:98;;;;;;-1:-1:-1;;;;;15532:31:142;;;15514:50;;15502:2;15487:18;8639:26:98;15370:200:142;9031:36:98;;;;;;;;;;-1:-1:-1;9031:36:98;;;;;;30100:191;;;;;;;;;;-1:-1:-1;30100:191:98;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;8791:35::-;;;;;;;;;;;;;;;;47424:189;;;;;;;;;;-1:-1:-1;47424:189:98;;;;;:::i;:::-;;:::i;13107:132::-;;;;;;;;;;-1:-1:-1;13107:132:98;;;;;:::i;:::-;;:::i;26418:287::-;;;;;;;;;;-1:-1:-1;26418:287:98;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;47823:2345::-;;;;;;:::i;:::-;;:::i;27374:86::-;;;;;;;;;;-1:-1:-1;27374:86:98;;;;;:::i;:::-;;:::i;9184:31::-;;;;;;;;;;-1:-1:-1;9184:31:98;;;;-1:-1:-1;;;;;9184:31:98;;;30903:135;;;;;;;;;;-1:-1:-1;30903:135:98;;;;;:::i;:::-;;:::i;21678:103::-;;;;;;;;;;-1:-1:-1;21763:11:98;;;;;;;21678:103;;404:115:105;;;;;;;;;;-1:-1:-1;404:115:105;;;;;:::i;:::-;;:::i;28979:1115:98:-;;;;;;;;;;-1:-1:-1;28979:1115:98;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;42413:120::-;;;;;;;;;;-1:-1:-1;42506:20:98;;42413:120;;30682:153;;;;;;;;;;-1:-1:-1;30682:153:98;;;;;:::i;:::-;30767:7;30793:22;;;:9;:22;;;;;:35;;;;30682:153;4341:101:97;;;;;;;;;;;;;:::i;53079:702:98:-;;;;;;;;;;-1:-1:-1;53079:702:98;;;;;:::i;:::-;;:::i;30492:184::-;;;;;;;;;;-1:-1:-1;30492:184:98;;;;;:::i;:::-;;:::i;4598:146:97:-;;;;;;;;;;-1:-1:-1;4598:146:97;;;;;:::i;:::-;;;;;;;:::i;10318:799:98:-;;;;;;;;;;-1:-1:-1;10318:799:98;;;;;:::i;:::-;;:::i;6907:220:97:-;;;;;;:::i;:::-;;:::i;2335:198:45:-;;;;;;;;;;-1:-1:-1;2335:198:45;;;;;:::i;:::-;;:::i;5631:197:97:-;;;;;;;;;;-1:-1:-1;5631:197:97;;;;;:::i;:::-;;:::i;8368:54:98:-;;;;;;;;;;;;8415:7;8368:54;;7849:38;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7849:38:98;;;;;;;;;;;;:::i;9282:45::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9282:45:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9282:45:98;;;;-1:-1:-1;;9282:45:98;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9282:45:98;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9282:45:98;:::o;11518:210::-;11611:4;-1:-1:-1;;;;;;11634:47:98;;-1:-1:-1;;;11634:47:98;;:87;;-1:-1:-1;;;;;;;;;;937:40:80;;;11685:36:98;11627:94;11518:210;-1:-1:-1;;11518:210:98:o;47619:198::-;47739:17;:15;:17::i;:::-;47766:44;47781:17;47800:9;47766:14;:44::i;:::-;47619:198;;:::o;7520:325:97:-;2435:16;:14;:16::i;:::-;3307:23:::1;:21;:23::i;:::-;7739:42:::2;7751:13;7766:5;7773:7;7739:11;:42::i;:::-;7520:325:::0;;;:::o;10090:222:98:-;3279:19:47;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:47;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;;3388:44;3426:4;3388:29;:44::i;:::-;3387:45;:66;;;;-1:-1:-1;3436:12:47;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:47;;22599:2:142;3325:201:47;;;22581:21:142;22638:2;22618:18;;;22611:30;22677:34;22657:18;;;22650:62;-1:-1:-1;;;22728:18:142;;;22721:44;22782:19;;3325:201:47;;;;;;;;;3536:12;:16;;-1:-1:-1;;3536:16:47;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:47;;;;;3562:65;10207:38:98::1;10218:5;10207:38;;;;;;;;;;;;;-1:-1:-1::0;;;10207:38:98::1;;::::0;10239:5:::1;10207:10;:38::i;:::-;10255:23;:50:::0;;-1:-1:-1;;;;;;10255:50:98::1;-1:-1:-1::0;;;;;10255:50:98;::::1;;::::0;;3647:99:47;;;;3697:5;3681:21;;-1:-1:-1;;3681:21:47;;;3721:14;;-1:-1:-1;22964:36:142;;3721:14:47;;22952:2:142;22937:18;3721:14:47;;;;;;;3647:99;3269:483;10090:222:98;;;:::o;46317:609::-;46395:7;46442:21;;;:9;:21;;;;;46478:19;;:33;;46474:100;;46534:29;;-1:-1:-1;;;46534:29:98;;;;;9672:25:142;;;9645:18;;46534:29:98;9526:177:142;46474:100:98;46820:59;46847:8;46857;:21;;;46820:26;:59::i;:::-;46896:23;;;;46317:609;-1:-1:-1;;46317:609:98:o;16674:89::-;16727:29;16745:10;16727:17;:29::i;:::-;16674:89::o;6244:344:97:-;6399:19;2435:16;:14;:16::i;:::-;3307:23:::1;:21;:23::i;:::-;6498:34:::2;6517:5;6524:7;6498:18;:34::i;:::-;6484:48:::0;6244:344;-1:-1:-1;;;6244:344:97:o;18317:659:98:-;18409:7;18428:23;:21;:23::i;:::-;18507:24;18564:21;18549:11;;;;;;;:36;;;;;;;;:::i;:::-;;:73;;;-1:-1:-1;18604:18:98;18589:11;;;;;;;:33;;;;;;;;:::i;:::-;;18549:73;18545:268;;;-1:-1:-1;18686:16:98;18545:268;;;18753:49;18776:7;18785:16;18753:22;:49::i;:::-;18734:68;;18545:268;18846:16;18822:20;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;18877:59:98;;;;;;18892:7;;18901:16;;18919;;18877:59;:::i;:::-;;;;;;;;18953:16;18317:659;-1:-1:-1;;;18317:659:98:o;50174:2899::-;50261:18;50282:33;;;:21;:33;;;;;;;;;50353:21;;;:9;:21;;;;;50445:32;;;;50427:51;;:17;:51;;;;;50384:94;;;;;;;;;-1:-1:-1;;;;;50384:94:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;50282:33;50353:21;;50384:94;50493:15;;;50489:82;;50531:29;;-1:-1:-1;;;50531:29:98;;;;;9672:25:142;;;9645:18;;50531:29:98;9526:177:142;50489:82:98;50611:23;50584;;;;;;:50;;;;;;;;:::i;:::-;;50580:119;;50657:31;;-1:-1:-1;;;50657:31:98;;;;;9672:25:142;;;9645:18;;50657:31:98;9526:177:142;50580:119:98;50784:37;;;;50744;;;;50709:14;;50744:77;;;:::i;:::-;50726:15;:95;;-1:-1:-1;50836:10:98;;50726:95;50836:64;;-1:-1:-1;50872:27:98;;-1:-1:-1;;;;;50850:50:98;:10;:50;;50836:64;50832:118;;;50923:16;;-1:-1:-1;;;50923:16:98;;;;;;;;;;;50832:118;50964:9;:25;;;-1:-1:-1;50977:12:98;;50964:25;50960:1953;;;51009:16;:30;;;51043:1;51009:35;51005:102;;51071:21;;-1:-1:-1;;;51071:21:98;;;;;;;;;;;51005:102;51124:16;:30;;;51158:1;51124:35;51120:121;;51179:23;;;:47;;-1:-1:-1;;51179:47:98;51205:21;51179:47;;;51120:121;51258:16;:30;;;51292:1;51258:35;51254:289;;51313:23;;;:49;;-1:-1:-1;;51313:49:98;51339:23;51313:49;;;51380:15;;51448:18;;;;51468:42;;;;;51380:148;;-1:-1:-1;;;51380:148:98;;-1:-1:-1;;;;;51380:15:98;;;;:34;;:148;;51436:10;;51448:18;;;;;51380:148;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;51254:289;51556:15;;51620:31;;;;51653:43;;;;51556:154;;-1:-1:-1;;;51556:154:98;;-1:-1:-1;;;;;51556:15:98;;;;:34;;:154;;51608:10;;51620:31;;;;;51556:154;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;50960:1953;;;51731:7;51742:1;51731:12;51727:1186;;51759:23;;;:47;;-1:-1:-1;;51759:47:98;51785:21;51759:47;;;51820:15;;51903:31;;;;-1:-1:-1;;;;;51820:15:98;;;;:37;;51875:10;;51903:31;51960:22;:20;:22::i;:::-;-1:-1:-1;;;;;51960:34:98;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;52015:16;:43;;;51820:252;;;;;;;;;;;;;;;;;;:::i;51727:1186::-;52093:7;52104:1;52093:12;52089:824;;52121:23;;;:49;;-1:-1:-1;;52121:49:98;52147:23;52121:49;;;52184:15;;52248:31;;;;52281:43;;;;52184:154;;-1:-1:-1;;;52184:154:98;;-1:-1:-1;;;;;52184:15:98;;;;:34;;:154;;52236:10;;52248:31;;;;;52184:154;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;52352:15:98;;52435:18;;;;-1:-1:-1;;;;;52352:15:98;;;;-1:-1:-1;52352:37:98;;-1:-1:-1;52407:10:98;;52435:18;52479:22;:20;:22::i;:::-;-1:-1:-1;;;;;52479:34:98;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;52552:30;;52534:49;;;;:17;:49;;;;;52612:1;52534:75;;;;:79;;52612:1;52534:79;:::i;:::-;52352:275;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;52641:15:98;;52724:18;;;;52760:31;;;;52827:30;;52641:15;52809:49;;;:17;:49;;;;;52760:31;52809:75;;;;-1:-1:-1;;;;;52641:15:98;;;;-1:-1:-1;52641:37:98;;-1:-1:-1;52696:10:98;;52724:18;;;;52760:31;;;;52809:79;;52760:31;52809:79;:::i;:::-;52641:261;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;52089:824;52923:12;:14;;-1:-1:-1;;;;;52923:14:98;;:12;:14;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;52923:14:98;;;;;-1:-1:-1;;;;;52923:14:98;;;;;;;52980:15;52947:8;:30;;:48;;;;53046:10;53017:16;:27;;;-1:-1:-1;;;;;53010:56:98;;53058:7;53010:56;;;;9672:25:142;;9660:2;9645:18;;9526:177;53010:56:98;;;;;;;;50251:2822;;;;50174:2899;;:::o;38412:644::-;38878:14;;38562:7;;38597:11;;38562:7;;38872:36;;38877:27;;7921:8;;38896:3;38878:21;38877:27;:::i;:::-;38906:1;38872:4;:36::i;:::-;38852:56;;39046:3;-1:-1:-1;;;39002:8:98;:14;;;7921:8;38998:18;;;;:::i;:::-;38973:19;38983:9;-1:-1:-1;;;38973:19:98;:::i;:::-;38955:14;7921:8;38955:10;:14;:::i;:::-;:38;;;;:::i;:::-;38954:63;;;;:::i;:::-;38928:21;38940:9;38928;:21;:::i;:::-;38927:91;;;;:::i;:::-;38926:103;;;;:::i;:::-;38925:124;;;38412:644;-1:-1:-1;;;;;;38412:644:98:o;3143:195:64:-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3224:36:::1;3242:17;3224;:36::i;:::-;3311:12;::::0;;3321:1:::1;3311:12:::0;;;::::1;::::0;::::1;::::0;;;3270:61:::1;::::0;3292:17;;3311:12;3270:21:::1;:61::i;:::-;3143:195:::0;:::o;9699:140:98:-;9814:17;;-1:-1:-1;;;;;9814:17:98;;9699:140::o;9210:145:97:-;9296:4;;9319:29;27225:143:98;3657:220:64;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3772:36:::1;3790:17;3772;:36::i;:::-;3818:52;3840:17;3859:4;3865;3818:21;:52::i;2762:131::-:0;2840:7;2080:4;-1:-1:-1;;;;;2089:6:64;2072:23;;2064:92;;;;-1:-1:-1;;;2064:92:64;;26595:2:142;2064:92:64;;;26577:21:142;26634:2;26614:18;;;26607:30;26673:34;26653:18;;;26646:62;-1:-1:-1;;;26724:18:142;;;26717:54;26788:19;;2064:92:64;26393:420:142;2064:92:64;-1:-1:-1;;;;;;;;;;;;2762:131:64;:::o;39637:1549:98:-;39720:18;39888:1;39874:10;;:15;39870:66;;39912:13;;-1:-1:-1;;;39912:13:98;;;;;;;;;;;39870:66;40376:33;40392:16;40376:15;:33::i;:::-;40372:91;;;40432:20;;-1:-1:-1;;;40432:20:98;;;;;;;;;;;40372:91;40694:10;;40611:13;;40664:26;:16;-1:-1:-1;;;40664:26:98;:::i;:::-;40663:41;;;;:::i;:::-;40628:8;:17;7921:8;;40628:27;;-1:-1:-1;;;40628:27:98;:::i;:::-;40627:33;;;;:::i;:::-;:77;;;;:::i;:::-;40611:93;;40891:2;40849:28;42506:20;;;42413:120;40849:28;40814:14;;40810:18;;7921:8;40810:18;:::i;:::-;7921:8;40797:2;40779:13;40787:5;;40779:13;:::i;:::-;40746:15;;40778:21;;;40745:28;;7921:8;;40765:3;40746:22;40745:28;:::i;:::-;40744:56;;;;:::i;:::-;40743:62;;;;:::i;:::-;40742:87;;;;:::i;:::-;40741:136;;;;:::i;:::-;41109:27;;40727:166;;;-1:-1:-1;41096:40:98;;:83;;41152:27;;41096:83;;;-1:-1:-1;41139:10:98;41083:96;-1:-1:-1;39637:1549:98:o;1724:217:97:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;:::-;1831:23:97::1;1848:5;1831:16;:23::i;:::-;1864:4;:19:::0;;-1:-1:-1;;;;;;1864:19:97::1;-1:-1:-1::0;;;;;1864:19:97;::::1;;::::0;;1916:17:::1;::::0;::::1;::::0;1927:5;;1916:17:::1;;;:::i;:::-;;::::0;;-1:-1:-1;;1916:17:97;;::::1;::::0;;;;;;1906:28;;1916:17:::1;1906:28:::0;;::::1;::::0;1893:10:::1;:41:::0;-1:-1:-1;;;1724:217:97:o;16769:136:98:-;16839:23;:21;:23::i;:::-;16872:26;16890:7;16872:17;:26::i;2085:101:45:-;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;17286:1025:98:-:0;17376:7;17440:23;:21;:23::i;:::-;17478:26;17496:7;17478:17;:26::i;:::-;17473:90;;17527:25;;-1:-1:-1;;;17527:25:98;;;;;;;;;;;17473:90;17572:24;17629:21;17614:11;;;;;;;:36;;;;;;;;:::i;:::-;;17610:396;;17708:14;17685:38;17666:57;;17610:396;;;17759:18;17744:11;;;;;;;:33;;;;;;;;:::i;:::-;;17740:266;;17812:44;17832:7;17841:14;17812:19;:44::i;17740:266::-;17892:21;17877:11;;;;;;;:36;;;;;;;;:::i;:::-;;17873:133;;17948:47;17971:7;17980:14;17948:22;:47::i;:::-;17929:66;;17873:133;18015:16;18034:22;:20;:22::i;:::-;-1:-1:-1;;;;;18034:50:98;;18085:7;18102:4;18034:74;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18015:93;;18122:11;18118:82;;;18173:16;18149:20;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;18118:82:98;18214:57;18229:7;18238:14;18254:16;18214:57;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;18288:16:98;17286:1025;-1:-1:-1;;;17286:1025:98:o;16299:369::-;16369:10;16394:25;16369:10;16394:17;:25::i;:::-;16389:89;;16442:25;;-1:-1:-1;;;16442:25:98;;;;;;;;;;;16389:89;16487:22;:20;:22::i;:::-;-1:-1:-1;;;;;16487:47:98;;16535:6;16551:4;16487:70;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16591:22;:20;:22::i;:::-;-1:-1:-1;;;;;16591:47:98;;16639:6;16655:4;16591:70;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16567:20;;:94;;;;;;;:::i;:::-;;;;-1:-1:-1;;;16299:369:98:o;25040:728::-;25117:18;25175:21;;;:9;:21;;;;;25385;;;;25117:18;;;;25341:66;;25175:21;;25341:33;:66::i;:::-;25281:126;;;;25422:14;25440:1;25422:19;:39;;;;-1:-1:-1;25445:16:98;;25422:39;25418:110;;;25494:8;:23;;;25477:40;;25418:110;25537:17;25557:44;25576:8;:24;;;25557:18;:44::i;:::-;25734:27;;;;;25040:728;-1:-1:-1;;;;;25040:728:98:o;9474:57::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;525:604:105:-;572:7;591:20;614:26;1534:6:45;;-1:-1:-1;;;;;1534:6:45;;1462:85;614:26:105;591:49;;715:12;-1:-1:-1;;;;;707:33:105;;744:1;707:38;703:420;;829:12;525:604;-1:-1:-1;525:604:105:o;703:420::-;895:12;-1:-1:-1;;;;;876:38:105;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;876:40:105;;;;;;;;-1:-1:-1;;876:40:105;;;;;;;;;;;;:::i;:::-;;;872:241;;1086:12;525:604;-1:-1:-1;525:604:105:o;46932:141:98:-;47050:14;;47003:7;;47046:18;;7921:8;47046:18;:::i;:::-;47031:10;7921:8;47031:6;:10;:::i;:::-;47030:35;;;;:::i;30100:191::-;-1:-1:-1;;;;;;;;;;;;;;;;;30200:25:98;30228:9;:22;30238:11;30228:22;;;;;;;;;;;30200:50;;30267:8;:17;;30260:24;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30100:191;;;:::o;47424:189::-;47497:17;:15;:17::i;:::-;47524:32;47543:12;47524:18;:32::i;:::-;47566:11;:40;;-1:-1:-1;;;;;;47566:40:98;-1:-1:-1;;;;;47566:40:98;;;;;;;;;;47424:189::o;13107:132::-;1355:13:45;:11;:13::i;:::-;13198:23:98::1;:34:::0;;-1:-1:-1;;;;;;13198:34:98::1;-1:-1:-1::0;;;;;13198:34:98;;;::::1;::::0;;;::::1;::::0;;13107:132::o;26418:287::-;26504:22;26682:16;;-1:-1:-1;;;26682:16:98;;;;;;;;;;;47823:2345;47986:17;48047:21;;;:9;:21;;;;;;;;48139:32;;;;48121:51;;:17;:51;;;;;48078:94;;;;;;;;;-1:-1:-1;;;;;48078:94:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;48047:21;48183:112;;48260:24;;-1:-1:-1;;;48260:24:98;;;;;;;;;;;48183:112;48472:19;;:33;;48468:100;;48528:29;;-1:-1:-1;;;48528:29:98;;;;;9672:25:142;;;9645:18;;48528:29:98;9526:177:142;48468:100:98;48608:21;48581:23;;;;;;:48;;;;;;;;:::i;:::-;;48577:115;;48652:29;;-1:-1:-1;;;48652:29:98;;;;;9672:25:142;;;9645:18;;48652:29:98;9526:177:142;48577:115:98;48717:16;:43;;;48705:9;:55;48701:171;;;48817:43;;;;48783:78;;-1:-1:-1;;;48783:78:98;;;;48806:9;;48783:78;;;:::i;48701:171::-;48991:30;;;;:35;;;;:126;;;49102:15;8415:7;49046:8;:30;;;:53;;;;:::i;:::-;:71;48991:126;48974:325;;;49191:10;49259:15;8415:7;49203:8;:30;;;:53;;;;:::i;:::-;:71;;;;:::i;:::-;49149:139;;-1:-1:-1;;;49149:139:98;;;;;;;;;:::i;48974:325::-;49309:22;49346:16;:43;;;49334:9;:55;;;;:::i;:::-;49400:15;;49441:43;;;;49400:109;;-1:-1:-1;;;49400:109:98;;49309:80;;-1:-1:-1;;;;;;49400:15:98;;;;:33;;49441:43;49400:109;;49486:10;;49498;;49400:109;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;49532:27:98;;:92;;-1:-1:-1;;;49532:92:98;;-1:-1:-1;;;;;49532:41:98;;;;-1:-1:-1;49532:41:98;;-1:-1:-1;49581:14:98;;-1:-1:-1;49532:92:98;;8361:1;;49613:10;;;;49532:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;49635:23;;;:49;;49520:104;;-1:-1:-1;49661:23:98;;-1:-1:-1;;49635:49:98;;49661:23;49635:49;;;;-1:-1:-1;49694:20:98;;;:42;;;49786:15;49746:37;;;:55;49811:31;;;:44;;-1:-1:-1;;;;;;49811:44:98;49845:10;49811:44;;;49694:30;49865:32;;;:21;:32;;;;;:45;;;49921:12;:14;;-1:-1:-1;;;;;49921:14:98;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;49921:14:98;;;;;-1:-1:-1;;;;;49921:14:98;;;;;;;49951:210;49981:16;:27;;;50022:10;50046:9;50069:10;50093:7;;50114:8;:20;;:37;;;49951:210;;;;;;;;;;;;:::i;:::-;;;;;;;;48009:2159;;;47823:2345;;;;;;;:::o;27374:86::-;27430:23;27445:7;27430:14;:23::i;30903:135::-;-1:-1:-1;;;;;31005:26:98;30979:7;31005:26;;;:18;:26;;;;;;;30903:135::o;404:115:105:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;:::-;480:32:105::1;499:12;480:18;:32::i;28979:1115:98:-:0;29097:17;29128:19;29161:22;29197:23;29234:20;29268:29;29311:17;29342:22;29378:17;29409:25;29448:31;29504:25;29532:9;:22;29542:11;29532:22;;;;;;;;;;;29504:50;;29577:8;:24;;;29605:1;29577:29;:80;;29613:44;29632:8;:24;;;29613:18;:44::i;:::-;29577:80;;;29609:1;29577:80;29565:92;;29688:8;:18;;;;;;;;;;-1:-1:-1;;;;;29688:18:98;29720:8;:20;;;;;;;;;;-1:-1:-1;;;;;29720:20:98;29754:8;:23;;;;;;;;;;-1:-1:-1;;;;;29754:23:98;29791:8;:24;;;29829:8;:21;;;29864:8;:23;;;;;;;;;;;;29901:8;:18;;;29933:8;:23;;;29970:9;29993:8;:26;;:38;30020:10;-1:-1:-1;;;;;29993:38:98;-1:-1:-1;;;;;29993:38:98;;;;;;;;;;;;;30045:8;:32;;;29667:420;;;;;;;;;;;;;;;;;;;;;;;28979:1115;;;;;;;;;;;;;:::o;4341:101:97:-;4397:4;4420:15;11342:10;;;;;11263:96;4420:15;4413:22;;4341:101;:::o;53079:702:98:-;53194:21;53154;;;;:9;:21;;;;;:36;;;;;:61;;;;;;;;:::i;:::-;;53150:128;;53238:29;;-1:-1:-1;;;53238:29:98;;;;;9672:25:142;;;9645:18;;53238:29:98;9526:177:142;53150:128:98;53292:21;;;;:9;:21;;;;;:31;;;-1:-1:-1;;;;;53292:31:98;53327:10;53292:45;53288:141;;53374:21;;;;:9;:21;;;;;;;:31;;;53360:58;;-1:-1:-1;;;53360:58:98;;;;-1:-1:-1;;;;;53374:31:98;;53407:10;;53360:58;;;:::i;53288:141::-;53439:15;;;53511:21;;;:9;:21;;;;;;;;:31;;;;53574:45;;;;;53556:64;;:17;:64;;;;;;;:90;;;53439:217;;-1:-1:-1;;;53439:217:98;;-1:-1:-1;;;;;53439:15:98;;;;:34;;:217;;53487:10;;53511:31;;;53439:217;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;53667:21:98;;;;:9;:21;;;;;;;;;:36;;:63;;-1:-1:-1;;53667:63:98;53706:24;53667:63;;;53745:29;;9672:25:142;;;53745:29:98;;-1:-1:-1;9645:18:142;53745:29:98;;;;;;;;53079:702;:::o;30492:184::-;30591:7;32095:22;;;:9;:22;;;;;;;;-1:-1:-1;;;;;32095:48:98;;;;:40;;:48;;;;;;30617:52;31924:226;10318:799;2435:16:97;:14;:16::i;:::-;10411:28:98::1;10431:7;10411:19;:28::i;:::-;10503:23;::::0;10528:10:::1;:12:::0;;10485:56:::1;::::0;-1:-1:-1;;;;;10503:23:98::1;::::0;::::1;10528:12;::::0;::::1;:::i;:::-;;;;;10485:17;:56::i;:::-;10450:15;:92:::0;;-1:-1:-1;;;;;;10450:92:98::1;-1:-1:-1::0;;;;;10450:92:98;;;::::1;::::0;;::::1;::::0;;10552:28:::1;::::0;;-1:-1:-1;;;10552:28:98;;;;:26:::1;::::0;:28:::1;::::0;;::::1;::::0;-1:-1:-1;;10552:28:98;;;;;;;;-1:-1:-1;10450:92:98;10552:28;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10591:40;10645:5;10634:51;;;;;;;;;;;;:::i;:::-;10700:20;::::0;::::1;::::0;10591:94;;-1:-1:-1;;;;;;10700:34:98::1;10696:94;;10757:22;;-1:-1:-1::0;;;10757:22:98::1;;;;;;;;;;;10696:94;10820:20;::::0;::::1;::::0;10800:17:::1;:40:::0;;-1:-1:-1;;;;;;10800:40:98::1;-1:-1:-1::0;;;;;10800:40:98;;::::1;::::0;;;::::1;::::0;;10866:15:::1;::::0;::::1;::::0;10851:12:::1;:30:::0;;-1:-1:-1;;10851:30:98::1;-1:-1:-1::0;10866:15:98;10851:30:::1;::::0;::::1;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;10905:14:98::1;::::0;::::1;::::0;10891:11:::1;:28:::0;;-1:-1:-1;;10891:28:98::1;;10905:14:::0;10891:28:::1;::::0;::::1;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;10943:14:98::1;::::0;::::1;::::0;10929:28;:11:::1;:28:::0;10994:14:::1;::::0;::::1;::::0;10967:11:::1;:42:::0;;-1:-1:-1;;;;;;10967:42:98::1;-1:-1:-1::0;;;;;10967:42:98;;::::1;::::0;;;::::1;::::0;;11035:19:::1;::::0;::::1;::::0;11056:11;;11020:48:::1;::::0;11035:19;11020:14:::1;:48::i;:::-;11084:26;11098:7;11107:2;11084:26;;;;;;;:::i;:::-;;;;;;;;10401:716;10318:799:::0;;:::o;6907:220:97:-;2435:16;:14;:16::i;:::-;3307:23:::1;:21;:23::i;:::-;7055:25:::2;7065:5;7072:7;7055:9;:25::i;2335:198:45:-:0;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:45;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:45;;35144:2:142;2415:73:45::1;::::0;::::1;35126:21:142::0;35183:2;35163:18;;;35156:30;35222:34;35202:18;;;35195:62;-1:-1:-1;;;35273:18:142;;;35266:36;35319:19;;2415:73:45::1;34942:402:142::0;5631:197:97;2435:16;:14;:16::i;:::-;5771:7:::1;5757:10;;:21;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;5788:33:97::1;::::0;-1:-1:-1;5813:7:97;5788:24:::1;:33::i;12620:179:98:-:0;12705:22;:20;:22::i;:::-;-1:-1:-1;;;;;12705:34:98;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12683:59:98;:10;-1:-1:-1;;;;;12683:59:98;;12679:114;;12765:17;;-1:-1:-1;;;12765:17:98;;;;;;;;;;;43954:2357;44092:30;;;;-1:-1:-1;;;;;44092:44:98;;;;;:99;;-1:-1:-1;44148:28:98;;-1:-1:-1;;;;;44140:51:98;;;44092:99;:1027;;;;-1:-1:-1;44285:30:98;;44267:49;;;;:17;:49;;;;;;;;:62;;;44233:30;;;;-1:-1:-1;;;;;44233:96:98;;;44267:62;;44233:96;;;:216;;-1:-1:-1;44407:30:98;;44389:49;;;;:17;:49;;;;;:60;44357:28;;-1:-1:-1;;;;;44357:92:98;;;44389:60;;44357:92;;44233:216;:394;;;-1:-1:-1;44570:30:98;;44552:49;;;;:17;:49;;;;;;;:75;;;44477:43;;;;:150;;44233:394;:574;;;-1:-1:-1;44749:30:98;;44731:49;;;;:17;:49;;;;;:76;;;44655:44;;;;:152;;44233:574;:700;;;-1:-1:-1;44888:30:98;;44870:49;;;;:17;:49;;;;;:63;;;44835:31;;;;:98;;44233:700;:868;;;-1:-1:-1;45049:30:98;;45031:49;;;;:17;:49;;;;;:70;;;44961:38;;;;:140;;44233:868;44075:2158;;;45231:30;;;;;45183;;45165:49;;;;:17;:49;;;;;;;:62;;;-1:-1:-1;;;;;45165:62:98;;;:96;;;;;:212;;-1:-1:-1;45349:28:98;;45303:30;;45349:28;45285:49;;;:17;:49;;;;;:60;-1:-1:-1;;;;;45285:60:98;;;:92;;;;45165:212;45144:522;;;45410:28;;45452:30;;;;45410:73;;-1:-1:-1;;;45410:73:98;;-1:-1:-1;;;;;45410:41:98;;;;;;:73;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;45572:28:98;;45603:30;;;;45506:145;;;;-1:-1:-1;45506:145:98;;-1:-1:-1;45557:4:98;;45572:28;45603:30;-1:-1:-1;;;;;35607:15:142;;;35589:34;;35659:15;;;35654:2;35639:18;;35632:43;35711:15;;;35706:2;35691:18;;35684:43;35539:2;35524:18;;35349:384;45506:145:98;;;;;;;;45144:522;45680:30;:32;;;:30;:32;;;:::i;:::-;;;;-1:-1:-1;;45744:30:98;;;45726:49;;;;:17;:49;;;;;;;;;:69;;;;-1:-1:-1;;;;;;45726:69:98;;;-1:-1:-1;;;;;45726:69:98;;;;;;;;;;;;-1:-1:-1;45726:69:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45856:30;;45815:407;;36074:25:142;;;36153:18;;;36146:43;;;;36205:18;;;36198:43;;;;36257:18;;36250:34;36300:19;;;36293:35;36344:19;;;36337:35;;;;36403:3;36388:19;;36381:35;;;;45815:407:98;;36061:3:142;36046:19;45815:407:98;;;;;;;44075:2158;46243:20;;:8;:20;;;;;;;;;;;;;;;;;;;;46278:26;;;;;46254:9;;46278:26;:::i;:::-;;;;;;;;43954:2357;;:::o;9629:119:97:-;9713:4;;-1:-1:-1;;;;;9713:4:97;9691:10;:27;9687:54;;9727:14;;-1:-1:-1;;;9727:14:97;;;;;;;;;;;10618:113;10687:6;;10697:1;10687:11;10683:41;;10707:17;;-1:-1:-1;;;10707:17:97;;;;;;;;;;;23161:1873:98;23330:1;23314:5;:12;:17;23310:76;;23354:21;;-1:-1:-1;;;23354:21:98;;;;;;;;;;;23310:76;23396:18;23428:5;23417:28;;;;;;;;;;;;:::i;:::-;23396:49;;23460:10;23474:1;23460:15;23456:77;;23498:24;;-1:-1:-1;;;23498:24:98;;;;;;;;;;;23456:77;23542:25;23570:21;;;:9;:21;;;;;23622:20;23606:12;;;;:36;;;;;;;;:::i;:::-;;23602:1366;;23662:19;;:33;;23658:108;;23722:29;;-1:-1:-1;;;23722:29:98;;;;;9672:25:142;;;9645:18;;23722:29:98;9526:177:142;23658:108:98;23811:10;;23784:8;:24;;;:37;23780:152;;;23868:10;23880:8;:24;;;23906:10;;23848:69;;-1:-1:-1;;;23848:69:98;;;;;;;;;;:::i;23780:152::-;23977:21;23950:23;;;;;;:48;;;;;;;;:::i;:::-;;23946:123;;24025:29;;-1:-1:-1;;;24025:29:98;;;;;9672:25:142;;;9645:18;;24025:29:98;9526:177:142;23946:123:98;24083:22;24108:36;24133:10;24108:24;:36::i;:::-;24083:61;;24158:17;24178:44;24197:8;:24;;;24178:18;:44::i;:::-;24158:64;;24258:9;24241:14;:26;:58;;;;;24298:1;24271:8;:24;;;:28;24241:58;24237:137;;;24326:33;;-1:-1:-1;;;24326:33:98;;;;;;;;;;;24237:137;24413:4;;24426:6;;24413:20;;-1:-1:-1;;;24413:20:98;;;;;9672:25:142;;;;24388:22:98;;-1:-1:-1;;;;;24413:4:98;;:12;;9645:18:142;;24413:20:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;24413:20:98;;;;;;;;;;;;:::i;:::-;24388:45;;24462:8;:24;;;24448:10;;:38;;;;;;;:::i;:::-;;;;-1:-1:-1;;24524:10:98;;;;24536:20;;;;;24558:24;;;24508:75;;24524:10;-1:-1:-1;;;;;24536:20:98;;24508:15;:75::i;:::-;24598:23;;;:49;;-1:-1:-1;;24598:49:98;24624:23;24598:49;;;;;;24661:15;;24741:18;;;;24795:30;;-1:-1:-1;24777:49:98;;;:17;:49;;;;;;;:75;;;24661:205;;-1:-1:-1;;;24661:205:98;;-1:-1:-1;;;;;24661:15:98;;;;:34;;:205;;24713:10;;24741:18;;;24777:75;;24661:205;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;24910:20:98;;;;;24932:24;;;24886:71;;;;-1:-1:-1;24886:71:98;;24898:10;;-1:-1:-1;;;;;24910:20:98;;;;24886:71;:::i;:::-;;;;;;;;23644:1324;;;23602:1366;23255:1779;;23161:1873;;;:::o;1423:320:50:-;-1:-1:-1;;;;;1713:19:50;;:23;;;1423:320::o;42723:389:98:-;42835:18;42855:19;42878:56;42912:9;42923:10;42878:33;:56::i;:::-;42834:100;;;;42948:10;42962:1;42948:15;:35;;;;-1:-1:-1;42967:16:98;;42948:35;42944:72;;;42999:7;;42723:389;;:::o;42944:72::-;43025:19;;;:33;43068:24;;;;:37;;;;-1:-1:-1;42723:389:98:o;16911:369::-;17006:22;:20;:22::i;:::-;-1:-1:-1;;;;;17006:47:98;;17054:7;17071:4;17006:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16982:20;;:95;;;;;;;:::i;:::-;;;;-1:-1:-1;17087:22:98;;-1:-1:-1;17087:20:98;:22::i;:::-;-1:-1:-1;;;;;17087:49:98;;17137:7;17154:4;17087:73;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17215:17;17224:7;17215:8;:17::i;:::-;17247:26;17265:7;17247:26;;;;;;:::i;13565:2624::-;13665:7;13689:26;13707:7;13689:17;:26::i;:::-;13684:90;;13738:25;;-1:-1:-1;;;13738:25:98;;;;;;;;;;;13684:90;13843:30;13887:5;13876:35;;;;;;;;;;;;:::i;:::-;14026:15;;13843:68;;-1:-1:-1;14026:15:98;:20;14022:78;;14069:20;;-1:-1:-1;;;14069:20:98;;;;;;;;;;;14022:78;14192:20;14176:12;;;;:36;;;;;;;;:::i;:::-;;14172:749;;14228:40;14247:8;:20;;;14228:18;:40::i;:::-;14334:23;;;;-1:-1:-1;;;;;14334:37:98;14330:102;;14398:19;;-1:-1:-1;;;14398:19:98;;;;;;;;;;;14330:102;14445:11;14459:4;-1:-1:-1;;;;;14459:12:98;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14526:15;;14512:30;;-1:-1:-1;;;14512:30:98;;;;;9672:25:142;;;;14445:28:98;;-1:-1:-1;14487:22:98;;-1:-1:-1;;;;;14512:13:98;;;;;9645:18:142;;14512:30:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14512:30:98;;;;;;;;;;;;:::i;:::-;14487:55;;14587:4;:10;;;-1:-1:-1;;;;;14560:37:98;:8;:23;;;-1:-1:-1;;;;;14560:37:98;;14556:235;;14759:17;;-1:-1:-1;;;14759:17:98;;;;;;;;;;;14556:235;14808:41;14824:8;:24;;;14808:15;:41::i;:::-;14804:107;;;14876:20;;-1:-1:-1;;;14876:20:98;;;;;;;;;;;14804:107;14214:707;;14172:749;14974:30;;15029:1;14956:49;;;:17;:49;;;;;:60;-1:-1:-1;;;;;14956:60:98;14948:83;;;;:190;;-1:-1:-1;15081:30:98;;15063:49;;;;:17;:49;;;;;:75;;;15051:9;:87;14948:190;14931:390;;;15239:30;;15221:49;;;;:17;:49;;;;;;;:75;;;15170:140;;-1:-1:-1;;;15170:140:98;;;;15210:9;;15170:140;;;:::i;14931:390::-;15331:18;15354:15;;15352:17;;;;;:::i;:::-;;;;;-1:-1:-1;15379:18:98;15400:21;;;:9;:21;;;;;;;;15432:25;;;15467:11;;;:21;;-1:-1:-1;;;;;15467:21:98;;;-1:-1:-1;;;;;;15467:21:98;;;;;;;15514:20;;;;15498:13;;;:36;;;;;;;;;;;;;;15563:23;;;;15544:16;;;:42;;;;;;;;;;;15616:24;;;;-1:-1:-1;15596:17:98;;;:44;;;;15701:16;;;:40;;-1:-1:-1;;15701:40:98;;;;;;15765:12;15751:11;;;:26;-1:-1:-1;15787:16:98;;:20;;;;15866:17;;;;15853:30;;:10;;;:30;;;;;;;15352:17;;-1:-1:-1;15400:21:98;;15853:30;;;;;;;;:::i;:::-;-1:-1:-1;;15921:30:98;;15893:25;;;:58;-1:-1:-1;15961:15:98;;16025:11;;;;15961:76;;-1:-1:-1;;;15961:76:98;;-1:-1:-1;;;;;15961:15:98;;;;:33;;16002:9;;15961:76;;16013:10;;16025:11;;15961:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16053:35;16069:6;;16077:10;16053:35;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;16170:10:98;13565:2624;-1:-1:-1;;;;13565:2624:98:o;12296:171::-;12387:17;;-1:-1:-1;;;;;12387:17:98;12365:10;:40;12361:100;;12428:22;;-1:-1:-1;;;12428:22:98;;;;;;;;;;;20677:882;20815:7;20856:2;20886:22;:20;:22::i;:::-;-1:-1:-1;;;;;20886:34:98;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20872:61:98;;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20872:63:98;;;;;;;;-1:-1:-1;;20872:63:98;;;;;;;;;;;;:::i;:::-;;;20868:216;;;20985:17;;;-1:-1:-1;20868:216:98;21155:21;21235:16;21179:22;:20;:22::i;:::-;-1:-1:-1;;;;;21179:44:98;;21224:7;21179:53;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:72;;;;:::i;:::-;21155:96;-1:-1:-1;21317:22:98;21342:40;21368:13;21374:7;21368:2;:13;:::i;:::-;21352:29;;:13;:29;:::i;:::-;21342:9;:40::i;:::-;21317:65;;21392:24;21505:14;21431:22;:20;:22::i;:::-;-1:-1:-1;;;;;21431:47:98;;21479:7;21496:4;21431:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:88;;;;:::i;:::-;21392:127;20677:882;-1:-1:-1;;;;;;;20677:882:98:o;41952:455::-;42021:15;-1:-1:-1;;;42056:2:98;:12;42048:53;;;;-1:-1:-1;;;42048:53:98;;44441:2:142;42048:53:98;;;44423:21:142;44480:2;44460:18;;;44453:30;-1:-1:-1;;;44499:18:142;;;44492:58;44567:18;;42048:53:98;44239:352:142;42048:53:98;-1:-1:-1;;;;42123:2:98;42147;42186:215;42193:5;;42186:215;;42218:1;42222;42218:5;42227:1;42218:10;42214:177;;42252:10;42257:1;42260;42252:4;:10::i;:::-;42248:14;-1:-1:-1;42286:1:98;42280:7;42186:215;;42214:177;42336:16;42341:7;42350:1;42336:4;:16::i;:::-;42326:26;-1:-1:-1;42370:6:98;42375:1;42370:6;;:::i;:::-;;;42186:215;;;42038:369;;41952:455;;;;:::o;1175:140:60:-;-1:-1:-1;;;;;;;;;;;1254:54:60;-1:-1:-1;;;;;1254:54:60;;1175:140::o;1135:169:105:-;1219:10;1208:7;:5;:7::i;:::-;-1:-1:-1;;;;;1208:21:105;;1204:94;;1267:10;1279:7;:5;:7::i;:::-;1252:35;;-1:-1:-1;;;1252:35:105;;;;;;;;;:::i;2494:922:60:-;689:66;2910:48;;;2906:504;;;2974:37;2993:17;2974:18;:37::i;2906:504::-;3064:17;-1:-1:-1;;;;;3046:50:60;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3046:52:60;;;;;;;;-1:-1:-1;;3046:52:60;;;;;;;;;;;;:::i;:::-;;;3042:291;;3262:56;;-1:-1:-1;;;3262:56:60;;44987:2:142;3262:56:60;;;44969:21:142;45026:2;45006:18;;;44999:30;45065:34;45045:18;;;45038:62;-1:-1:-1;;;45116:18:142;;;45109:44;45170:19;;3262:56:60;44785:410:142;3042:291:60;-1:-1:-1;;;;;;;;;;;3148:28:60;;3140:82;;;;-1:-1:-1;;;3140:82:60;;45402:2:142;3140:82:60;;;45384:21:142;45441:2;45421:18;;;45414:30;45480:34;45460:18;;;45453:62;-1:-1:-1;;;45531:18:142;;;45524:39;45580:19;;3140:82:60;45200:405:142;3140:82:60;3099:138;3346:53;3364:17;3383:4;3389:9;3346:17;:53::i;32519:191:98:-;32601:19;32683:20;7921:8;32683:16;:20;:::i;:::-;32669:10;;32649:8;:17;:30;;32669:10;32649:30;:::i;:::-;:54;;;32519:191;-1:-1:-1;;32519:191:98:o;1620:130:45:-;965:10:51;1683:7:45;:5;:7::i;:::-;-1:-1:-1;;;;;1683:23:45;;1675:68;;;;-1:-1:-1;;;1675:68:45;;45812:2:142;1675:68:45;;;45794:21:142;;;45831:18;;;45824:30;45890:34;45870:18;;;45863:62;45942:18;;1675:68:45;45610:356:142;2687:187:45;2779:6;;;-1:-1:-1;;;;;2795:17:45;;;-1:-1:-1;;;;;;2795:17:45;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;12805:296:98:-;12894:48;;;;;;;;;;;;-1:-1:-1;;;12894:48:98;;;;12929:11;;12878:4;;12894:48;;-1:-1:-1;;;;;12929:11:98;12894;:48::i;:::-;12964:11;;-1:-1:-1;;;;;12964:11:98;12952:76;;-1:-1:-1;13013:4:98;;12805:296;-1:-1:-1;12805:296:98:o;12952:76::-;13044:11;;:50;;-1:-1:-1;;;13044:50:98;;-1:-1:-1;;;;;13044:11:98;;;;:28;;:50;;13073:5;;13088:4;;13044:50;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;19122:637::-;19223:7;19269:14;19223:7;19379:22;:20;:22::i;:::-;-1:-1:-1;;;;;19379:47:98;;19427:7;19444:4;19379:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19549:11;:21;19357:93;;-1:-1:-1;19516:30:98;19530:16;19357:93;19516:30;:::i;:::-;:54;19512:139;;;19605:11;:21;:35;;19629:11;;19605:35;:::i;:::-;19586:54;;19512:139;-1:-1:-1;19736:16:98;19122:637;-1:-1:-1;;;19122:637:98:o;19765:756::-;19869:7;19888:18;19965:14;19909:22;:20;:22::i;:::-;-1:-1:-1;;;;;19909:44:98;;19954:7;19909:53;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:70;;;;:::i;:::-;19888:91;-1:-1:-1;20008:2:98;20038:22;:20;:22::i;:::-;-1:-1:-1;;;;;20038:34:98;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20024:61:98;;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20024:63:98;;;;;;;;-1:-1:-1;;20024:63:98;;;;;;;;;;;;:::i;:::-;;;20020:216;;;20137:17;;;-1:-1:-1;20020:216:98;20245:22;20270:37;20293:13;20299:7;20293:2;:13;:::i;:::-;20280:26;;:10;:26;:::i;20270:37::-;20245:62;;20317:21;20341:22;:20;:22::i;:::-;-1:-1:-1;;;;;20341:47:98;;20389:7;20406:4;20341:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20317:95;-1:-1:-1;20423:24:98;20450:30;20317:95;20450:14;:30;:::i;:::-;20423:57;19765:756;-1:-1:-1;;;;;;;;19765:756:98:o;43118:830::-;43272:18;43292:19;43341:12;43327:26;;43393:11;43370:9;:19;;;:34;;43363:42;;;;:::i;:::-;43442:11;43419:9;:19;;;:34;43415:173;;-1:-1:-1;43543:1:98;;-1:-1:-1;43543:1:98;43535:13;;43415:173;43654:287;43811:9;:19;;;43797:11;:33;;;;:::i;:::-;43883:9;:24;;;43921:10;43654:19;:287::i;:::-;43641:300;;43118:830;;;;;;:::o;12473:141::-;-1:-1:-1;;;;;12555:22:98;;12551:56;;12586:21;;-1:-1:-1;;;12586:21:98;;;;;;;;;;;10971:126:97;11036:10;:20;;-1:-1:-1;;11036:20:97;;;;;;;;;;11071:19;;3288:41:142;;;11071:19:97;;3276:2:142;3261:18;11071:19:97;3148:187:142;5044:390:97;2435:16;:14;:16::i;:::-;5243:6:::1;::::0;:11;5239:45:::1;;5263:21;;-1:-1:-1::0;;;5263:21:97::1;;;;;;;;;;;5239:45;5371:7;5382:1;5371:12:::0;5367:34:::1;;5392:9;;-1:-1:-1::0;;;5392:9:97::1;;;;;;;;;;;5367:34;5411:6;:16:::0;5044:390::o;4749:279:6:-;4867:36;;-1:-1:-1;;;;;;4884:10:6;46305:2:142;46276:15;46272:45;4867:36:6;;;46260:58:142;46334:12;;;46327:28;;;4823:7:6;;;;46371:12:142;;4867:36:6;;;;;;;;;;;;4857:47;;;;;;4842:62;;4968:53;5005:9;5016:4;4968:36;:53::i;:::-;4961:60;4749:279;-1:-1:-1;;;;4749:279:6:o;22272:633:98:-;22364:28;22384:7;22364:19;:28::i;:::-;22407:26;22425:7;22407:17;:26::i;:::-;22402:90;;22456:25;;-1:-1:-1;;;22456:25:98;;;;;;;;;;;22402:90;22547:28;22578:22;:20;:22::i;:::-;-1:-1:-1;;;;;22578:50:98;;22629:7;22646:4;22578:74;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22547:105;;22667:23;22662:78;;22713:16;;-1:-1:-1;;;22713:16:98;;;;;;;;;;;22662:78;22749:27;22790:5;22779:38;;;;;;;;;;;;:::i;:::-;22749:68;;22827:37;22852:7;22861:2;22827:24;:37::i;:::-;22874:24;22886:7;22895:2;22874:11;:24::i;27003:127::-;27095:28;;9672:25:142;;;27095:28:98;;9660:2:142;9645:18;27095:28:98;9526:177:142;6721:269:10;-1:-1:-1;;;;;;;6815:16:10;;;6811:173;;6847:45;6879:3;6884:7;6847:31;:45::i;6811:173::-;6923:50;6952:6;6960:3;6965:7;6923:28;:50::i;27466:829:98:-;-1:-1:-1;;;;;27608:29:98;;27576;27608;;;:20;:29;;;;;;;;27576:61;;;;;;;;;;;;;;;;;;;27608:29;;27576:61;;;27608:29;27576:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27652:9;27647:642;27671:12;:19;27667:1;:23;27647:642;;;27711:18;27732:12;27745:1;27732:15;;;;;;;;:::i;:::-;;;;;;;27711:36;;27761:25;27789:9;:21;27799:10;27789:21;;;;;;;;;;;27761:49;;27828:26;27843:10;27828:14;:26::i;:::-;27824:455;;;-1:-1:-1;;;;;27897:35:98;;27874:20;27897:35;;;:26;;;:35;;;;;;;27950:39;;;;28007:21;;;:37;;27897:35;;;;28007:37;;27897:35;;28007:37;:::i;:::-;;;;;;;;28077:12;28062:11;;:27;;;;;;;:::i;:::-;;;;-1:-1:-1;28107:50:98;;-1:-1:-1;28134:8:98;28144:12;28107:26;:50::i;:::-;-1:-1:-1;;;;;;;;;;;28193:7:98;28202:10;28214:1;28217:8;:21;;;28240:8;:23;;;28180:84;;;;;;;;;;:::i;:::-;;;;;;;;27856:423;27824:455;27697:592;;27692:3;;;;;:::i;:::-;;;;27647:642;;6530:1642:83;6578:7;6601:1;6606;6601:6;6597:45;;-1:-1:-1;6630:1:83;;6530:1642;-1:-1:-1;6530:1642:83:o;6597:45::-;7321:14;7355:1;7344:7;7349:1;7344:4;:7::i;:::-;:12;;7338:1;:19;;7321:36;;7816:1;7805:6;7801:1;:10;;;;;:::i;:::-;;7792:6;:19;7791:26;;7782:35;;7865:1;7854:6;7850:1;:10;;;;;:::i;:::-;;7841:6;:19;7840:26;;7831:35;;7914:1;7903:6;7899:1;:10;;;;;:::i;:::-;;7890:6;:19;7889:26;;7880:35;;7963:1;7952:6;7948:1;:10;;;;;:::i;:::-;;7939:6;:19;7938:26;;7929:35;;8012:1;8001:6;7997:1;:10;;;;;:::i;:::-;;7988:6;:19;7987:26;;7978:35;;8061:1;8050:6;8046:1;:10;;;;;:::i;:::-;;8037:6;:19;8036:26;;8027:35;;8110:1;8099:6;8095:1;:10;;;;;:::i;:::-;;8086:6;:19;8085:26;;8076:35;;8132:23;8136:6;8148;8144:1;:10;;;;;:::i;:::-;;8132:3;:23::i;41447:277:98:-;41516:15;-1:-1:-1;;;41551:2:98;:13;;41543:66;;;;-1:-1:-1;;;41543:66:98;;48420:2:142;41543:66:98;;;48402:21:142;48459:2;48439:18;;;48432:30;48498:34;48478:18;;;48471:62;-1:-1:-1;;;48549:18:142;;;48542:38;48597:19;;41543:66:98;48218:404:142;41543:66:98;-1:-1:-1;;;41627:2:98;:12;41619:53;;;;-1:-1:-1;;;41619:53:98;;48829:2:142;41619:53:98;;;48811:21:142;48868:2;48848:18;;;48841:30;-1:-1:-1;;;48887:18:142;;;48880:58;48955:18;;41619:53:98;48627:352:142;41619:53:98;41714:3;-1:-1:-1;;;41691:7:98;41696:2;41691;:7;:::i;:::-;41690:19;;;;:::i;:::-;41689:28;;;41447:277;-1:-1:-1;;;41447:277:98:o;1406:259:60:-;1487:37;1506:17;1487:18;:37::i;:::-;1479:95;;;;-1:-1:-1;;;1479:95:60;;49186:2:142;1479:95:60;;;49168:21:142;49225:2;49205:18;;;49198:30;49264:34;49244:18;;;49237:62;-1:-1:-1;;;49315:18:142;;;49308:43;49368:19;;1479:95:60;48984:409:142;1479:95:60;-1:-1:-1;;;;;;;;;;;1584:74:60;;-1:-1:-1;;;;;;1584:74:60;-1:-1:-1;;;;;1584:74:60;;;;;;;;;;1406:259::o;2057:265::-;2165:29;2176:17;2165:10;:29::i;:::-;2222:1;2208:4;:11;:15;:28;;;;2227:9;2208:28;2204:112;;;2252:53;2281:17;2300:4;2252:28;:53::i;6994:145:34:-;7061:71;7124:2;7128;7077:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7077:54:34;;;;;;;;;;;;;;-1:-1:-1;;;;;7077:54:34;-1:-1:-1;;;7077:54:34;;;7061:15;:71::i;2118:794:46:-;2202:16;2534:48;2516:14;2510:4;2506:25;2500:4;2496:36;2493:90;2487:4;2480:104;2741:32;2724:14;2718:4;2714:25;2711:63;2705:4;2698:77;2823:4;2817;2811;2808:1;2800:28;2788:40;-1:-1:-1;;;;;;2855:22:46;;2847:58;;;;-1:-1:-1;;;2847:58:46;;49922:2:142;2847:58:46;;;49904:21:142;49961:2;49941:18;;;49934:30;-1:-1:-1;;;49980:18:142;;;49973:53;50043:18;;2847:58:46;49720:347:142;11899:391:98;-1:-1:-1;;;;;11981:21:98;;11977:77;;12025:18;;-1:-1:-1;;;12025:18:98;;;;;;;;;;;11977:77;12075:17;;-1:-1:-1;;;;;12075:17:98;12063:100;;12130:22;;-1:-1:-1;;;12130:22:98;;;;;;;;;;;12063:100;12177:22;:20;:22::i;:::-;-1:-1:-1;;;;;12177:31:98;;12209:7;12177:40;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12172:98;;12240:19;;-1:-1:-1;;;12240:19:98;;;;;;;;;;;32716:1526;32829:22;32870:9;32865:630;32889:16;:23;32885:1;:27;32865:630;;;32992:16;33009:1;32992:19;;;;;;;;:::i;:::-;;;;;;;:30;;;33026:1;32992:35;32988:187;33152:8;32988:187;33188:18;33209:16;33226:1;33209:19;;;;;;;;:::i;:::-;;;;;;;:30;;;33188:51;;33258:26;33273:10;33258:14;:26::i;:::-;33253:167;;33311:29;;-1:-1:-1;;;33311:29:98;;;;;9672:25:142;;;9645:18;;33311:29:98;9526:177:142;33253:167:98;33452:16;33469:1;33452:19;;;;;;;;:::i;:::-;;;;;;;:32;;;33433:51;;;;;:::i;:::-;;;32919:576;32865:630;32914:3;;;;:::i;:::-;;;;32865:630;;;;33591:29;33623:60;33635:30;33657:7;33635:21;:30::i;:::-;33667:15;33623:11;:60::i;:::-;33591:92;;33765:26;33794:22;:20;:22::i;:::-;-1:-1:-1;;;;;33794:47:98;;33842:7;33859:4;33794:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;33765:100;;34055:18;34031:21;:42;34027:147;;;34121:21;34144:18;34096:67;;-1:-1:-1;;;34096:67:98;;;;;;;;;:::i;34027:147::-;-1:-1:-1;;;;;;34184:27:98;;;;;;;:18;:27;;;;;:51;;;;-1:-1:-1;;32716:1526:98:o;34248:3457::-;34356:29;34400:9;34395:3304;34419:16;:23;34415:1;:27;34395:3304;;;34463:18;34484:16;34501:1;34484:19;;;;;;;;:::i;:::-;;;;;;;:30;;;34463:51;;34587:12;:19;34610:1;34587:24;34583:920;;34646:16;;;34660:1;34646:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;34646:16:98;34631:31;;34698:10;34680:12;34693:1;34680:15;;;;;;;;:::i;:::-;;;;;;:28;;;;;34583:920;;;34757:10;34798:9;34793:318;34817:12;:19;34813:1;:23;34793:318;;;34913:10;34894:12;34907:1;34894:15;;;;;;;;:::i;:::-;;;;;;;:29;34890:203;;34959:4;34951:12;;35022:10;35034:1;34996:40;;-1:-1:-1;;;34996:40:98;;;;;;;;;:::i;34890:203::-;34838:3;;;;:::i;:::-;;;;34793:318;;;;35133:5;35128:361;;35162:21;35200:12;:19;35222:1;35200:23;;;;:::i;:::-;-1:-1:-1;;;;;35186:38:98;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;35186:38:98;;35162:62;;35251:9;35246:124;35270:12;:19;35266:1;:23;35246:124;;;35332:12;35345:1;35332:15;;;;;;;;:::i;:::-;;;;;;;35322:4;35327:1;35322:7;;;;;;;;:::i;:::-;;;;;;;;;;:25;35291:3;;;;:::i;:::-;;;;35246:124;;;;35419:10;35391:4;35396:12;:19;35391:25;;;;;;;;:::i;:::-;;;;;;;;;;:38;35466:4;-1:-1:-1;35128:361:98;34739:764;34583:920;35516:12;35531:16;35548:1;35531:19;;;;;;;;:::i;:::-;;;;;;;;;;;;:32;;;35578:25;35606:21;;;:9;:21;;;;;;-1:-1:-1;;;;;35760:35:98;;;;:26;;;:35;;;;;;35531:32;;-1:-1:-1;35983:40:98;35760:35;35531:32;35983:11;:40::i;:::-;-1:-1:-1;;;;;36158:35:98;;;;;;:26;;;:35;;;;;:50;;;35960:63;;-1:-1:-1;36158:35:98;36480:246;-1:-1:-1;;;;;36504:29:98;;;;;;:20;:29;;;;;:36;36500:40;;36480:246;;;36605:19;;-1:-1:-1;;;;;36569:29:98;;36605:19;36569:29;;;:20;:29;;;;;:32;;36599:1;;36569:32;;;;;;:::i;:::-;;;;;;;;;:55;36565:147;;36662:4;36648:18;;36688:5;;36565:147;36542:3;;;;:::i;:::-;;;;36480:246;;;;36744:11;36739:106;;-1:-1:-1;;;;;36775:29:98;;;;;;:20;:29;;;;;;;36810:19;;36775:55;;;;;;;;;;;;;;;;;;36739:106;37024:12;37000:20;:36;36996:370;;37071:35;37086:20;37071:12;:35;:::i;:::-;37056:11;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;37149:35:98;;-1:-1:-1;37164:20:98;37149:12;:35;:::i;:::-;37124:8;:21;;;:60;;;;;;;:::i;:::-;;;;-1:-1:-1;36996:370:98;;-1:-1:-1;36996:370:98;;37238:35;37261:12;37238:20;:35;:::i;:::-;37223:11;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;37316:35:98;;-1:-1:-1;37339:12:98;37316:20;:35;:::i;:::-;37291:8;:21;;;:60;;;;;;;:::i;:::-;;;;-1:-1:-1;;36996:370:98;37383:8;:18;;;37405:1;37383:23;37379:310;;37447:12;37426:18;;;:33;37379:310;;;37498:58;37525:8;37535:20;37498:26;:58::i;:::-;-1:-1:-1;;;;;;;;;;;37592:7:98;37601:10;37613:12;37627:8;:21;;;37650:8;:23;;;37579:95;;;;;;;;;;:::i;:::-;;;;;;;;37379:310;34449:3250;;;;;;34444:3;;;;;:::i;:::-;;;;34395:3304;;2455:490:14;2711:4;2705;2699;2693;2685:6;2681:2;2674:5;2669:47;2659:270;;2822:10;2816:4;2809:24;2910:4;2904;2897:18;11454:1189;11617:2;11611:4;11604:16;11674:6;11668:4;11661:20;-1:-1:-1;;;11808:4:14;11801:48;12272:4;12266;12260;12254;12251:1;12244:5;12237;12232:45;12192:16;12185:24;12181:1;12174:4;12168:11;12165:18;12162:48;11890:405;11863:655;;12411:10;12405:4;12398:24;12499:4;12493;12486:18;11863:655;12625:1;12619:4;12612:15;11454:1189;;;:::o;32320:193:98:-;32396:4;32419:22;;;:9;:22;;;;;:33;:37;;;;:87;;-1:-1:-1;;32504:1:98;32460:22;;;:9;:22;;;;;:32;;;-1:-1:-1;;;;;32460:32:98;:46;;;32320:193::o;8633:983:83:-;8685:7;;8769:3;8760:12;;;:16;8756:99;;8806:3;8796:13;;;;8827;8756:99;8881:2;8872:11;;;:15;8868:96;;8917:2;8907:12;;;;8937;8868:96;8990:2;8981:11;;;:15;8977:96;;9026:2;9016:12;;;;9046;8977:96;9099:2;9090:11;;;:15;9086:96;;9135:2;9125:12;;;;9155;9086:96;9208:1;9199:10;;;:14;9195:93;;9243:1;9233:11;;;;9262;9195:93;9314:1;9305:10;;;:14;9301:93;;9349:1;9339:11;;;;9368;9301:93;9420:1;9411:10;;;:14;9407:93;;9455:1;9445:11;;;;9474;9407:93;9526:1;9517:10;;;:14;9513:64;;9561:1;9551:11;9603:6;8633:983;-1:-1:-1;;8633:983:83:o;588:104::-;646:7;676:1;672;:5;:13;;684:1;672:13;;;-1:-1:-1;680:1:83;;588:104;-1:-1:-1;588:104:83:o;1771:152:60:-;1837:37;1856:17;1837:18;:37::i;:::-;1889:27;;-1:-1:-1;;;;;1889:27:60;;;;;;;;1771:152;:::o;6674:198:76:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;181:376:34:-;275:14;;131:42;448:2;435:16;;251:21;;275:14;435:16;131:42;484:5;473:68;464:77;;401:150;;181:376;:::o;37711:284:98:-;37796:7;;37831:25;37850:6;37838:8;37831:25;:::i;:::-;37815:41;;37880:1;37871:6;:10;37867:90;;;37921:8;37931:6;37939;37904:42;;-1:-1:-1;;;37904:42:98;;;;;;;;;;:::i;7058:325:76:-;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:76;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:76:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;8121:18;8132:6;8121:10;:18::i;:::-;8113:60;;;;-1:-1:-1;;;8113:60:76;;51601:2:142;8113:60:76;;;51583:21:142;51640:2;51620:18;;;51613:30;51679:31;51659:18;;;51652:59;51728:18;;8113:60:76;51399:353:142;8113:60:76;-1:-1:-1;8208:10:76;8201:17;;7875:418;8249:33;8257:10;8269:12;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:76;;;;;;;;:::i;14:180:142:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:142;;14:180;-1:-1:-1;14:180:142:o;199:104::-;-1:-1:-1;;;;;265:31:142;253:44;;199:104::o;308:127::-;369:10;364:3;360:20;357:1;350:31;400:4;397:1;390:15;424:4;421:1;414:15;440:119;527:1;520:5;517:12;507:46;;533:18;;:::i;564:250::-;649:1;659:113;673:6;670:1;667:13;659:113;;;749:11;;;743:18;730:11;;;723:39;695:2;688:10;659:113;;;-1:-1:-1;;806:1:142;788:16;;781:27;564:250::o;819:271::-;861:3;899:5;893:12;926:6;921:3;914:19;942:76;1011:6;1004:4;999:3;995:14;988:4;981:5;977:16;942:76;:::i;:::-;1072:2;1051:15;-1:-1:-1;;1047:29:142;1038:39;;;;1079:4;1034:50;;819:271;-1:-1:-1;;819:271:142:o;1095:252::-;1182:5;1176:12;1171:3;1164:25;1146:3;1235:4;1228:5;1224:16;1218:23;1273:4;1266;1261:3;1257:14;1250:28;1294:47;1335:4;1330:3;1326:14;1312:12;1294:47;:::i;1352:1500::-;1929:4;1958:3;1988:6;1977:9;1970:25;2031:6;2026:2;2015:9;2011:18;2004:34;2074:6;2069:2;2058:9;2054:18;2047:34;2117:6;2112:2;2101:9;2097:18;2090:34;2160:1;2156;2151:3;2147:11;2143:19;2211:2;2203:6;2199:15;2193:3;2182:9;2178:19;2171:44;2264:2;2256:6;2252:15;2246:3;2235:9;2231:19;2224:44;2317:2;2309:6;2305:15;2299:3;2288:9;2284:19;2277:44;2358:6;2352:3;2341:9;2337:19;2330:35;2374:44;2411:6;2374:44;:::i;:::-;2455:6;2449:3;2438:9;2434:19;2427:35;2499:2;2493:3;2482:9;2478:19;2471:31;2519:54;2569:2;2558:9;2554:18;2546:6;2519:54;:::i;:::-;2610:14;;2604:3;2589:19;;2582:43;2681:2;2668:16;;2662:23;2656:3;2641:19;;2634:52;2746:2;2733:16;;;2727:23;2723:32;2717:3;2702:19;;2695:61;-1:-1:-1;;2787:3:142;2772:19;;2765:36;;;;2832:3;2817:19;;;2810:36;2511:62;1352:1500;-1:-1:-1;;;;;;;;;;1352:1500:142:o;2857:286::-;2915:6;2968:2;2956:9;2947:7;2943:23;2939:32;2936:52;;;2984:1;2981;2974:12;2936:52;3010:23;;-1:-1:-1;;;;;;3062:32:142;;3052:43;;3042:71;;3109:1;3106;3099:12;3957:127;4018:10;4013:3;4009:20;4006:1;3999:31;4049:4;4046:1;4039:15;4073:4;4070:1;4063:15;4089:253;4161:2;4155:9;4203:4;4191:17;;-1:-1:-1;;;;;4223:34:142;;4259:22;;;4220:62;4217:88;;;4285:18;;:::i;:::-;4321:2;4314:22;4089:253;:::o;4347:::-;4419:2;4413:9;4461:4;4449:17;;-1:-1:-1;;;;;4481:34:142;;4517:22;;;4478:62;4475:88;;;4543:18;;:::i;4605:253::-;4677:2;4671:9;4719:4;4707:17;;-1:-1:-1;;;;;4739:34:142;;4775:22;;;4736:62;4733:88;;;4801:18;;:::i;4863:257::-;4935:4;4929:11;;;4967:17;;-1:-1:-1;;;;;4999:34:142;;5035:22;;;4996:62;4993:88;;;5061:18;;:::i;5125:253::-;5197:2;5191:9;5239:4;5227:17;;-1:-1:-1;;;;;5259:34:142;;5295:22;;;5256:62;5253:88;;;5321:18;;:::i;5383:275::-;5454:2;5448:9;5519:2;5500:13;;-1:-1:-1;;5496:27:142;5484:40;;-1:-1:-1;;;;;5539:34:142;;5575:22;;;5536:62;5533:88;;;5601:18;;:::i;:::-;5637:2;5630:22;5383:275;;-1:-1:-1;5383:275:142:o;5663:144::-;-1:-1:-1;;;;;5751:31:142;;5741:42;;5731:70;;5797:1;5794;5787:12;5812:1289;5942:6;5950;5994:9;5985:7;5981:23;6024:3;6020:2;6016:12;6013:32;;;6041:1;6038;6031:12;6013:32;6065:4;6061:2;6057:13;6054:33;;;6083:1;6080;6073:12;6054:33;6109:22;;:::i;:::-;6168:9;6155:23;6187:46;6225:7;6187:46;:::i;:::-;6242:22;;6316:2;6301:18;;6288:32;6329:46;6288:32;6329:46;:::i;:::-;6402:2;6391:14;;6384:31;6475:2;6460:18;;;6447:32;6431:14;;;6424:56;6540:2;6525:18;;;6512:32;6496:14;;;6489:56;6606:3;6591:19;;;6578:33;6561:15;;;6554:58;6673:3;6658:19;;;6645:33;6628:15;;;6621:58;6395:5;;-1:-1:-1;;;6719:17:142;;6715:27;6712:47;;;6755:1;6752;6745:12;6712:47;;6783:22;;:::i;:::-;6858:4;6843:20;;6830:34;6814:51;;6927:3;6912:19;;6899:33;6894:2;6881:16;;6874:59;6995:3;6980:19;;6967:33;6962:2;6949:16;;6942:59;7063:3;7048:19;;;7035:33;7030:2;7017:16;;7010:59;-1:-1:-1;5812:1289:142;6821:7;;-1:-1:-1;5812:1289:142:o;7106:183::-;7166:4;-1:-1:-1;;;;;7188:30:142;;7185:56;;;7221:18;;:::i;:::-;-1:-1:-1;7266:1:142;7262:14;7278:4;7258:25;;7106:183::o;7294:750::-;7348:5;7401:3;7394:4;7386:6;7382:17;7378:27;7368:55;;7419:1;7416;7409:12;7368:55;7455:6;7442:20;7481:4;7505:60;7521:43;7561:2;7521:43;:::i;:::-;7505:60;:::i;:::-;7599:15;;;7685:1;7681:10;;;;7669:23;;7665:32;;;7630:12;;;;7709:15;;;7706:35;;;7737:1;7734;7727:12;7706:35;7773:2;7765:6;7761:15;7785:230;7801:6;7796:3;7793:15;7785:230;;;7881:3;7868:17;7898:44;7936:5;7898:44;:::i;:::-;7955:18;;7993:12;;;;7818;;7785:230;;;-1:-1:-1;8033:5:142;7294:750;-1:-1:-1;;;;;;7294:750:142:o;8049:186::-;8097:4;-1:-1:-1;;;;;8119:30:142;;8116:56;;;8152:18;;:::i;:::-;-1:-1:-1;8218:2:142;8197:15;-1:-1:-1;;8193:29:142;8224:4;8189:40;;8049:186::o;8240:336::-;8304:5;8333:52;8349:35;8377:6;8349:35;:::i;8333:52::-;8324:61;;8408:6;8401:5;8394:21;8448:3;8439:6;8434:3;8430:16;8427:25;8424:45;;;8465:1;8462;8455:12;8424:45;8514:6;8509:3;8502:4;8495:5;8491:16;8478:43;8568:1;8561:4;8552:6;8545:5;8541:18;8537:29;8530:40;8240:336;;;;;:::o;8581:220::-;8623:5;8676:3;8669:4;8661:6;8657:17;8653:27;8643:55;;8694:1;8691;8684:12;8643:55;8716:79;8791:3;8782:6;8769:20;8762:4;8754:6;8750:17;8716:79;:::i;8806:715::-;8917:6;8925;8933;8986:2;8974:9;8965:7;8961:23;8957:32;8954:52;;;9002:1;8999;8992:12;8954:52;9029:23;;-1:-1:-1;;;;;9101:14:142;;;9098:34;;;9128:1;9125;9118:12;9098:34;9151:61;9204:7;9195:6;9184:9;9180:22;9151:61;:::i;:::-;9141:71;;9265:2;9254:9;9250:18;9237:32;9221:48;;9294:2;9284:8;9281:16;9278:36;;;9310:1;9307;9300:12;9278:36;;9333:51;9376:7;9365:8;9354:9;9350:24;9333:51;:::i;:::-;9323:61;;;9434:2;9423:9;9419:18;9406:32;9447:44;9485:5;9447:44;:::i;:::-;9510:5;9500:15;;;8806:715;;;;;:::o;9708:229::-;-1:-1:-1;;;;;9898:32:142;;;;9880:51;;9868:2;9853:18;;9708:229::o;10164:568::-;10241:6;10249;10257;10310:2;10298:9;10289:7;10285:23;10281:32;10278:52;;;10326:1;10323;10316:12;10278:52;10365:9;10352:23;10384:44;10422:5;10384:44;:::i;:::-;10447:5;-1:-1:-1;10504:2:142;10489:18;;10476:32;10517:46;10476:32;10517:46;:::i;:::-;10582:7;-1:-1:-1;10641:2:142;10626:18;;10613:32;10654:46;10613:32;10654:46;:::i;11133:468::-;11210:6;11218;11271:2;11259:9;11250:7;11246:23;11242:32;11239:52;;;11287:1;11284;11277:12;11239:52;11314:23;;-1:-1:-1;;;;;11349:30:142;;11346:50;;;11392:1;11389;11382:12;11346:50;11415:49;11456:7;11447:6;11436:9;11432:22;11415:49;:::i;:::-;11405:59;;;11514:2;11503:9;11499:18;11486:32;11527:44;11565:5;11527:44;:::i;:::-;11590:5;11580:15;;;11133:468;;;;;:::o;11814:142::-;11897:1;11890:5;11887:12;11877:46;;11903:18;;:::i;:::-;11932;;11814:142::o;11961:213::-;12110:2;12095:18;;12122:46;12099:9;12150:6;12122:46;:::i;12179:328::-;12247:6;12255;12308:2;12296:9;12287:7;12283:23;12279:32;12276:52;;;12324:1;12321;12314:12;12276:52;12363:9;12350:23;12382:44;12420:5;12382:44;:::i;:::-;12445:5;12497:2;12482:18;;;;12469:32;;-1:-1:-1;;;12179:328:142:o;12512:248::-;12580:6;12588;12641:2;12629:9;12620:7;12616:23;12612:32;12609:52;;;12657:1;12654;12647:12;12609:52;-1:-1:-1;;12680:23:142;;;12750:2;12735:18;;;12722:32;;-1:-1:-1;12512:248:142:o;12765:316::-;12842:6;12850;12858;12911:2;12899:9;12890:7;12886:23;12882:32;12879:52;;;12927:1;12924;12917:12;12879:52;-1:-1:-1;;12950:23:142;;;13020:2;13005:18;;12992:32;;-1:-1:-1;13071:2:142;13056:18;;;13043:32;;12765:316;-1:-1:-1;12765:316:142:o;13086:143::-;13170:1;13163:5;13160:12;13150:46;;13176:18;;:::i;13234:215::-;13384:2;13369:18;;13396:47;13373:9;13425:6;13396:47;:::i;13454:260::-;13513:6;13566:2;13554:9;13545:7;13541:23;13537:32;13534:52;;;13582:1;13579;13572:12;13534:52;13621:9;13608:23;13640:44;13678:5;13640:44;:::i;14140:468::-;14217:6;14225;14278:2;14266:9;14257:7;14253:23;14249:32;14246:52;;;14294:1;14291;14284:12;14246:52;14333:9;14320:23;14352:44;14390:5;14352:44;:::i;:::-;14415:5;-1:-1:-1;14471:2:142;14456:18;;14443:32;-1:-1:-1;;;;;14487:30:142;;14484:50;;;14530:1;14527;14520:12;14484:50;14553:49;14594:7;14585:6;14574:9;14570:22;14553:49;:::i;:::-;14543:59;;;14140:468;;;;;:::o;14613:752::-;14700:6;14708;14716;14769:2;14757:9;14748:7;14744:23;14740:32;14737:52;;;14785:1;14782;14775:12;14737:52;14824:9;14811:23;14843:44;14881:5;14843:44;:::i;:::-;14906:5;-1:-1:-1;14962:2:142;14947:18;;14934:32;-1:-1:-1;;;;;14978:30:142;;14975:50;;;15021:1;15018;15011:12;14975:50;15044:22;;15097:4;15089:13;;15085:27;-1:-1:-1;15075:55:142;;15126:1;15123;15116:12;15075:55;15149:73;15214:7;15209:2;15196:16;15191:2;15187;15183:11;15149:73;:::i;15575:261::-;15756:2;15745:9;15738:21;15719:4;15776:54;15826:2;15815:9;15811:18;15803:6;15776:54;:::i;15841:1357::-;15968:6;15976;16029:2;16017:9;16008:7;16004:23;16000:32;15997:52;;;16045:1;16042;16035:12;15997:52;16072:23;;-1:-1:-1;;;;;16144:14:142;;;16141:34;;;16171:1;16168;16161:12;16141:34;16194:61;16247:7;16238:6;16227:9;16223:22;16194:61;:::i;:::-;16184:71;;16274:2;16264:12;;16329:2;16318:9;16314:18;16301:32;16358:2;16348:8;16345:16;16342:36;;;16374:1;16371;16364:12;16342:36;16397:24;;16452:4;16444:13;;16440:27;-1:-1:-1;16430:55:142;;16481:1;16478;16471:12;16430:55;16517:2;16504:16;16540:60;16556:43;16596:2;16556:43;:::i;16540:60::-;16634:15;;;16716:1;16712:10;;;;16704:19;;16700:28;;;16665:12;;;;16740:19;;;16737:39;;;16772:1;16769;16762:12;16737:39;16804:2;16800;16796:11;16816:352;16832:6;16827:3;16824:15;16816:352;;;16918:3;16905:17;16954:2;16941:11;16938:19;16935:109;;;16998:1;17027:2;17023;17016:14;16935:109;17069:56;17117:7;17112:2;17098:11;17094:2;17090:20;17086:29;17069:56;:::i;:::-;17057:69;;-1:-1:-1;17146:12:142;;;;16849;;16816:352;;;16820:3;17187:5;17177:15;;;;;;;;15841:1357;;;;;:::o;17203:826::-;17436:2;17488:21;;;17558:13;;17461:18;;;17580:22;;;17407:4;;17436:2;17621;;17639:18;;;;17680:15;;;17407:4;17723:280;17737:6;17734:1;17731:13;17723:280;;;17796:13;;17838:9;;-1:-1:-1;;;;;17834:35:142;17822:48;;17910:11;;17904:18;17890:12;;;17883:40;17943:12;;;;17978:15;;;;17866:1;17752:9;17723:280;;;-1:-1:-1;18020:3:142;;17203:826;-1:-1:-1;;;;;;;17203:826:142:o;18034:348::-;18086:8;18096:6;18150:3;18143:4;18135:6;18131:17;18127:27;18117:55;;18168:1;18165;18158:12;18117:55;-1:-1:-1;18191:20:142;;-1:-1:-1;;;;;18223:30:142;;18220:50;;;18266:1;18263;18256:12;18220:50;18303:4;18295:6;18291:17;18279:29;;18355:3;18348:4;18339:6;18331;18327:19;18323:30;18320:39;18317:59;;;18372:1;18369;18362:12;18387:788;18487:6;18495;18503;18511;18519;18572:2;18560:9;18551:7;18547:23;18543:32;18540:52;;;18588:1;18585;18578:12;18540:52;18611:23;;;-1:-1:-1;18685:2:142;18670:18;;18657:32;-1:-1:-1;;;;;18738:14:142;;;18735:34;;;18765:1;18762;18755:12;18735:34;18804:59;18855:7;18846:6;18835:9;18831:22;18804:59;:::i;:::-;18882:8;;-1:-1:-1;18778:85:142;-1:-1:-1;18970:2:142;18955:18;;18942:32;;-1:-1:-1;18986:16:142;;;18983:36;;;19015:1;19012;19005:12;18983:36;;19054:61;19107:7;19096:8;19085:9;19081:24;19054:61;:::i;:::-;18387:788;;;;-1:-1:-1;18387:788:142;;-1:-1:-1;19134:8:142;;19028:87;18387:788;-1:-1:-1;;;18387:788:142:o;19180:118::-;19266:5;19259:13;19252:21;19245:5;19242:32;19232:60;;19288:1;19285;19278:12;19303:241;19359:6;19412:2;19400:9;19391:7;19387:23;19383:32;19380:52;;;19428:1;19425;19418:12;19380:52;19467:9;19454:23;19486:28;19508:5;19486:28;:::i;19779:1033::-;-1:-1:-1;;;;;20281:15:142;;;20263:34;;20333:15;;;20328:2;20313:18;;20306:43;20385:15;;20380:2;20365:18;;20358:43;20432:2;20417:18;;20410:34;;;20475:3;20460:19;;20453:35;;;20212:3;20197:19;;20497:44;20534:6;20497:44;:::i;:::-;20578:6;20572:3;20561:9;20557:19;20550:35;20622:6;20616:3;20605:9;20601:19;20594:35;20666:6;20660:3;20649:9;20645:19;20638:35;20710:6;20704:3;20693:9;20689:19;20682:35;20754:6;20748:3;20737:9;20733:19;20726:35;20798:7;20792:3;20781:9;20777:19;20770:36;19779:1033;;;;;;;;;;;;;;:::o;20817:328::-;20885:6;20893;20946:2;20934:9;20925:7;20921:23;20917:32;20914:52;;;20962:1;20959;20952:12;20914:52;20998:9;20985:23;20975:33;;21058:2;21047:9;21043:18;21030:32;21071:44;21109:5;21071:44;:::i;21150:239::-;21293:2;21278:18;;21305:44;21342:6;21305:44;:::i;:::-;21358:25;;;21150:239;:::o;21394:388::-;21471:6;21479;21532:2;21520:9;21511:7;21507:23;21503:32;21500:52;;;21548:1;21545;21538:12;21500:52;21571:23;;;-1:-1:-1;21645:2:142;21630:18;;21617:32;-1:-1:-1;;;;;21661:30:142;;21658:50;;;21704:1;21701;21694:12;21787:220;21936:2;21925:9;21918:21;21899:4;21956:45;21997:2;21986:9;21982:18;21974:6;21956:45;:::i;22012:380::-;22091:1;22087:12;;;;22134;;;22155:61;;22209:4;22201:6;22197:17;22187:27;;22155:61;22262:2;22254:6;22251:14;22231:18;22228:38;22225:161;;22308:10;22303:3;22299:20;22296:1;22289:31;22343:4;22340:1;22333:15;22371:4;22368:1;22361:15;23011:127;23072:10;23067:3;23063:20;23060:1;23053:31;23103:4;23100:1;23093:15;23127:4;23124:1;23117:15;23143:128;23210:9;;;23231:11;;;23228:37;;;23245:18;;:::i;23276:345::-;-1:-1:-1;;;;;23496:32:142;;;;23478:51;;23560:2;23545:18;;23538:34;;;;23603:2;23588:18;;23581:34;23466:2;23451:18;;23276:345::o;23626:125::-;23691:9;;;23712:10;;;23709:36;;;23725:18;;:::i;23756:345::-;23958:25;;;-1:-1:-1;;;;;24019:32:142;;;;24014:2;23999:18;;23992:60;24083:2;24068:18;;24061:34;23946:2;23931:18;;23756:345::o;24106:279::-;24191:6;24244:2;24232:9;24223:7;24219:23;24215:32;24212:52;;;24260:1;24257;24250:12;24212:52;24292:9;24286:16;24311:44;24349:5;24311:44;:::i;24390:447::-;24621:25;;;-1:-1:-1;;;;;24720:15:142;;;24715:2;24700:18;;24693:43;24772:15;;24767:2;24752:18;;24745:43;24819:2;24804:18;;24797:34;24608:3;24593:19;;24390:447::o;24842:127::-;24903:10;24898:3;24894:20;24891:1;24884:31;24934:4;24931:1;24924:15;24958:4;24955:1;24948:15;24974:217;25014:1;25040;25030:132;;25084:10;25079:3;25075:20;25072:1;25065:31;25119:4;25116:1;25109:15;25147:4;25144:1;25137:15;25030:132;-1:-1:-1;25176:9:142;;24974:217::o;25196:193::-;25234:3;-1:-1:-1;;;;;25267:30:142;;;25306:41;;25327:18;;:::i;:::-;-1:-1:-1;;25363:20:142;;25196:193;-1:-1:-1;;25196:193:142:o;25394:168::-;25467:9;;;25498;;25515:15;;;25509:22;;25495:37;25485:71;;25536:18;;:::i;25567:408::-;25769:2;25751:21;;;25808:2;25788:18;;;25781:30;-1:-1:-1;;;;;;;;;;;25842:2:142;25827:18;;25820:62;-1:-1:-1;;;25913:2:142;25898:18;;25891:42;25965:3;25950:19;;25567:408::o;25980:::-;26182:2;26164:21;;;26221:2;26201:18;;;26194:30;-1:-1:-1;;;;;;;;;;;26255:2:142;26240:18;;26233:62;-1:-1:-1;;;26326:2:142;26311:18;;26304:42;26378:3;26363:19;;25980:408::o;26818:407::-;27020:2;27002:21;;;27059:2;27039:18;;;27032:30;27098:34;27093:2;27078:18;;27071:62;-1:-1:-1;;;27164:2:142;27149:18;;27142:41;27215:3;27200:19;;26818:407::o;27230:304::-;-1:-1:-1;;;;;27460:15:142;;;27442:34;;27512:15;;27507:2;27492:18;;27485:43;27392:2;27377:18;;27230:304::o;27539:245::-;27606:6;27659:2;27647:9;27638:7;27634:23;27630:32;27627:52;;;27675:1;27672;27665:12;27627:52;27707:9;27701:16;27726:28;27748:5;27726:28;:::i;27789:184::-;27859:6;27912:2;27900:9;27891:7;27887:23;27883:32;27880:52;;;27928:1;27925;27918:12;27880:52;-1:-1:-1;27951:16:142;;27789:184;-1:-1:-1;27789:184:142:o;27978:151::-;28057:13;;28079:44;28057:13;28079:44;:::i;:::-;27978:151;;;:::o;28403:248::-;28577:25;;;28633:2;28618:18;;28611:34;28565:2;28550:18;;28403:248::o;28656:274::-;28830:25;;;-1:-1:-1;;;;;28891:32:142;28886:2;28871:18;;28864:60;28818:2;28803:18;;28656:274::o;28935:266::-;29023:6;29018:3;29011:19;29075:6;29068:5;29061:4;29056:3;29052:14;29039:43;-1:-1:-1;29127:1:142;29102:16;;;29120:4;29098:27;;;29091:38;;;;29183:2;29162:15;;;-1:-1:-1;;29158:29:142;29149:39;;;29145:50;;28935:266::o;29206:315::-;29391:6;29380:9;29373:25;29434:2;29429;29418:9;29414:18;29407:30;29354:4;29454:61;29511:2;29500:9;29496:18;29488:6;29480;29454:61;:::i;:::-;29446:69;29206:315;-1:-1:-1;;;;;29206:315:142:o;29526:209::-;29564:3;-1:-1:-1;;;;;29634:14:142;;;-1:-1:-1;;;;;;29660:15:142;;29657:41;;29678:18;;:::i;:::-;29727:1;29714:15;;29526:209;-1:-1:-1;;;29526:209:142:o;29740:682::-;-1:-1:-1;;;;;30098:15:142;;;30080:34;;30145:2;30130:18;;30123:34;;;30188:2;30173:18;;30166:34;;;30236:15;;30231:2;30216:18;;30209:43;30289:3;30283;30268:19;;30261:32;;;30023:4;;30310:62;;30352:19;;30344:6;30336;30310:62;:::i;:::-;30302:70;;30409:6;30403:3;30392:9;30388:19;30381:35;29740:682;;;;;;;;;;:::o;30427:135::-;30466:3;30487:17;;;30484:43;;30507:18;;:::i;:::-;-1:-1:-1;30554:1:142;30543:13;;30427:135::o;30567:157::-;30656:13;;30698:1;30688:12;;30678:40;;30714:1;30711;30704:12;30729:156;30817:13;;30859:1;30849:12;;30839:40;;30875:1;30872;30865:12;30890:420;30965:5;31013:4;31001:9;30996:3;30992:19;30988:30;30985:50;;;31031:1;31028;31021:12;30985:50;31064:2;31058:9;31106:4;31094:17;;-1:-1:-1;;;;;31126:34:142;;31162:22;;;31123:62;31120:88;;;31188:18;;:::i;:::-;31224:2;31217:22;31287:16;;31272:32;;-1:-1:-1;31257:6:142;30890:420;-1:-1:-1;30890:420:142:o;31315:696::-;31389:5;31437:4;31425:9;31420:3;31416:19;31412:30;31409:50;;;31455:1;31452;31445:12;31409:50;31477:22;;:::i;:::-;31468:31;;31529:9;31523:16;31548:46;31586:7;31548:46;:::i;:::-;31603:22;;31670:2;31655:18;;31649:25;31683:46;31649:25;31683:46;:::i;:::-;31761:7;31756:2;31749:5;31745:14;31738:31;;31822:2;31811:9;31807:18;31801:25;31796:2;31789:5;31785:14;31778:49;31880:2;31869:9;31865:18;31859:25;31854:2;31847:5;31843:14;31836:49;31939:3;31928:9;31924:19;31918:26;31912:3;31905:5;31901:15;31894:51;31999:3;31988:9;31984:19;31978:26;31972:3;31965:5;31961:15;31954:51;31315:696;;;;:::o;32016:1203::-;32135:6;32179:9;32170:7;32166:23;32209:3;32205:2;32201:12;32198:32;;;32226:1;32223;32216:12;32198:32;32252:22;;:::i;:::-;32294:4;32290:2;32286:13;32283:33;;;32312:1;32309;32302:12;32283:33;32340:22;;:::i;:::-;32325:37;;32393:9;32387:16;32378:7;32371:33;32459:2;32448:9;32444:18;32438:25;32433:2;32424:7;32420:16;32413:51;32519:2;32508:9;32504:18;32498:25;32493:2;32484:7;32480:16;32473:51;32579:2;32568:9;32564:18;32558:25;32553:2;32544:7;32540:16;32533:51;32607:7;32600:5;32593:22;32647:61;32702:4;32691:9;32687:20;32647:61;:::i;:::-;32642:2;32635:5;32631:14;32624:85;32741:59;32795:3;32784:9;32780:19;32741:59;:::i;:::-;32736:2;32729:5;32725:14;32718:83;32833:76;32901:7;32895:3;32884:9;32880:19;32833:76;:::i;:::-;32828:2;32821:5;32817:14;32810:100;32944:76;33012:7;33005:4;32994:9;32990:20;32944:76;:::i;:::-;32937:4;32930:5;32926:16;32919:102;33054:50;33099:3;33088:9;33084:19;33054:50;:::i;:::-;33048:3;33041:5;33037:15;33030:75;33138:50;33183:3;33172:9;33168:19;33138:50;:::i;:::-;33132:3;33121:15;;33114:75;33125:5;32016:1203;-1:-1:-1;;;;32016:1203:142:o;33224:261::-;33304:5;33298:12;33293:3;33286:25;33360:4;33353:5;33349:16;33343:23;33336:4;33331:3;33327:14;33320:47;33416:4;33409:5;33405:16;33399:23;33392:4;33387:3;33383:14;33376:47;33472:4;33465:5;33461:16;33455:23;33448:4;33443:3;33439:14;33432:47;;;33224:261::o;33490:1447::-;33708:4;33750:3;33739:9;33735:19;33727:27;;33781:6;33770:9;33763:25;33797:61;33854:2;33843:9;33839:18;33830:6;33824:13;33797:61;:::i;:::-;33905:2;33897:6;33893:15;33887:22;33918:63;33976:3;33965:9;33961:19;33947:12;33918:63;:::i;:::-;;34030:4;34022:6;34018:17;34012:24;34045:64;34104:3;34093:9;34089:19;34073:14;34045:64;:::i;:::-;-1:-1:-1;34170:4:142;34158:17;;;34152:24;34146:31;34140:3;34125:19;;34118:60;34227:4;34215:17;;;34209:24;34312:21;;-1:-1:-1;;;;;34308:30:142;;;34302:3;34287:19;;34280:59;34406:2;34386:23;;34380:30;34376:39;34370:3;34355:19;;34348:68;34479:4;34459:25;;34453:32;34447:3;34432:19;;34425:61;34529:25;;;34523:32;34517:3;34502:19;;34495:61;34599:25;;34593:32;34587:3;34572:19;;34565:61;34260:3;34669:24;;;34663:31;34657:3;34642:19;;34635:60;34732:16;;34726:23;34758:55;34808:3;34793:19;;34726:23;34758:55;:::i;:::-;;34862:3;34854:6;34850:16;34844:23;34876:55;34926:3;34915:9;34911:19;34895:14;34876:55;:::i;36427:252::-;36615:3;36600:19;;36628:45;36604:9;36655:6;36628:45;:::i;36684:319::-;36886:25;;;36942:2;36927:18;;36920:34;;;;36985:2;36970:18;;36963:34;36874:2;36859:18;;36684:319::o;37008:726::-;37074:5;37122:4;37110:9;37105:3;37101:19;37097:30;37094:50;;;37140:1;37137;37130:12;37094:50;37162:22;;:::i;:::-;37207:16;;37193:31;;37268:2;37253:18;;37247:25;37153:31;;-1:-1:-1;;;;;;37284:30:142;;37281:50;;;37327:1;37324;37317:12;37281:50;37350:22;;37403:4;37395:13;;37391:23;-1:-1:-1;37381:51:142;;37428:1;37425;37418:12;37381:51;37457:2;37451:9;37482:48;37498:31;37526:2;37498:31;:::i;37482:48::-;37553:2;37546:5;37539:17;37593:3;37588:2;37583;37579;37575:11;37571:20;37568:29;37565:49;;;37610:1;37607;37600:12;37565:49;37623:67;37687:2;37682;37675:5;37671:14;37666:2;37662;37658:11;37623:67;:::i;:::-;37717:2;37706:14;;37699:29;-1:-1:-1;37710:5:142;;37008:726;-1:-1:-1;;;37008:726:142:o;37739:1054::-;37831:6;37884:2;37872:9;37863:7;37859:23;37855:32;37852:52;;;37900:1;37897;37890:12;37852:52;37927:16;;-1:-1:-1;;;;;37992:14:142;;;37989:34;;;38019:1;38016;38009:12;37989:34;38042:22;;;;38098:4;38080:16;;;38076:27;38073:47;;;38116:1;38113;38106:12;38073:47;38142:22;;:::i;:::-;38193:2;38187:9;38180:5;38173:24;38235:2;38231;38227:11;38221:18;38248:46;38286:7;38248:46;:::i;:::-;38321:2;38310:14;;38303:31;38372:2;38364:11;;38358:18;38385:46;38358:18;38385:46;:::i;:::-;38458:2;38447:14;;38440:31;38510:2;38502:11;;38496:18;38526:16;;;38523:36;;;38555:1;38552;38545:12;38523:36;38591:65;38648:7;38637:8;38633:2;38629:17;38591:65;:::i;:::-;38586:2;38579:5;38575:14;38568:89;;38704:3;38700:2;38696:12;38690:19;38684:3;38677:5;38673:15;38666:44;38757:3;38753:2;38749:12;38743:19;38737:3;38730:5;38726:15;38719:44;38782:5;38772:15;;;;;37739:1054;;;;:::o;38798:1012::-;38901:6;38954:2;38942:9;38933:7;38929:23;38925:32;38922:52;;;38970:1;38967;38960:12;38922:52;38997:16;;-1:-1:-1;;;;;39062:14:142;;;39059:34;;;39089:1;39086;39079:12;39059:34;39112:22;;;;39168:4;39150:16;;;39146:27;39143:47;;;39186:1;39183;39176:12;39143:47;39212:22;;:::i;:::-;39263:2;39257:9;39250:5;39243:24;39305:2;39301;39297:11;39291:18;39318:46;39356:7;39318:46;:::i;:::-;39391:2;39380:14;;39373:31;39450:2;39442:11;;;39436:18;39420:14;;;39413:42;39493:2;39485:11;;39479:18;39506:46;39479:18;39506:46;:::i;:::-;39579:2;39568:14;;39561:31;39631:3;39623:12;;39617:19;39648:16;;;39645:36;;;39677:1;39674;39667:12;39645:36;39714:65;39771:7;39760:8;39756:2;39752:17;39714:65;:::i;:::-;39708:3;39697:15;;39690:90;-1:-1:-1;39701:5:142;38798:1012;-1:-1:-1;;;;;38798:1012:142:o;40224:545::-;40326:2;40321:3;40318:11;40315:448;;;40362:1;40387:5;40383:2;40376:17;40432:4;40428:2;40418:19;40502:2;40490:10;40486:19;40483:1;40479:27;40473:4;40469:38;40538:4;40526:10;40523:20;40520:47;;;-1:-1:-1;40561:4:142;40520:47;40616:2;40611:3;40607:12;40604:1;40600:20;40594:4;40590:31;40580:41;;40671:82;40689:2;40682:5;40679:13;40671:82;;;40734:17;;;40715:1;40704:13;40671:82;;;40675:3;;;40224:545;;;:::o;40945:1352::-;41065:10;;-1:-1:-1;;;;;41087:30:142;;41084:56;;;41120:18;;:::i;:::-;41149:97;41239:6;41199:38;41231:4;41225:11;41199:38;:::i;:::-;41193:4;41149:97;:::i;:::-;41301:4;;41365:2;41354:14;;41382:1;41377:663;;;;42084:1;42101:6;42098:89;;;-1:-1:-1;42153:19:142;;;42147:26;42098:89;-1:-1:-1;;40902:1:142;40898:11;;;40894:24;40890:29;40880:40;40926:1;40922:11;;;40877:57;42200:81;;41347:944;;41377:663;40171:1;40164:14;;;40208:4;40195:18;;-1:-1:-1;;41413:20:142;;;41531:236;41545:7;41542:1;41539:14;41531:236;;;41634:19;;;41628:26;41613:42;;41726:27;;;;41694:1;41682:14;;;;41561:19;;41531:236;;;41535:3;41795:6;41786:7;41783:19;41780:201;;;41856:19;;;41850:26;-1:-1:-1;;41939:1:142;41935:14;;;41951:3;41931:24;41927:37;41923:42;41908:58;41893:74;;41780:201;-1:-1:-1;;;;;42027:1:142;42011:14;;;42007:22;41994:36;;-1:-1:-1;40945:1352:142:o;42587:273::-;42655:6;42708:2;42696:9;42687:7;42683:23;42679:32;42676:52;;;42724:1;42721;42714:12;42676:52;42756:9;42750:16;42806:4;42799:5;42795:16;42788:5;42785:27;42775:55;;42826:1;42823;42816:12;42865:422;42954:1;42997:5;42954:1;43011:270;43032:7;43022:8;43019:21;43011:270;;;43091:4;43087:1;43083:6;43079:17;43073:4;43070:27;43067:53;;;43100:18;;:::i;:::-;43150:7;43140:8;43136:22;43133:55;;;43170:16;;;;43133:55;43249:22;;;;43209:15;;;;43011:270;;;43015:3;42865:422;;;;;:::o;43292:806::-;43341:5;43371:8;43361:80;;-1:-1:-1;43412:1:142;43426:5;;43361:80;43460:4;43450:76;;-1:-1:-1;43497:1:142;43511:5;;43450:76;43542:4;43560:1;43555:59;;;;43628:1;43623:130;;;;43535:218;;43555:59;43585:1;43576:10;;43599:5;;;43623:130;43660:3;43650:8;43647:17;43644:43;;;43667:18;;:::i;:::-;-1:-1:-1;;43723:1:142;43709:16;;43738:5;;43535:218;;43837:2;43827:8;43824:16;43818:3;43812:4;43809:13;43805:36;43799:2;43789:8;43786:16;43781:2;43775:4;43772:12;43768:35;43765:77;43762:159;;;-1:-1:-1;43874:19:142;;;43906:5;;43762:159;43953:34;43978:8;43972:4;43953:34;:::i;:::-;44023:6;44019:1;44015:6;44011:19;44002:7;43999:32;43996:58;;;44034:18;;:::i;:::-;44072:20;;43292:806;-1:-1:-1;;;43292:806:142:o;44103:131::-;44163:5;44192:36;44219:8;44213:4;44192:36;:::i;45971:127::-;46032:10;46027:3;46023:20;46020:1;46013:31;46063:4;46060:1;46053:15;46087:4;46084:1;46077:15;46394:1185;46523:6;46554:2;46597;46585:9;46576:7;46572:23;46568:32;46565:52;;;46613:1;46610;46603:12;46565:52;46640:16;;-1:-1:-1;;;;;46668:30:142;;46665:50;;;46711:1;46708;46701:12;46665:50;46734:22;;46787:4;46779:13;;46775:27;-1:-1:-1;46765:55:142;;46816:1;46813;46806:12;46765:55;46845:2;46839:9;46868:60;46884:43;46924:2;46884:43;:::i;46868:60::-;46962:15;;;47044:1;47040:10;;;;47032:19;;47028:28;;;46993:12;;;;47068:19;;;47065:39;;;47100:1;47097;47090:12;47065:39;47124:11;;;;47144:405;47160:6;47155:3;47152:15;47144:405;;;47242:4;47236:3;47227:7;47223:17;47219:28;47216:118;;;47288:1;47317:2;47313;47306:14;47216:118;47360:22;;:::i;:::-;47409:10;;47395:25;;47462:12;;;47456:19;47440:14;;;47433:43;47489:18;;47186:4;47177:14;;;;47527:12;;;;47144:405;;47584:127;47645:10;47640:3;47636:20;47633:1;47626:31;47676:4;47673:1;47666:15;47700:4;47697:1;47690:15;47716:497;-1:-1:-1;;;;;48001:32:142;;;;47983:51;;48065:2;48050:18;;48043:34;;;;48108:2;48093:18;;48086:34;;;;48151:2;48136:18;;48129:34;48194:3;48179:19;;48172:35;47970:3;47955:19;;47716:497::o;49398:317::-;49575:2;49564:9;49557:21;49538:4;49595:45;49636:2;49625:9;49621:18;49613:6;49595:45;:::i;:::-;49587:53;;49705:1;49701;49696:3;49692:11;49688:19;49680:6;49676:32;49671:2;49660:9;49656:18;49649:60;49398:317;;;;;:::o;50072:216::-;50136:9;;;50164:11;;;50111:3;50194:9;;50222:10;;50218:19;;50247:10;;50239:19;;50215:44;50212:70;;;50262:18;;:::i;51107:287::-;51236:3;51274:6;51268:13;51290:66;51349:6;51344:3;51337:4;51329:6;51325:17;51290:66;:::i;:::-;51372:16;;;;;51107:287;-1:-1:-1;;51107:287:142:o","linkReferences":{},"immutableReferences":{"55572":[{"start":6208,"length":32},{"start":6272,"length":32},{"start":6431,"length":32},{"start":6495,"length":32},{"start":6615,"length":32}]}},"methodIdentifiers":{"D()":"0f529ba2","DISPUTE_COOLDOWN_SEC()":"f5be3f7c","MAX_STAKED_PROPOSALS()":"406244d8","NATIVE()":"a0cf0aea","RULING_OPTIONS()":"626c47e8","VERSION()":"ffa1ad74","activatePoints()":"814516ad","allocate(bytes,address)":"ef2920fc","arbitrableConfigs(uint256)":"41bb7605","calculateConviction(uint256,uint256,uint256)":"346db8cb","calculateThreshold(uint256)":"59a5db8b","canExecuteProposal(uint256)":"824ea8ed","cancelProposal(uint256)":"e0a8f6f5","cloneNonce()":"33960459","collateralVault()":"0bece79c","currentArbitrableConfigVersion()":"125fd1d9","cvParams()":"2506b870","deactivatePoints()":"1ddf1e23","deactivatePoints(address)":"6453d9c4","decreasePower(address,uint256)":"2ed04b2b","disputeCount()":"a28889e1","disputeIdToProposalId(uint256)":"255ffb38","disputeProposal(uint256,string,bytes)":"b41596ec","distribute(address[],bytes,address)":"0a6f0ee9","getAllo()":"15cc481e","getArbitrableConfig()":"059351cd","getDecay()":"9a1c157c","getMaxAmount()":"0ba95909","getMaxConviction(uint256)":"950559d7","getMetadata(uint256)":"a574cea4","getPayouts(address[],bytes[])":"b2b878d0","getPointSystem()":"c3292171","getPoolAmount()":"4ab4ba42","getPoolId()":"38fff2d0","getProposal(uint256)":"c7f758a8","getProposalStakedAmount(uint256)":"dc96ff2d","getProposalVoterStake(uint256,address)":"e0dd2c38","getRecipientStatus(address)":"eb11af93","getRegistryCommunity()":"48f19c1d","getStrategyId()":"42fda9c7","getTotalVoterStakePct(address)":"bcc5b93b","increasePoolAmount(uint256)":"f5b0dfb7","increasePower(address,uint256)":"782aadff","init(address,address,address)":"184b9559","init(address,string,address)":"60d5dedc","initialize(address)":"c4d66de8","initialize(uint256,bytes)":"edd146cc","isPoolActive()":"df868ed3","isValidAllocator(address)":"4d31d087","owner()":"8da5cb5b","pointConfig()":"a47ff7e5","pointSystem()":"2dbd6fdd","proposalCounter()":"0c0512e9","proposalType()":"351d9f96","proposals(uint256)":"013cf08b","proxiableUUID()":"52d1902d","registerRecipient(bytes,address)":"2bbe0cae","registryCommunity()":"6003e414","renounceOwnership()":"715018a6","rule(uint256,uint256)":"311a6c56","setCollateralVaultTemplate(address)":"b0d3713a","setPoolActive(bool)":"b5f620ce","setPoolParams((address,address,uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256))":"062f9ece","setSybilScorer(address)":"ac1ed7b9","supportsInterface(bytes4)":"01ffc9a7","sybilScorer()":"b6c61f31","totalEffectiveActivePoints()":"d1e36232","totalPointsActivated()":"aba9ffee","totalStaked()":"817b1cd2","totalVoterStakePct(address)":"5db64b99","transferOwnership(address)":"f2fde38b","updateProposalConviction(uint256)":"1aa91a9e","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286","voterStakedProposals(address,uint256)":"868c57b8"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AMOUNT_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AmountOverMaxRatio\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ArbitratorCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"CallerNotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CantIncreaseFixedSystem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ConvictionUnderMinimumThreshold\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DefaultRulingNotSet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_remainingSec\",\"type\":\"uint256\"}],\"name\":\"DisputeCooldownNotPassed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"sentAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requiredAmount\",\"type\":\"uint256\"}],\"name\":\"InsufficientCollateral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MaxPointsReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"pointsSupport\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pointsBalance\",\"type\":\"uint256\"}],\"name\":\"NotEnoughPointsToSupport\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotImplemented\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyArbitrator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCommunityAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncilSafe\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OnlySubmitter\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_poolAmount\",\"type\":\"uint256\"}],\"name\":\"PoolAmountNotEnough\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PoolIdCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PoolIsEmpty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposalDataIsEmpty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposalIdCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotActive\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotDisputed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotInList\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"ProposalSupportDuplicated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RegistryCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_support\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"_delta\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"_result\",\"type\":\"int256\"}],\"name\":\"SupportUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenNotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserCannotExecuteAction\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserIsInactive\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Allocated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"currentArbitrableConfigVersion\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"name\":\"ArbitrableConfigUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"}],\"name\":\"CVParamsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IArbitrator\",\"name\":\"_arbitrator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_arbitrableDisputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_externalDisputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_templateId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_templateUri\",\"type\":\"string\"}],\"name\":\"DisputeRequest\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Distributed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipientAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Distributed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"struct CVStrategyInitializeParamsV0_0\",\"name\":\"data\",\"type\":\"tuple\"}],\"name\":\"InitializedCV\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"before\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"name\":\"MinThresholdPointsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"PointsDeactivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"}],\"name\":\"PoolActive\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"PoolAmountIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokensUnStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pointsToDecrease\",\"type\":\"uint256\"}],\"name\":\"PowerDecreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokensStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pointsToIncrease\",\"type\":\"uint256\"}],\"name\":\"PowerIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"context\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"ProposalDisputed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Registered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"}],\"name\":\"RegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IArbitrator\",\"name\":\"_arbitrator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"Ruling\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalStakedAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"}],\"name\":\"SupportAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"}],\"name\":\"TribunaSafeRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"D\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DISPUTE_COOLDOWN_SEC\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_STAKED_PROPOSALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RULING_OPTIONS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"arbitrableConfigs\",\"outputs\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"}],\"name\":\"calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_requestedAmount\",\"type\":\"uint256\"}],\"name\":\"calculateThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"canExecuteProposal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canBeExecuted\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"cancelProposal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloneNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateralVault\",\"outputs\":[{\"internalType\":\"contract ICollateralVault\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentArbitrableConfigVersion\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cvParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToUnstake\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disputeCount\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"disputeIdToProposalId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"context\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"disputeProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_recipientIds\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllo\",\"outputs\":[{\"internalType\":\"contract IAllo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getArbitrableConfig\",\"outputs\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDecay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMaxAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"getMaxConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"name\":\"getPayouts\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"recipientAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct IStrategy.PayoutSummary[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPointSystem\",\"outputs\":[{\"internalType\":\"enum PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposal\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requestedToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"enum ProposalStatus\",\"name\":\"proposalStatus\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"blockLast\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"voterStakedPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"arbitrableConfigVersion\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"getProposalVoterStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipientId\",\"type\":\"address\"}],\"name\":\"getRecipientStatus\",\"outputs\":[{\"internalType\":\"enum IStrategy.Status\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistryCommunity\",\"outputs\":[{\"internalType\":\"contract RegistryCommunityV0_0\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStrategyId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"getTotalVoterStakePct\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"increasePoolAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToStake\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPoolActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allocator\",\"type\":\"address\"}],\"name\":\"isValidAllocator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pointConfig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pointSystem\",\"outputs\":[{\"internalType\":\"enum PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalType\",\"outputs\":[{\"internalType\":\"enum ProposalType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requestedToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockLast\",\"type\":\"uint256\"},{\"internalType\":\"enum ProposalStatus\",\"name\":\"proposalStatus\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"disputeTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"}],\"internalType\":\"struct ProposalDisputeInfo\",\"name\":\"disputeInfo\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"lastDisputeCompletion\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"arbitrableConfigVersion\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"registerRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryCommunity\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"rule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setCollateralVaultTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_active\",\"type\":\"bool\"}],\"name\":\"setPoolActive\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct ArbitrableConfig\",\"name\":\"_arbitrableConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct CVParams\",\"name\":\"_cvParams\",\"type\":\"tuple\"}],\"name\":\"setPoolParams\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sybilScorer\",\"type\":\"address\"}],\"name\":\"setSybilScorer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sybilScorer\",\"outputs\":[{\"internalType\":\"contract ISybilScorer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalEffectiveActivePoints\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalPointsActivated\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalStaked\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"totalVoterStakePct\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"updateProposalConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"voterStakedProposals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"CVStrategyV0_0\",\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}]},\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"Allocated(address,uint256,address,address)\":{\"params\":{\"amount\":\"The amount allocated\",\"recipientId\":\"The ID of the recipient\",\"token\":\"The token allocated\"}},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"DisputeRequest(address,uint256,uint256,uint256,string)\":{\"details\":\"To be emitted when a dispute is created to link the correct meta-evidence to the disputeID.\",\"params\":{\"_arbitrableDisputeID\":\"The identifier of the dispute in the Arbitrable contract.\",\"_arbitrator\":\"The arbitrator of the contract.\",\"_externalDisputeID\":\"An identifier created outside Kleros by the protocol requesting arbitration.\",\"_templateId\":\"The identifier of the dispute template. Should not be used with _templateUri.\",\"_templateUri\":\"The URI to the dispute template. For example on IPFS: starting with '/ipfs/'. Should not be used with _templateId.\"}},\"Distributed(address,address,uint256,address)\":{\"params\":{\"amount\":\"The amount distributed\",\"recipientAddress\":\"The recipient\",\"recipientId\":\"The ID of the recipient\",\"sender\":\"The sender\"}},\"Initialized(uint256,bytes)\":{\"params\":{\"data\":\"The data passed to the 'initialize' function\",\"poolId\":\"The ID of the pool\"}},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"PoolActive(bool)\":{\"params\":{\"active\":\"The status of the pool\"}},\"Registered(address,bytes,address)\":{\"params\":{\"data\":\"The data passed to the 'registerRecipient' function\",\"recipientId\":\"The ID of the recipient\",\"sender\":\"The sender\"}},\"Ruling(address,uint256,uint256)\":{\"details\":\"To be raised when a ruling is given.\",\"params\":{\"_arbitrator\":\"The arbitrator giving the ruling.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"The ruling which was given.\"}},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"allocate(bytes,address)\":{\"details\":\"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to allocate to the recipient\",\"_sender\":\"The address of the sender\"}},\"calculateConviction(uint256,uint256,uint256)\":{\"details\":\"Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a) Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\",\"params\":{\"_lastConv\":\"Last conviction record\",\"_oldAmount\":\"Amount of tokens staked until now\",\"_timePassed\":\"Number of blocks since last conviction record\"},\"returns\":{\"_0\":\"Current conviction\"}},\"calculateThreshold(uint256)\":{\"details\":\"Formula: \\u03c1 * totalStaked / (1 - a) / (\\u03b2 - requestedAmount / total)**2 For the Solidity implementation we amplify \\u03c1 and \\u03b2 and simplify the formula: weight = \\u03c1 * D maxRatio = \\u03b2 * D decay = a * D threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\",\"params\":{\"_requestedAmount\":\"Requested amount of tokens on certain proposal\"},\"returns\":{\"_threshold\":\"Threshold a proposal's conviction should surpass in order to be able to executed it.\"}},\"distribute(address[],bytes,address)\":{\"details\":\"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to distribute to the recipients\",\"_recipientIds\":\"The IDs of the recipients\",\"_sender\":\"The address of the sender\"}},\"getAllo()\":{\"returns\":{\"_0\":\"The Allo contract\"}},\"getPayouts(address[],bytes[])\":{\"returns\":{\"_0\":\"Input the values you would send to distribute(), get the amounts each recipient in the array would receive\"}},\"getPoolAmount()\":{\"returns\":{\"_0\":\"The balance of the pool\"}},\"getPoolId()\":{\"returns\":{\"_0\":\"The ID of the pool\"}},\"getProposal(uint256)\":{\"details\":\"Get proposal details\",\"params\":{\"_proposalId\":\"Proposal id\"},\"returns\":{\"arbitrableConfigVersion\":\"Proposal arbitrable config id\",\"beneficiary\":\"Proposal beneficiary\",\"blockLast\":\"Last block when conviction was calculated\",\"convictionLast\":\"Last conviction calculated\",\"proposalStatus\":\"Proposal status\",\"requestedAmount\":\"Proposal requested amount\",\"requestedToken\":\"Proposal requested token\",\"stakedAmount\":\"Proposal staked points\",\"submitter\":\"Proposal submitter\",\"threshold\":\"Proposal threshold\",\"voterStakedPoints\":\"Voter staked points\"}},\"getProposalVoterStake(uint256,address)\":{\"params\":{\"_proposalId\":\"Proposal id\",\"_voter\":\"Voter address\"},\"returns\":{\"_0\":\"Proposal voter stake\"}},\"getRecipientStatus(address)\":{\"params\":{\"_recipientId\":\"The ID of the recipient\"},\"returns\":{\"_0\":\"The status of the recipient\"}},\"getStrategyId()\":{\"returns\":{\"_0\":\"The ID of the strategy\"}},\"increasePoolAmount(uint256)\":{\"details\":\"Increases the 'poolAmount' by '_amount'. Only 'Allo' contract can call this.\",\"params\":{\"_amount\":\"The amount to increase the pool by\"}},\"init(address,string,address)\":{\"params\":{\"_allo\":\"Address of the Allo contract.\",\"_name\":\"Name of the strategy\",\"owner\":\"Address of the owner of the strategy\"}},\"initialize(uint256,bytes)\":{\"params\":{\"_data\":\"The encoded data\",\"_poolId\":\"The ID of the pool\"}},\"isPoolActive()\":{\"returns\":{\"_0\":\"'true' if the pool is active, otherwise 'false'\"}},\"isValidAllocator(address)\":{\"details\":\"How the allocator is determined is up to the strategy implementation.\",\"params\":{\"_allocator\":\"The address to check if it is a valid allocator for the strategy.\"},\"returns\":{\"_0\":\"'true' if the address is a valid allocator, 'false' otherwise\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"registerRecipient(bytes,address)\":{\"details\":\"Registers a recipient and returns the ID of the recipient. The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to register the recipient\",\"_sender\":\"The address of the sender\"},\"returns\":{\"recipientId\":\"The recipientId\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"rule(uint256,uint256)\":{\"details\":\"Give a ruling for a dispute. Must be called by the arbitrator. The purpose of this function is to ensure that the address calling it has the right to rule on the contract.\",\"params\":{\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"Ruling given by the arbitrator. Note that 0 is reserved for \\\"Not able/wanting to make a decision\\\".\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"AMOUNT_MISMATCH()\":[{\"notice\":\"Thrown when the amount of tokens sent does not match the amount of tokens expected\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"events\":{\"Allocated(address,uint256,address,address)\":{\"notice\":\"Emitted when a recipient is allocated to.\"},\"Distributed(address,address,uint256,address)\":{\"notice\":\"Emitted when tokens are distributed.\"},\"Initialized(uint256,bytes)\":{\"notice\":\"Emitted when strategy is initialized.\"},\"PoolActive(bool)\":{\"notice\":\"Emitted when pool is set to active status.\"},\"Registered(address,bytes,address)\":{\"notice\":\"Emitted when a recipient is registered.\"}},\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"allocate(bytes,address)\":{\"notice\":\"Allocates to a recipient.\"},\"distribute(address[],bytes,address)\":{\"notice\":\"Distributes funds (tokens) to recipients.\"},\"getAllo()\":{\"notice\":\"Getter for the 'Allo' contract.\"},\"getPoolAmount()\":{\"notice\":\"Getter for the 'poolAmount'.\"},\"getPoolId()\":{\"notice\":\"Getter for the 'poolId'.\"},\"getProposalVoterStake(uint256,address)\":{\"notice\":\"Get stake of voter `_voter` on proposal #`_proposalId`\"},\"getRecipientStatus(address)\":{\"notice\":\"Getter for the status of a recipient.\"},\"getStrategyId()\":{\"notice\":\"Getter for the 'strategyId'.\"},\"increasePoolAmount(uint256)\":{\"notice\":\"Increases the pool amount.\"},\"init(address,string,address)\":{\"notice\":\"Constructor to set the Allo contract and \\\"strategyId'.`init` here its the initialize for upgradable contracts, different from `initialize()` that its used for Allo\"},\"initialize(uint256,bytes)\":{\"notice\":\"@dev The default BaseStrategy version will not use the data if a strategy wants to use it, they will overwrite it, use it, and then call super.initialize().\"},\"isPoolActive()\":{\"notice\":\"Getter for whether or not the pool is active.\"},\"isValidAllocator(address)\":{\"notice\":\"Checks if the '_allocator' is a valid allocator.\"},\"registerRecipient(bytes,address)\":{\"notice\":\"Registers a recipient.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":\"CVStrategyV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293\",\"dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0xc3aed28a3fec8dcc2e95c8569aa2c4323897a1685c63746822956fe995eddf28\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c4126fea7a0d30c76aab94605930ed01c7e53df2f4a7bba4773c097904d5eb39\",\"dweb:/ipfs/QmNsDu9G5JKCXdTs1HmEyVcR3S4DhuiZRt2bEPVNYGckgw\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x6b05f27573e30362ec808b4d79f8156550a8dd5090b107b46928ab8d87be3c87\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://134753f1a9a463e4193ffa2b2f6e32813b7a3d7603ddacaedf0f65a6a72c864a\",\"dweb:/ipfs/QmZnQa6a3aFUvxdT1yaj72DBQUShfq5okHshhHwGv85Mdq\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"AMOUNT_MISMATCH"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[],"type":"error","name":"AmountOverMaxRatio"},{"inputs":[],"type":"error","name":"ArbitratorCannotBeZero"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"type":"error","name":"CallerNotOwner"},{"inputs":[],"type":"error","name":"CantIncreaseFixedSystem"},{"inputs":[],"type":"error","name":"ConvictionUnderMinimumThreshold"},{"inputs":[],"type":"error","name":"DefaultRulingNotSet"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"_remainingSec","type":"uint256"}],"type":"error","name":"DisputeCooldownNotPassed"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[{"internalType":"uint256","name":"sentAmount","type":"uint256"},{"internalType":"uint256","name":"requiredAmount","type":"uint256"}],"type":"error","name":"InsufficientCollateral"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"MaxPointsReached"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[{"internalType":"uint256","name":"pointsSupport","type":"uint256"},{"internalType":"uint256","name":"pointsBalance","type":"uint256"}],"type":"error","name":"NotEnoughPointsToSupport"},{"inputs":[],"type":"error","name":"NotImplemented"},{"inputs":[],"type":"error","name":"OnlyArbitrator"},{"inputs":[],"type":"error","name":"OnlyCommunityAllowed"},{"inputs":[],"type":"error","name":"OnlyCouncilSafe"},{"inputs":[{"internalType":"address","name":"submitter","type":"address"},{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"OnlySubmitter"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"_requestedAmount","type":"uint256"},{"internalType":"uint256","name":"_poolAmount","type":"uint256"}],"type":"error","name":"PoolAmountNotEnough"},{"inputs":[],"type":"error","name":"PoolIdCannotBeZero"},{"inputs":[],"type":"error","name":"PoolIsEmpty"},{"inputs":[],"type":"error","name":"ProposalDataIsEmpty"},{"inputs":[],"type":"error","name":"ProposalIdCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotActive"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotDisputed"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotInList"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"ProposalSupportDuplicated"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"RegistryCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"_support","type":"uint256"},{"internalType":"int256","name":"_delta","type":"int256"},{"internalType":"int256","name":"_result","type":"int256"}],"type":"error","name":"SupportUnderflow"},{"inputs":[],"type":"error","name":"TokenCannotBeZero"},{"inputs":[],"type":"error","name":"TokenNotAllowed"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"UserCannotBeZero"},{"inputs":[],"type":"error","name":"UserCannotExecuteAction"},{"inputs":[],"type":"error","name":"UserIsInactive"},{"inputs":[],"type":"error","name":"UserNotInRegistry"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Allocated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"currentArbitrableConfigVersion","type":"uint256","indexed":false},{"internalType":"contract IArbitrator","name":"arbitrator","type":"address","indexed":false},{"internalType":"address","name":"tribunalSafe","type":"address","indexed":false},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"defaultRuling","type":"uint256","indexed":false},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256","indexed":false}],"type":"event","name":"ArbitrableConfigUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"struct CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}],"indexed":false}],"type":"event","name":"CVParamsUpdated","anonymous":false},{"inputs":[{"internalType":"contract IArbitrator","name":"_arbitrator","type":"address","indexed":true},{"internalType":"uint256","name":"_arbitrableDisputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_externalDisputeID","type":"uint256","indexed":false},{"internalType":"uint256","name":"_templateId","type":"uint256","indexed":false},{"internalType":"string","name":"_templateUri","type":"string","indexed":false}],"type":"event","name":"DisputeRequest","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"address","name":"beneficiary","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Distributed","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"address","name":"recipientAddress","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Distributed","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"struct CVStrategyInitializeParamsV0_0","name":"data","type":"tuple","components":[{"internalType":"struct CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}],"indexed":false}],"type":"event","name":"InitializedCV","anonymous":false},{"inputs":[{"internalType":"uint256","name":"before","type":"uint256","indexed":false},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256","indexed":false}],"type":"event","name":"MinThresholdPointsUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false}],"type":"event","name":"PointsDeactivated","anonymous":false},{"inputs":[{"internalType":"bool","name":"active","type":"bool","indexed":false}],"type":"event","name":"PoolActive","anonymous":false},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"PoolAmountIncreased","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false},{"internalType":"uint256","name":"tokensUnStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"pointsToDecrease","type":"uint256","indexed":false}],"type":"event","name":"PowerDecreased","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false},{"internalType":"uint256","name":"tokensStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"pointsToIncrease","type":"uint256","indexed":false}],"type":"event","name":"PowerIncreased","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false}],"type":"event","name":"ProposalCancelled","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false}],"type":"event","name":"ProposalCreated","anonymous":false},{"inputs":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"uint256","name":"disputeId","type":"uint256","indexed":false},{"internalType":"address","name":"challenger","type":"address","indexed":false},{"internalType":"string","name":"context","type":"string","indexed":false},{"internalType":"uint256","name":"timestamp","type":"uint256","indexed":false}],"type":"event","name":"ProposalDisputed","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"bytes","name":"data","type":"bytes","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Registered","anonymous":false},{"inputs":[{"internalType":"address","name":"registryCommunity","type":"address","indexed":false}],"type":"event","name":"RegistryUpdated","anonymous":false},{"inputs":[{"internalType":"contract IArbitrator","name":"_arbitrator","type":"address","indexed":true},{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_ruling","type":"uint256","indexed":false}],"type":"event","name":"Ruling","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"totalStakedAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"convictionLast","type":"uint256","indexed":false}],"type":"event","name":"SupportAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false},{"internalType":"address","name":"arbitrator","type":"address","indexed":false},{"internalType":"address","name":"tribunalSafe","type":"address","indexed":false}],"type":"event","name":"TribunaSafeRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"D","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DISPUTE_COOLDOWN_SEC","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_STAKED_PROPOSALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RULING_OPTIONS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"activatePoints"},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"arbitrableConfigs","outputs":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_requestedAmount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateThreshold","outputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"canExecuteProposal","outputs":[{"internalType":"bool","name":"canBeExecuted","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"cancelProposal"},{"inputs":[],"stateMutability":"view","type":"function","name":"cloneNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVault","outputs":[{"internalType":"contract ICollateralVault","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"currentArbitrableConfigVersion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"cvParams","outputs":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToUnstake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"disputeCount","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"disputeIdToProposalId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"string","name":"context","type":"string"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"disputeProposal","outputs":[{"internalType":"uint256","name":"disputeId","type":"uint256"}]},{"inputs":[{"internalType":"address[]","name":"_recipientIds","type":"address[]"},{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"distribute"},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllo","outputs":[{"internalType":"contract IAllo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getArbitrableConfig","outputs":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDecay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMaxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"getMaxConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getMetadata","outputs":[{"internalType":"struct Metadata","name":"","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}]},{"inputs":[{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"bytes[]","name":"","type":"bytes[]"}],"stateMutability":"pure","type":"function","name":"getPayouts","outputs":[{"internalType":"struct IStrategy.PayoutSummary[]","name":"","type":"tuple[]","components":[{"internalType":"address","name":"recipientAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPointSystem","outputs":[{"internalType":"enum PointSystem","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPoolAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPoolId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getProposal","outputs":[{"internalType":"address","name":"submitter","type":"address"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"address","name":"requestedToken","type":"address"},{"internalType":"uint256","name":"requestedAmount","type":"uint256"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"enum ProposalStatus","name":"proposalStatus","type":"uint8"},{"internalType":"uint256","name":"blockLast","type":"uint256"},{"internalType":"uint256","name":"convictionLast","type":"uint256"},{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"voterStakedPoints","type":"uint256"},{"internalType":"uint256","name":"arbitrableConfigVersion","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getProposalStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"address","name":"_voter","type":"address"}],"stateMutability":"view","type":"function","name":"getProposalVoterStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_recipientId","type":"address"}],"stateMutability":"view","type":"function","name":"getRecipientStatus","outputs":[{"internalType":"enum IStrategy.Status","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistryCommunity","outputs":[{"internalType":"contract RegistryCommunityV0_0","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStrategyId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_voter","type":"address"}],"stateMutability":"view","type":"function","name":"getTotalVoterStakePct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePoolAmount"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToStake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isPoolActive","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_allocator","type":"address"}],"stateMutability":"view","type":"function","name":"isValidAllocator","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pointConfig","outputs":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pointSystem","outputs":[{"internalType":"enum PointSystem","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposalCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposalType","outputs":[{"internalType":"enum ProposalType","name":"","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"proposals","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"requestedAmount","type":"uint256"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"uint256","name":"convictionLast","type":"uint256"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"address","name":"submitter","type":"address"},{"internalType":"address","name":"requestedToken","type":"address"},{"internalType":"uint256","name":"blockLast","type":"uint256"},{"internalType":"enum ProposalStatus","name":"proposalStatus","type":"uint8"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"struct ProposalDisputeInfo","name":"disputeInfo","type":"tuple","components":[{"internalType":"uint256","name":"disputeId","type":"uint256"},{"internalType":"uint256","name":"disputeTimestamp","type":"uint256"},{"internalType":"address","name":"challenger","type":"address"}]},{"internalType":"uint256","name":"lastDisputeCompletion","type":"uint256"},{"internalType":"uint256","name":"arbitrableConfigVersion","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"payable","type":"function","name":"registerRecipient","outputs":[{"internalType":"address","name":"recipientId","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryCommunity","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256"},{"internalType":"uint256","name":"_ruling","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"rule"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCollateralVaultTemplate"},{"inputs":[{"internalType":"bool","name":"_active","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setPoolActive"},{"inputs":[{"internalType":"struct ArbitrableConfig","name":"_arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"struct CVParams","name":"_cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"setPoolParams"},{"inputs":[{"internalType":"address","name":"_sybilScorer","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSybilScorer"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"sybilScorer","outputs":[{"internalType":"contract ISybilScorer","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalEffectiveActivePoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalPointsActivated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"totalVoterStakePct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateProposalConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"voterStakedProposals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"allocate(bytes,address)":{"details":"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to allocate to the recipient","_sender":"The address of the sender"}},"calculateConviction(uint256,uint256,uint256)":{"details":"Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a) Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128","params":{"_lastConv":"Last conviction record","_oldAmount":"Amount of tokens staked until now","_timePassed":"Number of blocks since last conviction record"},"returns":{"_0":"Current conviction"}},"calculateThreshold(uint256)":{"details":"Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2 For the Solidity implementation we amplify ρ and β and simplify the formula: weight = ρ * D maxRatio = β * D decay = a * D threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2","params":{"_requestedAmount":"Requested amount of tokens on certain proposal"},"returns":{"_threshold":"Threshold a proposal's conviction should surpass in order to be able to executed it."}},"distribute(address[],bytes,address)":{"details":"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to distribute to the recipients","_recipientIds":"The IDs of the recipients","_sender":"The address of the sender"}},"getAllo()":{"returns":{"_0":"The Allo contract"}},"getPayouts(address[],bytes[])":{"returns":{"_0":"Input the values you would send to distribute(), get the amounts each recipient in the array would receive"}},"getPoolAmount()":{"returns":{"_0":"The balance of the pool"}},"getPoolId()":{"returns":{"_0":"The ID of the pool"}},"getProposal(uint256)":{"details":"Get proposal details","params":{"_proposalId":"Proposal id"},"returns":{"arbitrableConfigVersion":"Proposal arbitrable config id","beneficiary":"Proposal beneficiary","blockLast":"Last block when conviction was calculated","convictionLast":"Last conviction calculated","proposalStatus":"Proposal status","requestedAmount":"Proposal requested amount","requestedToken":"Proposal requested token","stakedAmount":"Proposal staked points","submitter":"Proposal submitter","threshold":"Proposal threshold","voterStakedPoints":"Voter staked points"}},"getProposalVoterStake(uint256,address)":{"params":{"_proposalId":"Proposal id","_voter":"Voter address"},"returns":{"_0":"Proposal voter stake"}},"getRecipientStatus(address)":{"params":{"_recipientId":"The ID of the recipient"},"returns":{"_0":"The status of the recipient"}},"getStrategyId()":{"returns":{"_0":"The ID of the strategy"}},"increasePoolAmount(uint256)":{"details":"Increases the 'poolAmount' by '_amount'. Only 'Allo' contract can call this.","params":{"_amount":"The amount to increase the pool by"}},"init(address,string,address)":{"params":{"_allo":"Address of the Allo contract.","_name":"Name of the strategy","owner":"Address of the owner of the strategy"}},"initialize(uint256,bytes)":{"params":{"_data":"The encoded data","_poolId":"The ID of the pool"}},"isPoolActive()":{"returns":{"_0":"'true' if the pool is active, otherwise 'false'"}},"isValidAllocator(address)":{"details":"How the allocator is determined is up to the strategy implementation.","params":{"_allocator":"The address to check if it is a valid allocator for the strategy."},"returns":{"_0":"'true' if the address is a valid allocator, 'false' otherwise"}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"registerRecipient(bytes,address)":{"details":"Registers a recipient and returns the ID of the recipient. The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to register the recipient","_sender":"The address of the sender"},"returns":{"recipientId":"The recipientId"}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"rule(uint256,uint256)":{"details":"Give a ruling for a dispute. Must be called by the arbitrator. The purpose of this function is to ensure that the address calling it has the right to rule on the contract.","params":{"_disputeID":"The identifier of the dispute in the Arbitrator contract.","_ruling":"Ruling given by the arbitrator. Note that 0 is reserved for \"Not able/wanting to make a decision\"."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"},"allocate(bytes,address)":{"notice":"Allocates to a recipient."},"distribute(address[],bytes,address)":{"notice":"Distributes funds (tokens) to recipients."},"getAllo()":{"notice":"Getter for the 'Allo' contract."},"getPoolAmount()":{"notice":"Getter for the 'poolAmount'."},"getPoolId()":{"notice":"Getter for the 'poolId'."},"getProposalVoterStake(uint256,address)":{"notice":"Get stake of voter `_voter` on proposal #`_proposalId`"},"getRecipientStatus(address)":{"notice":"Getter for the status of a recipient."},"getStrategyId()":{"notice":"Getter for the 'strategyId'."},"increasePoolAmount(uint256)":{"notice":"Increases the pool amount."},"init(address,string,address)":{"notice":"Constructor to set the Allo contract and \"strategyId'.`init` here its the initialize for upgradable contracts, different from `initialize()` that its used for Allo"},"initialize(uint256,bytes)":{"notice":"@dev The default BaseStrategy version will not use the data if a strategy wants to use it, they will overwrite it, use it, and then call super.initialize()."},"isPoolActive()":{"notice":"Getter for whether or not the pool is active."},"isValidAllocator(address)":{"notice":"Checks if the '_allocator' is a valid allocator."},"registerRecipient(bytes,address)":{"notice":"Registers a recipient."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":"CVStrategyV0_0"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2","urls":["bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293","dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0xc3aed28a3fec8dcc2e95c8569aa2c4323897a1685c63746822956fe995eddf28","urls":["bzz-raw://c4126fea7a0d30c76aab94605930ed01c7e53df2f4a7bba4773c097904d5eb39","dweb:/ipfs/QmNsDu9G5JKCXdTs1HmEyVcR3S4DhuiZRt2bEPVNYGckgw"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0x6b05f27573e30362ec808b4d79f8156550a8dd5090b107b46928ab8d87be3c87","urls":["bzz-raw://134753f1a9a463e4193ffa2b2f6e32813b7a3d7603ddacaedf0f65a6a72c864a","dweb:/ipfs/QmZnQa6a3aFUvxdT1yaj72DBQUShfq5okHshhHwGv85Mdq"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":52990,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52993,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53695,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52782,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52902,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":64873,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"allo","offset":0,"slot":"101","type":"t_contract(IAllo)2610"},{"astId":64875,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"strategyId","offset":0,"slot":"102","type":"t_bytes32"},{"astId":64877,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"poolActive","offset":0,"slot":"103","type":"t_bool"},{"astId":64879,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"poolId","offset":0,"slot":"104","type":"t_uint256"},{"astId":64881,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"poolAmount","offset":0,"slot":"105","type":"t_uint256"},{"astId":65910,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"collateralVaultTemplate","offset":0,"slot":"106","type":"t_address"},{"astId":65912,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"surpressStateMutabilityWarning","offset":0,"slot":"107","type":"t_uint256"},{"astId":65914,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"cloneNonce","offset":0,"slot":"108","type":"t_uint256"},{"astId":65916,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeCount","offset":0,"slot":"109","type":"t_uint64"},{"astId":65918,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalCounter","offset":0,"slot":"110","type":"t_uint256"},{"astId":65920,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"currentArbitrableConfigVersion","offset":0,"slot":"111","type":"t_uint256"},{"astId":65922,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"totalStaked","offset":0,"slot":"112","type":"t_uint256"},{"astId":65924,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"totalPointsActivated","offset":0,"slot":"113","type":"t_uint256"},{"astId":65927,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"cvParams","offset":0,"slot":"114","type":"t_struct(CVParams)65637_storage"},{"astId":65930,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalType","offset":0,"slot":"118","type":"t_enum(ProposalType)65540"},{"astId":65933,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"pointSystem","offset":1,"slot":"118","type":"t_enum(PointSystem)65545"},{"astId":65936,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"pointConfig","offset":0,"slot":"119","type":"t_struct(PointSystemConfig)65614_storage"},{"astId":65938,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"registryCommunity","offset":0,"slot":"120","type":"t_address"},{"astId":65941,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"collateralVault","offset":0,"slot":"121","type":"t_contract(ICollateralVault)76358"},{"astId":65944,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"sybilScorer","offset":0,"slot":"122","type":"t_contract(ISybilScorer)70122"},{"astId":65949,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposals","offset":0,"slot":"123","type":"t_mapping(t_uint256,t_struct(Proposal)65606_storage)"},{"astId":65953,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"totalVoterStakePct","offset":0,"slot":"124","type":"t_mapping(t_address,t_uint256)"},{"astId":65958,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"voterStakedProposals","offset":0,"slot":"125","type":"t_mapping(t_address,t_array(t_uint256)dyn_storage)"},{"astId":65962,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeIdToProposalId","offset":0,"slot":"126","type":"t_mapping(t_uint256,t_uint256)"},{"astId":65967,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"arbitrableConfigs","offset":0,"slot":"127","type":"t_mapping(t_uint256,t_struct(ArbitrableConfig)65628_storage)"},{"astId":69193,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"__gap","offset":0,"slot":"128","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_array(t_uint256)dyn_storage":{"encoding":"dynamic_array","label":"uint256[]","numberOfBytes":"32","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(IAllo)2610":{"encoding":"inplace","label":"contract IAllo","numberOfBytes":"20"},"t_contract(IArbitrator)76325":{"encoding":"inplace","label":"contract IArbitrator","numberOfBytes":"20"},"t_contract(ICollateralVault)76358":{"encoding":"inplace","label":"contract ICollateralVault","numberOfBytes":"20"},"t_contract(ISybilScorer)70122":{"encoding":"inplace","label":"contract ISybilScorer","numberOfBytes":"20"},"t_enum(PointSystem)65545":{"encoding":"inplace","label":"enum PointSystem","numberOfBytes":"1"},"t_enum(ProposalStatus)65565":{"encoding":"inplace","label":"enum ProposalStatus","numberOfBytes":"1"},"t_enum(ProposalType)65540":{"encoding":"inplace","label":"enum ProposalType","numberOfBytes":"1"},"t_mapping(t_address,t_array(t_uint256)dyn_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256[])","numberOfBytes":"32","value":"t_array(t_uint256)dyn_storage"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_uint256,t_struct(ArbitrableConfig)65628_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct ArbitrableConfig)","numberOfBytes":"32","value":"t_struct(ArbitrableConfig)65628_storage"},"t_mapping(t_uint256,t_struct(Proposal)65606_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct Proposal)","numberOfBytes":"32","value":"t_struct(Proposal)65606_storage"},"t_mapping(t_uint256,t_uint256)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(ArbitrableConfig)65628_storage":{"encoding":"inplace","label":"struct ArbitrableConfig","numberOfBytes":"192","members":[{"astId":65617,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"arbitrator","offset":0,"slot":"0","type":"t_contract(IArbitrator)76325"},{"astId":65619,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"tribunalSafe","offset":0,"slot":"1","type":"t_address"},{"astId":65621,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"submitterCollateralAmount","offset":0,"slot":"2","type":"t_uint256"},{"astId":65623,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"challengerCollateralAmount","offset":0,"slot":"3","type":"t_uint256"},{"astId":65625,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"defaultRuling","offset":0,"slot":"4","type":"t_uint256"},{"astId":65627,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"defaultRulingTimeout","offset":0,"slot":"5","type":"t_uint256"}]},"t_struct(CVParams)65637_storage":{"encoding":"inplace","label":"struct CVParams","numberOfBytes":"128","members":[{"astId":65630,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"maxRatio","offset":0,"slot":"0","type":"t_uint256"},{"astId":65632,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"weight","offset":0,"slot":"1","type":"t_uint256"},{"astId":65634,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"decay","offset":0,"slot":"2","type":"t_uint256"},{"astId":65636,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"minThresholdPoints","offset":0,"slot":"3","type":"t_uint256"}]},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(PointSystemConfig)65614_storage":{"encoding":"inplace","label":"struct PointSystemConfig","numberOfBytes":"32","members":[{"astId":65613,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"maxAmount","offset":0,"slot":"0","type":"t_uint256"}]},"t_struct(Proposal)65606_storage":{"encoding":"inplace","label":"struct Proposal","numberOfBytes":"544","members":[{"astId":65574,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalId","offset":0,"slot":"0","type":"t_uint256"},{"astId":65576,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"requestedAmount","offset":0,"slot":"1","type":"t_uint256"},{"astId":65578,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"stakedAmount","offset":0,"slot":"2","type":"t_uint256"},{"astId":65580,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"convictionLast","offset":0,"slot":"3","type":"t_uint256"},{"astId":65582,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"beneficiary","offset":0,"slot":"4","type":"t_address"},{"astId":65584,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"submitter","offset":0,"slot":"5","type":"t_address"},{"astId":65586,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"requestedToken","offset":0,"slot":"6","type":"t_address"},{"astId":65588,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"blockLast","offset":0,"slot":"7","type":"t_uint256"},{"astId":65591,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalStatus","offset":0,"slot":"8","type":"t_enum(ProposalStatus)65565"},{"astId":65595,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"voterStakedPoints","offset":0,"slot":"9","type":"t_mapping(t_address,t_uint256)"},{"astId":65598,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"metadata","offset":0,"slot":"10","type":"t_struct(Metadata)3098_storage"},{"astId":65601,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeInfo","offset":0,"slot":"12","type":"t_struct(ProposalDisputeInfo)65572_storage"},{"astId":65603,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"lastDisputeCompletion","offset":0,"slot":"15","type":"t_uint256"},{"astId":65605,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"arbitrableConfigVersion","offset":0,"slot":"16","type":"t_uint256"}]},"t_struct(ProposalDisputeInfo)65572_storage":{"encoding":"inplace","label":"struct ProposalDisputeInfo","numberOfBytes":"96","members":[{"astId":65567,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeId","offset":0,"slot":"0","type":"t_uint256"},{"astId":65569,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"disputeTimestamp","offset":0,"slot":"1","type":"t_uint256"},{"astId":65571,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol:CVStrategyV0_0","label":"challenger","offset":0,"slot":"2","type":"t_address"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint64":{"encoding":"inplace","label":"uint64","numberOfBytes":"8"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol","id":69195,"exportedSymbols":{"ArbitrableConfig":[65628],"BaseStrategy":[3923],"BaseStrategyUpgradeable":[65471],"CVParams":[65637],"CVStrategyInitializeParamsV0_0":[65657],"CVStrategyV0_0":[69194],"Clone":[3002],"CreateProposal":[65557],"ERC165":[57725],"ERC20":[56450],"IAllo":[2610],"IArbitrable":[76221],"IArbitrator":[76325],"ICollateralVault":[76358],"IERC165":[57931],"IPointStrategy":[65536],"ISybilScorer":[70122],"Math":[58797],"Metadata":[3098],"OwnableUpgradeable":[52903],"PassportData":[70040],"PointSystem":[65545],"PointSystemConfig":[65614],"Proposal":[65606],"ProposalDisputeInfo":[65572],"ProposalStatus":[65565],"ProposalSupport":[65611],"ProposalType":[65540],"RegistryCommunityV0_0":[72700],"UUPSUpgradeable":[55672],"console":[29510]},"nodeType":"SourceUnit","src":"42:53774:98","nodes":[{"id":65473,"nodeType":"PragmaDirective","src":"42:24:98","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":65475,"nodeType":"ImportDirective","src":"68:71:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":65474,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"76:8:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65478,"nodeType":"ImportDirective","src":"140:82:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/strategies/BaseStrategy.sol","file":"allo-v2-contracts/strategies/BaseStrategy.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":3924,"symbolAliases":[{"foreign":{"id":65476,"name":"BaseStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3923,"src":"148:12:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":65477,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"162:5:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65480,"nodeType":"ImportDirective","src":"223:85:98","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol","file":"../RegistryCommunity/RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":72701,"symbolAliases":[{"foreign":{"id":65479,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72700,"src":"231:21:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65483,"nodeType":"ImportDirective","src":"309:87:98","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":57726,"symbolAliases":[{"foreign":{"id":65481,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57725,"src":"317:6:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":65482,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57931,"src":"325:7:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65485,"nodeType":"ImportDirective","src":"397:68:98","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":56451,"symbolAliases":[{"foreign":{"id":65484,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56450,"src":"405:5:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65487,"nodeType":"ImportDirective","src":"466:58:98","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","file":"../interfaces/IArbitrator.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":76326,"symbolAliases":[{"foreign":{"id":65486,"name":"IArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76325,"src":"474:11:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65489,"nodeType":"ImportDirective","src":"525:58:98","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"../interfaces/IArbitrable.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":76222,"symbolAliases":[{"foreign":{"id":65488,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76221,"src":"533:11:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65491,"nodeType":"ImportDirective","src":"584:65:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":65490,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"592:5:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65493,"nodeType":"ImportDirective","src":"650:46:98","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":29511,"symbolAliases":[{"foreign":{"id":65492,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29510,"src":"658:7:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65495,"nodeType":"ImportDirective","src":"697:65:98","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":58798,"symbolAliases":[{"foreign":{"id":65494,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58797,"src":"705:4:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65498,"nodeType":"ImportDirective","src":"763:63:98","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"../ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":70123,"symbolAliases":[{"foreign":{"id":65496,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70122,"src":"771:12:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":65497,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70040,"src":"785:12:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65500,"nodeType":"ImportDirective","src":"827:88:98","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":55673,"symbolAliases":[{"foreign":{"id":65499,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55672,"src":"835:15:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65502,"nodeType":"ImportDirective","src":"916:71:98","nodes":[],"absolutePath":"pkg/contracts/src/BaseStrategyUpgradeable.sol","file":"../BaseStrategyUpgradeable.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":65472,"symbolAliases":[{"foreign":{"id":65501,"name":"BaseStrategyUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65471,"src":"924:23:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65504,"nodeType":"ImportDirective","src":"988:101:98","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":52904,"symbolAliases":[{"foreign":{"id":65503,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52903,"src":"996:18:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65506,"nodeType":"ImportDirective","src":"1090:68:98","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ICollateralVault.sol","file":"../interfaces/ICollateralVault.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":76359,"symbolAliases":[{"foreign":{"id":65505,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76358,"src":"1098:16:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65536,"nodeType":"ContractDefinition","src":"1314:343:98","nodes":[{"id":65511,"nodeType":"FunctionDefinition","src":"1345:52:98","nodes":[],"functionSelector":"6453d9c4","implemented":false,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"1354:16:98","parameters":{"id":65509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65508,"mutability":"mutable","name":"_member","nameLocation":"1379:7:98","nodeType":"VariableDeclaration","scope":65511,"src":"1371:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65507,"name":"address","nodeType":"ElementaryTypeName","src":"1371:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1370:17:98"},"returnParameters":{"id":65510,"nodeType":"ParameterList","parameters":[],"src":"1396:0:98"},"scope":65536,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65520,"nodeType":"FunctionDefinition","src":"1403:91:98","nodes":[],"functionSelector":"782aadff","implemented":false,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"1412:13:98","parameters":{"id":65516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65513,"mutability":"mutable","name":"_member","nameLocation":"1434:7:98","nodeType":"VariableDeclaration","scope":65520,"src":"1426:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65512,"name":"address","nodeType":"ElementaryTypeName","src":"1426:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65515,"mutability":"mutable","name":"_amountToStake","nameLocation":"1451:14:98","nodeType":"VariableDeclaration","scope":65520,"src":"1443:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65514,"name":"uint256","nodeType":"ElementaryTypeName","src":"1443:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1425:41:98"},"returnParameters":{"id":65519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65518,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65520,"src":"1485:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65517,"name":"uint256","nodeType":"ElementaryTypeName","src":"1485:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1484:9:98"},"scope":65536,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65529,"nodeType":"FunctionDefinition","src":"1500:92:98","nodes":[],"functionSelector":"2ed04b2b","implemented":false,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"1509:13:98","parameters":{"id":65525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65522,"mutability":"mutable","name":"_member","nameLocation":"1531:7:98","nodeType":"VariableDeclaration","scope":65529,"src":"1523:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65521,"name":"address","nodeType":"ElementaryTypeName","src":"1523:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65524,"mutability":"mutable","name":"_amountToUntake","nameLocation":"1548:15:98","nodeType":"VariableDeclaration","scope":65529,"src":"1540:23:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65523,"name":"uint256","nodeType":"ElementaryTypeName","src":"1540:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1522:42:98"},"returnParameters":{"id":65528,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65527,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65529,"src":"1583:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65526,"name":"uint256","nodeType":"ElementaryTypeName","src":"1583:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1582:9:98"},"scope":65536,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65535,"nodeType":"FunctionDefinition","src":"1598:57:98","nodes":[],"functionSelector":"c3292171","implemented":false,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"1607:14:98","parameters":{"id":65530,"nodeType":"ParameterList","parameters":[],"src":"1621:2:98"},"returnParameters":{"id":65534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65533,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65535,"src":"1642:11:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"},"typeName":{"id":65532,"nodeType":"UserDefinedTypeName","pathNode":{"id":65531,"name":"PointSystem","nameLocations":["1642:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":65545,"src":"1642:11:98"},"referencedDeclaration":65545,"src":"1642:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"visibility":"internal"}],"src":"1641:13:98"},"scope":65536,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IPointStrategy","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[65536],"name":"IPointStrategy","nameLocation":"1324:14:98","scope":69195,"usedErrors":[]},{"id":65540,"nodeType":"EnumDefinition","src":"1659:63:98","nodes":[],"canonicalName":"ProposalType","members":[{"id":65537,"name":"Signaling","nameLocation":"1683:9:98","nodeType":"EnumValue","src":"1683:9:98"},{"id":65538,"name":"Funding","nameLocation":"1698:7:98","nodeType":"EnumValue","src":"1698:7:98"},{"id":65539,"name":"Streaming","nameLocation":"1711:9:98","nodeType":"EnumValue","src":"1711:9:98"}],"name":"ProposalType","nameLocation":"1664:12:98"},{"id":65545,"nodeType":"EnumDefinition","src":"1724:72:98","nodes":[],"canonicalName":"PointSystem","members":[{"id":65541,"name":"Fixed","nameLocation":"1747:5:98","nodeType":"EnumValue","src":"1747:5:98"},{"id":65542,"name":"Capped","nameLocation":"1758:6:98","nodeType":"EnumValue","src":"1758:6:98"},{"id":65543,"name":"Unlimited","nameLocation":"1770:9:98","nodeType":"EnumValue","src":"1770:9:98"},{"id":65544,"name":"Quadratic","nameLocation":"1785:9:98","nodeType":"EnumValue","src":"1785:9:98"}],"name":"PointSystem","nameLocation":"1729:11:98"},{"id":65557,"nodeType":"StructDefinition","src":"1798:211:98","nodes":[],"canonicalName":"CreateProposal","members":[{"constant":false,"id":65547,"mutability":"mutable","name":"poolId","nameLocation":"1861:6:98","nodeType":"VariableDeclaration","scope":65557,"src":"1853:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65546,"name":"uint256","nodeType":"ElementaryTypeName","src":"1853:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65549,"mutability":"mutable","name":"beneficiary","nameLocation":"1881:11:98","nodeType":"VariableDeclaration","scope":65557,"src":"1873:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65548,"name":"address","nodeType":"ElementaryTypeName","src":"1873:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65551,"mutability":"mutable","name":"amountRequested","nameLocation":"1940:15:98","nodeType":"VariableDeclaration","scope":65557,"src":"1932:23:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65550,"name":"uint256","nodeType":"ElementaryTypeName","src":"1932:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65553,"mutability":"mutable","name":"requestedToken","nameLocation":"1969:14:98","nodeType":"VariableDeclaration","scope":65557,"src":"1961:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65552,"name":"address","nodeType":"ElementaryTypeName","src":"1961:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65556,"mutability":"mutable","name":"metadata","nameLocation":"1998:8:98","nodeType":"VariableDeclaration","scope":65557,"src":"1989:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":65555,"nodeType":"UserDefinedTypeName","pathNode":{"id":65554,"name":"Metadata","nameLocations":["1989:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"1989:8:98"},"referencedDeclaration":3098,"src":"1989:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"CreateProposal","nameLocation":"1805:14:98","scope":69195,"visibility":"public"},{"id":65565,"nodeType":"EnumDefinition","src":"2011:360:98","nodes":[],"canonicalName":"ProposalStatus","members":[{"id":65558,"name":"Inactive","nameLocation":"2037:8:98","nodeType":"EnumValue","src":"2037:8:98"},{"id":65559,"name":"Active","nameLocation":"2063:6:98","nodeType":"EnumValue","src":"2063:6:98"},{"id":65560,"name":"Paused","nameLocation":"2122:6:98","nodeType":"EnumValue","src":"2122:6:98"},{"id":65561,"name":"Cancelled","nameLocation":"2184:9:98","nodeType":"EnumValue","src":"2184:9:98"},{"id":65562,"name":"Executed","nameLocation":"2233:8:98","nodeType":"EnumValue","src":"2233:8:98"},{"id":65563,"name":"Disputed","nameLocation":"2280:8:98","nodeType":"EnumValue","src":"2280:8:98"},{"id":65564,"name":"Rejected","nameLocation":"2327:8:98","nodeType":"EnumValue","src":"2327:8:98"}],"name":"ProposalStatus","nameLocation":"2016:14:98"},{"id":65572,"nodeType":"StructDefinition","src":"2373:107:98","nodes":[],"canonicalName":"ProposalDisputeInfo","members":[{"constant":false,"id":65567,"mutability":"mutable","name":"disputeId","nameLocation":"2414:9:98","nodeType":"VariableDeclaration","scope":65572,"src":"2406:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65566,"name":"uint256","nodeType":"ElementaryTypeName","src":"2406:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65569,"mutability":"mutable","name":"disputeTimestamp","nameLocation":"2437:16:98","nodeType":"VariableDeclaration","scope":65572,"src":"2429:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65568,"name":"uint256","nodeType":"ElementaryTypeName","src":"2429:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65571,"mutability":"mutable","name":"challenger","nameLocation":"2467:10:98","nodeType":"VariableDeclaration","scope":65572,"src":"2459:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65570,"name":"address","nodeType":"ElementaryTypeName","src":"2459:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"ProposalDisputeInfo","nameLocation":"2380:19:98","scope":69195,"visibility":"public"},{"id":65606,"nodeType":"StructDefinition","src":"2482:466:98","nodes":[],"canonicalName":"Proposal","members":[{"constant":false,"id":65574,"mutability":"mutable","name":"proposalId","nameLocation":"2512:10:98","nodeType":"VariableDeclaration","scope":65606,"src":"2504:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65573,"name":"uint256","nodeType":"ElementaryTypeName","src":"2504:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65576,"mutability":"mutable","name":"requestedAmount","nameLocation":"2536:15:98","nodeType":"VariableDeclaration","scope":65606,"src":"2528:23:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65575,"name":"uint256","nodeType":"ElementaryTypeName","src":"2528:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65578,"mutability":"mutable","name":"stakedAmount","nameLocation":"2565:12:98","nodeType":"VariableDeclaration","scope":65606,"src":"2557:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65577,"name":"uint256","nodeType":"ElementaryTypeName","src":"2557:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65580,"mutability":"mutable","name":"convictionLast","nameLocation":"2591:14:98","nodeType":"VariableDeclaration","scope":65606,"src":"2583:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65579,"name":"uint256","nodeType":"ElementaryTypeName","src":"2583:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65582,"mutability":"mutable","name":"beneficiary","nameLocation":"2619:11:98","nodeType":"VariableDeclaration","scope":65606,"src":"2611:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65581,"name":"address","nodeType":"ElementaryTypeName","src":"2611:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65584,"mutability":"mutable","name":"submitter","nameLocation":"2644:9:98","nodeType":"VariableDeclaration","scope":65606,"src":"2636:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65583,"name":"address","nodeType":"ElementaryTypeName","src":"2636:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65586,"mutability":"mutable","name":"requestedToken","nameLocation":"2667:14:98","nodeType":"VariableDeclaration","scope":65606,"src":"2659:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65585,"name":"address","nodeType":"ElementaryTypeName","src":"2659:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65588,"mutability":"mutable","name":"blockLast","nameLocation":"2695:9:98","nodeType":"VariableDeclaration","scope":65606,"src":"2687:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65587,"name":"uint256","nodeType":"ElementaryTypeName","src":"2687:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65591,"mutability":"mutable","name":"proposalStatus","nameLocation":"2725:14:98","nodeType":"VariableDeclaration","scope":65606,"src":"2710:29:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"},"typeName":{"id":65590,"nodeType":"UserDefinedTypeName","pathNode":{"id":65589,"name":"ProposalStatus","nameLocations":["2710:14:98"],"nodeType":"IdentifierPath","referencedDeclaration":65565,"src":"2710:14:98"},"referencedDeclaration":65565,"src":"2710:14:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":65595,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"2773:17:98","nodeType":"VariableDeclaration","scope":65606,"src":"2745:45:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":65594,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65592,"name":"address","nodeType":"ElementaryTypeName","src":"2753:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2745:27:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65593,"name":"uint256","nodeType":"ElementaryTypeName","src":"2764:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":65598,"mutability":"mutable","name":"metadata","nameLocation":"2828:8:98","nodeType":"VariableDeclaration","scope":65606,"src":"2819:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":65597,"nodeType":"UserDefinedTypeName","pathNode":{"id":65596,"name":"Metadata","nameLocations":["2819:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2819:8:98"},"referencedDeclaration":3098,"src":"2819:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":65601,"mutability":"mutable","name":"disputeInfo","nameLocation":"2862:11:98","nodeType":"VariableDeclaration","scope":65606,"src":"2842:31:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65572_storage_ptr","typeString":"struct ProposalDisputeInfo"},"typeName":{"id":65600,"nodeType":"UserDefinedTypeName","pathNode":{"id":65599,"name":"ProposalDisputeInfo","nameLocations":["2842:19:98"],"nodeType":"IdentifierPath","referencedDeclaration":65572,"src":"2842:19:98"},"referencedDeclaration":65572,"src":"2842:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65572_storage_ptr","typeString":"struct ProposalDisputeInfo"}},"visibility":"internal"},{"constant":false,"id":65603,"mutability":"mutable","name":"lastDisputeCompletion","nameLocation":"2887:21:98","nodeType":"VariableDeclaration","scope":65606,"src":"2879:29:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65602,"name":"uint256","nodeType":"ElementaryTypeName","src":"2879:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65605,"mutability":"mutable","name":"arbitrableConfigVersion","nameLocation":"2922:23:98","nodeType":"VariableDeclaration","scope":65606,"src":"2914:31:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65604,"name":"uint256","nodeType":"ElementaryTypeName","src":"2914:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Proposal","nameLocation":"2489:8:98","scope":69195,"visibility":"public"},{"id":65611,"nodeType":"StructDefinition","src":"2950:114:98","nodes":[],"canonicalName":"ProposalSupport","members":[{"constant":false,"id":65608,"mutability":"mutable","name":"proposalId","nameLocation":"2987:10:98","nodeType":"VariableDeclaration","scope":65611,"src":"2979:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65607,"name":"uint256","nodeType":"ElementaryTypeName","src":"2979:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65610,"mutability":"mutable","name":"deltaSupport","nameLocation":"3010:12:98","nodeType":"VariableDeclaration","scope":65611,"src":"3003:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":65609,"name":"int256","nodeType":"ElementaryTypeName","src":"3003:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"ProposalSupport","nameLocation":"2957:15:98","scope":69195,"visibility":"public"},{"id":65614,"nodeType":"StructDefinition","src":"3066:77:98","nodes":[],"canonicalName":"PointSystemConfig","members":[{"constant":false,"id":65613,"mutability":"mutable","name":"maxAmount","nameLocation":"3131:9:98","nodeType":"VariableDeclaration","scope":65614,"src":"3123:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65612,"name":"uint256","nodeType":"ElementaryTypeName","src":"3123:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"PointSystemConfig","nameLocation":"3073:17:98","scope":69195,"visibility":"public"},{"id":65628,"nodeType":"StructDefinition","src":"3145:221:98","nodes":[],"canonicalName":"ArbitrableConfig","members":[{"constant":false,"id":65617,"mutability":"mutable","name":"arbitrator","nameLocation":"3187:10:98","nodeType":"VariableDeclaration","scope":65628,"src":"3175:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"},"typeName":{"id":65616,"nodeType":"UserDefinedTypeName","pathNode":{"id":65615,"name":"IArbitrator","nameLocations":["3175:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":76325,"src":"3175:11:98"},"referencedDeclaration":76325,"src":"3175:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":65619,"mutability":"mutable","name":"tribunalSafe","nameLocation":"3211:12:98","nodeType":"VariableDeclaration","scope":65628,"src":"3203:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65618,"name":"address","nodeType":"ElementaryTypeName","src":"3203:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65621,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"3237:25:98","nodeType":"VariableDeclaration","scope":65628,"src":"3229:33:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65620,"name":"uint256","nodeType":"ElementaryTypeName","src":"3229:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65623,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"3276:26:98","nodeType":"VariableDeclaration","scope":65628,"src":"3268:34:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65622,"name":"uint256","nodeType":"ElementaryTypeName","src":"3268:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65625,"mutability":"mutable","name":"defaultRuling","nameLocation":"3316:13:98","nodeType":"VariableDeclaration","scope":65628,"src":"3308:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65624,"name":"uint256","nodeType":"ElementaryTypeName","src":"3308:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65627,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"3343:20:98","nodeType":"VariableDeclaration","scope":65628,"src":"3335:28:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65626,"name":"uint256","nodeType":"ElementaryTypeName","src":"3335:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ArbitrableConfig","nameLocation":"3152:16:98","scope":69195,"visibility":"public"},{"id":65637,"nodeType":"StructDefinition","src":"3368:112:98","nodes":[],"canonicalName":"CVParams","members":[{"constant":false,"id":65630,"mutability":"mutable","name":"maxRatio","nameLocation":"3398:8:98","nodeType":"VariableDeclaration","scope":65637,"src":"3390:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65629,"name":"uint256","nodeType":"ElementaryTypeName","src":"3390:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65632,"mutability":"mutable","name":"weight","nameLocation":"3420:6:98","nodeType":"VariableDeclaration","scope":65637,"src":"3412:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65631,"name":"uint256","nodeType":"ElementaryTypeName","src":"3412:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65634,"mutability":"mutable","name":"decay","nameLocation":"3440:5:98","nodeType":"VariableDeclaration","scope":65637,"src":"3432:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65633,"name":"uint256","nodeType":"ElementaryTypeName","src":"3432:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65636,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"3459:18:98","nodeType":"VariableDeclaration","scope":65637,"src":"3451:26:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65635,"name":"uint256","nodeType":"ElementaryTypeName","src":"3451:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"CVParams","nameLocation":"3375:8:98","scope":69195,"visibility":"public"},{"id":65657,"nodeType":"StructDefinition","src":"3482:254:98","nodes":[],"canonicalName":"CVStrategyInitializeParamsV0_0","members":[{"constant":false,"id":65640,"mutability":"mutable","name":"cvParams","nameLocation":"3535:8:98","nodeType":"VariableDeclaration","scope":65657,"src":"3526:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage_ptr","typeString":"struct CVParams"},"typeName":{"id":65639,"nodeType":"UserDefinedTypeName","pathNode":{"id":65638,"name":"CVParams","nameLocations":["3526:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65637,"src":"3526:8:98"},"referencedDeclaration":65637,"src":"3526:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage_ptr","typeString":"struct CVParams"}},"visibility":"internal"},{"constant":false,"id":65643,"mutability":"mutable","name":"proposalType","nameLocation":"3562:12:98","nodeType":"VariableDeclaration","scope":65657,"src":"3549:25:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"},"typeName":{"id":65642,"nodeType":"UserDefinedTypeName","pathNode":{"id":65641,"name":"ProposalType","nameLocations":["3549:12:98"],"nodeType":"IdentifierPath","referencedDeclaration":65540,"src":"3549:12:98"},"referencedDeclaration":65540,"src":"3549:12:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"visibility":"internal"},{"constant":false,"id":65646,"mutability":"mutable","name":"pointSystem","nameLocation":"3592:11:98","nodeType":"VariableDeclaration","scope":65657,"src":"3580:23:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"},"typeName":{"id":65645,"nodeType":"UserDefinedTypeName","pathNode":{"id":65644,"name":"PointSystem","nameLocations":["3580:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":65545,"src":"3580:11:98"},"referencedDeclaration":65545,"src":"3580:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"visibility":"internal"},{"constant":false,"id":65649,"mutability":"mutable","name":"pointConfig","nameLocation":"3627:11:98","nodeType":"VariableDeclaration","scope":65657,"src":"3609:29:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_storage_ptr","typeString":"struct PointSystemConfig"},"typeName":{"id":65648,"nodeType":"UserDefinedTypeName","pathNode":{"id":65647,"name":"PointSystemConfig","nameLocations":["3609:17:98"],"nodeType":"IdentifierPath","referencedDeclaration":65614,"src":"3609:17:98"},"referencedDeclaration":65614,"src":"3609:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_storage_ptr","typeString":"struct PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":65652,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"3661:16:98","nodeType":"VariableDeclaration","scope":65657,"src":"3644:33:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage_ptr","typeString":"struct ArbitrableConfig"},"typeName":{"id":65651,"nodeType":"UserDefinedTypeName","pathNode":{"id":65650,"name":"ArbitrableConfig","nameLocations":["3644:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65628,"src":"3644:16:98"},"referencedDeclaration":65628,"src":"3644:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage_ptr","typeString":"struct ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":65654,"mutability":"mutable","name":"registryCommunity","nameLocation":"3691:17:98","nodeType":"VariableDeclaration","scope":65657,"src":"3683:25:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65653,"name":"address","nodeType":"ElementaryTypeName","src":"3683:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65656,"mutability":"mutable","name":"sybilScorer","nameLocation":"3722:11:98","nodeType":"VariableDeclaration","scope":65657,"src":"3714:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65655,"name":"address","nodeType":"ElementaryTypeName","src":"3714:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"CVStrategyInitializeParamsV0_0","nameLocation":"3489:30:98","scope":69195,"visibility":"public"},{"id":69194,"nodeType":"ContractDefinition","src":"3782:50033:98","nodes":[{"id":65668,"nodeType":"ErrorDefinition","src":"4042:25:98","nodes":[],"errorSelector":"d1f28288","name":"UserCannotBeZero","nameLocation":"4048:16:98","parameters":{"id":65667,"nodeType":"ParameterList","parameters":[],"src":"4064:2:98"}},{"id":65670,"nodeType":"ErrorDefinition","src":"4086:26:98","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"4092:17:98","parameters":{"id":65669,"nodeType":"ParameterList","parameters":[],"src":"4109:2:98"}},{"id":65672,"nodeType":"ErrorDefinition","src":"4130:23:98","nodes":[],"errorSelector":"5fccb67f","name":"UserIsInactive","nameLocation":"4136:14:98","parameters":{"id":65671,"nodeType":"ParameterList","parameters":[],"src":"4150:2:98"}},{"id":65674,"nodeType":"ErrorDefinition","src":"4172:20:98","nodes":[],"errorSelector":"ed4421ad","name":"PoolIsEmpty","nameLocation":"4178:11:98","parameters":{"id":65673,"nodeType":"ParameterList","parameters":[],"src":"4189:2:98"}},{"id":65676,"nodeType":"ErrorDefinition","src":"4211:23:98","nodes":[],"errorSelector":"d6234725","name":"NotImplemented","nameLocation":"4217:14:98","parameters":{"id":65675,"nodeType":"ParameterList","parameters":[],"src":"4231:2:98"}},{"id":65678,"nodeType":"ErrorDefinition","src":"4252:26:98","nodes":[],"errorSelector":"596a094c","name":"TokenCannotBeZero","nameLocation":"4258:17:98","parameters":{"id":65677,"nodeType":"ParameterList","parameters":[],"src":"4275:2:98"}},{"id":65680,"nodeType":"ErrorDefinition","src":"4296:24:98","nodes":[],"errorSelector":"a29c4986","name":"TokenNotAllowed","nameLocation":"4302:15:98","parameters":{"id":65679,"nodeType":"ParameterList","parameters":[],"src":"4317:2:98"}},{"id":65682,"nodeType":"ErrorDefinition","src":"4339:27:98","nodes":[],"errorSelector":"3bf5ca14","name":"AmountOverMaxRatio","nameLocation":"4345:18:98","parameters":{"id":65681,"nodeType":"ParameterList","parameters":[],"src":"4363:2:98"}},{"id":65684,"nodeType":"ErrorDefinition","src":"4385:27:98","nodes":[],"errorSelector":"4e791786","name":"PoolIdCannotBeZero","nameLocation":"4391:18:98","parameters":{"id":65683,"nodeType":"ParameterList","parameters":[],"src":"4409:2:98"}},{"id":65686,"nodeType":"ErrorDefinition","src":"4430:28:98","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"4436:19:98","parameters":{"id":65685,"nodeType":"ParameterList","parameters":[],"src":"4455:2:98"}},{"id":65688,"nodeType":"ErrorDefinition","src":"4476:29:98","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"4482:20:98","parameters":{"id":65687,"nodeType":"ParameterList","parameters":[],"src":"4502:2:98"}},{"id":65696,"nodeType":"ErrorDefinition","src":"4524:72:98","nodes":[],"errorSelector":"3bbc7142","name":"SupportUnderflow","nameLocation":"4530:16:98","parameters":{"id":65695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65690,"mutability":"mutable","name":"_support","nameLocation":"4555:8:98","nodeType":"VariableDeclaration","scope":65696,"src":"4547:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65689,"name":"uint256","nodeType":"ElementaryTypeName","src":"4547:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65692,"mutability":"mutable","name":"_delta","nameLocation":"4572:6:98","nodeType":"VariableDeclaration","scope":65696,"src":"4565:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":65691,"name":"int256","nodeType":"ElementaryTypeName","src":"4565:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":65694,"mutability":"mutable","name":"_result","nameLocation":"4587:7:98","nodeType":"VariableDeclaration","scope":65696,"src":"4580:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":65693,"name":"int256","nodeType":"ElementaryTypeName","src":"4580:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4546:49:98"}},{"id":65698,"nodeType":"ErrorDefinition","src":"4615:25:98","nodes":[],"errorSelector":"8402b474","name":"MaxPointsReached","nameLocation":"4621:16:98","parameters":{"id":65697,"nodeType":"ParameterList","parameters":[],"src":"4637:2:98"}},{"id":65700,"nodeType":"ErrorDefinition","src":"4659:32:98","nodes":[],"errorSelector":"573c3e93","name":"CantIncreaseFixedSystem","nameLocation":"4665:23:98","parameters":{"id":65699,"nodeType":"ParameterList","parameters":[],"src":"4688:2:98"}},{"id":65706,"nodeType":"ErrorDefinition","src":"4710:77:98","nodes":[],"errorSelector":"d64182fe","name":"NotEnoughPointsToSupport","nameLocation":"4716:24:98","parameters":{"id":65705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65702,"mutability":"mutable","name":"pointsSupport","nameLocation":"4749:13:98","nodeType":"VariableDeclaration","scope":65706,"src":"4741:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65701,"name":"uint256","nodeType":"ElementaryTypeName","src":"4741:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65704,"mutability":"mutable","name":"pointsBalance","nameLocation":"4772:13:98","nodeType":"VariableDeclaration","scope":65706,"src":"4764:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65703,"name":"uint256","nodeType":"ElementaryTypeName","src":"4764:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4740:46:98"}},{"id":65708,"nodeType":"ErrorDefinition","src":"4807:28:98","nodes":[],"errorSelector":"c5f7c4c0","name":"ProposalDataIsEmpty","nameLocation":"4813:19:98","parameters":{"id":65707,"nodeType":"ParameterList","parameters":[],"src":"4832:2:98"}},{"id":65710,"nodeType":"ErrorDefinition","src":"4853:31:98","nodes":[],"errorSelector":"f881a10d","name":"ProposalIdCannotBeZero","nameLocation":"4859:22:98","parameters":{"id":65709,"nodeType":"ParameterList","parameters":[],"src":"4881:2:98"}},{"id":65714,"nodeType":"ErrorDefinition","src":"4902:45:98","nodes":[],"errorSelector":"44980d8f","name":"ProposalNotActive","nameLocation":"4908:17:98","parameters":{"id":65713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65712,"mutability":"mutable","name":"_proposalId","nameLocation":"4934:11:98","nodeType":"VariableDeclaration","scope":65714,"src":"4926:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65711,"name":"uint256","nodeType":"ElementaryTypeName","src":"4926:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4925:21:98"}},{"id":65718,"nodeType":"ErrorDefinition","src":"4966:45:98","nodes":[],"errorSelector":"c1d17bef","name":"ProposalNotInList","nameLocation":"4972:17:98","parameters":{"id":65717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65716,"mutability":"mutable","name":"_proposalId","nameLocation":"4998:11:98","nodeType":"VariableDeclaration","scope":65718,"src":"4990:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65715,"name":"uint256","nodeType":"ElementaryTypeName","src":"4990:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4989:21:98"}},{"id":65724,"nodeType":"ErrorDefinition","src":"5030:68:98","nodes":[],"errorSelector":"adebb154","name":"ProposalSupportDuplicated","nameLocation":"5036:25:98","parameters":{"id":65723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65720,"mutability":"mutable","name":"_proposalId","nameLocation":"5070:11:98","nodeType":"VariableDeclaration","scope":65724,"src":"5062:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65719,"name":"uint256","nodeType":"ElementaryTypeName","src":"5062:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65722,"mutability":"mutable","name":"index","nameLocation":"5091:5:98","nodeType":"VariableDeclaration","scope":65724,"src":"5083:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65721,"name":"uint256","nodeType":"ElementaryTypeName","src":"5083:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5061:36:98"}},{"id":65726,"nodeType":"ErrorDefinition","src":"5116:40:98","nodes":[],"errorSelector":"cce79308","name":"ConvictionUnderMinimumThreshold","nameLocation":"5122:31:98","parameters":{"id":65725,"nodeType":"ParameterList","parameters":[],"src":"5153:2:98"}},{"id":65728,"nodeType":"ErrorDefinition","src":"5175:29:98","nodes":[],"errorSelector":"af0916a2","name":"OnlyCommunityAllowed","nameLocation":"5181:20:98","parameters":{"id":65727,"nodeType":"ParameterList","parameters":[],"src":"5201:2:98"}},{"id":65736,"nodeType":"ErrorDefinition","src":"5223:94:98","nodes":[],"errorSelector":"5863b0b6","name":"PoolAmountNotEnough","nameLocation":"5229:19:98","parameters":{"id":65735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65730,"mutability":"mutable","name":"_proposalId","nameLocation":"5257:11:98","nodeType":"VariableDeclaration","scope":65736,"src":"5249:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65729,"name":"uint256","nodeType":"ElementaryTypeName","src":"5249:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65732,"mutability":"mutable","name":"_requestedAmount","nameLocation":"5278:16:98","nodeType":"VariableDeclaration","scope":65736,"src":"5270:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65731,"name":"uint256","nodeType":"ElementaryTypeName","src":"5270:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65734,"mutability":"mutable","name":"_poolAmount","nameLocation":"5304:11:98","nodeType":"VariableDeclaration","scope":65736,"src":"5296:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65733,"name":"uint256","nodeType":"ElementaryTypeName","src":"5296:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5248:68:98"}},{"id":65738,"nodeType":"ErrorDefinition","src":"5335:24:98","nodes":[],"errorSelector":"e860ec7e","name":"OnlyCouncilSafe","nameLocation":"5341:15:98","parameters":{"id":65737,"nodeType":"ParameterList","parameters":[],"src":"5356:2:98"}},{"id":65740,"nodeType":"ErrorDefinition","src":"5364:32:98","nodes":[],"errorSelector":"5b96b588","name":"UserCannotExecuteAction","nameLocation":"5370:23:98","parameters":{"id":65739,"nodeType":"ParameterList","parameters":[],"src":"5393:2:98"}},{"id":65746,"nodeType":"ErrorDefinition","src":"5401:73:98","nodes":[],"errorSelector":"b07e3bc4","name":"InsufficientCollateral","nameLocation":"5407:22:98","parameters":{"id":65745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65742,"mutability":"mutable","name":"sentAmount","nameLocation":"5438:10:98","nodeType":"VariableDeclaration","scope":65746,"src":"5430:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65741,"name":"uint256","nodeType":"ElementaryTypeName","src":"5430:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65744,"mutability":"mutable","name":"requiredAmount","nameLocation":"5458:14:98","nodeType":"VariableDeclaration","scope":65746,"src":"5450:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65743,"name":"uint256","nodeType":"ElementaryTypeName","src":"5450:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5429:44:98"}},{"id":65748,"nodeType":"ErrorDefinition","src":"5479:23:98","nodes":[],"errorSelector":"2eef310a","name":"OnlyArbitrator","nameLocation":"5485:14:98","parameters":{"id":65747,"nodeType":"ParameterList","parameters":[],"src":"5499:2:98"}},{"id":65752,"nodeType":"ErrorDefinition","src":"5507:47:98","nodes":[],"errorSelector":"96023952","name":"ProposalNotDisputed","nameLocation":"5513:19:98","parameters":{"id":65751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65750,"mutability":"mutable","name":"_proposalId","nameLocation":"5541:11:98","nodeType":"VariableDeclaration","scope":65752,"src":"5533:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65749,"name":"uint256","nodeType":"ElementaryTypeName","src":"5533:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5532:21:98"}},{"id":65754,"nodeType":"ErrorDefinition","src":"5559:31:98","nodes":[],"errorSelector":"6c291fd3","name":"ArbitratorCannotBeZero","nameLocation":"5565:22:98","parameters":{"id":65753,"nodeType":"ParameterList","parameters":[],"src":"5587:2:98"}},{"id":65760,"nodeType":"ErrorDefinition","src":"5595:55:98","nodes":[],"errorSelector":"8a89b922","name":"OnlySubmitter","nameLocation":"5601:13:98","parameters":{"id":65759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65756,"mutability":"mutable","name":"submitter","nameLocation":"5623:9:98","nodeType":"VariableDeclaration","scope":65760,"src":"5615:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65755,"name":"address","nodeType":"ElementaryTypeName","src":"5615:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65758,"mutability":"mutable","name":"sender","nameLocation":"5642:6:98","nodeType":"VariableDeclaration","scope":65760,"src":"5634:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65757,"name":"address","nodeType":"ElementaryTypeName","src":"5634:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5614:35:98"}},{"id":65762,"nodeType":"ErrorDefinition","src":"5736:28:98","nodes":[],"errorSelector":"dd466dd0","name":"DefaultRulingNotSet","nameLocation":"5742:19:98","parameters":{"id":65761,"nodeType":"ParameterList","parameters":[],"src":"5761:2:98"}},{"id":65768,"nodeType":"ErrorDefinition","src":"5769:75:98","nodes":[],"errorSelector":"8d2f6c31","name":"DisputeCooldownNotPassed","nameLocation":"5775:24:98","parameters":{"id":65767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65764,"mutability":"mutable","name":"_proposalId","nameLocation":"5808:11:98","nodeType":"VariableDeclaration","scope":65768,"src":"5800:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65763,"name":"uint256","nodeType":"ElementaryTypeName","src":"5800:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65766,"mutability":"mutable","name":"_remainingSec","nameLocation":"5829:13:98","nodeType":"VariableDeclaration","scope":65768,"src":"5821:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65765,"name":"uint256","nodeType":"ElementaryTypeName","src":"5821:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5799:44:98"}},{"id":65775,"nodeType":"EventDefinition","src":"6016:73:98","nodes":[],"anonymous":false,"eventSelector":"e5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b","name":"InitializedCV","nameLocation":"6022:13:98","parameters":{"id":65774,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65770,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6044:6:98","nodeType":"VariableDeclaration","scope":65775,"src":"6036:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65769,"name":"uint256","nodeType":"ElementaryTypeName","src":"6036:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65773,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"6083:4:98","nodeType":"VariableDeclaration","scope":65775,"src":"6052:35:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0"},"typeName":{"id":65772,"nodeType":"UserDefinedTypeName","pathNode":{"id":65771,"name":"CVStrategyInitializeParamsV0_0","nameLocations":["6052:30:98"],"nodeType":"IdentifierPath","referencedDeclaration":65657,"src":"6052:30:98"},"referencedDeclaration":65657,"src":"6052:30:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_storage_ptr","typeString":"struct CVStrategyInitializeParamsV0_0"}},"visibility":"internal"}],"src":"6035:53:98"}},{"id":65783,"nodeType":"EventDefinition","src":"6094:75:98","nodes":[],"anonymous":false,"eventSelector":"a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847","name":"Distributed","nameLocation":"6100:11:98","parameters":{"id":65782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65777,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6120:10:98","nodeType":"VariableDeclaration","scope":65783,"src":"6112:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65776,"name":"uint256","nodeType":"ElementaryTypeName","src":"6112:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65779,"indexed":false,"mutability":"mutable","name":"beneficiary","nameLocation":"6140:11:98","nodeType":"VariableDeclaration","scope":65783,"src":"6132:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65778,"name":"address","nodeType":"ElementaryTypeName","src":"6132:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65781,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6161:6:98","nodeType":"VariableDeclaration","scope":65783,"src":"6153:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65780,"name":"uint256","nodeType":"ElementaryTypeName","src":"6153:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6111:57:98"}},{"id":65789,"nodeType":"EventDefinition","src":"6174:58:98","nodes":[],"anonymous":false,"eventSelector":"fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b","name":"ProposalCreated","nameLocation":"6180:15:98","parameters":{"id":65788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65785,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6204:6:98","nodeType":"VariableDeclaration","scope":65789,"src":"6196:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65784,"name":"uint256","nodeType":"ElementaryTypeName","src":"6196:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65787,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6220:10:98","nodeType":"VariableDeclaration","scope":65789,"src":"6212:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65786,"name":"uint256","nodeType":"ElementaryTypeName","src":"6212:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6195:36:98"}},{"id":65793,"nodeType":"EventDefinition","src":"6237:42:98","nodes":[],"anonymous":false,"eventSelector":"46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339","name":"PoolAmountIncreased","nameLocation":"6243:19:98","parameters":{"id":65792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65791,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6271:6:98","nodeType":"VariableDeclaration","scope":65793,"src":"6263:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65790,"name":"uint256","nodeType":"ElementaryTypeName","src":"6263:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6262:16:98"}},{"id":65797,"nodeType":"EventDefinition","src":"6284:40:98","nodes":[],"anonymous":false,"eventSelector":"1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b","name":"PointsDeactivated","nameLocation":"6290:17:98","parameters":{"id":65796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65795,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6316:6:98","nodeType":"VariableDeclaration","scope":65797,"src":"6308:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65794,"name":"address","nodeType":"ElementaryTypeName","src":"6308:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6307:16:98"}},{"id":65805,"nodeType":"EventDefinition","src":"6329:85:98","nodes":[],"anonymous":false,"eventSelector":"0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a","name":"PowerIncreased","nameLocation":"6335:14:98","parameters":{"id":65804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65799,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6358:6:98","nodeType":"VariableDeclaration","scope":65805,"src":"6350:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65798,"name":"address","nodeType":"ElementaryTypeName","src":"6350:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65801,"indexed":false,"mutability":"mutable","name":"tokensStaked","nameLocation":"6374:12:98","nodeType":"VariableDeclaration","scope":65805,"src":"6366:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65800,"name":"uint256","nodeType":"ElementaryTypeName","src":"6366:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65803,"indexed":false,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"6396:16:98","nodeType":"VariableDeclaration","scope":65805,"src":"6388:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65802,"name":"uint256","nodeType":"ElementaryTypeName","src":"6388:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6349:64:98"}},{"id":65813,"nodeType":"EventDefinition","src":"6419:87:98","nodes":[],"anonymous":false,"eventSelector":"70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1","name":"PowerDecreased","nameLocation":"6425:14:98","parameters":{"id":65812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65807,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6448:6:98","nodeType":"VariableDeclaration","scope":65813,"src":"6440:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65806,"name":"address","nodeType":"ElementaryTypeName","src":"6440:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65809,"indexed":false,"mutability":"mutable","name":"tokensUnStaked","nameLocation":"6464:14:98","nodeType":"VariableDeclaration","scope":65813,"src":"6456:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65808,"name":"uint256","nodeType":"ElementaryTypeName","src":"6456:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65811,"indexed":false,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"6488:16:98","nodeType":"VariableDeclaration","scope":65813,"src":"6480:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65810,"name":"uint256","nodeType":"ElementaryTypeName","src":"6480:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6439:66:98"}},{"id":65825,"nodeType":"EventDefinition","src":"6511:134:98","nodes":[],"anonymous":false,"eventSelector":"0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f","name":"SupportAdded","nameLocation":"6517:12:98","parameters":{"id":65824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65815,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"6547:4:98","nodeType":"VariableDeclaration","scope":65825,"src":"6539:12:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65814,"name":"address","nodeType":"ElementaryTypeName","src":"6539:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65817,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6561:10:98","nodeType":"VariableDeclaration","scope":65825,"src":"6553:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65816,"name":"uint256","nodeType":"ElementaryTypeName","src":"6553:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65819,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6581:6:98","nodeType":"VariableDeclaration","scope":65825,"src":"6573:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65818,"name":"uint256","nodeType":"ElementaryTypeName","src":"6573:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65821,"indexed":false,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"6597:17:98","nodeType":"VariableDeclaration","scope":65825,"src":"6589:25:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65820,"name":"uint256","nodeType":"ElementaryTypeName","src":"6589:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65823,"indexed":false,"mutability":"mutable","name":"convictionLast","nameLocation":"6624:14:98","nodeType":"VariableDeclaration","scope":65825,"src":"6616:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65822,"name":"uint256","nodeType":"ElementaryTypeName","src":"6616:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6529:115:98"}},{"id":65830,"nodeType":"EventDefinition","src":"6650:41:98","nodes":[],"anonymous":false,"eventSelector":"ec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc","name":"CVParamsUpdated","nameLocation":"6656:15:98","parameters":{"id":65829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65828,"indexed":false,"mutability":"mutable","name":"cvParams","nameLocation":"6681:8:98","nodeType":"VariableDeclaration","scope":65830,"src":"6672:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams"},"typeName":{"id":65827,"nodeType":"UserDefinedTypeName","pathNode":{"id":65826,"name":"CVParams","nameLocations":["6672:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65637,"src":"6672:8:98"},"referencedDeclaration":65637,"src":"6672:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage_ptr","typeString":"struct CVParams"}},"visibility":"internal"}],"src":"6671:19:98"}},{"id":65834,"nodeType":"EventDefinition","src":"6696:49:98","nodes":[],"anonymous":false,"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"6702:15:98","parameters":{"id":65833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65832,"indexed":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"6726:17:98","nodeType":"VariableDeclaration","scope":65834,"src":"6718:25:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65831,"name":"address","nodeType":"ElementaryTypeName","src":"6718:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6717:27:98"}},{"id":65840,"nodeType":"EventDefinition","src":"6750:76:98","nodes":[],"anonymous":false,"eventSelector":"056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b","name":"MinThresholdPointsUpdated","nameLocation":"6756:25:98","parameters":{"id":65839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65836,"indexed":false,"mutability":"mutable","name":"before","nameLocation":"6790:6:98","nodeType":"VariableDeclaration","scope":65840,"src":"6782:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65835,"name":"uint256","nodeType":"ElementaryTypeName","src":"6782:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65838,"indexed":false,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"6806:18:98","nodeType":"VariableDeclaration","scope":65840,"src":"6798:26:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65837,"name":"uint256","nodeType":"ElementaryTypeName","src":"6798:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6781:44:98"}},{"id":65855,"nodeType":"EventDefinition","src":"6831:195:98","nodes":[],"anonymous":false,"eventSelector":"034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d","name":"ProposalDisputed","nameLocation":"6837:16:98","parameters":{"id":65854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65843,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"6875:10:98","nodeType":"VariableDeclaration","scope":65855,"src":"6863:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"},"typeName":{"id":65842,"nodeType":"UserDefinedTypeName","pathNode":{"id":65841,"name":"IArbitrator","nameLocations":["6863:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":76325,"src":"6863:11:98"},"referencedDeclaration":76325,"src":"6863:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":65845,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6903:10:98","nodeType":"VariableDeclaration","scope":65855,"src":"6895:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65844,"name":"uint256","nodeType":"ElementaryTypeName","src":"6895:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65847,"indexed":false,"mutability":"mutable","name":"disputeId","nameLocation":"6931:9:98","nodeType":"VariableDeclaration","scope":65855,"src":"6923:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65846,"name":"uint256","nodeType":"ElementaryTypeName","src":"6923:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65849,"indexed":false,"mutability":"mutable","name":"challenger","nameLocation":"6958:10:98","nodeType":"VariableDeclaration","scope":65855,"src":"6950:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65848,"name":"address","nodeType":"ElementaryTypeName","src":"6950:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65851,"indexed":false,"mutability":"mutable","name":"context","nameLocation":"6985:7:98","nodeType":"VariableDeclaration","scope":65855,"src":"6978:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65850,"name":"string","nodeType":"ElementaryTypeName","src":"6978:6:98","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":65853,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"7010:9:98","nodeType":"VariableDeclaration","scope":65855,"src":"7002:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65852,"name":"uint256","nodeType":"ElementaryTypeName","src":"7002:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6853:172:98"}},{"id":65863,"nodeType":"EventDefinition","src":"7031:88:98","nodes":[],"anonymous":false,"eventSelector":"dc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f","name":"TribunaSafeRegistered","nameLocation":"7037:21:98","parameters":{"id":65862,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65857,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7067:8:98","nodeType":"VariableDeclaration","scope":65863,"src":"7059:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65856,"name":"address","nodeType":"ElementaryTypeName","src":"7059:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65859,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7085:10:98","nodeType":"VariableDeclaration","scope":65863,"src":"7077:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65858,"name":"address","nodeType":"ElementaryTypeName","src":"7077:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65861,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"7105:12:98","nodeType":"VariableDeclaration","scope":65863,"src":"7097:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65860,"name":"address","nodeType":"ElementaryTypeName","src":"7097:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7058:60:98"}},{"id":65867,"nodeType":"EventDefinition","src":"7124:44:98","nodes":[],"anonymous":false,"eventSelector":"416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c","name":"ProposalCancelled","nameLocation":"7130:17:98","parameters":{"id":65866,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65865,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7156:10:98","nodeType":"VariableDeclaration","scope":65867,"src":"7148:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65864,"name":"uint256","nodeType":"ElementaryTypeName","src":"7148:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7147:20:98"}},{"id":65884,"nodeType":"EventDefinition","src":"7173:302:98","nodes":[],"anonymous":false,"eventSelector":"e677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d53","name":"ArbitrableConfigUpdated","nameLocation":"7179:23:98","parameters":{"id":65883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65869,"indexed":false,"mutability":"mutable","name":"currentArbitrableConfigVersion","nameLocation":"7220:30:98","nodeType":"VariableDeclaration","scope":65884,"src":"7212:38:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65868,"name":"uint256","nodeType":"ElementaryTypeName","src":"7212:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65872,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7272:10:98","nodeType":"VariableDeclaration","scope":65884,"src":"7260:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"},"typeName":{"id":65871,"nodeType":"UserDefinedTypeName","pathNode":{"id":65870,"name":"IArbitrator","nameLocations":["7260:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":76325,"src":"7260:11:98"},"referencedDeclaration":76325,"src":"7260:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":65874,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"7300:12:98","nodeType":"VariableDeclaration","scope":65884,"src":"7292:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65873,"name":"address","nodeType":"ElementaryTypeName","src":"7292:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65876,"indexed":false,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"7330:25:98","nodeType":"VariableDeclaration","scope":65884,"src":"7322:33:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65875,"name":"uint256","nodeType":"ElementaryTypeName","src":"7322:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65878,"indexed":false,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"7373:26:98","nodeType":"VariableDeclaration","scope":65884,"src":"7365:34:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65877,"name":"uint256","nodeType":"ElementaryTypeName","src":"7365:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65880,"indexed":false,"mutability":"mutable","name":"defaultRuling","nameLocation":"7417:13:98","nodeType":"VariableDeclaration","scope":65884,"src":"7409:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65879,"name":"uint256","nodeType":"ElementaryTypeName","src":"7409:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65882,"indexed":false,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"7448:20:98","nodeType":"VariableDeclaration","scope":65884,"src":"7440:28:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65881,"name":"uint256","nodeType":"ElementaryTypeName","src":"7440:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7202:272:98"}},{"id":65887,"nodeType":"VariableDeclaration","src":"7849:38:98","nodes":[],"constant":true,"functionSelector":"ffa1ad74","mutability":"constant","name":"VERSION","nameLocation":"7872:7:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65885,"name":"string","nodeType":"ElementaryTypeName","src":"7849:6:98","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"302e30","id":65886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7882:5:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_7be32719f3172a4c9a8d1f020e88b7d75f936a7394cfbfe03d409404e58cbdc3","typeString":"literal_string \"0.0\""},"value":"0.0"},"visibility":"public"},{"id":65890,"nodeType":"VariableDeclaration","src":"7893:36:98","nodes":[],"constant":true,"functionSelector":"0f529ba2","mutability":"constant","name":"D","nameLocation":"7917:1:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65888,"name":"uint256","nodeType":"ElementaryTypeName","src":"7893:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130303030303030","id":65889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7921:8:98","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"value":"10000000"},"visibility":"public"},{"id":65893,"nodeType":"VariableDeclaration","src":"7943:71:98","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"7969:7:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65891,"name":"uint256","nodeType":"ElementaryTypeName","src":"7943:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078313030303030303030303030303030303030303030303030303030303030303030","id":65892,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7979:35:98","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"value":"0x100000000000000000000000000000000"},"visibility":"internal"},{"id":65896,"nodeType":"VariableDeclaration","src":"8030:70:98","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"8056:7:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65894,"name":"uint256","nodeType":"ElementaryTypeName","src":"8030:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783830303030303030303030303030303030303030303030303030303030303030","id":65895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8066:34:98","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"value":"0x80000000000000000000000000000000"},"visibility":"internal"},{"id":65899,"nodeType":"VariableDeclaration","src":"8116:54:98","nodes":[],"constant":true,"mutability":"constant","name":"TWO_64","nameLocation":"8142:6:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65897,"name":"uint256","nodeType":"ElementaryTypeName","src":"8116:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783130303030303030303030303030303030","id":65898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8151:19:98","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"value":"0x10000000000000000"},"visibility":"internal"},{"id":65902,"nodeType":"VariableDeclaration","src":"8185:49:98","nodes":[],"constant":true,"functionSelector":"406244d8","mutability":"constant","name":"MAX_STAKED_PROPOSALS","nameLocation":"8209:20:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65900,"name":"uint256","nodeType":"ElementaryTypeName","src":"8185:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130","id":65901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8232:2:98","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"id":65905,"nodeType":"VariableDeclaration","src":"8320:42:98","nodes":[],"constant":true,"functionSelector":"626c47e8","mutability":"constant","name":"RULING_OPTIONS","nameLocation":"8344:14:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65903,"name":"uint256","nodeType":"ElementaryTypeName","src":"8320:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":65904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8361:1:98","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"public"},{"id":65908,"nodeType":"VariableDeclaration","src":"8368:54:98","nodes":[],"constant":true,"functionSelector":"f5be3f7c","mutability":"constant","name":"DISPUTE_COOLDOWN_SEC","nameLocation":"8392:20:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65906,"name":"uint256","nodeType":"ElementaryTypeName","src":"8368:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":65907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8415:7:98","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_7200_by_1","typeString":"int_const 7200"},"value":"2"},"visibility":"public"},{"id":65910,"nodeType":"VariableDeclaration","src":"8429:40:98","nodes":[],"constant":false,"mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"8446:23:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65909,"name":"address","nodeType":"ElementaryTypeName","src":"8429:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":65912,"nodeType":"VariableDeclaration","src":"8517:47:98","nodes":[],"constant":false,"mutability":"mutable","name":"surpressStateMutabilityWarning","nameLocation":"8534:30:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65911,"name":"uint256","nodeType":"ElementaryTypeName","src":"8517:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":65914,"nodeType":"VariableDeclaration","src":"8608:25:98","nodes":[],"constant":false,"functionSelector":"33960459","mutability":"mutable","name":"cloneNonce","nameLocation":"8623:10:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65913,"name":"uint256","nodeType":"ElementaryTypeName","src":"8608:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65916,"nodeType":"VariableDeclaration","src":"8639:26:98","nodes":[],"constant":false,"functionSelector":"a28889e1","mutability":"mutable","name":"disputeCount","nameLocation":"8653:12:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":65915,"name":"uint64","nodeType":"ElementaryTypeName","src":"8639:6:98","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"public"},{"id":65918,"nodeType":"VariableDeclaration","src":"8671:30:98","nodes":[],"constant":false,"functionSelector":"0c0512e9","mutability":"mutable","name":"proposalCounter","nameLocation":"8686:15:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65917,"name":"uint256","nodeType":"ElementaryTypeName","src":"8671:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65920,"nodeType":"VariableDeclaration","src":"8707:45:98","nodes":[],"constant":false,"functionSelector":"125fd1d9","mutability":"mutable","name":"currentArbitrableConfigVersion","nameLocation":"8722:30:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65919,"name":"uint256","nodeType":"ElementaryTypeName","src":"8707:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65922,"nodeType":"VariableDeclaration","src":"8759:26:98","nodes":[],"constant":false,"functionSelector":"817b1cd2","mutability":"mutable","name":"totalStaked","nameLocation":"8774:11:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65921,"name":"uint256","nodeType":"ElementaryTypeName","src":"8759:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65924,"nodeType":"VariableDeclaration","src":"8791:35:98","nodes":[],"constant":false,"functionSelector":"aba9ffee","mutability":"mutable","name":"totalPointsActivated","nameLocation":"8806:20:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65923,"name":"uint256","nodeType":"ElementaryTypeName","src":"8791:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65927,"nodeType":"VariableDeclaration","src":"8833:24:98","nodes":[],"constant":false,"functionSelector":"2506b870","mutability":"mutable","name":"cvParams","nameLocation":"8849:8:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage","typeString":"struct CVParams"},"typeName":{"id":65926,"nodeType":"UserDefinedTypeName","pathNode":{"id":65925,"name":"CVParams","nameLocations":["8833:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65637,"src":"8833:8:98"},"referencedDeclaration":65637,"src":"8833:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage_ptr","typeString":"struct CVParams"}},"visibility":"public"},{"id":65930,"nodeType":"VariableDeclaration","src":"8904:32:98","nodes":[],"constant":false,"functionSelector":"351d9f96","mutability":"mutable","name":"proposalType","nameLocation":"8924:12:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"},"typeName":{"id":65929,"nodeType":"UserDefinedTypeName","pathNode":{"id":65928,"name":"ProposalType","nameLocations":["8904:12:98"],"nodeType":"IdentifierPath","referencedDeclaration":65540,"src":"8904:12:98"},"referencedDeclaration":65540,"src":"8904:12:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"visibility":"public"},{"id":65933,"nodeType":"VariableDeclaration","src":"8995:30:98","nodes":[],"constant":false,"functionSelector":"2dbd6fdd","mutability":"mutable","name":"pointSystem","nameLocation":"9014:11:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"},"typeName":{"id":65932,"nodeType":"UserDefinedTypeName","pathNode":{"id":65931,"name":"PointSystem","nameLocations":["8995:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":65545,"src":"8995:11:98"},"referencedDeclaration":65545,"src":"8995:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"visibility":"public"},{"id":65936,"nodeType":"VariableDeclaration","src":"9031:36:98","nodes":[],"constant":false,"functionSelector":"a47ff7e5","mutability":"mutable","name":"pointConfig","nameLocation":"9056:11:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_storage","typeString":"struct PointSystemConfig"},"typeName":{"id":65935,"nodeType":"UserDefinedTypeName","pathNode":{"id":65934,"name":"PointSystemConfig","nameLocations":["9031:17:98"],"nodeType":"IdentifierPath","referencedDeclaration":65614,"src":"9031:17:98"},"referencedDeclaration":65614,"src":"9031:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_storage_ptr","typeString":"struct PointSystemConfig"}},"visibility":"public"},{"id":65938,"nodeType":"VariableDeclaration","src":"9100:32:98","nodes":[],"constant":false,"functionSelector":"6003e414","mutability":"mutable","name":"registryCommunity","nameLocation":"9115:17:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65937,"name":"address","nodeType":"ElementaryTypeName","src":"9100:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":65941,"nodeType":"VariableDeclaration","src":"9139:39:98","nodes":[],"constant":false,"functionSelector":"0bece79c","mutability":"mutable","name":"collateralVault","nameLocation":"9163:15:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"},"typeName":{"id":65940,"nodeType":"UserDefinedTypeName","pathNode":{"id":65939,"name":"ICollateralVault","nameLocations":["9139:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":76358,"src":"9139:16:98"},"referencedDeclaration":76358,"src":"9139:16:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"visibility":"public"},{"id":65944,"nodeType":"VariableDeclaration","src":"9184:31:98","nodes":[],"constant":false,"functionSelector":"b6c61f31","mutability":"mutable","name":"sybilScorer","nameLocation":"9204:11:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"},"typeName":{"id":65943,"nodeType":"UserDefinedTypeName","pathNode":{"id":65942,"name":"ISybilScorer","nameLocations":["9184:12:98"],"nodeType":"IdentifierPath","referencedDeclaration":70122,"src":"9184:12:98"},"referencedDeclaration":70122,"src":"9184:12:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}},"visibility":"public"},{"id":65949,"nodeType":"VariableDeclaration","src":"9282:45:98","nodes":[],"constant":false,"functionSelector":"013cf08b","mutability":"mutable","name":"proposals","nameLocation":"9318:9:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal)"},"typeName":{"id":65948,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65945,"name":"uint256","nodeType":"ElementaryTypeName","src":"9290:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9282:28:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65947,"nodeType":"UserDefinedTypeName","pathNode":{"id":65946,"name":"Proposal","nameLocations":["9301:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65606,"src":"9301:8:98"},"referencedDeclaration":65606,"src":"9301:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"}}},"visibility":"public"},{"id":65953,"nodeType":"VariableDeclaration","src":"9383:53:98","nodes":[],"constant":false,"functionSelector":"5db64b99","mutability":"mutable","name":"totalVoterStakePct","nameLocation":"9418:18:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":65952,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65950,"name":"address","nodeType":"ElementaryTypeName","src":"9391:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9383:27:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65951,"name":"uint256","nodeType":"ElementaryTypeName","src":"9402:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":65958,"nodeType":"VariableDeclaration","src":"9474:57:98","nodes":[],"constant":false,"functionSelector":"868c57b8","mutability":"mutable","name":"voterStakedProposals","nameLocation":"9511:20:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"typeName":{"id":65957,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65954,"name":"address","nodeType":"ElementaryTypeName","src":"9482:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9474:29:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":65955,"name":"uint256","nodeType":"ElementaryTypeName","src":"9493:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65956,"nodeType":"ArrayTypeName","src":"9493:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"public"},{"id":65962,"nodeType":"VariableDeclaration","src":"9569:56:98","nodes":[],"constant":false,"functionSelector":"255ffb38","mutability":"mutable","name":"disputeIdToProposalId","nameLocation":"9604:21:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":65961,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65959,"name":"uint256","nodeType":"ElementaryTypeName","src":"9577:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9569:27:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65960,"name":"uint256","nodeType":"ElementaryTypeName","src":"9588:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":65967,"nodeType":"VariableDeclaration","src":"9631:61:98","nodes":[],"constant":false,"functionSelector":"41bb7605","mutability":"mutable","name":"arbitrableConfigs","nameLocation":"9675:17:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig)"},"typeName":{"id":65966,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65963,"name":"uint256","nodeType":"ElementaryTypeName","src":"9639:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9631:36:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65965,"nodeType":"UserDefinedTypeName","pathNode":{"id":65964,"name":"ArbitrableConfig","nameLocations":["9650:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65628,"src":"9650:16:98"},"referencedDeclaration":65628,"src":"9650:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage_ptr","typeString":"struct ArbitrableConfig"}}},"visibility":"public"},{"id":65978,"nodeType":"FunctionDefinition","src":"9699:140:98","nodes":[],"body":{"id":65977,"nodeType":"Block","src":"9775:64:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":65974,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65938,"src":"9814:17:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65973,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72700,"src":"9792:21:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":65975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9792:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"functionReturnParameters":65972,"id":65976,"nodeType":"Return","src":"9785:47:98"}]},"functionSelector":"48f19c1d","implemented":true,"kind":"function","modifiers":[],"name":"getRegistryCommunity","nameLocation":"9708:20:98","parameters":{"id":65968,"nodeType":"ParameterList","parameters":[],"src":"9728:2:98"},"returnParameters":{"id":65972,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65971,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65978,"src":"9752:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":65970,"nodeType":"UserDefinedTypeName","pathNode":{"id":65969,"name":"RegistryCommunityV0_0","nameLocations":["9752:21:98"],"nodeType":"IdentifierPath","referencedDeclaration":72700,"src":"9752:21:98"},"referencedDeclaration":72700,"src":"9752:21:98","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"visibility":"internal"}],"src":"9751:23:98"},"scope":69194,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":66002,"nodeType":"FunctionDefinition","src":"10090:222:98","nodes":[],"body":{"id":66001,"nodeType":"Block","src":"10197:115:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":65992,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65980,"src":"10218:5:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"43565374726174656779","id":65993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10225:12:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},"value":"CVStrategy"},{"id":65994,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65984,"src":"10239:5:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65989,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"10207:5:98","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$69194_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":65991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10213:4:98","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":64915,"src":"10207:10:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (address,string memory,address)"}},"id":65995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10207:38:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65996,"nodeType":"ExpressionStatement","src":"10207:38:98"},{"expression":{"id":65999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65997,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65910,"src":"10255:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":65998,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65982,"src":"10281:24:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10255:50:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66000,"nodeType":"ExpressionStatement","src":"10255:50:98"}]},"functionSelector":"184b9559","implemented":true,"kind":"function","modifiers":[{"id":65987,"kind":"modifierInvocation","modifierName":{"id":65986,"name":"initializer","nameLocations":["10185:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":53054,"src":"10185:11:98"},"nodeType":"ModifierInvocation","src":"10185:11:98"}],"name":"init","nameLocation":"10099:4:98","parameters":{"id":65985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65980,"mutability":"mutable","name":"_allo","nameLocation":"10112:5:98","nodeType":"VariableDeclaration","scope":66002,"src":"10104:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65979,"name":"address","nodeType":"ElementaryTypeName","src":"10104:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65982,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"10127:24:98","nodeType":"VariableDeclaration","scope":66002,"src":"10119:32:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65981,"name":"address","nodeType":"ElementaryTypeName","src":"10119:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65984,"mutability":"mutable","name":"owner","nameLocation":"10161:5:98","nodeType":"VariableDeclaration","scope":66002,"src":"10153:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65983,"name":"address","nodeType":"ElementaryTypeName","src":"10153:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10103:64:98"},"returnParameters":{"id":65988,"nodeType":"ParameterList","parameters":[],"src":"10197:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66093,"nodeType":"FunctionDefinition","src":"10318:799:98","nodes":[],"body":{"id":66092,"nodeType":"Block","src":"10401:716:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":66012,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66004,"src":"10431:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66011,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65051,"src":"10411:19:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":66013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10411:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66014,"nodeType":"ExpressionStatement","src":"10411:28:98"},{"expression":{"id":66024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66015,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65941,"src":"10450:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":66019,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65910,"src":"10503:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10528:12:98","subExpression":{"id":66020,"name":"cloneNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65914,"src":"10528:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66017,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"10485:5:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":66018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10491:11:98","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"10485:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":66022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10485:56:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66016,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76358,"src":"10468:16:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ICollateralVault_$76358_$","typeString":"type(contract ICollateralVault)"}},"id":66023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10468:74:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"src":"10450:92:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"id":66025,"nodeType":"ExpressionStatement","src":"10450:92:98"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66026,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65941,"src":"10552:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"id":66028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10568:10:98","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":76330,"src":"10552:26:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":66029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10552:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66030,"nodeType":"ExpressionStatement","src":"10552:28:98"},{"assignments":[66033],"declarations":[{"constant":false,"id":66033,"mutability":"mutable","name":"ip","nameLocation":"10629:2:98","nodeType":"VariableDeclaration","scope":66092,"src":"10591:40:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0"},"typeName":{"id":66032,"nodeType":"UserDefinedTypeName","pathNode":{"id":66031,"name":"CVStrategyInitializeParamsV0_0","nameLocations":["10591:30:98"],"nodeType":"IdentifierPath","referencedDeclaration":65657,"src":"10591:30:98"},"referencedDeclaration":65657,"src":"10591:30:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_storage_ptr","typeString":"struct CVStrategyInitializeParamsV0_0"}},"visibility":"internal"}],"id":66040,"initialValue":{"arguments":[{"id":66036,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66006,"src":"10645:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":66037,"name":"CVStrategyInitializeParamsV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65657,"src":"10653:30:98","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CVStrategyInitializeParamsV0_0_$65657_storage_ptr_$","typeString":"type(struct CVStrategyInitializeParamsV0_0 storage pointer)"}}],"id":66038,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"10652:32:98","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CVStrategyInitializeParamsV0_0_$65657_storage_ptr_$","typeString":"type(struct CVStrategyInitializeParamsV0_0 storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CVStrategyInitializeParamsV0_0_$65657_storage_ptr_$","typeString":"type(struct CVStrategyInitializeParamsV0_0 storage pointer)"}],"expression":{"id":66034,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10634:3:98","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66035,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10638:6:98","memberName":"decode","nodeType":"MemberAccess","src":"10634:10:98","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":66039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10634:51:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0 memory"}},"nodeType":"VariableDeclarationStatement","src":"10591:94:98"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66041,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66033,"src":"10700:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0 memory"}},"id":66042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10703:17:98","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":65654,"src":"10700:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10732:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10724:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66043,"name":"address","nodeType":"ElementaryTypeName","src":"10724:7:98","typeDescriptions":{}}},"id":66046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10724:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10700:34:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66052,"nodeType":"IfStatement","src":"10696:94:98","trueBody":{"id":66051,"nodeType":"Block","src":"10736:54:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66048,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65688,"src":"10757:20:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10757:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66050,"nodeType":"RevertStatement","src":"10750:29:98"}]}},{"expression":{"id":66056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66053,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65938,"src":"10800:17:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66054,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66033,"src":"10820:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0 memory"}},"id":66055,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10823:17:98","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":65654,"src":"10820:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10800:40:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66057,"nodeType":"ExpressionStatement","src":"10800:40:98"},{"expression":{"id":66061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66058,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65930,"src":"10851:12:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66059,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66033,"src":"10866:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0 memory"}},"id":66060,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10869:12:98","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":65643,"src":"10866:15:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"src":"10851:30:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"id":66062,"nodeType":"ExpressionStatement","src":"10851:30:98"},{"expression":{"id":66066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66063,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65933,"src":"10891:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66064,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66033,"src":"10905:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0 memory"}},"id":66065,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10908:11:98","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":65646,"src":"10905:14:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"src":"10891:28:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"id":66067,"nodeType":"ExpressionStatement","src":"10891:28:98"},{"expression":{"id":66071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66068,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65936,"src":"10929:11:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_storage","typeString":"struct PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66069,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66033,"src":"10943:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0 memory"}},"id":66070,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10946:11:98","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":65649,"src":"10943:14:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_memory_ptr","typeString":"struct PointSystemConfig memory"}},"src":"10929:28:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_storage","typeString":"struct PointSystemConfig storage ref"}},"id":66072,"nodeType":"ExpressionStatement","src":"10929:28:98"},{"expression":{"id":66078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66073,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65944,"src":"10967:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":66075,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66033,"src":"10994:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0 memory"}},"id":66076,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10997:11:98","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":65656,"src":"10994:14:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66074,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70122,"src":"10981:12:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$70122_$","typeString":"type(contract ISybilScorer)"}},"id":66077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10981:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}},"src":"10967:42:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}},"id":66079,"nodeType":"ExpressionStatement","src":"10967:42:98"},{"expression":{"arguments":[{"expression":{"id":66081,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66033,"src":"11035:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0 memory"}},"id":66082,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11038:16:98","memberName":"arbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":65652,"src":"11035:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},{"expression":{"id":66083,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66033,"src":"11056:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0 memory"}},"id":66084,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11059:8:98","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":65640,"src":"11056:11:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams memory"}],"id":66080,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68596,"src":"11020:14:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$65628_memory_ptr_$_t_struct$_CVParams_$65637_memory_ptr_$returns$__$","typeString":"function (struct ArbitrableConfig memory,struct CVParams memory)"}},"id":66085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11020:48:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66086,"nodeType":"ExpressionStatement","src":"11020:48:98"},{"eventCall":{"arguments":[{"id":66088,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66004,"src":"11098:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66089,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66033,"src":"11107:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0 memory"}],"id":66087,"name":"InitializedCV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"11084:13:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr_$returns$__$","typeString":"function (uint256,struct CVStrategyInitializeParamsV0_0 memory)"}},"id":66090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11084:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66091,"nodeType":"EmitStatement","src":"11079:31:98"}]},"baseFunctions":[2939],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[{"id":66009,"kind":"modifierInvocation","modifierName":{"id":66008,"name":"onlyAllo","nameLocations":["10392:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":64923,"src":"10392:8:98"},"nodeType":"ModifierInvocation","src":"10392:8:98"}],"name":"initialize","nameLocation":"10327:10:98","parameters":{"id":66007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66004,"mutability":"mutable","name":"_poolId","nameLocation":"10346:7:98","nodeType":"VariableDeclaration","scope":66093,"src":"10338:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66003,"name":"uint256","nodeType":"ElementaryTypeName","src":"10338:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66006,"mutability":"mutable","name":"_data","nameLocation":"10368:5:98","nodeType":"VariableDeclaration","scope":66093,"src":"10355:18:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66005,"name":"bytes","nodeType":"ElementaryTypeName","src":"10355:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10337:37:98"},"returnParameters":{"id":66010,"nodeType":"ParameterList","parameters":[],"src":"10401:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66097,"nodeType":"FunctionDefinition","src":"11288:83:98","nodes":[],"body":{"id":66096,"nodeType":"Block","src":"11316:55:98","nodes":[],"statements":[]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":66094,"nodeType":"ParameterList","parameters":[],"src":"11296:2:98"},"returnParameters":{"id":66095,"nodeType":"ParameterList","parameters":[],"src":"11316:0:98"},"scope":69194,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":66101,"nodeType":"FunctionDefinition","src":"11377:135:98","nodes":[],"body":{"id":66100,"nodeType":"Block","src":"11404:108:98","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":66098,"nodeType":"ParameterList","parameters":[],"src":"11384:2:98"},"returnParameters":{"id":66099,"nodeType":"ParameterList","parameters":[],"src":"11404:0:98"},"scope":69194,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":66123,"nodeType":"FunctionDefinition","src":"11518:210:98","nodes":[],"body":{"id":66122,"nodeType":"Block","src":"11617:111:98","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":66120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":66115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66110,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66103,"src":"11634:11:98","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":66112,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65536,"src":"11654:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65536_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65536_$","typeString":"type(contract IPointStrategy)"}],"id":66111,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11649:4:98","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":66113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11649:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$65536","typeString":"type(contract IPointStrategy)"}},"id":66114,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11670:11:98","memberName":"interfaceId","nodeType":"MemberAccess","src":"11649:32:98","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"11634:47:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":66118,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66103,"src":"11709:11:98","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":66116,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"11685:5:98","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$69194_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":66117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11691:17:98","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57724,"src":"11685:23:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":66119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11685:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11634:87:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":66109,"id":66121,"nodeType":"Return","src":"11627:94:98"}]},"baseFunctions":[57724],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"11527:17:98","overrides":{"id":66106,"nodeType":"OverrideSpecifier","overrides":[{"id":66105,"name":"ERC165","nameLocations":["11594:6:98"],"nodeType":"IdentifierPath","referencedDeclaration":57725,"src":"11594:6:98"}],"src":"11585:16:98"},"parameters":{"id":66104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66103,"mutability":"mutable","name":"interfaceId","nameLocation":"11552:11:98","nodeType":"VariableDeclaration","scope":66123,"src":"11545:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":66102,"name":"bytes4","nodeType":"ElementaryTypeName","src":"11545:6:98","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"11544:20:98"},"returnParameters":{"id":66109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66108,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66123,"src":"11611:4:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66107,"name":"bool","nodeType":"ElementaryTypeName","src":"11611:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11610:6:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":66165,"nodeType":"FunctionDefinition","src":"11899:391:98","nodes":[],"body":{"id":66164,"nodeType":"Block","src":"11967:323:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66128,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66125,"src":"11981:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12000:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66130,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11992:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66129,"name":"address","nodeType":"ElementaryTypeName","src":"11992:7:98","typeDescriptions":{}}},"id":66132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11992:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11981:21:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66138,"nodeType":"IfStatement","src":"11977:77:98","trueBody":{"id":66137,"nodeType":"Block","src":"12004:50:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66134,"name":"UserCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65668,"src":"12025:16:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12025:18:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66136,"nodeType":"RevertStatement","src":"12018:25:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66141,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65938,"src":"12075:17:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12067:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66139,"name":"address","nodeType":"ElementaryTypeName","src":"12067:7:98","typeDescriptions":{}}},"id":66142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12067:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12105:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66144,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12097:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66143,"name":"address","nodeType":"ElementaryTypeName","src":"12097:7:98","typeDescriptions":{}}},"id":66146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12097:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12067:40:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66152,"nodeType":"IfStatement","src":"12063:100:98","trueBody":{"id":66151,"nodeType":"Block","src":"12109:54:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66148,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65688,"src":"12130:20:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12130:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66150,"nodeType":"RevertStatement","src":"12123:29:98"}]}},{"condition":{"id":66158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12176:41:98","subExpression":{"arguments":[{"id":66156,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66125,"src":"12209:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66153,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"12177:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12177:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":66155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12200:8:98","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":72317,"src":"12177:31:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":66157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12177:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66163,"nodeType":"IfStatement","src":"12172:98:98","trueBody":{"id":66162,"nodeType":"Block","src":"12219:51:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66159,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65670,"src":"12240:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12240:19:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66161,"nodeType":"RevertStatement","src":"12233:26:98"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSenderIsMember","nameLocation":"11908:19:98","parameters":{"id":66126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66125,"mutability":"mutable","name":"_sender","nameLocation":"11936:7:98","nodeType":"VariableDeclaration","scope":66165,"src":"11928:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66124,"name":"address","nodeType":"ElementaryTypeName","src":"11928:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11927:17:98"},"returnParameters":{"id":66127,"nodeType":"ParameterList","parameters":[],"src":"11967:0:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66181,"nodeType":"FunctionDefinition","src":"12296:171:98","nodes":[],"body":{"id":66180,"nodeType":"Block","src":"12351:116:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66168,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12365:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12369:6:98","memberName":"sender","nodeType":"MemberAccess","src":"12365:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":66172,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65938,"src":"12387:17:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66171,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12379:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66170,"name":"address","nodeType":"ElementaryTypeName","src":"12379:7:98","typeDescriptions":{}}},"id":66173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12379:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12365:40:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66179,"nodeType":"IfStatement","src":"12361:100:98","trueBody":{"id":66178,"nodeType":"Block","src":"12407:54:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66175,"name":"OnlyCommunityAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65728,"src":"12428:20:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12428:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66177,"nodeType":"RevertStatement","src":"12421:29:98"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryCommunity","nameLocation":"12305:21:98","parameters":{"id":66166,"nodeType":"ParameterList","parameters":[],"src":"12326:2:98"},"returnParameters":{"id":66167,"nodeType":"ParameterList","parameters":[],"src":"12351:0:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66197,"nodeType":"FunctionDefinition","src":"12473:141:98","nodes":[],"body":{"id":66196,"nodeType":"Block","src":"12541:73:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66186,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66183,"src":"12555:8:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12575:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66188,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12567:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66187,"name":"address","nodeType":"ElementaryTypeName","src":"12567:7:98","typeDescriptions":{}}},"id":66190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12567:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12555:22:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66195,"nodeType":"IfStatement","src":"12551:56:98","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66192,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65686,"src":"12586:19:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12586:21:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66194,"nodeType":"RevertStatement","src":"12579:28:98"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"12482:18:98","parameters":{"id":66184,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66183,"mutability":"mutable","name":"_address","nameLocation":"12509:8:98","nodeType":"VariableDeclaration","scope":66197,"src":"12501:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66182,"name":"address","nodeType":"ElementaryTypeName","src":"12501:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12500:18:98"},"returnParameters":{"id":66185,"nodeType":"ParameterList","parameters":[],"src":"12541:0:98"},"scope":69194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":66216,"nodeType":"FunctionDefinition","src":"12620:179:98","nodes":[],"body":{"id":66215,"nodeType":"Block","src":"12669:130:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66200,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12683:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12687:6:98","memberName":"sender","nodeType":"MemberAccess","src":"12683:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66204,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"12705:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12705:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":66206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12728:11:98","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":71024,"src":"12705:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$76451_$","typeString":"function () view external returns (contract ISafe)"}},"id":66207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12705:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}],"id":66203,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12697:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66202,"name":"address","nodeType":"ElementaryTypeName","src":"12697:7:98","typeDescriptions":{}}},"id":66208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12697:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12683:59:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66214,"nodeType":"IfStatement","src":"12679:114:98","trueBody":{"id":66213,"nodeType":"Block","src":"12744:49:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66210,"name":"OnlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65738,"src":"12765:15:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12765:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66212,"nodeType":"RevertStatement","src":"12758:24:98"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyCouncilSafe","nameLocation":"12629:15:98","parameters":{"id":66198,"nodeType":"ParameterList","parameters":[],"src":"12644:2:98"},"returnParameters":{"id":66199,"nodeType":"ParameterList","parameters":[],"src":"12669:0:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66256,"nodeType":"FunctionDefinition","src":"12805:296:98","nodes":[],"body":{"id":66255,"nodeType":"Block","src":"12884:217:98","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"737962696c53636f726572","id":66226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12906:13:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_a6b38130d269538e3ad3b780bdc2f658c787bffeb47fb2e13772051f0238e91f","typeString":"literal_string \"sybilScorer\""},"value":"sybilScorer"},{"arguments":[{"id":66229,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65944,"src":"12929:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}],"id":66228,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12921:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66227,"name":"address","nodeType":"ElementaryTypeName","src":"12921:7:98","typeDescriptions":{}}},"id":66230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12921:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a6b38130d269538e3ad3b780bdc2f658c787bffeb47fb2e13772051f0238e91f","typeString":"literal_string \"sybilScorer\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66223,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29510,"src":"12894:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29510_$","typeString":"type(library console)"}},"id":66225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12902:3:98","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22205,"src":"12894:11:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) view"}},"id":66231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12894:48:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66232,"nodeType":"ExpressionStatement","src":"12894:48:98"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66235,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65944,"src":"12964:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}],"id":66234,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12956:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66233,"name":"address","nodeType":"ElementaryTypeName","src":"12956:7:98","typeDescriptions":{}}},"id":66236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12956:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12988:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66238,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12980:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66237,"name":"address","nodeType":"ElementaryTypeName","src":"12980:7:98","typeDescriptions":{}}},"id":66240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12980:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12956:34:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66245,"nodeType":"IfStatement","src":"12952:76:98","trueBody":{"id":66244,"nodeType":"Block","src":"12992:36:98","statements":[{"expression":{"hexValue":"74727565","id":66242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13013:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":66222,"id":66243,"nodeType":"Return","src":"13006:11:98"}]}},{"expression":{"arguments":[{"id":66248,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66218,"src":"13073:5:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66251,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13088:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}],"id":66250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13080:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66249,"name":"address","nodeType":"ElementaryTypeName","src":"13080:7:98","typeDescriptions":{}}},"id":66252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13080:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66246,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65944,"src":"13044:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}},"id":66247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13056:16:98","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":70079,"src":"13044:28:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":66253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13044:50:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":66222,"id":66254,"nodeType":"Return","src":"13037:57:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"12814:17:98","parameters":{"id":66219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66218,"mutability":"mutable","name":"_user","nameLocation":"12840:5:98","nodeType":"VariableDeclaration","scope":66256,"src":"12832:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66217,"name":"address","nodeType":"ElementaryTypeName","src":"12832:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12831:15:98"},"returnParameters":{"id":66222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66221,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66256,"src":"12878:4:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66220,"name":"bool","nodeType":"ElementaryTypeName","src":"12878:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12877:6:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66268,"nodeType":"FunctionDefinition","src":"13107:132:98","nodes":[],"body":{"id":66267,"nodeType":"Block","src":"13188:51:98","nodes":[],"statements":[{"expression":{"id":66265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66263,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65910,"src":"13198:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66264,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66258,"src":"13224:8:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13198:34:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66266,"nodeType":"ExpressionStatement","src":"13198:34:98"}]},"functionSelector":"b0d3713a","implemented":true,"kind":"function","modifiers":[{"id":66261,"kind":"modifierInvocation","modifierName":{"id":66260,"name":"onlyOwner","nameLocations":["13178:9:98"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"13178:9:98"},"nodeType":"ModifierInvocation","src":"13178:9:98"}],"name":"setCollateralVaultTemplate","nameLocation":"13116:26:98","parameters":{"id":66259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66258,"mutability":"mutable","name":"template","nameLocation":"13151:8:98","nodeType":"VariableDeclaration","scope":66268,"src":"13143:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66257,"name":"address","nodeType":"ElementaryTypeName","src":"13143:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13142:18:98"},"returnParameters":{"id":66262,"nodeType":"ParameterList","parameters":[],"src":"13188:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66502,"nodeType":"FunctionDefinition","src":"13565:2624:98","nodes":[],"body":{"id":66501,"nodeType":"Block","src":"13674:2515:98","nodes":[],"statements":[{"condition":{"id":66281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13688:27:98","subExpression":{"arguments":[{"id":66279,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66272,"src":"13707:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66278,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66256,"src":"13689:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":66280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13689:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66286,"nodeType":"IfStatement","src":"13684:90:98","trueBody":{"id":66285,"nodeType":"Block","src":"13717:57:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66282,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65740,"src":"13738:23:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13738:25:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66284,"nodeType":"RevertStatement","src":"13731:32:98"}]}},{"expression":{"id":66287,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66270,"src":"13828:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":66288,"nodeType":"ExpressionStatement","src":"13828:5:98"},{"assignments":[66291],"declarations":[{"constant":false,"id":66291,"mutability":"mutable","name":"proposal","nameLocation":"13865:8:98","nodeType":"VariableDeclaration","scope":66501,"src":"13843:30:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_memory_ptr","typeString":"struct CreateProposal"},"typeName":{"id":66290,"nodeType":"UserDefinedTypeName","pathNode":{"id":66289,"name":"CreateProposal","nameLocations":["13843:14:98"],"nodeType":"IdentifierPath","referencedDeclaration":65557,"src":"13843:14:98"},"referencedDeclaration":65557,"src":"13843:14:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_storage_ptr","typeString":"struct CreateProposal"}},"visibility":"internal"}],"id":66298,"initialValue":{"arguments":[{"id":66294,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66270,"src":"13887:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":66295,"name":"CreateProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65557,"src":"13895:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$65557_storage_ptr_$","typeString":"type(struct CreateProposal storage pointer)"}}],"id":66296,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"13894:16:98","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$65557_storage_ptr_$","typeString":"type(struct CreateProposal storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$65557_storage_ptr_$","typeString":"type(struct CreateProposal storage pointer)"}],"expression":{"id":66292,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13876:3:98","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66293,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13880:6:98","memberName":"decode","nodeType":"MemberAccess","src":"13876:10:98","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":66297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13876:35:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_memory_ptr","typeString":"struct CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"13843:68:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66299,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66291,"src":"14026:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_memory_ptr","typeString":"struct CreateProposal memory"}},"id":66300,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14035:6:98","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":65547,"src":"14026:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":66301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14045:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14026:20:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66307,"nodeType":"IfStatement","src":"14022:78:98","trueBody":{"id":66306,"nodeType":"Block","src":"14048:52:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66303,"name":"PoolIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65684,"src":"14069:18:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14069:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66305,"nodeType":"RevertStatement","src":"14062:27:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"},"id":66311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66308,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65930,"src":"14176:12:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":66309,"name":"ProposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65540,"src":"14192:12:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$65540_$","typeString":"type(enum ProposalType)"}},"id":66310,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14205:7:98","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":65538,"src":"14192:20:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"src":"14176:36:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66367,"nodeType":"IfStatement","src":"14172:749:98","trueBody":{"id":66366,"nodeType":"Block","src":"14214:707:98","statements":[{"expression":{"arguments":[{"expression":{"id":66313,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66291,"src":"14247:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_memory_ptr","typeString":"struct CreateProposal memory"}},"id":66314,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14256:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65549,"src":"14247:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66312,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66197,"src":"14228:18:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":66315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14228:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66316,"nodeType":"ExpressionStatement","src":"14228:40:98"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66317,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66291,"src":"14334:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_memory_ptr","typeString":"struct CreateProposal memory"}},"id":66318,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14343:14:98","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65553,"src":"14334:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14369:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66320,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14361:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66319,"name":"address","nodeType":"ElementaryTypeName","src":"14361:7:98","typeDescriptions":{}}},"id":66322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14361:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14334:37:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66328,"nodeType":"IfStatement","src":"14330:102:98","trueBody":{"id":66327,"nodeType":"Block","src":"14373:59:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66324,"name":"TokenCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65678,"src":"14398:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14398:19:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66326,"nodeType":"RevertStatement","src":"14391:26:98"}]}},{"assignments":[66331],"declarations":[{"constant":false,"id":66331,"mutability":"mutable","name":"_allo","nameLocation":"14451:5:98","nodeType":"VariableDeclaration","scope":66366,"src":"14445:11:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"},"typeName":{"id":66330,"nodeType":"UserDefinedTypeName","pathNode":{"id":66329,"name":"IAllo","nameLocations":["14445:5:98"],"nodeType":"IdentifierPath","referencedDeclaration":2610,"src":"14445:5:98"},"referencedDeclaration":2610,"src":"14445:5:98","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"visibility":"internal"}],"id":66335,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66332,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14459:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}},"id":66333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14464:7:98","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":64969,"src":"14459:12:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":66334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14459:14:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"nodeType":"VariableDeclarationStatement","src":"14445:28:98"},{"assignments":[66340],"declarations":[{"constant":false,"id":66340,"mutability":"mutable","name":"pool","nameLocation":"14505:4:98","nodeType":"VariableDeclaration","scope":66366,"src":"14487:22:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":66339,"nodeType":"UserDefinedTypeName","pathNode":{"id":66338,"name":"IAllo.Pool","nameLocations":["14487:5:98","14493:4:98"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"14487:10:98"},"referencedDeclaration":2319,"src":"14487:10:98","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":66346,"initialValue":{"arguments":[{"expression":{"id":66343,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66291,"src":"14526:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_memory_ptr","typeString":"struct CreateProposal memory"}},"id":66344,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14535:6:98","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":65547,"src":"14526:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66341,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66331,"src":"14512:5:98","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":66342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14518:7:98","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"14512:13:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":66345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14512:30:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"14487:55:98"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66347,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66291,"src":"14560:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_memory_ptr","typeString":"struct CreateProposal memory"}},"id":66348,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14569:14:98","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65553,"src":"14560:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":66349,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66340,"src":"14587:4:98","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":66350,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14592:5:98","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"14587:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14560:37:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66356,"nodeType":"IfStatement","src":"14556:235:98","trueBody":{"id":66355,"nodeType":"Block","src":"14599:192:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66352,"name":"TokenNotAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65680,"src":"14759:15:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14759:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66354,"nodeType":"RevertStatement","src":"14752:24:98"}]}},{"condition":{"arguments":[{"expression":{"id":66358,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66291,"src":"14824:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_memory_ptr","typeString":"struct CreateProposal memory"}},"id":66359,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14833:15:98","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":65551,"src":"14824:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66357,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67680,"src":"14808:15:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":66360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14808:41:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66365,"nodeType":"IfStatement","src":"14804:107:98","trueBody":{"id":66364,"nodeType":"Block","src":"14851:60:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66361,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65682,"src":"14876:18:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14876:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66363,"nodeType":"RevertStatement","src":"14869:27:98"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":66387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"baseExpression":{"id":66370,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"14956:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":66372,"indexExpression":{"id":66371,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"14974:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14956:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":66373,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15006:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"14956:60:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}],"id":66369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14948:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66368,"name":"address","nodeType":"ElementaryTypeName","src":"14948:7:98","typeDescriptions":{}}},"id":66374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14948:69:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":66377,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15029:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66376,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15021:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66375,"name":"address","nodeType":"ElementaryTypeName","src":"15021:7:98","typeDescriptions":{}}},"id":66378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15021:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14948:83:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66380,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15051:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15055:5:98","memberName":"value","nodeType":"MemberAccess","src":"15051:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":66382,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"15063:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":66384,"indexExpression":{"id":66383,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"15081:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15063:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":66385,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15113:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"15063:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15051:87:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"14948:190:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66398,"nodeType":"IfStatement","src":"14931:390:98","trueBody":{"id":66397,"nodeType":"Block","src":"15149:172:98","statements":[{"errorCall":{"arguments":[{"expression":{"id":66389,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15210:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15214:5:98","memberName":"value","nodeType":"MemberAccess","src":"15210:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":66391,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"15221:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":66393,"indexExpression":{"id":66392,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"15239:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15221:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":66394,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15271:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"15221:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66388,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65746,"src":"15170:22:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":66395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15170:140:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66396,"nodeType":"RevertStatement","src":"15163:147:98"}]}},{"assignments":[66400],"declarations":[{"constant":false,"id":66400,"mutability":"mutable","name":"proposalId","nameLocation":"15339:10:98","nodeType":"VariableDeclaration","scope":66501,"src":"15331:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66399,"name":"uint256","nodeType":"ElementaryTypeName","src":"15331:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66403,"initialValue":{"id":66402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"15352:17:98","subExpression":{"id":66401,"name":"proposalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65918,"src":"15354:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15331:38:98"},{"assignments":[66406],"declarations":[{"constant":false,"id":66406,"mutability":"mutable","name":"p","nameLocation":"15396:1:98","nodeType":"VariableDeclaration","scope":66501,"src":"15379:18:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"},"typeName":{"id":66405,"nodeType":"UserDefinedTypeName","pathNode":{"id":66404,"name":"Proposal","nameLocations":["15379:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65606,"src":"15379:8:98"},"referencedDeclaration":65606,"src":"15379:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"}},"visibility":"internal"}],"id":66410,"initialValue":{"baseExpression":{"id":66407,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"15400:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":66409,"indexExpression":{"id":66408,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66400,"src":"15410:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15400:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15379:42:98"},{"expression":{"id":66415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66411,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66406,"src":"15432:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":66413,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15434:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"15432:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66414,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66400,"src":"15447:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15432:25:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66416,"nodeType":"ExpressionStatement","src":"15432:25:98"},{"expression":{"id":66421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66417,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66406,"src":"15467:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":66419,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15469:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65584,"src":"15467:11:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66420,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66272,"src":"15481:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15467:21:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66422,"nodeType":"ExpressionStatement","src":"15467:21:98"},{"expression":{"id":66428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66423,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66406,"src":"15498:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":66425,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15500:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"15498:13:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66426,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66291,"src":"15514:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_memory_ptr","typeString":"struct CreateProposal memory"}},"id":66427,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15523:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65549,"src":"15514:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15498:36:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66429,"nodeType":"ExpressionStatement","src":"15498:36:98"},{"expression":{"id":66435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66430,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66406,"src":"15544:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":66432,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15546:14:98","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65586,"src":"15544:16:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66433,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66291,"src":"15563:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_memory_ptr","typeString":"struct CreateProposal memory"}},"id":66434,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15572:14:98","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65553,"src":"15563:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15544:42:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66436,"nodeType":"ExpressionStatement","src":"15544:42:98"},{"expression":{"id":66442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66437,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66406,"src":"15596:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":66439,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15598:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"15596:17:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66440,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66291,"src":"15616:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_memory_ptr","typeString":"struct CreateProposal memory"}},"id":66441,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15625:15:98","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":65551,"src":"15616:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15596:44:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66443,"nodeType":"ExpressionStatement","src":"15596:44:98"},{"expression":{"id":66449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66444,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66406,"src":"15701:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":66446,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15703:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"15701:16:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66447,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"15720:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65565_$","typeString":"type(enum ProposalStatus)"}},"id":66448,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15735:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65559,"src":"15720:21:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"src":"15701:40:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"id":66450,"nodeType":"ExpressionStatement","src":"15701:40:98"},{"expression":{"id":66456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66451,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66406,"src":"15751:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":66453,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15753:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65588,"src":"15751:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66454,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"15765:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":66455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15771:6:98","memberName":"number","nodeType":"MemberAccess","src":"15765:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15751:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66457,"nodeType":"ExpressionStatement","src":"15751:26:98"},{"expression":{"id":66462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66458,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66406,"src":"15787:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":66460,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15789:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65580,"src":"15787:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":66461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15806:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15787:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66463,"nodeType":"ExpressionStatement","src":"15787:20:98"},{"expression":{"id":66469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66464,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66406,"src":"15853:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":66466,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15855:8:98","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":65598,"src":"15853:10:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66467,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66291,"src":"15866:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_memory_ptr","typeString":"struct CreateProposal memory"}},"id":66468,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15875:8:98","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":65556,"src":"15866:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"15853:30:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":66470,"nodeType":"ExpressionStatement","src":"15853:30:98"},{"expression":{"id":66475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66471,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66406,"src":"15893:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":66473,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15895:23:98","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65605,"src":"15893:25:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66474,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"15921:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15893:58:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66476,"nodeType":"ExpressionStatement","src":"15893:58:98"},{"expression":{"arguments":[{"id":66483,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66400,"src":"16013:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":66484,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66406,"src":"16025:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":66485,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16027:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65584,"src":"16025:11:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66477,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65941,"src":"15961:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"id":66479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15977:17:98","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":76337,"src":"15961:33:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":66482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":66480,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16002:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16006:5:98","memberName":"value","nodeType":"MemberAccess","src":"16002:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"15961:51:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":66486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15961:76:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66487,"nodeType":"ExpressionStatement","src":"15961:76:98"},{"eventCall":{"arguments":[{"id":66489,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"16069:6:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66490,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66400,"src":"16077:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66488,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65789,"src":"16053:15:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":66491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16053:35:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66492,"nodeType":"EmitStatement","src":"16048:40:98"},{"expression":{"arguments":[{"arguments":[{"id":66497,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66400,"src":"16170:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66496,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16162:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":66495,"name":"uint160","nodeType":"ElementaryTypeName","src":"16162:7:98","typeDescriptions":{}}},"id":66498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16162:19:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":66494,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16154:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66493,"name":"address","nodeType":"ElementaryTypeName","src":"16154:7:98","typeDescriptions":{}}},"id":66499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16154:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":66277,"id":66500,"nodeType":"Return","src":"16147:35:98"}]},"baseFunctions":[65357],"implemented":true,"kind":"function","modifiers":[],"name":"_registerRecipient","nameLocation":"13574:18:98","overrides":{"id":66274,"nodeType":"OverrideSpecifier","overrides":[],"src":"13647:8:98"},"parameters":{"id":66273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66270,"mutability":"mutable","name":"_data","nameLocation":"13606:5:98","nodeType":"VariableDeclaration","scope":66502,"src":"13593:18:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66269,"name":"bytes","nodeType":"ElementaryTypeName","src":"13593:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":66272,"mutability":"mutable","name":"_sender","nameLocation":"13621:7:98","nodeType":"VariableDeclaration","scope":66502,"src":"13613:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66271,"name":"address","nodeType":"ElementaryTypeName","src":"13613:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13592:37:98"},"returnParameters":{"id":66277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66276,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66502,"src":"13665:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66275,"name":"address","nodeType":"ElementaryTypeName","src":"13665:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13664:9:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":66511,"nodeType":"FunctionDefinition","src":"16195:98:98","nodes":[],"body":{"id":66510,"nodeType":"Block","src":"16255:38:98","nodes":[],"statements":[{"expression":{"expression":{"id":66507,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65927,"src":"16272:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage","typeString":"struct CVParams storage ref"}},"id":66508,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16281:5:98","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65634,"src":"16272:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66506,"id":66509,"nodeType":"Return","src":"16265:21:98"}]},"functionSelector":"9a1c157c","implemented":true,"kind":"function","modifiers":[],"name":"getDecay","nameLocation":"16204:8:98","parameters":{"id":66503,"nodeType":"ParameterList","parameters":[],"src":"16212:2:98"},"returnParameters":{"id":66506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66505,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66511,"src":"16246:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66504,"name":"uint256","nodeType":"ElementaryTypeName","src":"16246:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16245:9:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":66551,"nodeType":"FunctionDefinition","src":"16299:369:98","nodes":[],"body":{"id":66550,"nodeType":"Block","src":"16342:326:98","nodes":[],"statements":[{"assignments":[66515],"declarations":[{"constant":false,"id":66515,"mutability":"mutable","name":"member","nameLocation":"16360:6:98","nodeType":"VariableDeclaration","scope":66550,"src":"16352:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66514,"name":"address","nodeType":"ElementaryTypeName","src":"16352:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":66518,"initialValue":{"expression":{"id":66516,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16369:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16373:6:98","memberName":"sender","nodeType":"MemberAccess","src":"16369:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16352:27:98"},{"condition":{"id":66522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16393:26:98","subExpression":{"arguments":[{"id":66520,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66515,"src":"16412:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66519,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66256,"src":"16394:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":66521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16394:25:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66527,"nodeType":"IfStatement","src":"16389:89:98","trueBody":{"id":66526,"nodeType":"Block","src":"16421:57:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66523,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65740,"src":"16442:23:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16442:25:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66525,"nodeType":"RevertStatement","src":"16435:32:98"}]}},{"expression":{"arguments":[{"id":66531,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66515,"src":"16535:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66534,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16551:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}],"id":66533,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16543:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66532,"name":"address","nodeType":"ElementaryTypeName","src":"16543:7:98","typeDescriptions":{}}},"id":66535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16543:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66528,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"16487:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16487:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":66530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16510:24:98","memberName":"activateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":71724,"src":"16487:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":66536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16487:70:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66537,"nodeType":"ExpressionStatement","src":"16487:70:98"},{"expression":{"id":66548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66538,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65924,"src":"16567:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":66542,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66515,"src":"16639:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66545,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16655:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}],"id":66544,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16647:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66543,"name":"address","nodeType":"ElementaryTypeName","src":"16647:7:98","typeDescriptions":{}}},"id":66546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16647:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66539,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"16591:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16591:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":66541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16614:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72093,"src":"16591:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16591:70:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16567:94:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66549,"nodeType":"ExpressionStatement","src":"16567:94:98"}]},"functionSelector":"814516ad","implemented":true,"kind":"function","modifiers":[],"name":"activatePoints","nameLocation":"16308:14:98","parameters":{"id":66512,"nodeType":"ParameterList","parameters":[],"src":"16322:2:98"},"returnParameters":{"id":66513,"nodeType":"ParameterList","parameters":[],"src":"16342:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66560,"nodeType":"FunctionDefinition","src":"16674:89:98","nodes":[],"body":{"id":66559,"nodeType":"Block","src":"16717:46:98","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":66555,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16745:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16749:6:98","memberName":"sender","nodeType":"MemberAccess","src":"16745:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66554,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66609,"src":"16727:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16727:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66558,"nodeType":"ExpressionStatement","src":"16727:29:98"}]},"functionSelector":"1ddf1e23","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"16683:16:98","parameters":{"id":66552,"nodeType":"ParameterList","parameters":[],"src":"16699:2:98"},"returnParameters":{"id":66553,"nodeType":"ParameterList","parameters":[],"src":"16717:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":66573,"nodeType":"FunctionDefinition","src":"16769:136:98","nodes":[],"body":{"id":66572,"nodeType":"Block","src":"16829:76:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66565,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66181,"src":"16839:21:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":66566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16839:23:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66567,"nodeType":"ExpressionStatement","src":"16839:23:98"},{"expression":{"arguments":[{"id":66569,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66562,"src":"16890:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66568,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66609,"src":"16872:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16872:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66571,"nodeType":"ExpressionStatement","src":"16872:26:98"}]},"baseFunctions":[65511],"functionSelector":"6453d9c4","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"16778:16:98","parameters":{"id":66563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66562,"mutability":"mutable","name":"_member","nameLocation":"16803:7:98","nodeType":"VariableDeclaration","scope":66573,"src":"16795:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66561,"name":"address","nodeType":"ElementaryTypeName","src":"16795:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16794:17:98"},"returnParameters":{"id":66564,"nodeType":"ParameterList","parameters":[],"src":"16829:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66609,"nodeType":"FunctionDefinition","src":"16911:369:98","nodes":[],"body":{"id":66608,"nodeType":"Block","src":"16972:308:98","nodes":[],"statements":[{"expression":{"id":66588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66578,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65924,"src":"16982:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"arguments":[{"id":66582,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66575,"src":"17054:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66585,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17071:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}],"id":66584,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17063:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66583,"name":"address","nodeType":"ElementaryTypeName","src":"17063:7:98","typeDescriptions":{}}},"id":66586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17063:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66579,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"17006:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17006:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":66581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17029:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72093,"src":"17006:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17006:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16982:95:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66589,"nodeType":"ExpressionStatement","src":"16982:95:98"},{"expression":{"arguments":[{"id":66593,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66575,"src":"17137:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66596,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17154:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}],"id":66595,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17146:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66594,"name":"address","nodeType":"ElementaryTypeName","src":"17146:7:98","typeDescriptions":{}}},"id":66597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17146:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66590,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"17087:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17087:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":66592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17110:26:98","memberName":"deactivateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":71783,"src":"17087:49:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":66598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17087:73:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66599,"nodeType":"ExpressionStatement","src":"17087:73:98"},{"expression":{"arguments":[{"id":66601,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66575,"src":"17224:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66600,"name":"withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67429,"src":"17215:8:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17215:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66603,"nodeType":"ExpressionStatement","src":"17215:17:98"},{"eventCall":{"arguments":[{"id":66605,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66575,"src":"17265:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66604,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"17247:17:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17247:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66607,"nodeType":"EmitStatement","src":"17242:31:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deactivatePoints","nameLocation":"16920:17:98","parameters":{"id":66576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66575,"mutability":"mutable","name":"_member","nameLocation":"16946:7:98","nodeType":"VariableDeclaration","scope":66609,"src":"16938:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66574,"name":"address","nodeType":"ElementaryTypeName","src":"16938:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16937:17:98"},"returnParameters":{"id":66577,"nodeType":"ParameterList","parameters":[],"src":"16972:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":66700,"nodeType":"FunctionDefinition","src":"17286:1025:98","nodes":[],"body":{"id":66699,"nodeType":"Block","src":"17385:926:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66618,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66181,"src":"17440:21:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":66619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17440:23:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66620,"nodeType":"ExpressionStatement","src":"17440:23:98"},{"condition":{"id":66624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17477:27:98","subExpression":{"arguments":[{"id":66622,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66611,"src":"17496:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66621,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66256,"src":"17478:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":66623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17478:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66629,"nodeType":"IfStatement","src":"17473:90:98","trueBody":{"id":66628,"nodeType":"Block","src":"17506:57:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66625,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65740,"src":"17527:23:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17527:25:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66627,"nodeType":"RevertStatement","src":"17520:32:98"}]}},{"assignments":[66631],"declarations":[{"constant":false,"id":66631,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"17580:16:98","nodeType":"VariableDeclaration","scope":66699,"src":"17572:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66630,"name":"uint256","nodeType":"ElementaryTypeName","src":"17572:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66633,"initialValue":{"hexValue":"30","id":66632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17599:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"17572:28:98"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"},"id":66637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66634,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65933,"src":"17614:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":66635,"name":"PointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65545,"src":"17629:11:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65545_$","typeString":"type(enum PointSystem)"}},"id":66636,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17641:9:98","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":65543,"src":"17629:21:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"src":"17614:36:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"},"id":66648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66645,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65933,"src":"17744:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":66646,"name":"PointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65545,"src":"17759:11:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65545_$","typeString":"type(enum PointSystem)"}},"id":66647,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17771:6:98","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":65542,"src":"17759:18:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"src":"17744:33:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"},"id":66660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66657,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65933,"src":"17877:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":66658,"name":"PointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65545,"src":"17892:11:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65545_$","typeString":"type(enum PointSystem)"}},"id":66659,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17904:9:98","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":65544,"src":"17892:21:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"src":"17877:36:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66669,"nodeType":"IfStatement","src":"17873:133:98","trueBody":{"id":66668,"nodeType":"Block","src":"17915:91:98","statements":[{"expression":{"id":66666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66661,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66631,"src":"17929:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66663,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66611,"src":"17971:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66664,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66613,"src":"17980:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66662,"name":"increasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66888,"src":"17948:22:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":66665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17948:47:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17929:66:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66667,"nodeType":"ExpressionStatement","src":"17929:66:98"}]}},"id":66670,"nodeType":"IfStatement","src":"17740:266:98","trueBody":{"id":66656,"nodeType":"Block","src":"17779:88:98","statements":[{"expression":{"id":66654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66649,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66631,"src":"17793:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66651,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66611,"src":"17832:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66652,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66613,"src":"17841:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66650,"name":"increasePowerCapped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66807,"src":"17812:19:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":66653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17812:44:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17793:63:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66655,"nodeType":"ExpressionStatement","src":"17793:63:98"}]}},"id":66671,"nodeType":"IfStatement","src":"17610:396:98","trueBody":{"id":66644,"nodeType":"Block","src":"17652:82:98","statements":[{"expression":{"id":66642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66638,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66631,"src":"17666:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66640,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66613,"src":"17708:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66639,"name":"increasePowerUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66764,"src":"17685:22:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17685:38:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17666:57:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66643,"nodeType":"ExpressionStatement","src":"17666:57:98"}]}},{"assignments":[66673],"declarations":[{"constant":false,"id":66673,"mutability":"mutable","name":"isActivated","nameLocation":"18020:11:98","nodeType":"VariableDeclaration","scope":66699,"src":"18015:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66672,"name":"bool","nodeType":"ElementaryTypeName","src":"18015:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":66683,"initialValue":{"arguments":[{"id":66677,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66611,"src":"18085:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66680,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18102:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}],"id":66679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18094:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66678,"name":"address","nodeType":"ElementaryTypeName","src":"18094:7:98","typeDescriptions":{}}},"id":66681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18094:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66674,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"18034:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18034:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":66676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18057:27:98","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":71065,"src":"18034:50:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":66682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18034:74:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"18015:93:98"},{"condition":{"id":66684,"name":"isActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66673,"src":"18122:11:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66690,"nodeType":"IfStatement","src":"18118:82:98","trueBody":{"id":66689,"nodeType":"Block","src":"18135:65:98","statements":[{"expression":{"id":66687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66685,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65924,"src":"18149:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":66686,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66631,"src":"18173:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18149:40:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66688,"nodeType":"ExpressionStatement","src":"18149:40:98"}]}},{"eventCall":{"arguments":[{"id":66692,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66611,"src":"18229:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66693,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66613,"src":"18238:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66694,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66631,"src":"18254:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66691,"name":"PowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"18214:14:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":66695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18214:57:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66696,"nodeType":"EmitStatement","src":"18209:62:98"},{"expression":{"id":66697,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66631,"src":"18288:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66617,"id":66698,"nodeType":"Return","src":"18281:23:98"}]},"baseFunctions":[65520],"functionSelector":"782aadff","implemented":true,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"17295:13:98","parameters":{"id":66614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66611,"mutability":"mutable","name":"_member","nameLocation":"17317:7:98","nodeType":"VariableDeclaration","scope":66700,"src":"17309:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66610,"name":"address","nodeType":"ElementaryTypeName","src":"17309:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66613,"mutability":"mutable","name":"_amountToStake","nameLocation":"17334:14:98","nodeType":"VariableDeclaration","scope":66700,"src":"17326:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66612,"name":"uint256","nodeType":"ElementaryTypeName","src":"17326:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17308:41:98"},"returnParameters":{"id":66617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66616,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66700,"src":"17376:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66615,"name":"uint256","nodeType":"ElementaryTypeName","src":"17376:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17375:9:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66754,"nodeType":"FunctionDefinition","src":"18317:659:98","nodes":[],"body":{"id":66753,"nodeType":"Block","src":"18418:558:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66709,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66181,"src":"18428:21:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":66710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18428:23:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66711,"nodeType":"ExpressionStatement","src":"18428:23:98"},{"assignments":[66713],"declarations":[{"constant":false,"id":66713,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"18515:16:98","nodeType":"VariableDeclaration","scope":66753,"src":"18507:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66712,"name":"uint256","nodeType":"ElementaryTypeName","src":"18507:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66715,"initialValue":{"hexValue":"30","id":66714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18534:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"18507:28:98"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":66724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"},"id":66719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66716,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65933,"src":"18549:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":66717,"name":"PointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65545,"src":"18564:11:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65545_$","typeString":"type(enum PointSystem)"}},"id":66718,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18576:9:98","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":65543,"src":"18564:21:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"src":"18549:36:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"},"id":66723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66720,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65933,"src":"18589:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":66721,"name":"PointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65545,"src":"18604:11:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65545_$","typeString":"type(enum PointSystem)"}},"id":66722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18616:6:98","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":65542,"src":"18604:18:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"src":"18589:33:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18549:73:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":66739,"nodeType":"Block","src":"18720:93:98","statements":[{"expression":{"id":66737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66732,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66713,"src":"18734:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66734,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66702,"src":"18776:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66735,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66704,"src":"18785:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66733,"name":"decreasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66975,"src":"18753:22:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":66736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18753:49:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18734:68:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66738,"nodeType":"ExpressionStatement","src":"18734:68:98"}]},"id":66740,"nodeType":"IfStatement","src":"18545:268:98","trueBody":{"id":66731,"nodeType":"Block","src":"18624:90:98","statements":[{"expression":{"id":66729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66725,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66713,"src":"18638:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66727,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66704,"src":"18686:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66726,"name":"decreasePowerCappedUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"18657:28:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18657:46:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18638:65:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66730,"nodeType":"ExpressionStatement","src":"18638:65:98"}]}},{"expression":{"id":66743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66741,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65924,"src":"18822:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":66742,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66713,"src":"18846:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18822:40:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66744,"nodeType":"ExpressionStatement","src":"18822:40:98"},{"eventCall":{"arguments":[{"id":66746,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66702,"src":"18892:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66747,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66704,"src":"18901:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66748,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66713,"src":"18919:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66745,"name":"PowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65813,"src":"18877:14:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":66749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18877:59:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66750,"nodeType":"EmitStatement","src":"18872:64:98"},{"expression":{"id":66751,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66713,"src":"18953:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66708,"id":66752,"nodeType":"Return","src":"18946:23:98"}]},"baseFunctions":[65529],"functionSelector":"2ed04b2b","implemented":true,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"18326:13:98","parameters":{"id":66705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66702,"mutability":"mutable","name":"_member","nameLocation":"18348:7:98","nodeType":"VariableDeclaration","scope":66754,"src":"18340:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66701,"name":"address","nodeType":"ElementaryTypeName","src":"18340:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66704,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"18365:16:98","nodeType":"VariableDeclaration","scope":66754,"src":"18357:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66703,"name":"uint256","nodeType":"ElementaryTypeName","src":"18357:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18339:43:98"},"returnParameters":{"id":66708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66707,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66754,"src":"18409:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66706,"name":"uint256","nodeType":"ElementaryTypeName","src":"18409:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18408:9:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66764,"nodeType":"FunctionDefinition","src":"18982:134:98","nodes":[],"body":{"id":66763,"nodeType":"Block","src":"19078:38:98","nodes":[],"statements":[{"expression":{"id":66761,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66756,"src":"19095:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66760,"id":66762,"nodeType":"Return","src":"19088:21:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerUnlimited","nameLocation":"18991:22:98","parameters":{"id":66757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66756,"mutability":"mutable","name":"_amountToStake","nameLocation":"19022:14:98","nodeType":"VariableDeclaration","scope":66764,"src":"19014:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66755,"name":"uint256","nodeType":"ElementaryTypeName","src":"19014:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19013:24:98"},"returnParameters":{"id":66760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66759,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66764,"src":"19069:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66758,"name":"uint256","nodeType":"ElementaryTypeName","src":"19069:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19068:9:98"},"scope":69194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":66807,"nodeType":"FunctionDefinition","src":"19122:637:98","nodes":[],"body":{"id":66806,"nodeType":"Block","src":"19232:527:98","nodes":[],"statements":[{"assignments":[66774],"declarations":[{"constant":false,"id":66774,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"19250:16:98","nodeType":"VariableDeclaration","scope":66806,"src":"19242:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66773,"name":"uint256","nodeType":"ElementaryTypeName","src":"19242:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66776,"initialValue":{"id":66775,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66768,"src":"19269:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19242:41:98"},{"assignments":[66778],"declarations":[{"constant":false,"id":66778,"mutability":"mutable","name":"memberPower","nameLocation":"19365:11:98","nodeType":"VariableDeclaration","scope":66806,"src":"19357:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66777,"name":"uint256","nodeType":"ElementaryTypeName","src":"19357:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66788,"initialValue":{"arguments":[{"id":66782,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66766,"src":"19427:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66785,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"19444:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}],"id":66784,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19436:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66783,"name":"address","nodeType":"ElementaryTypeName","src":"19436:7:98","typeDescriptions":{}}},"id":66786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19436:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66779,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"19379:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19379:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":66781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19402:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72093,"src":"19379:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19379:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19357:93:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66789,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66778,"src":"19516:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":66790,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66774,"src":"19530:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19516:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":66792,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65936,"src":"19549:11:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_storage","typeString":"struct PointSystemConfig storage ref"}},"id":66793,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19561:9:98","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65613,"src":"19549:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19516:54:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66803,"nodeType":"IfStatement","src":"19512:139:98","trueBody":{"id":66802,"nodeType":"Block","src":"19572:79:98","statements":[{"expression":{"id":66800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66795,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66774,"src":"19586:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66796,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65936,"src":"19605:11:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_storage","typeString":"struct PointSystemConfig storage ref"}},"id":66797,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19617:9:98","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65613,"src":"19605:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66798,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66778,"src":"19629:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19605:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19586:54:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66801,"nodeType":"ExpressionStatement","src":"19586:54:98"}]}},{"expression":{"id":66804,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66774,"src":"19736:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66772,"id":66805,"nodeType":"Return","src":"19729:23:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerCapped","nameLocation":"19131:19:98","parameters":{"id":66769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66766,"mutability":"mutable","name":"_member","nameLocation":"19159:7:98","nodeType":"VariableDeclaration","scope":66807,"src":"19151:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66765,"name":"address","nodeType":"ElementaryTypeName","src":"19151:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66768,"mutability":"mutable","name":"_amountToStake","nameLocation":"19176:14:98","nodeType":"VariableDeclaration","scope":66807,"src":"19168:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66767,"name":"uint256","nodeType":"ElementaryTypeName","src":"19168:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19150:41:98"},"returnParameters":{"id":66772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66771,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66807,"src":"19223:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66770,"name":"uint256","nodeType":"ElementaryTypeName","src":"19223:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19222:9:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66888,"nodeType":"FunctionDefinition","src":"19765:756:98","nodes":[],"body":{"id":66887,"nodeType":"Block","src":"19878:643:98","nodes":[],"statements":[{"assignments":[66817],"declarations":[{"constant":false,"id":66817,"mutability":"mutable","name":"totalStake","nameLocation":"19896:10:98","nodeType":"VariableDeclaration","scope":66887,"src":"19888:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66816,"name":"uint256","nodeType":"ElementaryTypeName","src":"19888:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66825,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66821,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66809,"src":"19954:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66818,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"19909:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19909:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":66820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19932:21:98","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":72106,"src":"19909:44:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":66822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19909:53:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":66823,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66811,"src":"19965:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19909:70:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19888:91:98"},{"assignments":[66827],"declarations":[{"constant":false,"id":66827,"mutability":"mutable","name":"decimal","nameLocation":"19998:7:98","nodeType":"VariableDeclaration","scope":66887,"src":"19990:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66826,"name":"uint256","nodeType":"ElementaryTypeName","src":"19990:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66829,"initialValue":{"hexValue":"3138","id":66828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20008:2:98","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"19990:20:98"},{"clauses":[{"block":{"id":66851,"nodeType":"Block","src":"20113:52:98","statements":[{"expression":{"id":66849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66844,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66827,"src":"20127:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66847,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66842,"src":"20145:8:98","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":66846,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20137:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66845,"name":"uint256","nodeType":"ElementaryTypeName","src":"20137:7:98","typeDescriptions":{}}},"id":66848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20137:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20127:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66850,"nodeType":"ExpressionStatement","src":"20127:27:98"}]},"errorName":"","id":66852,"nodeType":"TryCatchClause","parameters":{"id":66843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66842,"mutability":"mutable","name":"_decimal","nameLocation":"20103:8:98","nodeType":"VariableDeclaration","scope":66852,"src":"20097:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":66841,"name":"uint8","nodeType":"ElementaryTypeName","src":"20097:5:98","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"20096:16:98"},"src":"20088:77:98"},{"block":{"id":66853,"nodeType":"Block","src":"20172:64:98","statements":[]},"errorName":"","id":66854,"nodeType":"TryCatchClause","src":"20166:70:98"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66833,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"20038:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20038:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":66835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20061:11:98","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":71020,"src":"20038:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$56528_$","typeString":"function () view external returns (contract IERC20)"}},"id":66836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20038:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}],"id":66832,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20030:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66831,"name":"address","nodeType":"ElementaryTypeName","src":"20030:7:98","typeDescriptions":{}}},"id":66837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20030:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66830,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56450,"src":"20024:5:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56450_$","typeString":"type(contract ERC20)"}},"id":66838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20024:52:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56450","typeString":"contract ERC20"}},"id":66839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20077:8:98","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":55938,"src":"20024:61:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":66840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20024:63:98","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":66855,"nodeType":"TryStatement","src":"20020:216:98"},{"assignments":[66857],"declarations":[{"constant":false,"id":66857,"mutability":"mutable","name":"newTotalPoints","nameLocation":"20253:14:98","nodeType":"VariableDeclaration","scope":66887,"src":"20245:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66856,"name":"uint256","nodeType":"ElementaryTypeName","src":"20245:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66866,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66860,"name":"totalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66817,"src":"20280:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":66861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20293:2:98","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":66862,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66827,"src":"20299:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20293:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20280:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66858,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58797,"src":"20270:4:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58797_$","typeString":"type(library Math)"}},"id":66859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20275:4:98","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58301,"src":"20270:9:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20270:37:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20245:62:98"},{"assignments":[66868],"declarations":[{"constant":false,"id":66868,"mutability":"mutable","name":"currentPoints","nameLocation":"20325:13:98","nodeType":"VariableDeclaration","scope":66887,"src":"20317:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66867,"name":"uint256","nodeType":"ElementaryTypeName","src":"20317:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66878,"initialValue":{"arguments":[{"id":66872,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66809,"src":"20389:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66875,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"20406:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}],"id":66874,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20398:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66873,"name":"address","nodeType":"ElementaryTypeName","src":"20398:7:98","typeDescriptions":{}}},"id":66876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20398:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66869,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"20341:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20341:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":66871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20364:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72093,"src":"20341:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20341:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20317:95:98"},{"assignments":[66880],"declarations":[{"constant":false,"id":66880,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"20431:16:98","nodeType":"VariableDeclaration","scope":66887,"src":"20423:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66879,"name":"uint256","nodeType":"ElementaryTypeName","src":"20423:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66884,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66881,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66857,"src":"20450:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66882,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66868,"src":"20467:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20450:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20423:57:98"},{"expression":{"id":66885,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66880,"src":"20498:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66815,"id":66886,"nodeType":"Return","src":"20491:23:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerQuadratic","nameLocation":"19774:22:98","parameters":{"id":66812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66809,"mutability":"mutable","name":"_member","nameLocation":"19805:7:98","nodeType":"VariableDeclaration","scope":66888,"src":"19797:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66808,"name":"address","nodeType":"ElementaryTypeName","src":"19797:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66811,"mutability":"mutable","name":"_amountToStake","nameLocation":"19822:14:98","nodeType":"VariableDeclaration","scope":66888,"src":"19814:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66810,"name":"uint256","nodeType":"ElementaryTypeName","src":"19814:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19796:41:98"},"returnParameters":{"id":66815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66814,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66888,"src":"19869:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66813,"name":"uint256","nodeType":"ElementaryTypeName","src":"19869:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19868:9:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66898,"nodeType":"FunctionDefinition","src":"20527:144:98","nodes":[],"body":{"id":66897,"nodeType":"Block","src":"20631:40:98","nodes":[],"statements":[{"expression":{"id":66895,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66890,"src":"20648:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66894,"id":66896,"nodeType":"Return","src":"20641:23:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerCappedUnlimited","nameLocation":"20536:28:98","parameters":{"id":66891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66890,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20573:16:98","nodeType":"VariableDeclaration","scope":66898,"src":"20565:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66889,"name":"uint256","nodeType":"ElementaryTypeName","src":"20565:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20564:26:98"},"returnParameters":{"id":66894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66893,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66898,"src":"20622:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66892,"name":"uint256","nodeType":"ElementaryTypeName","src":"20622:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20621:9:98"},"scope":69194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":66975,"nodeType":"FunctionDefinition","src":"20677:882:98","nodes":[],"body":{"id":66974,"nodeType":"Block","src":"20828:731:98","nodes":[],"statements":[{"assignments":[66908],"declarations":[{"constant":false,"id":66908,"mutability":"mutable","name":"decimal","nameLocation":"20846:7:98","nodeType":"VariableDeclaration","scope":66974,"src":"20838:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66907,"name":"uint256","nodeType":"ElementaryTypeName","src":"20838:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66910,"initialValue":{"hexValue":"3138","id":66909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20856:2:98","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"20838:20:98"},{"clauses":[{"block":{"id":66932,"nodeType":"Block","src":"20961:52:98","statements":[{"expression":{"id":66930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66925,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66908,"src":"20975:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66928,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66923,"src":"20993:8:98","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":66927,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20985:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66926,"name":"uint256","nodeType":"ElementaryTypeName","src":"20985:7:98","typeDescriptions":{}}},"id":66929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20985:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20975:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66931,"nodeType":"ExpressionStatement","src":"20975:27:98"}]},"errorName":"","id":66933,"nodeType":"TryCatchClause","parameters":{"id":66924,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66923,"mutability":"mutable","name":"_decimal","nameLocation":"20951:8:98","nodeType":"VariableDeclaration","scope":66933,"src":"20945:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":66922,"name":"uint8","nodeType":"ElementaryTypeName","src":"20945:5:98","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"20944:16:98"},"src":"20936:77:98"},{"block":{"id":66934,"nodeType":"Block","src":"21020:64:98","statements":[]},"errorName":"","id":66935,"nodeType":"TryCatchClause","src":"21014:70:98"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66914,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"20886:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20886:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":66916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20909:11:98","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":71020,"src":"20886:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$56528_$","typeString":"function () view external returns (contract IERC20)"}},"id":66917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20886:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}],"id":66913,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20878:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66912,"name":"address","nodeType":"ElementaryTypeName","src":"20878:7:98","typeDescriptions":{}}},"id":66918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20878:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66911,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56450,"src":"20872:5:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56450_$","typeString":"type(contract ERC20)"}},"id":66919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20872:52:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56450","typeString":"contract ERC20"}},"id":66920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20925:8:98","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":55938,"src":"20872:61:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":66921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20872:63:98","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":66936,"nodeType":"TryStatement","src":"20868:216:98"},{"assignments":[66938],"declarations":[{"constant":false,"id":66938,"mutability":"mutable","name":"newTotalStake","nameLocation":"21163:13:98","nodeType":"VariableDeclaration","scope":66974,"src":"21155:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66937,"name":"uint256","nodeType":"ElementaryTypeName","src":"21155:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66946,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66942,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66900,"src":"21224:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66939,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"21179:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21179:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":66941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21202:21:98","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":72106,"src":"21179:44:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":66943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21179:53:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66944,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66902,"src":"21235:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21179:72:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21155:96:98"},{"assignments":[66948],"declarations":[{"constant":false,"id":66948,"mutability":"mutable","name":"newTotalPoints","nameLocation":"21325:14:98","nodeType":"VariableDeclaration","scope":66974,"src":"21317:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66947,"name":"uint256","nodeType":"ElementaryTypeName","src":"21317:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66957,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66951,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66938,"src":"21352:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":66952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21368:2:98","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":66953,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66908,"src":"21374:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21368:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21352:29:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66949,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58797,"src":"21342:4:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58797_$","typeString":"type(library Math)"}},"id":66950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21347:4:98","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58301,"src":"21342:9:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21342:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21317:65:98"},{"assignments":[66959],"declarations":[{"constant":false,"id":66959,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"21400:16:98","nodeType":"VariableDeclaration","scope":66974,"src":"21392:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66958,"name":"uint256","nodeType":"ElementaryTypeName","src":"21392:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66971,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66963,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66900,"src":"21479:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66966,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21496:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}],"id":66965,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21488:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66964,"name":"address","nodeType":"ElementaryTypeName","src":"21488:7:98","typeDescriptions":{}}},"id":66967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21488:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66960,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"21431:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21431:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":66962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21454:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72093,"src":"21431:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21431:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66969,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66948,"src":"21505:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21431:88:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21392:127:98"},{"expression":{"id":66972,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66959,"src":"21536:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66906,"id":66973,"nodeType":"Return","src":"21529:23:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerQuadratic","nameLocation":"20686:22:98","parameters":{"id":66903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66900,"mutability":"mutable","name":"_member","nameLocation":"20717:7:98","nodeType":"VariableDeclaration","scope":66975,"src":"20709:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66899,"name":"address","nodeType":"ElementaryTypeName","src":"20709:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66902,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20734:16:98","nodeType":"VariableDeclaration","scope":66975,"src":"20726:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66901,"name":"uint256","nodeType":"ElementaryTypeName","src":"20726:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20708:43:98"},"returnParameters":{"id":66906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66905,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66975,"src":"20815:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66904,"name":"uint256","nodeType":"ElementaryTypeName","src":"20815:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20814:9:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66984,"nodeType":"FunctionDefinition","src":"21565:107:98","nodes":[],"body":{"id":66983,"nodeType":"Block","src":"21627:45:98","nodes":[],"statements":[{"expression":{"expression":{"id":66980,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65936,"src":"21644:11:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_storage","typeString":"struct PointSystemConfig storage ref"}},"id":66981,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21656:9:98","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65613,"src":"21644:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66979,"id":66982,"nodeType":"Return","src":"21637:28:98"}]},"functionSelector":"0ba95909","implemented":true,"kind":"function","modifiers":[],"name":"getMaxAmount","nameLocation":"21574:12:98","parameters":{"id":66976,"nodeType":"ParameterList","parameters":[],"src":"21586:2:98"},"returnParameters":{"id":66979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66978,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66984,"src":"21618:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66977,"name":"uint256","nodeType":"ElementaryTypeName","src":"21618:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21617:9:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":66993,"nodeType":"FunctionDefinition","src":"21678:103:98","nodes":[],"body":{"id":66992,"nodeType":"Block","src":"21746:35:98","nodes":[],"statements":[{"expression":{"id":66990,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65933,"src":"21763:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"functionReturnParameters":66989,"id":66991,"nodeType":"Return","src":"21756:18:98"}]},"baseFunctions":[65535],"functionSelector":"c3292171","implemented":true,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"21687:14:98","parameters":{"id":66985,"nodeType":"ParameterList","parameters":[],"src":"21701:2:98"},"returnParameters":{"id":66989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66988,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66993,"src":"21733:11:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"},"typeName":{"id":66987,"nodeType":"UserDefinedTypeName","pathNode":{"id":66986,"name":"PointSystem","nameLocations":["21733:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":65545,"src":"21733:11:98"},"referencedDeclaration":65545,"src":"21733:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"visibility":"internal"}],"src":"21732:13:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":67057,"nodeType":"FunctionDefinition","src":"22272:633:98","nodes":[],"body":{"id":67056,"nodeType":"Block","src":"22354:551:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":67002,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66997,"src":"22384:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67001,"name":"checkSenderIsMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66165,"src":"22364:19:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":67003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22364:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67004,"nodeType":"ExpressionStatement","src":"22364:28:98"},{"condition":{"id":67008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22406:27:98","subExpression":{"arguments":[{"id":67006,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66997,"src":"22425:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67005,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66256,"src":"22407:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":67007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22407:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67013,"nodeType":"IfStatement","src":"22402:90:98","trueBody":{"id":67012,"nodeType":"Block","src":"22435:57:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67009,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65740,"src":"22456:23:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22456:25:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67011,"nodeType":"RevertStatement","src":"22449:32:98"}]}},{"assignments":[67015],"declarations":[{"constant":false,"id":67015,"mutability":"mutable","name":"isMemberActivatedPoints","nameLocation":"22552:23:98","nodeType":"VariableDeclaration","scope":67056,"src":"22547:28:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67014,"name":"bool","nodeType":"ElementaryTypeName","src":"22547:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":67025,"initialValue":{"arguments":[{"id":67019,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66997,"src":"22629:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67022,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22646:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}],"id":67021,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22638:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67020,"name":"address","nodeType":"ElementaryTypeName","src":"22638:7:98","typeDescriptions":{}}},"id":67023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22638:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":67016,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"22578:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":67017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22578:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":67018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22601:27:98","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":71065,"src":"22578:50:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":67024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22578:74:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"22547:105:98"},{"condition":{"id":67027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22666:24:98","subExpression":{"id":67026,"name":"isMemberActivatedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67015,"src":"22667:23:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67032,"nodeType":"IfStatement","src":"22662:78:98","trueBody":{"id":67031,"nodeType":"Block","src":"22692:48:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67028,"name":"UserIsInactive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65672,"src":"22713:14:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22713:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67030,"nodeType":"RevertStatement","src":"22706:23:98"}]}},{"assignments":[67037],"declarations":[{"constant":false,"id":67037,"mutability":"mutable","name":"pv","nameLocation":"22774:2:98","nodeType":"VariableDeclaration","scope":67056,"src":"22749:27:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport[]"},"typeName":{"baseType":{"id":67035,"nodeType":"UserDefinedTypeName","pathNode":{"id":67034,"name":"ProposalSupport","nameLocations":["22749:15:98"],"nodeType":"IdentifierPath","referencedDeclaration":65611,"src":"22749:15:98"},"referencedDeclaration":65611,"src":"22749:15:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65611_storage_ptr","typeString":"struct ProposalSupport"}},"id":67036,"nodeType":"ArrayTypeName","src":"22749:17:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_storage_$dyn_storage_ptr","typeString":"struct ProposalSupport[]"}},"visibility":"internal"}],"id":67045,"initialValue":{"arguments":[{"id":67040,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66995,"src":"22790:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"id":67041,"name":"ProposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65611,"src":"22798:15:98","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$65611_storage_ptr_$","typeString":"type(struct ProposalSupport storage pointer)"}},"id":67042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"22798:17:98","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct ProposalSupport memory[] memory)"}}],"id":67043,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22797:19:98","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct ProposalSupport memory[] memory)"}],"expression":{"id":67038,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22779:3:98","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67039,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22783:6:98","memberName":"decode","nodeType":"MemberAccess","src":"22779:10:98","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":67044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22779:38:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"22749:68:98"},{"expression":{"arguments":[{"id":67047,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66997,"src":"22852:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67048,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67037,"src":"22861:2:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport memory[] memory"}],"id":67046,"name":"_check_before_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67777,"src":"22827:24:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct ProposalSupport memory[] memory)"}},"id":67049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22827:37:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67050,"nodeType":"ExpressionStatement","src":"22827:37:98"},{"expression":{"arguments":[{"id":67052,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66997,"src":"22886:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67053,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67037,"src":"22895:2:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport memory[] memory"}],"id":67051,"name":"_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68062,"src":"22874:11:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct ProposalSupport memory[] memory)"}},"id":67054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22874:24:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67055,"nodeType":"ExpressionStatement","src":"22874:24:98"}]},"baseFunctions":[65365],"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"22281:9:98","overrides":{"id":66999,"nodeType":"OverrideSpecifier","overrides":[],"src":"22345:8:98"},"parameters":{"id":66998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66995,"mutability":"mutable","name":"_data","nameLocation":"22304:5:98","nodeType":"VariableDeclaration","scope":67057,"src":"22291:18:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66994,"name":"bytes","nodeType":"ElementaryTypeName","src":"22291:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":66997,"mutability":"mutable","name":"_sender","nameLocation":"22319:7:98","nodeType":"VariableDeclaration","scope":67057,"src":"22311:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66996,"name":"address","nodeType":"ElementaryTypeName","src":"22311:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22290:37:98"},"returnParameters":{"id":67000,"nodeType":"ParameterList","parameters":[],"src":"22354:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67220,"nodeType":"FunctionDefinition","src":"23161:1873:98","nodes":[],"body":{"id":67219,"nodeType":"Block","src":"23255:1779:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67068,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67062,"src":"23314:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":67069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23320:6:98","memberName":"length","nodeType":"MemberAccess","src":"23314:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":67070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23330:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23314:17:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67076,"nodeType":"IfStatement","src":"23310:76:98","trueBody":{"id":67075,"nodeType":"Block","src":"23333:53:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67072,"name":"ProposalDataIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65708,"src":"23354:19:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23354:21:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67074,"nodeType":"RevertStatement","src":"23347:28:98"}]}},{"assignments":[67078],"declarations":[{"constant":false,"id":67078,"mutability":"mutable","name":"proposalId","nameLocation":"23404:10:98","nodeType":"VariableDeclaration","scope":67219,"src":"23396:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67077,"name":"uint256","nodeType":"ElementaryTypeName","src":"23396:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67086,"initialValue":{"arguments":[{"id":67081,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67062,"src":"23428:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":67083,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23436:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67082,"name":"uint256","nodeType":"ElementaryTypeName","src":"23436:7:98","typeDescriptions":{}}}],"id":67084,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"23435:9:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":67079,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23417:3:98","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67080,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23421:6:98","memberName":"decode","nodeType":"MemberAccess","src":"23417:10:98","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":67085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23417:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23396:49:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67087,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67078,"src":"23460:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23474:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23460:15:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67094,"nodeType":"IfStatement","src":"23456:77:98","trueBody":{"id":67093,"nodeType":"Block","src":"23477:56:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67090,"name":"ProposalIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65710,"src":"23498:22:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23498:24:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67092,"nodeType":"RevertStatement","src":"23491:31:98"}]}},{"assignments":[67097],"declarations":[{"constant":false,"id":67097,"mutability":"mutable","name":"proposal","nameLocation":"23559:8:98","nodeType":"VariableDeclaration","scope":67219,"src":"23542:25:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"},"typeName":{"id":67096,"nodeType":"UserDefinedTypeName","pathNode":{"id":67095,"name":"Proposal","nameLocations":["23542:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65606,"src":"23542:8:98"},"referencedDeclaration":65606,"src":"23542:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"}},"visibility":"internal"}],"id":67101,"initialValue":{"baseExpression":{"id":67098,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"23570:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":67100,"indexExpression":{"id":67099,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67078,"src":"23580:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23570:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23542:49:98"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"},"id":67105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67102,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65930,"src":"23606:12:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":67103,"name":"ProposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65540,"src":"23622:12:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$65540_$","typeString":"type(enum ProposalType)"}},"id":67104,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23635:7:98","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":65538,"src":"23622:20:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"src":"23606:36:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67218,"nodeType":"IfStatement","src":"23602:1366:98","trueBody":{"id":67217,"nodeType":"Block","src":"23644:1324:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67106,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67097,"src":"23662:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67107,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23671:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"23662:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":67108,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67078,"src":"23685:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23662:33:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67115,"nodeType":"IfStatement","src":"23658:108:98","trueBody":{"id":67114,"nodeType":"Block","src":"23697:69:98","statements":[{"errorCall":{"arguments":[{"id":67111,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67078,"src":"23740:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67110,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65718,"src":"23722:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":67112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23722:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67113,"nodeType":"RevertStatement","src":"23715:36:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67116,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67097,"src":"23784:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67117,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23793:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"23784:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":67118,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"23811:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23784:37:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67128,"nodeType":"IfStatement","src":"23780:152:98","trueBody":{"id":67127,"nodeType":"Block","src":"23823:109:98","statements":[{"errorCall":{"arguments":[{"id":67121,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67078,"src":"23868:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67122,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67097,"src":"23880:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67123,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23889:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"23880:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67124,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"23906:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67120,"name":"PoolAmountNotEnough","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65736,"src":"23848:19:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":67125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23848:69:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67126,"nodeType":"RevertStatement","src":"23841:76:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"},"id":67133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67129,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67097,"src":"23950:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67130,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23959:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"23950:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":67131,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"23977:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65565_$","typeString":"type(enum ProposalStatus)"}},"id":67132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23992:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65559,"src":"23977:21:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"src":"23950:48:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67139,"nodeType":"IfStatement","src":"23946:123:98","trueBody":{"id":67138,"nodeType":"Block","src":"24000:69:98","statements":[{"errorCall":{"arguments":[{"id":67135,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67078,"src":"24043:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67134,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65714,"src":"24025:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":67136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24025:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67137,"nodeType":"RevertStatement","src":"24018:36:98"}]}},{"assignments":[67141],"declarations":[{"constant":false,"id":67141,"mutability":"mutable","name":"convictionLast","nameLocation":"24091:14:98","nodeType":"VariableDeclaration","scope":67217,"src":"24083:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67140,"name":"uint256","nodeType":"ElementaryTypeName","src":"24083:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67145,"initialValue":{"arguments":[{"id":67143,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67078,"src":"24133:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67142,"name":"updateProposalConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68630,"src":"24108:24:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) returns (uint256)"}},"id":67144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24108:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24083:61:98"},{"assignments":[67147],"declarations":[{"constant":false,"id":67147,"mutability":"mutable","name":"threshold","nameLocation":"24166:9:98","nodeType":"VariableDeclaration","scope":67217,"src":"24158:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67146,"name":"uint256","nodeType":"ElementaryTypeName","src":"24158:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67152,"initialValue":{"arguments":[{"expression":{"id":67149,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67097,"src":"24197:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67150,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24206:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"24197:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67148,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68248,"src":"24178:18:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":67151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24178:44:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24158:64:98"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67153,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67141,"src":"24241:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":67154,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67147,"src":"24258:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24241:26:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67156,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67097,"src":"24271:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67157,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24280:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"24271:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":67158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24298:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"24271:28:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24241:58:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67165,"nodeType":"IfStatement","src":"24237:137:98","trueBody":{"id":67164,"nodeType":"Block","src":"24301:73:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67161,"name":"ConvictionUnderMinimumThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65726,"src":"24326:31:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24326:33:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67163,"nodeType":"RevertStatement","src":"24319:40:98"}]}},{"assignments":[67170],"declarations":[{"constant":false,"id":67170,"mutability":"mutable","name":"pool","nameLocation":"24406:4:98","nodeType":"VariableDeclaration","scope":67217,"src":"24388:22:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":67169,"nodeType":"UserDefinedTypeName","pathNode":{"id":67168,"name":"IAllo.Pool","nameLocations":["24388:5:98","24394:4:98"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"24388:10:98"},"referencedDeclaration":2319,"src":"24388:10:98","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":67175,"initialValue":{"arguments":[{"id":67173,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"24426:6:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67171,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64873,"src":"24413:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":67172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24418:7:98","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"24413:12:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":67174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24413:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"24388:45:98"},{"expression":{"id":67179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67176,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"24448:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"expression":{"id":67177,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67097,"src":"24462:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67178,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24471:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"24462:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24448:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67180,"nodeType":"ExpressionStatement","src":"24448:38:98"},{"expression":{"arguments":[{"expression":{"id":67182,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67170,"src":"24524:4:98","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":67183,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24529:5:98","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"24524:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67184,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67097,"src":"24536:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67185,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24545:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"24536:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67186,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67097,"src":"24558:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67187,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24567:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"24558:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67181,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"24508:15:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":67188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24508:75:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67189,"nodeType":"ExpressionStatement","src":"24508:75:98"},{"expression":{"id":67195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67190,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67097,"src":"24598:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67192,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"24607:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"24598:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67193,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"24624:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65565_$","typeString":"type(enum ProposalStatus)"}},"id":67194,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24639:8:98","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":65562,"src":"24624:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"src":"24598:49:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"id":67196,"nodeType":"ExpressionStatement","src":"24598:49:98"},{"expression":{"arguments":[{"id":67200,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67078,"src":"24713:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67201,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67097,"src":"24741:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67202,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24750:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65584,"src":"24741:18:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":67203,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"24777:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":67205,"indexExpression":{"id":67204,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"24795:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24777:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":67206,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24827:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"24777:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67197,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65941,"src":"24661:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"id":67199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24677:18:98","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":76346,"src":"24661:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":67207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24661:205:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67208,"nodeType":"ExpressionStatement","src":"24661:205:98"},{"eventCall":{"arguments":[{"id":67210,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67078,"src":"24898:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67211,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67097,"src":"24910:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67212,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24919:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"24910:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67213,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67097,"src":"24932:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67214,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24941:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"24932:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67209,"name":"Distributed","nodeType":"Identifier","overloadedDeclarations":[65783,2858],"referencedDeclaration":65783,"src":"24886:11:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":67215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24886:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67216,"nodeType":"EmitStatement","src":"24881:76:98"}]}}]},"baseFunctions":[65376],"implemented":true,"kind":"function","modifiers":[],"name":"_distribute","nameLocation":"23170:11:98","overrides":{"id":67066,"nodeType":"OverrideSpecifier","overrides":[],"src":"23246:8:98"},"parameters":{"id":67065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67060,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67220,"src":"23182:16:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":67058,"name":"address","nodeType":"ElementaryTypeName","src":"23182:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67059,"nodeType":"ArrayTypeName","src":"23182:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":67062,"mutability":"mutable","name":"_data","nameLocation":"23213:5:98","nodeType":"VariableDeclaration","scope":67220,"src":"23200:18:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67061,"name":"bytes","nodeType":"ElementaryTypeName","src":"23200:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":67064,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67220,"src":"23220:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67063,"name":"address","nodeType":"ElementaryTypeName","src":"23220:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23181:47:98"},"returnParameters":{"id":67067,"nodeType":"ParameterList","parameters":[],"src":"23255:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67272,"nodeType":"FunctionDefinition","src":"25040:728:98","nodes":[],"body":{"id":67271,"nodeType":"Block","src":"25137:631:98","nodes":[],"statements":[{"assignments":[67229],"declarations":[{"constant":false,"id":67229,"mutability":"mutable","name":"proposal","nameLocation":"25164:8:98","nodeType":"VariableDeclaration","scope":67271,"src":"25147:25:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"},"typeName":{"id":67228,"nodeType":"UserDefinedTypeName","pathNode":{"id":67227,"name":"Proposal","nameLocations":["25147:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65606,"src":"25147:8:98"},"referencedDeclaration":65606,"src":"25147:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"}},"visibility":"internal"}],"id":67233,"initialValue":{"baseExpression":{"id":67230,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"25175:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":67232,"indexExpression":{"id":67231,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67222,"src":"25185:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25175:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25147:49:98"},{"assignments":[67235,67237],"declarations":[{"constant":false,"id":67235,"mutability":"mutable","name":"convictionLast","nameLocation":"25290:14:98","nodeType":"VariableDeclaration","scope":67271,"src":"25282:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67234,"name":"uint256","nodeType":"ElementaryTypeName","src":"25282:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67237,"mutability":"mutable","name":"blockNumber","nameLocation":"25314:11:98","nodeType":"VariableDeclaration","scope":67271,"src":"25306:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67236,"name":"uint256","nodeType":"ElementaryTypeName","src":"25306:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67243,"initialValue":{"arguments":[{"id":67239,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67229,"src":"25375:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},{"expression":{"id":67240,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67229,"src":"25385:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67241,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25394:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"25385:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67238,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68444,"src":"25341:33:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$65606_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":67242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25341:66:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"25281:126:98"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67244,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67235,"src":"25422:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25440:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25422:19:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67249,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67247,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67237,"src":"25445:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25460:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25445:16:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25422:39:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67257,"nodeType":"IfStatement","src":"25418:110:98","trueBody":{"id":67256,"nodeType":"Block","src":"25463:65:98","statements":[{"expression":{"id":67254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67251,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67235,"src":"25477:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67252,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67229,"src":"25494:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67253,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25503:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65580,"src":"25494:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25477:40:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67255,"nodeType":"ExpressionStatement","src":"25477:40:98"}]}},{"assignments":[67259],"declarations":[{"constant":false,"id":67259,"mutability":"mutable","name":"threshold","nameLocation":"25545:9:98","nodeType":"VariableDeclaration","scope":67271,"src":"25537:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67258,"name":"uint256","nodeType":"ElementaryTypeName","src":"25537:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67264,"initialValue":{"arguments":[{"expression":{"id":67261,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67229,"src":"25576:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67262,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25585:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"25576:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67260,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68248,"src":"25557:18:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":67263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25557:44:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25537:64:98"},{"expression":{"id":67269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67265,"name":"canBeExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67225,"src":"25718:13:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67266,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67235,"src":"25734:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":67267,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67259,"src":"25752:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25734:27:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25718:43:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67270,"nodeType":"ExpressionStatement","src":"25718:43:98"}]},"functionSelector":"824ea8ed","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteProposal","nameLocation":"25049:18:98","parameters":{"id":67223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67222,"mutability":"mutable","name":"proposalId","nameLocation":"25076:10:98","nodeType":"VariableDeclaration","scope":67272,"src":"25068:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67221,"name":"uint256","nodeType":"ElementaryTypeName","src":"25068:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25067:20:98"},"returnParameters":{"id":67226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67225,"mutability":"mutable","name":"canBeExecuted","nameLocation":"25122:13:98","nodeType":"VariableDeclaration","scope":67272,"src":"25117:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67224,"name":"bool","nodeType":"ElementaryTypeName","src":"25117:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25116:20:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":67282,"nodeType":"FunctionDefinition","src":"26058:231:98","nodes":[],"body":{"id":67281,"nodeType":"Block","src":"26157:132:98","nodes":[],"statements":[]},"baseFunctions":[65396],"implemented":true,"kind":"function","modifiers":[],"name":"_getRecipientStatus","nameLocation":"26067:19:98","overrides":{"id":67276,"nodeType":"OverrideSpecifier","overrides":[],"src":"26131:8:98"},"parameters":{"id":67275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67274,"mutability":"mutable","name":"_recipientId","nameLocation":"26095:12:98","nodeType":"VariableDeclaration","scope":67282,"src":"26087:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67273,"name":"address","nodeType":"ElementaryTypeName","src":"26087:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26086:22:98"},"returnParameters":{"id":67280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67279,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67282,"src":"26149:6:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"},"typeName":{"id":67278,"nodeType":"UserDefinedTypeName","pathNode":{"id":67277,"name":"Status","nameLocations":["26149:6:98"],"nodeType":"IdentifierPath","referencedDeclaration":2815,"src":"26149:6:98"},"referencedDeclaration":2815,"src":"26149:6:98","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"visibility":"internal"}],"src":"26148:8:98"},"scope":69194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67301,"nodeType":"FunctionDefinition","src":"26418:287:98","nodes":[],"body":{"id":67300,"nodeType":"Block","src":"26528:177:98","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67297,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65676,"src":"26682:14:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26682:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67299,"nodeType":"RevertStatement","src":"26675:23:98"}]},"baseFunctions":[65235],"documentation":{"id":67283,"nodeType":"StructuredDocumentation","src":"26295:118:98","text":"@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive"},"functionSelector":"b2b878d0","implemented":true,"kind":"function","modifiers":[],"name":"getPayouts","nameLocation":"26427:10:98","overrides":{"id":67291,"nodeType":"OverrideSpecifier","overrides":[],"src":"26486:8:98"},"parameters":{"id":67290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67286,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67301,"src":"26438:16:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":67284,"name":"address","nodeType":"ElementaryTypeName","src":"26438:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67285,"nodeType":"ArrayTypeName","src":"26438:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":67289,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67301,"src":"26456:14:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":67287,"name":"bytes","nodeType":"ElementaryTypeName","src":"26456:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":67288,"nodeType":"ArrayTypeName","src":"26456:7:98","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"26437:34:98"},"returnParameters":{"id":67296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67295,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67301,"src":"26504:22:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr","typeString":"struct IStrategy.PayoutSummary[]"},"typeName":{"baseType":{"id":67293,"nodeType":"UserDefinedTypeName","pathNode":{"id":67292,"name":"PayoutSummary","nameLocations":["26504:13:98"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"26504:13:98"},"referencedDeclaration":2820,"src":"26504:13:98","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"id":67294,"nodeType":"ArrayTypeName","src":"26504:15:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr","typeString":"struct IStrategy.PayoutSummary[]"}},"visibility":"internal"}],"src":"26503:24:98"},"scope":69194,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":67313,"nodeType":"FunctionDefinition","src":"26711:286:98","nodes":[],"body":{"id":67312,"nodeType":"Block","src":"26879:118:98","nodes":[],"statements":[]},"baseFunctions":[65387],"implemented":true,"kind":"function","modifiers":[],"name":"_getPayout","nameLocation":"26720:10:98","overrides":{"id":67307,"nodeType":"OverrideSpecifier","overrides":[],"src":"26827:8:98"},"parameters":{"id":67306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67303,"mutability":"mutable","name":"_recipientId","nameLocation":"26739:12:98","nodeType":"VariableDeclaration","scope":67313,"src":"26731:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67302,"name":"address","nodeType":"ElementaryTypeName","src":"26731:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67305,"mutability":"mutable","name":"_data","nameLocation":"26766:5:98","nodeType":"VariableDeclaration","scope":67313,"src":"26753:18:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67304,"name":"bytes","nodeType":"ElementaryTypeName","src":"26753:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26730:42:98"},"returnParameters":{"id":67311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67310,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67313,"src":"26853:20:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary"},"typeName":{"id":67309,"nodeType":"UserDefinedTypeName","pathNode":{"id":67308,"name":"PayoutSummary","nameLocations":["26853:13:98"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"26853:13:98"},"referencedDeclaration":2820,"src":"26853:13:98","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"visibility":"internal"}],"src":"26852:22:98"},"scope":69194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67324,"nodeType":"FunctionDefinition","src":"27003:127:98","nodes":[],"body":{"id":67323,"nodeType":"Block","src":"27080:50:98","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":67320,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67315,"src":"27115:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67319,"name":"PoolAmountIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65793,"src":"27095:19:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":67321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27095:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67322,"nodeType":"EmitStatement","src":"27090:33:98"}]},"baseFunctions":[65410],"implemented":true,"kind":"function","modifiers":[],"name":"_afterIncreasePoolAmount","nameLocation":"27012:24:98","overrides":{"id":67317,"nodeType":"OverrideSpecifier","overrides":[],"src":"27071:8:98"},"parameters":{"id":67316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67315,"mutability":"mutable","name":"_amount","nameLocation":"27045:7:98","nodeType":"VariableDeclaration","scope":67324,"src":"27037:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67314,"name":"uint256","nodeType":"ElementaryTypeName","src":"27037:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27036:17:98"},"returnParameters":{"id":67318,"nodeType":"ParameterList","parameters":[],"src":"27080:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67333,"nodeType":"FunctionDefinition","src":"27225:143:98","nodes":[],"body":{"id":67332,"nodeType":"Block","src":"27318:50:98","nodes":[],"statements":[]},"baseFunctions":[65347],"implemented":true,"kind":"function","modifiers":[],"name":"_isValidAllocator","nameLocation":"27234:17:98","overrides":{"id":67328,"nodeType":"OverrideSpecifier","overrides":[],"src":"27294:8:98"},"parameters":{"id":67327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67326,"mutability":"mutable","name":"_allocator","nameLocation":"27260:10:98","nodeType":"VariableDeclaration","scope":67333,"src":"27252:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67325,"name":"address","nodeType":"ElementaryTypeName","src":"27252:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27251:20:98"},"returnParameters":{"id":67331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67330,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67333,"src":"27312:4:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67329,"name":"bool","nodeType":"ElementaryTypeName","src":"27312:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27311:6:98"},"scope":69194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67343,"nodeType":"FunctionDefinition","src":"27374:86:98","nodes":[],"body":{"id":67342,"nodeType":"Block","src":"27420:40:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":67339,"name":"_active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67335,"src":"27445:7:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":67338,"name":"_setPoolActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65330,"src":"27430:14:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":67340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27430:23:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67341,"nodeType":"ExpressionStatement","src":"27430:23:98"}]},"functionSelector":"b5f620ce","implemented":true,"kind":"function","modifiers":[],"name":"setPoolActive","nameLocation":"27383:13:98","parameters":{"id":67336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67335,"mutability":"mutable","name":"_active","nameLocation":"27402:7:98","nodeType":"VariableDeclaration","scope":67343,"src":"27397:12:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67334,"name":"bool","nodeType":"ElementaryTypeName","src":"27397:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27396:14:98"},"returnParameters":{"id":67337,"nodeType":"ParameterList","parameters":[],"src":"27420:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":67429,"nodeType":"FunctionDefinition","src":"27466:829:98","nodes":[],"body":{"id":67428,"nodeType":"Block","src":"27518:777:98","nodes":[],"statements":[{"assignments":[67352],"declarations":[{"constant":false,"id":67352,"mutability":"mutable","name":"proposalsIds","nameLocation":"27593:12:98","nodeType":"VariableDeclaration","scope":67428,"src":"27576:29:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":67350,"name":"uint256","nodeType":"ElementaryTypeName","src":"27576:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67351,"nodeType":"ArrayTypeName","src":"27576:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":67356,"initialValue":{"baseExpression":{"id":67353,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65958,"src":"27608:20:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67355,"indexExpression":{"id":67354,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67345,"src":"27629:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27608:29:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"27576:61:98"},{"body":{"id":67426,"nodeType":"Block","src":"27697:592:98","statements":[{"assignments":[67369],"declarations":[{"constant":false,"id":67369,"mutability":"mutable","name":"proposalId","nameLocation":"27719:10:98","nodeType":"VariableDeclaration","scope":67426,"src":"27711:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67368,"name":"uint256","nodeType":"ElementaryTypeName","src":"27711:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67373,"initialValue":{"baseExpression":{"id":67370,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67352,"src":"27732:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67372,"indexExpression":{"id":67371,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67358,"src":"27745:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27732:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27711:36:98"},{"assignments":[67376],"declarations":[{"constant":false,"id":67376,"mutability":"mutable","name":"proposal","nameLocation":"27778:8:98","nodeType":"VariableDeclaration","scope":67426,"src":"27761:25:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"},"typeName":{"id":67375,"nodeType":"UserDefinedTypeName","pathNode":{"id":67374,"name":"Proposal","nameLocations":["27761:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65606,"src":"27761:8:98"},"referencedDeclaration":65606,"src":"27761:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"}},"visibility":"internal"}],"id":67380,"initialValue":{"baseExpression":{"id":67377,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"27789:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":67379,"indexExpression":{"id":67378,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67369,"src":"27799:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27789:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"27761:49:98"},{"condition":{"arguments":[{"id":67382,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67369,"src":"27843:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67381,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67661,"src":"27828:14:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":67383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27828:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67425,"nodeType":"IfStatement","src":"27824:455:98","trueBody":{"id":67424,"nodeType":"Block","src":"27856:423:98","statements":[{"assignments":[67385],"declarations":[{"constant":false,"id":67385,"mutability":"mutable","name":"stakedPoints","nameLocation":"27882:12:98","nodeType":"VariableDeclaration","scope":67424,"src":"27874:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67384,"name":"uint256","nodeType":"ElementaryTypeName","src":"27874:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67390,"initialValue":{"baseExpression":{"expression":{"id":67386,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67376,"src":"27897:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67387,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27906:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65595,"src":"27897:26:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67389,"indexExpression":{"id":67388,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67345,"src":"27924:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27897:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27874:58:98"},{"expression":{"id":67397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":67391,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67376,"src":"27950:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67394,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27959:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65595,"src":"27950:26:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67395,"indexExpression":{"id":67393,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67345,"src":"27977:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"27950:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":67396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27988:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"27950:39:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67398,"nodeType":"ExpressionStatement","src":"27950:39:98"},{"expression":{"id":67403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67399,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67376,"src":"28007:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67401,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"28016:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"28007:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":67402,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67385,"src":"28032:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28007:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67404,"nodeType":"ExpressionStatement","src":"28007:37:98"},{"expression":{"id":67407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67405,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65922,"src":"28062:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":67406,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67385,"src":"28077:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28062:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67408,"nodeType":"ExpressionStatement","src":"28062:27:98"},{"expression":{"arguments":[{"id":67410,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67376,"src":"28134:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},{"id":67411,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67385,"src":"28144:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67409,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68397,"src":"28107:26:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$65606_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct Proposal storage pointer,uint256)"}},"id":67412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28107:50:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67413,"nodeType":"ExpressionStatement","src":"28107:50:98"},{"eventCall":{"arguments":[{"id":67415,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67345,"src":"28193:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67416,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67369,"src":"28202:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":67417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28214:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":67418,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67376,"src":"28217:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67419,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28226:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"28217:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67420,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67376,"src":"28240:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67421,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28249:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65580,"src":"28240:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67414,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65825,"src":"28180:12:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":67422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28180:84:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67423,"nodeType":"EmitStatement","src":"28175:89:98"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67361,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67358,"src":"27667:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67362,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67352,"src":"27671:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27684:6:98","memberName":"length","nodeType":"MemberAccess","src":"27671:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27667:23:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67427,"initializationExpression":{"assignments":[67358],"declarations":[{"constant":false,"id":67358,"mutability":"mutable","name":"i","nameLocation":"27660:1:98","nodeType":"VariableDeclaration","scope":67427,"src":"27652:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67357,"name":"uint256","nodeType":"ElementaryTypeName","src":"27652:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67360,"initialValue":{"hexValue":"30","id":67359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27664:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"27652:13:98"},"loopExpression":{"expression":{"id":67366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"27692:3:98","subExpression":{"id":67365,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67358,"src":"27692:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67367,"nodeType":"ExpressionStatement","src":"27692:3:98"},"nodeType":"ForStatement","src":"27647:642:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"27475:8:98","parameters":{"id":67346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67345,"mutability":"mutable","name":"_member","nameLocation":"27492:7:98","nodeType":"VariableDeclaration","scope":67429,"src":"27484:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67344,"name":"address","nodeType":"ElementaryTypeName","src":"27484:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27483:17:98"},"returnParameters":{"id":67347,"nodeType":"ParameterList","parameters":[],"src":"27518:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67505,"nodeType":"FunctionDefinition","src":"28979:1115:98","nodes":[],"body":{"id":67504,"nodeType":"Block","src":"29494:600:98","nodes":[],"statements":[{"assignments":[67460],"declarations":[{"constant":false,"id":67460,"mutability":"mutable","name":"proposal","nameLocation":"29521:8:98","nodeType":"VariableDeclaration","scope":67504,"src":"29504:25:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"},"typeName":{"id":67459,"nodeType":"UserDefinedTypeName","pathNode":{"id":67458,"name":"Proposal","nameLocations":["29504:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65606,"src":"29504:8:98"},"referencedDeclaration":65606,"src":"29504:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"}},"visibility":"internal"}],"id":67464,"initialValue":{"baseExpression":{"id":67461,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"29532:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":67463,"indexExpression":{"id":67462,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67432,"src":"29542:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29532:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"29504:50:98"},{"expression":{"id":67476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67465,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67452,"src":"29565:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67466,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67460,"src":"29577:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67467,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29586:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"29577:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29605:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29577:29:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"id":67472,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67460,"src":"29632:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67473,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29641:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"29632:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67471,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68248,"src":"29613:18:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":67474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29613:44:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"29577:80:98","trueExpression":{"hexValue":"30","id":67470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29609:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29565:92:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67477,"nodeType":"ExpressionStatement","src":"29565:92:98"},{"expression":{"components":[{"expression":{"id":67478,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67460,"src":"29688:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67479,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29697:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65584,"src":"29688:18:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67480,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67460,"src":"29720:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67481,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29729:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"29720:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67482,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67460,"src":"29754:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67483,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29763:14:98","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65586,"src":"29754:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67484,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67460,"src":"29791:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67485,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29800:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"29791:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67486,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67460,"src":"29829:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67487,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29838:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"29829:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67488,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67460,"src":"29864:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67489,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29873:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"29864:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},{"expression":{"id":67490,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67460,"src":"29901:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67491,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29910:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65588,"src":"29901:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67492,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67460,"src":"29933:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67493,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29942:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65580,"src":"29933:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67494,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67452,"src":"29970:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"expression":{"id":67495,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67460,"src":"29993:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67496,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30002:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65595,"src":"29993:26:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67499,"indexExpression":{"expression":{"id":67497,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"30020:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30024:6:98","memberName":"sender","nodeType":"MemberAccess","src":"30020:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29993:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67500,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67460,"src":"30045:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67501,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30054:23:98","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65605,"src":"30045:32:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67502,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"29674:413:98","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$65565_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":67457,"id":67503,"nodeType":"Return","src":"29667:420:98"}]},"documentation":{"id":67430,"nodeType":"StructuredDocumentation","src":"28301:673:98","text":" @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold\n @return voterStakedPoints Voter staked points\n @return arbitrableConfigVersion Proposal arbitrable config id"},"functionSelector":"c7f758a8","implemented":true,"kind":"function","modifiers":[],"name":"getProposal","nameLocation":"28988:11:98","parameters":{"id":67433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67432,"mutability":"mutable","name":"_proposalId","nameLocation":"29008:11:98","nodeType":"VariableDeclaration","scope":67505,"src":"29000:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67431,"name":"uint256","nodeType":"ElementaryTypeName","src":"29000:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28999:21:98"},"returnParameters":{"id":67457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67435,"mutability":"mutable","name":"submitter","nameLocation":"29105:9:98","nodeType":"VariableDeclaration","scope":67505,"src":"29097:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67434,"name":"address","nodeType":"ElementaryTypeName","src":"29097:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67437,"mutability":"mutable","name":"beneficiary","nameLocation":"29136:11:98","nodeType":"VariableDeclaration","scope":67505,"src":"29128:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67436,"name":"address","nodeType":"ElementaryTypeName","src":"29128:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67439,"mutability":"mutable","name":"requestedToken","nameLocation":"29169:14:98","nodeType":"VariableDeclaration","scope":67505,"src":"29161:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67438,"name":"address","nodeType":"ElementaryTypeName","src":"29161:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67441,"mutability":"mutable","name":"requestedAmount","nameLocation":"29205:15:98","nodeType":"VariableDeclaration","scope":67505,"src":"29197:23:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67440,"name":"uint256","nodeType":"ElementaryTypeName","src":"29197:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67443,"mutability":"mutable","name":"stakedAmount","nameLocation":"29242:12:98","nodeType":"VariableDeclaration","scope":67505,"src":"29234:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67442,"name":"uint256","nodeType":"ElementaryTypeName","src":"29234:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67446,"mutability":"mutable","name":"proposalStatus","nameLocation":"29283:14:98","nodeType":"VariableDeclaration","scope":67505,"src":"29268:29:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"},"typeName":{"id":67445,"nodeType":"UserDefinedTypeName","pathNode":{"id":67444,"name":"ProposalStatus","nameLocations":["29268:14:98"],"nodeType":"IdentifierPath","referencedDeclaration":65565,"src":"29268:14:98"},"referencedDeclaration":65565,"src":"29268:14:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":67448,"mutability":"mutable","name":"blockLast","nameLocation":"29319:9:98","nodeType":"VariableDeclaration","scope":67505,"src":"29311:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67447,"name":"uint256","nodeType":"ElementaryTypeName","src":"29311:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67450,"mutability":"mutable","name":"convictionLast","nameLocation":"29350:14:98","nodeType":"VariableDeclaration","scope":67505,"src":"29342:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67449,"name":"uint256","nodeType":"ElementaryTypeName","src":"29342:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67452,"mutability":"mutable","name":"threshold","nameLocation":"29386:9:98","nodeType":"VariableDeclaration","scope":67505,"src":"29378:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67451,"name":"uint256","nodeType":"ElementaryTypeName","src":"29378:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67454,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"29417:17:98","nodeType":"VariableDeclaration","scope":67505,"src":"29409:25:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67453,"name":"uint256","nodeType":"ElementaryTypeName","src":"29409:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67456,"mutability":"mutable","name":"arbitrableConfigVersion","nameLocation":"29456:23:98","nodeType":"VariableDeclaration","scope":67505,"src":"29448:31:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67455,"name":"uint256","nodeType":"ElementaryTypeName","src":"29448:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29083:406:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67524,"nodeType":"FunctionDefinition","src":"30100:191:98","nodes":[],"body":{"id":67523,"nodeType":"Block","src":"30190:101:98","nodes":[],"statements":[{"assignments":[67515],"declarations":[{"constant":false,"id":67515,"mutability":"mutable","name":"proposal","nameLocation":"30217:8:98","nodeType":"VariableDeclaration","scope":67523,"src":"30200:25:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"},"typeName":{"id":67514,"nodeType":"UserDefinedTypeName","pathNode":{"id":67513,"name":"Proposal","nameLocations":["30200:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65606,"src":"30200:8:98"},"referencedDeclaration":65606,"src":"30200:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"}},"visibility":"internal"}],"id":67519,"initialValue":{"baseExpression":{"id":67516,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"30228:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":67518,"indexExpression":{"id":67517,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67507,"src":"30238:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30228:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"30200:50:98"},{"expression":{"expression":{"id":67520,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67515,"src":"30267:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67521,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30276:8:98","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":65598,"src":"30267:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"functionReturnParameters":67512,"id":67522,"nodeType":"Return","src":"30260:24:98"}]},"functionSelector":"a574cea4","implemented":true,"kind":"function","modifiers":[],"name":"getMetadata","nameLocation":"30109:11:98","parameters":{"id":67508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67507,"mutability":"mutable","name":"_proposalId","nameLocation":"30129:11:98","nodeType":"VariableDeclaration","scope":67524,"src":"30121:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67506,"name":"uint256","nodeType":"ElementaryTypeName","src":"30121:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30120:21:98"},"returnParameters":{"id":67512,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67511,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67524,"src":"30173:15:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":67510,"nodeType":"UserDefinedTypeName","pathNode":{"id":67509,"name":"Metadata","nameLocations":["30173:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"30173:8:98"},"referencedDeclaration":3098,"src":"30173:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"30172:17:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67540,"nodeType":"FunctionDefinition","src":"30492:184:98","nodes":[],"body":{"id":67539,"nodeType":"Block","src":"30600:76:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":67535,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67527,"src":"30649:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67536,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67529,"src":"30662:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":67534,"name":"_internal_getProposalVoterStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67625,"src":"30617:31:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":67537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30617:52:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67533,"id":67538,"nodeType":"Return","src":"30610:59:98"}]},"documentation":{"id":67525,"nodeType":"StructuredDocumentation","src":"30297:190:98","text":" @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake"},"functionSelector":"e0dd2c38","implemented":true,"kind":"function","modifiers":[],"name":"getProposalVoterStake","nameLocation":"30501:21:98","parameters":{"id":67530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67527,"mutability":"mutable","name":"_proposalId","nameLocation":"30531:11:98","nodeType":"VariableDeclaration","scope":67540,"src":"30523:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67526,"name":"uint256","nodeType":"ElementaryTypeName","src":"30523:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67529,"mutability":"mutable","name":"_voter","nameLocation":"30552:6:98","nodeType":"VariableDeclaration","scope":67540,"src":"30544:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67528,"name":"address","nodeType":"ElementaryTypeName","src":"30544:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30522:37:98"},"returnParameters":{"id":67533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67532,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67540,"src":"30591:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67531,"name":"uint256","nodeType":"ElementaryTypeName","src":"30591:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30590:9:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67553,"nodeType":"FunctionDefinition","src":"30682:153:98","nodes":[],"body":{"id":67552,"nodeType":"Block","src":"30776:59:98","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":67547,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"30793:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":67549,"indexExpression":{"id":67548,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67542,"src":"30803:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30793:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"id":67550,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30816:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"30793:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67546,"id":67551,"nodeType":"Return","src":"30786:42:98"}]},"functionSelector":"dc96ff2d","implemented":true,"kind":"function","modifiers":[],"name":"getProposalStakedAmount","nameLocation":"30691:23:98","parameters":{"id":67543,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67542,"mutability":"mutable","name":"_proposalId","nameLocation":"30723:11:98","nodeType":"VariableDeclaration","scope":67553,"src":"30715:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67541,"name":"uint256","nodeType":"ElementaryTypeName","src":"30715:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30714:21:98"},"returnParameters":{"id":67546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67545,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67553,"src":"30767:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67544,"name":"uint256","nodeType":"ElementaryTypeName","src":"30767:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30766:9:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67565,"nodeType":"FunctionDefinition","src":"30903:135:98","nodes":[],"body":{"id":67564,"nodeType":"Block","src":"30988:50:98","nodes":[],"statements":[{"expression":{"baseExpression":{"id":67560,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65953,"src":"31005:18:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67562,"indexExpression":{"id":67561,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67555,"src":"31024:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31005:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67559,"id":67563,"nodeType":"Return","src":"30998:33:98"}]},"functionSelector":"bcc5b93b","implemented":true,"kind":"function","modifiers":[],"name":"getTotalVoterStakePct","nameLocation":"30912:21:98","parameters":{"id":67556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67555,"mutability":"mutable","name":"_voter","nameLocation":"30942:6:98","nodeType":"VariableDeclaration","scope":67565,"src":"30934:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67554,"name":"address","nodeType":"ElementaryTypeName","src":"30934:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30933:16:98"},"returnParameters":{"id":67559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67558,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67565,"src":"30979:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67557,"name":"uint256","nodeType":"ElementaryTypeName","src":"30979:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30978:9:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":67608,"nodeType":"FunctionDefinition","src":"31044:874:98","nodes":[],"body":{"id":67607,"nodeType":"Block","src":"31394:524:98","nodes":[],"statements":[{"expression":{"components":[{"expression":{"baseExpression":{"id":67581,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"31425:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":67583,"indexExpression":{"id":67582,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"31443:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31425:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":67584,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31475:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"31425:60:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}},{"expression":{"baseExpression":{"id":67585,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"31499:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":67587,"indexExpression":{"id":67586,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"31517:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31499:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":67588,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31549:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"31499:62:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":67589,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"31575:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":67591,"indexExpression":{"id":67590,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"31593:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31575:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":67592,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31625:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"31575:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":67593,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"31664:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":67595,"indexExpression":{"id":67594,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"31682:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31664:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":67596,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31714:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"31664:76:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":67597,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"31754:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":67599,"indexExpression":{"id":67598,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"31772:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31754:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":67600,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31804:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"31754:63:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":67601,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"31831:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":67603,"indexExpression":{"id":67602,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"31849:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31831:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":67604,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31881:20:98","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65627,"src":"31831:70:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67605,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"31411:500:98","typeDescriptions":{"typeIdentifier":"t_tuple$_t_contract$_IArbitrator_$76325_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":67580,"id":67606,"nodeType":"Return","src":"31404:507:98"}]},"functionSelector":"059351cd","implemented":true,"kind":"function","modifiers":[],"name":"getArbitrableConfig","nameLocation":"31053:19:98","parameters":{"id":67566,"nodeType":"ParameterList","parameters":[],"src":"31072:2:98"},"returnParameters":{"id":67580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67569,"mutability":"mutable","name":"arbitrator","nameLocation":"31163:10:98","nodeType":"VariableDeclaration","scope":67608,"src":"31151:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"},"typeName":{"id":67568,"nodeType":"UserDefinedTypeName","pathNode":{"id":67567,"name":"IArbitrator","nameLocations":["31151:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":76325,"src":"31151:11:98"},"referencedDeclaration":76325,"src":"31151:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":67571,"mutability":"mutable","name":"tribunalSafe","nameLocation":"31195:12:98","nodeType":"VariableDeclaration","scope":67608,"src":"31187:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67570,"name":"address","nodeType":"ElementaryTypeName","src":"31187:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67573,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"31229:25:98","nodeType":"VariableDeclaration","scope":67608,"src":"31221:33:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67572,"name":"uint256","nodeType":"ElementaryTypeName","src":"31221:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67575,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"31276:26:98","nodeType":"VariableDeclaration","scope":67608,"src":"31268:34:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67574,"name":"uint256","nodeType":"ElementaryTypeName","src":"31268:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67577,"mutability":"mutable","name":"defaultRuling","nameLocation":"31324:13:98","nodeType":"VariableDeclaration","scope":67608,"src":"31316:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67576,"name":"uint256","nodeType":"ElementaryTypeName","src":"31316:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67579,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"31359:20:98","nodeType":"VariableDeclaration","scope":67608,"src":"31351:28:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67578,"name":"uint256","nodeType":"ElementaryTypeName","src":"31351:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31137:252:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67625,"nodeType":"FunctionDefinition","src":"31924:226:98","nodes":[],"body":{"id":67624,"nodeType":"Block","src":"32078:72:98","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":67617,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"32095:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":67619,"indexExpression":{"id":67618,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67610,"src":"32105:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32095:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"id":67620,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32118:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65595,"src":"32095:40:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67622,"indexExpression":{"id":67621,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67612,"src":"32136:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32095:48:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67616,"id":67623,"nodeType":"Return","src":"32088:55:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_internal_getProposalVoterStake","nameLocation":"31933:31:98","parameters":{"id":67613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67610,"mutability":"mutable","name":"_proposalId","nameLocation":"31973:11:98","nodeType":"VariableDeclaration","scope":67625,"src":"31965:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67609,"name":"uint256","nodeType":"ElementaryTypeName","src":"31965:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67612,"mutability":"mutable","name":"_voter","nameLocation":"31994:6:98","nodeType":"VariableDeclaration","scope":67625,"src":"31986:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67611,"name":"address","nodeType":"ElementaryTypeName","src":"31986:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31964:37:98"},"returnParameters":{"id":67616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67615,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67625,"src":"32065:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67614,"name":"uint256","nodeType":"ElementaryTypeName","src":"32065:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32064:9:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67636,"nodeType":"FunctionDefinition","src":"32156:158:98","nodes":[],"body":{"id":67635,"nodeType":"Block","src":"32228:86:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":67630,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"32245:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":67631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32245:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":67632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32268:20:98","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":72493,"src":"32245:43:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":67633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32245:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67629,"id":67634,"nodeType":"Return","src":"32238:52:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"32165:20:98","parameters":{"id":67626,"nodeType":"ParameterList","parameters":[],"src":"32185:2:98"},"returnParameters":{"id":67629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67628,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67636,"src":"32219:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67627,"name":"uint256","nodeType":"ElementaryTypeName","src":"32219:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32218:9:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67661,"nodeType":"FunctionDefinition","src":"32320:193:98","nodes":[],"body":{"id":67660,"nodeType":"Block","src":"32402:111:98","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":67643,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"32419:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":67645,"indexExpression":{"id":67644,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67638,"src":"32429:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32419:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"id":67646,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32442:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"32419:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":67647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32455:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"32419:37:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":67649,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"32460:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":67651,"indexExpression":{"id":67650,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67638,"src":"32470:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32460:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"id":67652,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32483:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65584,"src":"32460:32:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":67655,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32504:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":67654,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32496:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67653,"name":"address","nodeType":"ElementaryTypeName","src":"32496:7:98","typeDescriptions":{}}},"id":67656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32496:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"32460:46:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"32419:87:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":67642,"id":67659,"nodeType":"Return","src":"32412:94:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"proposalExists","nameLocation":"32329:14:98","parameters":{"id":67639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67638,"mutability":"mutable","name":"_proposalID","nameLocation":"32352:11:98","nodeType":"VariableDeclaration","scope":67661,"src":"32344:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67637,"name":"uint256","nodeType":"ElementaryTypeName","src":"32344:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32343:21:98"},"returnParameters":{"id":67642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67641,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67661,"src":"32396:4:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67640,"name":"bool","nodeType":"ElementaryTypeName","src":"32396:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32395:6:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67680,"nodeType":"FunctionDefinition","src":"32519:191:98","nodes":[],"body":{"id":67679,"nodeType":"Block","src":"32622:88:98","nodes":[],"statements":[{"expression":{"id":67677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67668,"name":"isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67666,"src":"32632:14:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67669,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65927,"src":"32649:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage","typeString":"struct CVParams storage ref"}},"id":67670,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32658:8:98","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":65630,"src":"32649:17:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":67671,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"32669:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32649:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67673,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67663,"src":"32683:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":67674,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65890,"src":"32702:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32683:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32649:54:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"32632:71:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67678,"nodeType":"ExpressionStatement","src":"32632:71:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isOverMaxRatio","nameLocation":"32528:15:98","parameters":{"id":67664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67663,"mutability":"mutable","name":"_requestedAmount","nameLocation":"32552:16:98","nodeType":"VariableDeclaration","scope":67680,"src":"32544:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67662,"name":"uint256","nodeType":"ElementaryTypeName","src":"32544:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32543:26:98"},"returnParameters":{"id":67667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67666,"mutability":"mutable","name":"isOverMaxRatio","nameLocation":"32606:14:98","nodeType":"VariableDeclaration","scope":67680,"src":"32601:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67665,"name":"bool","nodeType":"ElementaryTypeName","src":"32601:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32600:21:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67777,"nodeType":"FunctionDefinition","src":"32716:1526:98","nodes":[],"body":{"id":67776,"nodeType":"Block","src":"32819:1423:98","nodes":[],"statements":[{"assignments":[67690],"declarations":[{"constant":false,"id":67690,"mutability":"mutable","name":"deltaSupportSum","nameLocation":"32836:15:98","nodeType":"VariableDeclaration","scope":67776,"src":"32829:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67689,"name":"int256","nodeType":"ElementaryTypeName","src":"32829:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":67692,"initialValue":{"hexValue":"30","id":67691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32854:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"32829:26:98"},{"body":{"id":67737,"nodeType":"Block","src":"32919:576:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":67704,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67686,"src":"32992:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport memory[] memory"}},"id":67706,"indexExpression":{"id":67705,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67694,"src":"33009:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32992:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65611_memory_ptr","typeString":"struct ProposalSupport memory"}},"id":67707,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33012:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65608,"src":"32992:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67708,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33026:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"32992:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67712,"nodeType":"IfStatement","src":"32988:187:98","trueBody":{"id":67711,"nodeType":"Block","src":"33029:146:98","statements":[{"id":67710,"nodeType":"Continue","src":"33152:8:98"}]}},{"assignments":[67714],"declarations":[{"constant":false,"id":67714,"mutability":"mutable","name":"proposalId","nameLocation":"33196:10:98","nodeType":"VariableDeclaration","scope":67737,"src":"33188:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67713,"name":"uint256","nodeType":"ElementaryTypeName","src":"33188:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67719,"initialValue":{"expression":{"baseExpression":{"id":67715,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67686,"src":"33209:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport memory[] memory"}},"id":67717,"indexExpression":{"id":67716,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67694,"src":"33226:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33209:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65611_memory_ptr","typeString":"struct ProposalSupport memory"}},"id":67718,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33229:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65608,"src":"33209:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33188:51:98"},{"condition":{"id":67723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"33257:27:98","subExpression":{"arguments":[{"id":67721,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67714,"src":"33273:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67720,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67661,"src":"33258:14:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":67722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33258:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67729,"nodeType":"IfStatement","src":"33253:167:98","trueBody":{"id":67728,"nodeType":"Block","src":"33286:134:98","statements":[{"errorCall":{"arguments":[{"id":67725,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67714,"src":"33329:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67724,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65718,"src":"33311:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":67726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33311:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67727,"nodeType":"RevertStatement","src":"33304:36:98"}]}},{"expression":{"id":67735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67730,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67690,"src":"33433:15:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":67731,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67686,"src":"33452:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport memory[] memory"}},"id":67733,"indexExpression":{"id":67732,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67694,"src":"33469:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33452:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65611_memory_ptr","typeString":"struct ProposalSupport memory"}},"id":67734,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33472:12:98","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":65610,"src":"33452:32:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"33433:51:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":67736,"nodeType":"ExpressionStatement","src":"33433:51:98"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67697,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67694,"src":"32885:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67698,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67686,"src":"32889:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport memory[] memory"}},"id":67699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32906:6:98","memberName":"length","nodeType":"MemberAccess","src":"32889:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32885:27:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67738,"initializationExpression":{"assignments":[67694],"declarations":[{"constant":false,"id":67694,"mutability":"mutable","name":"i","nameLocation":"32878:1:98","nodeType":"VariableDeclaration","scope":67738,"src":"32870:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67693,"name":"uint256","nodeType":"ElementaryTypeName","src":"32870:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67696,"initialValue":{"hexValue":"30","id":67695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32882:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"32870:13:98"},"loopExpression":{"expression":{"id":67702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"32914:3:98","subExpression":{"id":67701,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67694,"src":"32914:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67703,"nodeType":"ExpressionStatement","src":"32914:3:98"},"nodeType":"ForStatement","src":"32865:630:98"},{"assignments":[67740],"declarations":[{"constant":false,"id":67740,"mutability":"mutable","name":"newTotalVotingSupport","nameLocation":"33599:21:98","nodeType":"VariableDeclaration","scope":67776,"src":"33591:29:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67739,"name":"uint256","nodeType":"ElementaryTypeName","src":"33591:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67747,"initialValue":{"arguments":[{"arguments":[{"id":67743,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67682,"src":"33657:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67742,"name":"getTotalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67565,"src":"33635:21:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":67744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33635:30:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67745,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67690,"src":"33667:15:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":67741,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68097,"src":"33623:11:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":67746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33623:60:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33591:92:98"},{"assignments":[67749],"declarations":[{"constant":false,"id":67749,"mutability":"mutable","name":"participantBalance","nameLocation":"33773:18:98","nodeType":"VariableDeclaration","scope":67776,"src":"33765:26:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67748,"name":"uint256","nodeType":"ElementaryTypeName","src":"33765:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67759,"initialValue":{"arguments":[{"id":67753,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67682,"src":"33842:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67756,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"33859:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}],"id":67755,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33851:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67754,"name":"address","nodeType":"ElementaryTypeName","src":"33851:7:98","typeDescriptions":{}}},"id":67757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33851:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":67750,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"33794:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":67751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33794:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":67752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33817:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72093,"src":"33794:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":67758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33794:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33765:100:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67760,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67740,"src":"34031:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":67761,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67749,"src":"34055:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34031:42:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67769,"nodeType":"IfStatement","src":"34027:147:98","trueBody":{"id":67768,"nodeType":"Block","src":"34075:99:98","statements":[{"errorCall":{"arguments":[{"id":67764,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67740,"src":"34121:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67765,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67749,"src":"34144:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67763,"name":"NotEnoughPointsToSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65706,"src":"34096:24:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":67766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34096:67:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67767,"nodeType":"RevertStatement","src":"34089:74:98"}]}},{"expression":{"id":67774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67770,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65953,"src":"34184:18:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67772,"indexExpression":{"id":67771,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67682,"src":"34203:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"34184:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67773,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67740,"src":"34214:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34184:51:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67775,"nodeType":"ExpressionStatement","src":"34184:51:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_check_before_addSupport","nameLocation":"32725:24:98","parameters":{"id":67687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67682,"mutability":"mutable","name":"_sender","nameLocation":"32758:7:98","nodeType":"VariableDeclaration","scope":67777,"src":"32750:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67681,"name":"address","nodeType":"ElementaryTypeName","src":"32750:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67686,"mutability":"mutable","name":"_proposalSupport","nameLocation":"32792:16:98","nodeType":"VariableDeclaration","scope":67777,"src":"32767:41:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport[]"},"typeName":{"baseType":{"id":67684,"nodeType":"UserDefinedTypeName","pathNode":{"id":67683,"name":"ProposalSupport","nameLocations":["32767:15:98"],"nodeType":"IdentifierPath","referencedDeclaration":65611,"src":"32767:15:98"},"referencedDeclaration":65611,"src":"32767:15:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65611_storage_ptr","typeString":"struct ProposalSupport"}},"id":67685,"nodeType":"ArrayTypeName","src":"32767:17:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_storage_$dyn_storage_ptr","typeString":"struct ProposalSupport[]"}},"visibility":"internal"}],"src":"32749:60:98"},"returnParameters":{"id":67688,"nodeType":"ParameterList","parameters":[],"src":"32819:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":68062,"nodeType":"FunctionDefinition","src":"34248:3457:98","nodes":[],"body":{"id":68061,"nodeType":"Block","src":"34346:3359:98","nodes":[],"statements":[{"assignments":[67790],"declarations":[{"constant":false,"id":67790,"mutability":"mutable","name":"proposalsIds","nameLocation":"34373:12:98","nodeType":"VariableDeclaration","scope":68061,"src":"34356:29:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":67788,"name":"uint256","nodeType":"ElementaryTypeName","src":"34356:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67789,"nodeType":"ArrayTypeName","src":"34356:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":67791,"nodeType":"VariableDeclarationStatement","src":"34356:29:98"},{"body":{"id":68059,"nodeType":"Block","src":"34449:3250:98","statements":[{"assignments":[67804],"declarations":[{"constant":false,"id":67804,"mutability":"mutable","name":"proposalId","nameLocation":"34471:10:98","nodeType":"VariableDeclaration","scope":68059,"src":"34463:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67803,"name":"uint256","nodeType":"ElementaryTypeName","src":"34463:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67809,"initialValue":{"expression":{"baseExpression":{"id":67805,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67783,"src":"34484:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport memory[] memory"}},"id":67807,"indexExpression":{"id":67806,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67793,"src":"34501:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34484:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65611_memory_ptr","typeString":"struct ProposalSupport memory"}},"id":67808,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34504:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65608,"src":"34484:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34463:51:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67810,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67790,"src":"34587:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34600:6:98","memberName":"length","nodeType":"MemberAccess","src":"34587:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34610:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"34587:24:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":67912,"nodeType":"Block","src":"34739:764:98","statements":[{"assignments":[67830],"declarations":[{"constant":false,"id":67830,"mutability":"mutable","name":"exist","nameLocation":"34762:5:98","nodeType":"VariableDeclaration","scope":67912,"src":"34757:10:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67829,"name":"bool","nodeType":"ElementaryTypeName","src":"34757:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":67832,"initialValue":{"hexValue":"66616c7365","id":67831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"34770:5:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"34757:18:98"},{"body":{"id":67860,"nodeType":"Block","src":"34843:268:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":67844,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67790,"src":"34894:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67846,"indexExpression":{"id":67845,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67834,"src":"34907:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34894:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":67847,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67804,"src":"34913:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34894:29:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67859,"nodeType":"IfStatement","src":"34890:203:98","trueBody":{"id":67858,"nodeType":"Block","src":"34925:168:98","statements":[{"expression":{"id":67851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67849,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67830,"src":"34951:5:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":67850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"34959:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"34951:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67852,"nodeType":"ExpressionStatement","src":"34951:12:98"},{"errorCall":{"arguments":[{"id":67854,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67804,"src":"35022:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67855,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67834,"src":"35034:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67853,"name":"ProposalSupportDuplicated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65724,"src":"34996:25:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":67856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34996:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67857,"nodeType":"RevertStatement","src":"34989:47:98"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67837,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67834,"src":"34813:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67838,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67790,"src":"34817:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34830:6:98","memberName":"length","nodeType":"MemberAccess","src":"34817:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34813:23:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67861,"initializationExpression":{"assignments":[67834],"declarations":[{"constant":false,"id":67834,"mutability":"mutable","name":"j","nameLocation":"34806:1:98","nodeType":"VariableDeclaration","scope":67861,"src":"34798:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67833,"name":"uint256","nodeType":"ElementaryTypeName","src":"34798:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67836,"initialValue":{"hexValue":"30","id":67835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34810:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"34798:13:98"},"loopExpression":{"expression":{"id":67842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"34838:3:98","subExpression":{"id":67841,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67834,"src":"34838:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67843,"nodeType":"ExpressionStatement","src":"34838:3:98"},"nodeType":"ForStatement","src":"34793:318:98"},{"condition":{"id":67863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"35132:6:98","subExpression":{"id":67862,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67830,"src":"35133:5:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67911,"nodeType":"IfStatement","src":"35128:361:98","trueBody":{"id":67910,"nodeType":"Block","src":"35140:349:98","statements":[{"assignments":[67868],"declarations":[{"constant":false,"id":67868,"mutability":"mutable","name":"temp","nameLocation":"35179:4:98","nodeType":"VariableDeclaration","scope":67910,"src":"35162:21:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":67866,"name":"uint256","nodeType":"ElementaryTypeName","src":"35162:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67867,"nodeType":"ArrayTypeName","src":"35162:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":67877,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67872,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67790,"src":"35200:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35213:6:98","memberName":"length","nodeType":"MemberAccess","src":"35200:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":67874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35222:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"35200:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67871,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"35186:13:98","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":67869,"name":"uint256","nodeType":"ElementaryTypeName","src":"35190:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67870,"nodeType":"ArrayTypeName","src":"35190:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":67876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35186:38:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"35162:62:98"},{"body":{"id":67897,"nodeType":"Block","src":"35296:74:98","statements":[{"expression":{"id":67895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67889,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67868,"src":"35322:4:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67891,"indexExpression":{"id":67890,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67879,"src":"35327:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35322:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":67892,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67790,"src":"35332:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67894,"indexExpression":{"id":67893,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67879,"src":"35345:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35332:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35322:25:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67896,"nodeType":"ExpressionStatement","src":"35322:25:98"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67882,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67879,"src":"35266:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67883,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67790,"src":"35270:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35283:6:98","memberName":"length","nodeType":"MemberAccess","src":"35270:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35266:23:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67898,"initializationExpression":{"assignments":[67879],"declarations":[{"constant":false,"id":67879,"mutability":"mutable","name":"j","nameLocation":"35259:1:98","nodeType":"VariableDeclaration","scope":67898,"src":"35251:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67878,"name":"uint256","nodeType":"ElementaryTypeName","src":"35251:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67881,"initialValue":{"hexValue":"30","id":67880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35263:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35251:13:98"},"loopExpression":{"expression":{"id":67887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35291:3:98","subExpression":{"id":67886,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67879,"src":"35291:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67888,"nodeType":"ExpressionStatement","src":"35291:3:98"},"nodeType":"ForStatement","src":"35246:124:98"},{"expression":{"id":67904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67899,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67868,"src":"35391:4:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67902,"indexExpression":{"expression":{"id":67900,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67790,"src":"35396:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35409:6:98","memberName":"length","nodeType":"MemberAccess","src":"35396:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35391:25:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67903,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67804,"src":"35419:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35391:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67905,"nodeType":"ExpressionStatement","src":"35391:38:98"},{"expression":{"id":67908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67906,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67790,"src":"35451:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67907,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67868,"src":"35466:4:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"35451:19:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67909,"nodeType":"ExpressionStatement","src":"35451:19:98"}]}}]},"id":67913,"nodeType":"IfStatement","src":"34583:920:98","trueBody":{"id":67828,"nodeType":"Block","src":"34613:120:98","statements":[{"expression":{"id":67820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67814,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67790,"src":"34631:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":67818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34660:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":67817,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"34646:13:98","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":67815,"name":"uint256","nodeType":"ElementaryTypeName","src":"34650:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67816,"nodeType":"ArrayTypeName","src":"34650:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":67819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34646:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"34631:31:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67821,"nodeType":"ExpressionStatement","src":"34631:31:98"},{"expression":{"id":67826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67822,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67790,"src":"34680:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67824,"indexExpression":{"hexValue":"30","id":67823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34693:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"34680:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67825,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67804,"src":"34698:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34680:28:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67827,"nodeType":"ExpressionStatement","src":"34680:28:98"}]}},{"assignments":[67915],"declarations":[{"constant":false,"id":67915,"mutability":"mutable","name":"delta","nameLocation":"35523:5:98","nodeType":"VariableDeclaration","scope":68059,"src":"35516:12:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67914,"name":"int256","nodeType":"ElementaryTypeName","src":"35516:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":67920,"initialValue":{"expression":{"baseExpression":{"id":67916,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67783,"src":"35531:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport memory[] memory"}},"id":67918,"indexExpression":{"id":67917,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67793,"src":"35548:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35531:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65611_memory_ptr","typeString":"struct ProposalSupport memory"}},"id":67919,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35551:12:98","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":65610,"src":"35531:32:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"35516:47:98"},{"assignments":[67923],"declarations":[{"constant":false,"id":67923,"mutability":"mutable","name":"proposal","nameLocation":"35595:8:98","nodeType":"VariableDeclaration","scope":68059,"src":"35578:25:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"},"typeName":{"id":67922,"nodeType":"UserDefinedTypeName","pathNode":{"id":67921,"name":"Proposal","nameLocations":["35578:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65606,"src":"35578:8:98"},"referencedDeclaration":65606,"src":"35578:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"}},"visibility":"internal"}],"id":67927,"initialValue":{"baseExpression":{"id":67924,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"35606:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":67926,"indexExpression":{"id":67925,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67804,"src":"35616:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35606:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"35578:49:98"},{"assignments":[67929],"declarations":[{"constant":false,"id":67929,"mutability":"mutable","name":"previousStakedPoints","nameLocation":"35737:20:98","nodeType":"VariableDeclaration","scope":68059,"src":"35729:28:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67928,"name":"uint256","nodeType":"ElementaryTypeName","src":"35729:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67934,"initialValue":{"baseExpression":{"expression":{"id":67930,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67923,"src":"35760:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67931,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35769:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65595,"src":"35760:26:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67933,"indexExpression":{"id":67932,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67779,"src":"35787:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35760:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"35729:66:98"},{"assignments":[67936],"declarations":[{"constant":false,"id":67936,"mutability":"mutable","name":"stakedPoints","nameLocation":"35968:12:98","nodeType":"VariableDeclaration","scope":68059,"src":"35960:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67935,"name":"uint256","nodeType":"ElementaryTypeName","src":"35960:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67941,"initialValue":{"arguments":[{"id":67938,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67929,"src":"35995:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67939,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67915,"src":"36017:5:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":67937,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68097,"src":"35983:11:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":67940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35983:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"35960:63:98"},{"expression":{"id":67948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":67942,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67923,"src":"36158:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67945,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36167:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65595,"src":"36158:26:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67946,"indexExpression":{"id":67944,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67779,"src":"36185:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"36158:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67947,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67936,"src":"36196:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36158:50:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67949,"nodeType":"ExpressionStatement","src":"36158:50:98"},{"assignments":[67951],"declarations":[{"constant":false,"id":67951,"mutability":"mutable","name":"hasProposal","nameLocation":"36447:11:98","nodeType":"VariableDeclaration","scope":68059,"src":"36442:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67950,"name":"bool","nodeType":"ElementaryTypeName","src":"36442:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":67953,"initialValue":{"hexValue":"66616c7365","id":67952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"36461:5:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"36442:24:98"},{"body":{"id":67982,"nodeType":"Block","src":"36547:179:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":67967,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65958,"src":"36569:20:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67969,"indexExpression":{"id":67968,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67779,"src":"36590:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36569:29:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":67971,"indexExpression":{"id":67970,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67955,"src":"36599:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36569:32:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":67972,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67923,"src":"36605:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67973,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36614:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"36605:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36569:55:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67981,"nodeType":"IfStatement","src":"36565:147:98","trueBody":{"id":67980,"nodeType":"Block","src":"36626:86:98","statements":[{"expression":{"id":67977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67975,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67951,"src":"36648:11:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":67976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"36662:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"36648:18:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67978,"nodeType":"ExpressionStatement","src":"36648:18:98"},{"id":67979,"nodeType":"Break","src":"36688:5:98"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67958,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67955,"src":"36500:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":67959,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65958,"src":"36504:20:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67961,"indexExpression":{"id":67960,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67779,"src":"36525:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36504:29:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":67962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36534:6:98","memberName":"length","nodeType":"MemberAccess","src":"36504:36:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36500:40:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67983,"initializationExpression":{"assignments":[67955],"declarations":[{"constant":false,"id":67955,"mutability":"mutable","name":"k","nameLocation":"36493:1:98","nodeType":"VariableDeclaration","scope":67983,"src":"36485:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67954,"name":"uint256","nodeType":"ElementaryTypeName","src":"36485:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67957,"initialValue":{"hexValue":"30","id":67956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36497:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"36485:13:98"},"loopExpression":{"expression":{"id":67965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"36542:3:98","subExpression":{"id":67964,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67955,"src":"36542:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67966,"nodeType":"ExpressionStatement","src":"36542:3:98"},"nodeType":"ForStatement","src":"36480:246:98"},{"condition":{"id":67985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"36743:12:98","subExpression":{"id":67984,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67951,"src":"36744:11:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67995,"nodeType":"IfStatement","src":"36739:106:98","trueBody":{"id":67994,"nodeType":"Block","src":"36757:88:98","statements":[{"expression":{"arguments":[{"expression":{"id":67990,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67923,"src":"36810:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67991,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36819:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"36810:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":67986,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65958,"src":"36775:20:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67988,"indexExpression":{"id":67987,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67779,"src":"36796:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36775:29:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":67989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36805:4:98","memberName":"push","nodeType":"MemberAccess","src":"36775:34:98","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":67992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36775:55:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67993,"nodeType":"ExpressionStatement","src":"36775:55:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67996,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67929,"src":"37000:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":67997,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67936,"src":"37024:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37000:36:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":68028,"nodeType":"Block","src":"37205:161:98","statements":[{"expression":{"id":68018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68014,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65922,"src":"37223:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68015,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67929,"src":"37238:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68016,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67936,"src":"37261:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37238:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37223:50:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68019,"nodeType":"ExpressionStatement","src":"37223:50:98"},{"expression":{"id":68026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68020,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67923,"src":"37291:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68022,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37300:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"37291:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68023,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67929,"src":"37316:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68024,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67936,"src":"37339:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37316:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37291:60:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68027,"nodeType":"ExpressionStatement","src":"37291:60:98"}]},"id":68029,"nodeType":"IfStatement","src":"36996:370:98","trueBody":{"id":68013,"nodeType":"Block","src":"37038:161:98","statements":[{"expression":{"id":68003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67999,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65922,"src":"37056:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68000,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67936,"src":"37071:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68001,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67929,"src":"37086:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37071:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37056:50:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68004,"nodeType":"ExpressionStatement","src":"37056:50:98"},{"expression":{"id":68011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68005,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67923,"src":"37124:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68007,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37133:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"37124:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68008,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67936,"src":"37149:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68009,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67929,"src":"37164:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37149:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37124:60:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68012,"nodeType":"ExpressionStatement","src":"37124:60:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68030,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67923,"src":"37383:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68031,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37392:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65588,"src":"37383:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37405:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"37383:23:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":68057,"nodeType":"Block","src":"37480:209:98","statements":[{"expression":{"arguments":[{"id":68043,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67923,"src":"37525:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},{"id":68044,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67929,"src":"37535:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68042,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68397,"src":"37498:26:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$65606_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct Proposal storage pointer,uint256)"}},"id":68045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37498:58:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68046,"nodeType":"ExpressionStatement","src":"37498:58:98"},{"eventCall":{"arguments":[{"id":68048,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67779,"src":"37592:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":68049,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67804,"src":"37601:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68050,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67936,"src":"37613:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68051,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67923,"src":"37627:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68052,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37636:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"37627:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68053,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67923,"src":"37650:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68054,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37659:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65580,"src":"37650:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68047,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65825,"src":"37579:12:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":68055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37579:95:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68056,"nodeType":"EmitStatement","src":"37574:100:98"}]},"id":68058,"nodeType":"IfStatement","src":"37379:310:98","trueBody":{"id":68041,"nodeType":"Block","src":"37408:66:98","statements":[{"expression":{"id":68039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68034,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67923,"src":"37426:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68036,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37435:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65588,"src":"37426:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68037,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"37447:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37453:6:98","memberName":"number","nodeType":"MemberAccess","src":"37447:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37426:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68040,"nodeType":"ExpressionStatement","src":"37426:33:98"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67796,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67793,"src":"34415:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67797,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67783,"src":"34419:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport memory[] memory"}},"id":67798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34436:6:98","memberName":"length","nodeType":"MemberAccess","src":"34419:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34415:27:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68060,"initializationExpression":{"assignments":[67793],"declarations":[{"constant":false,"id":67793,"mutability":"mutable","name":"i","nameLocation":"34408:1:98","nodeType":"VariableDeclaration","scope":68060,"src":"34400:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67792,"name":"uint256","nodeType":"ElementaryTypeName","src":"34400:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67795,"initialValue":{"hexValue":"30","id":67794,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34412:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"34400:13:98"},"loopExpression":{"expression":{"id":67801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"34444:3:98","subExpression":{"id":67800,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67793,"src":"34444:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67802,"nodeType":"ExpressionStatement","src":"34444:3:98"},"nodeType":"ForStatement","src":"34395:3304:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addSupport","nameLocation":"34257:11:98","parameters":{"id":67784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67779,"mutability":"mutable","name":"_sender","nameLocation":"34277:7:98","nodeType":"VariableDeclaration","scope":68062,"src":"34269:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67778,"name":"address","nodeType":"ElementaryTypeName","src":"34269:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67783,"mutability":"mutable","name":"_proposalSupport","nameLocation":"34311:16:98","nodeType":"VariableDeclaration","scope":68062,"src":"34286:41:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport[]"},"typeName":{"baseType":{"id":67781,"nodeType":"UserDefinedTypeName","pathNode":{"id":67780,"name":"ProposalSupport","nameLocations":["34286:15:98"],"nodeType":"IdentifierPath","referencedDeclaration":65611,"src":"34286:15:98"},"referencedDeclaration":65611,"src":"34286:15:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65611_storage_ptr","typeString":"struct ProposalSupport"}},"id":67782,"nodeType":"ArrayTypeName","src":"34286:17:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_storage_$dyn_storage_ptr","typeString":"struct ProposalSupport[]"}},"visibility":"internal"}],"src":"34268:60:98"},"returnParameters":{"id":67785,"nodeType":"ParameterList","parameters":[],"src":"34346:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":68097,"nodeType":"FunctionDefinition","src":"37711:284:98","nodes":[],"body":{"id":68096,"nodeType":"Block","src":"37805:190:98","nodes":[],"statements":[{"assignments":[68072],"declarations":[{"constant":false,"id":68072,"mutability":"mutable","name":"result","nameLocation":"37822:6:98","nodeType":"VariableDeclaration","scope":68096,"src":"37815:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":68071,"name":"int256","nodeType":"ElementaryTypeName","src":"37815:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":68079,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":68078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":68075,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68064,"src":"37838:8:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"37831:6:98","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":68073,"name":"int256","nodeType":"ElementaryTypeName","src":"37831:6:98","typeDescriptions":{}}},"id":68076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37831:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68077,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68066,"src":"37850:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"37831:25:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"37815:41:98"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":68082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68080,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68072,"src":"37871:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":68081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37880:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"37871:10:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68090,"nodeType":"IfStatement","src":"37867:90:98","trueBody":{"id":68089,"nodeType":"Block","src":"37883:74:98","statements":[{"errorCall":{"arguments":[{"id":68084,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68064,"src":"37921:8:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68085,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68066,"src":"37931:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":68086,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68072,"src":"37939:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":68083,"name":"SupportUnderflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65696,"src":"37904:16:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":68087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37904:42:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68088,"nodeType":"RevertStatement","src":"37897:49:98"}]}},{"expression":{"arguments":[{"id":68093,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68072,"src":"37981:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":68092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"37973:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":68091,"name":"uint256","nodeType":"ElementaryTypeName","src":"37973:7:98","typeDescriptions":{}}},"id":68094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37973:15:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68070,"id":68095,"nodeType":"Return","src":"37966:22:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_applyDelta","nameLocation":"37720:11:98","parameters":{"id":68067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68064,"mutability":"mutable","name":"_support","nameLocation":"37740:8:98","nodeType":"VariableDeclaration","scope":68097,"src":"37732:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68063,"name":"uint256","nodeType":"ElementaryTypeName","src":"37732:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68066,"mutability":"mutable","name":"_delta","nameLocation":"37757:6:98","nodeType":"VariableDeclaration","scope":68097,"src":"37750:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":68065,"name":"int256","nodeType":"ElementaryTypeName","src":"37750:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"37731:33:98"},"returnParameters":{"id":68070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68069,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68097,"src":"37796:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68068,"name":"uint256","nodeType":"ElementaryTypeName","src":"37796:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37795:9:98"},"scope":69194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68155,"nodeType":"FunctionDefinition","src":"38412:644:98","nodes":[],"body":{"id":68154,"nodeType":"Block","src":"38575:481:98","nodes":[],"statements":[{"assignments":[68110],"declarations":[{"constant":false,"id":68110,"mutability":"mutable","name":"t","nameLocation":"38593:1:98","nodeType":"VariableDeclaration","scope":68154,"src":"38585:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68109,"name":"uint256","nodeType":"ElementaryTypeName","src":"38585:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68112,"initialValue":{"id":68111,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68100,"src":"38597:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"38585:23:98"},{"assignments":[68114],"declarations":[{"constant":false,"id":68114,"mutability":"mutable","name":"atTWO_128","nameLocation":"38860:9:98","nodeType":"VariableDeclaration","scope":68154,"src":"38852:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68113,"name":"uint256","nodeType":"ElementaryTypeName","src":"38852:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68125,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68116,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65927,"src":"38878:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage","typeString":"struct CVParams storage ref"}},"id":68117,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38887:5:98","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65634,"src":"38878:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":68118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38896:3:98","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"38878:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68120,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38877:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68121,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65890,"src":"38903:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38877:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68123,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68110,"src":"38906:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68115,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68348,"src":"38872:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":68124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38872:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"38852:56:98"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68126,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68114,"src":"38928:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68127,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68102,"src":"38940:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38928:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68129,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38927:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68130,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68104,"src":"38955:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68131,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65890,"src":"38968:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38955:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68133,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65893,"src":"38973:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68134,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68114,"src":"38983:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38973:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68136,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38972:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38955:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68138,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38954:40:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68139,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65890,"src":"38998:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68140,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65927,"src":"39002:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage","typeString":"struct CVParams storage ref"}},"id":68141,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39011:5:98","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65634,"src":"39002:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38998:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68143,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38997:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38954:63:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68145,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38953:65:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38927:91:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68147,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38926:93:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68148,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65896,"src":"39022:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38926:103:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68150,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38925:105:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":68151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39046:3:98","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"38925:124:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68108,"id":68153,"nodeType":"Return","src":"38918:131:98"}]},"documentation":{"id":68098,"nodeType":"StructuredDocumentation","src":"38001:406:98","text":" @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction"},"functionSelector":"346db8cb","implemented":true,"kind":"function","modifiers":[],"name":"calculateConviction","nameLocation":"38421:19:98","parameters":{"id":68105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68100,"mutability":"mutable","name":"_timePassed","nameLocation":"38449:11:98","nodeType":"VariableDeclaration","scope":68155,"src":"38441:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68099,"name":"uint256","nodeType":"ElementaryTypeName","src":"38441:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68102,"mutability":"mutable","name":"_lastConv","nameLocation":"38470:9:98","nodeType":"VariableDeclaration","scope":68155,"src":"38462:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68101,"name":"uint256","nodeType":"ElementaryTypeName","src":"38462:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68104,"mutability":"mutable","name":"_oldAmount","nameLocation":"38489:10:98","nodeType":"VariableDeclaration","scope":68155,"src":"38481:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68103,"name":"uint256","nodeType":"ElementaryTypeName","src":"38481:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38440:60:98"},"returnParameters":{"id":68108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68107,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68155,"src":"38562:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68106,"name":"uint256","nodeType":"ElementaryTypeName","src":"38562:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38561:9:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68248,"nodeType":"FunctionDefinition","src":"39637:1549:98","nodes":[],"body":{"id":68247,"nodeType":"Block","src":"39740:1446:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68163,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"39874:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":68164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39888:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"39874:15:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68170,"nodeType":"IfStatement","src":"39870:66:98","trueBody":{"id":68169,"nodeType":"Block","src":"39891:45:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68166,"name":"PoolIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65674,"src":"39912:11:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39912:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68168,"nodeType":"RevertStatement","src":"39905:20:98"}]}},{"condition":{"arguments":[{"id":68172,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68158,"src":"40392:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68171,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67680,"src":"40376:15:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":68173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40376:33:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68178,"nodeType":"IfStatement","src":"40372:91:98","trueBody":{"id":68177,"nodeType":"Block","src":"40411:52:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68174,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65682,"src":"40432:18:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40432:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68176,"nodeType":"RevertStatement","src":"40425:27:98"}]}},{"assignments":[68180],"declarations":[{"constant":false,"id":68180,"mutability":"mutable","name":"denom","nameLocation":"40619:5:98","nodeType":"VariableDeclaration","scope":68247,"src":"40611:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68179,"name":"uint256","nodeType":"ElementaryTypeName","src":"40611:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68199,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68181,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65927,"src":"40628:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage","typeString":"struct CVParams storage ref"}},"id":68182,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40637:8:98","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":65630,"src":"40628:17:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":68185,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":68183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40648:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":68184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40653:2:98","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"40648:7:98","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"40628:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68187,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40627:29:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68188,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65890,"src":"40659:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40627:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68190,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68158,"src":"40664:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":68193,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":68191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40683:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":68192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40688:2:98","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"40683:7:98","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"40664:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68195,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40663:28:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68196,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"40694:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40663:41:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40627:77:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"40611:93:98"},{"expression":{"id":68234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68200,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68161,"src":"40714:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68201,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65927,"src":"40746:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage","typeString":"struct CVParams storage ref"}},"id":68202,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40755:6:98","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":65632,"src":"40746:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":68203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40765:3:98","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"40746:22:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68205,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40745:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68206,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65890,"src":"40772:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40745:28:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68208,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40744:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68209,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68180,"src":"40779:5:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68210,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68180,"src":"40787:5:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40779:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68212,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40778:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":68213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40797:2:98","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"40778:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68215,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40777:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40744:56:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68217,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40743:58:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68218,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65890,"src":"40804:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40743:62:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68220,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40742:64:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68221,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65890,"src":"40810:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68222,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65927,"src":"40814:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage","typeString":"struct CVParams storage ref"}},"id":68223,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40823:5:98","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65634,"src":"40814:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40810:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68225,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40809:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40742:87:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68227,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40741:89:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":68228,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68356,"src":"40849:26:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":68229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40849:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40741:136:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68231,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40727:160:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":68232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40891:2:98","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"40727:166:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40714:179:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68235,"nodeType":"ExpressionStatement","src":"40714:179:98"},{"expression":{"id":68245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68236,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68161,"src":"41083:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68237,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68161,"src":"41096:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":68238,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65927,"src":"41109:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage","typeString":"struct CVParams storage ref"}},"id":68239,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41118:18:98","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":65636,"src":"41109:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41096:40:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":68242,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65927,"src":"41152:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage","typeString":"struct CVParams storage ref"}},"id":68243,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41161:18:98","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":65636,"src":"41152:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"41096:83:98","trueExpression":{"id":68241,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68161,"src":"41139:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41083:96:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68246,"nodeType":"ExpressionStatement","src":"41083:96:98"}]},"documentation":{"id":68156,"nodeType":"StructuredDocumentation","src":"39062:570:98","text":" @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it."},"functionSelector":"59a5db8b","implemented":true,"kind":"function","modifiers":[],"name":"calculateThreshold","nameLocation":"39646:18:98","parameters":{"id":68159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68158,"mutability":"mutable","name":"_requestedAmount","nameLocation":"39673:16:98","nodeType":"VariableDeclaration","scope":68248,"src":"39665:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68157,"name":"uint256","nodeType":"ElementaryTypeName","src":"39665:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39664:26:98"},"returnParameters":{"id":68162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68161,"mutability":"mutable","name":"_threshold","nameLocation":"39728:10:98","nodeType":"VariableDeclaration","scope":68248,"src":"39720:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68160,"name":"uint256","nodeType":"ElementaryTypeName","src":"39720:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39719:20:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68283,"nodeType":"FunctionDefinition","src":"41447:277:98","nodes":[],"body":{"id":68282,"nodeType":"Block","src":"41533:191:98","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68259,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68251,"src":"41551:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":68260,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65893,"src":"41557:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41551:13:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":68262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41566:42:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":68258,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"41543:7:98","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41543:66:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68264,"nodeType":"ExpressionStatement","src":"41543:66:98"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68266,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68253,"src":"41627:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":68267,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65893,"src":"41632:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41627:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":68269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41641:30:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":68265,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"41619:7:98","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41619:53:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68271,"nodeType":"ExpressionStatement","src":"41619:53:98"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68272,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68251,"src":"41691:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68273,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68253,"src":"41696:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41691:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68275,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41690:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68276,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65896,"src":"41702:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41690:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68278,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41689:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":68279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41714:3:98","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"41689:28:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68257,"id":68281,"nodeType":"Return","src":"41682:35:98"}]},"documentation":{"id":68249,"nodeType":"StructuredDocumentation","src":"41192:250:98","text":" Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"41456:4:98","parameters":{"id":68254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68251,"mutability":"mutable","name":"_a","nameLocation":"41469:2:98","nodeType":"VariableDeclaration","scope":68283,"src":"41461:10:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68250,"name":"uint256","nodeType":"ElementaryTypeName","src":"41461:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68253,"mutability":"mutable","name":"_b","nameLocation":"41481:2:98","nodeType":"VariableDeclaration","scope":68283,"src":"41473:10:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68252,"name":"uint256","nodeType":"ElementaryTypeName","src":"41473:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41460:24:98"},"returnParameters":{"id":68257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68256,"mutability":"mutable","name":"_result","nameLocation":"41524:7:98","nodeType":"VariableDeclaration","scope":68283,"src":"41516:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68255,"name":"uint256","nodeType":"ElementaryTypeName","src":"41516:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41515:17:98"},"scope":69194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68348,"nodeType":"FunctionDefinition","src":"41952:455:98","nodes":[],"body":{"id":68347,"nodeType":"Block","src":"42038:369:98","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68294,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68286,"src":"42056:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":68295,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65893,"src":"42061:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42056:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":68297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42070:30:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":68293,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"42048:7:98","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42048:53:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68299,"nodeType":"ExpressionStatement","src":"42048:53:98"},{"assignments":[68301],"declarations":[{"constant":false,"id":68301,"mutability":"mutable","name":"a","nameLocation":"42119:1:98","nodeType":"VariableDeclaration","scope":68347,"src":"42111:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68300,"name":"uint256","nodeType":"ElementaryTypeName","src":"42111:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68303,"initialValue":{"id":68302,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68286,"src":"42123:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"42111:14:98"},{"assignments":[68305],"declarations":[{"constant":false,"id":68305,"mutability":"mutable","name":"b","nameLocation":"42143:1:98","nodeType":"VariableDeclaration","scope":68347,"src":"42135:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68304,"name":"uint256","nodeType":"ElementaryTypeName","src":"42135:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68307,"initialValue":{"id":68306,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68288,"src":"42147:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"42135:14:98"},{"expression":{"id":68310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68308,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68291,"src":"42159:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68309,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65893,"src":"42169:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42159:17:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68311,"nodeType":"ExpressionStatement","src":"42159:17:98"},{"body":{"id":68345,"nodeType":"Block","src":"42200:201:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68315,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68305,"src":"42218:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":68316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42222:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"42218:5:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42227:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"42218:10:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":68343,"nodeType":"Block","src":"42308:83:98","statements":[{"expression":{"id":68337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68332,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68291,"src":"42326:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68334,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68291,"src":"42341:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68335,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68301,"src":"42350:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68333,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68283,"src":"42336:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":68336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42336:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42326:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68338,"nodeType":"ExpressionStatement","src":"42326:26:98"},{"expression":{"id":68341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68339,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68305,"src":"42370:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":68340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42375:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"42370:6:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68342,"nodeType":"ExpressionStatement","src":"42370:6:98"}]},"id":68344,"nodeType":"IfStatement","src":"42214:177:98","trueBody":{"id":68331,"nodeType":"Block","src":"42230:72:98","statements":[{"expression":{"id":68325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68320,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68301,"src":"42248:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68322,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68301,"src":"42257:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68323,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68301,"src":"42260:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68321,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68283,"src":"42252:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":68324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42252:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42248:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68326,"nodeType":"ExpressionStatement","src":"42248:14:98"},{"expression":{"id":68329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68327,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68305,"src":"42280:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":68328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42286:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"42280:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68330,"nodeType":"ExpressionStatement","src":"42280:7:98"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68312,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68305,"src":"42193:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":68313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42197:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"42193:5:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68346,"nodeType":"WhileStatement","src":"42186:215:98"}]},"documentation":{"id":68284,"nodeType":"StructuredDocumentation","src":"41736:211:98","text":" Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"41961:4:98","parameters":{"id":68289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68286,"mutability":"mutable","name":"_a","nameLocation":"41974:2:98","nodeType":"VariableDeclaration","scope":68348,"src":"41966:10:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68285,"name":"uint256","nodeType":"ElementaryTypeName","src":"41966:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68288,"mutability":"mutable","name":"_b","nameLocation":"41986:2:98","nodeType":"VariableDeclaration","scope":68348,"src":"41978:10:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68287,"name":"uint256","nodeType":"ElementaryTypeName","src":"41978:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41965:24:98"},"returnParameters":{"id":68292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68291,"mutability":"mutable","name":"_result","nameLocation":"42029:7:98","nodeType":"VariableDeclaration","scope":68348,"src":"42021:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68290,"name":"uint256","nodeType":"ElementaryTypeName","src":"42021:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42020:17:98"},"scope":69194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68356,"nodeType":"FunctionDefinition","src":"42413:120:98","nodes":[],"body":{"id":68355,"nodeType":"Block","src":"42489:44:98","nodes":[],"statements":[{"expression":{"id":68353,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65924,"src":"42506:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68352,"id":68354,"nodeType":"Return","src":"42499:27:98"}]},"functionSelector":"d1e36232","implemented":true,"kind":"function","modifiers":[],"name":"totalEffectiveActivePoints","nameLocation":"42422:26:98","parameters":{"id":68349,"nodeType":"ParameterList","parameters":[],"src":"42448:2:98"},"returnParameters":{"id":68352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68351,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68356,"src":"42480:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68350,"name":"uint256","nodeType":"ElementaryTypeName","src":"42480:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42479:9:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68397,"nodeType":"FunctionDefinition","src":"42723:389:98","nodes":[],"body":{"id":68396,"nodeType":"Block","src":"42824:288:98","nodes":[],"statements":[{"assignments":[68366,68368],"declarations":[{"constant":false,"id":68366,"mutability":"mutable","name":"conviction","nameLocation":"42843:10:98","nodeType":"VariableDeclaration","scope":68396,"src":"42835:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68365,"name":"uint256","nodeType":"ElementaryTypeName","src":"42835:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68368,"mutability":"mutable","name":"blockNumber","nameLocation":"42863:11:98","nodeType":"VariableDeclaration","scope":68396,"src":"42855:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68367,"name":"uint256","nodeType":"ElementaryTypeName","src":"42855:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68373,"initialValue":{"arguments":[{"id":68370,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68360,"src":"42912:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},{"id":68371,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68362,"src":"42923:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68369,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68444,"src":"42878:33:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$65606_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":68372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42878:56:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"42834:100:98"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68374,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68366,"src":"42948:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42962:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"42948:15:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68377,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68368,"src":"42967:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42982:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"42967:16:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"42948:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68383,"nodeType":"IfStatement","src":"42944:72:98","trueBody":{"id":68382,"nodeType":"Block","src":"42985:31:98","statements":[{"functionReturnParameters":68364,"id":68381,"nodeType":"Return","src":"42999:7:98"}]}},{"expression":{"id":68388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68384,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68360,"src":"43025:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68386,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"43035:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65588,"src":"43025:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68387,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68368,"src":"43047:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43025:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68389,"nodeType":"ExpressionStatement","src":"43025:33:98"},{"expression":{"id":68394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68390,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68360,"src":"43068:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68392,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"43078:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65580,"src":"43068:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68393,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68366,"src":"43095:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43068:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68395,"nodeType":"ExpressionStatement","src":"43068:37:98"}]},"documentation":{"id":68357,"nodeType":"StructuredDocumentation","src":"42539:179:98","text":" @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now"},"implemented":true,"kind":"function","modifiers":[],"name":"_calculateAndSetConviction","nameLocation":"42732:26:98","parameters":{"id":68363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68360,"mutability":"mutable","name":"_proposal","nameLocation":"42776:9:98","nodeType":"VariableDeclaration","scope":68397,"src":"42759:26:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"},"typeName":{"id":68359,"nodeType":"UserDefinedTypeName","pathNode":{"id":68358,"name":"Proposal","nameLocations":["42759:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65606,"src":"42759:8:98"},"referencedDeclaration":65606,"src":"42759:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"}},"visibility":"internal"},{"constant":false,"id":68362,"mutability":"mutable","name":"_oldStaked","nameLocation":"42795:10:98","nodeType":"VariableDeclaration","scope":68397,"src":"42787:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68361,"name":"uint256","nodeType":"ElementaryTypeName","src":"42787:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42758:48:98"},"returnParameters":{"id":68364,"nodeType":"ParameterList","parameters":[],"src":"42824:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":68444,"nodeType":"FunctionDefinition","src":"43118:830:98","nodes":[],"body":{"id":68443,"nodeType":"Block","src":"43317:631:98","nodes":[],"statements":[{"expression":{"id":68412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68409,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68407,"src":"43327:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68410,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"43341:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43347:6:98","memberName":"number","nodeType":"MemberAccess","src":"43341:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43327:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68413,"nodeType":"ExpressionStatement","src":"43327:26:98"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68415,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68400,"src":"43370:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68416,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43380:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65588,"src":"43370:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":68417,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68407,"src":"43393:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43370:34:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":68414,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"43363:6:98","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":68419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43363:42:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68420,"nodeType":"ExpressionStatement","src":"43363:42:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68421,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68400,"src":"43419:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68422,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43429:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65588,"src":"43419:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":68423,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68407,"src":"43442:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43419:34:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68430,"nodeType":"IfStatement","src":"43415:173:98","trueBody":{"id":68429,"nodeType":"Block","src":"43455:133:98","statements":[{"expression":{"components":[{"hexValue":"30","id":68425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43543:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":68426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43546:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":68427,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"43542:6:98","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"functionReturnParameters":68408,"id":68428,"nodeType":"Return","src":"43535:13:98"}]}},{"expression":{"id":68441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68431,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68405,"src":"43641:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68433,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68407,"src":"43797:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68434,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68400,"src":"43811:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68435,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43821:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65588,"src":"43811:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43797:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68437,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68400,"src":"43883:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68438,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43893:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65580,"src":"43883:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68439,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68402,"src":"43921:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68432,"name":"calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68155,"src":"43654:19:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (uint256)"}},"id":68440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43654:287:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43641:300:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68442,"nodeType":"ExpressionStatement","src":"43641:300:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_checkBlockAndCalculateConviction","nameLocation":"43127:33:98","parameters":{"id":68403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68400,"mutability":"mutable","name":"_proposal","nameLocation":"43178:9:98","nodeType":"VariableDeclaration","scope":68444,"src":"43161:26:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"},"typeName":{"id":68399,"nodeType":"UserDefinedTypeName","pathNode":{"id":68398,"name":"Proposal","nameLocations":["43161:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65606,"src":"43161:8:98"},"referencedDeclaration":65606,"src":"43161:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"}},"visibility":"internal"},{"constant":false,"id":68402,"mutability":"mutable","name":"_oldStaked","nameLocation":"43197:10:98","nodeType":"VariableDeclaration","scope":68444,"src":"43189:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68401,"name":"uint256","nodeType":"ElementaryTypeName","src":"43189:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43160:48:98"},"returnParameters":{"id":68408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68405,"mutability":"mutable","name":"conviction","nameLocation":"43280:10:98","nodeType":"VariableDeclaration","scope":68444,"src":"43272:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68404,"name":"uint256","nodeType":"ElementaryTypeName","src":"43272:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68407,"mutability":"mutable","name":"blockNumber","nameLocation":"43300:11:98","nodeType":"VariableDeclaration","scope":68444,"src":"43292:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68406,"name":"uint256","nodeType":"ElementaryTypeName","src":"43292:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43271:41:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":68596,"nodeType":"FunctionDefinition","src":"43954:2357:98","nodes":[],"body":{"id":68595,"nodeType":"Block","src":"44065:2246:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68453,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"44092:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68454,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44110:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"44092:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":68457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44134:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":68456,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44126:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68455,"name":"address","nodeType":"ElementaryTypeName","src":"44126:7:98","typeDescriptions":{}}},"id":68458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44126:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"44092:44:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":68462,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"44148:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68463,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44166:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"44148:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}],"id":68461,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44140:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68460,"name":"address","nodeType":"ElementaryTypeName","src":"44140:7:98","typeDescriptions":{}}},"id":68464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44140:37:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":68467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44189:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":68466,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44181:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68465,"name":"address","nodeType":"ElementaryTypeName","src":"44181:7:98","typeDescriptions":{}}},"id":68468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44181:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"44140:51:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"44092:99:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68509,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68471,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"44233:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68472,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44251:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"44233:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68473,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"44267:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":68475,"indexExpression":{"id":68474,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"44285:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"44267:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":68476,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44317:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"44267:62:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"44233:96:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"},"id":68484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68478,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"44357:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68479,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44375:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"44357:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68480,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"44389:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":68482,"indexExpression":{"id":68481,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"44407:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"44389:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":68483,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44439:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"44389:60:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}},"src":"44357:92:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"44233:216:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68486,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"44477:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68487,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44495:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"44477:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68488,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"44552:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":68490,"indexExpression":{"id":68489,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"44570:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"44552:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":68491,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44602:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"44552:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44477:150:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"44233:394:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68494,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"44655:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68495,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44673:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"44655:44:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68496,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"44731:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":68498,"indexExpression":{"id":68497,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"44749:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"44731:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":68499,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44781:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"44731:76:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44655:152:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"44233:574:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68502,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"44835:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68503,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44853:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"44835:31:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68504,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"44870:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":68506,"indexExpression":{"id":68505,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"44888:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"44870:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":68507,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44920:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"44870:63:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44835:98:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"44233:700:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68510,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"44961:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68511,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44979:20:98","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65627,"src":"44961:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68512,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"45031:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":68514,"indexExpression":{"id":68513,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"45049:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45031:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":68515,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45081:20:98","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65627,"src":"45031:70:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44961:140:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"44233:868:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":68518,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"44211:908:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"44092:1027:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68586,"nodeType":"IfStatement","src":"44075:2158:98","trueBody":{"id":68585,"nodeType":"Block","src":"45130:1103:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68520,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"45165:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":68522,"indexExpression":{"id":68521,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"45183:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45165:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":68523,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45215:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"45165:62:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":68524,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"45231:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68525,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45249:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"45231:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45165:96:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"},"id":68533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68527,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"45285:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":68529,"indexExpression":{"id":68528,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"45303:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45285:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":68530,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45335:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"45285:60:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":68531,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"45349:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68532,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45367:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"45349:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}},"src":"45285:92:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45165:212:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68559,"nodeType":"IfStatement","src":"45144:522:98","trueBody":{"id":68558,"nodeType":"Block","src":"45392:274:98","statements":[{"expression":{"arguments":[{"expression":{"id":68540,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"45452:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68541,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45470:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"45452:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":68535,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"45410:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68538,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45428:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"45410:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}},"id":68539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45439:12:98","memberName":"registerSafe","nodeType":"MemberAccess","referencedDeclaration":76324,"src":"45410:41:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":68542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45410:73:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68543,"nodeType":"ExpressionStatement","src":"45410:73:98"},{"eventCall":{"arguments":[{"arguments":[{"id":68547,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"45557:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}],"id":68546,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45549:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68545,"name":"address","nodeType":"ElementaryTypeName","src":"45549:7:98","typeDescriptions":{}}},"id":68548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45549:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":68551,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"45572:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68552,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45590:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"45572:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}],"id":68550,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45564:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68549,"name":"address","nodeType":"ElementaryTypeName","src":"45564:7:98","typeDescriptions":{}}},"id":68553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45564:37:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68554,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"45603:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68555,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45621:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"45603:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":68544,"name":"TribunaSafeRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65863,"src":"45506:21:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function (address,address,address)"}},"id":68556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45506:145:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68557,"nodeType":"EmitStatement","src":"45501:150:98"}]}},{"expression":{"id":68561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"45680:32:98","subExpression":{"id":68560,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"45680:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68562,"nodeType":"ExpressionStatement","src":"45680:32:98"},{"expression":{"id":68567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68563,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"45726:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":68565,"indexExpression":{"id":68564,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"45744:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"45726:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68566,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"45778:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"src":"45726:69:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":68568,"nodeType":"ExpressionStatement","src":"45726:69:98"},{"eventCall":{"arguments":[{"id":68570,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"45856:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68571,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"45904:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68572,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45922:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"45904:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}},{"expression":{"id":68573,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"45950:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68574,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45968:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"45950:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68575,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"45998:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68576,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46016:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"45998:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68577,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"46059:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68578,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46077:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"46059:44:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68579,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"46121:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68580,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46139:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"46121:31:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68581,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"46170:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68582,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46188:20:98","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65627,"src":"46170:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68569,"name":"ArbitrableConfigUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65884,"src":"45815:23:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_contract$_IArbitrator_$76325_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"id":68583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45815:407:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68584,"nodeType":"EmitStatement","src":"45810:412:98"}]}},{"expression":{"id":68589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68587,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65927,"src":"46243:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage","typeString":"struct CVParams storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68588,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68450,"src":"46254:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams memory"}},"src":"46243:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage","typeString":"struct CVParams storage ref"}},"id":68590,"nodeType":"ExpressionStatement","src":"46243:20:98"},{"eventCall":{"arguments":[{"id":68592,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68450,"src":"46294:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams memory"}],"id":68591,"name":"CVParamsUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65830,"src":"46278:15:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_struct$_CVParams_$65637_memory_ptr_$returns$__$","typeString":"function (struct CVParams memory)"}},"id":68593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46278:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68594,"nodeType":"EmitStatement","src":"46273:31:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_setPoolParams","nameLocation":"43963:14:98","parameters":{"id":68451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68447,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"44002:17:98","nodeType":"VariableDeclaration","scope":68596,"src":"43978:41:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig"},"typeName":{"id":68446,"nodeType":"UserDefinedTypeName","pathNode":{"id":68445,"name":"ArbitrableConfig","nameLocations":["43978:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65628,"src":"43978:16:98"},"referencedDeclaration":65628,"src":"43978:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage_ptr","typeString":"struct ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":68450,"mutability":"mutable","name":"_cvParams","nameLocation":"44037:9:98","nodeType":"VariableDeclaration","scope":68596,"src":"44021:25:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams"},"typeName":{"id":68449,"nodeType":"UserDefinedTypeName","pathNode":{"id":68448,"name":"CVParams","nameLocations":["44021:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65637,"src":"44021:8:98"},"referencedDeclaration":65637,"src":"44021:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage_ptr","typeString":"struct CVParams"}},"visibility":"internal"}],"src":"43977:70:98"},"returnParameters":{"id":68452,"nodeType":"ParameterList","parameters":[],"src":"44065:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":68630,"nodeType":"FunctionDefinition","src":"46317:609:98","nodes":[],"body":{"id":68629,"nodeType":"Block","src":"46404:522:98","nodes":[],"statements":[{"assignments":[68605],"declarations":[{"constant":false,"id":68605,"mutability":"mutable","name":"proposal","nameLocation":"46431:8:98","nodeType":"VariableDeclaration","scope":68629,"src":"46414:25:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"},"typeName":{"id":68604,"nodeType":"UserDefinedTypeName","pathNode":{"id":68603,"name":"Proposal","nameLocations":["46414:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65606,"src":"46414:8:98"},"referencedDeclaration":65606,"src":"46414:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"}},"visibility":"internal"}],"id":68609,"initialValue":{"baseExpression":{"id":68606,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"46442:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":68608,"indexExpression":{"id":68607,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68598,"src":"46452:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46442:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"46414:49:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68610,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68605,"src":"46478:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68611,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46487:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"46478:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":68612,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68598,"src":"46501:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46478:33:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68619,"nodeType":"IfStatement","src":"46474:100:98","trueBody":{"id":68618,"nodeType":"Block","src":"46513:61:98","statements":[{"errorCall":{"arguments":[{"id":68615,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68598,"src":"46552:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68614,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65718,"src":"46534:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46534:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68617,"nodeType":"RevertStatement","src":"46527:36:98"}]}},{"expression":{"arguments":[{"id":68621,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68605,"src":"46847:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},{"expression":{"id":68622,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68605,"src":"46857:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68623,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46866:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"46857:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68620,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68397,"src":"46820:26:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$65606_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct Proposal storage pointer,uint256)"}},"id":68624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46820:59:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68625,"nodeType":"ExpressionStatement","src":"46820:59:98"},{"expression":{"expression":{"id":68626,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68605,"src":"46896:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68627,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46905:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65580,"src":"46896:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68602,"id":68628,"nodeType":"Return","src":"46889:30:98"}]},"functionSelector":"1aa91a9e","implemented":true,"kind":"function","modifiers":[],"name":"updateProposalConviction","nameLocation":"46326:24:98","parameters":{"id":68599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68598,"mutability":"mutable","name":"proposalId","nameLocation":"46359:10:98","nodeType":"VariableDeclaration","scope":68630,"src":"46351:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68597,"name":"uint256","nodeType":"ElementaryTypeName","src":"46351:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46350:20:98"},"returnParameters":{"id":68602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68601,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68630,"src":"46395:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68600,"name":"uint256","nodeType":"ElementaryTypeName","src":"46395:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46394:9:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":68650,"nodeType":"FunctionDefinition","src":"46932:141:98","nodes":[],"body":{"id":68649,"nodeType":"Block","src":"47012:61:98","nodes":[],"statements":[{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68637,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68632,"src":"47031:6:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68638,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65890,"src":"47040:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47031:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68640,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"47030:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68641,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65890,"src":"47046:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68642,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65927,"src":"47050:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage","typeString":"struct CVParams storage ref"}},"id":68643,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47059:5:98","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65634,"src":"47050:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47046:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68645,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"47045:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47030:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68647,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"47029:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68636,"id":68648,"nodeType":"Return","src":"47022:44:98"}]},"functionSelector":"950559d7","implemented":true,"kind":"function","modifiers":[],"name":"getMaxConviction","nameLocation":"46941:16:98","parameters":{"id":68633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68632,"mutability":"mutable","name":"amount","nameLocation":"46966:6:98","nodeType":"VariableDeclaration","scope":68650,"src":"46958:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68631,"name":"uint256","nodeType":"ElementaryTypeName","src":"46958:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46957:16:98"},"returnParameters":{"id":68636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68635,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68650,"src":"47003:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68634,"name":"uint256","nodeType":"ElementaryTypeName","src":"47003:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47002:9:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68669,"nodeType":"FunctionDefinition","src":"47424:189:98","nodes":[],"body":{"id":68668,"nodeType":"Block","src":"47487:126:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":68655,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66216,"src":"47497:15:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":68656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47497:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68657,"nodeType":"ExpressionStatement","src":"47497:17:98"},{"expression":{"arguments":[{"id":68659,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68652,"src":"47543:12:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":68658,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66197,"src":"47524:18:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":68660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47524:32:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68661,"nodeType":"ExpressionStatement","src":"47524:32:98"},{"expression":{"id":68666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68662,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65944,"src":"47566:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68664,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68652,"src":"47593:12:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":68663,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70122,"src":"47580:12:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$70122_$","typeString":"type(contract ISybilScorer)"}},"id":68665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47580:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}},"src":"47566:40:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}},"id":68667,"nodeType":"ExpressionStatement","src":"47566:40:98"}]},"functionSelector":"ac1ed7b9","implemented":true,"kind":"function","modifiers":[],"name":"setSybilScorer","nameLocation":"47433:14:98","parameters":{"id":68653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68652,"mutability":"mutable","name":"_sybilScorer","nameLocation":"47456:12:98","nodeType":"VariableDeclaration","scope":68669,"src":"47448:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68651,"name":"address","nodeType":"ElementaryTypeName","src":"47448:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"47447:22:98"},"returnParameters":{"id":68654,"nodeType":"ParameterList","parameters":[],"src":"47487:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":68687,"nodeType":"FunctionDefinition","src":"47619:198:98","nodes":[],"body":{"id":68686,"nodeType":"Block","src":"47729:88:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":68678,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66216,"src":"47739:15:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":68679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47739:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68680,"nodeType":"ExpressionStatement","src":"47739:17:98"},{"expression":{"arguments":[{"id":68682,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68672,"src":"47781:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},{"id":68683,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68675,"src":"47800:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams memory"}],"id":68681,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68596,"src":"47766:14:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$65628_memory_ptr_$_t_struct$_CVParams_$65637_memory_ptr_$returns$__$","typeString":"function (struct ArbitrableConfig memory,struct CVParams memory)"}},"id":68684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47766:44:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68685,"nodeType":"ExpressionStatement","src":"47766:44:98"}]},"functionSelector":"062f9ece","implemented":true,"kind":"function","modifiers":[],"name":"setPoolParams","nameLocation":"47628:13:98","parameters":{"id":68676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68672,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"47666:17:98","nodeType":"VariableDeclaration","scope":68687,"src":"47642:41:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig"},"typeName":{"id":68671,"nodeType":"UserDefinedTypeName","pathNode":{"id":68670,"name":"ArbitrableConfig","nameLocations":["47642:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65628,"src":"47642:16:98"},"referencedDeclaration":65628,"src":"47642:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage_ptr","typeString":"struct ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":68675,"mutability":"mutable","name":"_cvParams","nameLocation":"47701:9:98","nodeType":"VariableDeclaration","scope":68687,"src":"47685:25:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams"},"typeName":{"id":68674,"nodeType":"UserDefinedTypeName","pathNode":{"id":68673,"name":"CVParams","nameLocations":["47685:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65637,"src":"47685:8:98"},"referencedDeclaration":65637,"src":"47685:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage_ptr","typeString":"struct CVParams"}},"visibility":"internal"}],"src":"47641:70:98"},"returnParameters":{"id":68677,"nodeType":"ParameterList","parameters":[],"src":"47729:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":68874,"nodeType":"FunctionDefinition","src":"47823:2345:98","nodes":[],"body":{"id":68873,"nodeType":"Block","src":"48009:2159:98","nodes":[],"statements":[{"assignments":[68700],"declarations":[{"constant":false,"id":68700,"mutability":"mutable","name":"proposal","nameLocation":"48036:8:98","nodeType":"VariableDeclaration","scope":68873,"src":"48019:25:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"},"typeName":{"id":68699,"nodeType":"UserDefinedTypeName","pathNode":{"id":68698,"name":"Proposal","nameLocations":["48019:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65606,"src":"48019:8:98"},"referencedDeclaration":65606,"src":"48019:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"}},"visibility":"internal"}],"id":68704,"initialValue":{"baseExpression":{"id":68701,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"48047:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":68703,"indexExpression":{"id":68702,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68689,"src":"48057:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"48047:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"48019:49:98"},{"assignments":[68707],"declarations":[{"constant":false,"id":68707,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"48102:16:98","nodeType":"VariableDeclaration","scope":68873,"src":"48078:40:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig"},"typeName":{"id":68706,"nodeType":"UserDefinedTypeName","pathNode":{"id":68705,"name":"ArbitrableConfig","nameLocations":["48078:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65628,"src":"48078:16:98"},"referencedDeclaration":65628,"src":"48078:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage_ptr","typeString":"struct ArbitrableConfig"}},"visibility":"internal"}],"id":68712,"initialValue":{"baseExpression":{"id":68708,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"48121:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":68711,"indexExpression":{"expression":{"id":68709,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68700,"src":"48139:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68710,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48148:23:98","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65605,"src":"48139:32:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"48121:51:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"nodeType":"VariableDeclarationStatement","src":"48078:94:98"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":68715,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68707,"src":"48195:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68716,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48212:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"48195:27:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}],"id":68714,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"48187:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68713,"name":"address","nodeType":"ElementaryTypeName","src":"48187:7:98","typeDescriptions":{}}},"id":68717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48187:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":68720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48235:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":68719,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"48227:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68718,"name":"address","nodeType":"ElementaryTypeName","src":"48227:7:98","typeDescriptions":{}}},"id":68721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48227:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"48187:50:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68727,"nodeType":"IfStatement","src":"48183:112:98","trueBody":{"id":68726,"nodeType":"Block","src":"48239:56:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68723,"name":"ArbitratorCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65754,"src":"48260:22:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48260:24:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68725,"nodeType":"RevertStatement","src":"48253:31:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68728,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68700,"src":"48472:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68729,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48481:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"48472:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":68730,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68689,"src":"48495:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48472:33:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68737,"nodeType":"IfStatement","src":"48468:100:98","trueBody":{"id":68736,"nodeType":"Block","src":"48507:61:98","statements":[{"errorCall":{"arguments":[{"id":68733,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68689,"src":"48546:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68732,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65718,"src":"48528:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48528:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68735,"nodeType":"RevertStatement","src":"48521:36:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"},"id":68742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68738,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68700,"src":"48581:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68739,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48590:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"48581:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":68740,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"48608:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65565_$","typeString":"type(enum ProposalStatus)"}},"id":68741,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48623:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65559,"src":"48608:21:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"src":"48581:48:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68748,"nodeType":"IfStatement","src":"48577:115:98","trueBody":{"id":68747,"nodeType":"Block","src":"48631:61:98","statements":[{"errorCall":{"arguments":[{"id":68744,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68689,"src":"48670:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68743,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65714,"src":"48652:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48652:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68746,"nodeType":"RevertStatement","src":"48645:36:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68749,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"48705:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48709:5:98","memberName":"value","nodeType":"MemberAccess","src":"48705:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":68751,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68707,"src":"48717:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68752,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48734:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"48717:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48705:55:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68762,"nodeType":"IfStatement","src":"48701:171:98","trueBody":{"id":68761,"nodeType":"Block","src":"48762:110:98","statements":[{"errorCall":{"arguments":[{"expression":{"id":68755,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"48806:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48810:5:98","memberName":"value","nodeType":"MemberAccess","src":"48806:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68757,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68707,"src":"48817:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68758,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48834:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"48817:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68754,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65746,"src":"48783:22:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":68759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48783:78:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68760,"nodeType":"RevertStatement","src":"48776:85:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68763,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68700,"src":"48991:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68764,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49000:21:98","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65603,"src":"48991:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":68765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49025:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"48991:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68767,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68700,"src":"49046:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68768,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49055:21:98","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65603,"src":"49046:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68769,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65908,"src":"49079:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49046:53:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":68771,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"49102:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49108:9:98","memberName":"timestamp","nodeType":"MemberAccess","src":"49102:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49046:71:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"48991:126:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68787,"nodeType":"IfStatement","src":"48974:325:98","trueBody":{"id":68786,"nodeType":"Block","src":"49128:171:98","statements":[{"errorCall":{"arguments":[{"id":68776,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68689,"src":"49191:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68777,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68700,"src":"49203:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68778,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49212:21:98","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65603,"src":"49203:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68779,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65908,"src":"49236:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49203:53:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68781,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"49259:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49265:9:98","memberName":"timestamp","nodeType":"MemberAccess","src":"49259:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49203:71:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68775,"name":"DisputeCooldownNotPassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65768,"src":"49149:24:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":68784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49149:139:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68785,"nodeType":"RevertStatement","src":"49142:146:98"}]}},{"assignments":[68789],"declarations":[{"constant":false,"id":68789,"mutability":"mutable","name":"arbitrationFee","nameLocation":"49317:14:98","nodeType":"VariableDeclaration","scope":68873,"src":"49309:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68788,"name":"uint256","nodeType":"ElementaryTypeName","src":"49309:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68795,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68790,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"49334:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49338:5:98","memberName":"value","nodeType":"MemberAccess","src":"49334:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68792,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68707,"src":"49346:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68793,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49363:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"49346:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49334:55:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"49309:80:98"},{"expression":{"arguments":[{"id":68802,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68689,"src":"49486:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68803,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"49498:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49502:6:98","memberName":"sender","nodeType":"MemberAccess","src":"49498:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":68796,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65941,"src":"49400:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"id":68798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49416:17:98","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":76337,"src":"49400:33:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":68801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":68799,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68707,"src":"49441:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68800,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49458:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"49441:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"49400:85:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":68805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49400:109:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68806,"nodeType":"ExpressionStatement","src":"49400:109:98"},{"expression":{"id":68816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68807,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68696,"src":"49520:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68813,"name":"RULING_OPTIONS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65905,"src":"49597:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68814,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68693,"src":"49613:10:98","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":68808,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68707,"src":"49532:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68809,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49549:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"49532:27:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}},"id":68810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49560:13:98","memberName":"createDispute","nodeType":"MemberAccess","referencedDeclaration":76272,"src":"49532:41:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":68812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":68811,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68789,"src":"49581:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"49532:64:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":68815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49532:92:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49520:104:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68817,"nodeType":"ExpressionStatement","src":"49520:104:98"},{"expression":{"id":68823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68818,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68700,"src":"49635:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68820,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49644:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"49635:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68821,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"49661:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65565_$","typeString":"type(enum ProposalStatus)"}},"id":68822,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49676:8:98","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"49661:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"src":"49635:49:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"id":68824,"nodeType":"ExpressionStatement","src":"49635:49:98"},{"expression":{"id":68831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":68825,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68700,"src":"49694:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68828,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49703:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"49694:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65572_storage","typeString":"struct ProposalDisputeInfo storage ref"}},"id":68829,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49715:9:98","memberName":"disputeId","nodeType":"MemberAccess","referencedDeclaration":65567,"src":"49694:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68830,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68696,"src":"49727:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49694:42:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68832,"nodeType":"ExpressionStatement","src":"49694:42:98"},{"expression":{"id":68840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":68833,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68700,"src":"49746:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68836,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49755:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"49746:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65572_storage","typeString":"struct ProposalDisputeInfo storage ref"}},"id":68837,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49767:16:98","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":65569,"src":"49746:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68838,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"49786:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49792:9:98","memberName":"timestamp","nodeType":"MemberAccess","src":"49786:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49746:55:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68841,"nodeType":"ExpressionStatement","src":"49746:55:98"},{"expression":{"id":68849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":68842,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68700,"src":"49811:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68845,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49820:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"49811:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65572_storage","typeString":"struct ProposalDisputeInfo storage ref"}},"id":68846,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49832:10:98","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65571,"src":"49811:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68847,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"49845:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49849:6:98","memberName":"sender","nodeType":"MemberAccess","src":"49845:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"49811:44:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68850,"nodeType":"ExpressionStatement","src":"49811:44:98"},{"expression":{"id":68855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68851,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65962,"src":"49865:21:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":68853,"indexExpression":{"id":68852,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68696,"src":"49887:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"49865:32:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68854,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68689,"src":"49900:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49865:45:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68856,"nodeType":"ExpressionStatement","src":"49865:45:98"},{"expression":{"id":68858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"49921:14:98","subExpression":{"id":68857,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65916,"src":"49921:12:98","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":68859,"nodeType":"ExpressionStatement","src":"49921:14:98"},{"eventCall":{"arguments":[{"expression":{"id":68861,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68707,"src":"49981:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68862,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49998:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"49981:27:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}},{"id":68863,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68689,"src":"50022:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68864,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68696,"src":"50046:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68865,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"50069:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50073:6:98","memberName":"sender","nodeType":"MemberAccess","src":"50069:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":68867,"name":"context","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68691,"src":"50093:7:98","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"expression":{"expression":{"id":68868,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68700,"src":"50114:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68869,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50123:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"50114:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65572_storage","typeString":"struct ProposalDisputeInfo storage ref"}},"id":68870,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50135:16:98","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":65569,"src":"50114:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68860,"name":"ProposalDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65855,"src":"49951:16:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$76325_$_t_uint256_$_t_uint256_$_t_address_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256,address,string memory,uint256)"}},"id":68871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49951:210:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68872,"nodeType":"EmitStatement","src":"49946:215:98"}]},"functionSelector":"b41596ec","implemented":true,"kind":"function","modifiers":[],"name":"disputeProposal","nameLocation":"47832:15:98","parameters":{"id":68694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68689,"mutability":"mutable","name":"proposalId","nameLocation":"47856:10:98","nodeType":"VariableDeclaration","scope":68874,"src":"47848:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68688,"name":"uint256","nodeType":"ElementaryTypeName","src":"47848:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68691,"mutability":"mutable","name":"context","nameLocation":"47884:7:98","nodeType":"VariableDeclaration","scope":68874,"src":"47868:23:98","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":68690,"name":"string","nodeType":"ElementaryTypeName","src":"47868:6:98","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":68693,"mutability":"mutable","name":"_extraData","nameLocation":"47908:10:98","nodeType":"VariableDeclaration","scope":68874,"src":"47893:25:98","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":68692,"name":"bytes","nodeType":"ElementaryTypeName","src":"47893:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"47847:72:98"},"returnParameters":{"id":68697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68696,"mutability":"mutable","name":"disputeId","nameLocation":"47994:9:98","nodeType":"VariableDeclaration","scope":68874,"src":"47986:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68695,"name":"uint256","nodeType":"ElementaryTypeName","src":"47986:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47985:19:98"},"scope":69194,"stateMutability":"payable","virtual":true,"visibility":"external"},{"id":69123,"nodeType":"FunctionDefinition","src":"50174:2899:98","nodes":[],"body":{"id":69122,"nodeType":"Block","src":"50251:2822:98","nodes":[],"statements":[{"assignments":[68883],"declarations":[{"constant":false,"id":68883,"mutability":"mutable","name":"proposalId","nameLocation":"50269:10:98","nodeType":"VariableDeclaration","scope":69122,"src":"50261:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68882,"name":"uint256","nodeType":"ElementaryTypeName","src":"50261:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68887,"initialValue":{"baseExpression":{"id":68884,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65962,"src":"50282:21:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":68886,"indexExpression":{"id":68885,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68876,"src":"50304:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"50282:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"50261:54:98"},{"assignments":[68890],"declarations":[{"constant":false,"id":68890,"mutability":"mutable","name":"proposal","nameLocation":"50342:8:98","nodeType":"VariableDeclaration","scope":69122,"src":"50325:25:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"},"typeName":{"id":68889,"nodeType":"UserDefinedTypeName","pathNode":{"id":68888,"name":"Proposal","nameLocations":["50325:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65606,"src":"50325:8:98"},"referencedDeclaration":65606,"src":"50325:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"}},"visibility":"internal"}],"id":68894,"initialValue":{"baseExpression":{"id":68891,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"50353:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":68893,"indexExpression":{"id":68892,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68883,"src":"50363:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"50353:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"50325:49:98"},{"assignments":[68897],"declarations":[{"constant":false,"id":68897,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"50408:16:98","nodeType":"VariableDeclaration","scope":69122,"src":"50384:40:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig"},"typeName":{"id":68896,"nodeType":"UserDefinedTypeName","pathNode":{"id":68895,"name":"ArbitrableConfig","nameLocations":["50384:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65628,"src":"50384:16:98"},"referencedDeclaration":65628,"src":"50384:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage_ptr","typeString":"struct ArbitrableConfig"}},"visibility":"internal"}],"id":68902,"initialValue":{"baseExpression":{"id":68898,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"50427:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":68901,"indexExpression":{"expression":{"id":68899,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"50445:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68900,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50454:23:98","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65605,"src":"50445:32:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"50427:51:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"nodeType":"VariableDeclarationStatement","src":"50384:94:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68903,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68883,"src":"50493:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50507:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"50493:15:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68911,"nodeType":"IfStatement","src":"50489:82:98","trueBody":{"id":68910,"nodeType":"Block","src":"50510:61:98","statements":[{"errorCall":{"arguments":[{"id":68907,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68883,"src":"50549:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68906,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65718,"src":"50531:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50531:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68909,"nodeType":"RevertStatement","src":"50524:36:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"},"id":68916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68912,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"50584:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68913,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50593:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"50584:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":68914,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"50611:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65565_$","typeString":"type(enum ProposalStatus)"}},"id":68915,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50626:8:98","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"50611:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"src":"50584:50:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68922,"nodeType":"IfStatement","src":"50580:119:98","trueBody":{"id":68921,"nodeType":"Block","src":"50636:63:98","statements":[{"errorCall":{"arguments":[{"id":68918,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68883,"src":"50677:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68917,"name":"ProposalNotDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65752,"src":"50657:19:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50657:31:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68920,"nodeType":"RevertStatement","src":"50650:38:98"}]}},{"assignments":[68924],"declarations":[{"constant":false,"id":68924,"mutability":"mutable","name":"isTimeOut","nameLocation":"50714:9:98","nodeType":"VariableDeclaration","scope":69122,"src":"50709:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68923,"name":"bool","nodeType":"ElementaryTypeName","src":"50709:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":68934,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68925,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50726:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50732:9:98","memberName":"timestamp","nodeType":"MemberAccess","src":"50726:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":68927,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"50744:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68928,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50753:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"50744:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65572_storage","typeString":"struct ProposalDisputeInfo storage ref"}},"id":68929,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50765:16:98","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":65569,"src":"50744:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":68930,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68897,"src":"50784:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68931,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50801:20:98","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65627,"src":"50784:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50744:77:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50726:95:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"50709:112:98"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"50836:10:98","subExpression":{"id":68935,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68924,"src":"50837:9:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68937,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"50850:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50854:6:98","memberName":"sender","nodeType":"MemberAccess","src":"50850:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"expression":{"id":68941,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68897,"src":"50872:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68942,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50889:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"50872:27:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}],"id":68940,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"50864:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68939,"name":"address","nodeType":"ElementaryTypeName","src":"50864:7:98","typeDescriptions":{}}},"id":68943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50864:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"50850:50:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"50836:64:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68950,"nodeType":"IfStatement","src":"50832:118:98","trueBody":{"id":68949,"nodeType":"Block","src":"50902:48:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68946,"name":"OnlyArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65748,"src":"50923:14:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50923:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68948,"nodeType":"RevertStatement","src":"50916:23:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68951,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68924,"src":"50964:9:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68952,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68878,"src":"50977:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50988:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"50977:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"50964:25:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69013,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68878,"src":"51731:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":69014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"51742:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"51731:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69042,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68878,"src":"52093:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":69043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52104:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"52093:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69102,"nodeType":"IfStatement","src":"52089:824:98","trueBody":{"id":69101,"nodeType":"Block","src":"52107:806:98","statements":[{"expression":{"id":69050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69045,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"52121:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":69047,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"52130:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"52121:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69048,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"52147:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65565_$","typeString":"type(enum ProposalStatus)"}},"id":69049,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52162:8:98","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":65564,"src":"52147:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"src":"52121:49:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"id":69051,"nodeType":"ExpressionStatement","src":"52121:49:98"},{"expression":{"arguments":[{"id":69055,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68883,"src":"52236:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":69056,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"52248:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":69057,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52257:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"52248:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65572_storage","typeString":"struct ProposalDisputeInfo storage ref"}},"id":69058,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52269:10:98","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65571,"src":"52248:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69059,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68897,"src":"52281:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":69060,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52298:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"52281:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69052,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65941,"src":"52184:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"id":69054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52200:18:98","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":76346,"src":"52184:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":69061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52184:154:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69062,"nodeType":"ExpressionStatement","src":"52184:154:98"},{"expression":{"arguments":[{"id":69066,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68883,"src":"52407:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69067,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"52435:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":69068,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52444:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65584,"src":"52435:18:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69071,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"52479:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":69072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52479:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":69073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52502:11:98","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":71024,"src":"52479:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$76451_$","typeString":"function () view external returns (contract ISafe)"}},"id":69074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52479:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}],"id":69070,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"52471:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69069,"name":"address","nodeType":"ElementaryTypeName","src":"52471:7:98","typeDescriptions":{}}},"id":69075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52471:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69076,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"52534:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":69078,"indexExpression":{"id":69077,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"52552:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"52534:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":69079,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52584:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"52534:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":69080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52612:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"52534:79:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69063,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65941,"src":"52352:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"id":69065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52368:21:98","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":76357,"src":"52352:37:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":69082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52352:275:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69083,"nodeType":"ExpressionStatement","src":"52352:275:98"},{"expression":{"arguments":[{"id":69087,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68883,"src":"52696:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69088,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"52724:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":69089,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52733:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65584,"src":"52724:18:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":69090,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"52760:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":69091,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52769:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"52760:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65572_storage","typeString":"struct ProposalDisputeInfo storage ref"}},"id":69092,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52781:10:98","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65571,"src":"52760:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69093,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"52809:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":69095,"indexExpression":{"id":69094,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"52827:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"52809:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":69096,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52859:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"52809:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":69097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52887:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"52809:79:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69084,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65941,"src":"52641:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"id":69086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52657:21:98","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":76357,"src":"52641:37:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":69099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52641:261:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69100,"nodeType":"ExpressionStatement","src":"52641:261:98"}]}},"id":69103,"nodeType":"IfStatement","src":"51727:1186:98","trueBody":{"id":69041,"nodeType":"Block","src":"51745:338:98","statements":[{"expression":{"id":69021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69016,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"51759:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":69018,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"51768:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"51759:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69019,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"51785:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65565_$","typeString":"type(enum ProposalStatus)"}},"id":69020,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51800:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65559,"src":"51785:21:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"src":"51759:47:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"id":69022,"nodeType":"ExpressionStatement","src":"51759:47:98"},{"expression":{"arguments":[{"id":69026,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68883,"src":"51875:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":69027,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"51903:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":69028,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51912:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"51903:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65572_storage","typeString":"struct ProposalDisputeInfo storage ref"}},"id":69029,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51924:10:98","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65571,"src":"51903:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69032,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"51960:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":69033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51960:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":69034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51983:11:98","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":71024,"src":"51960:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$76451_$","typeString":"function () view external returns (contract ISafe)"}},"id":69035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51960:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}],"id":69031,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"51952:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69030,"name":"address","nodeType":"ElementaryTypeName","src":"51952:7:98","typeDescriptions":{}}},"id":69036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51952:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69037,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68897,"src":"52015:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":69038,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52032:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"52015:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69023,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65941,"src":"51820:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"id":69025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51836:21:98","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":76357,"src":"51820:37:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":69039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51820:252:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69040,"nodeType":"ExpressionStatement","src":"51820:252:98"}]}},"id":69104,"nodeType":"IfStatement","src":"50960:1953:98","trueBody":{"id":69012,"nodeType":"Block","src":"50991:730:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68956,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68897,"src":"51009:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68957,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51026:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"51009:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"51043:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"51009:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68964,"nodeType":"IfStatement","src":"51005:102:98","trueBody":{"id":68963,"nodeType":"Block","src":"51046:61:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68960,"name":"DefaultRulingNotSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65762,"src":"51071:19:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51071:21:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68962,"nodeType":"RevertStatement","src":"51064:28:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68965,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68897,"src":"51124:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68966,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51141:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"51124:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":68967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"51158:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"51124:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68977,"nodeType":"IfStatement","src":"51120:121:98","trueBody":{"id":68976,"nodeType":"Block","src":"51161:80:98","statements":[{"expression":{"id":68974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68969,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"51179:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68971,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"51188:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"51179:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68972,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"51205:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65565_$","typeString":"type(enum ProposalStatus)"}},"id":68973,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51220:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65559,"src":"51205:21:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"src":"51179:47:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"id":68975,"nodeType":"ExpressionStatement","src":"51179:47:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68978,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68897,"src":"51258:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68979,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51275:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"51258:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":68980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"51292:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"51258:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69000,"nodeType":"IfStatement","src":"51254:289:98","trueBody":{"id":68999,"nodeType":"Block","src":"51295:248:98","statements":[{"expression":{"id":68987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68982,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"51313:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68984,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"51322:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"51313:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68985,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"51339:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65565_$","typeString":"type(enum ProposalStatus)"}},"id":68986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51354:8:98","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":65564,"src":"51339:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"src":"51313:49:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"id":68988,"nodeType":"ExpressionStatement","src":"51313:49:98"},{"expression":{"arguments":[{"id":68992,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68883,"src":"51436:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68993,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"51448:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68994,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51457:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65584,"src":"51448:18:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68995,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68897,"src":"51468:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68996,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51485:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"51468:42:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68989,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65941,"src":"51380:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"id":68991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51396:18:98","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":76346,"src":"51380:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":68997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51380:148:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68998,"nodeType":"ExpressionStatement","src":"51380:148:98"}]}},{"expression":{"arguments":[{"id":69004,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68883,"src":"51608:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":69005,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"51620:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":69006,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51629:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"51620:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65572_storage","typeString":"struct ProposalDisputeInfo storage ref"}},"id":69007,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51641:10:98","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65571,"src":"51620:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69008,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68897,"src":"51653:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":69009,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51670:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"51653:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69001,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65941,"src":"51556:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"id":69003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51572:18:98","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":76346,"src":"51556:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":69010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51556:154:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69011,"nodeType":"ExpressionStatement","src":"51556:154:98"}]}},{"expression":{"id":69106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"52923:14:98","subExpression":{"id":69105,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65916,"src":"52923:12:98","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":69107,"nodeType":"ExpressionStatement","src":"52923:14:98"},{"expression":{"id":69113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69108,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"52947:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":69110,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"52956:21:98","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65603,"src":"52947:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69111,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"52980:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":69112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52986:9:98","memberName":"timestamp","nodeType":"MemberAccess","src":"52980:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"52947:48:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69114,"nodeType":"ExpressionStatement","src":"52947:48:98"},{"eventCall":{"arguments":[{"expression":{"id":69116,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68897,"src":"53017:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":69117,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53034:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"53017:27:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}},{"id":69118,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68876,"src":"53046:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69119,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68878,"src":"53058:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69115,"name":"Ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76212,"src":"53010:6:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$76325_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256)"}},"id":69120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53010:56:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69121,"nodeType":"EmitStatement","src":"53005:61:98"}]},"baseFunctions":[76220],"functionSelector":"311a6c56","implemented":true,"kind":"function","modifiers":[],"name":"rule","nameLocation":"50183:4:98","overrides":{"id":68880,"nodeType":"OverrideSpecifier","overrides":[],"src":"50242:8:98"},"parameters":{"id":68879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68876,"mutability":"mutable","name":"_disputeID","nameLocation":"50196:10:98","nodeType":"VariableDeclaration","scope":69123,"src":"50188:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68875,"name":"uint256","nodeType":"ElementaryTypeName","src":"50188:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68878,"mutability":"mutable","name":"_ruling","nameLocation":"50216:7:98","nodeType":"VariableDeclaration","scope":69123,"src":"50208:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68877,"name":"uint256","nodeType":"ElementaryTypeName","src":"50208:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"50187:37:98"},"returnParameters":{"id":68881,"nodeType":"ParameterList","parameters":[],"src":"50251:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":69189,"nodeType":"FunctionDefinition","src":"53079:702:98","nodes":[],"body":{"id":69188,"nodeType":"Block","src":"53140:641:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"},"id":69134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69128,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"53154:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":69130,"indexExpression":{"id":69129,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69125,"src":"53164:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"53154:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"id":69131,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53176:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"53154:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":69132,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"53194:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65565_$","typeString":"type(enum ProposalStatus)"}},"id":69133,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53209:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65559,"src":"53194:21:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"src":"53154:61:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69140,"nodeType":"IfStatement","src":"53150:128:98","trueBody":{"id":69139,"nodeType":"Block","src":"53217:61:98","statements":[{"errorCall":{"arguments":[{"id":69136,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69125,"src":"53256:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69135,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65714,"src":"53238:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":69137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53238:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69138,"nodeType":"RevertStatement","src":"53231:36:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69141,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"53292:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":69143,"indexExpression":{"id":69142,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69125,"src":"53302:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"53292:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"id":69144,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53314:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65584,"src":"53292:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":69145,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"53327:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53331:6:98","memberName":"sender","nodeType":"MemberAccess","src":"53327:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"53292:45:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69158,"nodeType":"IfStatement","src":"53288:141:98","trueBody":{"id":69157,"nodeType":"Block","src":"53339:90:98","statements":[{"errorCall":{"arguments":[{"expression":{"baseExpression":{"id":69149,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"53374:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":69151,"indexExpression":{"id":69150,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69125,"src":"53384:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"53374:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"id":69152,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53396:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65584,"src":"53374:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69153,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"53407:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53411:6:98","memberName":"sender","nodeType":"MemberAccess","src":"53407:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":69148,"name":"OnlySubmitter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65760,"src":"53360:13:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":69155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53360:58:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69156,"nodeType":"RevertStatement","src":"53353:65:98"}]}},{"expression":{"arguments":[{"id":69162,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69125,"src":"53487:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":69163,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"53511:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":69165,"indexExpression":{"id":69164,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69125,"src":"53521:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"53511:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"id":69166,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53533:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65584,"src":"53511:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":69167,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"53556:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":69172,"indexExpression":{"expression":{"baseExpression":{"id":69168,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"53574:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":69170,"indexExpression":{"id":69169,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69125,"src":"53584:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"53574:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"id":69171,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53596:23:98","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65605,"src":"53574:45:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"53556:64:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":69173,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53621:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"53556:90:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69159,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65941,"src":"53439:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"id":69161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53455:18:98","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":76346,"src":"53439:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":69174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53439:217:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69175,"nodeType":"ExpressionStatement","src":"53439:217:98"},{"expression":{"id":69182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":69176,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"53667:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":69178,"indexExpression":{"id":69177,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69125,"src":"53677:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"53667:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"id":69179,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"53689:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"53667:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69180,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"53706:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65565_$","typeString":"type(enum ProposalStatus)"}},"id":69181,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53721:9:98","memberName":"Cancelled","nodeType":"MemberAccess","referencedDeclaration":65561,"src":"53706:24:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"src":"53667:63:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"id":69183,"nodeType":"ExpressionStatement","src":"53667:63:98"},{"eventCall":{"arguments":[{"id":69185,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69125,"src":"53763:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69184,"name":"ProposalCancelled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65867,"src":"53745:17:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":69186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53745:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69187,"nodeType":"EmitStatement","src":"53740:34:98"}]},"functionSelector":"e0a8f6f5","implemented":true,"kind":"function","modifiers":[],"name":"cancelProposal","nameLocation":"53088:14:98","parameters":{"id":69126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69125,"mutability":"mutable","name":"proposalId","nameLocation":"53111:10:98","nodeType":"VariableDeclaration","scope":69189,"src":"53103:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69124,"name":"uint256","nodeType":"ElementaryTypeName","src":"53103:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53102:20:98"},"returnParameters":{"id":69127,"nodeType":"ParameterList","parameters":[],"src":"53140:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":69193,"nodeType":"VariableDeclaration","src":"53787:25:98","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"53807:5:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":69190,"name":"uint256","nodeType":"ElementaryTypeName","src":"53787:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69192,"length":{"hexValue":"3530","id":69191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53795:2:98","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"53787:11:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":65659,"name":"BaseStrategyUpgradeable","nameLocations":["3809:23:98"],"nodeType":"IdentifierPath","referencedDeclaration":65471,"src":"3809:23:98"},"id":65660,"nodeType":"InheritanceSpecifier","src":"3809:23:98"},{"baseName":{"id":65661,"name":"IArbitrable","nameLocations":["3834:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":76221,"src":"3834:11:98"},"id":65662,"nodeType":"InheritanceSpecifier","src":"3834:11:98"},{"baseName":{"id":65663,"name":"IPointStrategy","nameLocations":["3847:14:98"],"nodeType":"IdentifierPath","referencedDeclaration":65536,"src":"3847:14:98"},"id":65664,"nodeType":"InheritanceSpecifier","src":"3847:14:98"},{"baseName":{"id":65665,"name":"ERC165","nameLocations":["3863:6:98"],"nodeType":"IdentifierPath","referencedDeclaration":57725,"src":"3863:6:98"},"id":65666,"nodeType":"InheritanceSpecifier","src":"3863:6:98"}],"canonicalName":"CVStrategyV0_0","contractDependencies":[],"contractKind":"contract","documentation":{"id":65658,"nodeType":"StructuredDocumentation","src":"3738:44:98","text":"@custom:oz-upgrades-from CVStrategyV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[69194,57725,57931,65536,76221,65471,3089,3317,3106,2969,70711,55672,55325,54974,54984,52903,53696,53152],"name":"CVStrategyV0_0","nameLocation":"3791:14:98","scope":69195,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,65668,65670,65672,65674,65676,65678,65680,65682,65684,65686,65688,65696,65698,65700,65706,65708,65710,65714,65718,65724,65726,65728,65736,65738,65740,65746,65748,65752,65754,65760,65762,65768,70634]}],"license":"AGPL-3.0-only"},"id":98} \ No newline at end of file diff --git a/pkg/contracts/out/CVStrategyV0_0.sol/IPointStrategy.json b/pkg/contracts/out/CVStrategyV0_0.sol/IPointStrategy.json index e5b3dadb4..6903d7415 100644 --- a/pkg/contracts/out/CVStrategyV0_0.sol/IPointStrategy.json +++ b/pkg/contracts/out/CVStrategyV0_0.sol/IPointStrategy.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"deactivatePoints","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToUntake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getPointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"stateMutability":"nonpayable"},{"type":"function","name":"increasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToStake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"deactivatePoints(address)":"6453d9c4","decreasePower(address,uint256)":"2ed04b2b","getPointSystem()":"c3292171","increasePower(address,uint256)":"782aadff"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToUntake\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToStake\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":\"IPointStrategy\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293\",\"dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x4301751ea11db320804edf82deeb83d694240d4ab92e96fd75272823a0e68cbe\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://17eb861b8e0b13b4fc31136dbb817f5bf9b0637dc1c0484b090e1e2121fc2595\",\"dweb:/ipfs/QmbYz9fngCp4FmvAJyP2NqSpxBJRJa573mTQ5R9nVsCJAg\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xaea628cb12b8c0dd868c04c935f99ab50c88372f130ce2ced0c7b2b3ce780381\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://22eb93eaf9fc1a9f591ed87dc478e8aabafb46e22ef870bba1345a799c44ba3d\",\"dweb:/ipfs/QmSAXa8UmtGNXNtVbmqPMyEpA3RZYqWjZvPoVFHCvjHjwj\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToUntake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"getPointSystem","outputs":[{"internalType":"enum StrategyStruct.PointSystem","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToStake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":"IPointStrategy"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2","urls":["bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293","dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x4301751ea11db320804edf82deeb83d694240d4ab92e96fd75272823a0e68cbe","urls":["bzz-raw://17eb861b8e0b13b4fc31136dbb817f5bf9b0637dc1c0484b090e1e2121fc2595","dweb:/ipfs/QmbYz9fngCp4FmvAJyP2NqSpxBJRJa573mTQ5R9nVsCJAg"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xaea628cb12b8c0dd868c04c935f99ab50c88372f130ce2ced0c7b2b3ce780381","urls":["bzz-raw://22eb93eaf9fc1a9f591ed87dc478e8aabafb46e22ef870bba1345a799c44ba3d","dweb:/ipfs/QmSAXa8UmtGNXNtVbmqPMyEpA3RZYqWjZvPoVFHCvjHjwj"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol","id":69235,"exportedSymbols":{"BaseStrategy":[3923],"BaseStrategyUpgradeable":[65471],"CVStrategyV0_0":[69234],"Clone":[3002],"ERC165":[57725],"ERC20":[56450],"IAllo":[2610],"IArbitrable":[73940],"IArbitrator":[74044],"ICollateralVault":[74077],"IERC165":[57931],"IPointStrategy":[65534],"ISybilScorer":[70165],"Math":[58797],"Metadata":[3098],"OwnableUpgradeable":[52903],"PassportData":[70083],"RegistryCommunityV0_0":[72744],"StrategyStruct":[65656],"UUPSUpgradeable":[55672]},"nodeType":"SourceUnit","src":"42:55349:98","nodes":[{"id":65473,"nodeType":"PragmaDirective","src":"42:24:98","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":65475,"nodeType":"ImportDirective","src":"68:71:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":65474,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"76:8:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65478,"nodeType":"ImportDirective","src":"140:82:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/strategies/BaseStrategy.sol","file":"allo-v2-contracts/strategies/BaseStrategy.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":3924,"symbolAliases":[{"foreign":{"id":65476,"name":"BaseStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3923,"src":"148:12:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":65477,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"162:5:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65480,"nodeType":"ImportDirective","src":"223:85:98","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol","file":"../RegistryCommunity/RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":72745,"symbolAliases":[{"foreign":{"id":65479,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72744,"src":"231:21:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65483,"nodeType":"ImportDirective","src":"309:87:98","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":57726,"symbolAliases":[{"foreign":{"id":65481,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57725,"src":"317:6:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":65482,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57931,"src":"325:7:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65485,"nodeType":"ImportDirective","src":"397:68:98","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":56451,"symbolAliases":[{"foreign":{"id":65484,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56450,"src":"405:5:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65487,"nodeType":"ImportDirective","src":"466:58:98","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","file":"../interfaces/IArbitrator.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":74045,"symbolAliases":[{"foreign":{"id":65486,"name":"IArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74044,"src":"474:11:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65489,"nodeType":"ImportDirective","src":"525:58:98","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"../interfaces/IArbitrable.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":73941,"symbolAliases":[{"foreign":{"id":65488,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73940,"src":"533:11:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65491,"nodeType":"ImportDirective","src":"584:65:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":65490,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"592:5:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65493,"nodeType":"ImportDirective","src":"700:65:98","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":58798,"symbolAliases":[{"foreign":{"id":65492,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58797,"src":"708:4:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65496,"nodeType":"ImportDirective","src":"766:63:98","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"../ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":70166,"symbolAliases":[{"foreign":{"id":65494,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70165,"src":"774:12:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":65495,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70083,"src":"788:12:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65498,"nodeType":"ImportDirective","src":"830:88:98","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":55673,"symbolAliases":[{"foreign":{"id":65497,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55672,"src":"838:15:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65500,"nodeType":"ImportDirective","src":"919:71:98","nodes":[],"absolutePath":"pkg/contracts/src/BaseStrategyUpgradeable.sol","file":"../BaseStrategyUpgradeable.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":65472,"symbolAliases":[{"foreign":{"id":65499,"name":"BaseStrategyUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65471,"src":"927:23:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65502,"nodeType":"ImportDirective","src":"991:101:98","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":52904,"symbolAliases":[{"foreign":{"id":65501,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52903,"src":"999:18:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65504,"nodeType":"ImportDirective","src":"1093:68:98","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ICollateralVault.sol","file":"../interfaces/ICollateralVault.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":74078,"symbolAliases":[{"foreign":{"id":65503,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74077,"src":"1101:16:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65534,"nodeType":"ContractDefinition","src":"1163:358:98","nodes":[{"id":65509,"nodeType":"FunctionDefinition","src":"1194:52:98","nodes":[],"functionSelector":"6453d9c4","implemented":false,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"1203:16:98","parameters":{"id":65507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65506,"mutability":"mutable","name":"_member","nameLocation":"1228:7:98","nodeType":"VariableDeclaration","scope":65509,"src":"1220:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65505,"name":"address","nodeType":"ElementaryTypeName","src":"1220:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1219:17:98"},"returnParameters":{"id":65508,"nodeType":"ParameterList","parameters":[],"src":"1245:0:98"},"scope":65534,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65518,"nodeType":"FunctionDefinition","src":"1252:91:98","nodes":[],"functionSelector":"782aadff","implemented":false,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"1261:13:98","parameters":{"id":65514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65511,"mutability":"mutable","name":"_member","nameLocation":"1283:7:98","nodeType":"VariableDeclaration","scope":65518,"src":"1275:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65510,"name":"address","nodeType":"ElementaryTypeName","src":"1275:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65513,"mutability":"mutable","name":"_amountToStake","nameLocation":"1300:14:98","nodeType":"VariableDeclaration","scope":65518,"src":"1292:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65512,"name":"uint256","nodeType":"ElementaryTypeName","src":"1292:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1274:41:98"},"returnParameters":{"id":65517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65516,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65518,"src":"1334:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65515,"name":"uint256","nodeType":"ElementaryTypeName","src":"1334:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1333:9:98"},"scope":65534,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65527,"nodeType":"FunctionDefinition","src":"1349:92:98","nodes":[],"functionSelector":"2ed04b2b","implemented":false,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"1358:13:98","parameters":{"id":65523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65520,"mutability":"mutable","name":"_member","nameLocation":"1380:7:98","nodeType":"VariableDeclaration","scope":65527,"src":"1372:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65519,"name":"address","nodeType":"ElementaryTypeName","src":"1372:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65522,"mutability":"mutable","name":"_amountToUntake","nameLocation":"1397:15:98","nodeType":"VariableDeclaration","scope":65527,"src":"1389:23:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65521,"name":"uint256","nodeType":"ElementaryTypeName","src":"1389:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1371:42:98"},"returnParameters":{"id":65526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65525,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65527,"src":"1432:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65524,"name":"uint256","nodeType":"ElementaryTypeName","src":"1432:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1431:9:98"},"scope":65534,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65533,"nodeType":"FunctionDefinition","src":"1447:72:98","nodes":[],"functionSelector":"c3292171","implemented":false,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"1456:14:98","parameters":{"id":65528,"nodeType":"ParameterList","parameters":[],"src":"1470:2:98"},"returnParameters":{"id":65532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65531,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65533,"src":"1491:26:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":65530,"nodeType":"UserDefinedTypeName","pathNode":{"id":65529,"name":"StrategyStruct.PointSystem","nameLocations":["1491:14:98","1506:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":65543,"src":"1491:26:98"},"referencedDeclaration":65543,"src":"1491:26:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"1490:28:98"},"scope":65534,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IPointStrategy","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[65534],"name":"IPointStrategy","nameLocation":"1173:14:98","scope":69235,"usedErrors":[]},{"id":65656,"nodeType":"ContractDefinition","src":"1523:2414:98","nodes":[{"id":65538,"nodeType":"EnumDefinition","src":"1552:79:98","nodes":[],"canonicalName":"StrategyStruct.ProposalType","members":[{"id":65535,"name":"Signaling","nameLocation":"1580:9:98","nodeType":"EnumValue","src":"1580:9:98"},{"id":65536,"name":"Funding","nameLocation":"1599:7:98","nodeType":"EnumValue","src":"1599:7:98"},{"id":65537,"name":"Streaming","nameLocation":"1616:9:98","nodeType":"EnumValue","src":"1616:9:98"}],"name":"ProposalType","nameLocation":"1557:12:98"},{"id":65543,"nodeType":"EnumDefinition","src":"1637:92:98","nodes":[],"canonicalName":"StrategyStruct.PointSystem","members":[{"id":65539,"name":"Fixed","nameLocation":"1664:5:98","nodeType":"EnumValue","src":"1664:5:98"},{"id":65540,"name":"Capped","nameLocation":"1679:6:98","nodeType":"EnumValue","src":"1679:6:98"},{"id":65541,"name":"Unlimited","nameLocation":"1695:9:98","nodeType":"EnumValue","src":"1695:9:98"},{"id":65542,"name":"Quadratic","nameLocation":"1714:9:98","nodeType":"EnumValue","src":"1714:9:98"}],"name":"PointSystem","nameLocation":"1642:11:98"},{"id":65555,"nodeType":"StructDefinition","src":"1735:243:98","nodes":[],"canonicalName":"StrategyStruct.CreateProposal","members":[{"constant":false,"id":65545,"mutability":"mutable","name":"poolId","nameLocation":"1806:6:98","nodeType":"VariableDeclaration","scope":65555,"src":"1798:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65544,"name":"uint256","nodeType":"ElementaryTypeName","src":"1798:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65547,"mutability":"mutable","name":"beneficiary","nameLocation":"1830:11:98","nodeType":"VariableDeclaration","scope":65555,"src":"1822:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65546,"name":"address","nodeType":"ElementaryTypeName","src":"1822:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65549,"mutability":"mutable","name":"amountRequested","nameLocation":"1897:15:98","nodeType":"VariableDeclaration","scope":65555,"src":"1889:23:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65548,"name":"uint256","nodeType":"ElementaryTypeName","src":"1889:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65551,"mutability":"mutable","name":"requestedToken","nameLocation":"1930:14:98","nodeType":"VariableDeclaration","scope":65555,"src":"1922:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65550,"name":"address","nodeType":"ElementaryTypeName","src":"1922:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65554,"mutability":"mutable","name":"metadata","nameLocation":"1963:8:98","nodeType":"VariableDeclaration","scope":65555,"src":"1954:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":65553,"nodeType":"UserDefinedTypeName","pathNode":{"id":65552,"name":"Metadata","nameLocations":["1954:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"1954:8:98"},"referencedDeclaration":3098,"src":"1954:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"CreateProposal","nameLocation":"1742:14:98","scope":65656,"visibility":"public"},{"id":65563,"nodeType":"EnumDefinition","src":"1984:392:98","nodes":[],"canonicalName":"StrategyStruct.ProposalStatus","members":[{"id":65556,"name":"Inactive","nameLocation":"2014:8:98","nodeType":"EnumValue","src":"2014:8:98"},{"id":65557,"name":"Active","nameLocation":"2044:6:98","nodeType":"EnumValue","src":"2044:6:98"},{"id":65558,"name":"Paused","nameLocation":"2107:6:98","nodeType":"EnumValue","src":"2107:6:98"},{"id":65559,"name":"Cancelled","nameLocation":"2173:9:98","nodeType":"EnumValue","src":"2173:9:98"},{"id":65560,"name":"Executed","nameLocation":"2226:8:98","nodeType":"EnumValue","src":"2226:8:98"},{"id":65561,"name":"Disputed","nameLocation":"2277:8:98","nodeType":"EnumValue","src":"2277:8:98"},{"id":65562,"name":"Rejected","nameLocation":"2328:8:98","nodeType":"EnumValue","src":"2328:8:98"}],"name":"ProposalStatus","nameLocation":"1989:14:98"},{"id":65570,"nodeType":"StructDefinition","src":"2382:123:98","nodes":[],"canonicalName":"StrategyStruct.ProposalDisputeInfo","members":[{"constant":false,"id":65565,"mutability":"mutable","name":"disputeId","nameLocation":"2427:9:98","nodeType":"VariableDeclaration","scope":65570,"src":"2419:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65564,"name":"uint256","nodeType":"ElementaryTypeName","src":"2419:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65567,"mutability":"mutable","name":"disputeTimestamp","nameLocation":"2454:16:98","nodeType":"VariableDeclaration","scope":65570,"src":"2446:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65566,"name":"uint256","nodeType":"ElementaryTypeName","src":"2446:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65569,"mutability":"mutable","name":"challenger","nameLocation":"2488:10:98","nodeType":"VariableDeclaration","scope":65570,"src":"2480:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65568,"name":"address","nodeType":"ElementaryTypeName","src":"2480:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"ProposalDisputeInfo","nameLocation":"2389:19:98","scope":65656,"visibility":"public"},{"id":65604,"nodeType":"StructDefinition","src":"2511:526:98","nodes":[],"canonicalName":"StrategyStruct.Proposal","members":[{"constant":false,"id":65572,"mutability":"mutable","name":"proposalId","nameLocation":"2545:10:98","nodeType":"VariableDeclaration","scope":65604,"src":"2537:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65571,"name":"uint256","nodeType":"ElementaryTypeName","src":"2537:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65574,"mutability":"mutable","name":"requestedAmount","nameLocation":"2573:15:98","nodeType":"VariableDeclaration","scope":65604,"src":"2565:23:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65573,"name":"uint256","nodeType":"ElementaryTypeName","src":"2565:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65576,"mutability":"mutable","name":"stakedAmount","nameLocation":"2606:12:98","nodeType":"VariableDeclaration","scope":65604,"src":"2598:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65575,"name":"uint256","nodeType":"ElementaryTypeName","src":"2598:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65578,"mutability":"mutable","name":"convictionLast","nameLocation":"2636:14:98","nodeType":"VariableDeclaration","scope":65604,"src":"2628:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65577,"name":"uint256","nodeType":"ElementaryTypeName","src":"2628:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65580,"mutability":"mutable","name":"beneficiary","nameLocation":"2668:11:98","nodeType":"VariableDeclaration","scope":65604,"src":"2660:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65579,"name":"address","nodeType":"ElementaryTypeName","src":"2660:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65582,"mutability":"mutable","name":"submitter","nameLocation":"2697:9:98","nodeType":"VariableDeclaration","scope":65604,"src":"2689:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65581,"name":"address","nodeType":"ElementaryTypeName","src":"2689:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65584,"mutability":"mutable","name":"requestedToken","nameLocation":"2724:14:98","nodeType":"VariableDeclaration","scope":65604,"src":"2716:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65583,"name":"address","nodeType":"ElementaryTypeName","src":"2716:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65586,"mutability":"mutable","name":"blockLast","nameLocation":"2756:9:98","nodeType":"VariableDeclaration","scope":65604,"src":"2748:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65585,"name":"uint256","nodeType":"ElementaryTypeName","src":"2748:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65589,"mutability":"mutable","name":"proposalStatus","nameLocation":"2790:14:98","nodeType":"VariableDeclaration","scope":65604,"src":"2775:29:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":65588,"nodeType":"UserDefinedTypeName","pathNode":{"id":65587,"name":"ProposalStatus","nameLocations":["2775:14:98"],"nodeType":"IdentifierPath","referencedDeclaration":65563,"src":"2775:14:98"},"referencedDeclaration":65563,"src":"2775:14:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":65593,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"2842:17:98","nodeType":"VariableDeclaration","scope":65604,"src":"2814:45:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":65592,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65590,"name":"address","nodeType":"ElementaryTypeName","src":"2822:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2814:27:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65591,"name":"uint256","nodeType":"ElementaryTypeName","src":"2833:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":65596,"mutability":"mutable","name":"metadata","nameLocation":"2901:8:98","nodeType":"VariableDeclaration","scope":65604,"src":"2892:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":65595,"nodeType":"UserDefinedTypeName","pathNode":{"id":65594,"name":"Metadata","nameLocations":["2892:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2892:8:98"},"referencedDeclaration":3098,"src":"2892:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":65599,"mutability":"mutable","name":"disputeInfo","nameLocation":"2939:11:98","nodeType":"VariableDeclaration","scope":65604,"src":"2919:31:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"},"typeName":{"id":65598,"nodeType":"UserDefinedTypeName","pathNode":{"id":65597,"name":"ProposalDisputeInfo","nameLocations":["2919:19:98"],"nodeType":"IdentifierPath","referencedDeclaration":65570,"src":"2919:19:98"},"referencedDeclaration":65570,"src":"2919:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"}},"visibility":"internal"},{"constant":false,"id":65601,"mutability":"mutable","name":"lastDisputeCompletion","nameLocation":"2968:21:98","nodeType":"VariableDeclaration","scope":65604,"src":"2960:29:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65600,"name":"uint256","nodeType":"ElementaryTypeName","src":"2960:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65603,"mutability":"mutable","name":"arbitrableConfigVersion","nameLocation":"3007:23:98","nodeType":"VariableDeclaration","scope":65604,"src":"2999:31:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65602,"name":"uint256","nodeType":"ElementaryTypeName","src":"2999:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Proposal","nameLocation":"2518:8:98","scope":65656,"visibility":"public"},{"id":65609,"nodeType":"StructDefinition","src":"3043:126:98","nodes":[],"canonicalName":"StrategyStruct.ProposalSupport","members":[{"constant":false,"id":65606,"mutability":"mutable","name":"proposalId","nameLocation":"3084:10:98","nodeType":"VariableDeclaration","scope":65609,"src":"3076:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65605,"name":"uint256","nodeType":"ElementaryTypeName","src":"3076:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65608,"mutability":"mutable","name":"deltaSupport","nameLocation":"3111:12:98","nodeType":"VariableDeclaration","scope":65609,"src":"3104:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":65607,"name":"int256","nodeType":"ElementaryTypeName","src":"3104:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"ProposalSupport","nameLocation":"3050:15:98","scope":65656,"visibility":"public"},{"id":65612,"nodeType":"StructDefinition","src":"3175:89:98","nodes":[],"canonicalName":"StrategyStruct.PointSystemConfig","members":[{"constant":false,"id":65611,"mutability":"mutable","name":"maxAmount","nameLocation":"3248:9:98","nodeType":"VariableDeclaration","scope":65612,"src":"3240:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65610,"name":"uint256","nodeType":"ElementaryTypeName","src":"3240:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"PointSystemConfig","nameLocation":"3182:17:98","scope":65656,"visibility":"public"},{"id":65626,"nodeType":"StructDefinition","src":"3270:249:98","nodes":[],"canonicalName":"StrategyStruct.ArbitrableConfig","members":[{"constant":false,"id":65615,"mutability":"mutable","name":"arbitrator","nameLocation":"3316:10:98","nodeType":"VariableDeclaration","scope":65626,"src":"3304:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"},"typeName":{"id":65614,"nodeType":"UserDefinedTypeName","pathNode":{"id":65613,"name":"IArbitrator","nameLocations":["3304:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":74044,"src":"3304:11:98"},"referencedDeclaration":74044,"src":"3304:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":65617,"mutability":"mutable","name":"tribunalSafe","nameLocation":"3344:12:98","nodeType":"VariableDeclaration","scope":65626,"src":"3336:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65616,"name":"address","nodeType":"ElementaryTypeName","src":"3336:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65619,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"3374:25:98","nodeType":"VariableDeclaration","scope":65626,"src":"3366:33:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65618,"name":"uint256","nodeType":"ElementaryTypeName","src":"3366:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65621,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"3417:26:98","nodeType":"VariableDeclaration","scope":65626,"src":"3409:34:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65620,"name":"uint256","nodeType":"ElementaryTypeName","src":"3409:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65623,"mutability":"mutable","name":"defaultRuling","nameLocation":"3461:13:98","nodeType":"VariableDeclaration","scope":65626,"src":"3453:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65622,"name":"uint256","nodeType":"ElementaryTypeName","src":"3453:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65625,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"3492:20:98","nodeType":"VariableDeclaration","scope":65626,"src":"3484:28:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65624,"name":"uint256","nodeType":"ElementaryTypeName","src":"3484:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ArbitrableConfig","nameLocation":"3277:16:98","scope":65656,"visibility":"public"},{"id":65635,"nodeType":"StructDefinition","src":"3525:132:98","nodes":[],"canonicalName":"StrategyStruct.CVParams","members":[{"constant":false,"id":65628,"mutability":"mutable","name":"maxRatio","nameLocation":"3559:8:98","nodeType":"VariableDeclaration","scope":65635,"src":"3551:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65627,"name":"uint256","nodeType":"ElementaryTypeName","src":"3551:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65630,"mutability":"mutable","name":"weight","nameLocation":"3585:6:98","nodeType":"VariableDeclaration","scope":65635,"src":"3577:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65629,"name":"uint256","nodeType":"ElementaryTypeName","src":"3577:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65632,"mutability":"mutable","name":"decay","nameLocation":"3609:5:98","nodeType":"VariableDeclaration","scope":65635,"src":"3601:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65631,"name":"uint256","nodeType":"ElementaryTypeName","src":"3601:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65634,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"3632:18:98","nodeType":"VariableDeclaration","scope":65635,"src":"3624:26:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65633,"name":"uint256","nodeType":"ElementaryTypeName","src":"3624:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"CVParams","nameLocation":"3532:8:98","scope":65656,"visibility":"public"},{"id":65655,"nodeType":"StructDefinition","src":"3663:272:98","nodes":[],"canonicalName":"StrategyStruct.InitializeParams","members":[{"constant":false,"id":65638,"mutability":"mutable","name":"cvParams","nameLocation":"3706:8:98","nodeType":"VariableDeclaration","scope":65655,"src":"3697:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":65637,"nodeType":"UserDefinedTypeName","pathNode":{"id":65636,"name":"CVParams","nameLocations":["3697:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65635,"src":"3697:8:98"},"referencedDeclaration":65635,"src":"3697:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"},{"constant":false,"id":65641,"mutability":"mutable","name":"proposalType","nameLocation":"3737:12:98","nodeType":"VariableDeclaration","scope":65655,"src":"3724:25:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":65640,"nodeType":"UserDefinedTypeName","pathNode":{"id":65639,"name":"ProposalType","nameLocations":["3724:12:98"],"nodeType":"IdentifierPath","referencedDeclaration":65538,"src":"3724:12:98"},"referencedDeclaration":65538,"src":"3724:12:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":65644,"mutability":"mutable","name":"pointSystem","nameLocation":"3771:11:98","nodeType":"VariableDeclaration","scope":65655,"src":"3759:23:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":65643,"nodeType":"UserDefinedTypeName","pathNode":{"id":65642,"name":"PointSystem","nameLocations":["3759:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":65543,"src":"3759:11:98"},"referencedDeclaration":65543,"src":"3759:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":65647,"mutability":"mutable","name":"pointConfig","nameLocation":"3810:11:98","nodeType":"VariableDeclaration","scope":65655,"src":"3792:29:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":65646,"nodeType":"UserDefinedTypeName","pathNode":{"id":65645,"name":"PointSystemConfig","nameLocations":["3792:17:98"],"nodeType":"IdentifierPath","referencedDeclaration":65612,"src":"3792:17:98"},"referencedDeclaration":65612,"src":"3792:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":65650,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"3848:16:98","nodeType":"VariableDeclaration","scope":65655,"src":"3831:33:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":65649,"nodeType":"UserDefinedTypeName","pathNode":{"id":65648,"name":"ArbitrableConfig","nameLocations":["3831:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65626,"src":"3831:16:98"},"referencedDeclaration":65626,"src":"3831:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":65652,"mutability":"mutable","name":"registryCommunity","nameLocation":"3882:17:98","nodeType":"VariableDeclaration","scope":65655,"src":"3874:25:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65651,"name":"address","nodeType":"ElementaryTypeName","src":"3874:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65654,"mutability":"mutable","name":"sybilScorer","nameLocation":"3917:11:98","nodeType":"VariableDeclaration","scope":65655,"src":"3909:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65653,"name":"address","nodeType":"ElementaryTypeName","src":"3909:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"3670:16:98","scope":65656,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"StrategyStruct","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[65656],"name":"StrategyStruct","nameLocation":"1531:14:98","scope":69235,"usedErrors":[]},{"id":69234,"nodeType":"ContractDefinition","src":"3983:51407:98","nodes":[{"id":65667,"nodeType":"ErrorDefinition","src":"4243:25:98","nodes":[],"errorSelector":"d1f28288","name":"UserCannotBeZero","nameLocation":"4249:16:98","parameters":{"id":65666,"nodeType":"ParameterList","parameters":[],"src":"4265:2:98"}},{"id":65669,"nodeType":"ErrorDefinition","src":"4287:26:98","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"4293:17:98","parameters":{"id":65668,"nodeType":"ParameterList","parameters":[],"src":"4310:2:98"}},{"id":65671,"nodeType":"ErrorDefinition","src":"4331:23:98","nodes":[],"errorSelector":"5fccb67f","name":"UserIsInactive","nameLocation":"4337:14:98","parameters":{"id":65670,"nodeType":"ParameterList","parameters":[],"src":"4351:2:98"}},{"id":65673,"nodeType":"ErrorDefinition","src":"4373:20:98","nodes":[],"errorSelector":"ed4421ad","name":"PoolIsEmpty","nameLocation":"4379:11:98","parameters":{"id":65672,"nodeType":"ParameterList","parameters":[],"src":"4390:2:98"}},{"id":65675,"nodeType":"ErrorDefinition","src":"4412:23:98","nodes":[],"errorSelector":"d6234725","name":"NotImplemented","nameLocation":"4418:14:98","parameters":{"id":65674,"nodeType":"ParameterList","parameters":[],"src":"4432:2:98"}},{"id":65677,"nodeType":"ErrorDefinition","src":"4453:26:98","nodes":[],"errorSelector":"596a094c","name":"TokenCannotBeZero","nameLocation":"4459:17:98","parameters":{"id":65676,"nodeType":"ParameterList","parameters":[],"src":"4476:2:98"}},{"id":65679,"nodeType":"ErrorDefinition","src":"4497:24:98","nodes":[],"errorSelector":"a29c4986","name":"TokenNotAllowed","nameLocation":"4503:15:98","parameters":{"id":65678,"nodeType":"ParameterList","parameters":[],"src":"4518:2:98"}},{"id":65681,"nodeType":"ErrorDefinition","src":"4540:27:98","nodes":[],"errorSelector":"3bf5ca14","name":"AmountOverMaxRatio","nameLocation":"4546:18:98","parameters":{"id":65680,"nodeType":"ParameterList","parameters":[],"src":"4564:2:98"}},{"id":65683,"nodeType":"ErrorDefinition","src":"4586:27:98","nodes":[],"errorSelector":"4e791786","name":"PoolIdCannotBeZero","nameLocation":"4592:18:98","parameters":{"id":65682,"nodeType":"ParameterList","parameters":[],"src":"4610:2:98"}},{"id":65685,"nodeType":"ErrorDefinition","src":"4631:28:98","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"4637:19:98","parameters":{"id":65684,"nodeType":"ParameterList","parameters":[],"src":"4656:2:98"}},{"id":65687,"nodeType":"ErrorDefinition","src":"4677:29:98","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"4683:20:98","parameters":{"id":65686,"nodeType":"ParameterList","parameters":[],"src":"4703:2:98"}},{"id":65695,"nodeType":"ErrorDefinition","src":"4725:72:98","nodes":[],"errorSelector":"3bbc7142","name":"SupportUnderflow","nameLocation":"4731:16:98","parameters":{"id":65694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65689,"mutability":"mutable","name":"_support","nameLocation":"4756:8:98","nodeType":"VariableDeclaration","scope":65695,"src":"4748:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65688,"name":"uint256","nodeType":"ElementaryTypeName","src":"4748:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65691,"mutability":"mutable","name":"_delta","nameLocation":"4773:6:98","nodeType":"VariableDeclaration","scope":65695,"src":"4766:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":65690,"name":"int256","nodeType":"ElementaryTypeName","src":"4766:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":65693,"mutability":"mutable","name":"_result","nameLocation":"4788:7:98","nodeType":"VariableDeclaration","scope":65695,"src":"4781:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":65692,"name":"int256","nodeType":"ElementaryTypeName","src":"4781:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4747:49:98"}},{"id":65697,"nodeType":"ErrorDefinition","src":"4816:25:98","nodes":[],"errorSelector":"8402b474","name":"MaxPointsReached","nameLocation":"4822:16:98","parameters":{"id":65696,"nodeType":"ParameterList","parameters":[],"src":"4838:2:98"}},{"id":65699,"nodeType":"ErrorDefinition","src":"4860:32:98","nodes":[],"errorSelector":"573c3e93","name":"CantIncreaseFixedSystem","nameLocation":"4866:23:98","parameters":{"id":65698,"nodeType":"ParameterList","parameters":[],"src":"4889:2:98"}},{"id":65705,"nodeType":"ErrorDefinition","src":"4911:77:98","nodes":[],"errorSelector":"d64182fe","name":"NotEnoughPointsToSupport","nameLocation":"4917:24:98","parameters":{"id":65704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65701,"mutability":"mutable","name":"pointsSupport","nameLocation":"4950:13:98","nodeType":"VariableDeclaration","scope":65705,"src":"4942:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65700,"name":"uint256","nodeType":"ElementaryTypeName","src":"4942:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65703,"mutability":"mutable","name":"pointsBalance","nameLocation":"4973:13:98","nodeType":"VariableDeclaration","scope":65705,"src":"4965:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65702,"name":"uint256","nodeType":"ElementaryTypeName","src":"4965:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4941:46:98"}},{"id":65707,"nodeType":"ErrorDefinition","src":"5008:28:98","nodes":[],"errorSelector":"c5f7c4c0","name":"ProposalDataIsEmpty","nameLocation":"5014:19:98","parameters":{"id":65706,"nodeType":"ParameterList","parameters":[],"src":"5033:2:98"}},{"id":65709,"nodeType":"ErrorDefinition","src":"5054:31:98","nodes":[],"errorSelector":"f881a10d","name":"ProposalIdCannotBeZero","nameLocation":"5060:22:98","parameters":{"id":65708,"nodeType":"ParameterList","parameters":[],"src":"5082:2:98"}},{"id":65713,"nodeType":"ErrorDefinition","src":"5103:45:98","nodes":[],"errorSelector":"44980d8f","name":"ProposalNotActive","nameLocation":"5109:17:98","parameters":{"id":65712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65711,"mutability":"mutable","name":"_proposalId","nameLocation":"5135:11:98","nodeType":"VariableDeclaration","scope":65713,"src":"5127:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65710,"name":"uint256","nodeType":"ElementaryTypeName","src":"5127:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5126:21:98"}},{"id":65717,"nodeType":"ErrorDefinition","src":"5167:45:98","nodes":[],"errorSelector":"c1d17bef","name":"ProposalNotInList","nameLocation":"5173:17:98","parameters":{"id":65716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65715,"mutability":"mutable","name":"_proposalId","nameLocation":"5199:11:98","nodeType":"VariableDeclaration","scope":65717,"src":"5191:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65714,"name":"uint256","nodeType":"ElementaryTypeName","src":"5191:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5190:21:98"}},{"id":65723,"nodeType":"ErrorDefinition","src":"5231:68:98","nodes":[],"errorSelector":"adebb154","name":"ProposalSupportDuplicated","nameLocation":"5237:25:98","parameters":{"id":65722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65719,"mutability":"mutable","name":"_proposalId","nameLocation":"5271:11:98","nodeType":"VariableDeclaration","scope":65723,"src":"5263:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65718,"name":"uint256","nodeType":"ElementaryTypeName","src":"5263:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65721,"mutability":"mutable","name":"index","nameLocation":"5292:5:98","nodeType":"VariableDeclaration","scope":65723,"src":"5284:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65720,"name":"uint256","nodeType":"ElementaryTypeName","src":"5284:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5262:36:98"}},{"id":65725,"nodeType":"ErrorDefinition","src":"5317:40:98","nodes":[],"errorSelector":"cce79308","name":"ConvictionUnderMinimumThreshold","nameLocation":"5323:31:98","parameters":{"id":65724,"nodeType":"ParameterList","parameters":[],"src":"5354:2:98"}},{"id":65727,"nodeType":"ErrorDefinition","src":"5376:29:98","nodes":[],"errorSelector":"af0916a2","name":"OnlyCommunityAllowed","nameLocation":"5382:20:98","parameters":{"id":65726,"nodeType":"ParameterList","parameters":[],"src":"5402:2:98"}},{"id":65735,"nodeType":"ErrorDefinition","src":"5424:94:98","nodes":[],"errorSelector":"5863b0b6","name":"PoolAmountNotEnough","nameLocation":"5430:19:98","parameters":{"id":65734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65729,"mutability":"mutable","name":"_proposalId","nameLocation":"5458:11:98","nodeType":"VariableDeclaration","scope":65735,"src":"5450:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65728,"name":"uint256","nodeType":"ElementaryTypeName","src":"5450:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65731,"mutability":"mutable","name":"_requestedAmount","nameLocation":"5479:16:98","nodeType":"VariableDeclaration","scope":65735,"src":"5471:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65730,"name":"uint256","nodeType":"ElementaryTypeName","src":"5471:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65733,"mutability":"mutable","name":"_poolAmount","nameLocation":"5505:11:98","nodeType":"VariableDeclaration","scope":65735,"src":"5497:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65732,"name":"uint256","nodeType":"ElementaryTypeName","src":"5497:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5449:68:98"}},{"id":65737,"nodeType":"ErrorDefinition","src":"5536:24:98","nodes":[],"errorSelector":"e860ec7e","name":"OnlyCouncilSafe","nameLocation":"5542:15:98","parameters":{"id":65736,"nodeType":"ParameterList","parameters":[],"src":"5557:2:98"}},{"id":65739,"nodeType":"ErrorDefinition","src":"5565:32:98","nodes":[],"errorSelector":"5b96b588","name":"UserCannotExecuteAction","nameLocation":"5571:23:98","parameters":{"id":65738,"nodeType":"ParameterList","parameters":[],"src":"5594:2:98"}},{"id":65745,"nodeType":"ErrorDefinition","src":"5602:73:98","nodes":[],"errorSelector":"b07e3bc4","name":"InsufficientCollateral","nameLocation":"5608:22:98","parameters":{"id":65744,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65741,"mutability":"mutable","name":"sentAmount","nameLocation":"5639:10:98","nodeType":"VariableDeclaration","scope":65745,"src":"5631:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65740,"name":"uint256","nodeType":"ElementaryTypeName","src":"5631:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65743,"mutability":"mutable","name":"requiredAmount","nameLocation":"5659:14:98","nodeType":"VariableDeclaration","scope":65745,"src":"5651:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65742,"name":"uint256","nodeType":"ElementaryTypeName","src":"5651:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5630:44:98"}},{"id":65747,"nodeType":"ErrorDefinition","src":"5680:23:98","nodes":[],"errorSelector":"2eef310a","name":"OnlyArbitrator","nameLocation":"5686:14:98","parameters":{"id":65746,"nodeType":"ParameterList","parameters":[],"src":"5700:2:98"}},{"id":65751,"nodeType":"ErrorDefinition","src":"5708:47:98","nodes":[],"errorSelector":"96023952","name":"ProposalNotDisputed","nameLocation":"5714:19:98","parameters":{"id":65750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65749,"mutability":"mutable","name":"_proposalId","nameLocation":"5742:11:98","nodeType":"VariableDeclaration","scope":65751,"src":"5734:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65748,"name":"uint256","nodeType":"ElementaryTypeName","src":"5734:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5733:21:98"}},{"id":65753,"nodeType":"ErrorDefinition","src":"5760:31:98","nodes":[],"errorSelector":"6c291fd3","name":"ArbitratorCannotBeZero","nameLocation":"5766:22:98","parameters":{"id":65752,"nodeType":"ParameterList","parameters":[],"src":"5788:2:98"}},{"id":65759,"nodeType":"ErrorDefinition","src":"5796:55:98","nodes":[],"errorSelector":"8a89b922","name":"OnlySubmitter","nameLocation":"5802:13:98","parameters":{"id":65758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65755,"mutability":"mutable","name":"submitter","nameLocation":"5824:9:98","nodeType":"VariableDeclaration","scope":65759,"src":"5816:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65754,"name":"address","nodeType":"ElementaryTypeName","src":"5816:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65757,"mutability":"mutable","name":"sender","nameLocation":"5843:6:98","nodeType":"VariableDeclaration","scope":65759,"src":"5835:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65756,"name":"address","nodeType":"ElementaryTypeName","src":"5835:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5815:35:98"}},{"id":65761,"nodeType":"ErrorDefinition","src":"5937:28:98","nodes":[],"errorSelector":"dd466dd0","name":"DefaultRulingNotSet","nameLocation":"5943:19:98","parameters":{"id":65760,"nodeType":"ParameterList","parameters":[],"src":"5962:2:98"}},{"id":65767,"nodeType":"ErrorDefinition","src":"5970:75:98","nodes":[],"errorSelector":"8d2f6c31","name":"DisputeCooldownNotPassed","nameLocation":"5976:24:98","parameters":{"id":65766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65763,"mutability":"mutable","name":"_proposalId","nameLocation":"6009:11:98","nodeType":"VariableDeclaration","scope":65767,"src":"6001:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65762,"name":"uint256","nodeType":"ElementaryTypeName","src":"6001:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65765,"mutability":"mutable","name":"_remainingSec","nameLocation":"6030:13:98","nodeType":"VariableDeclaration","scope":65767,"src":"6022:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65764,"name":"uint256","nodeType":"ElementaryTypeName","src":"6022:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6000:44:98"}},{"id":65774,"nodeType":"EventDefinition","src":"6217:74:98","nodes":[],"anonymous":false,"eventSelector":"e5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b","name":"InitializedCV","nameLocation":"6223:13:98","parameters":{"id":65773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65769,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6245:6:98","nodeType":"VariableDeclaration","scope":65774,"src":"6237:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65768,"name":"uint256","nodeType":"ElementaryTypeName","src":"6237:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65772,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"6285:4:98","nodeType":"VariableDeclaration","scope":65774,"src":"6253:36:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":65771,"nodeType":"UserDefinedTypeName","pathNode":{"id":65770,"name":"StrategyStruct.InitializeParams","nameLocations":["6253:14:98","6268:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65655,"src":"6253:31:98"},"referencedDeclaration":65655,"src":"6253:31:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"6236:54:98"}},{"id":65782,"nodeType":"EventDefinition","src":"6296:75:98","nodes":[],"anonymous":false,"eventSelector":"a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847","name":"Distributed","nameLocation":"6302:11:98","parameters":{"id":65781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65776,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6322:10:98","nodeType":"VariableDeclaration","scope":65782,"src":"6314:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65775,"name":"uint256","nodeType":"ElementaryTypeName","src":"6314:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65778,"indexed":false,"mutability":"mutable","name":"beneficiary","nameLocation":"6342:11:98","nodeType":"VariableDeclaration","scope":65782,"src":"6334:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65777,"name":"address","nodeType":"ElementaryTypeName","src":"6334:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65780,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6363:6:98","nodeType":"VariableDeclaration","scope":65782,"src":"6355:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65779,"name":"uint256","nodeType":"ElementaryTypeName","src":"6355:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6313:57:98"}},{"id":65788,"nodeType":"EventDefinition","src":"6376:58:98","nodes":[],"anonymous":false,"eventSelector":"fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b","name":"ProposalCreated","nameLocation":"6382:15:98","parameters":{"id":65787,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65784,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6406:6:98","nodeType":"VariableDeclaration","scope":65788,"src":"6398:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65783,"name":"uint256","nodeType":"ElementaryTypeName","src":"6398:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65786,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6422:10:98","nodeType":"VariableDeclaration","scope":65788,"src":"6414:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65785,"name":"uint256","nodeType":"ElementaryTypeName","src":"6414:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6397:36:98"}},{"id":65792,"nodeType":"EventDefinition","src":"6439:42:98","nodes":[],"anonymous":false,"eventSelector":"46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339","name":"PoolAmountIncreased","nameLocation":"6445:19:98","parameters":{"id":65791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65790,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6473:6:98","nodeType":"VariableDeclaration","scope":65792,"src":"6465:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65789,"name":"uint256","nodeType":"ElementaryTypeName","src":"6465:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6464:16:98"}},{"id":65796,"nodeType":"EventDefinition","src":"6486:40:98","nodes":[],"anonymous":false,"eventSelector":"1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b","name":"PointsDeactivated","nameLocation":"6492:17:98","parameters":{"id":65795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65794,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6518:6:98","nodeType":"VariableDeclaration","scope":65796,"src":"6510:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65793,"name":"address","nodeType":"ElementaryTypeName","src":"6510:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6509:16:98"}},{"id":65804,"nodeType":"EventDefinition","src":"6531:85:98","nodes":[],"anonymous":false,"eventSelector":"0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a","name":"PowerIncreased","nameLocation":"6537:14:98","parameters":{"id":65803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65798,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6560:6:98","nodeType":"VariableDeclaration","scope":65804,"src":"6552:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65797,"name":"address","nodeType":"ElementaryTypeName","src":"6552:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65800,"indexed":false,"mutability":"mutable","name":"tokensStaked","nameLocation":"6576:12:98","nodeType":"VariableDeclaration","scope":65804,"src":"6568:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65799,"name":"uint256","nodeType":"ElementaryTypeName","src":"6568:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65802,"indexed":false,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"6598:16:98","nodeType":"VariableDeclaration","scope":65804,"src":"6590:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65801,"name":"uint256","nodeType":"ElementaryTypeName","src":"6590:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6551:64:98"}},{"id":65812,"nodeType":"EventDefinition","src":"6621:87:98","nodes":[],"anonymous":false,"eventSelector":"70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1","name":"PowerDecreased","nameLocation":"6627:14:98","parameters":{"id":65811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65806,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6650:6:98","nodeType":"VariableDeclaration","scope":65812,"src":"6642:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65805,"name":"address","nodeType":"ElementaryTypeName","src":"6642:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65808,"indexed":false,"mutability":"mutable","name":"tokensUnStaked","nameLocation":"6666:14:98","nodeType":"VariableDeclaration","scope":65812,"src":"6658:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65807,"name":"uint256","nodeType":"ElementaryTypeName","src":"6658:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65810,"indexed":false,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"6690:16:98","nodeType":"VariableDeclaration","scope":65812,"src":"6682:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65809,"name":"uint256","nodeType":"ElementaryTypeName","src":"6682:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6641:66:98"}},{"id":65824,"nodeType":"EventDefinition","src":"6713:134:98","nodes":[],"anonymous":false,"eventSelector":"0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f","name":"SupportAdded","nameLocation":"6719:12:98","parameters":{"id":65823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65814,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"6749:4:98","nodeType":"VariableDeclaration","scope":65824,"src":"6741:12:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65813,"name":"address","nodeType":"ElementaryTypeName","src":"6741:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65816,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6763:10:98","nodeType":"VariableDeclaration","scope":65824,"src":"6755:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65815,"name":"uint256","nodeType":"ElementaryTypeName","src":"6755:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65818,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6783:6:98","nodeType":"VariableDeclaration","scope":65824,"src":"6775:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65817,"name":"uint256","nodeType":"ElementaryTypeName","src":"6775:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65820,"indexed":false,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"6799:17:98","nodeType":"VariableDeclaration","scope":65824,"src":"6791:25:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65819,"name":"uint256","nodeType":"ElementaryTypeName","src":"6791:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65822,"indexed":false,"mutability":"mutable","name":"convictionLast","nameLocation":"6826:14:98","nodeType":"VariableDeclaration","scope":65824,"src":"6818:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65821,"name":"uint256","nodeType":"ElementaryTypeName","src":"6818:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6731:115:98"}},{"id":65829,"nodeType":"EventDefinition","src":"6852:56:98","nodes":[],"anonymous":false,"eventSelector":"ec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc","name":"CVParamsUpdated","nameLocation":"6858:15:98","parameters":{"id":65828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65827,"indexed":false,"mutability":"mutable","name":"cvParams","nameLocation":"6898:8:98","nodeType":"VariableDeclaration","scope":65829,"src":"6874:32:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":65826,"nodeType":"UserDefinedTypeName","pathNode":{"id":65825,"name":"StrategyStruct.CVParams","nameLocations":["6874:14:98","6889:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65635,"src":"6874:23:98"},"referencedDeclaration":65635,"src":"6874:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"6873:34:98"}},{"id":65833,"nodeType":"EventDefinition","src":"6913:49:98","nodes":[],"anonymous":false,"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"6919:15:98","parameters":{"id":65832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65831,"indexed":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"6943:17:98","nodeType":"VariableDeclaration","scope":65833,"src":"6935:25:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65830,"name":"address","nodeType":"ElementaryTypeName","src":"6935:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6934:27:98"}},{"id":65839,"nodeType":"EventDefinition","src":"6967:76:98","nodes":[],"anonymous":false,"eventSelector":"056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b","name":"MinThresholdPointsUpdated","nameLocation":"6973:25:98","parameters":{"id":65838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65835,"indexed":false,"mutability":"mutable","name":"before","nameLocation":"7007:6:98","nodeType":"VariableDeclaration","scope":65839,"src":"6999:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65834,"name":"uint256","nodeType":"ElementaryTypeName","src":"6999:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65837,"indexed":false,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"7023:18:98","nodeType":"VariableDeclaration","scope":65839,"src":"7015:26:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65836,"name":"uint256","nodeType":"ElementaryTypeName","src":"7015:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6998:44:98"}},{"id":65854,"nodeType":"EventDefinition","src":"7048:195:98","nodes":[],"anonymous":false,"eventSelector":"034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d","name":"ProposalDisputed","nameLocation":"7054:16:98","parameters":{"id":65853,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65842,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7092:10:98","nodeType":"VariableDeclaration","scope":65854,"src":"7080:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"},"typeName":{"id":65841,"nodeType":"UserDefinedTypeName","pathNode":{"id":65840,"name":"IArbitrator","nameLocations":["7080:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":74044,"src":"7080:11:98"},"referencedDeclaration":74044,"src":"7080:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":65844,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7120:10:98","nodeType":"VariableDeclaration","scope":65854,"src":"7112:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65843,"name":"uint256","nodeType":"ElementaryTypeName","src":"7112:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65846,"indexed":false,"mutability":"mutable","name":"disputeId","nameLocation":"7148:9:98","nodeType":"VariableDeclaration","scope":65854,"src":"7140:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65845,"name":"uint256","nodeType":"ElementaryTypeName","src":"7140:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65848,"indexed":false,"mutability":"mutable","name":"challenger","nameLocation":"7175:10:98","nodeType":"VariableDeclaration","scope":65854,"src":"7167:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65847,"name":"address","nodeType":"ElementaryTypeName","src":"7167:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65850,"indexed":false,"mutability":"mutable","name":"context","nameLocation":"7202:7:98","nodeType":"VariableDeclaration","scope":65854,"src":"7195:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65849,"name":"string","nodeType":"ElementaryTypeName","src":"7195:6:98","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":65852,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"7227:9:98","nodeType":"VariableDeclaration","scope":65854,"src":"7219:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65851,"name":"uint256","nodeType":"ElementaryTypeName","src":"7219:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7070:172:98"}},{"id":65862,"nodeType":"EventDefinition","src":"7248:88:98","nodes":[],"anonymous":false,"eventSelector":"dc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f","name":"TribunaSafeRegistered","nameLocation":"7254:21:98","parameters":{"id":65861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65856,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7284:8:98","nodeType":"VariableDeclaration","scope":65862,"src":"7276:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65855,"name":"address","nodeType":"ElementaryTypeName","src":"7276:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65858,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7302:10:98","nodeType":"VariableDeclaration","scope":65862,"src":"7294:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65857,"name":"address","nodeType":"ElementaryTypeName","src":"7294:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65860,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"7322:12:98","nodeType":"VariableDeclaration","scope":65862,"src":"7314:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65859,"name":"address","nodeType":"ElementaryTypeName","src":"7314:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7275:60:98"}},{"id":65866,"nodeType":"EventDefinition","src":"7341:44:98","nodes":[],"anonymous":false,"eventSelector":"416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c","name":"ProposalCancelled","nameLocation":"7347:17:98","parameters":{"id":65865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65864,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7373:10:98","nodeType":"VariableDeclaration","scope":65866,"src":"7365:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65863,"name":"uint256","nodeType":"ElementaryTypeName","src":"7365:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7364:20:98"}},{"id":65883,"nodeType":"EventDefinition","src":"7390:302:98","nodes":[],"anonymous":false,"eventSelector":"e677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d53","name":"ArbitrableConfigUpdated","nameLocation":"7396:23:98","parameters":{"id":65882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65868,"indexed":false,"mutability":"mutable","name":"currentArbitrableConfigVersion","nameLocation":"7437:30:98","nodeType":"VariableDeclaration","scope":65883,"src":"7429:38:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65867,"name":"uint256","nodeType":"ElementaryTypeName","src":"7429:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65871,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7489:10:98","nodeType":"VariableDeclaration","scope":65883,"src":"7477:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"},"typeName":{"id":65870,"nodeType":"UserDefinedTypeName","pathNode":{"id":65869,"name":"IArbitrator","nameLocations":["7477:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":74044,"src":"7477:11:98"},"referencedDeclaration":74044,"src":"7477:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":65873,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"7517:12:98","nodeType":"VariableDeclaration","scope":65883,"src":"7509:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65872,"name":"address","nodeType":"ElementaryTypeName","src":"7509:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65875,"indexed":false,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"7547:25:98","nodeType":"VariableDeclaration","scope":65883,"src":"7539:33:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65874,"name":"uint256","nodeType":"ElementaryTypeName","src":"7539:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65877,"indexed":false,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"7590:26:98","nodeType":"VariableDeclaration","scope":65883,"src":"7582:34:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65876,"name":"uint256","nodeType":"ElementaryTypeName","src":"7582:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65879,"indexed":false,"mutability":"mutable","name":"defaultRuling","nameLocation":"7634:13:98","nodeType":"VariableDeclaration","scope":65883,"src":"7626:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65878,"name":"uint256","nodeType":"ElementaryTypeName","src":"7626:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65881,"indexed":false,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"7665:20:98","nodeType":"VariableDeclaration","scope":65883,"src":"7657:28:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65880,"name":"uint256","nodeType":"ElementaryTypeName","src":"7657:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7419:272:98"}},{"id":65886,"nodeType":"VariableDeclaration","src":"8066:38:98","nodes":[],"constant":true,"functionSelector":"ffa1ad74","mutability":"constant","name":"VERSION","nameLocation":"8089:7:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65884,"name":"string","nodeType":"ElementaryTypeName","src":"8066:6:98","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"302e30","id":65885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8099:5:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_7be32719f3172a4c9a8d1f020e88b7d75f936a7394cfbfe03d409404e58cbdc3","typeString":"literal_string \"0.0\""},"value":"0.0"},"visibility":"public"},{"id":65889,"nodeType":"VariableDeclaration","src":"8110:36:98","nodes":[],"constant":true,"functionSelector":"0f529ba2","mutability":"constant","name":"D","nameLocation":"8134:1:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65887,"name":"uint256","nodeType":"ElementaryTypeName","src":"8110:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130303030303030","id":65888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8138:8:98","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"value":"10000000"},"visibility":"public"},{"id":65892,"nodeType":"VariableDeclaration","src":"8160:71:98","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"8186:7:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65890,"name":"uint256","nodeType":"ElementaryTypeName","src":"8160:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078313030303030303030303030303030303030303030303030303030303030303030","id":65891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8196:35:98","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"value":"0x100000000000000000000000000000000"},"visibility":"internal"},{"id":65895,"nodeType":"VariableDeclaration","src":"8247:70:98","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"8273:7:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65893,"name":"uint256","nodeType":"ElementaryTypeName","src":"8247:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783830303030303030303030303030303030303030303030303030303030303030","id":65894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8283:34:98","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"value":"0x80000000000000000000000000000000"},"visibility":"internal"},{"id":65898,"nodeType":"VariableDeclaration","src":"8333:54:98","nodes":[],"constant":true,"mutability":"constant","name":"TWO_64","nameLocation":"8359:6:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65896,"name":"uint256","nodeType":"ElementaryTypeName","src":"8333:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783130303030303030303030303030303030","id":65897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8368:19:98","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"value":"0x10000000000000000"},"visibility":"internal"},{"id":65901,"nodeType":"VariableDeclaration","src":"8402:49:98","nodes":[],"constant":true,"functionSelector":"406244d8","mutability":"constant","name":"MAX_STAKED_PROPOSALS","nameLocation":"8426:20:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65899,"name":"uint256","nodeType":"ElementaryTypeName","src":"8402:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130","id":65900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8449:2:98","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"id":65904,"nodeType":"VariableDeclaration","src":"8537:42:98","nodes":[],"constant":true,"functionSelector":"626c47e8","mutability":"constant","name":"RULING_OPTIONS","nameLocation":"8561:14:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65902,"name":"uint256","nodeType":"ElementaryTypeName","src":"8537:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":65903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8578:1:98","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"public"},{"id":65907,"nodeType":"VariableDeclaration","src":"8585:54:98","nodes":[],"constant":true,"functionSelector":"f5be3f7c","mutability":"constant","name":"DISPUTE_COOLDOWN_SEC","nameLocation":"8609:20:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65905,"name":"uint256","nodeType":"ElementaryTypeName","src":"8585:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":65906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8632:7:98","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_7200_by_1","typeString":"int_const 7200"},"value":"2"},"visibility":"public"},{"id":65909,"nodeType":"VariableDeclaration","src":"8646:40:98","nodes":[],"constant":false,"mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"8663:23:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65908,"name":"address","nodeType":"ElementaryTypeName","src":"8646:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":65911,"nodeType":"VariableDeclaration","src":"8734:47:98","nodes":[],"constant":false,"mutability":"mutable","name":"surpressStateMutabilityWarning","nameLocation":"8751:30:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65910,"name":"uint256","nodeType":"ElementaryTypeName","src":"8734:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":65913,"nodeType":"VariableDeclaration","src":"8825:25:98","nodes":[],"constant":false,"functionSelector":"33960459","mutability":"mutable","name":"cloneNonce","nameLocation":"8840:10:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65912,"name":"uint256","nodeType":"ElementaryTypeName","src":"8825:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65915,"nodeType":"VariableDeclaration","src":"8856:26:98","nodes":[],"constant":false,"functionSelector":"a28889e1","mutability":"mutable","name":"disputeCount","nameLocation":"8870:12:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":65914,"name":"uint64","nodeType":"ElementaryTypeName","src":"8856:6:98","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"public"},{"id":65917,"nodeType":"VariableDeclaration","src":"8888:30:98","nodes":[],"constant":false,"functionSelector":"0c0512e9","mutability":"mutable","name":"proposalCounter","nameLocation":"8903:15:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65916,"name":"uint256","nodeType":"ElementaryTypeName","src":"8888:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65919,"nodeType":"VariableDeclaration","src":"8924:45:98","nodes":[],"constant":false,"functionSelector":"125fd1d9","mutability":"mutable","name":"currentArbitrableConfigVersion","nameLocation":"8939:30:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65918,"name":"uint256","nodeType":"ElementaryTypeName","src":"8924:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65921,"nodeType":"VariableDeclaration","src":"8976:26:98","nodes":[],"constant":false,"functionSelector":"817b1cd2","mutability":"mutable","name":"totalStaked","nameLocation":"8991:11:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65920,"name":"uint256","nodeType":"ElementaryTypeName","src":"8976:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65923,"nodeType":"VariableDeclaration","src":"9008:35:98","nodes":[],"constant":false,"functionSelector":"aba9ffee","mutability":"mutable","name":"totalPointsActivated","nameLocation":"9023:20:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65922,"name":"uint256","nodeType":"ElementaryTypeName","src":"9008:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65926,"nodeType":"VariableDeclaration","src":"9050:39:98","nodes":[],"constant":false,"functionSelector":"2506b870","mutability":"mutable","name":"cvParams","nameLocation":"9081:8:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":65925,"nodeType":"UserDefinedTypeName","pathNode":{"id":65924,"name":"StrategyStruct.CVParams","nameLocations":["9050:14:98","9065:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65635,"src":"9050:23:98"},"referencedDeclaration":65635,"src":"9050:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"public"},{"id":65929,"nodeType":"VariableDeclaration","src":"9136:47:98","nodes":[],"constant":false,"functionSelector":"351d9f96","mutability":"mutable","name":"proposalType","nameLocation":"9171:12:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":65928,"nodeType":"UserDefinedTypeName","pathNode":{"id":65927,"name":"StrategyStruct.ProposalType","nameLocations":["9136:14:98","9151:12:98"],"nodeType":"IdentifierPath","referencedDeclaration":65538,"src":"9136:27:98"},"referencedDeclaration":65538,"src":"9136:27:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"public"},{"id":65932,"nodeType":"VariableDeclaration","src":"9242:45:98","nodes":[],"constant":false,"functionSelector":"2dbd6fdd","mutability":"mutable","name":"pointSystem","nameLocation":"9276:11:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":65931,"nodeType":"UserDefinedTypeName","pathNode":{"id":65930,"name":"StrategyStruct.PointSystem","nameLocations":["9242:14:98","9257:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":65543,"src":"9242:26:98"},"referencedDeclaration":65543,"src":"9242:26:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"public"},{"id":65935,"nodeType":"VariableDeclaration","src":"9293:51:98","nodes":[],"constant":false,"functionSelector":"a47ff7e5","mutability":"mutable","name":"pointConfig","nameLocation":"9333:11:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":65934,"nodeType":"UserDefinedTypeName","pathNode":{"id":65933,"name":"StrategyStruct.PointSystemConfig","nameLocations":["9293:14:98","9308:17:98"],"nodeType":"IdentifierPath","referencedDeclaration":65612,"src":"9293:32:98"},"referencedDeclaration":65612,"src":"9293:32:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"public"},{"id":65937,"nodeType":"VariableDeclaration","src":"9377:34:98","nodes":[],"constant":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"9394:17:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65936,"name":"address","nodeType":"ElementaryTypeName","src":"9377:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":65940,"nodeType":"VariableDeclaration","src":"9418:39:98","nodes":[],"constant":false,"functionSelector":"0bece79c","mutability":"mutable","name":"collateralVault","nameLocation":"9442:15:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"},"typeName":{"id":65939,"nodeType":"UserDefinedTypeName","pathNode":{"id":65938,"name":"ICollateralVault","nameLocations":["9418:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":74077,"src":"9418:16:98"},"referencedDeclaration":74077,"src":"9418:16:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"visibility":"public"},{"id":65943,"nodeType":"VariableDeclaration","src":"9463:31:98","nodes":[],"constant":false,"functionSelector":"b6c61f31","mutability":"mutable","name":"sybilScorer","nameLocation":"9483:11:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"},"typeName":{"id":65942,"nodeType":"UserDefinedTypeName","pathNode":{"id":65941,"name":"ISybilScorer","nameLocations":["9463:12:98"],"nodeType":"IdentifierPath","referencedDeclaration":70165,"src":"9463:12:98"},"referencedDeclaration":70165,"src":"9463:12:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"visibility":"public"},{"id":65948,"nodeType":"VariableDeclaration","src":"9561:60:98","nodes":[],"constant":false,"functionSelector":"013cf08b","mutability":"mutable","name":"proposals","nameLocation":"9612:9:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"typeName":{"id":65947,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65944,"name":"uint256","nodeType":"ElementaryTypeName","src":"9569:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9561:43:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65946,"nodeType":"UserDefinedTypeName","pathNode":{"id":65945,"name":"StrategyStruct.Proposal","nameLocations":["9580:14:98","9595:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"9580:23:98"},"referencedDeclaration":65604,"src":"9580:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}}},"visibility":"public"},{"id":65952,"nodeType":"VariableDeclaration","src":"9677:53:98","nodes":[],"constant":false,"functionSelector":"5db64b99","mutability":"mutable","name":"totalVoterStakePct","nameLocation":"9712:18:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":65951,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65949,"name":"address","nodeType":"ElementaryTypeName","src":"9685:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9677:27:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65950,"name":"uint256","nodeType":"ElementaryTypeName","src":"9696:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":65957,"nodeType":"VariableDeclaration","src":"9768:57:98","nodes":[],"constant":false,"functionSelector":"868c57b8","mutability":"mutable","name":"voterStakedProposals","nameLocation":"9805:20:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"typeName":{"id":65956,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65953,"name":"address","nodeType":"ElementaryTypeName","src":"9776:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9768:29:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":65954,"name":"uint256","nodeType":"ElementaryTypeName","src":"9787:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65955,"nodeType":"ArrayTypeName","src":"9787:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"public"},{"id":65961,"nodeType":"VariableDeclaration","src":"9863:56:98","nodes":[],"constant":false,"functionSelector":"255ffb38","mutability":"mutable","name":"disputeIdToProposalId","nameLocation":"9898:21:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":65960,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65958,"name":"uint256","nodeType":"ElementaryTypeName","src":"9871:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9863:27:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65959,"name":"uint256","nodeType":"ElementaryTypeName","src":"9882:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":65966,"nodeType":"VariableDeclaration","src":"9925:76:98","nodes":[],"constant":false,"functionSelector":"41bb7605","mutability":"mutable","name":"arbitrableConfigs","nameLocation":"9984:17:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig)"},"typeName":{"id":65965,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65962,"name":"uint256","nodeType":"ElementaryTypeName","src":"9933:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9925:51:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65964,"nodeType":"UserDefinedTypeName","pathNode":{"id":65963,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["9944:14:98","9959:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65626,"src":"9944:31:98"},"referencedDeclaration":65626,"src":"9944:31:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}}},"visibility":"public"},{"id":65977,"nodeType":"FunctionDefinition","src":"10008:140:98","nodes":[],"body":{"id":65976,"nodeType":"Block","src":"10084:64:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":65973,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65937,"src":"10123:17:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65972,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72744,"src":"10101:21:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":65974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10101:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"functionReturnParameters":65971,"id":65975,"nodeType":"Return","src":"10094:47:98"}]},"functionSelector":"48f19c1d","implemented":true,"kind":"function","modifiers":[],"name":"getRegistryCommunity","nameLocation":"10017:20:98","parameters":{"id":65967,"nodeType":"ParameterList","parameters":[],"src":"10037:2:98"},"returnParameters":{"id":65971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65970,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65977,"src":"10061:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":65969,"nodeType":"UserDefinedTypeName","pathNode":{"id":65968,"name":"RegistryCommunityV0_0","nameLocations":["10061:21:98"],"nodeType":"IdentifierPath","referencedDeclaration":72744,"src":"10061:21:98"},"referencedDeclaration":72744,"src":"10061:21:98","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"visibility":"internal"}],"src":"10060:23:98"},"scope":69234,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":66001,"nodeType":"FunctionDefinition","src":"10399:222:98","nodes":[],"body":{"id":66000,"nodeType":"Block","src":"10506:115:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":65991,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65979,"src":"10527:5:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"43565374726174656779","id":65992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10534:12:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},"value":"CVStrategy"},{"id":65993,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65983,"src":"10548:5:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65988,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"10516:5:98","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$69234_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":65990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10522:4:98","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":64915,"src":"10516:10:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (address,string memory,address)"}},"id":65994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10516:38:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65995,"nodeType":"ExpressionStatement","src":"10516:38:98"},{"expression":{"id":65998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65996,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65909,"src":"10564:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":65997,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65981,"src":"10590:24:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10564:50:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65999,"nodeType":"ExpressionStatement","src":"10564:50:98"}]},"functionSelector":"184b9559","implemented":true,"kind":"function","modifiers":[{"id":65986,"kind":"modifierInvocation","modifierName":{"id":65985,"name":"initializer","nameLocations":["10494:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":53054,"src":"10494:11:98"},"nodeType":"ModifierInvocation","src":"10494:11:98"}],"name":"init","nameLocation":"10408:4:98","parameters":{"id":65984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65979,"mutability":"mutable","name":"_allo","nameLocation":"10421:5:98","nodeType":"VariableDeclaration","scope":66001,"src":"10413:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65978,"name":"address","nodeType":"ElementaryTypeName","src":"10413:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65981,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"10436:24:98","nodeType":"VariableDeclaration","scope":66001,"src":"10428:32:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65980,"name":"address","nodeType":"ElementaryTypeName","src":"10428:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65983,"mutability":"mutable","name":"owner","nameLocation":"10470:5:98","nodeType":"VariableDeclaration","scope":66001,"src":"10462:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65982,"name":"address","nodeType":"ElementaryTypeName","src":"10462:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10412:64:98"},"returnParameters":{"id":65987,"nodeType":"ParameterList","parameters":[],"src":"10506:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66095,"nodeType":"FunctionDefinition","src":"10627:801:98","nodes":[],"body":{"id":66094,"nodeType":"Block","src":"10710:718:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":66011,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66003,"src":"10740:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66010,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65051,"src":"10720:19:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":66012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10720:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66013,"nodeType":"ExpressionStatement","src":"10720:28:98"},{"expression":{"id":66023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66014,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"10759:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":66018,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65909,"src":"10812:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10837:12:98","subExpression":{"id":66019,"name":"cloneNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65913,"src":"10837:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66016,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"10794:5:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":66017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10800:11:98","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"10794:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":66021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10794:56:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66015,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74077,"src":"10777:16:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ICollateralVault_$74077_$","typeString":"type(contract ICollateralVault)"}},"id":66022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10777:74:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"src":"10759:92:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":66024,"nodeType":"ExpressionStatement","src":"10759:92:98"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66025,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"10861:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":66027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10877:10:98","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":74049,"src":"10861:26:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":66028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10861:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66029,"nodeType":"ExpressionStatement","src":"10861:28:98"},{"assignments":[66034],"declarations":[{"constant":false,"id":66034,"mutability":"mutable","name":"ip","nameLocation":"10939:2:98","nodeType":"VariableDeclaration","scope":66094,"src":"10900:41:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":66033,"nodeType":"UserDefinedTypeName","pathNode":{"id":66032,"name":"StrategyStruct.InitializeParams","nameLocations":["10900:14:98","10915:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65655,"src":"10900:31:98"},"referencedDeclaration":65655,"src":"10900:31:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":66042,"initialValue":{"arguments":[{"id":66037,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66005,"src":"10955:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":66038,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"10963:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":66039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10978:16:98","memberName":"InitializeParams","nodeType":"MemberAccess","referencedDeclaration":65655,"src":"10963:31:98","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$65655_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"id":66040,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10962:33:98","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$65655_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$65655_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}],"expression":{"id":66035,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10944:3:98","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10948:6:98","memberName":"decode","nodeType":"MemberAccess","src":"10944:10:98","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":66041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10944:52:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"10900:96:98"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66043,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66034,"src":"11011:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":66044,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11014:17:98","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":65652,"src":"11011:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11043:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11035:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66045,"name":"address","nodeType":"ElementaryTypeName","src":"11035:7:98","typeDescriptions":{}}},"id":66048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11035:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11011:34:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66054,"nodeType":"IfStatement","src":"11007:94:98","trueBody":{"id":66053,"nodeType":"Block","src":"11047:54:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66050,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65687,"src":"11068:20:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11068:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66052,"nodeType":"RevertStatement","src":"11061:29:98"}]}},{"expression":{"id":66058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66055,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65937,"src":"11111:17:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66056,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66034,"src":"11131:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":66057,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11134:17:98","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":65652,"src":"11131:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11111:40:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66059,"nodeType":"ExpressionStatement","src":"11111:40:98"},{"expression":{"id":66063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66060,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65929,"src":"11162:12:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66061,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66034,"src":"11177:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":66062,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11180:12:98","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":65641,"src":"11177:15:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"src":"11162:30:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"id":66064,"nodeType":"ExpressionStatement","src":"11162:30:98"},{"expression":{"id":66068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66065,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65932,"src":"11202:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66066,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66034,"src":"11216:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":66067,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11219:11:98","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":65644,"src":"11216:14:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"src":"11202:28:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"id":66069,"nodeType":"ExpressionStatement","src":"11202:28:98"},{"expression":{"id":66073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66070,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65935,"src":"11240:11:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66071,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66034,"src":"11254:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":66072,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11257:11:98","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":65647,"src":"11254:14:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"11240:28:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":66074,"nodeType":"ExpressionStatement","src":"11240:28:98"},{"expression":{"id":66080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66075,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65943,"src":"11278:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":66077,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66034,"src":"11305:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":66078,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11308:11:98","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":65654,"src":"11305:14:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66076,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70165,"src":"11292:12:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$70165_$","typeString":"type(contract ISybilScorer)"}},"id":66079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11292:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"src":"11278:42:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"id":66081,"nodeType":"ExpressionStatement","src":"11278:42:98"},{"expression":{"arguments":[{"expression":{"id":66083,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66034,"src":"11346:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":66084,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11349:16:98","memberName":"arbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":65650,"src":"11346:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"expression":{"id":66085,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66034,"src":"11367:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":66086,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11370:8:98","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":65638,"src":"11367:11:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":66082,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68617,"src":"11331:14:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$65626_memory_ptr_$_t_struct$_CVParams_$65635_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":66087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11331:48:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66088,"nodeType":"ExpressionStatement","src":"11331:48:98"},{"eventCall":{"arguments":[{"id":66090,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66003,"src":"11409:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66091,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66034,"src":"11418:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"id":66089,"name":"InitializedCV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65774,"src":"11395:13:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$65655_memory_ptr_$returns$__$","typeString":"function (uint256,struct StrategyStruct.InitializeParams memory)"}},"id":66092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11395:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66093,"nodeType":"EmitStatement","src":"11390:31:98"}]},"baseFunctions":[2939],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[{"id":66008,"kind":"modifierInvocation","modifierName":{"id":66007,"name":"onlyAllo","nameLocations":["10701:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":64923,"src":"10701:8:98"},"nodeType":"ModifierInvocation","src":"10701:8:98"}],"name":"initialize","nameLocation":"10636:10:98","parameters":{"id":66006,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66003,"mutability":"mutable","name":"_poolId","nameLocation":"10655:7:98","nodeType":"VariableDeclaration","scope":66095,"src":"10647:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66002,"name":"uint256","nodeType":"ElementaryTypeName","src":"10647:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66005,"mutability":"mutable","name":"_data","nameLocation":"10677:5:98","nodeType":"VariableDeclaration","scope":66095,"src":"10664:18:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66004,"name":"bytes","nodeType":"ElementaryTypeName","src":"10664:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10646:37:98"},"returnParameters":{"id":66009,"nodeType":"ParameterList","parameters":[],"src":"10710:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66099,"nodeType":"FunctionDefinition","src":"11599:83:98","nodes":[],"body":{"id":66098,"nodeType":"Block","src":"11627:55:98","nodes":[],"statements":[]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":66096,"nodeType":"ParameterList","parameters":[],"src":"11607:2:98"},"returnParameters":{"id":66097,"nodeType":"ParameterList","parameters":[],"src":"11627:0:98"},"scope":69234,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":66103,"nodeType":"FunctionDefinition","src":"11688:135:98","nodes":[],"body":{"id":66102,"nodeType":"Block","src":"11715:108:98","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":66100,"nodeType":"ParameterList","parameters":[],"src":"11695:2:98"},"returnParameters":{"id":66101,"nodeType":"ParameterList","parameters":[],"src":"11715:0:98"},"scope":69234,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":66125,"nodeType":"FunctionDefinition","src":"11829:210:98","nodes":[],"body":{"id":66124,"nodeType":"Block","src":"11928:111:98","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":66122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":66117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66112,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66105,"src":"11945:11:98","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":66114,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65534,"src":"11965:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65534_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65534_$","typeString":"type(contract IPointStrategy)"}],"id":66113,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11960:4:98","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":66115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11960:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$65534","typeString":"type(contract IPointStrategy)"}},"id":66116,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11981:11:98","memberName":"interfaceId","nodeType":"MemberAccess","src":"11960:32:98","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"11945:47:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":66120,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66105,"src":"12020:11:98","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":66118,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"11996:5:98","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$69234_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":66119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12002:17:98","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57724,"src":"11996:23:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":66121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11996:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11945:87:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":66111,"id":66123,"nodeType":"Return","src":"11938:94:98"}]},"baseFunctions":[57724],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"11838:17:98","overrides":{"id":66108,"nodeType":"OverrideSpecifier","overrides":[{"id":66107,"name":"ERC165","nameLocations":["11905:6:98"],"nodeType":"IdentifierPath","referencedDeclaration":57725,"src":"11905:6:98"}],"src":"11896:16:98"},"parameters":{"id":66106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66105,"mutability":"mutable","name":"interfaceId","nameLocation":"11863:11:98","nodeType":"VariableDeclaration","scope":66125,"src":"11856:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":66104,"name":"bytes4","nodeType":"ElementaryTypeName","src":"11856:6:98","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"11855:20:98"},"returnParameters":{"id":66111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66110,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66125,"src":"11922:4:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66109,"name":"bool","nodeType":"ElementaryTypeName","src":"11922:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11921:6:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":66167,"nodeType":"FunctionDefinition","src":"12210:391:98","nodes":[],"body":{"id":66166,"nodeType":"Block","src":"12278:323:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66130,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66127,"src":"12292:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12311:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12303:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66131,"name":"address","nodeType":"ElementaryTypeName","src":"12303:7:98","typeDescriptions":{}}},"id":66134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12303:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12292:21:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66140,"nodeType":"IfStatement","src":"12288:77:98","trueBody":{"id":66139,"nodeType":"Block","src":"12315:50:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66136,"name":"UserCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65667,"src":"12336:16:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12336:18:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66138,"nodeType":"RevertStatement","src":"12329:25:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66143,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65937,"src":"12386:17:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12378:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66141,"name":"address","nodeType":"ElementaryTypeName","src":"12378:7:98","typeDescriptions":{}}},"id":66144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12378:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12416:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66146,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12408:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66145,"name":"address","nodeType":"ElementaryTypeName","src":"12408:7:98","typeDescriptions":{}}},"id":66148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12408:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12378:40:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66154,"nodeType":"IfStatement","src":"12374:100:98","trueBody":{"id":66153,"nodeType":"Block","src":"12420:54:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66150,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65687,"src":"12441:20:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12441:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66152,"nodeType":"RevertStatement","src":"12434:29:98"}]}},{"condition":{"id":66160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12487:41:98","subExpression":{"arguments":[{"id":66158,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66127,"src":"12520:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66155,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"12488:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12488:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12511:8:98","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":72361,"src":"12488:31:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":66159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12488:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66165,"nodeType":"IfStatement","src":"12483:98:98","trueBody":{"id":66164,"nodeType":"Block","src":"12530:51:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66161,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65669,"src":"12551:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12551:19:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66163,"nodeType":"RevertStatement","src":"12544:26:98"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSenderIsMember","nameLocation":"12219:19:98","parameters":{"id":66128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66127,"mutability":"mutable","name":"_sender","nameLocation":"12247:7:98","nodeType":"VariableDeclaration","scope":66167,"src":"12239:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66126,"name":"address","nodeType":"ElementaryTypeName","src":"12239:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12238:17:98"},"returnParameters":{"id":66129,"nodeType":"ParameterList","parameters":[],"src":"12278:0:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66183,"nodeType":"FunctionDefinition","src":"12607:171:98","nodes":[],"body":{"id":66182,"nodeType":"Block","src":"12662:116:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66170,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12676:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12680:6:98","memberName":"sender","nodeType":"MemberAccess","src":"12676:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":66174,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65937,"src":"12698:17:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66173,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12690:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66172,"name":"address","nodeType":"ElementaryTypeName","src":"12690:7:98","typeDescriptions":{}}},"id":66175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12690:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12676:40:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66181,"nodeType":"IfStatement","src":"12672:100:98","trueBody":{"id":66180,"nodeType":"Block","src":"12718:54:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66177,"name":"OnlyCommunityAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65727,"src":"12739:20:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12739:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66179,"nodeType":"RevertStatement","src":"12732:29:98"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryCommunity","nameLocation":"12616:21:98","parameters":{"id":66168,"nodeType":"ParameterList","parameters":[],"src":"12637:2:98"},"returnParameters":{"id":66169,"nodeType":"ParameterList","parameters":[],"src":"12662:0:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66199,"nodeType":"FunctionDefinition","src":"12784:141:98","nodes":[],"body":{"id":66198,"nodeType":"Block","src":"12852:73:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66188,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66185,"src":"12866:8:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12886:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12878:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66189,"name":"address","nodeType":"ElementaryTypeName","src":"12878:7:98","typeDescriptions":{}}},"id":66192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12878:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12866:22:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66197,"nodeType":"IfStatement","src":"12862:56:98","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66194,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65685,"src":"12897:19:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12897:21:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66196,"nodeType":"RevertStatement","src":"12890:28:98"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"12793:18:98","parameters":{"id":66186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66185,"mutability":"mutable","name":"_address","nameLocation":"12820:8:98","nodeType":"VariableDeclaration","scope":66199,"src":"12812:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66184,"name":"address","nodeType":"ElementaryTypeName","src":"12812:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12811:18:98"},"returnParameters":{"id":66187,"nodeType":"ParameterList","parameters":[],"src":"12852:0:98"},"scope":69234,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":66218,"nodeType":"FunctionDefinition","src":"12931:179:98","nodes":[],"body":{"id":66217,"nodeType":"Block","src":"12980:130:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66202,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12994:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12998:6:98","memberName":"sender","nodeType":"MemberAccess","src":"12994:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66206,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"13016:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13016:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13039:11:98","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":71055,"src":"13016:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$74170_$","typeString":"function () view external returns (contract ISafe)"}},"id":66209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13016:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}],"id":66205,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13008:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66204,"name":"address","nodeType":"ElementaryTypeName","src":"13008:7:98","typeDescriptions":{}}},"id":66210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13008:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12994:59:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66216,"nodeType":"IfStatement","src":"12990:114:98","trueBody":{"id":66215,"nodeType":"Block","src":"13055:49:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66212,"name":"OnlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65737,"src":"13076:15:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13076:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66214,"nodeType":"RevertStatement","src":"13069:24:98"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyCouncilSafe","nameLocation":"12940:15:98","parameters":{"id":66200,"nodeType":"ParameterList","parameters":[],"src":"12955:2:98"},"returnParameters":{"id":66201,"nodeType":"ParameterList","parameters":[],"src":"12980:0:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66248,"nodeType":"FunctionDefinition","src":"13116:238:98","nodes":[],"body":{"id":66247,"nodeType":"Block","src":"13195:159:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66227,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65943,"src":"13217:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}],"id":66226,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13209:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66225,"name":"address","nodeType":"ElementaryTypeName","src":"13209:7:98","typeDescriptions":{}}},"id":66228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13209:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13241:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66230,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13233:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66229,"name":"address","nodeType":"ElementaryTypeName","src":"13233:7:98","typeDescriptions":{}}},"id":66232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13233:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13209:34:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66237,"nodeType":"IfStatement","src":"13205:76:98","trueBody":{"id":66236,"nodeType":"Block","src":"13245:36:98","statements":[{"expression":{"hexValue":"74727565","id":66234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13266:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":66224,"id":66235,"nodeType":"Return","src":"13259:11:98"}]}},{"expression":{"arguments":[{"id":66240,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66220,"src":"13326:5:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66243,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13341:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":66242,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13333:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66241,"name":"address","nodeType":"ElementaryTypeName","src":"13333:7:98","typeDescriptions":{}}},"id":66244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13333:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66238,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65943,"src":"13297:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"id":66239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13309:16:98","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":70122,"src":"13297:28:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":66245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13297:50:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":66224,"id":66246,"nodeType":"Return","src":"13290:57:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"13125:17:98","parameters":{"id":66221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66220,"mutability":"mutable","name":"_user","nameLocation":"13151:5:98","nodeType":"VariableDeclaration","scope":66248,"src":"13143:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66219,"name":"address","nodeType":"ElementaryTypeName","src":"13143:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13142:15:98"},"returnParameters":{"id":66224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66223,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66248,"src":"13189:4:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66222,"name":"bool","nodeType":"ElementaryTypeName","src":"13189:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13188:6:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66260,"nodeType":"FunctionDefinition","src":"13360:132:98","nodes":[],"body":{"id":66259,"nodeType":"Block","src":"13441:51:98","nodes":[],"statements":[{"expression":{"id":66257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66255,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65909,"src":"13451:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66256,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66250,"src":"13477:8:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13451:34:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66258,"nodeType":"ExpressionStatement","src":"13451:34:98"}]},"functionSelector":"b0d3713a","implemented":true,"kind":"function","modifiers":[{"id":66253,"kind":"modifierInvocation","modifierName":{"id":66252,"name":"onlyOwner","nameLocations":["13431:9:98"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"13431:9:98"},"nodeType":"ModifierInvocation","src":"13431:9:98"}],"name":"setCollateralVaultTemplate","nameLocation":"13369:26:98","parameters":{"id":66251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66250,"mutability":"mutable","name":"template","nameLocation":"13404:8:98","nodeType":"VariableDeclaration","scope":66260,"src":"13396:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66249,"name":"address","nodeType":"ElementaryTypeName","src":"13396:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13395:18:98"},"returnParameters":{"id":66254,"nodeType":"ParameterList","parameters":[],"src":"13441:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66501,"nodeType":"FunctionDefinition","src":"13818:2699:98","nodes":[],"body":{"id":66500,"nodeType":"Block","src":"13927:2590:98","nodes":[],"statements":[{"condition":{"id":66273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13941:27:98","subExpression":{"arguments":[{"id":66271,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66264,"src":"13960:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66270,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66248,"src":"13942:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":66272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13942:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66278,"nodeType":"IfStatement","src":"13937:90:98","trueBody":{"id":66277,"nodeType":"Block","src":"13970:57:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66274,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65739,"src":"13991:23:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13991:25:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66276,"nodeType":"RevertStatement","src":"13984:32:98"}]}},{"expression":{"id":66279,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66262,"src":"14081:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":66280,"nodeType":"ExpressionStatement","src":"14081:5:98"},{"assignments":[66285],"declarations":[{"constant":false,"id":66285,"mutability":"mutable","name":"proposal","nameLocation":"14133:8:98","nodeType":"VariableDeclaration","scope":66500,"src":"14096:45:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal"},"typeName":{"id":66284,"nodeType":"UserDefinedTypeName","pathNode":{"id":66283,"name":"StrategyStruct.CreateProposal","nameLocations":["14096:14:98","14111:14:98"],"nodeType":"IdentifierPath","referencedDeclaration":65555,"src":"14096:29:98"},"referencedDeclaration":65555,"src":"14096:29:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_storage_ptr","typeString":"struct StrategyStruct.CreateProposal"}},"visibility":"internal"}],"id":66293,"initialValue":{"arguments":[{"id":66288,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66262,"src":"14155:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":66289,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"14163:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":66290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14178:14:98","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":65555,"src":"14163:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$65555_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"id":66291,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14162:31:98","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$65555_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$65555_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}],"expression":{"id":66286,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14144:3:98","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66287,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14148:6:98","memberName":"decode","nodeType":"MemberAccess","src":"14144:10:98","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":66292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14144:50:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"14096:98:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66294,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"14309:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66295,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14318:6:98","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":65545,"src":"14309:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":66296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14328:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14309:20:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66302,"nodeType":"IfStatement","src":"14305:78:98","trueBody":{"id":66301,"nodeType":"Block","src":"14331:52:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66298,"name":"PoolIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65683,"src":"14352:18:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14352:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66300,"nodeType":"RevertStatement","src":"14345:27:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"},"id":66307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66303,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65929,"src":"14459:12:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66304,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"14475:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":66305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14490:12:98","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":65538,"src":"14475:27:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$65538_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":66306,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14503:7:98","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":65536,"src":"14475:35:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"src":"14459:51:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66363,"nodeType":"IfStatement","src":"14455:764:98","trueBody":{"id":66362,"nodeType":"Block","src":"14512:707:98","statements":[{"expression":{"arguments":[{"expression":{"id":66309,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"14545:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66310,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14554:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65547,"src":"14545:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66308,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66199,"src":"14526:18:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":66311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14526:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66312,"nodeType":"ExpressionStatement","src":"14526:40:98"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66313,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"14632:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66314,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14641:14:98","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65551,"src":"14632:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14667:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66316,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14659:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66315,"name":"address","nodeType":"ElementaryTypeName","src":"14659:7:98","typeDescriptions":{}}},"id":66318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14659:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14632:37:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66324,"nodeType":"IfStatement","src":"14628:102:98","trueBody":{"id":66323,"nodeType":"Block","src":"14671:59:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66320,"name":"TokenCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65677,"src":"14696:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14696:19:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66322,"nodeType":"RevertStatement","src":"14689:26:98"}]}},{"assignments":[66327],"declarations":[{"constant":false,"id":66327,"mutability":"mutable","name":"_allo","nameLocation":"14749:5:98","nodeType":"VariableDeclaration","scope":66362,"src":"14743:11:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"},"typeName":{"id":66326,"nodeType":"UserDefinedTypeName","pathNode":{"id":66325,"name":"IAllo","nameLocations":["14743:5:98"],"nodeType":"IdentifierPath","referencedDeclaration":2610,"src":"14743:5:98"},"referencedDeclaration":2610,"src":"14743:5:98","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"visibility":"internal"}],"id":66331,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66328,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14757:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}},"id":66329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14762:7:98","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":64969,"src":"14757:12:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":66330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14757:14:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"nodeType":"VariableDeclarationStatement","src":"14743:28:98"},{"assignments":[66336],"declarations":[{"constant":false,"id":66336,"mutability":"mutable","name":"pool","nameLocation":"14803:4:98","nodeType":"VariableDeclaration","scope":66362,"src":"14785:22:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":66335,"nodeType":"UserDefinedTypeName","pathNode":{"id":66334,"name":"IAllo.Pool","nameLocations":["14785:5:98","14791:4:98"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"14785:10:98"},"referencedDeclaration":2319,"src":"14785:10:98","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":66342,"initialValue":{"arguments":[{"expression":{"id":66339,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"14824:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66340,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14833:6:98","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":65545,"src":"14824:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66337,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66327,"src":"14810:5:98","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":66338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14816:7:98","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"14810:13:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":66341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14810:30:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"14785:55:98"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66343,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"14858:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66344,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14867:14:98","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65551,"src":"14858:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":66345,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66336,"src":"14885:4:98","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":66346,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14890:5:98","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"14885:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14858:37:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66352,"nodeType":"IfStatement","src":"14854:235:98","trueBody":{"id":66351,"nodeType":"Block","src":"14897:192:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66348,"name":"TokenNotAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65679,"src":"15057:15:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15057:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66350,"nodeType":"RevertStatement","src":"15050:24:98"}]}},{"condition":{"arguments":[{"expression":{"id":66354,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"15122:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66355,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15131:15:98","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":65549,"src":"15122:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66353,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67699,"src":"15106:15:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":66356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15106:41:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66361,"nodeType":"IfStatement","src":"15102:107:98","trueBody":{"id":66360,"nodeType":"Block","src":"15149:60:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66357,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65681,"src":"15174:18:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15174:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66359,"nodeType":"RevertStatement","src":"15167:27:98"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":66383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"baseExpression":{"id":66366,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"15254:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":66368,"indexExpression":{"id":66367,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"15272:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15254:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":66369,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15304:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"15254:60:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}],"id":66365,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15246:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66364,"name":"address","nodeType":"ElementaryTypeName","src":"15246:7:98","typeDescriptions":{}}},"id":66370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15246:69:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":66373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15327:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66372,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15319:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66371,"name":"address","nodeType":"ElementaryTypeName","src":"15319:7:98","typeDescriptions":{}}},"id":66374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15319:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15246:83:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66376,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15349:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15353:5:98","memberName":"value","nodeType":"MemberAccess","src":"15349:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":66378,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"15361:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":66380,"indexExpression":{"id":66379,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"15379:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15361:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":66381,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15411:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"15361:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15349:87:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15246:190:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66394,"nodeType":"IfStatement","src":"15229:390:98","trueBody":{"id":66393,"nodeType":"Block","src":"15447:172:98","statements":[{"errorCall":{"arguments":[{"expression":{"id":66385,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15508:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15512:5:98","memberName":"value","nodeType":"MemberAccess","src":"15508:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":66387,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"15519:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":66389,"indexExpression":{"id":66388,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"15537:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15519:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":66390,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15569:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"15519:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66384,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"15468:22:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":66391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15468:140:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66392,"nodeType":"RevertStatement","src":"15461:147:98"}]}},{"assignments":[66396],"declarations":[{"constant":false,"id":66396,"mutability":"mutable","name":"proposalId","nameLocation":"15637:10:98","nodeType":"VariableDeclaration","scope":66500,"src":"15629:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66395,"name":"uint256","nodeType":"ElementaryTypeName","src":"15629:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66399,"initialValue":{"id":66398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"15650:17:98","subExpression":{"id":66397,"name":"proposalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65917,"src":"15652:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15629:38:98"},{"assignments":[66404],"declarations":[{"constant":false,"id":66404,"mutability":"mutable","name":"p","nameLocation":"15709:1:98","nodeType":"VariableDeclaration","scope":66500,"src":"15677:33:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":66403,"nodeType":"UserDefinedTypeName","pathNode":{"id":66402,"name":"StrategyStruct.Proposal","nameLocations":["15677:14:98","15692:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"15677:23:98"},"referencedDeclaration":65604,"src":"15677:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":66408,"initialValue":{"baseExpression":{"id":66405,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"15713:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":66407,"indexExpression":{"id":66406,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66396,"src":"15723:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15713:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15677:57:98"},{"expression":{"id":66413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66409,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"15745:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66411,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15747:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65572,"src":"15745:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66412,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66396,"src":"15760:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15745:25:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66414,"nodeType":"ExpressionStatement","src":"15745:25:98"},{"expression":{"id":66419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66415,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"15780:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66417,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15782:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"15780:11:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66418,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66264,"src":"15794:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15780:21:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66420,"nodeType":"ExpressionStatement","src":"15780:21:98"},{"expression":{"id":66426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66421,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"15811:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66423,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15813:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65580,"src":"15811:13:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66424,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"15827:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66425,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15836:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65547,"src":"15827:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15811:36:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66427,"nodeType":"ExpressionStatement","src":"15811:36:98"},{"expression":{"id":66433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66428,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"15857:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66430,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15859:14:98","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65584,"src":"15857:16:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66431,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"15876:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66432,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15885:14:98","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65551,"src":"15876:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15857:42:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66434,"nodeType":"ExpressionStatement","src":"15857:42:98"},{"expression":{"id":66440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66435,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"15909:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66437,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15911:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"15909:17:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66438,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"15929:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66439,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15938:15:98","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":65549,"src":"15929:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15909:44:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66441,"nodeType":"ExpressionStatement","src":"15909:44:98"},{"expression":{"id":66448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66442,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"16014:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66444,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16016:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"16014:16:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":66445,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"16033:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":66446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16048:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"16033:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":66447,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16063:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65557,"src":"16033:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"16014:55:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"id":66449,"nodeType":"ExpressionStatement","src":"16014:55:98"},{"expression":{"id":66455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66450,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"16079:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66452,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16081:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65586,"src":"16079:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66453,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"16093:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":66454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16099:6:98","memberName":"number","nodeType":"MemberAccess","src":"16093:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16079:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66456,"nodeType":"ExpressionStatement","src":"16079:26:98"},{"expression":{"id":66461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66457,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"16115:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66459,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16117:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"16115:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":66460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16134:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16115:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66462,"nodeType":"ExpressionStatement","src":"16115:20:98"},{"expression":{"id":66468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66463,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"16181:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66465,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16183:8:98","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":65596,"src":"16181:10:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66466,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"16194:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66467,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16203:8:98","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":65554,"src":"16194:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"16181:30:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":66469,"nodeType":"ExpressionStatement","src":"16181:30:98"},{"expression":{"id":66474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66470,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"16221:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66472,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16223:23:98","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65603,"src":"16221:25:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66473,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"16249:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16221:58:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66475,"nodeType":"ExpressionStatement","src":"16221:58:98"},{"expression":{"arguments":[{"id":66482,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66396,"src":"16341:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":66483,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"16353:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16355:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"16353:11:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66476,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"16289:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":66478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16305:17:98","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":74056,"src":"16289:33:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":66481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":66479,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16330:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16334:5:98","memberName":"value","nodeType":"MemberAccess","src":"16330:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"16289:51:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":66485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16289:76:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66486,"nodeType":"ExpressionStatement","src":"16289:76:98"},{"eventCall":{"arguments":[{"id":66488,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"16397:6:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66489,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66396,"src":"16405:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66487,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65788,"src":"16381:15:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":66490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16381:35:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66491,"nodeType":"EmitStatement","src":"16376:40:98"},{"expression":{"arguments":[{"arguments":[{"id":66496,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66396,"src":"16498:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66495,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16490:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":66494,"name":"uint160","nodeType":"ElementaryTypeName","src":"16490:7:98","typeDescriptions":{}}},"id":66497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16490:19:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":66493,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16482:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66492,"name":"address","nodeType":"ElementaryTypeName","src":"16482:7:98","typeDescriptions":{}}},"id":66498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16482:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":66269,"id":66499,"nodeType":"Return","src":"16475:35:98"}]},"baseFunctions":[65357],"implemented":true,"kind":"function","modifiers":[],"name":"_registerRecipient","nameLocation":"13827:18:98","overrides":{"id":66266,"nodeType":"OverrideSpecifier","overrides":[],"src":"13900:8:98"},"parameters":{"id":66265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66262,"mutability":"mutable","name":"_data","nameLocation":"13859:5:98","nodeType":"VariableDeclaration","scope":66501,"src":"13846:18:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66261,"name":"bytes","nodeType":"ElementaryTypeName","src":"13846:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":66264,"mutability":"mutable","name":"_sender","nameLocation":"13874:7:98","nodeType":"VariableDeclaration","scope":66501,"src":"13866:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66263,"name":"address","nodeType":"ElementaryTypeName","src":"13866:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13845:37:98"},"returnParameters":{"id":66269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66268,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66501,"src":"13918:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66267,"name":"address","nodeType":"ElementaryTypeName","src":"13918:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13917:9:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":66510,"nodeType":"FunctionDefinition","src":"16523:98:98","nodes":[],"body":{"id":66509,"nodeType":"Block","src":"16583:38:98","nodes":[],"statements":[{"expression":{"expression":{"id":66506,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"16600:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":66507,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16609:5:98","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65632,"src":"16600:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66505,"id":66508,"nodeType":"Return","src":"16593:21:98"}]},"functionSelector":"9a1c157c","implemented":true,"kind":"function","modifiers":[],"name":"getDecay","nameLocation":"16532:8:98","parameters":{"id":66502,"nodeType":"ParameterList","parameters":[],"src":"16540:2:98"},"returnParameters":{"id":66505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66504,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66510,"src":"16574:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66503,"name":"uint256","nodeType":"ElementaryTypeName","src":"16574:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16573:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":66550,"nodeType":"FunctionDefinition","src":"16627:369:98","nodes":[],"body":{"id":66549,"nodeType":"Block","src":"16670:326:98","nodes":[],"statements":[{"assignments":[66514],"declarations":[{"constant":false,"id":66514,"mutability":"mutable","name":"member","nameLocation":"16688:6:98","nodeType":"VariableDeclaration","scope":66549,"src":"16680:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66513,"name":"address","nodeType":"ElementaryTypeName","src":"16680:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":66517,"initialValue":{"expression":{"id":66515,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16697:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16701:6:98","memberName":"sender","nodeType":"MemberAccess","src":"16697:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16680:27:98"},{"condition":{"id":66521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16721:26:98","subExpression":{"arguments":[{"id":66519,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66514,"src":"16740:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66518,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66248,"src":"16722:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":66520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16722:25:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66526,"nodeType":"IfStatement","src":"16717:89:98","trueBody":{"id":66525,"nodeType":"Block","src":"16749:57:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66522,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65739,"src":"16770:23:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16770:25:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66524,"nodeType":"RevertStatement","src":"16763:32:98"}]}},{"expression":{"arguments":[{"id":66530,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66514,"src":"16863:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66533,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16879:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":66532,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16871:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66531,"name":"address","nodeType":"ElementaryTypeName","src":"16871:7:98","typeDescriptions":{}}},"id":66534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16871:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66527,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"16815:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16815:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16838:24:98","memberName":"activateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":71768,"src":"16815:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":66535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16815:70:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66536,"nodeType":"ExpressionStatement","src":"16815:70:98"},{"expression":{"id":66547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66537,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65923,"src":"16895:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":66541,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66514,"src":"16967:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66544,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16983:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":66543,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16975:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66542,"name":"address","nodeType":"ElementaryTypeName","src":"16975:7:98","typeDescriptions":{}}},"id":66545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16975:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66538,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"16919:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16919:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16942:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72137,"src":"16919:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16919:70:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16895:94:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66548,"nodeType":"ExpressionStatement","src":"16895:94:98"}]},"functionSelector":"814516ad","implemented":true,"kind":"function","modifiers":[],"name":"activatePoints","nameLocation":"16636:14:98","parameters":{"id":66511,"nodeType":"ParameterList","parameters":[],"src":"16650:2:98"},"returnParameters":{"id":66512,"nodeType":"ParameterList","parameters":[],"src":"16670:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66559,"nodeType":"FunctionDefinition","src":"17002:89:98","nodes":[],"body":{"id":66558,"nodeType":"Block","src":"17045:46:98","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":66554,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17073:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17077:6:98","memberName":"sender","nodeType":"MemberAccess","src":"17073:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66553,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66608,"src":"17055:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17055:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66557,"nodeType":"ExpressionStatement","src":"17055:29:98"}]},"functionSelector":"1ddf1e23","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"17011:16:98","parameters":{"id":66551,"nodeType":"ParameterList","parameters":[],"src":"17027:2:98"},"returnParameters":{"id":66552,"nodeType":"ParameterList","parameters":[],"src":"17045:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":66572,"nodeType":"FunctionDefinition","src":"17097:136:98","nodes":[],"body":{"id":66571,"nodeType":"Block","src":"17157:76:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66564,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66183,"src":"17167:21:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":66565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17167:23:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66566,"nodeType":"ExpressionStatement","src":"17167:23:98"},{"expression":{"arguments":[{"id":66568,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66561,"src":"17218:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66567,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66608,"src":"17200:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17200:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66570,"nodeType":"ExpressionStatement","src":"17200:26:98"}]},"baseFunctions":[65509],"functionSelector":"6453d9c4","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"17106:16:98","parameters":{"id":66562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66561,"mutability":"mutable","name":"_member","nameLocation":"17131:7:98","nodeType":"VariableDeclaration","scope":66572,"src":"17123:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66560,"name":"address","nodeType":"ElementaryTypeName","src":"17123:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17122:17:98"},"returnParameters":{"id":66563,"nodeType":"ParameterList","parameters":[],"src":"17157:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66608,"nodeType":"FunctionDefinition","src":"17239:369:98","nodes":[],"body":{"id":66607,"nodeType":"Block","src":"17300:308:98","nodes":[],"statements":[{"expression":{"id":66587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66577,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65923,"src":"17310:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"arguments":[{"id":66581,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66574,"src":"17382:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66584,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17399:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":66583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17391:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66582,"name":"address","nodeType":"ElementaryTypeName","src":"17391:7:98","typeDescriptions":{}}},"id":66585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17391:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66578,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"17334:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17334:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17357:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72137,"src":"17334:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17334:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17310:95:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66588,"nodeType":"ExpressionStatement","src":"17310:95:98"},{"expression":{"arguments":[{"id":66592,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66574,"src":"17465:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66595,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17482:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":66594,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17474:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66593,"name":"address","nodeType":"ElementaryTypeName","src":"17474:7:98","typeDescriptions":{}}},"id":66596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17474:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66589,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"17415:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17415:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17438:26:98","memberName":"deactivateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":71827,"src":"17415:49:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":66597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17415:73:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66598,"nodeType":"ExpressionStatement","src":"17415:73:98"},{"expression":{"arguments":[{"id":66600,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66574,"src":"17552:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66599,"name":"withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67444,"src":"17543:8:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17543:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66602,"nodeType":"ExpressionStatement","src":"17543:17:98"},{"eventCall":{"arguments":[{"id":66604,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66574,"src":"17593:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66603,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65796,"src":"17575:17:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17575:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66606,"nodeType":"EmitStatement","src":"17570:31:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deactivatePoints","nameLocation":"17248:17:98","parameters":{"id":66575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66574,"mutability":"mutable","name":"_member","nameLocation":"17274:7:98","nodeType":"VariableDeclaration","scope":66608,"src":"17266:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66573,"name":"address","nodeType":"ElementaryTypeName","src":"17266:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17265:17:98"},"returnParameters":{"id":66576,"nodeType":"ParameterList","parameters":[],"src":"17300:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":66702,"nodeType":"FunctionDefinition","src":"17614:1070:98","nodes":[],"body":{"id":66701,"nodeType":"Block","src":"17713:971:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66617,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66183,"src":"17768:21:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":66618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17768:23:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66619,"nodeType":"ExpressionStatement","src":"17768:23:98"},{"condition":{"id":66623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17805:27:98","subExpression":{"arguments":[{"id":66621,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66610,"src":"17824:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66620,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66248,"src":"17806:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":66622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17806:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66628,"nodeType":"IfStatement","src":"17801:90:98","trueBody":{"id":66627,"nodeType":"Block","src":"17834:57:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66624,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65739,"src":"17855:23:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17855:25:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66626,"nodeType":"RevertStatement","src":"17848:32:98"}]}},{"assignments":[66630],"declarations":[{"constant":false,"id":66630,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"17908:16:98","nodeType":"VariableDeclaration","scope":66701,"src":"17900:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66629,"name":"uint256","nodeType":"ElementaryTypeName","src":"17900:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66632,"initialValue":{"hexValue":"30","id":66631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17927:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"17900:28:98"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"id":66637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66633,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65932,"src":"17942:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66634,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"17957:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":66635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17972:11:98","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65543,"src":"17957:26:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65543_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66636,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17984:9:98","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":65541,"src":"17957:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"src":"17942:51:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"id":66649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66645,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65932,"src":"18087:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66646,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"18102:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":66647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18117:11:98","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65543,"src":"18102:26:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65543_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66648,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18129:6:98","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":65540,"src":"18102:33:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"src":"18087:48:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"id":66662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66658,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65932,"src":"18235:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66659,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"18250:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":66660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18265:11:98","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65543,"src":"18250:26:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65543_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66661,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18277:9:98","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":65542,"src":"18250:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"src":"18235:51:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66671,"nodeType":"IfStatement","src":"18231:148:98","trueBody":{"id":66670,"nodeType":"Block","src":"18288:91:98","statements":[{"expression":{"id":66668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66663,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66630,"src":"18302:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66665,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66610,"src":"18344:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66666,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66612,"src":"18353:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66664,"name":"increasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66892,"src":"18321:22:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":66667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18321:47:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18302:66:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66669,"nodeType":"ExpressionStatement","src":"18302:66:98"}]}},"id":66672,"nodeType":"IfStatement","src":"18083:296:98","trueBody":{"id":66657,"nodeType":"Block","src":"18137:88:98","statements":[{"expression":{"id":66655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66650,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66630,"src":"18151:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66652,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66610,"src":"18190:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66653,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66612,"src":"18199:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66651,"name":"increasePowerCapped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66811,"src":"18170:19:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":66654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18170:44:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18151:63:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66656,"nodeType":"ExpressionStatement","src":"18151:63:98"}]}},"id":66673,"nodeType":"IfStatement","src":"17938:441:98","trueBody":{"id":66644,"nodeType":"Block","src":"17995:82:98","statements":[{"expression":{"id":66642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66638,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66630,"src":"18009:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66640,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66612,"src":"18051:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66639,"name":"increasePowerUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66768,"src":"18028:22:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18028:38:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18009:57:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66643,"nodeType":"ExpressionStatement","src":"18009:57:98"}]}},{"assignments":[66675],"declarations":[{"constant":false,"id":66675,"mutability":"mutable","name":"isActivated","nameLocation":"18393:11:98","nodeType":"VariableDeclaration","scope":66701,"src":"18388:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66674,"name":"bool","nodeType":"ElementaryTypeName","src":"18388:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":66685,"initialValue":{"arguments":[{"id":66679,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66610,"src":"18458:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66682,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18475:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":66681,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18467:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66680,"name":"address","nodeType":"ElementaryTypeName","src":"18467:7:98","typeDescriptions":{}}},"id":66683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18467:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66676,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"18407:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18407:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18430:27:98","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":71096,"src":"18407:50:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":66684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18407:74:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"18388:93:98"},{"condition":{"id":66686,"name":"isActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66675,"src":"18495:11:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66692,"nodeType":"IfStatement","src":"18491:82:98","trueBody":{"id":66691,"nodeType":"Block","src":"18508:65:98","statements":[{"expression":{"id":66689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66687,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65923,"src":"18522:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":66688,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66630,"src":"18546:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18522:40:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66690,"nodeType":"ExpressionStatement","src":"18522:40:98"}]}},{"eventCall":{"arguments":[{"id":66694,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66610,"src":"18602:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66695,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66612,"src":"18611:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66696,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66630,"src":"18627:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66693,"name":"PowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65804,"src":"18587:14:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":66697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18587:57:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66698,"nodeType":"EmitStatement","src":"18582:62:98"},{"expression":{"id":66699,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66630,"src":"18661:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66616,"id":66700,"nodeType":"Return","src":"18654:23:98"}]},"baseFunctions":[65518],"functionSelector":"782aadff","implemented":true,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"17623:13:98","parameters":{"id":66613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66610,"mutability":"mutable","name":"_member","nameLocation":"17645:7:98","nodeType":"VariableDeclaration","scope":66702,"src":"17637:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66609,"name":"address","nodeType":"ElementaryTypeName","src":"17637:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66612,"mutability":"mutable","name":"_amountToStake","nameLocation":"17662:14:98","nodeType":"VariableDeclaration","scope":66702,"src":"17654:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66611,"name":"uint256","nodeType":"ElementaryTypeName","src":"17654:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17636:41:98"},"returnParameters":{"id":66616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66615,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66702,"src":"17704:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66614,"name":"uint256","nodeType":"ElementaryTypeName","src":"17704:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17703:9:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66758,"nodeType":"FunctionDefinition","src":"18690:689:98","nodes":[],"body":{"id":66757,"nodeType":"Block","src":"18791:588:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66711,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66183,"src":"18801:21:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":66712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18801:23:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66713,"nodeType":"ExpressionStatement","src":"18801:23:98"},{"assignments":[66715],"declarations":[{"constant":false,"id":66715,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"18888:16:98","nodeType":"VariableDeclaration","scope":66757,"src":"18880:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66714,"name":"uint256","nodeType":"ElementaryTypeName","src":"18880:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66717,"initialValue":{"hexValue":"30","id":66716,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18907:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"18880:28:98"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":66728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"id":66722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66718,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65932,"src":"18922:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66719,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"18937:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":66720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18952:11:98","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65543,"src":"18937:26:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65543_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66721,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18964:9:98","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":65541,"src":"18937:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"src":"18922:51:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"id":66727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66723,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65932,"src":"18977:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66724,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"18992:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":66725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19007:11:98","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65543,"src":"18992:26:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65543_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66726,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19019:6:98","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":65540,"src":"18992:33:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"src":"18977:48:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18922:103:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":66743,"nodeType":"Block","src":"19123:93:98","statements":[{"expression":{"id":66741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66736,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66715,"src":"19137:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66738,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66704,"src":"19179:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66739,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66706,"src":"19188:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66737,"name":"decreasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66979,"src":"19156:22:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":66740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19156:49:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19137:68:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66742,"nodeType":"ExpressionStatement","src":"19137:68:98"}]},"id":66744,"nodeType":"IfStatement","src":"18918:298:98","trueBody":{"id":66735,"nodeType":"Block","src":"19027:90:98","statements":[{"expression":{"id":66733,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66729,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66715,"src":"19041:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66731,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66706,"src":"19089:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66730,"name":"decreasePowerCappedUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66902,"src":"19060:28:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19060:46:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19041:65:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66734,"nodeType":"ExpressionStatement","src":"19041:65:98"}]}},{"expression":{"id":66747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66745,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65923,"src":"19225:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":66746,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66715,"src":"19249:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19225:40:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66748,"nodeType":"ExpressionStatement","src":"19225:40:98"},{"eventCall":{"arguments":[{"id":66750,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66704,"src":"19295:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66751,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66706,"src":"19304:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66752,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66715,"src":"19322:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66749,"name":"PowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65812,"src":"19280:14:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":66753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19280:59:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66754,"nodeType":"EmitStatement","src":"19275:64:98"},{"expression":{"id":66755,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66715,"src":"19356:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66710,"id":66756,"nodeType":"Return","src":"19349:23:98"}]},"baseFunctions":[65527],"functionSelector":"2ed04b2b","implemented":true,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"18699:13:98","parameters":{"id":66707,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66704,"mutability":"mutable","name":"_member","nameLocation":"18721:7:98","nodeType":"VariableDeclaration","scope":66758,"src":"18713:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66703,"name":"address","nodeType":"ElementaryTypeName","src":"18713:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66706,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"18738:16:98","nodeType":"VariableDeclaration","scope":66758,"src":"18730:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66705,"name":"uint256","nodeType":"ElementaryTypeName","src":"18730:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18712:43:98"},"returnParameters":{"id":66710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66709,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66758,"src":"18782:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66708,"name":"uint256","nodeType":"ElementaryTypeName","src":"18782:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18781:9:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66768,"nodeType":"FunctionDefinition","src":"19385:134:98","nodes":[],"body":{"id":66767,"nodeType":"Block","src":"19481:38:98","nodes":[],"statements":[{"expression":{"id":66765,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66760,"src":"19498:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66764,"id":66766,"nodeType":"Return","src":"19491:21:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerUnlimited","nameLocation":"19394:22:98","parameters":{"id":66761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66760,"mutability":"mutable","name":"_amountToStake","nameLocation":"19425:14:98","nodeType":"VariableDeclaration","scope":66768,"src":"19417:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66759,"name":"uint256","nodeType":"ElementaryTypeName","src":"19417:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19416:24:98"},"returnParameters":{"id":66764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66763,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66768,"src":"19472:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66762,"name":"uint256","nodeType":"ElementaryTypeName","src":"19472:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19471:9:98"},"scope":69234,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":66811,"nodeType":"FunctionDefinition","src":"19525:637:98","nodes":[],"body":{"id":66810,"nodeType":"Block","src":"19635:527:98","nodes":[],"statements":[{"assignments":[66778],"declarations":[{"constant":false,"id":66778,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"19653:16:98","nodeType":"VariableDeclaration","scope":66810,"src":"19645:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66777,"name":"uint256","nodeType":"ElementaryTypeName","src":"19645:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66780,"initialValue":{"id":66779,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66772,"src":"19672:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19645:41:98"},{"assignments":[66782],"declarations":[{"constant":false,"id":66782,"mutability":"mutable","name":"memberPower","nameLocation":"19768:11:98","nodeType":"VariableDeclaration","scope":66810,"src":"19760:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66781,"name":"uint256","nodeType":"ElementaryTypeName","src":"19760:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66792,"initialValue":{"arguments":[{"id":66786,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66770,"src":"19830:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66789,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"19847:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":66788,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19839:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66787,"name":"address","nodeType":"ElementaryTypeName","src":"19839:7:98","typeDescriptions":{}}},"id":66790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19839:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66783,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"19782:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19782:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19805:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72137,"src":"19782:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19782:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19760:93:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66793,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66782,"src":"19919:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":66794,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66778,"src":"19933:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19919:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":66796,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65935,"src":"19952:11:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":66797,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19964:9:98","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65611,"src":"19952:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19919:54:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66807,"nodeType":"IfStatement","src":"19915:139:98","trueBody":{"id":66806,"nodeType":"Block","src":"19975:79:98","statements":[{"expression":{"id":66804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66799,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66778,"src":"19989:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66800,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65935,"src":"20008:11:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":66801,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20020:9:98","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65611,"src":"20008:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66802,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66782,"src":"20032:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20008:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19989:54:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66805,"nodeType":"ExpressionStatement","src":"19989:54:98"}]}},{"expression":{"id":66808,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66778,"src":"20139:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66776,"id":66809,"nodeType":"Return","src":"20132:23:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerCapped","nameLocation":"19534:19:98","parameters":{"id":66773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66770,"mutability":"mutable","name":"_member","nameLocation":"19562:7:98","nodeType":"VariableDeclaration","scope":66811,"src":"19554:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66769,"name":"address","nodeType":"ElementaryTypeName","src":"19554:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66772,"mutability":"mutable","name":"_amountToStake","nameLocation":"19579:14:98","nodeType":"VariableDeclaration","scope":66811,"src":"19571:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66771,"name":"uint256","nodeType":"ElementaryTypeName","src":"19571:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19553:41:98"},"returnParameters":{"id":66776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66775,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66811,"src":"19626:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66774,"name":"uint256","nodeType":"ElementaryTypeName","src":"19626:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19625:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66892,"nodeType":"FunctionDefinition","src":"20168:756:98","nodes":[],"body":{"id":66891,"nodeType":"Block","src":"20281:643:98","nodes":[],"statements":[{"assignments":[66821],"declarations":[{"constant":false,"id":66821,"mutability":"mutable","name":"totalStake","nameLocation":"20299:10:98","nodeType":"VariableDeclaration","scope":66891,"src":"20291:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66820,"name":"uint256","nodeType":"ElementaryTypeName","src":"20291:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66829,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66825,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66813,"src":"20357:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66822,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"20312:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20312:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20335:21:98","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":72150,"src":"20312:44:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":66826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20312:53:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":66827,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66815,"src":"20368:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20312:70:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20291:91:98"},{"assignments":[66831],"declarations":[{"constant":false,"id":66831,"mutability":"mutable","name":"decimal","nameLocation":"20401:7:98","nodeType":"VariableDeclaration","scope":66891,"src":"20393:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66830,"name":"uint256","nodeType":"ElementaryTypeName","src":"20393:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66833,"initialValue":{"hexValue":"3138","id":66832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20411:2:98","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"20393:20:98"},{"clauses":[{"block":{"id":66855,"nodeType":"Block","src":"20516:52:98","statements":[{"expression":{"id":66853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66848,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66831,"src":"20530:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66851,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66846,"src":"20548:8:98","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":66850,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20540:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66849,"name":"uint256","nodeType":"ElementaryTypeName","src":"20540:7:98","typeDescriptions":{}}},"id":66852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20540:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20530:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66854,"nodeType":"ExpressionStatement","src":"20530:27:98"}]},"errorName":"","id":66856,"nodeType":"TryCatchClause","parameters":{"id":66847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66846,"mutability":"mutable","name":"_decimal","nameLocation":"20506:8:98","nodeType":"VariableDeclaration","scope":66856,"src":"20500:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":66845,"name":"uint8","nodeType":"ElementaryTypeName","src":"20500:5:98","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"20499:16:98"},"src":"20491:77:98"},{"block":{"id":66857,"nodeType":"Block","src":"20575:64:98","statements":[]},"errorName":"","id":66858,"nodeType":"TryCatchClause","src":"20569:70:98"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66837,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"20441:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20441:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20464:11:98","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":71051,"src":"20441:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$56528_$","typeString":"function () view external returns (contract IERC20)"}},"id":66840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20441:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}],"id":66836,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20433:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66835,"name":"address","nodeType":"ElementaryTypeName","src":"20433:7:98","typeDescriptions":{}}},"id":66841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20433:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66834,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56450,"src":"20427:5:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56450_$","typeString":"type(contract ERC20)"}},"id":66842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20427:52:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56450","typeString":"contract ERC20"}},"id":66843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20480:8:98","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":55938,"src":"20427:61:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":66844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20427:63:98","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":66859,"nodeType":"TryStatement","src":"20423:216:98"},{"assignments":[66861],"declarations":[{"constant":false,"id":66861,"mutability":"mutable","name":"newTotalPoints","nameLocation":"20656:14:98","nodeType":"VariableDeclaration","scope":66891,"src":"20648:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66860,"name":"uint256","nodeType":"ElementaryTypeName","src":"20648:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66870,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66864,"name":"totalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66821,"src":"20683:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":66865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20696:2:98","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":66866,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66831,"src":"20702:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20696:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20683:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66862,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58797,"src":"20673:4:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58797_$","typeString":"type(library Math)"}},"id":66863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20678:4:98","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58301,"src":"20673:9:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20673:37:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20648:62:98"},{"assignments":[66872],"declarations":[{"constant":false,"id":66872,"mutability":"mutable","name":"currentPoints","nameLocation":"20728:13:98","nodeType":"VariableDeclaration","scope":66891,"src":"20720:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66871,"name":"uint256","nodeType":"ElementaryTypeName","src":"20720:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66882,"initialValue":{"arguments":[{"id":66876,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66813,"src":"20792:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66879,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"20809:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":66878,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20801:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66877,"name":"address","nodeType":"ElementaryTypeName","src":"20801:7:98","typeDescriptions":{}}},"id":66880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20801:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66873,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"20744:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20744:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20767:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72137,"src":"20744:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20744:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20720:95:98"},{"assignments":[66884],"declarations":[{"constant":false,"id":66884,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"20834:16:98","nodeType":"VariableDeclaration","scope":66891,"src":"20826:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66883,"name":"uint256","nodeType":"ElementaryTypeName","src":"20826:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66888,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66885,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66861,"src":"20853:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66886,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66872,"src":"20870:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20853:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20826:57:98"},{"expression":{"id":66889,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66884,"src":"20901:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66819,"id":66890,"nodeType":"Return","src":"20894:23:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerQuadratic","nameLocation":"20177:22:98","parameters":{"id":66816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66813,"mutability":"mutable","name":"_member","nameLocation":"20208:7:98","nodeType":"VariableDeclaration","scope":66892,"src":"20200:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66812,"name":"address","nodeType":"ElementaryTypeName","src":"20200:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66815,"mutability":"mutable","name":"_amountToStake","nameLocation":"20225:14:98","nodeType":"VariableDeclaration","scope":66892,"src":"20217:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66814,"name":"uint256","nodeType":"ElementaryTypeName","src":"20217:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20199:41:98"},"returnParameters":{"id":66819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66818,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66892,"src":"20272:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66817,"name":"uint256","nodeType":"ElementaryTypeName","src":"20272:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20271:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66902,"nodeType":"FunctionDefinition","src":"20930:144:98","nodes":[],"body":{"id":66901,"nodeType":"Block","src":"21034:40:98","nodes":[],"statements":[{"expression":{"id":66899,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66894,"src":"21051:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66898,"id":66900,"nodeType":"Return","src":"21044:23:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerCappedUnlimited","nameLocation":"20939:28:98","parameters":{"id":66895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66894,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20976:16:98","nodeType":"VariableDeclaration","scope":66902,"src":"20968:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66893,"name":"uint256","nodeType":"ElementaryTypeName","src":"20968:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20967:26:98"},"returnParameters":{"id":66898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66897,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66902,"src":"21025:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66896,"name":"uint256","nodeType":"ElementaryTypeName","src":"21025:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21024:9:98"},"scope":69234,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":66979,"nodeType":"FunctionDefinition","src":"21080:882:98","nodes":[],"body":{"id":66978,"nodeType":"Block","src":"21231:731:98","nodes":[],"statements":[{"assignments":[66912],"declarations":[{"constant":false,"id":66912,"mutability":"mutable","name":"decimal","nameLocation":"21249:7:98","nodeType":"VariableDeclaration","scope":66978,"src":"21241:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66911,"name":"uint256","nodeType":"ElementaryTypeName","src":"21241:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66914,"initialValue":{"hexValue":"3138","id":66913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21259:2:98","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"21241:20:98"},{"clauses":[{"block":{"id":66936,"nodeType":"Block","src":"21364:52:98","statements":[{"expression":{"id":66934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66929,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66912,"src":"21378:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66932,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"21396:8:98","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":66931,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21388:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66930,"name":"uint256","nodeType":"ElementaryTypeName","src":"21388:7:98","typeDescriptions":{}}},"id":66933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21388:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21378:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66935,"nodeType":"ExpressionStatement","src":"21378:27:98"}]},"errorName":"","id":66937,"nodeType":"TryCatchClause","parameters":{"id":66928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66927,"mutability":"mutable","name":"_decimal","nameLocation":"21354:8:98","nodeType":"VariableDeclaration","scope":66937,"src":"21348:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":66926,"name":"uint8","nodeType":"ElementaryTypeName","src":"21348:5:98","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"21347:16:98"},"src":"21339:77:98"},{"block":{"id":66938,"nodeType":"Block","src":"21423:64:98","statements":[]},"errorName":"","id":66939,"nodeType":"TryCatchClause","src":"21417:70:98"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66918,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"21289:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21289:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21312:11:98","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":71051,"src":"21289:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$56528_$","typeString":"function () view external returns (contract IERC20)"}},"id":66921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21289:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}],"id":66917,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21281:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66916,"name":"address","nodeType":"ElementaryTypeName","src":"21281:7:98","typeDescriptions":{}}},"id":66922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21281:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66915,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56450,"src":"21275:5:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56450_$","typeString":"type(contract ERC20)"}},"id":66923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21275:52:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56450","typeString":"contract ERC20"}},"id":66924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21328:8:98","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":55938,"src":"21275:61:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":66925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21275:63:98","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":66940,"nodeType":"TryStatement","src":"21271:216:98"},{"assignments":[66942],"declarations":[{"constant":false,"id":66942,"mutability":"mutable","name":"newTotalStake","nameLocation":"21566:13:98","nodeType":"VariableDeclaration","scope":66978,"src":"21558:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66941,"name":"uint256","nodeType":"ElementaryTypeName","src":"21558:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66950,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66946,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66904,"src":"21627:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66943,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"21582:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21582:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21605:21:98","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":72150,"src":"21582:44:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":66947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21582:53:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66948,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66906,"src":"21638:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21582:72:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21558:96:98"},{"assignments":[66952],"declarations":[{"constant":false,"id":66952,"mutability":"mutable","name":"newTotalPoints","nameLocation":"21728:14:98","nodeType":"VariableDeclaration","scope":66978,"src":"21720:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66951,"name":"uint256","nodeType":"ElementaryTypeName","src":"21720:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66961,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66955,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66942,"src":"21755:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":66956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21771:2:98","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":66957,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66912,"src":"21777:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21771:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21755:29:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66953,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58797,"src":"21745:4:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58797_$","typeString":"type(library Math)"}},"id":66954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21750:4:98","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58301,"src":"21745:9:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21745:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21720:65:98"},{"assignments":[66963],"declarations":[{"constant":false,"id":66963,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"21803:16:98","nodeType":"VariableDeclaration","scope":66978,"src":"21795:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66962,"name":"uint256","nodeType":"ElementaryTypeName","src":"21795:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66975,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66967,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66904,"src":"21882:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66970,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21899:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":66969,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21891:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66968,"name":"address","nodeType":"ElementaryTypeName","src":"21891:7:98","typeDescriptions":{}}},"id":66971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21891:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66964,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"21834:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21834:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21857:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72137,"src":"21834:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21834:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66973,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66952,"src":"21908:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21834:88:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21795:127:98"},{"expression":{"id":66976,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66963,"src":"21939:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66910,"id":66977,"nodeType":"Return","src":"21932:23:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerQuadratic","nameLocation":"21089:22:98","parameters":{"id":66907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66904,"mutability":"mutable","name":"_member","nameLocation":"21120:7:98","nodeType":"VariableDeclaration","scope":66979,"src":"21112:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66903,"name":"address","nodeType":"ElementaryTypeName","src":"21112:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66906,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"21137:16:98","nodeType":"VariableDeclaration","scope":66979,"src":"21129:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66905,"name":"uint256","nodeType":"ElementaryTypeName","src":"21129:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21111:43:98"},"returnParameters":{"id":66910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66909,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66979,"src":"21218:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66908,"name":"uint256","nodeType":"ElementaryTypeName","src":"21218:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21217:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66988,"nodeType":"FunctionDefinition","src":"21968:107:98","nodes":[],"body":{"id":66987,"nodeType":"Block","src":"22030:45:98","nodes":[],"statements":[{"expression":{"expression":{"id":66984,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65935,"src":"22047:11:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":66985,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22059:9:98","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65611,"src":"22047:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66983,"id":66986,"nodeType":"Return","src":"22040:28:98"}]},"functionSelector":"0ba95909","implemented":true,"kind":"function","modifiers":[],"name":"getMaxAmount","nameLocation":"21977:12:98","parameters":{"id":66980,"nodeType":"ParameterList","parameters":[],"src":"21989:2:98"},"returnParameters":{"id":66983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66982,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66988,"src":"22021:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66981,"name":"uint256","nodeType":"ElementaryTypeName","src":"22021:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22020:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":66997,"nodeType":"FunctionDefinition","src":"22081:118:98","nodes":[],"body":{"id":66996,"nodeType":"Block","src":"22164:35:98","nodes":[],"statements":[{"expression":{"id":66994,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65932,"src":"22181:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"functionReturnParameters":66993,"id":66995,"nodeType":"Return","src":"22174:18:98"}]},"baseFunctions":[65533],"functionSelector":"c3292171","implemented":true,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"22090:14:98","parameters":{"id":66989,"nodeType":"ParameterList","parameters":[],"src":"22104:2:98"},"returnParameters":{"id":66993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66992,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66997,"src":"22136:26:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":66991,"nodeType":"UserDefinedTypeName","pathNode":{"id":66990,"name":"StrategyStruct.PointSystem","nameLocations":["22136:14:98","22151:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":65543,"src":"22136:26:98"},"referencedDeclaration":65543,"src":"22136:26:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"22135:28:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":67063,"nodeType":"FunctionDefinition","src":"22705:663:98","nodes":[],"body":{"id":67062,"nodeType":"Block","src":"22787:581:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":67006,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67001,"src":"22817:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67005,"name":"checkSenderIsMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66167,"src":"22797:19:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":67007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22797:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67008,"nodeType":"ExpressionStatement","src":"22797:28:98"},{"condition":{"id":67012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22839:27:98","subExpression":{"arguments":[{"id":67010,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67001,"src":"22858:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67009,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66248,"src":"22840:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":67011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22840:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67017,"nodeType":"IfStatement","src":"22835:90:98","trueBody":{"id":67016,"nodeType":"Block","src":"22868:57:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67013,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65739,"src":"22889:23:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22889:25:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67015,"nodeType":"RevertStatement","src":"22882:32:98"}]}},{"assignments":[67019],"declarations":[{"constant":false,"id":67019,"mutability":"mutable","name":"isMemberActivatedPoints","nameLocation":"22985:23:98","nodeType":"VariableDeclaration","scope":67062,"src":"22980:28:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67018,"name":"bool","nodeType":"ElementaryTypeName","src":"22980:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":67029,"initialValue":{"arguments":[{"id":67023,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67001,"src":"23062:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67026,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"23079:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":67025,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23071:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67024,"name":"address","nodeType":"ElementaryTypeName","src":"23071:7:98","typeDescriptions":{}}},"id":67027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23071:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":67020,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"23011:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":67021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23011:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":67022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23034:27:98","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":71096,"src":"23011:50:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":67028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23011:74:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"22980:105:98"},{"condition":{"id":67031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"23099:24:98","subExpression":{"id":67030,"name":"isMemberActivatedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67019,"src":"23100:23:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67036,"nodeType":"IfStatement","src":"23095:78:98","trueBody":{"id":67035,"nodeType":"Block","src":"23125:48:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67032,"name":"UserIsInactive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65671,"src":"23146:14:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23146:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67034,"nodeType":"RevertStatement","src":"23139:23:98"}]}},{"assignments":[67042],"declarations":[{"constant":false,"id":67042,"mutability":"mutable","name":"pv","nameLocation":"23222:2:98","nodeType":"VariableDeclaration","scope":67062,"src":"23182:42:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":67040,"nodeType":"UserDefinedTypeName","pathNode":{"id":67039,"name":"StrategyStruct.ProposalSupport","nameLocations":["23182:14:98","23197:15:98"],"nodeType":"IdentifierPath","referencedDeclaration":65609,"src":"23182:30:98"},"referencedDeclaration":65609,"src":"23182:30:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65609_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":67041,"nodeType":"ArrayTypeName","src":"23182:32:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"id":67051,"initialValue":{"arguments":[{"id":67045,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66999,"src":"23238:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"expression":{"id":67046,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"23246:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":67047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23261:15:98","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":65609,"src":"23246:30:98","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$65609_storage_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport storage pointer)"}},"id":67048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23246:32:98","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"id":67049,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"23245:34:98","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}],"expression":{"id":67043,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23227:3:98","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23231:6:98","memberName":"decode","nodeType":"MemberAccess","src":"23227:10:98","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":67050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23227:53:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"23182:98:98"},{"expression":{"arguments":[{"id":67053,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67001,"src":"23315:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67054,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67042,"src":"23324:2:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":67052,"name":"_check_before_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67796,"src":"23290:24:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":67055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23290:37:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67056,"nodeType":"ExpressionStatement","src":"23290:37:98"},{"expression":{"arguments":[{"id":67058,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67001,"src":"23349:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67059,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67042,"src":"23358:2:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":67057,"name":"_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68083,"src":"23337:11:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":67060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23337:24:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67061,"nodeType":"ExpressionStatement","src":"23337:24:98"}]},"baseFunctions":[65365],"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"22714:9:98","overrides":{"id":67003,"nodeType":"OverrideSpecifier","overrides":[],"src":"22778:8:98"},"parameters":{"id":67002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66999,"mutability":"mutable","name":"_data","nameLocation":"22737:5:98","nodeType":"VariableDeclaration","scope":67063,"src":"22724:18:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66998,"name":"bytes","nodeType":"ElementaryTypeName","src":"22724:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":67001,"mutability":"mutable","name":"_sender","nameLocation":"22752:7:98","nodeType":"VariableDeclaration","scope":67063,"src":"22744:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67000,"name":"address","nodeType":"ElementaryTypeName","src":"22744:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22723:37:98"},"returnParameters":{"id":67004,"nodeType":"ParameterList","parameters":[],"src":"22787:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67231,"nodeType":"FunctionDefinition","src":"23624:1933:98","nodes":[],"body":{"id":67230,"nodeType":"Block","src":"23718:1839:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67074,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67068,"src":"23777:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":67075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23783:6:98","memberName":"length","nodeType":"MemberAccess","src":"23777:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":67076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23793:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23777:17:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67082,"nodeType":"IfStatement","src":"23773:76:98","trueBody":{"id":67081,"nodeType":"Block","src":"23796:53:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67078,"name":"ProposalDataIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65707,"src":"23817:19:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23817:21:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67080,"nodeType":"RevertStatement","src":"23810:28:98"}]}},{"assignments":[67084],"declarations":[{"constant":false,"id":67084,"mutability":"mutable","name":"proposalId","nameLocation":"23867:10:98","nodeType":"VariableDeclaration","scope":67230,"src":"23859:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67083,"name":"uint256","nodeType":"ElementaryTypeName","src":"23859:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67092,"initialValue":{"arguments":[{"id":67087,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67068,"src":"23891:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":67089,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23899:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67088,"name":"uint256","nodeType":"ElementaryTypeName","src":"23899:7:98","typeDescriptions":{}}}],"id":67090,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"23898:9:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":67085,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23880:3:98","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67086,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23884:6:98","memberName":"decode","nodeType":"MemberAccess","src":"23880:10:98","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":67091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23880:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23859:49:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67093,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"23923:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23937:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23923:15:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67100,"nodeType":"IfStatement","src":"23919:77:98","trueBody":{"id":67099,"nodeType":"Block","src":"23940:56:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67096,"name":"ProposalIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65709,"src":"23961:22:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23961:24:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67098,"nodeType":"RevertStatement","src":"23954:31:98"}]}},{"assignments":[67105],"declarations":[{"constant":false,"id":67105,"mutability":"mutable","name":"proposal","nameLocation":"24037:8:98","nodeType":"VariableDeclaration","scope":67230,"src":"24005:40:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67104,"nodeType":"UserDefinedTypeName","pathNode":{"id":67103,"name":"StrategyStruct.Proposal","nameLocations":["24005:14:98","24020:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"24005:23:98"},"referencedDeclaration":65604,"src":"24005:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67109,"initialValue":{"baseExpression":{"id":67106,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"24048:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67108,"indexExpression":{"id":67107,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"24058:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24048:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24005:64:98"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"},"id":67114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67110,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65929,"src":"24084:12:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":67111,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"24100:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":67112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24115:12:98","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":65538,"src":"24100:27:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$65538_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":67113,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24128:7:98","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":65536,"src":"24100:35:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"src":"24084:51:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67229,"nodeType":"IfStatement","src":"24080:1411:98","trueBody":{"id":67228,"nodeType":"Block","src":"24137:1354:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67115,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"24155:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67116,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24164:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65572,"src":"24155:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":67117,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"24178:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24155:33:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67124,"nodeType":"IfStatement","src":"24151:108:98","trueBody":{"id":67123,"nodeType":"Block","src":"24190:69:98","statements":[{"errorCall":{"arguments":[{"id":67120,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"24233:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67119,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65717,"src":"24215:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":67121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24215:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67122,"nodeType":"RevertStatement","src":"24208:36:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67125,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"24277:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67126,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24286:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"24277:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":67127,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"24304:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24277:37:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67137,"nodeType":"IfStatement","src":"24273:152:98","trueBody":{"id":67136,"nodeType":"Block","src":"24316:109:98","statements":[{"errorCall":{"arguments":[{"id":67130,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"24361:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67131,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"24373:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67132,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24382:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"24373:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67133,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"24399:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67129,"name":"PoolAmountNotEnough","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65735,"src":"24341:19:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":67134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24341:69:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67135,"nodeType":"RevertStatement","src":"24334:76:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"},"id":67143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67138,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"24443:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67139,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24452:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"24443:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":67140,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"24470:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":67141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24485:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"24470:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":67142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24500:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65557,"src":"24470:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"24443:63:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67149,"nodeType":"IfStatement","src":"24439:138:98","trueBody":{"id":67148,"nodeType":"Block","src":"24508:69:98","statements":[{"errorCall":{"arguments":[{"id":67145,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"24551:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67144,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65713,"src":"24533:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":67146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24533:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67147,"nodeType":"RevertStatement","src":"24526:36:98"}]}},{"assignments":[67151],"declarations":[{"constant":false,"id":67151,"mutability":"mutable","name":"convictionLast","nameLocation":"24599:14:98","nodeType":"VariableDeclaration","scope":67228,"src":"24591:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67150,"name":"uint256","nodeType":"ElementaryTypeName","src":"24591:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67155,"initialValue":{"arguments":[{"id":67153,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"24641:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67152,"name":"updateProposalConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68653,"src":"24616:24:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) returns (uint256)"}},"id":67154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24616:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24591:61:98"},{"assignments":[67157],"declarations":[{"constant":false,"id":67157,"mutability":"mutable","name":"threshold","nameLocation":"24674:9:98","nodeType":"VariableDeclaration","scope":67228,"src":"24666:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67156,"name":"uint256","nodeType":"ElementaryTypeName","src":"24666:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67162,"initialValue":{"arguments":[{"expression":{"id":67159,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"24705:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67160,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24714:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"24705:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67158,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68269,"src":"24686:18:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":67161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24686:44:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24666:64:98"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67163,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67151,"src":"24749:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":67164,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67157,"src":"24766:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24749:26:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67166,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"24779:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67167,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24788:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"24779:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":67168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24806:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"24779:28:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24749:58:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67175,"nodeType":"IfStatement","src":"24745:137:98","trueBody":{"id":67174,"nodeType":"Block","src":"24809:73:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67171,"name":"ConvictionUnderMinimumThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65725,"src":"24834:31:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24834:33:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67173,"nodeType":"RevertStatement","src":"24827:40:98"}]}},{"assignments":[67180],"declarations":[{"constant":false,"id":67180,"mutability":"mutable","name":"pool","nameLocation":"24914:4:98","nodeType":"VariableDeclaration","scope":67228,"src":"24896:22:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":67179,"nodeType":"UserDefinedTypeName","pathNode":{"id":67178,"name":"IAllo.Pool","nameLocations":["24896:5:98","24902:4:98"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"24896:10:98"},"referencedDeclaration":2319,"src":"24896:10:98","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":67185,"initialValue":{"arguments":[{"id":67183,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"24934:6:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67181,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64873,"src":"24921:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":67182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24926:7:98","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"24921:12:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":67184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24921:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"24896:45:98"},{"expression":{"id":67189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67186,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"24956:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"expression":{"id":67187,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"24970:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67188,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24979:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"24970:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24956:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67190,"nodeType":"ExpressionStatement","src":"24956:38:98"},{"expression":{"arguments":[{"expression":{"id":67192,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67180,"src":"25032:4:98","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":67193,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25037:5:98","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"25032:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67194,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"25044:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67195,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25053:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65580,"src":"25044:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67196,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"25066:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67197,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25075:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"25066:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67191,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"25016:15:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":67198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25016:75:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67199,"nodeType":"ExpressionStatement","src":"25016:75:98"},{"expression":{"id":67206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67200,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"25106:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67202,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"25115:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"25106:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":67203,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"25132:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":67204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25147:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"25132:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":67205,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25162:8:98","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":65560,"src":"25132:38:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"25106:64:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"id":67207,"nodeType":"ExpressionStatement","src":"25106:64:98"},{"expression":{"arguments":[{"id":67211,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"25236:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67212,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"25264:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67213,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25273:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"25264:18:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":67214,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"25300:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67216,"indexExpression":{"id":67215,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"25318:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25300:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67217,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25350:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"25300:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67208,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"25184:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":67210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25200:18:98","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74065,"src":"25184:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":67218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25184:205:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67219,"nodeType":"ExpressionStatement","src":"25184:205:98"},{"eventCall":{"arguments":[{"id":67221,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"25421:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67222,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"25433:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67223,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25442:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65580,"src":"25433:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67224,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"25455:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67225,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25464:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"25455:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67220,"name":"Distributed","nodeType":"Identifier","overloadedDeclarations":[65782,2858],"referencedDeclaration":65782,"src":"25409:11:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":67226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25409:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67227,"nodeType":"EmitStatement","src":"25404:76:98"}]}}]},"baseFunctions":[65376],"implemented":true,"kind":"function","modifiers":[],"name":"_distribute","nameLocation":"23633:11:98","overrides":{"id":67072,"nodeType":"OverrideSpecifier","overrides":[],"src":"23709:8:98"},"parameters":{"id":67071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67066,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67231,"src":"23645:16:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":67064,"name":"address","nodeType":"ElementaryTypeName","src":"23645:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67065,"nodeType":"ArrayTypeName","src":"23645:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":67068,"mutability":"mutable","name":"_data","nameLocation":"23676:5:98","nodeType":"VariableDeclaration","scope":67231,"src":"23663:18:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67067,"name":"bytes","nodeType":"ElementaryTypeName","src":"23663:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":67070,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67231,"src":"23683:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67069,"name":"address","nodeType":"ElementaryTypeName","src":"23683:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23644:47:98"},"returnParameters":{"id":67073,"nodeType":"ParameterList","parameters":[],"src":"23718:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67285,"nodeType":"FunctionDefinition","src":"25563:743:98","nodes":[],"body":{"id":67284,"nodeType":"Block","src":"25660:646:98","nodes":[],"statements":[{"assignments":[67242],"declarations":[{"constant":false,"id":67242,"mutability":"mutable","name":"proposal","nameLocation":"25702:8:98","nodeType":"VariableDeclaration","scope":67284,"src":"25670:40:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67241,"nodeType":"UserDefinedTypeName","pathNode":{"id":67240,"name":"StrategyStruct.Proposal","nameLocations":["25670:14:98","25685:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"25670:23:98"},"referencedDeclaration":65604,"src":"25670:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67246,"initialValue":{"baseExpression":{"id":67243,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"25713:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67245,"indexExpression":{"id":67244,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67233,"src":"25723:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25713:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25670:64:98"},{"assignments":[67248,67250],"declarations":[{"constant":false,"id":67248,"mutability":"mutable","name":"convictionLast","nameLocation":"25828:14:98","nodeType":"VariableDeclaration","scope":67284,"src":"25820:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67247,"name":"uint256","nodeType":"ElementaryTypeName","src":"25820:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67250,"mutability":"mutable","name":"blockNumber","nameLocation":"25852:11:98","nodeType":"VariableDeclaration","scope":67284,"src":"25844:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67249,"name":"uint256","nodeType":"ElementaryTypeName","src":"25844:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67256,"initialValue":{"arguments":[{"id":67252,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67242,"src":"25913:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":67253,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67242,"src":"25923:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67254,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25932:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"25923:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67251,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68465,"src":"25879:33:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$65604_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":67255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25879:66:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"25819:126:98"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67257,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67248,"src":"25960:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25978:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25960:19:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67260,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67250,"src":"25983:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25998:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25983:16:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25960:39:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67270,"nodeType":"IfStatement","src":"25956:110:98","trueBody":{"id":67269,"nodeType":"Block","src":"26001:65:98","statements":[{"expression":{"id":67267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67264,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67248,"src":"26015:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67265,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67242,"src":"26032:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67266,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26041:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"26032:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26015:40:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67268,"nodeType":"ExpressionStatement","src":"26015:40:98"}]}},{"assignments":[67272],"declarations":[{"constant":false,"id":67272,"mutability":"mutable","name":"threshold","nameLocation":"26083:9:98","nodeType":"VariableDeclaration","scope":67284,"src":"26075:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67271,"name":"uint256","nodeType":"ElementaryTypeName","src":"26075:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67277,"initialValue":{"arguments":[{"expression":{"id":67274,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67242,"src":"26114:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67275,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26123:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"26114:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67273,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68269,"src":"26095:18:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":67276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26095:44:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26075:64:98"},{"expression":{"id":67282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67278,"name":"canBeExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67236,"src":"26256:13:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67279,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67248,"src":"26272:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":67280,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67272,"src":"26290:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26272:27:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"26256:43:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67283,"nodeType":"ExpressionStatement","src":"26256:43:98"}]},"functionSelector":"824ea8ed","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteProposal","nameLocation":"25572:18:98","parameters":{"id":67234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67233,"mutability":"mutable","name":"proposalId","nameLocation":"25599:10:98","nodeType":"VariableDeclaration","scope":67285,"src":"25591:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67232,"name":"uint256","nodeType":"ElementaryTypeName","src":"25591:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25590:20:98"},"returnParameters":{"id":67237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67236,"mutability":"mutable","name":"canBeExecuted","nameLocation":"25645:13:98","nodeType":"VariableDeclaration","scope":67285,"src":"25640:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67235,"name":"bool","nodeType":"ElementaryTypeName","src":"25640:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25639:20:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":67295,"nodeType":"FunctionDefinition","src":"26596:231:98","nodes":[],"body":{"id":67294,"nodeType":"Block","src":"26695:132:98","nodes":[],"statements":[]},"baseFunctions":[65396],"implemented":true,"kind":"function","modifiers":[],"name":"_getRecipientStatus","nameLocation":"26605:19:98","overrides":{"id":67289,"nodeType":"OverrideSpecifier","overrides":[],"src":"26669:8:98"},"parameters":{"id":67288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67287,"mutability":"mutable","name":"_recipientId","nameLocation":"26633:12:98","nodeType":"VariableDeclaration","scope":67295,"src":"26625:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67286,"name":"address","nodeType":"ElementaryTypeName","src":"26625:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26624:22:98"},"returnParameters":{"id":67293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67292,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67295,"src":"26687:6:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"},"typeName":{"id":67291,"nodeType":"UserDefinedTypeName","pathNode":{"id":67290,"name":"Status","nameLocations":["26687:6:98"],"nodeType":"IdentifierPath","referencedDeclaration":2815,"src":"26687:6:98"},"referencedDeclaration":2815,"src":"26687:6:98","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"visibility":"internal"}],"src":"26686:8:98"},"scope":69234,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67314,"nodeType":"FunctionDefinition","src":"26956:287:98","nodes":[],"body":{"id":67313,"nodeType":"Block","src":"27066:177:98","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67310,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65675,"src":"27220:14:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27220:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67312,"nodeType":"RevertStatement","src":"27213:23:98"}]},"baseFunctions":[65235],"documentation":{"id":67296,"nodeType":"StructuredDocumentation","src":"26833:118:98","text":"@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive"},"functionSelector":"b2b878d0","implemented":true,"kind":"function","modifiers":[],"name":"getPayouts","nameLocation":"26965:10:98","overrides":{"id":67304,"nodeType":"OverrideSpecifier","overrides":[],"src":"27024:8:98"},"parameters":{"id":67303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67299,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67314,"src":"26976:16:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":67297,"name":"address","nodeType":"ElementaryTypeName","src":"26976:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67298,"nodeType":"ArrayTypeName","src":"26976:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":67302,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67314,"src":"26994:14:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":67300,"name":"bytes","nodeType":"ElementaryTypeName","src":"26994:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":67301,"nodeType":"ArrayTypeName","src":"26994:7:98","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"26975:34:98"},"returnParameters":{"id":67309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67308,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67314,"src":"27042:22:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr","typeString":"struct IStrategy.PayoutSummary[]"},"typeName":{"baseType":{"id":67306,"nodeType":"UserDefinedTypeName","pathNode":{"id":67305,"name":"PayoutSummary","nameLocations":["27042:13:98"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"27042:13:98"},"referencedDeclaration":2820,"src":"27042:13:98","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"id":67307,"nodeType":"ArrayTypeName","src":"27042:15:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr","typeString":"struct IStrategy.PayoutSummary[]"}},"visibility":"internal"}],"src":"27041:24:98"},"scope":69234,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":67326,"nodeType":"FunctionDefinition","src":"27249:286:98","nodes":[],"body":{"id":67325,"nodeType":"Block","src":"27417:118:98","nodes":[],"statements":[]},"baseFunctions":[65387],"implemented":true,"kind":"function","modifiers":[],"name":"_getPayout","nameLocation":"27258:10:98","overrides":{"id":67320,"nodeType":"OverrideSpecifier","overrides":[],"src":"27365:8:98"},"parameters":{"id":67319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67316,"mutability":"mutable","name":"_recipientId","nameLocation":"27277:12:98","nodeType":"VariableDeclaration","scope":67326,"src":"27269:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67315,"name":"address","nodeType":"ElementaryTypeName","src":"27269:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67318,"mutability":"mutable","name":"_data","nameLocation":"27304:5:98","nodeType":"VariableDeclaration","scope":67326,"src":"27291:18:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67317,"name":"bytes","nodeType":"ElementaryTypeName","src":"27291:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"27268:42:98"},"returnParameters":{"id":67324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67323,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67326,"src":"27391:20:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary"},"typeName":{"id":67322,"nodeType":"UserDefinedTypeName","pathNode":{"id":67321,"name":"PayoutSummary","nameLocations":["27391:13:98"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"27391:13:98"},"referencedDeclaration":2820,"src":"27391:13:98","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"visibility":"internal"}],"src":"27390:22:98"},"scope":69234,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67337,"nodeType":"FunctionDefinition","src":"27541:127:98","nodes":[],"body":{"id":67336,"nodeType":"Block","src":"27618:50:98","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":67333,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67328,"src":"27653:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67332,"name":"PoolAmountIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65792,"src":"27633:19:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":67334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27633:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67335,"nodeType":"EmitStatement","src":"27628:33:98"}]},"baseFunctions":[65410],"implemented":true,"kind":"function","modifiers":[],"name":"_afterIncreasePoolAmount","nameLocation":"27550:24:98","overrides":{"id":67330,"nodeType":"OverrideSpecifier","overrides":[],"src":"27609:8:98"},"parameters":{"id":67329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67328,"mutability":"mutable","name":"_amount","nameLocation":"27583:7:98","nodeType":"VariableDeclaration","scope":67337,"src":"27575:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67327,"name":"uint256","nodeType":"ElementaryTypeName","src":"27575:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27574:17:98"},"returnParameters":{"id":67331,"nodeType":"ParameterList","parameters":[],"src":"27618:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67346,"nodeType":"FunctionDefinition","src":"27763:143:98","nodes":[],"body":{"id":67345,"nodeType":"Block","src":"27856:50:98","nodes":[],"statements":[]},"baseFunctions":[65347],"implemented":true,"kind":"function","modifiers":[],"name":"_isValidAllocator","nameLocation":"27772:17:98","overrides":{"id":67341,"nodeType":"OverrideSpecifier","overrides":[],"src":"27832:8:98"},"parameters":{"id":67340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67339,"mutability":"mutable","name":"_allocator","nameLocation":"27798:10:98","nodeType":"VariableDeclaration","scope":67346,"src":"27790:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67338,"name":"address","nodeType":"ElementaryTypeName","src":"27790:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27789:20:98"},"returnParameters":{"id":67344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67343,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67346,"src":"27850:4:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67342,"name":"bool","nodeType":"ElementaryTypeName","src":"27850:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27849:6:98"},"scope":69234,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67356,"nodeType":"FunctionDefinition","src":"27912:86:98","nodes":[],"body":{"id":67355,"nodeType":"Block","src":"27958:40:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":67352,"name":"_active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67348,"src":"27983:7:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":67351,"name":"_setPoolActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65330,"src":"27968:14:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":67353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27968:23:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67354,"nodeType":"ExpressionStatement","src":"27968:23:98"}]},"functionSelector":"b5f620ce","implemented":true,"kind":"function","modifiers":[],"name":"setPoolActive","nameLocation":"27921:13:98","parameters":{"id":67349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67348,"mutability":"mutable","name":"_active","nameLocation":"27940:7:98","nodeType":"VariableDeclaration","scope":67356,"src":"27935:12:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67347,"name":"bool","nodeType":"ElementaryTypeName","src":"27935:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27934:14:98"},"returnParameters":{"id":67350,"nodeType":"ParameterList","parameters":[],"src":"27958:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":67444,"nodeType":"FunctionDefinition","src":"28004:844:98","nodes":[],"body":{"id":67443,"nodeType":"Block","src":"28056:792:98","nodes":[],"statements":[{"assignments":[67365],"declarations":[{"constant":false,"id":67365,"mutability":"mutable","name":"proposalsIds","nameLocation":"28131:12:98","nodeType":"VariableDeclaration","scope":67443,"src":"28114:29:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":67363,"name":"uint256","nodeType":"ElementaryTypeName","src":"28114:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67364,"nodeType":"ArrayTypeName","src":"28114:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":67369,"initialValue":{"baseExpression":{"id":67366,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65957,"src":"28146:20:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67368,"indexExpression":{"id":67367,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67358,"src":"28167:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28146:29:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"28114:61:98"},{"body":{"id":67441,"nodeType":"Block","src":"28235:607:98","statements":[{"assignments":[67382],"declarations":[{"constant":false,"id":67382,"mutability":"mutable","name":"proposalId","nameLocation":"28257:10:98","nodeType":"VariableDeclaration","scope":67441,"src":"28249:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67381,"name":"uint256","nodeType":"ElementaryTypeName","src":"28249:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67386,"initialValue":{"baseExpression":{"id":67383,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67365,"src":"28270:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67385,"indexExpression":{"id":67384,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67371,"src":"28283:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28270:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28249:36:98"},{"assignments":[67391],"declarations":[{"constant":false,"id":67391,"mutability":"mutable","name":"proposal","nameLocation":"28331:8:98","nodeType":"VariableDeclaration","scope":67441,"src":"28299:40:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67390,"nodeType":"UserDefinedTypeName","pathNode":{"id":67389,"name":"StrategyStruct.Proposal","nameLocations":["28299:14:98","28314:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"28299:23:98"},"referencedDeclaration":65604,"src":"28299:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67395,"initialValue":{"baseExpression":{"id":67392,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"28342:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67394,"indexExpression":{"id":67393,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67382,"src":"28352:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28342:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"28299:64:98"},{"condition":{"arguments":[{"id":67397,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67382,"src":"28396:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67396,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67680,"src":"28381:14:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":67398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28381:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67440,"nodeType":"IfStatement","src":"28377:455:98","trueBody":{"id":67439,"nodeType":"Block","src":"28409:423:98","statements":[{"assignments":[67400],"declarations":[{"constant":false,"id":67400,"mutability":"mutable","name":"stakedPoints","nameLocation":"28435:12:98","nodeType":"VariableDeclaration","scope":67439,"src":"28427:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67399,"name":"uint256","nodeType":"ElementaryTypeName","src":"28427:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67405,"initialValue":{"baseExpression":{"expression":{"id":67401,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67391,"src":"28450:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67402,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28459:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65593,"src":"28450:26:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67404,"indexExpression":{"id":67403,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67358,"src":"28477:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28450:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28427:58:98"},{"expression":{"id":67412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":67406,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67391,"src":"28503:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67409,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28512:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65593,"src":"28503:26:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67410,"indexExpression":{"id":67408,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67358,"src":"28530:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"28503:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":67411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28541:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"28503:39:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67413,"nodeType":"ExpressionStatement","src":"28503:39:98"},{"expression":{"id":67418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67414,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67391,"src":"28560:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67416,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"28569:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"28560:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":67417,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67400,"src":"28585:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28560:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67419,"nodeType":"ExpressionStatement","src":"28560:37:98"},{"expression":{"id":67422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67420,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65921,"src":"28615:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":67421,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67400,"src":"28630:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28615:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67423,"nodeType":"ExpressionStatement","src":"28615:27:98"},{"expression":{"arguments":[{"id":67425,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67391,"src":"28687:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":67426,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67400,"src":"28697:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67424,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68418,"src":"28660:26:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$65604_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":67427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28660:50:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67428,"nodeType":"ExpressionStatement","src":"28660:50:98"},{"eventCall":{"arguments":[{"id":67430,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67358,"src":"28746:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67431,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67382,"src":"28755:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":67432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28767:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":67433,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67391,"src":"28770:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67434,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28779:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"28770:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67435,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67391,"src":"28793:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67436,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28802:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"28793:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67429,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65824,"src":"28733:12:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":67437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28733:84:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67438,"nodeType":"EmitStatement","src":"28728:89:98"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67374,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67371,"src":"28205:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67375,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67365,"src":"28209:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28222:6:98","memberName":"length","nodeType":"MemberAccess","src":"28209:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28205:23:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67442,"initializationExpression":{"assignments":[67371],"declarations":[{"constant":false,"id":67371,"mutability":"mutable","name":"i","nameLocation":"28198:1:98","nodeType":"VariableDeclaration","scope":67442,"src":"28190:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67370,"name":"uint256","nodeType":"ElementaryTypeName","src":"28190:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67373,"initialValue":{"hexValue":"30","id":67372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28202:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"28190:13:98"},"loopExpression":{"expression":{"id":67379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"28230:3:98","subExpression":{"id":67378,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67371,"src":"28230:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67380,"nodeType":"ExpressionStatement","src":"28230:3:98"},"nodeType":"ForStatement","src":"28185:657:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"28013:8:98","parameters":{"id":67359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67358,"mutability":"mutable","name":"_member","nameLocation":"28030:7:98","nodeType":"VariableDeclaration","scope":67444,"src":"28022:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67357,"name":"address","nodeType":"ElementaryTypeName","src":"28022:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28021:17:98"},"returnParameters":{"id":67360,"nodeType":"ParameterList","parameters":[],"src":"28056:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67522,"nodeType":"FunctionDefinition","src":"29532:1145:98","nodes":[],"body":{"id":67521,"nodeType":"Block","src":"30062:615:98","nodes":[],"statements":[{"assignments":[67477],"declarations":[{"constant":false,"id":67477,"mutability":"mutable","name":"proposal","nameLocation":"30104:8:98","nodeType":"VariableDeclaration","scope":67521,"src":"30072:40:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67476,"nodeType":"UserDefinedTypeName","pathNode":{"id":67475,"name":"StrategyStruct.Proposal","nameLocations":["30072:14:98","30087:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"30072:23:98"},"referencedDeclaration":65604,"src":"30072:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67481,"initialValue":{"baseExpression":{"id":67478,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"30115:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67480,"indexExpression":{"id":67479,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67447,"src":"30125:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30115:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"30072:65:98"},{"expression":{"id":67493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67482,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67467,"src":"30148:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67483,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30160:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30169:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"30160:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30188:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"30160:29:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"id":67489,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30215:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67490,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30224:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"30215:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67488,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68269,"src":"30196:18:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":67491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30196:44:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"30160:80:98","trueExpression":{"hexValue":"30","id":67487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30192:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30148:92:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67494,"nodeType":"ExpressionStatement","src":"30148:92:98"},{"expression":{"components":[{"expression":{"id":67495,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30271:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67496,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30280:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"30271:18:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67497,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30303:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67498,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30312:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65580,"src":"30303:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67499,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30337:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67500,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30346:14:98","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65584,"src":"30337:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67501,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30374:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67502,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30383:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"30374:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67503,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30412:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67504,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30421:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"30412:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67505,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30447:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67506,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30456:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"30447:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},{"expression":{"id":67507,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30484:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67508,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30493:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65586,"src":"30484:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67509,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30516:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67510,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30525:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"30516:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67511,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67467,"src":"30553:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"expression":{"id":67512,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30576:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67513,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30585:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65593,"src":"30576:26:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67516,"indexExpression":{"expression":{"id":67514,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"30603:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30607:6:98","memberName":"sender","nodeType":"MemberAccess","src":"30603:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30576:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67517,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30628:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67518,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30637:23:98","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65603,"src":"30628:32:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67519,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"30257:413:98","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$65563_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum StrategyStruct.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":67472,"id":67520,"nodeType":"Return","src":"30250:420:98"}]},"documentation":{"id":67445,"nodeType":"StructuredDocumentation","src":"28854:673:98","text":" @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold\n @return voterStakedPoints Voter staked points\n @return arbitrableConfigVersion Proposal arbitrable config id"},"functionSelector":"c7f758a8","implemented":true,"kind":"function","modifiers":[],"name":"getProposal","nameLocation":"29541:11:98","parameters":{"id":67448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67447,"mutability":"mutable","name":"_proposalId","nameLocation":"29561:11:98","nodeType":"VariableDeclaration","scope":67522,"src":"29553:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67446,"name":"uint256","nodeType":"ElementaryTypeName","src":"29553:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29552:21:98"},"returnParameters":{"id":67472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67450,"mutability":"mutable","name":"submitter","nameLocation":"29658:9:98","nodeType":"VariableDeclaration","scope":67522,"src":"29650:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67449,"name":"address","nodeType":"ElementaryTypeName","src":"29650:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67452,"mutability":"mutable","name":"beneficiary","nameLocation":"29689:11:98","nodeType":"VariableDeclaration","scope":67522,"src":"29681:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67451,"name":"address","nodeType":"ElementaryTypeName","src":"29681:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67454,"mutability":"mutable","name":"requestedToken","nameLocation":"29722:14:98","nodeType":"VariableDeclaration","scope":67522,"src":"29714:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67453,"name":"address","nodeType":"ElementaryTypeName","src":"29714:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67456,"mutability":"mutable","name":"requestedAmount","nameLocation":"29758:15:98","nodeType":"VariableDeclaration","scope":67522,"src":"29750:23:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67455,"name":"uint256","nodeType":"ElementaryTypeName","src":"29750:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67458,"mutability":"mutable","name":"stakedAmount","nameLocation":"29795:12:98","nodeType":"VariableDeclaration","scope":67522,"src":"29787:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67457,"name":"uint256","nodeType":"ElementaryTypeName","src":"29787:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67461,"mutability":"mutable","name":"proposalStatus","nameLocation":"29851:14:98","nodeType":"VariableDeclaration","scope":67522,"src":"29821:44:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":67460,"nodeType":"UserDefinedTypeName","pathNode":{"id":67459,"name":"StrategyStruct.ProposalStatus","nameLocations":["29821:14:98","29836:14:98"],"nodeType":"IdentifierPath","referencedDeclaration":65563,"src":"29821:29:98"},"referencedDeclaration":65563,"src":"29821:29:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":67463,"mutability":"mutable","name":"blockLast","nameLocation":"29887:9:98","nodeType":"VariableDeclaration","scope":67522,"src":"29879:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67462,"name":"uint256","nodeType":"ElementaryTypeName","src":"29879:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67465,"mutability":"mutable","name":"convictionLast","nameLocation":"29918:14:98","nodeType":"VariableDeclaration","scope":67522,"src":"29910:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67464,"name":"uint256","nodeType":"ElementaryTypeName","src":"29910:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67467,"mutability":"mutable","name":"threshold","nameLocation":"29954:9:98","nodeType":"VariableDeclaration","scope":67522,"src":"29946:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67466,"name":"uint256","nodeType":"ElementaryTypeName","src":"29946:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67469,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"29985:17:98","nodeType":"VariableDeclaration","scope":67522,"src":"29977:25:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67468,"name":"uint256","nodeType":"ElementaryTypeName","src":"29977:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67471,"mutability":"mutable","name":"arbitrableConfigVersion","nameLocation":"30024:23:98","nodeType":"VariableDeclaration","scope":67522,"src":"30016:31:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67470,"name":"uint256","nodeType":"ElementaryTypeName","src":"30016:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29636:421:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67543,"nodeType":"FunctionDefinition","src":"30683:206:98","nodes":[],"body":{"id":67542,"nodeType":"Block","src":"30773:116:98","nodes":[],"statements":[{"assignments":[67534],"declarations":[{"constant":false,"id":67534,"mutability":"mutable","name":"proposal","nameLocation":"30815:8:98","nodeType":"VariableDeclaration","scope":67542,"src":"30783:40:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67533,"nodeType":"UserDefinedTypeName","pathNode":{"id":67532,"name":"StrategyStruct.Proposal","nameLocations":["30783:14:98","30798:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"30783:23:98"},"referencedDeclaration":65604,"src":"30783:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67538,"initialValue":{"baseExpression":{"id":67535,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"30826:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67537,"indexExpression":{"id":67536,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67524,"src":"30836:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30826:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"30783:65:98"},{"expression":{"expression":{"id":67539,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67534,"src":"30865:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67540,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30874:8:98","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":65596,"src":"30865:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"functionReturnParameters":67529,"id":67541,"nodeType":"Return","src":"30858:24:98"}]},"functionSelector":"a574cea4","implemented":true,"kind":"function","modifiers":[],"name":"getMetadata","nameLocation":"30692:11:98","parameters":{"id":67525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67524,"mutability":"mutable","name":"_proposalId","nameLocation":"30712:11:98","nodeType":"VariableDeclaration","scope":67543,"src":"30704:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67523,"name":"uint256","nodeType":"ElementaryTypeName","src":"30704:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30703:21:98"},"returnParameters":{"id":67529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67528,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67543,"src":"30756:15:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":67527,"nodeType":"UserDefinedTypeName","pathNode":{"id":67526,"name":"Metadata","nameLocations":["30756:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"30756:8:98"},"referencedDeclaration":3098,"src":"30756:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"30755:17:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67559,"nodeType":"FunctionDefinition","src":"31090:184:98","nodes":[],"body":{"id":67558,"nodeType":"Block","src":"31198:76:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":67554,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67546,"src":"31247:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67555,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67548,"src":"31260:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":67553,"name":"_internal_getProposalVoterStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67644,"src":"31215:31:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":67556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31215:52:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67552,"id":67557,"nodeType":"Return","src":"31208:59:98"}]},"documentation":{"id":67544,"nodeType":"StructuredDocumentation","src":"30895:190:98","text":" @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake"},"functionSelector":"e0dd2c38","implemented":true,"kind":"function","modifiers":[],"name":"getProposalVoterStake","nameLocation":"31099:21:98","parameters":{"id":67549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67546,"mutability":"mutable","name":"_proposalId","nameLocation":"31129:11:98","nodeType":"VariableDeclaration","scope":67559,"src":"31121:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67545,"name":"uint256","nodeType":"ElementaryTypeName","src":"31121:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67548,"mutability":"mutable","name":"_voter","nameLocation":"31150:6:98","nodeType":"VariableDeclaration","scope":67559,"src":"31142:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67547,"name":"address","nodeType":"ElementaryTypeName","src":"31142:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31120:37:98"},"returnParameters":{"id":67552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67559,"src":"31189:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67550,"name":"uint256","nodeType":"ElementaryTypeName","src":"31189:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31188:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67572,"nodeType":"FunctionDefinition","src":"31280:153:98","nodes":[],"body":{"id":67571,"nodeType":"Block","src":"31374:59:98","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":67566,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"31391:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67568,"indexExpression":{"id":67567,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67561,"src":"31401:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31391:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":67569,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31414:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"31391:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67565,"id":67570,"nodeType":"Return","src":"31384:42:98"}]},"functionSelector":"dc96ff2d","implemented":true,"kind":"function","modifiers":[],"name":"getProposalStakedAmount","nameLocation":"31289:23:98","parameters":{"id":67562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67561,"mutability":"mutable","name":"_proposalId","nameLocation":"31321:11:98","nodeType":"VariableDeclaration","scope":67572,"src":"31313:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67560,"name":"uint256","nodeType":"ElementaryTypeName","src":"31313:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31312:21:98"},"returnParameters":{"id":67565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67564,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67572,"src":"31365:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67563,"name":"uint256","nodeType":"ElementaryTypeName","src":"31365:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31364:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67584,"nodeType":"FunctionDefinition","src":"31501:135:98","nodes":[],"body":{"id":67583,"nodeType":"Block","src":"31586:50:98","nodes":[],"statements":[{"expression":{"baseExpression":{"id":67579,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65952,"src":"31603:18:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67581,"indexExpression":{"id":67580,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67574,"src":"31622:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31603:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67578,"id":67582,"nodeType":"Return","src":"31596:33:98"}]},"functionSelector":"bcc5b93b","implemented":true,"kind":"function","modifiers":[],"name":"getTotalVoterStakePct","nameLocation":"31510:21:98","parameters":{"id":67575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67574,"mutability":"mutable","name":"_voter","nameLocation":"31540:6:98","nodeType":"VariableDeclaration","scope":67584,"src":"31532:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67573,"name":"address","nodeType":"ElementaryTypeName","src":"31532:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31531:16:98"},"returnParameters":{"id":67578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67577,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67584,"src":"31577:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67576,"name":"uint256","nodeType":"ElementaryTypeName","src":"31577:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31576:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":67627,"nodeType":"FunctionDefinition","src":"31642:874:98","nodes":[],"body":{"id":67626,"nodeType":"Block","src":"31992:524:98","nodes":[],"statements":[{"expression":{"components":[{"expression":{"baseExpression":{"id":67600,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"32023:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67602,"indexExpression":{"id":67601,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"32041:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32023:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67603,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32073:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"32023:60:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},{"expression":{"baseExpression":{"id":67604,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"32097:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67606,"indexExpression":{"id":67605,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"32115:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32097:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67607,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32147:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"32097:62:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":67608,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"32173:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67610,"indexExpression":{"id":67609,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"32191:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32173:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67611,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32223:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"32173:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":67612,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"32262:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67614,"indexExpression":{"id":67613,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"32280:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32262:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67615,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32312:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"32262:76:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":67616,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"32352:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67618,"indexExpression":{"id":67617,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"32370:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32352:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67619,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32402:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"32352:63:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":67620,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"32429:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67622,"indexExpression":{"id":67621,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"32447:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32429:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67623,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32479:20:98","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"32429:70:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67624,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"32009:500:98","typeDescriptions":{"typeIdentifier":"t_tuple$_t_contract$_IArbitrator_$74044_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":67599,"id":67625,"nodeType":"Return","src":"32002:507:98"}]},"functionSelector":"059351cd","implemented":true,"kind":"function","modifiers":[],"name":"getArbitrableConfig","nameLocation":"31651:19:98","parameters":{"id":67585,"nodeType":"ParameterList","parameters":[],"src":"31670:2:98"},"returnParameters":{"id":67599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67588,"mutability":"mutable","name":"arbitrator","nameLocation":"31761:10:98","nodeType":"VariableDeclaration","scope":67627,"src":"31749:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"},"typeName":{"id":67587,"nodeType":"UserDefinedTypeName","pathNode":{"id":67586,"name":"IArbitrator","nameLocations":["31749:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":74044,"src":"31749:11:98"},"referencedDeclaration":74044,"src":"31749:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":67590,"mutability":"mutable","name":"tribunalSafe","nameLocation":"31793:12:98","nodeType":"VariableDeclaration","scope":67627,"src":"31785:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67589,"name":"address","nodeType":"ElementaryTypeName","src":"31785:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67592,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"31827:25:98","nodeType":"VariableDeclaration","scope":67627,"src":"31819:33:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67591,"name":"uint256","nodeType":"ElementaryTypeName","src":"31819:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67594,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"31874:26:98","nodeType":"VariableDeclaration","scope":67627,"src":"31866:34:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67593,"name":"uint256","nodeType":"ElementaryTypeName","src":"31866:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67596,"mutability":"mutable","name":"defaultRuling","nameLocation":"31922:13:98","nodeType":"VariableDeclaration","scope":67627,"src":"31914:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67595,"name":"uint256","nodeType":"ElementaryTypeName","src":"31914:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67598,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"31957:20:98","nodeType":"VariableDeclaration","scope":67627,"src":"31949:28:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67597,"name":"uint256","nodeType":"ElementaryTypeName","src":"31949:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31735:252:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67644,"nodeType":"FunctionDefinition","src":"32522:226:98","nodes":[],"body":{"id":67643,"nodeType":"Block","src":"32676:72:98","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":67636,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"32693:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67638,"indexExpression":{"id":67637,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67629,"src":"32703:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32693:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":67639,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32716:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65593,"src":"32693:40:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67641,"indexExpression":{"id":67640,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67631,"src":"32734:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32693:48:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67635,"id":67642,"nodeType":"Return","src":"32686:55:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_internal_getProposalVoterStake","nameLocation":"32531:31:98","parameters":{"id":67632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67629,"mutability":"mutable","name":"_proposalId","nameLocation":"32571:11:98","nodeType":"VariableDeclaration","scope":67644,"src":"32563:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67628,"name":"uint256","nodeType":"ElementaryTypeName","src":"32563:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67631,"mutability":"mutable","name":"_voter","nameLocation":"32592:6:98","nodeType":"VariableDeclaration","scope":67644,"src":"32584:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67630,"name":"address","nodeType":"ElementaryTypeName","src":"32584:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32562:37:98"},"returnParameters":{"id":67635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67634,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67644,"src":"32663:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67633,"name":"uint256","nodeType":"ElementaryTypeName","src":"32663:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32662:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67655,"nodeType":"FunctionDefinition","src":"32754:158:98","nodes":[],"body":{"id":67654,"nodeType":"Block","src":"32826:86:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":67649,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"32843:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":67650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32843:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":67651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32866:20:98","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":72537,"src":"32843:43:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":67652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32843:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67648,"id":67653,"nodeType":"Return","src":"32836:52:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"32763:20:98","parameters":{"id":67645,"nodeType":"ParameterList","parameters":[],"src":"32783:2:98"},"returnParameters":{"id":67648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67647,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67655,"src":"32817:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67646,"name":"uint256","nodeType":"ElementaryTypeName","src":"32817:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32816:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67680,"nodeType":"FunctionDefinition","src":"32918:193:98","nodes":[],"body":{"id":67679,"nodeType":"Block","src":"33000:111:98","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":67662,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"33017:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67664,"indexExpression":{"id":67663,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67657,"src":"33027:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33017:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":67665,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33040:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65572,"src":"33017:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":67666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33053:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"33017:37:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":67668,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"33058:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67670,"indexExpression":{"id":67669,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67657,"src":"33068:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33058:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":67671,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33081:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"33058:32:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":67674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33102:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":67673,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33094:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67672,"name":"address","nodeType":"ElementaryTypeName","src":"33094:7:98","typeDescriptions":{}}},"id":67675,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33094:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"33058:46:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"33017:87:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":67661,"id":67678,"nodeType":"Return","src":"33010:94:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"proposalExists","nameLocation":"32927:14:98","parameters":{"id":67658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67657,"mutability":"mutable","name":"_proposalID","nameLocation":"32950:11:98","nodeType":"VariableDeclaration","scope":67680,"src":"32942:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67656,"name":"uint256","nodeType":"ElementaryTypeName","src":"32942:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32941:21:98"},"returnParameters":{"id":67661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67660,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67680,"src":"32994:4:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67659,"name":"bool","nodeType":"ElementaryTypeName","src":"32994:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32993:6:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67699,"nodeType":"FunctionDefinition","src":"33117:191:98","nodes":[],"body":{"id":67698,"nodeType":"Block","src":"33220:88:98","nodes":[],"statements":[{"expression":{"id":67696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67687,"name":"isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67685,"src":"33230:14:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67688,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"33247:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":67689,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33256:8:98","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":65628,"src":"33247:17:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":67690,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"33267:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33247:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67692,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67682,"src":"33281:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":67693,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"33300:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33281:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33247:54:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"33230:71:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67697,"nodeType":"ExpressionStatement","src":"33230:71:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isOverMaxRatio","nameLocation":"33126:15:98","parameters":{"id":67683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67682,"mutability":"mutable","name":"_requestedAmount","nameLocation":"33150:16:98","nodeType":"VariableDeclaration","scope":67699,"src":"33142:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67681,"name":"uint256","nodeType":"ElementaryTypeName","src":"33142:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33141:26:98"},"returnParameters":{"id":67686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67685,"mutability":"mutable","name":"isOverMaxRatio","nameLocation":"33204:14:98","nodeType":"VariableDeclaration","scope":67699,"src":"33199:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67684,"name":"bool","nodeType":"ElementaryTypeName","src":"33199:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33198:21:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67796,"nodeType":"FunctionDefinition","src":"33314:1553:98","nodes":[],"body":{"id":67795,"nodeType":"Block","src":"33444:1423:98","nodes":[],"statements":[{"assignments":[67709],"declarations":[{"constant":false,"id":67709,"mutability":"mutable","name":"deltaSupportSum","nameLocation":"33461:15:98","nodeType":"VariableDeclaration","scope":67795,"src":"33454:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67708,"name":"int256","nodeType":"ElementaryTypeName","src":"33454:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":67711,"initialValue":{"hexValue":"30","id":67710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33479:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33454:26:98"},{"body":{"id":67756,"nodeType":"Block","src":"33544:576:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":67723,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67705,"src":"33617:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67725,"indexExpression":{"id":67724,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67713,"src":"33634:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33617:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65609_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67726,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33637:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65606,"src":"33617:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33651:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"33617:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67731,"nodeType":"IfStatement","src":"33613:187:98","trueBody":{"id":67730,"nodeType":"Block","src":"33654:146:98","statements":[{"id":67729,"nodeType":"Continue","src":"33777:8:98"}]}},{"assignments":[67733],"declarations":[{"constant":false,"id":67733,"mutability":"mutable","name":"proposalId","nameLocation":"33821:10:98","nodeType":"VariableDeclaration","scope":67756,"src":"33813:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67732,"name":"uint256","nodeType":"ElementaryTypeName","src":"33813:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67738,"initialValue":{"expression":{"baseExpression":{"id":67734,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67705,"src":"33834:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67736,"indexExpression":{"id":67735,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67713,"src":"33851:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33834:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65609_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67737,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33854:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65606,"src":"33834:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33813:51:98"},{"condition":{"id":67742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"33882:27:98","subExpression":{"arguments":[{"id":67740,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67733,"src":"33898:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67739,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67680,"src":"33883:14:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":67741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33883:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67748,"nodeType":"IfStatement","src":"33878:167:98","trueBody":{"id":67747,"nodeType":"Block","src":"33911:134:98","statements":[{"errorCall":{"arguments":[{"id":67744,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67733,"src":"33954:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67743,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65717,"src":"33936:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":67745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33936:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67746,"nodeType":"RevertStatement","src":"33929:36:98"}]}},{"expression":{"id":67754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67749,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67709,"src":"34058:15:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":67750,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67705,"src":"34077:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67752,"indexExpression":{"id":67751,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67713,"src":"34094:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34077:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65609_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67753,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34097:12:98","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":65608,"src":"34077:32:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"34058:51:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":67755,"nodeType":"ExpressionStatement","src":"34058:51:98"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67716,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67713,"src":"33510:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67717,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67705,"src":"33514:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33531:6:98","memberName":"length","nodeType":"MemberAccess","src":"33514:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33510:27:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67757,"initializationExpression":{"assignments":[67713],"declarations":[{"constant":false,"id":67713,"mutability":"mutable","name":"i","nameLocation":"33503:1:98","nodeType":"VariableDeclaration","scope":67757,"src":"33495:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67712,"name":"uint256","nodeType":"ElementaryTypeName","src":"33495:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67715,"initialValue":{"hexValue":"30","id":67714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33507:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33495:13:98"},"loopExpression":{"expression":{"id":67721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"33539:3:98","subExpression":{"id":67720,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67713,"src":"33539:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67722,"nodeType":"ExpressionStatement","src":"33539:3:98"},"nodeType":"ForStatement","src":"33490:630:98"},{"assignments":[67759],"declarations":[{"constant":false,"id":67759,"mutability":"mutable","name":"newTotalVotingSupport","nameLocation":"34224:21:98","nodeType":"VariableDeclaration","scope":67795,"src":"34216:29:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67758,"name":"uint256","nodeType":"ElementaryTypeName","src":"34216:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67766,"initialValue":{"arguments":[{"arguments":[{"id":67762,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67701,"src":"34282:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67761,"name":"getTotalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67584,"src":"34260:21:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":67763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34260:30:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67764,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67709,"src":"34292:15:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":67760,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68118,"src":"34248:11:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":67765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34248:60:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34216:92:98"},{"assignments":[67768],"declarations":[{"constant":false,"id":67768,"mutability":"mutable","name":"participantBalance","nameLocation":"34398:18:98","nodeType":"VariableDeclaration","scope":67795,"src":"34390:26:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67767,"name":"uint256","nodeType":"ElementaryTypeName","src":"34390:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67778,"initialValue":{"arguments":[{"id":67772,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67701,"src":"34467:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67775,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"34484:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":67774,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34476:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67773,"name":"address","nodeType":"ElementaryTypeName","src":"34476:7:98","typeDescriptions":{}}},"id":67776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34476:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":67769,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"34419:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":67770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34419:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":67771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34442:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72137,"src":"34419:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":67777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34419:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34390:100:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67779,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67759,"src":"34656:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":67780,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67768,"src":"34680:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34656:42:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67788,"nodeType":"IfStatement","src":"34652:147:98","trueBody":{"id":67787,"nodeType":"Block","src":"34700:99:98","statements":[{"errorCall":{"arguments":[{"id":67783,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67759,"src":"34746:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67784,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67768,"src":"34769:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67782,"name":"NotEnoughPointsToSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65705,"src":"34721:24:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":67785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34721:67:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67786,"nodeType":"RevertStatement","src":"34714:74:98"}]}},{"expression":{"id":67793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67789,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65952,"src":"34809:18:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67791,"indexExpression":{"id":67790,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67701,"src":"34828:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"34809:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67792,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67759,"src":"34839:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34809:51:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67794,"nodeType":"ExpressionStatement","src":"34809:51:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_check_before_addSupport","nameLocation":"33323:24:98","parameters":{"id":67706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67701,"mutability":"mutable","name":"_sender","nameLocation":"33356:7:98","nodeType":"VariableDeclaration","scope":67796,"src":"33348:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67700,"name":"address","nodeType":"ElementaryTypeName","src":"33348:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67705,"mutability":"mutable","name":"_proposalSupport","nameLocation":"33405:16:98","nodeType":"VariableDeclaration","scope":67796,"src":"33365:56:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":67703,"nodeType":"UserDefinedTypeName","pathNode":{"id":67702,"name":"StrategyStruct.ProposalSupport","nameLocations":["33365:14:98","33380:15:98"],"nodeType":"IdentifierPath","referencedDeclaration":65609,"src":"33365:30:98"},"referencedDeclaration":65609,"src":"33365:30:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65609_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":67704,"nodeType":"ArrayTypeName","src":"33365:32:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"33347:75:98"},"returnParameters":{"id":67707,"nodeType":"ParameterList","parameters":[],"src":"33444:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":68083,"nodeType":"FunctionDefinition","src":"34873:3487:98","nodes":[],"body":{"id":68082,"nodeType":"Block","src":"34986:3374:98","nodes":[],"statements":[{"assignments":[67809],"declarations":[{"constant":false,"id":67809,"mutability":"mutable","name":"proposalsIds","nameLocation":"35013:12:98","nodeType":"VariableDeclaration","scope":68082,"src":"34996:29:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":67807,"name":"uint256","nodeType":"ElementaryTypeName","src":"34996:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67808,"nodeType":"ArrayTypeName","src":"34996:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":67810,"nodeType":"VariableDeclarationStatement","src":"34996:29:98"},{"body":{"id":68080,"nodeType":"Block","src":"35089:3265:98","statements":[{"assignments":[67823],"declarations":[{"constant":false,"id":67823,"mutability":"mutable","name":"proposalId","nameLocation":"35111:10:98","nodeType":"VariableDeclaration","scope":68080,"src":"35103:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67822,"name":"uint256","nodeType":"ElementaryTypeName","src":"35103:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67828,"initialValue":{"expression":{"baseExpression":{"id":67824,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67802,"src":"35124:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67826,"indexExpression":{"id":67825,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67812,"src":"35141:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35124:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65609_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67827,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35144:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65606,"src":"35124:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"35103:51:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67829,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"35227:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35240:6:98","memberName":"length","nodeType":"MemberAccess","src":"35227:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35250:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"35227:24:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":67931,"nodeType":"Block","src":"35379:764:98","statements":[{"assignments":[67849],"declarations":[{"constant":false,"id":67849,"mutability":"mutable","name":"exist","nameLocation":"35402:5:98","nodeType":"VariableDeclaration","scope":67931,"src":"35397:10:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67848,"name":"bool","nodeType":"ElementaryTypeName","src":"35397:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":67851,"initialValue":{"hexValue":"66616c7365","id":67850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35410:5:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"35397:18:98"},{"body":{"id":67879,"nodeType":"Block","src":"35483:268:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":67863,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"35534:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67865,"indexExpression":{"id":67864,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67853,"src":"35547:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35534:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":67866,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67823,"src":"35553:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35534:29:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67878,"nodeType":"IfStatement","src":"35530:203:98","trueBody":{"id":67877,"nodeType":"Block","src":"35565:168:98","statements":[{"expression":{"id":67870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67868,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67849,"src":"35591:5:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":67869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35599:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"35591:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67871,"nodeType":"ExpressionStatement","src":"35591:12:98"},{"errorCall":{"arguments":[{"id":67873,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67823,"src":"35662:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67874,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67853,"src":"35674:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67872,"name":"ProposalSupportDuplicated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65723,"src":"35636:25:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":67875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35636:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67876,"nodeType":"RevertStatement","src":"35629:47:98"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67856,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67853,"src":"35453:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67857,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"35457:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35470:6:98","memberName":"length","nodeType":"MemberAccess","src":"35457:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35453:23:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67880,"initializationExpression":{"assignments":[67853],"declarations":[{"constant":false,"id":67853,"mutability":"mutable","name":"j","nameLocation":"35446:1:98","nodeType":"VariableDeclaration","scope":67880,"src":"35438:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67852,"name":"uint256","nodeType":"ElementaryTypeName","src":"35438:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67855,"initialValue":{"hexValue":"30","id":67854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35450:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35438:13:98"},"loopExpression":{"expression":{"id":67861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35478:3:98","subExpression":{"id":67860,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67853,"src":"35478:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67862,"nodeType":"ExpressionStatement","src":"35478:3:98"},"nodeType":"ForStatement","src":"35433:318:98"},{"condition":{"id":67882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"35772:6:98","subExpression":{"id":67881,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67849,"src":"35773:5:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67930,"nodeType":"IfStatement","src":"35768:361:98","trueBody":{"id":67929,"nodeType":"Block","src":"35780:349:98","statements":[{"assignments":[67887],"declarations":[{"constant":false,"id":67887,"mutability":"mutable","name":"temp","nameLocation":"35819:4:98","nodeType":"VariableDeclaration","scope":67929,"src":"35802:21:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":67885,"name":"uint256","nodeType":"ElementaryTypeName","src":"35802:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67886,"nodeType":"ArrayTypeName","src":"35802:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":67896,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67891,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"35840:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35853:6:98","memberName":"length","nodeType":"MemberAccess","src":"35840:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":67893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35862:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"35840:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67890,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"35826:13:98","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":67888,"name":"uint256","nodeType":"ElementaryTypeName","src":"35830:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67889,"nodeType":"ArrayTypeName","src":"35830:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":67895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35826:38:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"35802:62:98"},{"body":{"id":67916,"nodeType":"Block","src":"35936:74:98","statements":[{"expression":{"id":67914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67908,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67887,"src":"35962:4:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67910,"indexExpression":{"id":67909,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67898,"src":"35967:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35962:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":67911,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"35972:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67913,"indexExpression":{"id":67912,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67898,"src":"35985:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35972:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35962:25:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67915,"nodeType":"ExpressionStatement","src":"35962:25:98"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67901,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67898,"src":"35906:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67902,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"35910:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35923:6:98","memberName":"length","nodeType":"MemberAccess","src":"35910:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35906:23:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67917,"initializationExpression":{"assignments":[67898],"declarations":[{"constant":false,"id":67898,"mutability":"mutable","name":"j","nameLocation":"35899:1:98","nodeType":"VariableDeclaration","scope":67917,"src":"35891:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67897,"name":"uint256","nodeType":"ElementaryTypeName","src":"35891:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67900,"initialValue":{"hexValue":"30","id":67899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35903:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35891:13:98"},"loopExpression":{"expression":{"id":67906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35931:3:98","subExpression":{"id":67905,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67898,"src":"35931:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67907,"nodeType":"ExpressionStatement","src":"35931:3:98"},"nodeType":"ForStatement","src":"35886:124:98"},{"expression":{"id":67923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67918,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67887,"src":"36031:4:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67921,"indexExpression":{"expression":{"id":67919,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"36036:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36049:6:98","memberName":"length","nodeType":"MemberAccess","src":"36036:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"36031:25:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67922,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67823,"src":"36059:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36031:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67924,"nodeType":"ExpressionStatement","src":"36031:38:98"},{"expression":{"id":67927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67925,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"36091:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67926,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67887,"src":"36106:4:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"36091:19:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67928,"nodeType":"ExpressionStatement","src":"36091:19:98"}]}}]},"id":67932,"nodeType":"IfStatement","src":"35223:920:98","trueBody":{"id":67847,"nodeType":"Block","src":"35253:120:98","statements":[{"expression":{"id":67839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67833,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"35271:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":67837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35300:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":67836,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"35286:13:98","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":67834,"name":"uint256","nodeType":"ElementaryTypeName","src":"35290:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67835,"nodeType":"ArrayTypeName","src":"35290:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":67838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35286:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"35271:31:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67840,"nodeType":"ExpressionStatement","src":"35271:31:98"},{"expression":{"id":67845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67841,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"35320:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67843,"indexExpression":{"hexValue":"30","id":67842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35333:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35320:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67844,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67823,"src":"35338:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35320:28:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67846,"nodeType":"ExpressionStatement","src":"35320:28:98"}]}},{"assignments":[67934],"declarations":[{"constant":false,"id":67934,"mutability":"mutable","name":"delta","nameLocation":"36163:5:98","nodeType":"VariableDeclaration","scope":68080,"src":"36156:12:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67933,"name":"int256","nodeType":"ElementaryTypeName","src":"36156:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":67939,"initialValue":{"expression":{"baseExpression":{"id":67935,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67802,"src":"36171:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67937,"indexExpression":{"id":67936,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67812,"src":"36188:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36171:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65609_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67938,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36191:12:98","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":65608,"src":"36171:32:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"36156:47:98"},{"assignments":[67944],"declarations":[{"constant":false,"id":67944,"mutability":"mutable","name":"proposal","nameLocation":"36250:8:98","nodeType":"VariableDeclaration","scope":68080,"src":"36218:40:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67943,"nodeType":"UserDefinedTypeName","pathNode":{"id":67942,"name":"StrategyStruct.Proposal","nameLocations":["36218:14:98","36233:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"36218:23:98"},"referencedDeclaration":65604,"src":"36218:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67948,"initialValue":{"baseExpression":{"id":67945,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"36261:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67947,"indexExpression":{"id":67946,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67823,"src":"36271:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36261:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"36218:64:98"},{"assignments":[67950],"declarations":[{"constant":false,"id":67950,"mutability":"mutable","name":"previousStakedPoints","nameLocation":"36392:20:98","nodeType":"VariableDeclaration","scope":68080,"src":"36384:28:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67949,"name":"uint256","nodeType":"ElementaryTypeName","src":"36384:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67955,"initialValue":{"baseExpression":{"expression":{"id":67951,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"36415:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67952,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36424:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65593,"src":"36415:26:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67954,"indexExpression":{"id":67953,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67798,"src":"36442:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36415:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36384:66:98"},{"assignments":[67957],"declarations":[{"constant":false,"id":67957,"mutability":"mutable","name":"stakedPoints","nameLocation":"36623:12:98","nodeType":"VariableDeclaration","scope":68080,"src":"36615:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67956,"name":"uint256","nodeType":"ElementaryTypeName","src":"36615:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67962,"initialValue":{"arguments":[{"id":67959,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67950,"src":"36650:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67960,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67934,"src":"36672:5:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":67958,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68118,"src":"36638:11:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":67961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36638:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36615:63:98"},{"expression":{"id":67969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":67963,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"36813:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67966,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36822:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65593,"src":"36813:26:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67967,"indexExpression":{"id":67965,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67798,"src":"36840:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"36813:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67968,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67957,"src":"36851:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36813:50:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67970,"nodeType":"ExpressionStatement","src":"36813:50:98"},{"assignments":[67972],"declarations":[{"constant":false,"id":67972,"mutability":"mutable","name":"hasProposal","nameLocation":"37102:11:98","nodeType":"VariableDeclaration","scope":68080,"src":"37097:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67971,"name":"bool","nodeType":"ElementaryTypeName","src":"37097:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":67974,"initialValue":{"hexValue":"66616c7365","id":67973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"37116:5:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"37097:24:98"},{"body":{"id":68003,"nodeType":"Block","src":"37202:179:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":67988,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65957,"src":"37224:20:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67990,"indexExpression":{"id":67989,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67798,"src":"37245:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37224:29:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":67992,"indexExpression":{"id":67991,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67976,"src":"37254:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37224:32:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":67993,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"37260:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67994,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37269:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65572,"src":"37260:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37224:55:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68002,"nodeType":"IfStatement","src":"37220:147:98","trueBody":{"id":68001,"nodeType":"Block","src":"37281:86:98","statements":[{"expression":{"id":67998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67996,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67972,"src":"37303:11:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":67997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"37317:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"37303:18:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67999,"nodeType":"ExpressionStatement","src":"37303:18:98"},{"id":68000,"nodeType":"Break","src":"37343:5:98"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67979,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67976,"src":"37155:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":67980,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65957,"src":"37159:20:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67982,"indexExpression":{"id":67981,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67798,"src":"37180:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37159:29:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":67983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37189:6:98","memberName":"length","nodeType":"MemberAccess","src":"37159:36:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37155:40:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68004,"initializationExpression":{"assignments":[67976],"declarations":[{"constant":false,"id":67976,"mutability":"mutable","name":"k","nameLocation":"37148:1:98","nodeType":"VariableDeclaration","scope":68004,"src":"37140:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67975,"name":"uint256","nodeType":"ElementaryTypeName","src":"37140:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67978,"initialValue":{"hexValue":"30","id":67977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37152:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"37140:13:98"},"loopExpression":{"expression":{"id":67986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"37197:3:98","subExpression":{"id":67985,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67976,"src":"37197:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67987,"nodeType":"ExpressionStatement","src":"37197:3:98"},"nodeType":"ForStatement","src":"37135:246:98"},{"condition":{"id":68006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"37398:12:98","subExpression":{"id":68005,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67972,"src":"37399:11:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68016,"nodeType":"IfStatement","src":"37394:106:98","trueBody":{"id":68015,"nodeType":"Block","src":"37412:88:98","statements":[{"expression":{"arguments":[{"expression":{"id":68011,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"37465:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68012,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37474:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65572,"src":"37465:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":68007,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65957,"src":"37430:20:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":68009,"indexExpression":{"id":68008,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67798,"src":"37451:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37430:29:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":68010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37460:4:98","memberName":"push","nodeType":"MemberAccess","src":"37430:34:98","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":68013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37430:55:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68014,"nodeType":"ExpressionStatement","src":"37430:55:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68017,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67950,"src":"37655:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":68018,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67957,"src":"37679:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37655:36:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":68049,"nodeType":"Block","src":"37860:161:98","statements":[{"expression":{"id":68039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68035,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65921,"src":"37878:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68036,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67950,"src":"37893:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68037,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67957,"src":"37916:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37893:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37878:50:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68040,"nodeType":"ExpressionStatement","src":"37878:50:98"},{"expression":{"id":68047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68041,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"37946:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68043,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37955:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"37946:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68044,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67950,"src":"37971:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68045,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67957,"src":"37994:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37971:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37946:60:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68048,"nodeType":"ExpressionStatement","src":"37946:60:98"}]},"id":68050,"nodeType":"IfStatement","src":"37651:370:98","trueBody":{"id":68034,"nodeType":"Block","src":"37693:161:98","statements":[{"expression":{"id":68024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68020,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65921,"src":"37711:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68021,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67957,"src":"37726:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68022,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67950,"src":"37741:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37726:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37711:50:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68025,"nodeType":"ExpressionStatement","src":"37711:50:98"},{"expression":{"id":68032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68026,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"37779:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68028,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37788:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"37779:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68029,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67957,"src":"37804:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68030,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67950,"src":"37819:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37804:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37779:60:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68033,"nodeType":"ExpressionStatement","src":"37779:60:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68051,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"38038:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68052,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38047:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65586,"src":"38038:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38060:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38038:23:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":68078,"nodeType":"Block","src":"38135:209:98","statements":[{"expression":{"arguments":[{"id":68064,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"38180:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":68065,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67950,"src":"38190:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68063,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68418,"src":"38153:26:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$65604_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":68066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38153:58:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68067,"nodeType":"ExpressionStatement","src":"38153:58:98"},{"eventCall":{"arguments":[{"id":68069,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67798,"src":"38247:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":68070,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67823,"src":"38256:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68071,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67957,"src":"38268:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68072,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"38282:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68073,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38291:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"38282:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68074,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"38305:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68075,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38314:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"38305:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68068,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65824,"src":"38234:12:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":68076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38234:95:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68077,"nodeType":"EmitStatement","src":"38229:100:98"}]},"id":68079,"nodeType":"IfStatement","src":"38034:310:98","trueBody":{"id":68062,"nodeType":"Block","src":"38063:66:98","statements":[{"expression":{"id":68060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68055,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"38081:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68057,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"38090:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65586,"src":"38081:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68058,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"38102:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38108:6:98","memberName":"number","nodeType":"MemberAccess","src":"38102:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38081:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68061,"nodeType":"ExpressionStatement","src":"38081:33:98"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67815,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67812,"src":"35055:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67816,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67802,"src":"35059:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35076:6:98","memberName":"length","nodeType":"MemberAccess","src":"35059:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35055:27:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68081,"initializationExpression":{"assignments":[67812],"declarations":[{"constant":false,"id":67812,"mutability":"mutable","name":"i","nameLocation":"35048:1:98","nodeType":"VariableDeclaration","scope":68081,"src":"35040:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67811,"name":"uint256","nodeType":"ElementaryTypeName","src":"35040:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67814,"initialValue":{"hexValue":"30","id":67813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35052:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35040:13:98"},"loopExpression":{"expression":{"id":67820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35084:3:98","subExpression":{"id":67819,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67812,"src":"35084:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67821,"nodeType":"ExpressionStatement","src":"35084:3:98"},"nodeType":"ForStatement","src":"35035:3319:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addSupport","nameLocation":"34882:11:98","parameters":{"id":67803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67798,"mutability":"mutable","name":"_sender","nameLocation":"34902:7:98","nodeType":"VariableDeclaration","scope":68083,"src":"34894:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67797,"name":"address","nodeType":"ElementaryTypeName","src":"34894:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67802,"mutability":"mutable","name":"_proposalSupport","nameLocation":"34951:16:98","nodeType":"VariableDeclaration","scope":68083,"src":"34911:56:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":67800,"nodeType":"UserDefinedTypeName","pathNode":{"id":67799,"name":"StrategyStruct.ProposalSupport","nameLocations":["34911:14:98","34926:15:98"],"nodeType":"IdentifierPath","referencedDeclaration":65609,"src":"34911:30:98"},"referencedDeclaration":65609,"src":"34911:30:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65609_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":67801,"nodeType":"ArrayTypeName","src":"34911:32:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"34893:75:98"},"returnParameters":{"id":67804,"nodeType":"ParameterList","parameters":[],"src":"34986:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":68118,"nodeType":"FunctionDefinition","src":"38366:284:98","nodes":[],"body":{"id":68117,"nodeType":"Block","src":"38460:190:98","nodes":[],"statements":[{"assignments":[68093],"declarations":[{"constant":false,"id":68093,"mutability":"mutable","name":"result","nameLocation":"38477:6:98","nodeType":"VariableDeclaration","scope":68117,"src":"38470:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":68092,"name":"int256","nodeType":"ElementaryTypeName","src":"38470:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":68100,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":68099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":68096,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68085,"src":"38493:8:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68095,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38486:6:98","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":68094,"name":"int256","nodeType":"ElementaryTypeName","src":"38486:6:98","typeDescriptions":{}}},"id":68097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38486:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68098,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68087,"src":"38505:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"38486:25:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"38470:41:98"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":68103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68101,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68093,"src":"38526:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":68102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38535:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38526:10:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68111,"nodeType":"IfStatement","src":"38522:90:98","trueBody":{"id":68110,"nodeType":"Block","src":"38538:74:98","statements":[{"errorCall":{"arguments":[{"id":68105,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68085,"src":"38576:8:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68106,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68087,"src":"38586:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":68107,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68093,"src":"38594:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":68104,"name":"SupportUnderflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65695,"src":"38559:16:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":68108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38559:42:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68109,"nodeType":"RevertStatement","src":"38552:49:98"}]}},{"expression":{"arguments":[{"id":68114,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68093,"src":"38636:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":68113,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38628:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":68112,"name":"uint256","nodeType":"ElementaryTypeName","src":"38628:7:98","typeDescriptions":{}}},"id":68115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38628:15:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68091,"id":68116,"nodeType":"Return","src":"38621:22:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_applyDelta","nameLocation":"38375:11:98","parameters":{"id":68088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68085,"mutability":"mutable","name":"_support","nameLocation":"38395:8:98","nodeType":"VariableDeclaration","scope":68118,"src":"38387:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68084,"name":"uint256","nodeType":"ElementaryTypeName","src":"38387:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68087,"mutability":"mutable","name":"_delta","nameLocation":"38412:6:98","nodeType":"VariableDeclaration","scope":68118,"src":"38405:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":68086,"name":"int256","nodeType":"ElementaryTypeName","src":"38405:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"38386:33:98"},"returnParameters":{"id":68091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68090,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68118,"src":"38451:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68089,"name":"uint256","nodeType":"ElementaryTypeName","src":"38451:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38450:9:98"},"scope":69234,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68176,"nodeType":"FunctionDefinition","src":"39067:1191:98","nodes":[],"body":{"id":68175,"nodeType":"Block","src":"39230:1028:98","nodes":[],"statements":[{"assignments":[68131],"declarations":[{"constant":false,"id":68131,"mutability":"mutable","name":"t","nameLocation":"39248:1:98","nodeType":"VariableDeclaration","scope":68175,"src":"39240:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68130,"name":"uint256","nodeType":"ElementaryTypeName","src":"39240:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68133,"initialValue":{"id":68132,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68121,"src":"39252:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"39240:23:98"},{"assignments":[68135],"declarations":[{"constant":false,"id":68135,"mutability":"mutable","name":"atTWO_128","nameLocation":"39586:9:98","nodeType":"VariableDeclaration","scope":68175,"src":"39578:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68134,"name":"uint256","nodeType":"ElementaryTypeName","src":"39578:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68146,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68137,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"39604:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68138,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39613:5:98","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65632,"src":"39604:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":68139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39622:3:98","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"39604:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68141,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39603:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68142,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"39629:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39603:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68144,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68131,"src":"39632:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68136,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68369,"src":"39598:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":68145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39598:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"39578:56:98"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68147,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68135,"src":"40130:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68148,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68123,"src":"40142:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40130:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68150,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40129:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68151,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68125,"src":"40157:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68152,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"40170:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40157:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68154,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65892,"src":"40175:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68155,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68135,"src":"40185:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40175:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68157,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40174:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40157:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68159,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40156:40:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68160,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"40200:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68161,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"40204:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68162,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40213:5:98","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65632,"src":"40204:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40200:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68164,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40199:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40156:63:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68166,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40155:65:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40129:91:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68168,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40128:93:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68169,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65895,"src":"40224:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40128:103:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68171,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40127:105:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":68172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40248:3:98","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"40127:124:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68129,"id":68174,"nodeType":"Return","src":"40120:131:98"}]},"documentation":{"id":68119,"nodeType":"StructuredDocumentation","src":"38656:406:98","text":" @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction"},"functionSelector":"346db8cb","implemented":true,"kind":"function","modifiers":[],"name":"calculateConviction","nameLocation":"39076:19:98","parameters":{"id":68126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68121,"mutability":"mutable","name":"_timePassed","nameLocation":"39104:11:98","nodeType":"VariableDeclaration","scope":68176,"src":"39096:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68120,"name":"uint256","nodeType":"ElementaryTypeName","src":"39096:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68123,"mutability":"mutable","name":"_lastConv","nameLocation":"39125:9:98","nodeType":"VariableDeclaration","scope":68176,"src":"39117:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68122,"name":"uint256","nodeType":"ElementaryTypeName","src":"39117:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68125,"mutability":"mutable","name":"_oldAmount","nameLocation":"39144:10:98","nodeType":"VariableDeclaration","scope":68176,"src":"39136:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68124,"name":"uint256","nodeType":"ElementaryTypeName","src":"39136:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39095:60:98"},"returnParameters":{"id":68129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68128,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68176,"src":"39217:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68127,"name":"uint256","nodeType":"ElementaryTypeName","src":"39217:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39216:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68269,"nodeType":"FunctionDefinition","src":"40839:1549:98","nodes":[],"body":{"id":68268,"nodeType":"Block","src":"40942:1446:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68184,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"41076:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":68185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41090:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"41076:15:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68191,"nodeType":"IfStatement","src":"41072:66:98","trueBody":{"id":68190,"nodeType":"Block","src":"41093:45:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68187,"name":"PoolIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65673,"src":"41114:11:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41114:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68189,"nodeType":"RevertStatement","src":"41107:20:98"}]}},{"condition":{"arguments":[{"id":68193,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68179,"src":"41594:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68192,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67699,"src":"41578:15:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":68194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41578:33:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68199,"nodeType":"IfStatement","src":"41574:91:98","trueBody":{"id":68198,"nodeType":"Block","src":"41613:52:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68195,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65681,"src":"41634:18:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41634:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68197,"nodeType":"RevertStatement","src":"41627:27:98"}]}},{"assignments":[68201],"declarations":[{"constant":false,"id":68201,"mutability":"mutable","name":"denom","nameLocation":"41821:5:98","nodeType":"VariableDeclaration","scope":68268,"src":"41813:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68200,"name":"uint256","nodeType":"ElementaryTypeName","src":"41813:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68220,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68202,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"41830:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68203,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41839:8:98","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":65628,"src":"41830:17:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":68206,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":68204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41850:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":68205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41855:2:98","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41850:7:98","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"41830:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68208,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41829:29:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68209,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"41861:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41829:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68211,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68179,"src":"41866:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":68214,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":68212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41885:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":68213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41890:2:98","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41885:7:98","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"41866:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68216,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41865:28:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68217,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"41896:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41865:41:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41829:77:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"41813:93:98"},{"expression":{"id":68255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68221,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68182,"src":"41916:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68222,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"41948:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68223,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41957:6:98","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":65630,"src":"41948:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":68224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41967:3:98","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"41948:22:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68226,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41947:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68227,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"41974:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41947:28:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68229,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41946:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68230,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68201,"src":"41981:5:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68231,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68201,"src":"41989:5:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41981:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68233,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41980:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":68234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41999:2:98","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41980:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68236,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41979:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41946:56:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68238,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41945:58:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68239,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"42006:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41945:62:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68241,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41944:64:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68242,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"42012:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68243,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"42016:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68244,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42025:5:98","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65632,"src":"42016:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42012:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68246,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"42011:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41944:87:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68248,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41943:89:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":68249,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68377,"src":"42051:26:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":68250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42051:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41943:136:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68252,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41929:160:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":68253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42093:2:98","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41929:166:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41916:179:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68256,"nodeType":"ExpressionStatement","src":"41916:179:98"},{"expression":{"id":68266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68257,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68182,"src":"42285:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68258,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68182,"src":"42298:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":68259,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"42311:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68260,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42320:18:98","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":65634,"src":"42311:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42298:40:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":68263,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"42354:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68264,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42363:18:98","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":65634,"src":"42354:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"42298:83:98","trueExpression":{"id":68262,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68182,"src":"42341:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42285:96:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68267,"nodeType":"ExpressionStatement","src":"42285:96:98"}]},"documentation":{"id":68177,"nodeType":"StructuredDocumentation","src":"40264:570:98","text":" @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it."},"functionSelector":"59a5db8b","implemented":true,"kind":"function","modifiers":[],"name":"calculateThreshold","nameLocation":"40848:18:98","parameters":{"id":68180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68179,"mutability":"mutable","name":"_requestedAmount","nameLocation":"40875:16:98","nodeType":"VariableDeclaration","scope":68269,"src":"40867:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68178,"name":"uint256","nodeType":"ElementaryTypeName","src":"40867:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40866:26:98"},"returnParameters":{"id":68183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68182,"mutability":"mutable","name":"_threshold","nameLocation":"40930:10:98","nodeType":"VariableDeclaration","scope":68269,"src":"40922:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68181,"name":"uint256","nodeType":"ElementaryTypeName","src":"40922:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40921:20:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68304,"nodeType":"FunctionDefinition","src":"42649:277:98","nodes":[],"body":{"id":68303,"nodeType":"Block","src":"42735:191:98","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68280,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68272,"src":"42753:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":68281,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65892,"src":"42759:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42753:13:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":68283,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42768:42:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":68279,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"42745:7:98","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42745:66:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68285,"nodeType":"ExpressionStatement","src":"42745:66:98"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68287,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68274,"src":"42829:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":68288,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65892,"src":"42834:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42829:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":68290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42843:30:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":68286,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"42821:7:98","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42821:53:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68292,"nodeType":"ExpressionStatement","src":"42821:53:98"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68293,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68272,"src":"42893:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68294,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68274,"src":"42898:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42893:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68296,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"42892:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68297,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65895,"src":"42904:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42892:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68299,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"42891:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":68300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42916:3:98","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"42891:28:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68278,"id":68302,"nodeType":"Return","src":"42884:35:98"}]},"documentation":{"id":68270,"nodeType":"StructuredDocumentation","src":"42394:250:98","text":" Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"42658:4:98","parameters":{"id":68275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68272,"mutability":"mutable","name":"_a","nameLocation":"42671:2:98","nodeType":"VariableDeclaration","scope":68304,"src":"42663:10:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68271,"name":"uint256","nodeType":"ElementaryTypeName","src":"42663:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68274,"mutability":"mutable","name":"_b","nameLocation":"42683:2:98","nodeType":"VariableDeclaration","scope":68304,"src":"42675:10:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68273,"name":"uint256","nodeType":"ElementaryTypeName","src":"42675:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42662:24:98"},"returnParameters":{"id":68278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68277,"mutability":"mutable","name":"_result","nameLocation":"42726:7:98","nodeType":"VariableDeclaration","scope":68304,"src":"42718:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68276,"name":"uint256","nodeType":"ElementaryTypeName","src":"42718:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42717:17:98"},"scope":69234,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68369,"nodeType":"FunctionDefinition","src":"43148:455:98","nodes":[],"body":{"id":68368,"nodeType":"Block","src":"43234:369:98","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68315,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68307,"src":"43252:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":68316,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65892,"src":"43257:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43252:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":68318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43266:30:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":68314,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"43244:7:98","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43244:53:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68320,"nodeType":"ExpressionStatement","src":"43244:53:98"},{"assignments":[68322],"declarations":[{"constant":false,"id":68322,"mutability":"mutable","name":"a","nameLocation":"43315:1:98","nodeType":"VariableDeclaration","scope":68368,"src":"43307:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68321,"name":"uint256","nodeType":"ElementaryTypeName","src":"43307:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68324,"initialValue":{"id":68323,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68307,"src":"43319:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"43307:14:98"},{"assignments":[68326],"declarations":[{"constant":false,"id":68326,"mutability":"mutable","name":"b","nameLocation":"43339:1:98","nodeType":"VariableDeclaration","scope":68368,"src":"43331:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68325,"name":"uint256","nodeType":"ElementaryTypeName","src":"43331:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68328,"initialValue":{"id":68327,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68309,"src":"43343:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"43331:14:98"},{"expression":{"id":68331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68329,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68312,"src":"43355:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68330,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65892,"src":"43365:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43355:17:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68332,"nodeType":"ExpressionStatement","src":"43355:17:98"},{"body":{"id":68366,"nodeType":"Block","src":"43396:201:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68336,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68326,"src":"43414:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":68337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43418:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"43414:5:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43423:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43414:10:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":68364,"nodeType":"Block","src":"43504:83:98","statements":[{"expression":{"id":68358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68353,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68312,"src":"43522:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68355,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68312,"src":"43537:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68356,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68322,"src":"43546:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68354,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68304,"src":"43532:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":68357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43532:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43522:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68359,"nodeType":"ExpressionStatement","src":"43522:26:98"},{"expression":{"id":68362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68360,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68326,"src":"43566:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":68361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43571:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"43566:6:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68363,"nodeType":"ExpressionStatement","src":"43566:6:98"}]},"id":68365,"nodeType":"IfStatement","src":"43410:177:98","trueBody":{"id":68352,"nodeType":"Block","src":"43426:72:98","statements":[{"expression":{"id":68346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68341,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68322,"src":"43444:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68343,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68322,"src":"43453:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68344,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68322,"src":"43456:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68342,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68304,"src":"43448:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":68345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43448:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43444:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68347,"nodeType":"ExpressionStatement","src":"43444:14:98"},{"expression":{"id":68350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68348,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68326,"src":"43476:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":68349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43482:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"43476:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68351,"nodeType":"ExpressionStatement","src":"43476:7:98"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68333,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68326,"src":"43389:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":68334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43393:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43389:5:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68367,"nodeType":"WhileStatement","src":"43382:215:98"}]},"documentation":{"id":68305,"nodeType":"StructuredDocumentation","src":"42932:211:98","text":" Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"43157:4:98","parameters":{"id":68310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68307,"mutability":"mutable","name":"_a","nameLocation":"43170:2:98","nodeType":"VariableDeclaration","scope":68369,"src":"43162:10:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68306,"name":"uint256","nodeType":"ElementaryTypeName","src":"43162:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68309,"mutability":"mutable","name":"_b","nameLocation":"43182:2:98","nodeType":"VariableDeclaration","scope":68369,"src":"43174:10:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68308,"name":"uint256","nodeType":"ElementaryTypeName","src":"43174:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43161:24:98"},"returnParameters":{"id":68313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68312,"mutability":"mutable","name":"_result","nameLocation":"43225:7:98","nodeType":"VariableDeclaration","scope":68369,"src":"43217:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68311,"name":"uint256","nodeType":"ElementaryTypeName","src":"43217:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43216:17:98"},"scope":69234,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68377,"nodeType":"FunctionDefinition","src":"43609:120:98","nodes":[],"body":{"id":68376,"nodeType":"Block","src":"43685:44:98","nodes":[],"statements":[{"expression":{"id":68374,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65923,"src":"43702:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68373,"id":68375,"nodeType":"Return","src":"43695:27:98"}]},"functionSelector":"d1e36232","implemented":true,"kind":"function","modifiers":[],"name":"totalEffectiveActivePoints","nameLocation":"43618:26:98","parameters":{"id":68370,"nodeType":"ParameterList","parameters":[],"src":"43644:2:98"},"returnParameters":{"id":68373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68372,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68377,"src":"43676:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68371,"name":"uint256","nodeType":"ElementaryTypeName","src":"43676:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43675:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68418,"nodeType":"FunctionDefinition","src":"43919:424:98","nodes":[],"body":{"id":68417,"nodeType":"Block","src":"44055:288:98","nodes":[],"statements":[{"assignments":[68387,68389],"declarations":[{"constant":false,"id":68387,"mutability":"mutable","name":"conviction","nameLocation":"44074:10:98","nodeType":"VariableDeclaration","scope":68417,"src":"44066:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68386,"name":"uint256","nodeType":"ElementaryTypeName","src":"44066:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68389,"mutability":"mutable","name":"blockNumber","nameLocation":"44094:11:98","nodeType":"VariableDeclaration","scope":68417,"src":"44086:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68388,"name":"uint256","nodeType":"ElementaryTypeName","src":"44086:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68394,"initialValue":{"arguments":[{"id":68391,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68381,"src":"44143:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":68392,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68383,"src":"44154:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68390,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68465,"src":"44109:33:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$65604_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":68393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44109:56:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"44065:100:98"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68395,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68387,"src":"44179:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44193:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"44179:15:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68398,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68389,"src":"44198:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44213:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"44198:16:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"44179:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68404,"nodeType":"IfStatement","src":"44175:72:98","trueBody":{"id":68403,"nodeType":"Block","src":"44216:31:98","statements":[{"functionReturnParameters":68385,"id":68402,"nodeType":"Return","src":"44230:7:98"}]}},{"expression":{"id":68409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68405,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68381,"src":"44256:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68407,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"44266:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65586,"src":"44256:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68408,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68389,"src":"44278:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44256:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68410,"nodeType":"ExpressionStatement","src":"44256:33:98"},{"expression":{"id":68415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68411,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68381,"src":"44299:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68413,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"44309:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"44299:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68414,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68387,"src":"44326:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44299:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68416,"nodeType":"ExpressionStatement","src":"44299:37:98"}]},"documentation":{"id":68378,"nodeType":"StructuredDocumentation","src":"43735:179:98","text":" @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now"},"implemented":true,"kind":"function","modifiers":[],"name":"_calculateAndSetConviction","nameLocation":"43928:26:98","parameters":{"id":68384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68381,"mutability":"mutable","name":"_proposal","nameLocation":"43987:9:98","nodeType":"VariableDeclaration","scope":68418,"src":"43955:41:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68380,"nodeType":"UserDefinedTypeName","pathNode":{"id":68379,"name":"StrategyStruct.Proposal","nameLocations":["43955:14:98","43970:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"43955:23:98"},"referencedDeclaration":65604,"src":"43955:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":68383,"mutability":"mutable","name":"_oldStaked","nameLocation":"44006:10:98","nodeType":"VariableDeclaration","scope":68418,"src":"43998:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68382,"name":"uint256","nodeType":"ElementaryTypeName","src":"43998:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43954:63:98"},"returnParameters":{"id":68385,"nodeType":"ParameterList","parameters":[],"src":"44055:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":68465,"nodeType":"FunctionDefinition","src":"44349:845:98","nodes":[],"body":{"id":68464,"nodeType":"Block","src":"44563:631:98","nodes":[],"statements":[{"expression":{"id":68433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68430,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68428,"src":"44573:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68431,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"44587:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44593:6:98","memberName":"number","nodeType":"MemberAccess","src":"44587:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44573:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68434,"nodeType":"ExpressionStatement","src":"44573:26:98"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68436,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68421,"src":"44616:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68437,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44626:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65586,"src":"44616:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":68438,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68428,"src":"44639:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44616:34:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":68435,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"44609:6:98","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":68440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44609:42:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68441,"nodeType":"ExpressionStatement","src":"44609:42:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68442,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68421,"src":"44665:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68443,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44675:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65586,"src":"44665:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":68444,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68428,"src":"44688:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44665:34:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68451,"nodeType":"IfStatement","src":"44661:173:98","trueBody":{"id":68450,"nodeType":"Block","src":"44701:133:98","statements":[{"expression":{"components":[{"hexValue":"30","id":68446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44789:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":68447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44792:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":68448,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"44788:6:98","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"functionReturnParameters":68429,"id":68449,"nodeType":"Return","src":"44781:13:98"}]}},{"expression":{"id":68462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68452,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68426,"src":"44887:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68454,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68428,"src":"45043:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68455,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68421,"src":"45057:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68456,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45067:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65586,"src":"45057:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45043:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68458,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68421,"src":"45129:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68459,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45139:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"45129:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68460,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68423,"src":"45167:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68453,"name":"calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68176,"src":"44900:19:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (uint256)"}},"id":68461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44900:287:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44887:300:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68463,"nodeType":"ExpressionStatement","src":"44887:300:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_checkBlockAndCalculateConviction","nameLocation":"44358:33:98","parameters":{"id":68424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68421,"mutability":"mutable","name":"_proposal","nameLocation":"44424:9:98","nodeType":"VariableDeclaration","scope":68465,"src":"44392:41:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68420,"nodeType":"UserDefinedTypeName","pathNode":{"id":68419,"name":"StrategyStruct.Proposal","nameLocations":["44392:14:98","44407:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"44392:23:98"},"referencedDeclaration":65604,"src":"44392:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":68423,"mutability":"mutable","name":"_oldStaked","nameLocation":"44443:10:98","nodeType":"VariableDeclaration","scope":68465,"src":"44435:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68422,"name":"uint256","nodeType":"ElementaryTypeName","src":"44435:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44391:63:98"},"returnParameters":{"id":68429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68426,"mutability":"mutable","name":"conviction","nameLocation":"44526:10:98","nodeType":"VariableDeclaration","scope":68465,"src":"44518:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68425,"name":"uint256","nodeType":"ElementaryTypeName","src":"44518:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68428,"mutability":"mutable","name":"blockNumber","nameLocation":"44546:11:98","nodeType":"VariableDeclaration","scope":68465,"src":"44538:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68427,"name":"uint256","nodeType":"ElementaryTypeName","src":"44538:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44517:41:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":68617,"nodeType":"FunctionDefinition","src":"45200:2409:98","nodes":[],"body":{"id":68616,"nodeType":"Block","src":"45363:2246:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68474,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"45390:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68475,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45408:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"45390:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":68478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45432:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":68477,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45424:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68476,"name":"address","nodeType":"ElementaryTypeName","src":"45424:7:98","typeDescriptions":{}}},"id":68479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45424:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45390:44:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":68483,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"45446:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45464:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"45446:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}],"id":68482,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45438:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68481,"name":"address","nodeType":"ElementaryTypeName","src":"45438:7:98","typeDescriptions":{}}},"id":68485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45438:37:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":68488,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45487:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":68487,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45479:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68486,"name":"address","nodeType":"ElementaryTypeName","src":"45479:7:98","typeDescriptions":{}}},"id":68489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45479:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45438:51:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45390:99:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68492,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"45531:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68493,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45549:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"45531:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68494,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"45565:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68496,"indexExpression":{"id":68495,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"45583:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45565:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68497,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45615:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"45565:62:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45531:96:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"},"id":68505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68499,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"45655:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68500,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45673:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"45655:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68501,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"45687:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68503,"indexExpression":{"id":68502,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"45705:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45687:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68504,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45737:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"45687:60:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"src":"45655:92:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45531:216:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68507,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"45775:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68508,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45793:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"45775:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68509,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"45850:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68511,"indexExpression":{"id":68510,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"45868:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45850:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68512,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45900:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"45850:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45775:150:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45531:394:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68515,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"45953:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68516,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45971:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"45953:44:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68517,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"46029:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68519,"indexExpression":{"id":68518,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"46047:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46029:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68520,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46079:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"46029:76:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45953:152:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45531:574:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68523,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"46133:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68524,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46151:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"46133:31:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68525,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"46168:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68527,"indexExpression":{"id":68526,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"46186:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46168:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68528,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46218:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"46168:63:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46133:98:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45531:700:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68531,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"46259:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68532,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46277:20:98","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"46259:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68533,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"46329:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68535,"indexExpression":{"id":68534,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"46347:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46329:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68536,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46379:20:98","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"46329:70:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46259:140:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45531:868:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":68539,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"45509:908:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45390:1027:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68607,"nodeType":"IfStatement","src":"45373:2158:98","trueBody":{"id":68606,"nodeType":"Block","src":"46428:1103:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68541,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"46463:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68543,"indexExpression":{"id":68542,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"46481:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46463:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68544,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46513:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"46463:62:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":68545,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"46529:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68546,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46547:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"46529:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"46463:96:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"},"id":68554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68548,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"46583:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68550,"indexExpression":{"id":68549,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"46601:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46583:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68551,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46633:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"46583:60:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":68552,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"46647:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68553,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46665:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"46647:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"src":"46583:92:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"46463:212:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68580,"nodeType":"IfStatement","src":"46442:522:98","trueBody":{"id":68579,"nodeType":"Block","src":"46690:274:98","statements":[{"expression":{"arguments":[{"expression":{"id":68561,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"46750:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68562,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46768:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"46750:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":68556,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"46708:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68559,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46726:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"46708:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"id":68560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46737:12:98","memberName":"registerSafe","nodeType":"MemberAccess","referencedDeclaration":74043,"src":"46708:41:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":68563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46708:73:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68564,"nodeType":"ExpressionStatement","src":"46708:73:98"},{"eventCall":{"arguments":[{"arguments":[{"id":68568,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"46855:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":68567,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46847:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68566,"name":"address","nodeType":"ElementaryTypeName","src":"46847:7:98","typeDescriptions":{}}},"id":68569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46847:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":68572,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"46870:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68573,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46888:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"46870:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}],"id":68571,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46862:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68570,"name":"address","nodeType":"ElementaryTypeName","src":"46862:7:98","typeDescriptions":{}}},"id":68574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46862:37:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68575,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"46901:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68576,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46919:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"46901:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":68565,"name":"TribunaSafeRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65862,"src":"46804:21:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function (address,address,address)"}},"id":68577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46804:145:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68578,"nodeType":"EmitStatement","src":"46799:150:98"}]}},{"expression":{"id":68582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"46978:32:98","subExpression":{"id":68581,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"46978:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68583,"nodeType":"ExpressionStatement","src":"46978:32:98"},{"expression":{"id":68588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68584,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"47024:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68586,"indexExpression":{"id":68585,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"47042:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"47024:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68587,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"47076:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"src":"47024:69:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68589,"nodeType":"ExpressionStatement","src":"47024:69:98"},{"eventCall":{"arguments":[{"id":68591,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"47154:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68592,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"47202:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68593,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47220:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"47202:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},{"expression":{"id":68594,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"47248:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68595,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47266:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"47248:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68596,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"47296:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68597,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47314:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"47296:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68598,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"47357:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68599,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47375:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"47357:44:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68600,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"47419:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68601,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47437:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"47419:31:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68602,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"47468:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68603,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47486:20:98","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"47468:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68590,"name":"ArbitrableConfigUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65883,"src":"47113:23:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_contract$_IArbitrator_$74044_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"id":68604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47113:407:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68605,"nodeType":"EmitStatement","src":"47108:412:98"}]}},{"expression":{"id":68610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68608,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"47541:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68609,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68471,"src":"47552:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"src":"47541:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68611,"nodeType":"ExpressionStatement","src":"47541:20:98"},{"eventCall":{"arguments":[{"id":68613,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68471,"src":"47592:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":68612,"name":"CVParamsUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65829,"src":"47576:15:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_struct$_CVParams_$65635_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.CVParams memory)"}},"id":68614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47576:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68615,"nodeType":"EmitStatement","src":"47571:31:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_setPoolParams","nameLocation":"45209:14:98","parameters":{"id":68472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68468,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"45272:17:98","nodeType":"VariableDeclaration","scope":68617,"src":"45233:56:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":68467,"nodeType":"UserDefinedTypeName","pathNode":{"id":68466,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["45233:14:98","45248:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65626,"src":"45233:31:98"},"referencedDeclaration":65626,"src":"45233:31:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":68471,"mutability":"mutable","name":"_cvParams","nameLocation":"45330:9:98","nodeType":"VariableDeclaration","scope":68617,"src":"45299:40:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":68470,"nodeType":"UserDefinedTypeName","pathNode":{"id":68469,"name":"StrategyStruct.CVParams","nameLocations":["45299:14:98","45314:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65635,"src":"45299:23:98"},"referencedDeclaration":65635,"src":"45299:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"45223:122:98"},"returnParameters":{"id":68473,"nodeType":"ParameterList","parameters":[],"src":"45363:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":68653,"nodeType":"FunctionDefinition","src":"47615:639:98","nodes":[],"body":{"id":68652,"nodeType":"Block","src":"47702:552:98","nodes":[],"statements":[{"assignments":[68628],"declarations":[{"constant":false,"id":68628,"mutability":"mutable","name":"proposal","nameLocation":"47744:8:98","nodeType":"VariableDeclaration","scope":68652,"src":"47712:40:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68627,"nodeType":"UserDefinedTypeName","pathNode":{"id":68626,"name":"StrategyStruct.Proposal","nameLocations":["47712:14:98","47727:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"47712:23:98"},"referencedDeclaration":65604,"src":"47712:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68632,"initialValue":{"baseExpression":{"id":68629,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"47755:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68631,"indexExpression":{"id":68630,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68619,"src":"47765:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"47755:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"47712:64:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68633,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68628,"src":"47791:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68634,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47800:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65572,"src":"47791:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":68635,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68619,"src":"47814:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47791:33:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68642,"nodeType":"IfStatement","src":"47787:100:98","trueBody":{"id":68641,"nodeType":"Block","src":"47826:61:98","statements":[{"errorCall":{"arguments":[{"id":68638,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68619,"src":"47865:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68637,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65717,"src":"47847:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47847:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68640,"nodeType":"RevertStatement","src":"47840:36:98"}]}},{"expression":{"arguments":[{"id":68644,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68628,"src":"48175:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":68645,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68628,"src":"48185:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68646,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48194:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"48185:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68643,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68418,"src":"48148:26:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$65604_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":68647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48148:59:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68648,"nodeType":"ExpressionStatement","src":"48148:59:98"},{"expression":{"expression":{"id":68649,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68628,"src":"48224:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68650,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48233:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"48224:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68623,"id":68651,"nodeType":"Return","src":"48217:30:98"}]},"functionSelector":"1aa91a9e","implemented":true,"kind":"function","modifiers":[],"name":"updateProposalConviction","nameLocation":"47624:24:98","parameters":{"id":68620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68619,"mutability":"mutable","name":"proposalId","nameLocation":"47657:10:98","nodeType":"VariableDeclaration","scope":68653,"src":"47649:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68618,"name":"uint256","nodeType":"ElementaryTypeName","src":"47649:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47648:20:98"},"returnParameters":{"id":68623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68622,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68653,"src":"47693:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68621,"name":"uint256","nodeType":"ElementaryTypeName","src":"47693:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47692:9:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":68673,"nodeType":"FunctionDefinition","src":"48260:141:98","nodes":[],"body":{"id":68672,"nodeType":"Block","src":"48340:61:98","nodes":[],"statements":[{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68660,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68655,"src":"48359:6:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68661,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"48368:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48359:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68663,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"48358:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68664,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"48374:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68665,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"48378:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68666,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48387:5:98","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65632,"src":"48378:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48374:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68668,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"48373:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48358:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68670,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"48357:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68659,"id":68671,"nodeType":"Return","src":"48350:44:98"}]},"functionSelector":"950559d7","implemented":true,"kind":"function","modifiers":[],"name":"getMaxConviction","nameLocation":"48269:16:98","parameters":{"id":68656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68655,"mutability":"mutable","name":"amount","nameLocation":"48294:6:98","nodeType":"VariableDeclaration","scope":68673,"src":"48286:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68654,"name":"uint256","nodeType":"ElementaryTypeName","src":"48286:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48285:16:98"},"returnParameters":{"id":68659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68658,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68673,"src":"48331:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68657,"name":"uint256","nodeType":"ElementaryTypeName","src":"48331:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48330:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68692,"nodeType":"FunctionDefinition","src":"48752:189:98","nodes":[],"body":{"id":68691,"nodeType":"Block","src":"48815:126:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":68678,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66218,"src":"48825:15:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":68679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48825:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68680,"nodeType":"ExpressionStatement","src":"48825:17:98"},{"expression":{"arguments":[{"id":68682,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68675,"src":"48871:12:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":68681,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66199,"src":"48852:18:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":68683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48852:32:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68684,"nodeType":"ExpressionStatement","src":"48852:32:98"},{"expression":{"id":68689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68685,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65943,"src":"48894:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68687,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68675,"src":"48921:12:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":68686,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70165,"src":"48908:12:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$70165_$","typeString":"type(contract ISybilScorer)"}},"id":68688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48908:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"src":"48894:40:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"id":68690,"nodeType":"ExpressionStatement","src":"48894:40:98"}]},"functionSelector":"ac1ed7b9","implemented":true,"kind":"function","modifiers":[],"name":"setSybilScorer","nameLocation":"48761:14:98","parameters":{"id":68676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68675,"mutability":"mutable","name":"_sybilScorer","nameLocation":"48784:12:98","nodeType":"VariableDeclaration","scope":68692,"src":"48776:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68674,"name":"address","nodeType":"ElementaryTypeName","src":"48776:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"48775:22:98"},"returnParameters":{"id":68677,"nodeType":"ParameterList","parameters":[],"src":"48815:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":68710,"nodeType":"FunctionDefinition","src":"48947:250:98","nodes":[],"body":{"id":68709,"nodeType":"Block","src":"49109:88:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":68701,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66218,"src":"49119:15:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":68702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49119:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68703,"nodeType":"ExpressionStatement","src":"49119:17:98"},{"expression":{"arguments":[{"id":68705,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68695,"src":"49161:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"id":68706,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68698,"src":"49180:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":68704,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68617,"src":"49146:14:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$65626_memory_ptr_$_t_struct$_CVParams_$65635_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":68707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49146:44:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68708,"nodeType":"ExpressionStatement","src":"49146:44:98"}]},"functionSelector":"062f9ece","implemented":true,"kind":"function","modifiers":[],"name":"setPoolParams","nameLocation":"48956:13:98","parameters":{"id":68699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68695,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"49018:17:98","nodeType":"VariableDeclaration","scope":68710,"src":"48979:56:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":68694,"nodeType":"UserDefinedTypeName","pathNode":{"id":68693,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["48979:14:98","48994:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65626,"src":"48979:31:98"},"referencedDeclaration":65626,"src":"48979:31:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":68698,"mutability":"mutable","name":"_cvParams","nameLocation":"49076:9:98","nodeType":"VariableDeclaration","scope":68710,"src":"49045:40:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":68697,"nodeType":"UserDefinedTypeName","pathNode":{"id":68696,"name":"StrategyStruct.CVParams","nameLocations":["49045:14:98","49060:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65635,"src":"49045:23:98"},"referencedDeclaration":65635,"src":"49045:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"48969:122:98"},"returnParameters":{"id":68700,"nodeType":"ParameterList","parameters":[],"src":"49109:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":68903,"nodeType":"FunctionDefinition","src":"49203:2405:98","nodes":[],"body":{"id":68902,"nodeType":"Block","src":"49389:2219:98","nodes":[],"statements":[{"assignments":[68725],"declarations":[{"constant":false,"id":68725,"mutability":"mutable","name":"proposal","nameLocation":"49431:8:98","nodeType":"VariableDeclaration","scope":68902,"src":"49399:40:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68724,"nodeType":"UserDefinedTypeName","pathNode":{"id":68723,"name":"StrategyStruct.Proposal","nameLocations":["49399:14:98","49414:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"49399:23:98"},"referencedDeclaration":65604,"src":"49399:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68729,"initialValue":{"baseExpression":{"id":68726,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"49442:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68728,"indexExpression":{"id":68727,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68712,"src":"49452:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"49442:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"49399:64:98"},{"assignments":[68734],"declarations":[{"constant":false,"id":68734,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"49512:16:98","nodeType":"VariableDeclaration","scope":68902,"src":"49473:55:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":68733,"nodeType":"UserDefinedTypeName","pathNode":{"id":68732,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["49473:14:98","49488:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65626,"src":"49473:31:98"},"referencedDeclaration":65626,"src":"49473:31:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"id":68739,"initialValue":{"baseExpression":{"id":68735,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"49531:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68738,"indexExpression":{"expression":{"id":68736,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"49549:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68737,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49558:23:98","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65603,"src":"49549:32:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"49531:51:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"VariableDeclarationStatement","src":"49473:109:98"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":68742,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"49605:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68743,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49622:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"49605:27:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}],"id":68741,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49597:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68740,"name":"address","nodeType":"ElementaryTypeName","src":"49597:7:98","typeDescriptions":{}}},"id":68744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49597:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":68747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49645:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":68746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49637:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68745,"name":"address","nodeType":"ElementaryTypeName","src":"49637:7:98","typeDescriptions":{}}},"id":68748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49637:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"49597:50:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68754,"nodeType":"IfStatement","src":"49593:112:98","trueBody":{"id":68753,"nodeType":"Block","src":"49649:56:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68750,"name":"ArbitratorCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65753,"src":"49670:22:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49670:24:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68752,"nodeType":"RevertStatement","src":"49663:31:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68755,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"49882:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68756,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49891:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65572,"src":"49882:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":68757,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68712,"src":"49905:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49882:33:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68764,"nodeType":"IfStatement","src":"49878:100:98","trueBody":{"id":68763,"nodeType":"Block","src":"49917:61:98","statements":[{"errorCall":{"arguments":[{"id":68760,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68712,"src":"49956:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68759,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65717,"src":"49938:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49938:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68762,"nodeType":"RevertStatement","src":"49931:36:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"},"id":68770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68765,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"49991:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68766,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50000:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"49991:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":68767,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"50018:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":68768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50033:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"50018:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68769,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50048:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65557,"src":"50018:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49991:63:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68776,"nodeType":"IfStatement","src":"49987:130:98","trueBody":{"id":68775,"nodeType":"Block","src":"50056:61:98","statements":[{"errorCall":{"arguments":[{"id":68772,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68712,"src":"50095:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68771,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65713,"src":"50077:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50077:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68774,"nodeType":"RevertStatement","src":"50070:36:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68777,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"50130:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50134:5:98","memberName":"value","nodeType":"MemberAccess","src":"50130:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":68779,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"50142:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68780,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50159:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"50142:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50130:55:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68790,"nodeType":"IfStatement","src":"50126:171:98","trueBody":{"id":68789,"nodeType":"Block","src":"50187:110:98","statements":[{"errorCall":{"arguments":[{"expression":{"id":68783,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"50231:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50235:5:98","memberName":"value","nodeType":"MemberAccess","src":"50231:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68785,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"50242:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68786,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50259:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"50242:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68782,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"50208:22:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":68787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50208:78:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68788,"nodeType":"RevertStatement","src":"50201:85:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68791,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"50416:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68792,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50425:21:98","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"50416:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":68793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50450:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"50416:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68795,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"50471:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68796,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50480:21:98","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"50471:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68797,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65907,"src":"50504:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50471:53:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":68799,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50527:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50533:9:98","memberName":"timestamp","nodeType":"MemberAccess","src":"50527:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50471:71:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"50416:126:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68815,"nodeType":"IfStatement","src":"50399:325:98","trueBody":{"id":68814,"nodeType":"Block","src":"50553:171:98","statements":[{"errorCall":{"arguments":[{"id":68804,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68712,"src":"50616:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68805,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"50628:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68806,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50637:21:98","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"50628:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68807,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65907,"src":"50661:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50628:53:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68809,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50684:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50690:9:98","memberName":"timestamp","nodeType":"MemberAccess","src":"50684:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50628:71:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68803,"name":"DisputeCooldownNotPassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65767,"src":"50574:24:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":68812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50574:139:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68813,"nodeType":"RevertStatement","src":"50567:146:98"}]}},{"assignments":[68817],"declarations":[{"constant":false,"id":68817,"mutability":"mutable","name":"arbitrationFee","nameLocation":"50742:14:98","nodeType":"VariableDeclaration","scope":68902,"src":"50734:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68816,"name":"uint256","nodeType":"ElementaryTypeName","src":"50734:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68823,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68818,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"50759:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50763:5:98","memberName":"value","nodeType":"MemberAccess","src":"50759:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68820,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"50771:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68821,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50788:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"50771:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50759:55:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"50734:80:98"},{"expression":{"arguments":[{"id":68830,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68712,"src":"50911:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68831,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"50923:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50927:6:98","memberName":"sender","nodeType":"MemberAccess","src":"50923:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":68824,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"50825:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":68826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50841:17:98","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":74056,"src":"50825:33:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":68829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":68827,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"50866:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68828,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50883:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"50866:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"50825:85:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":68833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50825:109:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68834,"nodeType":"ExpressionStatement","src":"50825:109:98"},{"expression":{"id":68844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68835,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68719,"src":"50945:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68841,"name":"RULING_OPTIONS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65904,"src":"51022:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68842,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68716,"src":"51038:10:98","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":68836,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"50957:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68837,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50974:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"50957:27:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"id":68838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50985:13:98","memberName":"createDispute","nodeType":"MemberAccess","referencedDeclaration":73991,"src":"50957:41:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":68840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":68839,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68817,"src":"51006:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"50957:64:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":68843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50957:92:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50945:104:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68845,"nodeType":"ExpressionStatement","src":"50945:104:98"},{"expression":{"id":68852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68846,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"51060:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68848,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"51069:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"51060:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":68849,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"51086:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":68850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51101:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"51086:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51116:8:98","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":65561,"src":"51086:38:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"51060:64:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"id":68853,"nodeType":"ExpressionStatement","src":"51060:64:98"},{"expression":{"id":68860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":68854,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"51134:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68857,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51143:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65599,"src":"51134:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68858,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"51155:9:98","memberName":"disputeId","nodeType":"MemberAccess","referencedDeclaration":65565,"src":"51134:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68859,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68719,"src":"51167:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"51134:42:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68861,"nodeType":"ExpressionStatement","src":"51134:42:98"},{"expression":{"id":68869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":68862,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"51186:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68865,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51195:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65599,"src":"51186:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68866,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"51207:16:98","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":65567,"src":"51186:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68867,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"51226:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51232:9:98","memberName":"timestamp","nodeType":"MemberAccess","src":"51226:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"51186:55:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68870,"nodeType":"ExpressionStatement","src":"51186:55:98"},{"expression":{"id":68878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":68871,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"51251:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68874,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51260:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65599,"src":"51251:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68875,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"51272:10:98","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65569,"src":"51251:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68876,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"51285:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51289:6:98","memberName":"sender","nodeType":"MemberAccess","src":"51285:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"51251:44:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68879,"nodeType":"ExpressionStatement","src":"51251:44:98"},{"expression":{"id":68884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68880,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65961,"src":"51305:21:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":68882,"indexExpression":{"id":68881,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68719,"src":"51327:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"51305:32:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68883,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68712,"src":"51340:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"51305:45:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68885,"nodeType":"ExpressionStatement","src":"51305:45:98"},{"expression":{"id":68887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"51361:14:98","subExpression":{"id":68886,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65915,"src":"51361:12:98","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":68888,"nodeType":"ExpressionStatement","src":"51361:14:98"},{"eventCall":{"arguments":[{"expression":{"id":68890,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"51421:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68891,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51438:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"51421:27:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},{"id":68892,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68712,"src":"51462:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68893,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68719,"src":"51486:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68894,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"51509:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51513:6:98","memberName":"sender","nodeType":"MemberAccess","src":"51509:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":68896,"name":"context","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68714,"src":"51533:7:98","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"expression":{"expression":{"id":68897,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"51554:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68898,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51563:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65599,"src":"51554:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68899,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51575:16:98","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":65567,"src":"51554:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68889,"name":"ProposalDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65854,"src":"51391:16:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$74044_$_t_uint256_$_t_uint256_$_t_address_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256,address,string memory,uint256)"}},"id":68900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51391:210:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68901,"nodeType":"EmitStatement","src":"51386:215:98"}]},"functionSelector":"b41596ec","implemented":true,"kind":"function","modifiers":[],"name":"disputeProposal","nameLocation":"49212:15:98","parameters":{"id":68717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68712,"mutability":"mutable","name":"proposalId","nameLocation":"49236:10:98","nodeType":"VariableDeclaration","scope":68903,"src":"49228:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68711,"name":"uint256","nodeType":"ElementaryTypeName","src":"49228:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68714,"mutability":"mutable","name":"context","nameLocation":"49264:7:98","nodeType":"VariableDeclaration","scope":68903,"src":"49248:23:98","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":68713,"name":"string","nodeType":"ElementaryTypeName","src":"49248:6:98","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":68716,"mutability":"mutable","name":"_extraData","nameLocation":"49288:10:98","nodeType":"VariableDeclaration","scope":68903,"src":"49273:25:98","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":68715,"name":"bytes","nodeType":"ElementaryTypeName","src":"49273:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"49227:72:98"},"returnParameters":{"id":68720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68719,"mutability":"mutable","name":"disputeId","nameLocation":"49374:9:98","nodeType":"VariableDeclaration","scope":68903,"src":"49366:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68718,"name":"uint256","nodeType":"ElementaryTypeName","src":"49366:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49365:19:98"},"scope":69234,"stateMutability":"payable","virtual":true,"visibility":"external"},{"id":69161,"nodeType":"FunctionDefinition","src":"51614:3004:98","nodes":[],"body":{"id":69160,"nodeType":"Block","src":"51691:2927:98","nodes":[],"statements":[{"assignments":[68912],"declarations":[{"constant":false,"id":68912,"mutability":"mutable","name":"proposalId","nameLocation":"51709:10:98","nodeType":"VariableDeclaration","scope":69160,"src":"51701:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68911,"name":"uint256","nodeType":"ElementaryTypeName","src":"51701:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68916,"initialValue":{"baseExpression":{"id":68913,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65961,"src":"51722:21:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":68915,"indexExpression":{"id":68914,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68905,"src":"51744:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"51722:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"51701:54:98"},{"assignments":[68921],"declarations":[{"constant":false,"id":68921,"mutability":"mutable","name":"proposal","nameLocation":"51797:8:98","nodeType":"VariableDeclaration","scope":69160,"src":"51765:40:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68920,"nodeType":"UserDefinedTypeName","pathNode":{"id":68919,"name":"StrategyStruct.Proposal","nameLocations":["51765:14:98","51780:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"51765:23:98"},"referencedDeclaration":65604,"src":"51765:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68925,"initialValue":{"baseExpression":{"id":68922,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"51808:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68924,"indexExpression":{"id":68923,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"51818:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"51808:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"51765:64:98"},{"assignments":[68930],"declarations":[{"constant":false,"id":68930,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"51878:16:98","nodeType":"VariableDeclaration","scope":69160,"src":"51839:55:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":68929,"nodeType":"UserDefinedTypeName","pathNode":{"id":68928,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["51839:14:98","51854:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65626,"src":"51839:31:98"},"referencedDeclaration":65626,"src":"51839:31:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"id":68935,"initialValue":{"baseExpression":{"id":68931,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"51897:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68934,"indexExpression":{"expression":{"id":68932,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"51915:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68933,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51924:23:98","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65603,"src":"51915:32:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"51897:51:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"VariableDeclarationStatement","src":"51839:109:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68936,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"51963:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"51977:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"51963:15:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68944,"nodeType":"IfStatement","src":"51959:82:98","trueBody":{"id":68943,"nodeType":"Block","src":"51980:61:98","statements":[{"errorCall":{"arguments":[{"id":68940,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"52019:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68939,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65717,"src":"52001:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52001:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68942,"nodeType":"RevertStatement","src":"51994:36:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"},"id":68950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68945,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"52054:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68946,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52063:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"52054:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":68947,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"52081:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":68948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52096:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"52081:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68949,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52111:8:98","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":65561,"src":"52081:38:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"52054:65:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68956,"nodeType":"IfStatement","src":"52050:134:98","trueBody":{"id":68955,"nodeType":"Block","src":"52121:63:98","statements":[{"errorCall":{"arguments":[{"id":68952,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"52162:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68951,"name":"ProposalNotDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65751,"src":"52142:19:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52142:31:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68954,"nodeType":"RevertStatement","src":"52135:38:98"}]}},{"assignments":[68958],"declarations":[{"constant":false,"id":68958,"mutability":"mutable","name":"isTimeOut","nameLocation":"52199:9:98","nodeType":"VariableDeclaration","scope":69160,"src":"52194:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68957,"name":"bool","nodeType":"ElementaryTypeName","src":"52194:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":68968,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68959,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"52211:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52217:9:98","memberName":"timestamp","nodeType":"MemberAccess","src":"52211:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":68961,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"52229:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68962,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52238:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65599,"src":"52229:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68963,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52250:16:98","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":65567,"src":"52229:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":68964,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"52269:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68965,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52286:20:98","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"52269:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"52229:77:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"52211:95:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"52194:112:98"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"52321:10:98","subExpression":{"id":68969,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68958,"src":"52322:9:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68971,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"52335:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52339:6:98","memberName":"sender","nodeType":"MemberAccess","src":"52335:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"expression":{"id":68975,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"52357:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68976,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52374:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"52357:27:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}],"id":68974,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"52349:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68973,"name":"address","nodeType":"ElementaryTypeName","src":"52349:7:98","typeDescriptions":{}}},"id":68977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52349:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"52335:50:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"52321:64:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68984,"nodeType":"IfStatement","src":"52317:118:98","trueBody":{"id":68983,"nodeType":"Block","src":"52387:48:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68980,"name":"OnlyArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65747,"src":"52408:14:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52408:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68982,"nodeType":"RevertStatement","src":"52401:23:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68985,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68958,"src":"52449:9:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68986,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68907,"src":"52462:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52473:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"52462:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"52449:25:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69049,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68907,"src":"53246:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":69050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53257:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"53246:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69079,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68907,"src":"53623:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":69080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53634:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"53623:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69140,"nodeType":"IfStatement","src":"53619:839:98","trueBody":{"id":69139,"nodeType":"Block","src":"53637:821:98","statements":[{"expression":{"id":69088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69082,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"53651:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69084,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"53660:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"53651:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69085,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"53677:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":69086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53692:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"53677:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69087,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53707:8:98","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":65562,"src":"53677:38:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"53651:64:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69089,"nodeType":"ExpressionStatement","src":"53651:64:98"},{"expression":{"arguments":[{"id":69093,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"53781:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":69094,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"53793:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69095,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53802:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65599,"src":"53793:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69096,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53814:10:98","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65569,"src":"53793:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69097,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"53826:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69098,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53843:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"53826:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69090,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"53729:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":69092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53745:18:98","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74065,"src":"53729:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":69099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53729:154:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69100,"nodeType":"ExpressionStatement","src":"53729:154:98"},{"expression":{"arguments":[{"id":69104,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"53952:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69105,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"53980:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69106,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53989:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"53980:18:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69109,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"54024:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":69110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54024:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":69111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54047:11:98","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":71055,"src":"54024:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$74170_$","typeString":"function () view external returns (contract ISafe)"}},"id":69112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54024:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}],"id":69108,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"54016:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69107,"name":"address","nodeType":"ElementaryTypeName","src":"54016:7:98","typeDescriptions":{}}},"id":69113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54016:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69114,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"54079:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69116,"indexExpression":{"id":69115,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"54097:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54079:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69117,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54129:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"54079:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":69118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"54157:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"54079:79:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69101,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"53897:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":69103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53913:21:98","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":74076,"src":"53897:37:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":69120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53897:275:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69121,"nodeType":"ExpressionStatement","src":"53897:275:98"},{"expression":{"arguments":[{"id":69125,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"54241:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69126,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"54269:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69127,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54278:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"54269:18:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":69128,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"54305:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69129,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54314:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65599,"src":"54305:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69130,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54326:10:98","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65569,"src":"54305:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69131,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"54354:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69133,"indexExpression":{"id":69132,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"54372:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54354:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69134,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54404:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"54354:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":69135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"54432:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"54354:79:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69122,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"54186:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":69124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54202:21:98","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":74076,"src":"54186:37:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":69137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54186:261:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69138,"nodeType":"ExpressionStatement","src":"54186:261:98"}]}},"id":69141,"nodeType":"IfStatement","src":"53242:1216:98","trueBody":{"id":69078,"nodeType":"Block","src":"53260:353:98","statements":[{"expression":{"id":69058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69052,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"53274:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69054,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"53283:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"53274:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69055,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"53300:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":69056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53315:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"53300:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69057,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53330:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65557,"src":"53300:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"53274:62:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69059,"nodeType":"ExpressionStatement","src":"53274:62:98"},{"expression":{"arguments":[{"id":69063,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"53405:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":69064,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"53433:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69065,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53442:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65599,"src":"53433:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69066,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53454:10:98","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65569,"src":"53433:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69069,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"53490:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":69070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53490:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":69071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53513:11:98","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":71055,"src":"53490:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$74170_$","typeString":"function () view external returns (contract ISafe)"}},"id":69072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53490:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}],"id":69068,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"53482:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69067,"name":"address","nodeType":"ElementaryTypeName","src":"53482:7:98","typeDescriptions":{}}},"id":69073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53482:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69074,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"53545:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69075,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53562:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"53545:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69060,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"53350:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":69062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53366:21:98","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":74076,"src":"53350:37:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":69076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53350:252:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69077,"nodeType":"ExpressionStatement","src":"53350:252:98"}]}},"id":69142,"nodeType":"IfStatement","src":"52445:2013:98","trueBody":{"id":69048,"nodeType":"Block","src":"52476:760:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68990,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"52494:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68991,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52511:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"52494:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52528:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"52494:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68998,"nodeType":"IfStatement","src":"52490:102:98","trueBody":{"id":68997,"nodeType":"Block","src":"52531:61:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68994,"name":"DefaultRulingNotSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65761,"src":"52556:19:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52556:21:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68996,"nodeType":"RevertStatement","src":"52549:28:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68999,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"52609:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69000,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52626:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"52609:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":69001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52643:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"52609:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69012,"nodeType":"IfStatement","src":"52605:136:98","trueBody":{"id":69011,"nodeType":"Block","src":"52646:95:98","statements":[{"expression":{"id":69009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69003,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"52664:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69005,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"52673:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"52664:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69006,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"52690:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":69007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52705:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"52690:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69008,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52720:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65557,"src":"52690:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"52664:62:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69010,"nodeType":"ExpressionStatement","src":"52664:62:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69013,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"52758:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69014,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52775:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"52758:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":69015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52792:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"52758:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69036,"nodeType":"IfStatement","src":"52754:304:98","trueBody":{"id":69035,"nodeType":"Block","src":"52795:263:98","statements":[{"expression":{"id":69023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69017,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"52813:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69019,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"52822:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"52813:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69020,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"52839:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":69021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52854:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"52839:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69022,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52869:8:98","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":65562,"src":"52839:38:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"52813:64:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69024,"nodeType":"ExpressionStatement","src":"52813:64:98"},{"expression":{"arguments":[{"id":69028,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"52951:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69029,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"52963:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69030,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52972:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"52963:18:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69031,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"52983:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69032,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53000:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"52983:42:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69025,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"52895:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":69027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52911:18:98","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74065,"src":"52895:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":69033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52895:148:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69034,"nodeType":"ExpressionStatement","src":"52895:148:98"}]}},{"expression":{"arguments":[{"id":69040,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"53123:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":69041,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"53135:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53144:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65599,"src":"53135:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69043,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53156:10:98","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65569,"src":"53135:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69044,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"53168:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69045,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53185:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"53168:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69037,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"53071:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":69039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53087:18:98","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74065,"src":"53071:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":69046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53071:154:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69047,"nodeType":"ExpressionStatement","src":"53071:154:98"}]}},{"expression":{"id":69144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"54468:14:98","subExpression":{"id":69143,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65915,"src":"54468:12:98","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":69145,"nodeType":"ExpressionStatement","src":"54468:14:98"},{"expression":{"id":69151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69146,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"54492:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69148,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"54501:21:98","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"54492:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69149,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"54525:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":69150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54531:9:98","memberName":"timestamp","nodeType":"MemberAccess","src":"54525:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"54492:48:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69152,"nodeType":"ExpressionStatement","src":"54492:48:98"},{"eventCall":{"arguments":[{"expression":{"id":69154,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"54562:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69155,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54579:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"54562:27:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},{"id":69156,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68905,"src":"54591:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69157,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68907,"src":"54603:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69153,"name":"Ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73931,"src":"54555:6:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$74044_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256)"}},"id":69158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54555:56:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69159,"nodeType":"EmitStatement","src":"54550:61:98"}]},"baseFunctions":[73939],"functionSelector":"311a6c56","implemented":true,"kind":"function","modifiers":[],"name":"rule","nameLocation":"51623:4:98","overrides":{"id":68909,"nodeType":"OverrideSpecifier","overrides":[],"src":"51682:8:98"},"parameters":{"id":68908,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68905,"mutability":"mutable","name":"_disputeID","nameLocation":"51636:10:98","nodeType":"VariableDeclaration","scope":69161,"src":"51628:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68904,"name":"uint256","nodeType":"ElementaryTypeName","src":"51628:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68907,"mutability":"mutable","name":"_ruling","nameLocation":"51656:7:98","nodeType":"VariableDeclaration","scope":69161,"src":"51648:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68906,"name":"uint256","nodeType":"ElementaryTypeName","src":"51648:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51627:37:98"},"returnParameters":{"id":68910,"nodeType":"ParameterList","parameters":[],"src":"51691:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":69229,"nodeType":"FunctionDefinition","src":"54624:732:98","nodes":[],"body":{"id":69228,"nodeType":"Block","src":"54685:671:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"},"id":69173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69166,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"54699:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69168,"indexExpression":{"id":69167,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69163,"src":"54709:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54699:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69169,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54721:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"54699:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":69170,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"54739:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":69171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54754:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"54739:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54769:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65557,"src":"54739:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"54699:76:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69179,"nodeType":"IfStatement","src":"54695:143:98","trueBody":{"id":69178,"nodeType":"Block","src":"54777:61:98","statements":[{"errorCall":{"arguments":[{"id":69175,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69163,"src":"54816:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69174,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65713,"src":"54798:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":69176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54798:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69177,"nodeType":"RevertStatement","src":"54791:36:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69180,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"54852:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69182,"indexExpression":{"id":69181,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69163,"src":"54862:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54852:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69183,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54874:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"54852:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":69184,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"54887:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54891:6:98","memberName":"sender","nodeType":"MemberAccess","src":"54887:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"54852:45:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69197,"nodeType":"IfStatement","src":"54848:141:98","trueBody":{"id":69196,"nodeType":"Block","src":"54899:90:98","statements":[{"errorCall":{"arguments":[{"expression":{"baseExpression":{"id":69188,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"54934:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69190,"indexExpression":{"id":69189,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69163,"src":"54944:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54934:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69191,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54956:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"54934:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69192,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"54967:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54971:6:98","memberName":"sender","nodeType":"MemberAccess","src":"54967:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":69187,"name":"OnlySubmitter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65759,"src":"54920:13:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":69194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54920:58:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69195,"nodeType":"RevertStatement","src":"54913:65:98"}]}},{"expression":{"arguments":[{"id":69201,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69163,"src":"55047:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":69202,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"55071:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69204,"indexExpression":{"id":69203,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69163,"src":"55081:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"55071:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69205,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"55093:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"55071:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":69206,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"55116:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69211,"indexExpression":{"expression":{"baseExpression":{"id":69207,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"55134:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69209,"indexExpression":{"id":69208,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69163,"src":"55144:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"55134:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69210,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"55156:23:98","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65603,"src":"55134:45:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"55116:64:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69212,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"55181:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"55116:90:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69198,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"54999:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":69200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"55015:18:98","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74065,"src":"54999:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":69213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54999:217:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69214,"nodeType":"ExpressionStatement","src":"54999:217:98"},{"expression":{"id":69222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":69215,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"55227:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69217,"indexExpression":{"id":69216,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69163,"src":"55237:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"55227:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69218,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"55249:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"55227:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69219,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"55266:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":69220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"55281:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"55266:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69221,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55296:9:98","memberName":"Cancelled","nodeType":"MemberAccess","referencedDeclaration":65559,"src":"55266:39:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"55227:78:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69223,"nodeType":"ExpressionStatement","src":"55227:78:98"},{"eventCall":{"arguments":[{"id":69225,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69163,"src":"55338:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69224,"name":"ProposalCancelled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65866,"src":"55320:17:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":69226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55320:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69227,"nodeType":"EmitStatement","src":"55315:34:98"}]},"functionSelector":"e0a8f6f5","implemented":true,"kind":"function","modifiers":[],"name":"cancelProposal","nameLocation":"54633:14:98","parameters":{"id":69164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69163,"mutability":"mutable","name":"proposalId","nameLocation":"54656:10:98","nodeType":"VariableDeclaration","scope":69229,"src":"54648:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69162,"name":"uint256","nodeType":"ElementaryTypeName","src":"54648:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"54647:20:98"},"returnParameters":{"id":69165,"nodeType":"ParameterList","parameters":[],"src":"54685:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":69233,"nodeType":"VariableDeclaration","src":"55362:25:98","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"55382:5:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":69230,"name":"uint256","nodeType":"ElementaryTypeName","src":"55362:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69232,"length":{"hexValue":"3530","id":69231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"55370:2:98","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"55362:11:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":65658,"name":"BaseStrategyUpgradeable","nameLocations":["4010:23:98"],"nodeType":"IdentifierPath","referencedDeclaration":65471,"src":"4010:23:98"},"id":65659,"nodeType":"InheritanceSpecifier","src":"4010:23:98"},{"baseName":{"id":65660,"name":"IArbitrable","nameLocations":["4035:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":73940,"src":"4035:11:98"},"id":65661,"nodeType":"InheritanceSpecifier","src":"4035:11:98"},{"baseName":{"id":65662,"name":"IPointStrategy","nameLocations":["4048:14:98"],"nodeType":"IdentifierPath","referencedDeclaration":65534,"src":"4048:14:98"},"id":65663,"nodeType":"InheritanceSpecifier","src":"4048:14:98"},{"baseName":{"id":65664,"name":"ERC165","nameLocations":["4064:6:98"],"nodeType":"IdentifierPath","referencedDeclaration":57725,"src":"4064:6:98"},"id":65665,"nodeType":"InheritanceSpecifier","src":"4064:6:98"}],"canonicalName":"CVStrategyV0_0","contractDependencies":[],"contractKind":"contract","documentation":{"id":65657,"nodeType":"StructuredDocumentation","src":"3939:44:98","text":"@custom:oz-upgrades-from CVStrategyV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[69234,57725,57931,65534,73940,65471,3089,3317,3106,2969,70754,55672,55325,54974,54984,52903,53696,53152],"name":"CVStrategyV0_0","nameLocation":"3992:14:98","scope":69235,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,65667,65669,65671,65673,65675,65677,65679,65681,65683,65685,65687,65695,65697,65699,65705,65707,65709,65713,65717,65723,65725,65727,65735,65737,65739,65745,65747,65751,65753,65759,65761,65767,70677]}],"license":"AGPL-3.0-only"},"id":98} \ No newline at end of file +{"abi":[{"type":"function","name":"deactivatePoints","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToUntake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getPointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum PointSystem"}],"stateMutability":"nonpayable"},{"type":"function","name":"increasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToStake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"deactivatePoints(address)":"6453d9c4","decreasePower(address,uint256)":"2ed04b2b","getPointSystem()":"c3292171","increasePower(address,uint256)":"782aadff"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToUntake\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPointSystem\",\"outputs\":[{\"internalType\":\"enum PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToStake\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":\"IPointStrategy\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293\",\"dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0xc3aed28a3fec8dcc2e95c8569aa2c4323897a1685c63746822956fe995eddf28\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c4126fea7a0d30c76aab94605930ed01c7e53df2f4a7bba4773c097904d5eb39\",\"dweb:/ipfs/QmNsDu9G5JKCXdTs1HmEyVcR3S4DhuiZRt2bEPVNYGckgw\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x6b05f27573e30362ec808b4d79f8156550a8dd5090b107b46928ab8d87be3c87\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://134753f1a9a463e4193ffa2b2f6e32813b7a3d7603ddacaedf0f65a6a72c864a\",\"dweb:/ipfs/QmZnQa6a3aFUvxdT1yaj72DBQUShfq5okHshhHwGv85Mdq\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToUntake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"getPointSystem","outputs":[{"internalType":"enum PointSystem","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToStake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":"IPointStrategy"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2","urls":["bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293","dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0xc3aed28a3fec8dcc2e95c8569aa2c4323897a1685c63746822956fe995eddf28","urls":["bzz-raw://c4126fea7a0d30c76aab94605930ed01c7e53df2f4a7bba4773c097904d5eb39","dweb:/ipfs/QmNsDu9G5JKCXdTs1HmEyVcR3S4DhuiZRt2bEPVNYGckgw"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0x6b05f27573e30362ec808b4d79f8156550a8dd5090b107b46928ab8d87be3c87","urls":["bzz-raw://134753f1a9a463e4193ffa2b2f6e32813b7a3d7603ddacaedf0f65a6a72c864a","dweb:/ipfs/QmZnQa6a3aFUvxdT1yaj72DBQUShfq5okHshhHwGv85Mdq"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol","id":69195,"exportedSymbols":{"ArbitrableConfig":[65628],"BaseStrategy":[3923],"BaseStrategyUpgradeable":[65471],"CVParams":[65637],"CVStrategyInitializeParamsV0_0":[65657],"CVStrategyV0_0":[69194],"Clone":[3002],"CreateProposal":[65557],"ERC165":[57725],"ERC20":[56450],"IAllo":[2610],"IArbitrable":[76221],"IArbitrator":[76325],"ICollateralVault":[76358],"IERC165":[57931],"IPointStrategy":[65536],"ISybilScorer":[70122],"Math":[58797],"Metadata":[3098],"OwnableUpgradeable":[52903],"PassportData":[70040],"PointSystem":[65545],"PointSystemConfig":[65614],"Proposal":[65606],"ProposalDisputeInfo":[65572],"ProposalStatus":[65565],"ProposalSupport":[65611],"ProposalType":[65540],"RegistryCommunityV0_0":[72700],"UUPSUpgradeable":[55672],"console":[29510]},"nodeType":"SourceUnit","src":"42:53774:98","nodes":[{"id":65473,"nodeType":"PragmaDirective","src":"42:24:98","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":65475,"nodeType":"ImportDirective","src":"68:71:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":65474,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"76:8:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65478,"nodeType":"ImportDirective","src":"140:82:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/strategies/BaseStrategy.sol","file":"allo-v2-contracts/strategies/BaseStrategy.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":3924,"symbolAliases":[{"foreign":{"id":65476,"name":"BaseStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3923,"src":"148:12:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":65477,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"162:5:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65480,"nodeType":"ImportDirective","src":"223:85:98","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol","file":"../RegistryCommunity/RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":72701,"symbolAliases":[{"foreign":{"id":65479,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72700,"src":"231:21:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65483,"nodeType":"ImportDirective","src":"309:87:98","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":57726,"symbolAliases":[{"foreign":{"id":65481,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57725,"src":"317:6:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":65482,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57931,"src":"325:7:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65485,"nodeType":"ImportDirective","src":"397:68:98","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":56451,"symbolAliases":[{"foreign":{"id":65484,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56450,"src":"405:5:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65487,"nodeType":"ImportDirective","src":"466:58:98","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","file":"../interfaces/IArbitrator.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":76326,"symbolAliases":[{"foreign":{"id":65486,"name":"IArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76325,"src":"474:11:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65489,"nodeType":"ImportDirective","src":"525:58:98","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"../interfaces/IArbitrable.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":76222,"symbolAliases":[{"foreign":{"id":65488,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76221,"src":"533:11:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65491,"nodeType":"ImportDirective","src":"584:65:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":65490,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"592:5:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65493,"nodeType":"ImportDirective","src":"650:46:98","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":29511,"symbolAliases":[{"foreign":{"id":65492,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29510,"src":"658:7:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65495,"nodeType":"ImportDirective","src":"697:65:98","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":58798,"symbolAliases":[{"foreign":{"id":65494,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58797,"src":"705:4:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65498,"nodeType":"ImportDirective","src":"763:63:98","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"../ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":70123,"symbolAliases":[{"foreign":{"id":65496,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70122,"src":"771:12:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":65497,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70040,"src":"785:12:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65500,"nodeType":"ImportDirective","src":"827:88:98","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":55673,"symbolAliases":[{"foreign":{"id":65499,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55672,"src":"835:15:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65502,"nodeType":"ImportDirective","src":"916:71:98","nodes":[],"absolutePath":"pkg/contracts/src/BaseStrategyUpgradeable.sol","file":"../BaseStrategyUpgradeable.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":65472,"symbolAliases":[{"foreign":{"id":65501,"name":"BaseStrategyUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65471,"src":"924:23:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65504,"nodeType":"ImportDirective","src":"988:101:98","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":52904,"symbolAliases":[{"foreign":{"id":65503,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52903,"src":"996:18:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65506,"nodeType":"ImportDirective","src":"1090:68:98","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ICollateralVault.sol","file":"../interfaces/ICollateralVault.sol","nameLocation":"-1:-1:-1","scope":69195,"sourceUnit":76359,"symbolAliases":[{"foreign":{"id":65505,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76358,"src":"1098:16:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65536,"nodeType":"ContractDefinition","src":"1314:343:98","nodes":[{"id":65511,"nodeType":"FunctionDefinition","src":"1345:52:98","nodes":[],"functionSelector":"6453d9c4","implemented":false,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"1354:16:98","parameters":{"id":65509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65508,"mutability":"mutable","name":"_member","nameLocation":"1379:7:98","nodeType":"VariableDeclaration","scope":65511,"src":"1371:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65507,"name":"address","nodeType":"ElementaryTypeName","src":"1371:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1370:17:98"},"returnParameters":{"id":65510,"nodeType":"ParameterList","parameters":[],"src":"1396:0:98"},"scope":65536,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65520,"nodeType":"FunctionDefinition","src":"1403:91:98","nodes":[],"functionSelector":"782aadff","implemented":false,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"1412:13:98","parameters":{"id":65516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65513,"mutability":"mutable","name":"_member","nameLocation":"1434:7:98","nodeType":"VariableDeclaration","scope":65520,"src":"1426:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65512,"name":"address","nodeType":"ElementaryTypeName","src":"1426:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65515,"mutability":"mutable","name":"_amountToStake","nameLocation":"1451:14:98","nodeType":"VariableDeclaration","scope":65520,"src":"1443:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65514,"name":"uint256","nodeType":"ElementaryTypeName","src":"1443:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1425:41:98"},"returnParameters":{"id":65519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65518,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65520,"src":"1485:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65517,"name":"uint256","nodeType":"ElementaryTypeName","src":"1485:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1484:9:98"},"scope":65536,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65529,"nodeType":"FunctionDefinition","src":"1500:92:98","nodes":[],"functionSelector":"2ed04b2b","implemented":false,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"1509:13:98","parameters":{"id":65525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65522,"mutability":"mutable","name":"_member","nameLocation":"1531:7:98","nodeType":"VariableDeclaration","scope":65529,"src":"1523:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65521,"name":"address","nodeType":"ElementaryTypeName","src":"1523:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65524,"mutability":"mutable","name":"_amountToUntake","nameLocation":"1548:15:98","nodeType":"VariableDeclaration","scope":65529,"src":"1540:23:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65523,"name":"uint256","nodeType":"ElementaryTypeName","src":"1540:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1522:42:98"},"returnParameters":{"id":65528,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65527,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65529,"src":"1583:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65526,"name":"uint256","nodeType":"ElementaryTypeName","src":"1583:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1582:9:98"},"scope":65536,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65535,"nodeType":"FunctionDefinition","src":"1598:57:98","nodes":[],"functionSelector":"c3292171","implemented":false,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"1607:14:98","parameters":{"id":65530,"nodeType":"ParameterList","parameters":[],"src":"1621:2:98"},"returnParameters":{"id":65534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65533,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65535,"src":"1642:11:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"},"typeName":{"id":65532,"nodeType":"UserDefinedTypeName","pathNode":{"id":65531,"name":"PointSystem","nameLocations":["1642:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":65545,"src":"1642:11:98"},"referencedDeclaration":65545,"src":"1642:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"visibility":"internal"}],"src":"1641:13:98"},"scope":65536,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IPointStrategy","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[65536],"name":"IPointStrategy","nameLocation":"1324:14:98","scope":69195,"usedErrors":[]},{"id":65540,"nodeType":"EnumDefinition","src":"1659:63:98","nodes":[],"canonicalName":"ProposalType","members":[{"id":65537,"name":"Signaling","nameLocation":"1683:9:98","nodeType":"EnumValue","src":"1683:9:98"},{"id":65538,"name":"Funding","nameLocation":"1698:7:98","nodeType":"EnumValue","src":"1698:7:98"},{"id":65539,"name":"Streaming","nameLocation":"1711:9:98","nodeType":"EnumValue","src":"1711:9:98"}],"name":"ProposalType","nameLocation":"1664:12:98"},{"id":65545,"nodeType":"EnumDefinition","src":"1724:72:98","nodes":[],"canonicalName":"PointSystem","members":[{"id":65541,"name":"Fixed","nameLocation":"1747:5:98","nodeType":"EnumValue","src":"1747:5:98"},{"id":65542,"name":"Capped","nameLocation":"1758:6:98","nodeType":"EnumValue","src":"1758:6:98"},{"id":65543,"name":"Unlimited","nameLocation":"1770:9:98","nodeType":"EnumValue","src":"1770:9:98"},{"id":65544,"name":"Quadratic","nameLocation":"1785:9:98","nodeType":"EnumValue","src":"1785:9:98"}],"name":"PointSystem","nameLocation":"1729:11:98"},{"id":65557,"nodeType":"StructDefinition","src":"1798:211:98","nodes":[],"canonicalName":"CreateProposal","members":[{"constant":false,"id":65547,"mutability":"mutable","name":"poolId","nameLocation":"1861:6:98","nodeType":"VariableDeclaration","scope":65557,"src":"1853:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65546,"name":"uint256","nodeType":"ElementaryTypeName","src":"1853:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65549,"mutability":"mutable","name":"beneficiary","nameLocation":"1881:11:98","nodeType":"VariableDeclaration","scope":65557,"src":"1873:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65548,"name":"address","nodeType":"ElementaryTypeName","src":"1873:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65551,"mutability":"mutable","name":"amountRequested","nameLocation":"1940:15:98","nodeType":"VariableDeclaration","scope":65557,"src":"1932:23:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65550,"name":"uint256","nodeType":"ElementaryTypeName","src":"1932:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65553,"mutability":"mutable","name":"requestedToken","nameLocation":"1969:14:98","nodeType":"VariableDeclaration","scope":65557,"src":"1961:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65552,"name":"address","nodeType":"ElementaryTypeName","src":"1961:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65556,"mutability":"mutable","name":"metadata","nameLocation":"1998:8:98","nodeType":"VariableDeclaration","scope":65557,"src":"1989:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":65555,"nodeType":"UserDefinedTypeName","pathNode":{"id":65554,"name":"Metadata","nameLocations":["1989:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"1989:8:98"},"referencedDeclaration":3098,"src":"1989:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"CreateProposal","nameLocation":"1805:14:98","scope":69195,"visibility":"public"},{"id":65565,"nodeType":"EnumDefinition","src":"2011:360:98","nodes":[],"canonicalName":"ProposalStatus","members":[{"id":65558,"name":"Inactive","nameLocation":"2037:8:98","nodeType":"EnumValue","src":"2037:8:98"},{"id":65559,"name":"Active","nameLocation":"2063:6:98","nodeType":"EnumValue","src":"2063:6:98"},{"id":65560,"name":"Paused","nameLocation":"2122:6:98","nodeType":"EnumValue","src":"2122:6:98"},{"id":65561,"name":"Cancelled","nameLocation":"2184:9:98","nodeType":"EnumValue","src":"2184:9:98"},{"id":65562,"name":"Executed","nameLocation":"2233:8:98","nodeType":"EnumValue","src":"2233:8:98"},{"id":65563,"name":"Disputed","nameLocation":"2280:8:98","nodeType":"EnumValue","src":"2280:8:98"},{"id":65564,"name":"Rejected","nameLocation":"2327:8:98","nodeType":"EnumValue","src":"2327:8:98"}],"name":"ProposalStatus","nameLocation":"2016:14:98"},{"id":65572,"nodeType":"StructDefinition","src":"2373:107:98","nodes":[],"canonicalName":"ProposalDisputeInfo","members":[{"constant":false,"id":65567,"mutability":"mutable","name":"disputeId","nameLocation":"2414:9:98","nodeType":"VariableDeclaration","scope":65572,"src":"2406:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65566,"name":"uint256","nodeType":"ElementaryTypeName","src":"2406:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65569,"mutability":"mutable","name":"disputeTimestamp","nameLocation":"2437:16:98","nodeType":"VariableDeclaration","scope":65572,"src":"2429:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65568,"name":"uint256","nodeType":"ElementaryTypeName","src":"2429:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65571,"mutability":"mutable","name":"challenger","nameLocation":"2467:10:98","nodeType":"VariableDeclaration","scope":65572,"src":"2459:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65570,"name":"address","nodeType":"ElementaryTypeName","src":"2459:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"ProposalDisputeInfo","nameLocation":"2380:19:98","scope":69195,"visibility":"public"},{"id":65606,"nodeType":"StructDefinition","src":"2482:466:98","nodes":[],"canonicalName":"Proposal","members":[{"constant":false,"id":65574,"mutability":"mutable","name":"proposalId","nameLocation":"2512:10:98","nodeType":"VariableDeclaration","scope":65606,"src":"2504:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65573,"name":"uint256","nodeType":"ElementaryTypeName","src":"2504:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65576,"mutability":"mutable","name":"requestedAmount","nameLocation":"2536:15:98","nodeType":"VariableDeclaration","scope":65606,"src":"2528:23:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65575,"name":"uint256","nodeType":"ElementaryTypeName","src":"2528:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65578,"mutability":"mutable","name":"stakedAmount","nameLocation":"2565:12:98","nodeType":"VariableDeclaration","scope":65606,"src":"2557:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65577,"name":"uint256","nodeType":"ElementaryTypeName","src":"2557:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65580,"mutability":"mutable","name":"convictionLast","nameLocation":"2591:14:98","nodeType":"VariableDeclaration","scope":65606,"src":"2583:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65579,"name":"uint256","nodeType":"ElementaryTypeName","src":"2583:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65582,"mutability":"mutable","name":"beneficiary","nameLocation":"2619:11:98","nodeType":"VariableDeclaration","scope":65606,"src":"2611:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65581,"name":"address","nodeType":"ElementaryTypeName","src":"2611:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65584,"mutability":"mutable","name":"submitter","nameLocation":"2644:9:98","nodeType":"VariableDeclaration","scope":65606,"src":"2636:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65583,"name":"address","nodeType":"ElementaryTypeName","src":"2636:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65586,"mutability":"mutable","name":"requestedToken","nameLocation":"2667:14:98","nodeType":"VariableDeclaration","scope":65606,"src":"2659:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65585,"name":"address","nodeType":"ElementaryTypeName","src":"2659:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65588,"mutability":"mutable","name":"blockLast","nameLocation":"2695:9:98","nodeType":"VariableDeclaration","scope":65606,"src":"2687:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65587,"name":"uint256","nodeType":"ElementaryTypeName","src":"2687:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65591,"mutability":"mutable","name":"proposalStatus","nameLocation":"2725:14:98","nodeType":"VariableDeclaration","scope":65606,"src":"2710:29:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"},"typeName":{"id":65590,"nodeType":"UserDefinedTypeName","pathNode":{"id":65589,"name":"ProposalStatus","nameLocations":["2710:14:98"],"nodeType":"IdentifierPath","referencedDeclaration":65565,"src":"2710:14:98"},"referencedDeclaration":65565,"src":"2710:14:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":65595,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"2773:17:98","nodeType":"VariableDeclaration","scope":65606,"src":"2745:45:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":65594,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65592,"name":"address","nodeType":"ElementaryTypeName","src":"2753:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2745:27:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65593,"name":"uint256","nodeType":"ElementaryTypeName","src":"2764:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":65598,"mutability":"mutable","name":"metadata","nameLocation":"2828:8:98","nodeType":"VariableDeclaration","scope":65606,"src":"2819:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":65597,"nodeType":"UserDefinedTypeName","pathNode":{"id":65596,"name":"Metadata","nameLocations":["2819:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2819:8:98"},"referencedDeclaration":3098,"src":"2819:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":65601,"mutability":"mutable","name":"disputeInfo","nameLocation":"2862:11:98","nodeType":"VariableDeclaration","scope":65606,"src":"2842:31:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65572_storage_ptr","typeString":"struct ProposalDisputeInfo"},"typeName":{"id":65600,"nodeType":"UserDefinedTypeName","pathNode":{"id":65599,"name":"ProposalDisputeInfo","nameLocations":["2842:19:98"],"nodeType":"IdentifierPath","referencedDeclaration":65572,"src":"2842:19:98"},"referencedDeclaration":65572,"src":"2842:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65572_storage_ptr","typeString":"struct ProposalDisputeInfo"}},"visibility":"internal"},{"constant":false,"id":65603,"mutability":"mutable","name":"lastDisputeCompletion","nameLocation":"2887:21:98","nodeType":"VariableDeclaration","scope":65606,"src":"2879:29:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65602,"name":"uint256","nodeType":"ElementaryTypeName","src":"2879:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65605,"mutability":"mutable","name":"arbitrableConfigVersion","nameLocation":"2922:23:98","nodeType":"VariableDeclaration","scope":65606,"src":"2914:31:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65604,"name":"uint256","nodeType":"ElementaryTypeName","src":"2914:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Proposal","nameLocation":"2489:8:98","scope":69195,"visibility":"public"},{"id":65611,"nodeType":"StructDefinition","src":"2950:114:98","nodes":[],"canonicalName":"ProposalSupport","members":[{"constant":false,"id":65608,"mutability":"mutable","name":"proposalId","nameLocation":"2987:10:98","nodeType":"VariableDeclaration","scope":65611,"src":"2979:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65607,"name":"uint256","nodeType":"ElementaryTypeName","src":"2979:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65610,"mutability":"mutable","name":"deltaSupport","nameLocation":"3010:12:98","nodeType":"VariableDeclaration","scope":65611,"src":"3003:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":65609,"name":"int256","nodeType":"ElementaryTypeName","src":"3003:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"ProposalSupport","nameLocation":"2957:15:98","scope":69195,"visibility":"public"},{"id":65614,"nodeType":"StructDefinition","src":"3066:77:98","nodes":[],"canonicalName":"PointSystemConfig","members":[{"constant":false,"id":65613,"mutability":"mutable","name":"maxAmount","nameLocation":"3131:9:98","nodeType":"VariableDeclaration","scope":65614,"src":"3123:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65612,"name":"uint256","nodeType":"ElementaryTypeName","src":"3123:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"PointSystemConfig","nameLocation":"3073:17:98","scope":69195,"visibility":"public"},{"id":65628,"nodeType":"StructDefinition","src":"3145:221:98","nodes":[],"canonicalName":"ArbitrableConfig","members":[{"constant":false,"id":65617,"mutability":"mutable","name":"arbitrator","nameLocation":"3187:10:98","nodeType":"VariableDeclaration","scope":65628,"src":"3175:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"},"typeName":{"id":65616,"nodeType":"UserDefinedTypeName","pathNode":{"id":65615,"name":"IArbitrator","nameLocations":["3175:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":76325,"src":"3175:11:98"},"referencedDeclaration":76325,"src":"3175:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":65619,"mutability":"mutable","name":"tribunalSafe","nameLocation":"3211:12:98","nodeType":"VariableDeclaration","scope":65628,"src":"3203:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65618,"name":"address","nodeType":"ElementaryTypeName","src":"3203:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65621,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"3237:25:98","nodeType":"VariableDeclaration","scope":65628,"src":"3229:33:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65620,"name":"uint256","nodeType":"ElementaryTypeName","src":"3229:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65623,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"3276:26:98","nodeType":"VariableDeclaration","scope":65628,"src":"3268:34:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65622,"name":"uint256","nodeType":"ElementaryTypeName","src":"3268:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65625,"mutability":"mutable","name":"defaultRuling","nameLocation":"3316:13:98","nodeType":"VariableDeclaration","scope":65628,"src":"3308:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65624,"name":"uint256","nodeType":"ElementaryTypeName","src":"3308:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65627,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"3343:20:98","nodeType":"VariableDeclaration","scope":65628,"src":"3335:28:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65626,"name":"uint256","nodeType":"ElementaryTypeName","src":"3335:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ArbitrableConfig","nameLocation":"3152:16:98","scope":69195,"visibility":"public"},{"id":65637,"nodeType":"StructDefinition","src":"3368:112:98","nodes":[],"canonicalName":"CVParams","members":[{"constant":false,"id":65630,"mutability":"mutable","name":"maxRatio","nameLocation":"3398:8:98","nodeType":"VariableDeclaration","scope":65637,"src":"3390:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65629,"name":"uint256","nodeType":"ElementaryTypeName","src":"3390:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65632,"mutability":"mutable","name":"weight","nameLocation":"3420:6:98","nodeType":"VariableDeclaration","scope":65637,"src":"3412:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65631,"name":"uint256","nodeType":"ElementaryTypeName","src":"3412:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65634,"mutability":"mutable","name":"decay","nameLocation":"3440:5:98","nodeType":"VariableDeclaration","scope":65637,"src":"3432:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65633,"name":"uint256","nodeType":"ElementaryTypeName","src":"3432:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65636,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"3459:18:98","nodeType":"VariableDeclaration","scope":65637,"src":"3451:26:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65635,"name":"uint256","nodeType":"ElementaryTypeName","src":"3451:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"CVParams","nameLocation":"3375:8:98","scope":69195,"visibility":"public"},{"id":65657,"nodeType":"StructDefinition","src":"3482:254:98","nodes":[],"canonicalName":"CVStrategyInitializeParamsV0_0","members":[{"constant":false,"id":65640,"mutability":"mutable","name":"cvParams","nameLocation":"3535:8:98","nodeType":"VariableDeclaration","scope":65657,"src":"3526:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage_ptr","typeString":"struct CVParams"},"typeName":{"id":65639,"nodeType":"UserDefinedTypeName","pathNode":{"id":65638,"name":"CVParams","nameLocations":["3526:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65637,"src":"3526:8:98"},"referencedDeclaration":65637,"src":"3526:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage_ptr","typeString":"struct CVParams"}},"visibility":"internal"},{"constant":false,"id":65643,"mutability":"mutable","name":"proposalType","nameLocation":"3562:12:98","nodeType":"VariableDeclaration","scope":65657,"src":"3549:25:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"},"typeName":{"id":65642,"nodeType":"UserDefinedTypeName","pathNode":{"id":65641,"name":"ProposalType","nameLocations":["3549:12:98"],"nodeType":"IdentifierPath","referencedDeclaration":65540,"src":"3549:12:98"},"referencedDeclaration":65540,"src":"3549:12:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"visibility":"internal"},{"constant":false,"id":65646,"mutability":"mutable","name":"pointSystem","nameLocation":"3592:11:98","nodeType":"VariableDeclaration","scope":65657,"src":"3580:23:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"},"typeName":{"id":65645,"nodeType":"UserDefinedTypeName","pathNode":{"id":65644,"name":"PointSystem","nameLocations":["3580:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":65545,"src":"3580:11:98"},"referencedDeclaration":65545,"src":"3580:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"visibility":"internal"},{"constant":false,"id":65649,"mutability":"mutable","name":"pointConfig","nameLocation":"3627:11:98","nodeType":"VariableDeclaration","scope":65657,"src":"3609:29:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_storage_ptr","typeString":"struct PointSystemConfig"},"typeName":{"id":65648,"nodeType":"UserDefinedTypeName","pathNode":{"id":65647,"name":"PointSystemConfig","nameLocations":["3609:17:98"],"nodeType":"IdentifierPath","referencedDeclaration":65614,"src":"3609:17:98"},"referencedDeclaration":65614,"src":"3609:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_storage_ptr","typeString":"struct PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":65652,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"3661:16:98","nodeType":"VariableDeclaration","scope":65657,"src":"3644:33:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage_ptr","typeString":"struct ArbitrableConfig"},"typeName":{"id":65651,"nodeType":"UserDefinedTypeName","pathNode":{"id":65650,"name":"ArbitrableConfig","nameLocations":["3644:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65628,"src":"3644:16:98"},"referencedDeclaration":65628,"src":"3644:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage_ptr","typeString":"struct ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":65654,"mutability":"mutable","name":"registryCommunity","nameLocation":"3691:17:98","nodeType":"VariableDeclaration","scope":65657,"src":"3683:25:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65653,"name":"address","nodeType":"ElementaryTypeName","src":"3683:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65656,"mutability":"mutable","name":"sybilScorer","nameLocation":"3722:11:98","nodeType":"VariableDeclaration","scope":65657,"src":"3714:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65655,"name":"address","nodeType":"ElementaryTypeName","src":"3714:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"CVStrategyInitializeParamsV0_0","nameLocation":"3489:30:98","scope":69195,"visibility":"public"},{"id":69194,"nodeType":"ContractDefinition","src":"3782:50033:98","nodes":[{"id":65668,"nodeType":"ErrorDefinition","src":"4042:25:98","nodes":[],"errorSelector":"d1f28288","name":"UserCannotBeZero","nameLocation":"4048:16:98","parameters":{"id":65667,"nodeType":"ParameterList","parameters":[],"src":"4064:2:98"}},{"id":65670,"nodeType":"ErrorDefinition","src":"4086:26:98","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"4092:17:98","parameters":{"id":65669,"nodeType":"ParameterList","parameters":[],"src":"4109:2:98"}},{"id":65672,"nodeType":"ErrorDefinition","src":"4130:23:98","nodes":[],"errorSelector":"5fccb67f","name":"UserIsInactive","nameLocation":"4136:14:98","parameters":{"id":65671,"nodeType":"ParameterList","parameters":[],"src":"4150:2:98"}},{"id":65674,"nodeType":"ErrorDefinition","src":"4172:20:98","nodes":[],"errorSelector":"ed4421ad","name":"PoolIsEmpty","nameLocation":"4178:11:98","parameters":{"id":65673,"nodeType":"ParameterList","parameters":[],"src":"4189:2:98"}},{"id":65676,"nodeType":"ErrorDefinition","src":"4211:23:98","nodes":[],"errorSelector":"d6234725","name":"NotImplemented","nameLocation":"4217:14:98","parameters":{"id":65675,"nodeType":"ParameterList","parameters":[],"src":"4231:2:98"}},{"id":65678,"nodeType":"ErrorDefinition","src":"4252:26:98","nodes":[],"errorSelector":"596a094c","name":"TokenCannotBeZero","nameLocation":"4258:17:98","parameters":{"id":65677,"nodeType":"ParameterList","parameters":[],"src":"4275:2:98"}},{"id":65680,"nodeType":"ErrorDefinition","src":"4296:24:98","nodes":[],"errorSelector":"a29c4986","name":"TokenNotAllowed","nameLocation":"4302:15:98","parameters":{"id":65679,"nodeType":"ParameterList","parameters":[],"src":"4317:2:98"}},{"id":65682,"nodeType":"ErrorDefinition","src":"4339:27:98","nodes":[],"errorSelector":"3bf5ca14","name":"AmountOverMaxRatio","nameLocation":"4345:18:98","parameters":{"id":65681,"nodeType":"ParameterList","parameters":[],"src":"4363:2:98"}},{"id":65684,"nodeType":"ErrorDefinition","src":"4385:27:98","nodes":[],"errorSelector":"4e791786","name":"PoolIdCannotBeZero","nameLocation":"4391:18:98","parameters":{"id":65683,"nodeType":"ParameterList","parameters":[],"src":"4409:2:98"}},{"id":65686,"nodeType":"ErrorDefinition","src":"4430:28:98","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"4436:19:98","parameters":{"id":65685,"nodeType":"ParameterList","parameters":[],"src":"4455:2:98"}},{"id":65688,"nodeType":"ErrorDefinition","src":"4476:29:98","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"4482:20:98","parameters":{"id":65687,"nodeType":"ParameterList","parameters":[],"src":"4502:2:98"}},{"id":65696,"nodeType":"ErrorDefinition","src":"4524:72:98","nodes":[],"errorSelector":"3bbc7142","name":"SupportUnderflow","nameLocation":"4530:16:98","parameters":{"id":65695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65690,"mutability":"mutable","name":"_support","nameLocation":"4555:8:98","nodeType":"VariableDeclaration","scope":65696,"src":"4547:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65689,"name":"uint256","nodeType":"ElementaryTypeName","src":"4547:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65692,"mutability":"mutable","name":"_delta","nameLocation":"4572:6:98","nodeType":"VariableDeclaration","scope":65696,"src":"4565:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":65691,"name":"int256","nodeType":"ElementaryTypeName","src":"4565:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":65694,"mutability":"mutable","name":"_result","nameLocation":"4587:7:98","nodeType":"VariableDeclaration","scope":65696,"src":"4580:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":65693,"name":"int256","nodeType":"ElementaryTypeName","src":"4580:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4546:49:98"}},{"id":65698,"nodeType":"ErrorDefinition","src":"4615:25:98","nodes":[],"errorSelector":"8402b474","name":"MaxPointsReached","nameLocation":"4621:16:98","parameters":{"id":65697,"nodeType":"ParameterList","parameters":[],"src":"4637:2:98"}},{"id":65700,"nodeType":"ErrorDefinition","src":"4659:32:98","nodes":[],"errorSelector":"573c3e93","name":"CantIncreaseFixedSystem","nameLocation":"4665:23:98","parameters":{"id":65699,"nodeType":"ParameterList","parameters":[],"src":"4688:2:98"}},{"id":65706,"nodeType":"ErrorDefinition","src":"4710:77:98","nodes":[],"errorSelector":"d64182fe","name":"NotEnoughPointsToSupport","nameLocation":"4716:24:98","parameters":{"id":65705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65702,"mutability":"mutable","name":"pointsSupport","nameLocation":"4749:13:98","nodeType":"VariableDeclaration","scope":65706,"src":"4741:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65701,"name":"uint256","nodeType":"ElementaryTypeName","src":"4741:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65704,"mutability":"mutable","name":"pointsBalance","nameLocation":"4772:13:98","nodeType":"VariableDeclaration","scope":65706,"src":"4764:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65703,"name":"uint256","nodeType":"ElementaryTypeName","src":"4764:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4740:46:98"}},{"id":65708,"nodeType":"ErrorDefinition","src":"4807:28:98","nodes":[],"errorSelector":"c5f7c4c0","name":"ProposalDataIsEmpty","nameLocation":"4813:19:98","parameters":{"id":65707,"nodeType":"ParameterList","parameters":[],"src":"4832:2:98"}},{"id":65710,"nodeType":"ErrorDefinition","src":"4853:31:98","nodes":[],"errorSelector":"f881a10d","name":"ProposalIdCannotBeZero","nameLocation":"4859:22:98","parameters":{"id":65709,"nodeType":"ParameterList","parameters":[],"src":"4881:2:98"}},{"id":65714,"nodeType":"ErrorDefinition","src":"4902:45:98","nodes":[],"errorSelector":"44980d8f","name":"ProposalNotActive","nameLocation":"4908:17:98","parameters":{"id":65713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65712,"mutability":"mutable","name":"_proposalId","nameLocation":"4934:11:98","nodeType":"VariableDeclaration","scope":65714,"src":"4926:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65711,"name":"uint256","nodeType":"ElementaryTypeName","src":"4926:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4925:21:98"}},{"id":65718,"nodeType":"ErrorDefinition","src":"4966:45:98","nodes":[],"errorSelector":"c1d17bef","name":"ProposalNotInList","nameLocation":"4972:17:98","parameters":{"id":65717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65716,"mutability":"mutable","name":"_proposalId","nameLocation":"4998:11:98","nodeType":"VariableDeclaration","scope":65718,"src":"4990:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65715,"name":"uint256","nodeType":"ElementaryTypeName","src":"4990:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4989:21:98"}},{"id":65724,"nodeType":"ErrorDefinition","src":"5030:68:98","nodes":[],"errorSelector":"adebb154","name":"ProposalSupportDuplicated","nameLocation":"5036:25:98","parameters":{"id":65723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65720,"mutability":"mutable","name":"_proposalId","nameLocation":"5070:11:98","nodeType":"VariableDeclaration","scope":65724,"src":"5062:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65719,"name":"uint256","nodeType":"ElementaryTypeName","src":"5062:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65722,"mutability":"mutable","name":"index","nameLocation":"5091:5:98","nodeType":"VariableDeclaration","scope":65724,"src":"5083:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65721,"name":"uint256","nodeType":"ElementaryTypeName","src":"5083:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5061:36:98"}},{"id":65726,"nodeType":"ErrorDefinition","src":"5116:40:98","nodes":[],"errorSelector":"cce79308","name":"ConvictionUnderMinimumThreshold","nameLocation":"5122:31:98","parameters":{"id":65725,"nodeType":"ParameterList","parameters":[],"src":"5153:2:98"}},{"id":65728,"nodeType":"ErrorDefinition","src":"5175:29:98","nodes":[],"errorSelector":"af0916a2","name":"OnlyCommunityAllowed","nameLocation":"5181:20:98","parameters":{"id":65727,"nodeType":"ParameterList","parameters":[],"src":"5201:2:98"}},{"id":65736,"nodeType":"ErrorDefinition","src":"5223:94:98","nodes":[],"errorSelector":"5863b0b6","name":"PoolAmountNotEnough","nameLocation":"5229:19:98","parameters":{"id":65735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65730,"mutability":"mutable","name":"_proposalId","nameLocation":"5257:11:98","nodeType":"VariableDeclaration","scope":65736,"src":"5249:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65729,"name":"uint256","nodeType":"ElementaryTypeName","src":"5249:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65732,"mutability":"mutable","name":"_requestedAmount","nameLocation":"5278:16:98","nodeType":"VariableDeclaration","scope":65736,"src":"5270:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65731,"name":"uint256","nodeType":"ElementaryTypeName","src":"5270:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65734,"mutability":"mutable","name":"_poolAmount","nameLocation":"5304:11:98","nodeType":"VariableDeclaration","scope":65736,"src":"5296:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65733,"name":"uint256","nodeType":"ElementaryTypeName","src":"5296:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5248:68:98"}},{"id":65738,"nodeType":"ErrorDefinition","src":"5335:24:98","nodes":[],"errorSelector":"e860ec7e","name":"OnlyCouncilSafe","nameLocation":"5341:15:98","parameters":{"id":65737,"nodeType":"ParameterList","parameters":[],"src":"5356:2:98"}},{"id":65740,"nodeType":"ErrorDefinition","src":"5364:32:98","nodes":[],"errorSelector":"5b96b588","name":"UserCannotExecuteAction","nameLocation":"5370:23:98","parameters":{"id":65739,"nodeType":"ParameterList","parameters":[],"src":"5393:2:98"}},{"id":65746,"nodeType":"ErrorDefinition","src":"5401:73:98","nodes":[],"errorSelector":"b07e3bc4","name":"InsufficientCollateral","nameLocation":"5407:22:98","parameters":{"id":65745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65742,"mutability":"mutable","name":"sentAmount","nameLocation":"5438:10:98","nodeType":"VariableDeclaration","scope":65746,"src":"5430:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65741,"name":"uint256","nodeType":"ElementaryTypeName","src":"5430:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65744,"mutability":"mutable","name":"requiredAmount","nameLocation":"5458:14:98","nodeType":"VariableDeclaration","scope":65746,"src":"5450:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65743,"name":"uint256","nodeType":"ElementaryTypeName","src":"5450:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5429:44:98"}},{"id":65748,"nodeType":"ErrorDefinition","src":"5479:23:98","nodes":[],"errorSelector":"2eef310a","name":"OnlyArbitrator","nameLocation":"5485:14:98","parameters":{"id":65747,"nodeType":"ParameterList","parameters":[],"src":"5499:2:98"}},{"id":65752,"nodeType":"ErrorDefinition","src":"5507:47:98","nodes":[],"errorSelector":"96023952","name":"ProposalNotDisputed","nameLocation":"5513:19:98","parameters":{"id":65751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65750,"mutability":"mutable","name":"_proposalId","nameLocation":"5541:11:98","nodeType":"VariableDeclaration","scope":65752,"src":"5533:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65749,"name":"uint256","nodeType":"ElementaryTypeName","src":"5533:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5532:21:98"}},{"id":65754,"nodeType":"ErrorDefinition","src":"5559:31:98","nodes":[],"errorSelector":"6c291fd3","name":"ArbitratorCannotBeZero","nameLocation":"5565:22:98","parameters":{"id":65753,"nodeType":"ParameterList","parameters":[],"src":"5587:2:98"}},{"id":65760,"nodeType":"ErrorDefinition","src":"5595:55:98","nodes":[],"errorSelector":"8a89b922","name":"OnlySubmitter","nameLocation":"5601:13:98","parameters":{"id":65759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65756,"mutability":"mutable","name":"submitter","nameLocation":"5623:9:98","nodeType":"VariableDeclaration","scope":65760,"src":"5615:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65755,"name":"address","nodeType":"ElementaryTypeName","src":"5615:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65758,"mutability":"mutable","name":"sender","nameLocation":"5642:6:98","nodeType":"VariableDeclaration","scope":65760,"src":"5634:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65757,"name":"address","nodeType":"ElementaryTypeName","src":"5634:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5614:35:98"}},{"id":65762,"nodeType":"ErrorDefinition","src":"5736:28:98","nodes":[],"errorSelector":"dd466dd0","name":"DefaultRulingNotSet","nameLocation":"5742:19:98","parameters":{"id":65761,"nodeType":"ParameterList","parameters":[],"src":"5761:2:98"}},{"id":65768,"nodeType":"ErrorDefinition","src":"5769:75:98","nodes":[],"errorSelector":"8d2f6c31","name":"DisputeCooldownNotPassed","nameLocation":"5775:24:98","parameters":{"id":65767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65764,"mutability":"mutable","name":"_proposalId","nameLocation":"5808:11:98","nodeType":"VariableDeclaration","scope":65768,"src":"5800:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65763,"name":"uint256","nodeType":"ElementaryTypeName","src":"5800:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65766,"mutability":"mutable","name":"_remainingSec","nameLocation":"5829:13:98","nodeType":"VariableDeclaration","scope":65768,"src":"5821:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65765,"name":"uint256","nodeType":"ElementaryTypeName","src":"5821:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5799:44:98"}},{"id":65775,"nodeType":"EventDefinition","src":"6016:73:98","nodes":[],"anonymous":false,"eventSelector":"e5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b","name":"InitializedCV","nameLocation":"6022:13:98","parameters":{"id":65774,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65770,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6044:6:98","nodeType":"VariableDeclaration","scope":65775,"src":"6036:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65769,"name":"uint256","nodeType":"ElementaryTypeName","src":"6036:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65773,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"6083:4:98","nodeType":"VariableDeclaration","scope":65775,"src":"6052:35:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0"},"typeName":{"id":65772,"nodeType":"UserDefinedTypeName","pathNode":{"id":65771,"name":"CVStrategyInitializeParamsV0_0","nameLocations":["6052:30:98"],"nodeType":"IdentifierPath","referencedDeclaration":65657,"src":"6052:30:98"},"referencedDeclaration":65657,"src":"6052:30:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_storage_ptr","typeString":"struct CVStrategyInitializeParamsV0_0"}},"visibility":"internal"}],"src":"6035:53:98"}},{"id":65783,"nodeType":"EventDefinition","src":"6094:75:98","nodes":[],"anonymous":false,"eventSelector":"a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847","name":"Distributed","nameLocation":"6100:11:98","parameters":{"id":65782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65777,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6120:10:98","nodeType":"VariableDeclaration","scope":65783,"src":"6112:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65776,"name":"uint256","nodeType":"ElementaryTypeName","src":"6112:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65779,"indexed":false,"mutability":"mutable","name":"beneficiary","nameLocation":"6140:11:98","nodeType":"VariableDeclaration","scope":65783,"src":"6132:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65778,"name":"address","nodeType":"ElementaryTypeName","src":"6132:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65781,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6161:6:98","nodeType":"VariableDeclaration","scope":65783,"src":"6153:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65780,"name":"uint256","nodeType":"ElementaryTypeName","src":"6153:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6111:57:98"}},{"id":65789,"nodeType":"EventDefinition","src":"6174:58:98","nodes":[],"anonymous":false,"eventSelector":"fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b","name":"ProposalCreated","nameLocation":"6180:15:98","parameters":{"id":65788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65785,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6204:6:98","nodeType":"VariableDeclaration","scope":65789,"src":"6196:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65784,"name":"uint256","nodeType":"ElementaryTypeName","src":"6196:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65787,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6220:10:98","nodeType":"VariableDeclaration","scope":65789,"src":"6212:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65786,"name":"uint256","nodeType":"ElementaryTypeName","src":"6212:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6195:36:98"}},{"id":65793,"nodeType":"EventDefinition","src":"6237:42:98","nodes":[],"anonymous":false,"eventSelector":"46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339","name":"PoolAmountIncreased","nameLocation":"6243:19:98","parameters":{"id":65792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65791,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6271:6:98","nodeType":"VariableDeclaration","scope":65793,"src":"6263:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65790,"name":"uint256","nodeType":"ElementaryTypeName","src":"6263:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6262:16:98"}},{"id":65797,"nodeType":"EventDefinition","src":"6284:40:98","nodes":[],"anonymous":false,"eventSelector":"1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b","name":"PointsDeactivated","nameLocation":"6290:17:98","parameters":{"id":65796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65795,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6316:6:98","nodeType":"VariableDeclaration","scope":65797,"src":"6308:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65794,"name":"address","nodeType":"ElementaryTypeName","src":"6308:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6307:16:98"}},{"id":65805,"nodeType":"EventDefinition","src":"6329:85:98","nodes":[],"anonymous":false,"eventSelector":"0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a","name":"PowerIncreased","nameLocation":"6335:14:98","parameters":{"id":65804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65799,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6358:6:98","nodeType":"VariableDeclaration","scope":65805,"src":"6350:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65798,"name":"address","nodeType":"ElementaryTypeName","src":"6350:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65801,"indexed":false,"mutability":"mutable","name":"tokensStaked","nameLocation":"6374:12:98","nodeType":"VariableDeclaration","scope":65805,"src":"6366:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65800,"name":"uint256","nodeType":"ElementaryTypeName","src":"6366:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65803,"indexed":false,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"6396:16:98","nodeType":"VariableDeclaration","scope":65805,"src":"6388:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65802,"name":"uint256","nodeType":"ElementaryTypeName","src":"6388:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6349:64:98"}},{"id":65813,"nodeType":"EventDefinition","src":"6419:87:98","nodes":[],"anonymous":false,"eventSelector":"70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1","name":"PowerDecreased","nameLocation":"6425:14:98","parameters":{"id":65812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65807,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6448:6:98","nodeType":"VariableDeclaration","scope":65813,"src":"6440:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65806,"name":"address","nodeType":"ElementaryTypeName","src":"6440:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65809,"indexed":false,"mutability":"mutable","name":"tokensUnStaked","nameLocation":"6464:14:98","nodeType":"VariableDeclaration","scope":65813,"src":"6456:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65808,"name":"uint256","nodeType":"ElementaryTypeName","src":"6456:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65811,"indexed":false,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"6488:16:98","nodeType":"VariableDeclaration","scope":65813,"src":"6480:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65810,"name":"uint256","nodeType":"ElementaryTypeName","src":"6480:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6439:66:98"}},{"id":65825,"nodeType":"EventDefinition","src":"6511:134:98","nodes":[],"anonymous":false,"eventSelector":"0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f","name":"SupportAdded","nameLocation":"6517:12:98","parameters":{"id":65824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65815,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"6547:4:98","nodeType":"VariableDeclaration","scope":65825,"src":"6539:12:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65814,"name":"address","nodeType":"ElementaryTypeName","src":"6539:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65817,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6561:10:98","nodeType":"VariableDeclaration","scope":65825,"src":"6553:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65816,"name":"uint256","nodeType":"ElementaryTypeName","src":"6553:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65819,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6581:6:98","nodeType":"VariableDeclaration","scope":65825,"src":"6573:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65818,"name":"uint256","nodeType":"ElementaryTypeName","src":"6573:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65821,"indexed":false,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"6597:17:98","nodeType":"VariableDeclaration","scope":65825,"src":"6589:25:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65820,"name":"uint256","nodeType":"ElementaryTypeName","src":"6589:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65823,"indexed":false,"mutability":"mutable","name":"convictionLast","nameLocation":"6624:14:98","nodeType":"VariableDeclaration","scope":65825,"src":"6616:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65822,"name":"uint256","nodeType":"ElementaryTypeName","src":"6616:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6529:115:98"}},{"id":65830,"nodeType":"EventDefinition","src":"6650:41:98","nodes":[],"anonymous":false,"eventSelector":"ec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc","name":"CVParamsUpdated","nameLocation":"6656:15:98","parameters":{"id":65829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65828,"indexed":false,"mutability":"mutable","name":"cvParams","nameLocation":"6681:8:98","nodeType":"VariableDeclaration","scope":65830,"src":"6672:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams"},"typeName":{"id":65827,"nodeType":"UserDefinedTypeName","pathNode":{"id":65826,"name":"CVParams","nameLocations":["6672:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65637,"src":"6672:8:98"},"referencedDeclaration":65637,"src":"6672:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage_ptr","typeString":"struct CVParams"}},"visibility":"internal"}],"src":"6671:19:98"}},{"id":65834,"nodeType":"EventDefinition","src":"6696:49:98","nodes":[],"anonymous":false,"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"6702:15:98","parameters":{"id":65833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65832,"indexed":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"6726:17:98","nodeType":"VariableDeclaration","scope":65834,"src":"6718:25:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65831,"name":"address","nodeType":"ElementaryTypeName","src":"6718:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6717:27:98"}},{"id":65840,"nodeType":"EventDefinition","src":"6750:76:98","nodes":[],"anonymous":false,"eventSelector":"056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b","name":"MinThresholdPointsUpdated","nameLocation":"6756:25:98","parameters":{"id":65839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65836,"indexed":false,"mutability":"mutable","name":"before","nameLocation":"6790:6:98","nodeType":"VariableDeclaration","scope":65840,"src":"6782:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65835,"name":"uint256","nodeType":"ElementaryTypeName","src":"6782:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65838,"indexed":false,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"6806:18:98","nodeType":"VariableDeclaration","scope":65840,"src":"6798:26:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65837,"name":"uint256","nodeType":"ElementaryTypeName","src":"6798:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6781:44:98"}},{"id":65855,"nodeType":"EventDefinition","src":"6831:195:98","nodes":[],"anonymous":false,"eventSelector":"034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d","name":"ProposalDisputed","nameLocation":"6837:16:98","parameters":{"id":65854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65843,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"6875:10:98","nodeType":"VariableDeclaration","scope":65855,"src":"6863:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"},"typeName":{"id":65842,"nodeType":"UserDefinedTypeName","pathNode":{"id":65841,"name":"IArbitrator","nameLocations":["6863:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":76325,"src":"6863:11:98"},"referencedDeclaration":76325,"src":"6863:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":65845,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6903:10:98","nodeType":"VariableDeclaration","scope":65855,"src":"6895:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65844,"name":"uint256","nodeType":"ElementaryTypeName","src":"6895:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65847,"indexed":false,"mutability":"mutable","name":"disputeId","nameLocation":"6931:9:98","nodeType":"VariableDeclaration","scope":65855,"src":"6923:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65846,"name":"uint256","nodeType":"ElementaryTypeName","src":"6923:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65849,"indexed":false,"mutability":"mutable","name":"challenger","nameLocation":"6958:10:98","nodeType":"VariableDeclaration","scope":65855,"src":"6950:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65848,"name":"address","nodeType":"ElementaryTypeName","src":"6950:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65851,"indexed":false,"mutability":"mutable","name":"context","nameLocation":"6985:7:98","nodeType":"VariableDeclaration","scope":65855,"src":"6978:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65850,"name":"string","nodeType":"ElementaryTypeName","src":"6978:6:98","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":65853,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"7010:9:98","nodeType":"VariableDeclaration","scope":65855,"src":"7002:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65852,"name":"uint256","nodeType":"ElementaryTypeName","src":"7002:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6853:172:98"}},{"id":65863,"nodeType":"EventDefinition","src":"7031:88:98","nodes":[],"anonymous":false,"eventSelector":"dc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f","name":"TribunaSafeRegistered","nameLocation":"7037:21:98","parameters":{"id":65862,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65857,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7067:8:98","nodeType":"VariableDeclaration","scope":65863,"src":"7059:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65856,"name":"address","nodeType":"ElementaryTypeName","src":"7059:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65859,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7085:10:98","nodeType":"VariableDeclaration","scope":65863,"src":"7077:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65858,"name":"address","nodeType":"ElementaryTypeName","src":"7077:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65861,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"7105:12:98","nodeType":"VariableDeclaration","scope":65863,"src":"7097:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65860,"name":"address","nodeType":"ElementaryTypeName","src":"7097:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7058:60:98"}},{"id":65867,"nodeType":"EventDefinition","src":"7124:44:98","nodes":[],"anonymous":false,"eventSelector":"416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c","name":"ProposalCancelled","nameLocation":"7130:17:98","parameters":{"id":65866,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65865,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7156:10:98","nodeType":"VariableDeclaration","scope":65867,"src":"7148:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65864,"name":"uint256","nodeType":"ElementaryTypeName","src":"7148:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7147:20:98"}},{"id":65884,"nodeType":"EventDefinition","src":"7173:302:98","nodes":[],"anonymous":false,"eventSelector":"e677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d53","name":"ArbitrableConfigUpdated","nameLocation":"7179:23:98","parameters":{"id":65883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65869,"indexed":false,"mutability":"mutable","name":"currentArbitrableConfigVersion","nameLocation":"7220:30:98","nodeType":"VariableDeclaration","scope":65884,"src":"7212:38:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65868,"name":"uint256","nodeType":"ElementaryTypeName","src":"7212:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65872,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7272:10:98","nodeType":"VariableDeclaration","scope":65884,"src":"7260:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"},"typeName":{"id":65871,"nodeType":"UserDefinedTypeName","pathNode":{"id":65870,"name":"IArbitrator","nameLocations":["7260:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":76325,"src":"7260:11:98"},"referencedDeclaration":76325,"src":"7260:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":65874,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"7300:12:98","nodeType":"VariableDeclaration","scope":65884,"src":"7292:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65873,"name":"address","nodeType":"ElementaryTypeName","src":"7292:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65876,"indexed":false,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"7330:25:98","nodeType":"VariableDeclaration","scope":65884,"src":"7322:33:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65875,"name":"uint256","nodeType":"ElementaryTypeName","src":"7322:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65878,"indexed":false,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"7373:26:98","nodeType":"VariableDeclaration","scope":65884,"src":"7365:34:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65877,"name":"uint256","nodeType":"ElementaryTypeName","src":"7365:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65880,"indexed":false,"mutability":"mutable","name":"defaultRuling","nameLocation":"7417:13:98","nodeType":"VariableDeclaration","scope":65884,"src":"7409:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65879,"name":"uint256","nodeType":"ElementaryTypeName","src":"7409:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65882,"indexed":false,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"7448:20:98","nodeType":"VariableDeclaration","scope":65884,"src":"7440:28:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65881,"name":"uint256","nodeType":"ElementaryTypeName","src":"7440:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7202:272:98"}},{"id":65887,"nodeType":"VariableDeclaration","src":"7849:38:98","nodes":[],"constant":true,"functionSelector":"ffa1ad74","mutability":"constant","name":"VERSION","nameLocation":"7872:7:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65885,"name":"string","nodeType":"ElementaryTypeName","src":"7849:6:98","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"302e30","id":65886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7882:5:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_7be32719f3172a4c9a8d1f020e88b7d75f936a7394cfbfe03d409404e58cbdc3","typeString":"literal_string \"0.0\""},"value":"0.0"},"visibility":"public"},{"id":65890,"nodeType":"VariableDeclaration","src":"7893:36:98","nodes":[],"constant":true,"functionSelector":"0f529ba2","mutability":"constant","name":"D","nameLocation":"7917:1:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65888,"name":"uint256","nodeType":"ElementaryTypeName","src":"7893:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130303030303030","id":65889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7921:8:98","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"value":"10000000"},"visibility":"public"},{"id":65893,"nodeType":"VariableDeclaration","src":"7943:71:98","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"7969:7:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65891,"name":"uint256","nodeType":"ElementaryTypeName","src":"7943:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078313030303030303030303030303030303030303030303030303030303030303030","id":65892,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7979:35:98","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"value":"0x100000000000000000000000000000000"},"visibility":"internal"},{"id":65896,"nodeType":"VariableDeclaration","src":"8030:70:98","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"8056:7:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65894,"name":"uint256","nodeType":"ElementaryTypeName","src":"8030:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783830303030303030303030303030303030303030303030303030303030303030","id":65895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8066:34:98","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"value":"0x80000000000000000000000000000000"},"visibility":"internal"},{"id":65899,"nodeType":"VariableDeclaration","src":"8116:54:98","nodes":[],"constant":true,"mutability":"constant","name":"TWO_64","nameLocation":"8142:6:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65897,"name":"uint256","nodeType":"ElementaryTypeName","src":"8116:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783130303030303030303030303030303030","id":65898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8151:19:98","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"value":"0x10000000000000000"},"visibility":"internal"},{"id":65902,"nodeType":"VariableDeclaration","src":"8185:49:98","nodes":[],"constant":true,"functionSelector":"406244d8","mutability":"constant","name":"MAX_STAKED_PROPOSALS","nameLocation":"8209:20:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65900,"name":"uint256","nodeType":"ElementaryTypeName","src":"8185:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130","id":65901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8232:2:98","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"id":65905,"nodeType":"VariableDeclaration","src":"8320:42:98","nodes":[],"constant":true,"functionSelector":"626c47e8","mutability":"constant","name":"RULING_OPTIONS","nameLocation":"8344:14:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65903,"name":"uint256","nodeType":"ElementaryTypeName","src":"8320:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":65904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8361:1:98","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"public"},{"id":65908,"nodeType":"VariableDeclaration","src":"8368:54:98","nodes":[],"constant":true,"functionSelector":"f5be3f7c","mutability":"constant","name":"DISPUTE_COOLDOWN_SEC","nameLocation":"8392:20:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65906,"name":"uint256","nodeType":"ElementaryTypeName","src":"8368:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":65907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8415:7:98","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_7200_by_1","typeString":"int_const 7200"},"value":"2"},"visibility":"public"},{"id":65910,"nodeType":"VariableDeclaration","src":"8429:40:98","nodes":[],"constant":false,"mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"8446:23:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65909,"name":"address","nodeType":"ElementaryTypeName","src":"8429:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":65912,"nodeType":"VariableDeclaration","src":"8517:47:98","nodes":[],"constant":false,"mutability":"mutable","name":"surpressStateMutabilityWarning","nameLocation":"8534:30:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65911,"name":"uint256","nodeType":"ElementaryTypeName","src":"8517:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":65914,"nodeType":"VariableDeclaration","src":"8608:25:98","nodes":[],"constant":false,"functionSelector":"33960459","mutability":"mutable","name":"cloneNonce","nameLocation":"8623:10:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65913,"name":"uint256","nodeType":"ElementaryTypeName","src":"8608:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65916,"nodeType":"VariableDeclaration","src":"8639:26:98","nodes":[],"constant":false,"functionSelector":"a28889e1","mutability":"mutable","name":"disputeCount","nameLocation":"8653:12:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":65915,"name":"uint64","nodeType":"ElementaryTypeName","src":"8639:6:98","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"public"},{"id":65918,"nodeType":"VariableDeclaration","src":"8671:30:98","nodes":[],"constant":false,"functionSelector":"0c0512e9","mutability":"mutable","name":"proposalCounter","nameLocation":"8686:15:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65917,"name":"uint256","nodeType":"ElementaryTypeName","src":"8671:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65920,"nodeType":"VariableDeclaration","src":"8707:45:98","nodes":[],"constant":false,"functionSelector":"125fd1d9","mutability":"mutable","name":"currentArbitrableConfigVersion","nameLocation":"8722:30:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65919,"name":"uint256","nodeType":"ElementaryTypeName","src":"8707:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65922,"nodeType":"VariableDeclaration","src":"8759:26:98","nodes":[],"constant":false,"functionSelector":"817b1cd2","mutability":"mutable","name":"totalStaked","nameLocation":"8774:11:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65921,"name":"uint256","nodeType":"ElementaryTypeName","src":"8759:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65924,"nodeType":"VariableDeclaration","src":"8791:35:98","nodes":[],"constant":false,"functionSelector":"aba9ffee","mutability":"mutable","name":"totalPointsActivated","nameLocation":"8806:20:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65923,"name":"uint256","nodeType":"ElementaryTypeName","src":"8791:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65927,"nodeType":"VariableDeclaration","src":"8833:24:98","nodes":[],"constant":false,"functionSelector":"2506b870","mutability":"mutable","name":"cvParams","nameLocation":"8849:8:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage","typeString":"struct CVParams"},"typeName":{"id":65926,"nodeType":"UserDefinedTypeName","pathNode":{"id":65925,"name":"CVParams","nameLocations":["8833:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65637,"src":"8833:8:98"},"referencedDeclaration":65637,"src":"8833:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage_ptr","typeString":"struct CVParams"}},"visibility":"public"},{"id":65930,"nodeType":"VariableDeclaration","src":"8904:32:98","nodes":[],"constant":false,"functionSelector":"351d9f96","mutability":"mutable","name":"proposalType","nameLocation":"8924:12:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"},"typeName":{"id":65929,"nodeType":"UserDefinedTypeName","pathNode":{"id":65928,"name":"ProposalType","nameLocations":["8904:12:98"],"nodeType":"IdentifierPath","referencedDeclaration":65540,"src":"8904:12:98"},"referencedDeclaration":65540,"src":"8904:12:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"visibility":"public"},{"id":65933,"nodeType":"VariableDeclaration","src":"8995:30:98","nodes":[],"constant":false,"functionSelector":"2dbd6fdd","mutability":"mutable","name":"pointSystem","nameLocation":"9014:11:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"},"typeName":{"id":65932,"nodeType":"UserDefinedTypeName","pathNode":{"id":65931,"name":"PointSystem","nameLocations":["8995:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":65545,"src":"8995:11:98"},"referencedDeclaration":65545,"src":"8995:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"visibility":"public"},{"id":65936,"nodeType":"VariableDeclaration","src":"9031:36:98","nodes":[],"constant":false,"functionSelector":"a47ff7e5","mutability":"mutable","name":"pointConfig","nameLocation":"9056:11:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_storage","typeString":"struct PointSystemConfig"},"typeName":{"id":65935,"nodeType":"UserDefinedTypeName","pathNode":{"id":65934,"name":"PointSystemConfig","nameLocations":["9031:17:98"],"nodeType":"IdentifierPath","referencedDeclaration":65614,"src":"9031:17:98"},"referencedDeclaration":65614,"src":"9031:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_storage_ptr","typeString":"struct PointSystemConfig"}},"visibility":"public"},{"id":65938,"nodeType":"VariableDeclaration","src":"9100:32:98","nodes":[],"constant":false,"functionSelector":"6003e414","mutability":"mutable","name":"registryCommunity","nameLocation":"9115:17:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65937,"name":"address","nodeType":"ElementaryTypeName","src":"9100:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":65941,"nodeType":"VariableDeclaration","src":"9139:39:98","nodes":[],"constant":false,"functionSelector":"0bece79c","mutability":"mutable","name":"collateralVault","nameLocation":"9163:15:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"},"typeName":{"id":65940,"nodeType":"UserDefinedTypeName","pathNode":{"id":65939,"name":"ICollateralVault","nameLocations":["9139:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":76358,"src":"9139:16:98"},"referencedDeclaration":76358,"src":"9139:16:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"visibility":"public"},{"id":65944,"nodeType":"VariableDeclaration","src":"9184:31:98","nodes":[],"constant":false,"functionSelector":"b6c61f31","mutability":"mutable","name":"sybilScorer","nameLocation":"9204:11:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"},"typeName":{"id":65943,"nodeType":"UserDefinedTypeName","pathNode":{"id":65942,"name":"ISybilScorer","nameLocations":["9184:12:98"],"nodeType":"IdentifierPath","referencedDeclaration":70122,"src":"9184:12:98"},"referencedDeclaration":70122,"src":"9184:12:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}},"visibility":"public"},{"id":65949,"nodeType":"VariableDeclaration","src":"9282:45:98","nodes":[],"constant":false,"functionSelector":"013cf08b","mutability":"mutable","name":"proposals","nameLocation":"9318:9:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal)"},"typeName":{"id":65948,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65945,"name":"uint256","nodeType":"ElementaryTypeName","src":"9290:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9282:28:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65947,"nodeType":"UserDefinedTypeName","pathNode":{"id":65946,"name":"Proposal","nameLocations":["9301:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65606,"src":"9301:8:98"},"referencedDeclaration":65606,"src":"9301:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"}}},"visibility":"public"},{"id":65953,"nodeType":"VariableDeclaration","src":"9383:53:98","nodes":[],"constant":false,"functionSelector":"5db64b99","mutability":"mutable","name":"totalVoterStakePct","nameLocation":"9418:18:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":65952,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65950,"name":"address","nodeType":"ElementaryTypeName","src":"9391:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9383:27:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65951,"name":"uint256","nodeType":"ElementaryTypeName","src":"9402:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":65958,"nodeType":"VariableDeclaration","src":"9474:57:98","nodes":[],"constant":false,"functionSelector":"868c57b8","mutability":"mutable","name":"voterStakedProposals","nameLocation":"9511:20:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"typeName":{"id":65957,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65954,"name":"address","nodeType":"ElementaryTypeName","src":"9482:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9474:29:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":65955,"name":"uint256","nodeType":"ElementaryTypeName","src":"9493:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65956,"nodeType":"ArrayTypeName","src":"9493:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"public"},{"id":65962,"nodeType":"VariableDeclaration","src":"9569:56:98","nodes":[],"constant":false,"functionSelector":"255ffb38","mutability":"mutable","name":"disputeIdToProposalId","nameLocation":"9604:21:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":65961,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65959,"name":"uint256","nodeType":"ElementaryTypeName","src":"9577:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9569:27:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65960,"name":"uint256","nodeType":"ElementaryTypeName","src":"9588:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":65967,"nodeType":"VariableDeclaration","src":"9631:61:98","nodes":[],"constant":false,"functionSelector":"41bb7605","mutability":"mutable","name":"arbitrableConfigs","nameLocation":"9675:17:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig)"},"typeName":{"id":65966,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65963,"name":"uint256","nodeType":"ElementaryTypeName","src":"9639:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9631:36:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65965,"nodeType":"UserDefinedTypeName","pathNode":{"id":65964,"name":"ArbitrableConfig","nameLocations":["9650:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65628,"src":"9650:16:98"},"referencedDeclaration":65628,"src":"9650:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage_ptr","typeString":"struct ArbitrableConfig"}}},"visibility":"public"},{"id":65978,"nodeType":"FunctionDefinition","src":"9699:140:98","nodes":[],"body":{"id":65977,"nodeType":"Block","src":"9775:64:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":65974,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65938,"src":"9814:17:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65973,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72700,"src":"9792:21:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":65975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9792:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"functionReturnParameters":65972,"id":65976,"nodeType":"Return","src":"9785:47:98"}]},"functionSelector":"48f19c1d","implemented":true,"kind":"function","modifiers":[],"name":"getRegistryCommunity","nameLocation":"9708:20:98","parameters":{"id":65968,"nodeType":"ParameterList","parameters":[],"src":"9728:2:98"},"returnParameters":{"id":65972,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65971,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65978,"src":"9752:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":65970,"nodeType":"UserDefinedTypeName","pathNode":{"id":65969,"name":"RegistryCommunityV0_0","nameLocations":["9752:21:98"],"nodeType":"IdentifierPath","referencedDeclaration":72700,"src":"9752:21:98"},"referencedDeclaration":72700,"src":"9752:21:98","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"visibility":"internal"}],"src":"9751:23:98"},"scope":69194,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":66002,"nodeType":"FunctionDefinition","src":"10090:222:98","nodes":[],"body":{"id":66001,"nodeType":"Block","src":"10197:115:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":65992,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65980,"src":"10218:5:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"43565374726174656779","id":65993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10225:12:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},"value":"CVStrategy"},{"id":65994,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65984,"src":"10239:5:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65989,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"10207:5:98","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$69194_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":65991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10213:4:98","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":64915,"src":"10207:10:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (address,string memory,address)"}},"id":65995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10207:38:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65996,"nodeType":"ExpressionStatement","src":"10207:38:98"},{"expression":{"id":65999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65997,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65910,"src":"10255:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":65998,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65982,"src":"10281:24:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10255:50:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66000,"nodeType":"ExpressionStatement","src":"10255:50:98"}]},"functionSelector":"184b9559","implemented":true,"kind":"function","modifiers":[{"id":65987,"kind":"modifierInvocation","modifierName":{"id":65986,"name":"initializer","nameLocations":["10185:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":53054,"src":"10185:11:98"},"nodeType":"ModifierInvocation","src":"10185:11:98"}],"name":"init","nameLocation":"10099:4:98","parameters":{"id":65985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65980,"mutability":"mutable","name":"_allo","nameLocation":"10112:5:98","nodeType":"VariableDeclaration","scope":66002,"src":"10104:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65979,"name":"address","nodeType":"ElementaryTypeName","src":"10104:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65982,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"10127:24:98","nodeType":"VariableDeclaration","scope":66002,"src":"10119:32:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65981,"name":"address","nodeType":"ElementaryTypeName","src":"10119:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65984,"mutability":"mutable","name":"owner","nameLocation":"10161:5:98","nodeType":"VariableDeclaration","scope":66002,"src":"10153:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65983,"name":"address","nodeType":"ElementaryTypeName","src":"10153:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10103:64:98"},"returnParameters":{"id":65988,"nodeType":"ParameterList","parameters":[],"src":"10197:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66093,"nodeType":"FunctionDefinition","src":"10318:799:98","nodes":[],"body":{"id":66092,"nodeType":"Block","src":"10401:716:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":66012,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66004,"src":"10431:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66011,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65051,"src":"10411:19:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":66013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10411:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66014,"nodeType":"ExpressionStatement","src":"10411:28:98"},{"expression":{"id":66024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66015,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65941,"src":"10450:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":66019,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65910,"src":"10503:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10528:12:98","subExpression":{"id":66020,"name":"cloneNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65914,"src":"10528:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66017,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"10485:5:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":66018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10491:11:98","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"10485:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":66022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10485:56:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66016,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76358,"src":"10468:16:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ICollateralVault_$76358_$","typeString":"type(contract ICollateralVault)"}},"id":66023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10468:74:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"src":"10450:92:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"id":66025,"nodeType":"ExpressionStatement","src":"10450:92:98"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66026,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65941,"src":"10552:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"id":66028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10568:10:98","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":76330,"src":"10552:26:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":66029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10552:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66030,"nodeType":"ExpressionStatement","src":"10552:28:98"},{"assignments":[66033],"declarations":[{"constant":false,"id":66033,"mutability":"mutable","name":"ip","nameLocation":"10629:2:98","nodeType":"VariableDeclaration","scope":66092,"src":"10591:40:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0"},"typeName":{"id":66032,"nodeType":"UserDefinedTypeName","pathNode":{"id":66031,"name":"CVStrategyInitializeParamsV0_0","nameLocations":["10591:30:98"],"nodeType":"IdentifierPath","referencedDeclaration":65657,"src":"10591:30:98"},"referencedDeclaration":65657,"src":"10591:30:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_storage_ptr","typeString":"struct CVStrategyInitializeParamsV0_0"}},"visibility":"internal"}],"id":66040,"initialValue":{"arguments":[{"id":66036,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66006,"src":"10645:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":66037,"name":"CVStrategyInitializeParamsV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65657,"src":"10653:30:98","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CVStrategyInitializeParamsV0_0_$65657_storage_ptr_$","typeString":"type(struct CVStrategyInitializeParamsV0_0 storage pointer)"}}],"id":66038,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"10652:32:98","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CVStrategyInitializeParamsV0_0_$65657_storage_ptr_$","typeString":"type(struct CVStrategyInitializeParamsV0_0 storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CVStrategyInitializeParamsV0_0_$65657_storage_ptr_$","typeString":"type(struct CVStrategyInitializeParamsV0_0 storage pointer)"}],"expression":{"id":66034,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10634:3:98","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66035,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10638:6:98","memberName":"decode","nodeType":"MemberAccess","src":"10634:10:98","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":66039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10634:51:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0 memory"}},"nodeType":"VariableDeclarationStatement","src":"10591:94:98"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66041,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66033,"src":"10700:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0 memory"}},"id":66042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10703:17:98","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":65654,"src":"10700:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10732:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10724:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66043,"name":"address","nodeType":"ElementaryTypeName","src":"10724:7:98","typeDescriptions":{}}},"id":66046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10724:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10700:34:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66052,"nodeType":"IfStatement","src":"10696:94:98","trueBody":{"id":66051,"nodeType":"Block","src":"10736:54:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66048,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65688,"src":"10757:20:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10757:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66050,"nodeType":"RevertStatement","src":"10750:29:98"}]}},{"expression":{"id":66056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66053,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65938,"src":"10800:17:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66054,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66033,"src":"10820:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0 memory"}},"id":66055,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10823:17:98","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":65654,"src":"10820:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10800:40:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66057,"nodeType":"ExpressionStatement","src":"10800:40:98"},{"expression":{"id":66061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66058,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65930,"src":"10851:12:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66059,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66033,"src":"10866:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0 memory"}},"id":66060,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10869:12:98","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":65643,"src":"10866:15:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"src":"10851:30:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"id":66062,"nodeType":"ExpressionStatement","src":"10851:30:98"},{"expression":{"id":66066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66063,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65933,"src":"10891:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66064,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66033,"src":"10905:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0 memory"}},"id":66065,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10908:11:98","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":65646,"src":"10905:14:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"src":"10891:28:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"id":66067,"nodeType":"ExpressionStatement","src":"10891:28:98"},{"expression":{"id":66071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66068,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65936,"src":"10929:11:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_storage","typeString":"struct PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66069,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66033,"src":"10943:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0 memory"}},"id":66070,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10946:11:98","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":65649,"src":"10943:14:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_memory_ptr","typeString":"struct PointSystemConfig memory"}},"src":"10929:28:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_storage","typeString":"struct PointSystemConfig storage ref"}},"id":66072,"nodeType":"ExpressionStatement","src":"10929:28:98"},{"expression":{"id":66078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66073,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65944,"src":"10967:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":66075,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66033,"src":"10994:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0 memory"}},"id":66076,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10997:11:98","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":65656,"src":"10994:14:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66074,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70122,"src":"10981:12:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$70122_$","typeString":"type(contract ISybilScorer)"}},"id":66077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10981:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}},"src":"10967:42:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}},"id":66079,"nodeType":"ExpressionStatement","src":"10967:42:98"},{"expression":{"arguments":[{"expression":{"id":66081,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66033,"src":"11035:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0 memory"}},"id":66082,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11038:16:98","memberName":"arbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":65652,"src":"11035:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},{"expression":{"id":66083,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66033,"src":"11056:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0 memory"}},"id":66084,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11059:8:98","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":65640,"src":"11056:11:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams memory"}],"id":66080,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68596,"src":"11020:14:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$65628_memory_ptr_$_t_struct$_CVParams_$65637_memory_ptr_$returns$__$","typeString":"function (struct ArbitrableConfig memory,struct CVParams memory)"}},"id":66085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11020:48:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66086,"nodeType":"ExpressionStatement","src":"11020:48:98"},{"eventCall":{"arguments":[{"id":66088,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66004,"src":"11098:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66089,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66033,"src":"11107:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0 memory"}],"id":66087,"name":"InitializedCV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65775,"src":"11084:13:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr_$returns$__$","typeString":"function (uint256,struct CVStrategyInitializeParamsV0_0 memory)"}},"id":66090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11084:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66091,"nodeType":"EmitStatement","src":"11079:31:98"}]},"baseFunctions":[2939],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[{"id":66009,"kind":"modifierInvocation","modifierName":{"id":66008,"name":"onlyAllo","nameLocations":["10392:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":64923,"src":"10392:8:98"},"nodeType":"ModifierInvocation","src":"10392:8:98"}],"name":"initialize","nameLocation":"10327:10:98","parameters":{"id":66007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66004,"mutability":"mutable","name":"_poolId","nameLocation":"10346:7:98","nodeType":"VariableDeclaration","scope":66093,"src":"10338:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66003,"name":"uint256","nodeType":"ElementaryTypeName","src":"10338:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66006,"mutability":"mutable","name":"_data","nameLocation":"10368:5:98","nodeType":"VariableDeclaration","scope":66093,"src":"10355:18:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66005,"name":"bytes","nodeType":"ElementaryTypeName","src":"10355:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10337:37:98"},"returnParameters":{"id":66010,"nodeType":"ParameterList","parameters":[],"src":"10401:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66097,"nodeType":"FunctionDefinition","src":"11288:83:98","nodes":[],"body":{"id":66096,"nodeType":"Block","src":"11316:55:98","nodes":[],"statements":[]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":66094,"nodeType":"ParameterList","parameters":[],"src":"11296:2:98"},"returnParameters":{"id":66095,"nodeType":"ParameterList","parameters":[],"src":"11316:0:98"},"scope":69194,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":66101,"nodeType":"FunctionDefinition","src":"11377:135:98","nodes":[],"body":{"id":66100,"nodeType":"Block","src":"11404:108:98","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":66098,"nodeType":"ParameterList","parameters":[],"src":"11384:2:98"},"returnParameters":{"id":66099,"nodeType":"ParameterList","parameters":[],"src":"11404:0:98"},"scope":69194,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":66123,"nodeType":"FunctionDefinition","src":"11518:210:98","nodes":[],"body":{"id":66122,"nodeType":"Block","src":"11617:111:98","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":66120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":66115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66110,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66103,"src":"11634:11:98","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":66112,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65536,"src":"11654:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65536_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65536_$","typeString":"type(contract IPointStrategy)"}],"id":66111,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11649:4:98","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":66113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11649:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$65536","typeString":"type(contract IPointStrategy)"}},"id":66114,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11670:11:98","memberName":"interfaceId","nodeType":"MemberAccess","src":"11649:32:98","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"11634:47:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":66118,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66103,"src":"11709:11:98","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":66116,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"11685:5:98","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$69194_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":66117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11691:17:98","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57724,"src":"11685:23:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":66119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11685:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11634:87:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":66109,"id":66121,"nodeType":"Return","src":"11627:94:98"}]},"baseFunctions":[57724],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"11527:17:98","overrides":{"id":66106,"nodeType":"OverrideSpecifier","overrides":[{"id":66105,"name":"ERC165","nameLocations":["11594:6:98"],"nodeType":"IdentifierPath","referencedDeclaration":57725,"src":"11594:6:98"}],"src":"11585:16:98"},"parameters":{"id":66104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66103,"mutability":"mutable","name":"interfaceId","nameLocation":"11552:11:98","nodeType":"VariableDeclaration","scope":66123,"src":"11545:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":66102,"name":"bytes4","nodeType":"ElementaryTypeName","src":"11545:6:98","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"11544:20:98"},"returnParameters":{"id":66109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66108,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66123,"src":"11611:4:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66107,"name":"bool","nodeType":"ElementaryTypeName","src":"11611:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11610:6:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":66165,"nodeType":"FunctionDefinition","src":"11899:391:98","nodes":[],"body":{"id":66164,"nodeType":"Block","src":"11967:323:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66128,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66125,"src":"11981:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12000:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66130,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11992:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66129,"name":"address","nodeType":"ElementaryTypeName","src":"11992:7:98","typeDescriptions":{}}},"id":66132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11992:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11981:21:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66138,"nodeType":"IfStatement","src":"11977:77:98","trueBody":{"id":66137,"nodeType":"Block","src":"12004:50:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66134,"name":"UserCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65668,"src":"12025:16:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12025:18:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66136,"nodeType":"RevertStatement","src":"12018:25:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66141,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65938,"src":"12075:17:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12067:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66139,"name":"address","nodeType":"ElementaryTypeName","src":"12067:7:98","typeDescriptions":{}}},"id":66142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12067:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12105:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66144,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12097:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66143,"name":"address","nodeType":"ElementaryTypeName","src":"12097:7:98","typeDescriptions":{}}},"id":66146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12097:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12067:40:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66152,"nodeType":"IfStatement","src":"12063:100:98","trueBody":{"id":66151,"nodeType":"Block","src":"12109:54:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66148,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65688,"src":"12130:20:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12130:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66150,"nodeType":"RevertStatement","src":"12123:29:98"}]}},{"condition":{"id":66158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12176:41:98","subExpression":{"arguments":[{"id":66156,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66125,"src":"12209:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66153,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"12177:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12177:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":66155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12200:8:98","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":72317,"src":"12177:31:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":66157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12177:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66163,"nodeType":"IfStatement","src":"12172:98:98","trueBody":{"id":66162,"nodeType":"Block","src":"12219:51:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66159,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65670,"src":"12240:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12240:19:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66161,"nodeType":"RevertStatement","src":"12233:26:98"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSenderIsMember","nameLocation":"11908:19:98","parameters":{"id":66126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66125,"mutability":"mutable","name":"_sender","nameLocation":"11936:7:98","nodeType":"VariableDeclaration","scope":66165,"src":"11928:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66124,"name":"address","nodeType":"ElementaryTypeName","src":"11928:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11927:17:98"},"returnParameters":{"id":66127,"nodeType":"ParameterList","parameters":[],"src":"11967:0:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66181,"nodeType":"FunctionDefinition","src":"12296:171:98","nodes":[],"body":{"id":66180,"nodeType":"Block","src":"12351:116:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66168,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12365:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12369:6:98","memberName":"sender","nodeType":"MemberAccess","src":"12365:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":66172,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65938,"src":"12387:17:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66171,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12379:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66170,"name":"address","nodeType":"ElementaryTypeName","src":"12379:7:98","typeDescriptions":{}}},"id":66173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12379:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12365:40:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66179,"nodeType":"IfStatement","src":"12361:100:98","trueBody":{"id":66178,"nodeType":"Block","src":"12407:54:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66175,"name":"OnlyCommunityAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65728,"src":"12428:20:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12428:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66177,"nodeType":"RevertStatement","src":"12421:29:98"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryCommunity","nameLocation":"12305:21:98","parameters":{"id":66166,"nodeType":"ParameterList","parameters":[],"src":"12326:2:98"},"returnParameters":{"id":66167,"nodeType":"ParameterList","parameters":[],"src":"12351:0:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66197,"nodeType":"FunctionDefinition","src":"12473:141:98","nodes":[],"body":{"id":66196,"nodeType":"Block","src":"12541:73:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66186,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66183,"src":"12555:8:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12575:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66188,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12567:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66187,"name":"address","nodeType":"ElementaryTypeName","src":"12567:7:98","typeDescriptions":{}}},"id":66190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12567:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12555:22:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66195,"nodeType":"IfStatement","src":"12551:56:98","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66192,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65686,"src":"12586:19:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12586:21:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66194,"nodeType":"RevertStatement","src":"12579:28:98"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"12482:18:98","parameters":{"id":66184,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66183,"mutability":"mutable","name":"_address","nameLocation":"12509:8:98","nodeType":"VariableDeclaration","scope":66197,"src":"12501:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66182,"name":"address","nodeType":"ElementaryTypeName","src":"12501:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12500:18:98"},"returnParameters":{"id":66185,"nodeType":"ParameterList","parameters":[],"src":"12541:0:98"},"scope":69194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":66216,"nodeType":"FunctionDefinition","src":"12620:179:98","nodes":[],"body":{"id":66215,"nodeType":"Block","src":"12669:130:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66200,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12683:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12687:6:98","memberName":"sender","nodeType":"MemberAccess","src":"12683:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66204,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"12705:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12705:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":66206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12728:11:98","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":71024,"src":"12705:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$76451_$","typeString":"function () view external returns (contract ISafe)"}},"id":66207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12705:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}],"id":66203,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12697:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66202,"name":"address","nodeType":"ElementaryTypeName","src":"12697:7:98","typeDescriptions":{}}},"id":66208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12697:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12683:59:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66214,"nodeType":"IfStatement","src":"12679:114:98","trueBody":{"id":66213,"nodeType":"Block","src":"12744:49:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66210,"name":"OnlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65738,"src":"12765:15:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12765:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66212,"nodeType":"RevertStatement","src":"12758:24:98"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyCouncilSafe","nameLocation":"12629:15:98","parameters":{"id":66198,"nodeType":"ParameterList","parameters":[],"src":"12644:2:98"},"returnParameters":{"id":66199,"nodeType":"ParameterList","parameters":[],"src":"12669:0:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66256,"nodeType":"FunctionDefinition","src":"12805:296:98","nodes":[],"body":{"id":66255,"nodeType":"Block","src":"12884:217:98","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"737962696c53636f726572","id":66226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12906:13:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_a6b38130d269538e3ad3b780bdc2f658c787bffeb47fb2e13772051f0238e91f","typeString":"literal_string \"sybilScorer\""},"value":"sybilScorer"},{"arguments":[{"id":66229,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65944,"src":"12929:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}],"id":66228,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12921:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66227,"name":"address","nodeType":"ElementaryTypeName","src":"12921:7:98","typeDescriptions":{}}},"id":66230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12921:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a6b38130d269538e3ad3b780bdc2f658c787bffeb47fb2e13772051f0238e91f","typeString":"literal_string \"sybilScorer\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66223,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29510,"src":"12894:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29510_$","typeString":"type(library console)"}},"id":66225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12902:3:98","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22205,"src":"12894:11:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) view"}},"id":66231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12894:48:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66232,"nodeType":"ExpressionStatement","src":"12894:48:98"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66235,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65944,"src":"12964:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}],"id":66234,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12956:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66233,"name":"address","nodeType":"ElementaryTypeName","src":"12956:7:98","typeDescriptions":{}}},"id":66236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12956:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12988:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66238,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12980:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66237,"name":"address","nodeType":"ElementaryTypeName","src":"12980:7:98","typeDescriptions":{}}},"id":66240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12980:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12956:34:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66245,"nodeType":"IfStatement","src":"12952:76:98","trueBody":{"id":66244,"nodeType":"Block","src":"12992:36:98","statements":[{"expression":{"hexValue":"74727565","id":66242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13013:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":66222,"id":66243,"nodeType":"Return","src":"13006:11:98"}]}},{"expression":{"arguments":[{"id":66248,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66218,"src":"13073:5:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66251,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13088:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}],"id":66250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13080:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66249,"name":"address","nodeType":"ElementaryTypeName","src":"13080:7:98","typeDescriptions":{}}},"id":66252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13080:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66246,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65944,"src":"13044:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}},"id":66247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13056:16:98","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":70079,"src":"13044:28:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":66253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13044:50:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":66222,"id":66254,"nodeType":"Return","src":"13037:57:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"12814:17:98","parameters":{"id":66219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66218,"mutability":"mutable","name":"_user","nameLocation":"12840:5:98","nodeType":"VariableDeclaration","scope":66256,"src":"12832:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66217,"name":"address","nodeType":"ElementaryTypeName","src":"12832:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12831:15:98"},"returnParameters":{"id":66222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66221,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66256,"src":"12878:4:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66220,"name":"bool","nodeType":"ElementaryTypeName","src":"12878:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12877:6:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66268,"nodeType":"FunctionDefinition","src":"13107:132:98","nodes":[],"body":{"id":66267,"nodeType":"Block","src":"13188:51:98","nodes":[],"statements":[{"expression":{"id":66265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66263,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65910,"src":"13198:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66264,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66258,"src":"13224:8:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13198:34:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66266,"nodeType":"ExpressionStatement","src":"13198:34:98"}]},"functionSelector":"b0d3713a","implemented":true,"kind":"function","modifiers":[{"id":66261,"kind":"modifierInvocation","modifierName":{"id":66260,"name":"onlyOwner","nameLocations":["13178:9:98"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"13178:9:98"},"nodeType":"ModifierInvocation","src":"13178:9:98"}],"name":"setCollateralVaultTemplate","nameLocation":"13116:26:98","parameters":{"id":66259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66258,"mutability":"mutable","name":"template","nameLocation":"13151:8:98","nodeType":"VariableDeclaration","scope":66268,"src":"13143:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66257,"name":"address","nodeType":"ElementaryTypeName","src":"13143:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13142:18:98"},"returnParameters":{"id":66262,"nodeType":"ParameterList","parameters":[],"src":"13188:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66502,"nodeType":"FunctionDefinition","src":"13565:2624:98","nodes":[],"body":{"id":66501,"nodeType":"Block","src":"13674:2515:98","nodes":[],"statements":[{"condition":{"id":66281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13688:27:98","subExpression":{"arguments":[{"id":66279,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66272,"src":"13707:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66278,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66256,"src":"13689:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":66280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13689:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66286,"nodeType":"IfStatement","src":"13684:90:98","trueBody":{"id":66285,"nodeType":"Block","src":"13717:57:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66282,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65740,"src":"13738:23:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13738:25:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66284,"nodeType":"RevertStatement","src":"13731:32:98"}]}},{"expression":{"id":66287,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66270,"src":"13828:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":66288,"nodeType":"ExpressionStatement","src":"13828:5:98"},{"assignments":[66291],"declarations":[{"constant":false,"id":66291,"mutability":"mutable","name":"proposal","nameLocation":"13865:8:98","nodeType":"VariableDeclaration","scope":66501,"src":"13843:30:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_memory_ptr","typeString":"struct CreateProposal"},"typeName":{"id":66290,"nodeType":"UserDefinedTypeName","pathNode":{"id":66289,"name":"CreateProposal","nameLocations":["13843:14:98"],"nodeType":"IdentifierPath","referencedDeclaration":65557,"src":"13843:14:98"},"referencedDeclaration":65557,"src":"13843:14:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_storage_ptr","typeString":"struct CreateProposal"}},"visibility":"internal"}],"id":66298,"initialValue":{"arguments":[{"id":66294,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66270,"src":"13887:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":66295,"name":"CreateProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65557,"src":"13895:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$65557_storage_ptr_$","typeString":"type(struct CreateProposal storage pointer)"}}],"id":66296,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"13894:16:98","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$65557_storage_ptr_$","typeString":"type(struct CreateProposal storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$65557_storage_ptr_$","typeString":"type(struct CreateProposal storage pointer)"}],"expression":{"id":66292,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13876:3:98","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66293,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13880:6:98","memberName":"decode","nodeType":"MemberAccess","src":"13876:10:98","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":66297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13876:35:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_memory_ptr","typeString":"struct CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"13843:68:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66299,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66291,"src":"14026:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_memory_ptr","typeString":"struct CreateProposal memory"}},"id":66300,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14035:6:98","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":65547,"src":"14026:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":66301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14045:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14026:20:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66307,"nodeType":"IfStatement","src":"14022:78:98","trueBody":{"id":66306,"nodeType":"Block","src":"14048:52:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66303,"name":"PoolIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65684,"src":"14069:18:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14069:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66305,"nodeType":"RevertStatement","src":"14062:27:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"},"id":66311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66308,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65930,"src":"14176:12:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":66309,"name":"ProposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65540,"src":"14192:12:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$65540_$","typeString":"type(enum ProposalType)"}},"id":66310,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14205:7:98","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":65538,"src":"14192:20:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"src":"14176:36:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66367,"nodeType":"IfStatement","src":"14172:749:98","trueBody":{"id":66366,"nodeType":"Block","src":"14214:707:98","statements":[{"expression":{"arguments":[{"expression":{"id":66313,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66291,"src":"14247:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_memory_ptr","typeString":"struct CreateProposal memory"}},"id":66314,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14256:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65549,"src":"14247:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66312,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66197,"src":"14228:18:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":66315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14228:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66316,"nodeType":"ExpressionStatement","src":"14228:40:98"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66317,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66291,"src":"14334:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_memory_ptr","typeString":"struct CreateProposal memory"}},"id":66318,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14343:14:98","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65553,"src":"14334:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14369:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66320,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14361:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66319,"name":"address","nodeType":"ElementaryTypeName","src":"14361:7:98","typeDescriptions":{}}},"id":66322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14361:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14334:37:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66328,"nodeType":"IfStatement","src":"14330:102:98","trueBody":{"id":66327,"nodeType":"Block","src":"14373:59:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66324,"name":"TokenCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65678,"src":"14398:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14398:19:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66326,"nodeType":"RevertStatement","src":"14391:26:98"}]}},{"assignments":[66331],"declarations":[{"constant":false,"id":66331,"mutability":"mutable","name":"_allo","nameLocation":"14451:5:98","nodeType":"VariableDeclaration","scope":66366,"src":"14445:11:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"},"typeName":{"id":66330,"nodeType":"UserDefinedTypeName","pathNode":{"id":66329,"name":"IAllo","nameLocations":["14445:5:98"],"nodeType":"IdentifierPath","referencedDeclaration":2610,"src":"14445:5:98"},"referencedDeclaration":2610,"src":"14445:5:98","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"visibility":"internal"}],"id":66335,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66332,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14459:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}},"id":66333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14464:7:98","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":64969,"src":"14459:12:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":66334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14459:14:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"nodeType":"VariableDeclarationStatement","src":"14445:28:98"},{"assignments":[66340],"declarations":[{"constant":false,"id":66340,"mutability":"mutable","name":"pool","nameLocation":"14505:4:98","nodeType":"VariableDeclaration","scope":66366,"src":"14487:22:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":66339,"nodeType":"UserDefinedTypeName","pathNode":{"id":66338,"name":"IAllo.Pool","nameLocations":["14487:5:98","14493:4:98"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"14487:10:98"},"referencedDeclaration":2319,"src":"14487:10:98","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":66346,"initialValue":{"arguments":[{"expression":{"id":66343,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66291,"src":"14526:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_memory_ptr","typeString":"struct CreateProposal memory"}},"id":66344,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14535:6:98","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":65547,"src":"14526:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66341,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66331,"src":"14512:5:98","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":66342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14518:7:98","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"14512:13:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":66345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14512:30:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"14487:55:98"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66347,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66291,"src":"14560:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_memory_ptr","typeString":"struct CreateProposal memory"}},"id":66348,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14569:14:98","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65553,"src":"14560:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":66349,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66340,"src":"14587:4:98","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":66350,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14592:5:98","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"14587:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14560:37:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66356,"nodeType":"IfStatement","src":"14556:235:98","trueBody":{"id":66355,"nodeType":"Block","src":"14599:192:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66352,"name":"TokenNotAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65680,"src":"14759:15:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14759:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66354,"nodeType":"RevertStatement","src":"14752:24:98"}]}},{"condition":{"arguments":[{"expression":{"id":66358,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66291,"src":"14824:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_memory_ptr","typeString":"struct CreateProposal memory"}},"id":66359,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14833:15:98","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":65551,"src":"14824:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66357,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67680,"src":"14808:15:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":66360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14808:41:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66365,"nodeType":"IfStatement","src":"14804:107:98","trueBody":{"id":66364,"nodeType":"Block","src":"14851:60:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66361,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65682,"src":"14876:18:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14876:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66363,"nodeType":"RevertStatement","src":"14869:27:98"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":66387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"baseExpression":{"id":66370,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"14956:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":66372,"indexExpression":{"id":66371,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"14974:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14956:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":66373,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15006:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"14956:60:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}],"id":66369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14948:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66368,"name":"address","nodeType":"ElementaryTypeName","src":"14948:7:98","typeDescriptions":{}}},"id":66374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14948:69:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":66377,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15029:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66376,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15021:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66375,"name":"address","nodeType":"ElementaryTypeName","src":"15021:7:98","typeDescriptions":{}}},"id":66378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15021:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14948:83:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66380,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15051:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15055:5:98","memberName":"value","nodeType":"MemberAccess","src":"15051:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":66382,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"15063:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":66384,"indexExpression":{"id":66383,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"15081:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15063:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":66385,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15113:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"15063:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15051:87:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"14948:190:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66398,"nodeType":"IfStatement","src":"14931:390:98","trueBody":{"id":66397,"nodeType":"Block","src":"15149:172:98","statements":[{"errorCall":{"arguments":[{"expression":{"id":66389,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15210:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15214:5:98","memberName":"value","nodeType":"MemberAccess","src":"15210:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":66391,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"15221:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":66393,"indexExpression":{"id":66392,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"15239:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15221:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":66394,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15271:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"15221:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66388,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65746,"src":"15170:22:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":66395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15170:140:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66396,"nodeType":"RevertStatement","src":"15163:147:98"}]}},{"assignments":[66400],"declarations":[{"constant":false,"id":66400,"mutability":"mutable","name":"proposalId","nameLocation":"15339:10:98","nodeType":"VariableDeclaration","scope":66501,"src":"15331:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66399,"name":"uint256","nodeType":"ElementaryTypeName","src":"15331:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66403,"initialValue":{"id":66402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"15352:17:98","subExpression":{"id":66401,"name":"proposalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65918,"src":"15354:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15331:38:98"},{"assignments":[66406],"declarations":[{"constant":false,"id":66406,"mutability":"mutable","name":"p","nameLocation":"15396:1:98","nodeType":"VariableDeclaration","scope":66501,"src":"15379:18:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"},"typeName":{"id":66405,"nodeType":"UserDefinedTypeName","pathNode":{"id":66404,"name":"Proposal","nameLocations":["15379:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65606,"src":"15379:8:98"},"referencedDeclaration":65606,"src":"15379:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"}},"visibility":"internal"}],"id":66410,"initialValue":{"baseExpression":{"id":66407,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"15400:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":66409,"indexExpression":{"id":66408,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66400,"src":"15410:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15400:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15379:42:98"},{"expression":{"id":66415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66411,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66406,"src":"15432:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":66413,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15434:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"15432:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66414,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66400,"src":"15447:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15432:25:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66416,"nodeType":"ExpressionStatement","src":"15432:25:98"},{"expression":{"id":66421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66417,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66406,"src":"15467:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":66419,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15469:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65584,"src":"15467:11:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66420,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66272,"src":"15481:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15467:21:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66422,"nodeType":"ExpressionStatement","src":"15467:21:98"},{"expression":{"id":66428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66423,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66406,"src":"15498:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":66425,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15500:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"15498:13:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66426,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66291,"src":"15514:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_memory_ptr","typeString":"struct CreateProposal memory"}},"id":66427,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15523:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65549,"src":"15514:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15498:36:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66429,"nodeType":"ExpressionStatement","src":"15498:36:98"},{"expression":{"id":66435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66430,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66406,"src":"15544:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":66432,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15546:14:98","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65586,"src":"15544:16:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66433,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66291,"src":"15563:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_memory_ptr","typeString":"struct CreateProposal memory"}},"id":66434,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15572:14:98","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65553,"src":"15563:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15544:42:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66436,"nodeType":"ExpressionStatement","src":"15544:42:98"},{"expression":{"id":66442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66437,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66406,"src":"15596:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":66439,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15598:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"15596:17:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66440,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66291,"src":"15616:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_memory_ptr","typeString":"struct CreateProposal memory"}},"id":66441,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15625:15:98","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":65551,"src":"15616:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15596:44:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66443,"nodeType":"ExpressionStatement","src":"15596:44:98"},{"expression":{"id":66449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66444,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66406,"src":"15701:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":66446,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15703:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"15701:16:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66447,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"15720:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65565_$","typeString":"type(enum ProposalStatus)"}},"id":66448,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15735:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65559,"src":"15720:21:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"src":"15701:40:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"id":66450,"nodeType":"ExpressionStatement","src":"15701:40:98"},{"expression":{"id":66456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66451,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66406,"src":"15751:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":66453,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15753:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65588,"src":"15751:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66454,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"15765:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":66455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15771:6:98","memberName":"number","nodeType":"MemberAccess","src":"15765:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15751:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66457,"nodeType":"ExpressionStatement","src":"15751:26:98"},{"expression":{"id":66462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66458,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66406,"src":"15787:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":66460,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15789:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65580,"src":"15787:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":66461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15806:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15787:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66463,"nodeType":"ExpressionStatement","src":"15787:20:98"},{"expression":{"id":66469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66464,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66406,"src":"15853:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":66466,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15855:8:98","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":65598,"src":"15853:10:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66467,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66291,"src":"15866:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_memory_ptr","typeString":"struct CreateProposal memory"}},"id":66468,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15875:8:98","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":65556,"src":"15866:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"15853:30:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":66470,"nodeType":"ExpressionStatement","src":"15853:30:98"},{"expression":{"id":66475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66471,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66406,"src":"15893:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":66473,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15895:23:98","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65605,"src":"15893:25:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66474,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"15921:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15893:58:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66476,"nodeType":"ExpressionStatement","src":"15893:58:98"},{"expression":{"arguments":[{"id":66483,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66400,"src":"16013:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":66484,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66406,"src":"16025:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":66485,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16027:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65584,"src":"16025:11:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66477,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65941,"src":"15961:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"id":66479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15977:17:98","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":76337,"src":"15961:33:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":66482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":66480,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16002:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16006:5:98","memberName":"value","nodeType":"MemberAccess","src":"16002:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"15961:51:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":66486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15961:76:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66487,"nodeType":"ExpressionStatement","src":"15961:76:98"},{"eventCall":{"arguments":[{"id":66489,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"16069:6:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66490,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66400,"src":"16077:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66488,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65789,"src":"16053:15:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":66491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16053:35:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66492,"nodeType":"EmitStatement","src":"16048:40:98"},{"expression":{"arguments":[{"arguments":[{"id":66497,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66400,"src":"16170:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66496,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16162:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":66495,"name":"uint160","nodeType":"ElementaryTypeName","src":"16162:7:98","typeDescriptions":{}}},"id":66498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16162:19:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":66494,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16154:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66493,"name":"address","nodeType":"ElementaryTypeName","src":"16154:7:98","typeDescriptions":{}}},"id":66499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16154:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":66277,"id":66500,"nodeType":"Return","src":"16147:35:98"}]},"baseFunctions":[65357],"implemented":true,"kind":"function","modifiers":[],"name":"_registerRecipient","nameLocation":"13574:18:98","overrides":{"id":66274,"nodeType":"OverrideSpecifier","overrides":[],"src":"13647:8:98"},"parameters":{"id":66273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66270,"mutability":"mutable","name":"_data","nameLocation":"13606:5:98","nodeType":"VariableDeclaration","scope":66502,"src":"13593:18:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66269,"name":"bytes","nodeType":"ElementaryTypeName","src":"13593:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":66272,"mutability":"mutable","name":"_sender","nameLocation":"13621:7:98","nodeType":"VariableDeclaration","scope":66502,"src":"13613:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66271,"name":"address","nodeType":"ElementaryTypeName","src":"13613:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13592:37:98"},"returnParameters":{"id":66277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66276,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66502,"src":"13665:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66275,"name":"address","nodeType":"ElementaryTypeName","src":"13665:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13664:9:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":66511,"nodeType":"FunctionDefinition","src":"16195:98:98","nodes":[],"body":{"id":66510,"nodeType":"Block","src":"16255:38:98","nodes":[],"statements":[{"expression":{"expression":{"id":66507,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65927,"src":"16272:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage","typeString":"struct CVParams storage ref"}},"id":66508,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16281:5:98","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65634,"src":"16272:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66506,"id":66509,"nodeType":"Return","src":"16265:21:98"}]},"functionSelector":"9a1c157c","implemented":true,"kind":"function","modifiers":[],"name":"getDecay","nameLocation":"16204:8:98","parameters":{"id":66503,"nodeType":"ParameterList","parameters":[],"src":"16212:2:98"},"returnParameters":{"id":66506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66505,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66511,"src":"16246:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66504,"name":"uint256","nodeType":"ElementaryTypeName","src":"16246:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16245:9:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":66551,"nodeType":"FunctionDefinition","src":"16299:369:98","nodes":[],"body":{"id":66550,"nodeType":"Block","src":"16342:326:98","nodes":[],"statements":[{"assignments":[66515],"declarations":[{"constant":false,"id":66515,"mutability":"mutable","name":"member","nameLocation":"16360:6:98","nodeType":"VariableDeclaration","scope":66550,"src":"16352:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66514,"name":"address","nodeType":"ElementaryTypeName","src":"16352:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":66518,"initialValue":{"expression":{"id":66516,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16369:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16373:6:98","memberName":"sender","nodeType":"MemberAccess","src":"16369:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16352:27:98"},{"condition":{"id":66522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16393:26:98","subExpression":{"arguments":[{"id":66520,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66515,"src":"16412:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66519,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66256,"src":"16394:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":66521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16394:25:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66527,"nodeType":"IfStatement","src":"16389:89:98","trueBody":{"id":66526,"nodeType":"Block","src":"16421:57:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66523,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65740,"src":"16442:23:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16442:25:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66525,"nodeType":"RevertStatement","src":"16435:32:98"}]}},{"expression":{"arguments":[{"id":66531,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66515,"src":"16535:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66534,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16551:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}],"id":66533,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16543:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66532,"name":"address","nodeType":"ElementaryTypeName","src":"16543:7:98","typeDescriptions":{}}},"id":66535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16543:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66528,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"16487:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16487:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":66530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16510:24:98","memberName":"activateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":71724,"src":"16487:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":66536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16487:70:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66537,"nodeType":"ExpressionStatement","src":"16487:70:98"},{"expression":{"id":66548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66538,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65924,"src":"16567:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":66542,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66515,"src":"16639:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66545,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16655:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}],"id":66544,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16647:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66543,"name":"address","nodeType":"ElementaryTypeName","src":"16647:7:98","typeDescriptions":{}}},"id":66546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16647:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66539,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"16591:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16591:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":66541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16614:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72093,"src":"16591:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16591:70:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16567:94:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66549,"nodeType":"ExpressionStatement","src":"16567:94:98"}]},"functionSelector":"814516ad","implemented":true,"kind":"function","modifiers":[],"name":"activatePoints","nameLocation":"16308:14:98","parameters":{"id":66512,"nodeType":"ParameterList","parameters":[],"src":"16322:2:98"},"returnParameters":{"id":66513,"nodeType":"ParameterList","parameters":[],"src":"16342:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66560,"nodeType":"FunctionDefinition","src":"16674:89:98","nodes":[],"body":{"id":66559,"nodeType":"Block","src":"16717:46:98","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":66555,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16745:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16749:6:98","memberName":"sender","nodeType":"MemberAccess","src":"16745:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66554,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66609,"src":"16727:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16727:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66558,"nodeType":"ExpressionStatement","src":"16727:29:98"}]},"functionSelector":"1ddf1e23","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"16683:16:98","parameters":{"id":66552,"nodeType":"ParameterList","parameters":[],"src":"16699:2:98"},"returnParameters":{"id":66553,"nodeType":"ParameterList","parameters":[],"src":"16717:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":66573,"nodeType":"FunctionDefinition","src":"16769:136:98","nodes":[],"body":{"id":66572,"nodeType":"Block","src":"16829:76:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66565,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66181,"src":"16839:21:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":66566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16839:23:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66567,"nodeType":"ExpressionStatement","src":"16839:23:98"},{"expression":{"arguments":[{"id":66569,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66562,"src":"16890:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66568,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66609,"src":"16872:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16872:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66571,"nodeType":"ExpressionStatement","src":"16872:26:98"}]},"baseFunctions":[65511],"functionSelector":"6453d9c4","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"16778:16:98","parameters":{"id":66563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66562,"mutability":"mutable","name":"_member","nameLocation":"16803:7:98","nodeType":"VariableDeclaration","scope":66573,"src":"16795:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66561,"name":"address","nodeType":"ElementaryTypeName","src":"16795:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16794:17:98"},"returnParameters":{"id":66564,"nodeType":"ParameterList","parameters":[],"src":"16829:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66609,"nodeType":"FunctionDefinition","src":"16911:369:98","nodes":[],"body":{"id":66608,"nodeType":"Block","src":"16972:308:98","nodes":[],"statements":[{"expression":{"id":66588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66578,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65924,"src":"16982:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"arguments":[{"id":66582,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66575,"src":"17054:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66585,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17071:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}],"id":66584,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17063:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66583,"name":"address","nodeType":"ElementaryTypeName","src":"17063:7:98","typeDescriptions":{}}},"id":66586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17063:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66579,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"17006:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17006:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":66581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17029:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72093,"src":"17006:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17006:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16982:95:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66589,"nodeType":"ExpressionStatement","src":"16982:95:98"},{"expression":{"arguments":[{"id":66593,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66575,"src":"17137:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66596,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17154:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}],"id":66595,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17146:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66594,"name":"address","nodeType":"ElementaryTypeName","src":"17146:7:98","typeDescriptions":{}}},"id":66597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17146:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66590,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"17087:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17087:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":66592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17110:26:98","memberName":"deactivateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":71783,"src":"17087:49:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":66598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17087:73:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66599,"nodeType":"ExpressionStatement","src":"17087:73:98"},{"expression":{"arguments":[{"id":66601,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66575,"src":"17224:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66600,"name":"withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67429,"src":"17215:8:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17215:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66603,"nodeType":"ExpressionStatement","src":"17215:17:98"},{"eventCall":{"arguments":[{"id":66605,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66575,"src":"17265:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66604,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65797,"src":"17247:17:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17247:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66607,"nodeType":"EmitStatement","src":"17242:31:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deactivatePoints","nameLocation":"16920:17:98","parameters":{"id":66576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66575,"mutability":"mutable","name":"_member","nameLocation":"16946:7:98","nodeType":"VariableDeclaration","scope":66609,"src":"16938:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66574,"name":"address","nodeType":"ElementaryTypeName","src":"16938:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16937:17:98"},"returnParameters":{"id":66577,"nodeType":"ParameterList","parameters":[],"src":"16972:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":66700,"nodeType":"FunctionDefinition","src":"17286:1025:98","nodes":[],"body":{"id":66699,"nodeType":"Block","src":"17385:926:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66618,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66181,"src":"17440:21:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":66619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17440:23:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66620,"nodeType":"ExpressionStatement","src":"17440:23:98"},{"condition":{"id":66624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17477:27:98","subExpression":{"arguments":[{"id":66622,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66611,"src":"17496:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66621,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66256,"src":"17478:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":66623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17478:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66629,"nodeType":"IfStatement","src":"17473:90:98","trueBody":{"id":66628,"nodeType":"Block","src":"17506:57:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66625,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65740,"src":"17527:23:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17527:25:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66627,"nodeType":"RevertStatement","src":"17520:32:98"}]}},{"assignments":[66631],"declarations":[{"constant":false,"id":66631,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"17580:16:98","nodeType":"VariableDeclaration","scope":66699,"src":"17572:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66630,"name":"uint256","nodeType":"ElementaryTypeName","src":"17572:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66633,"initialValue":{"hexValue":"30","id":66632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17599:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"17572:28:98"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"},"id":66637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66634,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65933,"src":"17614:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":66635,"name":"PointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65545,"src":"17629:11:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65545_$","typeString":"type(enum PointSystem)"}},"id":66636,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17641:9:98","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":65543,"src":"17629:21:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"src":"17614:36:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"},"id":66648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66645,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65933,"src":"17744:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":66646,"name":"PointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65545,"src":"17759:11:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65545_$","typeString":"type(enum PointSystem)"}},"id":66647,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17771:6:98","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":65542,"src":"17759:18:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"src":"17744:33:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"},"id":66660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66657,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65933,"src":"17877:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":66658,"name":"PointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65545,"src":"17892:11:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65545_$","typeString":"type(enum PointSystem)"}},"id":66659,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17904:9:98","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":65544,"src":"17892:21:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"src":"17877:36:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66669,"nodeType":"IfStatement","src":"17873:133:98","trueBody":{"id":66668,"nodeType":"Block","src":"17915:91:98","statements":[{"expression":{"id":66666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66661,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66631,"src":"17929:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66663,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66611,"src":"17971:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66664,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66613,"src":"17980:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66662,"name":"increasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66888,"src":"17948:22:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":66665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17948:47:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17929:66:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66667,"nodeType":"ExpressionStatement","src":"17929:66:98"}]}},"id":66670,"nodeType":"IfStatement","src":"17740:266:98","trueBody":{"id":66656,"nodeType":"Block","src":"17779:88:98","statements":[{"expression":{"id":66654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66649,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66631,"src":"17793:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66651,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66611,"src":"17832:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66652,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66613,"src":"17841:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66650,"name":"increasePowerCapped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66807,"src":"17812:19:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":66653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17812:44:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17793:63:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66655,"nodeType":"ExpressionStatement","src":"17793:63:98"}]}},"id":66671,"nodeType":"IfStatement","src":"17610:396:98","trueBody":{"id":66644,"nodeType":"Block","src":"17652:82:98","statements":[{"expression":{"id":66642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66638,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66631,"src":"17666:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66640,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66613,"src":"17708:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66639,"name":"increasePowerUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66764,"src":"17685:22:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17685:38:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17666:57:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66643,"nodeType":"ExpressionStatement","src":"17666:57:98"}]}},{"assignments":[66673],"declarations":[{"constant":false,"id":66673,"mutability":"mutable","name":"isActivated","nameLocation":"18020:11:98","nodeType":"VariableDeclaration","scope":66699,"src":"18015:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66672,"name":"bool","nodeType":"ElementaryTypeName","src":"18015:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":66683,"initialValue":{"arguments":[{"id":66677,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66611,"src":"18085:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66680,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18102:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}],"id":66679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18094:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66678,"name":"address","nodeType":"ElementaryTypeName","src":"18094:7:98","typeDescriptions":{}}},"id":66681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18094:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66674,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"18034:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18034:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":66676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18057:27:98","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":71065,"src":"18034:50:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":66682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18034:74:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"18015:93:98"},{"condition":{"id":66684,"name":"isActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66673,"src":"18122:11:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66690,"nodeType":"IfStatement","src":"18118:82:98","trueBody":{"id":66689,"nodeType":"Block","src":"18135:65:98","statements":[{"expression":{"id":66687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66685,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65924,"src":"18149:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":66686,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66631,"src":"18173:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18149:40:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66688,"nodeType":"ExpressionStatement","src":"18149:40:98"}]}},{"eventCall":{"arguments":[{"id":66692,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66611,"src":"18229:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66693,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66613,"src":"18238:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66694,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66631,"src":"18254:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66691,"name":"PowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65805,"src":"18214:14:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":66695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18214:57:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66696,"nodeType":"EmitStatement","src":"18209:62:98"},{"expression":{"id":66697,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66631,"src":"18288:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66617,"id":66698,"nodeType":"Return","src":"18281:23:98"}]},"baseFunctions":[65520],"functionSelector":"782aadff","implemented":true,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"17295:13:98","parameters":{"id":66614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66611,"mutability":"mutable","name":"_member","nameLocation":"17317:7:98","nodeType":"VariableDeclaration","scope":66700,"src":"17309:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66610,"name":"address","nodeType":"ElementaryTypeName","src":"17309:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66613,"mutability":"mutable","name":"_amountToStake","nameLocation":"17334:14:98","nodeType":"VariableDeclaration","scope":66700,"src":"17326:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66612,"name":"uint256","nodeType":"ElementaryTypeName","src":"17326:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17308:41:98"},"returnParameters":{"id":66617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66616,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66700,"src":"17376:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66615,"name":"uint256","nodeType":"ElementaryTypeName","src":"17376:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17375:9:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66754,"nodeType":"FunctionDefinition","src":"18317:659:98","nodes":[],"body":{"id":66753,"nodeType":"Block","src":"18418:558:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66709,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66181,"src":"18428:21:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":66710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18428:23:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66711,"nodeType":"ExpressionStatement","src":"18428:23:98"},{"assignments":[66713],"declarations":[{"constant":false,"id":66713,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"18515:16:98","nodeType":"VariableDeclaration","scope":66753,"src":"18507:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66712,"name":"uint256","nodeType":"ElementaryTypeName","src":"18507:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66715,"initialValue":{"hexValue":"30","id":66714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18534:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"18507:28:98"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":66724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"},"id":66719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66716,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65933,"src":"18549:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":66717,"name":"PointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65545,"src":"18564:11:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65545_$","typeString":"type(enum PointSystem)"}},"id":66718,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18576:9:98","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":65543,"src":"18564:21:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"src":"18549:36:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"},"id":66723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66720,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65933,"src":"18589:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":66721,"name":"PointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65545,"src":"18604:11:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65545_$","typeString":"type(enum PointSystem)"}},"id":66722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18616:6:98","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":65542,"src":"18604:18:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"src":"18589:33:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18549:73:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":66739,"nodeType":"Block","src":"18720:93:98","statements":[{"expression":{"id":66737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66732,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66713,"src":"18734:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66734,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66702,"src":"18776:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66735,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66704,"src":"18785:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66733,"name":"decreasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66975,"src":"18753:22:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":66736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18753:49:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18734:68:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66738,"nodeType":"ExpressionStatement","src":"18734:68:98"}]},"id":66740,"nodeType":"IfStatement","src":"18545:268:98","trueBody":{"id":66731,"nodeType":"Block","src":"18624:90:98","statements":[{"expression":{"id":66729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66725,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66713,"src":"18638:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66727,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66704,"src":"18686:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66726,"name":"decreasePowerCappedUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66898,"src":"18657:28:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18657:46:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18638:65:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66730,"nodeType":"ExpressionStatement","src":"18638:65:98"}]}},{"expression":{"id":66743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66741,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65924,"src":"18822:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":66742,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66713,"src":"18846:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18822:40:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66744,"nodeType":"ExpressionStatement","src":"18822:40:98"},{"eventCall":{"arguments":[{"id":66746,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66702,"src":"18892:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66747,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66704,"src":"18901:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66748,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66713,"src":"18919:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66745,"name":"PowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65813,"src":"18877:14:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":66749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18877:59:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66750,"nodeType":"EmitStatement","src":"18872:64:98"},{"expression":{"id":66751,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66713,"src":"18953:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66708,"id":66752,"nodeType":"Return","src":"18946:23:98"}]},"baseFunctions":[65529],"functionSelector":"2ed04b2b","implemented":true,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"18326:13:98","parameters":{"id":66705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66702,"mutability":"mutable","name":"_member","nameLocation":"18348:7:98","nodeType":"VariableDeclaration","scope":66754,"src":"18340:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66701,"name":"address","nodeType":"ElementaryTypeName","src":"18340:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66704,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"18365:16:98","nodeType":"VariableDeclaration","scope":66754,"src":"18357:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66703,"name":"uint256","nodeType":"ElementaryTypeName","src":"18357:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18339:43:98"},"returnParameters":{"id":66708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66707,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66754,"src":"18409:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66706,"name":"uint256","nodeType":"ElementaryTypeName","src":"18409:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18408:9:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66764,"nodeType":"FunctionDefinition","src":"18982:134:98","nodes":[],"body":{"id":66763,"nodeType":"Block","src":"19078:38:98","nodes":[],"statements":[{"expression":{"id":66761,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66756,"src":"19095:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66760,"id":66762,"nodeType":"Return","src":"19088:21:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerUnlimited","nameLocation":"18991:22:98","parameters":{"id":66757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66756,"mutability":"mutable","name":"_amountToStake","nameLocation":"19022:14:98","nodeType":"VariableDeclaration","scope":66764,"src":"19014:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66755,"name":"uint256","nodeType":"ElementaryTypeName","src":"19014:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19013:24:98"},"returnParameters":{"id":66760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66759,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66764,"src":"19069:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66758,"name":"uint256","nodeType":"ElementaryTypeName","src":"19069:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19068:9:98"},"scope":69194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":66807,"nodeType":"FunctionDefinition","src":"19122:637:98","nodes":[],"body":{"id":66806,"nodeType":"Block","src":"19232:527:98","nodes":[],"statements":[{"assignments":[66774],"declarations":[{"constant":false,"id":66774,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"19250:16:98","nodeType":"VariableDeclaration","scope":66806,"src":"19242:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66773,"name":"uint256","nodeType":"ElementaryTypeName","src":"19242:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66776,"initialValue":{"id":66775,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66768,"src":"19269:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19242:41:98"},{"assignments":[66778],"declarations":[{"constant":false,"id":66778,"mutability":"mutable","name":"memberPower","nameLocation":"19365:11:98","nodeType":"VariableDeclaration","scope":66806,"src":"19357:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66777,"name":"uint256","nodeType":"ElementaryTypeName","src":"19357:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66788,"initialValue":{"arguments":[{"id":66782,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66766,"src":"19427:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66785,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"19444:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}],"id":66784,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19436:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66783,"name":"address","nodeType":"ElementaryTypeName","src":"19436:7:98","typeDescriptions":{}}},"id":66786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19436:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66779,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"19379:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19379:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":66781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19402:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72093,"src":"19379:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19379:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19357:93:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66789,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66778,"src":"19516:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":66790,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66774,"src":"19530:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19516:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":66792,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65936,"src":"19549:11:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_storage","typeString":"struct PointSystemConfig storage ref"}},"id":66793,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19561:9:98","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65613,"src":"19549:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19516:54:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66803,"nodeType":"IfStatement","src":"19512:139:98","trueBody":{"id":66802,"nodeType":"Block","src":"19572:79:98","statements":[{"expression":{"id":66800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66795,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66774,"src":"19586:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66796,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65936,"src":"19605:11:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_storage","typeString":"struct PointSystemConfig storage ref"}},"id":66797,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19617:9:98","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65613,"src":"19605:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66798,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66778,"src":"19629:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19605:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19586:54:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66801,"nodeType":"ExpressionStatement","src":"19586:54:98"}]}},{"expression":{"id":66804,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66774,"src":"19736:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66772,"id":66805,"nodeType":"Return","src":"19729:23:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerCapped","nameLocation":"19131:19:98","parameters":{"id":66769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66766,"mutability":"mutable","name":"_member","nameLocation":"19159:7:98","nodeType":"VariableDeclaration","scope":66807,"src":"19151:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66765,"name":"address","nodeType":"ElementaryTypeName","src":"19151:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66768,"mutability":"mutable","name":"_amountToStake","nameLocation":"19176:14:98","nodeType":"VariableDeclaration","scope":66807,"src":"19168:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66767,"name":"uint256","nodeType":"ElementaryTypeName","src":"19168:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19150:41:98"},"returnParameters":{"id":66772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66771,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66807,"src":"19223:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66770,"name":"uint256","nodeType":"ElementaryTypeName","src":"19223:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19222:9:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66888,"nodeType":"FunctionDefinition","src":"19765:756:98","nodes":[],"body":{"id":66887,"nodeType":"Block","src":"19878:643:98","nodes":[],"statements":[{"assignments":[66817],"declarations":[{"constant":false,"id":66817,"mutability":"mutable","name":"totalStake","nameLocation":"19896:10:98","nodeType":"VariableDeclaration","scope":66887,"src":"19888:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66816,"name":"uint256","nodeType":"ElementaryTypeName","src":"19888:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66825,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66821,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66809,"src":"19954:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66818,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"19909:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19909:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":66820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19932:21:98","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":72106,"src":"19909:44:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":66822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19909:53:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":66823,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66811,"src":"19965:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19909:70:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19888:91:98"},{"assignments":[66827],"declarations":[{"constant":false,"id":66827,"mutability":"mutable","name":"decimal","nameLocation":"19998:7:98","nodeType":"VariableDeclaration","scope":66887,"src":"19990:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66826,"name":"uint256","nodeType":"ElementaryTypeName","src":"19990:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66829,"initialValue":{"hexValue":"3138","id":66828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20008:2:98","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"19990:20:98"},{"clauses":[{"block":{"id":66851,"nodeType":"Block","src":"20113:52:98","statements":[{"expression":{"id":66849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66844,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66827,"src":"20127:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66847,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66842,"src":"20145:8:98","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":66846,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20137:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66845,"name":"uint256","nodeType":"ElementaryTypeName","src":"20137:7:98","typeDescriptions":{}}},"id":66848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20137:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20127:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66850,"nodeType":"ExpressionStatement","src":"20127:27:98"}]},"errorName":"","id":66852,"nodeType":"TryCatchClause","parameters":{"id":66843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66842,"mutability":"mutable","name":"_decimal","nameLocation":"20103:8:98","nodeType":"VariableDeclaration","scope":66852,"src":"20097:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":66841,"name":"uint8","nodeType":"ElementaryTypeName","src":"20097:5:98","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"20096:16:98"},"src":"20088:77:98"},{"block":{"id":66853,"nodeType":"Block","src":"20172:64:98","statements":[]},"errorName":"","id":66854,"nodeType":"TryCatchClause","src":"20166:70:98"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66833,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"20038:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20038:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":66835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20061:11:98","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":71020,"src":"20038:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$56528_$","typeString":"function () view external returns (contract IERC20)"}},"id":66836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20038:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}],"id":66832,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20030:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66831,"name":"address","nodeType":"ElementaryTypeName","src":"20030:7:98","typeDescriptions":{}}},"id":66837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20030:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66830,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56450,"src":"20024:5:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56450_$","typeString":"type(contract ERC20)"}},"id":66838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20024:52:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56450","typeString":"contract ERC20"}},"id":66839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20077:8:98","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":55938,"src":"20024:61:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":66840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20024:63:98","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":66855,"nodeType":"TryStatement","src":"20020:216:98"},{"assignments":[66857],"declarations":[{"constant":false,"id":66857,"mutability":"mutable","name":"newTotalPoints","nameLocation":"20253:14:98","nodeType":"VariableDeclaration","scope":66887,"src":"20245:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66856,"name":"uint256","nodeType":"ElementaryTypeName","src":"20245:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66866,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66860,"name":"totalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66817,"src":"20280:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":66861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20293:2:98","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":66862,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66827,"src":"20299:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20293:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20280:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66858,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58797,"src":"20270:4:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58797_$","typeString":"type(library Math)"}},"id":66859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20275:4:98","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58301,"src":"20270:9:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20270:37:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20245:62:98"},{"assignments":[66868],"declarations":[{"constant":false,"id":66868,"mutability":"mutable","name":"currentPoints","nameLocation":"20325:13:98","nodeType":"VariableDeclaration","scope":66887,"src":"20317:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66867,"name":"uint256","nodeType":"ElementaryTypeName","src":"20317:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66878,"initialValue":{"arguments":[{"id":66872,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66809,"src":"20389:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66875,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"20406:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}],"id":66874,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20398:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66873,"name":"address","nodeType":"ElementaryTypeName","src":"20398:7:98","typeDescriptions":{}}},"id":66876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20398:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66869,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"20341:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20341:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":66871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20364:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72093,"src":"20341:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20341:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20317:95:98"},{"assignments":[66880],"declarations":[{"constant":false,"id":66880,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"20431:16:98","nodeType":"VariableDeclaration","scope":66887,"src":"20423:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66879,"name":"uint256","nodeType":"ElementaryTypeName","src":"20423:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66884,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66881,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66857,"src":"20450:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66882,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66868,"src":"20467:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20450:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20423:57:98"},{"expression":{"id":66885,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66880,"src":"20498:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66815,"id":66886,"nodeType":"Return","src":"20491:23:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerQuadratic","nameLocation":"19774:22:98","parameters":{"id":66812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66809,"mutability":"mutable","name":"_member","nameLocation":"19805:7:98","nodeType":"VariableDeclaration","scope":66888,"src":"19797:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66808,"name":"address","nodeType":"ElementaryTypeName","src":"19797:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66811,"mutability":"mutable","name":"_amountToStake","nameLocation":"19822:14:98","nodeType":"VariableDeclaration","scope":66888,"src":"19814:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66810,"name":"uint256","nodeType":"ElementaryTypeName","src":"19814:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19796:41:98"},"returnParameters":{"id":66815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66814,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66888,"src":"19869:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66813,"name":"uint256","nodeType":"ElementaryTypeName","src":"19869:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19868:9:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66898,"nodeType":"FunctionDefinition","src":"20527:144:98","nodes":[],"body":{"id":66897,"nodeType":"Block","src":"20631:40:98","nodes":[],"statements":[{"expression":{"id":66895,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66890,"src":"20648:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66894,"id":66896,"nodeType":"Return","src":"20641:23:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerCappedUnlimited","nameLocation":"20536:28:98","parameters":{"id":66891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66890,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20573:16:98","nodeType":"VariableDeclaration","scope":66898,"src":"20565:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66889,"name":"uint256","nodeType":"ElementaryTypeName","src":"20565:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20564:26:98"},"returnParameters":{"id":66894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66893,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66898,"src":"20622:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66892,"name":"uint256","nodeType":"ElementaryTypeName","src":"20622:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20621:9:98"},"scope":69194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":66975,"nodeType":"FunctionDefinition","src":"20677:882:98","nodes":[],"body":{"id":66974,"nodeType":"Block","src":"20828:731:98","nodes":[],"statements":[{"assignments":[66908],"declarations":[{"constant":false,"id":66908,"mutability":"mutable","name":"decimal","nameLocation":"20846:7:98","nodeType":"VariableDeclaration","scope":66974,"src":"20838:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66907,"name":"uint256","nodeType":"ElementaryTypeName","src":"20838:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66910,"initialValue":{"hexValue":"3138","id":66909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20856:2:98","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"20838:20:98"},{"clauses":[{"block":{"id":66932,"nodeType":"Block","src":"20961:52:98","statements":[{"expression":{"id":66930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66925,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66908,"src":"20975:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66928,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66923,"src":"20993:8:98","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":66927,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20985:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66926,"name":"uint256","nodeType":"ElementaryTypeName","src":"20985:7:98","typeDescriptions":{}}},"id":66929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20985:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20975:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66931,"nodeType":"ExpressionStatement","src":"20975:27:98"}]},"errorName":"","id":66933,"nodeType":"TryCatchClause","parameters":{"id":66924,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66923,"mutability":"mutable","name":"_decimal","nameLocation":"20951:8:98","nodeType":"VariableDeclaration","scope":66933,"src":"20945:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":66922,"name":"uint8","nodeType":"ElementaryTypeName","src":"20945:5:98","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"20944:16:98"},"src":"20936:77:98"},{"block":{"id":66934,"nodeType":"Block","src":"21020:64:98","statements":[]},"errorName":"","id":66935,"nodeType":"TryCatchClause","src":"21014:70:98"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66914,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"20886:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20886:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":66916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20909:11:98","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":71020,"src":"20886:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$56528_$","typeString":"function () view external returns (contract IERC20)"}},"id":66917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20886:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}],"id":66913,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20878:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66912,"name":"address","nodeType":"ElementaryTypeName","src":"20878:7:98","typeDescriptions":{}}},"id":66918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20878:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66911,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56450,"src":"20872:5:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56450_$","typeString":"type(contract ERC20)"}},"id":66919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20872:52:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56450","typeString":"contract ERC20"}},"id":66920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20925:8:98","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":55938,"src":"20872:61:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":66921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20872:63:98","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":66936,"nodeType":"TryStatement","src":"20868:216:98"},{"assignments":[66938],"declarations":[{"constant":false,"id":66938,"mutability":"mutable","name":"newTotalStake","nameLocation":"21163:13:98","nodeType":"VariableDeclaration","scope":66974,"src":"21155:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66937,"name":"uint256","nodeType":"ElementaryTypeName","src":"21155:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66946,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66942,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66900,"src":"21224:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66939,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"21179:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21179:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":66941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21202:21:98","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":72106,"src":"21179:44:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":66943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21179:53:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66944,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66902,"src":"21235:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21179:72:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21155:96:98"},{"assignments":[66948],"declarations":[{"constant":false,"id":66948,"mutability":"mutable","name":"newTotalPoints","nameLocation":"21325:14:98","nodeType":"VariableDeclaration","scope":66974,"src":"21317:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66947,"name":"uint256","nodeType":"ElementaryTypeName","src":"21317:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66957,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66951,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66938,"src":"21352:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":66952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21368:2:98","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":66953,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66908,"src":"21374:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21368:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21352:29:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66949,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58797,"src":"21342:4:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58797_$","typeString":"type(library Math)"}},"id":66950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21347:4:98","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58301,"src":"21342:9:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21342:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21317:65:98"},{"assignments":[66959],"declarations":[{"constant":false,"id":66959,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"21400:16:98","nodeType":"VariableDeclaration","scope":66974,"src":"21392:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66958,"name":"uint256","nodeType":"ElementaryTypeName","src":"21392:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66971,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66963,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66900,"src":"21479:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66966,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21496:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}],"id":66965,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21488:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66964,"name":"address","nodeType":"ElementaryTypeName","src":"21488:7:98","typeDescriptions":{}}},"id":66967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21488:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66960,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"21431:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21431:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":66962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21454:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72093,"src":"21431:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21431:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66969,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66948,"src":"21505:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21431:88:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21392:127:98"},{"expression":{"id":66972,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66959,"src":"21536:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66906,"id":66973,"nodeType":"Return","src":"21529:23:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerQuadratic","nameLocation":"20686:22:98","parameters":{"id":66903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66900,"mutability":"mutable","name":"_member","nameLocation":"20717:7:98","nodeType":"VariableDeclaration","scope":66975,"src":"20709:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66899,"name":"address","nodeType":"ElementaryTypeName","src":"20709:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66902,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20734:16:98","nodeType":"VariableDeclaration","scope":66975,"src":"20726:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66901,"name":"uint256","nodeType":"ElementaryTypeName","src":"20726:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20708:43:98"},"returnParameters":{"id":66906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66905,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66975,"src":"20815:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66904,"name":"uint256","nodeType":"ElementaryTypeName","src":"20815:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20814:9:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66984,"nodeType":"FunctionDefinition","src":"21565:107:98","nodes":[],"body":{"id":66983,"nodeType":"Block","src":"21627:45:98","nodes":[],"statements":[{"expression":{"expression":{"id":66980,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65936,"src":"21644:11:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_storage","typeString":"struct PointSystemConfig storage ref"}},"id":66981,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21656:9:98","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65613,"src":"21644:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66979,"id":66982,"nodeType":"Return","src":"21637:28:98"}]},"functionSelector":"0ba95909","implemented":true,"kind":"function","modifiers":[],"name":"getMaxAmount","nameLocation":"21574:12:98","parameters":{"id":66976,"nodeType":"ParameterList","parameters":[],"src":"21586:2:98"},"returnParameters":{"id":66979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66978,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66984,"src":"21618:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66977,"name":"uint256","nodeType":"ElementaryTypeName","src":"21618:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21617:9:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":66993,"nodeType":"FunctionDefinition","src":"21678:103:98","nodes":[],"body":{"id":66992,"nodeType":"Block","src":"21746:35:98","nodes":[],"statements":[{"expression":{"id":66990,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65933,"src":"21763:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"functionReturnParameters":66989,"id":66991,"nodeType":"Return","src":"21756:18:98"}]},"baseFunctions":[65535],"functionSelector":"c3292171","implemented":true,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"21687:14:98","parameters":{"id":66985,"nodeType":"ParameterList","parameters":[],"src":"21701:2:98"},"returnParameters":{"id":66989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66988,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66993,"src":"21733:11:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"},"typeName":{"id":66987,"nodeType":"UserDefinedTypeName","pathNode":{"id":66986,"name":"PointSystem","nameLocations":["21733:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":65545,"src":"21733:11:98"},"referencedDeclaration":65545,"src":"21733:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"visibility":"internal"}],"src":"21732:13:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":67057,"nodeType":"FunctionDefinition","src":"22272:633:98","nodes":[],"body":{"id":67056,"nodeType":"Block","src":"22354:551:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":67002,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66997,"src":"22384:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67001,"name":"checkSenderIsMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66165,"src":"22364:19:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":67003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22364:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67004,"nodeType":"ExpressionStatement","src":"22364:28:98"},{"condition":{"id":67008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22406:27:98","subExpression":{"arguments":[{"id":67006,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66997,"src":"22425:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67005,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66256,"src":"22407:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":67007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22407:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67013,"nodeType":"IfStatement","src":"22402:90:98","trueBody":{"id":67012,"nodeType":"Block","src":"22435:57:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67009,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65740,"src":"22456:23:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22456:25:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67011,"nodeType":"RevertStatement","src":"22449:32:98"}]}},{"assignments":[67015],"declarations":[{"constant":false,"id":67015,"mutability":"mutable","name":"isMemberActivatedPoints","nameLocation":"22552:23:98","nodeType":"VariableDeclaration","scope":67056,"src":"22547:28:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67014,"name":"bool","nodeType":"ElementaryTypeName","src":"22547:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":67025,"initialValue":{"arguments":[{"id":67019,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66997,"src":"22629:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67022,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22646:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}],"id":67021,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22638:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67020,"name":"address","nodeType":"ElementaryTypeName","src":"22638:7:98","typeDescriptions":{}}},"id":67023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22638:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":67016,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"22578:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":67017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22578:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":67018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22601:27:98","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":71065,"src":"22578:50:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":67024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22578:74:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"22547:105:98"},{"condition":{"id":67027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22666:24:98","subExpression":{"id":67026,"name":"isMemberActivatedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67015,"src":"22667:23:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67032,"nodeType":"IfStatement","src":"22662:78:98","trueBody":{"id":67031,"nodeType":"Block","src":"22692:48:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67028,"name":"UserIsInactive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65672,"src":"22713:14:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22713:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67030,"nodeType":"RevertStatement","src":"22706:23:98"}]}},{"assignments":[67037],"declarations":[{"constant":false,"id":67037,"mutability":"mutable","name":"pv","nameLocation":"22774:2:98","nodeType":"VariableDeclaration","scope":67056,"src":"22749:27:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport[]"},"typeName":{"baseType":{"id":67035,"nodeType":"UserDefinedTypeName","pathNode":{"id":67034,"name":"ProposalSupport","nameLocations":["22749:15:98"],"nodeType":"IdentifierPath","referencedDeclaration":65611,"src":"22749:15:98"},"referencedDeclaration":65611,"src":"22749:15:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65611_storage_ptr","typeString":"struct ProposalSupport"}},"id":67036,"nodeType":"ArrayTypeName","src":"22749:17:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_storage_$dyn_storage_ptr","typeString":"struct ProposalSupport[]"}},"visibility":"internal"}],"id":67045,"initialValue":{"arguments":[{"id":67040,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66995,"src":"22790:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"id":67041,"name":"ProposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65611,"src":"22798:15:98","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$65611_storage_ptr_$","typeString":"type(struct ProposalSupport storage pointer)"}},"id":67042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"22798:17:98","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct ProposalSupport memory[] memory)"}}],"id":67043,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22797:19:98","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct ProposalSupport memory[] memory)"}],"expression":{"id":67038,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22779:3:98","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67039,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22783:6:98","memberName":"decode","nodeType":"MemberAccess","src":"22779:10:98","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":67044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22779:38:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"22749:68:98"},{"expression":{"arguments":[{"id":67047,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66997,"src":"22852:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67048,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67037,"src":"22861:2:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport memory[] memory"}],"id":67046,"name":"_check_before_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67777,"src":"22827:24:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct ProposalSupport memory[] memory)"}},"id":67049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22827:37:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67050,"nodeType":"ExpressionStatement","src":"22827:37:98"},{"expression":{"arguments":[{"id":67052,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66997,"src":"22886:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67053,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67037,"src":"22895:2:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport memory[] memory"}],"id":67051,"name":"_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68062,"src":"22874:11:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct ProposalSupport memory[] memory)"}},"id":67054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22874:24:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67055,"nodeType":"ExpressionStatement","src":"22874:24:98"}]},"baseFunctions":[65365],"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"22281:9:98","overrides":{"id":66999,"nodeType":"OverrideSpecifier","overrides":[],"src":"22345:8:98"},"parameters":{"id":66998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66995,"mutability":"mutable","name":"_data","nameLocation":"22304:5:98","nodeType":"VariableDeclaration","scope":67057,"src":"22291:18:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66994,"name":"bytes","nodeType":"ElementaryTypeName","src":"22291:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":66997,"mutability":"mutable","name":"_sender","nameLocation":"22319:7:98","nodeType":"VariableDeclaration","scope":67057,"src":"22311:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66996,"name":"address","nodeType":"ElementaryTypeName","src":"22311:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22290:37:98"},"returnParameters":{"id":67000,"nodeType":"ParameterList","parameters":[],"src":"22354:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67220,"nodeType":"FunctionDefinition","src":"23161:1873:98","nodes":[],"body":{"id":67219,"nodeType":"Block","src":"23255:1779:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67068,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67062,"src":"23314:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":67069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23320:6:98","memberName":"length","nodeType":"MemberAccess","src":"23314:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":67070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23330:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23314:17:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67076,"nodeType":"IfStatement","src":"23310:76:98","trueBody":{"id":67075,"nodeType":"Block","src":"23333:53:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67072,"name":"ProposalDataIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65708,"src":"23354:19:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23354:21:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67074,"nodeType":"RevertStatement","src":"23347:28:98"}]}},{"assignments":[67078],"declarations":[{"constant":false,"id":67078,"mutability":"mutable","name":"proposalId","nameLocation":"23404:10:98","nodeType":"VariableDeclaration","scope":67219,"src":"23396:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67077,"name":"uint256","nodeType":"ElementaryTypeName","src":"23396:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67086,"initialValue":{"arguments":[{"id":67081,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67062,"src":"23428:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":67083,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23436:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67082,"name":"uint256","nodeType":"ElementaryTypeName","src":"23436:7:98","typeDescriptions":{}}}],"id":67084,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"23435:9:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":67079,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23417:3:98","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67080,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23421:6:98","memberName":"decode","nodeType":"MemberAccess","src":"23417:10:98","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":67085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23417:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23396:49:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67087,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67078,"src":"23460:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23474:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23460:15:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67094,"nodeType":"IfStatement","src":"23456:77:98","trueBody":{"id":67093,"nodeType":"Block","src":"23477:56:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67090,"name":"ProposalIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65710,"src":"23498:22:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23498:24:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67092,"nodeType":"RevertStatement","src":"23491:31:98"}]}},{"assignments":[67097],"declarations":[{"constant":false,"id":67097,"mutability":"mutable","name":"proposal","nameLocation":"23559:8:98","nodeType":"VariableDeclaration","scope":67219,"src":"23542:25:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"},"typeName":{"id":67096,"nodeType":"UserDefinedTypeName","pathNode":{"id":67095,"name":"Proposal","nameLocations":["23542:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65606,"src":"23542:8:98"},"referencedDeclaration":65606,"src":"23542:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"}},"visibility":"internal"}],"id":67101,"initialValue":{"baseExpression":{"id":67098,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"23570:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":67100,"indexExpression":{"id":67099,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67078,"src":"23580:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23570:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23542:49:98"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"},"id":67105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67102,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65930,"src":"23606:12:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":67103,"name":"ProposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65540,"src":"23622:12:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$65540_$","typeString":"type(enum ProposalType)"}},"id":67104,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23635:7:98","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":65538,"src":"23622:20:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"src":"23606:36:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67218,"nodeType":"IfStatement","src":"23602:1366:98","trueBody":{"id":67217,"nodeType":"Block","src":"23644:1324:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67106,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67097,"src":"23662:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67107,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23671:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"23662:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":67108,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67078,"src":"23685:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23662:33:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67115,"nodeType":"IfStatement","src":"23658:108:98","trueBody":{"id":67114,"nodeType":"Block","src":"23697:69:98","statements":[{"errorCall":{"arguments":[{"id":67111,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67078,"src":"23740:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67110,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65718,"src":"23722:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":67112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23722:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67113,"nodeType":"RevertStatement","src":"23715:36:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67116,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67097,"src":"23784:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67117,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23793:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"23784:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":67118,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"23811:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23784:37:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67128,"nodeType":"IfStatement","src":"23780:152:98","trueBody":{"id":67127,"nodeType":"Block","src":"23823:109:98","statements":[{"errorCall":{"arguments":[{"id":67121,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67078,"src":"23868:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67122,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67097,"src":"23880:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67123,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23889:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"23880:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67124,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"23906:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67120,"name":"PoolAmountNotEnough","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65736,"src":"23848:19:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":67125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23848:69:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67126,"nodeType":"RevertStatement","src":"23841:76:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"},"id":67133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67129,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67097,"src":"23950:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67130,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23959:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"23950:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":67131,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"23977:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65565_$","typeString":"type(enum ProposalStatus)"}},"id":67132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23992:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65559,"src":"23977:21:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"src":"23950:48:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67139,"nodeType":"IfStatement","src":"23946:123:98","trueBody":{"id":67138,"nodeType":"Block","src":"24000:69:98","statements":[{"errorCall":{"arguments":[{"id":67135,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67078,"src":"24043:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67134,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65714,"src":"24025:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":67136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24025:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67137,"nodeType":"RevertStatement","src":"24018:36:98"}]}},{"assignments":[67141],"declarations":[{"constant":false,"id":67141,"mutability":"mutable","name":"convictionLast","nameLocation":"24091:14:98","nodeType":"VariableDeclaration","scope":67217,"src":"24083:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67140,"name":"uint256","nodeType":"ElementaryTypeName","src":"24083:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67145,"initialValue":{"arguments":[{"id":67143,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67078,"src":"24133:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67142,"name":"updateProposalConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68630,"src":"24108:24:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) returns (uint256)"}},"id":67144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24108:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24083:61:98"},{"assignments":[67147],"declarations":[{"constant":false,"id":67147,"mutability":"mutable","name":"threshold","nameLocation":"24166:9:98","nodeType":"VariableDeclaration","scope":67217,"src":"24158:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67146,"name":"uint256","nodeType":"ElementaryTypeName","src":"24158:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67152,"initialValue":{"arguments":[{"expression":{"id":67149,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67097,"src":"24197:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67150,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24206:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"24197:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67148,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68248,"src":"24178:18:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":67151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24178:44:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24158:64:98"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67153,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67141,"src":"24241:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":67154,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67147,"src":"24258:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24241:26:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67156,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67097,"src":"24271:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67157,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24280:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"24271:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":67158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24298:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"24271:28:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24241:58:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67165,"nodeType":"IfStatement","src":"24237:137:98","trueBody":{"id":67164,"nodeType":"Block","src":"24301:73:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67161,"name":"ConvictionUnderMinimumThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65726,"src":"24326:31:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24326:33:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67163,"nodeType":"RevertStatement","src":"24319:40:98"}]}},{"assignments":[67170],"declarations":[{"constant":false,"id":67170,"mutability":"mutable","name":"pool","nameLocation":"24406:4:98","nodeType":"VariableDeclaration","scope":67217,"src":"24388:22:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":67169,"nodeType":"UserDefinedTypeName","pathNode":{"id":67168,"name":"IAllo.Pool","nameLocations":["24388:5:98","24394:4:98"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"24388:10:98"},"referencedDeclaration":2319,"src":"24388:10:98","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":67175,"initialValue":{"arguments":[{"id":67173,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"24426:6:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67171,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64873,"src":"24413:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":67172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24418:7:98","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"24413:12:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":67174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24413:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"24388:45:98"},{"expression":{"id":67179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67176,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"24448:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"expression":{"id":67177,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67097,"src":"24462:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67178,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24471:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"24462:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24448:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67180,"nodeType":"ExpressionStatement","src":"24448:38:98"},{"expression":{"arguments":[{"expression":{"id":67182,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67170,"src":"24524:4:98","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":67183,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24529:5:98","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"24524:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67184,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67097,"src":"24536:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67185,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24545:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"24536:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67186,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67097,"src":"24558:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67187,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24567:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"24558:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67181,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"24508:15:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":67188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24508:75:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67189,"nodeType":"ExpressionStatement","src":"24508:75:98"},{"expression":{"id":67195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67190,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67097,"src":"24598:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67192,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"24607:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"24598:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67193,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"24624:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65565_$","typeString":"type(enum ProposalStatus)"}},"id":67194,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24639:8:98","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":65562,"src":"24624:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"src":"24598:49:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"id":67196,"nodeType":"ExpressionStatement","src":"24598:49:98"},{"expression":{"arguments":[{"id":67200,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67078,"src":"24713:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67201,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67097,"src":"24741:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67202,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24750:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65584,"src":"24741:18:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":67203,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"24777:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":67205,"indexExpression":{"id":67204,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"24795:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24777:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":67206,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24827:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"24777:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67197,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65941,"src":"24661:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"id":67199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24677:18:98","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":76346,"src":"24661:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":67207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24661:205:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67208,"nodeType":"ExpressionStatement","src":"24661:205:98"},{"eventCall":{"arguments":[{"id":67210,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67078,"src":"24898:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67211,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67097,"src":"24910:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67212,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24919:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"24910:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67213,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67097,"src":"24932:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67214,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24941:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"24932:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67209,"name":"Distributed","nodeType":"Identifier","overloadedDeclarations":[65783,2858],"referencedDeclaration":65783,"src":"24886:11:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":67215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24886:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67216,"nodeType":"EmitStatement","src":"24881:76:98"}]}}]},"baseFunctions":[65376],"implemented":true,"kind":"function","modifiers":[],"name":"_distribute","nameLocation":"23170:11:98","overrides":{"id":67066,"nodeType":"OverrideSpecifier","overrides":[],"src":"23246:8:98"},"parameters":{"id":67065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67060,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67220,"src":"23182:16:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":67058,"name":"address","nodeType":"ElementaryTypeName","src":"23182:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67059,"nodeType":"ArrayTypeName","src":"23182:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":67062,"mutability":"mutable","name":"_data","nameLocation":"23213:5:98","nodeType":"VariableDeclaration","scope":67220,"src":"23200:18:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67061,"name":"bytes","nodeType":"ElementaryTypeName","src":"23200:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":67064,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67220,"src":"23220:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67063,"name":"address","nodeType":"ElementaryTypeName","src":"23220:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23181:47:98"},"returnParameters":{"id":67067,"nodeType":"ParameterList","parameters":[],"src":"23255:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67272,"nodeType":"FunctionDefinition","src":"25040:728:98","nodes":[],"body":{"id":67271,"nodeType":"Block","src":"25137:631:98","nodes":[],"statements":[{"assignments":[67229],"declarations":[{"constant":false,"id":67229,"mutability":"mutable","name":"proposal","nameLocation":"25164:8:98","nodeType":"VariableDeclaration","scope":67271,"src":"25147:25:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"},"typeName":{"id":67228,"nodeType":"UserDefinedTypeName","pathNode":{"id":67227,"name":"Proposal","nameLocations":["25147:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65606,"src":"25147:8:98"},"referencedDeclaration":65606,"src":"25147:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"}},"visibility":"internal"}],"id":67233,"initialValue":{"baseExpression":{"id":67230,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"25175:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":67232,"indexExpression":{"id":67231,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67222,"src":"25185:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25175:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25147:49:98"},{"assignments":[67235,67237],"declarations":[{"constant":false,"id":67235,"mutability":"mutable","name":"convictionLast","nameLocation":"25290:14:98","nodeType":"VariableDeclaration","scope":67271,"src":"25282:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67234,"name":"uint256","nodeType":"ElementaryTypeName","src":"25282:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67237,"mutability":"mutable","name":"blockNumber","nameLocation":"25314:11:98","nodeType":"VariableDeclaration","scope":67271,"src":"25306:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67236,"name":"uint256","nodeType":"ElementaryTypeName","src":"25306:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67243,"initialValue":{"arguments":[{"id":67239,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67229,"src":"25375:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},{"expression":{"id":67240,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67229,"src":"25385:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67241,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25394:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"25385:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67238,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68444,"src":"25341:33:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$65606_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":67242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25341:66:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"25281:126:98"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67244,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67235,"src":"25422:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25440:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25422:19:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67249,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67247,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67237,"src":"25445:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25460:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25445:16:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25422:39:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67257,"nodeType":"IfStatement","src":"25418:110:98","trueBody":{"id":67256,"nodeType":"Block","src":"25463:65:98","statements":[{"expression":{"id":67254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67251,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67235,"src":"25477:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67252,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67229,"src":"25494:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67253,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25503:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65580,"src":"25494:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25477:40:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67255,"nodeType":"ExpressionStatement","src":"25477:40:98"}]}},{"assignments":[67259],"declarations":[{"constant":false,"id":67259,"mutability":"mutable","name":"threshold","nameLocation":"25545:9:98","nodeType":"VariableDeclaration","scope":67271,"src":"25537:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67258,"name":"uint256","nodeType":"ElementaryTypeName","src":"25537:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67264,"initialValue":{"arguments":[{"expression":{"id":67261,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67229,"src":"25576:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67262,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25585:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"25576:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67260,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68248,"src":"25557:18:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":67263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25557:44:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25537:64:98"},{"expression":{"id":67269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67265,"name":"canBeExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67225,"src":"25718:13:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67266,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67235,"src":"25734:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":67267,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67259,"src":"25752:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25734:27:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25718:43:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67270,"nodeType":"ExpressionStatement","src":"25718:43:98"}]},"functionSelector":"824ea8ed","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteProposal","nameLocation":"25049:18:98","parameters":{"id":67223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67222,"mutability":"mutable","name":"proposalId","nameLocation":"25076:10:98","nodeType":"VariableDeclaration","scope":67272,"src":"25068:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67221,"name":"uint256","nodeType":"ElementaryTypeName","src":"25068:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25067:20:98"},"returnParameters":{"id":67226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67225,"mutability":"mutable","name":"canBeExecuted","nameLocation":"25122:13:98","nodeType":"VariableDeclaration","scope":67272,"src":"25117:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67224,"name":"bool","nodeType":"ElementaryTypeName","src":"25117:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25116:20:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":67282,"nodeType":"FunctionDefinition","src":"26058:231:98","nodes":[],"body":{"id":67281,"nodeType":"Block","src":"26157:132:98","nodes":[],"statements":[]},"baseFunctions":[65396],"implemented":true,"kind":"function","modifiers":[],"name":"_getRecipientStatus","nameLocation":"26067:19:98","overrides":{"id":67276,"nodeType":"OverrideSpecifier","overrides":[],"src":"26131:8:98"},"parameters":{"id":67275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67274,"mutability":"mutable","name":"_recipientId","nameLocation":"26095:12:98","nodeType":"VariableDeclaration","scope":67282,"src":"26087:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67273,"name":"address","nodeType":"ElementaryTypeName","src":"26087:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26086:22:98"},"returnParameters":{"id":67280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67279,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67282,"src":"26149:6:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"},"typeName":{"id":67278,"nodeType":"UserDefinedTypeName","pathNode":{"id":67277,"name":"Status","nameLocations":["26149:6:98"],"nodeType":"IdentifierPath","referencedDeclaration":2815,"src":"26149:6:98"},"referencedDeclaration":2815,"src":"26149:6:98","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"visibility":"internal"}],"src":"26148:8:98"},"scope":69194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67301,"nodeType":"FunctionDefinition","src":"26418:287:98","nodes":[],"body":{"id":67300,"nodeType":"Block","src":"26528:177:98","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67297,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65676,"src":"26682:14:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26682:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67299,"nodeType":"RevertStatement","src":"26675:23:98"}]},"baseFunctions":[65235],"documentation":{"id":67283,"nodeType":"StructuredDocumentation","src":"26295:118:98","text":"@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive"},"functionSelector":"b2b878d0","implemented":true,"kind":"function","modifiers":[],"name":"getPayouts","nameLocation":"26427:10:98","overrides":{"id":67291,"nodeType":"OverrideSpecifier","overrides":[],"src":"26486:8:98"},"parameters":{"id":67290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67286,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67301,"src":"26438:16:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":67284,"name":"address","nodeType":"ElementaryTypeName","src":"26438:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67285,"nodeType":"ArrayTypeName","src":"26438:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":67289,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67301,"src":"26456:14:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":67287,"name":"bytes","nodeType":"ElementaryTypeName","src":"26456:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":67288,"nodeType":"ArrayTypeName","src":"26456:7:98","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"26437:34:98"},"returnParameters":{"id":67296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67295,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67301,"src":"26504:22:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr","typeString":"struct IStrategy.PayoutSummary[]"},"typeName":{"baseType":{"id":67293,"nodeType":"UserDefinedTypeName","pathNode":{"id":67292,"name":"PayoutSummary","nameLocations":["26504:13:98"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"26504:13:98"},"referencedDeclaration":2820,"src":"26504:13:98","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"id":67294,"nodeType":"ArrayTypeName","src":"26504:15:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr","typeString":"struct IStrategy.PayoutSummary[]"}},"visibility":"internal"}],"src":"26503:24:98"},"scope":69194,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":67313,"nodeType":"FunctionDefinition","src":"26711:286:98","nodes":[],"body":{"id":67312,"nodeType":"Block","src":"26879:118:98","nodes":[],"statements":[]},"baseFunctions":[65387],"implemented":true,"kind":"function","modifiers":[],"name":"_getPayout","nameLocation":"26720:10:98","overrides":{"id":67307,"nodeType":"OverrideSpecifier","overrides":[],"src":"26827:8:98"},"parameters":{"id":67306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67303,"mutability":"mutable","name":"_recipientId","nameLocation":"26739:12:98","nodeType":"VariableDeclaration","scope":67313,"src":"26731:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67302,"name":"address","nodeType":"ElementaryTypeName","src":"26731:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67305,"mutability":"mutable","name":"_data","nameLocation":"26766:5:98","nodeType":"VariableDeclaration","scope":67313,"src":"26753:18:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67304,"name":"bytes","nodeType":"ElementaryTypeName","src":"26753:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26730:42:98"},"returnParameters":{"id":67311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67310,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67313,"src":"26853:20:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary"},"typeName":{"id":67309,"nodeType":"UserDefinedTypeName","pathNode":{"id":67308,"name":"PayoutSummary","nameLocations":["26853:13:98"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"26853:13:98"},"referencedDeclaration":2820,"src":"26853:13:98","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"visibility":"internal"}],"src":"26852:22:98"},"scope":69194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67324,"nodeType":"FunctionDefinition","src":"27003:127:98","nodes":[],"body":{"id":67323,"nodeType":"Block","src":"27080:50:98","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":67320,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67315,"src":"27115:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67319,"name":"PoolAmountIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65793,"src":"27095:19:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":67321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27095:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67322,"nodeType":"EmitStatement","src":"27090:33:98"}]},"baseFunctions":[65410],"implemented":true,"kind":"function","modifiers":[],"name":"_afterIncreasePoolAmount","nameLocation":"27012:24:98","overrides":{"id":67317,"nodeType":"OverrideSpecifier","overrides":[],"src":"27071:8:98"},"parameters":{"id":67316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67315,"mutability":"mutable","name":"_amount","nameLocation":"27045:7:98","nodeType":"VariableDeclaration","scope":67324,"src":"27037:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67314,"name":"uint256","nodeType":"ElementaryTypeName","src":"27037:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27036:17:98"},"returnParameters":{"id":67318,"nodeType":"ParameterList","parameters":[],"src":"27080:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67333,"nodeType":"FunctionDefinition","src":"27225:143:98","nodes":[],"body":{"id":67332,"nodeType":"Block","src":"27318:50:98","nodes":[],"statements":[]},"baseFunctions":[65347],"implemented":true,"kind":"function","modifiers":[],"name":"_isValidAllocator","nameLocation":"27234:17:98","overrides":{"id":67328,"nodeType":"OverrideSpecifier","overrides":[],"src":"27294:8:98"},"parameters":{"id":67327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67326,"mutability":"mutable","name":"_allocator","nameLocation":"27260:10:98","nodeType":"VariableDeclaration","scope":67333,"src":"27252:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67325,"name":"address","nodeType":"ElementaryTypeName","src":"27252:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27251:20:98"},"returnParameters":{"id":67331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67330,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67333,"src":"27312:4:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67329,"name":"bool","nodeType":"ElementaryTypeName","src":"27312:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27311:6:98"},"scope":69194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67343,"nodeType":"FunctionDefinition","src":"27374:86:98","nodes":[],"body":{"id":67342,"nodeType":"Block","src":"27420:40:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":67339,"name":"_active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67335,"src":"27445:7:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":67338,"name":"_setPoolActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65330,"src":"27430:14:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":67340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27430:23:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67341,"nodeType":"ExpressionStatement","src":"27430:23:98"}]},"functionSelector":"b5f620ce","implemented":true,"kind":"function","modifiers":[],"name":"setPoolActive","nameLocation":"27383:13:98","parameters":{"id":67336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67335,"mutability":"mutable","name":"_active","nameLocation":"27402:7:98","nodeType":"VariableDeclaration","scope":67343,"src":"27397:12:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67334,"name":"bool","nodeType":"ElementaryTypeName","src":"27397:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27396:14:98"},"returnParameters":{"id":67337,"nodeType":"ParameterList","parameters":[],"src":"27420:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":67429,"nodeType":"FunctionDefinition","src":"27466:829:98","nodes":[],"body":{"id":67428,"nodeType":"Block","src":"27518:777:98","nodes":[],"statements":[{"assignments":[67352],"declarations":[{"constant":false,"id":67352,"mutability":"mutable","name":"proposalsIds","nameLocation":"27593:12:98","nodeType":"VariableDeclaration","scope":67428,"src":"27576:29:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":67350,"name":"uint256","nodeType":"ElementaryTypeName","src":"27576:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67351,"nodeType":"ArrayTypeName","src":"27576:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":67356,"initialValue":{"baseExpression":{"id":67353,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65958,"src":"27608:20:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67355,"indexExpression":{"id":67354,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67345,"src":"27629:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27608:29:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"27576:61:98"},{"body":{"id":67426,"nodeType":"Block","src":"27697:592:98","statements":[{"assignments":[67369],"declarations":[{"constant":false,"id":67369,"mutability":"mutable","name":"proposalId","nameLocation":"27719:10:98","nodeType":"VariableDeclaration","scope":67426,"src":"27711:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67368,"name":"uint256","nodeType":"ElementaryTypeName","src":"27711:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67373,"initialValue":{"baseExpression":{"id":67370,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67352,"src":"27732:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67372,"indexExpression":{"id":67371,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67358,"src":"27745:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27732:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27711:36:98"},{"assignments":[67376],"declarations":[{"constant":false,"id":67376,"mutability":"mutable","name":"proposal","nameLocation":"27778:8:98","nodeType":"VariableDeclaration","scope":67426,"src":"27761:25:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"},"typeName":{"id":67375,"nodeType":"UserDefinedTypeName","pathNode":{"id":67374,"name":"Proposal","nameLocations":["27761:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65606,"src":"27761:8:98"},"referencedDeclaration":65606,"src":"27761:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"}},"visibility":"internal"}],"id":67380,"initialValue":{"baseExpression":{"id":67377,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"27789:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":67379,"indexExpression":{"id":67378,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67369,"src":"27799:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27789:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"27761:49:98"},{"condition":{"arguments":[{"id":67382,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67369,"src":"27843:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67381,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67661,"src":"27828:14:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":67383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27828:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67425,"nodeType":"IfStatement","src":"27824:455:98","trueBody":{"id":67424,"nodeType":"Block","src":"27856:423:98","statements":[{"assignments":[67385],"declarations":[{"constant":false,"id":67385,"mutability":"mutable","name":"stakedPoints","nameLocation":"27882:12:98","nodeType":"VariableDeclaration","scope":67424,"src":"27874:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67384,"name":"uint256","nodeType":"ElementaryTypeName","src":"27874:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67390,"initialValue":{"baseExpression":{"expression":{"id":67386,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67376,"src":"27897:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67387,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27906:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65595,"src":"27897:26:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67389,"indexExpression":{"id":67388,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67345,"src":"27924:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27897:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27874:58:98"},{"expression":{"id":67397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":67391,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67376,"src":"27950:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67394,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27959:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65595,"src":"27950:26:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67395,"indexExpression":{"id":67393,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67345,"src":"27977:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"27950:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":67396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27988:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"27950:39:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67398,"nodeType":"ExpressionStatement","src":"27950:39:98"},{"expression":{"id":67403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67399,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67376,"src":"28007:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67401,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"28016:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"28007:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":67402,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67385,"src":"28032:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28007:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67404,"nodeType":"ExpressionStatement","src":"28007:37:98"},{"expression":{"id":67407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67405,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65922,"src":"28062:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":67406,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67385,"src":"28077:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28062:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67408,"nodeType":"ExpressionStatement","src":"28062:27:98"},{"expression":{"arguments":[{"id":67410,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67376,"src":"28134:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},{"id":67411,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67385,"src":"28144:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67409,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68397,"src":"28107:26:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$65606_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct Proposal storage pointer,uint256)"}},"id":67412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28107:50:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67413,"nodeType":"ExpressionStatement","src":"28107:50:98"},{"eventCall":{"arguments":[{"id":67415,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67345,"src":"28193:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67416,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67369,"src":"28202:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":67417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28214:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":67418,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67376,"src":"28217:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67419,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28226:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"28217:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67420,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67376,"src":"28240:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67421,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28249:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65580,"src":"28240:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67414,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65825,"src":"28180:12:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":67422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28180:84:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67423,"nodeType":"EmitStatement","src":"28175:89:98"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67361,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67358,"src":"27667:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67362,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67352,"src":"27671:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27684:6:98","memberName":"length","nodeType":"MemberAccess","src":"27671:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27667:23:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67427,"initializationExpression":{"assignments":[67358],"declarations":[{"constant":false,"id":67358,"mutability":"mutable","name":"i","nameLocation":"27660:1:98","nodeType":"VariableDeclaration","scope":67427,"src":"27652:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67357,"name":"uint256","nodeType":"ElementaryTypeName","src":"27652:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67360,"initialValue":{"hexValue":"30","id":67359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27664:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"27652:13:98"},"loopExpression":{"expression":{"id":67366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"27692:3:98","subExpression":{"id":67365,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67358,"src":"27692:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67367,"nodeType":"ExpressionStatement","src":"27692:3:98"},"nodeType":"ForStatement","src":"27647:642:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"27475:8:98","parameters":{"id":67346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67345,"mutability":"mutable","name":"_member","nameLocation":"27492:7:98","nodeType":"VariableDeclaration","scope":67429,"src":"27484:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67344,"name":"address","nodeType":"ElementaryTypeName","src":"27484:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27483:17:98"},"returnParameters":{"id":67347,"nodeType":"ParameterList","parameters":[],"src":"27518:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67505,"nodeType":"FunctionDefinition","src":"28979:1115:98","nodes":[],"body":{"id":67504,"nodeType":"Block","src":"29494:600:98","nodes":[],"statements":[{"assignments":[67460],"declarations":[{"constant":false,"id":67460,"mutability":"mutable","name":"proposal","nameLocation":"29521:8:98","nodeType":"VariableDeclaration","scope":67504,"src":"29504:25:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"},"typeName":{"id":67459,"nodeType":"UserDefinedTypeName","pathNode":{"id":67458,"name":"Proposal","nameLocations":["29504:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65606,"src":"29504:8:98"},"referencedDeclaration":65606,"src":"29504:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"}},"visibility":"internal"}],"id":67464,"initialValue":{"baseExpression":{"id":67461,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"29532:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":67463,"indexExpression":{"id":67462,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67432,"src":"29542:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29532:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"29504:50:98"},{"expression":{"id":67476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67465,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67452,"src":"29565:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67466,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67460,"src":"29577:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67467,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29586:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"29577:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29605:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29577:29:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"id":67472,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67460,"src":"29632:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67473,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29641:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"29632:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67471,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68248,"src":"29613:18:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":67474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29613:44:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"29577:80:98","trueExpression":{"hexValue":"30","id":67470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29609:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29565:92:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67477,"nodeType":"ExpressionStatement","src":"29565:92:98"},{"expression":{"components":[{"expression":{"id":67478,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67460,"src":"29688:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67479,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29697:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65584,"src":"29688:18:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67480,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67460,"src":"29720:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67481,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29729:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"29720:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67482,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67460,"src":"29754:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67483,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29763:14:98","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65586,"src":"29754:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67484,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67460,"src":"29791:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67485,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29800:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"29791:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67486,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67460,"src":"29829:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67487,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29838:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"29829:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67488,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67460,"src":"29864:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67489,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29873:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"29864:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},{"expression":{"id":67490,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67460,"src":"29901:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67491,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29910:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65588,"src":"29901:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67492,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67460,"src":"29933:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67493,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29942:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65580,"src":"29933:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67494,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67452,"src":"29970:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"expression":{"id":67495,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67460,"src":"29993:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67496,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30002:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65595,"src":"29993:26:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67499,"indexExpression":{"expression":{"id":67497,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"30020:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30024:6:98","memberName":"sender","nodeType":"MemberAccess","src":"30020:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29993:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67500,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67460,"src":"30045:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67501,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30054:23:98","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65605,"src":"30045:32:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67502,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"29674:413:98","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$65565_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":67457,"id":67503,"nodeType":"Return","src":"29667:420:98"}]},"documentation":{"id":67430,"nodeType":"StructuredDocumentation","src":"28301:673:98","text":" @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold\n @return voterStakedPoints Voter staked points\n @return arbitrableConfigVersion Proposal arbitrable config id"},"functionSelector":"c7f758a8","implemented":true,"kind":"function","modifiers":[],"name":"getProposal","nameLocation":"28988:11:98","parameters":{"id":67433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67432,"mutability":"mutable","name":"_proposalId","nameLocation":"29008:11:98","nodeType":"VariableDeclaration","scope":67505,"src":"29000:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67431,"name":"uint256","nodeType":"ElementaryTypeName","src":"29000:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28999:21:98"},"returnParameters":{"id":67457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67435,"mutability":"mutable","name":"submitter","nameLocation":"29105:9:98","nodeType":"VariableDeclaration","scope":67505,"src":"29097:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67434,"name":"address","nodeType":"ElementaryTypeName","src":"29097:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67437,"mutability":"mutable","name":"beneficiary","nameLocation":"29136:11:98","nodeType":"VariableDeclaration","scope":67505,"src":"29128:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67436,"name":"address","nodeType":"ElementaryTypeName","src":"29128:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67439,"mutability":"mutable","name":"requestedToken","nameLocation":"29169:14:98","nodeType":"VariableDeclaration","scope":67505,"src":"29161:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67438,"name":"address","nodeType":"ElementaryTypeName","src":"29161:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67441,"mutability":"mutable","name":"requestedAmount","nameLocation":"29205:15:98","nodeType":"VariableDeclaration","scope":67505,"src":"29197:23:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67440,"name":"uint256","nodeType":"ElementaryTypeName","src":"29197:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67443,"mutability":"mutable","name":"stakedAmount","nameLocation":"29242:12:98","nodeType":"VariableDeclaration","scope":67505,"src":"29234:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67442,"name":"uint256","nodeType":"ElementaryTypeName","src":"29234:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67446,"mutability":"mutable","name":"proposalStatus","nameLocation":"29283:14:98","nodeType":"VariableDeclaration","scope":67505,"src":"29268:29:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"},"typeName":{"id":67445,"nodeType":"UserDefinedTypeName","pathNode":{"id":67444,"name":"ProposalStatus","nameLocations":["29268:14:98"],"nodeType":"IdentifierPath","referencedDeclaration":65565,"src":"29268:14:98"},"referencedDeclaration":65565,"src":"29268:14:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":67448,"mutability":"mutable","name":"blockLast","nameLocation":"29319:9:98","nodeType":"VariableDeclaration","scope":67505,"src":"29311:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67447,"name":"uint256","nodeType":"ElementaryTypeName","src":"29311:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67450,"mutability":"mutable","name":"convictionLast","nameLocation":"29350:14:98","nodeType":"VariableDeclaration","scope":67505,"src":"29342:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67449,"name":"uint256","nodeType":"ElementaryTypeName","src":"29342:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67452,"mutability":"mutable","name":"threshold","nameLocation":"29386:9:98","nodeType":"VariableDeclaration","scope":67505,"src":"29378:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67451,"name":"uint256","nodeType":"ElementaryTypeName","src":"29378:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67454,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"29417:17:98","nodeType":"VariableDeclaration","scope":67505,"src":"29409:25:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67453,"name":"uint256","nodeType":"ElementaryTypeName","src":"29409:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67456,"mutability":"mutable","name":"arbitrableConfigVersion","nameLocation":"29456:23:98","nodeType":"VariableDeclaration","scope":67505,"src":"29448:31:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67455,"name":"uint256","nodeType":"ElementaryTypeName","src":"29448:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29083:406:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67524,"nodeType":"FunctionDefinition","src":"30100:191:98","nodes":[],"body":{"id":67523,"nodeType":"Block","src":"30190:101:98","nodes":[],"statements":[{"assignments":[67515],"declarations":[{"constant":false,"id":67515,"mutability":"mutable","name":"proposal","nameLocation":"30217:8:98","nodeType":"VariableDeclaration","scope":67523,"src":"30200:25:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"},"typeName":{"id":67514,"nodeType":"UserDefinedTypeName","pathNode":{"id":67513,"name":"Proposal","nameLocations":["30200:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65606,"src":"30200:8:98"},"referencedDeclaration":65606,"src":"30200:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"}},"visibility":"internal"}],"id":67519,"initialValue":{"baseExpression":{"id":67516,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"30228:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":67518,"indexExpression":{"id":67517,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67507,"src":"30238:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30228:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"30200:50:98"},{"expression":{"expression":{"id":67520,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67515,"src":"30267:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67521,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30276:8:98","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":65598,"src":"30267:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"functionReturnParameters":67512,"id":67522,"nodeType":"Return","src":"30260:24:98"}]},"functionSelector":"a574cea4","implemented":true,"kind":"function","modifiers":[],"name":"getMetadata","nameLocation":"30109:11:98","parameters":{"id":67508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67507,"mutability":"mutable","name":"_proposalId","nameLocation":"30129:11:98","nodeType":"VariableDeclaration","scope":67524,"src":"30121:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67506,"name":"uint256","nodeType":"ElementaryTypeName","src":"30121:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30120:21:98"},"returnParameters":{"id":67512,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67511,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67524,"src":"30173:15:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":67510,"nodeType":"UserDefinedTypeName","pathNode":{"id":67509,"name":"Metadata","nameLocations":["30173:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"30173:8:98"},"referencedDeclaration":3098,"src":"30173:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"30172:17:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67540,"nodeType":"FunctionDefinition","src":"30492:184:98","nodes":[],"body":{"id":67539,"nodeType":"Block","src":"30600:76:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":67535,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67527,"src":"30649:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67536,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67529,"src":"30662:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":67534,"name":"_internal_getProposalVoterStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67625,"src":"30617:31:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":67537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30617:52:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67533,"id":67538,"nodeType":"Return","src":"30610:59:98"}]},"documentation":{"id":67525,"nodeType":"StructuredDocumentation","src":"30297:190:98","text":" @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake"},"functionSelector":"e0dd2c38","implemented":true,"kind":"function","modifiers":[],"name":"getProposalVoterStake","nameLocation":"30501:21:98","parameters":{"id":67530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67527,"mutability":"mutable","name":"_proposalId","nameLocation":"30531:11:98","nodeType":"VariableDeclaration","scope":67540,"src":"30523:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67526,"name":"uint256","nodeType":"ElementaryTypeName","src":"30523:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67529,"mutability":"mutable","name":"_voter","nameLocation":"30552:6:98","nodeType":"VariableDeclaration","scope":67540,"src":"30544:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67528,"name":"address","nodeType":"ElementaryTypeName","src":"30544:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30522:37:98"},"returnParameters":{"id":67533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67532,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67540,"src":"30591:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67531,"name":"uint256","nodeType":"ElementaryTypeName","src":"30591:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30590:9:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67553,"nodeType":"FunctionDefinition","src":"30682:153:98","nodes":[],"body":{"id":67552,"nodeType":"Block","src":"30776:59:98","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":67547,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"30793:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":67549,"indexExpression":{"id":67548,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67542,"src":"30803:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30793:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"id":67550,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30816:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"30793:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67546,"id":67551,"nodeType":"Return","src":"30786:42:98"}]},"functionSelector":"dc96ff2d","implemented":true,"kind":"function","modifiers":[],"name":"getProposalStakedAmount","nameLocation":"30691:23:98","parameters":{"id":67543,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67542,"mutability":"mutable","name":"_proposalId","nameLocation":"30723:11:98","nodeType":"VariableDeclaration","scope":67553,"src":"30715:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67541,"name":"uint256","nodeType":"ElementaryTypeName","src":"30715:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30714:21:98"},"returnParameters":{"id":67546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67545,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67553,"src":"30767:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67544,"name":"uint256","nodeType":"ElementaryTypeName","src":"30767:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30766:9:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67565,"nodeType":"FunctionDefinition","src":"30903:135:98","nodes":[],"body":{"id":67564,"nodeType":"Block","src":"30988:50:98","nodes":[],"statements":[{"expression":{"baseExpression":{"id":67560,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65953,"src":"31005:18:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67562,"indexExpression":{"id":67561,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67555,"src":"31024:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31005:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67559,"id":67563,"nodeType":"Return","src":"30998:33:98"}]},"functionSelector":"bcc5b93b","implemented":true,"kind":"function","modifiers":[],"name":"getTotalVoterStakePct","nameLocation":"30912:21:98","parameters":{"id":67556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67555,"mutability":"mutable","name":"_voter","nameLocation":"30942:6:98","nodeType":"VariableDeclaration","scope":67565,"src":"30934:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67554,"name":"address","nodeType":"ElementaryTypeName","src":"30934:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30933:16:98"},"returnParameters":{"id":67559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67558,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67565,"src":"30979:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67557,"name":"uint256","nodeType":"ElementaryTypeName","src":"30979:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30978:9:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":67608,"nodeType":"FunctionDefinition","src":"31044:874:98","nodes":[],"body":{"id":67607,"nodeType":"Block","src":"31394:524:98","nodes":[],"statements":[{"expression":{"components":[{"expression":{"baseExpression":{"id":67581,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"31425:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":67583,"indexExpression":{"id":67582,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"31443:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31425:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":67584,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31475:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"31425:60:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}},{"expression":{"baseExpression":{"id":67585,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"31499:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":67587,"indexExpression":{"id":67586,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"31517:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31499:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":67588,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31549:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"31499:62:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":67589,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"31575:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":67591,"indexExpression":{"id":67590,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"31593:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31575:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":67592,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31625:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"31575:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":67593,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"31664:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":67595,"indexExpression":{"id":67594,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"31682:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31664:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":67596,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31714:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"31664:76:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":67597,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"31754:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":67599,"indexExpression":{"id":67598,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"31772:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31754:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":67600,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31804:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"31754:63:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":67601,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"31831:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":67603,"indexExpression":{"id":67602,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"31849:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31831:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":67604,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31881:20:98","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65627,"src":"31831:70:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67605,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"31411:500:98","typeDescriptions":{"typeIdentifier":"t_tuple$_t_contract$_IArbitrator_$76325_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":67580,"id":67606,"nodeType":"Return","src":"31404:507:98"}]},"functionSelector":"059351cd","implemented":true,"kind":"function","modifiers":[],"name":"getArbitrableConfig","nameLocation":"31053:19:98","parameters":{"id":67566,"nodeType":"ParameterList","parameters":[],"src":"31072:2:98"},"returnParameters":{"id":67580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67569,"mutability":"mutable","name":"arbitrator","nameLocation":"31163:10:98","nodeType":"VariableDeclaration","scope":67608,"src":"31151:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"},"typeName":{"id":67568,"nodeType":"UserDefinedTypeName","pathNode":{"id":67567,"name":"IArbitrator","nameLocations":["31151:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":76325,"src":"31151:11:98"},"referencedDeclaration":76325,"src":"31151:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":67571,"mutability":"mutable","name":"tribunalSafe","nameLocation":"31195:12:98","nodeType":"VariableDeclaration","scope":67608,"src":"31187:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67570,"name":"address","nodeType":"ElementaryTypeName","src":"31187:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67573,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"31229:25:98","nodeType":"VariableDeclaration","scope":67608,"src":"31221:33:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67572,"name":"uint256","nodeType":"ElementaryTypeName","src":"31221:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67575,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"31276:26:98","nodeType":"VariableDeclaration","scope":67608,"src":"31268:34:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67574,"name":"uint256","nodeType":"ElementaryTypeName","src":"31268:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67577,"mutability":"mutable","name":"defaultRuling","nameLocation":"31324:13:98","nodeType":"VariableDeclaration","scope":67608,"src":"31316:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67576,"name":"uint256","nodeType":"ElementaryTypeName","src":"31316:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67579,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"31359:20:98","nodeType":"VariableDeclaration","scope":67608,"src":"31351:28:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67578,"name":"uint256","nodeType":"ElementaryTypeName","src":"31351:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31137:252:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67625,"nodeType":"FunctionDefinition","src":"31924:226:98","nodes":[],"body":{"id":67624,"nodeType":"Block","src":"32078:72:98","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":67617,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"32095:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":67619,"indexExpression":{"id":67618,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67610,"src":"32105:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32095:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"id":67620,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32118:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65595,"src":"32095:40:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67622,"indexExpression":{"id":67621,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67612,"src":"32136:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32095:48:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67616,"id":67623,"nodeType":"Return","src":"32088:55:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_internal_getProposalVoterStake","nameLocation":"31933:31:98","parameters":{"id":67613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67610,"mutability":"mutable","name":"_proposalId","nameLocation":"31973:11:98","nodeType":"VariableDeclaration","scope":67625,"src":"31965:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67609,"name":"uint256","nodeType":"ElementaryTypeName","src":"31965:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67612,"mutability":"mutable","name":"_voter","nameLocation":"31994:6:98","nodeType":"VariableDeclaration","scope":67625,"src":"31986:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67611,"name":"address","nodeType":"ElementaryTypeName","src":"31986:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31964:37:98"},"returnParameters":{"id":67616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67615,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67625,"src":"32065:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67614,"name":"uint256","nodeType":"ElementaryTypeName","src":"32065:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32064:9:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67636,"nodeType":"FunctionDefinition","src":"32156:158:98","nodes":[],"body":{"id":67635,"nodeType":"Block","src":"32228:86:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":67630,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"32245:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":67631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32245:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":67632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32268:20:98","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":72493,"src":"32245:43:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":67633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32245:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67629,"id":67634,"nodeType":"Return","src":"32238:52:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"32165:20:98","parameters":{"id":67626,"nodeType":"ParameterList","parameters":[],"src":"32185:2:98"},"returnParameters":{"id":67629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67628,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67636,"src":"32219:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67627,"name":"uint256","nodeType":"ElementaryTypeName","src":"32219:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32218:9:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67661,"nodeType":"FunctionDefinition","src":"32320:193:98","nodes":[],"body":{"id":67660,"nodeType":"Block","src":"32402:111:98","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":67643,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"32419:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":67645,"indexExpression":{"id":67644,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67638,"src":"32429:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32419:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"id":67646,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32442:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"32419:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":67647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32455:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"32419:37:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":67649,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"32460:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":67651,"indexExpression":{"id":67650,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67638,"src":"32470:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32460:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"id":67652,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32483:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65584,"src":"32460:32:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":67655,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32504:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":67654,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32496:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67653,"name":"address","nodeType":"ElementaryTypeName","src":"32496:7:98","typeDescriptions":{}}},"id":67656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32496:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"32460:46:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"32419:87:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":67642,"id":67659,"nodeType":"Return","src":"32412:94:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"proposalExists","nameLocation":"32329:14:98","parameters":{"id":67639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67638,"mutability":"mutable","name":"_proposalID","nameLocation":"32352:11:98","nodeType":"VariableDeclaration","scope":67661,"src":"32344:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67637,"name":"uint256","nodeType":"ElementaryTypeName","src":"32344:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32343:21:98"},"returnParameters":{"id":67642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67641,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67661,"src":"32396:4:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67640,"name":"bool","nodeType":"ElementaryTypeName","src":"32396:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32395:6:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67680,"nodeType":"FunctionDefinition","src":"32519:191:98","nodes":[],"body":{"id":67679,"nodeType":"Block","src":"32622:88:98","nodes":[],"statements":[{"expression":{"id":67677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67668,"name":"isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67666,"src":"32632:14:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67669,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65927,"src":"32649:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage","typeString":"struct CVParams storage ref"}},"id":67670,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32658:8:98","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":65630,"src":"32649:17:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":67671,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"32669:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32649:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67673,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67663,"src":"32683:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":67674,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65890,"src":"32702:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32683:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32649:54:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"32632:71:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67678,"nodeType":"ExpressionStatement","src":"32632:71:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isOverMaxRatio","nameLocation":"32528:15:98","parameters":{"id":67664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67663,"mutability":"mutable","name":"_requestedAmount","nameLocation":"32552:16:98","nodeType":"VariableDeclaration","scope":67680,"src":"32544:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67662,"name":"uint256","nodeType":"ElementaryTypeName","src":"32544:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32543:26:98"},"returnParameters":{"id":67667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67666,"mutability":"mutable","name":"isOverMaxRatio","nameLocation":"32606:14:98","nodeType":"VariableDeclaration","scope":67680,"src":"32601:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67665,"name":"bool","nodeType":"ElementaryTypeName","src":"32601:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32600:21:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67777,"nodeType":"FunctionDefinition","src":"32716:1526:98","nodes":[],"body":{"id":67776,"nodeType":"Block","src":"32819:1423:98","nodes":[],"statements":[{"assignments":[67690],"declarations":[{"constant":false,"id":67690,"mutability":"mutable","name":"deltaSupportSum","nameLocation":"32836:15:98","nodeType":"VariableDeclaration","scope":67776,"src":"32829:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67689,"name":"int256","nodeType":"ElementaryTypeName","src":"32829:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":67692,"initialValue":{"hexValue":"30","id":67691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32854:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"32829:26:98"},{"body":{"id":67737,"nodeType":"Block","src":"32919:576:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":67704,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67686,"src":"32992:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport memory[] memory"}},"id":67706,"indexExpression":{"id":67705,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67694,"src":"33009:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32992:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65611_memory_ptr","typeString":"struct ProposalSupport memory"}},"id":67707,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33012:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65608,"src":"32992:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67708,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33026:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"32992:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67712,"nodeType":"IfStatement","src":"32988:187:98","trueBody":{"id":67711,"nodeType":"Block","src":"33029:146:98","statements":[{"id":67710,"nodeType":"Continue","src":"33152:8:98"}]}},{"assignments":[67714],"declarations":[{"constant":false,"id":67714,"mutability":"mutable","name":"proposalId","nameLocation":"33196:10:98","nodeType":"VariableDeclaration","scope":67737,"src":"33188:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67713,"name":"uint256","nodeType":"ElementaryTypeName","src":"33188:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67719,"initialValue":{"expression":{"baseExpression":{"id":67715,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67686,"src":"33209:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport memory[] memory"}},"id":67717,"indexExpression":{"id":67716,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67694,"src":"33226:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33209:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65611_memory_ptr","typeString":"struct ProposalSupport memory"}},"id":67718,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33229:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65608,"src":"33209:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33188:51:98"},{"condition":{"id":67723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"33257:27:98","subExpression":{"arguments":[{"id":67721,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67714,"src":"33273:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67720,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67661,"src":"33258:14:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":67722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33258:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67729,"nodeType":"IfStatement","src":"33253:167:98","trueBody":{"id":67728,"nodeType":"Block","src":"33286:134:98","statements":[{"errorCall":{"arguments":[{"id":67725,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67714,"src":"33329:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67724,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65718,"src":"33311:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":67726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33311:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67727,"nodeType":"RevertStatement","src":"33304:36:98"}]}},{"expression":{"id":67735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67730,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67690,"src":"33433:15:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":67731,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67686,"src":"33452:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport memory[] memory"}},"id":67733,"indexExpression":{"id":67732,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67694,"src":"33469:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33452:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65611_memory_ptr","typeString":"struct ProposalSupport memory"}},"id":67734,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33472:12:98","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":65610,"src":"33452:32:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"33433:51:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":67736,"nodeType":"ExpressionStatement","src":"33433:51:98"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67697,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67694,"src":"32885:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67698,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67686,"src":"32889:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport memory[] memory"}},"id":67699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32906:6:98","memberName":"length","nodeType":"MemberAccess","src":"32889:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32885:27:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67738,"initializationExpression":{"assignments":[67694],"declarations":[{"constant":false,"id":67694,"mutability":"mutable","name":"i","nameLocation":"32878:1:98","nodeType":"VariableDeclaration","scope":67738,"src":"32870:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67693,"name":"uint256","nodeType":"ElementaryTypeName","src":"32870:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67696,"initialValue":{"hexValue":"30","id":67695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32882:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"32870:13:98"},"loopExpression":{"expression":{"id":67702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"32914:3:98","subExpression":{"id":67701,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67694,"src":"32914:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67703,"nodeType":"ExpressionStatement","src":"32914:3:98"},"nodeType":"ForStatement","src":"32865:630:98"},{"assignments":[67740],"declarations":[{"constant":false,"id":67740,"mutability":"mutable","name":"newTotalVotingSupport","nameLocation":"33599:21:98","nodeType":"VariableDeclaration","scope":67776,"src":"33591:29:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67739,"name":"uint256","nodeType":"ElementaryTypeName","src":"33591:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67747,"initialValue":{"arguments":[{"arguments":[{"id":67743,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67682,"src":"33657:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67742,"name":"getTotalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67565,"src":"33635:21:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":67744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33635:30:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67745,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67690,"src":"33667:15:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":67741,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68097,"src":"33623:11:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":67746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33623:60:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33591:92:98"},{"assignments":[67749],"declarations":[{"constant":false,"id":67749,"mutability":"mutable","name":"participantBalance","nameLocation":"33773:18:98","nodeType":"VariableDeclaration","scope":67776,"src":"33765:26:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67748,"name":"uint256","nodeType":"ElementaryTypeName","src":"33765:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67759,"initialValue":{"arguments":[{"id":67753,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67682,"src":"33842:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67756,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"33859:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}],"id":67755,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33851:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67754,"name":"address","nodeType":"ElementaryTypeName","src":"33851:7:98","typeDescriptions":{}}},"id":67757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33851:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":67750,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"33794:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":67751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33794:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":67752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33817:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72093,"src":"33794:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":67758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33794:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33765:100:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67760,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67740,"src":"34031:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":67761,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67749,"src":"34055:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34031:42:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67769,"nodeType":"IfStatement","src":"34027:147:98","trueBody":{"id":67768,"nodeType":"Block","src":"34075:99:98","statements":[{"errorCall":{"arguments":[{"id":67764,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67740,"src":"34121:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67765,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67749,"src":"34144:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67763,"name":"NotEnoughPointsToSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65706,"src":"34096:24:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":67766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34096:67:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67767,"nodeType":"RevertStatement","src":"34089:74:98"}]}},{"expression":{"id":67774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67770,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65953,"src":"34184:18:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67772,"indexExpression":{"id":67771,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67682,"src":"34203:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"34184:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67773,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67740,"src":"34214:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34184:51:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67775,"nodeType":"ExpressionStatement","src":"34184:51:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_check_before_addSupport","nameLocation":"32725:24:98","parameters":{"id":67687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67682,"mutability":"mutable","name":"_sender","nameLocation":"32758:7:98","nodeType":"VariableDeclaration","scope":67777,"src":"32750:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67681,"name":"address","nodeType":"ElementaryTypeName","src":"32750:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67686,"mutability":"mutable","name":"_proposalSupport","nameLocation":"32792:16:98","nodeType":"VariableDeclaration","scope":67777,"src":"32767:41:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport[]"},"typeName":{"baseType":{"id":67684,"nodeType":"UserDefinedTypeName","pathNode":{"id":67683,"name":"ProposalSupport","nameLocations":["32767:15:98"],"nodeType":"IdentifierPath","referencedDeclaration":65611,"src":"32767:15:98"},"referencedDeclaration":65611,"src":"32767:15:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65611_storage_ptr","typeString":"struct ProposalSupport"}},"id":67685,"nodeType":"ArrayTypeName","src":"32767:17:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_storage_$dyn_storage_ptr","typeString":"struct ProposalSupport[]"}},"visibility":"internal"}],"src":"32749:60:98"},"returnParameters":{"id":67688,"nodeType":"ParameterList","parameters":[],"src":"32819:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":68062,"nodeType":"FunctionDefinition","src":"34248:3457:98","nodes":[],"body":{"id":68061,"nodeType":"Block","src":"34346:3359:98","nodes":[],"statements":[{"assignments":[67790],"declarations":[{"constant":false,"id":67790,"mutability":"mutable","name":"proposalsIds","nameLocation":"34373:12:98","nodeType":"VariableDeclaration","scope":68061,"src":"34356:29:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":67788,"name":"uint256","nodeType":"ElementaryTypeName","src":"34356:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67789,"nodeType":"ArrayTypeName","src":"34356:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":67791,"nodeType":"VariableDeclarationStatement","src":"34356:29:98"},{"body":{"id":68059,"nodeType":"Block","src":"34449:3250:98","statements":[{"assignments":[67804],"declarations":[{"constant":false,"id":67804,"mutability":"mutable","name":"proposalId","nameLocation":"34471:10:98","nodeType":"VariableDeclaration","scope":68059,"src":"34463:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67803,"name":"uint256","nodeType":"ElementaryTypeName","src":"34463:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67809,"initialValue":{"expression":{"baseExpression":{"id":67805,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67783,"src":"34484:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport memory[] memory"}},"id":67807,"indexExpression":{"id":67806,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67793,"src":"34501:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34484:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65611_memory_ptr","typeString":"struct ProposalSupport memory"}},"id":67808,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34504:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65608,"src":"34484:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34463:51:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67810,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67790,"src":"34587:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34600:6:98","memberName":"length","nodeType":"MemberAccess","src":"34587:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34610:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"34587:24:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":67912,"nodeType":"Block","src":"34739:764:98","statements":[{"assignments":[67830],"declarations":[{"constant":false,"id":67830,"mutability":"mutable","name":"exist","nameLocation":"34762:5:98","nodeType":"VariableDeclaration","scope":67912,"src":"34757:10:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67829,"name":"bool","nodeType":"ElementaryTypeName","src":"34757:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":67832,"initialValue":{"hexValue":"66616c7365","id":67831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"34770:5:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"34757:18:98"},{"body":{"id":67860,"nodeType":"Block","src":"34843:268:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":67844,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67790,"src":"34894:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67846,"indexExpression":{"id":67845,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67834,"src":"34907:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34894:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":67847,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67804,"src":"34913:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34894:29:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67859,"nodeType":"IfStatement","src":"34890:203:98","trueBody":{"id":67858,"nodeType":"Block","src":"34925:168:98","statements":[{"expression":{"id":67851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67849,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67830,"src":"34951:5:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":67850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"34959:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"34951:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67852,"nodeType":"ExpressionStatement","src":"34951:12:98"},{"errorCall":{"arguments":[{"id":67854,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67804,"src":"35022:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67855,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67834,"src":"35034:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67853,"name":"ProposalSupportDuplicated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65724,"src":"34996:25:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":67856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34996:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67857,"nodeType":"RevertStatement","src":"34989:47:98"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67837,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67834,"src":"34813:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67838,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67790,"src":"34817:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34830:6:98","memberName":"length","nodeType":"MemberAccess","src":"34817:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34813:23:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67861,"initializationExpression":{"assignments":[67834],"declarations":[{"constant":false,"id":67834,"mutability":"mutable","name":"j","nameLocation":"34806:1:98","nodeType":"VariableDeclaration","scope":67861,"src":"34798:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67833,"name":"uint256","nodeType":"ElementaryTypeName","src":"34798:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67836,"initialValue":{"hexValue":"30","id":67835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34810:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"34798:13:98"},"loopExpression":{"expression":{"id":67842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"34838:3:98","subExpression":{"id":67841,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67834,"src":"34838:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67843,"nodeType":"ExpressionStatement","src":"34838:3:98"},"nodeType":"ForStatement","src":"34793:318:98"},{"condition":{"id":67863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"35132:6:98","subExpression":{"id":67862,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67830,"src":"35133:5:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67911,"nodeType":"IfStatement","src":"35128:361:98","trueBody":{"id":67910,"nodeType":"Block","src":"35140:349:98","statements":[{"assignments":[67868],"declarations":[{"constant":false,"id":67868,"mutability":"mutable","name":"temp","nameLocation":"35179:4:98","nodeType":"VariableDeclaration","scope":67910,"src":"35162:21:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":67866,"name":"uint256","nodeType":"ElementaryTypeName","src":"35162:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67867,"nodeType":"ArrayTypeName","src":"35162:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":67877,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67872,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67790,"src":"35200:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35213:6:98","memberName":"length","nodeType":"MemberAccess","src":"35200:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":67874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35222:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"35200:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67871,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"35186:13:98","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":67869,"name":"uint256","nodeType":"ElementaryTypeName","src":"35190:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67870,"nodeType":"ArrayTypeName","src":"35190:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":67876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35186:38:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"35162:62:98"},{"body":{"id":67897,"nodeType":"Block","src":"35296:74:98","statements":[{"expression":{"id":67895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67889,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67868,"src":"35322:4:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67891,"indexExpression":{"id":67890,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67879,"src":"35327:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35322:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":67892,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67790,"src":"35332:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67894,"indexExpression":{"id":67893,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67879,"src":"35345:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35332:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35322:25:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67896,"nodeType":"ExpressionStatement","src":"35322:25:98"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67882,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67879,"src":"35266:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67883,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67790,"src":"35270:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35283:6:98","memberName":"length","nodeType":"MemberAccess","src":"35270:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35266:23:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67898,"initializationExpression":{"assignments":[67879],"declarations":[{"constant":false,"id":67879,"mutability":"mutable","name":"j","nameLocation":"35259:1:98","nodeType":"VariableDeclaration","scope":67898,"src":"35251:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67878,"name":"uint256","nodeType":"ElementaryTypeName","src":"35251:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67881,"initialValue":{"hexValue":"30","id":67880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35263:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35251:13:98"},"loopExpression":{"expression":{"id":67887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35291:3:98","subExpression":{"id":67886,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67879,"src":"35291:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67888,"nodeType":"ExpressionStatement","src":"35291:3:98"},"nodeType":"ForStatement","src":"35246:124:98"},{"expression":{"id":67904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67899,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67868,"src":"35391:4:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67902,"indexExpression":{"expression":{"id":67900,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67790,"src":"35396:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35409:6:98","memberName":"length","nodeType":"MemberAccess","src":"35396:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35391:25:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67903,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67804,"src":"35419:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35391:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67905,"nodeType":"ExpressionStatement","src":"35391:38:98"},{"expression":{"id":67908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67906,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67790,"src":"35451:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67907,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67868,"src":"35466:4:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"35451:19:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67909,"nodeType":"ExpressionStatement","src":"35451:19:98"}]}}]},"id":67913,"nodeType":"IfStatement","src":"34583:920:98","trueBody":{"id":67828,"nodeType":"Block","src":"34613:120:98","statements":[{"expression":{"id":67820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67814,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67790,"src":"34631:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":67818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34660:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":67817,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"34646:13:98","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":67815,"name":"uint256","nodeType":"ElementaryTypeName","src":"34650:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67816,"nodeType":"ArrayTypeName","src":"34650:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":67819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34646:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"34631:31:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67821,"nodeType":"ExpressionStatement","src":"34631:31:98"},{"expression":{"id":67826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67822,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67790,"src":"34680:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67824,"indexExpression":{"hexValue":"30","id":67823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34693:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"34680:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67825,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67804,"src":"34698:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34680:28:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67827,"nodeType":"ExpressionStatement","src":"34680:28:98"}]}},{"assignments":[67915],"declarations":[{"constant":false,"id":67915,"mutability":"mutable","name":"delta","nameLocation":"35523:5:98","nodeType":"VariableDeclaration","scope":68059,"src":"35516:12:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67914,"name":"int256","nodeType":"ElementaryTypeName","src":"35516:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":67920,"initialValue":{"expression":{"baseExpression":{"id":67916,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67783,"src":"35531:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport memory[] memory"}},"id":67918,"indexExpression":{"id":67917,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67793,"src":"35548:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35531:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65611_memory_ptr","typeString":"struct ProposalSupport memory"}},"id":67919,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35551:12:98","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":65610,"src":"35531:32:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"35516:47:98"},{"assignments":[67923],"declarations":[{"constant":false,"id":67923,"mutability":"mutable","name":"proposal","nameLocation":"35595:8:98","nodeType":"VariableDeclaration","scope":68059,"src":"35578:25:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"},"typeName":{"id":67922,"nodeType":"UserDefinedTypeName","pathNode":{"id":67921,"name":"Proposal","nameLocations":["35578:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65606,"src":"35578:8:98"},"referencedDeclaration":65606,"src":"35578:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"}},"visibility":"internal"}],"id":67927,"initialValue":{"baseExpression":{"id":67924,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"35606:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":67926,"indexExpression":{"id":67925,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67804,"src":"35616:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35606:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"35578:49:98"},{"assignments":[67929],"declarations":[{"constant":false,"id":67929,"mutability":"mutable","name":"previousStakedPoints","nameLocation":"35737:20:98","nodeType":"VariableDeclaration","scope":68059,"src":"35729:28:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67928,"name":"uint256","nodeType":"ElementaryTypeName","src":"35729:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67934,"initialValue":{"baseExpression":{"expression":{"id":67930,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67923,"src":"35760:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67931,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35769:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65595,"src":"35760:26:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67933,"indexExpression":{"id":67932,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67779,"src":"35787:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35760:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"35729:66:98"},{"assignments":[67936],"declarations":[{"constant":false,"id":67936,"mutability":"mutable","name":"stakedPoints","nameLocation":"35968:12:98","nodeType":"VariableDeclaration","scope":68059,"src":"35960:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67935,"name":"uint256","nodeType":"ElementaryTypeName","src":"35960:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67941,"initialValue":{"arguments":[{"id":67938,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67929,"src":"35995:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67939,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67915,"src":"36017:5:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":67937,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68097,"src":"35983:11:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":67940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35983:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"35960:63:98"},{"expression":{"id":67948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":67942,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67923,"src":"36158:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67945,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36167:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65595,"src":"36158:26:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67946,"indexExpression":{"id":67944,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67779,"src":"36185:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"36158:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67947,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67936,"src":"36196:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36158:50:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67949,"nodeType":"ExpressionStatement","src":"36158:50:98"},{"assignments":[67951],"declarations":[{"constant":false,"id":67951,"mutability":"mutable","name":"hasProposal","nameLocation":"36447:11:98","nodeType":"VariableDeclaration","scope":68059,"src":"36442:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67950,"name":"bool","nodeType":"ElementaryTypeName","src":"36442:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":67953,"initialValue":{"hexValue":"66616c7365","id":67952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"36461:5:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"36442:24:98"},{"body":{"id":67982,"nodeType":"Block","src":"36547:179:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":67967,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65958,"src":"36569:20:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67969,"indexExpression":{"id":67968,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67779,"src":"36590:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36569:29:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":67971,"indexExpression":{"id":67970,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67955,"src":"36599:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36569:32:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":67972,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67923,"src":"36605:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67973,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36614:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"36605:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36569:55:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67981,"nodeType":"IfStatement","src":"36565:147:98","trueBody":{"id":67980,"nodeType":"Block","src":"36626:86:98","statements":[{"expression":{"id":67977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67975,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67951,"src":"36648:11:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":67976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"36662:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"36648:18:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67978,"nodeType":"ExpressionStatement","src":"36648:18:98"},{"id":67979,"nodeType":"Break","src":"36688:5:98"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67958,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67955,"src":"36500:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":67959,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65958,"src":"36504:20:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67961,"indexExpression":{"id":67960,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67779,"src":"36525:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36504:29:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":67962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36534:6:98","memberName":"length","nodeType":"MemberAccess","src":"36504:36:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36500:40:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67983,"initializationExpression":{"assignments":[67955],"declarations":[{"constant":false,"id":67955,"mutability":"mutable","name":"k","nameLocation":"36493:1:98","nodeType":"VariableDeclaration","scope":67983,"src":"36485:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67954,"name":"uint256","nodeType":"ElementaryTypeName","src":"36485:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67957,"initialValue":{"hexValue":"30","id":67956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36497:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"36485:13:98"},"loopExpression":{"expression":{"id":67965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"36542:3:98","subExpression":{"id":67964,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67955,"src":"36542:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67966,"nodeType":"ExpressionStatement","src":"36542:3:98"},"nodeType":"ForStatement","src":"36480:246:98"},{"condition":{"id":67985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"36743:12:98","subExpression":{"id":67984,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67951,"src":"36744:11:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67995,"nodeType":"IfStatement","src":"36739:106:98","trueBody":{"id":67994,"nodeType":"Block","src":"36757:88:98","statements":[{"expression":{"arguments":[{"expression":{"id":67990,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67923,"src":"36810:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":67991,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36819:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"36810:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":67986,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65958,"src":"36775:20:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67988,"indexExpression":{"id":67987,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67779,"src":"36796:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36775:29:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":67989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36805:4:98","memberName":"push","nodeType":"MemberAccess","src":"36775:34:98","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":67992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36775:55:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67993,"nodeType":"ExpressionStatement","src":"36775:55:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67996,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67929,"src":"37000:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":67997,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67936,"src":"37024:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37000:36:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":68028,"nodeType":"Block","src":"37205:161:98","statements":[{"expression":{"id":68018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68014,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65922,"src":"37223:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68015,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67929,"src":"37238:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68016,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67936,"src":"37261:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37238:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37223:50:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68019,"nodeType":"ExpressionStatement","src":"37223:50:98"},{"expression":{"id":68026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68020,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67923,"src":"37291:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68022,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37300:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"37291:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68023,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67929,"src":"37316:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68024,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67936,"src":"37339:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37316:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37291:60:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68027,"nodeType":"ExpressionStatement","src":"37291:60:98"}]},"id":68029,"nodeType":"IfStatement","src":"36996:370:98","trueBody":{"id":68013,"nodeType":"Block","src":"37038:161:98","statements":[{"expression":{"id":68003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67999,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65922,"src":"37056:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68000,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67936,"src":"37071:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68001,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67929,"src":"37086:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37071:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37056:50:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68004,"nodeType":"ExpressionStatement","src":"37056:50:98"},{"expression":{"id":68011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68005,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67923,"src":"37124:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68007,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37133:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"37124:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68008,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67936,"src":"37149:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68009,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67929,"src":"37164:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37149:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37124:60:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68012,"nodeType":"ExpressionStatement","src":"37124:60:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68030,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67923,"src":"37383:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68031,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37392:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65588,"src":"37383:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37405:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"37383:23:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":68057,"nodeType":"Block","src":"37480:209:98","statements":[{"expression":{"arguments":[{"id":68043,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67923,"src":"37525:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},{"id":68044,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67929,"src":"37535:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68042,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68397,"src":"37498:26:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$65606_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct Proposal storage pointer,uint256)"}},"id":68045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37498:58:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68046,"nodeType":"ExpressionStatement","src":"37498:58:98"},{"eventCall":{"arguments":[{"id":68048,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67779,"src":"37592:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":68049,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67804,"src":"37601:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68050,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67936,"src":"37613:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68051,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67923,"src":"37627:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68052,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37636:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"37627:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68053,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67923,"src":"37650:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68054,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37659:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65580,"src":"37650:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68047,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65825,"src":"37579:12:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":68055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37579:95:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68056,"nodeType":"EmitStatement","src":"37574:100:98"}]},"id":68058,"nodeType":"IfStatement","src":"37379:310:98","trueBody":{"id":68041,"nodeType":"Block","src":"37408:66:98","statements":[{"expression":{"id":68039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68034,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67923,"src":"37426:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68036,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37435:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65588,"src":"37426:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68037,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"37447:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37453:6:98","memberName":"number","nodeType":"MemberAccess","src":"37447:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37426:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68040,"nodeType":"ExpressionStatement","src":"37426:33:98"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67796,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67793,"src":"34415:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67797,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67783,"src":"34419:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport memory[] memory"}},"id":67798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34436:6:98","memberName":"length","nodeType":"MemberAccess","src":"34419:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34415:27:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68060,"initializationExpression":{"assignments":[67793],"declarations":[{"constant":false,"id":67793,"mutability":"mutable","name":"i","nameLocation":"34408:1:98","nodeType":"VariableDeclaration","scope":68060,"src":"34400:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67792,"name":"uint256","nodeType":"ElementaryTypeName","src":"34400:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67795,"initialValue":{"hexValue":"30","id":67794,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34412:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"34400:13:98"},"loopExpression":{"expression":{"id":67801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"34444:3:98","subExpression":{"id":67800,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67793,"src":"34444:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67802,"nodeType":"ExpressionStatement","src":"34444:3:98"},"nodeType":"ForStatement","src":"34395:3304:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addSupport","nameLocation":"34257:11:98","parameters":{"id":67784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67779,"mutability":"mutable","name":"_sender","nameLocation":"34277:7:98","nodeType":"VariableDeclaration","scope":68062,"src":"34269:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67778,"name":"address","nodeType":"ElementaryTypeName","src":"34269:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67783,"mutability":"mutable","name":"_proposalSupport","nameLocation":"34311:16:98","nodeType":"VariableDeclaration","scope":68062,"src":"34286:41:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport[]"},"typeName":{"baseType":{"id":67781,"nodeType":"UserDefinedTypeName","pathNode":{"id":67780,"name":"ProposalSupport","nameLocations":["34286:15:98"],"nodeType":"IdentifierPath","referencedDeclaration":65611,"src":"34286:15:98"},"referencedDeclaration":65611,"src":"34286:15:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65611_storage_ptr","typeString":"struct ProposalSupport"}},"id":67782,"nodeType":"ArrayTypeName","src":"34286:17:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_storage_$dyn_storage_ptr","typeString":"struct ProposalSupport[]"}},"visibility":"internal"}],"src":"34268:60:98"},"returnParameters":{"id":67785,"nodeType":"ParameterList","parameters":[],"src":"34346:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":68097,"nodeType":"FunctionDefinition","src":"37711:284:98","nodes":[],"body":{"id":68096,"nodeType":"Block","src":"37805:190:98","nodes":[],"statements":[{"assignments":[68072],"declarations":[{"constant":false,"id":68072,"mutability":"mutable","name":"result","nameLocation":"37822:6:98","nodeType":"VariableDeclaration","scope":68096,"src":"37815:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":68071,"name":"int256","nodeType":"ElementaryTypeName","src":"37815:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":68079,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":68078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":68075,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68064,"src":"37838:8:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"37831:6:98","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":68073,"name":"int256","nodeType":"ElementaryTypeName","src":"37831:6:98","typeDescriptions":{}}},"id":68076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37831:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68077,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68066,"src":"37850:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"37831:25:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"37815:41:98"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":68082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68080,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68072,"src":"37871:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":68081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37880:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"37871:10:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68090,"nodeType":"IfStatement","src":"37867:90:98","trueBody":{"id":68089,"nodeType":"Block","src":"37883:74:98","statements":[{"errorCall":{"arguments":[{"id":68084,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68064,"src":"37921:8:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68085,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68066,"src":"37931:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":68086,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68072,"src":"37939:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":68083,"name":"SupportUnderflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65696,"src":"37904:16:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":68087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37904:42:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68088,"nodeType":"RevertStatement","src":"37897:49:98"}]}},{"expression":{"arguments":[{"id":68093,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68072,"src":"37981:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":68092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"37973:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":68091,"name":"uint256","nodeType":"ElementaryTypeName","src":"37973:7:98","typeDescriptions":{}}},"id":68094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37973:15:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68070,"id":68095,"nodeType":"Return","src":"37966:22:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_applyDelta","nameLocation":"37720:11:98","parameters":{"id":68067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68064,"mutability":"mutable","name":"_support","nameLocation":"37740:8:98","nodeType":"VariableDeclaration","scope":68097,"src":"37732:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68063,"name":"uint256","nodeType":"ElementaryTypeName","src":"37732:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68066,"mutability":"mutable","name":"_delta","nameLocation":"37757:6:98","nodeType":"VariableDeclaration","scope":68097,"src":"37750:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":68065,"name":"int256","nodeType":"ElementaryTypeName","src":"37750:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"37731:33:98"},"returnParameters":{"id":68070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68069,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68097,"src":"37796:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68068,"name":"uint256","nodeType":"ElementaryTypeName","src":"37796:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37795:9:98"},"scope":69194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68155,"nodeType":"FunctionDefinition","src":"38412:644:98","nodes":[],"body":{"id":68154,"nodeType":"Block","src":"38575:481:98","nodes":[],"statements":[{"assignments":[68110],"declarations":[{"constant":false,"id":68110,"mutability":"mutable","name":"t","nameLocation":"38593:1:98","nodeType":"VariableDeclaration","scope":68154,"src":"38585:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68109,"name":"uint256","nodeType":"ElementaryTypeName","src":"38585:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68112,"initialValue":{"id":68111,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68100,"src":"38597:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"38585:23:98"},{"assignments":[68114],"declarations":[{"constant":false,"id":68114,"mutability":"mutable","name":"atTWO_128","nameLocation":"38860:9:98","nodeType":"VariableDeclaration","scope":68154,"src":"38852:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68113,"name":"uint256","nodeType":"ElementaryTypeName","src":"38852:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68125,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68116,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65927,"src":"38878:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage","typeString":"struct CVParams storage ref"}},"id":68117,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38887:5:98","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65634,"src":"38878:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":68118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38896:3:98","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"38878:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68120,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38877:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68121,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65890,"src":"38903:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38877:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68123,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68110,"src":"38906:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68115,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68348,"src":"38872:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":68124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38872:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"38852:56:98"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68126,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68114,"src":"38928:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68127,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68102,"src":"38940:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38928:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68129,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38927:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68130,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68104,"src":"38955:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68131,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65890,"src":"38968:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38955:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68133,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65893,"src":"38973:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68134,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68114,"src":"38983:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38973:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68136,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38972:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38955:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68138,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38954:40:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68139,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65890,"src":"38998:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68140,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65927,"src":"39002:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage","typeString":"struct CVParams storage ref"}},"id":68141,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39011:5:98","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65634,"src":"39002:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38998:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68143,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38997:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38954:63:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68145,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38953:65:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38927:91:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68147,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38926:93:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68148,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65896,"src":"39022:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38926:103:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68150,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38925:105:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":68151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39046:3:98","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"38925:124:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68108,"id":68153,"nodeType":"Return","src":"38918:131:98"}]},"documentation":{"id":68098,"nodeType":"StructuredDocumentation","src":"38001:406:98","text":" @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction"},"functionSelector":"346db8cb","implemented":true,"kind":"function","modifiers":[],"name":"calculateConviction","nameLocation":"38421:19:98","parameters":{"id":68105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68100,"mutability":"mutable","name":"_timePassed","nameLocation":"38449:11:98","nodeType":"VariableDeclaration","scope":68155,"src":"38441:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68099,"name":"uint256","nodeType":"ElementaryTypeName","src":"38441:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68102,"mutability":"mutable","name":"_lastConv","nameLocation":"38470:9:98","nodeType":"VariableDeclaration","scope":68155,"src":"38462:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68101,"name":"uint256","nodeType":"ElementaryTypeName","src":"38462:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68104,"mutability":"mutable","name":"_oldAmount","nameLocation":"38489:10:98","nodeType":"VariableDeclaration","scope":68155,"src":"38481:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68103,"name":"uint256","nodeType":"ElementaryTypeName","src":"38481:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38440:60:98"},"returnParameters":{"id":68108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68107,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68155,"src":"38562:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68106,"name":"uint256","nodeType":"ElementaryTypeName","src":"38562:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38561:9:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68248,"nodeType":"FunctionDefinition","src":"39637:1549:98","nodes":[],"body":{"id":68247,"nodeType":"Block","src":"39740:1446:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68163,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"39874:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":68164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39888:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"39874:15:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68170,"nodeType":"IfStatement","src":"39870:66:98","trueBody":{"id":68169,"nodeType":"Block","src":"39891:45:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68166,"name":"PoolIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65674,"src":"39912:11:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39912:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68168,"nodeType":"RevertStatement","src":"39905:20:98"}]}},{"condition":{"arguments":[{"id":68172,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68158,"src":"40392:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68171,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67680,"src":"40376:15:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":68173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40376:33:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68178,"nodeType":"IfStatement","src":"40372:91:98","trueBody":{"id":68177,"nodeType":"Block","src":"40411:52:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68174,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65682,"src":"40432:18:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40432:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68176,"nodeType":"RevertStatement","src":"40425:27:98"}]}},{"assignments":[68180],"declarations":[{"constant":false,"id":68180,"mutability":"mutable","name":"denom","nameLocation":"40619:5:98","nodeType":"VariableDeclaration","scope":68247,"src":"40611:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68179,"name":"uint256","nodeType":"ElementaryTypeName","src":"40611:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68199,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68181,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65927,"src":"40628:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage","typeString":"struct CVParams storage ref"}},"id":68182,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40637:8:98","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":65630,"src":"40628:17:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":68185,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":68183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40648:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":68184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40653:2:98","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"40648:7:98","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"40628:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68187,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40627:29:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68188,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65890,"src":"40659:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40627:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68190,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68158,"src":"40664:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":68193,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":68191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40683:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":68192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40688:2:98","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"40683:7:98","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"40664:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68195,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40663:28:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68196,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"40694:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40663:41:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40627:77:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"40611:93:98"},{"expression":{"id":68234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68200,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68161,"src":"40714:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68201,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65927,"src":"40746:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage","typeString":"struct CVParams storage ref"}},"id":68202,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40755:6:98","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":65632,"src":"40746:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":68203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40765:3:98","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"40746:22:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68205,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40745:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68206,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65890,"src":"40772:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40745:28:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68208,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40744:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68209,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68180,"src":"40779:5:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68210,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68180,"src":"40787:5:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40779:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68212,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40778:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":68213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40797:2:98","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"40778:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68215,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40777:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40744:56:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68217,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40743:58:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68218,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65890,"src":"40804:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40743:62:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68220,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40742:64:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68221,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65890,"src":"40810:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68222,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65927,"src":"40814:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage","typeString":"struct CVParams storage ref"}},"id":68223,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40823:5:98","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65634,"src":"40814:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40810:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68225,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40809:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40742:87:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68227,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40741:89:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":68228,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68356,"src":"40849:26:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":68229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40849:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40741:136:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68231,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40727:160:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":68232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40891:2:98","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"40727:166:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40714:179:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68235,"nodeType":"ExpressionStatement","src":"40714:179:98"},{"expression":{"id":68245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68236,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68161,"src":"41083:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68237,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68161,"src":"41096:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":68238,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65927,"src":"41109:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage","typeString":"struct CVParams storage ref"}},"id":68239,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41118:18:98","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":65636,"src":"41109:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41096:40:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":68242,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65927,"src":"41152:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage","typeString":"struct CVParams storage ref"}},"id":68243,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41161:18:98","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":65636,"src":"41152:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"41096:83:98","trueExpression":{"id":68241,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68161,"src":"41139:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41083:96:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68246,"nodeType":"ExpressionStatement","src":"41083:96:98"}]},"documentation":{"id":68156,"nodeType":"StructuredDocumentation","src":"39062:570:98","text":" @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it."},"functionSelector":"59a5db8b","implemented":true,"kind":"function","modifiers":[],"name":"calculateThreshold","nameLocation":"39646:18:98","parameters":{"id":68159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68158,"mutability":"mutable","name":"_requestedAmount","nameLocation":"39673:16:98","nodeType":"VariableDeclaration","scope":68248,"src":"39665:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68157,"name":"uint256","nodeType":"ElementaryTypeName","src":"39665:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39664:26:98"},"returnParameters":{"id":68162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68161,"mutability":"mutable","name":"_threshold","nameLocation":"39728:10:98","nodeType":"VariableDeclaration","scope":68248,"src":"39720:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68160,"name":"uint256","nodeType":"ElementaryTypeName","src":"39720:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39719:20:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68283,"nodeType":"FunctionDefinition","src":"41447:277:98","nodes":[],"body":{"id":68282,"nodeType":"Block","src":"41533:191:98","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68259,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68251,"src":"41551:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":68260,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65893,"src":"41557:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41551:13:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":68262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41566:42:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":68258,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"41543:7:98","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41543:66:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68264,"nodeType":"ExpressionStatement","src":"41543:66:98"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68266,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68253,"src":"41627:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":68267,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65893,"src":"41632:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41627:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":68269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41641:30:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":68265,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"41619:7:98","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41619:53:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68271,"nodeType":"ExpressionStatement","src":"41619:53:98"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68272,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68251,"src":"41691:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68273,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68253,"src":"41696:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41691:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68275,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41690:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68276,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65896,"src":"41702:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41690:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68278,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41689:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":68279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41714:3:98","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"41689:28:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68257,"id":68281,"nodeType":"Return","src":"41682:35:98"}]},"documentation":{"id":68249,"nodeType":"StructuredDocumentation","src":"41192:250:98","text":" Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"41456:4:98","parameters":{"id":68254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68251,"mutability":"mutable","name":"_a","nameLocation":"41469:2:98","nodeType":"VariableDeclaration","scope":68283,"src":"41461:10:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68250,"name":"uint256","nodeType":"ElementaryTypeName","src":"41461:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68253,"mutability":"mutable","name":"_b","nameLocation":"41481:2:98","nodeType":"VariableDeclaration","scope":68283,"src":"41473:10:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68252,"name":"uint256","nodeType":"ElementaryTypeName","src":"41473:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41460:24:98"},"returnParameters":{"id":68257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68256,"mutability":"mutable","name":"_result","nameLocation":"41524:7:98","nodeType":"VariableDeclaration","scope":68283,"src":"41516:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68255,"name":"uint256","nodeType":"ElementaryTypeName","src":"41516:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41515:17:98"},"scope":69194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68348,"nodeType":"FunctionDefinition","src":"41952:455:98","nodes":[],"body":{"id":68347,"nodeType":"Block","src":"42038:369:98","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68294,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68286,"src":"42056:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":68295,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65893,"src":"42061:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42056:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":68297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42070:30:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":68293,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"42048:7:98","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42048:53:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68299,"nodeType":"ExpressionStatement","src":"42048:53:98"},{"assignments":[68301],"declarations":[{"constant":false,"id":68301,"mutability":"mutable","name":"a","nameLocation":"42119:1:98","nodeType":"VariableDeclaration","scope":68347,"src":"42111:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68300,"name":"uint256","nodeType":"ElementaryTypeName","src":"42111:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68303,"initialValue":{"id":68302,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68286,"src":"42123:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"42111:14:98"},{"assignments":[68305],"declarations":[{"constant":false,"id":68305,"mutability":"mutable","name":"b","nameLocation":"42143:1:98","nodeType":"VariableDeclaration","scope":68347,"src":"42135:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68304,"name":"uint256","nodeType":"ElementaryTypeName","src":"42135:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68307,"initialValue":{"id":68306,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68288,"src":"42147:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"42135:14:98"},{"expression":{"id":68310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68308,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68291,"src":"42159:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68309,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65893,"src":"42169:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42159:17:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68311,"nodeType":"ExpressionStatement","src":"42159:17:98"},{"body":{"id":68345,"nodeType":"Block","src":"42200:201:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68315,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68305,"src":"42218:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":68316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42222:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"42218:5:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42227:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"42218:10:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":68343,"nodeType":"Block","src":"42308:83:98","statements":[{"expression":{"id":68337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68332,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68291,"src":"42326:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68334,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68291,"src":"42341:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68335,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68301,"src":"42350:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68333,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68283,"src":"42336:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":68336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42336:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42326:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68338,"nodeType":"ExpressionStatement","src":"42326:26:98"},{"expression":{"id":68341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68339,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68305,"src":"42370:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":68340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42375:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"42370:6:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68342,"nodeType":"ExpressionStatement","src":"42370:6:98"}]},"id":68344,"nodeType":"IfStatement","src":"42214:177:98","trueBody":{"id":68331,"nodeType":"Block","src":"42230:72:98","statements":[{"expression":{"id":68325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68320,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68301,"src":"42248:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68322,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68301,"src":"42257:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68323,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68301,"src":"42260:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68321,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68283,"src":"42252:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":68324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42252:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42248:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68326,"nodeType":"ExpressionStatement","src":"42248:14:98"},{"expression":{"id":68329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68327,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68305,"src":"42280:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":68328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42286:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"42280:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68330,"nodeType":"ExpressionStatement","src":"42280:7:98"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68312,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68305,"src":"42193:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":68313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42197:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"42193:5:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68346,"nodeType":"WhileStatement","src":"42186:215:98"}]},"documentation":{"id":68284,"nodeType":"StructuredDocumentation","src":"41736:211:98","text":" Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"41961:4:98","parameters":{"id":68289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68286,"mutability":"mutable","name":"_a","nameLocation":"41974:2:98","nodeType":"VariableDeclaration","scope":68348,"src":"41966:10:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68285,"name":"uint256","nodeType":"ElementaryTypeName","src":"41966:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68288,"mutability":"mutable","name":"_b","nameLocation":"41986:2:98","nodeType":"VariableDeclaration","scope":68348,"src":"41978:10:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68287,"name":"uint256","nodeType":"ElementaryTypeName","src":"41978:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41965:24:98"},"returnParameters":{"id":68292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68291,"mutability":"mutable","name":"_result","nameLocation":"42029:7:98","nodeType":"VariableDeclaration","scope":68348,"src":"42021:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68290,"name":"uint256","nodeType":"ElementaryTypeName","src":"42021:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42020:17:98"},"scope":69194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68356,"nodeType":"FunctionDefinition","src":"42413:120:98","nodes":[],"body":{"id":68355,"nodeType":"Block","src":"42489:44:98","nodes":[],"statements":[{"expression":{"id":68353,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65924,"src":"42506:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68352,"id":68354,"nodeType":"Return","src":"42499:27:98"}]},"functionSelector":"d1e36232","implemented":true,"kind":"function","modifiers":[],"name":"totalEffectiveActivePoints","nameLocation":"42422:26:98","parameters":{"id":68349,"nodeType":"ParameterList","parameters":[],"src":"42448:2:98"},"returnParameters":{"id":68352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68351,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68356,"src":"42480:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68350,"name":"uint256","nodeType":"ElementaryTypeName","src":"42480:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42479:9:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68397,"nodeType":"FunctionDefinition","src":"42723:389:98","nodes":[],"body":{"id":68396,"nodeType":"Block","src":"42824:288:98","nodes":[],"statements":[{"assignments":[68366,68368],"declarations":[{"constant":false,"id":68366,"mutability":"mutable","name":"conviction","nameLocation":"42843:10:98","nodeType":"VariableDeclaration","scope":68396,"src":"42835:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68365,"name":"uint256","nodeType":"ElementaryTypeName","src":"42835:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68368,"mutability":"mutable","name":"blockNumber","nameLocation":"42863:11:98","nodeType":"VariableDeclaration","scope":68396,"src":"42855:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68367,"name":"uint256","nodeType":"ElementaryTypeName","src":"42855:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68373,"initialValue":{"arguments":[{"id":68370,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68360,"src":"42912:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},{"id":68371,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68362,"src":"42923:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68369,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68444,"src":"42878:33:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$65606_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":68372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42878:56:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"42834:100:98"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68374,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68366,"src":"42948:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42962:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"42948:15:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68377,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68368,"src":"42967:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42982:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"42967:16:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"42948:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68383,"nodeType":"IfStatement","src":"42944:72:98","trueBody":{"id":68382,"nodeType":"Block","src":"42985:31:98","statements":[{"functionReturnParameters":68364,"id":68381,"nodeType":"Return","src":"42999:7:98"}]}},{"expression":{"id":68388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68384,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68360,"src":"43025:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68386,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"43035:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65588,"src":"43025:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68387,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68368,"src":"43047:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43025:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68389,"nodeType":"ExpressionStatement","src":"43025:33:98"},{"expression":{"id":68394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68390,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68360,"src":"43068:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68392,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"43078:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65580,"src":"43068:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68393,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68366,"src":"43095:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43068:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68395,"nodeType":"ExpressionStatement","src":"43068:37:98"}]},"documentation":{"id":68357,"nodeType":"StructuredDocumentation","src":"42539:179:98","text":" @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now"},"implemented":true,"kind":"function","modifiers":[],"name":"_calculateAndSetConviction","nameLocation":"42732:26:98","parameters":{"id":68363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68360,"mutability":"mutable","name":"_proposal","nameLocation":"42776:9:98","nodeType":"VariableDeclaration","scope":68397,"src":"42759:26:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"},"typeName":{"id":68359,"nodeType":"UserDefinedTypeName","pathNode":{"id":68358,"name":"Proposal","nameLocations":["42759:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65606,"src":"42759:8:98"},"referencedDeclaration":65606,"src":"42759:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"}},"visibility":"internal"},{"constant":false,"id":68362,"mutability":"mutable","name":"_oldStaked","nameLocation":"42795:10:98","nodeType":"VariableDeclaration","scope":68397,"src":"42787:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68361,"name":"uint256","nodeType":"ElementaryTypeName","src":"42787:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42758:48:98"},"returnParameters":{"id":68364,"nodeType":"ParameterList","parameters":[],"src":"42824:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":68444,"nodeType":"FunctionDefinition","src":"43118:830:98","nodes":[],"body":{"id":68443,"nodeType":"Block","src":"43317:631:98","nodes":[],"statements":[{"expression":{"id":68412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68409,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68407,"src":"43327:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68410,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"43341:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43347:6:98","memberName":"number","nodeType":"MemberAccess","src":"43341:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43327:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68413,"nodeType":"ExpressionStatement","src":"43327:26:98"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68415,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68400,"src":"43370:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68416,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43380:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65588,"src":"43370:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":68417,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68407,"src":"43393:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43370:34:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":68414,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"43363:6:98","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":68419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43363:42:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68420,"nodeType":"ExpressionStatement","src":"43363:42:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68421,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68400,"src":"43419:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68422,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43429:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65588,"src":"43419:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":68423,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68407,"src":"43442:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43419:34:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68430,"nodeType":"IfStatement","src":"43415:173:98","trueBody":{"id":68429,"nodeType":"Block","src":"43455:133:98","statements":[{"expression":{"components":[{"hexValue":"30","id":68425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43543:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":68426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43546:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":68427,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"43542:6:98","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"functionReturnParameters":68408,"id":68428,"nodeType":"Return","src":"43535:13:98"}]}},{"expression":{"id":68441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68431,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68405,"src":"43641:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68433,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68407,"src":"43797:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68434,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68400,"src":"43811:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68435,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43821:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65588,"src":"43811:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43797:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68437,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68400,"src":"43883:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68438,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43893:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65580,"src":"43883:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68439,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68402,"src":"43921:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68432,"name":"calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68155,"src":"43654:19:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (uint256)"}},"id":68440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43654:287:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43641:300:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68442,"nodeType":"ExpressionStatement","src":"43641:300:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_checkBlockAndCalculateConviction","nameLocation":"43127:33:98","parameters":{"id":68403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68400,"mutability":"mutable","name":"_proposal","nameLocation":"43178:9:98","nodeType":"VariableDeclaration","scope":68444,"src":"43161:26:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"},"typeName":{"id":68399,"nodeType":"UserDefinedTypeName","pathNode":{"id":68398,"name":"Proposal","nameLocations":["43161:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65606,"src":"43161:8:98"},"referencedDeclaration":65606,"src":"43161:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"}},"visibility":"internal"},{"constant":false,"id":68402,"mutability":"mutable","name":"_oldStaked","nameLocation":"43197:10:98","nodeType":"VariableDeclaration","scope":68444,"src":"43189:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68401,"name":"uint256","nodeType":"ElementaryTypeName","src":"43189:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43160:48:98"},"returnParameters":{"id":68408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68405,"mutability":"mutable","name":"conviction","nameLocation":"43280:10:98","nodeType":"VariableDeclaration","scope":68444,"src":"43272:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68404,"name":"uint256","nodeType":"ElementaryTypeName","src":"43272:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68407,"mutability":"mutable","name":"blockNumber","nameLocation":"43300:11:98","nodeType":"VariableDeclaration","scope":68444,"src":"43292:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68406,"name":"uint256","nodeType":"ElementaryTypeName","src":"43292:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43271:41:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":68596,"nodeType":"FunctionDefinition","src":"43954:2357:98","nodes":[],"body":{"id":68595,"nodeType":"Block","src":"44065:2246:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68453,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"44092:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68454,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44110:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"44092:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":68457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44134:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":68456,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44126:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68455,"name":"address","nodeType":"ElementaryTypeName","src":"44126:7:98","typeDescriptions":{}}},"id":68458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44126:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"44092:44:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":68462,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"44148:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68463,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44166:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"44148:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}],"id":68461,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44140:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68460,"name":"address","nodeType":"ElementaryTypeName","src":"44140:7:98","typeDescriptions":{}}},"id":68464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44140:37:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":68467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44189:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":68466,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44181:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68465,"name":"address","nodeType":"ElementaryTypeName","src":"44181:7:98","typeDescriptions":{}}},"id":68468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44181:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"44140:51:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"44092:99:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68509,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68471,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"44233:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68472,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44251:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"44233:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68473,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"44267:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":68475,"indexExpression":{"id":68474,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"44285:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"44267:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":68476,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44317:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"44267:62:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"44233:96:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"},"id":68484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68478,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"44357:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68479,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44375:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"44357:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68480,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"44389:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":68482,"indexExpression":{"id":68481,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"44407:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"44389:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":68483,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44439:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"44389:60:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}},"src":"44357:92:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"44233:216:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68486,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"44477:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68487,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44495:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"44477:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68488,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"44552:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":68490,"indexExpression":{"id":68489,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"44570:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"44552:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":68491,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44602:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"44552:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44477:150:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"44233:394:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68494,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"44655:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68495,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44673:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"44655:44:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68496,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"44731:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":68498,"indexExpression":{"id":68497,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"44749:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"44731:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":68499,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44781:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"44731:76:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44655:152:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"44233:574:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68502,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"44835:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68503,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44853:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"44835:31:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68504,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"44870:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":68506,"indexExpression":{"id":68505,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"44888:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"44870:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":68507,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44920:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"44870:63:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44835:98:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"44233:700:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68510,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"44961:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68511,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44979:20:98","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65627,"src":"44961:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68512,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"45031:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":68514,"indexExpression":{"id":68513,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"45049:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45031:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":68515,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45081:20:98","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65627,"src":"45031:70:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44961:140:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"44233:868:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":68518,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"44211:908:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"44092:1027:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68586,"nodeType":"IfStatement","src":"44075:2158:98","trueBody":{"id":68585,"nodeType":"Block","src":"45130:1103:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68520,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"45165:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":68522,"indexExpression":{"id":68521,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"45183:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45165:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":68523,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45215:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"45165:62:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":68524,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"45231:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68525,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45249:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"45231:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45165:96:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"},"id":68533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68527,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"45285:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":68529,"indexExpression":{"id":68528,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"45303:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45285:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":68530,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45335:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"45285:60:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":68531,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"45349:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68532,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45367:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"45349:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}},"src":"45285:92:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45165:212:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68559,"nodeType":"IfStatement","src":"45144:522:98","trueBody":{"id":68558,"nodeType":"Block","src":"45392:274:98","statements":[{"expression":{"arguments":[{"expression":{"id":68540,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"45452:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68541,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45470:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"45452:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":68535,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"45410:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68538,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45428:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"45410:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}},"id":68539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45439:12:98","memberName":"registerSafe","nodeType":"MemberAccess","referencedDeclaration":76324,"src":"45410:41:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":68542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45410:73:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68543,"nodeType":"ExpressionStatement","src":"45410:73:98"},{"eventCall":{"arguments":[{"arguments":[{"id":68547,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"45557:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69194","typeString":"contract CVStrategyV0_0"}],"id":68546,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45549:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68545,"name":"address","nodeType":"ElementaryTypeName","src":"45549:7:98","typeDescriptions":{}}},"id":68548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45549:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":68551,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"45572:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68552,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45590:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"45572:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}],"id":68550,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45564:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68549,"name":"address","nodeType":"ElementaryTypeName","src":"45564:7:98","typeDescriptions":{}}},"id":68553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45564:37:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68554,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"45603:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68555,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45621:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"45603:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":68544,"name":"TribunaSafeRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65863,"src":"45506:21:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function (address,address,address)"}},"id":68556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45506:145:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68557,"nodeType":"EmitStatement","src":"45501:150:98"}]}},{"expression":{"id":68561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"45680:32:98","subExpression":{"id":68560,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"45680:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68562,"nodeType":"ExpressionStatement","src":"45680:32:98"},{"expression":{"id":68567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68563,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"45726:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":68565,"indexExpression":{"id":68564,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"45744:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"45726:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68566,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"45778:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"src":"45726:69:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":68568,"nodeType":"ExpressionStatement","src":"45726:69:98"},{"eventCall":{"arguments":[{"id":68570,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"45856:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68571,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"45904:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68572,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45922:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"45904:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}},{"expression":{"id":68573,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"45950:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68574,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45968:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"45950:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68575,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"45998:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68576,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46016:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"45998:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68577,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"46059:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68578,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46077:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"46059:44:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68579,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"46121:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68580,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46139:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"46121:31:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68581,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68447,"src":"46170:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68582,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46188:20:98","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65627,"src":"46170:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68569,"name":"ArbitrableConfigUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65884,"src":"45815:23:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_contract$_IArbitrator_$76325_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"id":68583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45815:407:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68584,"nodeType":"EmitStatement","src":"45810:412:98"}]}},{"expression":{"id":68589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68587,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65927,"src":"46243:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage","typeString":"struct CVParams storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68588,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68450,"src":"46254:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams memory"}},"src":"46243:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage","typeString":"struct CVParams storage ref"}},"id":68590,"nodeType":"ExpressionStatement","src":"46243:20:98"},{"eventCall":{"arguments":[{"id":68592,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68450,"src":"46294:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams memory"}],"id":68591,"name":"CVParamsUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65830,"src":"46278:15:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_struct$_CVParams_$65637_memory_ptr_$returns$__$","typeString":"function (struct CVParams memory)"}},"id":68593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46278:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68594,"nodeType":"EmitStatement","src":"46273:31:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_setPoolParams","nameLocation":"43963:14:98","parameters":{"id":68451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68447,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"44002:17:98","nodeType":"VariableDeclaration","scope":68596,"src":"43978:41:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig"},"typeName":{"id":68446,"nodeType":"UserDefinedTypeName","pathNode":{"id":68445,"name":"ArbitrableConfig","nameLocations":["43978:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65628,"src":"43978:16:98"},"referencedDeclaration":65628,"src":"43978:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage_ptr","typeString":"struct ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":68450,"mutability":"mutable","name":"_cvParams","nameLocation":"44037:9:98","nodeType":"VariableDeclaration","scope":68596,"src":"44021:25:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams"},"typeName":{"id":68449,"nodeType":"UserDefinedTypeName","pathNode":{"id":68448,"name":"CVParams","nameLocations":["44021:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65637,"src":"44021:8:98"},"referencedDeclaration":65637,"src":"44021:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage_ptr","typeString":"struct CVParams"}},"visibility":"internal"}],"src":"43977:70:98"},"returnParameters":{"id":68452,"nodeType":"ParameterList","parameters":[],"src":"44065:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":68630,"nodeType":"FunctionDefinition","src":"46317:609:98","nodes":[],"body":{"id":68629,"nodeType":"Block","src":"46404:522:98","nodes":[],"statements":[{"assignments":[68605],"declarations":[{"constant":false,"id":68605,"mutability":"mutable","name":"proposal","nameLocation":"46431:8:98","nodeType":"VariableDeclaration","scope":68629,"src":"46414:25:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"},"typeName":{"id":68604,"nodeType":"UserDefinedTypeName","pathNode":{"id":68603,"name":"Proposal","nameLocations":["46414:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65606,"src":"46414:8:98"},"referencedDeclaration":65606,"src":"46414:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"}},"visibility":"internal"}],"id":68609,"initialValue":{"baseExpression":{"id":68606,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"46442:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":68608,"indexExpression":{"id":68607,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68598,"src":"46452:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46442:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"46414:49:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68610,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68605,"src":"46478:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68611,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46487:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"46478:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":68612,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68598,"src":"46501:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46478:33:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68619,"nodeType":"IfStatement","src":"46474:100:98","trueBody":{"id":68618,"nodeType":"Block","src":"46513:61:98","statements":[{"errorCall":{"arguments":[{"id":68615,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68598,"src":"46552:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68614,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65718,"src":"46534:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46534:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68617,"nodeType":"RevertStatement","src":"46527:36:98"}]}},{"expression":{"arguments":[{"id":68621,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68605,"src":"46847:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},{"expression":{"id":68622,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68605,"src":"46857:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68623,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46866:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"46857:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68620,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68397,"src":"46820:26:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$65606_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct Proposal storage pointer,uint256)"}},"id":68624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46820:59:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68625,"nodeType":"ExpressionStatement","src":"46820:59:98"},{"expression":{"expression":{"id":68626,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68605,"src":"46896:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68627,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46905:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65580,"src":"46896:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68602,"id":68628,"nodeType":"Return","src":"46889:30:98"}]},"functionSelector":"1aa91a9e","implemented":true,"kind":"function","modifiers":[],"name":"updateProposalConviction","nameLocation":"46326:24:98","parameters":{"id":68599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68598,"mutability":"mutable","name":"proposalId","nameLocation":"46359:10:98","nodeType":"VariableDeclaration","scope":68630,"src":"46351:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68597,"name":"uint256","nodeType":"ElementaryTypeName","src":"46351:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46350:20:98"},"returnParameters":{"id":68602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68601,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68630,"src":"46395:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68600,"name":"uint256","nodeType":"ElementaryTypeName","src":"46395:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46394:9:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":68650,"nodeType":"FunctionDefinition","src":"46932:141:98","nodes":[],"body":{"id":68649,"nodeType":"Block","src":"47012:61:98","nodes":[],"statements":[{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68637,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68632,"src":"47031:6:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68638,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65890,"src":"47040:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47031:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68640,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"47030:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68641,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65890,"src":"47046:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68642,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65927,"src":"47050:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage","typeString":"struct CVParams storage ref"}},"id":68643,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47059:5:98","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65634,"src":"47050:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47046:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68645,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"47045:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47030:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68647,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"47029:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68636,"id":68648,"nodeType":"Return","src":"47022:44:98"}]},"functionSelector":"950559d7","implemented":true,"kind":"function","modifiers":[],"name":"getMaxConviction","nameLocation":"46941:16:98","parameters":{"id":68633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68632,"mutability":"mutable","name":"amount","nameLocation":"46966:6:98","nodeType":"VariableDeclaration","scope":68650,"src":"46958:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68631,"name":"uint256","nodeType":"ElementaryTypeName","src":"46958:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46957:16:98"},"returnParameters":{"id":68636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68635,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68650,"src":"47003:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68634,"name":"uint256","nodeType":"ElementaryTypeName","src":"47003:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47002:9:98"},"scope":69194,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68669,"nodeType":"FunctionDefinition","src":"47424:189:98","nodes":[],"body":{"id":68668,"nodeType":"Block","src":"47487:126:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":68655,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66216,"src":"47497:15:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":68656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47497:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68657,"nodeType":"ExpressionStatement","src":"47497:17:98"},{"expression":{"arguments":[{"id":68659,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68652,"src":"47543:12:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":68658,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66197,"src":"47524:18:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":68660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47524:32:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68661,"nodeType":"ExpressionStatement","src":"47524:32:98"},{"expression":{"id":68666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68662,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65944,"src":"47566:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68664,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68652,"src":"47593:12:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":68663,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70122,"src":"47580:12:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$70122_$","typeString":"type(contract ISybilScorer)"}},"id":68665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47580:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}},"src":"47566:40:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}},"id":68667,"nodeType":"ExpressionStatement","src":"47566:40:98"}]},"functionSelector":"ac1ed7b9","implemented":true,"kind":"function","modifiers":[],"name":"setSybilScorer","nameLocation":"47433:14:98","parameters":{"id":68653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68652,"mutability":"mutable","name":"_sybilScorer","nameLocation":"47456:12:98","nodeType":"VariableDeclaration","scope":68669,"src":"47448:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68651,"name":"address","nodeType":"ElementaryTypeName","src":"47448:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"47447:22:98"},"returnParameters":{"id":68654,"nodeType":"ParameterList","parameters":[],"src":"47487:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":68687,"nodeType":"FunctionDefinition","src":"47619:198:98","nodes":[],"body":{"id":68686,"nodeType":"Block","src":"47729:88:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":68678,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66216,"src":"47739:15:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":68679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47739:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68680,"nodeType":"ExpressionStatement","src":"47739:17:98"},{"expression":{"arguments":[{"id":68682,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68672,"src":"47781:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},{"id":68683,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68675,"src":"47800:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams memory"}],"id":68681,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68596,"src":"47766:14:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$65628_memory_ptr_$_t_struct$_CVParams_$65637_memory_ptr_$returns$__$","typeString":"function (struct ArbitrableConfig memory,struct CVParams memory)"}},"id":68684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47766:44:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68685,"nodeType":"ExpressionStatement","src":"47766:44:98"}]},"functionSelector":"062f9ece","implemented":true,"kind":"function","modifiers":[],"name":"setPoolParams","nameLocation":"47628:13:98","parameters":{"id":68676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68672,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"47666:17:98","nodeType":"VariableDeclaration","scope":68687,"src":"47642:41:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig"},"typeName":{"id":68671,"nodeType":"UserDefinedTypeName","pathNode":{"id":68670,"name":"ArbitrableConfig","nameLocations":["47642:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65628,"src":"47642:16:98"},"referencedDeclaration":65628,"src":"47642:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage_ptr","typeString":"struct ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":68675,"mutability":"mutable","name":"_cvParams","nameLocation":"47701:9:98","nodeType":"VariableDeclaration","scope":68687,"src":"47685:25:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams"},"typeName":{"id":68674,"nodeType":"UserDefinedTypeName","pathNode":{"id":68673,"name":"CVParams","nameLocations":["47685:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65637,"src":"47685:8:98"},"referencedDeclaration":65637,"src":"47685:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage_ptr","typeString":"struct CVParams"}},"visibility":"internal"}],"src":"47641:70:98"},"returnParameters":{"id":68677,"nodeType":"ParameterList","parameters":[],"src":"47729:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":68874,"nodeType":"FunctionDefinition","src":"47823:2345:98","nodes":[],"body":{"id":68873,"nodeType":"Block","src":"48009:2159:98","nodes":[],"statements":[{"assignments":[68700],"declarations":[{"constant":false,"id":68700,"mutability":"mutable","name":"proposal","nameLocation":"48036:8:98","nodeType":"VariableDeclaration","scope":68873,"src":"48019:25:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"},"typeName":{"id":68699,"nodeType":"UserDefinedTypeName","pathNode":{"id":68698,"name":"Proposal","nameLocations":["48019:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65606,"src":"48019:8:98"},"referencedDeclaration":65606,"src":"48019:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"}},"visibility":"internal"}],"id":68704,"initialValue":{"baseExpression":{"id":68701,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"48047:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":68703,"indexExpression":{"id":68702,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68689,"src":"48057:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"48047:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"48019:49:98"},{"assignments":[68707],"declarations":[{"constant":false,"id":68707,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"48102:16:98","nodeType":"VariableDeclaration","scope":68873,"src":"48078:40:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig"},"typeName":{"id":68706,"nodeType":"UserDefinedTypeName","pathNode":{"id":68705,"name":"ArbitrableConfig","nameLocations":["48078:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65628,"src":"48078:16:98"},"referencedDeclaration":65628,"src":"48078:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage_ptr","typeString":"struct ArbitrableConfig"}},"visibility":"internal"}],"id":68712,"initialValue":{"baseExpression":{"id":68708,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"48121:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":68711,"indexExpression":{"expression":{"id":68709,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68700,"src":"48139:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68710,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48148:23:98","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65605,"src":"48139:32:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"48121:51:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"nodeType":"VariableDeclarationStatement","src":"48078:94:98"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":68715,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68707,"src":"48195:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68716,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48212:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"48195:27:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}],"id":68714,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"48187:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68713,"name":"address","nodeType":"ElementaryTypeName","src":"48187:7:98","typeDescriptions":{}}},"id":68717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48187:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":68720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48235:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":68719,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"48227:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68718,"name":"address","nodeType":"ElementaryTypeName","src":"48227:7:98","typeDescriptions":{}}},"id":68721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48227:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"48187:50:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68727,"nodeType":"IfStatement","src":"48183:112:98","trueBody":{"id":68726,"nodeType":"Block","src":"48239:56:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68723,"name":"ArbitratorCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65754,"src":"48260:22:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48260:24:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68725,"nodeType":"RevertStatement","src":"48253:31:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68728,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68700,"src":"48472:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68729,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48481:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"48472:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":68730,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68689,"src":"48495:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48472:33:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68737,"nodeType":"IfStatement","src":"48468:100:98","trueBody":{"id":68736,"nodeType":"Block","src":"48507:61:98","statements":[{"errorCall":{"arguments":[{"id":68733,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68689,"src":"48546:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68732,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65718,"src":"48528:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48528:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68735,"nodeType":"RevertStatement","src":"48521:36:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"},"id":68742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68738,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68700,"src":"48581:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68739,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48590:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"48581:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":68740,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"48608:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65565_$","typeString":"type(enum ProposalStatus)"}},"id":68741,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48623:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65559,"src":"48608:21:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"src":"48581:48:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68748,"nodeType":"IfStatement","src":"48577:115:98","trueBody":{"id":68747,"nodeType":"Block","src":"48631:61:98","statements":[{"errorCall":{"arguments":[{"id":68744,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68689,"src":"48670:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68743,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65714,"src":"48652:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48652:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68746,"nodeType":"RevertStatement","src":"48645:36:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68749,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"48705:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48709:5:98","memberName":"value","nodeType":"MemberAccess","src":"48705:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":68751,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68707,"src":"48717:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68752,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48734:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"48717:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48705:55:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68762,"nodeType":"IfStatement","src":"48701:171:98","trueBody":{"id":68761,"nodeType":"Block","src":"48762:110:98","statements":[{"errorCall":{"arguments":[{"expression":{"id":68755,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"48806:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48810:5:98","memberName":"value","nodeType":"MemberAccess","src":"48806:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68757,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68707,"src":"48817:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68758,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48834:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"48817:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68754,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65746,"src":"48783:22:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":68759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48783:78:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68760,"nodeType":"RevertStatement","src":"48776:85:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68763,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68700,"src":"48991:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68764,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49000:21:98","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65603,"src":"48991:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":68765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49025:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"48991:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68767,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68700,"src":"49046:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68768,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49055:21:98","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65603,"src":"49046:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68769,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65908,"src":"49079:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49046:53:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":68771,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"49102:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49108:9:98","memberName":"timestamp","nodeType":"MemberAccess","src":"49102:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49046:71:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"48991:126:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68787,"nodeType":"IfStatement","src":"48974:325:98","trueBody":{"id":68786,"nodeType":"Block","src":"49128:171:98","statements":[{"errorCall":{"arguments":[{"id":68776,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68689,"src":"49191:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68777,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68700,"src":"49203:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68778,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49212:21:98","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65603,"src":"49203:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68779,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65908,"src":"49236:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49203:53:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68781,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"49259:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49265:9:98","memberName":"timestamp","nodeType":"MemberAccess","src":"49259:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49203:71:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68775,"name":"DisputeCooldownNotPassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65768,"src":"49149:24:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":68784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49149:139:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68785,"nodeType":"RevertStatement","src":"49142:146:98"}]}},{"assignments":[68789],"declarations":[{"constant":false,"id":68789,"mutability":"mutable","name":"arbitrationFee","nameLocation":"49317:14:98","nodeType":"VariableDeclaration","scope":68873,"src":"49309:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68788,"name":"uint256","nodeType":"ElementaryTypeName","src":"49309:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68795,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68790,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"49334:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49338:5:98","memberName":"value","nodeType":"MemberAccess","src":"49334:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68792,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68707,"src":"49346:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68793,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49363:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"49346:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49334:55:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"49309:80:98"},{"expression":{"arguments":[{"id":68802,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68689,"src":"49486:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68803,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"49498:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49502:6:98","memberName":"sender","nodeType":"MemberAccess","src":"49498:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":68796,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65941,"src":"49400:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"id":68798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49416:17:98","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":76337,"src":"49400:33:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":68801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":68799,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68707,"src":"49441:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68800,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49458:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"49441:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"49400:85:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":68805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49400:109:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68806,"nodeType":"ExpressionStatement","src":"49400:109:98"},{"expression":{"id":68816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68807,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68696,"src":"49520:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68813,"name":"RULING_OPTIONS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65905,"src":"49597:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68814,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68693,"src":"49613:10:98","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":68808,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68707,"src":"49532:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68809,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49549:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"49532:27:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}},"id":68810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49560:13:98","memberName":"createDispute","nodeType":"MemberAccess","referencedDeclaration":76272,"src":"49532:41:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":68812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":68811,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68789,"src":"49581:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"49532:64:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":68815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49532:92:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49520:104:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68817,"nodeType":"ExpressionStatement","src":"49520:104:98"},{"expression":{"id":68823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68818,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68700,"src":"49635:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68820,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49644:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"49635:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68821,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"49661:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65565_$","typeString":"type(enum ProposalStatus)"}},"id":68822,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49676:8:98","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"49661:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"src":"49635:49:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"id":68824,"nodeType":"ExpressionStatement","src":"49635:49:98"},{"expression":{"id":68831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":68825,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68700,"src":"49694:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68828,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49703:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"49694:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65572_storage","typeString":"struct ProposalDisputeInfo storage ref"}},"id":68829,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49715:9:98","memberName":"disputeId","nodeType":"MemberAccess","referencedDeclaration":65567,"src":"49694:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68830,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68696,"src":"49727:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49694:42:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68832,"nodeType":"ExpressionStatement","src":"49694:42:98"},{"expression":{"id":68840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":68833,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68700,"src":"49746:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68836,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49755:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"49746:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65572_storage","typeString":"struct ProposalDisputeInfo storage ref"}},"id":68837,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49767:16:98","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":65569,"src":"49746:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68838,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"49786:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49792:9:98","memberName":"timestamp","nodeType":"MemberAccess","src":"49786:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49746:55:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68841,"nodeType":"ExpressionStatement","src":"49746:55:98"},{"expression":{"id":68849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":68842,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68700,"src":"49811:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68845,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49820:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"49811:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65572_storage","typeString":"struct ProposalDisputeInfo storage ref"}},"id":68846,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"49832:10:98","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65571,"src":"49811:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68847,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"49845:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49849:6:98","memberName":"sender","nodeType":"MemberAccess","src":"49845:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"49811:44:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68850,"nodeType":"ExpressionStatement","src":"49811:44:98"},{"expression":{"id":68855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68851,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65962,"src":"49865:21:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":68853,"indexExpression":{"id":68852,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68696,"src":"49887:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"49865:32:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68854,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68689,"src":"49900:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49865:45:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68856,"nodeType":"ExpressionStatement","src":"49865:45:98"},{"expression":{"id":68858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"49921:14:98","subExpression":{"id":68857,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65916,"src":"49921:12:98","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":68859,"nodeType":"ExpressionStatement","src":"49921:14:98"},{"eventCall":{"arguments":[{"expression":{"id":68861,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68707,"src":"49981:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68862,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49998:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"49981:27:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}},{"id":68863,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68689,"src":"50022:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68864,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68696,"src":"50046:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68865,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"50069:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50073:6:98","memberName":"sender","nodeType":"MemberAccess","src":"50069:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":68867,"name":"context","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68691,"src":"50093:7:98","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"expression":{"expression":{"id":68868,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68700,"src":"50114:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68869,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50123:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"50114:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65572_storage","typeString":"struct ProposalDisputeInfo storage ref"}},"id":68870,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50135:16:98","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":65569,"src":"50114:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68860,"name":"ProposalDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65855,"src":"49951:16:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$76325_$_t_uint256_$_t_uint256_$_t_address_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256,address,string memory,uint256)"}},"id":68871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49951:210:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68872,"nodeType":"EmitStatement","src":"49946:215:98"}]},"functionSelector":"b41596ec","implemented":true,"kind":"function","modifiers":[],"name":"disputeProposal","nameLocation":"47832:15:98","parameters":{"id":68694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68689,"mutability":"mutable","name":"proposalId","nameLocation":"47856:10:98","nodeType":"VariableDeclaration","scope":68874,"src":"47848:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68688,"name":"uint256","nodeType":"ElementaryTypeName","src":"47848:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68691,"mutability":"mutable","name":"context","nameLocation":"47884:7:98","nodeType":"VariableDeclaration","scope":68874,"src":"47868:23:98","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":68690,"name":"string","nodeType":"ElementaryTypeName","src":"47868:6:98","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":68693,"mutability":"mutable","name":"_extraData","nameLocation":"47908:10:98","nodeType":"VariableDeclaration","scope":68874,"src":"47893:25:98","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":68692,"name":"bytes","nodeType":"ElementaryTypeName","src":"47893:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"47847:72:98"},"returnParameters":{"id":68697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68696,"mutability":"mutable","name":"disputeId","nameLocation":"47994:9:98","nodeType":"VariableDeclaration","scope":68874,"src":"47986:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68695,"name":"uint256","nodeType":"ElementaryTypeName","src":"47986:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47985:19:98"},"scope":69194,"stateMutability":"payable","virtual":true,"visibility":"external"},{"id":69123,"nodeType":"FunctionDefinition","src":"50174:2899:98","nodes":[],"body":{"id":69122,"nodeType":"Block","src":"50251:2822:98","nodes":[],"statements":[{"assignments":[68883],"declarations":[{"constant":false,"id":68883,"mutability":"mutable","name":"proposalId","nameLocation":"50269:10:98","nodeType":"VariableDeclaration","scope":69122,"src":"50261:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68882,"name":"uint256","nodeType":"ElementaryTypeName","src":"50261:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68887,"initialValue":{"baseExpression":{"id":68884,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65962,"src":"50282:21:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":68886,"indexExpression":{"id":68885,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68876,"src":"50304:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"50282:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"50261:54:98"},{"assignments":[68890],"declarations":[{"constant":false,"id":68890,"mutability":"mutable","name":"proposal","nameLocation":"50342:8:98","nodeType":"VariableDeclaration","scope":69122,"src":"50325:25:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"},"typeName":{"id":68889,"nodeType":"UserDefinedTypeName","pathNode":{"id":68888,"name":"Proposal","nameLocations":["50325:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65606,"src":"50325:8:98"},"referencedDeclaration":65606,"src":"50325:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"}},"visibility":"internal"}],"id":68894,"initialValue":{"baseExpression":{"id":68891,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"50353:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":68893,"indexExpression":{"id":68892,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68883,"src":"50363:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"50353:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"50325:49:98"},{"assignments":[68897],"declarations":[{"constant":false,"id":68897,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"50408:16:98","nodeType":"VariableDeclaration","scope":69122,"src":"50384:40:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig"},"typeName":{"id":68896,"nodeType":"UserDefinedTypeName","pathNode":{"id":68895,"name":"ArbitrableConfig","nameLocations":["50384:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65628,"src":"50384:16:98"},"referencedDeclaration":65628,"src":"50384:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage_ptr","typeString":"struct ArbitrableConfig"}},"visibility":"internal"}],"id":68902,"initialValue":{"baseExpression":{"id":68898,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"50427:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":68901,"indexExpression":{"expression":{"id":68899,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"50445:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68900,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50454:23:98","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65605,"src":"50445:32:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"50427:51:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"nodeType":"VariableDeclarationStatement","src":"50384:94:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68903,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68883,"src":"50493:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50507:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"50493:15:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68911,"nodeType":"IfStatement","src":"50489:82:98","trueBody":{"id":68910,"nodeType":"Block","src":"50510:61:98","statements":[{"errorCall":{"arguments":[{"id":68907,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68883,"src":"50549:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68906,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65718,"src":"50531:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50531:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68909,"nodeType":"RevertStatement","src":"50524:36:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"},"id":68916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68912,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"50584:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68913,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50593:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"50584:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":68914,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"50611:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65565_$","typeString":"type(enum ProposalStatus)"}},"id":68915,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50626:8:98","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"50611:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"src":"50584:50:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68922,"nodeType":"IfStatement","src":"50580:119:98","trueBody":{"id":68921,"nodeType":"Block","src":"50636:63:98","statements":[{"errorCall":{"arguments":[{"id":68918,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68883,"src":"50677:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68917,"name":"ProposalNotDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65752,"src":"50657:19:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50657:31:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68920,"nodeType":"RevertStatement","src":"50650:38:98"}]}},{"assignments":[68924],"declarations":[{"constant":false,"id":68924,"mutability":"mutable","name":"isTimeOut","nameLocation":"50714:9:98","nodeType":"VariableDeclaration","scope":69122,"src":"50709:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68923,"name":"bool","nodeType":"ElementaryTypeName","src":"50709:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":68934,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68925,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50726:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50732:9:98","memberName":"timestamp","nodeType":"MemberAccess","src":"50726:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":68927,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"50744:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68928,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50753:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"50744:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65572_storage","typeString":"struct ProposalDisputeInfo storage ref"}},"id":68929,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50765:16:98","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":65569,"src":"50744:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":68930,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68897,"src":"50784:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68931,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50801:20:98","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65627,"src":"50784:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50744:77:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50726:95:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"50709:112:98"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"50836:10:98","subExpression":{"id":68935,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68924,"src":"50837:9:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68937,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"50850:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50854:6:98","memberName":"sender","nodeType":"MemberAccess","src":"50850:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"expression":{"id":68941,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68897,"src":"50872:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68942,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50889:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"50872:27:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}],"id":68940,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"50864:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68939,"name":"address","nodeType":"ElementaryTypeName","src":"50864:7:98","typeDescriptions":{}}},"id":68943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50864:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"50850:50:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"50836:64:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68950,"nodeType":"IfStatement","src":"50832:118:98","trueBody":{"id":68949,"nodeType":"Block","src":"50902:48:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68946,"name":"OnlyArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65748,"src":"50923:14:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50923:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68948,"nodeType":"RevertStatement","src":"50916:23:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68951,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68924,"src":"50964:9:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68952,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68878,"src":"50977:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50988:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"50977:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"50964:25:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69013,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68878,"src":"51731:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":69014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"51742:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"51731:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69042,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68878,"src":"52093:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":69043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52104:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"52093:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69102,"nodeType":"IfStatement","src":"52089:824:98","trueBody":{"id":69101,"nodeType":"Block","src":"52107:806:98","statements":[{"expression":{"id":69050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69045,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"52121:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":69047,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"52130:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"52121:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69048,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"52147:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65565_$","typeString":"type(enum ProposalStatus)"}},"id":69049,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52162:8:98","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":65564,"src":"52147:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"src":"52121:49:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"id":69051,"nodeType":"ExpressionStatement","src":"52121:49:98"},{"expression":{"arguments":[{"id":69055,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68883,"src":"52236:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":69056,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"52248:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":69057,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52257:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"52248:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65572_storage","typeString":"struct ProposalDisputeInfo storage ref"}},"id":69058,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52269:10:98","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65571,"src":"52248:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69059,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68897,"src":"52281:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":69060,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52298:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"52281:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69052,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65941,"src":"52184:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"id":69054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52200:18:98","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":76346,"src":"52184:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":69061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52184:154:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69062,"nodeType":"ExpressionStatement","src":"52184:154:98"},{"expression":{"arguments":[{"id":69066,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68883,"src":"52407:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69067,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"52435:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":69068,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52444:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65584,"src":"52435:18:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69071,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"52479:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":69072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52479:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":69073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52502:11:98","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":71024,"src":"52479:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$76451_$","typeString":"function () view external returns (contract ISafe)"}},"id":69074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52479:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}],"id":69070,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"52471:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69069,"name":"address","nodeType":"ElementaryTypeName","src":"52471:7:98","typeDescriptions":{}}},"id":69075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52471:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69076,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"52534:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":69078,"indexExpression":{"id":69077,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"52552:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"52534:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":69079,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52584:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"52534:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":69080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52612:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"52534:79:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69063,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65941,"src":"52352:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"id":69065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52368:21:98","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":76357,"src":"52352:37:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":69082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52352:275:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69083,"nodeType":"ExpressionStatement","src":"52352:275:98"},{"expression":{"arguments":[{"id":69087,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68883,"src":"52696:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69088,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"52724:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":69089,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52733:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65584,"src":"52724:18:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":69090,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"52760:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":69091,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52769:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"52760:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65572_storage","typeString":"struct ProposalDisputeInfo storage ref"}},"id":69092,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52781:10:98","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65571,"src":"52760:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69093,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"52809:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":69095,"indexExpression":{"id":69094,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65920,"src":"52827:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"52809:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":69096,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52859:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"52809:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":69097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52887:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"52809:79:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69084,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65941,"src":"52641:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"id":69086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52657:21:98","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":76357,"src":"52641:37:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":69099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52641:261:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69100,"nodeType":"ExpressionStatement","src":"52641:261:98"}]}},"id":69103,"nodeType":"IfStatement","src":"51727:1186:98","trueBody":{"id":69041,"nodeType":"Block","src":"51745:338:98","statements":[{"expression":{"id":69021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69016,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"51759:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":69018,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"51768:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"51759:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69019,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"51785:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65565_$","typeString":"type(enum ProposalStatus)"}},"id":69020,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51800:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65559,"src":"51785:21:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"src":"51759:47:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"id":69022,"nodeType":"ExpressionStatement","src":"51759:47:98"},{"expression":{"arguments":[{"id":69026,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68883,"src":"51875:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":69027,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"51903:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":69028,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51912:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"51903:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65572_storage","typeString":"struct ProposalDisputeInfo storage ref"}},"id":69029,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51924:10:98","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65571,"src":"51903:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69032,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65978,"src":"51960:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":69033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51960:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"id":69034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51983:11:98","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":71024,"src":"51960:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$76451_$","typeString":"function () view external returns (contract ISafe)"}},"id":69035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51960:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}],"id":69031,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"51952:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69030,"name":"address","nodeType":"ElementaryTypeName","src":"51952:7:98","typeDescriptions":{}}},"id":69036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51952:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69037,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68897,"src":"52015:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":69038,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52032:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"52015:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69023,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65941,"src":"51820:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"id":69025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51836:21:98","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":76357,"src":"51820:37:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":69039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51820:252:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69040,"nodeType":"ExpressionStatement","src":"51820:252:98"}]}},"id":69104,"nodeType":"IfStatement","src":"50960:1953:98","trueBody":{"id":69012,"nodeType":"Block","src":"50991:730:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68956,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68897,"src":"51009:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68957,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51026:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"51009:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"51043:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"51009:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68964,"nodeType":"IfStatement","src":"51005:102:98","trueBody":{"id":68963,"nodeType":"Block","src":"51046:61:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68960,"name":"DefaultRulingNotSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65762,"src":"51071:19:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51071:21:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68962,"nodeType":"RevertStatement","src":"51064:28:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68965,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68897,"src":"51124:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68966,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51141:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"51124:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":68967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"51158:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"51124:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68977,"nodeType":"IfStatement","src":"51120:121:98","trueBody":{"id":68976,"nodeType":"Block","src":"51161:80:98","statements":[{"expression":{"id":68974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68969,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"51179:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68971,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"51188:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"51179:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68972,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"51205:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65565_$","typeString":"type(enum ProposalStatus)"}},"id":68973,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51220:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65559,"src":"51205:21:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"src":"51179:47:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"id":68975,"nodeType":"ExpressionStatement","src":"51179:47:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68978,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68897,"src":"51258:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68979,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51275:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"51258:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":68980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"51292:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"51258:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69000,"nodeType":"IfStatement","src":"51254:289:98","trueBody":{"id":68999,"nodeType":"Block","src":"51295:248:98","statements":[{"expression":{"id":68987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68982,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"51313:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68984,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"51322:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"51313:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68985,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"51339:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65565_$","typeString":"type(enum ProposalStatus)"}},"id":68986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51354:8:98","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":65564,"src":"51339:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"src":"51313:49:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"id":68988,"nodeType":"ExpressionStatement","src":"51313:49:98"},{"expression":{"arguments":[{"id":68992,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68883,"src":"51436:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68993,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"51448:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":68994,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51457:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65584,"src":"51448:18:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68995,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68897,"src":"51468:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":68996,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51485:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"51468:42:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68989,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65941,"src":"51380:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"id":68991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51396:18:98","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":76346,"src":"51380:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":68997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51380:148:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68998,"nodeType":"ExpressionStatement","src":"51380:148:98"}]}},{"expression":{"arguments":[{"id":69004,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68883,"src":"51608:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":69005,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"51620:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":69006,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51629:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"51620:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65572_storage","typeString":"struct ProposalDisputeInfo storage ref"}},"id":69007,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51641:10:98","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65571,"src":"51620:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69008,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68897,"src":"51653:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":69009,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51670:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"51653:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69001,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65941,"src":"51556:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"id":69003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51572:18:98","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":76346,"src":"51556:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":69010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51556:154:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69011,"nodeType":"ExpressionStatement","src":"51556:154:98"}]}},{"expression":{"id":69106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"52923:14:98","subExpression":{"id":69105,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65916,"src":"52923:12:98","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":69107,"nodeType":"ExpressionStatement","src":"52923:14:98"},{"expression":{"id":69113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69108,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68890,"src":"52947:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":69110,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"52956:21:98","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65603,"src":"52947:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69111,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"52980:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":69112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52986:9:98","memberName":"timestamp","nodeType":"MemberAccess","src":"52980:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"52947:48:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69114,"nodeType":"ExpressionStatement","src":"52947:48:98"},{"eventCall":{"arguments":[{"expression":{"id":69116,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68897,"src":"53017:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},"id":69117,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53034:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"53017:27:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"}},{"id":69118,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68876,"src":"53046:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69119,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68878,"src":"53058:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$76325","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69115,"name":"Ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76212,"src":"53010:6:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$76325_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256)"}},"id":69120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53010:56:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69121,"nodeType":"EmitStatement","src":"53005:61:98"}]},"baseFunctions":[76220],"functionSelector":"311a6c56","implemented":true,"kind":"function","modifiers":[],"name":"rule","nameLocation":"50183:4:98","overrides":{"id":68880,"nodeType":"OverrideSpecifier","overrides":[],"src":"50242:8:98"},"parameters":{"id":68879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68876,"mutability":"mutable","name":"_disputeID","nameLocation":"50196:10:98","nodeType":"VariableDeclaration","scope":69123,"src":"50188:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68875,"name":"uint256","nodeType":"ElementaryTypeName","src":"50188:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68878,"mutability":"mutable","name":"_ruling","nameLocation":"50216:7:98","nodeType":"VariableDeclaration","scope":69123,"src":"50208:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68877,"name":"uint256","nodeType":"ElementaryTypeName","src":"50208:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"50187:37:98"},"returnParameters":{"id":68881,"nodeType":"ParameterList","parameters":[],"src":"50251:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":69189,"nodeType":"FunctionDefinition","src":"53079:702:98","nodes":[],"body":{"id":69188,"nodeType":"Block","src":"53140:641:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"},"id":69134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69128,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"53154:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":69130,"indexExpression":{"id":69129,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69125,"src":"53164:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"53154:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"id":69131,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53176:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"53154:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":69132,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"53194:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65565_$","typeString":"type(enum ProposalStatus)"}},"id":69133,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53209:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65559,"src":"53194:21:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"src":"53154:61:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69140,"nodeType":"IfStatement","src":"53150:128:98","trueBody":{"id":69139,"nodeType":"Block","src":"53217:61:98","statements":[{"errorCall":{"arguments":[{"id":69136,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69125,"src":"53256:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69135,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65714,"src":"53238:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":69137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53238:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69138,"nodeType":"RevertStatement","src":"53231:36:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69141,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"53292:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":69143,"indexExpression":{"id":69142,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69125,"src":"53302:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"53292:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"id":69144,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53314:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65584,"src":"53292:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":69145,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"53327:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53331:6:98","memberName":"sender","nodeType":"MemberAccess","src":"53327:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"53292:45:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69158,"nodeType":"IfStatement","src":"53288:141:98","trueBody":{"id":69157,"nodeType":"Block","src":"53339:90:98","statements":[{"errorCall":{"arguments":[{"expression":{"baseExpression":{"id":69149,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"53374:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":69151,"indexExpression":{"id":69150,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69125,"src":"53384:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"53374:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"id":69152,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53396:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65584,"src":"53374:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69153,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"53407:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53411:6:98","memberName":"sender","nodeType":"MemberAccess","src":"53407:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":69148,"name":"OnlySubmitter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65760,"src":"53360:13:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":69155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53360:58:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69156,"nodeType":"RevertStatement","src":"53353:65:98"}]}},{"expression":{"arguments":[{"id":69162,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69125,"src":"53487:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":69163,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"53511:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":69165,"indexExpression":{"id":69164,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69125,"src":"53521:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"53511:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"id":69166,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53533:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65584,"src":"53511:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":69167,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65967,"src":"53556:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65628_storage_$","typeString":"mapping(uint256 => struct ArbitrableConfig storage ref)"}},"id":69172,"indexExpression":{"expression":{"baseExpression":{"id":69168,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"53574:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":69170,"indexExpression":{"id":69169,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69125,"src":"53584:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"53574:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"id":69171,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53596:23:98","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65605,"src":"53574:45:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"53556:64:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage","typeString":"struct ArbitrableConfig storage ref"}},"id":69173,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53621:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"53556:90:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69159,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65941,"src":"53439:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"id":69161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53455:18:98","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":76346,"src":"53439:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":69174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53439:217:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69175,"nodeType":"ExpressionStatement","src":"53439:217:98"},{"expression":{"id":69182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":69176,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"53667:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":69178,"indexExpression":{"id":69177,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69125,"src":"53677:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"53667:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"id":69179,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"53689:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"53667:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69180,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"53706:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65565_$","typeString":"type(enum ProposalStatus)"}},"id":69181,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53721:9:98","memberName":"Cancelled","nodeType":"MemberAccess","referencedDeclaration":65561,"src":"53706:24:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"src":"53667:63:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"id":69183,"nodeType":"ExpressionStatement","src":"53667:63:98"},{"eventCall":{"arguments":[{"id":69185,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69125,"src":"53763:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69184,"name":"ProposalCancelled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65867,"src":"53745:17:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":69186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53745:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69187,"nodeType":"EmitStatement","src":"53740:34:98"}]},"functionSelector":"e0a8f6f5","implemented":true,"kind":"function","modifiers":[],"name":"cancelProposal","nameLocation":"53088:14:98","parameters":{"id":69126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69125,"mutability":"mutable","name":"proposalId","nameLocation":"53111:10:98","nodeType":"VariableDeclaration","scope":69189,"src":"53103:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69124,"name":"uint256","nodeType":"ElementaryTypeName","src":"53103:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53102:20:98"},"returnParameters":{"id":69127,"nodeType":"ParameterList","parameters":[],"src":"53140:0:98"},"scope":69194,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":69193,"nodeType":"VariableDeclaration","src":"53787:25:98","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"53807:5:98","scope":69194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":69190,"name":"uint256","nodeType":"ElementaryTypeName","src":"53787:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69192,"length":{"hexValue":"3530","id":69191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53795:2:98","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"53787:11:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":65659,"name":"BaseStrategyUpgradeable","nameLocations":["3809:23:98"],"nodeType":"IdentifierPath","referencedDeclaration":65471,"src":"3809:23:98"},"id":65660,"nodeType":"InheritanceSpecifier","src":"3809:23:98"},{"baseName":{"id":65661,"name":"IArbitrable","nameLocations":["3834:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":76221,"src":"3834:11:98"},"id":65662,"nodeType":"InheritanceSpecifier","src":"3834:11:98"},{"baseName":{"id":65663,"name":"IPointStrategy","nameLocations":["3847:14:98"],"nodeType":"IdentifierPath","referencedDeclaration":65536,"src":"3847:14:98"},"id":65664,"nodeType":"InheritanceSpecifier","src":"3847:14:98"},{"baseName":{"id":65665,"name":"ERC165","nameLocations":["3863:6:98"],"nodeType":"IdentifierPath","referencedDeclaration":57725,"src":"3863:6:98"},"id":65666,"nodeType":"InheritanceSpecifier","src":"3863:6:98"}],"canonicalName":"CVStrategyV0_0","contractDependencies":[],"contractKind":"contract","documentation":{"id":65658,"nodeType":"StructuredDocumentation","src":"3738:44:98","text":"@custom:oz-upgrades-from CVStrategyV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[69194,57725,57931,65536,76221,65471,3089,3317,3106,2969,70711,55672,55325,54974,54984,52903,53696,53152],"name":"CVStrategyV0_0","nameLocation":"3791:14:98","scope":69195,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,65668,65670,65672,65674,65676,65678,65680,65682,65684,65686,65688,65696,65698,65700,65706,65708,65710,65714,65718,65724,65726,65728,65736,65738,65740,65746,65748,65752,65754,65760,65762,65768,70634]}],"license":"AGPL-3.0-only"},"id":98} \ No newline at end of file diff --git a/pkg/contracts/out/CVStrategyV0_0.sol/StrategyStruct.json b/pkg/contracts/out/CVStrategyV0_0.sol/StrategyStruct.json deleted file mode 100644 index 5eb8c4c9e..000000000 --- a/pkg/contracts/out/CVStrategyV0_0.sol/StrategyStruct.json +++ /dev/null @@ -1 +0,0 @@ -{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ce6eaf913eb86a3751a62014a171b6743421c5cf1e0b757a21412426d401f72764736f6c63430008130033","sourceMap":"1523:2414:98:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1523:2414:98;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ce6eaf913eb86a3751a62014a171b6743421c5cf1e0b757a21412426d401f72764736f6c63430008130033","sourceMap":"1523:2414:98:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":\"StrategyStruct\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293\",\"dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x4301751ea11db320804edf82deeb83d694240d4ab92e96fd75272823a0e68cbe\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://17eb861b8e0b13b4fc31136dbb817f5bf9b0637dc1c0484b090e1e2121fc2595\",\"dweb:/ipfs/QmbYz9fngCp4FmvAJyP2NqSpxBJRJa573mTQ5R9nVsCJAg\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xaea628cb12b8c0dd868c04c935f99ab50c88372f130ce2ced0c7b2b3ce780381\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://22eb93eaf9fc1a9f591ed87dc478e8aabafb46e22ef870bba1345a799c44ba3d\",\"dweb:/ipfs/QmSAXa8UmtGNXNtVbmqPMyEpA3RZYqWjZvPoVFHCvjHjwj\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":"StrategyStruct"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2","urls":["bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293","dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x4301751ea11db320804edf82deeb83d694240d4ab92e96fd75272823a0e68cbe","urls":["bzz-raw://17eb861b8e0b13b4fc31136dbb817f5bf9b0637dc1c0484b090e1e2121fc2595","dweb:/ipfs/QmbYz9fngCp4FmvAJyP2NqSpxBJRJa573mTQ5R9nVsCJAg"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xaea628cb12b8c0dd868c04c935f99ab50c88372f130ce2ced0c7b2b3ce780381","urls":["bzz-raw://22eb93eaf9fc1a9f591ed87dc478e8aabafb46e22ef870bba1345a799c44ba3d","dweb:/ipfs/QmSAXa8UmtGNXNtVbmqPMyEpA3RZYqWjZvPoVFHCvjHjwj"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol","id":69235,"exportedSymbols":{"BaseStrategy":[3923],"BaseStrategyUpgradeable":[65471],"CVStrategyV0_0":[69234],"Clone":[3002],"ERC165":[57725],"ERC20":[56450],"IAllo":[2610],"IArbitrable":[73940],"IArbitrator":[74044],"ICollateralVault":[74077],"IERC165":[57931],"IPointStrategy":[65534],"ISybilScorer":[70165],"Math":[58797],"Metadata":[3098],"OwnableUpgradeable":[52903],"PassportData":[70083],"RegistryCommunityV0_0":[72744],"StrategyStruct":[65656],"UUPSUpgradeable":[55672]},"nodeType":"SourceUnit","src":"42:55349:98","nodes":[{"id":65473,"nodeType":"PragmaDirective","src":"42:24:98","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":65475,"nodeType":"ImportDirective","src":"68:71:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":65474,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"76:8:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65478,"nodeType":"ImportDirective","src":"140:82:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/strategies/BaseStrategy.sol","file":"allo-v2-contracts/strategies/BaseStrategy.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":3924,"symbolAliases":[{"foreign":{"id":65476,"name":"BaseStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3923,"src":"148:12:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":65477,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"162:5:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65480,"nodeType":"ImportDirective","src":"223:85:98","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol","file":"../RegistryCommunity/RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":72745,"symbolAliases":[{"foreign":{"id":65479,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72744,"src":"231:21:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65483,"nodeType":"ImportDirective","src":"309:87:98","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":57726,"symbolAliases":[{"foreign":{"id":65481,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57725,"src":"317:6:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":65482,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57931,"src":"325:7:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65485,"nodeType":"ImportDirective","src":"397:68:98","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":56451,"symbolAliases":[{"foreign":{"id":65484,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56450,"src":"405:5:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65487,"nodeType":"ImportDirective","src":"466:58:98","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","file":"../interfaces/IArbitrator.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":74045,"symbolAliases":[{"foreign":{"id":65486,"name":"IArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74044,"src":"474:11:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65489,"nodeType":"ImportDirective","src":"525:58:98","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"../interfaces/IArbitrable.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":73941,"symbolAliases":[{"foreign":{"id":65488,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73940,"src":"533:11:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65491,"nodeType":"ImportDirective","src":"584:65:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":65490,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"592:5:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65493,"nodeType":"ImportDirective","src":"700:65:98","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":58798,"symbolAliases":[{"foreign":{"id":65492,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58797,"src":"708:4:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65496,"nodeType":"ImportDirective","src":"766:63:98","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"../ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":70166,"symbolAliases":[{"foreign":{"id":65494,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70165,"src":"774:12:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":65495,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70083,"src":"788:12:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65498,"nodeType":"ImportDirective","src":"830:88:98","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":55673,"symbolAliases":[{"foreign":{"id":65497,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55672,"src":"838:15:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65500,"nodeType":"ImportDirective","src":"919:71:98","nodes":[],"absolutePath":"pkg/contracts/src/BaseStrategyUpgradeable.sol","file":"../BaseStrategyUpgradeable.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":65472,"symbolAliases":[{"foreign":{"id":65499,"name":"BaseStrategyUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65471,"src":"927:23:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65502,"nodeType":"ImportDirective","src":"991:101:98","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":52904,"symbolAliases":[{"foreign":{"id":65501,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52903,"src":"999:18:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65504,"nodeType":"ImportDirective","src":"1093:68:98","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ICollateralVault.sol","file":"../interfaces/ICollateralVault.sol","nameLocation":"-1:-1:-1","scope":69235,"sourceUnit":74078,"symbolAliases":[{"foreign":{"id":65503,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74077,"src":"1101:16:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65534,"nodeType":"ContractDefinition","src":"1163:358:98","nodes":[{"id":65509,"nodeType":"FunctionDefinition","src":"1194:52:98","nodes":[],"functionSelector":"6453d9c4","implemented":false,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"1203:16:98","parameters":{"id":65507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65506,"mutability":"mutable","name":"_member","nameLocation":"1228:7:98","nodeType":"VariableDeclaration","scope":65509,"src":"1220:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65505,"name":"address","nodeType":"ElementaryTypeName","src":"1220:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1219:17:98"},"returnParameters":{"id":65508,"nodeType":"ParameterList","parameters":[],"src":"1245:0:98"},"scope":65534,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65518,"nodeType":"FunctionDefinition","src":"1252:91:98","nodes":[],"functionSelector":"782aadff","implemented":false,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"1261:13:98","parameters":{"id":65514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65511,"mutability":"mutable","name":"_member","nameLocation":"1283:7:98","nodeType":"VariableDeclaration","scope":65518,"src":"1275:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65510,"name":"address","nodeType":"ElementaryTypeName","src":"1275:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65513,"mutability":"mutable","name":"_amountToStake","nameLocation":"1300:14:98","nodeType":"VariableDeclaration","scope":65518,"src":"1292:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65512,"name":"uint256","nodeType":"ElementaryTypeName","src":"1292:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1274:41:98"},"returnParameters":{"id":65517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65516,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65518,"src":"1334:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65515,"name":"uint256","nodeType":"ElementaryTypeName","src":"1334:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1333:9:98"},"scope":65534,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65527,"nodeType":"FunctionDefinition","src":"1349:92:98","nodes":[],"functionSelector":"2ed04b2b","implemented":false,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"1358:13:98","parameters":{"id":65523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65520,"mutability":"mutable","name":"_member","nameLocation":"1380:7:98","nodeType":"VariableDeclaration","scope":65527,"src":"1372:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65519,"name":"address","nodeType":"ElementaryTypeName","src":"1372:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65522,"mutability":"mutable","name":"_amountToUntake","nameLocation":"1397:15:98","nodeType":"VariableDeclaration","scope":65527,"src":"1389:23:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65521,"name":"uint256","nodeType":"ElementaryTypeName","src":"1389:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1371:42:98"},"returnParameters":{"id":65526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65525,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65527,"src":"1432:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65524,"name":"uint256","nodeType":"ElementaryTypeName","src":"1432:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1431:9:98"},"scope":65534,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65533,"nodeType":"FunctionDefinition","src":"1447:72:98","nodes":[],"functionSelector":"c3292171","implemented":false,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"1456:14:98","parameters":{"id":65528,"nodeType":"ParameterList","parameters":[],"src":"1470:2:98"},"returnParameters":{"id":65532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65531,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65533,"src":"1491:26:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":65530,"nodeType":"UserDefinedTypeName","pathNode":{"id":65529,"name":"StrategyStruct.PointSystem","nameLocations":["1491:14:98","1506:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":65543,"src":"1491:26:98"},"referencedDeclaration":65543,"src":"1491:26:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"1490:28:98"},"scope":65534,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IPointStrategy","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[65534],"name":"IPointStrategy","nameLocation":"1173:14:98","scope":69235,"usedErrors":[]},{"id":65656,"nodeType":"ContractDefinition","src":"1523:2414:98","nodes":[{"id":65538,"nodeType":"EnumDefinition","src":"1552:79:98","nodes":[],"canonicalName":"StrategyStruct.ProposalType","members":[{"id":65535,"name":"Signaling","nameLocation":"1580:9:98","nodeType":"EnumValue","src":"1580:9:98"},{"id":65536,"name":"Funding","nameLocation":"1599:7:98","nodeType":"EnumValue","src":"1599:7:98"},{"id":65537,"name":"Streaming","nameLocation":"1616:9:98","nodeType":"EnumValue","src":"1616:9:98"}],"name":"ProposalType","nameLocation":"1557:12:98"},{"id":65543,"nodeType":"EnumDefinition","src":"1637:92:98","nodes":[],"canonicalName":"StrategyStruct.PointSystem","members":[{"id":65539,"name":"Fixed","nameLocation":"1664:5:98","nodeType":"EnumValue","src":"1664:5:98"},{"id":65540,"name":"Capped","nameLocation":"1679:6:98","nodeType":"EnumValue","src":"1679:6:98"},{"id":65541,"name":"Unlimited","nameLocation":"1695:9:98","nodeType":"EnumValue","src":"1695:9:98"},{"id":65542,"name":"Quadratic","nameLocation":"1714:9:98","nodeType":"EnumValue","src":"1714:9:98"}],"name":"PointSystem","nameLocation":"1642:11:98"},{"id":65555,"nodeType":"StructDefinition","src":"1735:243:98","nodes":[],"canonicalName":"StrategyStruct.CreateProposal","members":[{"constant":false,"id":65545,"mutability":"mutable","name":"poolId","nameLocation":"1806:6:98","nodeType":"VariableDeclaration","scope":65555,"src":"1798:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65544,"name":"uint256","nodeType":"ElementaryTypeName","src":"1798:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65547,"mutability":"mutable","name":"beneficiary","nameLocation":"1830:11:98","nodeType":"VariableDeclaration","scope":65555,"src":"1822:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65546,"name":"address","nodeType":"ElementaryTypeName","src":"1822:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65549,"mutability":"mutable","name":"amountRequested","nameLocation":"1897:15:98","nodeType":"VariableDeclaration","scope":65555,"src":"1889:23:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65548,"name":"uint256","nodeType":"ElementaryTypeName","src":"1889:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65551,"mutability":"mutable","name":"requestedToken","nameLocation":"1930:14:98","nodeType":"VariableDeclaration","scope":65555,"src":"1922:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65550,"name":"address","nodeType":"ElementaryTypeName","src":"1922:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65554,"mutability":"mutable","name":"metadata","nameLocation":"1963:8:98","nodeType":"VariableDeclaration","scope":65555,"src":"1954:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":65553,"nodeType":"UserDefinedTypeName","pathNode":{"id":65552,"name":"Metadata","nameLocations":["1954:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"1954:8:98"},"referencedDeclaration":3098,"src":"1954:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"CreateProposal","nameLocation":"1742:14:98","scope":65656,"visibility":"public"},{"id":65563,"nodeType":"EnumDefinition","src":"1984:392:98","nodes":[],"canonicalName":"StrategyStruct.ProposalStatus","members":[{"id":65556,"name":"Inactive","nameLocation":"2014:8:98","nodeType":"EnumValue","src":"2014:8:98"},{"id":65557,"name":"Active","nameLocation":"2044:6:98","nodeType":"EnumValue","src":"2044:6:98"},{"id":65558,"name":"Paused","nameLocation":"2107:6:98","nodeType":"EnumValue","src":"2107:6:98"},{"id":65559,"name":"Cancelled","nameLocation":"2173:9:98","nodeType":"EnumValue","src":"2173:9:98"},{"id":65560,"name":"Executed","nameLocation":"2226:8:98","nodeType":"EnumValue","src":"2226:8:98"},{"id":65561,"name":"Disputed","nameLocation":"2277:8:98","nodeType":"EnumValue","src":"2277:8:98"},{"id":65562,"name":"Rejected","nameLocation":"2328:8:98","nodeType":"EnumValue","src":"2328:8:98"}],"name":"ProposalStatus","nameLocation":"1989:14:98"},{"id":65570,"nodeType":"StructDefinition","src":"2382:123:98","nodes":[],"canonicalName":"StrategyStruct.ProposalDisputeInfo","members":[{"constant":false,"id":65565,"mutability":"mutable","name":"disputeId","nameLocation":"2427:9:98","nodeType":"VariableDeclaration","scope":65570,"src":"2419:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65564,"name":"uint256","nodeType":"ElementaryTypeName","src":"2419:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65567,"mutability":"mutable","name":"disputeTimestamp","nameLocation":"2454:16:98","nodeType":"VariableDeclaration","scope":65570,"src":"2446:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65566,"name":"uint256","nodeType":"ElementaryTypeName","src":"2446:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65569,"mutability":"mutable","name":"challenger","nameLocation":"2488:10:98","nodeType":"VariableDeclaration","scope":65570,"src":"2480:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65568,"name":"address","nodeType":"ElementaryTypeName","src":"2480:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"ProposalDisputeInfo","nameLocation":"2389:19:98","scope":65656,"visibility":"public"},{"id":65604,"nodeType":"StructDefinition","src":"2511:526:98","nodes":[],"canonicalName":"StrategyStruct.Proposal","members":[{"constant":false,"id":65572,"mutability":"mutable","name":"proposalId","nameLocation":"2545:10:98","nodeType":"VariableDeclaration","scope":65604,"src":"2537:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65571,"name":"uint256","nodeType":"ElementaryTypeName","src":"2537:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65574,"mutability":"mutable","name":"requestedAmount","nameLocation":"2573:15:98","nodeType":"VariableDeclaration","scope":65604,"src":"2565:23:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65573,"name":"uint256","nodeType":"ElementaryTypeName","src":"2565:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65576,"mutability":"mutable","name":"stakedAmount","nameLocation":"2606:12:98","nodeType":"VariableDeclaration","scope":65604,"src":"2598:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65575,"name":"uint256","nodeType":"ElementaryTypeName","src":"2598:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65578,"mutability":"mutable","name":"convictionLast","nameLocation":"2636:14:98","nodeType":"VariableDeclaration","scope":65604,"src":"2628:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65577,"name":"uint256","nodeType":"ElementaryTypeName","src":"2628:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65580,"mutability":"mutable","name":"beneficiary","nameLocation":"2668:11:98","nodeType":"VariableDeclaration","scope":65604,"src":"2660:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65579,"name":"address","nodeType":"ElementaryTypeName","src":"2660:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65582,"mutability":"mutable","name":"submitter","nameLocation":"2697:9:98","nodeType":"VariableDeclaration","scope":65604,"src":"2689:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65581,"name":"address","nodeType":"ElementaryTypeName","src":"2689:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65584,"mutability":"mutable","name":"requestedToken","nameLocation":"2724:14:98","nodeType":"VariableDeclaration","scope":65604,"src":"2716:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65583,"name":"address","nodeType":"ElementaryTypeName","src":"2716:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65586,"mutability":"mutable","name":"blockLast","nameLocation":"2756:9:98","nodeType":"VariableDeclaration","scope":65604,"src":"2748:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65585,"name":"uint256","nodeType":"ElementaryTypeName","src":"2748:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65589,"mutability":"mutable","name":"proposalStatus","nameLocation":"2790:14:98","nodeType":"VariableDeclaration","scope":65604,"src":"2775:29:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":65588,"nodeType":"UserDefinedTypeName","pathNode":{"id":65587,"name":"ProposalStatus","nameLocations":["2775:14:98"],"nodeType":"IdentifierPath","referencedDeclaration":65563,"src":"2775:14:98"},"referencedDeclaration":65563,"src":"2775:14:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":65593,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"2842:17:98","nodeType":"VariableDeclaration","scope":65604,"src":"2814:45:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":65592,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65590,"name":"address","nodeType":"ElementaryTypeName","src":"2822:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2814:27:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65591,"name":"uint256","nodeType":"ElementaryTypeName","src":"2833:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":65596,"mutability":"mutable","name":"metadata","nameLocation":"2901:8:98","nodeType":"VariableDeclaration","scope":65604,"src":"2892:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":65595,"nodeType":"UserDefinedTypeName","pathNode":{"id":65594,"name":"Metadata","nameLocations":["2892:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2892:8:98"},"referencedDeclaration":3098,"src":"2892:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":65599,"mutability":"mutable","name":"disputeInfo","nameLocation":"2939:11:98","nodeType":"VariableDeclaration","scope":65604,"src":"2919:31:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"},"typeName":{"id":65598,"nodeType":"UserDefinedTypeName","pathNode":{"id":65597,"name":"ProposalDisputeInfo","nameLocations":["2919:19:98"],"nodeType":"IdentifierPath","referencedDeclaration":65570,"src":"2919:19:98"},"referencedDeclaration":65570,"src":"2919:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage_ptr","typeString":"struct StrategyStruct.ProposalDisputeInfo"}},"visibility":"internal"},{"constant":false,"id":65601,"mutability":"mutable","name":"lastDisputeCompletion","nameLocation":"2968:21:98","nodeType":"VariableDeclaration","scope":65604,"src":"2960:29:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65600,"name":"uint256","nodeType":"ElementaryTypeName","src":"2960:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65603,"mutability":"mutable","name":"arbitrableConfigVersion","nameLocation":"3007:23:98","nodeType":"VariableDeclaration","scope":65604,"src":"2999:31:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65602,"name":"uint256","nodeType":"ElementaryTypeName","src":"2999:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Proposal","nameLocation":"2518:8:98","scope":65656,"visibility":"public"},{"id":65609,"nodeType":"StructDefinition","src":"3043:126:98","nodes":[],"canonicalName":"StrategyStruct.ProposalSupport","members":[{"constant":false,"id":65606,"mutability":"mutable","name":"proposalId","nameLocation":"3084:10:98","nodeType":"VariableDeclaration","scope":65609,"src":"3076:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65605,"name":"uint256","nodeType":"ElementaryTypeName","src":"3076:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65608,"mutability":"mutable","name":"deltaSupport","nameLocation":"3111:12:98","nodeType":"VariableDeclaration","scope":65609,"src":"3104:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":65607,"name":"int256","nodeType":"ElementaryTypeName","src":"3104:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"ProposalSupport","nameLocation":"3050:15:98","scope":65656,"visibility":"public"},{"id":65612,"nodeType":"StructDefinition","src":"3175:89:98","nodes":[],"canonicalName":"StrategyStruct.PointSystemConfig","members":[{"constant":false,"id":65611,"mutability":"mutable","name":"maxAmount","nameLocation":"3248:9:98","nodeType":"VariableDeclaration","scope":65612,"src":"3240:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65610,"name":"uint256","nodeType":"ElementaryTypeName","src":"3240:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"PointSystemConfig","nameLocation":"3182:17:98","scope":65656,"visibility":"public"},{"id":65626,"nodeType":"StructDefinition","src":"3270:249:98","nodes":[],"canonicalName":"StrategyStruct.ArbitrableConfig","members":[{"constant":false,"id":65615,"mutability":"mutable","name":"arbitrator","nameLocation":"3316:10:98","nodeType":"VariableDeclaration","scope":65626,"src":"3304:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"},"typeName":{"id":65614,"nodeType":"UserDefinedTypeName","pathNode":{"id":65613,"name":"IArbitrator","nameLocations":["3304:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":74044,"src":"3304:11:98"},"referencedDeclaration":74044,"src":"3304:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":65617,"mutability":"mutable","name":"tribunalSafe","nameLocation":"3344:12:98","nodeType":"VariableDeclaration","scope":65626,"src":"3336:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65616,"name":"address","nodeType":"ElementaryTypeName","src":"3336:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65619,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"3374:25:98","nodeType":"VariableDeclaration","scope":65626,"src":"3366:33:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65618,"name":"uint256","nodeType":"ElementaryTypeName","src":"3366:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65621,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"3417:26:98","nodeType":"VariableDeclaration","scope":65626,"src":"3409:34:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65620,"name":"uint256","nodeType":"ElementaryTypeName","src":"3409:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65623,"mutability":"mutable","name":"defaultRuling","nameLocation":"3461:13:98","nodeType":"VariableDeclaration","scope":65626,"src":"3453:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65622,"name":"uint256","nodeType":"ElementaryTypeName","src":"3453:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65625,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"3492:20:98","nodeType":"VariableDeclaration","scope":65626,"src":"3484:28:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65624,"name":"uint256","nodeType":"ElementaryTypeName","src":"3484:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ArbitrableConfig","nameLocation":"3277:16:98","scope":65656,"visibility":"public"},{"id":65635,"nodeType":"StructDefinition","src":"3525:132:98","nodes":[],"canonicalName":"StrategyStruct.CVParams","members":[{"constant":false,"id":65628,"mutability":"mutable","name":"maxRatio","nameLocation":"3559:8:98","nodeType":"VariableDeclaration","scope":65635,"src":"3551:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65627,"name":"uint256","nodeType":"ElementaryTypeName","src":"3551:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65630,"mutability":"mutable","name":"weight","nameLocation":"3585:6:98","nodeType":"VariableDeclaration","scope":65635,"src":"3577:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65629,"name":"uint256","nodeType":"ElementaryTypeName","src":"3577:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65632,"mutability":"mutable","name":"decay","nameLocation":"3609:5:98","nodeType":"VariableDeclaration","scope":65635,"src":"3601:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65631,"name":"uint256","nodeType":"ElementaryTypeName","src":"3601:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65634,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"3632:18:98","nodeType":"VariableDeclaration","scope":65635,"src":"3624:26:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65633,"name":"uint256","nodeType":"ElementaryTypeName","src":"3624:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"CVParams","nameLocation":"3532:8:98","scope":65656,"visibility":"public"},{"id":65655,"nodeType":"StructDefinition","src":"3663:272:98","nodes":[],"canonicalName":"StrategyStruct.InitializeParams","members":[{"constant":false,"id":65638,"mutability":"mutable","name":"cvParams","nameLocation":"3706:8:98","nodeType":"VariableDeclaration","scope":65655,"src":"3697:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":65637,"nodeType":"UserDefinedTypeName","pathNode":{"id":65636,"name":"CVParams","nameLocations":["3697:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65635,"src":"3697:8:98"},"referencedDeclaration":65635,"src":"3697:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"},{"constant":false,"id":65641,"mutability":"mutable","name":"proposalType","nameLocation":"3737:12:98","nodeType":"VariableDeclaration","scope":65655,"src":"3724:25:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":65640,"nodeType":"UserDefinedTypeName","pathNode":{"id":65639,"name":"ProposalType","nameLocations":["3724:12:98"],"nodeType":"IdentifierPath","referencedDeclaration":65538,"src":"3724:12:98"},"referencedDeclaration":65538,"src":"3724:12:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":65644,"mutability":"mutable","name":"pointSystem","nameLocation":"3771:11:98","nodeType":"VariableDeclaration","scope":65655,"src":"3759:23:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":65643,"nodeType":"UserDefinedTypeName","pathNode":{"id":65642,"name":"PointSystem","nameLocations":["3759:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":65543,"src":"3759:11:98"},"referencedDeclaration":65543,"src":"3759:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":65647,"mutability":"mutable","name":"pointConfig","nameLocation":"3810:11:98","nodeType":"VariableDeclaration","scope":65655,"src":"3792:29:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":65646,"nodeType":"UserDefinedTypeName","pathNode":{"id":65645,"name":"PointSystemConfig","nameLocations":["3792:17:98"],"nodeType":"IdentifierPath","referencedDeclaration":65612,"src":"3792:17:98"},"referencedDeclaration":65612,"src":"3792:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":65650,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"3848:16:98","nodeType":"VariableDeclaration","scope":65655,"src":"3831:33:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":65649,"nodeType":"UserDefinedTypeName","pathNode":{"id":65648,"name":"ArbitrableConfig","nameLocations":["3831:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65626,"src":"3831:16:98"},"referencedDeclaration":65626,"src":"3831:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":65652,"mutability":"mutable","name":"registryCommunity","nameLocation":"3882:17:98","nodeType":"VariableDeclaration","scope":65655,"src":"3874:25:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65651,"name":"address","nodeType":"ElementaryTypeName","src":"3874:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65654,"mutability":"mutable","name":"sybilScorer","nameLocation":"3917:11:98","nodeType":"VariableDeclaration","scope":65655,"src":"3909:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65653,"name":"address","nodeType":"ElementaryTypeName","src":"3909:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"3670:16:98","scope":65656,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"StrategyStruct","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[65656],"name":"StrategyStruct","nameLocation":"1531:14:98","scope":69235,"usedErrors":[]},{"id":69234,"nodeType":"ContractDefinition","src":"3983:51407:98","nodes":[{"id":65667,"nodeType":"ErrorDefinition","src":"4243:25:98","nodes":[],"errorSelector":"d1f28288","name":"UserCannotBeZero","nameLocation":"4249:16:98","parameters":{"id":65666,"nodeType":"ParameterList","parameters":[],"src":"4265:2:98"}},{"id":65669,"nodeType":"ErrorDefinition","src":"4287:26:98","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"4293:17:98","parameters":{"id":65668,"nodeType":"ParameterList","parameters":[],"src":"4310:2:98"}},{"id":65671,"nodeType":"ErrorDefinition","src":"4331:23:98","nodes":[],"errorSelector":"5fccb67f","name":"UserIsInactive","nameLocation":"4337:14:98","parameters":{"id":65670,"nodeType":"ParameterList","parameters":[],"src":"4351:2:98"}},{"id":65673,"nodeType":"ErrorDefinition","src":"4373:20:98","nodes":[],"errorSelector":"ed4421ad","name":"PoolIsEmpty","nameLocation":"4379:11:98","parameters":{"id":65672,"nodeType":"ParameterList","parameters":[],"src":"4390:2:98"}},{"id":65675,"nodeType":"ErrorDefinition","src":"4412:23:98","nodes":[],"errorSelector":"d6234725","name":"NotImplemented","nameLocation":"4418:14:98","parameters":{"id":65674,"nodeType":"ParameterList","parameters":[],"src":"4432:2:98"}},{"id":65677,"nodeType":"ErrorDefinition","src":"4453:26:98","nodes":[],"errorSelector":"596a094c","name":"TokenCannotBeZero","nameLocation":"4459:17:98","parameters":{"id":65676,"nodeType":"ParameterList","parameters":[],"src":"4476:2:98"}},{"id":65679,"nodeType":"ErrorDefinition","src":"4497:24:98","nodes":[],"errorSelector":"a29c4986","name":"TokenNotAllowed","nameLocation":"4503:15:98","parameters":{"id":65678,"nodeType":"ParameterList","parameters":[],"src":"4518:2:98"}},{"id":65681,"nodeType":"ErrorDefinition","src":"4540:27:98","nodes":[],"errorSelector":"3bf5ca14","name":"AmountOverMaxRatio","nameLocation":"4546:18:98","parameters":{"id":65680,"nodeType":"ParameterList","parameters":[],"src":"4564:2:98"}},{"id":65683,"nodeType":"ErrorDefinition","src":"4586:27:98","nodes":[],"errorSelector":"4e791786","name":"PoolIdCannotBeZero","nameLocation":"4592:18:98","parameters":{"id":65682,"nodeType":"ParameterList","parameters":[],"src":"4610:2:98"}},{"id":65685,"nodeType":"ErrorDefinition","src":"4631:28:98","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"4637:19:98","parameters":{"id":65684,"nodeType":"ParameterList","parameters":[],"src":"4656:2:98"}},{"id":65687,"nodeType":"ErrorDefinition","src":"4677:29:98","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"4683:20:98","parameters":{"id":65686,"nodeType":"ParameterList","parameters":[],"src":"4703:2:98"}},{"id":65695,"nodeType":"ErrorDefinition","src":"4725:72:98","nodes":[],"errorSelector":"3bbc7142","name":"SupportUnderflow","nameLocation":"4731:16:98","parameters":{"id":65694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65689,"mutability":"mutable","name":"_support","nameLocation":"4756:8:98","nodeType":"VariableDeclaration","scope":65695,"src":"4748:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65688,"name":"uint256","nodeType":"ElementaryTypeName","src":"4748:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65691,"mutability":"mutable","name":"_delta","nameLocation":"4773:6:98","nodeType":"VariableDeclaration","scope":65695,"src":"4766:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":65690,"name":"int256","nodeType":"ElementaryTypeName","src":"4766:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":65693,"mutability":"mutable","name":"_result","nameLocation":"4788:7:98","nodeType":"VariableDeclaration","scope":65695,"src":"4781:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":65692,"name":"int256","nodeType":"ElementaryTypeName","src":"4781:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4747:49:98"}},{"id":65697,"nodeType":"ErrorDefinition","src":"4816:25:98","nodes":[],"errorSelector":"8402b474","name":"MaxPointsReached","nameLocation":"4822:16:98","parameters":{"id":65696,"nodeType":"ParameterList","parameters":[],"src":"4838:2:98"}},{"id":65699,"nodeType":"ErrorDefinition","src":"4860:32:98","nodes":[],"errorSelector":"573c3e93","name":"CantIncreaseFixedSystem","nameLocation":"4866:23:98","parameters":{"id":65698,"nodeType":"ParameterList","parameters":[],"src":"4889:2:98"}},{"id":65705,"nodeType":"ErrorDefinition","src":"4911:77:98","nodes":[],"errorSelector":"d64182fe","name":"NotEnoughPointsToSupport","nameLocation":"4917:24:98","parameters":{"id":65704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65701,"mutability":"mutable","name":"pointsSupport","nameLocation":"4950:13:98","nodeType":"VariableDeclaration","scope":65705,"src":"4942:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65700,"name":"uint256","nodeType":"ElementaryTypeName","src":"4942:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65703,"mutability":"mutable","name":"pointsBalance","nameLocation":"4973:13:98","nodeType":"VariableDeclaration","scope":65705,"src":"4965:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65702,"name":"uint256","nodeType":"ElementaryTypeName","src":"4965:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4941:46:98"}},{"id":65707,"nodeType":"ErrorDefinition","src":"5008:28:98","nodes":[],"errorSelector":"c5f7c4c0","name":"ProposalDataIsEmpty","nameLocation":"5014:19:98","parameters":{"id":65706,"nodeType":"ParameterList","parameters":[],"src":"5033:2:98"}},{"id":65709,"nodeType":"ErrorDefinition","src":"5054:31:98","nodes":[],"errorSelector":"f881a10d","name":"ProposalIdCannotBeZero","nameLocation":"5060:22:98","parameters":{"id":65708,"nodeType":"ParameterList","parameters":[],"src":"5082:2:98"}},{"id":65713,"nodeType":"ErrorDefinition","src":"5103:45:98","nodes":[],"errorSelector":"44980d8f","name":"ProposalNotActive","nameLocation":"5109:17:98","parameters":{"id":65712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65711,"mutability":"mutable","name":"_proposalId","nameLocation":"5135:11:98","nodeType":"VariableDeclaration","scope":65713,"src":"5127:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65710,"name":"uint256","nodeType":"ElementaryTypeName","src":"5127:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5126:21:98"}},{"id":65717,"nodeType":"ErrorDefinition","src":"5167:45:98","nodes":[],"errorSelector":"c1d17bef","name":"ProposalNotInList","nameLocation":"5173:17:98","parameters":{"id":65716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65715,"mutability":"mutable","name":"_proposalId","nameLocation":"5199:11:98","nodeType":"VariableDeclaration","scope":65717,"src":"5191:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65714,"name":"uint256","nodeType":"ElementaryTypeName","src":"5191:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5190:21:98"}},{"id":65723,"nodeType":"ErrorDefinition","src":"5231:68:98","nodes":[],"errorSelector":"adebb154","name":"ProposalSupportDuplicated","nameLocation":"5237:25:98","parameters":{"id":65722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65719,"mutability":"mutable","name":"_proposalId","nameLocation":"5271:11:98","nodeType":"VariableDeclaration","scope":65723,"src":"5263:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65718,"name":"uint256","nodeType":"ElementaryTypeName","src":"5263:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65721,"mutability":"mutable","name":"index","nameLocation":"5292:5:98","nodeType":"VariableDeclaration","scope":65723,"src":"5284:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65720,"name":"uint256","nodeType":"ElementaryTypeName","src":"5284:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5262:36:98"}},{"id":65725,"nodeType":"ErrorDefinition","src":"5317:40:98","nodes":[],"errorSelector":"cce79308","name":"ConvictionUnderMinimumThreshold","nameLocation":"5323:31:98","parameters":{"id":65724,"nodeType":"ParameterList","parameters":[],"src":"5354:2:98"}},{"id":65727,"nodeType":"ErrorDefinition","src":"5376:29:98","nodes":[],"errorSelector":"af0916a2","name":"OnlyCommunityAllowed","nameLocation":"5382:20:98","parameters":{"id":65726,"nodeType":"ParameterList","parameters":[],"src":"5402:2:98"}},{"id":65735,"nodeType":"ErrorDefinition","src":"5424:94:98","nodes":[],"errorSelector":"5863b0b6","name":"PoolAmountNotEnough","nameLocation":"5430:19:98","parameters":{"id":65734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65729,"mutability":"mutable","name":"_proposalId","nameLocation":"5458:11:98","nodeType":"VariableDeclaration","scope":65735,"src":"5450:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65728,"name":"uint256","nodeType":"ElementaryTypeName","src":"5450:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65731,"mutability":"mutable","name":"_requestedAmount","nameLocation":"5479:16:98","nodeType":"VariableDeclaration","scope":65735,"src":"5471:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65730,"name":"uint256","nodeType":"ElementaryTypeName","src":"5471:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65733,"mutability":"mutable","name":"_poolAmount","nameLocation":"5505:11:98","nodeType":"VariableDeclaration","scope":65735,"src":"5497:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65732,"name":"uint256","nodeType":"ElementaryTypeName","src":"5497:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5449:68:98"}},{"id":65737,"nodeType":"ErrorDefinition","src":"5536:24:98","nodes":[],"errorSelector":"e860ec7e","name":"OnlyCouncilSafe","nameLocation":"5542:15:98","parameters":{"id":65736,"nodeType":"ParameterList","parameters":[],"src":"5557:2:98"}},{"id":65739,"nodeType":"ErrorDefinition","src":"5565:32:98","nodes":[],"errorSelector":"5b96b588","name":"UserCannotExecuteAction","nameLocation":"5571:23:98","parameters":{"id":65738,"nodeType":"ParameterList","parameters":[],"src":"5594:2:98"}},{"id":65745,"nodeType":"ErrorDefinition","src":"5602:73:98","nodes":[],"errorSelector":"b07e3bc4","name":"InsufficientCollateral","nameLocation":"5608:22:98","parameters":{"id":65744,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65741,"mutability":"mutable","name":"sentAmount","nameLocation":"5639:10:98","nodeType":"VariableDeclaration","scope":65745,"src":"5631:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65740,"name":"uint256","nodeType":"ElementaryTypeName","src":"5631:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65743,"mutability":"mutable","name":"requiredAmount","nameLocation":"5659:14:98","nodeType":"VariableDeclaration","scope":65745,"src":"5651:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65742,"name":"uint256","nodeType":"ElementaryTypeName","src":"5651:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5630:44:98"}},{"id":65747,"nodeType":"ErrorDefinition","src":"5680:23:98","nodes":[],"errorSelector":"2eef310a","name":"OnlyArbitrator","nameLocation":"5686:14:98","parameters":{"id":65746,"nodeType":"ParameterList","parameters":[],"src":"5700:2:98"}},{"id":65751,"nodeType":"ErrorDefinition","src":"5708:47:98","nodes":[],"errorSelector":"96023952","name":"ProposalNotDisputed","nameLocation":"5714:19:98","parameters":{"id":65750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65749,"mutability":"mutable","name":"_proposalId","nameLocation":"5742:11:98","nodeType":"VariableDeclaration","scope":65751,"src":"5734:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65748,"name":"uint256","nodeType":"ElementaryTypeName","src":"5734:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5733:21:98"}},{"id":65753,"nodeType":"ErrorDefinition","src":"5760:31:98","nodes":[],"errorSelector":"6c291fd3","name":"ArbitratorCannotBeZero","nameLocation":"5766:22:98","parameters":{"id":65752,"nodeType":"ParameterList","parameters":[],"src":"5788:2:98"}},{"id":65759,"nodeType":"ErrorDefinition","src":"5796:55:98","nodes":[],"errorSelector":"8a89b922","name":"OnlySubmitter","nameLocation":"5802:13:98","parameters":{"id":65758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65755,"mutability":"mutable","name":"submitter","nameLocation":"5824:9:98","nodeType":"VariableDeclaration","scope":65759,"src":"5816:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65754,"name":"address","nodeType":"ElementaryTypeName","src":"5816:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65757,"mutability":"mutable","name":"sender","nameLocation":"5843:6:98","nodeType":"VariableDeclaration","scope":65759,"src":"5835:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65756,"name":"address","nodeType":"ElementaryTypeName","src":"5835:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5815:35:98"}},{"id":65761,"nodeType":"ErrorDefinition","src":"5937:28:98","nodes":[],"errorSelector":"dd466dd0","name":"DefaultRulingNotSet","nameLocation":"5943:19:98","parameters":{"id":65760,"nodeType":"ParameterList","parameters":[],"src":"5962:2:98"}},{"id":65767,"nodeType":"ErrorDefinition","src":"5970:75:98","nodes":[],"errorSelector":"8d2f6c31","name":"DisputeCooldownNotPassed","nameLocation":"5976:24:98","parameters":{"id":65766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65763,"mutability":"mutable","name":"_proposalId","nameLocation":"6009:11:98","nodeType":"VariableDeclaration","scope":65767,"src":"6001:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65762,"name":"uint256","nodeType":"ElementaryTypeName","src":"6001:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65765,"mutability":"mutable","name":"_remainingSec","nameLocation":"6030:13:98","nodeType":"VariableDeclaration","scope":65767,"src":"6022:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65764,"name":"uint256","nodeType":"ElementaryTypeName","src":"6022:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6000:44:98"}},{"id":65774,"nodeType":"EventDefinition","src":"6217:74:98","nodes":[],"anonymous":false,"eventSelector":"e5315be7b0ab27f8044fa25213ec2851fa61dd47203db658cf77f45f39ffc37b","name":"InitializedCV","nameLocation":"6223:13:98","parameters":{"id":65773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65769,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6245:6:98","nodeType":"VariableDeclaration","scope":65774,"src":"6237:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65768,"name":"uint256","nodeType":"ElementaryTypeName","src":"6237:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65772,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"6285:4:98","nodeType":"VariableDeclaration","scope":65774,"src":"6253:36:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":65771,"nodeType":"UserDefinedTypeName","pathNode":{"id":65770,"name":"StrategyStruct.InitializeParams","nameLocations":["6253:14:98","6268:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65655,"src":"6253:31:98"},"referencedDeclaration":65655,"src":"6253:31:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"6236:54:98"}},{"id":65782,"nodeType":"EventDefinition","src":"6296:75:98","nodes":[],"anonymous":false,"eventSelector":"a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847","name":"Distributed","nameLocation":"6302:11:98","parameters":{"id":65781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65776,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6322:10:98","nodeType":"VariableDeclaration","scope":65782,"src":"6314:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65775,"name":"uint256","nodeType":"ElementaryTypeName","src":"6314:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65778,"indexed":false,"mutability":"mutable","name":"beneficiary","nameLocation":"6342:11:98","nodeType":"VariableDeclaration","scope":65782,"src":"6334:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65777,"name":"address","nodeType":"ElementaryTypeName","src":"6334:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65780,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6363:6:98","nodeType":"VariableDeclaration","scope":65782,"src":"6355:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65779,"name":"uint256","nodeType":"ElementaryTypeName","src":"6355:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6313:57:98"}},{"id":65788,"nodeType":"EventDefinition","src":"6376:58:98","nodes":[],"anonymous":false,"eventSelector":"fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b","name":"ProposalCreated","nameLocation":"6382:15:98","parameters":{"id":65787,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65784,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"6406:6:98","nodeType":"VariableDeclaration","scope":65788,"src":"6398:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65783,"name":"uint256","nodeType":"ElementaryTypeName","src":"6398:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65786,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6422:10:98","nodeType":"VariableDeclaration","scope":65788,"src":"6414:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65785,"name":"uint256","nodeType":"ElementaryTypeName","src":"6414:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6397:36:98"}},{"id":65792,"nodeType":"EventDefinition","src":"6439:42:98","nodes":[],"anonymous":false,"eventSelector":"46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339","name":"PoolAmountIncreased","nameLocation":"6445:19:98","parameters":{"id":65791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65790,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6473:6:98","nodeType":"VariableDeclaration","scope":65792,"src":"6465:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65789,"name":"uint256","nodeType":"ElementaryTypeName","src":"6465:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6464:16:98"}},{"id":65796,"nodeType":"EventDefinition","src":"6486:40:98","nodes":[],"anonymous":false,"eventSelector":"1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b","name":"PointsDeactivated","nameLocation":"6492:17:98","parameters":{"id":65795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65794,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6518:6:98","nodeType":"VariableDeclaration","scope":65796,"src":"6510:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65793,"name":"address","nodeType":"ElementaryTypeName","src":"6510:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6509:16:98"}},{"id":65804,"nodeType":"EventDefinition","src":"6531:85:98","nodes":[],"anonymous":false,"eventSelector":"0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a","name":"PowerIncreased","nameLocation":"6537:14:98","parameters":{"id":65803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65798,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6560:6:98","nodeType":"VariableDeclaration","scope":65804,"src":"6552:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65797,"name":"address","nodeType":"ElementaryTypeName","src":"6552:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65800,"indexed":false,"mutability":"mutable","name":"tokensStaked","nameLocation":"6576:12:98","nodeType":"VariableDeclaration","scope":65804,"src":"6568:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65799,"name":"uint256","nodeType":"ElementaryTypeName","src":"6568:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65802,"indexed":false,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"6598:16:98","nodeType":"VariableDeclaration","scope":65804,"src":"6590:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65801,"name":"uint256","nodeType":"ElementaryTypeName","src":"6590:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6551:64:98"}},{"id":65812,"nodeType":"EventDefinition","src":"6621:87:98","nodes":[],"anonymous":false,"eventSelector":"70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1","name":"PowerDecreased","nameLocation":"6627:14:98","parameters":{"id":65811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65806,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"6650:6:98","nodeType":"VariableDeclaration","scope":65812,"src":"6642:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65805,"name":"address","nodeType":"ElementaryTypeName","src":"6642:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65808,"indexed":false,"mutability":"mutable","name":"tokensUnStaked","nameLocation":"6666:14:98","nodeType":"VariableDeclaration","scope":65812,"src":"6658:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65807,"name":"uint256","nodeType":"ElementaryTypeName","src":"6658:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65810,"indexed":false,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"6690:16:98","nodeType":"VariableDeclaration","scope":65812,"src":"6682:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65809,"name":"uint256","nodeType":"ElementaryTypeName","src":"6682:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6641:66:98"}},{"id":65824,"nodeType":"EventDefinition","src":"6713:134:98","nodes":[],"anonymous":false,"eventSelector":"0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f","name":"SupportAdded","nameLocation":"6719:12:98","parameters":{"id":65823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65814,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"6749:4:98","nodeType":"VariableDeclaration","scope":65824,"src":"6741:12:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65813,"name":"address","nodeType":"ElementaryTypeName","src":"6741:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65816,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"6763:10:98","nodeType":"VariableDeclaration","scope":65824,"src":"6755:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65815,"name":"uint256","nodeType":"ElementaryTypeName","src":"6755:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65818,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6783:6:98","nodeType":"VariableDeclaration","scope":65824,"src":"6775:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65817,"name":"uint256","nodeType":"ElementaryTypeName","src":"6775:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65820,"indexed":false,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"6799:17:98","nodeType":"VariableDeclaration","scope":65824,"src":"6791:25:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65819,"name":"uint256","nodeType":"ElementaryTypeName","src":"6791:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65822,"indexed":false,"mutability":"mutable","name":"convictionLast","nameLocation":"6826:14:98","nodeType":"VariableDeclaration","scope":65824,"src":"6818:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65821,"name":"uint256","nodeType":"ElementaryTypeName","src":"6818:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6731:115:98"}},{"id":65829,"nodeType":"EventDefinition","src":"6852:56:98","nodes":[],"anonymous":false,"eventSelector":"ec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc","name":"CVParamsUpdated","nameLocation":"6858:15:98","parameters":{"id":65828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65827,"indexed":false,"mutability":"mutable","name":"cvParams","nameLocation":"6898:8:98","nodeType":"VariableDeclaration","scope":65829,"src":"6874:32:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":65826,"nodeType":"UserDefinedTypeName","pathNode":{"id":65825,"name":"StrategyStruct.CVParams","nameLocations":["6874:14:98","6889:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65635,"src":"6874:23:98"},"referencedDeclaration":65635,"src":"6874:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"6873:34:98"}},{"id":65833,"nodeType":"EventDefinition","src":"6913:49:98","nodes":[],"anonymous":false,"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"6919:15:98","parameters":{"id":65832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65831,"indexed":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"6943:17:98","nodeType":"VariableDeclaration","scope":65833,"src":"6935:25:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65830,"name":"address","nodeType":"ElementaryTypeName","src":"6935:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6934:27:98"}},{"id":65839,"nodeType":"EventDefinition","src":"6967:76:98","nodes":[],"anonymous":false,"eventSelector":"056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b","name":"MinThresholdPointsUpdated","nameLocation":"6973:25:98","parameters":{"id":65838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65835,"indexed":false,"mutability":"mutable","name":"before","nameLocation":"7007:6:98","nodeType":"VariableDeclaration","scope":65839,"src":"6999:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65834,"name":"uint256","nodeType":"ElementaryTypeName","src":"6999:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65837,"indexed":false,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"7023:18:98","nodeType":"VariableDeclaration","scope":65839,"src":"7015:26:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65836,"name":"uint256","nodeType":"ElementaryTypeName","src":"7015:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6998:44:98"}},{"id":65854,"nodeType":"EventDefinition","src":"7048:195:98","nodes":[],"anonymous":false,"eventSelector":"034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d","name":"ProposalDisputed","nameLocation":"7054:16:98","parameters":{"id":65853,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65842,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7092:10:98","nodeType":"VariableDeclaration","scope":65854,"src":"7080:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"},"typeName":{"id":65841,"nodeType":"UserDefinedTypeName","pathNode":{"id":65840,"name":"IArbitrator","nameLocations":["7080:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":74044,"src":"7080:11:98"},"referencedDeclaration":74044,"src":"7080:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":65844,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7120:10:98","nodeType":"VariableDeclaration","scope":65854,"src":"7112:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65843,"name":"uint256","nodeType":"ElementaryTypeName","src":"7112:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65846,"indexed":false,"mutability":"mutable","name":"disputeId","nameLocation":"7148:9:98","nodeType":"VariableDeclaration","scope":65854,"src":"7140:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65845,"name":"uint256","nodeType":"ElementaryTypeName","src":"7140:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65848,"indexed":false,"mutability":"mutable","name":"challenger","nameLocation":"7175:10:98","nodeType":"VariableDeclaration","scope":65854,"src":"7167:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65847,"name":"address","nodeType":"ElementaryTypeName","src":"7167:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65850,"indexed":false,"mutability":"mutable","name":"context","nameLocation":"7202:7:98","nodeType":"VariableDeclaration","scope":65854,"src":"7195:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65849,"name":"string","nodeType":"ElementaryTypeName","src":"7195:6:98","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":65852,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"7227:9:98","nodeType":"VariableDeclaration","scope":65854,"src":"7219:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65851,"name":"uint256","nodeType":"ElementaryTypeName","src":"7219:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7070:172:98"}},{"id":65862,"nodeType":"EventDefinition","src":"7248:88:98","nodes":[],"anonymous":false,"eventSelector":"dc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f","name":"TribunaSafeRegistered","nameLocation":"7254:21:98","parameters":{"id":65861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65856,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7284:8:98","nodeType":"VariableDeclaration","scope":65862,"src":"7276:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65855,"name":"address","nodeType":"ElementaryTypeName","src":"7276:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65858,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7302:10:98","nodeType":"VariableDeclaration","scope":65862,"src":"7294:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65857,"name":"address","nodeType":"ElementaryTypeName","src":"7294:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65860,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"7322:12:98","nodeType":"VariableDeclaration","scope":65862,"src":"7314:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65859,"name":"address","nodeType":"ElementaryTypeName","src":"7314:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7275:60:98"}},{"id":65866,"nodeType":"EventDefinition","src":"7341:44:98","nodes":[],"anonymous":false,"eventSelector":"416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c","name":"ProposalCancelled","nameLocation":"7347:17:98","parameters":{"id":65865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65864,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"7373:10:98","nodeType":"VariableDeclaration","scope":65866,"src":"7365:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65863,"name":"uint256","nodeType":"ElementaryTypeName","src":"7365:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7364:20:98"}},{"id":65883,"nodeType":"EventDefinition","src":"7390:302:98","nodes":[],"anonymous":false,"eventSelector":"e677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d53","name":"ArbitrableConfigUpdated","nameLocation":"7396:23:98","parameters":{"id":65882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65868,"indexed":false,"mutability":"mutable","name":"currentArbitrableConfigVersion","nameLocation":"7437:30:98","nodeType":"VariableDeclaration","scope":65883,"src":"7429:38:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65867,"name":"uint256","nodeType":"ElementaryTypeName","src":"7429:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65871,"indexed":false,"mutability":"mutable","name":"arbitrator","nameLocation":"7489:10:98","nodeType":"VariableDeclaration","scope":65883,"src":"7477:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"},"typeName":{"id":65870,"nodeType":"UserDefinedTypeName","pathNode":{"id":65869,"name":"IArbitrator","nameLocations":["7477:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":74044,"src":"7477:11:98"},"referencedDeclaration":74044,"src":"7477:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":65873,"indexed":false,"mutability":"mutable","name":"tribunalSafe","nameLocation":"7517:12:98","nodeType":"VariableDeclaration","scope":65883,"src":"7509:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65872,"name":"address","nodeType":"ElementaryTypeName","src":"7509:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65875,"indexed":false,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"7547:25:98","nodeType":"VariableDeclaration","scope":65883,"src":"7539:33:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65874,"name":"uint256","nodeType":"ElementaryTypeName","src":"7539:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65877,"indexed":false,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"7590:26:98","nodeType":"VariableDeclaration","scope":65883,"src":"7582:34:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65876,"name":"uint256","nodeType":"ElementaryTypeName","src":"7582:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65879,"indexed":false,"mutability":"mutable","name":"defaultRuling","nameLocation":"7634:13:98","nodeType":"VariableDeclaration","scope":65883,"src":"7626:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65878,"name":"uint256","nodeType":"ElementaryTypeName","src":"7626:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65881,"indexed":false,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"7665:20:98","nodeType":"VariableDeclaration","scope":65883,"src":"7657:28:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65880,"name":"uint256","nodeType":"ElementaryTypeName","src":"7657:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7419:272:98"}},{"id":65886,"nodeType":"VariableDeclaration","src":"8066:38:98","nodes":[],"constant":true,"functionSelector":"ffa1ad74","mutability":"constant","name":"VERSION","nameLocation":"8089:7:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":65884,"name":"string","nodeType":"ElementaryTypeName","src":"8066:6:98","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"302e30","id":65885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8099:5:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_7be32719f3172a4c9a8d1f020e88b7d75f936a7394cfbfe03d409404e58cbdc3","typeString":"literal_string \"0.0\""},"value":"0.0"},"visibility":"public"},{"id":65889,"nodeType":"VariableDeclaration","src":"8110:36:98","nodes":[],"constant":true,"functionSelector":"0f529ba2","mutability":"constant","name":"D","nameLocation":"8134:1:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65887,"name":"uint256","nodeType":"ElementaryTypeName","src":"8110:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130303030303030","id":65888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8138:8:98","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"value":"10000000"},"visibility":"public"},{"id":65892,"nodeType":"VariableDeclaration","src":"8160:71:98","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"8186:7:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65890,"name":"uint256","nodeType":"ElementaryTypeName","src":"8160:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078313030303030303030303030303030303030303030303030303030303030303030","id":65891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8196:35:98","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"value":"0x100000000000000000000000000000000"},"visibility":"internal"},{"id":65895,"nodeType":"VariableDeclaration","src":"8247:70:98","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"8273:7:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65893,"name":"uint256","nodeType":"ElementaryTypeName","src":"8247:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783830303030303030303030303030303030303030303030303030303030303030","id":65894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8283:34:98","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"value":"0x80000000000000000000000000000000"},"visibility":"internal"},{"id":65898,"nodeType":"VariableDeclaration","src":"8333:54:98","nodes":[],"constant":true,"mutability":"constant","name":"TWO_64","nameLocation":"8359:6:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65896,"name":"uint256","nodeType":"ElementaryTypeName","src":"8333:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783130303030303030303030303030303030","id":65897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8368:19:98","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"value":"0x10000000000000000"},"visibility":"internal"},{"id":65901,"nodeType":"VariableDeclaration","src":"8402:49:98","nodes":[],"constant":true,"functionSelector":"406244d8","mutability":"constant","name":"MAX_STAKED_PROPOSALS","nameLocation":"8426:20:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65899,"name":"uint256","nodeType":"ElementaryTypeName","src":"8402:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130","id":65900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8449:2:98","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"id":65904,"nodeType":"VariableDeclaration","src":"8537:42:98","nodes":[],"constant":true,"functionSelector":"626c47e8","mutability":"constant","name":"RULING_OPTIONS","nameLocation":"8561:14:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65902,"name":"uint256","nodeType":"ElementaryTypeName","src":"8537:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":65903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8578:1:98","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"public"},{"id":65907,"nodeType":"VariableDeclaration","src":"8585:54:98","nodes":[],"constant":true,"functionSelector":"f5be3f7c","mutability":"constant","name":"DISPUTE_COOLDOWN_SEC","nameLocation":"8609:20:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65905,"name":"uint256","nodeType":"ElementaryTypeName","src":"8585:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":65906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8632:7:98","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_7200_by_1","typeString":"int_const 7200"},"value":"2"},"visibility":"public"},{"id":65909,"nodeType":"VariableDeclaration","src":"8646:40:98","nodes":[],"constant":false,"mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"8663:23:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65908,"name":"address","nodeType":"ElementaryTypeName","src":"8646:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":65911,"nodeType":"VariableDeclaration","src":"8734:47:98","nodes":[],"constant":false,"mutability":"mutable","name":"surpressStateMutabilityWarning","nameLocation":"8751:30:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65910,"name":"uint256","nodeType":"ElementaryTypeName","src":"8734:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":65913,"nodeType":"VariableDeclaration","src":"8825:25:98","nodes":[],"constant":false,"functionSelector":"33960459","mutability":"mutable","name":"cloneNonce","nameLocation":"8840:10:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65912,"name":"uint256","nodeType":"ElementaryTypeName","src":"8825:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65915,"nodeType":"VariableDeclaration","src":"8856:26:98","nodes":[],"constant":false,"functionSelector":"a28889e1","mutability":"mutable","name":"disputeCount","nameLocation":"8870:12:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":65914,"name":"uint64","nodeType":"ElementaryTypeName","src":"8856:6:98","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"public"},{"id":65917,"nodeType":"VariableDeclaration","src":"8888:30:98","nodes":[],"constant":false,"functionSelector":"0c0512e9","mutability":"mutable","name":"proposalCounter","nameLocation":"8903:15:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65916,"name":"uint256","nodeType":"ElementaryTypeName","src":"8888:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65919,"nodeType":"VariableDeclaration","src":"8924:45:98","nodes":[],"constant":false,"functionSelector":"125fd1d9","mutability":"mutable","name":"currentArbitrableConfigVersion","nameLocation":"8939:30:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65918,"name":"uint256","nodeType":"ElementaryTypeName","src":"8924:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65921,"nodeType":"VariableDeclaration","src":"8976:26:98","nodes":[],"constant":false,"functionSelector":"817b1cd2","mutability":"mutable","name":"totalStaked","nameLocation":"8991:11:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65920,"name":"uint256","nodeType":"ElementaryTypeName","src":"8976:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65923,"nodeType":"VariableDeclaration","src":"9008:35:98","nodes":[],"constant":false,"functionSelector":"aba9ffee","mutability":"mutable","name":"totalPointsActivated","nameLocation":"9023:20:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65922,"name":"uint256","nodeType":"ElementaryTypeName","src":"9008:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":65926,"nodeType":"VariableDeclaration","src":"9050:39:98","nodes":[],"constant":false,"functionSelector":"2506b870","mutability":"mutable","name":"cvParams","nameLocation":"9081:8:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":65925,"nodeType":"UserDefinedTypeName","pathNode":{"id":65924,"name":"StrategyStruct.CVParams","nameLocations":["9050:14:98","9065:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65635,"src":"9050:23:98"},"referencedDeclaration":65635,"src":"9050:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"public"},{"id":65929,"nodeType":"VariableDeclaration","src":"9136:47:98","nodes":[],"constant":false,"functionSelector":"351d9f96","mutability":"mutable","name":"proposalType","nameLocation":"9171:12:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":65928,"nodeType":"UserDefinedTypeName","pathNode":{"id":65927,"name":"StrategyStruct.ProposalType","nameLocations":["9136:14:98","9151:12:98"],"nodeType":"IdentifierPath","referencedDeclaration":65538,"src":"9136:27:98"},"referencedDeclaration":65538,"src":"9136:27:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"public"},{"id":65932,"nodeType":"VariableDeclaration","src":"9242:45:98","nodes":[],"constant":false,"functionSelector":"2dbd6fdd","mutability":"mutable","name":"pointSystem","nameLocation":"9276:11:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":65931,"nodeType":"UserDefinedTypeName","pathNode":{"id":65930,"name":"StrategyStruct.PointSystem","nameLocations":["9242:14:98","9257:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":65543,"src":"9242:26:98"},"referencedDeclaration":65543,"src":"9242:26:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"public"},{"id":65935,"nodeType":"VariableDeclaration","src":"9293:51:98","nodes":[],"constant":false,"functionSelector":"a47ff7e5","mutability":"mutable","name":"pointConfig","nameLocation":"9333:11:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":65934,"nodeType":"UserDefinedTypeName","pathNode":{"id":65933,"name":"StrategyStruct.PointSystemConfig","nameLocations":["9293:14:98","9308:17:98"],"nodeType":"IdentifierPath","referencedDeclaration":65612,"src":"9293:32:98"},"referencedDeclaration":65612,"src":"9293:32:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"public"},{"id":65937,"nodeType":"VariableDeclaration","src":"9377:34:98","nodes":[],"constant":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"9394:17:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65936,"name":"address","nodeType":"ElementaryTypeName","src":"9377:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":65940,"nodeType":"VariableDeclaration","src":"9418:39:98","nodes":[],"constant":false,"functionSelector":"0bece79c","mutability":"mutable","name":"collateralVault","nameLocation":"9442:15:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"},"typeName":{"id":65939,"nodeType":"UserDefinedTypeName","pathNode":{"id":65938,"name":"ICollateralVault","nameLocations":["9418:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":74077,"src":"9418:16:98"},"referencedDeclaration":74077,"src":"9418:16:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"visibility":"public"},{"id":65943,"nodeType":"VariableDeclaration","src":"9463:31:98","nodes":[],"constant":false,"functionSelector":"b6c61f31","mutability":"mutable","name":"sybilScorer","nameLocation":"9483:11:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"},"typeName":{"id":65942,"nodeType":"UserDefinedTypeName","pathNode":{"id":65941,"name":"ISybilScorer","nameLocations":["9463:12:98"],"nodeType":"IdentifierPath","referencedDeclaration":70165,"src":"9463:12:98"},"referencedDeclaration":70165,"src":"9463:12:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"visibility":"public"},{"id":65948,"nodeType":"VariableDeclaration","src":"9561:60:98","nodes":[],"constant":false,"functionSelector":"013cf08b","mutability":"mutable","name":"proposals","nameLocation":"9612:9:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"typeName":{"id":65947,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65944,"name":"uint256","nodeType":"ElementaryTypeName","src":"9569:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9561:43:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65946,"nodeType":"UserDefinedTypeName","pathNode":{"id":65945,"name":"StrategyStruct.Proposal","nameLocations":["9580:14:98","9595:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"9580:23:98"},"referencedDeclaration":65604,"src":"9580:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}}},"visibility":"public"},{"id":65952,"nodeType":"VariableDeclaration","src":"9677:53:98","nodes":[],"constant":false,"functionSelector":"5db64b99","mutability":"mutable","name":"totalVoterStakePct","nameLocation":"9712:18:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":65951,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65949,"name":"address","nodeType":"ElementaryTypeName","src":"9685:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9677:27:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65950,"name":"uint256","nodeType":"ElementaryTypeName","src":"9696:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":65957,"nodeType":"VariableDeclaration","src":"9768:57:98","nodes":[],"constant":false,"functionSelector":"868c57b8","mutability":"mutable","name":"voterStakedProposals","nameLocation":"9805:20:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"typeName":{"id":65956,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65953,"name":"address","nodeType":"ElementaryTypeName","src":"9776:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"9768:29:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":65954,"name":"uint256","nodeType":"ElementaryTypeName","src":"9787:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65955,"nodeType":"ArrayTypeName","src":"9787:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"public"},{"id":65961,"nodeType":"VariableDeclaration","src":"9863:56:98","nodes":[],"constant":false,"functionSelector":"255ffb38","mutability":"mutable","name":"disputeIdToProposalId","nameLocation":"9898:21:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":65960,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65958,"name":"uint256","nodeType":"ElementaryTypeName","src":"9871:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9863:27:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65959,"name":"uint256","nodeType":"ElementaryTypeName","src":"9882:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":65966,"nodeType":"VariableDeclaration","src":"9925:76:98","nodes":[],"constant":false,"functionSelector":"41bb7605","mutability":"mutable","name":"arbitrableConfigs","nameLocation":"9984:17:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig)"},"typeName":{"id":65965,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65962,"name":"uint256","nodeType":"ElementaryTypeName","src":"9933:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"9925:51:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65964,"nodeType":"UserDefinedTypeName","pathNode":{"id":65963,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["9944:14:98","9959:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65626,"src":"9944:31:98"},"referencedDeclaration":65626,"src":"9944:31:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}}},"visibility":"public"},{"id":65977,"nodeType":"FunctionDefinition","src":"10008:140:98","nodes":[],"body":{"id":65976,"nodeType":"Block","src":"10084:64:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":65973,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65937,"src":"10123:17:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65972,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72744,"src":"10101:21:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":65974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10101:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"functionReturnParameters":65971,"id":65975,"nodeType":"Return","src":"10094:47:98"}]},"functionSelector":"48f19c1d","implemented":true,"kind":"function","modifiers":[],"name":"getRegistryCommunity","nameLocation":"10017:20:98","parameters":{"id":65967,"nodeType":"ParameterList","parameters":[],"src":"10037:2:98"},"returnParameters":{"id":65971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65970,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65977,"src":"10061:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":65969,"nodeType":"UserDefinedTypeName","pathNode":{"id":65968,"name":"RegistryCommunityV0_0","nameLocations":["10061:21:98"],"nodeType":"IdentifierPath","referencedDeclaration":72744,"src":"10061:21:98"},"referencedDeclaration":72744,"src":"10061:21:98","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"visibility":"internal"}],"src":"10060:23:98"},"scope":69234,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":66001,"nodeType":"FunctionDefinition","src":"10399:222:98","nodes":[],"body":{"id":66000,"nodeType":"Block","src":"10506:115:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":65991,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65979,"src":"10527:5:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"43565374726174656779","id":65992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10534:12:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},"value":"CVStrategy"},{"id":65993,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65983,"src":"10548:5:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65988,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"10516:5:98","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$69234_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":65990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10522:4:98","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":64915,"src":"10516:10:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (address,string memory,address)"}},"id":65994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10516:38:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65995,"nodeType":"ExpressionStatement","src":"10516:38:98"},{"expression":{"id":65998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65996,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65909,"src":"10564:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":65997,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65981,"src":"10590:24:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10564:50:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65999,"nodeType":"ExpressionStatement","src":"10564:50:98"}]},"functionSelector":"184b9559","implemented":true,"kind":"function","modifiers":[{"id":65986,"kind":"modifierInvocation","modifierName":{"id":65985,"name":"initializer","nameLocations":["10494:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":53054,"src":"10494:11:98"},"nodeType":"ModifierInvocation","src":"10494:11:98"}],"name":"init","nameLocation":"10408:4:98","parameters":{"id":65984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65979,"mutability":"mutable","name":"_allo","nameLocation":"10421:5:98","nodeType":"VariableDeclaration","scope":66001,"src":"10413:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65978,"name":"address","nodeType":"ElementaryTypeName","src":"10413:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65981,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"10436:24:98","nodeType":"VariableDeclaration","scope":66001,"src":"10428:32:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65980,"name":"address","nodeType":"ElementaryTypeName","src":"10428:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65983,"mutability":"mutable","name":"owner","nameLocation":"10470:5:98","nodeType":"VariableDeclaration","scope":66001,"src":"10462:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65982,"name":"address","nodeType":"ElementaryTypeName","src":"10462:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10412:64:98"},"returnParameters":{"id":65987,"nodeType":"ParameterList","parameters":[],"src":"10506:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66095,"nodeType":"FunctionDefinition","src":"10627:801:98","nodes":[],"body":{"id":66094,"nodeType":"Block","src":"10710:718:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":66011,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66003,"src":"10740:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66010,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65051,"src":"10720:19:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":66012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10720:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66013,"nodeType":"ExpressionStatement","src":"10720:28:98"},{"expression":{"id":66023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66014,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"10759:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":66018,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65909,"src":"10812:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10837:12:98","subExpression":{"id":66019,"name":"cloneNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65913,"src":"10837:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66016,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"10794:5:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":66017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10800:11:98","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"10794:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":66021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10794:56:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66015,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74077,"src":"10777:16:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ICollateralVault_$74077_$","typeString":"type(contract ICollateralVault)"}},"id":66022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10777:74:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"src":"10759:92:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":66024,"nodeType":"ExpressionStatement","src":"10759:92:98"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66025,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"10861:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":66027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10877:10:98","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":74049,"src":"10861:26:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":66028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10861:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66029,"nodeType":"ExpressionStatement","src":"10861:28:98"},{"assignments":[66034],"declarations":[{"constant":false,"id":66034,"mutability":"mutable","name":"ip","nameLocation":"10939:2:98","nodeType":"VariableDeclaration","scope":66094,"src":"10900:41:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":66033,"nodeType":"UserDefinedTypeName","pathNode":{"id":66032,"name":"StrategyStruct.InitializeParams","nameLocations":["10900:14:98","10915:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65655,"src":"10900:31:98"},"referencedDeclaration":65655,"src":"10900:31:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":66042,"initialValue":{"arguments":[{"id":66037,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66005,"src":"10955:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":66038,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"10963:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":66039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10978:16:98","memberName":"InitializeParams","nodeType":"MemberAccess","referencedDeclaration":65655,"src":"10963:31:98","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$65655_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"id":66040,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10962:33:98","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$65655_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$65655_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}],"expression":{"id":66035,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10944:3:98","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10948:6:98","memberName":"decode","nodeType":"MemberAccess","src":"10944:10:98","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":66041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10944:52:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"10900:96:98"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66043,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66034,"src":"11011:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":66044,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11014:17:98","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":65652,"src":"11011:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11043:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11035:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66045,"name":"address","nodeType":"ElementaryTypeName","src":"11035:7:98","typeDescriptions":{}}},"id":66048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11035:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11011:34:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66054,"nodeType":"IfStatement","src":"11007:94:98","trueBody":{"id":66053,"nodeType":"Block","src":"11047:54:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66050,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65687,"src":"11068:20:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11068:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66052,"nodeType":"RevertStatement","src":"11061:29:98"}]}},{"expression":{"id":66058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66055,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65937,"src":"11111:17:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66056,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66034,"src":"11131:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":66057,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11134:17:98","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":65652,"src":"11131:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11111:40:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66059,"nodeType":"ExpressionStatement","src":"11111:40:98"},{"expression":{"id":66063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66060,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65929,"src":"11162:12:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66061,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66034,"src":"11177:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":66062,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11180:12:98","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":65641,"src":"11177:15:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"src":"11162:30:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"id":66064,"nodeType":"ExpressionStatement","src":"11162:30:98"},{"expression":{"id":66068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66065,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65932,"src":"11202:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66066,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66034,"src":"11216:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":66067,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11219:11:98","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":65644,"src":"11216:14:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"src":"11202:28:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"id":66069,"nodeType":"ExpressionStatement","src":"11202:28:98"},{"expression":{"id":66073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66070,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65935,"src":"11240:11:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66071,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66034,"src":"11254:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":66072,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11257:11:98","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":65647,"src":"11254:14:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"11240:28:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":66074,"nodeType":"ExpressionStatement","src":"11240:28:98"},{"expression":{"id":66080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66075,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65943,"src":"11278:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":66077,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66034,"src":"11305:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":66078,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11308:11:98","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":65654,"src":"11305:14:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66076,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70165,"src":"11292:12:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$70165_$","typeString":"type(contract ISybilScorer)"}},"id":66079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11292:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"src":"11278:42:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"id":66081,"nodeType":"ExpressionStatement","src":"11278:42:98"},{"expression":{"arguments":[{"expression":{"id":66083,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66034,"src":"11346:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":66084,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11349:16:98","memberName":"arbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":65650,"src":"11346:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"expression":{"id":66085,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66034,"src":"11367:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":66086,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11370:8:98","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":65638,"src":"11367:11:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":66082,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68617,"src":"11331:14:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$65626_memory_ptr_$_t_struct$_CVParams_$65635_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":66087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11331:48:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66088,"nodeType":"ExpressionStatement","src":"11331:48:98"},{"eventCall":{"arguments":[{"id":66090,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66003,"src":"11409:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66091,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66034,"src":"11418:2:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"id":66089,"name":"InitializedCV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65774,"src":"11395:13:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$65655_memory_ptr_$returns$__$","typeString":"function (uint256,struct StrategyStruct.InitializeParams memory)"}},"id":66092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11395:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66093,"nodeType":"EmitStatement","src":"11390:31:98"}]},"baseFunctions":[2939],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[{"id":66008,"kind":"modifierInvocation","modifierName":{"id":66007,"name":"onlyAllo","nameLocations":["10701:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":64923,"src":"10701:8:98"},"nodeType":"ModifierInvocation","src":"10701:8:98"}],"name":"initialize","nameLocation":"10636:10:98","parameters":{"id":66006,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66003,"mutability":"mutable","name":"_poolId","nameLocation":"10655:7:98","nodeType":"VariableDeclaration","scope":66095,"src":"10647:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66002,"name":"uint256","nodeType":"ElementaryTypeName","src":"10647:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66005,"mutability":"mutable","name":"_data","nameLocation":"10677:5:98","nodeType":"VariableDeclaration","scope":66095,"src":"10664:18:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66004,"name":"bytes","nodeType":"ElementaryTypeName","src":"10664:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10646:37:98"},"returnParameters":{"id":66009,"nodeType":"ParameterList","parameters":[],"src":"10710:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66099,"nodeType":"FunctionDefinition","src":"11599:83:98","nodes":[],"body":{"id":66098,"nodeType":"Block","src":"11627:55:98","nodes":[],"statements":[]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":66096,"nodeType":"ParameterList","parameters":[],"src":"11607:2:98"},"returnParameters":{"id":66097,"nodeType":"ParameterList","parameters":[],"src":"11627:0:98"},"scope":69234,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":66103,"nodeType":"FunctionDefinition","src":"11688:135:98","nodes":[],"body":{"id":66102,"nodeType":"Block","src":"11715:108:98","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":66100,"nodeType":"ParameterList","parameters":[],"src":"11695:2:98"},"returnParameters":{"id":66101,"nodeType":"ParameterList","parameters":[],"src":"11715:0:98"},"scope":69234,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":66125,"nodeType":"FunctionDefinition","src":"11829:210:98","nodes":[],"body":{"id":66124,"nodeType":"Block","src":"11928:111:98","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":66122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":66117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66112,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66105,"src":"11945:11:98","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":66114,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65534,"src":"11965:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65534_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65534_$","typeString":"type(contract IPointStrategy)"}],"id":66113,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11960:4:98","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":66115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11960:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$65534","typeString":"type(contract IPointStrategy)"}},"id":66116,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11981:11:98","memberName":"interfaceId","nodeType":"MemberAccess","src":"11960:32:98","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"11945:47:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":66120,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66105,"src":"12020:11:98","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":66118,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"11996:5:98","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$69234_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":66119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12002:17:98","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57724,"src":"11996:23:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":66121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11996:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11945:87:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":66111,"id":66123,"nodeType":"Return","src":"11938:94:98"}]},"baseFunctions":[57724],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"11838:17:98","overrides":{"id":66108,"nodeType":"OverrideSpecifier","overrides":[{"id":66107,"name":"ERC165","nameLocations":["11905:6:98"],"nodeType":"IdentifierPath","referencedDeclaration":57725,"src":"11905:6:98"}],"src":"11896:16:98"},"parameters":{"id":66106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66105,"mutability":"mutable","name":"interfaceId","nameLocation":"11863:11:98","nodeType":"VariableDeclaration","scope":66125,"src":"11856:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":66104,"name":"bytes4","nodeType":"ElementaryTypeName","src":"11856:6:98","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"11855:20:98"},"returnParameters":{"id":66111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66110,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66125,"src":"11922:4:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66109,"name":"bool","nodeType":"ElementaryTypeName","src":"11922:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11921:6:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":66167,"nodeType":"FunctionDefinition","src":"12210:391:98","nodes":[],"body":{"id":66166,"nodeType":"Block","src":"12278:323:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66130,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66127,"src":"12292:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12311:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12303:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66131,"name":"address","nodeType":"ElementaryTypeName","src":"12303:7:98","typeDescriptions":{}}},"id":66134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12303:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12292:21:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66140,"nodeType":"IfStatement","src":"12288:77:98","trueBody":{"id":66139,"nodeType":"Block","src":"12315:50:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66136,"name":"UserCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65667,"src":"12336:16:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12336:18:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66138,"nodeType":"RevertStatement","src":"12329:25:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66143,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65937,"src":"12386:17:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12378:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66141,"name":"address","nodeType":"ElementaryTypeName","src":"12378:7:98","typeDescriptions":{}}},"id":66144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12378:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12416:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66146,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12408:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66145,"name":"address","nodeType":"ElementaryTypeName","src":"12408:7:98","typeDescriptions":{}}},"id":66148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12408:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12378:40:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66154,"nodeType":"IfStatement","src":"12374:100:98","trueBody":{"id":66153,"nodeType":"Block","src":"12420:54:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66150,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65687,"src":"12441:20:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12441:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66152,"nodeType":"RevertStatement","src":"12434:29:98"}]}},{"condition":{"id":66160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12487:41:98","subExpression":{"arguments":[{"id":66158,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66127,"src":"12520:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66155,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"12488:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12488:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12511:8:98","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":72361,"src":"12488:31:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":66159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12488:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66165,"nodeType":"IfStatement","src":"12483:98:98","trueBody":{"id":66164,"nodeType":"Block","src":"12530:51:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66161,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65669,"src":"12551:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12551:19:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66163,"nodeType":"RevertStatement","src":"12544:26:98"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSenderIsMember","nameLocation":"12219:19:98","parameters":{"id":66128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66127,"mutability":"mutable","name":"_sender","nameLocation":"12247:7:98","nodeType":"VariableDeclaration","scope":66167,"src":"12239:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66126,"name":"address","nodeType":"ElementaryTypeName","src":"12239:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12238:17:98"},"returnParameters":{"id":66129,"nodeType":"ParameterList","parameters":[],"src":"12278:0:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66183,"nodeType":"FunctionDefinition","src":"12607:171:98","nodes":[],"body":{"id":66182,"nodeType":"Block","src":"12662:116:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66170,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12676:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12680:6:98","memberName":"sender","nodeType":"MemberAccess","src":"12676:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":66174,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65937,"src":"12698:17:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66173,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12690:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66172,"name":"address","nodeType":"ElementaryTypeName","src":"12690:7:98","typeDescriptions":{}}},"id":66175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12690:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12676:40:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66181,"nodeType":"IfStatement","src":"12672:100:98","trueBody":{"id":66180,"nodeType":"Block","src":"12718:54:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66177,"name":"OnlyCommunityAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65727,"src":"12739:20:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12739:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66179,"nodeType":"RevertStatement","src":"12732:29:98"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryCommunity","nameLocation":"12616:21:98","parameters":{"id":66168,"nodeType":"ParameterList","parameters":[],"src":"12637:2:98"},"returnParameters":{"id":66169,"nodeType":"ParameterList","parameters":[],"src":"12662:0:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66199,"nodeType":"FunctionDefinition","src":"12784:141:98","nodes":[],"body":{"id":66198,"nodeType":"Block","src":"12852:73:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66188,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66185,"src":"12866:8:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12886:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12878:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66189,"name":"address","nodeType":"ElementaryTypeName","src":"12878:7:98","typeDescriptions":{}}},"id":66192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12878:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12866:22:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66197,"nodeType":"IfStatement","src":"12862:56:98","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66194,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65685,"src":"12897:19:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12897:21:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66196,"nodeType":"RevertStatement","src":"12890:28:98"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"12793:18:98","parameters":{"id":66186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66185,"mutability":"mutable","name":"_address","nameLocation":"12820:8:98","nodeType":"VariableDeclaration","scope":66199,"src":"12812:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66184,"name":"address","nodeType":"ElementaryTypeName","src":"12812:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12811:18:98"},"returnParameters":{"id":66187,"nodeType":"ParameterList","parameters":[],"src":"12852:0:98"},"scope":69234,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":66218,"nodeType":"FunctionDefinition","src":"12931:179:98","nodes":[],"body":{"id":66217,"nodeType":"Block","src":"12980:130:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66202,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12994:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12998:6:98","memberName":"sender","nodeType":"MemberAccess","src":"12994:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66206,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"13016:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13016:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13039:11:98","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":71055,"src":"13016:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$74170_$","typeString":"function () view external returns (contract ISafe)"}},"id":66209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13016:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}],"id":66205,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13008:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66204,"name":"address","nodeType":"ElementaryTypeName","src":"13008:7:98","typeDescriptions":{}}},"id":66210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13008:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12994:59:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66216,"nodeType":"IfStatement","src":"12990:114:98","trueBody":{"id":66215,"nodeType":"Block","src":"13055:49:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66212,"name":"OnlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65737,"src":"13076:15:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13076:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66214,"nodeType":"RevertStatement","src":"13069:24:98"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyCouncilSafe","nameLocation":"12940:15:98","parameters":{"id":66200,"nodeType":"ParameterList","parameters":[],"src":"12955:2:98"},"returnParameters":{"id":66201,"nodeType":"ParameterList","parameters":[],"src":"12980:0:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66248,"nodeType":"FunctionDefinition","src":"13116:238:98","nodes":[],"body":{"id":66247,"nodeType":"Block","src":"13195:159:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66227,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65943,"src":"13217:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}],"id":66226,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13209:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66225,"name":"address","nodeType":"ElementaryTypeName","src":"13209:7:98","typeDescriptions":{}}},"id":66228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13209:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13241:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66230,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13233:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66229,"name":"address","nodeType":"ElementaryTypeName","src":"13233:7:98","typeDescriptions":{}}},"id":66232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13233:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13209:34:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66237,"nodeType":"IfStatement","src":"13205:76:98","trueBody":{"id":66236,"nodeType":"Block","src":"13245:36:98","statements":[{"expression":{"hexValue":"74727565","id":66234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13266:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":66224,"id":66235,"nodeType":"Return","src":"13259:11:98"}]}},{"expression":{"arguments":[{"id":66240,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66220,"src":"13326:5:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66243,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13341:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":66242,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13333:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66241,"name":"address","nodeType":"ElementaryTypeName","src":"13333:7:98","typeDescriptions":{}}},"id":66244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13333:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66238,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65943,"src":"13297:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"id":66239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13309:16:98","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":70122,"src":"13297:28:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":66245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13297:50:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":66224,"id":66246,"nodeType":"Return","src":"13290:57:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"13125:17:98","parameters":{"id":66221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66220,"mutability":"mutable","name":"_user","nameLocation":"13151:5:98","nodeType":"VariableDeclaration","scope":66248,"src":"13143:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66219,"name":"address","nodeType":"ElementaryTypeName","src":"13143:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13142:15:98"},"returnParameters":{"id":66224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66223,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66248,"src":"13189:4:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66222,"name":"bool","nodeType":"ElementaryTypeName","src":"13189:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13188:6:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66260,"nodeType":"FunctionDefinition","src":"13360:132:98","nodes":[],"body":{"id":66259,"nodeType":"Block","src":"13441:51:98","nodes":[],"statements":[{"expression":{"id":66257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66255,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65909,"src":"13451:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66256,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66250,"src":"13477:8:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13451:34:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66258,"nodeType":"ExpressionStatement","src":"13451:34:98"}]},"functionSelector":"b0d3713a","implemented":true,"kind":"function","modifiers":[{"id":66253,"kind":"modifierInvocation","modifierName":{"id":66252,"name":"onlyOwner","nameLocations":["13431:9:98"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"13431:9:98"},"nodeType":"ModifierInvocation","src":"13431:9:98"}],"name":"setCollateralVaultTemplate","nameLocation":"13369:26:98","parameters":{"id":66251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66250,"mutability":"mutable","name":"template","nameLocation":"13404:8:98","nodeType":"VariableDeclaration","scope":66260,"src":"13396:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66249,"name":"address","nodeType":"ElementaryTypeName","src":"13396:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13395:18:98"},"returnParameters":{"id":66254,"nodeType":"ParameterList","parameters":[],"src":"13441:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66501,"nodeType":"FunctionDefinition","src":"13818:2699:98","nodes":[],"body":{"id":66500,"nodeType":"Block","src":"13927:2590:98","nodes":[],"statements":[{"condition":{"id":66273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13941:27:98","subExpression":{"arguments":[{"id":66271,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66264,"src":"13960:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66270,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66248,"src":"13942:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":66272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13942:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66278,"nodeType":"IfStatement","src":"13937:90:98","trueBody":{"id":66277,"nodeType":"Block","src":"13970:57:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66274,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65739,"src":"13991:23:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13991:25:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66276,"nodeType":"RevertStatement","src":"13984:32:98"}]}},{"expression":{"id":66279,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66262,"src":"14081:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":66280,"nodeType":"ExpressionStatement","src":"14081:5:98"},{"assignments":[66285],"declarations":[{"constant":false,"id":66285,"mutability":"mutable","name":"proposal","nameLocation":"14133:8:98","nodeType":"VariableDeclaration","scope":66500,"src":"14096:45:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal"},"typeName":{"id":66284,"nodeType":"UserDefinedTypeName","pathNode":{"id":66283,"name":"StrategyStruct.CreateProposal","nameLocations":["14096:14:98","14111:14:98"],"nodeType":"IdentifierPath","referencedDeclaration":65555,"src":"14096:29:98"},"referencedDeclaration":65555,"src":"14096:29:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_storage_ptr","typeString":"struct StrategyStruct.CreateProposal"}},"visibility":"internal"}],"id":66293,"initialValue":{"arguments":[{"id":66288,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66262,"src":"14155:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":66289,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"14163:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":66290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14178:14:98","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":65555,"src":"14163:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$65555_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"id":66291,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14162:31:98","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$65555_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$65555_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}],"expression":{"id":66286,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14144:3:98","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66287,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14148:6:98","memberName":"decode","nodeType":"MemberAccess","src":"14144:10:98","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":66292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14144:50:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"14096:98:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66294,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"14309:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66295,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14318:6:98","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":65545,"src":"14309:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":66296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14328:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14309:20:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66302,"nodeType":"IfStatement","src":"14305:78:98","trueBody":{"id":66301,"nodeType":"Block","src":"14331:52:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66298,"name":"PoolIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65683,"src":"14352:18:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14352:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66300,"nodeType":"RevertStatement","src":"14345:27:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"},"id":66307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66303,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65929,"src":"14459:12:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66304,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"14475:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":66305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14490:12:98","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":65538,"src":"14475:27:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$65538_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":66306,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14503:7:98","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":65536,"src":"14475:35:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"src":"14459:51:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66363,"nodeType":"IfStatement","src":"14455:764:98","trueBody":{"id":66362,"nodeType":"Block","src":"14512:707:98","statements":[{"expression":{"arguments":[{"expression":{"id":66309,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"14545:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66310,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14554:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65547,"src":"14545:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66308,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66199,"src":"14526:18:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":66311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14526:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66312,"nodeType":"ExpressionStatement","src":"14526:40:98"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66313,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"14632:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66314,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14641:14:98","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65551,"src":"14632:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14667:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66316,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14659:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66315,"name":"address","nodeType":"ElementaryTypeName","src":"14659:7:98","typeDescriptions":{}}},"id":66318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14659:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14632:37:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66324,"nodeType":"IfStatement","src":"14628:102:98","trueBody":{"id":66323,"nodeType":"Block","src":"14671:59:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66320,"name":"TokenCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65677,"src":"14696:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14696:19:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66322,"nodeType":"RevertStatement","src":"14689:26:98"}]}},{"assignments":[66327],"declarations":[{"constant":false,"id":66327,"mutability":"mutable","name":"_allo","nameLocation":"14749:5:98","nodeType":"VariableDeclaration","scope":66362,"src":"14743:11:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"},"typeName":{"id":66326,"nodeType":"UserDefinedTypeName","pathNode":{"id":66325,"name":"IAllo","nameLocations":["14743:5:98"],"nodeType":"IdentifierPath","referencedDeclaration":2610,"src":"14743:5:98"},"referencedDeclaration":2610,"src":"14743:5:98","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"visibility":"internal"}],"id":66331,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66328,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14757:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}},"id":66329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14762:7:98","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":64969,"src":"14757:12:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":66330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14757:14:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"nodeType":"VariableDeclarationStatement","src":"14743:28:98"},{"assignments":[66336],"declarations":[{"constant":false,"id":66336,"mutability":"mutable","name":"pool","nameLocation":"14803:4:98","nodeType":"VariableDeclaration","scope":66362,"src":"14785:22:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":66335,"nodeType":"UserDefinedTypeName","pathNode":{"id":66334,"name":"IAllo.Pool","nameLocations":["14785:5:98","14791:4:98"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"14785:10:98"},"referencedDeclaration":2319,"src":"14785:10:98","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":66342,"initialValue":{"arguments":[{"expression":{"id":66339,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"14824:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66340,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14833:6:98","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":65545,"src":"14824:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66337,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66327,"src":"14810:5:98","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":66338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14816:7:98","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"14810:13:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":66341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14810:30:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"14785:55:98"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66343,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"14858:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66344,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14867:14:98","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65551,"src":"14858:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":66345,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66336,"src":"14885:4:98","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":66346,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14890:5:98","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"14885:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14858:37:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66352,"nodeType":"IfStatement","src":"14854:235:98","trueBody":{"id":66351,"nodeType":"Block","src":"14897:192:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66348,"name":"TokenNotAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65679,"src":"15057:15:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15057:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66350,"nodeType":"RevertStatement","src":"15050:24:98"}]}},{"condition":{"arguments":[{"expression":{"id":66354,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"15122:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66355,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15131:15:98","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":65549,"src":"15122:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66353,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67699,"src":"15106:15:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":66356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15106:41:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66361,"nodeType":"IfStatement","src":"15102:107:98","trueBody":{"id":66360,"nodeType":"Block","src":"15149:60:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66357,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65681,"src":"15174:18:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15174:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66359,"nodeType":"RevertStatement","src":"15167:27:98"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":66383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"baseExpression":{"id":66366,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"15254:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":66368,"indexExpression":{"id":66367,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"15272:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15254:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":66369,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15304:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"15254:60:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}],"id":66365,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15246:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66364,"name":"address","nodeType":"ElementaryTypeName","src":"15246:7:98","typeDescriptions":{}}},"id":66370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15246:69:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":66373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15327:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66372,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15319:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66371,"name":"address","nodeType":"ElementaryTypeName","src":"15319:7:98","typeDescriptions":{}}},"id":66374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15319:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15246:83:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66376,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15349:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15353:5:98","memberName":"value","nodeType":"MemberAccess","src":"15349:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":66378,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"15361:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":66380,"indexExpression":{"id":66379,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"15379:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15361:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":66381,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15411:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"15361:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15349:87:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15246:190:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66394,"nodeType":"IfStatement","src":"15229:390:98","trueBody":{"id":66393,"nodeType":"Block","src":"15447:172:98","statements":[{"errorCall":{"arguments":[{"expression":{"id":66385,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15508:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15512:5:98","memberName":"value","nodeType":"MemberAccess","src":"15508:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":66387,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"15519:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":66389,"indexExpression":{"id":66388,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"15537:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15519:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":66390,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15569:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"15519:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66384,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"15468:22:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":66391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15468:140:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66392,"nodeType":"RevertStatement","src":"15461:147:98"}]}},{"assignments":[66396],"declarations":[{"constant":false,"id":66396,"mutability":"mutable","name":"proposalId","nameLocation":"15637:10:98","nodeType":"VariableDeclaration","scope":66500,"src":"15629:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66395,"name":"uint256","nodeType":"ElementaryTypeName","src":"15629:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66399,"initialValue":{"id":66398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"15650:17:98","subExpression":{"id":66397,"name":"proposalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65917,"src":"15652:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15629:38:98"},{"assignments":[66404],"declarations":[{"constant":false,"id":66404,"mutability":"mutable","name":"p","nameLocation":"15709:1:98","nodeType":"VariableDeclaration","scope":66500,"src":"15677:33:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":66403,"nodeType":"UserDefinedTypeName","pathNode":{"id":66402,"name":"StrategyStruct.Proposal","nameLocations":["15677:14:98","15692:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"15677:23:98"},"referencedDeclaration":65604,"src":"15677:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":66408,"initialValue":{"baseExpression":{"id":66405,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"15713:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":66407,"indexExpression":{"id":66406,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66396,"src":"15723:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15713:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15677:57:98"},{"expression":{"id":66413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66409,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"15745:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66411,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15747:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65572,"src":"15745:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66412,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66396,"src":"15760:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15745:25:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66414,"nodeType":"ExpressionStatement","src":"15745:25:98"},{"expression":{"id":66419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66415,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"15780:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66417,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15782:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"15780:11:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66418,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66264,"src":"15794:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15780:21:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66420,"nodeType":"ExpressionStatement","src":"15780:21:98"},{"expression":{"id":66426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66421,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"15811:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66423,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15813:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65580,"src":"15811:13:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66424,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"15827:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66425,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15836:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65547,"src":"15827:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15811:36:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66427,"nodeType":"ExpressionStatement","src":"15811:36:98"},{"expression":{"id":66433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66428,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"15857:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66430,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15859:14:98","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65584,"src":"15857:16:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66431,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"15876:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66432,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15885:14:98","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65551,"src":"15876:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15857:42:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66434,"nodeType":"ExpressionStatement","src":"15857:42:98"},{"expression":{"id":66440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66435,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"15909:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66437,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15911:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"15909:17:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66438,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"15929:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66439,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15938:15:98","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":65549,"src":"15929:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15909:44:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66441,"nodeType":"ExpressionStatement","src":"15909:44:98"},{"expression":{"id":66448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66442,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"16014:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66444,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16016:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"16014:16:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":66445,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"16033:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":66446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16048:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"16033:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":66447,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16063:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65557,"src":"16033:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"16014:55:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"id":66449,"nodeType":"ExpressionStatement","src":"16014:55:98"},{"expression":{"id":66455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66450,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"16079:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66452,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16081:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65586,"src":"16079:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66453,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"16093:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":66454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16099:6:98","memberName":"number","nodeType":"MemberAccess","src":"16093:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16079:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66456,"nodeType":"ExpressionStatement","src":"16079:26:98"},{"expression":{"id":66461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66457,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"16115:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66459,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16117:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"16115:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":66460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16134:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16115:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66462,"nodeType":"ExpressionStatement","src":"16115:20:98"},{"expression":{"id":66468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66463,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"16181:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66465,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16183:8:98","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":65596,"src":"16181:10:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66466,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66285,"src":"16194:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":66467,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16203:8:98","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":65554,"src":"16194:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"16181:30:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":66469,"nodeType":"ExpressionStatement","src":"16181:30:98"},{"expression":{"id":66474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66470,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"16221:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66472,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16223:23:98","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65603,"src":"16221:25:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66473,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"16249:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16221:58:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66475,"nodeType":"ExpressionStatement","src":"16221:58:98"},{"expression":{"arguments":[{"id":66482,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66396,"src":"16341:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":66483,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66404,"src":"16353:1:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":66484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16355:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"16353:11:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66476,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"16289:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":66478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16305:17:98","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":74056,"src":"16289:33:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":66481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":66479,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16330:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16334:5:98","memberName":"value","nodeType":"MemberAccess","src":"16330:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"16289:51:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":66485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16289:76:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66486,"nodeType":"ExpressionStatement","src":"16289:76:98"},{"eventCall":{"arguments":[{"id":66488,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"16397:6:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66489,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66396,"src":"16405:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66487,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65788,"src":"16381:15:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":66490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16381:35:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66491,"nodeType":"EmitStatement","src":"16376:40:98"},{"expression":{"arguments":[{"arguments":[{"id":66496,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66396,"src":"16498:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66495,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16490:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":66494,"name":"uint160","nodeType":"ElementaryTypeName","src":"16490:7:98","typeDescriptions":{}}},"id":66497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16490:19:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":66493,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16482:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66492,"name":"address","nodeType":"ElementaryTypeName","src":"16482:7:98","typeDescriptions":{}}},"id":66498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16482:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":66269,"id":66499,"nodeType":"Return","src":"16475:35:98"}]},"baseFunctions":[65357],"implemented":true,"kind":"function","modifiers":[],"name":"_registerRecipient","nameLocation":"13827:18:98","overrides":{"id":66266,"nodeType":"OverrideSpecifier","overrides":[],"src":"13900:8:98"},"parameters":{"id":66265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66262,"mutability":"mutable","name":"_data","nameLocation":"13859:5:98","nodeType":"VariableDeclaration","scope":66501,"src":"13846:18:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66261,"name":"bytes","nodeType":"ElementaryTypeName","src":"13846:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":66264,"mutability":"mutable","name":"_sender","nameLocation":"13874:7:98","nodeType":"VariableDeclaration","scope":66501,"src":"13866:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66263,"name":"address","nodeType":"ElementaryTypeName","src":"13866:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13845:37:98"},"returnParameters":{"id":66269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66268,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66501,"src":"13918:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66267,"name":"address","nodeType":"ElementaryTypeName","src":"13918:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13917:9:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":66510,"nodeType":"FunctionDefinition","src":"16523:98:98","nodes":[],"body":{"id":66509,"nodeType":"Block","src":"16583:38:98","nodes":[],"statements":[{"expression":{"expression":{"id":66506,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"16600:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":66507,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16609:5:98","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65632,"src":"16600:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66505,"id":66508,"nodeType":"Return","src":"16593:21:98"}]},"functionSelector":"9a1c157c","implemented":true,"kind":"function","modifiers":[],"name":"getDecay","nameLocation":"16532:8:98","parameters":{"id":66502,"nodeType":"ParameterList","parameters":[],"src":"16540:2:98"},"returnParameters":{"id":66505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66504,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66510,"src":"16574:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66503,"name":"uint256","nodeType":"ElementaryTypeName","src":"16574:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16573:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":66550,"nodeType":"FunctionDefinition","src":"16627:369:98","nodes":[],"body":{"id":66549,"nodeType":"Block","src":"16670:326:98","nodes":[],"statements":[{"assignments":[66514],"declarations":[{"constant":false,"id":66514,"mutability":"mutable","name":"member","nameLocation":"16688:6:98","nodeType":"VariableDeclaration","scope":66549,"src":"16680:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66513,"name":"address","nodeType":"ElementaryTypeName","src":"16680:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":66517,"initialValue":{"expression":{"id":66515,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16697:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16701:6:98","memberName":"sender","nodeType":"MemberAccess","src":"16697:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16680:27:98"},{"condition":{"id":66521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16721:26:98","subExpression":{"arguments":[{"id":66519,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66514,"src":"16740:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66518,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66248,"src":"16722:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":66520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16722:25:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66526,"nodeType":"IfStatement","src":"16717:89:98","trueBody":{"id":66525,"nodeType":"Block","src":"16749:57:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66522,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65739,"src":"16770:23:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16770:25:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66524,"nodeType":"RevertStatement","src":"16763:32:98"}]}},{"expression":{"arguments":[{"id":66530,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66514,"src":"16863:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66533,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16879:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":66532,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16871:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66531,"name":"address","nodeType":"ElementaryTypeName","src":"16871:7:98","typeDescriptions":{}}},"id":66534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16871:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66527,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"16815:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16815:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16838:24:98","memberName":"activateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":71768,"src":"16815:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":66535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16815:70:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66536,"nodeType":"ExpressionStatement","src":"16815:70:98"},{"expression":{"id":66547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66537,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65923,"src":"16895:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":66541,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66514,"src":"16967:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66544,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16983:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":66543,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16975:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66542,"name":"address","nodeType":"ElementaryTypeName","src":"16975:7:98","typeDescriptions":{}}},"id":66545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16975:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66538,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"16919:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16919:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16942:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72137,"src":"16919:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16919:70:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16895:94:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66548,"nodeType":"ExpressionStatement","src":"16895:94:98"}]},"functionSelector":"814516ad","implemented":true,"kind":"function","modifiers":[],"name":"activatePoints","nameLocation":"16636:14:98","parameters":{"id":66511,"nodeType":"ParameterList","parameters":[],"src":"16650:2:98"},"returnParameters":{"id":66512,"nodeType":"ParameterList","parameters":[],"src":"16670:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66559,"nodeType":"FunctionDefinition","src":"17002:89:98","nodes":[],"body":{"id":66558,"nodeType":"Block","src":"17045:46:98","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":66554,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17073:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17077:6:98","memberName":"sender","nodeType":"MemberAccess","src":"17073:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66553,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66608,"src":"17055:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17055:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66557,"nodeType":"ExpressionStatement","src":"17055:29:98"}]},"functionSelector":"1ddf1e23","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"17011:16:98","parameters":{"id":66551,"nodeType":"ParameterList","parameters":[],"src":"17027:2:98"},"returnParameters":{"id":66552,"nodeType":"ParameterList","parameters":[],"src":"17045:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":66572,"nodeType":"FunctionDefinition","src":"17097:136:98","nodes":[],"body":{"id":66571,"nodeType":"Block","src":"17157:76:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66564,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66183,"src":"17167:21:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":66565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17167:23:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66566,"nodeType":"ExpressionStatement","src":"17167:23:98"},{"expression":{"arguments":[{"id":66568,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66561,"src":"17218:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66567,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66608,"src":"17200:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17200:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66570,"nodeType":"ExpressionStatement","src":"17200:26:98"}]},"baseFunctions":[65509],"functionSelector":"6453d9c4","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"17106:16:98","parameters":{"id":66562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66561,"mutability":"mutable","name":"_member","nameLocation":"17131:7:98","nodeType":"VariableDeclaration","scope":66572,"src":"17123:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66560,"name":"address","nodeType":"ElementaryTypeName","src":"17123:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17122:17:98"},"returnParameters":{"id":66563,"nodeType":"ParameterList","parameters":[],"src":"17157:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66608,"nodeType":"FunctionDefinition","src":"17239:369:98","nodes":[],"body":{"id":66607,"nodeType":"Block","src":"17300:308:98","nodes":[],"statements":[{"expression":{"id":66587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66577,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65923,"src":"17310:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"arguments":[{"id":66581,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66574,"src":"17382:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66584,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17399:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":66583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17391:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66582,"name":"address","nodeType":"ElementaryTypeName","src":"17391:7:98","typeDescriptions":{}}},"id":66585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17391:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66578,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"17334:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17334:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17357:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72137,"src":"17334:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17334:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17310:95:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66588,"nodeType":"ExpressionStatement","src":"17310:95:98"},{"expression":{"arguments":[{"id":66592,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66574,"src":"17465:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66595,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17482:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":66594,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17474:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66593,"name":"address","nodeType":"ElementaryTypeName","src":"17474:7:98","typeDescriptions":{}}},"id":66596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17474:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66589,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"17415:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17415:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17438:26:98","memberName":"deactivateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":71827,"src":"17415:49:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":66597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17415:73:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66598,"nodeType":"ExpressionStatement","src":"17415:73:98"},{"expression":{"arguments":[{"id":66600,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66574,"src":"17552:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66599,"name":"withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67444,"src":"17543:8:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17543:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66602,"nodeType":"ExpressionStatement","src":"17543:17:98"},{"eventCall":{"arguments":[{"id":66604,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66574,"src":"17593:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66603,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65796,"src":"17575:17:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17575:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66606,"nodeType":"EmitStatement","src":"17570:31:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deactivatePoints","nameLocation":"17248:17:98","parameters":{"id":66575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66574,"mutability":"mutable","name":"_member","nameLocation":"17274:7:98","nodeType":"VariableDeclaration","scope":66608,"src":"17266:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66573,"name":"address","nodeType":"ElementaryTypeName","src":"17266:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17265:17:98"},"returnParameters":{"id":66576,"nodeType":"ParameterList","parameters":[],"src":"17300:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":66702,"nodeType":"FunctionDefinition","src":"17614:1070:98","nodes":[],"body":{"id":66701,"nodeType":"Block","src":"17713:971:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66617,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66183,"src":"17768:21:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":66618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17768:23:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66619,"nodeType":"ExpressionStatement","src":"17768:23:98"},{"condition":{"id":66623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17805:27:98","subExpression":{"arguments":[{"id":66621,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66610,"src":"17824:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66620,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66248,"src":"17806:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":66622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17806:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66628,"nodeType":"IfStatement","src":"17801:90:98","trueBody":{"id":66627,"nodeType":"Block","src":"17834:57:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":66624,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65739,"src":"17855:23:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":66625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17855:25:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66626,"nodeType":"RevertStatement","src":"17848:32:98"}]}},{"assignments":[66630],"declarations":[{"constant":false,"id":66630,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"17908:16:98","nodeType":"VariableDeclaration","scope":66701,"src":"17900:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66629,"name":"uint256","nodeType":"ElementaryTypeName","src":"17900:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66632,"initialValue":{"hexValue":"30","id":66631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17927:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"17900:28:98"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"id":66637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66633,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65932,"src":"17942:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66634,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"17957:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":66635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17972:11:98","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65543,"src":"17957:26:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65543_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66636,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17984:9:98","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":65541,"src":"17957:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"src":"17942:51:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"id":66649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66645,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65932,"src":"18087:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66646,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"18102:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":66647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18117:11:98","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65543,"src":"18102:26:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65543_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66648,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18129:6:98","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":65540,"src":"18102:33:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"src":"18087:48:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"id":66662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66658,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65932,"src":"18235:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66659,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"18250:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":66660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18265:11:98","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65543,"src":"18250:26:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65543_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66661,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18277:9:98","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":65542,"src":"18250:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"src":"18235:51:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66671,"nodeType":"IfStatement","src":"18231:148:98","trueBody":{"id":66670,"nodeType":"Block","src":"18288:91:98","statements":[{"expression":{"id":66668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66663,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66630,"src":"18302:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66665,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66610,"src":"18344:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66666,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66612,"src":"18353:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66664,"name":"increasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66892,"src":"18321:22:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":66667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18321:47:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18302:66:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66669,"nodeType":"ExpressionStatement","src":"18302:66:98"}]}},"id":66672,"nodeType":"IfStatement","src":"18083:296:98","trueBody":{"id":66657,"nodeType":"Block","src":"18137:88:98","statements":[{"expression":{"id":66655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66650,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66630,"src":"18151:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66652,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66610,"src":"18190:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66653,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66612,"src":"18199:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66651,"name":"increasePowerCapped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66811,"src":"18170:19:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":66654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18170:44:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18151:63:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66656,"nodeType":"ExpressionStatement","src":"18151:63:98"}]}},"id":66673,"nodeType":"IfStatement","src":"17938:441:98","trueBody":{"id":66644,"nodeType":"Block","src":"17995:82:98","statements":[{"expression":{"id":66642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66638,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66630,"src":"18009:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66640,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66612,"src":"18051:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66639,"name":"increasePowerUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66768,"src":"18028:22:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18028:38:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18009:57:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66643,"nodeType":"ExpressionStatement","src":"18009:57:98"}]}},{"assignments":[66675],"declarations":[{"constant":false,"id":66675,"mutability":"mutable","name":"isActivated","nameLocation":"18393:11:98","nodeType":"VariableDeclaration","scope":66701,"src":"18388:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66674,"name":"bool","nodeType":"ElementaryTypeName","src":"18388:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":66685,"initialValue":{"arguments":[{"id":66679,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66610,"src":"18458:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66682,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18475:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":66681,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18467:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66680,"name":"address","nodeType":"ElementaryTypeName","src":"18467:7:98","typeDescriptions":{}}},"id":66683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18467:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66676,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"18407:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18407:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18430:27:98","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":71096,"src":"18407:50:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":66684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18407:74:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"18388:93:98"},{"condition":{"id":66686,"name":"isActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66675,"src":"18495:11:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66692,"nodeType":"IfStatement","src":"18491:82:98","trueBody":{"id":66691,"nodeType":"Block","src":"18508:65:98","statements":[{"expression":{"id":66689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66687,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65923,"src":"18522:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":66688,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66630,"src":"18546:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18522:40:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66690,"nodeType":"ExpressionStatement","src":"18522:40:98"}]}},{"eventCall":{"arguments":[{"id":66694,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66610,"src":"18602:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66695,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66612,"src":"18611:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66696,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66630,"src":"18627:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66693,"name":"PowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65804,"src":"18587:14:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":66697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18587:57:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66698,"nodeType":"EmitStatement","src":"18582:62:98"},{"expression":{"id":66699,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66630,"src":"18661:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66616,"id":66700,"nodeType":"Return","src":"18654:23:98"}]},"baseFunctions":[65518],"functionSelector":"782aadff","implemented":true,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"17623:13:98","parameters":{"id":66613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66610,"mutability":"mutable","name":"_member","nameLocation":"17645:7:98","nodeType":"VariableDeclaration","scope":66702,"src":"17637:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66609,"name":"address","nodeType":"ElementaryTypeName","src":"17637:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66612,"mutability":"mutable","name":"_amountToStake","nameLocation":"17662:14:98","nodeType":"VariableDeclaration","scope":66702,"src":"17654:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66611,"name":"uint256","nodeType":"ElementaryTypeName","src":"17654:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17636:41:98"},"returnParameters":{"id":66616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66615,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66702,"src":"17704:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66614,"name":"uint256","nodeType":"ElementaryTypeName","src":"17704:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17703:9:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66758,"nodeType":"FunctionDefinition","src":"18690:689:98","nodes":[],"body":{"id":66757,"nodeType":"Block","src":"18791:588:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66711,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66183,"src":"18801:21:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":66712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18801:23:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66713,"nodeType":"ExpressionStatement","src":"18801:23:98"},{"assignments":[66715],"declarations":[{"constant":false,"id":66715,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"18888:16:98","nodeType":"VariableDeclaration","scope":66757,"src":"18880:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66714,"name":"uint256","nodeType":"ElementaryTypeName","src":"18880:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66717,"initialValue":{"hexValue":"30","id":66716,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18907:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"18880:28:98"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":66728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"id":66722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66718,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65932,"src":"18922:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66719,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"18937:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":66720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18952:11:98","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65543,"src":"18937:26:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65543_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66721,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18964:9:98","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":65541,"src":"18937:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"src":"18922:51:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"id":66727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66723,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65932,"src":"18977:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":66724,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"18992:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":66725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19007:11:98","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65543,"src":"18992:26:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65543_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":66726,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19019:6:98","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":65540,"src":"18992:33:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"src":"18977:48:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18922:103:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":66743,"nodeType":"Block","src":"19123:93:98","statements":[{"expression":{"id":66741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66736,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66715,"src":"19137:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66738,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66704,"src":"19179:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66739,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66706,"src":"19188:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66737,"name":"decreasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66979,"src":"19156:22:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":66740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19156:49:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19137:68:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66742,"nodeType":"ExpressionStatement","src":"19137:68:98"}]},"id":66744,"nodeType":"IfStatement","src":"18918:298:98","trueBody":{"id":66735,"nodeType":"Block","src":"19027:90:98","statements":[{"expression":{"id":66733,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66729,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66715,"src":"19041:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66731,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66706,"src":"19089:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66730,"name":"decreasePowerCappedUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66902,"src":"19060:28:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19060:46:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19041:65:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66734,"nodeType":"ExpressionStatement","src":"19041:65:98"}]}},{"expression":{"id":66747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66745,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65923,"src":"19225:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":66746,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66715,"src":"19249:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19225:40:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66748,"nodeType":"ExpressionStatement","src":"19225:40:98"},{"eventCall":{"arguments":[{"id":66750,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66704,"src":"19295:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66751,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66706,"src":"19304:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66752,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66715,"src":"19322:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66749,"name":"PowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65812,"src":"19280:14:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":66753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19280:59:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66754,"nodeType":"EmitStatement","src":"19275:64:98"},{"expression":{"id":66755,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66715,"src":"19356:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66710,"id":66756,"nodeType":"Return","src":"19349:23:98"}]},"baseFunctions":[65527],"functionSelector":"2ed04b2b","implemented":true,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"18699:13:98","parameters":{"id":66707,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66704,"mutability":"mutable","name":"_member","nameLocation":"18721:7:98","nodeType":"VariableDeclaration","scope":66758,"src":"18713:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66703,"name":"address","nodeType":"ElementaryTypeName","src":"18713:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66706,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"18738:16:98","nodeType":"VariableDeclaration","scope":66758,"src":"18730:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66705,"name":"uint256","nodeType":"ElementaryTypeName","src":"18730:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18712:43:98"},"returnParameters":{"id":66710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66709,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66758,"src":"18782:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66708,"name":"uint256","nodeType":"ElementaryTypeName","src":"18782:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18781:9:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":66768,"nodeType":"FunctionDefinition","src":"19385:134:98","nodes":[],"body":{"id":66767,"nodeType":"Block","src":"19481:38:98","nodes":[],"statements":[{"expression":{"id":66765,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66760,"src":"19498:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66764,"id":66766,"nodeType":"Return","src":"19491:21:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerUnlimited","nameLocation":"19394:22:98","parameters":{"id":66761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66760,"mutability":"mutable","name":"_amountToStake","nameLocation":"19425:14:98","nodeType":"VariableDeclaration","scope":66768,"src":"19417:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66759,"name":"uint256","nodeType":"ElementaryTypeName","src":"19417:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19416:24:98"},"returnParameters":{"id":66764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66763,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66768,"src":"19472:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66762,"name":"uint256","nodeType":"ElementaryTypeName","src":"19472:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19471:9:98"},"scope":69234,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":66811,"nodeType":"FunctionDefinition","src":"19525:637:98","nodes":[],"body":{"id":66810,"nodeType":"Block","src":"19635:527:98","nodes":[],"statements":[{"assignments":[66778],"declarations":[{"constant":false,"id":66778,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"19653:16:98","nodeType":"VariableDeclaration","scope":66810,"src":"19645:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66777,"name":"uint256","nodeType":"ElementaryTypeName","src":"19645:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66780,"initialValue":{"id":66779,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66772,"src":"19672:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19645:41:98"},{"assignments":[66782],"declarations":[{"constant":false,"id":66782,"mutability":"mutable","name":"memberPower","nameLocation":"19768:11:98","nodeType":"VariableDeclaration","scope":66810,"src":"19760:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66781,"name":"uint256","nodeType":"ElementaryTypeName","src":"19760:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66792,"initialValue":{"arguments":[{"id":66786,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66770,"src":"19830:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66789,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"19847:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":66788,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19839:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66787,"name":"address","nodeType":"ElementaryTypeName","src":"19839:7:98","typeDescriptions":{}}},"id":66790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19839:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66783,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"19782:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19782:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19805:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72137,"src":"19782:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19782:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19760:93:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66793,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66782,"src":"19919:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":66794,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66778,"src":"19933:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19919:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":66796,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65935,"src":"19952:11:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":66797,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19964:9:98","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65611,"src":"19952:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19919:54:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66807,"nodeType":"IfStatement","src":"19915:139:98","trueBody":{"id":66806,"nodeType":"Block","src":"19975:79:98","statements":[{"expression":{"id":66804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66799,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66778,"src":"19989:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66800,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65935,"src":"20008:11:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":66801,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20020:9:98","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65611,"src":"20008:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66802,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66782,"src":"20032:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20008:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19989:54:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66805,"nodeType":"ExpressionStatement","src":"19989:54:98"}]}},{"expression":{"id":66808,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66778,"src":"20139:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66776,"id":66809,"nodeType":"Return","src":"20132:23:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerCapped","nameLocation":"19534:19:98","parameters":{"id":66773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66770,"mutability":"mutable","name":"_member","nameLocation":"19562:7:98","nodeType":"VariableDeclaration","scope":66811,"src":"19554:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66769,"name":"address","nodeType":"ElementaryTypeName","src":"19554:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66772,"mutability":"mutable","name":"_amountToStake","nameLocation":"19579:14:98","nodeType":"VariableDeclaration","scope":66811,"src":"19571:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66771,"name":"uint256","nodeType":"ElementaryTypeName","src":"19571:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19553:41:98"},"returnParameters":{"id":66776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66775,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66811,"src":"19626:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66774,"name":"uint256","nodeType":"ElementaryTypeName","src":"19626:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19625:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66892,"nodeType":"FunctionDefinition","src":"20168:756:98","nodes":[],"body":{"id":66891,"nodeType":"Block","src":"20281:643:98","nodes":[],"statements":[{"assignments":[66821],"declarations":[{"constant":false,"id":66821,"mutability":"mutable","name":"totalStake","nameLocation":"20299:10:98","nodeType":"VariableDeclaration","scope":66891,"src":"20291:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66820,"name":"uint256","nodeType":"ElementaryTypeName","src":"20291:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66829,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66825,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66813,"src":"20357:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66822,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"20312:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20312:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20335:21:98","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":72150,"src":"20312:44:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":66826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20312:53:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":66827,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66815,"src":"20368:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20312:70:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20291:91:98"},{"assignments":[66831],"declarations":[{"constant":false,"id":66831,"mutability":"mutable","name":"decimal","nameLocation":"20401:7:98","nodeType":"VariableDeclaration","scope":66891,"src":"20393:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66830,"name":"uint256","nodeType":"ElementaryTypeName","src":"20393:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66833,"initialValue":{"hexValue":"3138","id":66832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20411:2:98","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"20393:20:98"},{"clauses":[{"block":{"id":66855,"nodeType":"Block","src":"20516:52:98","statements":[{"expression":{"id":66853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66848,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66831,"src":"20530:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66851,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66846,"src":"20548:8:98","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":66850,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20540:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66849,"name":"uint256","nodeType":"ElementaryTypeName","src":"20540:7:98","typeDescriptions":{}}},"id":66852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20540:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20530:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66854,"nodeType":"ExpressionStatement","src":"20530:27:98"}]},"errorName":"","id":66856,"nodeType":"TryCatchClause","parameters":{"id":66847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66846,"mutability":"mutable","name":"_decimal","nameLocation":"20506:8:98","nodeType":"VariableDeclaration","scope":66856,"src":"20500:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":66845,"name":"uint8","nodeType":"ElementaryTypeName","src":"20500:5:98","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"20499:16:98"},"src":"20491:77:98"},{"block":{"id":66857,"nodeType":"Block","src":"20575:64:98","statements":[]},"errorName":"","id":66858,"nodeType":"TryCatchClause","src":"20569:70:98"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66837,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"20441:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20441:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20464:11:98","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":71051,"src":"20441:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$56528_$","typeString":"function () view external returns (contract IERC20)"}},"id":66840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20441:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}],"id":66836,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20433:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66835,"name":"address","nodeType":"ElementaryTypeName","src":"20433:7:98","typeDescriptions":{}}},"id":66841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20433:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66834,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56450,"src":"20427:5:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56450_$","typeString":"type(contract ERC20)"}},"id":66842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20427:52:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56450","typeString":"contract ERC20"}},"id":66843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20480:8:98","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":55938,"src":"20427:61:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":66844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20427:63:98","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":66859,"nodeType":"TryStatement","src":"20423:216:98"},{"assignments":[66861],"declarations":[{"constant":false,"id":66861,"mutability":"mutable","name":"newTotalPoints","nameLocation":"20656:14:98","nodeType":"VariableDeclaration","scope":66891,"src":"20648:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66860,"name":"uint256","nodeType":"ElementaryTypeName","src":"20648:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66870,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66864,"name":"totalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66821,"src":"20683:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":66865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20696:2:98","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":66866,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66831,"src":"20702:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20696:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20683:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66862,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58797,"src":"20673:4:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58797_$","typeString":"type(library Math)"}},"id":66863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20678:4:98","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58301,"src":"20673:9:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20673:37:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20648:62:98"},{"assignments":[66872],"declarations":[{"constant":false,"id":66872,"mutability":"mutable","name":"currentPoints","nameLocation":"20728:13:98","nodeType":"VariableDeclaration","scope":66891,"src":"20720:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66871,"name":"uint256","nodeType":"ElementaryTypeName","src":"20720:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66882,"initialValue":{"arguments":[{"id":66876,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66813,"src":"20792:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66879,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"20809:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":66878,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20801:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66877,"name":"address","nodeType":"ElementaryTypeName","src":"20801:7:98","typeDescriptions":{}}},"id":66880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20801:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66873,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"20744:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20744:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20767:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72137,"src":"20744:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20744:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20720:95:98"},{"assignments":[66884],"declarations":[{"constant":false,"id":66884,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"20834:16:98","nodeType":"VariableDeclaration","scope":66891,"src":"20826:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66883,"name":"uint256","nodeType":"ElementaryTypeName","src":"20826:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66888,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66885,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66861,"src":"20853:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66886,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66872,"src":"20870:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20853:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20826:57:98"},{"expression":{"id":66889,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66884,"src":"20901:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66819,"id":66890,"nodeType":"Return","src":"20894:23:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerQuadratic","nameLocation":"20177:22:98","parameters":{"id":66816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66813,"mutability":"mutable","name":"_member","nameLocation":"20208:7:98","nodeType":"VariableDeclaration","scope":66892,"src":"20200:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66812,"name":"address","nodeType":"ElementaryTypeName","src":"20200:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66815,"mutability":"mutable","name":"_amountToStake","nameLocation":"20225:14:98","nodeType":"VariableDeclaration","scope":66892,"src":"20217:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66814,"name":"uint256","nodeType":"ElementaryTypeName","src":"20217:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20199:41:98"},"returnParameters":{"id":66819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66818,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66892,"src":"20272:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66817,"name":"uint256","nodeType":"ElementaryTypeName","src":"20272:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20271:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66902,"nodeType":"FunctionDefinition","src":"20930:144:98","nodes":[],"body":{"id":66901,"nodeType":"Block","src":"21034:40:98","nodes":[],"statements":[{"expression":{"id":66899,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66894,"src":"21051:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66898,"id":66900,"nodeType":"Return","src":"21044:23:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerCappedUnlimited","nameLocation":"20939:28:98","parameters":{"id":66895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66894,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"20976:16:98","nodeType":"VariableDeclaration","scope":66902,"src":"20968:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66893,"name":"uint256","nodeType":"ElementaryTypeName","src":"20968:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20967:26:98"},"returnParameters":{"id":66898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66897,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66902,"src":"21025:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66896,"name":"uint256","nodeType":"ElementaryTypeName","src":"21025:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21024:9:98"},"scope":69234,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":66979,"nodeType":"FunctionDefinition","src":"21080:882:98","nodes":[],"body":{"id":66978,"nodeType":"Block","src":"21231:731:98","nodes":[],"statements":[{"assignments":[66912],"declarations":[{"constant":false,"id":66912,"mutability":"mutable","name":"decimal","nameLocation":"21249:7:98","nodeType":"VariableDeclaration","scope":66978,"src":"21241:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66911,"name":"uint256","nodeType":"ElementaryTypeName","src":"21241:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66914,"initialValue":{"hexValue":"3138","id":66913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21259:2:98","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"21241:20:98"},{"clauses":[{"block":{"id":66936,"nodeType":"Block","src":"21364:52:98","statements":[{"expression":{"id":66934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66929,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66912,"src":"21378:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66932,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66927,"src":"21396:8:98","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":66931,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21388:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66930,"name":"uint256","nodeType":"ElementaryTypeName","src":"21388:7:98","typeDescriptions":{}}},"id":66933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21388:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21378:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66935,"nodeType":"ExpressionStatement","src":"21378:27:98"}]},"errorName":"","id":66937,"nodeType":"TryCatchClause","parameters":{"id":66928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66927,"mutability":"mutable","name":"_decimal","nameLocation":"21354:8:98","nodeType":"VariableDeclaration","scope":66937,"src":"21348:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":66926,"name":"uint8","nodeType":"ElementaryTypeName","src":"21348:5:98","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"21347:16:98"},"src":"21339:77:98"},{"block":{"id":66938,"nodeType":"Block","src":"21423:64:98","statements":[]},"errorName":"","id":66939,"nodeType":"TryCatchClause","src":"21417:70:98"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66918,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"21289:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21289:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21312:11:98","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":71051,"src":"21289:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$56528_$","typeString":"function () view external returns (contract IERC20)"}},"id":66921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21289:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}],"id":66917,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21281:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66916,"name":"address","nodeType":"ElementaryTypeName","src":"21281:7:98","typeDescriptions":{}}},"id":66922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21281:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66915,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56450,"src":"21275:5:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56450_$","typeString":"type(contract ERC20)"}},"id":66923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21275:52:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56450","typeString":"contract ERC20"}},"id":66924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21328:8:98","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":55938,"src":"21275:61:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":66925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21275:63:98","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":66940,"nodeType":"TryStatement","src":"21271:216:98"},{"assignments":[66942],"declarations":[{"constant":false,"id":66942,"mutability":"mutable","name":"newTotalStake","nameLocation":"21566:13:98","nodeType":"VariableDeclaration","scope":66978,"src":"21558:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66941,"name":"uint256","nodeType":"ElementaryTypeName","src":"21558:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66950,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66946,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66904,"src":"21627:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66943,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"21582:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21582:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21605:21:98","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":72150,"src":"21582:44:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":66947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21582:53:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66948,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66906,"src":"21638:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21582:72:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21558:96:98"},{"assignments":[66952],"declarations":[{"constant":false,"id":66952,"mutability":"mutable","name":"newTotalPoints","nameLocation":"21728:14:98","nodeType":"VariableDeclaration","scope":66978,"src":"21720:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66951,"name":"uint256","nodeType":"ElementaryTypeName","src":"21720:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66961,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66955,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66942,"src":"21755:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":66956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21771:2:98","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":66957,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66912,"src":"21777:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21771:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21755:29:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66953,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58797,"src":"21745:4:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$58797_$","typeString":"type(library Math)"}},"id":66954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21750:4:98","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58301,"src":"21745:9:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":66960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21745:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21720:65:98"},{"assignments":[66963],"declarations":[{"constant":false,"id":66963,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"21803:16:98","nodeType":"VariableDeclaration","scope":66978,"src":"21795:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66962,"name":"uint256","nodeType":"ElementaryTypeName","src":"21795:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66975,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":66967,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66904,"src":"21882:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66970,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21899:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":66969,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21891:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66968,"name":"address","nodeType":"ElementaryTypeName","src":"21891:7:98","typeDescriptions":{}}},"id":66971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21891:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":66964,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"21834:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":66965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21834:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":66966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21857:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72137,"src":"21834:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":66972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21834:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":66973,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66952,"src":"21908:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21834:88:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21795:127:98"},{"expression":{"id":66976,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66963,"src":"21939:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66910,"id":66977,"nodeType":"Return","src":"21932:23:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerQuadratic","nameLocation":"21089:22:98","parameters":{"id":66907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66904,"mutability":"mutable","name":"_member","nameLocation":"21120:7:98","nodeType":"VariableDeclaration","scope":66979,"src":"21112:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66903,"name":"address","nodeType":"ElementaryTypeName","src":"21112:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66906,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"21137:16:98","nodeType":"VariableDeclaration","scope":66979,"src":"21129:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66905,"name":"uint256","nodeType":"ElementaryTypeName","src":"21129:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21111:43:98"},"returnParameters":{"id":66910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66909,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66979,"src":"21218:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66908,"name":"uint256","nodeType":"ElementaryTypeName","src":"21218:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21217:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":66988,"nodeType":"FunctionDefinition","src":"21968:107:98","nodes":[],"body":{"id":66987,"nodeType":"Block","src":"22030:45:98","nodes":[],"statements":[{"expression":{"expression":{"id":66984,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65935,"src":"22047:11:98","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":66985,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22059:9:98","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":65611,"src":"22047:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66983,"id":66986,"nodeType":"Return","src":"22040:28:98"}]},"functionSelector":"0ba95909","implemented":true,"kind":"function","modifiers":[],"name":"getMaxAmount","nameLocation":"21977:12:98","parameters":{"id":66980,"nodeType":"ParameterList","parameters":[],"src":"21989:2:98"},"returnParameters":{"id":66983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66982,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66988,"src":"22021:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66981,"name":"uint256","nodeType":"ElementaryTypeName","src":"22021:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22020:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":66997,"nodeType":"FunctionDefinition","src":"22081:118:98","nodes":[],"body":{"id":66996,"nodeType":"Block","src":"22164:35:98","nodes":[],"statements":[{"expression":{"id":66994,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65932,"src":"22181:11:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"functionReturnParameters":66993,"id":66995,"nodeType":"Return","src":"22174:18:98"}]},"baseFunctions":[65533],"functionSelector":"c3292171","implemented":true,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"22090:14:98","parameters":{"id":66989,"nodeType":"ParameterList","parameters":[],"src":"22104:2:98"},"returnParameters":{"id":66993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66992,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66997,"src":"22136:26:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":66991,"nodeType":"UserDefinedTypeName","pathNode":{"id":66990,"name":"StrategyStruct.PointSystem","nameLocations":["22136:14:98","22151:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":65543,"src":"22136:26:98"},"referencedDeclaration":65543,"src":"22136:26:98","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"22135:28:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":67063,"nodeType":"FunctionDefinition","src":"22705:663:98","nodes":[],"body":{"id":67062,"nodeType":"Block","src":"22787:581:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":67006,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67001,"src":"22817:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67005,"name":"checkSenderIsMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66167,"src":"22797:19:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":67007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22797:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67008,"nodeType":"ExpressionStatement","src":"22797:28:98"},{"condition":{"id":67012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22839:27:98","subExpression":{"arguments":[{"id":67010,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67001,"src":"22858:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67009,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66248,"src":"22840:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":67011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22840:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67017,"nodeType":"IfStatement","src":"22835:90:98","trueBody":{"id":67016,"nodeType":"Block","src":"22868:57:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67013,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65739,"src":"22889:23:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22889:25:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67015,"nodeType":"RevertStatement","src":"22882:32:98"}]}},{"assignments":[67019],"declarations":[{"constant":false,"id":67019,"mutability":"mutable","name":"isMemberActivatedPoints","nameLocation":"22985:23:98","nodeType":"VariableDeclaration","scope":67062,"src":"22980:28:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67018,"name":"bool","nodeType":"ElementaryTypeName","src":"22980:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":67029,"initialValue":{"arguments":[{"id":67023,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67001,"src":"23062:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67026,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"23079:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":67025,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23071:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67024,"name":"address","nodeType":"ElementaryTypeName","src":"23071:7:98","typeDescriptions":{}}},"id":67027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23071:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":67020,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"23011:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":67021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23011:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":67022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23034:27:98","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":71096,"src":"23011:50:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":67028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23011:74:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"22980:105:98"},{"condition":{"id":67031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"23099:24:98","subExpression":{"id":67030,"name":"isMemberActivatedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67019,"src":"23100:23:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67036,"nodeType":"IfStatement","src":"23095:78:98","trueBody":{"id":67035,"nodeType":"Block","src":"23125:48:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67032,"name":"UserIsInactive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65671,"src":"23146:14:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23146:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67034,"nodeType":"RevertStatement","src":"23139:23:98"}]}},{"assignments":[67042],"declarations":[{"constant":false,"id":67042,"mutability":"mutable","name":"pv","nameLocation":"23222:2:98","nodeType":"VariableDeclaration","scope":67062,"src":"23182:42:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":67040,"nodeType":"UserDefinedTypeName","pathNode":{"id":67039,"name":"StrategyStruct.ProposalSupport","nameLocations":["23182:14:98","23197:15:98"],"nodeType":"IdentifierPath","referencedDeclaration":65609,"src":"23182:30:98"},"referencedDeclaration":65609,"src":"23182:30:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65609_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":67041,"nodeType":"ArrayTypeName","src":"23182:32:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"id":67051,"initialValue":{"arguments":[{"id":67045,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66999,"src":"23238:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"expression":{"id":67046,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"23246:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":67047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23261:15:98","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":65609,"src":"23246:30:98","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$65609_storage_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport storage pointer)"}},"id":67048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23246:32:98","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"id":67049,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"23245:34:98","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}],"expression":{"id":67043,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23227:3:98","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23231:6:98","memberName":"decode","nodeType":"MemberAccess","src":"23227:10:98","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":67050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23227:53:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"23182:98:98"},{"expression":{"arguments":[{"id":67053,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67001,"src":"23315:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67054,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67042,"src":"23324:2:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":67052,"name":"_check_before_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67796,"src":"23290:24:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":67055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23290:37:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67056,"nodeType":"ExpressionStatement","src":"23290:37:98"},{"expression":{"arguments":[{"id":67058,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67001,"src":"23349:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67059,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67042,"src":"23358:2:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":67057,"name":"_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68083,"src":"23337:11:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":67060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23337:24:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67061,"nodeType":"ExpressionStatement","src":"23337:24:98"}]},"baseFunctions":[65365],"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"22714:9:98","overrides":{"id":67003,"nodeType":"OverrideSpecifier","overrides":[],"src":"22778:8:98"},"parameters":{"id":67002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66999,"mutability":"mutable","name":"_data","nameLocation":"22737:5:98","nodeType":"VariableDeclaration","scope":67063,"src":"22724:18:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66998,"name":"bytes","nodeType":"ElementaryTypeName","src":"22724:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":67001,"mutability":"mutable","name":"_sender","nameLocation":"22752:7:98","nodeType":"VariableDeclaration","scope":67063,"src":"22744:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67000,"name":"address","nodeType":"ElementaryTypeName","src":"22744:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22723:37:98"},"returnParameters":{"id":67004,"nodeType":"ParameterList","parameters":[],"src":"22787:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67231,"nodeType":"FunctionDefinition","src":"23624:1933:98","nodes":[],"body":{"id":67230,"nodeType":"Block","src":"23718:1839:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67074,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67068,"src":"23777:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":67075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23783:6:98","memberName":"length","nodeType":"MemberAccess","src":"23777:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":67076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23793:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23777:17:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67082,"nodeType":"IfStatement","src":"23773:76:98","trueBody":{"id":67081,"nodeType":"Block","src":"23796:53:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67078,"name":"ProposalDataIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65707,"src":"23817:19:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23817:21:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67080,"nodeType":"RevertStatement","src":"23810:28:98"}]}},{"assignments":[67084],"declarations":[{"constant":false,"id":67084,"mutability":"mutable","name":"proposalId","nameLocation":"23867:10:98","nodeType":"VariableDeclaration","scope":67230,"src":"23859:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67083,"name":"uint256","nodeType":"ElementaryTypeName","src":"23859:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67092,"initialValue":{"arguments":[{"id":67087,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67068,"src":"23891:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":67089,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23899:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67088,"name":"uint256","nodeType":"ElementaryTypeName","src":"23899:7:98","typeDescriptions":{}}}],"id":67090,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"23898:9:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":67085,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23880:3:98","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67086,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23884:6:98","memberName":"decode","nodeType":"MemberAccess","src":"23880:10:98","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":67091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23880:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23859:49:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67093,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"23923:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23937:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23923:15:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67100,"nodeType":"IfStatement","src":"23919:77:98","trueBody":{"id":67099,"nodeType":"Block","src":"23940:56:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67096,"name":"ProposalIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65709,"src":"23961:22:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23961:24:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67098,"nodeType":"RevertStatement","src":"23954:31:98"}]}},{"assignments":[67105],"declarations":[{"constant":false,"id":67105,"mutability":"mutable","name":"proposal","nameLocation":"24037:8:98","nodeType":"VariableDeclaration","scope":67230,"src":"24005:40:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67104,"nodeType":"UserDefinedTypeName","pathNode":{"id":67103,"name":"StrategyStruct.Proposal","nameLocations":["24005:14:98","24020:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"24005:23:98"},"referencedDeclaration":65604,"src":"24005:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67109,"initialValue":{"baseExpression":{"id":67106,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"24048:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67108,"indexExpression":{"id":67107,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"24058:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24048:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24005:64:98"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"},"id":67114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67110,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65929,"src":"24084:12:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":67111,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"24100:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":67112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24115:12:98","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":65538,"src":"24100:27:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$65538_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":67113,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24128:7:98","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":65536,"src":"24100:35:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"src":"24084:51:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67229,"nodeType":"IfStatement","src":"24080:1411:98","trueBody":{"id":67228,"nodeType":"Block","src":"24137:1354:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67115,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"24155:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67116,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24164:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65572,"src":"24155:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":67117,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"24178:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24155:33:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67124,"nodeType":"IfStatement","src":"24151:108:98","trueBody":{"id":67123,"nodeType":"Block","src":"24190:69:98","statements":[{"errorCall":{"arguments":[{"id":67120,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"24233:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67119,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65717,"src":"24215:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":67121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24215:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67122,"nodeType":"RevertStatement","src":"24208:36:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67125,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"24277:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67126,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24286:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"24277:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":67127,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"24304:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24277:37:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67137,"nodeType":"IfStatement","src":"24273:152:98","trueBody":{"id":67136,"nodeType":"Block","src":"24316:109:98","statements":[{"errorCall":{"arguments":[{"id":67130,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"24361:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67131,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"24373:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67132,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24382:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"24373:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67133,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"24399:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67129,"name":"PoolAmountNotEnough","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65735,"src":"24341:19:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":67134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24341:69:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67135,"nodeType":"RevertStatement","src":"24334:76:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"},"id":67143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67138,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"24443:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67139,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24452:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"24443:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":67140,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"24470:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":67141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24485:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"24470:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":67142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24500:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65557,"src":"24470:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"24443:63:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67149,"nodeType":"IfStatement","src":"24439:138:98","trueBody":{"id":67148,"nodeType":"Block","src":"24508:69:98","statements":[{"errorCall":{"arguments":[{"id":67145,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"24551:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67144,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65713,"src":"24533:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":67146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24533:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67147,"nodeType":"RevertStatement","src":"24526:36:98"}]}},{"assignments":[67151],"declarations":[{"constant":false,"id":67151,"mutability":"mutable","name":"convictionLast","nameLocation":"24599:14:98","nodeType":"VariableDeclaration","scope":67228,"src":"24591:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67150,"name":"uint256","nodeType":"ElementaryTypeName","src":"24591:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67155,"initialValue":{"arguments":[{"id":67153,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"24641:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67152,"name":"updateProposalConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68653,"src":"24616:24:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) returns (uint256)"}},"id":67154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24616:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24591:61:98"},{"assignments":[67157],"declarations":[{"constant":false,"id":67157,"mutability":"mutable","name":"threshold","nameLocation":"24674:9:98","nodeType":"VariableDeclaration","scope":67228,"src":"24666:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67156,"name":"uint256","nodeType":"ElementaryTypeName","src":"24666:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67162,"initialValue":{"arguments":[{"expression":{"id":67159,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"24705:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67160,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24714:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"24705:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67158,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68269,"src":"24686:18:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":67161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24686:44:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24666:64:98"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67163,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67151,"src":"24749:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":67164,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67157,"src":"24766:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24749:26:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67166,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"24779:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67167,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24788:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"24779:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":67168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24806:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"24779:28:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24749:58:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67175,"nodeType":"IfStatement","src":"24745:137:98","trueBody":{"id":67174,"nodeType":"Block","src":"24809:73:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67171,"name":"ConvictionUnderMinimumThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65725,"src":"24834:31:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24834:33:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67173,"nodeType":"RevertStatement","src":"24827:40:98"}]}},{"assignments":[67180],"declarations":[{"constant":false,"id":67180,"mutability":"mutable","name":"pool","nameLocation":"24914:4:98","nodeType":"VariableDeclaration","scope":67228,"src":"24896:22:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":67179,"nodeType":"UserDefinedTypeName","pathNode":{"id":67178,"name":"IAllo.Pool","nameLocations":["24896:5:98","24902:4:98"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"24896:10:98"},"referencedDeclaration":2319,"src":"24896:10:98","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":67185,"initialValue":{"arguments":[{"id":67183,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"24934:6:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67181,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64873,"src":"24921:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":67182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24926:7:98","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"24921:12:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":67184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24921:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"24896:45:98"},{"expression":{"id":67189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67186,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"24956:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"expression":{"id":67187,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"24970:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67188,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24979:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"24970:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24956:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67190,"nodeType":"ExpressionStatement","src":"24956:38:98"},{"expression":{"arguments":[{"expression":{"id":67192,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67180,"src":"25032:4:98","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":67193,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25037:5:98","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"25032:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67194,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"25044:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67195,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25053:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65580,"src":"25044:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67196,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"25066:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67197,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25075:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"25066:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67191,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"25016:15:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":67198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25016:75:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67199,"nodeType":"ExpressionStatement","src":"25016:75:98"},{"expression":{"id":67206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67200,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"25106:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67202,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"25115:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"25106:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":67203,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"25132:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":67204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25147:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"25132:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":67205,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25162:8:98","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":65560,"src":"25132:38:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"25106:64:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"id":67207,"nodeType":"ExpressionStatement","src":"25106:64:98"},{"expression":{"arguments":[{"id":67211,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"25236:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67212,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"25264:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67213,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25273:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"25264:18:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":67214,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"25300:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67216,"indexExpression":{"id":67215,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"25318:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25300:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67217,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25350:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"25300:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67208,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"25184:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":67210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25200:18:98","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74065,"src":"25184:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":67218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25184:205:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67219,"nodeType":"ExpressionStatement","src":"25184:205:98"},{"eventCall":{"arguments":[{"id":67221,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67084,"src":"25421:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67222,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"25433:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67223,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25442:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65580,"src":"25433:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67224,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67105,"src":"25455:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67225,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25464:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"25455:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67220,"name":"Distributed","nodeType":"Identifier","overloadedDeclarations":[65782,2858],"referencedDeclaration":65782,"src":"25409:11:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":67226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25409:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67227,"nodeType":"EmitStatement","src":"25404:76:98"}]}}]},"baseFunctions":[65376],"implemented":true,"kind":"function","modifiers":[],"name":"_distribute","nameLocation":"23633:11:98","overrides":{"id":67072,"nodeType":"OverrideSpecifier","overrides":[],"src":"23709:8:98"},"parameters":{"id":67071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67066,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67231,"src":"23645:16:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":67064,"name":"address","nodeType":"ElementaryTypeName","src":"23645:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67065,"nodeType":"ArrayTypeName","src":"23645:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":67068,"mutability":"mutable","name":"_data","nameLocation":"23676:5:98","nodeType":"VariableDeclaration","scope":67231,"src":"23663:18:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67067,"name":"bytes","nodeType":"ElementaryTypeName","src":"23663:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":67070,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67231,"src":"23683:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67069,"name":"address","nodeType":"ElementaryTypeName","src":"23683:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23644:47:98"},"returnParameters":{"id":67073,"nodeType":"ParameterList","parameters":[],"src":"23718:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67285,"nodeType":"FunctionDefinition","src":"25563:743:98","nodes":[],"body":{"id":67284,"nodeType":"Block","src":"25660:646:98","nodes":[],"statements":[{"assignments":[67242],"declarations":[{"constant":false,"id":67242,"mutability":"mutable","name":"proposal","nameLocation":"25702:8:98","nodeType":"VariableDeclaration","scope":67284,"src":"25670:40:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67241,"nodeType":"UserDefinedTypeName","pathNode":{"id":67240,"name":"StrategyStruct.Proposal","nameLocations":["25670:14:98","25685:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"25670:23:98"},"referencedDeclaration":65604,"src":"25670:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67246,"initialValue":{"baseExpression":{"id":67243,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"25713:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67245,"indexExpression":{"id":67244,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67233,"src":"25723:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25713:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25670:64:98"},{"assignments":[67248,67250],"declarations":[{"constant":false,"id":67248,"mutability":"mutable","name":"convictionLast","nameLocation":"25828:14:98","nodeType":"VariableDeclaration","scope":67284,"src":"25820:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67247,"name":"uint256","nodeType":"ElementaryTypeName","src":"25820:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67250,"mutability":"mutable","name":"blockNumber","nameLocation":"25852:11:98","nodeType":"VariableDeclaration","scope":67284,"src":"25844:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67249,"name":"uint256","nodeType":"ElementaryTypeName","src":"25844:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67256,"initialValue":{"arguments":[{"id":67252,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67242,"src":"25913:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":67253,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67242,"src":"25923:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67254,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25932:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"25923:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67251,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68465,"src":"25879:33:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$65604_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":67255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25879:66:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"25819:126:98"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67257,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67248,"src":"25960:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25978:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25960:19:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67260,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67250,"src":"25983:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25998:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25983:16:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25960:39:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67270,"nodeType":"IfStatement","src":"25956:110:98","trueBody":{"id":67269,"nodeType":"Block","src":"26001:65:98","statements":[{"expression":{"id":67267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67264,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67248,"src":"26015:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67265,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67242,"src":"26032:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67266,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26041:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"26032:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26015:40:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67268,"nodeType":"ExpressionStatement","src":"26015:40:98"}]}},{"assignments":[67272],"declarations":[{"constant":false,"id":67272,"mutability":"mutable","name":"threshold","nameLocation":"26083:9:98","nodeType":"VariableDeclaration","scope":67284,"src":"26075:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67271,"name":"uint256","nodeType":"ElementaryTypeName","src":"26075:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67277,"initialValue":{"arguments":[{"expression":{"id":67274,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67242,"src":"26114:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67275,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26123:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"26114:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67273,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68269,"src":"26095:18:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":67276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26095:44:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26075:64:98"},{"expression":{"id":67282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67278,"name":"canBeExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67236,"src":"26256:13:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67279,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67248,"src":"26272:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":67280,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67272,"src":"26290:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26272:27:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"26256:43:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67283,"nodeType":"ExpressionStatement","src":"26256:43:98"}]},"functionSelector":"824ea8ed","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteProposal","nameLocation":"25572:18:98","parameters":{"id":67234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67233,"mutability":"mutable","name":"proposalId","nameLocation":"25599:10:98","nodeType":"VariableDeclaration","scope":67285,"src":"25591:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67232,"name":"uint256","nodeType":"ElementaryTypeName","src":"25591:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25590:20:98"},"returnParameters":{"id":67237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67236,"mutability":"mutable","name":"canBeExecuted","nameLocation":"25645:13:98","nodeType":"VariableDeclaration","scope":67285,"src":"25640:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67235,"name":"bool","nodeType":"ElementaryTypeName","src":"25640:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25639:20:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":67295,"nodeType":"FunctionDefinition","src":"26596:231:98","nodes":[],"body":{"id":67294,"nodeType":"Block","src":"26695:132:98","nodes":[],"statements":[]},"baseFunctions":[65396],"implemented":true,"kind":"function","modifiers":[],"name":"_getRecipientStatus","nameLocation":"26605:19:98","overrides":{"id":67289,"nodeType":"OverrideSpecifier","overrides":[],"src":"26669:8:98"},"parameters":{"id":67288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67287,"mutability":"mutable","name":"_recipientId","nameLocation":"26633:12:98","nodeType":"VariableDeclaration","scope":67295,"src":"26625:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67286,"name":"address","nodeType":"ElementaryTypeName","src":"26625:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26624:22:98"},"returnParameters":{"id":67293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67292,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67295,"src":"26687:6:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"},"typeName":{"id":67291,"nodeType":"UserDefinedTypeName","pathNode":{"id":67290,"name":"Status","nameLocations":["26687:6:98"],"nodeType":"IdentifierPath","referencedDeclaration":2815,"src":"26687:6:98"},"referencedDeclaration":2815,"src":"26687:6:98","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"visibility":"internal"}],"src":"26686:8:98"},"scope":69234,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67314,"nodeType":"FunctionDefinition","src":"26956:287:98","nodes":[],"body":{"id":67313,"nodeType":"Block","src":"27066:177:98","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":67310,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65675,"src":"27220:14:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":67311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27220:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67312,"nodeType":"RevertStatement","src":"27213:23:98"}]},"baseFunctions":[65235],"documentation":{"id":67296,"nodeType":"StructuredDocumentation","src":"26833:118:98","text":"@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive"},"functionSelector":"b2b878d0","implemented":true,"kind":"function","modifiers":[],"name":"getPayouts","nameLocation":"26965:10:98","overrides":{"id":67304,"nodeType":"OverrideSpecifier","overrides":[],"src":"27024:8:98"},"parameters":{"id":67303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67299,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67314,"src":"26976:16:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":67297,"name":"address","nodeType":"ElementaryTypeName","src":"26976:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67298,"nodeType":"ArrayTypeName","src":"26976:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":67302,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67314,"src":"26994:14:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":67300,"name":"bytes","nodeType":"ElementaryTypeName","src":"26994:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":67301,"nodeType":"ArrayTypeName","src":"26994:7:98","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"26975:34:98"},"returnParameters":{"id":67309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67308,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67314,"src":"27042:22:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr","typeString":"struct IStrategy.PayoutSummary[]"},"typeName":{"baseType":{"id":67306,"nodeType":"UserDefinedTypeName","pathNode":{"id":67305,"name":"PayoutSummary","nameLocations":["27042:13:98"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"27042:13:98"},"referencedDeclaration":2820,"src":"27042:13:98","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"id":67307,"nodeType":"ArrayTypeName","src":"27042:15:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr","typeString":"struct IStrategy.PayoutSummary[]"}},"visibility":"internal"}],"src":"27041:24:98"},"scope":69234,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":67326,"nodeType":"FunctionDefinition","src":"27249:286:98","nodes":[],"body":{"id":67325,"nodeType":"Block","src":"27417:118:98","nodes":[],"statements":[]},"baseFunctions":[65387],"implemented":true,"kind":"function","modifiers":[],"name":"_getPayout","nameLocation":"27258:10:98","overrides":{"id":67320,"nodeType":"OverrideSpecifier","overrides":[],"src":"27365:8:98"},"parameters":{"id":67319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67316,"mutability":"mutable","name":"_recipientId","nameLocation":"27277:12:98","nodeType":"VariableDeclaration","scope":67326,"src":"27269:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67315,"name":"address","nodeType":"ElementaryTypeName","src":"27269:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67318,"mutability":"mutable","name":"_data","nameLocation":"27304:5:98","nodeType":"VariableDeclaration","scope":67326,"src":"27291:18:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67317,"name":"bytes","nodeType":"ElementaryTypeName","src":"27291:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"27268:42:98"},"returnParameters":{"id":67324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67323,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67326,"src":"27391:20:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary"},"typeName":{"id":67322,"nodeType":"UserDefinedTypeName","pathNode":{"id":67321,"name":"PayoutSummary","nameLocations":["27391:13:98"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"27391:13:98"},"referencedDeclaration":2820,"src":"27391:13:98","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"visibility":"internal"}],"src":"27390:22:98"},"scope":69234,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67337,"nodeType":"FunctionDefinition","src":"27541:127:98","nodes":[],"body":{"id":67336,"nodeType":"Block","src":"27618:50:98","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":67333,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67328,"src":"27653:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67332,"name":"PoolAmountIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65792,"src":"27633:19:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":67334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27633:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67335,"nodeType":"EmitStatement","src":"27628:33:98"}]},"baseFunctions":[65410],"implemented":true,"kind":"function","modifiers":[],"name":"_afterIncreasePoolAmount","nameLocation":"27550:24:98","overrides":{"id":67330,"nodeType":"OverrideSpecifier","overrides":[],"src":"27609:8:98"},"parameters":{"id":67329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67328,"mutability":"mutable","name":"_amount","nameLocation":"27583:7:98","nodeType":"VariableDeclaration","scope":67337,"src":"27575:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67327,"name":"uint256","nodeType":"ElementaryTypeName","src":"27575:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27574:17:98"},"returnParameters":{"id":67331,"nodeType":"ParameterList","parameters":[],"src":"27618:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67346,"nodeType":"FunctionDefinition","src":"27763:143:98","nodes":[],"body":{"id":67345,"nodeType":"Block","src":"27856:50:98","nodes":[],"statements":[]},"baseFunctions":[65347],"implemented":true,"kind":"function","modifiers":[],"name":"_isValidAllocator","nameLocation":"27772:17:98","overrides":{"id":67341,"nodeType":"OverrideSpecifier","overrides":[],"src":"27832:8:98"},"parameters":{"id":67340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67339,"mutability":"mutable","name":"_allocator","nameLocation":"27798:10:98","nodeType":"VariableDeclaration","scope":67346,"src":"27790:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67338,"name":"address","nodeType":"ElementaryTypeName","src":"27790:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27789:20:98"},"returnParameters":{"id":67344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67343,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67346,"src":"27850:4:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67342,"name":"bool","nodeType":"ElementaryTypeName","src":"27850:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27849:6:98"},"scope":69234,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67356,"nodeType":"FunctionDefinition","src":"27912:86:98","nodes":[],"body":{"id":67355,"nodeType":"Block","src":"27958:40:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":67352,"name":"_active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67348,"src":"27983:7:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":67351,"name":"_setPoolActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65330,"src":"27968:14:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":67353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27968:23:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67354,"nodeType":"ExpressionStatement","src":"27968:23:98"}]},"functionSelector":"b5f620ce","implemented":true,"kind":"function","modifiers":[],"name":"setPoolActive","nameLocation":"27921:13:98","parameters":{"id":67349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67348,"mutability":"mutable","name":"_active","nameLocation":"27940:7:98","nodeType":"VariableDeclaration","scope":67356,"src":"27935:12:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67347,"name":"bool","nodeType":"ElementaryTypeName","src":"27935:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27934:14:98"},"returnParameters":{"id":67350,"nodeType":"ParameterList","parameters":[],"src":"27958:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":67444,"nodeType":"FunctionDefinition","src":"28004:844:98","nodes":[],"body":{"id":67443,"nodeType":"Block","src":"28056:792:98","nodes":[],"statements":[{"assignments":[67365],"declarations":[{"constant":false,"id":67365,"mutability":"mutable","name":"proposalsIds","nameLocation":"28131:12:98","nodeType":"VariableDeclaration","scope":67443,"src":"28114:29:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":67363,"name":"uint256","nodeType":"ElementaryTypeName","src":"28114:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67364,"nodeType":"ArrayTypeName","src":"28114:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":67369,"initialValue":{"baseExpression":{"id":67366,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65957,"src":"28146:20:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67368,"indexExpression":{"id":67367,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67358,"src":"28167:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28146:29:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"28114:61:98"},{"body":{"id":67441,"nodeType":"Block","src":"28235:607:98","statements":[{"assignments":[67382],"declarations":[{"constant":false,"id":67382,"mutability":"mutable","name":"proposalId","nameLocation":"28257:10:98","nodeType":"VariableDeclaration","scope":67441,"src":"28249:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67381,"name":"uint256","nodeType":"ElementaryTypeName","src":"28249:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67386,"initialValue":{"baseExpression":{"id":67383,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67365,"src":"28270:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67385,"indexExpression":{"id":67384,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67371,"src":"28283:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28270:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28249:36:98"},{"assignments":[67391],"declarations":[{"constant":false,"id":67391,"mutability":"mutable","name":"proposal","nameLocation":"28331:8:98","nodeType":"VariableDeclaration","scope":67441,"src":"28299:40:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67390,"nodeType":"UserDefinedTypeName","pathNode":{"id":67389,"name":"StrategyStruct.Proposal","nameLocations":["28299:14:98","28314:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"28299:23:98"},"referencedDeclaration":65604,"src":"28299:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67395,"initialValue":{"baseExpression":{"id":67392,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"28342:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67394,"indexExpression":{"id":67393,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67382,"src":"28352:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28342:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"28299:64:98"},{"condition":{"arguments":[{"id":67397,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67382,"src":"28396:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67396,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67680,"src":"28381:14:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":67398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28381:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67440,"nodeType":"IfStatement","src":"28377:455:98","trueBody":{"id":67439,"nodeType":"Block","src":"28409:423:98","statements":[{"assignments":[67400],"declarations":[{"constant":false,"id":67400,"mutability":"mutable","name":"stakedPoints","nameLocation":"28435:12:98","nodeType":"VariableDeclaration","scope":67439,"src":"28427:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67399,"name":"uint256","nodeType":"ElementaryTypeName","src":"28427:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67405,"initialValue":{"baseExpression":{"expression":{"id":67401,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67391,"src":"28450:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67402,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28459:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65593,"src":"28450:26:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67404,"indexExpression":{"id":67403,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67358,"src":"28477:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28450:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28427:58:98"},{"expression":{"id":67412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":67406,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67391,"src":"28503:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67409,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28512:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65593,"src":"28503:26:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67410,"indexExpression":{"id":67408,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67358,"src":"28530:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"28503:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":67411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28541:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"28503:39:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67413,"nodeType":"ExpressionStatement","src":"28503:39:98"},{"expression":{"id":67418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":67414,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67391,"src":"28560:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67416,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"28569:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"28560:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":67417,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67400,"src":"28585:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28560:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67419,"nodeType":"ExpressionStatement","src":"28560:37:98"},{"expression":{"id":67422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67420,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65921,"src":"28615:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":67421,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67400,"src":"28630:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28615:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67423,"nodeType":"ExpressionStatement","src":"28615:27:98"},{"expression":{"arguments":[{"id":67425,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67391,"src":"28687:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":67426,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67400,"src":"28697:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67424,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68418,"src":"28660:26:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$65604_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":67427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28660:50:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67428,"nodeType":"ExpressionStatement","src":"28660:50:98"},{"eventCall":{"arguments":[{"id":67430,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67358,"src":"28746:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67431,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67382,"src":"28755:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":67432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28767:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":67433,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67391,"src":"28770:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67434,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28779:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"28770:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67435,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67391,"src":"28793:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67436,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28802:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"28793:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67429,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65824,"src":"28733:12:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":67437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28733:84:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67438,"nodeType":"EmitStatement","src":"28728:89:98"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67374,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67371,"src":"28205:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67375,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67365,"src":"28209:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28222:6:98","memberName":"length","nodeType":"MemberAccess","src":"28209:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28205:23:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67442,"initializationExpression":{"assignments":[67371],"declarations":[{"constant":false,"id":67371,"mutability":"mutable","name":"i","nameLocation":"28198:1:98","nodeType":"VariableDeclaration","scope":67442,"src":"28190:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67370,"name":"uint256","nodeType":"ElementaryTypeName","src":"28190:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67373,"initialValue":{"hexValue":"30","id":67372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28202:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"28190:13:98"},"loopExpression":{"expression":{"id":67379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"28230:3:98","subExpression":{"id":67378,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67371,"src":"28230:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67380,"nodeType":"ExpressionStatement","src":"28230:3:98"},"nodeType":"ForStatement","src":"28185:657:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"28013:8:98","parameters":{"id":67359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67358,"mutability":"mutable","name":"_member","nameLocation":"28030:7:98","nodeType":"VariableDeclaration","scope":67444,"src":"28022:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67357,"name":"address","nodeType":"ElementaryTypeName","src":"28022:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28021:17:98"},"returnParameters":{"id":67360,"nodeType":"ParameterList","parameters":[],"src":"28056:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":67522,"nodeType":"FunctionDefinition","src":"29532:1145:98","nodes":[],"body":{"id":67521,"nodeType":"Block","src":"30062:615:98","nodes":[],"statements":[{"assignments":[67477],"declarations":[{"constant":false,"id":67477,"mutability":"mutable","name":"proposal","nameLocation":"30104:8:98","nodeType":"VariableDeclaration","scope":67521,"src":"30072:40:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67476,"nodeType":"UserDefinedTypeName","pathNode":{"id":67475,"name":"StrategyStruct.Proposal","nameLocations":["30072:14:98","30087:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"30072:23:98"},"referencedDeclaration":65604,"src":"30072:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67481,"initialValue":{"baseExpression":{"id":67478,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"30115:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67480,"indexExpression":{"id":67479,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67447,"src":"30125:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30115:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"30072:65:98"},{"expression":{"id":67493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67482,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67467,"src":"30148:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67483,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30160:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30169:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"30160:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30188:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"30160:29:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"id":67489,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30215:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67490,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30224:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"30215:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67488,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68269,"src":"30196:18:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":67491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30196:44:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"30160:80:98","trueExpression":{"hexValue":"30","id":67487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30192:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30148:92:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67494,"nodeType":"ExpressionStatement","src":"30148:92:98"},{"expression":{"components":[{"expression":{"id":67495,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30271:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67496,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30280:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"30271:18:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67497,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30303:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67498,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30312:11:98","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":65580,"src":"30303:20:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67499,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30337:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67500,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30346:14:98","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":65584,"src":"30337:23:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":67501,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30374:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67502,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30383:15:98","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":65574,"src":"30374:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67503,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30412:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67504,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30421:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"30412:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67505,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30447:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67506,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30456:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"30447:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},{"expression":{"id":67507,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30484:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67508,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30493:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65586,"src":"30484:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67509,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30516:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67510,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30525:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"30516:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67511,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67467,"src":"30553:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"expression":{"id":67512,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30576:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67513,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30585:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65593,"src":"30576:26:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67516,"indexExpression":{"expression":{"id":67514,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"30603:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30607:6:98","memberName":"sender","nodeType":"MemberAccess","src":"30603:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30576:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":67517,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67477,"src":"30628:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67518,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30637:23:98","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65603,"src":"30628:32:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67519,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"30257:413:98","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$65563_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum StrategyStruct.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":67472,"id":67520,"nodeType":"Return","src":"30250:420:98"}]},"documentation":{"id":67445,"nodeType":"StructuredDocumentation","src":"28854:673:98","text":" @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold\n @return voterStakedPoints Voter staked points\n @return arbitrableConfigVersion Proposal arbitrable config id"},"functionSelector":"c7f758a8","implemented":true,"kind":"function","modifiers":[],"name":"getProposal","nameLocation":"29541:11:98","parameters":{"id":67448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67447,"mutability":"mutable","name":"_proposalId","nameLocation":"29561:11:98","nodeType":"VariableDeclaration","scope":67522,"src":"29553:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67446,"name":"uint256","nodeType":"ElementaryTypeName","src":"29553:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29552:21:98"},"returnParameters":{"id":67472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67450,"mutability":"mutable","name":"submitter","nameLocation":"29658:9:98","nodeType":"VariableDeclaration","scope":67522,"src":"29650:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67449,"name":"address","nodeType":"ElementaryTypeName","src":"29650:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67452,"mutability":"mutable","name":"beneficiary","nameLocation":"29689:11:98","nodeType":"VariableDeclaration","scope":67522,"src":"29681:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67451,"name":"address","nodeType":"ElementaryTypeName","src":"29681:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67454,"mutability":"mutable","name":"requestedToken","nameLocation":"29722:14:98","nodeType":"VariableDeclaration","scope":67522,"src":"29714:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67453,"name":"address","nodeType":"ElementaryTypeName","src":"29714:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67456,"mutability":"mutable","name":"requestedAmount","nameLocation":"29758:15:98","nodeType":"VariableDeclaration","scope":67522,"src":"29750:23:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67455,"name":"uint256","nodeType":"ElementaryTypeName","src":"29750:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67458,"mutability":"mutable","name":"stakedAmount","nameLocation":"29795:12:98","nodeType":"VariableDeclaration","scope":67522,"src":"29787:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67457,"name":"uint256","nodeType":"ElementaryTypeName","src":"29787:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67461,"mutability":"mutable","name":"proposalStatus","nameLocation":"29851:14:98","nodeType":"VariableDeclaration","scope":67522,"src":"29821:44:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":67460,"nodeType":"UserDefinedTypeName","pathNode":{"id":67459,"name":"StrategyStruct.ProposalStatus","nameLocations":["29821:14:98","29836:14:98"],"nodeType":"IdentifierPath","referencedDeclaration":65563,"src":"29821:29:98"},"referencedDeclaration":65563,"src":"29821:29:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":67463,"mutability":"mutable","name":"blockLast","nameLocation":"29887:9:98","nodeType":"VariableDeclaration","scope":67522,"src":"29879:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67462,"name":"uint256","nodeType":"ElementaryTypeName","src":"29879:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67465,"mutability":"mutable","name":"convictionLast","nameLocation":"29918:14:98","nodeType":"VariableDeclaration","scope":67522,"src":"29910:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67464,"name":"uint256","nodeType":"ElementaryTypeName","src":"29910:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67467,"mutability":"mutable","name":"threshold","nameLocation":"29954:9:98","nodeType":"VariableDeclaration","scope":67522,"src":"29946:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67466,"name":"uint256","nodeType":"ElementaryTypeName","src":"29946:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67469,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"29985:17:98","nodeType":"VariableDeclaration","scope":67522,"src":"29977:25:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67468,"name":"uint256","nodeType":"ElementaryTypeName","src":"29977:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67471,"mutability":"mutable","name":"arbitrableConfigVersion","nameLocation":"30024:23:98","nodeType":"VariableDeclaration","scope":67522,"src":"30016:31:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67470,"name":"uint256","nodeType":"ElementaryTypeName","src":"30016:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29636:421:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67543,"nodeType":"FunctionDefinition","src":"30683:206:98","nodes":[],"body":{"id":67542,"nodeType":"Block","src":"30773:116:98","nodes":[],"statements":[{"assignments":[67534],"declarations":[{"constant":false,"id":67534,"mutability":"mutable","name":"proposal","nameLocation":"30815:8:98","nodeType":"VariableDeclaration","scope":67542,"src":"30783:40:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67533,"nodeType":"UserDefinedTypeName","pathNode":{"id":67532,"name":"StrategyStruct.Proposal","nameLocations":["30783:14:98","30798:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"30783:23:98"},"referencedDeclaration":65604,"src":"30783:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67538,"initialValue":{"baseExpression":{"id":67535,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"30826:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67537,"indexExpression":{"id":67536,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67524,"src":"30836:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30826:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"30783:65:98"},{"expression":{"expression":{"id":67539,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67534,"src":"30865:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67540,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30874:8:98","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":65596,"src":"30865:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"functionReturnParameters":67529,"id":67541,"nodeType":"Return","src":"30858:24:98"}]},"functionSelector":"a574cea4","implemented":true,"kind":"function","modifiers":[],"name":"getMetadata","nameLocation":"30692:11:98","parameters":{"id":67525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67524,"mutability":"mutable","name":"_proposalId","nameLocation":"30712:11:98","nodeType":"VariableDeclaration","scope":67543,"src":"30704:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67523,"name":"uint256","nodeType":"ElementaryTypeName","src":"30704:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30703:21:98"},"returnParameters":{"id":67529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67528,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67543,"src":"30756:15:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":67527,"nodeType":"UserDefinedTypeName","pathNode":{"id":67526,"name":"Metadata","nameLocations":["30756:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"30756:8:98"},"referencedDeclaration":3098,"src":"30756:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"30755:17:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67559,"nodeType":"FunctionDefinition","src":"31090:184:98","nodes":[],"body":{"id":67558,"nodeType":"Block","src":"31198:76:98","nodes":[],"statements":[{"expression":{"arguments":[{"id":67554,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67546,"src":"31247:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67555,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67548,"src":"31260:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":67553,"name":"_internal_getProposalVoterStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67644,"src":"31215:31:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":67556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31215:52:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67552,"id":67557,"nodeType":"Return","src":"31208:59:98"}]},"documentation":{"id":67544,"nodeType":"StructuredDocumentation","src":"30895:190:98","text":" @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake"},"functionSelector":"e0dd2c38","implemented":true,"kind":"function","modifiers":[],"name":"getProposalVoterStake","nameLocation":"31099:21:98","parameters":{"id":67549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67546,"mutability":"mutable","name":"_proposalId","nameLocation":"31129:11:98","nodeType":"VariableDeclaration","scope":67559,"src":"31121:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67545,"name":"uint256","nodeType":"ElementaryTypeName","src":"31121:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67548,"mutability":"mutable","name":"_voter","nameLocation":"31150:6:98","nodeType":"VariableDeclaration","scope":67559,"src":"31142:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67547,"name":"address","nodeType":"ElementaryTypeName","src":"31142:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31120:37:98"},"returnParameters":{"id":67552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67559,"src":"31189:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67550,"name":"uint256","nodeType":"ElementaryTypeName","src":"31189:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31188:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67572,"nodeType":"FunctionDefinition","src":"31280:153:98","nodes":[],"body":{"id":67571,"nodeType":"Block","src":"31374:59:98","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":67566,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"31391:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67568,"indexExpression":{"id":67567,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67561,"src":"31401:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31391:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":67569,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31414:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"31391:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67565,"id":67570,"nodeType":"Return","src":"31384:42:98"}]},"functionSelector":"dc96ff2d","implemented":true,"kind":"function","modifiers":[],"name":"getProposalStakedAmount","nameLocation":"31289:23:98","parameters":{"id":67562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67561,"mutability":"mutable","name":"_proposalId","nameLocation":"31321:11:98","nodeType":"VariableDeclaration","scope":67572,"src":"31313:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67560,"name":"uint256","nodeType":"ElementaryTypeName","src":"31313:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31312:21:98"},"returnParameters":{"id":67565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67564,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67572,"src":"31365:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67563,"name":"uint256","nodeType":"ElementaryTypeName","src":"31365:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31364:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67584,"nodeType":"FunctionDefinition","src":"31501:135:98","nodes":[],"body":{"id":67583,"nodeType":"Block","src":"31586:50:98","nodes":[],"statements":[{"expression":{"baseExpression":{"id":67579,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65952,"src":"31603:18:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67581,"indexExpression":{"id":67580,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67574,"src":"31622:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31603:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67578,"id":67582,"nodeType":"Return","src":"31596:33:98"}]},"functionSelector":"bcc5b93b","implemented":true,"kind":"function","modifiers":[],"name":"getTotalVoterStakePct","nameLocation":"31510:21:98","parameters":{"id":67575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67574,"mutability":"mutable","name":"_voter","nameLocation":"31540:6:98","nodeType":"VariableDeclaration","scope":67584,"src":"31532:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67573,"name":"address","nodeType":"ElementaryTypeName","src":"31532:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31531:16:98"},"returnParameters":{"id":67578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67577,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67584,"src":"31577:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67576,"name":"uint256","nodeType":"ElementaryTypeName","src":"31577:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31576:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":67627,"nodeType":"FunctionDefinition","src":"31642:874:98","nodes":[],"body":{"id":67626,"nodeType":"Block","src":"31992:524:98","nodes":[],"statements":[{"expression":{"components":[{"expression":{"baseExpression":{"id":67600,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"32023:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67602,"indexExpression":{"id":67601,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"32041:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32023:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67603,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32073:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"32023:60:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},{"expression":{"baseExpression":{"id":67604,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"32097:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67606,"indexExpression":{"id":67605,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"32115:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32097:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67607,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32147:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"32097:62:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":67608,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"32173:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67610,"indexExpression":{"id":67609,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"32191:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32173:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67611,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32223:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"32173:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":67612,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"32262:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67614,"indexExpression":{"id":67613,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"32280:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32262:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67615,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32312:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"32262:76:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":67616,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"32352:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67618,"indexExpression":{"id":67617,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"32370:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32352:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67619,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32402:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"32352:63:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":67620,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"32429:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":67622,"indexExpression":{"id":67621,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"32447:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32429:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":67623,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32479:20:98","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"32429:70:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67624,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"32009:500:98","typeDescriptions":{"typeIdentifier":"t_tuple$_t_contract$_IArbitrator_$74044_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":67599,"id":67625,"nodeType":"Return","src":"32002:507:98"}]},"functionSelector":"059351cd","implemented":true,"kind":"function","modifiers":[],"name":"getArbitrableConfig","nameLocation":"31651:19:98","parameters":{"id":67585,"nodeType":"ParameterList","parameters":[],"src":"31670:2:98"},"returnParameters":{"id":67599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67588,"mutability":"mutable","name":"arbitrator","nameLocation":"31761:10:98","nodeType":"VariableDeclaration","scope":67627,"src":"31749:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"},"typeName":{"id":67587,"nodeType":"UserDefinedTypeName","pathNode":{"id":67586,"name":"IArbitrator","nameLocations":["31749:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":74044,"src":"31749:11:98"},"referencedDeclaration":74044,"src":"31749:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"visibility":"internal"},{"constant":false,"id":67590,"mutability":"mutable","name":"tribunalSafe","nameLocation":"31793:12:98","nodeType":"VariableDeclaration","scope":67627,"src":"31785:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67589,"name":"address","nodeType":"ElementaryTypeName","src":"31785:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67592,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"31827:25:98","nodeType":"VariableDeclaration","scope":67627,"src":"31819:33:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67591,"name":"uint256","nodeType":"ElementaryTypeName","src":"31819:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67594,"mutability":"mutable","name":"challengerCollateralAmount","nameLocation":"31874:26:98","nodeType":"VariableDeclaration","scope":67627,"src":"31866:34:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67593,"name":"uint256","nodeType":"ElementaryTypeName","src":"31866:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67596,"mutability":"mutable","name":"defaultRuling","nameLocation":"31922:13:98","nodeType":"VariableDeclaration","scope":67627,"src":"31914:21:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67595,"name":"uint256","nodeType":"ElementaryTypeName","src":"31914:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67598,"mutability":"mutable","name":"defaultRulingTimeout","nameLocation":"31957:20:98","nodeType":"VariableDeclaration","scope":67627,"src":"31949:28:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67597,"name":"uint256","nodeType":"ElementaryTypeName","src":"31949:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31735:252:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":67644,"nodeType":"FunctionDefinition","src":"32522:226:98","nodes":[],"body":{"id":67643,"nodeType":"Block","src":"32676:72:98","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":67636,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"32693:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67638,"indexExpression":{"id":67637,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67629,"src":"32703:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32693:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":67639,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32716:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65593,"src":"32693:40:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67641,"indexExpression":{"id":67640,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67631,"src":"32734:6:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32693:48:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67635,"id":67642,"nodeType":"Return","src":"32686:55:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_internal_getProposalVoterStake","nameLocation":"32531:31:98","parameters":{"id":67632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67629,"mutability":"mutable","name":"_proposalId","nameLocation":"32571:11:98","nodeType":"VariableDeclaration","scope":67644,"src":"32563:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67628,"name":"uint256","nodeType":"ElementaryTypeName","src":"32563:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67631,"mutability":"mutable","name":"_voter","nameLocation":"32592:6:98","nodeType":"VariableDeclaration","scope":67644,"src":"32584:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67630,"name":"address","nodeType":"ElementaryTypeName","src":"32584:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32562:37:98"},"returnParameters":{"id":67635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67634,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67644,"src":"32663:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67633,"name":"uint256","nodeType":"ElementaryTypeName","src":"32663:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32662:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67655,"nodeType":"FunctionDefinition","src":"32754:158:98","nodes":[],"body":{"id":67654,"nodeType":"Block","src":"32826:86:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":67649,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"32843:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":67650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32843:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":67651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32866:20:98","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":72537,"src":"32843:43:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":67652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32843:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67648,"id":67653,"nodeType":"Return","src":"32836:52:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"32763:20:98","parameters":{"id":67645,"nodeType":"ParameterList","parameters":[],"src":"32783:2:98"},"returnParameters":{"id":67648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67647,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67655,"src":"32817:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67646,"name":"uint256","nodeType":"ElementaryTypeName","src":"32817:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32816:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67680,"nodeType":"FunctionDefinition","src":"32918:193:98","nodes":[],"body":{"id":67679,"nodeType":"Block","src":"33000:111:98","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":67662,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"33017:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67664,"indexExpression":{"id":67663,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67657,"src":"33027:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33017:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":67665,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33040:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65572,"src":"33017:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":67666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33053:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"33017:37:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":67668,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"33058:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67670,"indexExpression":{"id":67669,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67657,"src":"33068:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33058:22:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":67671,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33081:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"33058:32:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":67674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33102:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":67673,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33094:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67672,"name":"address","nodeType":"ElementaryTypeName","src":"33094:7:98","typeDescriptions":{}}},"id":67675,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33094:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"33058:46:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"33017:87:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":67661,"id":67678,"nodeType":"Return","src":"33010:94:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"proposalExists","nameLocation":"32927:14:98","parameters":{"id":67658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67657,"mutability":"mutable","name":"_proposalID","nameLocation":"32950:11:98","nodeType":"VariableDeclaration","scope":67680,"src":"32942:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67656,"name":"uint256","nodeType":"ElementaryTypeName","src":"32942:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32941:21:98"},"returnParameters":{"id":67661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67660,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67680,"src":"32994:4:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67659,"name":"bool","nodeType":"ElementaryTypeName","src":"32994:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32993:6:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67699,"nodeType":"FunctionDefinition","src":"33117:191:98","nodes":[],"body":{"id":67698,"nodeType":"Block","src":"33220:88:98","nodes":[],"statements":[{"expression":{"id":67696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67687,"name":"isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67685,"src":"33230:14:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67688,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"33247:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":67689,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33256:8:98","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":65628,"src":"33247:17:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":67690,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"33267:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33247:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67692,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67682,"src":"33281:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":67693,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"33300:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33281:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33247:54:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"33230:71:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67697,"nodeType":"ExpressionStatement","src":"33230:71:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isOverMaxRatio","nameLocation":"33126:15:98","parameters":{"id":67683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67682,"mutability":"mutable","name":"_requestedAmount","nameLocation":"33150:16:98","nodeType":"VariableDeclaration","scope":67699,"src":"33142:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67681,"name":"uint256","nodeType":"ElementaryTypeName","src":"33142:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33141:26:98"},"returnParameters":{"id":67686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67685,"mutability":"mutable","name":"isOverMaxRatio","nameLocation":"33204:14:98","nodeType":"VariableDeclaration","scope":67699,"src":"33199:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67684,"name":"bool","nodeType":"ElementaryTypeName","src":"33199:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33198:21:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":67796,"nodeType":"FunctionDefinition","src":"33314:1553:98","nodes":[],"body":{"id":67795,"nodeType":"Block","src":"33444:1423:98","nodes":[],"statements":[{"assignments":[67709],"declarations":[{"constant":false,"id":67709,"mutability":"mutable","name":"deltaSupportSum","nameLocation":"33461:15:98","nodeType":"VariableDeclaration","scope":67795,"src":"33454:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67708,"name":"int256","nodeType":"ElementaryTypeName","src":"33454:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":67711,"initialValue":{"hexValue":"30","id":67710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33479:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33454:26:98"},{"body":{"id":67756,"nodeType":"Block","src":"33544:576:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":67723,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67705,"src":"33617:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67725,"indexExpression":{"id":67724,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67713,"src":"33634:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33617:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65609_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67726,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33637:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65606,"src":"33617:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33651:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"33617:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67731,"nodeType":"IfStatement","src":"33613:187:98","trueBody":{"id":67730,"nodeType":"Block","src":"33654:146:98","statements":[{"id":67729,"nodeType":"Continue","src":"33777:8:98"}]}},{"assignments":[67733],"declarations":[{"constant":false,"id":67733,"mutability":"mutable","name":"proposalId","nameLocation":"33821:10:98","nodeType":"VariableDeclaration","scope":67756,"src":"33813:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67732,"name":"uint256","nodeType":"ElementaryTypeName","src":"33813:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67738,"initialValue":{"expression":{"baseExpression":{"id":67734,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67705,"src":"33834:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67736,"indexExpression":{"id":67735,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67713,"src":"33851:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33834:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65609_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67737,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33854:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65606,"src":"33834:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33813:51:98"},{"condition":{"id":67742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"33882:27:98","subExpression":{"arguments":[{"id":67740,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67733,"src":"33898:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67739,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67680,"src":"33883:14:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":67741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33883:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67748,"nodeType":"IfStatement","src":"33878:167:98","trueBody":{"id":67747,"nodeType":"Block","src":"33911:134:98","statements":[{"errorCall":{"arguments":[{"id":67744,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67733,"src":"33954:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67743,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65717,"src":"33936:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":67745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33936:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67746,"nodeType":"RevertStatement","src":"33929:36:98"}]}},{"expression":{"id":67754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67749,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67709,"src":"34058:15:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":67750,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67705,"src":"34077:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67752,"indexExpression":{"id":67751,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67713,"src":"34094:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34077:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65609_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67753,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"34097:12:98","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":65608,"src":"34077:32:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"34058:51:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":67755,"nodeType":"ExpressionStatement","src":"34058:51:98"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67716,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67713,"src":"33510:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67717,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67705,"src":"33514:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33531:6:98","memberName":"length","nodeType":"MemberAccess","src":"33514:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33510:27:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67757,"initializationExpression":{"assignments":[67713],"declarations":[{"constant":false,"id":67713,"mutability":"mutable","name":"i","nameLocation":"33503:1:98","nodeType":"VariableDeclaration","scope":67757,"src":"33495:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67712,"name":"uint256","nodeType":"ElementaryTypeName","src":"33495:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67715,"initialValue":{"hexValue":"30","id":67714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33507:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"33495:13:98"},"loopExpression":{"expression":{"id":67721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"33539:3:98","subExpression":{"id":67720,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67713,"src":"33539:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67722,"nodeType":"ExpressionStatement","src":"33539:3:98"},"nodeType":"ForStatement","src":"33490:630:98"},{"assignments":[67759],"declarations":[{"constant":false,"id":67759,"mutability":"mutable","name":"newTotalVotingSupport","nameLocation":"34224:21:98","nodeType":"VariableDeclaration","scope":67795,"src":"34216:29:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67758,"name":"uint256","nodeType":"ElementaryTypeName","src":"34216:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67766,"initialValue":{"arguments":[{"arguments":[{"id":67762,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67701,"src":"34282:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67761,"name":"getTotalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67584,"src":"34260:21:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":67763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34260:30:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67764,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67709,"src":"34292:15:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":67760,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68118,"src":"34248:11:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":67765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34248:60:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34216:92:98"},{"assignments":[67768],"declarations":[{"constant":false,"id":67768,"mutability":"mutable","name":"participantBalance","nameLocation":"34398:18:98","nodeType":"VariableDeclaration","scope":67795,"src":"34390:26:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67767,"name":"uint256","nodeType":"ElementaryTypeName","src":"34390:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67778,"initialValue":{"arguments":[{"id":67772,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67701,"src":"34467:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":67775,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"34484:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":67774,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34476:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67773,"name":"address","nodeType":"ElementaryTypeName","src":"34476:7:98","typeDescriptions":{}}},"id":67776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34476:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":67769,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"34419:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":67770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34419:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":67771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34442:24:98","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":72137,"src":"34419:47:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":67777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34419:71:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34390:100:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67779,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67759,"src":"34656:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":67780,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67768,"src":"34680:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34656:42:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67788,"nodeType":"IfStatement","src":"34652:147:98","trueBody":{"id":67787,"nodeType":"Block","src":"34700:99:98","statements":[{"errorCall":{"arguments":[{"id":67783,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67759,"src":"34746:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67784,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67768,"src":"34769:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67782,"name":"NotEnoughPointsToSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65705,"src":"34721:24:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":67785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34721:67:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67786,"nodeType":"RevertStatement","src":"34714:74:98"}]}},{"expression":{"id":67793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67789,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65952,"src":"34809:18:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67791,"indexExpression":{"id":67790,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67701,"src":"34828:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"34809:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67792,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67759,"src":"34839:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34809:51:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67794,"nodeType":"ExpressionStatement","src":"34809:51:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_check_before_addSupport","nameLocation":"33323:24:98","parameters":{"id":67706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67701,"mutability":"mutable","name":"_sender","nameLocation":"33356:7:98","nodeType":"VariableDeclaration","scope":67796,"src":"33348:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67700,"name":"address","nodeType":"ElementaryTypeName","src":"33348:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67705,"mutability":"mutable","name":"_proposalSupport","nameLocation":"33405:16:98","nodeType":"VariableDeclaration","scope":67796,"src":"33365:56:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":67703,"nodeType":"UserDefinedTypeName","pathNode":{"id":67702,"name":"StrategyStruct.ProposalSupport","nameLocations":["33365:14:98","33380:15:98"],"nodeType":"IdentifierPath","referencedDeclaration":65609,"src":"33365:30:98"},"referencedDeclaration":65609,"src":"33365:30:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65609_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":67704,"nodeType":"ArrayTypeName","src":"33365:32:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"33347:75:98"},"returnParameters":{"id":67707,"nodeType":"ParameterList","parameters":[],"src":"33444:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":68083,"nodeType":"FunctionDefinition","src":"34873:3487:98","nodes":[],"body":{"id":68082,"nodeType":"Block","src":"34986:3374:98","nodes":[],"statements":[{"assignments":[67809],"declarations":[{"constant":false,"id":67809,"mutability":"mutable","name":"proposalsIds","nameLocation":"35013:12:98","nodeType":"VariableDeclaration","scope":68082,"src":"34996:29:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":67807,"name":"uint256","nodeType":"ElementaryTypeName","src":"34996:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67808,"nodeType":"ArrayTypeName","src":"34996:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":67810,"nodeType":"VariableDeclarationStatement","src":"34996:29:98"},{"body":{"id":68080,"nodeType":"Block","src":"35089:3265:98","statements":[{"assignments":[67823],"declarations":[{"constant":false,"id":67823,"mutability":"mutable","name":"proposalId","nameLocation":"35111:10:98","nodeType":"VariableDeclaration","scope":68080,"src":"35103:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67822,"name":"uint256","nodeType":"ElementaryTypeName","src":"35103:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67828,"initialValue":{"expression":{"baseExpression":{"id":67824,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67802,"src":"35124:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67826,"indexExpression":{"id":67825,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67812,"src":"35141:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35124:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65609_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67827,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35144:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65606,"src":"35124:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"35103:51:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67829,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"35227:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35240:6:98","memberName":"length","nodeType":"MemberAccess","src":"35227:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35250:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"35227:24:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":67931,"nodeType":"Block","src":"35379:764:98","statements":[{"assignments":[67849],"declarations":[{"constant":false,"id":67849,"mutability":"mutable","name":"exist","nameLocation":"35402:5:98","nodeType":"VariableDeclaration","scope":67931,"src":"35397:10:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67848,"name":"bool","nodeType":"ElementaryTypeName","src":"35397:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":67851,"initialValue":{"hexValue":"66616c7365","id":67850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35410:5:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"35397:18:98"},{"body":{"id":67879,"nodeType":"Block","src":"35483:268:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":67863,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"35534:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67865,"indexExpression":{"id":67864,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67853,"src":"35547:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35534:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":67866,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67823,"src":"35553:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35534:29:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67878,"nodeType":"IfStatement","src":"35530:203:98","trueBody":{"id":67877,"nodeType":"Block","src":"35565:168:98","statements":[{"expression":{"id":67870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67868,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67849,"src":"35591:5:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":67869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35599:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"35591:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67871,"nodeType":"ExpressionStatement","src":"35591:12:98"},{"errorCall":{"arguments":[{"id":67873,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67823,"src":"35662:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67874,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67853,"src":"35674:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67872,"name":"ProposalSupportDuplicated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65723,"src":"35636:25:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":67875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35636:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67876,"nodeType":"RevertStatement","src":"35629:47:98"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67856,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67853,"src":"35453:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67857,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"35457:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35470:6:98","memberName":"length","nodeType":"MemberAccess","src":"35457:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35453:23:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67880,"initializationExpression":{"assignments":[67853],"declarations":[{"constant":false,"id":67853,"mutability":"mutable","name":"j","nameLocation":"35446:1:98","nodeType":"VariableDeclaration","scope":67880,"src":"35438:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67852,"name":"uint256","nodeType":"ElementaryTypeName","src":"35438:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67855,"initialValue":{"hexValue":"30","id":67854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35450:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35438:13:98"},"loopExpression":{"expression":{"id":67861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35478:3:98","subExpression":{"id":67860,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67853,"src":"35478:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67862,"nodeType":"ExpressionStatement","src":"35478:3:98"},"nodeType":"ForStatement","src":"35433:318:98"},{"condition":{"id":67882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"35772:6:98","subExpression":{"id":67881,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67849,"src":"35773:5:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67930,"nodeType":"IfStatement","src":"35768:361:98","trueBody":{"id":67929,"nodeType":"Block","src":"35780:349:98","statements":[{"assignments":[67887],"declarations":[{"constant":false,"id":67887,"mutability":"mutable","name":"temp","nameLocation":"35819:4:98","nodeType":"VariableDeclaration","scope":67929,"src":"35802:21:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":67885,"name":"uint256","nodeType":"ElementaryTypeName","src":"35802:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67886,"nodeType":"ArrayTypeName","src":"35802:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":67896,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67891,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"35840:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35853:6:98","memberName":"length","nodeType":"MemberAccess","src":"35840:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":67893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35862:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"35840:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67890,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"35826:13:98","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":67888,"name":"uint256","nodeType":"ElementaryTypeName","src":"35830:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67889,"nodeType":"ArrayTypeName","src":"35830:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":67895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35826:38:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"35802:62:98"},{"body":{"id":67916,"nodeType":"Block","src":"35936:74:98","statements":[{"expression":{"id":67914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67908,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67887,"src":"35962:4:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67910,"indexExpression":{"id":67909,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67898,"src":"35967:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35962:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":67911,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"35972:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67913,"indexExpression":{"id":67912,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67898,"src":"35985:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35972:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35962:25:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67915,"nodeType":"ExpressionStatement","src":"35962:25:98"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67901,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67898,"src":"35906:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67902,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"35910:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35923:6:98","memberName":"length","nodeType":"MemberAccess","src":"35910:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35906:23:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67917,"initializationExpression":{"assignments":[67898],"declarations":[{"constant":false,"id":67898,"mutability":"mutable","name":"j","nameLocation":"35899:1:98","nodeType":"VariableDeclaration","scope":67917,"src":"35891:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67897,"name":"uint256","nodeType":"ElementaryTypeName","src":"35891:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67900,"initialValue":{"hexValue":"30","id":67899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35903:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35891:13:98"},"loopExpression":{"expression":{"id":67906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35931:3:98","subExpression":{"id":67905,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67898,"src":"35931:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67907,"nodeType":"ExpressionStatement","src":"35931:3:98"},"nodeType":"ForStatement","src":"35886:124:98"},{"expression":{"id":67923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67918,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67887,"src":"36031:4:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67921,"indexExpression":{"expression":{"id":67919,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"36036:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36049:6:98","memberName":"length","nodeType":"MemberAccess","src":"36036:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"36031:25:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67922,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67823,"src":"36059:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36031:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67924,"nodeType":"ExpressionStatement","src":"36031:38:98"},{"expression":{"id":67927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67925,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"36091:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67926,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67887,"src":"36106:4:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"36091:19:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67928,"nodeType":"ExpressionStatement","src":"36091:19:98"}]}}]},"id":67932,"nodeType":"IfStatement","src":"35223:920:98","trueBody":{"id":67847,"nodeType":"Block","src":"35253:120:98","statements":[{"expression":{"id":67839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67833,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"35271:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":67837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35300:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":67836,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"35286:13:98","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":67834,"name":"uint256","nodeType":"ElementaryTypeName","src":"35290:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67835,"nodeType":"ArrayTypeName","src":"35290:9:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":67838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35286:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"35271:31:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67840,"nodeType":"ExpressionStatement","src":"35271:31:98"},{"expression":{"id":67845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67841,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67809,"src":"35320:12:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67843,"indexExpression":{"hexValue":"30","id":67842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35333:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35320:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67844,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67823,"src":"35338:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35320:28:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67846,"nodeType":"ExpressionStatement","src":"35320:28:98"}]}},{"assignments":[67934],"declarations":[{"constant":false,"id":67934,"mutability":"mutable","name":"delta","nameLocation":"36163:5:98","nodeType":"VariableDeclaration","scope":68080,"src":"36156:12:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67933,"name":"int256","nodeType":"ElementaryTypeName","src":"36156:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":67939,"initialValue":{"expression":{"baseExpression":{"id":67935,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67802,"src":"36171:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67937,"indexExpression":{"id":67936,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67812,"src":"36188:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36171:19:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65609_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":67938,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36191:12:98","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":65608,"src":"36171:32:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"36156:47:98"},{"assignments":[67944],"declarations":[{"constant":false,"id":67944,"mutability":"mutable","name":"proposal","nameLocation":"36250:8:98","nodeType":"VariableDeclaration","scope":68080,"src":"36218:40:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":67943,"nodeType":"UserDefinedTypeName","pathNode":{"id":67942,"name":"StrategyStruct.Proposal","nameLocations":["36218:14:98","36233:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"36218:23:98"},"referencedDeclaration":65604,"src":"36218:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":67948,"initialValue":{"baseExpression":{"id":67945,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"36261:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":67947,"indexExpression":{"id":67946,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67823,"src":"36271:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36261:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"36218:64:98"},{"assignments":[67950],"declarations":[{"constant":false,"id":67950,"mutability":"mutable","name":"previousStakedPoints","nameLocation":"36392:20:98","nodeType":"VariableDeclaration","scope":68080,"src":"36384:28:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67949,"name":"uint256","nodeType":"ElementaryTypeName","src":"36384:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67955,"initialValue":{"baseExpression":{"expression":{"id":67951,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"36415:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67952,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36424:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65593,"src":"36415:26:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67954,"indexExpression":{"id":67953,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67798,"src":"36442:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36415:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36384:66:98"},{"assignments":[67957],"declarations":[{"constant":false,"id":67957,"mutability":"mutable","name":"stakedPoints","nameLocation":"36623:12:98","nodeType":"VariableDeclaration","scope":68080,"src":"36615:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67956,"name":"uint256","nodeType":"ElementaryTypeName","src":"36615:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67962,"initialValue":{"arguments":[{"id":67959,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67950,"src":"36650:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67960,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67934,"src":"36672:5:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":67958,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68118,"src":"36638:11:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":67961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36638:40:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36615:63:98"},{"expression":{"id":67969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":67963,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"36813:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67966,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36822:17:98","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":65593,"src":"36813:26:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":67967,"indexExpression":{"id":67965,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67798,"src":"36840:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"36813:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67968,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67957,"src":"36851:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36813:50:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67970,"nodeType":"ExpressionStatement","src":"36813:50:98"},{"assignments":[67972],"declarations":[{"constant":false,"id":67972,"mutability":"mutable","name":"hasProposal","nameLocation":"37102:11:98","nodeType":"VariableDeclaration","scope":68080,"src":"37097:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67971,"name":"bool","nodeType":"ElementaryTypeName","src":"37097:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":67974,"initialValue":{"hexValue":"66616c7365","id":67973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"37116:5:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"37097:24:98"},{"body":{"id":68003,"nodeType":"Block","src":"37202:179:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":67988,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65957,"src":"37224:20:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67990,"indexExpression":{"id":67989,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67798,"src":"37245:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37224:29:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":67992,"indexExpression":{"id":67991,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67976,"src":"37254:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37224:32:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":67993,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"37260:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":67994,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37269:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65572,"src":"37260:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37224:55:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68002,"nodeType":"IfStatement","src":"37220:147:98","trueBody":{"id":68001,"nodeType":"Block","src":"37281:86:98","statements":[{"expression":{"id":67998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67996,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67972,"src":"37303:11:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":67997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"37317:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"37303:18:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67999,"nodeType":"ExpressionStatement","src":"37303:18:98"},{"id":68000,"nodeType":"Break","src":"37343:5:98"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67979,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67976,"src":"37155:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":67980,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65957,"src":"37159:20:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":67982,"indexExpression":{"id":67981,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67798,"src":"37180:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37159:29:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":67983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37189:6:98","memberName":"length","nodeType":"MemberAccess","src":"37159:36:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37155:40:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68004,"initializationExpression":{"assignments":[67976],"declarations":[{"constant":false,"id":67976,"mutability":"mutable","name":"k","nameLocation":"37148:1:98","nodeType":"VariableDeclaration","scope":68004,"src":"37140:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67975,"name":"uint256","nodeType":"ElementaryTypeName","src":"37140:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67978,"initialValue":{"hexValue":"30","id":67977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37152:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"37140:13:98"},"loopExpression":{"expression":{"id":67986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"37197:3:98","subExpression":{"id":67985,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67976,"src":"37197:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67987,"nodeType":"ExpressionStatement","src":"37197:3:98"},"nodeType":"ForStatement","src":"37135:246:98"},{"condition":{"id":68006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"37398:12:98","subExpression":{"id":68005,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67972,"src":"37399:11:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68016,"nodeType":"IfStatement","src":"37394:106:98","trueBody":{"id":68015,"nodeType":"Block","src":"37412:88:98","statements":[{"expression":{"arguments":[{"expression":{"id":68011,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"37465:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68012,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37474:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65572,"src":"37465:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":68007,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65957,"src":"37430:20:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":68009,"indexExpression":{"id":68008,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67798,"src":"37451:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37430:29:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":68010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37460:4:98","memberName":"push","nodeType":"MemberAccess","src":"37430:34:98","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":68013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37430:55:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68014,"nodeType":"ExpressionStatement","src":"37430:55:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68017,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67950,"src":"37655:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":68018,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67957,"src":"37679:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37655:36:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":68049,"nodeType":"Block","src":"37860:161:98","statements":[{"expression":{"id":68039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68035,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65921,"src":"37878:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68036,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67950,"src":"37893:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68037,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67957,"src":"37916:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37893:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37878:50:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68040,"nodeType":"ExpressionStatement","src":"37878:50:98"},{"expression":{"id":68047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68041,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"37946:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68043,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37955:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"37946:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68044,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67950,"src":"37971:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68045,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67957,"src":"37994:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37971:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37946:60:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68048,"nodeType":"ExpressionStatement","src":"37946:60:98"}]},"id":68050,"nodeType":"IfStatement","src":"37651:370:98","trueBody":{"id":68034,"nodeType":"Block","src":"37693:161:98","statements":[{"expression":{"id":68024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68020,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65921,"src":"37711:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68021,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67957,"src":"37726:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68022,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67950,"src":"37741:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37726:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37711:50:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68025,"nodeType":"ExpressionStatement","src":"37711:50:98"},{"expression":{"id":68032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68026,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"37779:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68028,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"37788:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"37779:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68029,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67957,"src":"37804:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68030,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67950,"src":"37819:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37804:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37779:60:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68033,"nodeType":"ExpressionStatement","src":"37779:60:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68051,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"38038:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68052,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38047:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65586,"src":"38038:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38060:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38038:23:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":68078,"nodeType":"Block","src":"38135:209:98","statements":[{"expression":{"arguments":[{"id":68064,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"38180:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":68065,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67950,"src":"38190:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68063,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68418,"src":"38153:26:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$65604_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":68066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38153:58:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68067,"nodeType":"ExpressionStatement","src":"38153:58:98"},{"eventCall":{"arguments":[{"id":68069,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67798,"src":"38247:7:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":68070,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67823,"src":"38256:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68071,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67957,"src":"38268:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68072,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"38282:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68073,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38291:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"38282:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68074,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"38305:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68075,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38314:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"38305:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68068,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65824,"src":"38234:12:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":68076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38234:95:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68077,"nodeType":"EmitStatement","src":"38229:100:98"}]},"id":68079,"nodeType":"IfStatement","src":"38034:310:98","trueBody":{"id":68062,"nodeType":"Block","src":"38063:66:98","statements":[{"expression":{"id":68060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68055,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"38081:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68057,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"38090:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65586,"src":"38081:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68058,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"38102:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38108:6:98","memberName":"number","nodeType":"MemberAccess","src":"38102:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38081:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68061,"nodeType":"ExpressionStatement","src":"38081:33:98"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67815,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67812,"src":"35055:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67816,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67802,"src":"35059:16:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":67817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35076:6:98","memberName":"length","nodeType":"MemberAccess","src":"35059:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35055:27:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68081,"initializationExpression":{"assignments":[67812],"declarations":[{"constant":false,"id":67812,"mutability":"mutable","name":"i","nameLocation":"35048:1:98","nodeType":"VariableDeclaration","scope":68081,"src":"35040:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67811,"name":"uint256","nodeType":"ElementaryTypeName","src":"35040:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67814,"initialValue":{"hexValue":"30","id":67813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35052:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"35040:13:98"},"loopExpression":{"expression":{"id":67820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"35084:3:98","subExpression":{"id":67819,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67812,"src":"35084:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67821,"nodeType":"ExpressionStatement","src":"35084:3:98"},"nodeType":"ForStatement","src":"35035:3319:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addSupport","nameLocation":"34882:11:98","parameters":{"id":67803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67798,"mutability":"mutable","name":"_sender","nameLocation":"34902:7:98","nodeType":"VariableDeclaration","scope":68083,"src":"34894:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67797,"name":"address","nodeType":"ElementaryTypeName","src":"34894:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":67802,"mutability":"mutable","name":"_proposalSupport","nameLocation":"34951:16:98","nodeType":"VariableDeclaration","scope":68083,"src":"34911:56:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":67800,"nodeType":"UserDefinedTypeName","pathNode":{"id":67799,"name":"StrategyStruct.ProposalSupport","nameLocations":["34911:14:98","34926:15:98"],"nodeType":"IdentifierPath","referencedDeclaration":65609,"src":"34911:30:98"},"referencedDeclaration":65609,"src":"34911:30:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65609_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":67801,"nodeType":"ArrayTypeName","src":"34911:32:98","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"34893:75:98"},"returnParameters":{"id":67804,"nodeType":"ParameterList","parameters":[],"src":"34986:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":68118,"nodeType":"FunctionDefinition","src":"38366:284:98","nodes":[],"body":{"id":68117,"nodeType":"Block","src":"38460:190:98","nodes":[],"statements":[{"assignments":[68093],"declarations":[{"constant":false,"id":68093,"mutability":"mutable","name":"result","nameLocation":"38477:6:98","nodeType":"VariableDeclaration","scope":68117,"src":"38470:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":68092,"name":"int256","nodeType":"ElementaryTypeName","src":"38470:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":68100,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":68099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":68096,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68085,"src":"38493:8:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68095,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38486:6:98","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":68094,"name":"int256","nodeType":"ElementaryTypeName","src":"38486:6:98","typeDescriptions":{}}},"id":68097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38486:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68098,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68087,"src":"38505:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"38486:25:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"38470:41:98"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":68103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68101,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68093,"src":"38526:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":68102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38535:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38526:10:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68111,"nodeType":"IfStatement","src":"38522:90:98","trueBody":{"id":68110,"nodeType":"Block","src":"38538:74:98","statements":[{"errorCall":{"arguments":[{"id":68105,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68085,"src":"38576:8:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68106,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68087,"src":"38586:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":68107,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68093,"src":"38594:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":68104,"name":"SupportUnderflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65695,"src":"38559:16:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":68108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38559:42:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68109,"nodeType":"RevertStatement","src":"38552:49:98"}]}},{"expression":{"arguments":[{"id":68114,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68093,"src":"38636:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":68113,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38628:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":68112,"name":"uint256","nodeType":"ElementaryTypeName","src":"38628:7:98","typeDescriptions":{}}},"id":68115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38628:15:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68091,"id":68116,"nodeType":"Return","src":"38621:22:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_applyDelta","nameLocation":"38375:11:98","parameters":{"id":68088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68085,"mutability":"mutable","name":"_support","nameLocation":"38395:8:98","nodeType":"VariableDeclaration","scope":68118,"src":"38387:16:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68084,"name":"uint256","nodeType":"ElementaryTypeName","src":"38387:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68087,"mutability":"mutable","name":"_delta","nameLocation":"38412:6:98","nodeType":"VariableDeclaration","scope":68118,"src":"38405:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":68086,"name":"int256","nodeType":"ElementaryTypeName","src":"38405:6:98","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"38386:33:98"},"returnParameters":{"id":68091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68090,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68118,"src":"38451:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68089,"name":"uint256","nodeType":"ElementaryTypeName","src":"38451:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38450:9:98"},"scope":69234,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68176,"nodeType":"FunctionDefinition","src":"39067:1191:98","nodes":[],"body":{"id":68175,"nodeType":"Block","src":"39230:1028:98","nodes":[],"statements":[{"assignments":[68131],"declarations":[{"constant":false,"id":68131,"mutability":"mutable","name":"t","nameLocation":"39248:1:98","nodeType":"VariableDeclaration","scope":68175,"src":"39240:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68130,"name":"uint256","nodeType":"ElementaryTypeName","src":"39240:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68133,"initialValue":{"id":68132,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68121,"src":"39252:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"39240:23:98"},{"assignments":[68135],"declarations":[{"constant":false,"id":68135,"mutability":"mutable","name":"atTWO_128","nameLocation":"39586:9:98","nodeType":"VariableDeclaration","scope":68175,"src":"39578:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68134,"name":"uint256","nodeType":"ElementaryTypeName","src":"39578:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68146,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68137,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"39604:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68138,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39613:5:98","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65632,"src":"39604:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":68139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39622:3:98","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"39604:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68141,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39603:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68142,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"39629:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39603:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68144,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68131,"src":"39632:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68136,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68369,"src":"39598:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":68145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39598:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"39578:56:98"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68147,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68135,"src":"40130:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68148,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68123,"src":"40142:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40130:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68150,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40129:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68151,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68125,"src":"40157:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68152,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"40170:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40157:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68154,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65892,"src":"40175:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68155,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68135,"src":"40185:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40175:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68157,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40174:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40157:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68159,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40156:40:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68160,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"40200:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68161,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"40204:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68162,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40213:5:98","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65632,"src":"40204:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40200:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68164,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40199:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40156:63:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68166,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40155:65:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40129:91:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68168,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40128:93:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68169,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65895,"src":"40224:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40128:103:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68171,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40127:105:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":68172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40248:3:98","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"40127:124:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68129,"id":68174,"nodeType":"Return","src":"40120:131:98"}]},"documentation":{"id":68119,"nodeType":"StructuredDocumentation","src":"38656:406:98","text":" @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction"},"functionSelector":"346db8cb","implemented":true,"kind":"function","modifiers":[],"name":"calculateConviction","nameLocation":"39076:19:98","parameters":{"id":68126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68121,"mutability":"mutable","name":"_timePassed","nameLocation":"39104:11:98","nodeType":"VariableDeclaration","scope":68176,"src":"39096:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68120,"name":"uint256","nodeType":"ElementaryTypeName","src":"39096:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68123,"mutability":"mutable","name":"_lastConv","nameLocation":"39125:9:98","nodeType":"VariableDeclaration","scope":68176,"src":"39117:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68122,"name":"uint256","nodeType":"ElementaryTypeName","src":"39117:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68125,"mutability":"mutable","name":"_oldAmount","nameLocation":"39144:10:98","nodeType":"VariableDeclaration","scope":68176,"src":"39136:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68124,"name":"uint256","nodeType":"ElementaryTypeName","src":"39136:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39095:60:98"},"returnParameters":{"id":68129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68128,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68176,"src":"39217:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68127,"name":"uint256","nodeType":"ElementaryTypeName","src":"39217:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39216:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68269,"nodeType":"FunctionDefinition","src":"40839:1549:98","nodes":[],"body":{"id":68268,"nodeType":"Block","src":"40942:1446:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68184,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"41076:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":68185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41090:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"41076:15:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68191,"nodeType":"IfStatement","src":"41072:66:98","trueBody":{"id":68190,"nodeType":"Block","src":"41093:45:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68187,"name":"PoolIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65673,"src":"41114:11:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41114:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68189,"nodeType":"RevertStatement","src":"41107:20:98"}]}},{"condition":{"arguments":[{"id":68193,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68179,"src":"41594:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68192,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67699,"src":"41578:15:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":68194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41578:33:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68199,"nodeType":"IfStatement","src":"41574:91:98","trueBody":{"id":68198,"nodeType":"Block","src":"41613:52:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68195,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65681,"src":"41634:18:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41634:20:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68197,"nodeType":"RevertStatement","src":"41627:27:98"}]}},{"assignments":[68201],"declarations":[{"constant":false,"id":68201,"mutability":"mutable","name":"denom","nameLocation":"41821:5:98","nodeType":"VariableDeclaration","scope":68268,"src":"41813:13:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68200,"name":"uint256","nodeType":"ElementaryTypeName","src":"41813:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68220,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68202,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"41830:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68203,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41839:8:98","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":65628,"src":"41830:17:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":68206,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":68204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41850:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":68205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41855:2:98","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41850:7:98","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"41830:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68208,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41829:29:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68209,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"41861:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41829:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68211,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68179,"src":"41866:16:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":68214,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":68212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41885:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":68213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41890:2:98","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41885:7:98","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"41866:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68216,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41865:28:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68217,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64881,"src":"41896:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41865:41:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41829:77:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"41813:93:98"},{"expression":{"id":68255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68221,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68182,"src":"41916:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68222,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"41948:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68223,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41957:6:98","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":65630,"src":"41948:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":68224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41967:3:98","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"41948:22:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68226,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41947:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":68227,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"41974:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41947:28:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68229,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41946:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68230,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68201,"src":"41981:5:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68231,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68201,"src":"41989:5:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41981:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68233,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41980:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":68234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41999:2:98","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41980:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68236,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41979:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41946:56:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68238,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41945:58:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68239,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"42006:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41945:62:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68241,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41944:64:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68242,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"42012:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68243,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"42016:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68244,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42025:5:98","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65632,"src":"42016:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42012:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68246,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"42011:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41944:87:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68248,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41943:89:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":68249,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68377,"src":"42051:26:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":68250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42051:28:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41943:136:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68252,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"41929:160:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":68253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42093:2:98","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"41929:166:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41916:179:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68256,"nodeType":"ExpressionStatement","src":"41916:179:98"},{"expression":{"id":68266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68257,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68182,"src":"42285:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68258,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68182,"src":"42298:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":68259,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"42311:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68260,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42320:18:98","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":65634,"src":"42311:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42298:40:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":68263,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"42354:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68264,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42363:18:98","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":65634,"src":"42354:27:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"42298:83:98","trueExpression":{"id":68262,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68182,"src":"42341:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42285:96:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68267,"nodeType":"ExpressionStatement","src":"42285:96:98"}]},"documentation":{"id":68177,"nodeType":"StructuredDocumentation","src":"40264:570:98","text":" @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it."},"functionSelector":"59a5db8b","implemented":true,"kind":"function","modifiers":[],"name":"calculateThreshold","nameLocation":"40848:18:98","parameters":{"id":68180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68179,"mutability":"mutable","name":"_requestedAmount","nameLocation":"40875:16:98","nodeType":"VariableDeclaration","scope":68269,"src":"40867:24:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68178,"name":"uint256","nodeType":"ElementaryTypeName","src":"40867:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40866:26:98"},"returnParameters":{"id":68183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68182,"mutability":"mutable","name":"_threshold","nameLocation":"40930:10:98","nodeType":"VariableDeclaration","scope":68269,"src":"40922:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68181,"name":"uint256","nodeType":"ElementaryTypeName","src":"40922:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40921:20:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68304,"nodeType":"FunctionDefinition","src":"42649:277:98","nodes":[],"body":{"id":68303,"nodeType":"Block","src":"42735:191:98","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68280,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68272,"src":"42753:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":68281,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65892,"src":"42759:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42753:13:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":68283,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42768:42:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":68279,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"42745:7:98","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42745:66:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68285,"nodeType":"ExpressionStatement","src":"42745:66:98"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68287,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68274,"src":"42829:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":68288,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65892,"src":"42834:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42829:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":68290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42843:30:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":68286,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"42821:7:98","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42821:53:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68292,"nodeType":"ExpressionStatement","src":"42821:53:98"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68293,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68272,"src":"42893:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68294,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68274,"src":"42898:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42893:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68296,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"42892:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68297,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65895,"src":"42904:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42892:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68299,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"42891:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":68300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42916:3:98","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"42891:28:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68278,"id":68302,"nodeType":"Return","src":"42884:35:98"}]},"documentation":{"id":68270,"nodeType":"StructuredDocumentation","src":"42394:250:98","text":" Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"42658:4:98","parameters":{"id":68275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68272,"mutability":"mutable","name":"_a","nameLocation":"42671:2:98","nodeType":"VariableDeclaration","scope":68304,"src":"42663:10:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68271,"name":"uint256","nodeType":"ElementaryTypeName","src":"42663:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68274,"mutability":"mutable","name":"_b","nameLocation":"42683:2:98","nodeType":"VariableDeclaration","scope":68304,"src":"42675:10:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68273,"name":"uint256","nodeType":"ElementaryTypeName","src":"42675:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42662:24:98"},"returnParameters":{"id":68278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68277,"mutability":"mutable","name":"_result","nameLocation":"42726:7:98","nodeType":"VariableDeclaration","scope":68304,"src":"42718:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68276,"name":"uint256","nodeType":"ElementaryTypeName","src":"42718:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42717:17:98"},"scope":69234,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68369,"nodeType":"FunctionDefinition","src":"43148:455:98","nodes":[],"body":{"id":68368,"nodeType":"Block","src":"43234:369:98","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68315,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68307,"src":"43252:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":68316,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65892,"src":"43257:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43252:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":68318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43266:30:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":68314,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"43244:7:98","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43244:53:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68320,"nodeType":"ExpressionStatement","src":"43244:53:98"},{"assignments":[68322],"declarations":[{"constant":false,"id":68322,"mutability":"mutable","name":"a","nameLocation":"43315:1:98","nodeType":"VariableDeclaration","scope":68368,"src":"43307:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68321,"name":"uint256","nodeType":"ElementaryTypeName","src":"43307:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68324,"initialValue":{"id":68323,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68307,"src":"43319:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"43307:14:98"},{"assignments":[68326],"declarations":[{"constant":false,"id":68326,"mutability":"mutable","name":"b","nameLocation":"43339:1:98","nodeType":"VariableDeclaration","scope":68368,"src":"43331:9:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68325,"name":"uint256","nodeType":"ElementaryTypeName","src":"43331:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68328,"initialValue":{"id":68327,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68309,"src":"43343:2:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"43331:14:98"},{"expression":{"id":68331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68329,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68312,"src":"43355:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68330,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65892,"src":"43365:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43355:17:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68332,"nodeType":"ExpressionStatement","src":"43355:17:98"},{"body":{"id":68366,"nodeType":"Block","src":"43396:201:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68336,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68326,"src":"43414:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":68337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43418:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"43414:5:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43423:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43414:10:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":68364,"nodeType":"Block","src":"43504:83:98","statements":[{"expression":{"id":68358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68353,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68312,"src":"43522:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68355,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68312,"src":"43537:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68356,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68322,"src":"43546:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68354,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68304,"src":"43532:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":68357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43532:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43522:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68359,"nodeType":"ExpressionStatement","src":"43522:26:98"},{"expression":{"id":68362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68360,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68326,"src":"43566:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":68361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43571:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"43566:6:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68363,"nodeType":"ExpressionStatement","src":"43566:6:98"}]},"id":68365,"nodeType":"IfStatement","src":"43410:177:98","trueBody":{"id":68352,"nodeType":"Block","src":"43426:72:98","statements":[{"expression":{"id":68346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68341,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68322,"src":"43444:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68343,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68322,"src":"43453:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68344,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68322,"src":"43456:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68342,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68304,"src":"43448:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":68345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43448:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"43444:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68347,"nodeType":"ExpressionStatement","src":"43444:14:98"},{"expression":{"id":68350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68348,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68326,"src":"43476:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":68349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43482:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"43476:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68351,"nodeType":"ExpressionStatement","src":"43476:7:98"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68333,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68326,"src":"43389:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":68334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43393:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43389:5:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68367,"nodeType":"WhileStatement","src":"43382:215:98"}]},"documentation":{"id":68305,"nodeType":"StructuredDocumentation","src":"42932:211:98","text":" Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"43157:4:98","parameters":{"id":68310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68307,"mutability":"mutable","name":"_a","nameLocation":"43170:2:98","nodeType":"VariableDeclaration","scope":68369,"src":"43162:10:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68306,"name":"uint256","nodeType":"ElementaryTypeName","src":"43162:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68309,"mutability":"mutable","name":"_b","nameLocation":"43182:2:98","nodeType":"VariableDeclaration","scope":68369,"src":"43174:10:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68308,"name":"uint256","nodeType":"ElementaryTypeName","src":"43174:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43161:24:98"},"returnParameters":{"id":68313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68312,"mutability":"mutable","name":"_result","nameLocation":"43225:7:98","nodeType":"VariableDeclaration","scope":68369,"src":"43217:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68311,"name":"uint256","nodeType":"ElementaryTypeName","src":"43217:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43216:17:98"},"scope":69234,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68377,"nodeType":"FunctionDefinition","src":"43609:120:98","nodes":[],"body":{"id":68376,"nodeType":"Block","src":"43685:44:98","nodes":[],"statements":[{"expression":{"id":68374,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65923,"src":"43702:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68373,"id":68375,"nodeType":"Return","src":"43695:27:98"}]},"functionSelector":"d1e36232","implemented":true,"kind":"function","modifiers":[],"name":"totalEffectiveActivePoints","nameLocation":"43618:26:98","parameters":{"id":68370,"nodeType":"ParameterList","parameters":[],"src":"43644:2:98"},"returnParameters":{"id":68373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68372,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68377,"src":"43676:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68371,"name":"uint256","nodeType":"ElementaryTypeName","src":"43676:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43675:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68418,"nodeType":"FunctionDefinition","src":"43919:424:98","nodes":[],"body":{"id":68417,"nodeType":"Block","src":"44055:288:98","nodes":[],"statements":[{"assignments":[68387,68389],"declarations":[{"constant":false,"id":68387,"mutability":"mutable","name":"conviction","nameLocation":"44074:10:98","nodeType":"VariableDeclaration","scope":68417,"src":"44066:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68386,"name":"uint256","nodeType":"ElementaryTypeName","src":"44066:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68389,"mutability":"mutable","name":"blockNumber","nameLocation":"44094:11:98","nodeType":"VariableDeclaration","scope":68417,"src":"44086:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68388,"name":"uint256","nodeType":"ElementaryTypeName","src":"44086:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68394,"initialValue":{"arguments":[{"id":68391,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68381,"src":"44143:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":68392,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68383,"src":"44154:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68390,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68465,"src":"44109:33:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$65604_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":68393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44109:56:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"44065:100:98"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68395,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68387,"src":"44179:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44193:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"44179:15:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68398,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68389,"src":"44198:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44213:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"44198:16:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"44179:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68404,"nodeType":"IfStatement","src":"44175:72:98","trueBody":{"id":68403,"nodeType":"Block","src":"44216:31:98","statements":[{"functionReturnParameters":68385,"id":68402,"nodeType":"Return","src":"44230:7:98"}]}},{"expression":{"id":68409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68405,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68381,"src":"44256:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68407,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"44266:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65586,"src":"44256:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68408,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68389,"src":"44278:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44256:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68410,"nodeType":"ExpressionStatement","src":"44256:33:98"},{"expression":{"id":68415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68411,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68381,"src":"44299:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68413,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"44309:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"44299:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68414,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68387,"src":"44326:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44299:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68416,"nodeType":"ExpressionStatement","src":"44299:37:98"}]},"documentation":{"id":68378,"nodeType":"StructuredDocumentation","src":"43735:179:98","text":" @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now"},"implemented":true,"kind":"function","modifiers":[],"name":"_calculateAndSetConviction","nameLocation":"43928:26:98","parameters":{"id":68384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68381,"mutability":"mutable","name":"_proposal","nameLocation":"43987:9:98","nodeType":"VariableDeclaration","scope":68418,"src":"43955:41:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68380,"nodeType":"UserDefinedTypeName","pathNode":{"id":68379,"name":"StrategyStruct.Proposal","nameLocations":["43955:14:98","43970:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"43955:23:98"},"referencedDeclaration":65604,"src":"43955:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":68383,"mutability":"mutable","name":"_oldStaked","nameLocation":"44006:10:98","nodeType":"VariableDeclaration","scope":68418,"src":"43998:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68382,"name":"uint256","nodeType":"ElementaryTypeName","src":"43998:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43954:63:98"},"returnParameters":{"id":68385,"nodeType":"ParameterList","parameters":[],"src":"44055:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":68465,"nodeType":"FunctionDefinition","src":"44349:845:98","nodes":[],"body":{"id":68464,"nodeType":"Block","src":"44563:631:98","nodes":[],"statements":[{"expression":{"id":68433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68430,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68428,"src":"44573:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68431,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"44587:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44593:6:98","memberName":"number","nodeType":"MemberAccess","src":"44587:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44573:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68434,"nodeType":"ExpressionStatement","src":"44573:26:98"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68436,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68421,"src":"44616:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68437,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44626:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65586,"src":"44616:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":68438,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68428,"src":"44639:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44616:34:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":68435,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"44609:6:98","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":68440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44609:42:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68441,"nodeType":"ExpressionStatement","src":"44609:42:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68442,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68421,"src":"44665:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68443,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44675:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65586,"src":"44665:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":68444,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68428,"src":"44688:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44665:34:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68451,"nodeType":"IfStatement","src":"44661:173:98","trueBody":{"id":68450,"nodeType":"Block","src":"44701:133:98","statements":[{"expression":{"components":[{"hexValue":"30","id":68446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44789:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":68447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44792:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":68448,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"44788:6:98","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"functionReturnParameters":68429,"id":68449,"nodeType":"Return","src":"44781:13:98"}]}},{"expression":{"id":68462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68452,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68426,"src":"44887:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68454,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68428,"src":"45043:11:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68455,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68421,"src":"45057:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68456,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45067:9:98","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":65586,"src":"45057:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45043:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68458,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68421,"src":"45129:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68459,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45139:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"45129:24:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68460,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68423,"src":"45167:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68453,"name":"calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68176,"src":"44900:19:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (uint256)"}},"id":68461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44900:287:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44887:300:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68463,"nodeType":"ExpressionStatement","src":"44887:300:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_checkBlockAndCalculateConviction","nameLocation":"44358:33:98","parameters":{"id":68424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68421,"mutability":"mutable","name":"_proposal","nameLocation":"44424:9:98","nodeType":"VariableDeclaration","scope":68465,"src":"44392:41:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68420,"nodeType":"UserDefinedTypeName","pathNode":{"id":68419,"name":"StrategyStruct.Proposal","nameLocations":["44392:14:98","44407:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"44392:23:98"},"referencedDeclaration":65604,"src":"44392:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":68423,"mutability":"mutable","name":"_oldStaked","nameLocation":"44443:10:98","nodeType":"VariableDeclaration","scope":68465,"src":"44435:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68422,"name":"uint256","nodeType":"ElementaryTypeName","src":"44435:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44391:63:98"},"returnParameters":{"id":68429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68426,"mutability":"mutable","name":"conviction","nameLocation":"44526:10:98","nodeType":"VariableDeclaration","scope":68465,"src":"44518:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68425,"name":"uint256","nodeType":"ElementaryTypeName","src":"44518:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68428,"mutability":"mutable","name":"blockNumber","nameLocation":"44546:11:98","nodeType":"VariableDeclaration","scope":68465,"src":"44538:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68427,"name":"uint256","nodeType":"ElementaryTypeName","src":"44538:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44517:41:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":68617,"nodeType":"FunctionDefinition","src":"45200:2409:98","nodes":[],"body":{"id":68616,"nodeType":"Block","src":"45363:2246:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68474,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"45390:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68475,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45408:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"45390:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":68478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45432:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":68477,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45424:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68476,"name":"address","nodeType":"ElementaryTypeName","src":"45424:7:98","typeDescriptions":{}}},"id":68479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45424:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45390:44:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":68483,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"45446:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45464:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"45446:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}],"id":68482,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45438:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68481,"name":"address","nodeType":"ElementaryTypeName","src":"45438:7:98","typeDescriptions":{}}},"id":68485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45438:37:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":68488,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45487:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":68487,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45479:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68486,"name":"address","nodeType":"ElementaryTypeName","src":"45479:7:98","typeDescriptions":{}}},"id":68489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45479:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45438:51:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45390:99:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68492,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"45531:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68493,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45549:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"45531:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68494,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"45565:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68496,"indexExpression":{"id":68495,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"45583:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45565:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68497,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45615:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"45565:62:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"45531:96:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"},"id":68505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68499,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"45655:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68500,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45673:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"45655:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68501,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"45687:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68503,"indexExpression":{"id":68502,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"45705:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45687:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68504,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45737:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"45687:60:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"src":"45655:92:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45531:216:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68507,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"45775:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68508,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45793:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"45775:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68509,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"45850:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68511,"indexExpression":{"id":68510,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"45868:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45850:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68512,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45900:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"45850:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45775:150:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45531:394:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68515,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"45953:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68516,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45971:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"45953:44:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68517,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"46029:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68519,"indexExpression":{"id":68518,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"46047:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46029:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68520,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46079:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"46029:76:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45953:152:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45531:574:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68523,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"46133:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68524,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46151:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"46133:31:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68525,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"46168:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68527,"indexExpression":{"id":68526,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"46186:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46168:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68528,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46218:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"46168:63:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46133:98:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45531:700:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68531,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"46259:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68532,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46277:20:98","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"46259:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"baseExpression":{"id":68533,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"46329:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68535,"indexExpression":{"id":68534,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"46347:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46329:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68536,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46379:20:98","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"46329:70:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46259:140:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45531:868:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":68539,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"45509:908:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45390:1027:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68607,"nodeType":"IfStatement","src":"45373:2158:98","trueBody":{"id":68606,"nodeType":"Block","src":"46428:1103:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68541,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"46463:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68543,"indexExpression":{"id":68542,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"46481:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46463:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68544,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46513:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"46463:62:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":68545,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"46529:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68546,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46547:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"46529:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"46463:96:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"},"id":68554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":68548,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"46583:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68550,"indexExpression":{"id":68549,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"46601:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46583:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68551,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46633:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"46583:60:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":68552,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"46647:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68553,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46665:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"46647:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"src":"46583:92:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"46463:212:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68580,"nodeType":"IfStatement","src":"46442:522:98","trueBody":{"id":68579,"nodeType":"Block","src":"46690:274:98","statements":[{"expression":{"arguments":[{"expression":{"id":68561,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"46750:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68562,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46768:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"46750:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":68556,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"46708:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68559,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46726:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"46708:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"id":68560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46737:12:98","memberName":"registerSafe","nodeType":"MemberAccess","referencedDeclaration":74043,"src":"46708:41:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":68563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46708:73:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68564,"nodeType":"ExpressionStatement","src":"46708:73:98"},{"eventCall":{"arguments":[{"arguments":[{"id":68568,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"46855:4:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$69234","typeString":"contract CVStrategyV0_0"}],"id":68567,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46847:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68566,"name":"address","nodeType":"ElementaryTypeName","src":"46847:7:98","typeDescriptions":{}}},"id":68569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46847:13:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":68572,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"46870:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68573,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46888:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"46870:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}],"id":68571,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46862:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68570,"name":"address","nodeType":"ElementaryTypeName","src":"46862:7:98","typeDescriptions":{}}},"id":68574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46862:37:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68575,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"46901:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68576,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46919:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"46901:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":68565,"name":"TribunaSafeRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65862,"src":"46804:21:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function (address,address,address)"}},"id":68577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46804:145:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68578,"nodeType":"EmitStatement","src":"46799:150:98"}]}},{"expression":{"id":68582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"46978:32:98","subExpression":{"id":68581,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"46978:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68583,"nodeType":"ExpressionStatement","src":"46978:32:98"},{"expression":{"id":68588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68584,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"47024:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68586,"indexExpression":{"id":68585,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"47042:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"47024:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68587,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"47076:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"src":"47024:69:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":68589,"nodeType":"ExpressionStatement","src":"47024:69:98"},{"eventCall":{"arguments":[{"id":68591,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"47154:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68592,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"47202:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68593,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47220:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"47202:28:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},{"expression":{"id":68594,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"47248:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68595,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47266:12:98","memberName":"tribunalSafe","nodeType":"MemberAccess","referencedDeclaration":65617,"src":"47248:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68596,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"47296:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68597,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47314:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"47296:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68598,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"47357:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68599,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47375:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"47357:44:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68600,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"47419:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68601,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47437:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"47419:31:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68602,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68468,"src":"47468:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68603,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47486:20:98","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"47468:38:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68590,"name":"ArbitrableConfigUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65883,"src":"47113:23:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_contract$_IArbitrator_$74044_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"id":68604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47113:407:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68605,"nodeType":"EmitStatement","src":"47108:412:98"}]}},{"expression":{"id":68610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68608,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"47541:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68609,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68471,"src":"47552:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},"src":"47541:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68611,"nodeType":"ExpressionStatement","src":"47541:20:98"},{"eventCall":{"arguments":[{"id":68613,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68471,"src":"47592:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":68612,"name":"CVParamsUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65829,"src":"47576:15:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_struct$_CVParams_$65635_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.CVParams memory)"}},"id":68614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47576:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68615,"nodeType":"EmitStatement","src":"47571:31:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_setPoolParams","nameLocation":"45209:14:98","parameters":{"id":68472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68468,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"45272:17:98","nodeType":"VariableDeclaration","scope":68617,"src":"45233:56:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":68467,"nodeType":"UserDefinedTypeName","pathNode":{"id":68466,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["45233:14:98","45248:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65626,"src":"45233:31:98"},"referencedDeclaration":65626,"src":"45233:31:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":68471,"mutability":"mutable","name":"_cvParams","nameLocation":"45330:9:98","nodeType":"VariableDeclaration","scope":68617,"src":"45299:40:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":68470,"nodeType":"UserDefinedTypeName","pathNode":{"id":68469,"name":"StrategyStruct.CVParams","nameLocations":["45299:14:98","45314:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65635,"src":"45299:23:98"},"referencedDeclaration":65635,"src":"45299:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"45223:122:98"},"returnParameters":{"id":68473,"nodeType":"ParameterList","parameters":[],"src":"45363:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":68653,"nodeType":"FunctionDefinition","src":"47615:639:98","nodes":[],"body":{"id":68652,"nodeType":"Block","src":"47702:552:98","nodes":[],"statements":[{"assignments":[68628],"declarations":[{"constant":false,"id":68628,"mutability":"mutable","name":"proposal","nameLocation":"47744:8:98","nodeType":"VariableDeclaration","scope":68652,"src":"47712:40:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68627,"nodeType":"UserDefinedTypeName","pathNode":{"id":68626,"name":"StrategyStruct.Proposal","nameLocations":["47712:14:98","47727:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"47712:23:98"},"referencedDeclaration":65604,"src":"47712:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68632,"initialValue":{"baseExpression":{"id":68629,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"47755:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68631,"indexExpression":{"id":68630,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68619,"src":"47765:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"47755:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"47712:64:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68633,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68628,"src":"47791:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68634,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"47800:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65572,"src":"47791:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":68635,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68619,"src":"47814:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47791:33:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68642,"nodeType":"IfStatement","src":"47787:100:98","trueBody":{"id":68641,"nodeType":"Block","src":"47826:61:98","statements":[{"errorCall":{"arguments":[{"id":68638,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68619,"src":"47865:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68637,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65717,"src":"47847:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47847:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68640,"nodeType":"RevertStatement","src":"47840:36:98"}]}},{"expression":{"arguments":[{"id":68644,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68628,"src":"48175:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":68645,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68628,"src":"48185:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68646,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48194:12:98","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":65576,"src":"48185:21:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68643,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68418,"src":"48148:26:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$65604_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":68647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48148:59:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68648,"nodeType":"ExpressionStatement","src":"48148:59:98"},{"expression":{"expression":{"id":68649,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68628,"src":"48224:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68650,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48233:14:98","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":65578,"src":"48224:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68623,"id":68651,"nodeType":"Return","src":"48217:30:98"}]},"functionSelector":"1aa91a9e","implemented":true,"kind":"function","modifiers":[],"name":"updateProposalConviction","nameLocation":"47624:24:98","parameters":{"id":68620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68619,"mutability":"mutable","name":"proposalId","nameLocation":"47657:10:98","nodeType":"VariableDeclaration","scope":68653,"src":"47649:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68618,"name":"uint256","nodeType":"ElementaryTypeName","src":"47649:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47648:20:98"},"returnParameters":{"id":68623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68622,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68653,"src":"47693:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68621,"name":"uint256","nodeType":"ElementaryTypeName","src":"47693:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47692:9:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":68673,"nodeType":"FunctionDefinition","src":"48260:141:98","nodes":[],"body":{"id":68672,"nodeType":"Block","src":"48340:61:98","nodes":[],"statements":[{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68660,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68655,"src":"48359:6:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":68661,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"48368:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48359:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68663,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"48358:12:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68664,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65889,"src":"48374:1:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68665,"name":"cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65926,"src":"48378:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage","typeString":"struct StrategyStruct.CVParams storage ref"}},"id":68666,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"48387:5:98","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":65632,"src":"48378:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48374:18:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68668,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"48373:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48358:35:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68670,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"48357:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68659,"id":68671,"nodeType":"Return","src":"48350:44:98"}]},"functionSelector":"950559d7","implemented":true,"kind":"function","modifiers":[],"name":"getMaxConviction","nameLocation":"48269:16:98","parameters":{"id":68656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68655,"mutability":"mutable","name":"amount","nameLocation":"48294:6:98","nodeType":"VariableDeclaration","scope":68673,"src":"48286:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68654,"name":"uint256","nodeType":"ElementaryTypeName","src":"48286:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48285:16:98"},"returnParameters":{"id":68659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68658,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68673,"src":"48331:7:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68657,"name":"uint256","nodeType":"ElementaryTypeName","src":"48331:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48330:9:98"},"scope":69234,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":68692,"nodeType":"FunctionDefinition","src":"48752:189:98","nodes":[],"body":{"id":68691,"nodeType":"Block","src":"48815:126:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":68678,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66218,"src":"48825:15:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":68679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48825:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68680,"nodeType":"ExpressionStatement","src":"48825:17:98"},{"expression":{"arguments":[{"id":68682,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68675,"src":"48871:12:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":68681,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66199,"src":"48852:18:98","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":68683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48852:32:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68684,"nodeType":"ExpressionStatement","src":"48852:32:98"},{"expression":{"id":68689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68685,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65943,"src":"48894:11:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68687,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68675,"src":"48921:12:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":68686,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70165,"src":"48908:12:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$70165_$","typeString":"type(contract ISybilScorer)"}},"id":68688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48908:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"src":"48894:40:98","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"id":68690,"nodeType":"ExpressionStatement","src":"48894:40:98"}]},"functionSelector":"ac1ed7b9","implemented":true,"kind":"function","modifiers":[],"name":"setSybilScorer","nameLocation":"48761:14:98","parameters":{"id":68676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68675,"mutability":"mutable","name":"_sybilScorer","nameLocation":"48784:12:98","nodeType":"VariableDeclaration","scope":68692,"src":"48776:20:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68674,"name":"address","nodeType":"ElementaryTypeName","src":"48776:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"48775:22:98"},"returnParameters":{"id":68677,"nodeType":"ParameterList","parameters":[],"src":"48815:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":68710,"nodeType":"FunctionDefinition","src":"48947:250:98","nodes":[],"body":{"id":68709,"nodeType":"Block","src":"49109:88:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":68701,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66218,"src":"49119:15:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":68702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49119:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68703,"nodeType":"ExpressionStatement","src":"49119:17:98"},{"expression":{"arguments":[{"id":68705,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68695,"src":"49161:17:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"id":68706,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68698,"src":"49180:9:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"id":68704,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68617,"src":"49146:14:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$65626_memory_ptr_$_t_struct$_CVParams_$65635_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":68707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49146:44:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68708,"nodeType":"ExpressionStatement","src":"49146:44:98"}]},"functionSelector":"062f9ece","implemented":true,"kind":"function","modifiers":[],"name":"setPoolParams","nameLocation":"48956:13:98","parameters":{"id":68699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68695,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"49018:17:98","nodeType":"VariableDeclaration","scope":68710,"src":"48979:56:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":68694,"nodeType":"UserDefinedTypeName","pathNode":{"id":68693,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["48979:14:98","48994:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65626,"src":"48979:31:98"},"referencedDeclaration":65626,"src":"48979:31:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":68698,"mutability":"mutable","name":"_cvParams","nameLocation":"49076:9:98","nodeType":"VariableDeclaration","scope":68710,"src":"49045:40:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":68697,"nodeType":"UserDefinedTypeName","pathNode":{"id":68696,"name":"StrategyStruct.CVParams","nameLocations":["49045:14:98","49060:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65635,"src":"49045:23:98"},"referencedDeclaration":65635,"src":"49045:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"}],"src":"48969:122:98"},"returnParameters":{"id":68700,"nodeType":"ParameterList","parameters":[],"src":"49109:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":68903,"nodeType":"FunctionDefinition","src":"49203:2405:98","nodes":[],"body":{"id":68902,"nodeType":"Block","src":"49389:2219:98","nodes":[],"statements":[{"assignments":[68725],"declarations":[{"constant":false,"id":68725,"mutability":"mutable","name":"proposal","nameLocation":"49431:8:98","nodeType":"VariableDeclaration","scope":68902,"src":"49399:40:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68724,"nodeType":"UserDefinedTypeName","pathNode":{"id":68723,"name":"StrategyStruct.Proposal","nameLocations":["49399:14:98","49414:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"49399:23:98"},"referencedDeclaration":65604,"src":"49399:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68729,"initialValue":{"baseExpression":{"id":68726,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"49442:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68728,"indexExpression":{"id":68727,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68712,"src":"49452:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"49442:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"49399:64:98"},{"assignments":[68734],"declarations":[{"constant":false,"id":68734,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"49512:16:98","nodeType":"VariableDeclaration","scope":68902,"src":"49473:55:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":68733,"nodeType":"UserDefinedTypeName","pathNode":{"id":68732,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["49473:14:98","49488:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65626,"src":"49473:31:98"},"referencedDeclaration":65626,"src":"49473:31:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"id":68739,"initialValue":{"baseExpression":{"id":68735,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"49531:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68738,"indexExpression":{"expression":{"id":68736,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"49549:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68737,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49558:23:98","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65603,"src":"49549:32:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"49531:51:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"VariableDeclarationStatement","src":"49473:109:98"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":68742,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"49605:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68743,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49622:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"49605:27:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}],"id":68741,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49597:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68740,"name":"address","nodeType":"ElementaryTypeName","src":"49597:7:98","typeDescriptions":{}}},"id":68744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49597:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":68747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49645:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":68746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49637:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68745,"name":"address","nodeType":"ElementaryTypeName","src":"49637:7:98","typeDescriptions":{}}},"id":68748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49637:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"49597:50:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68754,"nodeType":"IfStatement","src":"49593:112:98","trueBody":{"id":68753,"nodeType":"Block","src":"49649:56:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68750,"name":"ArbitratorCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65753,"src":"49670:22:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49670:24:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68752,"nodeType":"RevertStatement","src":"49663:31:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68755,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"49882:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68756,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"49891:10:98","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65572,"src":"49882:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":68757,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68712,"src":"49905:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49882:33:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68764,"nodeType":"IfStatement","src":"49878:100:98","trueBody":{"id":68763,"nodeType":"Block","src":"49917:61:98","statements":[{"errorCall":{"arguments":[{"id":68760,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68712,"src":"49956:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68759,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65717,"src":"49938:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49938:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68762,"nodeType":"RevertStatement","src":"49931:36:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"},"id":68770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68765,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"49991:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68766,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50000:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"49991:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":68767,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"50018:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":68768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50033:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"50018:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68769,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50048:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65557,"src":"50018:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"49991:63:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68776,"nodeType":"IfStatement","src":"49987:130:98","trueBody":{"id":68775,"nodeType":"Block","src":"50056:61:98","statements":[{"errorCall":{"arguments":[{"id":68772,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68712,"src":"50095:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68771,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65713,"src":"50077:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50077:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68774,"nodeType":"RevertStatement","src":"50070:36:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68777,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"50130:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50134:5:98","memberName":"value","nodeType":"MemberAccess","src":"50130:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":68779,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"50142:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68780,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50159:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"50142:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50130:55:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68790,"nodeType":"IfStatement","src":"50126:171:98","trueBody":{"id":68789,"nodeType":"Block","src":"50187:110:98","statements":[{"errorCall":{"arguments":[{"expression":{"id":68783,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"50231:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50235:5:98","memberName":"value","nodeType":"MemberAccess","src":"50231:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68785,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"50242:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68786,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50259:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"50242:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68782,"name":"InsufficientCollateral","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"50208:22:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":68787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50208:78:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68788,"nodeType":"RevertStatement","src":"50201:85:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68791,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"50416:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68792,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50425:21:98","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"50416:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":68793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50450:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"50416:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68795,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"50471:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68796,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50480:21:98","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"50471:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68797,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65907,"src":"50504:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50471:53:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":68799,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50527:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50533:9:98","memberName":"timestamp","nodeType":"MemberAccess","src":"50527:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50471:71:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"50416:126:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68815,"nodeType":"IfStatement","src":"50399:325:98","trueBody":{"id":68814,"nodeType":"Block","src":"50553:171:98","statements":[{"errorCall":{"arguments":[{"id":68804,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68712,"src":"50616:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68805,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"50628:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68806,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50637:21:98","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"50628:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68807,"name":"DISPUTE_COOLDOWN_SEC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65907,"src":"50661:20:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50628:53:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68809,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50684:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50690:9:98","memberName":"timestamp","nodeType":"MemberAccess","src":"50684:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50628:71:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68803,"name":"DisputeCooldownNotPassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65767,"src":"50574:24:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":68812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50574:139:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68813,"nodeType":"RevertStatement","src":"50567:146:98"}]}},{"assignments":[68817],"declarations":[{"constant":false,"id":68817,"mutability":"mutable","name":"arbitrationFee","nameLocation":"50742:14:98","nodeType":"VariableDeclaration","scope":68902,"src":"50734:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68816,"name":"uint256","nodeType":"ElementaryTypeName","src":"50734:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68823,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68818,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"50759:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50763:5:98","memberName":"value","nodeType":"MemberAccess","src":"50759:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68820,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"50771:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68821,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50788:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"50771:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50759:55:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"50734:80:98"},{"expression":{"arguments":[{"id":68830,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68712,"src":"50911:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68831,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"50923:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50927:6:98","memberName":"sender","nodeType":"MemberAccess","src":"50923:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":68824,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"50825:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":68826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50841:17:98","memberName":"depositCollateral","nodeType":"MemberAccess","referencedDeclaration":74056,"src":"50825:33:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) payable external"}},"id":68829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":68827,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"50866:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68828,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50883:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"50866:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"50825:85:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_address_$returns$__$value","typeString":"function (uint256,address) payable external"}},"id":68833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50825:109:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68834,"nodeType":"ExpressionStatement","src":"50825:109:98"},{"expression":{"id":68844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68835,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68719,"src":"50945:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68841,"name":"RULING_OPTIONS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65904,"src":"51022:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68842,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68716,"src":"51038:10:98","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":68836,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"50957:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68837,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"50974:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"50957:27:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},"id":68838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50985:13:98","memberName":"createDispute","nodeType":"MemberAccess","referencedDeclaration":73991,"src":"50957:41:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":68840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":68839,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68817,"src":"51006:14:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"50957:64:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":68843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50957:92:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"50945:104:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68845,"nodeType":"ExpressionStatement","src":"50945:104:98"},{"expression":{"id":68852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":68846,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"51060:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68848,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"51069:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"51060:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":68849,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"51086:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":68850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51101:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"51086:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51116:8:98","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":65561,"src":"51086:38:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"51060:64:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"id":68853,"nodeType":"ExpressionStatement","src":"51060:64:98"},{"expression":{"id":68860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":68854,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"51134:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68857,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51143:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65599,"src":"51134:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68858,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"51155:9:98","memberName":"disputeId","nodeType":"MemberAccess","referencedDeclaration":65565,"src":"51134:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68859,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68719,"src":"51167:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"51134:42:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68861,"nodeType":"ExpressionStatement","src":"51134:42:98"},{"expression":{"id":68869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":68862,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"51186:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68865,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51195:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65599,"src":"51186:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68866,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"51207:16:98","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":65567,"src":"51186:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68867,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"51226:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51232:9:98","memberName":"timestamp","nodeType":"MemberAccess","src":"51226:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"51186:55:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68870,"nodeType":"ExpressionStatement","src":"51186:55:98"},{"expression":{"id":68878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":68871,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"51251:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68874,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51260:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65599,"src":"51251:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68875,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"51272:10:98","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65569,"src":"51251:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68876,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"51285:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51289:6:98","memberName":"sender","nodeType":"MemberAccess","src":"51285:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"51251:44:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68879,"nodeType":"ExpressionStatement","src":"51251:44:98"},{"expression":{"id":68884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68880,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65961,"src":"51305:21:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":68882,"indexExpression":{"id":68881,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68719,"src":"51327:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"51305:32:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68883,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68712,"src":"51340:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"51305:45:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68885,"nodeType":"ExpressionStatement","src":"51305:45:98"},{"expression":{"id":68887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"51361:14:98","subExpression":{"id":68886,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65915,"src":"51361:12:98","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":68888,"nodeType":"ExpressionStatement","src":"51361:14:98"},{"eventCall":{"arguments":[{"expression":{"id":68890,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68734,"src":"51421:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68891,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51438:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"51421:27:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},{"id":68892,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68712,"src":"51462:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68893,"name":"disputeId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68719,"src":"51486:9:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":68894,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"51509:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51513:6:98","memberName":"sender","nodeType":"MemberAccess","src":"51509:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":68896,"name":"context","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68714,"src":"51533:7:98","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"expression":{"expression":{"id":68897,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68725,"src":"51554:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68898,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51563:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65599,"src":"51554:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68899,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51575:16:98","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":65567,"src":"51554:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68889,"name":"ProposalDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65854,"src":"51391:16:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$74044_$_t_uint256_$_t_uint256_$_t_address_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256,address,string memory,uint256)"}},"id":68900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51391:210:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68901,"nodeType":"EmitStatement","src":"51386:215:98"}]},"functionSelector":"b41596ec","implemented":true,"kind":"function","modifiers":[],"name":"disputeProposal","nameLocation":"49212:15:98","parameters":{"id":68717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68712,"mutability":"mutable","name":"proposalId","nameLocation":"49236:10:98","nodeType":"VariableDeclaration","scope":68903,"src":"49228:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68711,"name":"uint256","nodeType":"ElementaryTypeName","src":"49228:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68714,"mutability":"mutable","name":"context","nameLocation":"49264:7:98","nodeType":"VariableDeclaration","scope":68903,"src":"49248:23:98","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":68713,"name":"string","nodeType":"ElementaryTypeName","src":"49248:6:98","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":68716,"mutability":"mutable","name":"_extraData","nameLocation":"49288:10:98","nodeType":"VariableDeclaration","scope":68903,"src":"49273:25:98","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":68715,"name":"bytes","nodeType":"ElementaryTypeName","src":"49273:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"49227:72:98"},"returnParameters":{"id":68720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68719,"mutability":"mutable","name":"disputeId","nameLocation":"49374:9:98","nodeType":"VariableDeclaration","scope":68903,"src":"49366:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68718,"name":"uint256","nodeType":"ElementaryTypeName","src":"49366:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49365:19:98"},"scope":69234,"stateMutability":"payable","virtual":true,"visibility":"external"},{"id":69161,"nodeType":"FunctionDefinition","src":"51614:3004:98","nodes":[],"body":{"id":69160,"nodeType":"Block","src":"51691:2927:98","nodes":[],"statements":[{"assignments":[68912],"declarations":[{"constant":false,"id":68912,"mutability":"mutable","name":"proposalId","nameLocation":"51709:10:98","nodeType":"VariableDeclaration","scope":69160,"src":"51701:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68911,"name":"uint256","nodeType":"ElementaryTypeName","src":"51701:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68916,"initialValue":{"baseExpression":{"id":68913,"name":"disputeIdToProposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65961,"src":"51722:21:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":68915,"indexExpression":{"id":68914,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68905,"src":"51744:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"51722:33:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"51701:54:98"},{"assignments":[68921],"declarations":[{"constant":false,"id":68921,"mutability":"mutable","name":"proposal","nameLocation":"51797:8:98","nodeType":"VariableDeclaration","scope":69160,"src":"51765:40:98","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":68920,"nodeType":"UserDefinedTypeName","pathNode":{"id":68919,"name":"StrategyStruct.Proposal","nameLocations":["51765:14:98","51780:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"51765:23:98"},"referencedDeclaration":65604,"src":"51765:23:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":68925,"initialValue":{"baseExpression":{"id":68922,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"51808:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":68924,"indexExpression":{"id":68923,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"51818:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"51808:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"51765:64:98"},{"assignments":[68930],"declarations":[{"constant":false,"id":68930,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"51878:16:98","nodeType":"VariableDeclaration","scope":69160,"src":"51839:55:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":68929,"nodeType":"UserDefinedTypeName","pathNode":{"id":68928,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["51839:14:98","51854:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":65626,"src":"51839:31:98"},"referencedDeclaration":65626,"src":"51839:31:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"}],"id":68935,"initialValue":{"baseExpression":{"id":68931,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"51897:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":68934,"indexExpression":{"expression":{"id":68932,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"51915:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68933,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"51924:23:98","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65603,"src":"51915:32:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"51897:51:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"nodeType":"VariableDeclarationStatement","src":"51839:109:98"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68936,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"51963:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"51977:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"51963:15:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68944,"nodeType":"IfStatement","src":"51959:82:98","trueBody":{"id":68943,"nodeType":"Block","src":"51980:61:98","statements":[{"errorCall":{"arguments":[{"id":68940,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"52019:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68939,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65717,"src":"52001:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52001:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68942,"nodeType":"RevertStatement","src":"51994:36:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"},"id":68950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68945,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"52054:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68946,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52063:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"52054:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":68947,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"52081:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":68948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52096:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"52081:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":68949,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52111:8:98","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":65561,"src":"52081:38:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"52054:65:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68956,"nodeType":"IfStatement","src":"52050:134:98","trueBody":{"id":68955,"nodeType":"Block","src":"52121:63:98","statements":[{"errorCall":{"arguments":[{"id":68952,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"52162:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68951,"name":"ProposalNotDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65751,"src":"52142:19:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":68953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52142:31:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68954,"nodeType":"RevertStatement","src":"52135:38:98"}]}},{"assignments":[68958],"declarations":[{"constant":false,"id":68958,"mutability":"mutable","name":"isTimeOut","nameLocation":"52199:9:98","nodeType":"VariableDeclaration","scope":69160,"src":"52194:14:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68957,"name":"bool","nodeType":"ElementaryTypeName","src":"52194:4:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":68968,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68959,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"52211:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":68960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52217:9:98","memberName":"timestamp","nodeType":"MemberAccess","src":"52211:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":68961,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"52229:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":68962,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52238:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65599,"src":"52229:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":68963,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52250:16:98","memberName":"disputeTimestamp","nodeType":"MemberAccess","referencedDeclaration":65567,"src":"52229:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":68964,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"52269:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68965,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52286:20:98","memberName":"defaultRulingTimeout","nodeType":"MemberAccess","referencedDeclaration":65625,"src":"52269:37:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"52229:77:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"52211:95:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"52194:112:98"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"52321:10:98","subExpression":{"id":68969,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68958,"src":"52322:9:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":68978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68971,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"52335:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52339:6:98","memberName":"sender","nodeType":"MemberAccess","src":"52335:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"expression":{"id":68975,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"52357:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68976,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52374:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"52357:27:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}],"id":68974,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"52349:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68973,"name":"address","nodeType":"ElementaryTypeName","src":"52349:7:98","typeDescriptions":{}}},"id":68977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52349:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"52335:50:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"52321:64:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68984,"nodeType":"IfStatement","src":"52317:118:98","trueBody":{"id":68983,"nodeType":"Block","src":"52387:48:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68980,"name":"OnlyArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65747,"src":"52408:14:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52408:16:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68982,"nodeType":"RevertStatement","src":"52401:23:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68985,"name":"isTimeOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68958,"src":"52449:9:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68986,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68907,"src":"52462:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52473:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"52462:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"52449:25:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69049,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68907,"src":"53246:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":69050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53257:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"53246:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69079,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68907,"src":"53623:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":69080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53634:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"53623:12:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69140,"nodeType":"IfStatement","src":"53619:839:98","trueBody":{"id":69139,"nodeType":"Block","src":"53637:821:98","statements":[{"expression":{"id":69088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69082,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"53651:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69084,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"53660:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"53651:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69085,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"53677:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":69086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53692:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"53677:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69087,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53707:8:98","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":65562,"src":"53677:38:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"53651:64:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69089,"nodeType":"ExpressionStatement","src":"53651:64:98"},{"expression":{"arguments":[{"id":69093,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"53781:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":69094,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"53793:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69095,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53802:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65599,"src":"53793:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69096,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53814:10:98","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65569,"src":"53793:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69097,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"53826:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69098,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53843:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"53826:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69090,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"53729:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":69092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53745:18:98","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74065,"src":"53729:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":69099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53729:154:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69100,"nodeType":"ExpressionStatement","src":"53729:154:98"},{"expression":{"arguments":[{"id":69104,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"53952:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69105,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"53980:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69106,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53989:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"53980:18:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69109,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"54024:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":69110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54024:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":69111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54047:11:98","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":71055,"src":"54024:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$74170_$","typeString":"function () view external returns (contract ISafe)"}},"id":69112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54024:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}],"id":69108,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"54016:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69107,"name":"address","nodeType":"ElementaryTypeName","src":"54016:7:98","typeDescriptions":{}}},"id":69113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54016:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69114,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"54079:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69116,"indexExpression":{"id":69115,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"54097:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54079:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69117,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54129:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"54079:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":69118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"54157:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"54079:79:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69101,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"53897:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":69103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53913:21:98","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":74076,"src":"53897:37:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":69120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53897:275:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69121,"nodeType":"ExpressionStatement","src":"53897:275:98"},{"expression":{"arguments":[{"id":69125,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"54241:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69126,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"54269:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69127,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54278:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"54269:18:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":69128,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"54305:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69129,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54314:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65599,"src":"54305:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69130,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54326:10:98","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65569,"src":"54305:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69131,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"54354:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69133,"indexExpression":{"id":69132,"name":"currentArbitrableConfigVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65919,"src":"54372:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54354:49:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69134,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54404:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"54354:75:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":69135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"54432:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"54354:79:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69122,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"54186:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":69124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54202:21:98","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":74076,"src":"54186:37:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":69137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54186:261:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69138,"nodeType":"ExpressionStatement","src":"54186:261:98"}]}},"id":69141,"nodeType":"IfStatement","src":"53242:1216:98","trueBody":{"id":69078,"nodeType":"Block","src":"53260:353:98","statements":[{"expression":{"id":69058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69052,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"53274:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69054,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"53283:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"53274:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69055,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"53300:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":69056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53315:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"53300:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69057,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53330:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65557,"src":"53300:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"53274:62:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69059,"nodeType":"ExpressionStatement","src":"53274:62:98"},{"expression":{"arguments":[{"id":69063,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"53405:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":69064,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"53433:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69065,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53442:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65599,"src":"53433:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69066,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53454:10:98","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65569,"src":"53433:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69069,"name":"getRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65977,"src":"53490:20:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"function () view returns (contract RegistryCommunityV0_0)"}},"id":69070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53490:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"id":69071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53513:11:98","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":71055,"src":"53490:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$74170_$","typeString":"function () view external returns (contract ISafe)"}},"id":69072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53490:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}],"id":69068,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"53482:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69067,"name":"address","nodeType":"ElementaryTypeName","src":"53482:7:98","typeDescriptions":{}}},"id":69073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53482:45:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69074,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"53545:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69075,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53562:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"53545:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69060,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"53350:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":69062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53366:21:98","memberName":"withdrawCollateralFor","nodeType":"MemberAccess","referencedDeclaration":74076,"src":"53350:37:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256) external"}},"id":69076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53350:252:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69077,"nodeType":"ExpressionStatement","src":"53350:252:98"}]}},"id":69142,"nodeType":"IfStatement","src":"52445:2013:98","trueBody":{"id":69048,"nodeType":"Block","src":"52476:760:98","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68990,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"52494:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":68991,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52511:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"52494:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":68992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52528:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"52494:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68998,"nodeType":"IfStatement","src":"52490:102:98","trueBody":{"id":68997,"nodeType":"Block","src":"52531:61:98","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":68994,"name":"DefaultRulingNotSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65761,"src":"52556:19:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":68995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52556:21:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68996,"nodeType":"RevertStatement","src":"52549:28:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68999,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"52609:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69000,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52626:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"52609:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":69001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52643:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"52609:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69012,"nodeType":"IfStatement","src":"52605:136:98","trueBody":{"id":69011,"nodeType":"Block","src":"52646:95:98","statements":[{"expression":{"id":69009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69003,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"52664:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69005,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"52673:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"52664:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69006,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"52690:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":69007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52705:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"52690:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69008,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52720:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65557,"src":"52690:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"52664:62:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69010,"nodeType":"ExpressionStatement","src":"52664:62:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69013,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"52758:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69014,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52775:13:98","memberName":"defaultRuling","nodeType":"MemberAccess","referencedDeclaration":65623,"src":"52758:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":69015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52792:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"52758:35:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69036,"nodeType":"IfStatement","src":"52754:304:98","trueBody":{"id":69035,"nodeType":"Block","src":"52795:263:98","statements":[{"expression":{"id":69023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69017,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"52813:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69019,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"52822:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"52813:23:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69020,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"52839:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":69021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52854:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"52839:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69022,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52869:8:98","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":65562,"src":"52839:38:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"52813:64:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69024,"nodeType":"ExpressionStatement","src":"52813:64:98"},{"expression":{"arguments":[{"id":69028,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"52951:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69029,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"52963:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69030,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"52972:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"52963:18:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69031,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"52983:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69032,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53000:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"52983:42:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69025,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"52895:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":69027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52911:18:98","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74065,"src":"52895:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":69033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52895:148:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69034,"nodeType":"ExpressionStatement","src":"52895:148:98"}]}},{"expression":{"arguments":[{"id":69040,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68912,"src":"53123:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":69041,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"53135:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53144:11:98","memberName":"disputeInfo","nodeType":"MemberAccess","referencedDeclaration":65599,"src":"53135:20:98","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalDisputeInfo_$65570_storage","typeString":"struct StrategyStruct.ProposalDisputeInfo storage ref"}},"id":69043,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53156:10:98","memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":65569,"src":"53135:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69044,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"53168:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69045,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"53185:26:98","memberName":"challengerCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65621,"src":"53168:43:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69037,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"53071:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":69039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53087:18:98","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74065,"src":"53071:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":69046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53071:154:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69047,"nodeType":"ExpressionStatement","src":"53071:154:98"}]}},{"expression":{"id":69144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"54468:14:98","subExpression":{"id":69143,"name":"disputeCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65915,"src":"54468:12:98","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":69145,"nodeType":"ExpressionStatement","src":"54468:14:98"},{"expression":{"id":69151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":69146,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68921,"src":"54492:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69148,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"54501:21:98","memberName":"lastDisputeCompletion","nodeType":"MemberAccess","referencedDeclaration":65601,"src":"54492:30:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69149,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"54525:5:98","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":69150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54531:9:98","memberName":"timestamp","nodeType":"MemberAccess","src":"54525:15:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"54492:48:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69152,"nodeType":"ExpressionStatement","src":"54492:48:98"},{"eventCall":{"arguments":[{"expression":{"id":69154,"name":"arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68930,"src":"54562:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},"id":69155,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54579:10:98","memberName":"arbitrator","nodeType":"MemberAccess","referencedDeclaration":65615,"src":"54562:27:98","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"}},{"id":69156,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68905,"src":"54591:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69157,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68907,"src":"54603:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrator_$74044","typeString":"contract IArbitrator"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69153,"name":"Ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73931,"src":"54555:6:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrator_$74044_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrator,uint256,uint256)"}},"id":69158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54555:56:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69159,"nodeType":"EmitStatement","src":"54550:61:98"}]},"baseFunctions":[73939],"functionSelector":"311a6c56","implemented":true,"kind":"function","modifiers":[],"name":"rule","nameLocation":"51623:4:98","overrides":{"id":68909,"nodeType":"OverrideSpecifier","overrides":[],"src":"51682:8:98"},"parameters":{"id":68908,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68905,"mutability":"mutable","name":"_disputeID","nameLocation":"51636:10:98","nodeType":"VariableDeclaration","scope":69161,"src":"51628:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68904,"name":"uint256","nodeType":"ElementaryTypeName","src":"51628:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":68907,"mutability":"mutable","name":"_ruling","nameLocation":"51656:7:98","nodeType":"VariableDeclaration","scope":69161,"src":"51648:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68906,"name":"uint256","nodeType":"ElementaryTypeName","src":"51648:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51627:37:98"},"returnParameters":{"id":68910,"nodeType":"ParameterList","parameters":[],"src":"51691:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":69229,"nodeType":"FunctionDefinition","src":"54624:732:98","nodes":[],"body":{"id":69228,"nodeType":"Block","src":"54685:671:98","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"},"id":69173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69166,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"54699:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69168,"indexExpression":{"id":69167,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69163,"src":"54709:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54699:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69169,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54721:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"54699:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":69170,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"54739:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":69171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54754:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"54739:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54769:6:98","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":65557,"src":"54739:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"54699:76:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69179,"nodeType":"IfStatement","src":"54695:143:98","trueBody":{"id":69178,"nodeType":"Block","src":"54777:61:98","statements":[{"errorCall":{"arguments":[{"id":69175,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69163,"src":"54816:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69174,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65713,"src":"54798:17:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":69176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54798:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69177,"nodeType":"RevertStatement","src":"54791:36:98"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":69180,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"54852:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69182,"indexExpression":{"id":69181,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69163,"src":"54862:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54852:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69183,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54874:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"54852:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":69184,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"54887:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54891:6:98","memberName":"sender","nodeType":"MemberAccess","src":"54887:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"54852:45:98","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69197,"nodeType":"IfStatement","src":"54848:141:98","trueBody":{"id":69196,"nodeType":"Block","src":"54899:90:98","statements":[{"errorCall":{"arguments":[{"expression":{"baseExpression":{"id":69188,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"54934:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69190,"indexExpression":{"id":69189,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69163,"src":"54944:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"54934:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69191,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"54956:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"54934:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":69192,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"54967:3:98","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54971:6:98","memberName":"sender","nodeType":"MemberAccess","src":"54967:10:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":69187,"name":"OnlySubmitter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65759,"src":"54920:13:98","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":69194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54920:58:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69195,"nodeType":"RevertStatement","src":"54913:65:98"}]}},{"expression":{"arguments":[{"id":69201,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69163,"src":"55047:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":69202,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"55071:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69204,"indexExpression":{"id":69203,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69163,"src":"55081:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"55071:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69205,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"55093:9:98","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":65582,"src":"55071:31:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":69206,"name":"arbitrableConfigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65966,"src":"55116:17:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_ArbitrableConfig_$65626_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig storage ref)"}},"id":69211,"indexExpression":{"expression":{"baseExpression":{"id":69207,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"55134:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69209,"indexExpression":{"id":69208,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69163,"src":"55144:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"55134:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69210,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"55156:23:98","memberName":"arbitrableConfigVersion","nodeType":"MemberAccess","referencedDeclaration":65603,"src":"55134:45:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"55116:64:98","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage","typeString":"struct StrategyStruct.ArbitrableConfig storage ref"}},"id":69212,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"55181:25:98","memberName":"submitterCollateralAmount","nodeType":"MemberAccess","referencedDeclaration":65619,"src":"55116:90:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69198,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"54999:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":69200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"55015:18:98","memberName":"withdrawCollateral","nodeType":"MemberAccess","referencedDeclaration":74065,"src":"54999:34:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":69213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54999:217:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69214,"nodeType":"ExpressionStatement","src":"54999:217:98"},{"expression":{"id":69222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":69215,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"55227:9:98","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69217,"indexExpression":{"id":69216,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69163,"src":"55237:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"55227:21:98","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":69218,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"55249:14:98","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"55227:36:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":69219,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"55266:14:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":69220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"55281:14:98","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"55266:29:98","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69221,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55296:9:98","memberName":"Cancelled","nodeType":"MemberAccess","referencedDeclaration":65559,"src":"55266:39:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"55227:78:98","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"id":69223,"nodeType":"ExpressionStatement","src":"55227:78:98"},{"eventCall":{"arguments":[{"id":69225,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69163,"src":"55338:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69224,"name":"ProposalCancelled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65866,"src":"55320:17:98","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":69226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55320:29:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69227,"nodeType":"EmitStatement","src":"55315:34:98"}]},"functionSelector":"e0a8f6f5","implemented":true,"kind":"function","modifiers":[],"name":"cancelProposal","nameLocation":"54633:14:98","parameters":{"id":69164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69163,"mutability":"mutable","name":"proposalId","nameLocation":"54656:10:98","nodeType":"VariableDeclaration","scope":69229,"src":"54648:18:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69162,"name":"uint256","nodeType":"ElementaryTypeName","src":"54648:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"54647:20:98"},"returnParameters":{"id":69165,"nodeType":"ParameterList","parameters":[],"src":"54685:0:98"},"scope":69234,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":69233,"nodeType":"VariableDeclaration","src":"55362:25:98","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"55382:5:98","scope":69234,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":69230,"name":"uint256","nodeType":"ElementaryTypeName","src":"55362:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69232,"length":{"hexValue":"3530","id":69231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"55370:2:98","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"55362:11:98","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":65658,"name":"BaseStrategyUpgradeable","nameLocations":["4010:23:98"],"nodeType":"IdentifierPath","referencedDeclaration":65471,"src":"4010:23:98"},"id":65659,"nodeType":"InheritanceSpecifier","src":"4010:23:98"},{"baseName":{"id":65660,"name":"IArbitrable","nameLocations":["4035:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":73940,"src":"4035:11:98"},"id":65661,"nodeType":"InheritanceSpecifier","src":"4035:11:98"},{"baseName":{"id":65662,"name":"IPointStrategy","nameLocations":["4048:14:98"],"nodeType":"IdentifierPath","referencedDeclaration":65534,"src":"4048:14:98"},"id":65663,"nodeType":"InheritanceSpecifier","src":"4048:14:98"},{"baseName":{"id":65664,"name":"ERC165","nameLocations":["4064:6:98"],"nodeType":"IdentifierPath","referencedDeclaration":57725,"src":"4064:6:98"},"id":65665,"nodeType":"InheritanceSpecifier","src":"4064:6:98"}],"canonicalName":"CVStrategyV0_0","contractDependencies":[],"contractKind":"contract","documentation":{"id":65657,"nodeType":"StructuredDocumentation","src":"3939:44:98","text":"@custom:oz-upgrades-from CVStrategyV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[69234,57725,57931,65534,73940,65471,3089,3317,3106,2969,70754,55672,55325,54974,54984,52903,53696,53152],"name":"CVStrategyV0_0","nameLocation":"3992:14:98","scope":69235,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,65667,65669,65671,65673,65675,65677,65679,65681,65683,65685,65687,65695,65697,65699,65705,65707,65709,65713,65717,65723,65725,65727,65735,65737,65739,65745,65747,65751,65753,65759,65761,65767,70677]}],"license":"AGPL-3.0-only"},"id":98} \ No newline at end of file diff --git a/pkg/contracts/out/CVStrategyV0_1.sol/CVStrategyV0_1.json b/pkg/contracts/out/CVStrategyV0_1.sol/CVStrategyV0_1.json index 502b1d99b..22e67c06c 100644 --- a/pkg/contracts/out/CVStrategyV0_1.sol/CVStrategyV0_1.json +++ b/pkg/contracts/out/CVStrategyV0_1.sol/CVStrategyV0_1.json @@ -1 +1 @@ -{"abi":[{"type":"fallback","stateMutability":"payable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"D","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"DISPUTE_COOLDOWN_SEC","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_STAKED_PROPOSALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"RULING_OPTIONS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"activatePoints","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addToAllowList","inputs":[{"name":"members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocate","inputs":[{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"arbitrableConfigs","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculateThreshold","inputs":[{"name":"_requestedAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_threshold","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"canExecuteProposal","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"canBeExecuted","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"cancelProposal","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cloneNonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"collateralVault","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ICollateralVault"}],"stateMutability":"view"},{"type":"function","name":"currentArbitrableConfigVersion","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"cvParams","inputs":[],"outputs":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"deactivatePoints","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deactivatePoints","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToUnstake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"disputeCount","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"disputeIdToProposalId","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"disputeProposal","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"context","type":"string","internalType":"string"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"disputeId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"distribute","inputs":[{"name":"_recipientIds","type":"address[]","internalType":"address[]"},{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAllo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IAllo"}],"stateMutability":"view"},{"type":"function","name":"getArbitrableConfig","inputs":[],"outputs":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDecay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMaxAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMaxConviction","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMetadata","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getPayouts","inputs":[{"name":"","type":"address[]","internalType":"address[]"},{"name":"","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct IStrategy.PayoutSummary[]","components":[{"name":"recipientAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}]}],"stateMutability":"pure"},{"type":"function","name":"getPointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"stateMutability":"view"},{"type":"function","name":"getPoolAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPoolId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposal","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"submitter","type":"address","internalType":"address"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"requestedToken","type":"address","internalType":"address"},{"name":"requestedAmount","type":"uint256","internalType":"uint256"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"proposalStatus","type":"uint8","internalType":"enum StrategyStruct.ProposalStatus"},{"name":"blockLast","type":"uint256","internalType":"uint256"},{"name":"convictionLast","type":"uint256","internalType":"uint256"},{"name":"threshold","type":"uint256","internalType":"uint256"},{"name":"voterStakedPoints","type":"uint256","internalType":"uint256"},{"name":"arbitrableConfigVersion","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposalStakedAmount","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposalVoterStake","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_voter","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRecipientStatus","inputs":[{"name":"_recipientId","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint8","internalType":"enum IStrategy.Status"}],"stateMutability":"view"},{"type":"function","name":"getRegistryCommunity","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract RegistryCommunityV0_0"}],"stateMutability":"view"},{"type":"function","name":"getRegistryCommunityV0_1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract RegistryCommunityV0_1"}],"stateMutability":"view"},{"type":"function","name":"getStrategyId","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getTotalVoterStakePct","inputs":[{"name":"_voter","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"increasePoolAmount","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"increasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToStake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"init","inputs":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"init","inputs":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_name","type":"string","internalType":"string"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initialOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isPoolActive","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isValidAllocator","inputs":[{"name":"_allocator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pointConfig","inputs":[],"outputs":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"pointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"stateMutability":"view"},{"type":"function","name":"proposalCounter","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proposalType","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.ProposalType"}],"stateMutability":"view"},{"type":"function","name":"proposals","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"requestedAmount","type":"uint256","internalType":"uint256"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"convictionLast","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"submitter","type":"address","internalType":"address"},{"name":"requestedToken","type":"address","internalType":"address"},{"name":"blockLast","type":"uint256","internalType":"uint256"},{"name":"proposalStatus","type":"uint8","internalType":"enum StrategyStruct.ProposalStatus"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"disputeInfo","type":"tuple","internalType":"struct StrategyStruct.ProposalDisputeInfo","components":[{"name":"disputeId","type":"uint256","internalType":"uint256"},{"name":"disputeTimestamp","type":"uint256","internalType":"uint256"},{"name":"challenger","type":"address","internalType":"address"}]},{"name":"lastDisputeCompletion","type":"uint256","internalType":"uint256"},{"name":"arbitrableConfigVersion","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerRecipient","inputs":[{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[{"name":"recipientId","type":"address","internalType":"address"}],"stateMutability":"payable"},{"type":"function","name":"removeFromAllowList","inputs":[{"name":"members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rule","inputs":[{"name":"_disputeID","type":"uint256","internalType":"uint256"},{"name":"_ruling","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCollateralVaultTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPoolActive","inputs":[{"name":"_active","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPoolParams","inputs":[{"name":"_arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"_cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPoolParams","inputs":[{"name":"_arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"_cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"membersToAdd","type":"address[]","internalType":"address[]"},{"name":"membersToRemove","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSybilScorer","inputs":[{"name":"_sybilScorer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"sybilScorer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISybilScorer"}],"stateMutability":"view"},{"type":"function","name":"totalEffectiveActivePoints","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalPointsActivated","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalStaked","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalVoterStakePct","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProposalConviction","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"voterStakedProposals","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Allocated","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AllowlistMembersAdded","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"members","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"AllowlistMembersRemoved","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"members","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"ArbitrableConfigUpdated","inputs":[{"name":"currentArbitrableConfigVersion","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"arbitrator","type":"address","indexed":false,"internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","indexed":false,"internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"defaultRuling","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CVParamsUpdated","inputs":[{"name":"cvParams","type":"tuple","indexed":false,"internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]}],"anonymous":false},{"type":"event","name":"DisputeRequest","inputs":[{"name":"_arbitrator","type":"address","indexed":true,"internalType":"contract IArbitrator"},{"name":"_arbitrableDisputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_externalDisputeID","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_templateId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_templateUri","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"Distributed","inputs":[{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"beneficiary","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Distributed","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"recipientAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"InitializedCV","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"tuple","indexed":false,"internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]}],"anonymous":false},{"type":"event","name":"InitializedCV2","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"tuple","indexed":false,"internalType":"struct StrategyStruct2.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"},{"name":"initialAllowlist","type":"address[]","internalType":"address[]"}]}],"anonymous":false},{"type":"event","name":"MinThresholdPointsUpdated","inputs":[{"name":"before","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PointsDeactivated","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PoolActive","inputs":[{"name":"active","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"PoolAmountIncreased","inputs":[{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PowerDecreased","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"},{"name":"tokensUnStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"pointsToDecrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PowerIncreased","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"},{"name":"tokensStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"pointsToIncrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalCancelled","inputs":[{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalCreated","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalDisputed","inputs":[{"name":"arbitrator","type":"address","indexed":false,"internalType":"contract IArbitrator"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"disputeId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"challenger","type":"address","indexed":false,"internalType":"address"},{"name":"context","type":"string","indexed":false,"internalType":"string"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Registered","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RegistryUpdated","inputs":[{"name":"registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Ruling","inputs":[{"name":"_arbitrator","type":"address","indexed":true,"internalType":"contract IArbitrator"},{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_ruling","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SupportAdded","inputs":[{"name":"from","type":"address","indexed":false,"internalType":"address"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"totalStakedAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"convictionLast","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"TribunaSafeRegistered","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"},{"name":"arbitrator","type":"address","indexed":false,"internalType":"address"},{"name":"tribunalSafe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"AMOUNT_MISMATCH","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"AmountOverMaxRatio","inputs":[]},{"type":"error","name":"ArbitratorCannotBeZero","inputs":[]},{"type":"error","name":"CallerNotOwner","inputs":[{"name":"_caller","type":"address","internalType":"address"},{"name":"_owner","type":"address","internalType":"address"}]},{"type":"error","name":"CantIncreaseFixedSystem","inputs":[]},{"type":"error","name":"ConvictionUnderMinimumThreshold","inputs":[]},{"type":"error","name":"DefaultRulingNotSet","inputs":[]},{"type":"error","name":"DisputeCooldownNotPassed","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_remainingSec","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"InsufficientCollateral","inputs":[{"name":"sentAmount","type":"uint256","internalType":"uint256"},{"name":"requiredAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"MaxPointsReached","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"NotEnoughPointsToSupport","inputs":[{"name":"pointsSupport","type":"uint256","internalType":"uint256"},{"name":"pointsBalance","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NotImplemented","inputs":[]},{"type":"error","name":"OnlyArbitrator","inputs":[]},{"type":"error","name":"OnlyCommunityAllowed","inputs":[]},{"type":"error","name":"OnlyCouncilSafe","inputs":[]},{"type":"error","name":"OnlySubmitter","inputs":[{"name":"submitter","type":"address","internalType":"address"},{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"PoolAmountNotEnough","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_requestedAmount","type":"uint256","internalType":"uint256"},{"name":"_poolAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PoolIdCannotBeZero","inputs":[]},{"type":"error","name":"PoolIsEmpty","inputs":[]},{"type":"error","name":"ProposalDataIsEmpty","inputs":[]},{"type":"error","name":"ProposalIdCannotBeZero","inputs":[]},{"type":"error","name":"ProposalInvalidForAllocation","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_proposalStatus","type":"uint8","internalType":"enum StrategyStruct.ProposalStatus"}]},{"type":"error","name":"ProposalNotActive","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalNotDisputed","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalNotInList","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalSupportDuplicated","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"RegistryCannotBeZero","inputs":[]},{"type":"error","name":"SupportUnderflow","inputs":[{"name":"_support","type":"uint256","internalType":"uint256"},{"name":"_delta","type":"int256","internalType":"int256"},{"name":"_result","type":"int256","internalType":"int256"}]},{"type":"error","name":"TokenCannotBeZero","inputs":[]},{"type":"error","name":"TokenNotAllowed","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"UserCannotBeZero","inputs":[]},{"type":"error","name":"UserCannotExecuteAction","inputs":[]},{"type":"error","name":"UserIsInactive","inputs":[]},{"type":"error","name":"UserNotInRegistry","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b506080516170726200004d600039600081816118a1015281816118e101528181611980015281816119c00152611a3801526170726000f3fe60806040526004361061036e5760003560e01c8063013cf08b1461037757806301ffc9a7146103b9578063059351cd146103e9578063062f9ece146104765780630a6f0ee9146104965780630ba95909146104b65780630bece79c146104d55780630c0512e9146105025780630f529ba214610518578063125fd1d91461052f57806315cc481e14610545578063184b9559146105635780631aa91a9e146105835780631ddf1e23146105a35780632506b870146105b8578063255ffb38146105fb5780632bbe0cae146106285780632dbd6fdd1461063b5780632ed04b2b14610667578063311a6c561461068757806333960459146106a7578063346db8cb146106bd578063351d9f96146106dd5780633659cfe61461070457806338fff2d014610724578063406244d81461073957806341bb76051461074e57806342fda9c7146107ab57806348f19c1d146107c05780634ab4ba42146107d55780634d31d087146107ea5780634f1ef2861461080a57806352d1902d1461081d57806359a5db8b146108325780635db64b991461085257806360d5dedc1461087f578063626c47e81461089f5780636453d9c4146108b45780636a6f69b4146107c0578063715018a6146108d45780637263cfe2146108e9578063782aadff14610909578063814516ad14610929578063817b1cd21461093e578063824ea8ed14610954578063868c57b8146109745780638da5cb5b14610994578063948e7a59146109a9578063950559d7146109c95780639a1c157c146109e9578063a0cf0aea146109fe578063a28889e114610a26578063a47ff7e514610a5e578063a51312c814610a75578063a574cea414610a95578063aba9ffee14610ac2578063ac1ed7b914610ad8578063b0d3713a14610af8578063b2b878d014610b18578063b41596ec14610b45578063b5f620ce14610b58578063b6c61f3114610b78578063bcc5b93b14610b98578063c329217114610bb8578063c4d66de814610bd5578063c7f758a814610bf5578063d1e3623214610c2c578063dc96ff2d14610c41578063df868ed314610c71578063e0a8f6f514610c86578063e0dd2c3814610ca6578063eb11af9314610cc6578063edd146cc14610cee578063ef2920fc14610d0e578063f2fde38b14610d21578063f5b0dfb714610d41578063f5be3f7c14610d61578063ffa1ad7414610d7757005b3661037557005b005b34801561038357600080fd5b506103976103923660046157d0565b610db3565b6040516103b09d9c9b9a9998979695949392919061588b565b60405180910390f35b3480156103c557600080fd5b506103d96103d436600461592d565b610f01565b60405190151581526020016103b0565b3480156103f557600080fd5b5061043e606f546000908152607f60205260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169694909316949193909290565b604080516001600160a01b039788168152969095166020870152938501929092526060840152608083015260a082015260c0016103b0565b34801561048257600080fd5b50610375610491366004615b13565b610f38565b3480156104a257600080fd5b506103756104b1366004615c60565b610f4e565b3480156104c257600080fd5b506077545b6040519081526020016103b0565b3480156104e157600080fd5b506079546104f5906001600160a01b031681565b6040516103b09190615cd7565b34801561050e57600080fd5b506104c7606e5481565b34801561052457600080fd5b506104c76298968081565b34801561053b57600080fd5b506104c7606f5481565b34801561055157600080fd5b506065546001600160a01b03166104f5565b34801561056f57600080fd5b5061037561057e366004615ceb565b610f6e565b34801561058f57600080fd5b506104c761059e3660046157d0565b6110ce565b3480156105af57600080fd5b50610375611118565b3480156105c457600080fd5b506072546073546074546075546105db9392919084565b6040805194855260208501939093529183015260608201526080016103b0565b34801561060757600080fd5b506104c76106163660046157d0565b607e6020526000908152604090205481565b6104f5610636366004615d2b565b611123565b34801561064757600080fd5b5060765461065a90610100900460ff1681565b6040516103b09190615d90565b34801561067357600080fd5b506104c7610682366004615d9e565b611146565b34801561069357600080fd5b506103756106a2366004615dca565b61120a565b3480156106b357600080fd5b506104c7606c5481565b3480156106c957600080fd5b506104c76106d8366004615dec565b6117fc565b3480156106e957600080fd5b506076546106f79060ff1681565b6040516103b09190615e28565b34801561071057600080fd5b5061037561071f366004615e36565b611897565b34801561073057600080fd5b506068546104c7565b34801561074557600080fd5b506104c7600a81565b34801561075a57600080fd5b5061043e6107693660046157d0565b607f602052600090815260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169593909416939192909186565b3480156107b757600080fd5b506066546104c7565b3480156107cc57600080fd5b506104f561195f565b3480156107e157600080fd5b506069546104c7565b3480156107f657600080fd5b506103d9610805366004615e36565b61196e565b610375610818366004615e53565b611976565b34801561082957600080fd5b506104c7611a2b565b34801561083e57600080fd5b506104c761084d3660046157d0565b611ad9565b34801561085e57600080fd5b506104c761086d366004615e36565b607c6020526000908152604090205481565b34801561088b57600080fd5b5061037561089a366004615ea2565b611bf3565b3480156108ab57600080fd5b506104c7600381565b3480156108c057600080fd5b506103756108cf366004615e36565b611c6f565b3480156108e057600080fd5b50610375611c80565b3480156108f557600080fd5b50610375610904366004615efd565b611c92565b34801561091557600080fd5b506104c7610924366004615d9e565b611ca3565b34801561093557600080fd5b50610375611e39565b34801561094a57600080fd5b506104c760705481565b34801561096057600080fd5b506103d961096f3660046157d0565b611f56565b34801561098057600080fd5b506104c761098f366004615d9e565b611fb3565b3480156109a057600080fd5b506104f5611fe4565b3480156109b557600080fd5b506103756109c4366004615f31565b612075565b3480156109d557600080fd5b506104c76109e43660046157d0565b612089565b3480156109f557600080fd5b506074546104c7565b348015610a0a57600080fd5b506104f573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b348015610a3257600080fd5b50606d54610a46906001600160401b031681565b6040516001600160401b0390911681526020016103b0565b348015610a6a57600080fd5b506077546104c79081565b348015610a8157600080fd5b50610375610a90366004615efd565b6120b3565b348015610aa157600080fd5b50610ab5610ab03660046157d0565b6120c4565b6040516103b09190615fba565b348015610ace57600080fd5b506104c760715481565b348015610ae457600080fd5b50610375610af3366004615e36565b6121a3565b348015610b0457600080fd5b50610375610b13366004615e36565b6121d6565b348015610b2457600080fd5b50610b38610b33366004615fcd565b612200565b6040516103b091906160a1565b6104c7610b5336600461613a565b61221b565b348015610b6457600080fd5b50610375610b733660046161c1565b61256d565b348015610b8457600080fd5b50607a546104f5906001600160a01b031681565b348015610ba457600080fd5b506104c7610bb3366004615e36565b612576565b348015610bc457600080fd5b50607654610100900460ff1661065a565b348015610be157600080fd5b50610375610bf0366004615e36565b612591565b348015610c0157600080fd5b50610c15610c103660046157d0565b6125c1565b6040516103b09b9a999897969594939291906161de565b348015610c3857600080fd5b506071546104c7565b348015610c4d57600080fd5b506104c7610c5c3660046157d0565b6000908152607b602052604090206002015490565b348015610c7d57600080fd5b506103d96126cd565b348015610c9257600080fd5b50610375610ca13660046157d0565b6126e0565b348015610cb257600080fd5b506104c7610cc136600461624d565b612865565b348015610cd257600080fd5b50610ce1610805366004615e36565b6040516103b09190616272565b348015610cfa57600080fd5b50610375610d09366004616285565b612890565b610375610d1c366004615d2b565b612a81565b348015610d2d57600080fd5b50610375610d3c366004615e36565b612aa5565b348015610d4d57600080fd5b50610375610d5c3660046157d0565b612b12565b348015610d6d57600080fd5b506104c7611c2081565b348015610d8357600080fd5b50610da6604051806040016040528060038152602001620302e360ec1b81525081565b6040516103b091906162b5565b607b602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610e3a906162c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610e66906162c8565b8015610eb35780601f10610e8857610100808354040283529160200191610eb3565b820191906000526020600020905b815481529060010190602001808311610e9657829003601f168201915b50505091909252505060408051606081018252600c8501548152600d8501546020820152600e8501546001600160a01b031691810191909152600f840154601090940154929390929091508d565b60006001600160e01b0319821663f1801e6160e01b1480610f3257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610f40612b3b565b610f4a8282612bd5565b5050565b610f56612f4a565b610f5e612f75565b610f69838383612f98565b505050565b600054610100900460ff1615808015610f8e5750600054600160ff909116105b80610faf5750610f9d306132a2565b158015610faf575060005460ff166001145b6110175760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801561103a576000805461ff0019166101001790555b611067846040518060400160405280600a8152602001694356537472617465677960b01b81525084611bf3565b606a80546001600160a01b0319166001600160a01b03851617905580156110c8576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b6000818152607b60205260408120805483146111005760405163c1d17bef60e01b81526004810184905260240161100e565b61110e8182600201546132b1565b6003015492915050565b611121336132ec565b565b600061112d612f4a565b611135612f75565b61113f8383613418565b9392505050565b6000611150613806565b60006002607654610100900460ff166003811115611170576111706157f6565b148061119757506001607654610100900460ff166003811115611195576111956157f6565b145b156111a35750816111b0565b6111ad8484613831565b90505b80607160008282546111c29190616312565b90915550506040517f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1906111fb90869086908590616325565b60405180910390a19392505050565b6000828152607e6020908152604080832054808452607b835281842060108101548552607f8452828520835160c08101855281546001600160a01b03908116825260018301541695810195909552600281015493850193909352600383015460608501526004830154608085015260059092015460a0840152929091908390036112aa5760405163c1d17bef60e01b81526004810184905260240161100e565b6005600883015460ff1660068111156112c5576112c56157f6565b146112e657604051634b011ca960e11b81526004810184905260240161100e565b60a0810151600d8301546000916112fc91616346565b42119050801581611317575081516001600160a01b03163314155b1561133557604051631777988560e11b815260040160405180910390fd5b808061133f575084155b1561148857816080015160000361136957604051630dd466dd60e41b815260040160405180910390fd5b81608001516001036113855760088301805460ff191660011790555b81608001516002036114125760088301805460ff191660061790556079546005840154604084810151905163099ea56b60e41b81526001600160a01b03938416936399ea56b0936113df938a939290911691600401616359565b600060405180830381600087803b1580156113f957600080fd5b505af115801561140d573d6000803e3d6000fd5b505050505b607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b093611451938a939290911691600401616359565b600060405180830381600087803b15801561146b57600080fd5b505af115801561147f573d6000803e3d6000fd5b50505050611765565b846001036115495760088301805460ff19166001179055607954600e8401546001600160a01b0391821691638969ab53918791166114c461195f565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115259190616378565b86606001516040518563ffffffff1660e01b81526004016114519493929190616395565b846002036117655760088301805460ff19166006179055607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b09361159f938a939290911691600401616359565b600060405180830381600087803b1580156115b957600080fd5b505af11580156115cd573d6000803e3d6000fd5b505060795460058601546001600160a01b039182169350638969ab5392508791166115f661195f565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611633573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116579190616378565b606f546000908152607f6020526040902060029081015461167891906163d0565b6040518563ffffffff1660e01b81526004016116979493929190616395565b600060405180830381600087803b1580156116b157600080fd5b505af11580156116c5573d6000803e3d6000fd5b50506079546005860154600e870154606f546000908152607f602052604090206002908101546001600160a01b039485169650638969ab5395508a94938416939092169161171391906163d0565b6040518563ffffffff1660e01b81526004016117329493929190616395565b600060405180830381600087803b15801561174c57600080fd5b505af1158015611760573d6000803e3d6000fd5b505050505b606d80546001600160401b031690600061177e836163f2565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550504283600f01819055508582600001516001600160a01b03167f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e75622276876040516117ec91815260200190565b60405180910390a3505050505050565b607454600090849082906118219061181b90629896809060801b6163d0565b83613a34565b905060806001607f1b6072600201546298968061183e9190616312565b61184c84600160801b616312565b6118596298968089616415565b6118639190616415565b61186d91906163d0565b6118778885616415565b6118819190616346565b61188b9190616346565b901c9695505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036118df5760405162461bcd60e51b815260040161100e9061642c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611911613adc565b6001600160a01b0316146119375760405162461bcd60e51b815260040161100e90616466565b61194081613af8565b6040805160008082526020820190925261195c91839190613b33565b50565b6078546001600160a01b031690565b600080610f32565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036119be5760405162461bcd60e51b815260040161100e9061642c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166119f0613adc565b6001600160a01b031614611a165760405162461bcd60e51b815260040161100e90616466565b611a1f82613af8565b610f4a82826001613b33565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611ac65760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840161100e565b50600080516020616fd683398151915290565b60008060695411611afd5760405163ed4421ad60e01b815260040160405180910390fd5b611b0682613c9e565b15611b2457604051630efd728560e21b815260040160405180910390fd5b606954600090611b3884600160401b616415565b611b4291906163d0565b6072546298968090611b5890600160401b616415565b611b6291906163d0565b611b6c9190616312565b90506040611b7960715490565b607454611b899062989680616312565b629896806040611b998680616415565b607354911c90611bb090629896809060801b6163d0565b611bba91906163d0565b611bc49190616415565b611bce91906163d0565b611bd89190616415565b607554911c92508211611bed5760755461113f565b50919050565b600054610100900460ff16611c1a5760405162461bcd60e51b815260040161100e906164a0565b611c2381612591565b606580546001600160a01b0319166001600160a01b038516179055604051611c4f9083906020016162b5565b60408051601f198184030181529190528051602090910120606655505050565b611c77613806565b61195c816132ec565b611c88613cc5565b6111216000613d24565b611c9a612b3b565b61195c81613d76565b6000611cad613806565b611cb683614016565b611cd357604051630b72d6b160e31b815260040160405180910390fd5b60006002607654610100900460ff166003811115611cf357611cf36157f6565b03611d0157825b9050611d5e565b6001607654610100900460ff166003811115611d1f57611d1f6157f6565b03611d2e57611cfa84846141c4565b6003607654610100900460ff166003811115611d4c57611d4c6157f6565b03611d5e57611d5b848461426d565b90505b6000611d6861195f565b6001600160a01b031663477a5cc086306040518363ffffffff1660e01b8152600401611d959291906164eb565b602060405180830381865afa158015611db2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dd69190616505565b90508015611df6578160716000828254611df09190616346565b90915550505b7f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a858584604051611e2993929190616325565b60405180910390a1509392505050565b33611e4381614016565b611e6057604051630b72d6b160e31b815260040160405180910390fd5b611e6861195f565b6001600160a01b0316630d4a8b4982306040518363ffffffff1660e01b8152600401611e959291906164eb565b600060405180830381600087803b158015611eaf57600080fd5b505af1158015611ec3573d6000803e3d6000fd5b50505050611ecf61195f565b6001600160a01b0316637817ee4f82306040518363ffffffff1660e01b8152600401611efc9291906164eb565b602060405180830381865afa158015611f19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f3d9190616522565b60716000828254611f4e9190616346565b909155505050565b6000818152607b60205260408120600281015482908190611f7890849061446e565b91509150816000148015611f8a575080155b15611f9757826003015491505b6000611fa68460010154611ad9565b9092101595945050505050565b607d6020528160005260406000208181548110611fcf57600080fd5b90600052602060002001600091509150505481565b600080611ff96033546001600160a01b031690565b9050806001600160a01b03163b60000361201257919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561206c575060408051601f3d908101601f1916820190925261206991810190616378565b60015b610f3257919050565b61207d612b3b565b6110c8848484846144c6565b60745460009061209c9062989680616312565b6120a96298968084616415565b610f3291906163d0565b6120bb612b3b565b61195c816144de565b6040805180820190915260008152606060208201526000607b6000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054612119906162c8565b80601f0160208091040260200160405190810160405280929190818152602001828054612145906162c8565b80156121925780601f1061216757610100808354040283529160200191612192565b820191906000526020600020905b81548152906001019060200180831161217557829003601f168201915b505050505081525050915050919050565b6121ab612b3b565b6121b481614695565b607a80546001600160a01b0319166001600160a01b0392909216919091179055565b6121de613cc5565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b606060405163d623472560e01b815260040160405180910390fd5b6000858152607b6020908152604080832060108101548452607f8352818420825160c08101845281546001600160a01b0390811680835260018401549091169582019590955260028201549381019390935260038101546060840152600481015460808401526005015460a0830152916122a857604051636c291fd360e01b815260040160405180910390fd5b815488146122cc5760405163c1d17bef60e01b81526004810189905260240161100e565b6001600883015460ff1660068111156122e7576122e76157f6565b14612308576040516344980d8f60e01b81526004810189905260240161100e565b8060600151341015612334576060810151604051632c1f8ef160e21b815261100e91349160040161654b565b600f82015415801590612357575042611c2083600f01546123559190616346565b115b15612395578742611c2084600f01546123709190616346565b61237a9190616312565b604051638d2f6c3160e01b815260040161100e92919061654b565b60008160600151346123a79190616312565b607954606084015160405163240ff7c560e11b81529293506001600160a01b039091169163481fef8a91906123e2908d903390600401616559565b6000604051808303818588803b1580156123fb57600080fd5b505af115801561240f573d6000803e3d6000fd5b5050845160405163c13517e160e01b81526001600160a01b03909116935063c13517e1925084915061244a906003908b908b90600401616599565b60206040518083038185885af1158015612468573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061248d9190616522565b60088401805491955060059160ff19166001830217905550600c830184905542600d840155600e830180546001600160a01b031916331790556000848152607e602052604081208a9055606d80546001600160401b0316916124ee836165bc565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550507f034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d82600001518a86338c8c89600c016001015460405161255997969594939291906165ea565b60405180910390a150505095945050505050565b61195c816146bc565b6001600160a01b03166000908152607c602052604090205490565b600054610100900460ff166125b85760405162461bcd60e51b815260040161100e906164a0565b61195c81613d24565b600080600080600080600080600080600080607b60008e815260200190815260200160002090508060010154600014612606576126018160010154611ad9565b612609565b60005b93508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548b896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020548a601001549b509b509b509b509b509b509b509b509b509b509b505091939597999b90929496989a50565b60006126db60675460ff1690565b905090565b60016000828152607b602052604090206008015460ff166006811115612708576127086157f6565b14612729576040516344980d8f60e01b81526004810182905260240161100e565b6000818152607b60205260409020600501546001600160a01b03163314612782576000818152607b602052604090819020600501549051634544dc9160e11b815261100e916001600160a01b03169033906004016164eb565b6079546000828152607b6020908152604080832060058101546010909101548452607f9092529182902060020154915163099ea56b60e41b81526001600160a01b03938416936399ea56b0936127df938793921691600401616359565b600060405180830381600087803b1580156127f957600080fd5b505af115801561280d573d6000803e3d6000fd5b5050506000828152607b6020908152604091829020600801805460ff1916600317905590518381527f416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c9250015b60405180910390a150565b6000828152607b602090815260408083206001600160a01b038516845260090190915281205461113f565b612898612f4a565b6128a1826146fd565b606a54606c80546128ca926001600160a01b03169160006128c183616639565b9190505561474c565b607980546001600160a01b0319166001600160a01b039290921691821790556040805163204a7f0760e21b81529051638129fc1c9160048082019260009290919082900301818387803b15801561292057600080fd5b505af1158015612934573d6000803e3d6000fd5b5050505060008180602001905181019061294e91906167c5565b60a08101519091506001600160a01b031661297c57604051635df4b1ef60e01b815260040160405180910390fd5b60a0810151607880546001600160a01b0319166001600160a01b0390921691909117905560208101516076805460ff191660018360028111156129c1576129c16157f6565b021790555060408101516076805461ff0019166101008360038111156129e9576129e96157f6565b021790555060608101515160775560c0810151607a80546001600160a01b0319166001600160a01b039092169190911790556080810151815160408051600080825260208201908152818301909252612a439392916144c6565b7fa489767af337c1767e9c6949fc5a6d3a73bb69ea80a3e619c2e08b7b308d0bcf8382604051612a74929190616919565b60405180910390a1505050565b612a89612f4a565b612a91612f75565b612a9b828261479b565b610f4a82826147f7565b612aad613cc5565b6001600160a01b0381166125b85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161100e565b612b1a612f4a565b8060696000828254612b2c9190616346565b9091555061195c9050816148ea565b612b4361195f565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ba49190616378565b6001600160a01b0316336001600160a01b03161461112157604051637430763f60e11b815260040160405180910390fd5b60208201516001600160a01b031615801590612bfa575081516001600160a01b031615155b8015612ce35750606f546000908152607f6020908152604090912060010154908301516001600160a01b039081169116141580612c565750606f546000908152607f602052604090205482516001600160a01b03908116911614155b80612c7a5750606f546000908152607f602052604090819020600201549083015114155b80612c9d5750606f546000908152607f6020526040902060030154606083015114155b80612cc05750606f546000908152607f6020526040902060040154608083015114155b80612ce35750606f546000908152607f602052604090206005015460a083015114155b15612ef257602080830151606f546000908152607f9092526040909120600101546001600160a01b039081169116141580612d3d57508151606f546000908152607f60205260409020546001600160a01b03908116911614155b15612e06578151602083015160405163446adb9960e11b81526001600160a01b03909216916388d5b73291612d7491600401615cd7565b600060405180830381600087803b158015612d8e57600080fd5b505af1158015612da2573d6000803e3d6000fd5b5050835160208501516040517fdc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f9450612dfd9350309291906001600160a01b0393841681529183166020830152909116604082015260600190565b60405180910390a15b606f8054906000612e1683616639565b9091555050606f80546000908152607f6020908152604091829020855181546001600160a01b03199081166001600160a01b03928316908117845588850151600185018054909316931692831790915587850151600284018190556060808a0151600386018190556080808c01516004880181905560a0808e015160059099018990559a548a519081529889019590955297870194909452850152938301529281019190915260c08101919091527fe677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d539060e00160405180910390a15b805160725560208101516073556040808201516074556060820151607555517fec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc90612f3e9083906169f8565b60405180910390a15050565b6065546001600160a01b031633146111215760405163075fd2b160e01b815260040160405180910390fd5b60685460000361112157604051630f68fe6360e21b815260040160405180910390fd5b6000825111612fba57604051630317df1360e61b815260040160405180910390fd5b600082806020019051810190612fd09190616522565b905080600003612ff35760405163f881a10d60e01b815260040160405180910390fd5b6000818152607b60205260409020600160765460ff16600281111561301a5761301a6157f6565b0361329b57805482146130435760405163c1d17bef60e01b81526004810183905260240161100e565b6069548160010154111561307657818160010154606954604051632c31d85b60e11b815260040161100e93929190616a06565b6001600882015460ff166006811115613091576130916157f6565b146130b2576040516344980d8f60e01b81526004810183905260240161100e565b60006130bd836110ce565b905060006130ce8360010154611ad9565b905080821080156130e3575060008360010154115b156131015760405163199cf26160e31b815260040160405180910390fd5b60655460685460405163068bcd8d60e01b815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561314f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526131779190810190616aa9565b905083600101546069600082825461318f9190616312565b90915550506040810151600485015460018601546131b792916001600160a01b03169061491a565b60088401805460ff191660049081179091556079546005860154606f546000908152607f60205260409081902060020154905163099ea56b60e41b81526001600160a01b03938416946399ea56b094613217948c94911692909101616359565b600060405180830381600087803b15801561323157600080fd5b505af1158015613245573d6000803e3d6000fd5b505050600485015460018601546040517fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847935061328f9289926001600160a01b0390911691616359565b60405180910390a15050505b5050505050565b6001600160a01b03163b151590565b6000806132be848461446e565b915091508160001480156132d0575080155b156132db5750505050565b600784015560039092019190915550565b6132f461195f565b6001600160a01b0316637817ee4f82306040518363ffffffff1660e01b81526004016133219291906164eb565b602060405180830381865afa15801561333e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133629190616522565b607160008282546133739190616312565b90915550613381905061195f565b6001600160a01b03166322bcf99982306040518363ffffffff1660e01b81526004016133ae9291906164eb565b600060405180830381600087803b1580156133c857600080fd5b505af11580156133dc573d6000803e3d6000fd5b505050506133e981614954565b7f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b8160405161285a9190615cd7565b600061342382614016565b61344057604051630b72d6b160e31b815260040160405180910390fd5b6000838060200190518101906134569190616b5c565b805190915060000361347b5760405163273c8bc360e11b815260040160405180910390fd5b600160765460ff166002811115613494576134946157f6565b03613615576134a68160200151614695565b60608101516001600160a01b03166134d15760405163165a825360e21b815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613511573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135359190616378565b825160405163068bcd8d60e01b815260048101919091529091506000906001600160a01b0383169063068bcd8d90602401600060405180830381865afa158015613583573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526135ab9190810190616aa9565b905080604001516001600160a01b031683606001516001600160a01b0316146135e75760405163514e24c360e11b815260040160405180910390fd5b6135f48360400151613c9e565b1561361257604051630efd728560e21b815260040160405180910390fd5b50505b606f546000908152607f60205260409020546001600160a01b0316158015906136515750606f546000908152607f602052604090206002015434105b1561368757606f546000908152607f602052604090819020600201549051632c1f8ef160e21b815261100e91349160040161654b565b6000606e6000815461369890616639565b91829055506000818152607b602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b84019061374c9082616c50565b5050606f54601083015550607954600582015460405163240ff7c560e11b81526001600160a01b039283169263481fef8a9234926137909288921690600401616559565b6000604051808303818588803b1580156137a957600080fd5b505af11580156137bd573d6000803e3d6000fd5b50505050507ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b606854836040516137f592919061654b565b60405180910390a150949350505050565b6078546001600160a01b03163314611121576040516357848b5160e11b815260040160405180910390fd5b6000601261383d61195f565b6001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561387a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061389e9190616378565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156138f7575060408051601f3d908101601f191682019092526138f491810190616d0f565b60015b156139025760ff1690505b60008361390d61195f565b6001600160a01b0316632c611c4a876040518263ffffffff1660e01b81526004016139389190615cd7565b602060405180830381865afa158015613955573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139799190616522565b6139839190616312565b905060006139a461399584600a616e16565b61399f9084616415565b614ab5565b90506000816139b161195f565b6001600160a01b0316637817ee4f89306040518363ffffffff1660e01b81526004016139de9291906164eb565b602060405180830381865afa1580156139fb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a1f9190616522565b613a299190616312565b979650505050505050565b6000600160801b8310613a885760405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b604482015260640161100e565b50600160801b82825b8015613ad45780600116600003613ab657613aac8283614b9d565b915060011c613a91565b613ac08383614b9d565b9250613acd600182616312565b9050613a91565b505092915050565b600080516020616fd6833981519152546001600160a01b031690565b33613b01611fe4565b6001600160a01b03161461195c5733613b18611fe4565b60405163163678e960e01b815260040161100e9291906164eb565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615613b6657610f6983614c7a565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613bc0575060408051601f3d908101601f19168201909252613bbd91810190616522565b60015b613c235760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161100e565b600080516020616fd68339815191528114613c925760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161100e565b50610f69838383614d14565b6000613cad6298968083616415565b606954607254613cbd9190616415565b111592915050565b33613cce611fe4565b6001600160a01b0316146111215760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161100e565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000606854604051602001613d8b9190616e22565b604051602081830303815290604052805190602001209050613dab61195f565b6001600160a01b03166391d148548260006040518363ffffffff1660e01b8152600401613dd9929190616559565b602060405180830381865afa158015613df6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e1a9190616505565b15613e8857613e2761195f565b6001600160a01b031663d547741f8260006040518363ffffffff1660e01b8152600401613e55929190616559565b600060405180830381600087803b158015613e6f57600080fd5b505af1158015613e83573d6000803e3d6000fd5b505050505b60005b8251811015613fe257613e9c61195f565b6001600160a01b03166391d1485483858481518110613ebd57613ebd616e3f565b60200260200101516040518363ffffffff1660e01b8152600401613ee2929190616559565b602060405180830381865afa158015613eff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f239190616505565b613fd057613f2f61195f565b6001600160a01b0316632f2ff15d606854604051602001613f509190616e22565b60405160208183030381529060405280519060200120858481518110613f7857613f78616e3f565b60200260200101516040518363ffffffff1660e01b8152600401613f9d929190616559565b600060405180830381600087803b158015613fb757600080fd5b505af1158015613fcb573d6000803e3d6000fd5b505050505b80613fda81616639565b915050613e8b565b507f7a2e396a5614184c0af2c60827c206595126faa1238b94e19823192de52e728a60685483604051612f3e929190616e55565b607a546000906001600160a01b031661415157600060685460405160200161403e9190616e22565b60405160208183030381529060405280519060200120905061405e61195f565b6001600160a01b03166391d148548260006040518363ffffffff1660e01b815260040161408c929190616559565b602060405180830381865afa1580156140a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140cd9190616505565b156140db5750600192915050565b6140e361195f565b6001600160a01b03166391d1485482856040518363ffffffff1660e01b8152600401614110929190616559565b602060405180830381865afa15801561412d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113f9190616505565b607a546040516302154c3d60e51b81526001600160a01b03909116906342a987a09061418390859030906004016164eb565b602060405180830381865afa1580156141a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f329190616505565b600081816141d061195f565b6001600160a01b0316637817ee4f86306040518363ffffffff1660e01b81526004016141fd9291906164eb565b602060405180830381865afa15801561421a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061423e9190616522565b60775490915061424e8383616346565b111561426557607754614262908290616312565b91505b509392505050565b6000808261427961195f565b6001600160a01b0316632c611c4a866040518263ffffffff1660e01b81526004016142a49190615cd7565b602060405180830381865afa1580156142c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142e59190616522565b6142ef9190616346565b905060126142fb61195f565b6001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015614338573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061435c9190616378565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156143b5575060408051601f3d908101601f191682019092526143b291810190616d0f565b60015b156143c05760ff1690505b60006143da6143d083600a616e16565b61399f9085616415565b905060006143e661195f565b6001600160a01b0316637817ee4f88306040518363ffffffff1660e01b81526004016144139291906164eb565b602060405180830381865afa158015614430573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144549190616522565b905060006144628284616312565b98975050505050505050565b600080439050808460070154111561448857614488616e6e565b8084600701540361449e575060009050806144bf565b6144bc8460070154826144b19190616312565b8560030154856117fc565b91505b9250929050565b6144d08484612bd5565b6144d982613d76565b6110c8815b60005b8151811015614661576144f261195f565b6001600160a01b03166391d148546068546040516020016145139190616e22565b6040516020818303038152906040528051906020012084848151811061453b5761453b616e3f565b60200260200101516040518363ffffffff1660e01b8152600401614560929190616559565b602060405180830381865afa15801561457d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145a19190616505565b1561464f576145ae61195f565b6001600160a01b031663d547741f6068546040516020016145cf9190616e22565b604051602081830303815290604052805190602001208484815181106145f7576145f7616e3f565b60200260200101516040518363ffffffff1660e01b815260040161461c929190616559565b600060405180830381600087803b15801561463657600080fd5b505af115801561464a573d6000803e3d6000fd5b505050505b8061465981616639565b9150506144e1565b507fd418c93b6b78d828a87ee1909e6fcdbbf2f8d8f540ad7b232bb3e221e6d7cc1e6068548260405161285a929190616e55565b6001600160a01b03811661195c576040516303988b8160e61b815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200161285a565b614705612f4a565b606854156147265760405163439a74c960e01b815260040160405180910390fd5b8060000361474757604051637fcce2a960e01b815260040160405180910390fd5b606855565b6040516001600160601b03193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506147938482614d39565b949350505050565b6000828060200190518101906147b19190616e84565b905060005b81518110156110c8576147e58282815181106147d4576147d4616e3f565b602002602001015160000151614dd0565b806147ef81616639565b9150506147b6565b61480081614e8d565b61480981614016565b61482657604051630b72d6b160e31b815260040160405180910390fd5b600061483061195f565b6001600160a01b031663477a5cc083306040518363ffffffff1660e01b815260040161485d9291906164eb565b602060405180830381865afa15801561487a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061489e9190616505565b9050806148be57604051635fccb67f60e01b815260040160405180910390fd5b6000838060200190518101906148d49190616e84565b90506148e08382614f6e565b6110c88382615103565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f763399060200161285a565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161494957610f6982826154db565b610f698383836154f7565b6001600160a01b0381166000908152607d60209081526040808320805482518185028101850190935280835291929091908301828280156149b457602002820191906000526020600020905b8154815260200190600101908083116149a0575b5050505050905060005b8151811015610f695760008282815181106149db576149db616e3f565b602002602001015190506000607b60008381526020019081526020016000209050614a058261553d565b15614aa0576001600160a01b0385166000908152600982016020526040812080549082905560028301805491928392614a3f908490616312565b925050819055508060706000828254614a589190616312565b90915550614a68905082826132b1565b600080516020616ff68339815191528684600085600201548660030154604051614a96959493929190616f2e565b60405180910390a1505b50508080614aad90616639565b9150506149be565b600081600003614ac757506000919050565b60006001614ad484615576565b901c6001901b90506001818481614aed57614aed6163ba565b048201901c90506001818481614b0557614b056163ba565b048201901c90506001818481614b1d57614b1d6163ba565b048201901c90506001818481614b3557614b356163ba565b048201901c90506001818481614b4d57614b4d6163ba565b048201901c90506001818481614b6557614b656163ba565b048201901c90506001818481614b7d57614b7d6163ba565b048201901c905061113f81828581614b9757614b976163ba565b0461560a565b6000600160801b831115614c045760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b606482015260840161100e565b600160801b8210614c565760405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b604482015260640161100e565b60806001607f1b614c678486616415565b614c719190616346565b901c9392505050565b614c83816132a2565b614ce55760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161100e565b600080516020616fd683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b614d1d83615620565b600082511180614d2a5750805b15610f69576110c88383615660565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b038116610f325760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b604482015260640161100e565b6000818152607b6020526040812090600882015460ff166006811115614df857614df86157f6565b1480614e1c57506003600882015460ff166006811115614e1a57614e1a6157f6565b145b80614e3f57506004600882015460ff166006811115614e3d57614e3d6157f6565b145b80614e6257506006600882015460ff166006811115614e6057614e606157f6565b145b15610f4a5760088101546040516394d57ead60e01b815261100e91849160ff90911690600401616f5c565b6001600160a01b038116614eb457604051631a3e505160e31b815260040160405180910390fd5b6078546001600160a01b0316614edd57604051635df4b1ef60e01b815260040160405180910390fd5b614ee561195f565b6001600160a01b031663a230c524826040518263ffffffff1660e01b8152600401614f109190615cd7565b602060405180830381865afa158015614f2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614f519190616505565b61195c57604051636a5cfb6d60e01b815260040160405180910390fd5b6000805b825181101561502b57828181518110614f8d57614f8d616e3f565b60200260200101516000015160000315615019576000838281518110614fb557614fb5616e3f565b6020026020010151600001519050614fcc8161553d565b614fec5760405163c1d17bef60e01b81526004810182905260240161100e565b838281518110614ffe57614ffe616e3f565b602002602001015160200151836150159190616f79565b9250505b8061502381616639565b915050614f72565b50600061504061503a85612576565b83615685565b9050600061504c61195f565b6001600160a01b0316637817ee4f86306040518363ffffffff1660e01b81526004016150799291906164eb565b602060405180830381865afa158015615096573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906150ba9190616522565b9050808211156150e1578181604051636b20c17f60e11b815260040161100e92919061654b565b506001600160a01b039093166000908152607c60205260409020929092555050565b606060005b82518110156110c857600083828151811061512557615125616e3f565b60200260200101516000015190508251600003615181576040805160018082528183019092529060208083019080368337019050509250808360008151811061517057615170616e3f565b6020026020010181815250506152b4565b6000805b84518110156151e157828582815181106151a1576151a1616e3f565b6020026020010151036151cf57600191508281604051632b7aec5560e21b815260040161100e92919061654b565b806151d981616639565b915050615185565b50806152b2576000845160016151f79190616346565b6001600160401b0381111561520e5761520e615957565b604051908082528060200260200182016040528015615237578160200160208202803683370190505b50905060005b855181101561528f5785818151811061525857615258616e3f565b602002602001015182828151811061527257615272616e3f565b60209081029190910101528061528781616639565b91505061523d565b5082818651815181106152a4576152a4616e3f565b602090810291909101015293505b505b60008483815181106152c8576152c8616e3f565b6020908102919091018101518101516000848152607b835260408082206001600160a01b038b168352600981019094528120549193506153088285615685565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607d60205260409020548110156153a15784546001600160a01b038c166000908152607d6020526040902080548390811061537657615376616e3f565b90600052602060002001540361538f57600191506153a1565b8061539981616639565b91505061532a565b50806153d7576001600160a01b038a166000908152607d6020908152604082208654815460018101835591845291909220909101555b818311615427576153e88383616312565b607060008282546153f99190616346565b9091555061540990508383616312565b84600201600082825461541c9190616346565b9091555061546b9050565b6154318284616312565b607060008282546154429190616312565b9091555061545290508284616312565b8460020160008282546154659190616312565b90915550505b8360070154600003615482574360078501556154c2565b61548c84846132b1565b600080516020616ff68339815191528a8784876002015488600301546040516154b9959493929190616f2e565b60405180910390a15b50505050505080806154d390616639565b915050615108565b60008060008084865af1610f4a5763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d156001600051141716615533576390b8ec186000526004601cfd5b6000603452505050565b6000818152607b602052604081205415801590610f325750506000908152607b60205260409020600501546001600160a01b0316151590565b600080608083901c1561558b57608092831c92015b604083901c1561559d57604092831c92015b602083901c156155af57602092831c92015b601083901c156155c157601092831c92015b600883901c156155d357600892831c92015b600483901c156155e557600492831c92015b600283901c156155f757600292831c92015b600183901c15610f325760010192915050565b6000818310615619578161113f565b5090919050565b61562981614c7a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061113f8383604051806060016040528060278152602001617016602791396156bc565b6000806156928385616f79565b9050600081121561113f57838382604051631dde38a160e11b815260040161100e93929190616a06565b6060600080856001600160a01b0316856040516156d99190616f99565b600060405180830381855af49150503d8060008114615714576040519150601f19603f3d011682016040523d82523d6000602084013e615719565b606091505b509150915061572a86838387615734565b9695505050505050565b606083156157a157825160000361579a5761574e856132a2565b61579a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161100e565b5081614793565b61479383838151156157b65781518083602001fd5b8060405162461bcd60e51b815260040161100e91906162b5565b6000602082840312156157e257600080fd5b5035919050565b6001600160a01b03169052565b634e487b7160e01b600052602160045260246000fd5b6007811061195c5761195c6157f6565b60005b8381101561583757818101518382015260200161581f565b50506000910152565b6000815180845261585881602086016020860161581c565b601f01601f19169290920160200192915050565b8051825260006020820151604060208501526147936040850182615840565b60006101e08f83528e60208401528d60408401528c606084015260018060a01b03808d166080850152808c1660a0850152808b1660c08501528960e08501526158d38961580c565b88610100850152816101208501526158ed8285018961586c565b875161014086015260208801516101608601526040909701511661018084015250506101a08101929092526101c0909101529a9950505050505050505050565b60006020828403121561593f57600080fd5b81356001600160e01b03198116811461113f57600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b038111828210171561598f5761598f615957565b60405290565b604051608081016001600160401b038111828210171561598f5761598f615957565b60405161010081016001600160401b038111828210171561598f5761598f615957565b604080519081016001600160401b038111828210171561598f5761598f615957565b60405160a081016001600160401b038111828210171561598f5761598f615957565b604051601f8201601f191681016001600160401b0381118282101715615a4657615a46615957565b604052919050565b6001600160a01b038116811461195c57600080fd5b600060c08284031215615a7557600080fd5b615a7d61596d565b90508135615a8a81615a4e565b81526020820135615a9a81615a4e565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b600060808284031215615ae157600080fd5b615ae9615995565b90508135815260208201356020820152604082013560408201526060820135606082015292915050565b6000806101408385031215615b2757600080fd5b615b318484615a63565b9150615b408460c08501615acf565b90509250929050565b60006001600160401b03821115615b6257615b62615957565b5060051b60200190565b600082601f830112615b7d57600080fd5b81356020615b92615b8d83615b49565b615a1e565b82815260059290921b84018101918181019086841115615bb157600080fd5b8286015b84811015615bd5578035615bc881615a4e565b8352918301918301615bb5565b509695505050505050565b60006001600160401b03821115615bf957615bf9615957565b50601f01601f191660200190565b6000615c15615b8d84615be0565b9050828152838383011115615c2957600080fd5b828260208301376000602084830101529392505050565b600082601f830112615c5157600080fd5b61113f83833560208501615c07565b600080600060608486031215615c7557600080fd5b83356001600160401b0380821115615c8c57600080fd5b615c9887838801615b6c565b94506020860135915080821115615cae57600080fd5b50615cbb86828701615c40565b9250506040840135615ccc81615a4e565b809150509250925092565b6001600160a01b0391909116815260200190565b600080600060608486031215615d0057600080fd5b8335615d0b81615a4e565b92506020840135615d1b81615a4e565b91506040840135615ccc81615a4e565b60008060408385031215615d3e57600080fd5b82356001600160401b03811115615d5457600080fd5b615d6085828601615c40565b9250506020830135615d7181615a4e565b809150509250929050565b60048110615d8c57615d8c6157f6565b9052565b60208101610f328284615d7c565b60008060408385031215615db157600080fd5b8235615dbc81615a4e565b946020939093013593505050565b60008060408385031215615ddd57600080fd5b50508035926020909101359150565b600080600060608486031215615e0157600080fd5b505081359360208301359350604090920135919050565b60038110615d8c57615d8c6157f6565b60208101610f328284615e18565b600060208284031215615e4857600080fd5b813561113f81615a4e565b60008060408385031215615e6657600080fd5b8235615e7181615a4e565b915060208301356001600160401b03811115615e8c57600080fd5b615e9885828601615c40565b9150509250929050565b600080600060608486031215615eb757600080fd5b8335615ec281615a4e565b925060208401356001600160401b03811115615edd57600080fd5b8401601f81018613615eee57600080fd5b615cbb86823560208401615c07565b600060208284031215615f0f57600080fd5b81356001600160401b03811115615f2557600080fd5b61479384828501615b6c565b6000806000806101808587031215615f4857600080fd5b615f528686615a63565b9350615f618660c08701615acf565b92506101408501356001600160401b0380821115615f7e57600080fd5b615f8a88838901615b6c565b9350610160870135915080821115615fa157600080fd5b50615fae87828801615b6c565b91505092959194509250565b60208152600061113f602083018461586c565b60008060408385031215615fe057600080fd5b82356001600160401b0380821115615ff757600080fd5b61600386838701615b6c565b935060209150818501358181111561601a57600080fd5b8501601f8101871361602b57600080fd5b8035616039615b8d82615b49565b81815260059190911b8201840190848101908983111561605857600080fd5b8584015b83811015616090578035868111156160745760008081fd5b6160828c8983890101615c40565b84525091860191860161605c565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b828110156160ec57815180516001600160a01b031685528601518685015292840192908501906001016160be565b5091979650505050505050565b60008083601f84011261610b57600080fd5b5081356001600160401b0381111561612257600080fd5b6020830191508360208285010111156144bf57600080fd5b60008060008060006060868803121561615257600080fd5b8535945060208601356001600160401b038082111561617057600080fd5b61617c89838a016160f9565b9096509450604088013591508082111561619557600080fd5b506161a2888289016160f9565b969995985093965092949392505050565b801515811461195c57600080fd5b6000602082840312156161d357600080fd5b813561113f816161b3565b6001600160a01b038c811682528b811660208301528a166040820152606081018990526080810188905261016081016162168861580c565b8760a08301528660c08301528560e08301528461010083015283610120830152826101408301529c9b505050505050505050505050565b6000806040838503121561626057600080fd5b823591506020830135615d7181615a4e565b6020810161627f8361580c565b91905290565b6000806040838503121561629857600080fd5b8235915060208301356001600160401b03811115615e8c57600080fd5b60208152600061113f6020830184615840565b600181811c908216806162dc57607f821691505b602082108103611bed57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610f3257610f326162fc565b6001600160a01b039390931683526020830191909152604082015260600190565b80820180821115610f3257610f326162fc565b9283526001600160a01b03919091166020830152604082015260600190565b60006020828403121561638a57600080fd5b815161113f81615a4e565b9384526001600160a01b03928316602085015291166040830152606082015260800190565b634e487b7160e01b600052601260045260246000fd5b6000826163ed57634e487b7160e01b600052601260045260246000fd5b500490565b60006001600160401b0382168061640b5761640b6162fc565b6000190192915050565b8082028115828204841417610f3257610f326162fc565b6020808252602c90820152600080516020616fb683398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020616fb683398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0392831681529116602082015260400190565b60006020828403121561651757600080fd5b815161113f816161b3565b60006020828403121561653457600080fd5b5051919050565b805161654681615a4e565b919050565b918252602082015260400190565b9182526001600160a01b0316602082015260400190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8381526040602082015260006165b3604083018486616570565b95945050505050565b60006001600160401b038281166002600160401b031981016165e0576165e06162fc565b6001019392505050565b6001600160a01b03888116825260208201889052604082018790528516606082015260c0608082018190526000906166259083018587616570565b90508260a083015298975050505050505050565b60006001820161664b5761664b6162fc565b5060010190565b60006080828403121561666457600080fd5b61666c615995565b90508151815260208201516020820152604082015160408201526060820151606082015292915050565b80516003811061654657600080fd5b80516004811061654657600080fd5b6000602082840312156166c657600080fd5b604051602081016001600160401b03811182821017156166e8576166e8615957565b6040529151825250919050565b600060c0828403121561670757600080fd5b61670f61596d565b9050815161671c81615a4e565b8152602082015161672c81615a4e565b8060208301525060408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b600082601f83011261677257600080fd5b81516020616782615b8d83615b49565b82815260059290921b840181019181810190868411156167a157600080fd5b8286015b84811015615bd55780516167b881615a4e565b83529183019183016167a5565b6000602082840312156167d757600080fd5b81516001600160401b03808211156167ee57600080fd5b90830190610200828603121561680357600080fd5b61680b6159b7565b6168158684616652565b815261682360808401616696565b602082015261683460a084016166a5565b60408201526168468660c085016166b4565b60608201526168588660e085016166f5565b608082015261686a6101a0840161653b565b60a082015261687c6101c0840161653b565b60c08201526101e08301518281111561689457600080fd5b6168a087828601616761565b60e08301525095945050505050565b805182526020810151602083015260408101516040830152606081015160608301525050565b600081518084526020808501945080840160005b8381101561690e5781516001600160a01b0316875295820195908201906001016168e9565b509495945050505050565b828152604060208201526169316040820183516168af565b6000602083015161694560c0840182615e18565b50604083015161695860e0840182615d7c565b506060838101515161010084015260808085015180516001600160a01b039081166101208701526020820151166101408601526040810151610160860152918201516101808501528101516101a084015260a0908101516101c08401528301516169c66101e08401826157e9565b5060c08301516102006169db818501836157e9565b60e0850151915080610220850152506165b36102408401826168d5565b60808101610f3282846168af565b9283526020830191909152604082015260600190565b600060408284031215616a2e57600080fd5b616a366159da565b8251815260208301519091506001600160401b03811115616a5657600080fd5b8201601f81018413616a6757600080fd5b8051616a75615b8d82615be0565b818152856020838501011115616a8a57600080fd5b616a9b82602083016020860161581c565b602084015250909392505050565b600060208284031215616abb57600080fd5b81516001600160401b0380821115616ad257600080fd5b9083019060c08286031215616ae657600080fd5b616aee61596d565b825181526020830151616b0081615a4e565b60208201526040830151616b1381615a4e565b6040820152606083015182811115616b2a57600080fd5b616b3687828601616a1c565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b600060208284031215616b6e57600080fd5b81516001600160401b0380821115616b8557600080fd5b9083019060a08286031215616b9957600080fd5b616ba16159fc565b825181526020830151616bb381615a4e565b6020820152604083810151908201526060830151616bd081615a4e565b6060820152608083015182811115616be757600080fd5b616bf387828601616a1c565b60808301525095945050505050565b601f821115610f6957600081815260208120601f850160051c81016020861015616c295750805b601f850160051c820191505b81811015616c4857828155600101616c35565b505050505050565b81516001600160401b03811115616c6957616c69615957565b616c7d81616c7784546162c8565b84616c02565b602080601f831160018114616cb25760008415616c9a5750858301515b600019600386901b1c1916600185901b178555616c48565b600085815260208120601f198616915b82811015616ce157888601518255948401946001909101908401616cc2565b5085821015616cff5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215616d2157600080fd5b815160ff8116811461113f57600080fd5b600181815b80851115616d6d578160001904821115616d5357616d536162fc565b80851615616d6057918102915b93841c9390800290616d37565b509250929050565b600082616d8457506001610f32565b81616d9157506000610f32565b8160018114616da75760028114616db157616dcd565b6001915050610f32565b60ff841115616dc257616dc26162fc565b50506001821b610f32565b5060208310610133831016604e8410600b8410161715616df0575081810a610f32565b616dfa8383616d32565b8060001904821115616e0e57616e0e6162fc565b029392505050565b600061113f8383616d75565b6810531313d5d31254d560ba1b8152600981019190915260290190565b634e487b7160e01b600052603260045260246000fd5b82815260406020820152600061479360408301846168d5565b634e487b7160e01b600052600160045260246000fd5b60006020808385031215616e9757600080fd5b82516001600160401b03811115616ead57600080fd5b8301601f81018513616ebe57600080fd5b8051616ecc615b8d82615b49565b81815260069190911b82018301908381019087831115616eeb57600080fd5b928401925b82841015613a295760408489031215616f095760008081fd5b616f116159da565b845181528585015186820152825260409093019290840190616ef0565b6001600160a01b03959095168552602085019390935260408401919091526060830152608082015260a00190565b82815260408101616f6c8361580c565b8260208301529392505050565b8082018281126000831280158216821582161715613ad457613ad46162fc565b60008251616fab81846020870161581c565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212206e0b78f9a57310b9c3110f23f93be3b039c5e60639e3ebaff07fa61ccf7ca99b64736f6c63430008130033","sourceMap":"994:5500:99:-:0;;;1088:4:64;1045:48;;994:5500:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361061036e5760003560e01c8063013cf08b1461037757806301ffc9a7146103b9578063059351cd146103e9578063062f9ece146104765780630a6f0ee9146104965780630ba95909146104b65780630bece79c146104d55780630c0512e9146105025780630f529ba214610518578063125fd1d91461052f57806315cc481e14610545578063184b9559146105635780631aa91a9e146105835780631ddf1e23146105a35780632506b870146105b8578063255ffb38146105fb5780632bbe0cae146106285780632dbd6fdd1461063b5780632ed04b2b14610667578063311a6c561461068757806333960459146106a7578063346db8cb146106bd578063351d9f96146106dd5780633659cfe61461070457806338fff2d014610724578063406244d81461073957806341bb76051461074e57806342fda9c7146107ab57806348f19c1d146107c05780634ab4ba42146107d55780634d31d087146107ea5780634f1ef2861461080a57806352d1902d1461081d57806359a5db8b146108325780635db64b991461085257806360d5dedc1461087f578063626c47e81461089f5780636453d9c4146108b45780636a6f69b4146107c0578063715018a6146108d45780637263cfe2146108e9578063782aadff14610909578063814516ad14610929578063817b1cd21461093e578063824ea8ed14610954578063868c57b8146109745780638da5cb5b14610994578063948e7a59146109a9578063950559d7146109c95780639a1c157c146109e9578063a0cf0aea146109fe578063a28889e114610a26578063a47ff7e514610a5e578063a51312c814610a75578063a574cea414610a95578063aba9ffee14610ac2578063ac1ed7b914610ad8578063b0d3713a14610af8578063b2b878d014610b18578063b41596ec14610b45578063b5f620ce14610b58578063b6c61f3114610b78578063bcc5b93b14610b98578063c329217114610bb8578063c4d66de814610bd5578063c7f758a814610bf5578063d1e3623214610c2c578063dc96ff2d14610c41578063df868ed314610c71578063e0a8f6f514610c86578063e0dd2c3814610ca6578063eb11af9314610cc6578063edd146cc14610cee578063ef2920fc14610d0e578063f2fde38b14610d21578063f5b0dfb714610d41578063f5be3f7c14610d61578063ffa1ad7414610d7757005b3661037557005b005b34801561038357600080fd5b506103976103923660046157d0565b610db3565b6040516103b09d9c9b9a9998979695949392919061588b565b60405180910390f35b3480156103c557600080fd5b506103d96103d436600461592d565b610f01565b60405190151581526020016103b0565b3480156103f557600080fd5b5061043e606f546000908152607f60205260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169694909316949193909290565b604080516001600160a01b039788168152969095166020870152938501929092526060840152608083015260a082015260c0016103b0565b34801561048257600080fd5b50610375610491366004615b13565b610f38565b3480156104a257600080fd5b506103756104b1366004615c60565b610f4e565b3480156104c257600080fd5b506077545b6040519081526020016103b0565b3480156104e157600080fd5b506079546104f5906001600160a01b031681565b6040516103b09190615cd7565b34801561050e57600080fd5b506104c7606e5481565b34801561052457600080fd5b506104c76298968081565b34801561053b57600080fd5b506104c7606f5481565b34801561055157600080fd5b506065546001600160a01b03166104f5565b34801561056f57600080fd5b5061037561057e366004615ceb565b610f6e565b34801561058f57600080fd5b506104c761059e3660046157d0565b6110ce565b3480156105af57600080fd5b50610375611118565b3480156105c457600080fd5b506072546073546074546075546105db9392919084565b6040805194855260208501939093529183015260608201526080016103b0565b34801561060757600080fd5b506104c76106163660046157d0565b607e6020526000908152604090205481565b6104f5610636366004615d2b565b611123565b34801561064757600080fd5b5060765461065a90610100900460ff1681565b6040516103b09190615d90565b34801561067357600080fd5b506104c7610682366004615d9e565b611146565b34801561069357600080fd5b506103756106a2366004615dca565b61120a565b3480156106b357600080fd5b506104c7606c5481565b3480156106c957600080fd5b506104c76106d8366004615dec565b6117fc565b3480156106e957600080fd5b506076546106f79060ff1681565b6040516103b09190615e28565b34801561071057600080fd5b5061037561071f366004615e36565b611897565b34801561073057600080fd5b506068546104c7565b34801561074557600080fd5b506104c7600a81565b34801561075a57600080fd5b5061043e6107693660046157d0565b607f602052600090815260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169593909416939192909186565b3480156107b757600080fd5b506066546104c7565b3480156107cc57600080fd5b506104f561195f565b3480156107e157600080fd5b506069546104c7565b3480156107f657600080fd5b506103d9610805366004615e36565b61196e565b610375610818366004615e53565b611976565b34801561082957600080fd5b506104c7611a2b565b34801561083e57600080fd5b506104c761084d3660046157d0565b611ad9565b34801561085e57600080fd5b506104c761086d366004615e36565b607c6020526000908152604090205481565b34801561088b57600080fd5b5061037561089a366004615ea2565b611bf3565b3480156108ab57600080fd5b506104c7600381565b3480156108c057600080fd5b506103756108cf366004615e36565b611c6f565b3480156108e057600080fd5b50610375611c80565b3480156108f557600080fd5b50610375610904366004615efd565b611c92565b34801561091557600080fd5b506104c7610924366004615d9e565b611ca3565b34801561093557600080fd5b50610375611e39565b34801561094a57600080fd5b506104c760705481565b34801561096057600080fd5b506103d961096f3660046157d0565b611f56565b34801561098057600080fd5b506104c761098f366004615d9e565b611fb3565b3480156109a057600080fd5b506104f5611fe4565b3480156109b557600080fd5b506103756109c4366004615f31565b612075565b3480156109d557600080fd5b506104c76109e43660046157d0565b612089565b3480156109f557600080fd5b506074546104c7565b348015610a0a57600080fd5b506104f573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b348015610a3257600080fd5b50606d54610a46906001600160401b031681565b6040516001600160401b0390911681526020016103b0565b348015610a6a57600080fd5b506077546104c79081565b348015610a8157600080fd5b50610375610a90366004615efd565b6120b3565b348015610aa157600080fd5b50610ab5610ab03660046157d0565b6120c4565b6040516103b09190615fba565b348015610ace57600080fd5b506104c760715481565b348015610ae457600080fd5b50610375610af3366004615e36565b6121a3565b348015610b0457600080fd5b50610375610b13366004615e36565b6121d6565b348015610b2457600080fd5b50610b38610b33366004615fcd565b612200565b6040516103b091906160a1565b6104c7610b5336600461613a565b61221b565b348015610b6457600080fd5b50610375610b733660046161c1565b61256d565b348015610b8457600080fd5b50607a546104f5906001600160a01b031681565b348015610ba457600080fd5b506104c7610bb3366004615e36565b612576565b348015610bc457600080fd5b50607654610100900460ff1661065a565b348015610be157600080fd5b50610375610bf0366004615e36565b612591565b348015610c0157600080fd5b50610c15610c103660046157d0565b6125c1565b6040516103b09b9a999897969594939291906161de565b348015610c3857600080fd5b506071546104c7565b348015610c4d57600080fd5b506104c7610c5c3660046157d0565b6000908152607b602052604090206002015490565b348015610c7d57600080fd5b506103d96126cd565b348015610c9257600080fd5b50610375610ca13660046157d0565b6126e0565b348015610cb257600080fd5b506104c7610cc136600461624d565b612865565b348015610cd257600080fd5b50610ce1610805366004615e36565b6040516103b09190616272565b348015610cfa57600080fd5b50610375610d09366004616285565b612890565b610375610d1c366004615d2b565b612a81565b348015610d2d57600080fd5b50610375610d3c366004615e36565b612aa5565b348015610d4d57600080fd5b50610375610d5c3660046157d0565b612b12565b348015610d6d57600080fd5b506104c7611c2081565b348015610d8357600080fd5b50610da6604051806040016040528060038152602001620302e360ec1b81525081565b6040516103b091906162b5565b607b602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610e3a906162c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610e66906162c8565b8015610eb35780601f10610e8857610100808354040283529160200191610eb3565b820191906000526020600020905b815481529060010190602001808311610e9657829003601f168201915b50505091909252505060408051606081018252600c8501548152600d8501546020820152600e8501546001600160a01b031691810191909152600f840154601090940154929390929091508d565b60006001600160e01b0319821663f1801e6160e01b1480610f3257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610f40612b3b565b610f4a8282612bd5565b5050565b610f56612f4a565b610f5e612f75565b610f69838383612f98565b505050565b600054610100900460ff1615808015610f8e5750600054600160ff909116105b80610faf5750610f9d306132a2565b158015610faf575060005460ff166001145b6110175760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801561103a576000805461ff0019166101001790555b611067846040518060400160405280600a8152602001694356537472617465677960b01b81525084611bf3565b606a80546001600160a01b0319166001600160a01b03851617905580156110c8576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b6000818152607b60205260408120805483146111005760405163c1d17bef60e01b81526004810184905260240161100e565b61110e8182600201546132b1565b6003015492915050565b611121336132ec565b565b600061112d612f4a565b611135612f75565b61113f8383613418565b9392505050565b6000611150613806565b60006002607654610100900460ff166003811115611170576111706157f6565b148061119757506001607654610100900460ff166003811115611195576111956157f6565b145b156111a35750816111b0565b6111ad8484613831565b90505b80607160008282546111c29190616312565b90915550506040517f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1906111fb90869086908590616325565b60405180910390a19392505050565b6000828152607e6020908152604080832054808452607b835281842060108101548552607f8452828520835160c08101855281546001600160a01b03908116825260018301541695810195909552600281015493850193909352600383015460608501526004830154608085015260059092015460a0840152929091908390036112aa5760405163c1d17bef60e01b81526004810184905260240161100e565b6005600883015460ff1660068111156112c5576112c56157f6565b146112e657604051634b011ca960e11b81526004810184905260240161100e565b60a0810151600d8301546000916112fc91616346565b42119050801581611317575081516001600160a01b03163314155b1561133557604051631777988560e11b815260040160405180910390fd5b808061133f575084155b1561148857816080015160000361136957604051630dd466dd60e41b815260040160405180910390fd5b81608001516001036113855760088301805460ff191660011790555b81608001516002036114125760088301805460ff191660061790556079546005840154604084810151905163099ea56b60e41b81526001600160a01b03938416936399ea56b0936113df938a939290911691600401616359565b600060405180830381600087803b1580156113f957600080fd5b505af115801561140d573d6000803e3d6000fd5b505050505b607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b093611451938a939290911691600401616359565b600060405180830381600087803b15801561146b57600080fd5b505af115801561147f573d6000803e3d6000fd5b50505050611765565b846001036115495760088301805460ff19166001179055607954600e8401546001600160a01b0391821691638969ab53918791166114c461195f565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115259190616378565b86606001516040518563ffffffff1660e01b81526004016114519493929190616395565b846002036117655760088301805460ff19166006179055607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b09361159f938a939290911691600401616359565b600060405180830381600087803b1580156115b957600080fd5b505af11580156115cd573d6000803e3d6000fd5b505060795460058601546001600160a01b039182169350638969ab5392508791166115f661195f565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611633573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116579190616378565b606f546000908152607f6020526040902060029081015461167891906163d0565b6040518563ffffffff1660e01b81526004016116979493929190616395565b600060405180830381600087803b1580156116b157600080fd5b505af11580156116c5573d6000803e3d6000fd5b50506079546005860154600e870154606f546000908152607f602052604090206002908101546001600160a01b039485169650638969ab5395508a94938416939092169161171391906163d0565b6040518563ffffffff1660e01b81526004016117329493929190616395565b600060405180830381600087803b15801561174c57600080fd5b505af1158015611760573d6000803e3d6000fd5b505050505b606d80546001600160401b031690600061177e836163f2565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550504283600f01819055508582600001516001600160a01b03167f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e75622276876040516117ec91815260200190565b60405180910390a3505050505050565b607454600090849082906118219061181b90629896809060801b6163d0565b83613a34565b905060806001607f1b6072600201546298968061183e9190616312565b61184c84600160801b616312565b6118596298968089616415565b6118639190616415565b61186d91906163d0565b6118778885616415565b6118819190616346565b61188b9190616346565b901c9695505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036118df5760405162461bcd60e51b815260040161100e9061642c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611911613adc565b6001600160a01b0316146119375760405162461bcd60e51b815260040161100e90616466565b61194081613af8565b6040805160008082526020820190925261195c91839190613b33565b50565b6078546001600160a01b031690565b600080610f32565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036119be5760405162461bcd60e51b815260040161100e9061642c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166119f0613adc565b6001600160a01b031614611a165760405162461bcd60e51b815260040161100e90616466565b611a1f82613af8565b610f4a82826001613b33565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611ac65760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840161100e565b50600080516020616fd683398151915290565b60008060695411611afd5760405163ed4421ad60e01b815260040160405180910390fd5b611b0682613c9e565b15611b2457604051630efd728560e21b815260040160405180910390fd5b606954600090611b3884600160401b616415565b611b4291906163d0565b6072546298968090611b5890600160401b616415565b611b6291906163d0565b611b6c9190616312565b90506040611b7960715490565b607454611b899062989680616312565b629896806040611b998680616415565b607354911c90611bb090629896809060801b6163d0565b611bba91906163d0565b611bc49190616415565b611bce91906163d0565b611bd89190616415565b607554911c92508211611bed5760755461113f565b50919050565b600054610100900460ff16611c1a5760405162461bcd60e51b815260040161100e906164a0565b611c2381612591565b606580546001600160a01b0319166001600160a01b038516179055604051611c4f9083906020016162b5565b60408051601f198184030181529190528051602090910120606655505050565b611c77613806565b61195c816132ec565b611c88613cc5565b6111216000613d24565b611c9a612b3b565b61195c81613d76565b6000611cad613806565b611cb683614016565b611cd357604051630b72d6b160e31b815260040160405180910390fd5b60006002607654610100900460ff166003811115611cf357611cf36157f6565b03611d0157825b9050611d5e565b6001607654610100900460ff166003811115611d1f57611d1f6157f6565b03611d2e57611cfa84846141c4565b6003607654610100900460ff166003811115611d4c57611d4c6157f6565b03611d5e57611d5b848461426d565b90505b6000611d6861195f565b6001600160a01b031663477a5cc086306040518363ffffffff1660e01b8152600401611d959291906164eb565b602060405180830381865afa158015611db2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dd69190616505565b90508015611df6578160716000828254611df09190616346565b90915550505b7f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a858584604051611e2993929190616325565b60405180910390a1509392505050565b33611e4381614016565b611e6057604051630b72d6b160e31b815260040160405180910390fd5b611e6861195f565b6001600160a01b0316630d4a8b4982306040518363ffffffff1660e01b8152600401611e959291906164eb565b600060405180830381600087803b158015611eaf57600080fd5b505af1158015611ec3573d6000803e3d6000fd5b50505050611ecf61195f565b6001600160a01b0316637817ee4f82306040518363ffffffff1660e01b8152600401611efc9291906164eb565b602060405180830381865afa158015611f19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f3d9190616522565b60716000828254611f4e9190616346565b909155505050565b6000818152607b60205260408120600281015482908190611f7890849061446e565b91509150816000148015611f8a575080155b15611f9757826003015491505b6000611fa68460010154611ad9565b9092101595945050505050565b607d6020528160005260406000208181548110611fcf57600080fd5b90600052602060002001600091509150505481565b600080611ff96033546001600160a01b031690565b9050806001600160a01b03163b60000361201257919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561206c575060408051601f3d908101601f1916820190925261206991810190616378565b60015b610f3257919050565b61207d612b3b565b6110c8848484846144c6565b60745460009061209c9062989680616312565b6120a96298968084616415565b610f3291906163d0565b6120bb612b3b565b61195c816144de565b6040805180820190915260008152606060208201526000607b6000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054612119906162c8565b80601f0160208091040260200160405190810160405280929190818152602001828054612145906162c8565b80156121925780601f1061216757610100808354040283529160200191612192565b820191906000526020600020905b81548152906001019060200180831161217557829003601f168201915b505050505081525050915050919050565b6121ab612b3b565b6121b481614695565b607a80546001600160a01b0319166001600160a01b0392909216919091179055565b6121de613cc5565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b606060405163d623472560e01b815260040160405180910390fd5b6000858152607b6020908152604080832060108101548452607f8352818420825160c08101845281546001600160a01b0390811680835260018401549091169582019590955260028201549381019390935260038101546060840152600481015460808401526005015460a0830152916122a857604051636c291fd360e01b815260040160405180910390fd5b815488146122cc5760405163c1d17bef60e01b81526004810189905260240161100e565b6001600883015460ff1660068111156122e7576122e76157f6565b14612308576040516344980d8f60e01b81526004810189905260240161100e565b8060600151341015612334576060810151604051632c1f8ef160e21b815261100e91349160040161654b565b600f82015415801590612357575042611c2083600f01546123559190616346565b115b15612395578742611c2084600f01546123709190616346565b61237a9190616312565b604051638d2f6c3160e01b815260040161100e92919061654b565b60008160600151346123a79190616312565b607954606084015160405163240ff7c560e11b81529293506001600160a01b039091169163481fef8a91906123e2908d903390600401616559565b6000604051808303818588803b1580156123fb57600080fd5b505af115801561240f573d6000803e3d6000fd5b5050845160405163c13517e160e01b81526001600160a01b03909116935063c13517e1925084915061244a906003908b908b90600401616599565b60206040518083038185885af1158015612468573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061248d9190616522565b60088401805491955060059160ff19166001830217905550600c830184905542600d840155600e830180546001600160a01b031916331790556000848152607e602052604081208a9055606d80546001600160401b0316916124ee836165bc565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550507f034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d82600001518a86338c8c89600c016001015460405161255997969594939291906165ea565b60405180910390a150505095945050505050565b61195c816146bc565b6001600160a01b03166000908152607c602052604090205490565b600054610100900460ff166125b85760405162461bcd60e51b815260040161100e906164a0565b61195c81613d24565b600080600080600080600080600080600080607b60008e815260200190815260200160002090508060010154600014612606576126018160010154611ad9565b612609565b60005b93508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548b896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020548a601001549b509b509b509b509b509b509b509b509b509b509b505091939597999b90929496989a50565b60006126db60675460ff1690565b905090565b60016000828152607b602052604090206008015460ff166006811115612708576127086157f6565b14612729576040516344980d8f60e01b81526004810182905260240161100e565b6000818152607b60205260409020600501546001600160a01b03163314612782576000818152607b602052604090819020600501549051634544dc9160e11b815261100e916001600160a01b03169033906004016164eb565b6079546000828152607b6020908152604080832060058101546010909101548452607f9092529182902060020154915163099ea56b60e41b81526001600160a01b03938416936399ea56b0936127df938793921691600401616359565b600060405180830381600087803b1580156127f957600080fd5b505af115801561280d573d6000803e3d6000fd5b5050506000828152607b6020908152604091829020600801805460ff1916600317905590518381527f416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c9250015b60405180910390a150565b6000828152607b602090815260408083206001600160a01b038516845260090190915281205461113f565b612898612f4a565b6128a1826146fd565b606a54606c80546128ca926001600160a01b03169160006128c183616639565b9190505561474c565b607980546001600160a01b0319166001600160a01b039290921691821790556040805163204a7f0760e21b81529051638129fc1c9160048082019260009290919082900301818387803b15801561292057600080fd5b505af1158015612934573d6000803e3d6000fd5b5050505060008180602001905181019061294e91906167c5565b60a08101519091506001600160a01b031661297c57604051635df4b1ef60e01b815260040160405180910390fd5b60a0810151607880546001600160a01b0319166001600160a01b0390921691909117905560208101516076805460ff191660018360028111156129c1576129c16157f6565b021790555060408101516076805461ff0019166101008360038111156129e9576129e96157f6565b021790555060608101515160775560c0810151607a80546001600160a01b0319166001600160a01b039092169190911790556080810151815160408051600080825260208201908152818301909252612a439392916144c6565b7fa489767af337c1767e9c6949fc5a6d3a73bb69ea80a3e619c2e08b7b308d0bcf8382604051612a74929190616919565b60405180910390a1505050565b612a89612f4a565b612a91612f75565b612a9b828261479b565b610f4a82826147f7565b612aad613cc5565b6001600160a01b0381166125b85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161100e565b612b1a612f4a565b8060696000828254612b2c9190616346565b9091555061195c9050816148ea565b612b4361195f565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ba49190616378565b6001600160a01b0316336001600160a01b03161461112157604051637430763f60e11b815260040160405180910390fd5b60208201516001600160a01b031615801590612bfa575081516001600160a01b031615155b8015612ce35750606f546000908152607f6020908152604090912060010154908301516001600160a01b039081169116141580612c565750606f546000908152607f602052604090205482516001600160a01b03908116911614155b80612c7a5750606f546000908152607f602052604090819020600201549083015114155b80612c9d5750606f546000908152607f6020526040902060030154606083015114155b80612cc05750606f546000908152607f6020526040902060040154608083015114155b80612ce35750606f546000908152607f602052604090206005015460a083015114155b15612ef257602080830151606f546000908152607f9092526040909120600101546001600160a01b039081169116141580612d3d57508151606f546000908152607f60205260409020546001600160a01b03908116911614155b15612e06578151602083015160405163446adb9960e11b81526001600160a01b03909216916388d5b73291612d7491600401615cd7565b600060405180830381600087803b158015612d8e57600080fd5b505af1158015612da2573d6000803e3d6000fd5b5050835160208501516040517fdc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f9450612dfd9350309291906001600160a01b0393841681529183166020830152909116604082015260600190565b60405180910390a15b606f8054906000612e1683616639565b9091555050606f80546000908152607f6020908152604091829020855181546001600160a01b03199081166001600160a01b03928316908117845588850151600185018054909316931692831790915587850151600284018190556060808a0151600386018190556080808c01516004880181905560a0808e015160059099018990559a548a519081529889019590955297870194909452850152938301529281019190915260c08101919091527fe677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d539060e00160405180910390a15b805160725560208101516073556040808201516074556060820151607555517fec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc90612f3e9083906169f8565b60405180910390a15050565b6065546001600160a01b031633146111215760405163075fd2b160e01b815260040160405180910390fd5b60685460000361112157604051630f68fe6360e21b815260040160405180910390fd5b6000825111612fba57604051630317df1360e61b815260040160405180910390fd5b600082806020019051810190612fd09190616522565b905080600003612ff35760405163f881a10d60e01b815260040160405180910390fd5b6000818152607b60205260409020600160765460ff16600281111561301a5761301a6157f6565b0361329b57805482146130435760405163c1d17bef60e01b81526004810183905260240161100e565b6069548160010154111561307657818160010154606954604051632c31d85b60e11b815260040161100e93929190616a06565b6001600882015460ff166006811115613091576130916157f6565b146130b2576040516344980d8f60e01b81526004810183905260240161100e565b60006130bd836110ce565b905060006130ce8360010154611ad9565b905080821080156130e3575060008360010154115b156131015760405163199cf26160e31b815260040160405180910390fd5b60655460685460405163068bcd8d60e01b815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561314f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526131779190810190616aa9565b905083600101546069600082825461318f9190616312565b90915550506040810151600485015460018601546131b792916001600160a01b03169061491a565b60088401805460ff191660049081179091556079546005860154606f546000908152607f60205260409081902060020154905163099ea56b60e41b81526001600160a01b03938416946399ea56b094613217948c94911692909101616359565b600060405180830381600087803b15801561323157600080fd5b505af1158015613245573d6000803e3d6000fd5b505050600485015460018601546040517fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847935061328f9289926001600160a01b0390911691616359565b60405180910390a15050505b5050505050565b6001600160a01b03163b151590565b6000806132be848461446e565b915091508160001480156132d0575080155b156132db5750505050565b600784015560039092019190915550565b6132f461195f565b6001600160a01b0316637817ee4f82306040518363ffffffff1660e01b81526004016133219291906164eb565b602060405180830381865afa15801561333e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133629190616522565b607160008282546133739190616312565b90915550613381905061195f565b6001600160a01b03166322bcf99982306040518363ffffffff1660e01b81526004016133ae9291906164eb565b600060405180830381600087803b1580156133c857600080fd5b505af11580156133dc573d6000803e3d6000fd5b505050506133e981614954565b7f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b8160405161285a9190615cd7565b600061342382614016565b61344057604051630b72d6b160e31b815260040160405180910390fd5b6000838060200190518101906134569190616b5c565b805190915060000361347b5760405163273c8bc360e11b815260040160405180910390fd5b600160765460ff166002811115613494576134946157f6565b03613615576134a68160200151614695565b60608101516001600160a01b03166134d15760405163165a825360e21b815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613511573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135359190616378565b825160405163068bcd8d60e01b815260048101919091529091506000906001600160a01b0383169063068bcd8d90602401600060405180830381865afa158015613583573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526135ab9190810190616aa9565b905080604001516001600160a01b031683606001516001600160a01b0316146135e75760405163514e24c360e11b815260040160405180910390fd5b6135f48360400151613c9e565b1561361257604051630efd728560e21b815260040160405180910390fd5b50505b606f546000908152607f60205260409020546001600160a01b0316158015906136515750606f546000908152607f602052604090206002015434105b1561368757606f546000908152607f602052604090819020600201549051632c1f8ef160e21b815261100e91349160040161654b565b6000606e6000815461369890616639565b91829055506000818152607b602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b84019061374c9082616c50565b5050606f54601083015550607954600582015460405163240ff7c560e11b81526001600160a01b039283169263481fef8a9234926137909288921690600401616559565b6000604051808303818588803b1580156137a957600080fd5b505af11580156137bd573d6000803e3d6000fd5b50505050507ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b606854836040516137f592919061654b565b60405180910390a150949350505050565b6078546001600160a01b03163314611121576040516357848b5160e11b815260040160405180910390fd5b6000601261383d61195f565b6001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561387a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061389e9190616378565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156138f7575060408051601f3d908101601f191682019092526138f491810190616d0f565b60015b156139025760ff1690505b60008361390d61195f565b6001600160a01b0316632c611c4a876040518263ffffffff1660e01b81526004016139389190615cd7565b602060405180830381865afa158015613955573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139799190616522565b6139839190616312565b905060006139a461399584600a616e16565b61399f9084616415565b614ab5565b90506000816139b161195f565b6001600160a01b0316637817ee4f89306040518363ffffffff1660e01b81526004016139de9291906164eb565b602060405180830381865afa1580156139fb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a1f9190616522565b613a299190616312565b979650505050505050565b6000600160801b8310613a885760405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b604482015260640161100e565b50600160801b82825b8015613ad45780600116600003613ab657613aac8283614b9d565b915060011c613a91565b613ac08383614b9d565b9250613acd600182616312565b9050613a91565b505092915050565b600080516020616fd6833981519152546001600160a01b031690565b33613b01611fe4565b6001600160a01b03161461195c5733613b18611fe4565b60405163163678e960e01b815260040161100e9291906164eb565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615613b6657610f6983614c7a565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613bc0575060408051601f3d908101601f19168201909252613bbd91810190616522565b60015b613c235760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161100e565b600080516020616fd68339815191528114613c925760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161100e565b50610f69838383614d14565b6000613cad6298968083616415565b606954607254613cbd9190616415565b111592915050565b33613cce611fe4565b6001600160a01b0316146111215760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161100e565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000606854604051602001613d8b9190616e22565b604051602081830303815290604052805190602001209050613dab61195f565b6001600160a01b03166391d148548260006040518363ffffffff1660e01b8152600401613dd9929190616559565b602060405180830381865afa158015613df6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e1a9190616505565b15613e8857613e2761195f565b6001600160a01b031663d547741f8260006040518363ffffffff1660e01b8152600401613e55929190616559565b600060405180830381600087803b158015613e6f57600080fd5b505af1158015613e83573d6000803e3d6000fd5b505050505b60005b8251811015613fe257613e9c61195f565b6001600160a01b03166391d1485483858481518110613ebd57613ebd616e3f565b60200260200101516040518363ffffffff1660e01b8152600401613ee2929190616559565b602060405180830381865afa158015613eff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f239190616505565b613fd057613f2f61195f565b6001600160a01b0316632f2ff15d606854604051602001613f509190616e22565b60405160208183030381529060405280519060200120858481518110613f7857613f78616e3f565b60200260200101516040518363ffffffff1660e01b8152600401613f9d929190616559565b600060405180830381600087803b158015613fb757600080fd5b505af1158015613fcb573d6000803e3d6000fd5b505050505b80613fda81616639565b915050613e8b565b507f7a2e396a5614184c0af2c60827c206595126faa1238b94e19823192de52e728a60685483604051612f3e929190616e55565b607a546000906001600160a01b031661415157600060685460405160200161403e9190616e22565b60405160208183030381529060405280519060200120905061405e61195f565b6001600160a01b03166391d148548260006040518363ffffffff1660e01b815260040161408c929190616559565b602060405180830381865afa1580156140a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140cd9190616505565b156140db5750600192915050565b6140e361195f565b6001600160a01b03166391d1485482856040518363ffffffff1660e01b8152600401614110929190616559565b602060405180830381865afa15801561412d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113f9190616505565b607a546040516302154c3d60e51b81526001600160a01b03909116906342a987a09061418390859030906004016164eb565b602060405180830381865afa1580156141a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f329190616505565b600081816141d061195f565b6001600160a01b0316637817ee4f86306040518363ffffffff1660e01b81526004016141fd9291906164eb565b602060405180830381865afa15801561421a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061423e9190616522565b60775490915061424e8383616346565b111561426557607754614262908290616312565b91505b509392505050565b6000808261427961195f565b6001600160a01b0316632c611c4a866040518263ffffffff1660e01b81526004016142a49190615cd7565b602060405180830381865afa1580156142c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142e59190616522565b6142ef9190616346565b905060126142fb61195f565b6001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015614338573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061435c9190616378565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156143b5575060408051601f3d908101601f191682019092526143b291810190616d0f565b60015b156143c05760ff1690505b60006143da6143d083600a616e16565b61399f9085616415565b905060006143e661195f565b6001600160a01b0316637817ee4f88306040518363ffffffff1660e01b81526004016144139291906164eb565b602060405180830381865afa158015614430573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144549190616522565b905060006144628284616312565b98975050505050505050565b600080439050808460070154111561448857614488616e6e565b8084600701540361449e575060009050806144bf565b6144bc8460070154826144b19190616312565b8560030154856117fc565b91505b9250929050565b6144d08484612bd5565b6144d982613d76565b6110c8815b60005b8151811015614661576144f261195f565b6001600160a01b03166391d148546068546040516020016145139190616e22565b6040516020818303038152906040528051906020012084848151811061453b5761453b616e3f565b60200260200101516040518363ffffffff1660e01b8152600401614560929190616559565b602060405180830381865afa15801561457d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145a19190616505565b1561464f576145ae61195f565b6001600160a01b031663d547741f6068546040516020016145cf9190616e22565b604051602081830303815290604052805190602001208484815181106145f7576145f7616e3f565b60200260200101516040518363ffffffff1660e01b815260040161461c929190616559565b600060405180830381600087803b15801561463657600080fd5b505af115801561464a573d6000803e3d6000fd5b505050505b8061465981616639565b9150506144e1565b507fd418c93b6b78d828a87ee1909e6fcdbbf2f8d8f540ad7b232bb3e221e6d7cc1e6068548260405161285a929190616e55565b6001600160a01b03811661195c576040516303988b8160e61b815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200161285a565b614705612f4a565b606854156147265760405163439a74c960e01b815260040160405180910390fd5b8060000361474757604051637fcce2a960e01b815260040160405180910390fd5b606855565b6040516001600160601b03193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506147938482614d39565b949350505050565b6000828060200190518101906147b19190616e84565b905060005b81518110156110c8576147e58282815181106147d4576147d4616e3f565b602002602001015160000151614dd0565b806147ef81616639565b9150506147b6565b61480081614e8d565b61480981614016565b61482657604051630b72d6b160e31b815260040160405180910390fd5b600061483061195f565b6001600160a01b031663477a5cc083306040518363ffffffff1660e01b815260040161485d9291906164eb565b602060405180830381865afa15801561487a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061489e9190616505565b9050806148be57604051635fccb67f60e01b815260040160405180910390fd5b6000838060200190518101906148d49190616e84565b90506148e08382614f6e565b6110c88382615103565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f763399060200161285a565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161494957610f6982826154db565b610f698383836154f7565b6001600160a01b0381166000908152607d60209081526040808320805482518185028101850190935280835291929091908301828280156149b457602002820191906000526020600020905b8154815260200190600101908083116149a0575b5050505050905060005b8151811015610f695760008282815181106149db576149db616e3f565b602002602001015190506000607b60008381526020019081526020016000209050614a058261553d565b15614aa0576001600160a01b0385166000908152600982016020526040812080549082905560028301805491928392614a3f908490616312565b925050819055508060706000828254614a589190616312565b90915550614a68905082826132b1565b600080516020616ff68339815191528684600085600201548660030154604051614a96959493929190616f2e565b60405180910390a1505b50508080614aad90616639565b9150506149be565b600081600003614ac757506000919050565b60006001614ad484615576565b901c6001901b90506001818481614aed57614aed6163ba565b048201901c90506001818481614b0557614b056163ba565b048201901c90506001818481614b1d57614b1d6163ba565b048201901c90506001818481614b3557614b356163ba565b048201901c90506001818481614b4d57614b4d6163ba565b048201901c90506001818481614b6557614b656163ba565b048201901c90506001818481614b7d57614b7d6163ba565b048201901c905061113f81828581614b9757614b976163ba565b0461560a565b6000600160801b831115614c045760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b606482015260840161100e565b600160801b8210614c565760405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b604482015260640161100e565b60806001607f1b614c678486616415565b614c719190616346565b901c9392505050565b614c83816132a2565b614ce55760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161100e565b600080516020616fd683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b614d1d83615620565b600082511180614d2a5750805b15610f69576110c88383615660565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b038116610f325760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b604482015260640161100e565b6000818152607b6020526040812090600882015460ff166006811115614df857614df86157f6565b1480614e1c57506003600882015460ff166006811115614e1a57614e1a6157f6565b145b80614e3f57506004600882015460ff166006811115614e3d57614e3d6157f6565b145b80614e6257506006600882015460ff166006811115614e6057614e606157f6565b145b15610f4a5760088101546040516394d57ead60e01b815261100e91849160ff90911690600401616f5c565b6001600160a01b038116614eb457604051631a3e505160e31b815260040160405180910390fd5b6078546001600160a01b0316614edd57604051635df4b1ef60e01b815260040160405180910390fd5b614ee561195f565b6001600160a01b031663a230c524826040518263ffffffff1660e01b8152600401614f109190615cd7565b602060405180830381865afa158015614f2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614f519190616505565b61195c57604051636a5cfb6d60e01b815260040160405180910390fd5b6000805b825181101561502b57828181518110614f8d57614f8d616e3f565b60200260200101516000015160000315615019576000838281518110614fb557614fb5616e3f565b6020026020010151600001519050614fcc8161553d565b614fec5760405163c1d17bef60e01b81526004810182905260240161100e565b838281518110614ffe57614ffe616e3f565b602002602001015160200151836150159190616f79565b9250505b8061502381616639565b915050614f72565b50600061504061503a85612576565b83615685565b9050600061504c61195f565b6001600160a01b0316637817ee4f86306040518363ffffffff1660e01b81526004016150799291906164eb565b602060405180830381865afa158015615096573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906150ba9190616522565b9050808211156150e1578181604051636b20c17f60e11b815260040161100e92919061654b565b506001600160a01b039093166000908152607c60205260409020929092555050565b606060005b82518110156110c857600083828151811061512557615125616e3f565b60200260200101516000015190508251600003615181576040805160018082528183019092529060208083019080368337019050509250808360008151811061517057615170616e3f565b6020026020010181815250506152b4565b6000805b84518110156151e157828582815181106151a1576151a1616e3f565b6020026020010151036151cf57600191508281604051632b7aec5560e21b815260040161100e92919061654b565b806151d981616639565b915050615185565b50806152b2576000845160016151f79190616346565b6001600160401b0381111561520e5761520e615957565b604051908082528060200260200182016040528015615237578160200160208202803683370190505b50905060005b855181101561528f5785818151811061525857615258616e3f565b602002602001015182828151811061527257615272616e3f565b60209081029190910101528061528781616639565b91505061523d565b5082818651815181106152a4576152a4616e3f565b602090810291909101015293505b505b60008483815181106152c8576152c8616e3f565b6020908102919091018101518101516000848152607b835260408082206001600160a01b038b168352600981019094528120549193506153088285615685565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607d60205260409020548110156153a15784546001600160a01b038c166000908152607d6020526040902080548390811061537657615376616e3f565b90600052602060002001540361538f57600191506153a1565b8061539981616639565b91505061532a565b50806153d7576001600160a01b038a166000908152607d6020908152604082208654815460018101835591845291909220909101555b818311615427576153e88383616312565b607060008282546153f99190616346565b9091555061540990508383616312565b84600201600082825461541c9190616346565b9091555061546b9050565b6154318284616312565b607060008282546154429190616312565b9091555061545290508284616312565b8460020160008282546154659190616312565b90915550505b8360070154600003615482574360078501556154c2565b61548c84846132b1565b600080516020616ff68339815191528a8784876002015488600301546040516154b9959493929190616f2e565b60405180910390a15b50505050505080806154d390616639565b915050615108565b60008060008084865af1610f4a5763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d156001600051141716615533576390b8ec186000526004601cfd5b6000603452505050565b6000818152607b602052604081205415801590610f325750506000908152607b60205260409020600501546001600160a01b0316151590565b600080608083901c1561558b57608092831c92015b604083901c1561559d57604092831c92015b602083901c156155af57602092831c92015b601083901c156155c157601092831c92015b600883901c156155d357600892831c92015b600483901c156155e557600492831c92015b600283901c156155f757600292831c92015b600183901c15610f325760010192915050565b6000818310615619578161113f565b5090919050565b61562981614c7a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061113f8383604051806060016040528060278152602001617016602791396156bc565b6000806156928385616f79565b9050600081121561113f57838382604051631dde38a160e11b815260040161100e93929190616a06565b6060600080856001600160a01b0316856040516156d99190616f99565b600060405180830381855af49150503d8060008114615714576040519150601f19603f3d011682016040523d82523d6000602084013e615719565b606091505b509150915061572a86838387615734565b9695505050505050565b606083156157a157825160000361579a5761574e856132a2565b61579a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161100e565b5081614793565b61479383838151156157b65781518083602001fd5b8060405162461bcd60e51b815260040161100e91906162b5565b6000602082840312156157e257600080fd5b5035919050565b6001600160a01b03169052565b634e487b7160e01b600052602160045260246000fd5b6007811061195c5761195c6157f6565b60005b8381101561583757818101518382015260200161581f565b50506000910152565b6000815180845261585881602086016020860161581c565b601f01601f19169290920160200192915050565b8051825260006020820151604060208501526147936040850182615840565b60006101e08f83528e60208401528d60408401528c606084015260018060a01b03808d166080850152808c1660a0850152808b1660c08501528960e08501526158d38961580c565b88610100850152816101208501526158ed8285018961586c565b875161014086015260208801516101608601526040909701511661018084015250506101a08101929092526101c0909101529a9950505050505050505050565b60006020828403121561593f57600080fd5b81356001600160e01b03198116811461113f57600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b038111828210171561598f5761598f615957565b60405290565b604051608081016001600160401b038111828210171561598f5761598f615957565b60405161010081016001600160401b038111828210171561598f5761598f615957565b604080519081016001600160401b038111828210171561598f5761598f615957565b60405160a081016001600160401b038111828210171561598f5761598f615957565b604051601f8201601f191681016001600160401b0381118282101715615a4657615a46615957565b604052919050565b6001600160a01b038116811461195c57600080fd5b600060c08284031215615a7557600080fd5b615a7d61596d565b90508135615a8a81615a4e565b81526020820135615a9a81615a4e565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b600060808284031215615ae157600080fd5b615ae9615995565b90508135815260208201356020820152604082013560408201526060820135606082015292915050565b6000806101408385031215615b2757600080fd5b615b318484615a63565b9150615b408460c08501615acf565b90509250929050565b60006001600160401b03821115615b6257615b62615957565b5060051b60200190565b600082601f830112615b7d57600080fd5b81356020615b92615b8d83615b49565b615a1e565b82815260059290921b84018101918181019086841115615bb157600080fd5b8286015b84811015615bd5578035615bc881615a4e565b8352918301918301615bb5565b509695505050505050565b60006001600160401b03821115615bf957615bf9615957565b50601f01601f191660200190565b6000615c15615b8d84615be0565b9050828152838383011115615c2957600080fd5b828260208301376000602084830101529392505050565b600082601f830112615c5157600080fd5b61113f83833560208501615c07565b600080600060608486031215615c7557600080fd5b83356001600160401b0380821115615c8c57600080fd5b615c9887838801615b6c565b94506020860135915080821115615cae57600080fd5b50615cbb86828701615c40565b9250506040840135615ccc81615a4e565b809150509250925092565b6001600160a01b0391909116815260200190565b600080600060608486031215615d0057600080fd5b8335615d0b81615a4e565b92506020840135615d1b81615a4e565b91506040840135615ccc81615a4e565b60008060408385031215615d3e57600080fd5b82356001600160401b03811115615d5457600080fd5b615d6085828601615c40565b9250506020830135615d7181615a4e565b809150509250929050565b60048110615d8c57615d8c6157f6565b9052565b60208101610f328284615d7c565b60008060408385031215615db157600080fd5b8235615dbc81615a4e565b946020939093013593505050565b60008060408385031215615ddd57600080fd5b50508035926020909101359150565b600080600060608486031215615e0157600080fd5b505081359360208301359350604090920135919050565b60038110615d8c57615d8c6157f6565b60208101610f328284615e18565b600060208284031215615e4857600080fd5b813561113f81615a4e565b60008060408385031215615e6657600080fd5b8235615e7181615a4e565b915060208301356001600160401b03811115615e8c57600080fd5b615e9885828601615c40565b9150509250929050565b600080600060608486031215615eb757600080fd5b8335615ec281615a4e565b925060208401356001600160401b03811115615edd57600080fd5b8401601f81018613615eee57600080fd5b615cbb86823560208401615c07565b600060208284031215615f0f57600080fd5b81356001600160401b03811115615f2557600080fd5b61479384828501615b6c565b6000806000806101808587031215615f4857600080fd5b615f528686615a63565b9350615f618660c08701615acf565b92506101408501356001600160401b0380821115615f7e57600080fd5b615f8a88838901615b6c565b9350610160870135915080821115615fa157600080fd5b50615fae87828801615b6c565b91505092959194509250565b60208152600061113f602083018461586c565b60008060408385031215615fe057600080fd5b82356001600160401b0380821115615ff757600080fd5b61600386838701615b6c565b935060209150818501358181111561601a57600080fd5b8501601f8101871361602b57600080fd5b8035616039615b8d82615b49565b81815260059190911b8201840190848101908983111561605857600080fd5b8584015b83811015616090578035868111156160745760008081fd5b6160828c8983890101615c40565b84525091860191860161605c565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b828110156160ec57815180516001600160a01b031685528601518685015292840192908501906001016160be565b5091979650505050505050565b60008083601f84011261610b57600080fd5b5081356001600160401b0381111561612257600080fd5b6020830191508360208285010111156144bf57600080fd5b60008060008060006060868803121561615257600080fd5b8535945060208601356001600160401b038082111561617057600080fd5b61617c89838a016160f9565b9096509450604088013591508082111561619557600080fd5b506161a2888289016160f9565b969995985093965092949392505050565b801515811461195c57600080fd5b6000602082840312156161d357600080fd5b813561113f816161b3565b6001600160a01b038c811682528b811660208301528a166040820152606081018990526080810188905261016081016162168861580c565b8760a08301528660c08301528560e08301528461010083015283610120830152826101408301529c9b505050505050505050505050565b6000806040838503121561626057600080fd5b823591506020830135615d7181615a4e565b6020810161627f8361580c565b91905290565b6000806040838503121561629857600080fd5b8235915060208301356001600160401b03811115615e8c57600080fd5b60208152600061113f6020830184615840565b600181811c908216806162dc57607f821691505b602082108103611bed57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610f3257610f326162fc565b6001600160a01b039390931683526020830191909152604082015260600190565b80820180821115610f3257610f326162fc565b9283526001600160a01b03919091166020830152604082015260600190565b60006020828403121561638a57600080fd5b815161113f81615a4e565b9384526001600160a01b03928316602085015291166040830152606082015260800190565b634e487b7160e01b600052601260045260246000fd5b6000826163ed57634e487b7160e01b600052601260045260246000fd5b500490565b60006001600160401b0382168061640b5761640b6162fc565b6000190192915050565b8082028115828204841417610f3257610f326162fc565b6020808252602c90820152600080516020616fb683398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020616fb683398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0392831681529116602082015260400190565b60006020828403121561651757600080fd5b815161113f816161b3565b60006020828403121561653457600080fd5b5051919050565b805161654681615a4e565b919050565b918252602082015260400190565b9182526001600160a01b0316602082015260400190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8381526040602082015260006165b3604083018486616570565b95945050505050565b60006001600160401b038281166002600160401b031981016165e0576165e06162fc565b6001019392505050565b6001600160a01b03888116825260208201889052604082018790528516606082015260c0608082018190526000906166259083018587616570565b90508260a083015298975050505050505050565b60006001820161664b5761664b6162fc565b5060010190565b60006080828403121561666457600080fd5b61666c615995565b90508151815260208201516020820152604082015160408201526060820151606082015292915050565b80516003811061654657600080fd5b80516004811061654657600080fd5b6000602082840312156166c657600080fd5b604051602081016001600160401b03811182821017156166e8576166e8615957565b6040529151825250919050565b600060c0828403121561670757600080fd5b61670f61596d565b9050815161671c81615a4e565b8152602082015161672c81615a4e565b8060208301525060408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b600082601f83011261677257600080fd5b81516020616782615b8d83615b49565b82815260059290921b840181019181810190868411156167a157600080fd5b8286015b84811015615bd55780516167b881615a4e565b83529183019183016167a5565b6000602082840312156167d757600080fd5b81516001600160401b03808211156167ee57600080fd5b90830190610200828603121561680357600080fd5b61680b6159b7565b6168158684616652565b815261682360808401616696565b602082015261683460a084016166a5565b60408201526168468660c085016166b4565b60608201526168588660e085016166f5565b608082015261686a6101a0840161653b565b60a082015261687c6101c0840161653b565b60c08201526101e08301518281111561689457600080fd5b6168a087828601616761565b60e08301525095945050505050565b805182526020810151602083015260408101516040830152606081015160608301525050565b600081518084526020808501945080840160005b8381101561690e5781516001600160a01b0316875295820195908201906001016168e9565b509495945050505050565b828152604060208201526169316040820183516168af565b6000602083015161694560c0840182615e18565b50604083015161695860e0840182615d7c565b506060838101515161010084015260808085015180516001600160a01b039081166101208701526020820151166101408601526040810151610160860152918201516101808501528101516101a084015260a0908101516101c08401528301516169c66101e08401826157e9565b5060c08301516102006169db818501836157e9565b60e0850151915080610220850152506165b36102408401826168d5565b60808101610f3282846168af565b9283526020830191909152604082015260600190565b600060408284031215616a2e57600080fd5b616a366159da565b8251815260208301519091506001600160401b03811115616a5657600080fd5b8201601f81018413616a6757600080fd5b8051616a75615b8d82615be0565b818152856020838501011115616a8a57600080fd5b616a9b82602083016020860161581c565b602084015250909392505050565b600060208284031215616abb57600080fd5b81516001600160401b0380821115616ad257600080fd5b9083019060c08286031215616ae657600080fd5b616aee61596d565b825181526020830151616b0081615a4e565b60208201526040830151616b1381615a4e565b6040820152606083015182811115616b2a57600080fd5b616b3687828601616a1c565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b600060208284031215616b6e57600080fd5b81516001600160401b0380821115616b8557600080fd5b9083019060a08286031215616b9957600080fd5b616ba16159fc565b825181526020830151616bb381615a4e565b6020820152604083810151908201526060830151616bd081615a4e565b6060820152608083015182811115616be757600080fd5b616bf387828601616a1c565b60808301525095945050505050565b601f821115610f6957600081815260208120601f850160051c81016020861015616c295750805b601f850160051c820191505b81811015616c4857828155600101616c35565b505050505050565b81516001600160401b03811115616c6957616c69615957565b616c7d81616c7784546162c8565b84616c02565b602080601f831160018114616cb25760008415616c9a5750858301515b600019600386901b1c1916600185901b178555616c48565b600085815260208120601f198616915b82811015616ce157888601518255948401946001909101908401616cc2565b5085821015616cff5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215616d2157600080fd5b815160ff8116811461113f57600080fd5b600181815b80851115616d6d578160001904821115616d5357616d536162fc565b80851615616d6057918102915b93841c9390800290616d37565b509250929050565b600082616d8457506001610f32565b81616d9157506000610f32565b8160018114616da75760028114616db157616dcd565b6001915050610f32565b60ff841115616dc257616dc26162fc565b50506001821b610f32565b5060208310610133831016604e8410600b8410161715616df0575081810a610f32565b616dfa8383616d32565b8060001904821115616e0e57616e0e6162fc565b029392505050565b600061113f8383616d75565b6810531313d5d31254d560ba1b8152600981019190915260290190565b634e487b7160e01b600052603260045260246000fd5b82815260406020820152600061479360408301846168d5565b634e487b7160e01b600052600160045260246000fd5b60006020808385031215616e9757600080fd5b82516001600160401b03811115616ead57600080fd5b8301601f81018513616ebe57600080fd5b8051616ecc615b8d82615b49565b81815260069190911b82018301908381019087831115616eeb57600080fd5b928401925b82841015613a295760408489031215616f095760008081fd5b616f116159da565b845181528585015186820152825260409093019290840190616ef0565b6001600160a01b03959095168552602085019390935260408401919091526060830152608082015260a00190565b82815260408101616f6c8361580c565b8260208301529392505050565b8082018281126000831280158216821582161715613ad457613ad46162fc565b60008251616fab81846020870161581c565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212206e0b78f9a57310b9c3110f23f93be3b039c5e60639e3ebaff07fa61ccf7ca99b64736f6c63430008130033","sourceMap":"994:5500:99:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9561:60:98;;;;;;;;;;-1:-1:-1;9561:60:98;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;11829:210;;;;;;;;;;-1:-1:-1;11829:210:98;;;;;:::i;:::-;;:::i;:::-;;;3313:14:126;;3306:22;3288:41;;3276:2;3261:18;11829:210:98;3148:187:126;31642:874:98;;;;;;;;;;;;32041:30;;31749:22;32023:49;;;:17;:49;;;;;:60;;;32097:62;;;32173:75;;;;32262:76;;;;32352:63;;;;32429:70;;;;;-1:-1:-1;;;;;32023:60:98;;;;32097:62;;;;;32173:75;;32262:76;;32429:70;31642:874;;;;;-1:-1:-1;;;;;3704:15:126;;;3686:34;;3756:15;;;;3751:2;3736:18;;3729:43;3788:18;;;3781:34;;;;3846:2;3831:18;;3824:34;3889:3;3874:19;;3867:35;3666:3;3918:19;;3911:35;3635:3;3620:19;31642:874:98;3340:612:126;48947:250:98;;;;;;;;;;-1:-1:-1;48947:250:98;;;;;:::i;:::-;;:::i;7520:325:97:-;;;;;;;;;;-1:-1:-1;7520:325:97;;;;;:::i;:::-;;:::i;21968:107:98:-;;;;;;;;;;-1:-1:-1;22047:11:98;:21;21968:107;;;9901:25:126;;;9889:2;9874:18;21968:107:98;9755:177:126;9418:39:98;;;;;;;;;;-1:-1:-1;9418:39:98;;;;-1:-1:-1;;;;;9418:39:98;;;;;;;;;;:::i;8888:30::-;;;;;;;;;;;;;;;;8110:36;;;;;;;;;;;;8138:8;8110:36;;8924:45;;;;;;;;;;;;;;;;3560:86:97;;;;;;;;;;-1:-1:-1;3635:4:97;;-1:-1:-1;;;;;3635:4:97;3560:86;;10399:222:98;;;;;;;;;;-1:-1:-1;10399:222:98;;;;;:::i;:::-;;:::i;47615:639::-;;;;;;;;;;-1:-1:-1;47615:639:98;;;;;:::i;:::-;;:::i;17002:89::-;;;;;;;;;;;;;:::i;9050:39::-;;;;;;;;;;-1:-1:-1;9050:39:98;;;;;;;;;;;;;;;;;;;11197:25:126;;;11253:2;11238:18;;11231:34;;;;11281:18;;;11274:34;11339:2;11324:18;;11317:34;11184:3;11169:19;9050:39:98;10966:391:126;9863:56:98;;;;;;;;;;-1:-1:-1;9863:56:98;;;;;:::i;:::-;;;;;;;;;;;;;;6244:344:97;;;;;;:::i;:::-;;:::i;9242:45:98:-;;;;;;;;;;-1:-1:-1;9242:45:98;;;;;;;;;;;;;;;;;;:::i;18690:689::-;;;;;;;;;;-1:-1:-1;18690:689:98;;;;;:::i;:::-;;:::i;51614:3004::-;;;;;;;;;;-1:-1:-1;51614:3004:98;;;;;:::i;:::-;;:::i;8825:25::-;;;;;;;;;;;;;;;;39067:1191;;;;;;;;;;-1:-1:-1;39067:1191:98;;;;;:::i;:::-;;:::i;9136:47::-;;;;;;;;;;-1:-1:-1;9136:47:98;;;;;;;;;;;;;;;:::i;3143:195:64:-;;;;;;;;;;-1:-1:-1;3143:195:64;;;;;:::i;:::-;;:::i;3728:92:97:-;;;;;;;;;;-1:-1:-1;3807:6:97;;3728:92;;8402:49:98;;;;;;;;;;;;8449:2;8402:49;;9925:76;;;;;;;;;;-1:-1:-1;9925:76:98;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9925:76:98;;;;;;;;;;;;;;;3910:100:97;;;;;;;;;;-1:-1:-1;3993:10:97;;3910:100;;10008:140:98;;;;;;;;;;;;;:::i;4101:108:97:-;;;;;;;;;;-1:-1:-1;4192:10:97;;4101:108;;9210:145;;;;;;;;;;-1:-1:-1;9210:145:97;;;;;:::i;:::-;;:::i;3657:220:64:-;;;;;;:::i;:::-;;:::i;2762:131::-;;;;;;;;;;;;;:::i;40839:1549:98:-;;;;;;;;;;-1:-1:-1;40839:1549:98;;;;;:::i;:::-;;:::i;9677:53::-;;;;;;;;;;-1:-1:-1;9677:53:98;;;;;:::i;:::-;;;;;;;;;;;;;;1724:217:97;;;;;;;;;;-1:-1:-1;1724:217:97;;;;;:::i;:::-;;:::i;8537:42:98:-;;;;;;;;;;;;8578:1;8537:42;;17097:136;;;;;;;;;;-1:-1:-1;17097:136:98;;;;;:::i;:::-;;:::i;2085:101:45:-;;;;;;;;;;;;;:::i;5126:125:99:-;;;;;;;;;;-1:-1:-1;5126:125:99;;;;;:::i;:::-;;:::i;17614:1070:98:-;;;;;;;;;;-1:-1:-1;17614:1070:98;;;;;:::i;:::-;;:::i;16627:369::-;;;;;;;;;;;;;:::i;8976:26::-;;;;;;;;;;;;;;;;25563:743;;;;;;;;;;-1:-1:-1;25563:743:98;;;;;:::i;:::-;;:::i;9768:57::-;;;;;;;;;;-1:-1:-1;9768:57:98;;;;;:::i;:::-;;:::i;525:604:105:-;;;;;;;;;;;;;:::i;3894:362:99:-;;;;;;;;;;-1:-1:-1;3894:362:99;;;;;:::i;:::-;;:::i;48260:141:98:-;;;;;;;;;;-1:-1:-1;48260:141:98;;;;;:::i;:::-;;:::i;16523:98::-;;;;;;;;;;-1:-1:-1;16600:14:98;;16523:98;;4412:75:9;;;;;;;;;;;;4445:42;4412:75;;8856:26:98;;;;;;;;;;-1:-1:-1;8856:26:98;;;;-1:-1:-1;;;;;8856:26:98;;;;;;-1:-1:-1;;;;;17209:31:126;;;17191:50;;17179:2;17164:18;8856:26:98;17047:200:126;9293:51:98;;;;;;;;;;-1:-1:-1;9293:51:98;;;;;;5909:137:99;;;;;;;;;;-1:-1:-1;5909:137:99;;;;;:::i;:::-;;:::i;30683:206:98:-;;;;;;;;;;-1:-1:-1;30683:206:98;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;9008:35::-;;;;;;;;;;;;;;;;48752:189;;;;;;;;;;-1:-1:-1;48752:189:98;;;;;:::i;:::-;;:::i;13360:132::-;;;;;;;;;;-1:-1:-1;13360:132:98;;;;;:::i;:::-;;:::i;26956:287::-;;;;;;;;;;-1:-1:-1;26956:287:98;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;49203:2405::-;;;;;;:::i;:::-;;:::i;27912:86::-;;;;;;;;;;-1:-1:-1;27912:86:98;;;;;:::i;:::-;;:::i;9463:31::-;;;;;;;;;;-1:-1:-1;9463:31:98;;;;-1:-1:-1;;;;;9463:31:98;;;31501:135;;;;;;;;;;-1:-1:-1;31501:135:98;;;;;:::i;:::-;;:::i;22081:118::-;;;;;;;;;;-1:-1:-1;22181:11:98;;;;;;;22081:118;;404:115:105;;;;;;;;;;-1:-1:-1;404:115:105;;;;;:::i;:::-;;:::i;29532:1145:98:-;;;;;;;;;;-1:-1:-1;29532:1145:98;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;43609:120::-;;;;;;;;;;-1:-1:-1;43702:20:98;;43609:120;;31280:153;;;;;;;;;;-1:-1:-1;31280:153:98;;;;;:::i;:::-;31365:7;31391:22;;;:9;:22;;;;;:35;;;;31280:153;4341:101:97;;;;;;;;;;;;;:::i;54624:732:98:-;;;;;;;;;;-1:-1:-1;54624:732:98;;;;;:::i;:::-;;:::i;31090:184::-;;;;;;;;;;-1:-1:-1;31090:184:98;;;;;:::i;:::-;;:::i;4598:146:97:-;;;;;;;;;;-1:-1:-1;4598:146:97;;;;;:::i;:::-;;;;;;;:::i;2602:883:99:-;;;;;;;;;;-1:-1:-1;2602:883:99;;;;;:::i;:::-;;:::i;6907:220:97:-;;;;;;:::i;:::-;;:::i;2335:198:45:-;;;;;;;;;;-1:-1:-1;2335:198:45;;;;;:::i;:::-;;:::i;5631:197:97:-;;;;;;;;;;-1:-1:-1;5631:197:97;;;;;:::i;:::-;;:::i;8585:54:98:-;;;;;;;;;;;;8632:7;8585:54;;8066:38;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8066:38:98;;;;;;;;;;;;:::i;9561:60::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9561:60:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9561:60:98;;;;-1:-1:-1;;9561:60:98;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9561:60:98;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9561:60:98;:::o;11829:210::-;11922:4;-1:-1:-1;;;;;;11945:47:98;;-1:-1:-1;;;11945:47:98;;:87;;-1:-1:-1;;;;;;;;;;937:40:80;;;11996:36:98;11938:94;11829:210;-1:-1:-1;;11829:210:98:o;48947:250::-;49119:17;:15;:17::i;:::-;49146:44;49161:17;49180:9;49146:14;:44::i;:::-;48947:250;;:::o;7520:325:97:-;2435:16;:14;:16::i;:::-;3307:23:::1;:21;:23::i;:::-;7739:42:::2;7751:13;7766:5;7773:7;7739:11;:42::i;:::-;7520:325:::0;;;:::o;10399:222:98:-;3279:19:47;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:47;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;;3388:44;3426:4;3388:29;:44::i;:::-;3387:45;:66;;;;-1:-1:-1;3436:12:47;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:47;;24276:2:126;3325:201:47;;;24258:21:126;24315:2;24295:18;;;24288:30;24354:34;24334:18;;;24327:62;-1:-1:-1;;;24405:18:126;;;24398:44;24459:19;;3325:201:47;;;;;;;;;3536:12;:16;;-1:-1:-1;;3536:16:47;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:47;;;;;3562:65;10516:38:98::1;10527:5;10516:38;;;;;;;;;;;;;-1:-1:-1::0;;;10516:38:98::1;;::::0;10548:5:::1;10516:10;:38::i;:::-;10564:23;:50:::0;;-1:-1:-1;;;;;;10564:50:98::1;-1:-1:-1::0;;;;;10564:50:98;::::1;;::::0;;3647:99:47;;;;3697:5;3681:21;;-1:-1:-1;;3681:21:47;;;3721:14;;-1:-1:-1;24641:36:126;;3721:14:47;;24629:2:126;24614:18;3721:14:47;;;;;;;3647:99;3269:483;10399:222:98;;;:::o;47615:639::-;47693:7;47755:21;;;:9;:21;;;;;47791:19;;:33;;47787:100;;47847:29;;-1:-1:-1;;;47847:29:98;;;;;9901:25:126;;;9874:18;;47847:29:98;9755:177:126;47787:100:98;48148:59;48175:8;48185;:21;;;48148:26;:59::i;:::-;48224:23;;;;47615:639;-1:-1:-1;;47615:639:98:o;17002:89::-;17055:29;17073:10;17055:17;:29::i;:::-;17002:89::o;6244:344:97:-;6399:19;2435:16;:14;:16::i;:::-;3307:23:::1;:21;:23::i;:::-;6498:34:::2;6517:5;6524:7;6498:18;:34::i;:::-;6484:48:::0;6244:344;-1:-1:-1;;;6244:344:97:o;18690:689:98:-;18782:7;18801:23;:21;:23::i;:::-;18880:24;18937:36;18922:11;;;;;;;:51;;;;;;;;:::i;:::-;;:103;;;-1:-1:-1;18992:33:98;18977:11;;;;;;;:48;;;;;;;;:::i;:::-;;18922:103;18918:298;;;-1:-1:-1;19089:16:98;18918:298;;;19156:49;19179:7;19188:16;19156:22;:49::i;:::-;19137:68;;18918:298;19249:16;19225:20;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;19280:59:98;;;;;;19295:7;;19304:16;;19322;;19280:59;:::i;:::-;;;;;;;;19356:16;18690:689;-1:-1:-1;;;18690:689:98:o;51614:3004::-;51701:18;51722:33;;;:21;:33;;;;;;;;;51808:21;;;:9;:21;;;;;51915:32;;;;51897:51;;:17;:51;;;;;51839:109;;;;;;;;;-1:-1:-1;;;;;51839:109:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;51722:33;51808:21;;51839:109;51963:15;;;51959:82;;52001:29;;-1:-1:-1;;;52001:29:98;;;;;9901:25:126;;;9874:18;;52001:29:98;9755:177:126;51959:82:98;52081:38;52054:23;;;;;;:65;;;;;;;;:::i;:::-;;52050:134;;52142:31;;-1:-1:-1;;;52142:31:98;;;;;9901:25:126;;;9874:18;;52142:31:98;9755:177:126;52050:134:98;52269:37;;;;52229;;;;52194:14;;52229:77;;;:::i;:::-;52211:15;:95;;-1:-1:-1;52321:10:98;;52211:95;52321:64;;-1:-1:-1;52357:27:98;;-1:-1:-1;;;;;52335:50:98;:10;:50;;52321:64;52317:118;;;52408:16;;-1:-1:-1;;;52408:16:98;;;;;;;;;;;52317:118;52449:9;:25;;;-1:-1:-1;52462:12:98;;52449:25;52445:2013;;;52494:16;:30;;;52528:1;52494:35;52490:102;;52556:21;;-1:-1:-1;;;52556:21:98;;;;;;;;;;;52490:102;52609:16;:30;;;52643:1;52609:35;52605:136;;52664:23;;;:62;;-1:-1:-1;;52664:62:98;52690:36;52664:62;;;52605:136;52758:16;:30;;;52792:1;52758:35;52754:304;;52813:23;;;:64;;-1:-1:-1;;52813:64:98;52839:38;52813:64;;;52895:15;;52963:18;;;;52983:42;;;;;52895:148;;-1:-1:-1;;;52895:148:98;;-1:-1:-1;;;;;52895:15:98;;;;:34;;:148;;52951:10;;52963:18;;;;;52895:148;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;52754:304;53071:15;;53135:31;;;;53168:43;;;;53071:154;;-1:-1:-1;;;53071:154:98;;-1:-1:-1;;;;;53071:15:98;;;;:34;;:154;;53123:10;;53135:31;;;;;53071:154;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;52445:2013;;;53246:7;53257:1;53246:12;53242:1216;;53274:23;;;:62;;-1:-1:-1;;53274:62:98;53300:36;53274:62;;;53350:15;;53433:31;;;;-1:-1:-1;;;;;53350:15:98;;;;:37;;53405:10;;53433:31;53490:22;:20;:22::i;:::-;-1:-1:-1;;;;;53490:34:98;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;53545:16;:43;;;53350:252;;;;;;;;;;;;;;;;;;:::i;53242:1216::-;53623:7;53634:1;53623:12;53619:839;;53651:23;;;:64;;-1:-1:-1;;53651:64:98;53677:38;53651:64;;;53729:15;;53793:31;;;;53826:43;;;;53729:154;;-1:-1:-1;;;53729:154:98;;-1:-1:-1;;;;;53729:15:98;;;;:34;;:154;;53781:10;;53793:31;;;;;53729:154;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;53897:15:98;;53980:18;;;;-1:-1:-1;;;;;53897:15:98;;;;-1:-1:-1;53897:37:98;;-1:-1:-1;53952:10:98;;53980:18;54024:22;:20;:22::i;:::-;-1:-1:-1;;;;;54024:34:98;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;54097:30;;54079:49;;;;:17;:49;;;;;54157:1;54079:75;;;;:79;;54157:1;54079:79;:::i;:::-;53897:275;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;54186:15:98;;54269:18;;;;54305:31;;;;54372:30;;54186:15;54354:49;;;:17;:49;;;;;54305:31;54354:75;;;;-1:-1:-1;;;;;54186:15:98;;;;-1:-1:-1;54186:37:98;;-1:-1:-1;54241:10:98;;54269:18;;;;54305:31;;;;54354:79;;54305:31;54354:79;:::i;:::-;54186:261;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;53619:839;54468:12;:14;;-1:-1:-1;;;;;54468:14:98;;:12;:14;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;54468:14:98;;;;;-1:-1:-1;;;;;54468:14:98;;;;;;;54525:15;54492:8;:30;;:48;;;;54591:10;54562:16;:27;;;-1:-1:-1;;;;;54555:56:98;;54603:7;54555:56;;;;9901:25:126;;9889:2;9874:18;;9755:177;54555:56:98;;;;;;;;51691:2927;;;;51614:3004;;:::o;39067:1191::-;39604:14;;39217:7;;39252:11;;39217:7;;39598:36;;39603:27;;8138:8;;39622:3;39604:21;39603:27;:::i;:::-;39632:1;39598:4;:36::i;:::-;39578:56;;40248:3;-1:-1:-1;;;40204:8:98;:14;;;8138:8;40200:18;;;;:::i;:::-;40175:19;40185:9;-1:-1:-1;;;40175:19:98;:::i;:::-;40157:14;8138:8;40157:10;:14;:::i;:::-;:38;;;;:::i;:::-;40156:63;;;;:::i;:::-;40130:21;40142:9;40130;:21;:::i;:::-;40129:91;;;;:::i;:::-;40128:103;;;;:::i;:::-;40127:124;;;39067:1191;-1:-1:-1;;;;;;39067:1191:98:o;3143:195:64:-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3224:36:::1;3242:17;3224;:36::i;:::-;3311:12;::::0;;3321:1:::1;3311:12:::0;;;::::1;::::0;::::1;::::0;;;3270:61:::1;::::0;3292:17;;3311:12;3270:21:::1;:61::i;:::-;3143:195:::0;:::o;10008:140:98:-;10123:17;;-1:-1:-1;;;;;10123:17:98;;10008:140::o;9210:145:97:-;9296:4;;9319:29;27763:143:98;3657:220:64;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3772:36:::1;3790:17;3772;:36::i;:::-;3818:52;3840:17;3859:4;3865;3818:21;:52::i;2762:131::-:0;2840:7;2080:4;-1:-1:-1;;;;;2089:6:64;2072:23;;2064:92;;;;-1:-1:-1;;;2064:92:64;;28272:2:126;2064:92:64;;;28254:21:126;28311:2;28291:18;;;28284:30;28350:34;28330:18;;;28323:62;-1:-1:-1;;;28401:18:126;;;28394:54;28465:19;;2064:92:64;28070:420:126;2064:92:64;-1:-1:-1;;;;;;;;;;;;2762:131:64;:::o;40839:1549:98:-;40922:18;41090:1;41076:10;;:15;41072:66;;41114:13;;-1:-1:-1;;;41114:13:98;;;;;;;;;;;41072:66;41578:33;41594:16;41578:15;:33::i;:::-;41574:91;;;41634:20;;-1:-1:-1;;;41634:20:98;;;;;;;;;;;41574:91;41896:10;;41813:13;;41866:26;:16;-1:-1:-1;;;41866:26:98;:::i;:::-;41865:41;;;;:::i;:::-;41830:8;:17;8138:8;;41830:27;;-1:-1:-1;;;41830:27:98;:::i;:::-;41829:33;;;;:::i;:::-;:77;;;;:::i;:::-;41813:93;;42093:2;42051:28;43702:20;;;43609:120;42051:28;42016:14;;42012:18;;8138:8;42012:18;:::i;:::-;8138:8;41999:2;41981:13;41989:5;;41981:13;:::i;:::-;41948:15;;41980:21;;;41947:28;;8138:8;;41967:3;41948:22;41947:28;:::i;:::-;41946:56;;;;:::i;:::-;41945:62;;;;:::i;:::-;41944:87;;;;:::i;:::-;41943:136;;;;:::i;:::-;42311:27;;41929:166;;;-1:-1:-1;42298:40:98;;:83;;42354:27;;42298:83;;;-1:-1:-1;42341:10:98;42285:96;-1:-1:-1;40839:1549:98:o;1724:217:97:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;:::-;1831:23:97::1;1848:5;1831:16;:23::i;:::-;1864:4;:19:::0;;-1:-1:-1;;;;;;1864:19:97::1;-1:-1:-1::0;;;;;1864:19:97;::::1;;::::0;;1916:17:::1;::::0;::::1;::::0;1927:5;;1916:17:::1;;;:::i;:::-;;::::0;;-1:-1:-1;;1916:17:97;;::::1;::::0;;;;;;1906:28;;1916:17:::1;1906:28:::0;;::::1;::::0;1893:10:::1;:41:::0;-1:-1:-1;;;1724:217:97:o;17097:136:98:-;17167:23;:21;:23::i;:::-;17200:26;17218:7;17200:17;:26::i;2085:101:45:-;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;5126:125:99:-:0;5193:17;:15;:17::i;:::-;5220:24;5236:7;5220:15;:24::i;17614:1070:98:-;17704:7;17768:23;:21;:23::i;:::-;17806:26;17824:7;17806:17;:26::i;:::-;17801:90;;17855:25;;-1:-1:-1;;;17855:25:98;;;;;;;;;;;17801:90;17900:24;17957:36;17942:11;;;;;;;:51;;;;;;;;:::i;:::-;;17938:441;;18051:14;18028:38;18009:57;;17938:441;;;18102:33;18087:11;;;;;;;:48;;;;;;;;:::i;:::-;;18083:296;;18170:44;18190:7;18199:14;18170:19;:44::i;18083:296::-;18250:36;18235:11;;;;;;;:51;;;;;;;;:::i;:::-;;18231:148;;18321:47;18344:7;18353:14;18321:22;:47::i;:::-;18302:66;;18231:148;18388:16;18407:22;:20;:22::i;:::-;-1:-1:-1;;;;;18407:50:98;;18458:7;18475:4;18407:74;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18388:93;;18495:11;18491:82;;;18546:16;18522:20;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;18491:82:98;18587:57;18602:7;18611:14;18627:16;18587:57;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;18661:16:98;17614:1070;-1:-1:-1;;;17614:1070:98:o;16627:369::-;16697:10;16722:25;16697:10;16722:17;:25::i;:::-;16717:89;;16770:25;;-1:-1:-1;;;16770:25:98;;;;;;;;;;;16717:89;16815:22;:20;:22::i;:::-;-1:-1:-1;;;;;16815:47:98;;16863:6;16879:4;16815:70;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16919:22;:20;:22::i;:::-;-1:-1:-1;;;;;16919:47:98;;16967:6;16983:4;16919:70;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16895:20;;:94;;;;;;;:::i;:::-;;;;-1:-1:-1;;;16627:369:98:o;25563:743::-;25640:18;25713:21;;;:9;:21;;;;;25923;;;;25640:18;;;;25879:66;;25713:21;;25879:33;:66::i;:::-;25819:126;;;;25960:14;25978:1;25960:19;:39;;;;-1:-1:-1;25983:16:98;;25960:39;25956:110;;;26032:8;:23;;;26015:40;;25956:110;26075:17;26095:44;26114:8;:24;;;26095:18;:44::i;:::-;26272:27;;;;;25563:743;-1:-1:-1;;;;;25563:743:98:o;9768:57::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;525:604:105:-;572:7;591:20;614:26;1534:6:45;;-1:-1:-1;;;;;1534:6:45;;1462:85;614:26:105;591:49;;715:12;-1:-1:-1;;;;;707:33:105;;744:1;707:38;703:420;;829:12;525:604;-1:-1:-1;525:604:105:o;703:420::-;895:12;-1:-1:-1;;;;;876:38:105;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;876:40:105;;;;;;;;-1:-1:-1;;876:40:105;;;;;;;;;;;;:::i;:::-;;;872:241;;1086:12;525:604;-1:-1:-1;525:604:105:o;3894:362:99:-;4147:17;:15;:17::i;:::-;4174:75;4189:17;4208:9;4219:12;4233:15;4174:14;:75::i;48260:141:98:-;48378:14;;48331:7;;48374:18;;8138:8;48374:18;:::i;:::-;48359:10;8138:8;48359:6;:10;:::i;:::-;48358:35;;;;:::i;5909:137:99:-;5983:17;:15;:17::i;:::-;6010:29;6031:7;6010:20;:29::i;30683:206:98:-;-1:-1:-1;;;;;;;;;;;;;;;;;30783:40:98;30826:9;:22;30836:11;30826:22;;;;;;;;;;;30783:65;;30865:8;:17;;30858:24;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30683:206;;;:::o;48752:189::-;48825:17;:15;:17::i;:::-;48852:32;48871:12;48852:18;:32::i;:::-;48894:11;:40;;-1:-1:-1;;;;;;48894:40:98;-1:-1:-1;;;;;48894:40:98;;;;;;;;;;48752:189::o;13360:132::-;1355:13:45;:11;:13::i;:::-;13451:23:98::1;:34:::0;;-1:-1:-1;;;;;;13451:34:98::1;-1:-1:-1::0;;;;;13451:34:98;;;::::1;::::0;;;::::1;::::0;;13360:132::o;26956:287::-;27042:22;27220:16;;-1:-1:-1;;;27220:16:98;;;;;;;;;;;49203:2405;49366:17;49442:21;;;:9;:21;;;;;;;;49549:32;;;;49531:51;;:17;:51;;;;;49473:109;;;;;;;;;-1:-1:-1;;;;;49473:109:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49442:21;49593:112;;49670:24;;-1:-1:-1;;;49670:24:98;;;;;;;;;;;49593:112;49882:19;;:33;;49878:100;;49938:29;;-1:-1:-1;;;49938:29:98;;;;;9901:25:126;;;9874:18;;49938:29:98;9755:177:126;49878:100:98;50018:36;49991:23;;;;;;:63;;;;;;;;:::i;:::-;;49987:130;;50077:29;;-1:-1:-1;;;50077:29:98;;;;;9901:25:126;;;9874:18;;50077:29:98;9755:177:126;49987:130:98;50142:16;:43;;;50130:9;:55;50126:171;;;50242:43;;;;50208:78;;-1:-1:-1;;;50208:78:98;;;;50231:9;;50208:78;;;:::i;50126:171::-;50416:30;;;;:35;;;;:126;;;50527:15;8632:7;50471:8;:30;;;:53;;;;:::i;:::-;:71;50416:126;50399:325;;;50616:10;50684:15;8632:7;50628:8;:30;;;:53;;;;:::i;:::-;:71;;;;:::i;:::-;50574:139;;-1:-1:-1;;;50574:139:98;;;;;;;;;:::i;50399:325::-;50734:22;50771:16;:43;;;50759:9;:55;;;;:::i;:::-;50825:15;;50866:43;;;;50825:109;;-1:-1:-1;;;50825:109:98;;50734:80;;-1:-1:-1;;;;;;50825:15:98;;;;:33;;50866:43;50825:109;;50911:10;;50923;;50825:109;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;50957:27:98;;:92;;-1:-1:-1;;;50957:92:98;;-1:-1:-1;;;;;50957:41:98;;;;-1:-1:-1;50957:41:98;;-1:-1:-1;51006:14:98;;-1:-1:-1;50957:92:98;;8578:1;;51038:10;;;;50957:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;51060:23;;;:64;;50945:104;;-1:-1:-1;51086:38:98;;-1:-1:-1;;51060:64:98;;51086:38;51060:64;;;;-1:-1:-1;51134:20:98;;;:42;;;51226:15;51186:37;;;:55;51251:31;;;:44;;-1:-1:-1;;;;;;51251:44:98;51285:10;51251:44;;;51134:30;51305:32;;;:21;:32;;;;;:45;;;51361:12;:14;;-1:-1:-1;;;;;51361:14:98;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;51361:14:98;;;;;-1:-1:-1;;;;;51361:14:98;;;;;;;51391:210;51421:16;:27;;;51462:10;51486:9;51509:10;51533:7;;51554:8;:20;;:37;;;51391:210;;;;;;;;;;;;:::i;:::-;;;;;;;;49389:2219;;;49203:2405;;;;;;;:::o;27912:86::-;27968:23;27983:7;27968:14;:23::i;31501:135::-;-1:-1:-1;;;;;31603:26:98;31577:7;31603:26;;;:18;:26;;;;;;;31501:135::o;404:115:105:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;:::-;480:32:105::1;499:12;480:18;:32::i;29532:1145:98:-:0;29650:17;29681:19;29714:22;29750:23;29787:20;29821:44;29879:17;29910:22;29946:17;29977:25;30016:31;30072:40;30115:9;:22;30125:11;30115:22;;;;;;;;;;;30072:65;;30160:8;:24;;;30188:1;30160:29;:80;;30196:44;30215:8;:24;;;30196:18;:44::i;:::-;30160:80;;;30192:1;30160:80;30148:92;;30271:8;:18;;;;;;;;;;-1:-1:-1;;;;;30271:18:98;30303:8;:20;;;;;;;;;;-1:-1:-1;;;;;30303:20:98;30337:8;:23;;;;;;;;;;-1:-1:-1;;;;;30337:23:98;30374:8;:24;;;30412:8;:21;;;30447:8;:23;;;;;;;;;;;;30484:8;:18;;;30516:8;:23;;;30553:9;30576:8;:26;;:38;30603:10;-1:-1:-1;;;;;30576:38:98;-1:-1:-1;;;;;30576:38:98;;;;;;;;;;;;;30628:8;:32;;;30250:420;;;;;;;;;;;;;;;;;;;;;;;29532:1145;;;;;;;;;;;;;:::o;4341:101:97:-;4397:4;4420:15;11342:10;;;;;11263:96;4420:15;4413:22;;4341:101;:::o;54624:732:98:-;54739:36;54699:21;;;;:9;:21;;;;;:36;;;;;:76;;;;;;;;:::i;:::-;;54695:143;;54798:29;;-1:-1:-1;;;54798:29:98;;;;;9901:25:126;;;9874:18;;54798:29:98;9755:177:126;54695:143:98;54852:21;;;;:9;:21;;;;;:31;;;-1:-1:-1;;;;;54852:31:98;54887:10;54852:45;54848:141;;54934:21;;;;:9;:21;;;;;;;:31;;;54920:58;;-1:-1:-1;;;54920:58:98;;;;-1:-1:-1;;;;;54934:31:98;;54967:10;;54920:58;;;:::i;54848:141::-;54999:15;;;55071:21;;;:9;:21;;;;;;;;:31;;;;55134:45;;;;;55116:64;;:17;:64;;;;;;;:90;;;54999:217;;-1:-1:-1;;;54999:217:98;;-1:-1:-1;;;;;54999:15:98;;;;:34;;:217;;55047:10;;55071:31;;;54999:217;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;55227:21:98;;;;:9;:21;;;;;;;;;:36;;:78;;-1:-1:-1;;55227:78:98;55266:39;55227:78;;;55320:29;;9901:25:126;;;55320:29:98;;-1:-1:-1;9874:18:126;55320:29:98;;;;;;;;54624:732;:::o;31090:184::-;31189:7;32693:22;;;:9;:22;;;;;;;;-1:-1:-1;;;;;32693:48:98;;;;:40;;:48;;;;;;31215:52;32522:226;2602:883:99;2435:16:97;:14;:16::i;:::-;2696:28:99::1;2716:7;2696:19;:28::i;:::-;2788:23;::::0;2813:10:::1;:12:::0;;2770:56:::1;::::0;-1:-1:-1;;;;;2788:23:99::1;::::0;::::1;2813:12;::::0;::::1;:::i;:::-;;;;;2770:17;:56::i;:::-;2735:15;:92:::0;;-1:-1:-1;;;;;;2735:92:99::1;-1:-1:-1::0;;;;;2735:92:99;;;::::1;::::0;;::::1;::::0;;2837:28:::1;::::0;;-1:-1:-1;;;2837:28:99;;;;:26:::1;::::0;:28:::1;::::0;;::::1;::::0;-1:-1:-1;;2837:28:99;;;;;;;;-1:-1:-1;2735:92:99;2837:28;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;2876:42;2932:5;2921:53;;;;;;;;;;;;:::i;:::-;2989:20;::::0;::::1;::::0;2876:98;;-1:-1:-1;;;;;;2989:34:99::1;2985:94;;3046:22;;-1:-1:-1::0;;;3046:22:99::1;;;;;;;;;;;2985:94;3153:20;::::0;::::1;::::0;3133:17:::1;:40:::0;;-1:-1:-1;;;;;;3133:40:99::1;-1:-1:-1::0;;;;;3133:40:99;;::::1;::::0;;;::::1;::::0;;3199:15:::1;::::0;::::1;::::0;3184:12:::1;:30:::0;;-1:-1:-1;;3184:30:99::1;-1:-1:-1::0;3199:15:99;3184:30:::1;::::0;::::1;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;3238:14:99::1;::::0;::::1;::::0;3224:11:::1;:28:::0;;-1:-1:-1;;3224:28:99::1;;3238:14:::0;3224:28:::1;::::0;::::1;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;3276:14:99::1;::::0;::::1;::::0;3262:28;:11:::1;:28:::0;3327:14:::1;::::0;::::1;::::0;3300:11:::1;:42:::0;;-1:-1:-1;;;;;;3300:42:99::1;-1:-1:-1::0;;;;;3300:42:99;;::::1;::::0;;;::::1;::::0;;3367:19:::1;::::0;::::1;::::0;3388:11;;3401:16:::1;::::0;;-1:-1:-1;3401:16:99;;;::::1;::::0;::::1;3419::::0;;;;;;;;;3352:84:::1;::::0;3367:19;3388:11;3352:14:::1;:84::i;:::-;3451:27;3466:7;3475:2;3451:27;;;;;;;:::i;:::-;;;;;;;;2686:799;2602:883:::0;;:::o;6907:220:97:-;2435:16;:14;:16::i;:::-;3307:23:::1;:21;:23::i;:::-;7014:31:::2;7030:5;7037:7;7014:15;:31::i;:::-;7055:25;7065:5;7072:7;7055:9;:25::i;2335:198:45:-:0;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:45;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:45;;38738:2:126;2415:73:45::1;::::0;::::1;38720:21:126::0;38777:2;38757:18;;;38750:30;38816:34;38796:18;;;38789:62;-1:-1:-1;;;38867:18:126;;;38860:36;38913:19;;2415:73:45::1;38536:402:126::0;5631:197:97;2435:16;:14;:16::i;:::-;5771:7:::1;5757:10;;:21;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;5788:33:97::1;::::0;-1:-1:-1;5813:7:97;5788:24:::1;:33::i;12931:179:98:-:0;13016:22;:20;:22::i;:::-;-1:-1:-1;;;;;13016:34:98;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12994:59:98;:10;-1:-1:-1;;;;;12994:59:98;;12990:114;;13076:17;;-1:-1:-1;;;13076:17:98;;;;;;;;;;;45200:2409;45390:30;;;;-1:-1:-1;;;;;45390:44:98;;;;;:99;;-1:-1:-1;45446:28:98;;-1:-1:-1;;;;;45438:51:98;;;45390:99;:1027;;;;-1:-1:-1;45583:30:98;;45565:49;;;;:17;:49;;;;;;;;:62;;;45531:30;;;;-1:-1:-1;;;;;45531:96:98;;;45565:62;;45531:96;;;:216;;-1:-1:-1;45705:30:98;;45687:49;;;;:17;:49;;;;;:60;45655:28;;-1:-1:-1;;;;;45655:92:98;;;45687:60;;45655:92;;45531:216;:394;;;-1:-1:-1;45868:30:98;;45850:49;;;;:17;:49;;;;;;;:75;;;45775:43;;;;:150;;45531:394;:574;;;-1:-1:-1;46047:30:98;;46029:49;;;;:17;:49;;;;;:76;;;45953:44;;;;:152;;45531:574;:700;;;-1:-1:-1;46186:30:98;;46168:49;;;;:17;:49;;;;;:63;;;46133:31;;;;:98;;45531:700;:868;;;-1:-1:-1;46347:30:98;;46329:49;;;;:17;:49;;;;;:70;;;46259:38;;;;:140;;45531:868;45373:2158;;;46529:30;;;;;46481;;46463:49;;;;:17;:49;;;;;;;:62;;;-1:-1:-1;;;;;46463:62:98;;;:96;;;;;:212;;-1:-1:-1;46647:28:98;;46601:30;;46647:28;46583:49;;;:17;:49;;;;;:60;-1:-1:-1;;;;;46583:60:98;;;:92;;;;46463:212;46442:522;;;46708:28;;46750:30;;;;46708:73;;-1:-1:-1;;;46708:73:98;;-1:-1:-1;;;;;46708:41:98;;;;;;:73;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;46870:28:98;;46901:30;;;;46804:145;;;;-1:-1:-1;46804:145:98;;-1:-1:-1;46855:4:98;;46870:28;46901:30;-1:-1:-1;;;;;39201:15:126;;;39183:34;;39253:15;;;39248:2;39233:18;;39226:43;39305:15;;;39300:2;39285:18;;39278:43;39133:2;39118:18;;38943:384;46804:145:98;;;;;;;;46442:522;46978:30;:32;;;:30;:32;;;:::i;:::-;;;;-1:-1:-1;;47042:30:98;;;47024:49;;;;:17;:49;;;;;;;;;:69;;;;-1:-1:-1;;;;;;47024:69:98;;;-1:-1:-1;;;;;47024:69:98;;;;;;;;;;;;-1:-1:-1;47024:69:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47154:30;;47113:407;;39668:25:126;;;39747:18;;;39740:43;;;;39799:18;;;39792:43;;;;39851:18;;39844:34;39894:19;;;39887:35;39938:19;;;39931:35;;;;39997:3;39982:19;;39975:35;;;;47113:407:98;;39655:3:126;39640:19;47113:407:98;;;;;;;45373:2158;47541:20;;:8;:20;;;;;;;;;;;;;;;;;;;;47576:26;;;;;47552:9;;47576:26;:::i;:::-;;;;;;;;45200:2409;;:::o;9629:119:97:-;9713:4;;-1:-1:-1;;;;;9713:4:97;9691:10;:27;9687:54;;9727:14;;-1:-1:-1;;;9727:14:97;;;;;;;;;;;10618:113;10687:6;;10697:1;10687:11;10683:41;;10707:17;;-1:-1:-1;;;10707:17:97;;;;;;;;;;;23624:1933:98;23793:1;23777:5;:12;:17;23773:76;;23817:21;;-1:-1:-1;;;23817:21:98;;;;;;;;;;;23773:76;23859:18;23891:5;23880:28;;;;;;;;;;;;:::i;:::-;23859:49;;23923:10;23937:1;23923:15;23919:77;;23961:24;;-1:-1:-1;;;23961:24:98;;;;;;;;;;;23919:77;24005:40;24048:21;;;:9;:21;;;;;24100:35;24084:12;;;;:51;;;;;;;;:::i;:::-;;24080:1411;;24155:19;;:33;;24151:108;;24215:29;;-1:-1:-1;;;24215:29:98;;;;;9901:25:126;;;9874:18;;24215:29:98;9755:177:126;24151:108:98;24304:10;;24277:8;:24;;;:37;24273:152;;;24361:10;24373:8;:24;;;24399:10;;24341:69;;-1:-1:-1;;;24341:69:98;;;;;;;;;;:::i;24273:152::-;24470:36;24443:23;;;;;;:63;;;;;;;;:::i;:::-;;24439:138;;24533:29;;-1:-1:-1;;;24533:29:98;;;;;9901:25:126;;;9874:18;;24533:29:98;9755:177:126;24439:138:98;24591:22;24616:36;24641:10;24616:24;:36::i;:::-;24591:61;;24666:17;24686:44;24705:8;:24;;;24686:18;:44::i;:::-;24666:64;;24766:9;24749:14;:26;:58;;;;;24806:1;24779:8;:24;;;:28;24749:58;24745:137;;;24834:33;;-1:-1:-1;;;24834:33:98;;;;;;;;;;;24745:137;24921:4;;24934:6;;24921:20;;-1:-1:-1;;;24921:20:98;;;;;9901:25:126;;;;24896:22:98;;-1:-1:-1;;;;;24921:4:98;;:12;;9874:18:126;;24921:20:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;24921:20:98;;;;;;;;;;;;:::i;:::-;24896:45;;24970:8;:24;;;24956:10;;:38;;;;;;;:::i;:::-;;;;-1:-1:-1;;25032:10:98;;;;25044:20;;;;;25066:24;;;25016:75;;25032:10;-1:-1:-1;;;;;25044:20:98;;25016:15;:75::i;:::-;25106:23;;;:64;;-1:-1:-1;;25106:64:98;25132:38;25106:64;;;;;;25184:15;;25264:18;;;;25318:30;;-1:-1:-1;25300:49:98;;;:17;:49;;;;;;;:75;;;25184:205;;-1:-1:-1;;;25184:205:98;;-1:-1:-1;;;;;25184:15:98;;;;:34;;:205;;25236:10;;25264:18;;;25300:75;;25184:205;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;25433:20:98;;;;;25455:24;;;25409:71;;;;-1:-1:-1;25409:71:98;;25421:10;;-1:-1:-1;;;;;25433:20:98;;;;25409:71;:::i;:::-;;;;;;;;24137:1354;;;24080:1411;23718:1839;;23624:1933;;;:::o;1423:320:50:-;-1:-1:-1;;;;;1713:19:50;;:23;;;1423:320::o;43919:424:98:-;44066:18;44086:19;44109:56;44143:9;44154:10;44109:33;:56::i;:::-;44065:100;;;;44179:10;44193:1;44179:15;:35;;;;-1:-1:-1;44198:16:98;;44179:35;44175:72;;;44230:7;;43919:424;;:::o;44175:72::-;44256:19;;;:33;44299:24;;;;:37;;;;-1:-1:-1;43919:424:98:o;17239:369::-;17334:22;:20;:22::i;:::-;-1:-1:-1;;;;;17334:47:98;;17382:7;17399:4;17334:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17310:20;;:95;;;;;;;:::i;:::-;;;;-1:-1:-1;17415:22:98;;-1:-1:-1;17415:20:98;:22::i;:::-;-1:-1:-1;;;;;17415:49:98;;17465:7;17482:4;17415:73;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17543:17;17552:7;17543:8;:17::i;:::-;17575:26;17593:7;17575:26;;;;;;:::i;13818:2699::-;13918:7;13942:26;13960:7;13942:17;:26::i;:::-;13937:90;;13991:25;;-1:-1:-1;;;13991:25:98;;;;;;;;;;;13937:90;14096:45;14155:5;14144:50;;;;;;;;;;;;:::i;:::-;14309:15;;14096:98;;-1:-1:-1;14309:15:98;:20;14305:78;;14352:20;;-1:-1:-1;;;14352:20:98;;;;;;;;;;;14305:78;14475:35;14459:12;;;;:51;;;;;;;;:::i;:::-;;14455:764;;14526:40;14545:8;:20;;;14526:18;:40::i;:::-;14632:23;;;;-1:-1:-1;;;;;14632:37:98;14628:102;;14696:19;;-1:-1:-1;;;14696:19:98;;;;;;;;;;;14628:102;14743:11;14757:4;-1:-1:-1;;;;;14757:12:98;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14824:15;;14810:30;;-1:-1:-1;;;14810:30:98;;;;;9901:25:126;;;;14743:28:98;;-1:-1:-1;14785:22:98;;-1:-1:-1;;;;;14810:13:98;;;;;9874:18:126;;14810:30:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14810:30:98;;;;;;;;;;;;:::i;:::-;14785:55;;14885:4;:10;;;-1:-1:-1;;;;;14858:37:98;:8;:23;;;-1:-1:-1;;;;;14858:37:98;;14854:235;;15057:17;;-1:-1:-1;;;15057:17:98;;;;;;;;;;;14854:235;15106:41;15122:8;:24;;;15106:15;:41::i;:::-;15102:107;;;15174:20;;-1:-1:-1;;;15174:20:98;;;;;;;;;;;15102:107;14512:707;;14455:764;15272:30;;15327:1;15254:49;;;:17;:49;;;;;:60;-1:-1:-1;;;;;15254:60:98;15246:83;;;;:190;;-1:-1:-1;15379:30:98;;15361:49;;;;:17;:49;;;;;:75;;;15349:9;:87;15246:190;15229:390;;;15537:30;;15519:49;;;;:17;:49;;;;;;;:75;;;15468:140;;-1:-1:-1;;;15468:140:98;;;;15508:9;;15468:140;;;:::i;15229:390::-;15629:18;15652:15;;15650:17;;;;;:::i;:::-;;;;;-1:-1:-1;15677:33:98;15713:21;;;:9;:21;;;;;;;;15745:25;;;15780:11;;;:21;;-1:-1:-1;;;;;15780:21:98;;;-1:-1:-1;;;;;;15780:21:98;;;;;;;15827:20;;;;15811:13;;;:36;;;;;;;;;;;;;;15876:23;;;;15857:16;;;:42;;;;;;;;;;;15929:24;;;;-1:-1:-1;15909:17:98;;;:44;;;;16014:16;;;:55;;-1:-1:-1;;16014:55:98;;;;;;16093:12;16079:11;;;:26;-1:-1:-1;16115:16:98;;:20;;;;16194:17;;;;16181:30;;:10;;;:30;;;;;;;15650:17;;-1:-1:-1;15713:21:98;;16181:30;;;;;;;;:::i;:::-;-1:-1:-1;;16249:30:98;;16221:25;;;:58;-1:-1:-1;16289:15:98;;16353:11;;;;16289:76;;-1:-1:-1;;;16289:76:98;;-1:-1:-1;;;;;16289:15:98;;;;:33;;16330:9;;16289:76;;16341:10;;16353:11;;16289:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16381:35;16397:6;;16405:10;16381:35;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;16498:10:98;13818:2699;-1:-1:-1;;;;13818:2699:98:o;12607:171::-;12698:17;;-1:-1:-1;;;;;12698:17:98;12676:10;:40;12672:100;;12739:22;;-1:-1:-1;;;12739:22:98;;;;;;;;;;;21080:882;21218:7;21259:2;21289:22;:20;:22::i;:::-;-1:-1:-1;;;;;21289:34:98;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;21275:61:98;;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21275:63:98;;;;;;;;-1:-1:-1;;21275:63:98;;;;;;;;;;;;:::i;:::-;;;21271:216;;;21388:17;;;-1:-1:-1;21271:216:98;21558:21;21638:16;21582:22;:20;:22::i;:::-;-1:-1:-1;;;;;21582:44:98;;21627:7;21582:53;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:72;;;;:::i;:::-;21558:96;-1:-1:-1;21720:22:98;21745:40;21771:13;21777:7;21771:2;:13;:::i;:::-;21755:29;;:13;:29;:::i;:::-;21745:9;:40::i;:::-;21720:65;;21795:24;21908:14;21834:22;:20;:22::i;:::-;-1:-1:-1;;;;;21834:47:98;;21882:7;21899:4;21834:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:88;;;;:::i;:::-;21795:127;21080:882;-1:-1:-1;;;;;;;21080:882:98:o;43148:455::-;43217:15;-1:-1:-1;;;43252:2:98;:12;43244:53;;;;-1:-1:-1;;;43244:53:98;;48035:2:126;43244:53:98;;;48017:21:126;48074:2;48054:18;;;48047:30;-1:-1:-1;;;48093:18:126;;;48086:58;48161:18;;43244:53:98;47833:352:126;43244:53:98;-1:-1:-1;;;;43319:2:98;43343;43382:215;43389:5;;43382:215;;43414:1;43418;43414:5;43423:1;43414:10;43410:177;;43448:10;43453:1;43456;43448:4;:10::i;:::-;43444:14;-1:-1:-1;43482:1:98;43476:7;43382:215;;43410:177;43532:16;43537:7;43546:1;43532:4;:16::i;:::-;43522:26;-1:-1:-1;43566:6:98;43571:1;43566:6;;:::i;:::-;;;43382:215;;;43234:369;;43148:455;;;;:::o;1175:140:60:-;-1:-1:-1;;;;;;;;;;;1254:54:60;-1:-1:-1;;;;;1254:54:60;;1175:140::o;1135:169:105:-;1219:10;1208:7;:5;:7::i;:::-;-1:-1:-1;;;;;1208:21:105;;1204:94;;1267:10;1279:7;:5;:7::i;:::-;1252:35;;-1:-1:-1;;;1252:35:105;;;;;;;;;:::i;2494:922:60:-;689:66;2910:48;;;2906:504;;;2974:37;2993:17;2974:18;:37::i;2906:504::-;3064:17;-1:-1:-1;;;;;3046:50:60;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3046:52:60;;;;;;;;-1:-1:-1;;3046:52:60;;;;;;;;;;;;:::i;:::-;;;3042:291;;3262:56;;-1:-1:-1;;;3262:56:60;;48581:2:126;3262:56:60;;;48563:21:126;48620:2;48600:18;;;48593:30;48659:34;48639:18;;;48632:62;-1:-1:-1;;;48710:18:126;;;48703:44;48764:19;;3262:56:60;48379:410:126;3042:291:60;-1:-1:-1;;;;;;;;;;;3148:28:60;;3140:82;;;;-1:-1:-1;;;3140:82:60;;48996:2:126;3140:82:60;;;48978:21:126;49035:2;49015:18;;;49008:30;49074:34;49054:18;;;49047:62;-1:-1:-1;;;49125:18:126;;;49118:39;49174:19;;3140:82:60;48794:405:126;3140:82:60;3099:138;3346:53;3364:17;3383:4;3389:9;3346:17;:53::i;33117:191:98:-;33199:19;33281:20;8138:8;33281:16;:20;:::i;:::-;33267:10;;33247:8;:17;:30;;33267:10;33247:30;:::i;:::-;:54;;;33117:191;-1:-1:-1;;33117:191:98:o;1620:130:45:-;965:10:51;1683:7:45;:5;:7::i;:::-;-1:-1:-1;;;;;1683:23:45;;1675:68;;;;-1:-1:-1;;;1675:68:45;;49406:2:126;1675:68:45;;;49388:21:126;;;49425:18;;;49418:30;49484:34;49464:18;;;49457:62;49536:18;;1675:68:45;49204:356:126;2687:187:45;2779:6;;;-1:-1:-1;;;;;2795:17:45;;;-1:-1:-1;;;;;;2795:17:45;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;5257:646:99:-;5327:21;5391:6;;5361:37;;;;;;;;:::i;:::-;;;;;;;;;;;;;5351:48;;;;;;5327:72;;5414:26;:24;:26::i;:::-;-1:-1:-1;;;;;5414:34:99;;5449:13;5472:1;5414:61;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5410:156;;;5491:26;:24;:26::i;:::-;-1:-1:-1;;;;;5491:37:99;;5529:13;5552:1;5491:64;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5410:156;5580:9;5575:268;5599:7;:14;5595:1;:18;5575:268;;;5639:26;:24;:26::i;:::-;-1:-1:-1;;;;;5639:34:99;;5674:13;5689:7;5697:1;5689:10;;;;;;;;:::i;:::-;;;;;;;5639:61;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5634:199;;5720:26;:24;:26::i;:::-;-1:-1:-1;;;;;5720:36:99;;5797:6;;5767:37;;;;;;;;:::i;:::-;;;;;;;;;;;;;5757:48;;;;;;5807:7;5815:1;5807:10;;;;;;;;:::i;:::-;;;;;;;5720:98;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5634:199;5615:3;;;;:::i;:::-;;;;5575:268;;;;5858:38;5880:6;;5888:7;5858:38;;;;;;;:::i;4594:526::-;4696:11;;4668:4;;-1:-1:-1;;;;;4696:11:99;4684:363;;4738:21;4802:6;;4772:37;;;;;;;;:::i;:::-;;;;;;;;;;;;;4762:48;;;;;;4738:72;;4828:26;:24;:26::i;:::-;-1:-1:-1;;;;;4828:34:99;;4863:13;4886:1;4828:61;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4824:213;;;-1:-1:-1;4916:4:99;;4594:526;-1:-1:-1;;4594:526:99:o;4824:213::-;4966:26;:24;:26::i;:::-;-1:-1:-1;;;;;4966:34:99;;5001:13;5016:5;4966:56;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4684:363::-;5063:11;;:50;;-1:-1:-1;;;5063:50:99;;-1:-1:-1;;;;;5063:11:99;;;;:28;;:50;;5092:5;;5107:4;;5063:50;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;19525:637:98:-;19626:7;19672:14;19626:7;19782:22;:20;:22::i;:::-;-1:-1:-1;;;;;19782:47:98;;19830:7;19847:4;19782:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19952:11;:21;19760:93;;-1:-1:-1;19919:30:98;19933:16;19760:93;19919:30;:::i;:::-;:54;19915:139;;;20008:11;:21;:35;;20032:11;;20008:35;:::i;:::-;19989:54;;19915:139;-1:-1:-1;20139:16:98;19525:637;-1:-1:-1;;;19525:637:98:o;20168:756::-;20272:7;20291:18;20368:14;20312:22;:20;:22::i;:::-;-1:-1:-1;;;;;20312:44:98;;20357:7;20312:53;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:70;;;;:::i;:::-;20291:91;-1:-1:-1;20411:2:98;20441:22;:20;:22::i;:::-;-1:-1:-1;;;;;20441:34:98;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20427:61:98;;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20427:63:98;;;;;;;;-1:-1:-1;;20427:63:98;;;;;;;;;;;;:::i;:::-;;;20423:216;;;20540:17;;;-1:-1:-1;20423:216:98;20648:22;20673:37;20696:13;20702:7;20696:2;:13;:::i;:::-;20683:26;;:10;:26;:::i;20673:37::-;20648:62;;20720:21;20744:22;:20;:22::i;:::-;-1:-1:-1;;;;;20744:47:98;;20792:7;20809:4;20744:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20720:95;-1:-1:-1;20826:24:98;20853:30;20720:95;20853:14;:30;:::i;:::-;20826:57;20168:756;-1:-1:-1;;;;;;;;20168:756:98:o;44349:845::-;44518:18;44538:19;44587:12;44573:26;;44639:11;44616:9;:19;;;:34;;44609:42;;;;:::i;:::-;44688:11;44665:9;:19;;;:34;44661:173;;-1:-1:-1;44789:1:98;;-1:-1:-1;44789:1:98;44781:13;;44661:173;44900:287;45057:9;:19;;;45043:11;:33;;;;:::i;:::-;45129:9;:24;;;45167:10;44900:19;:287::i;:::-;44887:300;;44349:845;;;;;;:::o;3491:397:99:-;3745:50;3766:17;3785:9;3745:20;:50::i;:::-;3805:29;3821:12;3805:15;:29::i;:::-;3844:37;3865:15;6052:440;6132:9;6127:303;6151:7;:14;6147:1;:18;6127:303;;;6190:26;:24;:26::i;:::-;-1:-1:-1;;;;;6190:34:99;;6265:6;;6235:37;;;;;;;;:::i;:::-;;;;;;;;;;;;;6225:48;;;;;;6275:7;6283:1;6275:10;;;;;;;;:::i;:::-;;;;;;;6190:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6186:234;;;6306:26;:24;:26::i;:::-;-1:-1:-1;;;;;6306:37:99;;6384:6;;6354:37;;;;;;;;:::i;:::-;;;;;;;;;;;;;6344:48;;;;;;6394:7;6402:1;6394:10;;;;;;;;:::i;:::-;;;;;;;6306:99;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6186:234;6167:3;;;;:::i;:::-;;;;6127:303;;;;6445:40;6469:6;;6477:7;6445:40;;;;;;;:::i;12784:141:98:-;-1:-1:-1;;;;;12866:22:98;;12862:56;;12897:21;;-1:-1:-1;;;12897:21:98;;;;;;;;;;;10971:126:97;11036:10;:20;;-1:-1:-1;;11036:20:97;;;;;;;;;;11071:19;;3288:41:126;;;11071:19:97;;3276:2:126;3261:18;11071:19:97;3148:187:126;5044:390:97;2435:16;:14;:16::i;:::-;5243:6:::1;::::0;:11;5239:45:::1;;5263:21;;-1:-1:-1::0;;;5263:21:97::1;;;;;;;;;;;5239:45;5371:7;5382:1;5371:12:::0;5367:34:::1;;5392:9;;-1:-1:-1::0;;;5392:9:97::1;;;;;;;;;;;5367:34;5411:6;:16:::0;5044:390::o;4749:279:6:-;4867:36;;-1:-1:-1;;;;;;4884:10:6;50976:2:126;50947:15;50943:45;4867:36:6;;;50931:58:126;51005:12;;;50998:28;;;4823:7:6;;;;51042:12:126;;4867:36:6;;;;;;;;;;;;4857:47;;;;;;4842:62;;4968:53;5005:9;5016:4;4968:36;:53::i;:::-;4961:60;4749:279;-1:-1:-1;;;;4749:279:6:o;4262:326:99:-;4360:42;4416:5;4405:53;;;;;;;;;;;;:::i;:::-;4360:98;;4473:9;4468:114;4492:2;:9;4488:1;:13;4468:114;;;4522:49;4554:2;4557:1;4554:5;;;;;;;;:::i;:::-;;;;;;;:16;;;4522:31;:49::i;:::-;4503:3;;;;:::i;:::-;;;;4468:114;;22705:663:98;22797:28;22817:7;22797:19;:28::i;:::-;22840:26;22858:7;22840:17;:26::i;:::-;22835:90;;22889:25;;-1:-1:-1;;;22889:25:98;;;;;;;;;;;22835:90;22980:28;23011:22;:20;:22::i;:::-;-1:-1:-1;;;;;23011:50:98;;23062:7;23079:4;23011:74;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22980:105;;23100:23;23095:78;;23146:16;;-1:-1:-1;;;23146:16:98;;;;;;;;;;;23095:78;23182:42;23238:5;23227:53;;;;;;;;;;;;:::i;:::-;23182:98;;23290:37;23315:7;23324:2;23290:24;:37::i;:::-;23337:24;23349:7;23358:2;23337:11;:24::i;27541:127::-;27633:28;;9901:25:126;;;27633:28:98;;9889:2:126;9874:18;27633:28:98;9755:177:126;6721:269:10;-1:-1:-1;;;;;;;6815:16:10;;;6811:173;;6847:45;6879:3;6884:7;6847:31;:45::i;6811:173::-;6923:50;6952:6;6960:3;6965:7;6923:28;:50::i;28004:844:98:-;-1:-1:-1;;;;;28146:29:98;;28114;28146;;;:20;:29;;;;;;;;28114:61;;;;;;;;;;;;;;;;;;;28146:29;;28114:61;;;28146:29;28114:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28190:9;28185:657;28209:12;:19;28205:1;:23;28185:657;;;28249:18;28270:12;28283:1;28270:15;;;;;;;;:::i;:::-;;;;;;;28249:36;;28299:40;28342:9;:21;28352:10;28342:21;;;;;;;;;;;28299:64;;28381:26;28396:10;28381:14;:26::i;:::-;28377:455;;;-1:-1:-1;;;;;28450:35:98;;28427:20;28450:35;;;:26;;;:35;;;;;;;28503:39;;;;28560:21;;;:37;;28450:35;;;;28560:37;;28450:35;;28560:37;:::i;:::-;;;;;;;;28630:12;28615:11;;:27;;;;;;;:::i;:::-;;;;-1:-1:-1;28660:50:98;;-1:-1:-1;28687:8:98;28697:12;28660:26;:50::i;:::-;-1:-1:-1;;;;;;;;;;;28746:7:98;28755:10;28767:1;28770:8;:21;;;28793:8;:23;;;28733:84;;;;;;;;;;:::i;:::-;;;;;;;;28409:423;28377:455;28235:607;;28230:3;;;;;:::i;:::-;;;;28185:657;;6530:1642:83;6578:7;6601:1;6606;6601:6;6597:45;;-1:-1:-1;6630:1:83;;6530:1642;-1:-1:-1;6530:1642:83:o;6597:45::-;7321:14;7355:1;7344:7;7349:1;7344:4;:7::i;:::-;:12;;7338:1;:19;;7321:36;;7816:1;7805:6;7801:1;:10;;;;;:::i;:::-;;7792:6;:19;7791:26;;7782:35;;7865:1;7854:6;7850:1;:10;;;;;:::i;:::-;;7841:6;:19;7840:26;;7831:35;;7914:1;7903:6;7899:1;:10;;;;;:::i;:::-;;7890:6;:19;7889:26;;7880:35;;7963:1;7952:6;7948:1;:10;;;;;:::i;:::-;;7939:6;:19;7938:26;;7929:35;;8012:1;8001:6;7997:1;:10;;;;;:::i;:::-;;7988:6;:19;7987:26;;7978:35;;8061:1;8050:6;8046:1;:10;;;;;:::i;:::-;;8037:6;:19;8036:26;;8027:35;;8110:1;8099:6;8095:1;:10;;;;;:::i;:::-;;8086:6;:19;8085:26;;8076:35;;8132:23;8136:6;8148;8144:1;:10;;;;;:::i;:::-;;8132:3;:23::i;42649:277:98:-;42718:15;-1:-1:-1;;;42753:2:98;:13;;42745:66;;;;-1:-1:-1;;;42745:66:98;;52959:2:126;42745:66:98;;;52941:21:126;52998:2;52978:18;;;52971:30;53037:34;53017:18;;;53010:62;-1:-1:-1;;;53088:18:126;;;53081:38;53136:19;;42745:66:98;52757:404:126;42745:66:98;-1:-1:-1;;;42829:2:98;:12;42821:53;;;;-1:-1:-1;;;42821:53:98;;53368:2:126;42821:53:98;;;53350:21:126;53407:2;53387:18;;;53380:30;-1:-1:-1;;;53426:18:126;;;53419:58;53494:18;;42821:53:98;53166:352:126;42821:53:98;42916:3;-1:-1:-1;;;42893:7:98;42898:2;42893;:7;:::i;:::-;42892:19;;;;:::i;:::-;42891:28;;;42649:277;-1:-1:-1;;;42649:277:98:o;1406:259:60:-;1487:37;1506:17;1487:18;:37::i;:::-;1479:95;;;;-1:-1:-1;;;1479:95:60;;53725:2:126;1479:95:60;;;53707:21:126;53764:2;53744:18;;;53737:30;53803:34;53783:18;;;53776:62;-1:-1:-1;;;53854:18:126;;;53847:43;53907:19;;1479:95:60;53523:409:126;1479:95:60;-1:-1:-1;;;;;;;;;;;1584:74:60;;-1:-1:-1;;;;;;1584:74:60;-1:-1:-1;;;;;1584:74:60;;;;;;;;;;1406:259::o;2057:265::-;2165:29;2176:17;2165:10;:29::i;:::-;2222:1;2208:4;:11;:15;:28;;;;2227:9;2208:28;2204:112;;;2252:53;2281:17;2300:4;2252:28;:53::i;2118:794:46:-;2202:16;2534:48;2516:14;2510:4;2506:25;2500:4;2496:36;2493:90;2487:4;2480:104;2741:32;2724:14;2718:4;2714:25;2711:63;2705:4;2698:77;2823:4;2817;2811;2808:1;2800:28;2788:40;-1:-1:-1;;;;;;2855:22:46;;2847:58;;;;-1:-1:-1;;;2847:58:46;;54139:2:126;2847:58:46;;;54121:21:126;54178:2;54158:18;;;54151:30;-1:-1:-1;;;54197:18:126;;;54190:53;54260:18;;2847:58:46;53937:347:126;1866:580:99;1960:33;1996:22;;;:9;:22;;;;;;2045:16;;;;;;:58;;;;;;;;:::i;:::-;;:137;;;-1:-1:-1;2143:39:99;2123:16;;;;;;:59;;;;;;;;:::i;:::-;;2045:137;:215;;;-1:-1:-1;2222:38:99;2202:16;;;;;;:58;;;;;;;;:::i;:::-;;2045:215;:293;;;-1:-1:-1;2300:38:99;2280:16;;;;;;:58;;;;;;;;:::i;:::-;;2045:293;2028:412;;;2412:16;;;;2370:59;;-1:-1:-1;;;2370:59:99;;;;2399:11;;2412:16;;;;;2370:59;;;:::i;12210:391:98:-;-1:-1:-1;;;;;12292:21:98;;12288:77;;12336:18;;-1:-1:-1;;;12336:18:98;;;;;;;;;;;12288:77;12386:17;;-1:-1:-1;;;;;12386:17:98;12374:100;;12441:22;;-1:-1:-1;;;12441:22:98;;;;;;;;;;;12374:100;12488:22;:20;:22::i;:::-;-1:-1:-1;;;;;12488:31:98;;12520:7;12488:40;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12483:98;;12551:19;;-1:-1:-1;;;12551:19:98;;;;;;;;;;;33314:1553;33454:22;33495:9;33490:630;33514:16;:23;33510:1;:27;33490:630;;;33617:16;33634:1;33617:19;;;;;;;;:::i;:::-;;;;;;;:30;;;33651:1;33617:35;33613:187;33777:8;33613:187;33813:18;33834:16;33851:1;33834:19;;;;;;;;:::i;:::-;;;;;;;:30;;;33813:51;;33883:26;33898:10;33883:14;:26::i;:::-;33878:167;;33936:29;;-1:-1:-1;;;33936:29:98;;;;;9901:25:126;;;9874:18;;33936:29:98;9755:177:126;33878:167:98;34077:16;34094:1;34077:19;;;;;;;;:::i;:::-;;;;;;;:32;;;34058:51;;;;;:::i;:::-;;;33544:576;33490:630;33539:3;;;;:::i;:::-;;;;33490:630;;;;34216:29;34248:60;34260:30;34282:7;34260:21;:30::i;:::-;34292:15;34248:11;:60::i;:::-;34216:92;;34390:26;34419:22;:20;:22::i;:::-;-1:-1:-1;;;;;34419:47:98;;34467:7;34484:4;34419:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;34390:100;;34680:18;34656:21;:42;34652:147;;;34746:21;34769:18;34721:67;;-1:-1:-1;;;34721:67:98;;;;;;;;;:::i;34652:147::-;-1:-1:-1;;;;;;34809:27:98;;;;;;;:18;:27;;;;;:51;;;;-1:-1:-1;;33314:1553:98:o;34873:3487::-;34996:29;35040:9;35035:3319;35059:16;:23;35055:1;:27;35035:3319;;;35103:18;35124:16;35141:1;35124:19;;;;;;;;:::i;:::-;;;;;;;:30;;;35103:51;;35227:12;:19;35250:1;35227:24;35223:920;;35286:16;;;35300:1;35286:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;35286:16:98;35271:31;;35338:10;35320:12;35333:1;35320:15;;;;;;;;:::i;:::-;;;;;;:28;;;;;35223:920;;;35397:10;35438:9;35433:318;35457:12;:19;35453:1;:23;35433:318;;;35553:10;35534:12;35547:1;35534:15;;;;;;;;:::i;:::-;;;;;;;:29;35530:203;;35599:4;35591:12;;35662:10;35674:1;35636:40;;-1:-1:-1;;;35636:40:98;;;;;;;;;:::i;35530:203::-;35478:3;;;;:::i;:::-;;;;35433:318;;;;35773:5;35768:361;;35802:21;35840:12;:19;35862:1;35840:23;;;;:::i;:::-;-1:-1:-1;;;;;35826:38:98;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;35826:38:98;;35802:62;;35891:9;35886:124;35910:12;:19;35906:1;:23;35886:124;;;35972:12;35985:1;35972:15;;;;;;;;:::i;:::-;;;;;;;35962:4;35967:1;35962:7;;;;;;;;:::i;:::-;;;;;;;;;;:25;35931:3;;;;:::i;:::-;;;;35886:124;;;;36059:10;36031:4;36036:12;:19;36031:25;;;;;;;;:::i;:::-;;;;;;;;;;:38;36106:4;-1:-1:-1;35768:361:98;35379:764;35223:920;36156:12;36171:16;36188:1;36171:19;;;;;;;;:::i;:::-;;;;;;;;;;;;:32;;;36218:40;36261:21;;;:9;:21;;;;;;-1:-1:-1;;;;;36415:35:98;;;;:26;;;:35;;;;;;36171:32;;-1:-1:-1;36638:40:98;36415:35;36171:32;36638:11;:40::i;:::-;-1:-1:-1;;;;;36813:35:98;;;;;;:26;;;:35;;;;;:50;;;36615:63;;-1:-1:-1;36813:35:98;37135:246;-1:-1:-1;;;;;37159:29:98;;;;;;:20;:29;;;;;:36;37155:40;;37135:246;;;37260:19;;-1:-1:-1;;;;;37224:29:98;;37260:19;37224:29;;;:20;:29;;;;;:32;;37254:1;;37224:32;;;;;;:::i;:::-;;;;;;;;;:55;37220:147;;37317:4;37303:18;;37343:5;;37220:147;37197:3;;;;:::i;:::-;;;;37135:246;;;;37399:11;37394:106;;-1:-1:-1;;;;;37430:29:98;;;;;;:20;:29;;;;;;;37465:19;;37430:55;;;;;;;;;;;;;;;;;;37394:106;37679:12;37655:20;:36;37651:370;;37726:35;37741:20;37726:12;:35;:::i;:::-;37711:11;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;37804:35:98;;-1:-1:-1;37819:20:98;37804:12;:35;:::i;:::-;37779:8;:21;;;:60;;;;;;;:::i;:::-;;;;-1:-1:-1;37651:370:98;;-1:-1:-1;37651:370:98;;37893:35;37916:12;37893:20;:35;:::i;:::-;37878:11;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;37971:35:98;;-1:-1:-1;37994:12:98;37971:20;:35;:::i;:::-;37946:8;:21;;;:60;;;;;;;:::i;:::-;;;;-1:-1:-1;;37651:370:98;38038:8;:18;;;38060:1;38038:23;38034:310;;38102:12;38081:18;;;:33;38034:310;;;38153:58;38180:8;38190:20;38153:26;:58::i;:::-;-1:-1:-1;;;;;;;;;;;38247:7:98;38256:10;38268:12;38282:8;:21;;;38305:8;:23;;;38234:95;;;;;;;;;;:::i;:::-;;;;;;;;38034:310;35089:3265;;;;;;35084:3;;;;;:::i;:::-;;;;35035:3319;;2455:490:14;2711:4;2705;2699;2693;2685:6;2681:2;2674:5;2669:47;2659:270;;2822:10;2816:4;2809:24;2910:4;2904;2897:18;11454:1189;11617:2;11611:4;11604:16;11674:6;11668:4;11661:20;-1:-1:-1;;;11808:4:14;11801:48;12272:4;12266;12260;12254;12251:1;12244:5;12237;12232:45;12192:16;12185:24;12181:1;12174:4;12168:11;12165:18;12162:48;11890:405;11863:655;;12411:10;12405:4;12398:24;12499:4;12493;12486:18;11863:655;12625:1;12619:4;12612:15;11454:1189;;;:::o;32918:193:98:-;32994:4;33017:22;;;:9;:22;;;;;:33;:37;;;;:87;;-1:-1:-1;;33102:1:98;33058:22;;;:9;:22;;;;;:32;;;-1:-1:-1;;;;;33058:32:98;:46;;;32918:193::o;8633:983:83:-;8685:7;;8769:3;8760:12;;;:16;8756:99;;8806:3;8796:13;;;;8827;8756:99;8881:2;8872:11;;;:15;8868:96;;8917:2;8907:12;;;;8937;8868:96;8990:2;8981:11;;;:15;8977:96;;9026:2;9016:12;;;;9046;8977:96;9099:2;9090:11;;;:15;9086:96;;9135:2;9125:12;;;;9155;9086:96;9208:1;9199:10;;;:14;9195:93;;9243:1;9233:11;;;;9262;9195:93;9314:1;9305:10;;;:14;9301:93;;9349:1;9339:11;;;;9368;9301:93;9420:1;9411:10;;;:14;9407:93;;9455:1;9445:11;;;;9474;9407:93;9526:1;9517:10;;;:14;9513:64;;9561:1;9551:11;9603:6;8633:983;-1:-1:-1;;8633:983:83:o;588:104::-;646:7;676:1;672;:5;:13;;684:1;672:13;;;-1:-1:-1;680:1:83;;588:104;-1:-1:-1;588:104:83:o;1771:152:60:-;1837:37;1856:17;1837:18;:37::i;:::-;1889:27;;-1:-1:-1;;;;;1889:27:60;;;;;;;;1771:152;:::o;6674:198:76:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;38366:284:98:-;38451:7;;38486:25;38505:6;38493:8;38486:25;:::i;:::-;38470:41;;38535:1;38526:6;:10;38522:90;;;38576:8;38586:6;38594;38559:42;;-1:-1:-1;;;38559:42:98;;;;;;;;;;:::i;7058:325:76:-;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:76;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:76:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;8121:18;8132:6;8121:10;:18::i;:::-;8113:60;;;;-1:-1:-1;;;8113:60:76;;56142:2:126;8113:60:76;;;56124:21:126;56181:2;56161:18;;;56154:30;56220:31;56200:18;;;56193:59;56269:18;;8113:60:76;55940:353:126;8113:60:76;-1:-1:-1;8208:10:76;8201:17;;7875:418;8249:33;8257:10;8269:12;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:76;;;;;;;;:::i;14:180:126:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:126;;14:180;-1:-1:-1;14:180:126:o;199:104::-;-1:-1:-1;;;;;265:31:126;253:44;;199:104::o;308:127::-;369:10;364:3;360:20;357:1;350:31;400:4;397:1;390:15;424:4;421:1;414:15;440:119;527:1;520:5;517:12;507:46;;533:18;;:::i;564:250::-;649:1;659:113;673:6;670:1;667:13;659:113;;;749:11;;;743:18;730:11;;;723:39;695:2;688:10;659:113;;;-1:-1:-1;;806:1:126;788:16;;781:27;564:250::o;819:271::-;861:3;899:5;893:12;926:6;921:3;914:19;942:76;1011:6;1004:4;999:3;995:14;988:4;981:5;977:16;942:76;:::i;:::-;1072:2;1051:15;-1:-1:-1;;1047:29:126;1038:39;;;;1079:4;1034:50;;819:271;-1:-1:-1;;819:271:126:o;1095:252::-;1182:5;1176:12;1171:3;1164:25;1146:3;1235:4;1228:5;1224:16;1218:23;1273:4;1266;1261:3;1257:14;1250:28;1294:47;1335:4;1330:3;1326:14;1312:12;1294:47;:::i;1352:1500::-;1929:4;1958:3;1988:6;1977:9;1970:25;2031:6;2026:2;2015:9;2011:18;2004:34;2074:6;2069:2;2058:9;2054:18;2047:34;2117:6;2112:2;2101:9;2097:18;2090:34;2160:1;2156;2151:3;2147:11;2143:19;2211:2;2203:6;2199:15;2193:3;2182:9;2178:19;2171:44;2264:2;2256:6;2252:15;2246:3;2235:9;2231:19;2224:44;2317:2;2309:6;2305:15;2299:3;2288:9;2284:19;2277:44;2358:6;2352:3;2341:9;2337:19;2330:35;2374:44;2411:6;2374:44;:::i;:::-;2455:6;2449:3;2438:9;2434:19;2427:35;2499:2;2493:3;2482:9;2478:19;2471:31;2519:54;2569:2;2558:9;2554:18;2546:6;2519:54;:::i;:::-;2610:14;;2604:3;2589:19;;2582:43;2681:2;2668:16;;2662:23;2656:3;2641:19;;2634:52;2746:2;2733:16;;;2727:23;2723:32;2717:3;2702:19;;2695:61;-1:-1:-1;;2787:3:126;2772:19;;2765:36;;;;2832:3;2817:19;;;2810:36;2511:62;1352:1500;-1:-1:-1;;;;;;;;;;1352:1500:126:o;2857:286::-;2915:6;2968:2;2956:9;2947:7;2943:23;2939:32;2936:52;;;2984:1;2981;2974:12;2936:52;3010:23;;-1:-1:-1;;;;;;3062:32:126;;3052:43;;3042:71;;3109:1;3106;3099:12;3957:127;4018:10;4013:3;4009:20;4006:1;3999:31;4049:4;4046:1;4039:15;4073:4;4070:1;4063:15;4089:253;4161:2;4155:9;4203:4;4191:17;;-1:-1:-1;;;;;4223:34:126;;4259:22;;;4220:62;4217:88;;;4285:18;;:::i;:::-;4321:2;4314:22;4089:253;:::o;4347:::-;4419:2;4413:9;4461:4;4449:17;;-1:-1:-1;;;;;4481:34:126;;4517:22;;;4478:62;4475:88;;;4543:18;;:::i;4605:255::-;4677:2;4671:9;4719:6;4707:19;;-1:-1:-1;;;;;4741:34:126;;4777:22;;;4738:62;4735:88;;;4803:18;;:::i;4865:257::-;4937:4;4931:11;;;4969:17;;-1:-1:-1;;;;;5001:34:126;;5037:22;;;4998:62;4995:88;;;5063:18;;:::i;5127:253::-;5199:2;5193:9;5241:4;5229:17;;-1:-1:-1;;;;;5261:34:126;;5297:22;;;5258:62;5255:88;;;5323:18;;:::i;5385:275::-;5456:2;5450:9;5521:2;5502:13;;-1:-1:-1;;5498:27:126;5486:40;;-1:-1:-1;;;;;5541:34:126;;5577:22;;;5538:62;5535:88;;;5603:18;;:::i;:::-;5639:2;5632:22;5385:275;;-1:-1:-1;5385:275:126:o;5665:144::-;-1:-1:-1;;;;;5753:31:126;;5743:42;;5733:70;;5799:1;5796;5789:12;5814:727;5877:5;5925:4;5913:9;5908:3;5904:19;5900:30;5897:50;;;5943:1;5940;5933:12;5897:50;5965:22;;:::i;:::-;5956:31;;6024:9;6011:23;6043:46;6081:7;6043:46;:::i;:::-;6098:22;;6172:2;6157:18;;6144:32;6185:46;6144:32;6185:46;:::i;:::-;6263:7;6258:2;6251:5;6247:14;6240:31;;6331:2;6320:9;6316:18;6303:32;6298:2;6291:5;6287:14;6280:56;6396:2;6385:9;6381:18;6368:32;6363:2;6356:5;6352:14;6345:56;6462:3;6451:9;6447:19;6434:33;6428:3;6421:5;6417:15;6410:58;6529:3;6518:9;6514:19;6501:33;6495:3;6488:5;6484:15;6477:58;5814:727;;;;:::o;6546:413::-;6601:5;6649:4;6637:9;6632:3;6628:19;6624:30;6621:50;;;6667:1;6664;6657:12;6621:50;6689:22;;:::i;:::-;6680:31;;6747:9;6734:23;6727:5;6720:38;6818:2;6807:9;6803:18;6790:32;6785:2;6778:5;6774:14;6767:56;6883:2;6872:9;6868:18;6855:32;6850:2;6843:5;6839:14;6832:56;6948:2;6937:9;6933:18;6920:32;6915:2;6908:5;6904:14;6897:56;6546:413;;;;:::o;6964:366::-;7094:6;7102;7155:3;7143:9;7134:7;7130:23;7126:33;7123:53;;;7172:1;7169;7162:12;7123:53;7195:54;7241:7;7230:9;7195:54;:::i;:::-;7185:64;;7268:56;7316:7;7310:3;7299:9;7295:19;7268:56;:::i;:::-;7258:66;;6964:366;;;;;:::o;7335:183::-;7395:4;-1:-1:-1;;;;;7417:30:126;;7414:56;;;7450:18;;:::i;:::-;-1:-1:-1;7495:1:126;7491:14;7507:4;7487:25;;7335:183::o;7523:750::-;7577:5;7630:3;7623:4;7615:6;7611:17;7607:27;7597:55;;7648:1;7645;7638:12;7597:55;7684:6;7671:20;7710:4;7734:60;7750:43;7790:2;7750:43;:::i;:::-;7734:60;:::i;:::-;7828:15;;;7914:1;7910:10;;;;7898:23;;7894:32;;;7859:12;;;;7938:15;;;7935:35;;;7966:1;7963;7956:12;7935:35;8002:2;7994:6;7990:15;8014:230;8030:6;8025:3;8022:15;8014:230;;;8110:3;8097:17;8127:44;8165:5;8127:44;:::i;:::-;8184:18;;8222:12;;;;8047;;8014:230;;;-1:-1:-1;8262:5:126;7523:750;-1:-1:-1;;;;;;7523:750:126:o;8278:186::-;8326:4;-1:-1:-1;;;;;8348:30:126;;8345:56;;;8381:18;;:::i;:::-;-1:-1:-1;8447:2:126;8426:15;-1:-1:-1;;8422:29:126;8453:4;8418:40;;8278:186::o;8469:336::-;8533:5;8562:52;8578:35;8606:6;8578:35;:::i;8562:52::-;8553:61;;8637:6;8630:5;8623:21;8677:3;8668:6;8663:3;8659:16;8656:25;8653:45;;;8694:1;8691;8684:12;8653:45;8743:6;8738:3;8731:4;8724:5;8720:16;8707:43;8797:1;8790:4;8781:6;8774:5;8770:18;8766:29;8759:40;8469:336;;;;;:::o;8810:220::-;8852:5;8905:3;8898:4;8890:6;8886:17;8882:27;8872:55;;8923:1;8920;8913:12;8872:55;8945:79;9020:3;9011:6;8998:20;8991:4;8983:6;8979:17;8945:79;:::i;9035:715::-;9146:6;9154;9162;9215:2;9203:9;9194:7;9190:23;9186:32;9183:52;;;9231:1;9228;9221:12;9183:52;9258:23;;-1:-1:-1;;;;;9330:14:126;;;9327:34;;;9357:1;9354;9347:12;9327:34;9380:61;9433:7;9424:6;9413:9;9409:22;9380:61;:::i;:::-;9370:71;;9494:2;9483:9;9479:18;9466:32;9450:48;;9523:2;9513:8;9510:16;9507:36;;;9539:1;9536;9529:12;9507:36;;9562:51;9605:7;9594:8;9583:9;9579:24;9562:51;:::i;:::-;9552:61;;;9663:2;9652:9;9648:18;9635:32;9676:44;9714:5;9676:44;:::i;:::-;9739:5;9729:15;;;9035:715;;;;;:::o;9937:229::-;-1:-1:-1;;;;;10127:32:126;;;;10109:51;;10097:2;10082:18;;9937:229::o;10393:568::-;10470:6;10478;10486;10539:2;10527:9;10518:7;10514:23;10510:32;10507:52;;;10555:1;10552;10545:12;10507:52;10594:9;10581:23;10613:44;10651:5;10613:44;:::i;:::-;10676:5;-1:-1:-1;10733:2:126;10718:18;;10705:32;10746:46;10705:32;10746:46;:::i;:::-;10811:7;-1:-1:-1;10870:2:126;10855:18;;10842:32;10883:46;10842:32;10883:46;:::i;11362:468::-;11439:6;11447;11500:2;11488:9;11479:7;11475:23;11471:32;11468:52;;;11516:1;11513;11506:12;11468:52;11543:23;;-1:-1:-1;;;;;11578:30:126;;11575:50;;;11621:1;11618;11611:12;11575:50;11644:49;11685:7;11676:6;11665:9;11661:22;11644:49;:::i;:::-;11634:59;;;11743:2;11732:9;11728:18;11715:32;11756:44;11794:5;11756:44;:::i;:::-;11819:5;11809:15;;;11362:468;;;;;:::o;12043:142::-;12126:1;12119:5;12116:12;12106:46;;12132:18;;:::i;:::-;12161;;12043:142::o;12190:213::-;12339:2;12324:18;;12351:46;12328:9;12379:6;12351:46;:::i;12408:328::-;12476:6;12484;12537:2;12525:9;12516:7;12512:23;12508:32;12505:52;;;12553:1;12550;12543:12;12505:52;12592:9;12579:23;12611:44;12649:5;12611:44;:::i;:::-;12674:5;12726:2;12711:18;;;;12698:32;;-1:-1:-1;;;12408:328:126:o;12741:248::-;12809:6;12817;12870:2;12858:9;12849:7;12845:23;12841:32;12838:52;;;12886:1;12883;12876:12;12838:52;-1:-1:-1;;12909:23:126;;;12979:2;12964:18;;;12951:32;;-1:-1:-1;12741:248:126:o;12994:316::-;13071:6;13079;13087;13140:2;13128:9;13119:7;13115:23;13111:32;13108:52;;;13156:1;13153;13146:12;13108:52;-1:-1:-1;;13179:23:126;;;13249:2;13234:18;;13221:32;;-1:-1:-1;13300:2:126;13285:18;;;13272:32;;12994:316;-1:-1:-1;12994:316:126:o;13315:143::-;13399:1;13392:5;13389:12;13379:46;;13405:18;;:::i;13463:215::-;13613:2;13598:18;;13625:47;13602:9;13654:6;13625:47;:::i;13683:260::-;13742:6;13795:2;13783:9;13774:7;13770:23;13766:32;13763:52;;;13811:1;13808;13801:12;13763:52;13850:9;13837:23;13869:44;13907:5;13869:44;:::i;14369:468::-;14446:6;14454;14507:2;14495:9;14486:7;14482:23;14478:32;14475:52;;;14523:1;14520;14513:12;14475:52;14562:9;14549:23;14581:44;14619:5;14581:44;:::i;:::-;14644:5;-1:-1:-1;14700:2:126;14685:18;;14672:32;-1:-1:-1;;;;;14716:30:126;;14713:50;;;14759:1;14756;14749:12;14713:50;14782:49;14823:7;14814:6;14803:9;14799:22;14782:49;:::i;:::-;14772:59;;;14369:468;;;;;:::o;14842:752::-;14929:6;14937;14945;14998:2;14986:9;14977:7;14973:23;14969:32;14966:52;;;15014:1;15011;15004:12;14966:52;15053:9;15040:23;15072:44;15110:5;15072:44;:::i;:::-;15135:5;-1:-1:-1;15191:2:126;15176:18;;15163:32;-1:-1:-1;;;;;15207:30:126;;15204:50;;;15250:1;15247;15240:12;15204:50;15273:22;;15326:4;15318:13;;15314:27;-1:-1:-1;15304:55:126;;15355:1;15352;15345:12;15304:55;15378:73;15443:7;15438:2;15425:16;15420:2;15416;15412:11;15378:73;:::i;15838:348::-;15922:6;15975:2;15963:9;15954:7;15950:23;15946:32;15943:52;;;15991:1;15988;15981:12;15943:52;16018:23;;-1:-1:-1;;;;;16053:30:126;;16050:50;;;16096:1;16093;16086:12;16050:50;16119:61;16172:7;16163:6;16152:9;16148:22;16119:61;:::i;16191:851::-;16389:6;16397;16405;16413;16466:3;16454:9;16445:7;16441:23;16437:33;16434:53;;;16483:1;16480;16473:12;16434:53;16506:54;16552:7;16541:9;16506:54;:::i;:::-;16496:64;;16579:56;16627:7;16621:3;16610:9;16606:19;16579:56;:::i;:::-;16569:66;-1:-1:-1;16686:3:126;16671:19;;16658:33;-1:-1:-1;;;;;16740:14:126;;;16737:34;;;16767:1;16764;16757:12;16737:34;16790:61;16843:7;16834:6;16823:9;16819:22;16790:61;:::i;:::-;16780:71;;16904:3;16893:9;16889:19;16876:33;16860:49;;16934:2;16924:8;16921:16;16918:36;;;16950:1;16947;16940:12;16918:36;;16973:63;17028:7;17017:8;17006:9;17002:24;16973:63;:::i;:::-;16963:73;;;16191:851;;;;;;;:::o;17252:261::-;17433:2;17422:9;17415:21;17396:4;17453:54;17503:2;17492:9;17488:18;17480:6;17453:54;:::i;17518:1357::-;17645:6;17653;17706:2;17694:9;17685:7;17681:23;17677:32;17674:52;;;17722:1;17719;17712:12;17674:52;17749:23;;-1:-1:-1;;;;;17821:14:126;;;17818:34;;;17848:1;17845;17838:12;17818:34;17871:61;17924:7;17915:6;17904:9;17900:22;17871:61;:::i;:::-;17861:71;;17951:2;17941:12;;18006:2;17995:9;17991:18;17978:32;18035:2;18025:8;18022:16;18019:36;;;18051:1;18048;18041:12;18019:36;18074:24;;18129:4;18121:13;;18117:27;-1:-1:-1;18107:55:126;;18158:1;18155;18148:12;18107:55;18194:2;18181:16;18217:60;18233:43;18273:2;18233:43;:::i;18217:60::-;18311:15;;;18393:1;18389:10;;;;18381:19;;18377:28;;;18342:12;;;;18417:19;;;18414:39;;;18449:1;18446;18439:12;18414:39;18481:2;18477;18473:11;18493:352;18509:6;18504:3;18501:15;18493:352;;;18595:3;18582:17;18631:2;18618:11;18615:19;18612:109;;;18675:1;18704:2;18700;18693:14;18612:109;18746:56;18794:7;18789:2;18775:11;18771:2;18767:20;18763:29;18746:56;:::i;:::-;18734:69;;-1:-1:-1;18823:12:126;;;;18526;;18493:352;;;18497:3;18864:5;18854:15;;;;;;;;17518:1357;;;;;:::o;18880:826::-;19113:2;19165:21;;;19235:13;;19138:18;;;19257:22;;;19084:4;;19113:2;19298;;19316:18;;;;19357:15;;;19084:4;19400:280;19414:6;19411:1;19408:13;19400:280;;;19473:13;;19515:9;;-1:-1:-1;;;;;19511:35:126;19499:48;;19587:11;;19581:18;19567:12;;;19560:40;19620:12;;;;19655:15;;;;19543:1;19429:9;19400:280;;;-1:-1:-1;19697:3:126;;18880:826;-1:-1:-1;;;;;;;18880:826:126:o;19711:348::-;19763:8;19773:6;19827:3;19820:4;19812:6;19808:17;19804:27;19794:55;;19845:1;19842;19835:12;19794:55;-1:-1:-1;19868:20:126;;-1:-1:-1;;;;;19900:30:126;;19897:50;;;19943:1;19940;19933:12;19897:50;19980:4;19972:6;19968:17;19956:29;;20032:3;20025:4;20016:6;20008;20004:19;20000:30;19997:39;19994:59;;;20049:1;20046;20039:12;20064:788;20164:6;20172;20180;20188;20196;20249:2;20237:9;20228:7;20224:23;20220:32;20217:52;;;20265:1;20262;20255:12;20217:52;20288:23;;;-1:-1:-1;20362:2:126;20347:18;;20334:32;-1:-1:-1;;;;;20415:14:126;;;20412:34;;;20442:1;20439;20432:12;20412:34;20481:59;20532:7;20523:6;20512:9;20508:22;20481:59;:::i;:::-;20559:8;;-1:-1:-1;20455:85:126;-1:-1:-1;20647:2:126;20632:18;;20619:32;;-1:-1:-1;20663:16:126;;;20660:36;;;20692:1;20689;20682:12;20660:36;;20731:61;20784:7;20773:8;20762:9;20758:24;20731:61;:::i;:::-;20064:788;;;;-1:-1:-1;20064:788:126;;-1:-1:-1;20811:8:126;;20705:87;20064:788;-1:-1:-1;;;20064:788:126:o;20857:118::-;20943:5;20936:13;20929:21;20922:5;20919:32;20909:60;;20965:1;20962;20955:12;20980:241;21036:6;21089:2;21077:9;21068:7;21064:23;21060:32;21057:52;;;21105:1;21102;21095:12;21057:52;21144:9;21131:23;21163:28;21185:5;21163:28;:::i;21456:1033::-;-1:-1:-1;;;;;21958:15:126;;;21940:34;;22010:15;;;22005:2;21990:18;;21983:43;22062:15;;22057:2;22042:18;;22035:43;22109:2;22094:18;;22087:34;;;22152:3;22137:19;;22130:35;;;21889:3;21874:19;;22174:44;22211:6;22174:44;:::i;:::-;22255:6;22249:3;22238:9;22234:19;22227:35;22299:6;22293:3;22282:9;22278:19;22271:35;22343:6;22337:3;22326:9;22322:19;22315:35;22387:6;22381:3;22370:9;22366:19;22359:35;22431:6;22425:3;22414:9;22410:19;22403:35;22475:7;22469:3;22458:9;22454:19;22447:36;21456:1033;;;;;;;;;;;;;;:::o;22494:328::-;22562:6;22570;22623:2;22611:9;22602:7;22598:23;22594:32;22591:52;;;22639:1;22636;22629:12;22591:52;22675:9;22662:23;22652:33;;22735:2;22724:9;22720:18;22707:32;22748:44;22786:5;22748:44;:::i;22827:239::-;22970:2;22955:18;;22982:44;23019:6;22982:44;:::i;:::-;23035:25;;;22827:239;:::o;23071:388::-;23148:6;23156;23209:2;23197:9;23188:7;23184:23;23180:32;23177:52;;;23225:1;23222;23215:12;23177:52;23248:23;;;-1:-1:-1;23322:2:126;23307:18;;23294:32;-1:-1:-1;;;;;23338:30:126;;23335:50;;;23381:1;23378;23371:12;23464:220;23613:2;23602:9;23595:21;23576:4;23633:45;23674:2;23663:9;23659:18;23651:6;23633:45;:::i;23689:380::-;23768:1;23764:12;;;;23811;;;23832:61;;23886:4;23878:6;23874:17;23864:27;;23832:61;23939:2;23931:6;23928:14;23908:18;23905:38;23902:161;;23985:10;23980:3;23976:20;23973:1;23966:31;24020:4;24017:1;24010:15;24048:4;24045:1;24038:15;24688:127;24749:10;24744:3;24740:20;24737:1;24730:31;24780:4;24777:1;24770:15;24804:4;24801:1;24794:15;24820:128;24887:9;;;24908:11;;;24905:37;;;24922:18;;:::i;24953:345::-;-1:-1:-1;;;;;25173:32:126;;;;25155:51;;25237:2;25222:18;;25215:34;;;;25280:2;25265:18;;25258:34;25143:2;25128:18;;24953:345::o;25303:125::-;25368:9;;;25389:10;;;25386:36;;;25402:18;;:::i;25433:345::-;25635:25;;;-1:-1:-1;;;;;25696:32:126;;;;25691:2;25676:18;;25669:60;25760:2;25745:18;;25738:34;25623:2;25608:18;;25433:345::o;25783:279::-;25868:6;25921:2;25909:9;25900:7;25896:23;25892:32;25889:52;;;25937:1;25934;25927:12;25889:52;25969:9;25963:16;25988:44;26026:5;25988:44;:::i;26067:447::-;26298:25;;;-1:-1:-1;;;;;26397:15:126;;;26392:2;26377:18;;26370:43;26449:15;;26444:2;26429:18;;26422:43;26496:2;26481:18;;26474:34;26285:3;26270:19;;26067:447::o;26519:127::-;26580:10;26575:3;26571:20;26568:1;26561:31;26611:4;26608:1;26601:15;26635:4;26632:1;26625:15;26651:217;26691:1;26717;26707:132;;26761:10;26756:3;26752:20;26749:1;26742:31;26796:4;26793:1;26786:15;26824:4;26821:1;26814:15;26707:132;-1:-1:-1;26853:9:126;;26651:217::o;26873:193::-;26911:3;-1:-1:-1;;;;;26944:30:126;;;26983:41;;27004:18;;:::i;:::-;-1:-1:-1;;27040:20:126;;26873:193;-1:-1:-1;;26873:193:126:o;27071:168::-;27144:9;;;27175;;27192:15;;;27186:22;;27172:37;27162:71;;27213:18;;:::i;27244:408::-;27446:2;27428:21;;;27485:2;27465:18;;;27458:30;-1:-1:-1;;;;;;;;;;;27519:2:126;27504:18;;27497:62;-1:-1:-1;;;27590:2:126;27575:18;;27568:42;27642:3;27627:19;;27244:408::o;27657:::-;27859:2;27841:21;;;27898:2;27878:18;;;27871:30;-1:-1:-1;;;;;;;;;;;27932:2:126;27917:18;;27910:62;-1:-1:-1;;;28003:2:126;27988:18;;27981:42;28055:3;28040:19;;27657:408::o;28495:407::-;28697:2;28679:21;;;28736:2;28716:18;;;28709:30;28775:34;28770:2;28755:18;;28748:62;-1:-1:-1;;;28841:2:126;28826:18;;28819:41;28892:3;28877:19;;28495:407::o;28907:304::-;-1:-1:-1;;;;;29137:15:126;;;29119:34;;29189:15;;29184:2;29169:18;;29162:43;29069:2;29054:18;;28907:304::o;29216:245::-;29283:6;29336:2;29324:9;29315:7;29311:23;29307:32;29304:52;;;29352:1;29349;29342:12;29304:52;29384:9;29378:16;29403:28;29425:5;29403:28;:::i;29466:184::-;29536:6;29589:2;29577:9;29568:7;29564:23;29560:32;29557:52;;;29605:1;29602;29595:12;29557:52;-1:-1:-1;29628:16:126;;29466:184;-1:-1:-1;29466:184:126:o;29655:151::-;29734:13;;29756:44;29734:13;29756:44;:::i;:::-;29655:151;;;:::o;30080:248::-;30254:25;;;30310:2;30295:18;;30288:34;30242:2;30227:18;;30080:248::o;30333:274::-;30507:25;;;-1:-1:-1;;;;;30568:32:126;30563:2;30548:18;;30541:60;30495:2;30480:18;;30333:274::o;30612:266::-;30700:6;30695:3;30688:19;30752:6;30745:5;30738:4;30733:3;30729:14;30716:43;-1:-1:-1;30804:1:126;30779:16;;;30797:4;30775:27;;;30768:38;;;;30860:2;30839:15;;;-1:-1:-1;;30835:29:126;30826:39;;;30822:50;;30612:266::o;30883:315::-;31068:6;31057:9;31050:25;31111:2;31106;31095:9;31091:18;31084:30;31031:4;31131:61;31188:2;31177:9;31173:18;31165:6;31157;31131:61;:::i;:::-;31123:69;30883:315;-1:-1:-1;;;;;30883:315:126:o;31203:209::-;31241:3;-1:-1:-1;;;;;31311:14:126;;;-1:-1:-1;;;;;;31337:15:126;;31334:41;;31355:18;;:::i;:::-;31404:1;31391:15;;31203:209;-1:-1:-1;;;31203:209:126:o;31417:682::-;-1:-1:-1;;;;;31775:15:126;;;31757:34;;31822:2;31807:18;;31800:34;;;31865:2;31850:18;;31843:34;;;31913:15;;31908:2;31893:18;;31886:43;31966:3;31960;31945:19;;31938:32;;;31700:4;;31987:62;;32029:19;;32021:6;32013;31987:62;:::i;:::-;31979:70;;32086:6;32080:3;32069:9;32065:19;32058:35;31417:682;;;;;;;;;;:::o;32104:135::-;32143:3;32164:17;;;32161:43;;32184:18;;:::i;:::-;-1:-1:-1;32231:1:126;32220:13;;32104:135::o;32244:396::-;32310:5;32358:4;32346:9;32341:3;32337:19;32333:30;32330:50;;;32376:1;32373;32366:12;32330:50;32398:22;;:::i;:::-;32389:31;;32449:9;32443:16;32436:5;32429:31;32513:2;32502:9;32498:18;32492:25;32487:2;32480:5;32476:14;32469:49;32571:2;32560:9;32556:18;32550:25;32545:2;32538:5;32534:14;32527:49;32629:2;32618:9;32614:18;32608:25;32603:2;32596:5;32592:14;32585:49;32244:396;;;;:::o;32645:157::-;32734:13;;32776:1;32766:12;;32756:40;;32792:1;32789;32782:12;32807:156;32895:13;;32937:1;32927:12;;32917:40;;32953:1;32950;32943:12;32968:420;33043:5;33091:4;33079:9;33074:3;33070:19;33066:30;33063:50;;;33109:1;33106;33099:12;33063:50;33142:2;33136:9;33184:4;33172:17;;-1:-1:-1;;;;;33204:34:126;;33240:22;;;33201:62;33198:88;;;33266:18;;:::i;:::-;33302:2;33295:22;33365:16;;33350:32;;-1:-1:-1;33335:6:126;32968:420;-1:-1:-1;32968:420:126:o;33393:696::-;33467:5;33515:4;33503:9;33498:3;33494:19;33490:30;33487:50;;;33533:1;33530;33523:12;33487:50;33555:22;;:::i;:::-;33546:31;;33607:9;33601:16;33626:46;33664:7;33626:46;:::i;:::-;33681:22;;33748:2;33733:18;;33727:25;33761:46;33727:25;33761:46;:::i;:::-;33839:7;33834:2;33827:5;33823:14;33816:31;;33900:2;33889:9;33885:18;33879:25;33874:2;33867:5;33863:14;33856:49;33958:2;33947:9;33943:18;33937:25;33932:2;33925:5;33921:14;33914:49;34017:3;34006:9;34002:19;33996:26;33990:3;33983:5;33979:15;33972:51;34077:3;34066:9;34062:19;34056:26;34050:3;34043:5;34039:15;34032:51;33393:696;;;;:::o;34094:747::-;34159:5;34212:3;34205:4;34197:6;34193:17;34189:27;34179:55;;34230:1;34227;34220:12;34179:55;34259:6;34253:13;34285:4;34309:60;34325:43;34365:2;34325:43;:::i;34309:60::-;34403:15;;;34489:1;34485:10;;;;34473:23;;34469:32;;;34434:12;;;;34513:15;;;34510:35;;;34541:1;34538;34531:12;34510:35;34577:2;34569:6;34565:15;34589:223;34605:6;34600:3;34597:15;34589:223;;;34678:3;34672:10;34695:44;34733:5;34695:44;:::i;:::-;34752:18;;34790:12;;;;34622;;34589:223;;34846:1267;34951:6;35004:2;34992:9;34983:7;34979:23;34975:32;34972:52;;;35020:1;35017;35010:12;34972:52;35047:16;;-1:-1:-1;;;;;35112:14:126;;;35109:34;;;35139:1;35136;35129:12;35109:34;35162:22;;;;35218:6;35200:16;;;35196:29;35193:49;;;35238:1;35235;35228:12;35193:49;35264:22;;:::i;:::-;35309:50;35351:7;35347:2;35309:50;:::i;:::-;35302:5;35295:65;35392:53;35440:3;35436:2;35432:12;35392:53;:::i;:::-;35387:2;35380:5;35376:14;35369:77;35480:52;35527:3;35523:2;35519:12;35480:52;:::i;:::-;35473:4;35466:5;35462:16;35455:78;35567:69;35628:7;35622:3;35618:2;35614:12;35567:69;:::i;:::-;35560:4;35553:5;35549:16;35542:95;35670:68;35730:7;35724:3;35720:2;35716:12;35670:68;:::i;:::-;35664:3;35657:5;35653:15;35646:93;35772:43;35810:3;35806:2;35802:12;35772:43;:::i;:::-;35766:3;35759:5;35755:15;35748:68;35849:43;35887:3;35883:2;35879:12;35849:43;:::i;:::-;35843:3;35836:5;35832:15;35825:68;35932:3;35928:2;35924:12;35918:19;35962:2;35952:8;35949:16;35946:36;;;35978:1;35975;35968:12;35946:36;36015:67;36074:7;36063:8;36059:2;36055:17;36015:67;:::i;:::-;36009:3;35998:15;;35991:92;-1:-1:-1;36002:5:126;34846:1267;-1:-1:-1;;;;;34846:1267:126:o;36118:261::-;36198:5;36192:12;36187:3;36180:25;36254:4;36247:5;36243:16;36237:23;36230:4;36225:3;36221:14;36214:47;36310:4;36303:5;36299:16;36293:23;36286:4;36281:3;36277:14;36270:47;36366:4;36359:5;36355:16;36349:23;36342:4;36337:3;36333:14;36326:47;;;36118:261::o;36826:461::-;36879:3;36917:5;36911:12;36944:6;36939:3;36932:19;36970:4;36999:2;36994:3;36990:12;36983:19;;37036:2;37029:5;37025:14;37057:1;37067:195;37081:6;37078:1;37075:13;37067:195;;;37146:13;;-1:-1:-1;;;;;37142:39:126;37130:52;;37202:12;;;;37237:15;;;;37178:1;37096:9;37067:195;;;-1:-1:-1;37278:3:126;;36826:461;-1:-1:-1;;;;;36826:461:126:o;37292:1239::-;37519:6;37508:9;37501:25;37562:2;37557;37546:9;37542:18;37535:30;37574:61;37631:2;37620:9;37616:18;37607:6;37601:13;37574:61;:::i;:::-;37482:4;37682:2;37674:6;37670:15;37664:22;37695:63;37753:3;37742:9;37738:19;37724:12;37695:63;:::i;:::-;;37807:2;37799:6;37795:15;37789:22;37820:64;37879:3;37868:9;37864:19;37848:14;37820:64;:::i;:::-;-1:-1:-1;37945:4:126;37933:17;;;37927:24;37921:31;37915:3;37900:19;;37893:60;38002:4;37990:17;;;37984:24;36508:12;;-1:-1:-1;;;;;36504:21:126;;;38083:3;38068:19;;36492:34;36579:4;36568:16;;36562:23;36558:32;36542:14;;;36535:56;36640:4;36629:16;;36623:23;36607:14;;;36600:47;36685:16;;;36679:23;36663:14;;;36656:47;36741:16;;36735:23;36719:14;;;36712:47;36472:3;36797:16;;;36791:23;36775:14;;;36768:47;38125:17;;38119:24;38152:55;38202:3;38187:19;;38119:24;38152:55;:::i;:::-;;38256:3;38248:6;38244:16;38238:23;38280:6;38295:54;38345:2;38334:9;38330:18;38314:14;38295:54;:::i;:::-;38398:3;38390:6;38386:16;38380:23;38358:45;;38440:2;38434:3;38423:9;38419:19;38412:31;;38460:65;38520:3;38509:9;38505:19;38489:14;38460:65;:::i;40021:252::-;40209:3;40194:19;;40222:45;40198:9;40249:6;40222:45;:::i;40278:319::-;40480:25;;;40536:2;40521:18;;40514:34;;;;40579:2;40564:18;;40557:34;40468:2;40453:18;;40278:319::o;40602:726::-;40668:5;40716:4;40704:9;40699:3;40695:19;40691:30;40688:50;;;40734:1;40731;40724:12;40688:50;40756:22;;:::i;:::-;40801:16;;40787:31;;40862:2;40847:18;;40841:25;40747:31;;-1:-1:-1;;;;;;40878:30:126;;40875:50;;;40921:1;40918;40911:12;40875:50;40944:22;;40997:4;40989:13;;40985:23;-1:-1:-1;40975:51:126;;41022:1;41019;41012:12;40975:51;41051:2;41045:9;41076:48;41092:31;41120:2;41092:31;:::i;41076:48::-;41147:2;41140:5;41133:17;41187:3;41182:2;41177;41173;41169:11;41165:20;41162:29;41159:49;;;41204:1;41201;41194:12;41159:49;41217:67;41281:2;41276;41269:5;41265:14;41260:2;41256;41252:11;41217:67;:::i;:::-;41311:2;41300:14;;41293:29;-1:-1:-1;41304:5:126;;40602:726;-1:-1:-1;;;40602:726:126:o;41333:1054::-;41425:6;41478:2;41466:9;41457:7;41453:23;41449:32;41446:52;;;41494:1;41491;41484:12;41446:52;41521:16;;-1:-1:-1;;;;;41586:14:126;;;41583:34;;;41613:1;41610;41603:12;41583:34;41636:22;;;;41692:4;41674:16;;;41670:27;41667:47;;;41710:1;41707;41700:12;41667:47;41736:22;;:::i;:::-;41787:2;41781:9;41774:5;41767:24;41829:2;41825;41821:11;41815:18;41842:46;41880:7;41842:46;:::i;:::-;41915:2;41904:14;;41897:31;41966:2;41958:11;;41952:18;41979:46;41952:18;41979:46;:::i;:::-;42052:2;42041:14;;42034:31;42104:2;42096:11;;42090:18;42120:16;;;42117:36;;;42149:1;42146;42139:12;42117:36;42185:65;42242:7;42231:8;42227:2;42223:17;42185:65;:::i;:::-;42180:2;42173:5;42169:14;42162:89;;42298:3;42294:2;42290:12;42284:19;42278:3;42271:5;42267:15;42260:44;42351:3;42347:2;42343:12;42337:19;42331:3;42324:5;42320:15;42313:44;42376:5;42366:15;;;;;41333:1054;;;;:::o;42392:1012::-;42495:6;42548:2;42536:9;42527:7;42523:23;42519:32;42516:52;;;42564:1;42561;42554:12;42516:52;42591:16;;-1:-1:-1;;;;;42656:14:126;;;42653:34;;;42683:1;42680;42673:12;42653:34;42706:22;;;;42762:4;42744:16;;;42740:27;42737:47;;;42780:1;42777;42770:12;42737:47;42806:22;;:::i;:::-;42857:2;42851:9;42844:5;42837:24;42899:2;42895;42891:11;42885:18;42912:46;42950:7;42912:46;:::i;:::-;42985:2;42974:14;;42967:31;43044:2;43036:11;;;43030:18;43014:14;;;43007:42;43087:2;43079:11;;43073:18;43100:46;43073:18;43100:46;:::i;:::-;43173:2;43162:14;;43155:31;43225:3;43217:12;;43211:19;43242:16;;;43239:36;;;43271:1;43268;43261:12;43239:36;43308:65;43365:7;43354:8;43350:2;43346:17;43308:65;:::i;:::-;43302:3;43291:15;;43284:90;-1:-1:-1;43295:5:126;42392:1012;-1:-1:-1;;;;;42392:1012:126:o;43818:545::-;43920:2;43915:3;43912:11;43909:448;;;43956:1;43981:5;43977:2;43970:17;44026:4;44022:2;44012:19;44096:2;44084:10;44080:19;44077:1;44073:27;44067:4;44063:38;44132:4;44120:10;44117:20;44114:47;;;-1:-1:-1;44155:4:126;44114:47;44210:2;44205:3;44201:12;44198:1;44194:20;44188:4;44184:31;44174:41;;44265:82;44283:2;44276:5;44273:13;44265:82;;;44328:17;;;44309:1;44298:13;44265:82;;;44269:3;;;43818:545;;;:::o;44539:1352::-;44659:10;;-1:-1:-1;;;;;44681:30:126;;44678:56;;;44714:18;;:::i;:::-;44743:97;44833:6;44793:38;44825:4;44819:11;44793:38;:::i;:::-;44787:4;44743:97;:::i;:::-;44895:4;;44959:2;44948:14;;44976:1;44971:663;;;;45678:1;45695:6;45692:89;;;-1:-1:-1;45747:19:126;;;45741:26;45692:89;-1:-1:-1;;44496:1:126;44492:11;;;44488:24;44484:29;44474:40;44520:1;44516:11;;;44471:57;45794:81;;44941:944;;44971:663;43765:1;43758:14;;;43802:4;43789:18;;-1:-1:-1;;45007:20:126;;;45125:236;45139:7;45136:1;45133:14;45125:236;;;45228:19;;;45222:26;45207:42;;45320:27;;;;45288:1;45276:14;;;;45155:19;;45125:236;;;45129:3;45389:6;45380:7;45377:19;45374:201;;;45450:19;;;45444:26;-1:-1:-1;;45533:1:126;45529:14;;;45545:3;45525:24;45521:37;45517:42;45502:58;45487:74;;45374:201;-1:-1:-1;;;;;45621:1:126;45605:14;;;45601:22;45588:36;;-1:-1:-1;44539:1352:126:o;46181:273::-;46249:6;46302:2;46290:9;46281:7;46277:23;46273:32;46270:52;;;46318:1;46315;46308:12;46270:52;46350:9;46344:16;46400:4;46393:5;46389:16;46382:5;46379:27;46369:55;;46420:1;46417;46410:12;46459:422;46548:1;46591:5;46548:1;46605:270;46626:7;46616:8;46613:21;46605:270;;;46685:4;46681:1;46677:6;46673:17;46667:4;46664:27;46661:53;;;46694:18;;:::i;:::-;46744:7;46734:8;46730:22;46727:55;;;46764:16;;;;46727:55;46843:22;;;;46803:15;;;;46605:270;;;46609:3;46459:422;;;;;:::o;46886:806::-;46935:5;46965:8;46955:80;;-1:-1:-1;47006:1:126;47020:5;;46955:80;47054:4;47044:76;;-1:-1:-1;47091:1:126;47105:5;;47044:76;47136:4;47154:1;47149:59;;;;47222:1;47217:130;;;;47129:218;;47149:59;47179:1;47170:10;;47193:5;;;47217:130;47254:3;47244:8;47241:17;47238:43;;;47261:18;;:::i;:::-;-1:-1:-1;;47317:1:126;47303:16;;47332:5;;47129:218;;47431:2;47421:8;47418:16;47412:3;47406:4;47403:13;47399:36;47393:2;47383:8;47380:16;47375:2;47369:4;47366:12;47362:35;47359:77;47356:159;;;-1:-1:-1;47468:19:126;;;47500:5;;47356:159;47547:34;47572:8;47566:4;47547:34;:::i;:::-;47617:6;47613:1;47609:6;47605:19;47596:7;47593:32;47590:58;;;47628:18;;:::i;:::-;47666:20;;46886:806;-1:-1:-1;;;46886:806:126:o;47697:131::-;47757:5;47786:36;47813:8;47807:4;47786:36;:::i;49565:324::-;-1:-1:-1;;;49795:24:126;;49844:1;49835:11;;49828:27;;;;49880:2;49871:12;;49565:324::o;50173:127::-;50234:10;50229:3;50225:20;50222:1;50215:31;50265:4;50262:1;50255:15;50289:4;50286:1;50279:15;50305:332;50512:6;50501:9;50494:25;50555:2;50550;50539:9;50535:18;50528:30;50475:4;50575:56;50627:2;50616:9;50612:18;50604:6;50575:56;:::i;50642:127::-;50703:10;50698:3;50694:20;50691:1;50684:31;50734:4;50731:1;50724:15;50758:4;50755:1;50748:15;51065:1185;51194:6;51225:2;51268;51256:9;51247:7;51243:23;51239:32;51236:52;;;51284:1;51281;51274:12;51236:52;51311:16;;-1:-1:-1;;;;;51339:30:126;;51336:50;;;51382:1;51379;51372:12;51336:50;51405:22;;51458:4;51450:13;;51446:27;-1:-1:-1;51436:55:126;;51487:1;51484;51477:12;51436:55;51516:2;51510:9;51539:60;51555:43;51595:2;51555:43;:::i;51539:60::-;51633:15;;;51715:1;51711:10;;;;51703:19;;51699:28;;;51664:12;;;;51739:19;;;51736:39;;;51771:1;51768;51761:12;51736:39;51795:11;;;;51815:405;51831:6;51826:3;51823:15;51815:405;;;51913:4;51907:3;51898:7;51894:17;51890:28;51887:118;;;51959:1;51988:2;51984;51977:14;51887:118;52031:22;;:::i;:::-;52080:10;;52066:25;;52133:12;;;52127:19;52111:14;;;52104:43;52160:18;;51857:4;51848:14;;;;52198:12;;;;51815:405;;52255:497;-1:-1:-1;;;;;52540:32:126;;;;52522:51;;52604:2;52589:18;;52582:34;;;;52647:2;52632:18;;52625:34;;;;52690:2;52675:18;;52668:34;52733:3;52718:19;;52711:35;52509:3;52494:19;;52255:497::o;54289:319::-;54481:25;;;54469:2;54454:18;;54515:44;54552:6;54515:44;:::i;:::-;54595:6;54590:2;54579:9;54575:18;54568:34;54289:319;;;;;:::o;54613:216::-;54677:9;;;54705:11;;;54652:3;54735:9;;54763:10;;54759:19;;54788:10;;54780:19;;54756:44;54753:70;;;54803:18;;:::i;55648:287::-;55777:3;55815:6;55809:13;55831:66;55890:6;55885:3;55878:4;55870:6;55866:17;55831:66;:::i;:::-;55913:16;;;;;55648:287;-1:-1:-1;;55648:287:126:o","linkReferences":{},"immutableReferences":{"55572":[{"start":6305,"length":32},{"start":6369,"length":32},{"start":6528,"length":32},{"start":6592,"length":32},{"start":6712,"length":32}]}},"methodIdentifiers":{"D()":"0f529ba2","DISPUTE_COOLDOWN_SEC()":"f5be3f7c","MAX_STAKED_PROPOSALS()":"406244d8","NATIVE()":"a0cf0aea","RULING_OPTIONS()":"626c47e8","VERSION()":"ffa1ad74","activatePoints()":"814516ad","addToAllowList(address[])":"7263cfe2","allocate(bytes,address)":"ef2920fc","arbitrableConfigs(uint256)":"41bb7605","calculateConviction(uint256,uint256,uint256)":"346db8cb","calculateThreshold(uint256)":"59a5db8b","canExecuteProposal(uint256)":"824ea8ed","cancelProposal(uint256)":"e0a8f6f5","cloneNonce()":"33960459","collateralVault()":"0bece79c","currentArbitrableConfigVersion()":"125fd1d9","cvParams()":"2506b870","deactivatePoints()":"1ddf1e23","deactivatePoints(address)":"6453d9c4","decreasePower(address,uint256)":"2ed04b2b","disputeCount()":"a28889e1","disputeIdToProposalId(uint256)":"255ffb38","disputeProposal(uint256,string,bytes)":"b41596ec","distribute(address[],bytes,address)":"0a6f0ee9","getAllo()":"15cc481e","getArbitrableConfig()":"059351cd","getDecay()":"9a1c157c","getMaxAmount()":"0ba95909","getMaxConviction(uint256)":"950559d7","getMetadata(uint256)":"a574cea4","getPayouts(address[],bytes[])":"b2b878d0","getPointSystem()":"c3292171","getPoolAmount()":"4ab4ba42","getPoolId()":"38fff2d0","getProposal(uint256)":"c7f758a8","getProposalStakedAmount(uint256)":"dc96ff2d","getProposalVoterStake(uint256,address)":"e0dd2c38","getRecipientStatus(address)":"eb11af93","getRegistryCommunity()":"48f19c1d","getRegistryCommunityV0_1()":"6a6f69b4","getStrategyId()":"42fda9c7","getTotalVoterStakePct(address)":"bcc5b93b","increasePoolAmount(uint256)":"f5b0dfb7","increasePower(address,uint256)":"782aadff","init(address,address,address)":"184b9559","init(address,string,address)":"60d5dedc","initialize(address)":"c4d66de8","initialize(uint256,bytes)":"edd146cc","isPoolActive()":"df868ed3","isValidAllocator(address)":"4d31d087","owner()":"8da5cb5b","pointConfig()":"a47ff7e5","pointSystem()":"2dbd6fdd","proposalCounter()":"0c0512e9","proposalType()":"351d9f96","proposals(uint256)":"013cf08b","proxiableUUID()":"52d1902d","registerRecipient(bytes,address)":"2bbe0cae","removeFromAllowList(address[])":"a51312c8","renounceOwnership()":"715018a6","rule(uint256,uint256)":"311a6c56","setCollateralVaultTemplate(address)":"b0d3713a","setPoolActive(bool)":"b5f620ce","setPoolParams((address,address,uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256))":"062f9ece","setPoolParams((address,address,uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256),address[],address[])":"948e7a59","setSybilScorer(address)":"ac1ed7b9","supportsInterface(bytes4)":"01ffc9a7","sybilScorer()":"b6c61f31","totalEffectiveActivePoints()":"d1e36232","totalPointsActivated()":"aba9ffee","totalStaked()":"817b1cd2","totalVoterStakePct(address)":"5db64b99","transferOwnership(address)":"f2fde38b","updateProposalConviction(uint256)":"1aa91a9e","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286","voterStakedProposals(address,uint256)":"868c57b8"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AMOUNT_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AmountOverMaxRatio\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ArbitratorCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"CallerNotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CantIncreaseFixedSystem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ConvictionUnderMinimumThreshold\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DefaultRulingNotSet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_remainingSec\",\"type\":\"uint256\"}],\"name\":\"DisputeCooldownNotPassed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"sentAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requiredAmount\",\"type\":\"uint256\"}],\"name\":\"InsufficientCollateral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MaxPointsReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"pointsSupport\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pointsBalance\",\"type\":\"uint256\"}],\"name\":\"NotEnoughPointsToSupport\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotImplemented\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyArbitrator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCommunityAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncilSafe\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OnlySubmitter\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_poolAmount\",\"type\":\"uint256\"}],\"name\":\"PoolAmountNotEnough\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PoolIdCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PoolIsEmpty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposalDataIsEmpty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposalIdCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalStatus\",\"name\":\"_proposalStatus\",\"type\":\"uint8\"}],\"name\":\"ProposalInvalidForAllocation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotActive\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotDisputed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotInList\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"ProposalSupportDuplicated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RegistryCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_support\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"_delta\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"_result\",\"type\":\"int256\"}],\"name\":\"SupportUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenNotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserCannotExecuteAction\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserIsInactive\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Allocated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"members\",\"type\":\"address[]\"}],\"name\":\"AllowlistMembersAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"members\",\"type\":\"address[]\"}],\"name\":\"AllowlistMembersRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"currentArbitrableConfigVersion\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"name\":\"ArbitrableConfigUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"}],\"name\":\"CVParamsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IArbitrator\",\"name\":\"_arbitrator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_arbitrableDisputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_externalDisputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_templateId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_templateUri\",\"type\":\"string\"}],\"name\":\"DisputeRequest\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Distributed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipientAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Distributed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"data\",\"type\":\"tuple\"}],\"name\":\"InitializedCV\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"initialAllowlist\",\"type\":\"address[]\"}],\"indexed\":false,\"internalType\":\"struct StrategyStruct2.InitializeParams\",\"name\":\"data\",\"type\":\"tuple\"}],\"name\":\"InitializedCV2\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"before\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"name\":\"MinThresholdPointsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"PointsDeactivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"}],\"name\":\"PoolActive\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"PoolAmountIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokensUnStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pointsToDecrease\",\"type\":\"uint256\"}],\"name\":\"PowerDecreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokensStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pointsToIncrease\",\"type\":\"uint256\"}],\"name\":\"PowerIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"context\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"ProposalDisputed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Registered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"}],\"name\":\"RegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IArbitrator\",\"name\":\"_arbitrator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"Ruling\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalStakedAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"}],\"name\":\"SupportAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"}],\"name\":\"TribunaSafeRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"D\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DISPUTE_COOLDOWN_SEC\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_STAKED_PROPOSALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RULING_OPTIONS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"members\",\"type\":\"address[]\"}],\"name\":\"addToAllowList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"arbitrableConfigs\",\"outputs\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"}],\"name\":\"calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_requestedAmount\",\"type\":\"uint256\"}],\"name\":\"calculateThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"canExecuteProposal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canBeExecuted\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"cancelProposal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloneNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateralVault\",\"outputs\":[{\"internalType\":\"contract ICollateralVault\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentArbitrableConfigVersion\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cvParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToUnstake\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disputeCount\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"disputeIdToProposalId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"context\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"disputeProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_recipientIds\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllo\",\"outputs\":[{\"internalType\":\"contract IAllo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getArbitrableConfig\",\"outputs\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDecay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMaxAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"getMaxConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"name\":\"getPayouts\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"recipientAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct IStrategy.PayoutSummary[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposal\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requestedToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalStatus\",\"name\":\"proposalStatus\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"blockLast\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"voterStakedPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"arbitrableConfigVersion\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"getProposalVoterStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipientId\",\"type\":\"address\"}],\"name\":\"getRecipientStatus\",\"outputs\":[{\"internalType\":\"enum IStrategy.Status\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistryCommunity\",\"outputs\":[{\"internalType\":\"contract RegistryCommunityV0_0\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistryCommunityV0_1\",\"outputs\":[{\"internalType\":\"contract RegistryCommunityV0_1\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStrategyId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"getTotalVoterStakePct\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"increasePoolAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToStake\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPoolActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allocator\",\"type\":\"address\"}],\"name\":\"isValidAllocator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pointConfig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalType\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requestedToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockLast\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalStatus\",\"name\":\"proposalStatus\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"disputeTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.ProposalDisputeInfo\",\"name\":\"disputeInfo\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"lastDisputeCompletion\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"arbitrableConfigVersion\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"registerRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"members\",\"type\":\"address[]\"}],\"name\":\"removeFromAllowList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"rule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setCollateralVaultTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_active\",\"type\":\"bool\"}],\"name\":\"setPoolActive\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"_arbitrableConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"_cvParams\",\"type\":\"tuple\"}],\"name\":\"setPoolParams\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"_arbitrableConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"_cvParams\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"membersToAdd\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"membersToRemove\",\"type\":\"address[]\"}],\"name\":\"setPoolParams\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sybilScorer\",\"type\":\"address\"}],\"name\":\"setSybilScorer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sybilScorer\",\"outputs\":[{\"internalType\":\"contract ISybilScorer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalEffectiveActivePoints\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalPointsActivated\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalStaked\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"totalVoterStakePct\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"updateProposalConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"voterStakedProposals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"CVStrategyV0_0\",\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}]},\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"Allocated(address,uint256,address,address)\":{\"params\":{\"amount\":\"The amount allocated\",\"recipientId\":\"The ID of the recipient\",\"token\":\"The token allocated\"}},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"DisputeRequest(address,uint256,uint256,uint256,string)\":{\"details\":\"To be emitted when a dispute is created to link the correct meta-evidence to the disputeID.\",\"params\":{\"_arbitrableDisputeID\":\"The identifier of the dispute in the Arbitrable contract.\",\"_arbitrator\":\"The arbitrator of the contract.\",\"_externalDisputeID\":\"An identifier created outside Kleros by the protocol requesting arbitration.\",\"_templateId\":\"The identifier of the dispute template. Should not be used with _templateUri.\",\"_templateUri\":\"The URI to the dispute template. For example on IPFS: starting with '/ipfs/'. Should not be used with _templateId.\"}},\"Distributed(address,address,uint256,address)\":{\"params\":{\"amount\":\"The amount distributed\",\"recipientAddress\":\"The recipient\",\"recipientId\":\"The ID of the recipient\",\"sender\":\"The sender\"}},\"Initialized(uint256,bytes)\":{\"params\":{\"data\":\"The data passed to the 'initialize' function\",\"poolId\":\"The ID of the pool\"}},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"PoolActive(bool)\":{\"params\":{\"active\":\"The status of the pool\"}},\"Registered(address,bytes,address)\":{\"params\":{\"data\":\"The data passed to the 'registerRecipient' function\",\"recipientId\":\"The ID of the recipient\",\"sender\":\"The sender\"}},\"Ruling(address,uint256,uint256)\":{\"details\":\"To be raised when a ruling is given.\",\"params\":{\"_arbitrator\":\"The arbitrator giving the ruling.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"The ruling which was given.\"}},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"allocate(bytes,address)\":{\"details\":\"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to allocate to the recipient\",\"_sender\":\"The address of the sender\"}},\"calculateConviction(uint256,uint256,uint256)\":{\"details\":\"Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a) Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\",\"params\":{\"_lastConv\":\"Last conviction record\",\"_oldAmount\":\"Amount of tokens staked until now\",\"_timePassed\":\"Number of blocks since last conviction record\"},\"returns\":{\"_0\":\"Current conviction\"}},\"calculateThreshold(uint256)\":{\"details\":\"Formula: \\u03c1 * totalStaked / (1 - a) / (\\u03b2 - requestedAmount / total)**2 For the Solidity implementation we amplify \\u03c1 and \\u03b2 and simplify the formula: weight = \\u03c1 * D maxRatio = \\u03b2 * D decay = a * D threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\",\"params\":{\"_requestedAmount\":\"Requested amount of tokens on certain proposal\"},\"returns\":{\"_threshold\":\"Threshold a proposal's conviction should surpass in order to be able to executed it.\"}},\"distribute(address[],bytes,address)\":{\"details\":\"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to distribute to the recipients\",\"_recipientIds\":\"The IDs of the recipients\",\"_sender\":\"The address of the sender\"}},\"getAllo()\":{\"returns\":{\"_0\":\"The Allo contract\"}},\"getPayouts(address[],bytes[])\":{\"returns\":{\"_0\":\"Input the values you would send to distribute(), get the amounts each recipient in the array would receive\"}},\"getPoolAmount()\":{\"returns\":{\"_0\":\"The balance of the pool\"}},\"getPoolId()\":{\"returns\":{\"_0\":\"The ID of the pool\"}},\"getProposal(uint256)\":{\"details\":\"Get proposal details\",\"params\":{\"_proposalId\":\"Proposal id\"},\"returns\":{\"arbitrableConfigVersion\":\"Proposal arbitrable config id\",\"beneficiary\":\"Proposal beneficiary\",\"blockLast\":\"Last block when conviction was calculated\",\"convictionLast\":\"Last conviction calculated\",\"proposalStatus\":\"Proposal status\",\"requestedAmount\":\"Proposal requested amount\",\"requestedToken\":\"Proposal requested token\",\"stakedAmount\":\"Proposal staked points\",\"submitter\":\"Proposal submitter\",\"threshold\":\"Proposal threshold\",\"voterStakedPoints\":\"Voter staked points\"}},\"getProposalVoterStake(uint256,address)\":{\"params\":{\"_proposalId\":\"Proposal id\",\"_voter\":\"Voter address\"},\"returns\":{\"_0\":\"Proposal voter stake\"}},\"getRecipientStatus(address)\":{\"params\":{\"_recipientId\":\"The ID of the recipient\"},\"returns\":{\"_0\":\"The status of the recipient\"}},\"getStrategyId()\":{\"returns\":{\"_0\":\"The ID of the strategy\"}},\"increasePoolAmount(uint256)\":{\"details\":\"Increases the 'poolAmount' by '_amount'. Only 'Allo' contract can call this.\",\"params\":{\"_amount\":\"The amount to increase the pool by\"}},\"init(address,string,address)\":{\"params\":{\"_allo\":\"Address of the Allo contract.\",\"_name\":\"Name of the strategy\",\"owner\":\"Address of the owner of the strategy\"}},\"initialize(uint256,bytes)\":{\"params\":{\"_data\":\"The encoded data\",\"_poolId\":\"The ID of the pool\"}},\"isPoolActive()\":{\"returns\":{\"_0\":\"'true' if the pool is active, otherwise 'false'\"}},\"isValidAllocator(address)\":{\"details\":\"How the allocator is determined is up to the strategy implementation.\",\"params\":{\"_allocator\":\"The address to check if it is a valid allocator for the strategy.\"},\"returns\":{\"_0\":\"'true' if the address is a valid allocator, 'false' otherwise\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"registerRecipient(bytes,address)\":{\"details\":\"Registers a recipient and returns the ID of the recipient. The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to register the recipient\",\"_sender\":\"The address of the sender\"},\"returns\":{\"recipientId\":\"The recipientId\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"rule(uint256,uint256)\":{\"details\":\"Give a ruling for a dispute. Must be called by the arbitrator. The purpose of this function is to ensure that the address calling it has the right to rule on the contract.\",\"params\":{\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"Ruling given by the arbitrator. Note that 0 is reserved for \\\"Not able/wanting to make a decision\\\".\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"AMOUNT_MISMATCH()\":[{\"notice\":\"Thrown when the amount of tokens sent does not match the amount of tokens expected\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"events\":{\"Allocated(address,uint256,address,address)\":{\"notice\":\"Emitted when a recipient is allocated to.\"},\"Distributed(address,address,uint256,address)\":{\"notice\":\"Emitted when tokens are distributed.\"},\"Initialized(uint256,bytes)\":{\"notice\":\"Emitted when strategy is initialized.\"},\"PoolActive(bool)\":{\"notice\":\"Emitted when pool is set to active status.\"},\"Registered(address,bytes,address)\":{\"notice\":\"Emitted when a recipient is registered.\"}},\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"allocate(bytes,address)\":{\"notice\":\"Allocates to a recipient.\"},\"distribute(address[],bytes,address)\":{\"notice\":\"Distributes funds (tokens) to recipients.\"},\"getAllo()\":{\"notice\":\"Getter for the 'Allo' contract.\"},\"getPoolAmount()\":{\"notice\":\"Getter for the 'poolAmount'.\"},\"getPoolId()\":{\"notice\":\"Getter for the 'poolId'.\"},\"getProposalVoterStake(uint256,address)\":{\"notice\":\"Get stake of voter `_voter` on proposal #`_proposalId`\"},\"getRecipientStatus(address)\":{\"notice\":\"Getter for the status of a recipient.\"},\"getStrategyId()\":{\"notice\":\"Getter for the 'strategyId'.\"},\"increasePoolAmount(uint256)\":{\"notice\":\"Increases the pool amount.\"},\"init(address,string,address)\":{\"notice\":\"Constructor to set the Allo contract and \\\"strategyId'.`init` here its the initialize for upgradable contracts, different from `initialize()` that its used for Allo\"},\"initialize(uint256,bytes)\":{\"notice\":\"@dev The default BaseStrategy version will not use the data if a strategy wants to use it, they will overwrite it, use it, and then call super.initialize().\"},\"isPoolActive()\":{\"notice\":\"Getter for whether or not the pool is active.\"},\"isValidAllocator(address)\":{\"notice\":\"Checks if the '_allocator' is a valid allocator.\"},\"registerRecipient(bytes,address)\":{\"notice\":\"Registers a recipient.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol\":\"CVStrategyV0_1\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293\",\"dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x4301751ea11db320804edf82deeb83d694240d4ab92e96fd75272823a0e68cbe\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://17eb861b8e0b13b4fc31136dbb817f5bf9b0637dc1c0484b090e1e2121fc2595\",\"dweb:/ipfs/QmbYz9fngCp4FmvAJyP2NqSpxBJRJa573mTQ5R9nVsCJAg\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol\":{\"keccak256\":\"0x62c6f7fca9e1532f2cdff846efefc79a704fee448a309e6d8ecd385d839379c2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://50b2a568546d8d35ce4020154efc32fd99ecdf3ec0a7797cc78928dca0775fca\",\"dweb:/ipfs/QmR5wG5wRWVzLkho3pwDC3t8ABRpUMwBSq6hZukJNd3xPa\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xaea628cb12b8c0dd868c04c935f99ab50c88372f130ce2ced0c7b2b3ce780381\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://22eb93eaf9fc1a9f591ed87dc478e8aabafb46e22ef870bba1345a799c44ba3d\",\"dweb:/ipfs/QmSAXa8UmtGNXNtVbmqPMyEpA3RZYqWjZvPoVFHCvjHjwj\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol\":{\"keccak256\":\"0x7367a8a82bee7dcc2db5e1b00e1b7a685357b04af220879b4dd91f8731a8a1ff\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c5b065857872e4f4d1ecd79c9dece1ae55e75202fdea114ccc4b592aaf81cc07\",\"dweb:/ipfs/Qmdptrz3HCp64YAVArpRxGwoPMtrDpjnZ17VqQhhKzrnzX\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"AMOUNT_MISMATCH"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[],"type":"error","name":"AmountOverMaxRatio"},{"inputs":[],"type":"error","name":"ArbitratorCannotBeZero"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"type":"error","name":"CallerNotOwner"},{"inputs":[],"type":"error","name":"CantIncreaseFixedSystem"},{"inputs":[],"type":"error","name":"ConvictionUnderMinimumThreshold"},{"inputs":[],"type":"error","name":"DefaultRulingNotSet"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"_remainingSec","type":"uint256"}],"type":"error","name":"DisputeCooldownNotPassed"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[{"internalType":"uint256","name":"sentAmount","type":"uint256"},{"internalType":"uint256","name":"requiredAmount","type":"uint256"}],"type":"error","name":"InsufficientCollateral"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"MaxPointsReached"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[{"internalType":"uint256","name":"pointsSupport","type":"uint256"},{"internalType":"uint256","name":"pointsBalance","type":"uint256"}],"type":"error","name":"NotEnoughPointsToSupport"},{"inputs":[],"type":"error","name":"NotImplemented"},{"inputs":[],"type":"error","name":"OnlyArbitrator"},{"inputs":[],"type":"error","name":"OnlyCommunityAllowed"},{"inputs":[],"type":"error","name":"OnlyCouncilSafe"},{"inputs":[{"internalType":"address","name":"submitter","type":"address"},{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"OnlySubmitter"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"_requestedAmount","type":"uint256"},{"internalType":"uint256","name":"_poolAmount","type":"uint256"}],"type":"error","name":"PoolAmountNotEnough"},{"inputs":[],"type":"error","name":"PoolIdCannotBeZero"},{"inputs":[],"type":"error","name":"PoolIsEmpty"},{"inputs":[],"type":"error","name":"ProposalDataIsEmpty"},{"inputs":[],"type":"error","name":"ProposalIdCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalStatus","name":"_proposalStatus","type":"uint8"}],"type":"error","name":"ProposalInvalidForAllocation"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotActive"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotDisputed"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotInList"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"ProposalSupportDuplicated"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"RegistryCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"_support","type":"uint256"},{"internalType":"int256","name":"_delta","type":"int256"},{"internalType":"int256","name":"_result","type":"int256"}],"type":"error","name":"SupportUnderflow"},{"inputs":[],"type":"error","name":"TokenCannotBeZero"},{"inputs":[],"type":"error","name":"TokenNotAllowed"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"UserCannotBeZero"},{"inputs":[],"type":"error","name":"UserCannotExecuteAction"},{"inputs":[],"type":"error","name":"UserIsInactive"},{"inputs":[],"type":"error","name":"UserNotInRegistry"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Allocated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"address[]","name":"members","type":"address[]","indexed":false}],"type":"event","name":"AllowlistMembersAdded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"address[]","name":"members","type":"address[]","indexed":false}],"type":"event","name":"AllowlistMembersRemoved","anonymous":false},{"inputs":[{"internalType":"uint256","name":"currentArbitrableConfigVersion","type":"uint256","indexed":false},{"internalType":"contract IArbitrator","name":"arbitrator","type":"address","indexed":false},{"internalType":"address","name":"tribunalSafe","type":"address","indexed":false},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"defaultRuling","type":"uint256","indexed":false},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256","indexed":false}],"type":"event","name":"ArbitrableConfigUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}],"indexed":false}],"type":"event","name":"CVParamsUpdated","anonymous":false},{"inputs":[{"internalType":"contract IArbitrator","name":"_arbitrator","type":"address","indexed":true},{"internalType":"uint256","name":"_arbitrableDisputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_externalDisputeID","type":"uint256","indexed":false},{"internalType":"uint256","name":"_templateId","type":"uint256","indexed":false},{"internalType":"string","name":"_templateUri","type":"string","indexed":false}],"type":"event","name":"DisputeRequest","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"address","name":"beneficiary","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Distributed","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"address","name":"recipientAddress","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Distributed","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"struct StrategyStruct.InitializeParams","name":"data","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}],"indexed":false}],"type":"event","name":"InitializedCV","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"struct StrategyStruct2.InitializeParams","name":"data","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"},{"internalType":"address[]","name":"initialAllowlist","type":"address[]"}],"indexed":false}],"type":"event","name":"InitializedCV2","anonymous":false},{"inputs":[{"internalType":"uint256","name":"before","type":"uint256","indexed":false},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256","indexed":false}],"type":"event","name":"MinThresholdPointsUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false}],"type":"event","name":"PointsDeactivated","anonymous":false},{"inputs":[{"internalType":"bool","name":"active","type":"bool","indexed":false}],"type":"event","name":"PoolActive","anonymous":false},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"PoolAmountIncreased","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false},{"internalType":"uint256","name":"tokensUnStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"pointsToDecrease","type":"uint256","indexed":false}],"type":"event","name":"PowerDecreased","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false},{"internalType":"uint256","name":"tokensStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"pointsToIncrease","type":"uint256","indexed":false}],"type":"event","name":"PowerIncreased","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false}],"type":"event","name":"ProposalCancelled","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false}],"type":"event","name":"ProposalCreated","anonymous":false},{"inputs":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"uint256","name":"disputeId","type":"uint256","indexed":false},{"internalType":"address","name":"challenger","type":"address","indexed":false},{"internalType":"string","name":"context","type":"string","indexed":false},{"internalType":"uint256","name":"timestamp","type":"uint256","indexed":false}],"type":"event","name":"ProposalDisputed","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"bytes","name":"data","type":"bytes","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Registered","anonymous":false},{"inputs":[{"internalType":"address","name":"registryCommunity","type":"address","indexed":false}],"type":"event","name":"RegistryUpdated","anonymous":false},{"inputs":[{"internalType":"contract IArbitrator","name":"_arbitrator","type":"address","indexed":true},{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_ruling","type":"uint256","indexed":false}],"type":"event","name":"Ruling","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"totalStakedAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"convictionLast","type":"uint256","indexed":false}],"type":"event","name":"SupportAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false},{"internalType":"address","name":"arbitrator","type":"address","indexed":false},{"internalType":"address","name":"tribunalSafe","type":"address","indexed":false}],"type":"event","name":"TribunaSafeRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"D","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DISPUTE_COOLDOWN_SEC","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_STAKED_PROPOSALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RULING_OPTIONS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"activatePoints"},{"inputs":[{"internalType":"address[]","name":"members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"addToAllowList"},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"arbitrableConfigs","outputs":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_requestedAmount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateThreshold","outputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"canExecuteProposal","outputs":[{"internalType":"bool","name":"canBeExecuted","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"cancelProposal"},{"inputs":[],"stateMutability":"view","type":"function","name":"cloneNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVault","outputs":[{"internalType":"contract ICollateralVault","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"currentArbitrableConfigVersion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"cvParams","outputs":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToUnstake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"disputeCount","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"disputeIdToProposalId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"string","name":"context","type":"string"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"disputeProposal","outputs":[{"internalType":"uint256","name":"disputeId","type":"uint256"}]},{"inputs":[{"internalType":"address[]","name":"_recipientIds","type":"address[]"},{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"distribute"},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllo","outputs":[{"internalType":"contract IAllo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getArbitrableConfig","outputs":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDecay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMaxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"getMaxConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getMetadata","outputs":[{"internalType":"struct Metadata","name":"","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}]},{"inputs":[{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"bytes[]","name":"","type":"bytes[]"}],"stateMutability":"pure","type":"function","name":"getPayouts","outputs":[{"internalType":"struct IStrategy.PayoutSummary[]","name":"","type":"tuple[]","components":[{"internalType":"address","name":"recipientAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPointSystem","outputs":[{"internalType":"enum StrategyStruct.PointSystem","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPoolAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPoolId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getProposal","outputs":[{"internalType":"address","name":"submitter","type":"address"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"address","name":"requestedToken","type":"address"},{"internalType":"uint256","name":"requestedAmount","type":"uint256"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalStatus","name":"proposalStatus","type":"uint8"},{"internalType":"uint256","name":"blockLast","type":"uint256"},{"internalType":"uint256","name":"convictionLast","type":"uint256"},{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"voterStakedPoints","type":"uint256"},{"internalType":"uint256","name":"arbitrableConfigVersion","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getProposalStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"address","name":"_voter","type":"address"}],"stateMutability":"view","type":"function","name":"getProposalVoterStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_recipientId","type":"address"}],"stateMutability":"view","type":"function","name":"getRecipientStatus","outputs":[{"internalType":"enum IStrategy.Status","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistryCommunity","outputs":[{"internalType":"contract RegistryCommunityV0_0","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistryCommunityV0_1","outputs":[{"internalType":"contract RegistryCommunityV0_1","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStrategyId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_voter","type":"address"}],"stateMutability":"view","type":"function","name":"getTotalVoterStakePct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePoolAmount"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToStake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isPoolActive","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_allocator","type":"address"}],"stateMutability":"view","type":"function","name":"isValidAllocator","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pointConfig","outputs":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pointSystem","outputs":[{"internalType":"enum StrategyStruct.PointSystem","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposalCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposalType","outputs":[{"internalType":"enum StrategyStruct.ProposalType","name":"","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"proposals","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"requestedAmount","type":"uint256"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"uint256","name":"convictionLast","type":"uint256"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"address","name":"submitter","type":"address"},{"internalType":"address","name":"requestedToken","type":"address"},{"internalType":"uint256","name":"blockLast","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalStatus","name":"proposalStatus","type":"uint8"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"struct StrategyStruct.ProposalDisputeInfo","name":"disputeInfo","type":"tuple","components":[{"internalType":"uint256","name":"disputeId","type":"uint256"},{"internalType":"uint256","name":"disputeTimestamp","type":"uint256"},{"internalType":"address","name":"challenger","type":"address"}]},{"internalType":"uint256","name":"lastDisputeCompletion","type":"uint256"},{"internalType":"uint256","name":"arbitrableConfigVersion","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"payable","type":"function","name":"registerRecipient","outputs":[{"internalType":"address","name":"recipientId","type":"address"}]},{"inputs":[{"internalType":"address[]","name":"members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"removeFromAllowList"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256"},{"internalType":"uint256","name":"_ruling","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"rule"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCollateralVaultTemplate"},{"inputs":[{"internalType":"bool","name":"_active","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setPoolActive"},{"inputs":[{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"_arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"struct StrategyStruct.CVParams","name":"_cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"setPoolParams"},{"inputs":[{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"_arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"struct StrategyStruct.CVParams","name":"_cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"address[]","name":"membersToAdd","type":"address[]"},{"internalType":"address[]","name":"membersToRemove","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"setPoolParams"},{"inputs":[{"internalType":"address","name":"_sybilScorer","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSybilScorer"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"sybilScorer","outputs":[{"internalType":"contract ISybilScorer","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalEffectiveActivePoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalPointsActivated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"totalVoterStakePct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateProposalConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"voterStakedProposals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"allocate(bytes,address)":{"details":"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to allocate to the recipient","_sender":"The address of the sender"}},"calculateConviction(uint256,uint256,uint256)":{"details":"Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a) Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128","params":{"_lastConv":"Last conviction record","_oldAmount":"Amount of tokens staked until now","_timePassed":"Number of blocks since last conviction record"},"returns":{"_0":"Current conviction"}},"calculateThreshold(uint256)":{"details":"Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2 For the Solidity implementation we amplify ρ and β and simplify the formula: weight = ρ * D maxRatio = β * D decay = a * D threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2","params":{"_requestedAmount":"Requested amount of tokens on certain proposal"},"returns":{"_threshold":"Threshold a proposal's conviction should surpass in order to be able to executed it."}},"distribute(address[],bytes,address)":{"details":"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to distribute to the recipients","_recipientIds":"The IDs of the recipients","_sender":"The address of the sender"}},"getAllo()":{"returns":{"_0":"The Allo contract"}},"getPayouts(address[],bytes[])":{"returns":{"_0":"Input the values you would send to distribute(), get the amounts each recipient in the array would receive"}},"getPoolAmount()":{"returns":{"_0":"The balance of the pool"}},"getPoolId()":{"returns":{"_0":"The ID of the pool"}},"getProposal(uint256)":{"details":"Get proposal details","params":{"_proposalId":"Proposal id"},"returns":{"arbitrableConfigVersion":"Proposal arbitrable config id","beneficiary":"Proposal beneficiary","blockLast":"Last block when conviction was calculated","convictionLast":"Last conviction calculated","proposalStatus":"Proposal status","requestedAmount":"Proposal requested amount","requestedToken":"Proposal requested token","stakedAmount":"Proposal staked points","submitter":"Proposal submitter","threshold":"Proposal threshold","voterStakedPoints":"Voter staked points"}},"getProposalVoterStake(uint256,address)":{"params":{"_proposalId":"Proposal id","_voter":"Voter address"},"returns":{"_0":"Proposal voter stake"}},"getRecipientStatus(address)":{"params":{"_recipientId":"The ID of the recipient"},"returns":{"_0":"The status of the recipient"}},"getStrategyId()":{"returns":{"_0":"The ID of the strategy"}},"increasePoolAmount(uint256)":{"details":"Increases the 'poolAmount' by '_amount'. Only 'Allo' contract can call this.","params":{"_amount":"The amount to increase the pool by"}},"init(address,string,address)":{"params":{"_allo":"Address of the Allo contract.","_name":"Name of the strategy","owner":"Address of the owner of the strategy"}},"initialize(uint256,bytes)":{"params":{"_data":"The encoded data","_poolId":"The ID of the pool"}},"isPoolActive()":{"returns":{"_0":"'true' if the pool is active, otherwise 'false'"}},"isValidAllocator(address)":{"details":"How the allocator is determined is up to the strategy implementation.","params":{"_allocator":"The address to check if it is a valid allocator for the strategy."},"returns":{"_0":"'true' if the address is a valid allocator, 'false' otherwise"}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"registerRecipient(bytes,address)":{"details":"Registers a recipient and returns the ID of the recipient. The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to register the recipient","_sender":"The address of the sender"},"returns":{"recipientId":"The recipientId"}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"rule(uint256,uint256)":{"details":"Give a ruling for a dispute. Must be called by the arbitrator. The purpose of this function is to ensure that the address calling it has the right to rule on the contract.","params":{"_disputeID":"The identifier of the dispute in the Arbitrator contract.","_ruling":"Ruling given by the arbitrator. Note that 0 is reserved for \"Not able/wanting to make a decision\"."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"},"allocate(bytes,address)":{"notice":"Allocates to a recipient."},"distribute(address[],bytes,address)":{"notice":"Distributes funds (tokens) to recipients."},"getAllo()":{"notice":"Getter for the 'Allo' contract."},"getPoolAmount()":{"notice":"Getter for the 'poolAmount'."},"getPoolId()":{"notice":"Getter for the 'poolId'."},"getProposalVoterStake(uint256,address)":{"notice":"Get stake of voter `_voter` on proposal #`_proposalId`"},"getRecipientStatus(address)":{"notice":"Getter for the status of a recipient."},"getStrategyId()":{"notice":"Getter for the 'strategyId'."},"increasePoolAmount(uint256)":{"notice":"Increases the pool amount."},"init(address,string,address)":{"notice":"Constructor to set the Allo contract and \"strategyId'.`init` here its the initialize for upgradable contracts, different from `initialize()` that its used for Allo"},"initialize(uint256,bytes)":{"notice":"@dev The default BaseStrategy version will not use the data if a strategy wants to use it, they will overwrite it, use it, and then call super.initialize()."},"isPoolActive()":{"notice":"Getter for whether or not the pool is active."},"isValidAllocator(address)":{"notice":"Checks if the '_allocator' is a valid allocator."},"registerRecipient(bytes,address)":{"notice":"Registers a recipient."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol":"CVStrategyV0_1"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2","urls":["bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293","dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x4301751ea11db320804edf82deeb83d694240d4ab92e96fd75272823a0e68cbe","urls":["bzz-raw://17eb861b8e0b13b4fc31136dbb817f5bf9b0637dc1c0484b090e1e2121fc2595","dweb:/ipfs/QmbYz9fngCp4FmvAJyP2NqSpxBJRJa573mTQ5R9nVsCJAg"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol":{"keccak256":"0x62c6f7fca9e1532f2cdff846efefc79a704fee448a309e6d8ecd385d839379c2","urls":["bzz-raw://50b2a568546d8d35ce4020154efc32fd99ecdf3ec0a7797cc78928dca0775fca","dweb:/ipfs/QmR5wG5wRWVzLkho3pwDC3t8ABRpUMwBSq6hZukJNd3xPa"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xaea628cb12b8c0dd868c04c935f99ab50c88372f130ce2ced0c7b2b3ce780381","urls":["bzz-raw://22eb93eaf9fc1a9f591ed87dc478e8aabafb46e22ef870bba1345a799c44ba3d","dweb:/ipfs/QmSAXa8UmtGNXNtVbmqPMyEpA3RZYqWjZvPoVFHCvjHjwj"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol":{"keccak256":"0x7367a8a82bee7dcc2db5e1b00e1b7a685357b04af220879b4dd91f8731a8a1ff","urls":["bzz-raw://c5b065857872e4f4d1ecd79c9dece1ae55e75202fdea114ccc4b592aaf81cc07","dweb:/ipfs/Qmdptrz3HCp64YAVArpRxGwoPMtrDpjnZ17VqQhhKzrnzX"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":52990,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52993,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53695,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52782,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52902,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":64873,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"allo","offset":0,"slot":"101","type":"t_contract(IAllo)2610"},{"astId":64875,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"strategyId","offset":0,"slot":"102","type":"t_bytes32"},{"astId":64877,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"poolActive","offset":0,"slot":"103","type":"t_bool"},{"astId":64879,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"poolId","offset":0,"slot":"104","type":"t_uint256"},{"astId":64881,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"poolAmount","offset":0,"slot":"105","type":"t_uint256"},{"astId":65909,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"collateralVaultTemplate","offset":0,"slot":"106","type":"t_address"},{"astId":65911,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"surpressStateMutabilityWarning","offset":0,"slot":"107","type":"t_uint256"},{"astId":65913,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"cloneNonce","offset":0,"slot":"108","type":"t_uint256"},{"astId":65915,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"disputeCount","offset":0,"slot":"109","type":"t_uint64"},{"astId":65917,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"proposalCounter","offset":0,"slot":"110","type":"t_uint256"},{"astId":65919,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"currentArbitrableConfigVersion","offset":0,"slot":"111","type":"t_uint256"},{"astId":65921,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"totalStaked","offset":0,"slot":"112","type":"t_uint256"},{"astId":65923,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"totalPointsActivated","offset":0,"slot":"113","type":"t_uint256"},{"astId":65926,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"cvParams","offset":0,"slot":"114","type":"t_struct(CVParams)65635_storage"},{"astId":65929,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"proposalType","offset":0,"slot":"118","type":"t_enum(ProposalType)65538"},{"astId":65932,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"pointSystem","offset":1,"slot":"118","type":"t_enum(PointSystem)65543"},{"astId":65935,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"pointConfig","offset":0,"slot":"119","type":"t_struct(PointSystemConfig)65612_storage"},{"astId":65937,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"registryCommunity","offset":0,"slot":"120","type":"t_address"},{"astId":65940,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"collateralVault","offset":0,"slot":"121","type":"t_contract(ICollateralVault)74077"},{"astId":65943,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"sybilScorer","offset":0,"slot":"122","type":"t_contract(ISybilScorer)70165"},{"astId":65948,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"proposals","offset":0,"slot":"123","type":"t_mapping(t_uint256,t_struct(Proposal)65604_storage)"},{"astId":65952,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"totalVoterStakePct","offset":0,"slot":"124","type":"t_mapping(t_address,t_uint256)"},{"astId":65957,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"voterStakedProposals","offset":0,"slot":"125","type":"t_mapping(t_address,t_array(t_uint256)dyn_storage)"},{"astId":65961,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"disputeIdToProposalId","offset":0,"slot":"126","type":"t_mapping(t_uint256,t_uint256)"},{"astId":65966,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"arbitrableConfigs","offset":0,"slot":"127","type":"t_mapping(t_uint256,t_struct(ArbitrableConfig)65626_storage)"},{"astId":69233,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"__gap","offset":0,"slot":"128","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_array(t_uint256)dyn_storage":{"encoding":"dynamic_array","label":"uint256[]","numberOfBytes":"32","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(IAllo)2610":{"encoding":"inplace","label":"contract IAllo","numberOfBytes":"20"},"t_contract(IArbitrator)74044":{"encoding":"inplace","label":"contract IArbitrator","numberOfBytes":"20"},"t_contract(ICollateralVault)74077":{"encoding":"inplace","label":"contract ICollateralVault","numberOfBytes":"20"},"t_contract(ISybilScorer)70165":{"encoding":"inplace","label":"contract ISybilScorer","numberOfBytes":"20"},"t_enum(PointSystem)65543":{"encoding":"inplace","label":"enum StrategyStruct.PointSystem","numberOfBytes":"1"},"t_enum(ProposalStatus)65563":{"encoding":"inplace","label":"enum StrategyStruct.ProposalStatus","numberOfBytes":"1"},"t_enum(ProposalType)65538":{"encoding":"inplace","label":"enum StrategyStruct.ProposalType","numberOfBytes":"1"},"t_mapping(t_address,t_array(t_uint256)dyn_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256[])","numberOfBytes":"32","value":"t_array(t_uint256)dyn_storage"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_uint256,t_struct(ArbitrableConfig)65626_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct StrategyStruct.ArbitrableConfig)","numberOfBytes":"32","value":"t_struct(ArbitrableConfig)65626_storage"},"t_mapping(t_uint256,t_struct(Proposal)65604_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct StrategyStruct.Proposal)","numberOfBytes":"32","value":"t_struct(Proposal)65604_storage"},"t_mapping(t_uint256,t_uint256)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(ArbitrableConfig)65626_storage":{"encoding":"inplace","label":"struct StrategyStruct.ArbitrableConfig","numberOfBytes":"192","members":[{"astId":65615,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"arbitrator","offset":0,"slot":"0","type":"t_contract(IArbitrator)74044"},{"astId":65617,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"tribunalSafe","offset":0,"slot":"1","type":"t_address"},{"astId":65619,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"submitterCollateralAmount","offset":0,"slot":"2","type":"t_uint256"},{"astId":65621,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"challengerCollateralAmount","offset":0,"slot":"3","type":"t_uint256"},{"astId":65623,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"defaultRuling","offset":0,"slot":"4","type":"t_uint256"},{"astId":65625,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"defaultRulingTimeout","offset":0,"slot":"5","type":"t_uint256"}]},"t_struct(CVParams)65635_storage":{"encoding":"inplace","label":"struct StrategyStruct.CVParams","numberOfBytes":"128","members":[{"astId":65628,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"maxRatio","offset":0,"slot":"0","type":"t_uint256"},{"astId":65630,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"weight","offset":0,"slot":"1","type":"t_uint256"},{"astId":65632,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"decay","offset":0,"slot":"2","type":"t_uint256"},{"astId":65634,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"minThresholdPoints","offset":0,"slot":"3","type":"t_uint256"}]},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(PointSystemConfig)65612_storage":{"encoding":"inplace","label":"struct StrategyStruct.PointSystemConfig","numberOfBytes":"32","members":[{"astId":65611,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"maxAmount","offset":0,"slot":"0","type":"t_uint256"}]},"t_struct(Proposal)65604_storage":{"encoding":"inplace","label":"struct StrategyStruct.Proposal","numberOfBytes":"544","members":[{"astId":65572,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"proposalId","offset":0,"slot":"0","type":"t_uint256"},{"astId":65574,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"requestedAmount","offset":0,"slot":"1","type":"t_uint256"},{"astId":65576,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"stakedAmount","offset":0,"slot":"2","type":"t_uint256"},{"astId":65578,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"convictionLast","offset":0,"slot":"3","type":"t_uint256"},{"astId":65580,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"beneficiary","offset":0,"slot":"4","type":"t_address"},{"astId":65582,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"submitter","offset":0,"slot":"5","type":"t_address"},{"astId":65584,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"requestedToken","offset":0,"slot":"6","type":"t_address"},{"astId":65586,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"blockLast","offset":0,"slot":"7","type":"t_uint256"},{"astId":65589,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"proposalStatus","offset":0,"slot":"8","type":"t_enum(ProposalStatus)65563"},{"astId":65593,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"voterStakedPoints","offset":0,"slot":"9","type":"t_mapping(t_address,t_uint256)"},{"astId":65596,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"metadata","offset":0,"slot":"10","type":"t_struct(Metadata)3098_storage"},{"astId":65599,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"disputeInfo","offset":0,"slot":"12","type":"t_struct(ProposalDisputeInfo)65570_storage"},{"astId":65601,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"lastDisputeCompletion","offset":0,"slot":"15","type":"t_uint256"},{"astId":65603,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"arbitrableConfigVersion","offset":0,"slot":"16","type":"t_uint256"}]},"t_struct(ProposalDisputeInfo)65570_storage":{"encoding":"inplace","label":"struct StrategyStruct.ProposalDisputeInfo","numberOfBytes":"96","members":[{"astId":65565,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"disputeId","offset":0,"slot":"0","type":"t_uint256"},{"astId":65567,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"disputeTimestamp","offset":0,"slot":"1","type":"t_uint256"},{"astId":65569,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"challenger","offset":0,"slot":"2","type":"t_address"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint64":{"encoding":"inplace","label":"uint64","numberOfBytes":"8"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol","id":69800,"exportedSymbols":{"CVStrategyV0_0":[69234],"CVStrategyV0_1":[69799],"Clone":[3002],"IArbitrator":[74044],"ICollateralVault":[74077],"ISybilScorer":[70165],"PassportData":[70083],"RegistryCommunityV0_1":[72996],"StrategyStruct":[65656],"StrategyStruct2":[69274]},"nodeType":"SourceUnit","src":"42:6453:99","nodes":[{"id":69236,"nodeType":"PragmaDirective","src":"42:24:99","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":69239,"nodeType":"ImportDirective","src":"68:68:99","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol","file":"./CVStrategyV0_0.sol","nameLocation":"-1:-1:-1","scope":69800,"sourceUnit":69235,"symbolAliases":[{"foreign":{"id":69237,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69234,"src":"76:14:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":69238,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"92:14:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69242,"nodeType":"ImportDirective","src":"188:63:99","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"../ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":69800,"sourceUnit":70166,"symbolAliases":[{"foreign":{"id":69240,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70165,"src":"196:12:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":69241,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70083,"src":"210:12:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69244,"nodeType":"ImportDirective","src":"252:85:99","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol","file":"../RegistryCommunity/RegistryCommunityV0_1.sol","nameLocation":"-1:-1:-1","scope":69800,"sourceUnit":72997,"symbolAliases":[{"foreign":{"id":69243,"name":"RegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72996,"src":"260:21:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69246,"nodeType":"ImportDirective","src":"338:65:99","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":69800,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":69245,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"346:5:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69248,"nodeType":"ImportDirective","src":"404:68:99","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ICollateralVault.sol","file":"../interfaces/ICollateralVault.sol","nameLocation":"-1:-1:-1","scope":69800,"sourceUnit":74078,"symbolAliases":[{"foreign":{"id":69247,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74077,"src":"412:16:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69250,"nodeType":"ImportDirective","src":"473:58:99","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","file":"../interfaces/IArbitrator.sol","nameLocation":"-1:-1:-1","scope":69800,"sourceUnit":74045,"symbolAliases":[{"foreign":{"id":69249,"name":"IArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74044,"src":"481:11:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69274,"nodeType":"ContractDefinition","src":"533:415:99","nodes":[{"id":69273,"nodeType":"StructDefinition","src":"563:383:99","nodes":[],"canonicalName":"StrategyStruct2.InitializeParams","members":[{"constant":false,"id":69253,"mutability":"mutable","name":"cvParams","nameLocation":"621:8:99","nodeType":"VariableDeclaration","scope":69273,"src":"597:32:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":69252,"nodeType":"UserDefinedTypeName","pathNode":{"id":69251,"name":"StrategyStruct.CVParams","nameLocations":["597:14:99","612:8:99"],"nodeType":"IdentifierPath","referencedDeclaration":65635,"src":"597:23:99"},"referencedDeclaration":65635,"src":"597:23:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"},{"constant":false,"id":69256,"mutability":"mutable","name":"proposalType","nameLocation":"667:12:99","nodeType":"VariableDeclaration","scope":69273,"src":"639:40:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":69255,"nodeType":"UserDefinedTypeName","pathNode":{"id":69254,"name":"StrategyStruct.ProposalType","nameLocations":["639:14:99","654:12:99"],"nodeType":"IdentifierPath","referencedDeclaration":65538,"src":"639:27:99"},"referencedDeclaration":65538,"src":"639:27:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":69259,"mutability":"mutable","name":"pointSystem","nameLocation":"716:11:99","nodeType":"VariableDeclaration","scope":69273,"src":"689:38:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":69258,"nodeType":"UserDefinedTypeName","pathNode":{"id":69257,"name":"StrategyStruct.PointSystem","nameLocations":["689:14:99","704:11:99"],"nodeType":"IdentifierPath","referencedDeclaration":65543,"src":"689:26:99"},"referencedDeclaration":65543,"src":"689:26:99","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":69262,"mutability":"mutable","name":"pointConfig","nameLocation":"770:11:99","nodeType":"VariableDeclaration","scope":69273,"src":"737:44:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":69261,"nodeType":"UserDefinedTypeName","pathNode":{"id":69260,"name":"StrategyStruct.PointSystemConfig","nameLocations":["737:14:99","752:17:99"],"nodeType":"IdentifierPath","referencedDeclaration":65612,"src":"737:32:99"},"referencedDeclaration":65612,"src":"737:32:99","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":69265,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"823:16:99","nodeType":"VariableDeclaration","scope":69273,"src":"791:48:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":69264,"nodeType":"UserDefinedTypeName","pathNode":{"id":69263,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["791:14:99","806:16:99"],"nodeType":"IdentifierPath","referencedDeclaration":65626,"src":"791:31:99"},"referencedDeclaration":65626,"src":"791:31:99","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":69267,"mutability":"mutable","name":"registryCommunity","nameLocation":"857:17:99","nodeType":"VariableDeclaration","scope":69273,"src":"849:25:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69266,"name":"address","nodeType":"ElementaryTypeName","src":"849:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":69269,"mutability":"mutable","name":"sybilScorer","nameLocation":"892:11:99","nodeType":"VariableDeclaration","scope":69273,"src":"884:19:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69268,"name":"address","nodeType":"ElementaryTypeName","src":"884:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":69272,"mutability":"mutable","name":"initialAllowlist","nameLocation":"923:16:99","nodeType":"VariableDeclaration","scope":69273,"src":"913:26:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69270,"name":"address","nodeType":"ElementaryTypeName","src":"913:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69271,"nodeType":"ArrayTypeName","src":"913:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"570:16:99","scope":69274,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"StrategyStruct2","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[69274],"name":"StrategyStruct2","nameLocation":"541:15:99","scope":69800,"usedErrors":[]},{"id":69799,"nodeType":"ContractDefinition","src":"994:5500:99","nodes":[{"id":69284,"nodeType":"EventDefinition","src":"1207:65:99","nodes":[],"anonymous":false,"eventSelector":"d418c93b6b78d828a87ee1909e6fcdbbf2f8d8f540ad7b232bb3e221e6d7cc1e","name":"AllowlistMembersRemoved","nameLocation":"1213:23:99","parameters":{"id":69283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69279,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"1245:6:99","nodeType":"VariableDeclaration","scope":69284,"src":"1237:14:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69278,"name":"uint256","nodeType":"ElementaryTypeName","src":"1237:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69282,"indexed":false,"mutability":"mutable","name":"members","nameLocation":"1263:7:99","nodeType":"VariableDeclaration","scope":69284,"src":"1253:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69280,"name":"address","nodeType":"ElementaryTypeName","src":"1253:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69281,"nodeType":"ArrayTypeName","src":"1253:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1236:35:99"}},{"id":69291,"nodeType":"EventDefinition","src":"1277:63:99","nodes":[],"anonymous":false,"eventSelector":"7a2e396a5614184c0af2c60827c206595126faa1238b94e19823192de52e728a","name":"AllowlistMembersAdded","nameLocation":"1283:21:99","parameters":{"id":69290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69286,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"1313:6:99","nodeType":"VariableDeclaration","scope":69291,"src":"1305:14:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69285,"name":"uint256","nodeType":"ElementaryTypeName","src":"1305:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69289,"indexed":false,"mutability":"mutable","name":"members","nameLocation":"1331:7:99","nodeType":"VariableDeclaration","scope":69291,"src":"1321:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69287,"name":"address","nodeType":"ElementaryTypeName","src":"1321:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69288,"nodeType":"ArrayTypeName","src":"1321:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1304:35:99"}},{"id":69298,"nodeType":"EventDefinition","src":"1345:76:99","nodes":[],"anonymous":false,"eventSelector":"a489767af337c1767e9c6949fc5a6d3a73bb69ea80a3e619c2e08b7b308d0bcf","name":"InitializedCV2","nameLocation":"1351:14:99","parameters":{"id":69297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69293,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"1374:6:99","nodeType":"VariableDeclaration","scope":69298,"src":"1366:14:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69292,"name":"uint256","nodeType":"ElementaryTypeName","src":"1366:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69296,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"1415:4:99","nodeType":"VariableDeclaration","scope":69298,"src":"1382:37:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams"},"typeName":{"id":69295,"nodeType":"UserDefinedTypeName","pathNode":{"id":69294,"name":"StrategyStruct2.InitializeParams","nameLocations":["1382:15:99","1398:16:99"],"nodeType":"IdentifierPath","referencedDeclaration":69273,"src":"1382:32:99"},"referencedDeclaration":69273,"src":"1382:32:99","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_storage_ptr","typeString":"struct StrategyStruct2.InitializeParams"}},"visibility":"internal"}],"src":"1365:55:99"}},{"id":69305,"nodeType":"ErrorDefinition","src":"1592:103:99","nodes":[],"errorSelector":"94d57ead","name":"ProposalInvalidForAllocation","nameLocation":"1598:28:99","parameters":{"id":69304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69300,"mutability":"mutable","name":"_proposalId","nameLocation":"1635:11:99","nodeType":"VariableDeclaration","scope":69305,"src":"1627:19:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69299,"name":"uint256","nodeType":"ElementaryTypeName","src":"1627:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69303,"mutability":"mutable","name":"_proposalStatus","nameLocation":"1678:15:99","nodeType":"VariableDeclaration","scope":69305,"src":"1648:45:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":69302,"nodeType":"UserDefinedTypeName","pathNode":{"id":69301,"name":"StrategyStruct.ProposalStatus","nameLocations":["1648:14:99","1663:14:99"],"nodeType":"IdentifierPath","referencedDeclaration":65563,"src":"1648:29:99"},"referencedDeclaration":65563,"src":"1648:29:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"}],"src":"1626:68:99"}},{"id":69355,"nodeType":"FunctionDefinition","src":"1866:580:99","nodes":[],"body":{"id":69354,"nodeType":"Block","src":"1950:496:99","nodes":[],"statements":[{"assignments":[69314],"declarations":[{"constant":false,"id":69314,"mutability":"mutable","name":"p","nameLocation":"1992:1:99","nodeType":"VariableDeclaration","scope":69354,"src":"1960:33:99","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":69313,"nodeType":"UserDefinedTypeName","pathNode":{"id":69312,"name":"StrategyStruct.Proposal","nameLocations":["1960:14:99","1975:8:99"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"1960:23:99"},"referencedDeclaration":65604,"src":"1960:23:99","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":69318,"initialValue":{"baseExpression":{"id":69315,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"1996:9:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69317,"indexExpression":{"id":69316,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69307,"src":"2006:11:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1996:22:99","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"1960:58:99"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"},"id":69324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69319,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69314,"src":"2045:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69320,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2047:14:99","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"2045:16:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":69321,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"2065:14:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":69322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2080:14:99","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"2065:29:99","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69323,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2095:8:99","memberName":"Inactive","nodeType":"MemberAccess","referencedDeclaration":65556,"src":"2065:38:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"2045:58:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"},"id":69330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69325,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69314,"src":"2123:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69326,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2125:14:99","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"2123:16:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":69327,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"2143:14:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":69328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2158:14:99","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"2143:29:99","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2173:9:99","memberName":"Cancelled","nodeType":"MemberAccess","referencedDeclaration":65559,"src":"2143:39:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"2123:59:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2045:137:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"},"id":69337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69332,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69314,"src":"2202:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69333,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2204:14:99","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"2202:16:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":69334,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"2222:14:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":69335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2237:14:99","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"2222:29:99","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69336,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2252:8:99","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":65560,"src":"2222:38:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"2202:58:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2045:215:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"},"id":69344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69339,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69314,"src":"2280:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69340,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2282:14:99","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"2280:16:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":69341,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"2300:14:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":69342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2315:14:99","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"2300:29:99","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69343,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2330:8:99","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":65562,"src":"2300:38:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"2280:58:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2045:293:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69353,"nodeType":"IfStatement","src":"2028:412:99","trueBody":{"id":69352,"nodeType":"Block","src":"2349:91:99","statements":[{"errorCall":{"arguments":[{"id":69347,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69307,"src":"2399:11:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69348,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69314,"src":"2412:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69349,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2414:14:99","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"2412:16:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}],"id":69346,"name":"ProposalInvalidForAllocation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69305,"src":"2370:28:99","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_enum$_ProposalStatus_$65563_$returns$__$","typeString":"function (uint256,enum StrategyStruct.ProposalStatus) pure"}},"id":69350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2370:59:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69351,"nodeType":"RevertStatement","src":"2363:66:99"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkProposalAllocationValidity","nameLocation":"1875:31:99","parameters":{"id":69308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69307,"mutability":"mutable","name":"_proposalId","nameLocation":"1915:11:99","nodeType":"VariableDeclaration","scope":69355,"src":"1907:19:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69306,"name":"uint256","nodeType":"ElementaryTypeName","src":"1907:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1906:21:99"},"returnParameters":{"id":69309,"nodeType":"ParameterList","parameters":[],"src":"1950:0:99"},"scope":69799,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":69366,"nodeType":"FunctionDefinition","src":"2452:144:99","nodes":[],"body":{"id":69365,"nodeType":"Block","src":"2532:64:99","nodes":[],"statements":[{"expression":{"arguments":[{"id":69362,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65937,"src":"2571:17:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69361,"name":"RegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72996,"src":"2549:21:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_1_$72996_$","typeString":"type(contract RegistryCommunityV0_1)"}},"id":69363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2549:40:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"functionReturnParameters":69360,"id":69364,"nodeType":"Return","src":"2542:47:99"}]},"functionSelector":"6a6f69b4","implemented":true,"kind":"function","modifiers":[],"name":"getRegistryCommunityV0_1","nameLocation":"2461:24:99","parameters":{"id":69356,"nodeType":"ParameterList","parameters":[],"src":"2485:2:99"},"returnParameters":{"id":69360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69359,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69366,"src":"2509:21:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"},"typeName":{"id":69358,"nodeType":"UserDefinedTypeName","pathNode":{"id":69357,"name":"RegistryCommunityV0_1","nameLocations":["2509:21:99"],"nodeType":"IdentifierPath","referencedDeclaration":72996,"src":"2509:21:99"},"referencedDeclaration":72996,"src":"2509:21:99","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"visibility":"internal"}],"src":"2508:23:99"},"scope":69799,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":69471,"nodeType":"FunctionDefinition","src":"2602:883:99","nodes":[],"body":{"id":69470,"nodeType":"Block","src":"2686:799:99","nodes":[],"statements":[{"expression":{"arguments":[{"id":69377,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69368,"src":"2716:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69376,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65051,"src":"2696:19:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":69378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2696:28:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69379,"nodeType":"ExpressionStatement","src":"2696:28:99"},{"expression":{"id":69389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69380,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"2735:15:99","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":69384,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65909,"src":"2788:23:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":69386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2813:12:99","subExpression":{"id":69385,"name":"cloneNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65913,"src":"2813:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69382,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"2770:5:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":69383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2776:11:99","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"2770:17:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":69387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2770:56:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69381,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74077,"src":"2753:16:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ICollateralVault_$74077_$","typeString":"type(contract ICollateralVault)"}},"id":69388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2753:74:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"src":"2735:92:99","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":69390,"nodeType":"ExpressionStatement","src":"2735:92:99"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":69391,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"2837:15:99","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":69393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2853:10:99","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":74049,"src":"2837:26:99","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":69394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2837:28:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69395,"nodeType":"ExpressionStatement","src":"2837:28:99"},{"assignments":[69400],"declarations":[{"constant":false,"id":69400,"mutability":"mutable","name":"ip","nameLocation":"2916:2:99","nodeType":"VariableDeclaration","scope":69470,"src":"2876:42:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams"},"typeName":{"id":69399,"nodeType":"UserDefinedTypeName","pathNode":{"id":69398,"name":"StrategyStruct2.InitializeParams","nameLocations":["2876:15:99","2892:16:99"],"nodeType":"IdentifierPath","referencedDeclaration":69273,"src":"2876:32:99"},"referencedDeclaration":69273,"src":"2876:32:99","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_storage_ptr","typeString":"struct StrategyStruct2.InitializeParams"}},"visibility":"internal"}],"id":69408,"initialValue":{"arguments":[{"id":69403,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69370,"src":"2932:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":69404,"name":"StrategyStruct2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69274,"src":"2940:15:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct2_$69274_$","typeString":"type(library StrategyStruct2)"}},"id":69405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2956:16:99","memberName":"InitializeParams","nodeType":"MemberAccess","referencedDeclaration":69273,"src":"2940:32:99","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$69273_storage_ptr_$","typeString":"type(struct StrategyStruct2.InitializeParams storage pointer)"}}],"id":69406,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2939:34:99","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$69273_storage_ptr_$","typeString":"type(struct StrategyStruct2.InitializeParams storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$69273_storage_ptr_$","typeString":"type(struct StrategyStruct2.InitializeParams storage pointer)"}],"expression":{"id":69401,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2921:3:99","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":69402,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2925:6:99","memberName":"decode","nodeType":"MemberAccess","src":"2921:10:99","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":69407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2921:53:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"2876:98:99"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69409,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69400,"src":"2989:2:99","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":69410,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2992:17:99","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":69267,"src":"2989:20:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":69413,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3021:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":69412,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3013:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69411,"name":"address","nodeType":"ElementaryTypeName","src":"3013:7:99","typeDescriptions":{}}},"id":69414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3013:10:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2989:34:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69420,"nodeType":"IfStatement","src":"2985:94:99","trueBody":{"id":69419,"nodeType":"Block","src":"3025:54:99","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":69416,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65687,"src":"3046:20:99","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":69417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3046:22:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69418,"nodeType":"RevertStatement","src":"3039:29:99"}]}},{"expression":{"id":69424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69421,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65937,"src":"3133:17:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69422,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69400,"src":"3153:2:99","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":69423,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3156:17:99","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":69267,"src":"3153:20:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3133:40:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69425,"nodeType":"ExpressionStatement","src":"3133:40:99"},{"expression":{"id":69429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69426,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65929,"src":"3184:12:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69427,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69400,"src":"3199:2:99","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":69428,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3202:12:99","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":69256,"src":"3199:15:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"src":"3184:30:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"id":69430,"nodeType":"ExpressionStatement","src":"3184:30:99"},{"expression":{"id":69434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69431,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65932,"src":"3224:11:99","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69432,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69400,"src":"3238:2:99","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":69433,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3241:11:99","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":69259,"src":"3238:14:99","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"src":"3224:28:99","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"id":69435,"nodeType":"ExpressionStatement","src":"3224:28:99"},{"expression":{"id":69439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69436,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65935,"src":"3262:11:99","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69437,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69400,"src":"3276:2:99","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":69438,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3279:11:99","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":69262,"src":"3276:14:99","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"3262:28:99","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":69440,"nodeType":"ExpressionStatement","src":"3262:28:99"},{"expression":{"id":69446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69441,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65943,"src":"3300:11:99","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":69443,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69400,"src":"3327:2:99","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":69444,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3330:11:99","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":69269,"src":"3327:14:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69442,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70165,"src":"3314:12:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$70165_$","typeString":"type(contract ISybilScorer)"}},"id":69445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3314:28:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"src":"3300:42:99","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"id":69447,"nodeType":"ExpressionStatement","src":"3300:42:99"},{"expression":{"arguments":[{"expression":{"id":69449,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69400,"src":"3367:2:99","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":69450,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3370:16:99","memberName":"arbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":69265,"src":"3367:19:99","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"expression":{"id":69451,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69400,"src":"3388:2:99","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":69452,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3391:8:99","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":69253,"src":"3388:11:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},{"arguments":[{"hexValue":"30","id":69456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3415:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":69455,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3401:13:99","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":69453,"name":"address","nodeType":"ElementaryTypeName","src":"3405:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69454,"nodeType":"ArrayTypeName","src":"3405:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":69457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3401:16:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"arguments":[{"hexValue":"30","id":69461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3433:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":69460,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3419:13:99","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":69458,"name":"address","nodeType":"ElementaryTypeName","src":"3423:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69459,"nodeType":"ArrayTypeName","src":"3423:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":69462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3419:16:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":69448,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[69502,68617],"referencedDeclaration":69502,"src":"3352:14:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$65626_memory_ptr_$_t_struct$_CVParams_$65635_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory,address[] memory,address[] memory)"}},"id":69463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3352:84:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69464,"nodeType":"ExpressionStatement","src":"3352:84:99"},{"eventCall":{"arguments":[{"id":69466,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69368,"src":"3466:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69467,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69400,"src":"3475:2:99","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}],"id":69465,"name":"InitializedCV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69298,"src":"3451:14:99","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$69273_memory_ptr_$returns$__$","typeString":"function (uint256,struct StrategyStruct2.InitializeParams memory)"}},"id":69468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3451:27:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69469,"nodeType":"EmitStatement","src":"3446:32:99"}]},"baseFunctions":[66095],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[{"id":69374,"kind":"modifierInvocation","modifierName":{"id":69373,"name":"onlyAllo","nameLocations":["2677:8:99"],"nodeType":"IdentifierPath","referencedDeclaration":64923,"src":"2677:8:99"},"nodeType":"ModifierInvocation","src":"2677:8:99"}],"name":"initialize","nameLocation":"2611:10:99","overrides":{"id":69372,"nodeType":"OverrideSpecifier","overrides":[],"src":"2668:8:99"},"parameters":{"id":69371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69368,"mutability":"mutable","name":"_poolId","nameLocation":"2630:7:99","nodeType":"VariableDeclaration","scope":69471,"src":"2622:15:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69367,"name":"uint256","nodeType":"ElementaryTypeName","src":"2622:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69370,"mutability":"mutable","name":"_data","nameLocation":"2652:5:99","nodeType":"VariableDeclaration","scope":69471,"src":"2639:18:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":69369,"name":"bytes","nodeType":"ElementaryTypeName","src":"2639:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2621:37:99"},"returnParameters":{"id":69375,"nodeType":"ParameterList","parameters":[],"src":"2686:0:99"},"scope":69799,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":69502,"nodeType":"FunctionDefinition","src":"3491:397:99","nodes":[],"body":{"id":69501,"nodeType":"Block","src":"3735:153:99","nodes":[],"statements":[{"expression":{"arguments":[{"id":69489,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69474,"src":"3766:17:99","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"id":69490,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69477,"src":"3785:9:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"expression":{"id":69486,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"3745:5:99","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_1_$69799_$","typeString":"type(contract super CVStrategyV0_1)"}},"id":69488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3751:14:99","memberName":"_setPoolParams","nodeType":"MemberAccess","referencedDeclaration":68617,"src":"3745:20:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$65626_memory_ptr_$_t_struct$_CVParams_$65635_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":69491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3745:50:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69492,"nodeType":"ExpressionStatement","src":"3745:50:99"},{"expression":{"arguments":[{"id":69494,"name":"membersToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69480,"src":"3821:12:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":69493,"name":"_addToAllowList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69728,"src":"3805:15:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (address[] memory)"}},"id":69495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3805:29:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69496,"nodeType":"ExpressionStatement","src":"3805:29:99"},{"expression":{"arguments":[{"id":69498,"name":"membersToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69483,"src":"3865:15:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":69497,"name":"_removeFromAllowList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69798,"src":"3844:20:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (address[] memory)"}},"id":69499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3844:37:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69500,"nodeType":"ExpressionStatement","src":"3844:37:99"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_setPoolParams","nameLocation":"3500:14:99","parameters":{"id":69484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69474,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"3563:17:99","nodeType":"VariableDeclaration","scope":69502,"src":"3524:56:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":69473,"nodeType":"UserDefinedTypeName","pathNode":{"id":69472,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["3524:14:99","3539:16:99"],"nodeType":"IdentifierPath","referencedDeclaration":65626,"src":"3524:31:99"},"referencedDeclaration":65626,"src":"3524:31:99","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":69477,"mutability":"mutable","name":"_cvParams","nameLocation":"3621:9:99","nodeType":"VariableDeclaration","scope":69502,"src":"3590:40:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":69476,"nodeType":"UserDefinedTypeName","pathNode":{"id":69475,"name":"StrategyStruct.CVParams","nameLocations":["3590:14:99","3605:8:99"],"nodeType":"IdentifierPath","referencedDeclaration":65635,"src":"3590:23:99"},"referencedDeclaration":65635,"src":"3590:23:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"},{"constant":false,"id":69480,"mutability":"mutable","name":"membersToAdd","nameLocation":"3657:12:99","nodeType":"VariableDeclaration","scope":69502,"src":"3640:29:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69478,"name":"address","nodeType":"ElementaryTypeName","src":"3640:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69479,"nodeType":"ArrayTypeName","src":"3640:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":69483,"mutability":"mutable","name":"membersToRemove","nameLocation":"3696:15:99","nodeType":"VariableDeclaration","scope":69502,"src":"3679:32:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69481,"name":"address","nodeType":"ElementaryTypeName","src":"3679:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69482,"nodeType":"ArrayTypeName","src":"3679:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"3514:203:99"},"returnParameters":{"id":69485,"nodeType":"ParameterList","parameters":[],"src":"3735:0:99"},"scope":69799,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":69528,"nodeType":"FunctionDefinition","src":"3894:362:99","nodes":[],"body":{"id":69527,"nodeType":"Block","src":"4137:119:99","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69517,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66218,"src":"4147:15:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":69518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4147:17:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69519,"nodeType":"ExpressionStatement","src":"4147:17:99"},{"expression":{"arguments":[{"id":69521,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69505,"src":"4189:17:99","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"id":69522,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69508,"src":"4208:9:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},{"id":69523,"name":"membersToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69511,"src":"4219:12:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":69524,"name":"membersToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69514,"src":"4233:15:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":69520,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[69502,68617],"referencedDeclaration":69502,"src":"4174:14:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$65626_memory_ptr_$_t_struct$_CVParams_$65635_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory,address[] memory,address[] memory)"}},"id":69525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4174:75:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69526,"nodeType":"ExpressionStatement","src":"4174:75:99"}]},"functionSelector":"948e7a59","implemented":true,"kind":"function","modifiers":[],"name":"setPoolParams","nameLocation":"3903:13:99","parameters":{"id":69515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69505,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"3965:17:99","nodeType":"VariableDeclaration","scope":69528,"src":"3926:56:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":69504,"nodeType":"UserDefinedTypeName","pathNode":{"id":69503,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["3926:14:99","3941:16:99"],"nodeType":"IdentifierPath","referencedDeclaration":65626,"src":"3926:31:99"},"referencedDeclaration":65626,"src":"3926:31:99","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":69508,"mutability":"mutable","name":"_cvParams","nameLocation":"4023:9:99","nodeType":"VariableDeclaration","scope":69528,"src":"3992:40:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":69507,"nodeType":"UserDefinedTypeName","pathNode":{"id":69506,"name":"StrategyStruct.CVParams","nameLocations":["3992:14:99","4007:8:99"],"nodeType":"IdentifierPath","referencedDeclaration":65635,"src":"3992:23:99"},"referencedDeclaration":65635,"src":"3992:23:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"},{"constant":false,"id":69511,"mutability":"mutable","name":"membersToAdd","nameLocation":"4059:12:99","nodeType":"VariableDeclaration","scope":69528,"src":"4042:29:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69509,"name":"address","nodeType":"ElementaryTypeName","src":"4042:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69510,"nodeType":"ArrayTypeName","src":"4042:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":69514,"mutability":"mutable","name":"membersToRemove","nameLocation":"4098:15:99","nodeType":"VariableDeclaration","scope":69528,"src":"4081:32:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69512,"name":"address","nodeType":"ElementaryTypeName","src":"4081:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69513,"nodeType":"ArrayTypeName","src":"4081:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"3916:203:99"},"returnParameters":{"id":69516,"nodeType":"ParameterList","parameters":[],"src":"4137:0:99"},"scope":69799,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":69572,"nodeType":"FunctionDefinition","src":"4262:326:99","nodes":[],"body":{"id":69571,"nodeType":"Block","src":"4350:238:99","nodes":[],"statements":[{"assignments":[69541],"declarations":[{"constant":false,"id":69541,"mutability":"mutable","name":"pv","nameLocation":"4400:2:99","nodeType":"VariableDeclaration","scope":69571,"src":"4360:42:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":69539,"nodeType":"UserDefinedTypeName","pathNode":{"id":69538,"name":"StrategyStruct.ProposalSupport","nameLocations":["4360:14:99","4375:15:99"],"nodeType":"IdentifierPath","referencedDeclaration":65609,"src":"4360:30:99"},"referencedDeclaration":65609,"src":"4360:30:99","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65609_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":69540,"nodeType":"ArrayTypeName","src":"4360:32:99","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"id":69550,"initialValue":{"arguments":[{"id":69544,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69530,"src":"4416:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"expression":{"id":69545,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"4424:14:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":69546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4439:15:99","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":65609,"src":"4424:30:99","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$65609_storage_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport storage pointer)"}},"id":69547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4424:32:99","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"id":69548,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4423:34:99","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}],"expression":{"id":69542,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4405:3:99","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":69543,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4409:6:99","memberName":"decode","nodeType":"MemberAccess","src":"4405:10:99","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":69549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4405:53:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"4360:98:99"},{"body":{"id":69569,"nodeType":"Block","src":"4508:74:99","statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":69563,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69541,"src":"4554:2:99","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":69565,"indexExpression":{"id":69564,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69552,"src":"4557:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4554:5:99","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65609_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":69566,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4560:10:99","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65606,"src":"4554:16:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69562,"name":"checkProposalAllocationValidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69355,"src":"4522:31:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":69567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4522:49:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69568,"nodeType":"ExpressionStatement","src":"4522:49:99"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69555,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69552,"src":"4488:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":69556,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69541,"src":"4492:2:99","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":69557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4495:6:99","memberName":"length","nodeType":"MemberAccess","src":"4492:9:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4488:13:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69570,"initializationExpression":{"assignments":[69552],"declarations":[{"constant":false,"id":69552,"mutability":"mutable","name":"i","nameLocation":"4481:1:99","nodeType":"VariableDeclaration","scope":69570,"src":"4473:9:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69551,"name":"uint256","nodeType":"ElementaryTypeName","src":"4473:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69554,"initialValue":{"hexValue":"30","id":69553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4485:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"4473:13:99"},"loopExpression":{"expression":{"id":69560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4503:3:99","subExpression":{"id":69559,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69552,"src":"4503:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69561,"nodeType":"ExpressionStatement","src":"4503:3:99"},"nodeType":"ForStatement","src":"4468:114:99"}]},"baseFunctions":[65437],"implemented":true,"kind":"function","modifiers":[],"name":"_beforeAllocate","nameLocation":"4271:15:99","overrides":{"id":69534,"nodeType":"OverrideSpecifier","overrides":[],"src":"4341:8:99"},"parameters":{"id":69533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69530,"mutability":"mutable","name":"_data","nameLocation":"4300:5:99","nodeType":"VariableDeclaration","scope":69572,"src":"4287:18:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":69529,"name":"bytes","nodeType":"ElementaryTypeName","src":"4287:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":69532,"mutability":"mutable","name":"_sender","nameLocation":"4315:7:99","nodeType":"VariableDeclaration","scope":69572,"src":"4307:15:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69531,"name":"address","nodeType":"ElementaryTypeName","src":"4307:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4286:37:99"},"returnParameters":{"id":69535,"nodeType":"ParameterList","parameters":[],"src":"4350:0:99"},"scope":69799,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":69632,"nodeType":"FunctionDefinition","src":"4594:526:99","nodes":[],"body":{"id":69631,"nodeType":"Block","src":"4674:446:99","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":69582,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65943,"src":"4696:11:99","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}],"id":69581,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4688:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69580,"name":"address","nodeType":"ElementaryTypeName","src":"4688:7:99","typeDescriptions":{}}},"id":69583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4688:20:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":69586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4720:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":69585,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4712:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69584,"name":"address","nodeType":"ElementaryTypeName","src":"4712:7:99","typeDescriptions":{}}},"id":69587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4712:10:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4688:34:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69621,"nodeType":"IfStatement","src":"4684:363:99","trueBody":{"id":69620,"nodeType":"Block","src":"4724:323:99","statements":[{"assignments":[69590],"declarations":[{"constant":false,"id":69590,"mutability":"mutable","name":"allowlistRole","nameLocation":"4746:13:99","nodeType":"VariableDeclaration","scope":69620,"src":"4738:21:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69589,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4738:7:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":69598,"initialValue":{"arguments":[{"arguments":[{"hexValue":"414c4c4f574c495354","id":69594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4789:11:99","typeDescriptions":{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},"value":"ALLOWLIST"},{"id":69595,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"4802:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69592,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4772:3:99","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":69593,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4776:12:99","memberName":"encodePacked","nodeType":"MemberAccess","src":"4772:16:99","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":69596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4772:37:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":69591,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4762:9:99","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":69597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4762:48:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"4738:72:99"},{"condition":{"arguments":[{"id":69602,"name":"allowlistRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69590,"src":"4863:13:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":69605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4886:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":69604,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4878:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69603,"name":"address","nodeType":"ElementaryTypeName","src":"4878:7:99","typeDescriptions":{}}},"id":69606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4878:10:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69599,"name":"getRegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69366,"src":"4828:24:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_1_$72996_$","typeString":"function () view returns (contract RegistryCommunityV0_1)"}},"id":69600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4828:26:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"id":69601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4855:7:99","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":52456,"src":"4828:34:99","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":69607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4828:61:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":69618,"nodeType":"Block","src":"4941:96:99","statements":[{"expression":{"arguments":[{"id":69614,"name":"allowlistRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69590,"src":"5001:13:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":69615,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69574,"src":"5016:5:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69611,"name":"getRegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69366,"src":"4966:24:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_1_$72996_$","typeString":"function () view returns (contract RegistryCommunityV0_1)"}},"id":69612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4966:26:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"id":69613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4993:7:99","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":52456,"src":"4966:34:99","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":69616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4966:56:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":69579,"id":69617,"nodeType":"Return","src":"4959:63:99"}]},"id":69619,"nodeType":"IfStatement","src":"4824:213:99","trueBody":{"id":69610,"nodeType":"Block","src":"4891:44:99","statements":[{"expression":{"hexValue":"74727565","id":69608,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4916:4:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":69579,"id":69609,"nodeType":"Return","src":"4909:11:99"}]}}]}},{"expression":{"arguments":[{"id":69624,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69574,"src":"5092:5:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":69627,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5107:4:99","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}],"id":69626,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5099:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69625,"name":"address","nodeType":"ElementaryTypeName","src":"5099:7:99","typeDescriptions":{}}},"id":69628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5099:13:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":69622,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65943,"src":"5063:11:99","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"id":69623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5075:16:99","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":70122,"src":"5063:28:99","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":69629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5063:50:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":69579,"id":69630,"nodeType":"Return","src":"5056:57:99"}]},"baseFunctions":[66248],"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"4603:17:99","overrides":{"id":69576,"nodeType":"OverrideSpecifier","overrides":[],"src":"4650:8:99"},"parameters":{"id":69575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69574,"mutability":"mutable","name":"_user","nameLocation":"4629:5:99","nodeType":"VariableDeclaration","scope":69632,"src":"4621:13:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69573,"name":"address","nodeType":"ElementaryTypeName","src":"4621:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4620:15:99"},"returnParameters":{"id":69579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69578,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69632,"src":"4668:4:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69577,"name":"bool","nodeType":"ElementaryTypeName","src":"4668:4:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4667:6:99"},"scope":69799,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":69646,"nodeType":"FunctionDefinition","src":"5126:125:99","nodes":[],"body":{"id":69645,"nodeType":"Block","src":"5183:68:99","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69638,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66218,"src":"5193:15:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":69639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5193:17:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69640,"nodeType":"ExpressionStatement","src":"5193:17:99"},{"expression":{"arguments":[{"id":69642,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69635,"src":"5236:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":69641,"name":"_addToAllowList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69728,"src":"5220:15:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (address[] memory)"}},"id":69643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5220:24:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69644,"nodeType":"ExpressionStatement","src":"5220:24:99"}]},"functionSelector":"7263cfe2","implemented":true,"kind":"function","modifiers":[],"name":"addToAllowList","nameLocation":"5135:14:99","parameters":{"id":69636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69635,"mutability":"mutable","name":"members","nameLocation":"5167:7:99","nodeType":"VariableDeclaration","scope":69646,"src":"5150:24:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69633,"name":"address","nodeType":"ElementaryTypeName","src":"5150:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69634,"nodeType":"ArrayTypeName","src":"5150:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5149:26:99"},"returnParameters":{"id":69637,"nodeType":"ParameterList","parameters":[],"src":"5183:0:99"},"scope":69799,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":69728,"nodeType":"FunctionDefinition","src":"5257:646:99","nodes":[],"body":{"id":69727,"nodeType":"Block","src":"5317:586:99","nodes":[],"statements":[{"assignments":[69653],"declarations":[{"constant":false,"id":69653,"mutability":"mutable","name":"allowlistRole","nameLocation":"5335:13:99","nodeType":"VariableDeclaration","scope":69727,"src":"5327:21:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69652,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5327:7:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":69661,"initialValue":{"arguments":[{"arguments":[{"hexValue":"414c4c4f574c495354","id":69657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5378:11:99","typeDescriptions":{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},"value":"ALLOWLIST"},{"id":69658,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"5391:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69655,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5361:3:99","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":69656,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5365:12:99","memberName":"encodePacked","nodeType":"MemberAccess","src":"5361:16:99","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":69659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5361:37:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":69654,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5351:9:99","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":69660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5351:48:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"5327:72:99"},{"condition":{"arguments":[{"id":69665,"name":"allowlistRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69653,"src":"5449:13:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":69668,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5472:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":69667,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5464:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69666,"name":"address","nodeType":"ElementaryTypeName","src":"5464:7:99","typeDescriptions":{}}},"id":69669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5464:10:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69662,"name":"getRegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69366,"src":"5414:24:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_1_$72996_$","typeString":"function () view returns (contract RegistryCommunityV0_1)"}},"id":69663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5414:26:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"id":69664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5441:7:99","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":52456,"src":"5414:34:99","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":69670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5414:61:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69682,"nodeType":"IfStatement","src":"5410:156:99","trueBody":{"id":69681,"nodeType":"Block","src":"5477:89:99","statements":[{"expression":{"arguments":[{"id":69674,"name":"allowlistRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69653,"src":"5529:13:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":69677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5552:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":69676,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5544:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69675,"name":"address","nodeType":"ElementaryTypeName","src":"5544:7:99","typeDescriptions":{}}},"id":69678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5544:10:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69671,"name":"getRegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69366,"src":"5491:24:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_1_$72996_$","typeString":"function () view returns (contract RegistryCommunityV0_1)"}},"id":69672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5491:26:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"id":69673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5518:10:99","memberName":"revokeRole","nodeType":"MemberAccess","referencedDeclaration":52563,"src":"5491:37:99","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address) external"}},"id":69679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5491:64:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69680,"nodeType":"ExpressionStatement","src":"5491:64:99"}]}},{"body":{"id":69720,"nodeType":"Block","src":"5620:223:99","statements":[{"condition":{"id":69702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5638:62:99","subExpression":{"arguments":[{"id":69697,"name":"allowlistRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69653,"src":"5674:13:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":69698,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69649,"src":"5689:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":69700,"indexExpression":{"id":69699,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69684,"src":"5697:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5689:10:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69694,"name":"getRegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69366,"src":"5639:24:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_1_$72996_$","typeString":"function () view returns (contract RegistryCommunityV0_1)"}},"id":69695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5639:26:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"id":69696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5666:7:99","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":52456,"src":"5639:34:99","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":69701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5639:61:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69719,"nodeType":"IfStatement","src":"5634:199:99","trueBody":{"id":69718,"nodeType":"Block","src":"5702:131:99","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"414c4c4f574c495354","id":69709,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5784:11:99","typeDescriptions":{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},"value":"ALLOWLIST"},{"id":69710,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"5797:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69707,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5767:3:99","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":69708,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5771:12:99","memberName":"encodePacked","nodeType":"MemberAccess","src":"5767:16:99","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":69711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5767:37:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":69706,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5757:9:99","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":69712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5757:48:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":69713,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69649,"src":"5807:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":69715,"indexExpression":{"id":69714,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69684,"src":"5815:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5807:10:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69703,"name":"getRegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69366,"src":"5720:24:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_1_$72996_$","typeString":"function () view returns (contract RegistryCommunityV0_1)"}},"id":69704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5720:26:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"id":69705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5747:9:99","memberName":"grantRole","nodeType":"MemberAccess","referencedDeclaration":52543,"src":"5720:36:99","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address) external"}},"id":69716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5720:98:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69717,"nodeType":"ExpressionStatement","src":"5720:98:99"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69687,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69684,"src":"5595:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":69688,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69649,"src":"5599:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":69689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5607:6:99","memberName":"length","nodeType":"MemberAccess","src":"5599:14:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5595:18:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69721,"initializationExpression":{"assignments":[69684],"declarations":[{"constant":false,"id":69684,"mutability":"mutable","name":"i","nameLocation":"5588:1:99","nodeType":"VariableDeclaration","scope":69721,"src":"5580:9:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69683,"name":"uint256","nodeType":"ElementaryTypeName","src":"5580:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69686,"initialValue":{"hexValue":"30","id":69685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5592:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"5580:13:99"},"loopExpression":{"expression":{"id":69692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5615:3:99","subExpression":{"id":69691,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69684,"src":"5615:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69693,"nodeType":"ExpressionStatement","src":"5615:3:99"},"nodeType":"ForStatement","src":"5575:268:99"},{"eventCall":{"arguments":[{"id":69723,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"5880:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69724,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69649,"src":"5888:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":69722,"name":"AllowlistMembersAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69291,"src":"5858:21:99","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256,address[] memory)"}},"id":69725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5858:38:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69726,"nodeType":"EmitStatement","src":"5853:43:99"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addToAllowList","nameLocation":"5266:15:99","parameters":{"id":69650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69649,"mutability":"mutable","name":"members","nameLocation":"5299:7:99","nodeType":"VariableDeclaration","scope":69728,"src":"5282:24:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69647,"name":"address","nodeType":"ElementaryTypeName","src":"5282:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69648,"nodeType":"ArrayTypeName","src":"5282:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5281:26:99"},"returnParameters":{"id":69651,"nodeType":"ParameterList","parameters":[],"src":"5317:0:99"},"scope":69799,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":69742,"nodeType":"FunctionDefinition","src":"5909:137:99","nodes":[],"body":{"id":69741,"nodeType":"Block","src":"5973:73:99","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69734,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66218,"src":"5983:15:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":69735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5983:17:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69736,"nodeType":"ExpressionStatement","src":"5983:17:99"},{"expression":{"arguments":[{"id":69738,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69731,"src":"6031:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":69737,"name":"_removeFromAllowList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69798,"src":"6010:20:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (address[] memory)"}},"id":69739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6010:29:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69740,"nodeType":"ExpressionStatement","src":"6010:29:99"}]},"functionSelector":"a51312c8","implemented":true,"kind":"function","modifiers":[],"name":"removeFromAllowList","nameLocation":"5918:19:99","parameters":{"id":69732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69731,"mutability":"mutable","name":"members","nameLocation":"5955:7:99","nodeType":"VariableDeclaration","scope":69742,"src":"5938:24:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69729,"name":"address","nodeType":"ElementaryTypeName","src":"5938:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69730,"nodeType":"ArrayTypeName","src":"5938:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5937:26:99"},"returnParameters":{"id":69733,"nodeType":"ParameterList","parameters":[],"src":"5973:0:99"},"scope":69799,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":69798,"nodeType":"FunctionDefinition","src":"6052:440:99","nodes":[],"body":{"id":69797,"nodeType":"Block","src":"6117:375:99","nodes":[],"statements":[{"body":{"id":69790,"nodeType":"Block","src":"6172:258:99","statements":[{"condition":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"414c4c4f574c495354","id":69765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6252:11:99","typeDescriptions":{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},"value":"ALLOWLIST"},{"id":69766,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"6265:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69763,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6235:3:99","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":69764,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6239:12:99","memberName":"encodePacked","nodeType":"MemberAccess","src":"6235:16:99","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":69767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6235:37:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":69762,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6225:9:99","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":69768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6225:48:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":69769,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69745,"src":"6275:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":69771,"indexExpression":{"id":69770,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69749,"src":"6283:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6275:10:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69759,"name":"getRegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69366,"src":"6190:24:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_1_$72996_$","typeString":"function () view returns (contract RegistryCommunityV0_1)"}},"id":69760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6190:26:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"id":69761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6217:7:99","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":52456,"src":"6190:34:99","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":69772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6190:96:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69789,"nodeType":"IfStatement","src":"6186:234:99","trueBody":{"id":69788,"nodeType":"Block","src":"6288:132:99","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"414c4c4f574c495354","id":69779,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6371:11:99","typeDescriptions":{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},"value":"ALLOWLIST"},{"id":69780,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"6384:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69777,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6354:3:99","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":69778,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6358:12:99","memberName":"encodePacked","nodeType":"MemberAccess","src":"6354:16:99","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":69781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6354:37:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":69776,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6344:9:99","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":69782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6344:48:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":69783,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69745,"src":"6394:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":69785,"indexExpression":{"id":69784,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69749,"src":"6402:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6394:10:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69773,"name":"getRegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69366,"src":"6306:24:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_1_$72996_$","typeString":"function () view returns (contract RegistryCommunityV0_1)"}},"id":69774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6306:26:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"id":69775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6333:10:99","memberName":"revokeRole","nodeType":"MemberAccess","referencedDeclaration":52563,"src":"6306:37:99","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address) external"}},"id":69786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6306:99:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69787,"nodeType":"ExpressionStatement","src":"6306:99:99"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69752,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69749,"src":"6147:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":69753,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69745,"src":"6151:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":69754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6159:6:99","memberName":"length","nodeType":"MemberAccess","src":"6151:14:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6147:18:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69791,"initializationExpression":{"assignments":[69749],"declarations":[{"constant":false,"id":69749,"mutability":"mutable","name":"i","nameLocation":"6140:1:99","nodeType":"VariableDeclaration","scope":69791,"src":"6132:9:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69748,"name":"uint256","nodeType":"ElementaryTypeName","src":"6132:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69751,"initialValue":{"hexValue":"30","id":69750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6144:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6132:13:99"},"loopExpression":{"expression":{"id":69757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6167:3:99","subExpression":{"id":69756,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69749,"src":"6167:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69758,"nodeType":"ExpressionStatement","src":"6167:3:99"},"nodeType":"ForStatement","src":"6127:303:99"},{"eventCall":{"arguments":[{"id":69793,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"6469:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69794,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69745,"src":"6477:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":69792,"name":"AllowlistMembersRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69284,"src":"6445:23:99","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256,address[] memory)"}},"id":69795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6445:40:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69796,"nodeType":"EmitStatement","src":"6440:45:99"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_removeFromAllowList","nameLocation":"6061:20:99","parameters":{"id":69746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69745,"mutability":"mutable","name":"members","nameLocation":"6099:7:99","nodeType":"VariableDeclaration","scope":69798,"src":"6082:24:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69743,"name":"address","nodeType":"ElementaryTypeName","src":"6082:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69744,"nodeType":"ArrayTypeName","src":"6082:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"6081:26:99"},"returnParameters":{"id":69747,"nodeType":"ParameterList","parameters":[],"src":"6117:0:99"},"scope":69799,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":69276,"name":"CVStrategyV0_0","nameLocations":["1021:14:99"],"nodeType":"IdentifierPath","referencedDeclaration":69234,"src":"1021:14:99"},"id":69277,"nodeType":"InheritanceSpecifier","src":"1021:14:99"}],"canonicalName":"CVStrategyV0_1","contractDependencies":[],"contractKind":"contract","documentation":{"id":69275,"nodeType":"StructuredDocumentation","src":"950:44:99","text":"@custom:oz-upgrades-from CVStrategyV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[69799,69234,57725,57931,65534,73940,65471,3089,3317,3106,2969,70754,55672,55325,54974,54984,52903,53696,53152],"name":"CVStrategyV0_1","nameLocation":"1003:14:99","scope":69800,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,65667,65669,65671,65673,65675,65677,65679,65681,65683,65685,65687,65695,65697,65699,65705,65707,65709,65713,65717,65723,65725,65727,65735,65737,65739,65745,65747,65751,65753,65759,65761,65767,69305,70677]}],"license":"AGPL-3.0-only"},"id":99} \ No newline at end of file +{"abi":[{"type":"fallback","stateMutability":"payable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"D","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"DISPUTE_COOLDOWN_SEC","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_STAKED_PROPOSALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"RULING_OPTIONS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"activatePoints","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addToAllowList","inputs":[{"name":"members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocate","inputs":[{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"arbitrableConfigs","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculateThreshold","inputs":[{"name":"_requestedAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_threshold","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"canExecuteProposal","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"canBeExecuted","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"cancelProposal","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cloneNonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"collateralVault","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ICollateralVault"}],"stateMutability":"view"},{"type":"function","name":"currentArbitrableConfigVersion","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"cvParams","inputs":[],"outputs":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"deactivatePoints","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deactivatePoints","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToUnstake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"disputeCount","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"disputeIdToProposalId","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"disputeProposal","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"context","type":"string","internalType":"string"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"disputeId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"distribute","inputs":[{"name":"_recipientIds","type":"address[]","internalType":"address[]"},{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAllo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IAllo"}],"stateMutability":"view"},{"type":"function","name":"getArbitrableConfig","inputs":[],"outputs":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDecay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMaxAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMaxConviction","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMetadata","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getPayouts","inputs":[{"name":"","type":"address[]","internalType":"address[]"},{"name":"","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct IStrategy.PayoutSummary[]","components":[{"name":"recipientAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}]}],"stateMutability":"pure"},{"type":"function","name":"getPointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum PointSystem"}],"stateMutability":"view"},{"type":"function","name":"getPoolAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPoolId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposal","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"submitter","type":"address","internalType":"address"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"requestedToken","type":"address","internalType":"address"},{"name":"requestedAmount","type":"uint256","internalType":"uint256"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"proposalStatus","type":"uint8","internalType":"enum ProposalStatus"},{"name":"blockLast","type":"uint256","internalType":"uint256"},{"name":"convictionLast","type":"uint256","internalType":"uint256"},{"name":"threshold","type":"uint256","internalType":"uint256"},{"name":"voterStakedPoints","type":"uint256","internalType":"uint256"},{"name":"arbitrableConfigVersion","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposalStakedAmount","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposalVoterStake","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_voter","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRecipientStatus","inputs":[{"name":"_recipientId","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint8","internalType":"enum IStrategy.Status"}],"stateMutability":"view"},{"type":"function","name":"getRegistryCommunity","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract RegistryCommunityV0_0"}],"stateMutability":"view"},{"type":"function","name":"getRegistryCommunityV0_1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract RegistryCommunityV0_1"}],"stateMutability":"view"},{"type":"function","name":"getStrategyId","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getTotalVoterStakePct","inputs":[{"name":"_voter","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"increasePoolAmount","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"increasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToStake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"init","inputs":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"init","inputs":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_name","type":"string","internalType":"string"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initialOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isPoolActive","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isValidAllocator","inputs":[{"name":"_allocator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pointConfig","inputs":[],"outputs":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"pointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum PointSystem"}],"stateMutability":"view"},{"type":"function","name":"proposalCounter","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proposalType","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum ProposalType"}],"stateMutability":"view"},{"type":"function","name":"proposals","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"requestedAmount","type":"uint256","internalType":"uint256"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"convictionLast","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"submitter","type":"address","internalType":"address"},{"name":"requestedToken","type":"address","internalType":"address"},{"name":"blockLast","type":"uint256","internalType":"uint256"},{"name":"proposalStatus","type":"uint8","internalType":"enum ProposalStatus"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"disputeInfo","type":"tuple","internalType":"struct ProposalDisputeInfo","components":[{"name":"disputeId","type":"uint256","internalType":"uint256"},{"name":"disputeTimestamp","type":"uint256","internalType":"uint256"},{"name":"challenger","type":"address","internalType":"address"}]},{"name":"lastDisputeCompletion","type":"uint256","internalType":"uint256"},{"name":"arbitrableConfigVersion","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerRecipient","inputs":[{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[{"name":"recipientId","type":"address","internalType":"address"}],"stateMutability":"payable"},{"type":"function","name":"registryCommunity","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"removeFromAllowList","inputs":[{"name":"members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rule","inputs":[{"name":"_disputeID","type":"uint256","internalType":"uint256"},{"name":"_ruling","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCollateralVaultTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPoolActive","inputs":[{"name":"_active","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPoolParams","inputs":[{"name":"_arbitrableConfig","type":"tuple","internalType":"struct ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"_cvParams","type":"tuple","internalType":"struct CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPoolParams","inputs":[{"name":"_arbitrableConfig","type":"tuple","internalType":"struct ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"_cvParams","type":"tuple","internalType":"struct CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"membersToAdd","type":"address[]","internalType":"address[]"},{"name":"membersToRemove","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSybilScorer","inputs":[{"name":"_sybilScorer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"sybilScorer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISybilScorer"}],"stateMutability":"view"},{"type":"function","name":"totalEffectiveActivePoints","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalPointsActivated","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalStaked","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalVoterStakePct","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProposalConviction","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"voterStakedProposals","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Allocated","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AllowlistMembersAdded","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"members","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"AllowlistMembersRemoved","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"members","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"ArbitrableConfigUpdated","inputs":[{"name":"currentArbitrableConfigVersion","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"arbitrator","type":"address","indexed":false,"internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","indexed":false,"internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"defaultRuling","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CVParamsUpdated","inputs":[{"name":"cvParams","type":"tuple","indexed":false,"internalType":"struct CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]}],"anonymous":false},{"type":"event","name":"DisputeRequest","inputs":[{"name":"_arbitrator","type":"address","indexed":true,"internalType":"contract IArbitrator"},{"name":"_arbitrableDisputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_externalDisputeID","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_templateId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_templateUri","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"Distributed","inputs":[{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"beneficiary","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Distributed","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"recipientAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"InitializedCV","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"tuple","indexed":false,"internalType":"struct CVStrategyInitializeParamsV0_0","components":[{"name":"cvParams","type":"tuple","internalType":"struct CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]}],"anonymous":false},{"type":"event","name":"InitializedCV2","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"tuple","indexed":false,"internalType":"struct CVStrategyInitializeParamsV0_1","components":[{"name":"cvParams","type":"tuple","internalType":"struct CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"},{"name":"initialAllowlist","type":"address[]","internalType":"address[]"}]}],"anonymous":false},{"type":"event","name":"MinThresholdPointsUpdated","inputs":[{"name":"before","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PointsDeactivated","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PoolActive","inputs":[{"name":"active","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"PoolAmountIncreased","inputs":[{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PowerDecreased","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"},{"name":"tokensUnStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"pointsToDecrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PowerIncreased","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"},{"name":"tokensStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"pointsToIncrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalCancelled","inputs":[{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalCreated","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalDisputed","inputs":[{"name":"arbitrator","type":"address","indexed":false,"internalType":"contract IArbitrator"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"disputeId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"challenger","type":"address","indexed":false,"internalType":"address"},{"name":"context","type":"string","indexed":false,"internalType":"string"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Registered","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RegistryUpdated","inputs":[{"name":"registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Ruling","inputs":[{"name":"_arbitrator","type":"address","indexed":true,"internalType":"contract IArbitrator"},{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_ruling","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SupportAdded","inputs":[{"name":"from","type":"address","indexed":false,"internalType":"address"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"totalStakedAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"convictionLast","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"TribunaSafeRegistered","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"},{"name":"arbitrator","type":"address","indexed":false,"internalType":"address"},{"name":"tribunalSafe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"AMOUNT_MISMATCH","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"AmountOverMaxRatio","inputs":[]},{"type":"error","name":"ArbitratorCannotBeZero","inputs":[]},{"type":"error","name":"CallerNotOwner","inputs":[{"name":"_caller","type":"address","internalType":"address"},{"name":"_owner","type":"address","internalType":"address"}]},{"type":"error","name":"CantIncreaseFixedSystem","inputs":[]},{"type":"error","name":"ConvictionUnderMinimumThreshold","inputs":[]},{"type":"error","name":"DefaultRulingNotSet","inputs":[]},{"type":"error","name":"DisputeCooldownNotPassed","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_remainingSec","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"InsufficientCollateral","inputs":[{"name":"sentAmount","type":"uint256","internalType":"uint256"},{"name":"requiredAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"MaxPointsReached","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"NotEnoughPointsToSupport","inputs":[{"name":"pointsSupport","type":"uint256","internalType":"uint256"},{"name":"pointsBalance","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NotImplemented","inputs":[]},{"type":"error","name":"OnlyArbitrator","inputs":[]},{"type":"error","name":"OnlyCommunityAllowed","inputs":[]},{"type":"error","name":"OnlyCouncilSafe","inputs":[]},{"type":"error","name":"OnlySubmitter","inputs":[{"name":"submitter","type":"address","internalType":"address"},{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"PoolAmountNotEnough","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_requestedAmount","type":"uint256","internalType":"uint256"},{"name":"_poolAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PoolIdCannotBeZero","inputs":[]},{"type":"error","name":"PoolIsEmpty","inputs":[]},{"type":"error","name":"ProposalDataIsEmpty","inputs":[]},{"type":"error","name":"ProposalIdCannotBeZero","inputs":[]},{"type":"error","name":"ProposalInvalidForAllocation","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_proposalStatus","type":"uint8","internalType":"enum ProposalStatus"}]},{"type":"error","name":"ProposalNotActive","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalNotDisputed","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalNotInList","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalSupportDuplicated","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"RegistryCannotBeZero","inputs":[]},{"type":"error","name":"SupportUnderflow","inputs":[{"name":"_support","type":"uint256","internalType":"uint256"},{"name":"_delta","type":"int256","internalType":"int256"},{"name":"_result","type":"int256","internalType":"int256"}]},{"type":"error","name":"TokenCannotBeZero","inputs":[]},{"type":"error","name":"TokenNotAllowed","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"UserCannotBeZero","inputs":[]},{"type":"error","name":"UserCannotExecuteAction","inputs":[]},{"type":"error","name":"UserIsInactive","inputs":[]},{"type":"error","name":"UserNotInRegistry","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b5060805161709d6200004d600039600081816118cc0152818161190c015281816119ab015281816119eb0152611a63015261709d6000f3fe6080604052600436106103795760003560e01c8063013cf08b1461038257806301ffc9a7146103c4578063059351cd146103f4578063062f9ece146104815780630a6f0ee9146104a15780630ba95909146104c15780630bece79c146104e05780630c0512e91461050d5780630f529ba214610523578063125fd1d91461053a57806315cc481e14610550578063184b95591461056e5780631aa91a9e1461058e5780631ddf1e23146105ae5780632506b870146105c3578063255ffb38146106065780632bbe0cae146106335780632dbd6fdd146106465780632ed04b2b14610672578063311a6c561461069257806333960459146106b2578063346db8cb146106c8578063351d9f96146106e85780633659cfe61461070f57806338fff2d01461072f578063406244d81461074457806341bb76051461075957806342fda9c7146107b657806348f19c1d146107cb5780634ab4ba42146107e05780634d31d087146107f55780634f1ef2861461081557806352d1902d1461082857806359a5db8b1461083d5780635db64b991461085d5780636003e4141461088a57806360d5dedc146108aa578063626c47e8146108ca5780636453d9c4146108df5780636a6f69b4146107cb578063715018a6146108ff5780637263cfe214610914578063782aadff14610934578063814516ad14610954578063817b1cd214610969578063824ea8ed1461097f578063868c57b81461099f5780638da5cb5b146109bf578063948e7a59146109d4578063950559d7146109f45780639a1c157c14610a14578063a0cf0aea14610a29578063a28889e114610a51578063a47ff7e514610a89578063a51312c814610aa0578063a574cea414610ac0578063aba9ffee14610aed578063ac1ed7b914610b03578063b0d3713a14610b23578063b2b878d014610b43578063b41596ec14610b70578063b5f620ce14610b83578063b6c61f3114610ba3578063bcc5b93b14610bc3578063c329217114610be3578063c4d66de814610c00578063c7f758a814610c20578063d1e3623214610c57578063dc96ff2d14610c6c578063df868ed314610c9c578063e0a8f6f514610cb1578063e0dd2c3814610cd1578063eb11af9314610cf1578063edd146cc14610d19578063ef2920fc14610d39578063f2fde38b14610d4c578063f5b0dfb714610d6c578063f5be3f7c14610d8c578063ffa1ad7414610da257005b3661038057005b005b34801561038e57600080fd5b506103a261039d3660046157fb565b610dde565b6040516103bb9d9c9b9a999897969594939291906158b6565b60405180910390f35b3480156103d057600080fd5b506103e46103df366004615958565b610f2c565b60405190151581526020016103bb565b34801561040057600080fd5b50610449606f546000908152607f60205260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169694909316949193909290565b604080516001600160a01b039788168152969095166020870152938501929092526060840152608083015260a082015260c0016103bb565b34801561048d57600080fd5b5061038061049c366004615b3e565b610f63565b3480156104ad57600080fd5b506103806104bc366004615c8b565b610f79565b3480156104cd57600080fd5b506077545b6040519081526020016103bb565b3480156104ec57600080fd5b50607954610500906001600160a01b031681565b6040516103bb9190615d02565b34801561051957600080fd5b506104d2606e5481565b34801561052f57600080fd5b506104d26298968081565b34801561054657600080fd5b506104d2606f5481565b34801561055c57600080fd5b506065546001600160a01b0316610500565b34801561057a57600080fd5b50610380610589366004615d16565b610f99565b34801561059a57600080fd5b506104d26105a93660046157fb565b6110f9565b3480156105ba57600080fd5b50610380611143565b3480156105cf57600080fd5b506072546073546074546075546105e69392919084565b6040805194855260208501939093529183015260608201526080016103bb565b34801561061257600080fd5b506104d26106213660046157fb565b607e6020526000908152604090205481565b610500610641366004615d56565b61114e565b34801561065257600080fd5b5060765461066590610100900460ff1681565b6040516103bb9190615dbb565b34801561067e57600080fd5b506104d261068d366004615dc9565b611171565b34801561069e57600080fd5b506103806106ad366004615df5565b611235565b3480156106be57600080fd5b506104d2606c5481565b3480156106d457600080fd5b506104d26106e3366004615e17565b611827565b3480156106f457600080fd5b506076546107029060ff1681565b6040516103bb9190615e53565b34801561071b57600080fd5b5061038061072a366004615e61565b6118c2565b34801561073b57600080fd5b506068546104d2565b34801561075057600080fd5b506104d2600a81565b34801561076557600080fd5b506104496107743660046157fb565b607f602052600090815260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169593909416939192909186565b3480156107c257600080fd5b506066546104d2565b3480156107d757600080fd5b5061050061198a565b3480156107ec57600080fd5b506069546104d2565b34801561080157600080fd5b506103e4610810366004615e61565b611999565b610380610823366004615e7e565b6119a1565b34801561083457600080fd5b506104d2611a56565b34801561084957600080fd5b506104d26108583660046157fb565b611b04565b34801561086957600080fd5b506104d2610878366004615e61565b607c6020526000908152604090205481565b34801561089657600080fd5b50607854610500906001600160a01b031681565b3480156108b657600080fd5b506103806108c5366004615ecd565b611c1e565b3480156108d657600080fd5b506104d2600381565b3480156108eb57600080fd5b506103806108fa366004615e61565b611c9a565b34801561090b57600080fd5b50610380611cab565b34801561092057600080fd5b5061038061092f366004615f28565b611cbd565b34801561094057600080fd5b506104d261094f366004615dc9565b611cce565b34801561096057600080fd5b50610380611e64565b34801561097557600080fd5b506104d260705481565b34801561098b57600080fd5b506103e461099a3660046157fb565b611f81565b3480156109ab57600080fd5b506104d26109ba366004615dc9565b611fde565b3480156109cb57600080fd5b5061050061200f565b3480156109e057600080fd5b506103806109ef366004615f5c565b6120a0565b348015610a0057600080fd5b506104d2610a0f3660046157fb565b6120b4565b348015610a2057600080fd5b506074546104d2565b348015610a3557600080fd5b5061050073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b348015610a5d57600080fd5b50606d54610a71906001600160401b031681565b6040516001600160401b0390911681526020016103bb565b348015610a9557600080fd5b506077546104d29081565b348015610aac57600080fd5b50610380610abb366004615f28565b6120de565b348015610acc57600080fd5b50610ae0610adb3660046157fb565b6120ef565b6040516103bb9190615fe5565b348015610af957600080fd5b506104d260715481565b348015610b0f57600080fd5b50610380610b1e366004615e61565b6121ce565b348015610b2f57600080fd5b50610380610b3e366004615e61565b612201565b348015610b4f57600080fd5b50610b63610b5e366004615ff8565b61222b565b6040516103bb91906160cc565b6104d2610b7e366004616165565b612246565b348015610b8f57600080fd5b50610380610b9e3660046161ec565b612598565b348015610baf57600080fd5b50607a54610500906001600160a01b031681565b348015610bcf57600080fd5b506104d2610bde366004615e61565b6125a1565b348015610bef57600080fd5b50607654610100900460ff16610665565b348015610c0c57600080fd5b50610380610c1b366004615e61565b6125bc565b348015610c2c57600080fd5b50610c40610c3b3660046157fb565b6125ec565b6040516103bb9b9a99989796959493929190616209565b348015610c6357600080fd5b506071546104d2565b348015610c7857600080fd5b506104d2610c873660046157fb565b6000908152607b602052604090206002015490565b348015610ca857600080fd5b506103e46126f8565b348015610cbd57600080fd5b50610380610ccc3660046157fb565b61270b565b348015610cdd57600080fd5b506104d2610cec366004616278565b612890565b348015610cfd57600080fd5b50610d0c610810366004615e61565b6040516103bb919061629d565b348015610d2557600080fd5b50610380610d343660046162b0565b6128bb565b610380610d47366004615d56565b612aac565b348015610d5857600080fd5b50610380610d67366004615e61565b612ad0565b348015610d7857600080fd5b50610380610d873660046157fb565b612b3d565b348015610d9857600080fd5b506104d2611c2081565b348015610dae57600080fd5b50610dd1604051806040016040528060038152602001620302e360ec1b81525081565b6040516103bb91906162e0565b607b602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610e65906162f3565b80601f0160208091040260200160405190810160405280929190818152602001828054610e91906162f3565b8015610ede5780601f10610eb357610100808354040283529160200191610ede565b820191906000526020600020905b815481529060010190602001808311610ec157829003601f168201915b50505091909252505060408051606081018252600c8501548152600d8501546020820152600e8501546001600160a01b031691810191909152600f840154601090940154929390929091508d565b60006001600160e01b0319821663f1801e6160e01b1480610f5d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b610f6b612b66565b610f758282612c00565b5050565b610f81612f75565b610f89612fa0565b610f94838383612fc3565b505050565b600054610100900460ff1615808015610fb95750600054600160ff909116105b80610fda5750610fc8306132cd565b158015610fda575060005460ff166001145b6110425760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015611065576000805461ff0019166101001790555b611092846040518060400160405280600a8152602001694356537472617465677960b01b81525084611c1e565b606a80546001600160a01b0319166001600160a01b03851617905580156110f3576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b6000818152607b602052604081208054831461112b5760405163c1d17bef60e01b815260048101849052602401611039565b6111398182600201546132dc565b6003015492915050565b61114c33613317565b565b6000611158612f75565b611160612fa0565b61116a8383613443565b9392505050565b600061117b613831565b60006002607654610100900460ff16600381111561119b5761119b615821565b14806111c257506001607654610100900460ff1660038111156111c0576111c0615821565b145b156111ce5750816111db565b6111d8848461385c565b90505b80607160008282546111ed919061633d565b90915550506040517f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19061122690869086908590616350565b60405180910390a19392505050565b6000828152607e6020908152604080832054808452607b835281842060108101548552607f8452828520835160c08101855281546001600160a01b03908116825260018301541695810195909552600281015493850193909352600383015460608501526004830154608085015260059092015460a0840152929091908390036112d55760405163c1d17bef60e01b815260048101849052602401611039565b6005600883015460ff1660068111156112f0576112f0615821565b1461131157604051634b011ca960e11b815260048101849052602401611039565b60a0810151600d83015460009161132791616371565b42119050801581611342575081516001600160a01b03163314155b1561136057604051631777988560e11b815260040160405180910390fd5b808061136a575084155b156114b357816080015160000361139457604051630dd466dd60e41b815260040160405180910390fd5b81608001516001036113b05760088301805460ff191660011790555b816080015160020361143d5760088301805460ff191660061790556079546005840154604084810151905163099ea56b60e41b81526001600160a01b03938416936399ea56b09361140a938a939290911691600401616384565b600060405180830381600087803b15801561142457600080fd5b505af1158015611438573d6000803e3d6000fd5b505050505b607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b09361147c938a939290911691600401616384565b600060405180830381600087803b15801561149657600080fd5b505af11580156114aa573d6000803e3d6000fd5b50505050611790565b846001036115745760088301805460ff19166001179055607954600e8401546001600160a01b0391821691638969ab53918791166114ef61198a565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561152c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155091906163a3565b86606001516040518563ffffffff1660e01b815260040161147c94939291906163c0565b846002036117905760088301805460ff19166006179055607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b0936115ca938a939290911691600401616384565b600060405180830381600087803b1580156115e457600080fd5b505af11580156115f8573d6000803e3d6000fd5b505060795460058601546001600160a01b039182169350638969ab53925087911661162161198a565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561165e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168291906163a3565b606f546000908152607f602052604090206002908101546116a391906163fb565b6040518563ffffffff1660e01b81526004016116c294939291906163c0565b600060405180830381600087803b1580156116dc57600080fd5b505af11580156116f0573d6000803e3d6000fd5b50506079546005860154600e870154606f546000908152607f602052604090206002908101546001600160a01b039485169650638969ab5395508a94938416939092169161173e91906163fb565b6040518563ffffffff1660e01b815260040161175d94939291906163c0565b600060405180830381600087803b15801561177757600080fd5b505af115801561178b573d6000803e3d6000fd5b505050505b606d80546001600160401b03169060006117a98361641d565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550504283600f01819055508582600001516001600160a01b03167f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222768760405161181791815260200190565b60405180910390a3505050505050565b6074546000908490829061184c9061184690629896809060801b6163fb565b83613a5f565b905060806001607f1b60726002015462989680611869919061633d565b61187784600160801b61633d565b6118846298968089616440565b61188e9190616440565b61189891906163fb565b6118a28885616440565b6118ac9190616371565b6118b69190616371565b901c9695505050505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361190a5760405162461bcd60e51b815260040161103990616457565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661193c613b07565b6001600160a01b0316146119625760405162461bcd60e51b815260040161103990616491565b61196b81613b23565b6040805160008082526020820190925261198791839190613b5e565b50565b6078546001600160a01b031690565b600080610f5d565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036119e95760405162461bcd60e51b815260040161103990616457565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611a1b613b07565b6001600160a01b031614611a415760405162461bcd60e51b815260040161103990616491565b611a4a82613b23565b610f7582826001613b5e565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611af15760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401611039565b5060008051602061700183398151915290565b60008060695411611b285760405163ed4421ad60e01b815260040160405180910390fd5b611b3182613cc9565b15611b4f57604051630efd728560e21b815260040160405180910390fd5b606954600090611b6384600160401b616440565b611b6d91906163fb565b6072546298968090611b8390600160401b616440565b611b8d91906163fb565b611b97919061633d565b90506040611ba460715490565b607454611bb4906298968061633d565b629896806040611bc48680616440565b607354911c90611bdb90629896809060801b6163fb565b611be591906163fb565b611bef9190616440565b611bf991906163fb565b611c039190616440565b607554911c92508211611c185760755461116a565b50919050565b600054610100900460ff16611c455760405162461bcd60e51b8152600401611039906164cb565b611c4e816125bc565b606580546001600160a01b0319166001600160a01b038516179055604051611c7a9083906020016162e0565b60408051601f198184030181529190528051602090910120606655505050565b611ca2613831565b61198781613317565b611cb3613cf0565b61114c6000613d4f565b611cc5612b66565b61198781613da1565b6000611cd8613831565b611ce183614041565b611cfe57604051630b72d6b160e31b815260040160405180910390fd5b60006002607654610100900460ff166003811115611d1e57611d1e615821565b03611d2c57825b9050611d89565b6001607654610100900460ff166003811115611d4a57611d4a615821565b03611d5957611d2584846141ef565b6003607654610100900460ff166003811115611d7757611d77615821565b03611d8957611d868484614298565b90505b6000611d9361198a565b6001600160a01b031663477a5cc086306040518363ffffffff1660e01b8152600401611dc0929190616516565b602060405180830381865afa158015611ddd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e019190616530565b90508015611e21578160716000828254611e1b9190616371565b90915550505b7f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a858584604051611e5493929190616350565b60405180910390a1509392505050565b33611e6e81614041565b611e8b57604051630b72d6b160e31b815260040160405180910390fd5b611e9361198a565b6001600160a01b0316630d4a8b4982306040518363ffffffff1660e01b8152600401611ec0929190616516565b600060405180830381600087803b158015611eda57600080fd5b505af1158015611eee573d6000803e3d6000fd5b50505050611efa61198a565b6001600160a01b0316637817ee4f82306040518363ffffffff1660e01b8152600401611f27929190616516565b602060405180830381865afa158015611f44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f68919061654d565b60716000828254611f799190616371565b909155505050565b6000818152607b60205260408120600281015482908190611fa3908490614499565b91509150816000148015611fb5575080155b15611fc257826003015491505b6000611fd18460010154611b04565b9092101595945050505050565b607d6020528160005260406000208181548110611ffa57600080fd5b90600052602060002001600091509150505481565b6000806120246033546001600160a01b031690565b9050806001600160a01b03163b60000361203d57919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612097575060408051601f3d908101601f19168201909252612094918101906163a3565b60015b610f5d57919050565b6120a8612b66565b6110f3848484846144f1565b6074546000906120c7906298968061633d565b6120d46298968084616440565b610f5d91906163fb565b6120e6612b66565b61198781614509565b6040805180820190915260008152606060208201526000607b6000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054612144906162f3565b80601f0160208091040260200160405190810160405280929190818152602001828054612170906162f3565b80156121bd5780601f10612192576101008083540402835291602001916121bd565b820191906000526020600020905b8154815290600101906020018083116121a057829003601f168201915b505050505081525050915050919050565b6121d6612b66565b6121df816146c0565b607a80546001600160a01b0319166001600160a01b0392909216919091179055565b612209613cf0565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b606060405163d623472560e01b815260040160405180910390fd5b6000858152607b6020908152604080832060108101548452607f8352818420825160c08101845281546001600160a01b0390811680835260018401549091169582019590955260028201549381019390935260038101546060840152600481015460808401526005015460a0830152916122d357604051636c291fd360e01b815260040160405180910390fd5b815488146122f75760405163c1d17bef60e01b815260048101899052602401611039565b6001600883015460ff16600681111561231257612312615821565b14612333576040516344980d8f60e01b815260048101899052602401611039565b806060015134101561235f576060810151604051632c1f8ef160e21b8152611039913491600401616576565b600f82015415801590612382575042611c2083600f01546123809190616371565b115b156123c0578742611c2084600f015461239b9190616371565b6123a5919061633d565b604051638d2f6c3160e01b8152600401611039929190616576565b60008160600151346123d2919061633d565b607954606084015160405163240ff7c560e11b81529293506001600160a01b039091169163481fef8a919061240d908d903390600401616584565b6000604051808303818588803b15801561242657600080fd5b505af115801561243a573d6000803e3d6000fd5b5050845160405163c13517e160e01b81526001600160a01b03909116935063c13517e19250849150612475906003908b908b906004016165c4565b60206040518083038185885af1158015612493573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906124b8919061654d565b60088401805491955060059160ff19166001830217905550600c830184905542600d840155600e830180546001600160a01b031916331790556000848152607e602052604081208a9055606d80546001600160401b031691612519836165e7565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550507f034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d82600001518a86338c8c89600c01600101546040516125849796959493929190616615565b60405180910390a150505095945050505050565b611987816146e7565b6001600160a01b03166000908152607c602052604090205490565b600054610100900460ff166125e35760405162461bcd60e51b8152600401611039906164cb565b61198781613d4f565b600080600080600080600080600080600080607b60008e8152602001908152602001600020905080600101546000146126315761262c8160010154611b04565b612634565b60005b93508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548b896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020548a601001549b509b509b509b509b509b509b509b509b509b509b505091939597999b90929496989a50565b600061270660675460ff1690565b905090565b60016000828152607b602052604090206008015460ff16600681111561273357612733615821565b14612754576040516344980d8f60e01b815260048101829052602401611039565b6000818152607b60205260409020600501546001600160a01b031633146127ad576000818152607b602052604090819020600501549051634544dc9160e11b8152611039916001600160a01b0316903390600401616516565b6079546000828152607b6020908152604080832060058101546010909101548452607f9092529182902060020154915163099ea56b60e41b81526001600160a01b03938416936399ea56b09361280a938793921691600401616384565b600060405180830381600087803b15801561282457600080fd5b505af1158015612838573d6000803e3d6000fd5b5050506000828152607b6020908152604091829020600801805460ff1916600317905590518381527f416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c9250015b60405180910390a150565b6000828152607b602090815260408083206001600160a01b038516845260090190915281205461116a565b6128c3612f75565b6128cc82614728565b606a54606c80546128f5926001600160a01b03169160006128ec83616664565b91905055614777565b607980546001600160a01b0319166001600160a01b039290921691821790556040805163204a7f0760e21b81529051638129fc1c9160048082019260009290919082900301818387803b15801561294b57600080fd5b505af115801561295f573d6000803e3d6000fd5b5050505060008180602001905181019061297991906167f0565b60a08101519091506001600160a01b03166129a757604051635df4b1ef60e01b815260040160405180910390fd5b60a0810151607880546001600160a01b0319166001600160a01b0390921691909117905560208101516076805460ff191660018360028111156129ec576129ec615821565b021790555060408101516076805461ff001916610100836003811115612a1457612a14615821565b021790555060608101515160775560c0810151607a80546001600160a01b0319166001600160a01b039092169190911790556080810151815160408051600080825260208201908152818301909252612a6e9392916144f1565b7fa489767af337c1767e9c6949fc5a6d3a73bb69ea80a3e619c2e08b7b308d0bcf8382604051612a9f929190616944565b60405180910390a1505050565b612ab4612f75565b612abc612fa0565b612ac682826147c6565b610f758282614822565b612ad8613cf0565b6001600160a01b0381166125e35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401611039565b612b45612f75565b8060696000828254612b579190616371565b90915550611987905081614915565b612b6e61198a565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612bab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bcf91906163a3565b6001600160a01b0316336001600160a01b03161461114c57604051637430763f60e11b815260040160405180910390fd5b60208201516001600160a01b031615801590612c25575081516001600160a01b031615155b8015612d0e5750606f546000908152607f6020908152604090912060010154908301516001600160a01b039081169116141580612c815750606f546000908152607f602052604090205482516001600160a01b03908116911614155b80612ca55750606f546000908152607f602052604090819020600201549083015114155b80612cc85750606f546000908152607f6020526040902060030154606083015114155b80612ceb5750606f546000908152607f6020526040902060040154608083015114155b80612d0e5750606f546000908152607f602052604090206005015460a083015114155b15612f1d57602080830151606f546000908152607f9092526040909120600101546001600160a01b039081169116141580612d6857508151606f546000908152607f60205260409020546001600160a01b03908116911614155b15612e31578151602083015160405163446adb9960e11b81526001600160a01b03909216916388d5b73291612d9f91600401615d02565b600060405180830381600087803b158015612db957600080fd5b505af1158015612dcd573d6000803e3d6000fd5b5050835160208501516040517fdc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f9450612e289350309291906001600160a01b0393841681529183166020830152909116604082015260600190565b60405180910390a15b606f8054906000612e4183616664565b9091555050606f80546000908152607f6020908152604091829020855181546001600160a01b03199081166001600160a01b03928316908117845588850151600185018054909316931692831790915587850151600284018190556060808a0151600386018190556080808c01516004880181905560a0808e015160059099018990559a548a519081529889019590955297870194909452850152938301529281019190915260c08101919091527fe677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d539060e00160405180910390a15b805160725560208101516073556040808201516074556060820151607555517fec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc90612f69908390616a23565b60405180910390a15050565b6065546001600160a01b0316331461114c5760405163075fd2b160e01b815260040160405180910390fd5b60685460000361114c57604051630f68fe6360e21b815260040160405180910390fd5b6000825111612fe557604051630317df1360e61b815260040160405180910390fd5b600082806020019051810190612ffb919061654d565b90508060000361301e5760405163f881a10d60e01b815260040160405180910390fd5b6000818152607b60205260409020600160765460ff16600281111561304557613045615821565b036132c6578054821461306e5760405163c1d17bef60e01b815260048101839052602401611039565b606954816001015411156130a157818160010154606954604051632c31d85b60e11b815260040161103993929190616a31565b6001600882015460ff1660068111156130bc576130bc615821565b146130dd576040516344980d8f60e01b815260048101839052602401611039565b60006130e8836110f9565b905060006130f98360010154611b04565b9050808210801561310e575060008360010154115b1561312c5760405163199cf26160e31b815260040160405180910390fd5b60655460685460405163068bcd8d60e01b815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561317a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526131a29190810190616ad4565b90508360010154606960008282546131ba919061633d565b90915550506040810151600485015460018601546131e292916001600160a01b031690614945565b60088401805460ff191660049081179091556079546005860154606f546000908152607f60205260409081902060020154905163099ea56b60e41b81526001600160a01b03938416946399ea56b094613242948c94911692909101616384565b600060405180830381600087803b15801561325c57600080fd5b505af1158015613270573d6000803e3d6000fd5b505050600485015460018601546040517fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f3584793506132ba9289926001600160a01b0390911691616384565b60405180910390a15050505b5050505050565b6001600160a01b03163b151590565b6000806132e98484614499565b915091508160001480156132fb575080155b156133065750505050565b600784015560039092019190915550565b61331f61198a565b6001600160a01b0316637817ee4f82306040518363ffffffff1660e01b815260040161334c929190616516565b602060405180830381865afa158015613369573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061338d919061654d565b6071600082825461339e919061633d565b909155506133ac905061198a565b6001600160a01b03166322bcf99982306040518363ffffffff1660e01b81526004016133d9929190616516565b600060405180830381600087803b1580156133f357600080fd5b505af1158015613407573d6000803e3d6000fd5b505050506134148161497f565b7f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b816040516128859190615d02565b600061344e82614041565b61346b57604051630b72d6b160e31b815260040160405180910390fd5b6000838060200190518101906134819190616b87565b80519091506000036134a65760405163273c8bc360e11b815260040160405180910390fd5b600160765460ff1660028111156134bf576134bf615821565b03613640576134d181602001516146c0565b60608101516001600160a01b03166134fc5760405163165a825360e21b815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561353c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061356091906163a3565b825160405163068bcd8d60e01b815260048101919091529091506000906001600160a01b0383169063068bcd8d90602401600060405180830381865afa1580156135ae573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526135d69190810190616ad4565b905080604001516001600160a01b031683606001516001600160a01b0316146136125760405163514e24c360e11b815260040160405180910390fd5b61361f8360400151613cc9565b1561363d57604051630efd728560e21b815260040160405180910390fd5b50505b606f546000908152607f60205260409020546001600160a01b03161580159061367c5750606f546000908152607f602052604090206002015434105b156136b257606f546000908152607f602052604090819020600201549051632c1f8ef160e21b8152611039913491600401616576565b6000606e600081546136c390616664565b91829055506000818152607b602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b8401906137779082616c7b565b5050606f54601083015550607954600582015460405163240ff7c560e11b81526001600160a01b039283169263481fef8a9234926137bb9288921690600401616584565b6000604051808303818588803b1580156137d457600080fd5b505af11580156137e8573d6000803e3d6000fd5b50505050507ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b60685483604051613820929190616576565b60405180910390a150949350505050565b6078546001600160a01b0316331461114c576040516357848b5160e11b815260040160405180910390fd5b6000601261386861198a565b6001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156138a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138c991906163a3565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613922575060408051601f3d908101601f1916820190925261391f91810190616d3a565b60015b1561392d5760ff1690505b60008361393861198a565b6001600160a01b0316632c611c4a876040518263ffffffff1660e01b81526004016139639190615d02565b602060405180830381865afa158015613980573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139a4919061654d565b6139ae919061633d565b905060006139cf6139c084600a616e41565b6139ca9084616440565b614ae0565b90506000816139dc61198a565b6001600160a01b0316637817ee4f89306040518363ffffffff1660e01b8152600401613a09929190616516565b602060405180830381865afa158015613a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a4a919061654d565b613a54919061633d565b979650505050505050565b6000600160801b8310613ab35760405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401611039565b50600160801b82825b8015613aff5780600116600003613ae157613ad78283614bc8565b915060011c613abc565b613aeb8383614bc8565b9250613af860018261633d565b9050613abc565b505092915050565b600080516020617001833981519152546001600160a01b031690565b33613b2c61200f565b6001600160a01b0316146119875733613b4361200f565b60405163163678e960e01b8152600401611039929190616516565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615613b9157610f9483614ca5565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613beb575060408051601f3d908101601f19168201909252613be89181019061654d565b60015b613c4e5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401611039565b6000805160206170018339815191528114613cbd5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401611039565b50610f94838383614d3f565b6000613cd86298968083616440565b606954607254613ce89190616440565b111592915050565b33613cf961200f565b6001600160a01b03161461114c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611039565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000606854604051602001613db69190616e4d565b604051602081830303815290604052805190602001209050613dd661198a565b6001600160a01b03166391d148548260006040518363ffffffff1660e01b8152600401613e04929190616584565b602060405180830381865afa158015613e21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e459190616530565b15613eb357613e5261198a565b6001600160a01b031663d547741f8260006040518363ffffffff1660e01b8152600401613e80929190616584565b600060405180830381600087803b158015613e9a57600080fd5b505af1158015613eae573d6000803e3d6000fd5b505050505b60005b825181101561400d57613ec761198a565b6001600160a01b03166391d1485483858481518110613ee857613ee8616e6a565b60200260200101516040518363ffffffff1660e01b8152600401613f0d929190616584565b602060405180830381865afa158015613f2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f4e9190616530565b613ffb57613f5a61198a565b6001600160a01b0316632f2ff15d606854604051602001613f7b9190616e4d565b60405160208183030381529060405280519060200120858481518110613fa357613fa3616e6a565b60200260200101516040518363ffffffff1660e01b8152600401613fc8929190616584565b600060405180830381600087803b158015613fe257600080fd5b505af1158015613ff6573d6000803e3d6000fd5b505050505b8061400581616664565b915050613eb6565b507f7a2e396a5614184c0af2c60827c206595126faa1238b94e19823192de52e728a60685483604051612f69929190616e80565b607a546000906001600160a01b031661417c5760006068546040516020016140699190616e4d565b60405160208183030381529060405280519060200120905061408961198a565b6001600160a01b03166391d148548260006040518363ffffffff1660e01b81526004016140b7929190616584565b602060405180830381865afa1580156140d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140f89190616530565b156141065750600192915050565b61410e61198a565b6001600160a01b03166391d1485482856040518363ffffffff1660e01b815260040161413b929190616584565b602060405180830381865afa158015614158573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116a9190616530565b607a546040516302154c3d60e51b81526001600160a01b03909116906342a987a0906141ae9085903090600401616516565b602060405180830381865afa1580156141cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5d9190616530565b600081816141fb61198a565b6001600160a01b0316637817ee4f86306040518363ffffffff1660e01b8152600401614228929190616516565b602060405180830381865afa158015614245573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614269919061654d565b6077549091506142798383616371565b11156142905760775461428d90829061633d565b91505b509392505050565b600080826142a461198a565b6001600160a01b0316632c611c4a866040518263ffffffff1660e01b81526004016142cf9190615d02565b602060405180830381865afa1580156142ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614310919061654d565b61431a9190616371565b9050601261432661198a565b6001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015614363573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061438791906163a3565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156143e0575060408051601f3d908101601f191682019092526143dd91810190616d3a565b60015b156143eb5760ff1690505b60006144056143fb83600a616e41565b6139ca9085616440565b9050600061441161198a565b6001600160a01b0316637817ee4f88306040518363ffffffff1660e01b815260040161443e929190616516565b602060405180830381865afa15801561445b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061447f919061654d565b9050600061448d828461633d565b98975050505050505050565b60008043905080846007015411156144b3576144b3616e99565b808460070154036144c9575060009050806144ea565b6144e78460070154826144dc919061633d565b856003015485611827565b91505b9250929050565b6144fb8484612c00565b61450482613da1565b6110f3815b60005b815181101561468c5761451d61198a565b6001600160a01b03166391d1485460685460405160200161453e9190616e4d565b6040516020818303038152906040528051906020012084848151811061456657614566616e6a565b60200260200101516040518363ffffffff1660e01b815260040161458b929190616584565b602060405180830381865afa1580156145a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145cc9190616530565b1561467a576145d961198a565b6001600160a01b031663d547741f6068546040516020016145fa9190616e4d565b6040516020818303038152906040528051906020012084848151811061462257614622616e6a565b60200260200101516040518363ffffffff1660e01b8152600401614647929190616584565b600060405180830381600087803b15801561466157600080fd5b505af1158015614675573d6000803e3d6000fd5b505050505b8061468481616664565b91505061450c565b507fd418c93b6b78d828a87ee1909e6fcdbbf2f8d8f540ad7b232bb3e221e6d7cc1e60685482604051612885929190616e80565b6001600160a01b038116611987576040516303988b8160e61b815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001612885565b614730612f75565b606854156147515760405163439a74c960e01b815260040160405180910390fd5b8060000361477257604051637fcce2a960e01b815260040160405180910390fd5b606855565b6040516001600160601b03193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506147be8482614d64565b949350505050565b6000828060200190518101906147dc9190616eaf565b905060005b81518110156110f3576148108282815181106147ff576147ff616e6a565b602002602001015160000151614dfb565b8061481a81616664565b9150506147e1565b61482b81614eb8565b61483481614041565b61485157604051630b72d6b160e31b815260040160405180910390fd5b600061485b61198a565b6001600160a01b031663477a5cc083306040518363ffffffff1660e01b8152600401614888929190616516565b602060405180830381865afa1580156148a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148c99190616530565b9050806148e957604051635fccb67f60e01b815260040160405180910390fd5b6000838060200190518101906148ff9190616eaf565b905061490b8382614f99565b6110f3838261512e565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001612885565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161497457610f948282615506565b610f94838383615522565b6001600160a01b0381166000908152607d60209081526040808320805482518185028101850190935280835291929091908301828280156149df57602002820191906000526020600020905b8154815260200190600101908083116149cb575b5050505050905060005b8151811015610f94576000828281518110614a0657614a06616e6a565b602002602001015190506000607b60008381526020019081526020016000209050614a3082615568565b15614acb576001600160a01b0385166000908152600982016020526040812080549082905560028301805491928392614a6a90849061633d565b925050819055508060706000828254614a83919061633d565b90915550614a93905082826132dc565b6000805160206170218339815191528684600085600201548660030154604051614ac1959493929190616f59565b60405180910390a1505b50508080614ad890616664565b9150506149e9565b600081600003614af257506000919050565b60006001614aff846155a1565b901c6001901b90506001818481614b1857614b186163e5565b048201901c90506001818481614b3057614b306163e5565b048201901c90506001818481614b4857614b486163e5565b048201901c90506001818481614b6057614b606163e5565b048201901c90506001818481614b7857614b786163e5565b048201901c90506001818481614b9057614b906163e5565b048201901c90506001818481614ba857614ba86163e5565b048201901c905061116a81828581614bc257614bc26163e5565b04615635565b6000600160801b831115614c2f5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608401611039565b600160801b8210614c815760405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401611039565b60806001607f1b614c928486616440565b614c9c9190616371565b901c9392505050565b614cae816132cd565b614d105760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401611039565b60008051602061700183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b614d488361564b565b600082511180614d555750805b15610f94576110f3838361568b565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b038116610f5d5760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606401611039565b6000818152607b6020526040812090600882015460ff166006811115614e2357614e23615821565b1480614e4757506003600882015460ff166006811115614e4557614e45615821565b145b80614e6a57506004600882015460ff166006811115614e6857614e68615821565b145b80614e8d57506006600882015460ff166006811115614e8b57614e8b615821565b145b15610f755760088101546040516394d57ead60e01b815261103991849160ff90911690600401616f87565b6001600160a01b038116614edf57604051631a3e505160e31b815260040160405180910390fd5b6078546001600160a01b0316614f0857604051635df4b1ef60e01b815260040160405180910390fd5b614f1061198a565b6001600160a01b031663a230c524826040518263ffffffff1660e01b8152600401614f3b9190615d02565b602060405180830381865afa158015614f58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614f7c9190616530565b61198757604051636a5cfb6d60e01b815260040160405180910390fd5b6000805b825181101561505657828181518110614fb857614fb8616e6a565b60200260200101516000015160000315615044576000838281518110614fe057614fe0616e6a565b6020026020010151600001519050614ff781615568565b6150175760405163c1d17bef60e01b815260048101829052602401611039565b83828151811061502957615029616e6a565b602002602001015160200151836150409190616fa4565b9250505b8061504e81616664565b915050614f9d565b50600061506b615065856125a1565b836156b0565b9050600061507761198a565b6001600160a01b0316637817ee4f86306040518363ffffffff1660e01b81526004016150a4929190616516565b602060405180830381865afa1580156150c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906150e5919061654d565b90508082111561510c578181604051636b20c17f60e11b8152600401611039929190616576565b506001600160a01b039093166000908152607c60205260409020929092555050565b606060005b82518110156110f357600083828151811061515057615150616e6a565b602002602001015160000151905082516000036151ac576040805160018082528183019092529060208083019080368337019050509250808360008151811061519b5761519b616e6a565b6020026020010181815250506152df565b6000805b845181101561520c57828582815181106151cc576151cc616e6a565b6020026020010151036151fa57600191508281604051632b7aec5560e21b8152600401611039929190616576565b8061520481616664565b9150506151b0565b50806152dd576000845160016152229190616371565b6001600160401b0381111561523957615239615982565b604051908082528060200260200182016040528015615262578160200160208202803683370190505b50905060005b85518110156152ba5785818151811061528357615283616e6a565b602002602001015182828151811061529d5761529d616e6a565b6020908102919091010152806152b281616664565b915050615268565b5082818651815181106152cf576152cf616e6a565b602090810291909101015293505b505b60008483815181106152f3576152f3616e6a565b6020908102919091018101518101516000848152607b835260408082206001600160a01b038b1683526009810190945281205491935061533382856156b0565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607d60205260409020548110156153cc5784546001600160a01b038c166000908152607d602052604090208054839081106153a1576153a1616e6a565b9060005260206000200154036153ba57600191506153cc565b806153c481616664565b915050615355565b5080615402576001600160a01b038a166000908152607d6020908152604082208654815460018101835591845291909220909101555b81831161545257615413838361633d565b607060008282546154249190616371565b909155506154349050838361633d565b8460020160008282546154479190616371565b909155506154969050565b61545c828461633d565b6070600082825461546d919061633d565b9091555061547d9050828461633d565b846002016000828254615490919061633d565b90915550505b83600701546000036154ad574360078501556154ed565b6154b784846132dc565b6000805160206170218339815191528a8784876002015488600301546040516154e4959493929190616f59565b60405180910390a15b50505050505080806154fe90616664565b915050615133565b60008060008084865af1610f755763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d15600160005114171661555e576390b8ec186000526004601cfd5b6000603452505050565b6000818152607b602052604081205415801590610f5d5750506000908152607b60205260409020600501546001600160a01b0316151590565b600080608083901c156155b657608092831c92015b604083901c156155c857604092831c92015b602083901c156155da57602092831c92015b601083901c156155ec57601092831c92015b600883901c156155fe57600892831c92015b600483901c1561561057600492831c92015b600283901c1561562257600292831c92015b600183901c15610f5d5760010192915050565b6000818310615644578161116a565b5090919050565b61565481614ca5565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061116a8383604051806060016040528060278152602001617041602791396156e7565b6000806156bd8385616fa4565b9050600081121561116a57838382604051631dde38a160e11b815260040161103993929190616a31565b6060600080856001600160a01b0316856040516157049190616fc4565b600060405180830381855af49150503d806000811461573f576040519150601f19603f3d011682016040523d82523d6000602084013e615744565b606091505b50915091506157558683838761575f565b9695505050505050565b606083156157cc5782516000036157c557615779856132cd565b6157c55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611039565b50816147be565b6147be83838151156157e15781518083602001fd5b8060405162461bcd60e51b815260040161103991906162e0565b60006020828403121561580d57600080fd5b5035919050565b6001600160a01b03169052565b634e487b7160e01b600052602160045260246000fd5b6007811061198757611987615821565b60005b8381101561586257818101518382015260200161584a565b50506000910152565b60008151808452615883816020860160208601615847565b601f01601f19169290920160200192915050565b8051825260006020820151604060208501526147be604085018261586b565b60006101e08f83528e60208401528d60408401528c606084015260018060a01b03808d166080850152808c1660a0850152808b1660c08501528960e08501526158fe89615837565b886101008501528161012085015261591882850189615897565b875161014086015260208801516101608601526040909701511661018084015250506101a08101929092526101c0909101529a9950505050505050505050565b60006020828403121561596a57600080fd5b81356001600160e01b03198116811461116a57600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156159ba576159ba615982565b60405290565b604051608081016001600160401b03811182821017156159ba576159ba615982565b60405161010081016001600160401b03811182821017156159ba576159ba615982565b604080519081016001600160401b03811182821017156159ba576159ba615982565b60405160a081016001600160401b03811182821017156159ba576159ba615982565b604051601f8201601f191681016001600160401b0381118282101715615a7157615a71615982565b604052919050565b6001600160a01b038116811461198757600080fd5b600060c08284031215615aa057600080fd5b615aa8615998565b90508135615ab581615a79565b81526020820135615ac581615a79565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b600060808284031215615b0c57600080fd5b615b146159c0565b90508135815260208201356020820152604082013560408201526060820135606082015292915050565b6000806101408385031215615b5257600080fd5b615b5c8484615a8e565b9150615b6b8460c08501615afa565b90509250929050565b60006001600160401b03821115615b8d57615b8d615982565b5060051b60200190565b600082601f830112615ba857600080fd5b81356020615bbd615bb883615b74565b615a49565b82815260059290921b84018101918181019086841115615bdc57600080fd5b8286015b84811015615c00578035615bf381615a79565b8352918301918301615be0565b509695505050505050565b60006001600160401b03821115615c2457615c24615982565b50601f01601f191660200190565b6000615c40615bb884615c0b565b9050828152838383011115615c5457600080fd5b828260208301376000602084830101529392505050565b600082601f830112615c7c57600080fd5b61116a83833560208501615c32565b600080600060608486031215615ca057600080fd5b83356001600160401b0380821115615cb757600080fd5b615cc387838801615b97565b94506020860135915080821115615cd957600080fd5b50615ce686828701615c6b565b9250506040840135615cf781615a79565b809150509250925092565b6001600160a01b0391909116815260200190565b600080600060608486031215615d2b57600080fd5b8335615d3681615a79565b92506020840135615d4681615a79565b91506040840135615cf781615a79565b60008060408385031215615d6957600080fd5b82356001600160401b03811115615d7f57600080fd5b615d8b85828601615c6b565b9250506020830135615d9c81615a79565b809150509250929050565b60048110615db757615db7615821565b9052565b60208101610f5d8284615da7565b60008060408385031215615ddc57600080fd5b8235615de781615a79565b946020939093013593505050565b60008060408385031215615e0857600080fd5b50508035926020909101359150565b600080600060608486031215615e2c57600080fd5b505081359360208301359350604090920135919050565b60038110615db757615db7615821565b60208101610f5d8284615e43565b600060208284031215615e7357600080fd5b813561116a81615a79565b60008060408385031215615e9157600080fd5b8235615e9c81615a79565b915060208301356001600160401b03811115615eb757600080fd5b615ec385828601615c6b565b9150509250929050565b600080600060608486031215615ee257600080fd5b8335615eed81615a79565b925060208401356001600160401b03811115615f0857600080fd5b8401601f81018613615f1957600080fd5b615ce686823560208401615c32565b600060208284031215615f3a57600080fd5b81356001600160401b03811115615f5057600080fd5b6147be84828501615b97565b6000806000806101808587031215615f7357600080fd5b615f7d8686615a8e565b9350615f8c8660c08701615afa565b92506101408501356001600160401b0380821115615fa957600080fd5b615fb588838901615b97565b9350610160870135915080821115615fcc57600080fd5b50615fd987828801615b97565b91505092959194509250565b60208152600061116a6020830184615897565b6000806040838503121561600b57600080fd5b82356001600160401b038082111561602257600080fd5b61602e86838701615b97565b935060209150818501358181111561604557600080fd5b8501601f8101871361605657600080fd5b8035616064615bb882615b74565b81815260059190911b8201840190848101908983111561608357600080fd5b8584015b838110156160bb5780358681111561609f5760008081fd5b6160ad8c8983890101615c6b565b845250918601918601616087565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b8281101561611757815180516001600160a01b031685528601518685015292840192908501906001016160e9565b5091979650505050505050565b60008083601f84011261613657600080fd5b5081356001600160401b0381111561614d57600080fd5b6020830191508360208285010111156144ea57600080fd5b60008060008060006060868803121561617d57600080fd5b8535945060208601356001600160401b038082111561619b57600080fd5b6161a789838a01616124565b909650945060408801359150808211156161c057600080fd5b506161cd88828901616124565b969995985093965092949392505050565b801515811461198757600080fd5b6000602082840312156161fe57600080fd5b813561116a816161de565b6001600160a01b038c811682528b811660208301528a1660408201526060810189905260808101889052610160810161624188615837565b8760a08301528660c08301528560e08301528461010083015283610120830152826101408301529c9b505050505050505050505050565b6000806040838503121561628b57600080fd5b823591506020830135615d9c81615a79565b602081016162aa83615837565b91905290565b600080604083850312156162c357600080fd5b8235915060208301356001600160401b03811115615eb757600080fd5b60208152600061116a602083018461586b565b600181811c9082168061630757607f821691505b602082108103611c1857634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610f5d57610f5d616327565b6001600160a01b039390931683526020830191909152604082015260600190565b80820180821115610f5d57610f5d616327565b9283526001600160a01b03919091166020830152604082015260600190565b6000602082840312156163b557600080fd5b815161116a81615a79565b9384526001600160a01b03928316602085015291166040830152606082015260800190565b634e487b7160e01b600052601260045260246000fd5b60008261641857634e487b7160e01b600052601260045260246000fd5b500490565b60006001600160401b0382168061643657616436616327565b6000190192915050565b8082028115828204841417610f5d57610f5d616327565b6020808252602c90820152600080516020616fe183398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020616fe183398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0392831681529116602082015260400190565b60006020828403121561654257600080fd5b815161116a816161de565b60006020828403121561655f57600080fd5b5051919050565b805161657181615a79565b919050565b918252602082015260400190565b9182526001600160a01b0316602082015260400190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8381526040602082015260006165de60408301848661659b565b95945050505050565b60006001600160401b038281166002600160401b0319810161660b5761660b616327565b6001019392505050565b6001600160a01b03888116825260208201889052604082018790528516606082015260c060808201819052600090616650908301858761659b565b90508260a083015298975050505050505050565b60006001820161667657616676616327565b5060010190565b60006080828403121561668f57600080fd5b6166976159c0565b90508151815260208201516020820152604082015160408201526060820151606082015292915050565b80516003811061657157600080fd5b80516004811061657157600080fd5b6000602082840312156166f157600080fd5b604051602081016001600160401b038111828210171561671357616713615982565b6040529151825250919050565b600060c0828403121561673257600080fd5b61673a615998565b9050815161674781615a79565b8152602082015161675781615a79565b8060208301525060408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b600082601f83011261679d57600080fd5b815160206167ad615bb883615b74565b82815260059290921b840181019181810190868411156167cc57600080fd5b8286015b84811015615c005780516167e381615a79565b83529183019183016167d0565b60006020828403121561680257600080fd5b81516001600160401b038082111561681957600080fd5b90830190610200828603121561682e57600080fd5b6168366159e2565b616840868461667d565b815261684e608084016166c1565b602082015261685f60a084016166d0565b60408201526168718660c085016166df565b60608201526168838660e08501616720565b60808201526168956101a08401616566565b60a08201526168a76101c08401616566565b60c08201526101e0830151828111156168bf57600080fd5b6168cb8782860161678c565b60e08301525095945050505050565b805182526020810151602083015260408101516040830152606081015160608301525050565b600081518084526020808501945080840160005b838110156169395781516001600160a01b031687529582019590820190600101616914565b509495945050505050565b8281526040602082015261695c6040820183516168da565b6000602083015161697060c0840182615e43565b50604083015161698360e0840182615da7565b506060838101515161010084015260808085015180516001600160a01b039081166101208701526020820151166101408601526040810151610160860152918201516101808501528101516101a084015260a0908101516101c08401528301516169f16101e0840182615814565b5060c0830151610200616a0681850183615814565b60e0850151915080610220850152506165de610240840182616900565b60808101610f5d82846168da565b9283526020830191909152604082015260600190565b600060408284031215616a5957600080fd5b616a61615a05565b8251815260208301519091506001600160401b03811115616a8157600080fd5b8201601f81018413616a9257600080fd5b8051616aa0615bb882615c0b565b818152856020838501011115616ab557600080fd5b616ac6826020830160208601615847565b602084015250909392505050565b600060208284031215616ae657600080fd5b81516001600160401b0380821115616afd57600080fd5b9083019060c08286031215616b1157600080fd5b616b19615998565b825181526020830151616b2b81615a79565b60208201526040830151616b3e81615a79565b6040820152606083015182811115616b5557600080fd5b616b6187828601616a47565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b600060208284031215616b9957600080fd5b81516001600160401b0380821115616bb057600080fd5b9083019060a08286031215616bc457600080fd5b616bcc615a27565b825181526020830151616bde81615a79565b6020820152604083810151908201526060830151616bfb81615a79565b6060820152608083015182811115616c1257600080fd5b616c1e87828601616a47565b60808301525095945050505050565b601f821115610f9457600081815260208120601f850160051c81016020861015616c545750805b601f850160051c820191505b81811015616c7357828155600101616c60565b505050505050565b81516001600160401b03811115616c9457616c94615982565b616ca881616ca284546162f3565b84616c2d565b602080601f831160018114616cdd5760008415616cc55750858301515b600019600386901b1c1916600185901b178555616c73565b600085815260208120601f198616915b82811015616d0c57888601518255948401946001909101908401616ced565b5085821015616d2a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215616d4c57600080fd5b815160ff8116811461116a57600080fd5b600181815b80851115616d98578160001904821115616d7e57616d7e616327565b80851615616d8b57918102915b93841c9390800290616d62565b509250929050565b600082616daf57506001610f5d565b81616dbc57506000610f5d565b8160018114616dd25760028114616ddc57616df8565b6001915050610f5d565b60ff841115616ded57616ded616327565b50506001821b610f5d565b5060208310610133831016604e8410600b8410161715616e1b575081810a610f5d565b616e258383616d5d565b8060001904821115616e3957616e39616327565b029392505050565b600061116a8383616da0565b6810531313d5d31254d560ba1b8152600981019190915260290190565b634e487b7160e01b600052603260045260246000fd5b8281526040602082015260006147be6040830184616900565b634e487b7160e01b600052600160045260246000fd5b60006020808385031215616ec257600080fd5b82516001600160401b03811115616ed857600080fd5b8301601f81018513616ee957600080fd5b8051616ef7615bb882615b74565b81815260069190911b82018301908381019087831115616f1657600080fd5b928401925b82841015613a545760408489031215616f345760008081fd5b616f3c615a05565b845181528585015186820152825260409093019290840190616f1b565b6001600160a01b03959095168552602085019390935260408401919091526060830152608082015260a00190565b82815260408101616f9783615837565b8260208301529392505050565b8082018281126000831280158216821582161715613aff57613aff616327565b60008251616fd6818460208701615847565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122065cb38e54d9d57511a6b1f1604eda90387c8a1764eee5b2a8aa4ef9a6a878a2364736f6c63430008130033","sourceMap":"1164:5287:99:-:0;;;1088:4:64;1045:48;;1164:5287:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106103795760003560e01c8063013cf08b1461038257806301ffc9a7146103c4578063059351cd146103f4578063062f9ece146104815780630a6f0ee9146104a15780630ba95909146104c15780630bece79c146104e05780630c0512e91461050d5780630f529ba214610523578063125fd1d91461053a57806315cc481e14610550578063184b95591461056e5780631aa91a9e1461058e5780631ddf1e23146105ae5780632506b870146105c3578063255ffb38146106065780632bbe0cae146106335780632dbd6fdd146106465780632ed04b2b14610672578063311a6c561461069257806333960459146106b2578063346db8cb146106c8578063351d9f96146106e85780633659cfe61461070f57806338fff2d01461072f578063406244d81461074457806341bb76051461075957806342fda9c7146107b657806348f19c1d146107cb5780634ab4ba42146107e05780634d31d087146107f55780634f1ef2861461081557806352d1902d1461082857806359a5db8b1461083d5780635db64b991461085d5780636003e4141461088a57806360d5dedc146108aa578063626c47e8146108ca5780636453d9c4146108df5780636a6f69b4146107cb578063715018a6146108ff5780637263cfe214610914578063782aadff14610934578063814516ad14610954578063817b1cd214610969578063824ea8ed1461097f578063868c57b81461099f5780638da5cb5b146109bf578063948e7a59146109d4578063950559d7146109f45780639a1c157c14610a14578063a0cf0aea14610a29578063a28889e114610a51578063a47ff7e514610a89578063a51312c814610aa0578063a574cea414610ac0578063aba9ffee14610aed578063ac1ed7b914610b03578063b0d3713a14610b23578063b2b878d014610b43578063b41596ec14610b70578063b5f620ce14610b83578063b6c61f3114610ba3578063bcc5b93b14610bc3578063c329217114610be3578063c4d66de814610c00578063c7f758a814610c20578063d1e3623214610c57578063dc96ff2d14610c6c578063df868ed314610c9c578063e0a8f6f514610cb1578063e0dd2c3814610cd1578063eb11af9314610cf1578063edd146cc14610d19578063ef2920fc14610d39578063f2fde38b14610d4c578063f5b0dfb714610d6c578063f5be3f7c14610d8c578063ffa1ad7414610da257005b3661038057005b005b34801561038e57600080fd5b506103a261039d3660046157fb565b610dde565b6040516103bb9d9c9b9a999897969594939291906158b6565b60405180910390f35b3480156103d057600080fd5b506103e46103df366004615958565b610f2c565b60405190151581526020016103bb565b34801561040057600080fd5b50610449606f546000908152607f60205260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169694909316949193909290565b604080516001600160a01b039788168152969095166020870152938501929092526060840152608083015260a082015260c0016103bb565b34801561048d57600080fd5b5061038061049c366004615b3e565b610f63565b3480156104ad57600080fd5b506103806104bc366004615c8b565b610f79565b3480156104cd57600080fd5b506077545b6040519081526020016103bb565b3480156104ec57600080fd5b50607954610500906001600160a01b031681565b6040516103bb9190615d02565b34801561051957600080fd5b506104d2606e5481565b34801561052f57600080fd5b506104d26298968081565b34801561054657600080fd5b506104d2606f5481565b34801561055c57600080fd5b506065546001600160a01b0316610500565b34801561057a57600080fd5b50610380610589366004615d16565b610f99565b34801561059a57600080fd5b506104d26105a93660046157fb565b6110f9565b3480156105ba57600080fd5b50610380611143565b3480156105cf57600080fd5b506072546073546074546075546105e69392919084565b6040805194855260208501939093529183015260608201526080016103bb565b34801561061257600080fd5b506104d26106213660046157fb565b607e6020526000908152604090205481565b610500610641366004615d56565b61114e565b34801561065257600080fd5b5060765461066590610100900460ff1681565b6040516103bb9190615dbb565b34801561067e57600080fd5b506104d261068d366004615dc9565b611171565b34801561069e57600080fd5b506103806106ad366004615df5565b611235565b3480156106be57600080fd5b506104d2606c5481565b3480156106d457600080fd5b506104d26106e3366004615e17565b611827565b3480156106f457600080fd5b506076546107029060ff1681565b6040516103bb9190615e53565b34801561071b57600080fd5b5061038061072a366004615e61565b6118c2565b34801561073b57600080fd5b506068546104d2565b34801561075057600080fd5b506104d2600a81565b34801561076557600080fd5b506104496107743660046157fb565b607f602052600090815260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169593909416939192909186565b3480156107c257600080fd5b506066546104d2565b3480156107d757600080fd5b5061050061198a565b3480156107ec57600080fd5b506069546104d2565b34801561080157600080fd5b506103e4610810366004615e61565b611999565b610380610823366004615e7e565b6119a1565b34801561083457600080fd5b506104d2611a56565b34801561084957600080fd5b506104d26108583660046157fb565b611b04565b34801561086957600080fd5b506104d2610878366004615e61565b607c6020526000908152604090205481565b34801561089657600080fd5b50607854610500906001600160a01b031681565b3480156108b657600080fd5b506103806108c5366004615ecd565b611c1e565b3480156108d657600080fd5b506104d2600381565b3480156108eb57600080fd5b506103806108fa366004615e61565b611c9a565b34801561090b57600080fd5b50610380611cab565b34801561092057600080fd5b5061038061092f366004615f28565b611cbd565b34801561094057600080fd5b506104d261094f366004615dc9565b611cce565b34801561096057600080fd5b50610380611e64565b34801561097557600080fd5b506104d260705481565b34801561098b57600080fd5b506103e461099a3660046157fb565b611f81565b3480156109ab57600080fd5b506104d26109ba366004615dc9565b611fde565b3480156109cb57600080fd5b5061050061200f565b3480156109e057600080fd5b506103806109ef366004615f5c565b6120a0565b348015610a0057600080fd5b506104d2610a0f3660046157fb565b6120b4565b348015610a2057600080fd5b506074546104d2565b348015610a3557600080fd5b5061050073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b348015610a5d57600080fd5b50606d54610a71906001600160401b031681565b6040516001600160401b0390911681526020016103bb565b348015610a9557600080fd5b506077546104d29081565b348015610aac57600080fd5b50610380610abb366004615f28565b6120de565b348015610acc57600080fd5b50610ae0610adb3660046157fb565b6120ef565b6040516103bb9190615fe5565b348015610af957600080fd5b506104d260715481565b348015610b0f57600080fd5b50610380610b1e366004615e61565b6121ce565b348015610b2f57600080fd5b50610380610b3e366004615e61565b612201565b348015610b4f57600080fd5b50610b63610b5e366004615ff8565b61222b565b6040516103bb91906160cc565b6104d2610b7e366004616165565b612246565b348015610b8f57600080fd5b50610380610b9e3660046161ec565b612598565b348015610baf57600080fd5b50607a54610500906001600160a01b031681565b348015610bcf57600080fd5b506104d2610bde366004615e61565b6125a1565b348015610bef57600080fd5b50607654610100900460ff16610665565b348015610c0c57600080fd5b50610380610c1b366004615e61565b6125bc565b348015610c2c57600080fd5b50610c40610c3b3660046157fb565b6125ec565b6040516103bb9b9a99989796959493929190616209565b348015610c6357600080fd5b506071546104d2565b348015610c7857600080fd5b506104d2610c873660046157fb565b6000908152607b602052604090206002015490565b348015610ca857600080fd5b506103e46126f8565b348015610cbd57600080fd5b50610380610ccc3660046157fb565b61270b565b348015610cdd57600080fd5b506104d2610cec366004616278565b612890565b348015610cfd57600080fd5b50610d0c610810366004615e61565b6040516103bb919061629d565b348015610d2557600080fd5b50610380610d343660046162b0565b6128bb565b610380610d47366004615d56565b612aac565b348015610d5857600080fd5b50610380610d67366004615e61565b612ad0565b348015610d7857600080fd5b50610380610d873660046157fb565b612b3d565b348015610d9857600080fd5b506104d2611c2081565b348015610dae57600080fd5b50610dd1604051806040016040528060038152602001620302e360ec1b81525081565b6040516103bb91906162e0565b607b602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610e65906162f3565b80601f0160208091040260200160405190810160405280929190818152602001828054610e91906162f3565b8015610ede5780601f10610eb357610100808354040283529160200191610ede565b820191906000526020600020905b815481529060010190602001808311610ec157829003601f168201915b50505091909252505060408051606081018252600c8501548152600d8501546020820152600e8501546001600160a01b031691810191909152600f840154601090940154929390929091508d565b60006001600160e01b0319821663f1801e6160e01b1480610f5d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b610f6b612b66565b610f758282612c00565b5050565b610f81612f75565b610f89612fa0565b610f94838383612fc3565b505050565b600054610100900460ff1615808015610fb95750600054600160ff909116105b80610fda5750610fc8306132cd565b158015610fda575060005460ff166001145b6110425760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015611065576000805461ff0019166101001790555b611092846040518060400160405280600a8152602001694356537472617465677960b01b81525084611c1e565b606a80546001600160a01b0319166001600160a01b03851617905580156110f3576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b6000818152607b602052604081208054831461112b5760405163c1d17bef60e01b815260048101849052602401611039565b6111398182600201546132dc565b6003015492915050565b61114c33613317565b565b6000611158612f75565b611160612fa0565b61116a8383613443565b9392505050565b600061117b613831565b60006002607654610100900460ff16600381111561119b5761119b615821565b14806111c257506001607654610100900460ff1660038111156111c0576111c0615821565b145b156111ce5750816111db565b6111d8848461385c565b90505b80607160008282546111ed919061633d565b90915550506040517f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19061122690869086908590616350565b60405180910390a19392505050565b6000828152607e6020908152604080832054808452607b835281842060108101548552607f8452828520835160c08101855281546001600160a01b03908116825260018301541695810195909552600281015493850193909352600383015460608501526004830154608085015260059092015460a0840152929091908390036112d55760405163c1d17bef60e01b815260048101849052602401611039565b6005600883015460ff1660068111156112f0576112f0615821565b1461131157604051634b011ca960e11b815260048101849052602401611039565b60a0810151600d83015460009161132791616371565b42119050801581611342575081516001600160a01b03163314155b1561136057604051631777988560e11b815260040160405180910390fd5b808061136a575084155b156114b357816080015160000361139457604051630dd466dd60e41b815260040160405180910390fd5b81608001516001036113b05760088301805460ff191660011790555b816080015160020361143d5760088301805460ff191660061790556079546005840154604084810151905163099ea56b60e41b81526001600160a01b03938416936399ea56b09361140a938a939290911691600401616384565b600060405180830381600087803b15801561142457600080fd5b505af1158015611438573d6000803e3d6000fd5b505050505b607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b09361147c938a939290911691600401616384565b600060405180830381600087803b15801561149657600080fd5b505af11580156114aa573d6000803e3d6000fd5b50505050611790565b846001036115745760088301805460ff19166001179055607954600e8401546001600160a01b0391821691638969ab53918791166114ef61198a565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561152c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155091906163a3565b86606001516040518563ffffffff1660e01b815260040161147c94939291906163c0565b846002036117905760088301805460ff19166006179055607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b0936115ca938a939290911691600401616384565b600060405180830381600087803b1580156115e457600080fd5b505af11580156115f8573d6000803e3d6000fd5b505060795460058601546001600160a01b039182169350638969ab53925087911661162161198a565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561165e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168291906163a3565b606f546000908152607f602052604090206002908101546116a391906163fb565b6040518563ffffffff1660e01b81526004016116c294939291906163c0565b600060405180830381600087803b1580156116dc57600080fd5b505af11580156116f0573d6000803e3d6000fd5b50506079546005860154600e870154606f546000908152607f602052604090206002908101546001600160a01b039485169650638969ab5395508a94938416939092169161173e91906163fb565b6040518563ffffffff1660e01b815260040161175d94939291906163c0565b600060405180830381600087803b15801561177757600080fd5b505af115801561178b573d6000803e3d6000fd5b505050505b606d80546001600160401b03169060006117a98361641d565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550504283600f01819055508582600001516001600160a01b03167f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222768760405161181791815260200190565b60405180910390a3505050505050565b6074546000908490829061184c9061184690629896809060801b6163fb565b83613a5f565b905060806001607f1b60726002015462989680611869919061633d565b61187784600160801b61633d565b6118846298968089616440565b61188e9190616440565b61189891906163fb565b6118a28885616440565b6118ac9190616371565b6118b69190616371565b901c9695505050505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361190a5760405162461bcd60e51b815260040161103990616457565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661193c613b07565b6001600160a01b0316146119625760405162461bcd60e51b815260040161103990616491565b61196b81613b23565b6040805160008082526020820190925261198791839190613b5e565b50565b6078546001600160a01b031690565b600080610f5d565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036119e95760405162461bcd60e51b815260040161103990616457565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611a1b613b07565b6001600160a01b031614611a415760405162461bcd60e51b815260040161103990616491565b611a4a82613b23565b610f7582826001613b5e565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611af15760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401611039565b5060008051602061700183398151915290565b60008060695411611b285760405163ed4421ad60e01b815260040160405180910390fd5b611b3182613cc9565b15611b4f57604051630efd728560e21b815260040160405180910390fd5b606954600090611b6384600160401b616440565b611b6d91906163fb565b6072546298968090611b8390600160401b616440565b611b8d91906163fb565b611b97919061633d565b90506040611ba460715490565b607454611bb4906298968061633d565b629896806040611bc48680616440565b607354911c90611bdb90629896809060801b6163fb565b611be591906163fb565b611bef9190616440565b611bf991906163fb565b611c039190616440565b607554911c92508211611c185760755461116a565b50919050565b600054610100900460ff16611c455760405162461bcd60e51b8152600401611039906164cb565b611c4e816125bc565b606580546001600160a01b0319166001600160a01b038516179055604051611c7a9083906020016162e0565b60408051601f198184030181529190528051602090910120606655505050565b611ca2613831565b61198781613317565b611cb3613cf0565b61114c6000613d4f565b611cc5612b66565b61198781613da1565b6000611cd8613831565b611ce183614041565b611cfe57604051630b72d6b160e31b815260040160405180910390fd5b60006002607654610100900460ff166003811115611d1e57611d1e615821565b03611d2c57825b9050611d89565b6001607654610100900460ff166003811115611d4a57611d4a615821565b03611d5957611d2584846141ef565b6003607654610100900460ff166003811115611d7757611d77615821565b03611d8957611d868484614298565b90505b6000611d9361198a565b6001600160a01b031663477a5cc086306040518363ffffffff1660e01b8152600401611dc0929190616516565b602060405180830381865afa158015611ddd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e019190616530565b90508015611e21578160716000828254611e1b9190616371565b90915550505b7f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a858584604051611e5493929190616350565b60405180910390a1509392505050565b33611e6e81614041565b611e8b57604051630b72d6b160e31b815260040160405180910390fd5b611e9361198a565b6001600160a01b0316630d4a8b4982306040518363ffffffff1660e01b8152600401611ec0929190616516565b600060405180830381600087803b158015611eda57600080fd5b505af1158015611eee573d6000803e3d6000fd5b50505050611efa61198a565b6001600160a01b0316637817ee4f82306040518363ffffffff1660e01b8152600401611f27929190616516565b602060405180830381865afa158015611f44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f68919061654d565b60716000828254611f799190616371565b909155505050565b6000818152607b60205260408120600281015482908190611fa3908490614499565b91509150816000148015611fb5575080155b15611fc257826003015491505b6000611fd18460010154611b04565b9092101595945050505050565b607d6020528160005260406000208181548110611ffa57600080fd5b90600052602060002001600091509150505481565b6000806120246033546001600160a01b031690565b9050806001600160a01b03163b60000361203d57919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612097575060408051601f3d908101601f19168201909252612094918101906163a3565b60015b610f5d57919050565b6120a8612b66565b6110f3848484846144f1565b6074546000906120c7906298968061633d565b6120d46298968084616440565b610f5d91906163fb565b6120e6612b66565b61198781614509565b6040805180820190915260008152606060208201526000607b6000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054612144906162f3565b80601f0160208091040260200160405190810160405280929190818152602001828054612170906162f3565b80156121bd5780601f10612192576101008083540402835291602001916121bd565b820191906000526020600020905b8154815290600101906020018083116121a057829003601f168201915b505050505081525050915050919050565b6121d6612b66565b6121df816146c0565b607a80546001600160a01b0319166001600160a01b0392909216919091179055565b612209613cf0565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b606060405163d623472560e01b815260040160405180910390fd5b6000858152607b6020908152604080832060108101548452607f8352818420825160c08101845281546001600160a01b0390811680835260018401549091169582019590955260028201549381019390935260038101546060840152600481015460808401526005015460a0830152916122d357604051636c291fd360e01b815260040160405180910390fd5b815488146122f75760405163c1d17bef60e01b815260048101899052602401611039565b6001600883015460ff16600681111561231257612312615821565b14612333576040516344980d8f60e01b815260048101899052602401611039565b806060015134101561235f576060810151604051632c1f8ef160e21b8152611039913491600401616576565b600f82015415801590612382575042611c2083600f01546123809190616371565b115b156123c0578742611c2084600f015461239b9190616371565b6123a5919061633d565b604051638d2f6c3160e01b8152600401611039929190616576565b60008160600151346123d2919061633d565b607954606084015160405163240ff7c560e11b81529293506001600160a01b039091169163481fef8a919061240d908d903390600401616584565b6000604051808303818588803b15801561242657600080fd5b505af115801561243a573d6000803e3d6000fd5b5050845160405163c13517e160e01b81526001600160a01b03909116935063c13517e19250849150612475906003908b908b906004016165c4565b60206040518083038185885af1158015612493573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906124b8919061654d565b60088401805491955060059160ff19166001830217905550600c830184905542600d840155600e830180546001600160a01b031916331790556000848152607e602052604081208a9055606d80546001600160401b031691612519836165e7565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550507f034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d82600001518a86338c8c89600c01600101546040516125849796959493929190616615565b60405180910390a150505095945050505050565b611987816146e7565b6001600160a01b03166000908152607c602052604090205490565b600054610100900460ff166125e35760405162461bcd60e51b8152600401611039906164cb565b61198781613d4f565b600080600080600080600080600080600080607b60008e8152602001908152602001600020905080600101546000146126315761262c8160010154611b04565b612634565b60005b93508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548b896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020548a601001549b509b509b509b509b509b509b509b509b509b509b505091939597999b90929496989a50565b600061270660675460ff1690565b905090565b60016000828152607b602052604090206008015460ff16600681111561273357612733615821565b14612754576040516344980d8f60e01b815260048101829052602401611039565b6000818152607b60205260409020600501546001600160a01b031633146127ad576000818152607b602052604090819020600501549051634544dc9160e11b8152611039916001600160a01b0316903390600401616516565b6079546000828152607b6020908152604080832060058101546010909101548452607f9092529182902060020154915163099ea56b60e41b81526001600160a01b03938416936399ea56b09361280a938793921691600401616384565b600060405180830381600087803b15801561282457600080fd5b505af1158015612838573d6000803e3d6000fd5b5050506000828152607b6020908152604091829020600801805460ff1916600317905590518381527f416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c9250015b60405180910390a150565b6000828152607b602090815260408083206001600160a01b038516845260090190915281205461116a565b6128c3612f75565b6128cc82614728565b606a54606c80546128f5926001600160a01b03169160006128ec83616664565b91905055614777565b607980546001600160a01b0319166001600160a01b039290921691821790556040805163204a7f0760e21b81529051638129fc1c9160048082019260009290919082900301818387803b15801561294b57600080fd5b505af115801561295f573d6000803e3d6000fd5b5050505060008180602001905181019061297991906167f0565b60a08101519091506001600160a01b03166129a757604051635df4b1ef60e01b815260040160405180910390fd5b60a0810151607880546001600160a01b0319166001600160a01b0390921691909117905560208101516076805460ff191660018360028111156129ec576129ec615821565b021790555060408101516076805461ff001916610100836003811115612a1457612a14615821565b021790555060608101515160775560c0810151607a80546001600160a01b0319166001600160a01b039092169190911790556080810151815160408051600080825260208201908152818301909252612a6e9392916144f1565b7fa489767af337c1767e9c6949fc5a6d3a73bb69ea80a3e619c2e08b7b308d0bcf8382604051612a9f929190616944565b60405180910390a1505050565b612ab4612f75565b612abc612fa0565b612ac682826147c6565b610f758282614822565b612ad8613cf0565b6001600160a01b0381166125e35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401611039565b612b45612f75565b8060696000828254612b579190616371565b90915550611987905081614915565b612b6e61198a565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612bab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bcf91906163a3565b6001600160a01b0316336001600160a01b03161461114c57604051637430763f60e11b815260040160405180910390fd5b60208201516001600160a01b031615801590612c25575081516001600160a01b031615155b8015612d0e5750606f546000908152607f6020908152604090912060010154908301516001600160a01b039081169116141580612c815750606f546000908152607f602052604090205482516001600160a01b03908116911614155b80612ca55750606f546000908152607f602052604090819020600201549083015114155b80612cc85750606f546000908152607f6020526040902060030154606083015114155b80612ceb5750606f546000908152607f6020526040902060040154608083015114155b80612d0e5750606f546000908152607f602052604090206005015460a083015114155b15612f1d57602080830151606f546000908152607f9092526040909120600101546001600160a01b039081169116141580612d6857508151606f546000908152607f60205260409020546001600160a01b03908116911614155b15612e31578151602083015160405163446adb9960e11b81526001600160a01b03909216916388d5b73291612d9f91600401615d02565b600060405180830381600087803b158015612db957600080fd5b505af1158015612dcd573d6000803e3d6000fd5b5050835160208501516040517fdc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f9450612e289350309291906001600160a01b0393841681529183166020830152909116604082015260600190565b60405180910390a15b606f8054906000612e4183616664565b9091555050606f80546000908152607f6020908152604091829020855181546001600160a01b03199081166001600160a01b03928316908117845588850151600185018054909316931692831790915587850151600284018190556060808a0151600386018190556080808c01516004880181905560a0808e015160059099018990559a548a519081529889019590955297870194909452850152938301529281019190915260c08101919091527fe677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d539060e00160405180910390a15b805160725560208101516073556040808201516074556060820151607555517fec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc90612f69908390616a23565b60405180910390a15050565b6065546001600160a01b0316331461114c5760405163075fd2b160e01b815260040160405180910390fd5b60685460000361114c57604051630f68fe6360e21b815260040160405180910390fd5b6000825111612fe557604051630317df1360e61b815260040160405180910390fd5b600082806020019051810190612ffb919061654d565b90508060000361301e5760405163f881a10d60e01b815260040160405180910390fd5b6000818152607b60205260409020600160765460ff16600281111561304557613045615821565b036132c6578054821461306e5760405163c1d17bef60e01b815260048101839052602401611039565b606954816001015411156130a157818160010154606954604051632c31d85b60e11b815260040161103993929190616a31565b6001600882015460ff1660068111156130bc576130bc615821565b146130dd576040516344980d8f60e01b815260048101839052602401611039565b60006130e8836110f9565b905060006130f98360010154611b04565b9050808210801561310e575060008360010154115b1561312c5760405163199cf26160e31b815260040160405180910390fd5b60655460685460405163068bcd8d60e01b815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561317a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526131a29190810190616ad4565b90508360010154606960008282546131ba919061633d565b90915550506040810151600485015460018601546131e292916001600160a01b031690614945565b60088401805460ff191660049081179091556079546005860154606f546000908152607f60205260409081902060020154905163099ea56b60e41b81526001600160a01b03938416946399ea56b094613242948c94911692909101616384565b600060405180830381600087803b15801561325c57600080fd5b505af1158015613270573d6000803e3d6000fd5b505050600485015460018601546040517fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f3584793506132ba9289926001600160a01b0390911691616384565b60405180910390a15050505b5050505050565b6001600160a01b03163b151590565b6000806132e98484614499565b915091508160001480156132fb575080155b156133065750505050565b600784015560039092019190915550565b61331f61198a565b6001600160a01b0316637817ee4f82306040518363ffffffff1660e01b815260040161334c929190616516565b602060405180830381865afa158015613369573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061338d919061654d565b6071600082825461339e919061633d565b909155506133ac905061198a565b6001600160a01b03166322bcf99982306040518363ffffffff1660e01b81526004016133d9929190616516565b600060405180830381600087803b1580156133f357600080fd5b505af1158015613407573d6000803e3d6000fd5b505050506134148161497f565b7f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b816040516128859190615d02565b600061344e82614041565b61346b57604051630b72d6b160e31b815260040160405180910390fd5b6000838060200190518101906134819190616b87565b80519091506000036134a65760405163273c8bc360e11b815260040160405180910390fd5b600160765460ff1660028111156134bf576134bf615821565b03613640576134d181602001516146c0565b60608101516001600160a01b03166134fc5760405163165a825360e21b815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561353c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061356091906163a3565b825160405163068bcd8d60e01b815260048101919091529091506000906001600160a01b0383169063068bcd8d90602401600060405180830381865afa1580156135ae573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526135d69190810190616ad4565b905080604001516001600160a01b031683606001516001600160a01b0316146136125760405163514e24c360e11b815260040160405180910390fd5b61361f8360400151613cc9565b1561363d57604051630efd728560e21b815260040160405180910390fd5b50505b606f546000908152607f60205260409020546001600160a01b03161580159061367c5750606f546000908152607f602052604090206002015434105b156136b257606f546000908152607f602052604090819020600201549051632c1f8ef160e21b8152611039913491600401616576565b6000606e600081546136c390616664565b91829055506000818152607b602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b8401906137779082616c7b565b5050606f54601083015550607954600582015460405163240ff7c560e11b81526001600160a01b039283169263481fef8a9234926137bb9288921690600401616584565b6000604051808303818588803b1580156137d457600080fd5b505af11580156137e8573d6000803e3d6000fd5b50505050507ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b60685483604051613820929190616576565b60405180910390a150949350505050565b6078546001600160a01b0316331461114c576040516357848b5160e11b815260040160405180910390fd5b6000601261386861198a565b6001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156138a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138c991906163a3565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613922575060408051601f3d908101601f1916820190925261391f91810190616d3a565b60015b1561392d5760ff1690505b60008361393861198a565b6001600160a01b0316632c611c4a876040518263ffffffff1660e01b81526004016139639190615d02565b602060405180830381865afa158015613980573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139a4919061654d565b6139ae919061633d565b905060006139cf6139c084600a616e41565b6139ca9084616440565b614ae0565b90506000816139dc61198a565b6001600160a01b0316637817ee4f89306040518363ffffffff1660e01b8152600401613a09929190616516565b602060405180830381865afa158015613a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a4a919061654d565b613a54919061633d565b979650505050505050565b6000600160801b8310613ab35760405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401611039565b50600160801b82825b8015613aff5780600116600003613ae157613ad78283614bc8565b915060011c613abc565b613aeb8383614bc8565b9250613af860018261633d565b9050613abc565b505092915050565b600080516020617001833981519152546001600160a01b031690565b33613b2c61200f565b6001600160a01b0316146119875733613b4361200f565b60405163163678e960e01b8152600401611039929190616516565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615613b9157610f9483614ca5565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613beb575060408051601f3d908101601f19168201909252613be89181019061654d565b60015b613c4e5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401611039565b6000805160206170018339815191528114613cbd5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401611039565b50610f94838383614d3f565b6000613cd86298968083616440565b606954607254613ce89190616440565b111592915050565b33613cf961200f565b6001600160a01b03161461114c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611039565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000606854604051602001613db69190616e4d565b604051602081830303815290604052805190602001209050613dd661198a565b6001600160a01b03166391d148548260006040518363ffffffff1660e01b8152600401613e04929190616584565b602060405180830381865afa158015613e21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e459190616530565b15613eb357613e5261198a565b6001600160a01b031663d547741f8260006040518363ffffffff1660e01b8152600401613e80929190616584565b600060405180830381600087803b158015613e9a57600080fd5b505af1158015613eae573d6000803e3d6000fd5b505050505b60005b825181101561400d57613ec761198a565b6001600160a01b03166391d1485483858481518110613ee857613ee8616e6a565b60200260200101516040518363ffffffff1660e01b8152600401613f0d929190616584565b602060405180830381865afa158015613f2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f4e9190616530565b613ffb57613f5a61198a565b6001600160a01b0316632f2ff15d606854604051602001613f7b9190616e4d565b60405160208183030381529060405280519060200120858481518110613fa357613fa3616e6a565b60200260200101516040518363ffffffff1660e01b8152600401613fc8929190616584565b600060405180830381600087803b158015613fe257600080fd5b505af1158015613ff6573d6000803e3d6000fd5b505050505b8061400581616664565b915050613eb6565b507f7a2e396a5614184c0af2c60827c206595126faa1238b94e19823192de52e728a60685483604051612f69929190616e80565b607a546000906001600160a01b031661417c5760006068546040516020016140699190616e4d565b60405160208183030381529060405280519060200120905061408961198a565b6001600160a01b03166391d148548260006040518363ffffffff1660e01b81526004016140b7929190616584565b602060405180830381865afa1580156140d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140f89190616530565b156141065750600192915050565b61410e61198a565b6001600160a01b03166391d1485482856040518363ffffffff1660e01b815260040161413b929190616584565b602060405180830381865afa158015614158573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116a9190616530565b607a546040516302154c3d60e51b81526001600160a01b03909116906342a987a0906141ae9085903090600401616516565b602060405180830381865afa1580156141cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5d9190616530565b600081816141fb61198a565b6001600160a01b0316637817ee4f86306040518363ffffffff1660e01b8152600401614228929190616516565b602060405180830381865afa158015614245573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614269919061654d565b6077549091506142798383616371565b11156142905760775461428d90829061633d565b91505b509392505050565b600080826142a461198a565b6001600160a01b0316632c611c4a866040518263ffffffff1660e01b81526004016142cf9190615d02565b602060405180830381865afa1580156142ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614310919061654d565b61431a9190616371565b9050601261432661198a565b6001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015614363573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061438791906163a3565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156143e0575060408051601f3d908101601f191682019092526143dd91810190616d3a565b60015b156143eb5760ff1690505b60006144056143fb83600a616e41565b6139ca9085616440565b9050600061441161198a565b6001600160a01b0316637817ee4f88306040518363ffffffff1660e01b815260040161443e929190616516565b602060405180830381865afa15801561445b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061447f919061654d565b9050600061448d828461633d565b98975050505050505050565b60008043905080846007015411156144b3576144b3616e99565b808460070154036144c9575060009050806144ea565b6144e78460070154826144dc919061633d565b856003015485611827565b91505b9250929050565b6144fb8484612c00565b61450482613da1565b6110f3815b60005b815181101561468c5761451d61198a565b6001600160a01b03166391d1485460685460405160200161453e9190616e4d565b6040516020818303038152906040528051906020012084848151811061456657614566616e6a565b60200260200101516040518363ffffffff1660e01b815260040161458b929190616584565b602060405180830381865afa1580156145a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145cc9190616530565b1561467a576145d961198a565b6001600160a01b031663d547741f6068546040516020016145fa9190616e4d565b6040516020818303038152906040528051906020012084848151811061462257614622616e6a565b60200260200101516040518363ffffffff1660e01b8152600401614647929190616584565b600060405180830381600087803b15801561466157600080fd5b505af1158015614675573d6000803e3d6000fd5b505050505b8061468481616664565b91505061450c565b507fd418c93b6b78d828a87ee1909e6fcdbbf2f8d8f540ad7b232bb3e221e6d7cc1e60685482604051612885929190616e80565b6001600160a01b038116611987576040516303988b8160e61b815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001612885565b614730612f75565b606854156147515760405163439a74c960e01b815260040160405180910390fd5b8060000361477257604051637fcce2a960e01b815260040160405180910390fd5b606855565b6040516001600160601b03193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506147be8482614d64565b949350505050565b6000828060200190518101906147dc9190616eaf565b905060005b81518110156110f3576148108282815181106147ff576147ff616e6a565b602002602001015160000151614dfb565b8061481a81616664565b9150506147e1565b61482b81614eb8565b61483481614041565b61485157604051630b72d6b160e31b815260040160405180910390fd5b600061485b61198a565b6001600160a01b031663477a5cc083306040518363ffffffff1660e01b8152600401614888929190616516565b602060405180830381865afa1580156148a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148c99190616530565b9050806148e957604051635fccb67f60e01b815260040160405180910390fd5b6000838060200190518101906148ff9190616eaf565b905061490b8382614f99565b6110f3838261512e565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001612885565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161497457610f948282615506565b610f94838383615522565b6001600160a01b0381166000908152607d60209081526040808320805482518185028101850190935280835291929091908301828280156149df57602002820191906000526020600020905b8154815260200190600101908083116149cb575b5050505050905060005b8151811015610f94576000828281518110614a0657614a06616e6a565b602002602001015190506000607b60008381526020019081526020016000209050614a3082615568565b15614acb576001600160a01b0385166000908152600982016020526040812080549082905560028301805491928392614a6a90849061633d565b925050819055508060706000828254614a83919061633d565b90915550614a93905082826132dc565b6000805160206170218339815191528684600085600201548660030154604051614ac1959493929190616f59565b60405180910390a1505b50508080614ad890616664565b9150506149e9565b600081600003614af257506000919050565b60006001614aff846155a1565b901c6001901b90506001818481614b1857614b186163e5565b048201901c90506001818481614b3057614b306163e5565b048201901c90506001818481614b4857614b486163e5565b048201901c90506001818481614b6057614b606163e5565b048201901c90506001818481614b7857614b786163e5565b048201901c90506001818481614b9057614b906163e5565b048201901c90506001818481614ba857614ba86163e5565b048201901c905061116a81828581614bc257614bc26163e5565b04615635565b6000600160801b831115614c2f5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608401611039565b600160801b8210614c815760405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401611039565b60806001607f1b614c928486616440565b614c9c9190616371565b901c9392505050565b614cae816132cd565b614d105760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401611039565b60008051602061700183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b614d488361564b565b600082511180614d555750805b15610f94576110f3838361568b565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b038116610f5d5760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606401611039565b6000818152607b6020526040812090600882015460ff166006811115614e2357614e23615821565b1480614e4757506003600882015460ff166006811115614e4557614e45615821565b145b80614e6a57506004600882015460ff166006811115614e6857614e68615821565b145b80614e8d57506006600882015460ff166006811115614e8b57614e8b615821565b145b15610f755760088101546040516394d57ead60e01b815261103991849160ff90911690600401616f87565b6001600160a01b038116614edf57604051631a3e505160e31b815260040160405180910390fd5b6078546001600160a01b0316614f0857604051635df4b1ef60e01b815260040160405180910390fd5b614f1061198a565b6001600160a01b031663a230c524826040518263ffffffff1660e01b8152600401614f3b9190615d02565b602060405180830381865afa158015614f58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614f7c9190616530565b61198757604051636a5cfb6d60e01b815260040160405180910390fd5b6000805b825181101561505657828181518110614fb857614fb8616e6a565b60200260200101516000015160000315615044576000838281518110614fe057614fe0616e6a565b6020026020010151600001519050614ff781615568565b6150175760405163c1d17bef60e01b815260048101829052602401611039565b83828151811061502957615029616e6a565b602002602001015160200151836150409190616fa4565b9250505b8061504e81616664565b915050614f9d565b50600061506b615065856125a1565b836156b0565b9050600061507761198a565b6001600160a01b0316637817ee4f86306040518363ffffffff1660e01b81526004016150a4929190616516565b602060405180830381865afa1580156150c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906150e5919061654d565b90508082111561510c578181604051636b20c17f60e11b8152600401611039929190616576565b506001600160a01b039093166000908152607c60205260409020929092555050565b606060005b82518110156110f357600083828151811061515057615150616e6a565b602002602001015160000151905082516000036151ac576040805160018082528183019092529060208083019080368337019050509250808360008151811061519b5761519b616e6a565b6020026020010181815250506152df565b6000805b845181101561520c57828582815181106151cc576151cc616e6a565b6020026020010151036151fa57600191508281604051632b7aec5560e21b8152600401611039929190616576565b8061520481616664565b9150506151b0565b50806152dd576000845160016152229190616371565b6001600160401b0381111561523957615239615982565b604051908082528060200260200182016040528015615262578160200160208202803683370190505b50905060005b85518110156152ba5785818151811061528357615283616e6a565b602002602001015182828151811061529d5761529d616e6a565b6020908102919091010152806152b281616664565b915050615268565b5082818651815181106152cf576152cf616e6a565b602090810291909101015293505b505b60008483815181106152f3576152f3616e6a565b6020908102919091018101518101516000848152607b835260408082206001600160a01b038b1683526009810190945281205491935061533382856156b0565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607d60205260409020548110156153cc5784546001600160a01b038c166000908152607d602052604090208054839081106153a1576153a1616e6a565b9060005260206000200154036153ba57600191506153cc565b806153c481616664565b915050615355565b5080615402576001600160a01b038a166000908152607d6020908152604082208654815460018101835591845291909220909101555b81831161545257615413838361633d565b607060008282546154249190616371565b909155506154349050838361633d565b8460020160008282546154479190616371565b909155506154969050565b61545c828461633d565b6070600082825461546d919061633d565b9091555061547d9050828461633d565b846002016000828254615490919061633d565b90915550505b83600701546000036154ad574360078501556154ed565b6154b784846132dc565b6000805160206170218339815191528a8784876002015488600301546040516154e4959493929190616f59565b60405180910390a15b50505050505080806154fe90616664565b915050615133565b60008060008084865af1610f755763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d15600160005114171661555e576390b8ec186000526004601cfd5b6000603452505050565b6000818152607b602052604081205415801590610f5d5750506000908152607b60205260409020600501546001600160a01b0316151590565b600080608083901c156155b657608092831c92015b604083901c156155c857604092831c92015b602083901c156155da57602092831c92015b601083901c156155ec57601092831c92015b600883901c156155fe57600892831c92015b600483901c1561561057600492831c92015b600283901c1561562257600292831c92015b600183901c15610f5d5760010192915050565b6000818310615644578161116a565b5090919050565b61565481614ca5565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061116a8383604051806060016040528060278152602001617041602791396156e7565b6000806156bd8385616fa4565b9050600081121561116a57838382604051631dde38a160e11b815260040161103993929190616a31565b6060600080856001600160a01b0316856040516157049190616fc4565b600060405180830381855af49150503d806000811461573f576040519150601f19603f3d011682016040523d82523d6000602084013e615744565b606091505b50915091506157558683838761575f565b9695505050505050565b606083156157cc5782516000036157c557615779856132cd565b6157c55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611039565b50816147be565b6147be83838151156157e15781518083602001fd5b8060405162461bcd60e51b815260040161103991906162e0565b60006020828403121561580d57600080fd5b5035919050565b6001600160a01b03169052565b634e487b7160e01b600052602160045260246000fd5b6007811061198757611987615821565b60005b8381101561586257818101518382015260200161584a565b50506000910152565b60008151808452615883816020860160208601615847565b601f01601f19169290920160200192915050565b8051825260006020820151604060208501526147be604085018261586b565b60006101e08f83528e60208401528d60408401528c606084015260018060a01b03808d166080850152808c1660a0850152808b1660c08501528960e08501526158fe89615837565b886101008501528161012085015261591882850189615897565b875161014086015260208801516101608601526040909701511661018084015250506101a08101929092526101c0909101529a9950505050505050505050565b60006020828403121561596a57600080fd5b81356001600160e01b03198116811461116a57600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156159ba576159ba615982565b60405290565b604051608081016001600160401b03811182821017156159ba576159ba615982565b60405161010081016001600160401b03811182821017156159ba576159ba615982565b604080519081016001600160401b03811182821017156159ba576159ba615982565b60405160a081016001600160401b03811182821017156159ba576159ba615982565b604051601f8201601f191681016001600160401b0381118282101715615a7157615a71615982565b604052919050565b6001600160a01b038116811461198757600080fd5b600060c08284031215615aa057600080fd5b615aa8615998565b90508135615ab581615a79565b81526020820135615ac581615a79565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b600060808284031215615b0c57600080fd5b615b146159c0565b90508135815260208201356020820152604082013560408201526060820135606082015292915050565b6000806101408385031215615b5257600080fd5b615b5c8484615a8e565b9150615b6b8460c08501615afa565b90509250929050565b60006001600160401b03821115615b8d57615b8d615982565b5060051b60200190565b600082601f830112615ba857600080fd5b81356020615bbd615bb883615b74565b615a49565b82815260059290921b84018101918181019086841115615bdc57600080fd5b8286015b84811015615c00578035615bf381615a79565b8352918301918301615be0565b509695505050505050565b60006001600160401b03821115615c2457615c24615982565b50601f01601f191660200190565b6000615c40615bb884615c0b565b9050828152838383011115615c5457600080fd5b828260208301376000602084830101529392505050565b600082601f830112615c7c57600080fd5b61116a83833560208501615c32565b600080600060608486031215615ca057600080fd5b83356001600160401b0380821115615cb757600080fd5b615cc387838801615b97565b94506020860135915080821115615cd957600080fd5b50615ce686828701615c6b565b9250506040840135615cf781615a79565b809150509250925092565b6001600160a01b0391909116815260200190565b600080600060608486031215615d2b57600080fd5b8335615d3681615a79565b92506020840135615d4681615a79565b91506040840135615cf781615a79565b60008060408385031215615d6957600080fd5b82356001600160401b03811115615d7f57600080fd5b615d8b85828601615c6b565b9250506020830135615d9c81615a79565b809150509250929050565b60048110615db757615db7615821565b9052565b60208101610f5d8284615da7565b60008060408385031215615ddc57600080fd5b8235615de781615a79565b946020939093013593505050565b60008060408385031215615e0857600080fd5b50508035926020909101359150565b600080600060608486031215615e2c57600080fd5b505081359360208301359350604090920135919050565b60038110615db757615db7615821565b60208101610f5d8284615e43565b600060208284031215615e7357600080fd5b813561116a81615a79565b60008060408385031215615e9157600080fd5b8235615e9c81615a79565b915060208301356001600160401b03811115615eb757600080fd5b615ec385828601615c6b565b9150509250929050565b600080600060608486031215615ee257600080fd5b8335615eed81615a79565b925060208401356001600160401b03811115615f0857600080fd5b8401601f81018613615f1957600080fd5b615ce686823560208401615c32565b600060208284031215615f3a57600080fd5b81356001600160401b03811115615f5057600080fd5b6147be84828501615b97565b6000806000806101808587031215615f7357600080fd5b615f7d8686615a8e565b9350615f8c8660c08701615afa565b92506101408501356001600160401b0380821115615fa957600080fd5b615fb588838901615b97565b9350610160870135915080821115615fcc57600080fd5b50615fd987828801615b97565b91505092959194509250565b60208152600061116a6020830184615897565b6000806040838503121561600b57600080fd5b82356001600160401b038082111561602257600080fd5b61602e86838701615b97565b935060209150818501358181111561604557600080fd5b8501601f8101871361605657600080fd5b8035616064615bb882615b74565b81815260059190911b8201840190848101908983111561608357600080fd5b8584015b838110156160bb5780358681111561609f5760008081fd5b6160ad8c8983890101615c6b565b845250918601918601616087565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b8281101561611757815180516001600160a01b031685528601518685015292840192908501906001016160e9565b5091979650505050505050565b60008083601f84011261613657600080fd5b5081356001600160401b0381111561614d57600080fd5b6020830191508360208285010111156144ea57600080fd5b60008060008060006060868803121561617d57600080fd5b8535945060208601356001600160401b038082111561619b57600080fd5b6161a789838a01616124565b909650945060408801359150808211156161c057600080fd5b506161cd88828901616124565b969995985093965092949392505050565b801515811461198757600080fd5b6000602082840312156161fe57600080fd5b813561116a816161de565b6001600160a01b038c811682528b811660208301528a1660408201526060810189905260808101889052610160810161624188615837565b8760a08301528660c08301528560e08301528461010083015283610120830152826101408301529c9b505050505050505050505050565b6000806040838503121561628b57600080fd5b823591506020830135615d9c81615a79565b602081016162aa83615837565b91905290565b600080604083850312156162c357600080fd5b8235915060208301356001600160401b03811115615eb757600080fd5b60208152600061116a602083018461586b565b600181811c9082168061630757607f821691505b602082108103611c1857634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610f5d57610f5d616327565b6001600160a01b039390931683526020830191909152604082015260600190565b80820180821115610f5d57610f5d616327565b9283526001600160a01b03919091166020830152604082015260600190565b6000602082840312156163b557600080fd5b815161116a81615a79565b9384526001600160a01b03928316602085015291166040830152606082015260800190565b634e487b7160e01b600052601260045260246000fd5b60008261641857634e487b7160e01b600052601260045260246000fd5b500490565b60006001600160401b0382168061643657616436616327565b6000190192915050565b8082028115828204841417610f5d57610f5d616327565b6020808252602c90820152600080516020616fe183398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020616fe183398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0392831681529116602082015260400190565b60006020828403121561654257600080fd5b815161116a816161de565b60006020828403121561655f57600080fd5b5051919050565b805161657181615a79565b919050565b918252602082015260400190565b9182526001600160a01b0316602082015260400190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8381526040602082015260006165de60408301848661659b565b95945050505050565b60006001600160401b038281166002600160401b0319810161660b5761660b616327565b6001019392505050565b6001600160a01b03888116825260208201889052604082018790528516606082015260c060808201819052600090616650908301858761659b565b90508260a083015298975050505050505050565b60006001820161667657616676616327565b5060010190565b60006080828403121561668f57600080fd5b6166976159c0565b90508151815260208201516020820152604082015160408201526060820151606082015292915050565b80516003811061657157600080fd5b80516004811061657157600080fd5b6000602082840312156166f157600080fd5b604051602081016001600160401b038111828210171561671357616713615982565b6040529151825250919050565b600060c0828403121561673257600080fd5b61673a615998565b9050815161674781615a79565b8152602082015161675781615a79565b8060208301525060408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b600082601f83011261679d57600080fd5b815160206167ad615bb883615b74565b82815260059290921b840181019181810190868411156167cc57600080fd5b8286015b84811015615c005780516167e381615a79565b83529183019183016167d0565b60006020828403121561680257600080fd5b81516001600160401b038082111561681957600080fd5b90830190610200828603121561682e57600080fd5b6168366159e2565b616840868461667d565b815261684e608084016166c1565b602082015261685f60a084016166d0565b60408201526168718660c085016166df565b60608201526168838660e08501616720565b60808201526168956101a08401616566565b60a08201526168a76101c08401616566565b60c08201526101e0830151828111156168bf57600080fd5b6168cb8782860161678c565b60e08301525095945050505050565b805182526020810151602083015260408101516040830152606081015160608301525050565b600081518084526020808501945080840160005b838110156169395781516001600160a01b031687529582019590820190600101616914565b509495945050505050565b8281526040602082015261695c6040820183516168da565b6000602083015161697060c0840182615e43565b50604083015161698360e0840182615da7565b506060838101515161010084015260808085015180516001600160a01b039081166101208701526020820151166101408601526040810151610160860152918201516101808501528101516101a084015260a0908101516101c08401528301516169f16101e0840182615814565b5060c0830151610200616a0681850183615814565b60e0850151915080610220850152506165de610240840182616900565b60808101610f5d82846168da565b9283526020830191909152604082015260600190565b600060408284031215616a5957600080fd5b616a61615a05565b8251815260208301519091506001600160401b03811115616a8157600080fd5b8201601f81018413616a9257600080fd5b8051616aa0615bb882615c0b565b818152856020838501011115616ab557600080fd5b616ac6826020830160208601615847565b602084015250909392505050565b600060208284031215616ae657600080fd5b81516001600160401b0380821115616afd57600080fd5b9083019060c08286031215616b1157600080fd5b616b19615998565b825181526020830151616b2b81615a79565b60208201526040830151616b3e81615a79565b6040820152606083015182811115616b5557600080fd5b616b6187828601616a47565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b600060208284031215616b9957600080fd5b81516001600160401b0380821115616bb057600080fd5b9083019060a08286031215616bc457600080fd5b616bcc615a27565b825181526020830151616bde81615a79565b6020820152604083810151908201526060830151616bfb81615a79565b6060820152608083015182811115616c1257600080fd5b616c1e87828601616a47565b60808301525095945050505050565b601f821115610f9457600081815260208120601f850160051c81016020861015616c545750805b601f850160051c820191505b81811015616c7357828155600101616c60565b505050505050565b81516001600160401b03811115616c9457616c94615982565b616ca881616ca284546162f3565b84616c2d565b602080601f831160018114616cdd5760008415616cc55750858301515b600019600386901b1c1916600185901b178555616c73565b600085815260208120601f198616915b82811015616d0c57888601518255948401946001909101908401616ced565b5085821015616d2a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215616d4c57600080fd5b815160ff8116811461116a57600080fd5b600181815b80851115616d98578160001904821115616d7e57616d7e616327565b80851615616d8b57918102915b93841c9390800290616d62565b509250929050565b600082616daf57506001610f5d565b81616dbc57506000610f5d565b8160018114616dd25760028114616ddc57616df8565b6001915050610f5d565b60ff841115616ded57616ded616327565b50506001821b610f5d565b5060208310610133831016604e8410600b8410161715616e1b575081810a610f5d565b616e258383616d5d565b8060001904821115616e3957616e39616327565b029392505050565b600061116a8383616da0565b6810531313d5d31254d560ba1b8152600981019190915260290190565b634e487b7160e01b600052603260045260246000fd5b8281526040602082015260006147be6040830184616900565b634e487b7160e01b600052600160045260246000fd5b60006020808385031215616ec257600080fd5b82516001600160401b03811115616ed857600080fd5b8301601f81018513616ee957600080fd5b8051616ef7615bb882615b74565b81815260069190911b82018301908381019087831115616f1657600080fd5b928401925b82841015613a545760408489031215616f345760008081fd5b616f3c615a05565b845181528585015186820152825260409093019290840190616f1b565b6001600160a01b03959095168552602085019390935260408401919091526060830152608082015260a00190565b82815260408101616f9783615837565b8260208301529392505050565b8082018281126000831280158216821582161715613aff57613aff616327565b60008251616fd6818460208701615847565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122065cb38e54d9d57511a6b1f1604eda90387c8a1764eee5b2a8aa4ef9a6a878a2364736f6c63430008130033","sourceMap":"1164:5287:99:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9282:45:98;;;;;;;;;;-1:-1:-1;9282:45:98;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;11518:210;;;;;;;;;;-1:-1:-1;11518:210:98;;;;;:::i;:::-;;:::i;:::-;;;3313:14:142;;3306:22;3288:41;;3276:2;3261:18;11518:210:98;3148:187:142;31044:874:98;;;;;;;;;;;;31443:30;;31151:22;31425:49;;;:17;:49;;;;;:60;;;31499:62;;;31575:75;;;;31664:76;;;;31754:63;;;;31831:70;;;;;-1:-1:-1;;;;;31425:60:98;;;;31499:62;;;;;31575:75;;31664:76;;31831:70;31044:874;;;;;-1:-1:-1;;;;;3704:15:142;;;3686:34;;3756:15;;;;3751:2;3736:18;;3729:43;3788:18;;;3781:34;;;;3846:2;3831:18;;3824:34;3889:3;3874:19;;3867:35;3666:3;3918:19;;3911:35;3635:3;3620:19;31044:874:98;3340:612:142;47619:198:98;;;;;;;;;;-1:-1:-1;47619:198:98;;;;;:::i;:::-;;:::i;7520:325:97:-;;;;;;;;;;-1:-1:-1;7520:325:97;;;;;:::i;:::-;;:::i;21565:107:98:-;;;;;;;;;;-1:-1:-1;21644:11:98;:21;21565:107;;;9901:25:142;;;9889:2;9874:18;21565:107:98;9755:177:142;9139:39:98;;;;;;;;;;-1:-1:-1;9139:39:98;;;;-1:-1:-1;;;;;9139:39:98;;;;;;;;;;:::i;8671:30::-;;;;;;;;;;;;;;;;7893:36;;;;;;;;;;;;7921:8;7893:36;;8707:45;;;;;;;;;;;;;;;;3560:86:97;;;;;;;;;;-1:-1:-1;3635:4:97;;-1:-1:-1;;;;;3635:4:97;3560:86;;10090:222:98;;;;;;;;;;-1:-1:-1;10090:222:98;;;;;:::i;:::-;;:::i;46317:609::-;;;;;;;;;;-1:-1:-1;46317:609:98;;;;;:::i;:::-;;:::i;16674:89::-;;;;;;;;;;;;;:::i;8833:24::-;;;;;;;;;;-1:-1:-1;8833:24:98;;;;;;;;;;;;;;;;;;;11197:25:142;;;11253:2;11238:18;;11231:34;;;;11281:18;;;11274:34;11339:2;11324:18;;11317:34;11184:3;11169:19;8833:24:98;10966:391:142;9569:56:98;;;;;;;;;;-1:-1:-1;9569:56:98;;;;;:::i;:::-;;;;;;;;;;;;;;6244:344:97;;;;;;:::i;:::-;;:::i;8995:30:98:-;;;;;;;;;;-1:-1:-1;8995:30:98;;;;;;;;;;;;;;;;;;:::i;18317:659::-;;;;;;;;;;-1:-1:-1;18317:659:98;;;;;:::i;:::-;;:::i;50174:2899::-;;;;;;;;;;-1:-1:-1;50174:2899:98;;;;;:::i;:::-;;:::i;8608:25::-;;;;;;;;;;;;;;;;38412:644;;;;;;;;;;-1:-1:-1;38412:644:98;;;;;:::i;:::-;;:::i;8904:32::-;;;;;;;;;;-1:-1:-1;8904:32:98;;;;;;;;;;;;;;;:::i;3143:195:64:-;;;;;;;;;;-1:-1:-1;3143:195:64;;;;;:::i;:::-;;:::i;3728:92:97:-;;;;;;;;;;-1:-1:-1;3807:6:97;;3728:92;;8185:49:98;;;;;;;;;;;;8232:2;8185:49;;9631:61;;;;;;;;;;-1:-1:-1;9631:61:98;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9631:61:98;;;;;;;;;;;;;;;3910:100:97;;;;;;;;;;-1:-1:-1;3993:10:97;;3910:100;;9699:140:98;;;;;;;;;;;;;:::i;4101:108:97:-;;;;;;;;;;-1:-1:-1;4192:10:97;;4101:108;;9210:145;;;;;;;;;;-1:-1:-1;9210:145:97;;;;;:::i;:::-;;:::i;3657:220:64:-;;;;;;:::i;:::-;;:::i;2762:131::-;;;;;;;;;;;;;:::i;39637:1549:98:-;;;;;;;;;;-1:-1:-1;39637:1549:98;;;;;:::i;:::-;;:::i;9383:53::-;;;;;;;;;;-1:-1:-1;9383:53:98;;;;;:::i;:::-;;;;;;;;;;;;;;9100:32;;;;;;;;;;-1:-1:-1;9100:32:98;;;;-1:-1:-1;;;;;9100:32:98;;;1724:217:97;;;;;;;;;;-1:-1:-1;1724:217:97;;;;;:::i;:::-;;:::i;8320:42:98:-;;;;;;;;;;;;8361:1;8320:42;;16769:136;;;;;;;;;;-1:-1:-1;16769:136:98;;;;;:::i;:::-;;:::i;2085:101:45:-;;;;;;;;;;;;;:::i;5083:125:99:-;;;;;;;;;;-1:-1:-1;5083:125:99;;;;;:::i;:::-;;:::i;17286:1025:98:-;;;;;;;;;;-1:-1:-1;17286:1025:98;;;;;:::i;:::-;;:::i;16299:369::-;;;;;;;;;;;;;:::i;8759:26::-;;;;;;;;;;;;;;;;25040:728;;;;;;;;;;-1:-1:-1;25040:728:98;;;;;:::i;:::-;;:::i;9474:57::-;;;;;;;;;;-1:-1:-1;9474:57:98;;;;;:::i;:::-;;:::i;525:604:105:-;;;;;;;;;;;;;:::i;3906:332:99:-;;;;;;;;;;-1:-1:-1;3906:332:99;;;;;:::i;:::-;;:::i;46932:141:98:-;;;;;;;;;;-1:-1:-1;46932:141:98;;;;;:::i;:::-;;:::i;16195:98::-;;;;;;;;;;-1:-1:-1;16272:14:98;;16195:98;;4412:75:9;;;;;;;;;;;;4445:42;4412:75;;8639:26:98;;;;;;;;;;-1:-1:-1;8639:26:98;;;;-1:-1:-1;;;;;8639:26:98;;;;;;-1:-1:-1;;;;;17209:31:142;;;17191:50;;17179:2;17164:18;8639:26:98;17047:200:142;9031:36:98;;;;;;;;;;-1:-1:-1;9031:36:98;;;;;;5866:137:99;;;;;;;;;;-1:-1:-1;5866:137:99;;;;;:::i;:::-;;:::i;30100:191:98:-;;;;;;;;;;-1:-1:-1;30100:191:98;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;8791:35::-;;;;;;;;;;;;;;;;47424:189;;;;;;;;;;-1:-1:-1;47424:189:98;;;;;:::i;:::-;;:::i;13107:132::-;;;;;;;;;;-1:-1:-1;13107:132:98;;;;;:::i;:::-;;:::i;26418:287::-;;;;;;;;;;-1:-1:-1;26418:287:98;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;47823:2345::-;;;;;;:::i;:::-;;:::i;27374:86::-;;;;;;;;;;-1:-1:-1;27374:86:98;;;;;:::i;:::-;;:::i;9184:31::-;;;;;;;;;;-1:-1:-1;9184:31:98;;;;-1:-1:-1;;;;;9184:31:98;;;30903:135;;;;;;;;;;-1:-1:-1;30903:135:98;;;;;:::i;:::-;;:::i;21678:103::-;;;;;;;;;;-1:-1:-1;21763:11:98;;;;;;;21678:103;;404:115:105;;;;;;;;;;-1:-1:-1;404:115:105;;;;;:::i;:::-;;:::i;28979:1115:98:-;;;;;;;;;;-1:-1:-1;28979:1115:98;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;42413:120::-;;;;;;;;;;-1:-1:-1;42506:20:98;;42413:120;;30682:153;;;;;;;;;;-1:-1:-1;30682:153:98;;;;;:::i;:::-;30767:7;30793:22;;;:9;:22;;;;;:35;;;;30682:153;4341:101:97;;;;;;;;;;;;;:::i;53079:702:98:-;;;;;;;;;;-1:-1:-1;53079:702:98;;;;;:::i;:::-;;:::i;30492:184::-;;;;;;;;;;-1:-1:-1;30492:184:98;;;;;:::i;:::-;;:::i;4598:146:97:-;;;;;;;;;;-1:-1:-1;4598:146:97;;;;;:::i;:::-;;;;;;;:::i;2648:879:99:-;;;;;;;;;;-1:-1:-1;2648:879:99;;;;;:::i;:::-;;:::i;6907:220:97:-;;;;;;:::i;:::-;;:::i;2335:198:45:-;;;;;;;;;;-1:-1:-1;2335:198:45;;;;;:::i;:::-;;:::i;5631:197:97:-;;;;;;;;;;-1:-1:-1;5631:197:97;;;;;:::i;:::-;;:::i;8368:54:98:-;;;;;;;;;;;;8415:7;8368:54;;7849:38;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7849:38:98;;;;;;;;;;;;:::i;9282:45::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9282:45:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9282:45:98;;;;-1:-1:-1;;9282:45:98;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9282:45:98;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9282:45:98;:::o;11518:210::-;11611:4;-1:-1:-1;;;;;;11634:47:98;;-1:-1:-1;;;11634:47:98;;:87;;-1:-1:-1;;;;;;;;;;937:40:80;;;11685:36:98;11627:94;11518:210;-1:-1:-1;;11518:210:98:o;47619:198::-;47739:17;:15;:17::i;:::-;47766:44;47781:17;47800:9;47766:14;:44::i;:::-;47619:198;;:::o;7520:325:97:-;2435:16;:14;:16::i;:::-;3307:23:::1;:21;:23::i;:::-;7739:42:::2;7751:13;7766:5;7773:7;7739:11;:42::i;:::-;7520:325:::0;;;:::o;10090:222:98:-;3279:19:47;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:47;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;;3388:44;3426:4;3388:29;:44::i;:::-;3387:45;:66;;;;-1:-1:-1;3436:12:47;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:47;;24276:2:142;3325:201:47;;;24258:21:142;24315:2;24295:18;;;24288:30;24354:34;24334:18;;;24327:62;-1:-1:-1;;;24405:18:142;;;24398:44;24459:19;;3325:201:47;;;;;;;;;3536:12;:16;;-1:-1:-1;;3536:16:47;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:47;;;;;3562:65;10207:38:98::1;10218:5;10207:38;;;;;;;;;;;;;-1:-1:-1::0;;;10207:38:98::1;;::::0;10239:5:::1;10207:10;:38::i;:::-;10255:23;:50:::0;;-1:-1:-1;;;;;;10255:50:98::1;-1:-1:-1::0;;;;;10255:50:98;::::1;;::::0;;3647:99:47;;;;3697:5;3681:21;;-1:-1:-1;;3681:21:47;;;3721:14;;-1:-1:-1;24641:36:142;;3721:14:47;;24629:2:142;24614:18;3721:14:47;;;;;;;3647:99;3269:483;10090:222:98;;;:::o;46317:609::-;46395:7;46442:21;;;:9;:21;;;;;46478:19;;:33;;46474:100;;46534:29;;-1:-1:-1;;;46534:29:98;;;;;9901:25:142;;;9874:18;;46534:29:98;9755:177:142;46474:100:98;46820:59;46847:8;46857;:21;;;46820:26;:59::i;:::-;46896:23;;;;46317:609;-1:-1:-1;;46317:609:98:o;16674:89::-;16727:29;16745:10;16727:17;:29::i;:::-;16674:89::o;6244:344:97:-;6399:19;2435:16;:14;:16::i;:::-;3307:23:::1;:21;:23::i;:::-;6498:34:::2;6517:5;6524:7;6498:18;:34::i;:::-;6484:48:::0;6244:344;-1:-1:-1;;;6244:344:97:o;18317:659:98:-;18409:7;18428:23;:21;:23::i;:::-;18507:24;18564:21;18549:11;;;;;;;:36;;;;;;;;:::i;:::-;;:73;;;-1:-1:-1;18604:18:98;18589:11;;;;;;;:33;;;;;;;;:::i;:::-;;18549:73;18545:268;;;-1:-1:-1;18686:16:98;18545:268;;;18753:49;18776:7;18785:16;18753:22;:49::i;:::-;18734:68;;18545:268;18846:16;18822:20;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;18877:59:98;;;;;;18892:7;;18901:16;;18919;;18877:59;:::i;:::-;;;;;;;;18953:16;18317:659;-1:-1:-1;;;18317:659:98:o;50174:2899::-;50261:18;50282:33;;;:21;:33;;;;;;;;;50353:21;;;:9;:21;;;;;50445:32;;;;50427:51;;:17;:51;;;;;50384:94;;;;;;;;;-1:-1:-1;;;;;50384:94:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;50282:33;50353:21;;50384:94;50493:15;;;50489:82;;50531:29;;-1:-1:-1;;;50531:29:98;;;;;9901:25:142;;;9874:18;;50531:29:98;9755:177:142;50489:82:98;50611:23;50584;;;;;;:50;;;;;;;;:::i;:::-;;50580:119;;50657:31;;-1:-1:-1;;;50657:31:98;;;;;9901:25:142;;;9874:18;;50657:31:98;9755:177:142;50580:119:98;50784:37;;;;50744;;;;50709:14;;50744:77;;;:::i;:::-;50726:15;:95;;-1:-1:-1;50836:10:98;;50726:95;50836:64;;-1:-1:-1;50872:27:98;;-1:-1:-1;;;;;50850:50:98;:10;:50;;50836:64;50832:118;;;50923:16;;-1:-1:-1;;;50923:16:98;;;;;;;;;;;50832:118;50964:9;:25;;;-1:-1:-1;50977:12:98;;50964:25;50960:1953;;;51009:16;:30;;;51043:1;51009:35;51005:102;;51071:21;;-1:-1:-1;;;51071:21:98;;;;;;;;;;;51005:102;51124:16;:30;;;51158:1;51124:35;51120:121;;51179:23;;;:47;;-1:-1:-1;;51179:47:98;51205:21;51179:47;;;51120:121;51258:16;:30;;;51292:1;51258:35;51254:289;;51313:23;;;:49;;-1:-1:-1;;51313:49:98;51339:23;51313:49;;;51380:15;;51448:18;;;;51468:42;;;;;51380:148;;-1:-1:-1;;;51380:148:98;;-1:-1:-1;;;;;51380:15:98;;;;:34;;:148;;51436:10;;51448:18;;;;;51380:148;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;51254:289;51556:15;;51620:31;;;;51653:43;;;;51556:154;;-1:-1:-1;;;51556:154:98;;-1:-1:-1;;;;;51556:15:98;;;;:34;;:154;;51608:10;;51620:31;;;;;51556:154;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;50960:1953;;;51731:7;51742:1;51731:12;51727:1186;;51759:23;;;:47;;-1:-1:-1;;51759:47:98;51785:21;51759:47;;;51820:15;;51903:31;;;;-1:-1:-1;;;;;51820:15:98;;;;:37;;51875:10;;51903:31;51960:22;:20;:22::i;:::-;-1:-1:-1;;;;;51960:34:98;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;52015:16;:43;;;51820:252;;;;;;;;;;;;;;;;;;:::i;51727:1186::-;52093:7;52104:1;52093:12;52089:824;;52121:23;;;:49;;-1:-1:-1;;52121:49:98;52147:23;52121:49;;;52184:15;;52248:31;;;;52281:43;;;;52184:154;;-1:-1:-1;;;52184:154:98;;-1:-1:-1;;;;;52184:15:98;;;;:34;;:154;;52236:10;;52248:31;;;;;52184:154;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;52352:15:98;;52435:18;;;;-1:-1:-1;;;;;52352:15:98;;;;-1:-1:-1;52352:37:98;;-1:-1:-1;52407:10:98;;52435:18;52479:22;:20;:22::i;:::-;-1:-1:-1;;;;;52479:34:98;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;52552:30;;52534:49;;;;:17;:49;;;;;52612:1;52534:75;;;;:79;;52612:1;52534:79;:::i;:::-;52352:275;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;52641:15:98;;52724:18;;;;52760:31;;;;52827:30;;52641:15;52809:49;;;:17;:49;;;;;52760:31;52809:75;;;;-1:-1:-1;;;;;52641:15:98;;;;-1:-1:-1;52641:37:98;;-1:-1:-1;52696:10:98;;52724:18;;;;52760:31;;;;52809:79;;52760:31;52809:79;:::i;:::-;52641:261;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;52089:824;52923:12;:14;;-1:-1:-1;;;;;52923:14:98;;:12;:14;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;52923:14:98;;;;;-1:-1:-1;;;;;52923:14:98;;;;;;;52980:15;52947:8;:30;;:48;;;;53046:10;53017:16;:27;;;-1:-1:-1;;;;;53010:56:98;;53058:7;53010:56;;;;9901:25:142;;9889:2;9874:18;;9755:177;53010:56:98;;;;;;;;50251:2822;;;;50174:2899;;:::o;38412:644::-;38878:14;;38562:7;;38597:11;;38562:7;;38872:36;;38877:27;;7921:8;;38896:3;38878:21;38877:27;:::i;:::-;38906:1;38872:4;:36::i;:::-;38852:56;;39046:3;-1:-1:-1;;;39002:8:98;:14;;;7921:8;38998:18;;;;:::i;:::-;38973:19;38983:9;-1:-1:-1;;;38973:19:98;:::i;:::-;38955:14;7921:8;38955:10;:14;:::i;:::-;:38;;;;:::i;:::-;38954:63;;;;:::i;:::-;38928:21;38940:9;38928;:21;:::i;:::-;38927:91;;;;:::i;:::-;38926:103;;;;:::i;:::-;38925:124;;;38412:644;-1:-1:-1;;;;;;38412:644:98:o;3143:195:64:-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3224:36:::1;3242:17;3224;:36::i;:::-;3311:12;::::0;;3321:1:::1;3311:12:::0;;;::::1;::::0;::::1;::::0;;;3270:61:::1;::::0;3292:17;;3311:12;3270:21:::1;:61::i;:::-;3143:195:::0;:::o;9699:140:98:-;9814:17;;-1:-1:-1;;;;;9814:17:98;;9699:140::o;9210:145:97:-;9296:4;;9319:29;27225:143:98;3657:220:64;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3772:36:::1;3790:17;3772;:36::i;:::-;3818:52;3840:17;3859:4;3865;3818:21;:52::i;2762:131::-:0;2840:7;2080:4;-1:-1:-1;;;;;2089:6:64;2072:23;;2064:92;;;;-1:-1:-1;;;2064:92:64;;28272:2:142;2064:92:64;;;28254:21:142;28311:2;28291:18;;;28284:30;28350:34;28330:18;;;28323:62;-1:-1:-1;;;28401:18:142;;;28394:54;28465:19;;2064:92:64;28070:420:142;2064:92:64;-1:-1:-1;;;;;;;;;;;;2762:131:64;:::o;39637:1549:98:-;39720:18;39888:1;39874:10;;:15;39870:66;;39912:13;;-1:-1:-1;;;39912:13:98;;;;;;;;;;;39870:66;40376:33;40392:16;40376:15;:33::i;:::-;40372:91;;;40432:20;;-1:-1:-1;;;40432:20:98;;;;;;;;;;;40372:91;40694:10;;40611:13;;40664:26;:16;-1:-1:-1;;;40664:26:98;:::i;:::-;40663:41;;;;:::i;:::-;40628:8;:17;7921:8;;40628:27;;-1:-1:-1;;;40628:27:98;:::i;:::-;40627:33;;;;:::i;:::-;:77;;;;:::i;:::-;40611:93;;40891:2;40849:28;42506:20;;;42413:120;40849:28;40814:14;;40810:18;;7921:8;40810:18;:::i;:::-;7921:8;40797:2;40779:13;40787:5;;40779:13;:::i;:::-;40746:15;;40778:21;;;40745:28;;7921:8;;40765:3;40746:22;40745:28;:::i;:::-;40744:56;;;;:::i;:::-;40743:62;;;;:::i;:::-;40742:87;;;;:::i;:::-;40741:136;;;;:::i;:::-;41109:27;;40727:166;;;-1:-1:-1;41096:40:98;;:83;;41152:27;;41096:83;;;-1:-1:-1;41139:10:98;41083:96;-1:-1:-1;39637:1549:98:o;1724:217:97:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;:::-;1831:23:97::1;1848:5;1831:16;:23::i;:::-;1864:4;:19:::0;;-1:-1:-1;;;;;;1864:19:97::1;-1:-1:-1::0;;;;;1864:19:97;::::1;;::::0;;1916:17:::1;::::0;::::1;::::0;1927:5;;1916:17:::1;;;:::i;:::-;;::::0;;-1:-1:-1;;1916:17:97;;::::1;::::0;;;;;;1906:28;;1916:17:::1;1906:28:::0;;::::1;::::0;1893:10:::1;:41:::0;-1:-1:-1;;;1724:217:97:o;16769:136:98:-;16839:23;:21;:23::i;:::-;16872:26;16890:7;16872:17;:26::i;2085:101:45:-;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;5083:125:99:-:0;5150:17;:15;:17::i;:::-;5177:24;5193:7;5177:15;:24::i;17286:1025:98:-;17376:7;17440:23;:21;:23::i;:::-;17478:26;17496:7;17478:17;:26::i;:::-;17473:90;;17527:25;;-1:-1:-1;;;17527:25:98;;;;;;;;;;;17473:90;17572:24;17629:21;17614:11;;;;;;;:36;;;;;;;;:::i;:::-;;17610:396;;17708:14;17685:38;17666:57;;17610:396;;;17759:18;17744:11;;;;;;;:33;;;;;;;;:::i;:::-;;17740:266;;17812:44;17832:7;17841:14;17812:19;:44::i;17740:266::-;17892:21;17877:11;;;;;;;:36;;;;;;;;:::i;:::-;;17873:133;;17948:47;17971:7;17980:14;17948:22;:47::i;:::-;17929:66;;17873:133;18015:16;18034:22;:20;:22::i;:::-;-1:-1:-1;;;;;18034:50:98;;18085:7;18102:4;18034:74;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18015:93;;18122:11;18118:82;;;18173:16;18149:20;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;18118:82:98;18214:57;18229:7;18238:14;18254:16;18214:57;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;18288:16:98;17286:1025;-1:-1:-1;;;17286:1025:98:o;16299:369::-;16369:10;16394:25;16369:10;16394:17;:25::i;:::-;16389:89;;16442:25;;-1:-1:-1;;;16442:25:98;;;;;;;;;;;16389:89;16487:22;:20;:22::i;:::-;-1:-1:-1;;;;;16487:47:98;;16535:6;16551:4;16487:70;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16591:22;:20;:22::i;:::-;-1:-1:-1;;;;;16591:47:98;;16639:6;16655:4;16591:70;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16567:20;;:94;;;;;;;:::i;:::-;;;;-1:-1:-1;;;16299:369:98:o;25040:728::-;25117:18;25175:21;;;:9;:21;;;;;25385;;;;25117:18;;;;25341:66;;25175:21;;25341:33;:66::i;:::-;25281:126;;;;25422:14;25440:1;25422:19;:39;;;;-1:-1:-1;25445:16:98;;25422:39;25418:110;;;25494:8;:23;;;25477:40;;25418:110;25537:17;25557:44;25576:8;:24;;;25557:18;:44::i;:::-;25734:27;;;;;25040:728;-1:-1:-1;;;;;25040:728:98:o;9474:57::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;525:604:105:-;572:7;591:20;614:26;1534:6:45;;-1:-1:-1;;;;;1534:6:45;;1462:85;614:26:105;591:49;;715:12;-1:-1:-1;;;;;707:33:105;;744:1;707:38;703:420;;829:12;525:604;-1:-1:-1;525:604:105:o;703:420::-;895:12;-1:-1:-1;;;;;876:38:105;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;876:40:105;;;;;;;;-1:-1:-1;;876:40:105;;;;;;;;;;;;:::i;:::-;;;872:241;;1086:12;525:604;-1:-1:-1;525:604:105:o;3906:332:99:-;4129:17;:15;:17::i;:::-;4156:75;4171:17;4190:9;4201:12;4215:15;4156:14;:75::i;46932:141:98:-;47050:14;;47003:7;;47046:18;;7921:8;47046:18;:::i;:::-;47031:10;7921:8;47031:6;:10;:::i;:::-;47030:35;;;;:::i;5866:137:99:-;5940:17;:15;:17::i;:::-;5967:29;5988:7;5967:20;:29::i;30100:191:98:-;-1:-1:-1;;;;;;;;;;;;;;;;;30200:25:98;30228:9;:22;30238:11;30228:22;;;;;;;;;;;30200:50;;30267:8;:17;;30260:24;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30100:191;;;:::o;47424:189::-;47497:17;:15;:17::i;:::-;47524:32;47543:12;47524:18;:32::i;:::-;47566:11;:40;;-1:-1:-1;;;;;;47566:40:98;-1:-1:-1;;;;;47566:40:98;;;;;;;;;;47424:189::o;13107:132::-;1355:13:45;:11;:13::i;:::-;13198:23:98::1;:34:::0;;-1:-1:-1;;;;;;13198:34:98::1;-1:-1:-1::0;;;;;13198:34:98;;;::::1;::::0;;;::::1;::::0;;13107:132::o;26418:287::-;26504:22;26682:16;;-1:-1:-1;;;26682:16:98;;;;;;;;;;;47823:2345;47986:17;48047:21;;;:9;:21;;;;;;;;48139:32;;;;48121:51;;:17;:51;;;;;48078:94;;;;;;;;;-1:-1:-1;;;;;48078:94:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;48047:21;48183:112;;48260:24;;-1:-1:-1;;;48260:24:98;;;;;;;;;;;48183:112;48472:19;;:33;;48468:100;;48528:29;;-1:-1:-1;;;48528:29:98;;;;;9901:25:142;;;9874:18;;48528:29:98;9755:177:142;48468:100:98;48608:21;48581:23;;;;;;:48;;;;;;;;:::i;:::-;;48577:115;;48652:29;;-1:-1:-1;;;48652:29:98;;;;;9901:25:142;;;9874:18;;48652:29:98;9755:177:142;48577:115:98;48717:16;:43;;;48705:9;:55;48701:171;;;48817:43;;;;48783:78;;-1:-1:-1;;;48783:78:98;;;;48806:9;;48783:78;;;:::i;48701:171::-;48991:30;;;;:35;;;;:126;;;49102:15;8415:7;49046:8;:30;;;:53;;;;:::i;:::-;:71;48991:126;48974:325;;;49191:10;49259:15;8415:7;49203:8;:30;;;:53;;;;:::i;:::-;:71;;;;:::i;:::-;49149:139;;-1:-1:-1;;;49149:139:98;;;;;;;;;:::i;48974:325::-;49309:22;49346:16;:43;;;49334:9;:55;;;;:::i;:::-;49400:15;;49441:43;;;;49400:109;;-1:-1:-1;;;49400:109:98;;49309:80;;-1:-1:-1;;;;;;49400:15:98;;;;:33;;49441:43;49400:109;;49486:10;;49498;;49400:109;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;49532:27:98;;:92;;-1:-1:-1;;;49532:92:98;;-1:-1:-1;;;;;49532:41:98;;;;-1:-1:-1;49532:41:98;;-1:-1:-1;49581:14:98;;-1:-1:-1;49532:92:98;;8361:1;;49613:10;;;;49532:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;49635:23;;;:49;;49520:104;;-1:-1:-1;49661:23:98;;-1:-1:-1;;49635:49:98;;49661:23;49635:49;;;;-1:-1:-1;49694:20:98;;;:42;;;49786:15;49746:37;;;:55;49811:31;;;:44;;-1:-1:-1;;;;;;49811:44:98;49845:10;49811:44;;;49694:30;49865:32;;;:21;:32;;;;;:45;;;49921:12;:14;;-1:-1:-1;;;;;49921:14:98;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;49921:14:98;;;;;-1:-1:-1;;;;;49921:14:98;;;;;;;49951:210;49981:16;:27;;;50022:10;50046:9;50069:10;50093:7;;50114:8;:20;;:37;;;49951:210;;;;;;;;;;;;:::i;:::-;;;;;;;;48009:2159;;;47823:2345;;;;;;;:::o;27374:86::-;27430:23;27445:7;27430:14;:23::i;30903:135::-;-1:-1:-1;;;;;31005:26:98;30979:7;31005:26;;;:18;:26;;;;;;;30903:135::o;404:115:105:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;:::-;480:32:105::1;499:12;480:18;:32::i;28979:1115:98:-:0;29097:17;29128:19;29161:22;29197:23;29234:20;29268:29;29311:17;29342:22;29378:17;29409:25;29448:31;29504:25;29532:9;:22;29542:11;29532:22;;;;;;;;;;;29504:50;;29577:8;:24;;;29605:1;29577:29;:80;;29613:44;29632:8;:24;;;29613:18;:44::i;:::-;29577:80;;;29609:1;29577:80;29565:92;;29688:8;:18;;;;;;;;;;-1:-1:-1;;;;;29688:18:98;29720:8;:20;;;;;;;;;;-1:-1:-1;;;;;29720:20:98;29754:8;:23;;;;;;;;;;-1:-1:-1;;;;;29754:23:98;29791:8;:24;;;29829:8;:21;;;29864:8;:23;;;;;;;;;;;;29901:8;:18;;;29933:8;:23;;;29970:9;29993:8;:26;;:38;30020:10;-1:-1:-1;;;;;29993:38:98;-1:-1:-1;;;;;29993:38:98;;;;;;;;;;;;;30045:8;:32;;;29667:420;;;;;;;;;;;;;;;;;;;;;;;28979:1115;;;;;;;;;;;;;:::o;4341:101:97:-;4397:4;4420:15;11342:10;;;;;11263:96;4420:15;4413:22;;4341:101;:::o;53079:702:98:-;53194:21;53154;;;;:9;:21;;;;;:36;;;;;:61;;;;;;;;:::i;:::-;;53150:128;;53238:29;;-1:-1:-1;;;53238:29:98;;;;;9901:25:142;;;9874:18;;53238:29:98;9755:177:142;53150:128:98;53292:21;;;;:9;:21;;;;;:31;;;-1:-1:-1;;;;;53292:31:98;53327:10;53292:45;53288:141;;53374:21;;;;:9;:21;;;;;;;:31;;;53360:58;;-1:-1:-1;;;53360:58:98;;;;-1:-1:-1;;;;;53374:31:98;;53407:10;;53360:58;;;:::i;53288:141::-;53439:15;;;53511:21;;;:9;:21;;;;;;;;:31;;;;53574:45;;;;;53556:64;;:17;:64;;;;;;;:90;;;53439:217;;-1:-1:-1;;;53439:217:98;;-1:-1:-1;;;;;53439:15:98;;;;:34;;:217;;53487:10;;53511:31;;;53439:217;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;53667:21:98;;;;:9;:21;;;;;;;;;:36;;:63;;-1:-1:-1;;53667:63:98;53706:24;53667:63;;;53745:29;;9901:25:142;;;53745:29:98;;-1:-1:-1;9874:18:142;53745:29:98;;;;;;;;53079:702;:::o;30492:184::-;30591:7;32095:22;;;:9;:22;;;;;;;;-1:-1:-1;;;;;32095:48:98;;;;:40;;:48;;;;;;30617:52;31924:226;2648:879:99;2435:16:97;:14;:16::i;:::-;2742:28:99::1;2762:7;2742:19;:28::i;:::-;2834:23;::::0;2859:10:::1;:12:::0;;2816:56:::1;::::0;-1:-1:-1;;;;;2834:23:99::1;::::0;::::1;2859:12;::::0;::::1;:::i;:::-;;;;;2816:17;:56::i;:::-;2781:15;:92:::0;;-1:-1:-1;;;;;;2781:92:99::1;-1:-1:-1::0;;;;;2781:92:99;;;::::1;::::0;;::::1;::::0;;2883:28:::1;::::0;;-1:-1:-1;;;2883:28:99;;;;:26:::1;::::0;:28:::1;::::0;;::::1;::::0;-1:-1:-1;;2883:28:99;;;;;;;;-1:-1:-1;2781:92:99;2883:28;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;2922:40;2976:5;2965:51;;;;;;;;;;;;:::i;:::-;3031:20;::::0;::::1;::::0;2922:94;;-1:-1:-1;;;;;;3031:34:99::1;3027:94;;3088:22;;-1:-1:-1::0;;;3088:22:99::1;;;;;;;;;;;3027:94;3195:20;::::0;::::1;::::0;3175:17:::1;:40:::0;;-1:-1:-1;;;;;;3175:40:99::1;-1:-1:-1::0;;;;;3175:40:99;;::::1;::::0;;;::::1;::::0;;3241:15:::1;::::0;::::1;::::0;3226:12:::1;:30:::0;;-1:-1:-1;;3226:30:99::1;-1:-1:-1::0;3241:15:99;3226:30:::1;::::0;::::1;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;3280:14:99::1;::::0;::::1;::::0;3266:11:::1;:28:::0;;-1:-1:-1;;3266:28:99::1;;3280:14:::0;3266:28:::1;::::0;::::1;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;3318:14:99::1;::::0;::::1;::::0;3304:28;:11:::1;:28:::0;3369:14:::1;::::0;::::1;::::0;3342:11:::1;:42:::0;;-1:-1:-1;;;;;;3342:42:99::1;-1:-1:-1::0;;;;;3342:42:99;;::::1;::::0;;;::::1;::::0;;3409:19:::1;::::0;::::1;::::0;3430:11;;3443:16:::1;::::0;;-1:-1:-1;3443:16:99;;;::::1;::::0;::::1;3461::::0;;;;;;;;;3394:84:::1;::::0;3409:19;3430:11;3394:14:::1;:84::i;:::-;3493:27;3508:7;3517:2;3493:27;;;;;;;:::i;:::-;;;;;;;;2732:795;2648:879:::0;;:::o;6907:220:97:-;2435:16;:14;:16::i;:::-;3307:23:::1;:21;:23::i;:::-;7014:31:::2;7030:5;7037:7;7014:15;:31::i;:::-;7055:25;7065:5;7072:7;7055:9;:25::i;2335:198:45:-:0;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:45;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:45;;38780:2:142;2415:73:45::1;::::0;::::1;38762:21:142::0;38819:2;38799:18;;;38792:30;38858:34;38838:18;;;38831:62;-1:-1:-1;;;38909:18:142;;;38902:36;38955:19;;2415:73:45::1;38578:402:142::0;5631:197:97;2435:16;:14;:16::i;:::-;5771:7:::1;5757:10;;:21;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;5788:33:97::1;::::0;-1:-1:-1;5813:7:97;5788:24:::1;:33::i;12620:179:98:-:0;12705:22;:20;:22::i;:::-;-1:-1:-1;;;;;12705:34:98;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12683:59:98;:10;-1:-1:-1;;;;;12683:59:98;;12679:114;;12765:17;;-1:-1:-1;;;12765:17:98;;;;;;;;;;;43954:2357;44092:30;;;;-1:-1:-1;;;;;44092:44:98;;;;;:99;;-1:-1:-1;44148:28:98;;-1:-1:-1;;;;;44140:51:98;;;44092:99;:1027;;;;-1:-1:-1;44285:30:98;;44267:49;;;;:17;:49;;;;;;;;:62;;;44233:30;;;;-1:-1:-1;;;;;44233:96:98;;;44267:62;;44233:96;;;:216;;-1:-1:-1;44407:30:98;;44389:49;;;;:17;:49;;;;;:60;44357:28;;-1:-1:-1;;;;;44357:92:98;;;44389:60;;44357:92;;44233:216;:394;;;-1:-1:-1;44570:30:98;;44552:49;;;;:17;:49;;;;;;;:75;;;44477:43;;;;:150;;44233:394;:574;;;-1:-1:-1;44749:30:98;;44731:49;;;;:17;:49;;;;;:76;;;44655:44;;;;:152;;44233:574;:700;;;-1:-1:-1;44888:30:98;;44870:49;;;;:17;:49;;;;;:63;;;44835:31;;;;:98;;44233:700;:868;;;-1:-1:-1;45049:30:98;;45031:49;;;;:17;:49;;;;;:70;;;44961:38;;;;:140;;44233:868;44075:2158;;;45231:30;;;;;45183;;45165:49;;;;:17;:49;;;;;;;:62;;;-1:-1:-1;;;;;45165:62:98;;;:96;;;;;:212;;-1:-1:-1;45349:28:98;;45303:30;;45349:28;45285:49;;;:17;:49;;;;;:60;-1:-1:-1;;;;;45285:60:98;;;:92;;;;45165:212;45144:522;;;45410:28;;45452:30;;;;45410:73;;-1:-1:-1;;;45410:73:98;;-1:-1:-1;;;;;45410:41:98;;;;;;:73;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;45572:28:98;;45603:30;;;;45506:145;;;;-1:-1:-1;45506:145:98;;-1:-1:-1;45557:4:98;;45572:28;45603:30;-1:-1:-1;;;;;39243:15:142;;;39225:34;;39295:15;;;39290:2;39275:18;;39268:43;39347:15;;;39342:2;39327:18;;39320:43;39175:2;39160:18;;38985:384;45506:145:98;;;;;;;;45144:522;45680:30;:32;;;:30;:32;;;:::i;:::-;;;;-1:-1:-1;;45744:30:98;;;45726:49;;;;:17;:49;;;;;;;;;:69;;;;-1:-1:-1;;;;;;45726:69:98;;;-1:-1:-1;;;;;45726:69:98;;;;;;;;;;;;-1:-1:-1;45726:69:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45856:30;;45815:407;;39710:25:142;;;39789:18;;;39782:43;;;;39841:18;;;39834:43;;;;39893:18;;39886:34;39936:19;;;39929:35;39980:19;;;39973:35;;;;40039:3;40024:19;;40017:35;;;;45815:407:98;;39697:3:142;39682:19;45815:407:98;;;;;;;44075:2158;46243:20;;:8;:20;;;;;;;;;;;;;;;;;;;;46278:26;;;;;46254:9;;46278:26;:::i;:::-;;;;;;;;43954:2357;;:::o;9629:119:97:-;9713:4;;-1:-1:-1;;;;;9713:4:97;9691:10;:27;9687:54;;9727:14;;-1:-1:-1;;;9727:14:97;;;;;;;;;;;10618:113;10687:6;;10697:1;10687:11;10683:41;;10707:17;;-1:-1:-1;;;10707:17:97;;;;;;;;;;;23161:1873:98;23330:1;23314:5;:12;:17;23310:76;;23354:21;;-1:-1:-1;;;23354:21:98;;;;;;;;;;;23310:76;23396:18;23428:5;23417:28;;;;;;;;;;;;:::i;:::-;23396:49;;23460:10;23474:1;23460:15;23456:77;;23498:24;;-1:-1:-1;;;23498:24:98;;;;;;;;;;;23456:77;23542:25;23570:21;;;:9;:21;;;;;23622:20;23606:12;;;;:36;;;;;;;;:::i;:::-;;23602:1366;;23662:19;;:33;;23658:108;;23722:29;;-1:-1:-1;;;23722:29:98;;;;;9901:25:142;;;9874:18;;23722:29:98;9755:177:142;23658:108:98;23811:10;;23784:8;:24;;;:37;23780:152;;;23868:10;23880:8;:24;;;23906:10;;23848:69;;-1:-1:-1;;;23848:69:98;;;;;;;;;;:::i;23780:152::-;23977:21;23950:23;;;;;;:48;;;;;;;;:::i;:::-;;23946:123;;24025:29;;-1:-1:-1;;;24025:29:98;;;;;9901:25:142;;;9874:18;;24025:29:98;9755:177:142;23946:123:98;24083:22;24108:36;24133:10;24108:24;:36::i;:::-;24083:61;;24158:17;24178:44;24197:8;:24;;;24178:18;:44::i;:::-;24158:64;;24258:9;24241:14;:26;:58;;;;;24298:1;24271:8;:24;;;:28;24241:58;24237:137;;;24326:33;;-1:-1:-1;;;24326:33:98;;;;;;;;;;;24237:137;24413:4;;24426:6;;24413:20;;-1:-1:-1;;;24413:20:98;;;;;9901:25:142;;;;24388:22:98;;-1:-1:-1;;;;;24413:4:98;;:12;;9874:18:142;;24413:20:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;24413:20:98;;;;;;;;;;;;:::i;:::-;24388:45;;24462:8;:24;;;24448:10;;:38;;;;;;;:::i;:::-;;;;-1:-1:-1;;24524:10:98;;;;24536:20;;;;;24558:24;;;24508:75;;24524:10;-1:-1:-1;;;;;24536:20:98;;24508:15;:75::i;:::-;24598:23;;;:49;;-1:-1:-1;;24598:49:98;24624:23;24598:49;;;;;;24661:15;;24741:18;;;;24795:30;;-1:-1:-1;24777:49:98;;;:17;:49;;;;;;;:75;;;24661:205;;-1:-1:-1;;;24661:205:98;;-1:-1:-1;;;;;24661:15:98;;;;:34;;:205;;24713:10;;24741:18;;;24777:75;;24661:205;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;24910:20:98;;;;;24932:24;;;24886:71;;;;-1:-1:-1;24886:71:98;;24898:10;;-1:-1:-1;;;;;24910:20:98;;;;24886:71;:::i;:::-;;;;;;;;23644:1324;;;23602:1366;23255:1779;;23161:1873;;;:::o;1423:320:50:-;-1:-1:-1;;;;;1713:19:50;;:23;;;1423:320::o;42723:389:98:-;42835:18;42855:19;42878:56;42912:9;42923:10;42878:33;:56::i;:::-;42834:100;;;;42948:10;42962:1;42948:15;:35;;;;-1:-1:-1;42967:16:98;;42948:35;42944:72;;;42999:7;;42723:389;;:::o;42944:72::-;43025:19;;;:33;43068:24;;;;:37;;;;-1:-1:-1;42723:389:98:o;16911:369::-;17006:22;:20;:22::i;:::-;-1:-1:-1;;;;;17006:47:98;;17054:7;17071:4;17006:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16982:20;;:95;;;;;;;:::i;:::-;;;;-1:-1:-1;17087:22:98;;-1:-1:-1;17087:20:98;:22::i;:::-;-1:-1:-1;;;;;17087:49:98;;17137:7;17154:4;17087:73;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17215:17;17224:7;17215:8;:17::i;:::-;17247:26;17265:7;17247:26;;;;;;:::i;13565:2624::-;13665:7;13689:26;13707:7;13689:17;:26::i;:::-;13684:90;;13738:25;;-1:-1:-1;;;13738:25:98;;;;;;;;;;;13684:90;13843:30;13887:5;13876:35;;;;;;;;;;;;:::i;:::-;14026:15;;13843:68;;-1:-1:-1;14026:15:98;:20;14022:78;;14069:20;;-1:-1:-1;;;14069:20:98;;;;;;;;;;;14022:78;14192:20;14176:12;;;;:36;;;;;;;;:::i;:::-;;14172:749;;14228:40;14247:8;:20;;;14228:18;:40::i;:::-;14334:23;;;;-1:-1:-1;;;;;14334:37:98;14330:102;;14398:19;;-1:-1:-1;;;14398:19:98;;;;;;;;;;;14330:102;14445:11;14459:4;-1:-1:-1;;;;;14459:12:98;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14526:15;;14512:30;;-1:-1:-1;;;14512:30:98;;;;;9901:25:142;;;;14445:28:98;;-1:-1:-1;14487:22:98;;-1:-1:-1;;;;;14512:13:98;;;;;9874:18:142;;14512:30:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14512:30:98;;;;;;;;;;;;:::i;:::-;14487:55;;14587:4;:10;;;-1:-1:-1;;;;;14560:37:98;:8;:23;;;-1:-1:-1;;;;;14560:37:98;;14556:235;;14759:17;;-1:-1:-1;;;14759:17:98;;;;;;;;;;;14556:235;14808:41;14824:8;:24;;;14808:15;:41::i;:::-;14804:107;;;14876:20;;-1:-1:-1;;;14876:20:98;;;;;;;;;;;14804:107;14214:707;;14172:749;14974:30;;15029:1;14956:49;;;:17;:49;;;;;:60;-1:-1:-1;;;;;14956:60:98;14948:83;;;;:190;;-1:-1:-1;15081:30:98;;15063:49;;;;:17;:49;;;;;:75;;;15051:9;:87;14948:190;14931:390;;;15239:30;;15221:49;;;;:17;:49;;;;;;;:75;;;15170:140;;-1:-1:-1;;;15170:140:98;;;;15210:9;;15170:140;;;:::i;14931:390::-;15331:18;15354:15;;15352:17;;;;;:::i;:::-;;;;;-1:-1:-1;15379:18:98;15400:21;;;:9;:21;;;;;;;;15432:25;;;15467:11;;;:21;;-1:-1:-1;;;;;15467:21:98;;;-1:-1:-1;;;;;;15467:21:98;;;;;;;15514:20;;;;15498:13;;;:36;;;;;;;;;;;;;;15563:23;;;;15544:16;;;:42;;;;;;;;;;;15616:24;;;;-1:-1:-1;15596:17:98;;;:44;;;;15701:16;;;:40;;-1:-1:-1;;15701:40:98;;;;;;15765:12;15751:11;;;:26;-1:-1:-1;15787:16:98;;:20;;;;15866:17;;;;15853:30;;:10;;;:30;;;;;;;15352:17;;-1:-1:-1;15400:21:98;;15853:30;;;;;;;;:::i;:::-;-1:-1:-1;;15921:30:98;;15893:25;;;:58;-1:-1:-1;15961:15:98;;16025:11;;;;15961:76;;-1:-1:-1;;;15961:76:98;;-1:-1:-1;;;;;15961:15:98;;;;:33;;16002:9;;15961:76;;16013:10;;16025:11;;15961:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16053:35;16069:6;;16077:10;16053:35;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;16170:10:98;13565:2624;-1:-1:-1;;;;13565:2624:98:o;12296:171::-;12387:17;;-1:-1:-1;;;;;12387:17:98;12365:10;:40;12361:100;;12428:22;;-1:-1:-1;;;12428:22:98;;;;;;;;;;;20677:882;20815:7;20856:2;20886:22;:20;:22::i;:::-;-1:-1:-1;;;;;20886:34:98;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20872:61:98;;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20872:63:98;;;;;;;;-1:-1:-1;;20872:63:98;;;;;;;;;;;;:::i;:::-;;;20868:216;;;20985:17;;;-1:-1:-1;20868:216:98;21155:21;21235:16;21179:22;:20;:22::i;:::-;-1:-1:-1;;;;;21179:44:98;;21224:7;21179:53;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:72;;;;:::i;:::-;21155:96;-1:-1:-1;21317:22:98;21342:40;21368:13;21374:7;21368:2;:13;:::i;:::-;21352:29;;:13;:29;:::i;:::-;21342:9;:40::i;:::-;21317:65;;21392:24;21505:14;21431:22;:20;:22::i;:::-;-1:-1:-1;;;;;21431:47:98;;21479:7;21496:4;21431:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:88;;;;:::i;:::-;21392:127;20677:882;-1:-1:-1;;;;;;;20677:882:98:o;41952:455::-;42021:15;-1:-1:-1;;;42056:2:98;:12;42048:53;;;;-1:-1:-1;;;42048:53:98;;48077:2:142;42048:53:98;;;48059:21:142;48116:2;48096:18;;;48089:30;-1:-1:-1;;;48135:18:142;;;48128:58;48203:18;;42048:53:98;47875:352:142;42048:53:98;-1:-1:-1;;;;42123:2:98;42147;42186:215;42193:5;;42186:215;;42218:1;42222;42218:5;42227:1;42218:10;42214:177;;42252:10;42257:1;42260;42252:4;:10::i;:::-;42248:14;-1:-1:-1;42286:1:98;42280:7;42186:215;;42214:177;42336:16;42341:7;42350:1;42336:4;:16::i;:::-;42326:26;-1:-1:-1;42370:6:98;42375:1;42370:6;;:::i;:::-;;;42186:215;;;42038:369;;41952:455;;;;:::o;1175:140:60:-;-1:-1:-1;;;;;;;;;;;1254:54:60;-1:-1:-1;;;;;1254:54:60;;1175:140::o;1135:169:105:-;1219:10;1208:7;:5;:7::i;:::-;-1:-1:-1;;;;;1208:21:105;;1204:94;;1267:10;1279:7;:5;:7::i;:::-;1252:35;;-1:-1:-1;;;1252:35:105;;;;;;;;;:::i;2494:922:60:-;689:66;2910:48;;;2906:504;;;2974:37;2993:17;2974:18;:37::i;2906:504::-;3064:17;-1:-1:-1;;;;;3046:50:60;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3046:52:60;;;;;;;;-1:-1:-1;;3046:52:60;;;;;;;;;;;;:::i;:::-;;;3042:291;;3262:56;;-1:-1:-1;;;3262:56:60;;48623:2:142;3262:56:60;;;48605:21:142;48662:2;48642:18;;;48635:30;48701:34;48681:18;;;48674:62;-1:-1:-1;;;48752:18:142;;;48745:44;48806:19;;3262:56:60;48421:410:142;3042:291:60;-1:-1:-1;;;;;;;;;;;3148:28:60;;3140:82;;;;-1:-1:-1;;;3140:82:60;;49038:2:142;3140:82:60;;;49020:21:142;49077:2;49057:18;;;49050:30;49116:34;49096:18;;;49089:62;-1:-1:-1;;;49167:18:142;;;49160:39;49216:19;;3140:82:60;48836:405:142;3140:82:60;3099:138;3346:53;3364:17;3383:4;3389:9;3346:17;:53::i;32519:191:98:-;32601:19;32683:20;7921:8;32683:16;:20;:::i;:::-;32669:10;;32649:8;:17;:30;;32669:10;32649:30;:::i;:::-;:54;;;32519:191;-1:-1:-1;;32519:191:98:o;1620:130:45:-;965:10:51;1683:7:45;:5;:7::i;:::-;-1:-1:-1;;;;;1683:23:45;;1675:68;;;;-1:-1:-1;;;1675:68:45;;49448:2:142;1675:68:45;;;49430:21:142;;;49467:18;;;49460:30;49526:34;49506:18;;;49499:62;49578:18;;1675:68:45;49246:356:142;2687:187:45;2779:6;;;-1:-1:-1;;;;;2795:17:45;;;-1:-1:-1;;;;;;2795:17:45;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;5214:646:99:-;5284:21;5348:6;;5318:37;;;;;;;;:::i;:::-;;;;;;;;;;;;;5308:48;;;;;;5284:72;;5371:26;:24;:26::i;:::-;-1:-1:-1;;;;;5371:34:99;;5406:13;5429:1;5371:61;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5367:156;;;5448:26;:24;:26::i;:::-;-1:-1:-1;;;;;5448:37:99;;5486:13;5509:1;5448:64;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5367:156;5537:9;5532:268;5556:7;:14;5552:1;:18;5532:268;;;5596:26;:24;:26::i;:::-;-1:-1:-1;;;;;5596:34:99;;5631:13;5646:7;5654:1;5646:10;;;;;;;;:::i;:::-;;;;;;;5596:61;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5591:199;;5677:26;:24;:26::i;:::-;-1:-1:-1;;;;;5677:36:99;;5754:6;;5724:37;;;;;;;;:::i;:::-;;;;;;;;;;;;;5714:48;;;;;;5764:7;5772:1;5764:10;;;;;;;;:::i;:::-;;;;;;;5677:98;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5591:199;5572:3;;;;:::i;:::-;;;;5532:268;;;;5815:38;5837:6;;5845:7;5815:38;;;;;;;:::i;4551:526::-;4653:11;;4625:4;;-1:-1:-1;;;;;4653:11:99;4641:363;;4695:21;4759:6;;4729:37;;;;;;;;:::i;:::-;;;;;;;;;;;;;4719:48;;;;;;4695:72;;4785:26;:24;:26::i;:::-;-1:-1:-1;;;;;4785:34:99;;4820:13;4843:1;4785:61;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4781:213;;;-1:-1:-1;4873:4:99;;4551:526;-1:-1:-1;;4551:526:99:o;4781:213::-;4923:26;:24;:26::i;:::-;-1:-1:-1;;;;;4923:34:99;;4958:13;4973:5;4923:56;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4641:363::-;5020:11;;:50;;-1:-1:-1;;;5020:50:99;;-1:-1:-1;;;;;5020:11:99;;;;:28;;:50;;5049:5;;5064:4;;5020:50;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;19122:637:98:-;19223:7;19269:14;19223:7;19379:22;:20;:22::i;:::-;-1:-1:-1;;;;;19379:47:98;;19427:7;19444:4;19379:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19549:11;:21;19357:93;;-1:-1:-1;19516:30:98;19530:16;19357:93;19516:30;:::i;:::-;:54;19512:139;;;19605:11;:21;:35;;19629:11;;19605:35;:::i;:::-;19586:54;;19512:139;-1:-1:-1;19736:16:98;19122:637;-1:-1:-1;;;19122:637:98:o;19765:756::-;19869:7;19888:18;19965:14;19909:22;:20;:22::i;:::-;-1:-1:-1;;;;;19909:44:98;;19954:7;19909:53;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:70;;;;:::i;:::-;19888:91;-1:-1:-1;20008:2:98;20038:22;:20;:22::i;:::-;-1:-1:-1;;;;;20038:34:98;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20024:61:98;;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20024:63:98;;;;;;;;-1:-1:-1;;20024:63:98;;;;;;;;;;;;:::i;:::-;;;20020:216;;;20137:17;;;-1:-1:-1;20020:216:98;20245:22;20270:37;20293:13;20299:7;20293:2;:13;:::i;:::-;20280:26;;:10;:26;:::i;20270:37::-;20245:62;;20317:21;20341:22;:20;:22::i;:::-;-1:-1:-1;;;;;20341:47:98;;20389:7;20406:4;20341:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20317:95;-1:-1:-1;20423:24:98;20450:30;20317:95;20450:14;:30;:::i;:::-;20423:57;19765:756;-1:-1:-1;;;;;;;;19765:756:98:o;43118:830::-;43272:18;43292:19;43341:12;43327:26;;43393:11;43370:9;:19;;;:34;;43363:42;;;;:::i;:::-;43442:11;43419:9;:19;;;:34;43415:173;;-1:-1:-1;43543:1:98;;-1:-1:-1;43543:1:98;43535:13;;43415:173;43654:287;43811:9;:19;;;43797:11;:33;;;;:::i;:::-;43883:9;:24;;;43921:10;43654:19;:287::i;:::-;43641:300;;43118:830;;;;;;:::o;3533:367:99:-;3757:50;3778:17;3797:9;3757:20;:50::i;:::-;3817:29;3833:12;3817:15;:29::i;:::-;3856:37;3877:15;6009:440;6089:9;6084:303;6108:7;:14;6104:1;:18;6084:303;;;6147:26;:24;:26::i;:::-;-1:-1:-1;;;;;6147:34:99;;6222:6;;6192:37;;;;;;;;:::i;:::-;;;;;;;;;;;;;6182:48;;;;;;6232:7;6240:1;6232:10;;;;;;;;:::i;:::-;;;;;;;6147:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6143:234;;;6263:26;:24;:26::i;:::-;-1:-1:-1;;;;;6263:37:99;;6341:6;;6311:37;;;;;;;;:::i;:::-;;;;;;;;;;;;;6301:48;;;;;;6351:7;6359:1;6351:10;;;;;;;;:::i;:::-;;;;;;;6263:99;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6143:234;6124:3;;;;:::i;:::-;;;;6084:303;;;;6402:40;6426:6;;6434:7;6402:40;;;;;;;:::i;12473:141:98:-;-1:-1:-1;;;;;12555:22:98;;12551:56;;12586:21;;-1:-1:-1;;;12586:21:98;;;;;;;;;;;10971:126:97;11036:10;:20;;-1:-1:-1;;11036:20:97;;;;;;;;;;11071:19;;3288:41:142;;;11071:19:97;;3276:2:142;3261:18;11071:19:97;3148:187:142;5044:390:97;2435:16;:14;:16::i;:::-;5243:6:::1;::::0;:11;5239:45:::1;;5263:21;;-1:-1:-1::0;;;5263:21:97::1;;;;;;;;;;;5239:45;5371:7;5382:1;5371:12:::0;5367:34:::1;;5392:9;;-1:-1:-1::0;;;5392:9:97::1;;;;;;;;;;;5367:34;5411:6;:16:::0;5044:390::o;4749:279:6:-;4867:36;;-1:-1:-1;;;;;;4884:10:6;51018:2:142;50989:15;50985:45;4867:36:6;;;50973:58:142;51047:12;;;51040:28;;;4823:7:6;;;;51084:12:142;;4867:36:6;;;;;;;;;;;;4857:47;;;;;;4842:62;;4968:53;5005:9;5016:4;4968:36;:53::i;:::-;4961:60;4749:279;-1:-1:-1;;;;4749:279:6:o;4244:301:99:-;4347:27;4388:5;4377:38;;;;;;;;;;;;:::i;:::-;4347:68;;4430:9;4425:114;4449:2;:9;4445:1;:13;4425:114;;;4479:49;4511:2;4514:1;4511:5;;;;;;;;:::i;:::-;;;;;;;:16;;;4479:31;:49::i;:::-;4460:3;;;;:::i;:::-;;;;4425:114;;22272:633:98;22364:28;22384:7;22364:19;:28::i;:::-;22407:26;22425:7;22407:17;:26::i;:::-;22402:90;;22456:25;;-1:-1:-1;;;22456:25:98;;;;;;;;;;;22402:90;22547:28;22578:22;:20;:22::i;:::-;-1:-1:-1;;;;;22578:50:98;;22629:7;22646:4;22578:74;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22547:105;;22667:23;22662:78;;22713:16;;-1:-1:-1;;;22713:16:98;;;;;;;;;;;22662:78;22749:27;22790:5;22779:38;;;;;;;;;;;;:::i;:::-;22749:68;;22827:37;22852:7;22861:2;22827:24;:37::i;:::-;22874:24;22886:7;22895:2;22874:11;:24::i;27003:127::-;27095:28;;9901:25:142;;;27095:28:98;;9889:2:142;9874:18;27095:28:98;9755:177:142;6721:269:10;-1:-1:-1;;;;;;;6815:16:10;;;6811:173;;6847:45;6879:3;6884:7;6847:31;:45::i;6811:173::-;6923:50;6952:6;6960:3;6965:7;6923:28;:50::i;27466:829:98:-;-1:-1:-1;;;;;27608:29:98;;27576;27608;;;:20;:29;;;;;;;;27576:61;;;;;;;;;;;;;;;;;;;27608:29;;27576:61;;;27608:29;27576:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27652:9;27647:642;27671:12;:19;27667:1;:23;27647:642;;;27711:18;27732:12;27745:1;27732:15;;;;;;;;:::i;:::-;;;;;;;27711:36;;27761:25;27789:9;:21;27799:10;27789:21;;;;;;;;;;;27761:49;;27828:26;27843:10;27828:14;:26::i;:::-;27824:455;;;-1:-1:-1;;;;;27897:35:98;;27874:20;27897:35;;;:26;;;:35;;;;;;;27950:39;;;;28007:21;;;:37;;27897:35;;;;28007:37;;27897:35;;28007:37;:::i;:::-;;;;;;;;28077:12;28062:11;;:27;;;;;;;:::i;:::-;;;;-1:-1:-1;28107:50:98;;-1:-1:-1;28134:8:98;28144:12;28107:26;:50::i;:::-;-1:-1:-1;;;;;;;;;;;28193:7:98;28202:10;28214:1;28217:8;:21;;;28240:8;:23;;;28180:84;;;;;;;;;;:::i;:::-;;;;;;;;27856:423;27824:455;27697:592;;27692:3;;;;;:::i;:::-;;;;27647:642;;6530:1642:83;6578:7;6601:1;6606;6601:6;6597:45;;-1:-1:-1;6630:1:83;;6530:1642;-1:-1:-1;6530:1642:83:o;6597:45::-;7321:14;7355:1;7344:7;7349:1;7344:4;:7::i;:::-;:12;;7338:1;:19;;7321:36;;7816:1;7805:6;7801:1;:10;;;;;:::i;:::-;;7792:6;:19;7791:26;;7782:35;;7865:1;7854:6;7850:1;:10;;;;;:::i;:::-;;7841:6;:19;7840:26;;7831:35;;7914:1;7903:6;7899:1;:10;;;;;:::i;:::-;;7890:6;:19;7889:26;;7880:35;;7963:1;7952:6;7948:1;:10;;;;;:::i;:::-;;7939:6;:19;7938:26;;7929:35;;8012:1;8001:6;7997:1;:10;;;;;:::i;:::-;;7988:6;:19;7987:26;;7978:35;;8061:1;8050:6;8046:1;:10;;;;;:::i;:::-;;8037:6;:19;8036:26;;8027:35;;8110:1;8099:6;8095:1;:10;;;;;:::i;:::-;;8086:6;:19;8085:26;;8076:35;;8132:23;8136:6;8148;8144:1;:10;;;;;:::i;:::-;;8132:3;:23::i;41447:277:98:-;41516:15;-1:-1:-1;;;41551:2:98;:13;;41543:66;;;;-1:-1:-1;;;41543:66:98;;53001:2:142;41543:66:98;;;52983:21:142;53040:2;53020:18;;;53013:30;53079:34;53059:18;;;53052:62;-1:-1:-1;;;53130:18:142;;;53123:38;53178:19;;41543:66:98;52799:404:142;41543:66:98;-1:-1:-1;;;41627:2:98;:12;41619:53;;;;-1:-1:-1;;;41619:53:98;;53410:2:142;41619:53:98;;;53392:21:142;53449:2;53429:18;;;53422:30;-1:-1:-1;;;53468:18:142;;;53461:58;53536:18;;41619:53:98;53208:352:142;41619:53:98;41714:3;-1:-1:-1;;;41691:7:98;41696:2;41691;:7;:::i;:::-;41690:19;;;;:::i;:::-;41689:28;;;41447:277;-1:-1:-1;;;41447:277:98:o;1406:259:60:-;1487:37;1506:17;1487:18;:37::i;:::-;1479:95;;;;-1:-1:-1;;;1479:95:60;;53767:2:142;1479:95:60;;;53749:21:142;53806:2;53786:18;;;53779:30;53845:34;53825:18;;;53818:62;-1:-1:-1;;;53896:18:142;;;53889:43;53949:19;;1479:95:60;53565:409:142;1479:95:60;-1:-1:-1;;;;;;;;;;;1584:74:60;;-1:-1:-1;;;;;;1584:74:60;-1:-1:-1;;;;;1584:74:60;;;;;;;;;;1406:259::o;2057:265::-;2165:29;2176:17;2165:10;:29::i;:::-;2222:1;2208:4;:11;:15;:28;;;;2227:9;2208:28;2204:112;;;2252:53;2281:17;2300:4;2252:28;:53::i;2118:794:46:-;2202:16;2534:48;2516:14;2510:4;2506:25;2500:4;2496:36;2493:90;2487:4;2480:104;2741:32;2724:14;2718:4;2714:25;2711:63;2705:4;2698:77;2823:4;2817;2811;2808:1;2800:28;2788:40;-1:-1:-1;;;;;;2855:22:46;;2847:58;;;;-1:-1:-1;;;2847:58:46;;54181:2:142;2847:58:46;;;54163:21:142;54220:2;54200:18;;;54193:30;-1:-1:-1;;;54239:18:142;;;54232:53;54302:18;;2847:58:46;53979:347:142;2019:473:99;2113:18;2134:22;;;:9;:22;;;;;;2183:16;;;;;;:43;;;;;;;;:::i;:::-;;:91;;;-1:-1:-1;2250:24:99;2230:16;;;;;;:44;;;;;;;;:::i;:::-;;2183:91;:154;;;-1:-1:-1;2314:23:99;2294:16;;;;;;:43;;;;;;;;:::i;:::-;;2183:154;:201;;;-1:-1:-1;2361:23:99;2341:16;;;;;;:43;;;;;;;;:::i;:::-;;2183:201;2166:320;;;2458:16;;;;2416:59;;-1:-1:-1;;;2416:59:99;;;;2445:11;;2458:16;;;;;2416:59;;;:::i;11899:391:98:-;-1:-1:-1;;;;;11981:21:98;;11977:77;;12025:18;;-1:-1:-1;;;12025:18:98;;;;;;;;;;;11977:77;12075:17;;-1:-1:-1;;;;;12075:17:98;12063:100;;12130:22;;-1:-1:-1;;;12130:22:98;;;;;;;;;;;12063:100;12177:22;:20;:22::i;:::-;-1:-1:-1;;;;;12177:31:98;;12209:7;12177:40;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12172:98;;12240:19;;-1:-1:-1;;;12240:19:98;;;;;;;;;;;32716:1526;32829:22;32870:9;32865:630;32889:16;:23;32885:1;:27;32865:630;;;32992:16;33009:1;32992:19;;;;;;;;:::i;:::-;;;;;;;:30;;;33026:1;32992:35;32988:187;33152:8;32988:187;33188:18;33209:16;33226:1;33209:19;;;;;;;;:::i;:::-;;;;;;;:30;;;33188:51;;33258:26;33273:10;33258:14;:26::i;:::-;33253:167;;33311:29;;-1:-1:-1;;;33311:29:98;;;;;9901:25:142;;;9874:18;;33311:29:98;9755:177:142;33253:167:98;33452:16;33469:1;33452:19;;;;;;;;:::i;:::-;;;;;;;:32;;;33433:51;;;;;:::i;:::-;;;32919:576;32865:630;32914:3;;;;:::i;:::-;;;;32865:630;;;;33591:29;33623:60;33635:30;33657:7;33635:21;:30::i;:::-;33667:15;33623:11;:60::i;:::-;33591:92;;33765:26;33794:22;:20;:22::i;:::-;-1:-1:-1;;;;;33794:47:98;;33842:7;33859:4;33794:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;33765:100;;34055:18;34031:21;:42;34027:147;;;34121:21;34144:18;34096:67;;-1:-1:-1;;;34096:67:98;;;;;;;;;:::i;34027:147::-;-1:-1:-1;;;;;;34184:27:98;;;;;;;:18;:27;;;;;:51;;;;-1:-1:-1;;32716:1526:98:o;34248:3457::-;34356:29;34400:9;34395:3304;34419:16;:23;34415:1;:27;34395:3304;;;34463:18;34484:16;34501:1;34484:19;;;;;;;;:::i;:::-;;;;;;;:30;;;34463:51;;34587:12;:19;34610:1;34587:24;34583:920;;34646:16;;;34660:1;34646:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;34646:16:98;34631:31;;34698:10;34680:12;34693:1;34680:15;;;;;;;;:::i;:::-;;;;;;:28;;;;;34583:920;;;34757:10;34798:9;34793:318;34817:12;:19;34813:1;:23;34793:318;;;34913:10;34894:12;34907:1;34894:15;;;;;;;;:::i;:::-;;;;;;;:29;34890:203;;34959:4;34951:12;;35022:10;35034:1;34996:40;;-1:-1:-1;;;34996:40:98;;;;;;;;;:::i;34890:203::-;34838:3;;;;:::i;:::-;;;;34793:318;;;;35133:5;35128:361;;35162:21;35200:12;:19;35222:1;35200:23;;;;:::i;:::-;-1:-1:-1;;;;;35186:38:98;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;35186:38:98;;35162:62;;35251:9;35246:124;35270:12;:19;35266:1;:23;35246:124;;;35332:12;35345:1;35332:15;;;;;;;;:::i;:::-;;;;;;;35322:4;35327:1;35322:7;;;;;;;;:::i;:::-;;;;;;;;;;:25;35291:3;;;;:::i;:::-;;;;35246:124;;;;35419:10;35391:4;35396:12;:19;35391:25;;;;;;;;:::i;:::-;;;;;;;;;;:38;35466:4;-1:-1:-1;35128:361:98;34739:764;34583:920;35516:12;35531:16;35548:1;35531:19;;;;;;;;:::i;:::-;;;;;;;;;;;;:32;;;35578:25;35606:21;;;:9;:21;;;;;;-1:-1:-1;;;;;35760:35:98;;;;:26;;;:35;;;;;;35531:32;;-1:-1:-1;35983:40:98;35760:35;35531:32;35983:11;:40::i;:::-;-1:-1:-1;;;;;36158:35:98;;;;;;:26;;;:35;;;;;:50;;;35960:63;;-1:-1:-1;36158:35:98;36480:246;-1:-1:-1;;;;;36504:29:98;;;;;;:20;:29;;;;;:36;36500:40;;36480:246;;;36605:19;;-1:-1:-1;;;;;36569:29:98;;36605:19;36569:29;;;:20;:29;;;;;:32;;36599:1;;36569:32;;;;;;:::i;:::-;;;;;;;;;:55;36565:147;;36662:4;36648:18;;36688:5;;36565:147;36542:3;;;;:::i;:::-;;;;36480:246;;;;36744:11;36739:106;;-1:-1:-1;;;;;36775:29:98;;;;;;:20;:29;;;;;;;36810:19;;36775:55;;;;;;;;;;;;;;;;;;36739:106;37024:12;37000:20;:36;36996:370;;37071:35;37086:20;37071:12;:35;:::i;:::-;37056:11;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;37149:35:98;;-1:-1:-1;37164:20:98;37149:12;:35;:::i;:::-;37124:8;:21;;;:60;;;;;;;:::i;:::-;;;;-1:-1:-1;36996:370:98;;-1:-1:-1;36996:370:98;;37238:35;37261:12;37238:20;:35;:::i;:::-;37223:11;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;37316:35:98;;-1:-1:-1;37339:12:98;37316:20;:35;:::i;:::-;37291:8;:21;;;:60;;;;;;;:::i;:::-;;;;-1:-1:-1;;36996:370:98;37383:8;:18;;;37405:1;37383:23;37379:310;;37447:12;37426:18;;;:33;37379:310;;;37498:58;37525:8;37535:20;37498:26;:58::i;:::-;-1:-1:-1;;;;;;;;;;;37592:7:98;37601:10;37613:12;37627:8;:21;;;37650:8;:23;;;37579:95;;;;;;;;;;:::i;:::-;;;;;;;;37379:310;34449:3250;;;;;;34444:3;;;;;:::i;:::-;;;;34395:3304;;2455:490:14;2711:4;2705;2699;2693;2685:6;2681:2;2674:5;2669:47;2659:270;;2822:10;2816:4;2809:24;2910:4;2904;2897:18;11454:1189;11617:2;11611:4;11604:16;11674:6;11668:4;11661:20;-1:-1:-1;;;11808:4:14;11801:48;12272:4;12266;12260;12254;12251:1;12244:5;12237;12232:45;12192:16;12185:24;12181:1;12174:4;12168:11;12165:18;12162:48;11890:405;11863:655;;12411:10;12405:4;12398:24;12499:4;12493;12486:18;11863:655;12625:1;12619:4;12612:15;11454:1189;;;:::o;32320:193:98:-;32396:4;32419:22;;;:9;:22;;;;;:33;:37;;;;:87;;-1:-1:-1;;32504:1:98;32460:22;;;:9;:22;;;;;:32;;;-1:-1:-1;;;;;32460:32:98;:46;;;32320:193::o;8633:983:83:-;8685:7;;8769:3;8760:12;;;:16;8756:99;;8806:3;8796:13;;;;8827;8756:99;8881:2;8872:11;;;:15;8868:96;;8917:2;8907:12;;;;8937;8868:96;8990:2;8981:11;;;:15;8977:96;;9026:2;9016:12;;;;9046;8977:96;9099:2;9090:11;;;:15;9086:96;;9135:2;9125:12;;;;9155;9086:96;9208:1;9199:10;;;:14;9195:93;;9243:1;9233:11;;;;9262;9195:93;9314:1;9305:10;;;:14;9301:93;;9349:1;9339:11;;;;9368;9301:93;9420:1;9411:10;;;:14;9407:93;;9455:1;9445:11;;;;9474;9407:93;9526:1;9517:10;;;:14;9513:64;;9561:1;9551:11;9603:6;8633:983;-1:-1:-1;;8633:983:83:o;588:104::-;646:7;676:1;672;:5;:13;;684:1;672:13;;;-1:-1:-1;680:1:83;;588:104;-1:-1:-1;588:104:83:o;1771:152:60:-;1837:37;1856:17;1837:18;:37::i;:::-;1889:27;;-1:-1:-1;;;;;1889:27:60;;;;;;;;1771:152;:::o;6674:198:76:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;37711:284:98:-;37796:7;;37831:25;37850:6;37838:8;37831:25;:::i;:::-;37815:41;;37880:1;37871:6;:10;37867:90;;;37921:8;37931:6;37939;37904:42;;-1:-1:-1;;;37904:42:98;;;;;;;;;;:::i;7058:325:76:-;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:76;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:76:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;8121:18;8132:6;8121:10;:18::i;:::-;8113:60;;;;-1:-1:-1;;;8113:60:76;;56184:2:142;8113:60:76;;;56166:21:142;56223:2;56203:18;;;56196:30;56262:31;56242:18;;;56235:59;56311:18;;8113:60:76;55982:353:142;8113:60:76;-1:-1:-1;8208:10:76;8201:17;;7875:418;8249:33;8257:10;8269:12;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:76;;;;;;;;:::i;14:180:142:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:142;;14:180;-1:-1:-1;14:180:142:o;199:104::-;-1:-1:-1;;;;;265:31:142;253:44;;199:104::o;308:127::-;369:10;364:3;360:20;357:1;350:31;400:4;397:1;390:15;424:4;421:1;414:15;440:119;527:1;520:5;517:12;507:46;;533:18;;:::i;564:250::-;649:1;659:113;673:6;670:1;667:13;659:113;;;749:11;;;743:18;730:11;;;723:39;695:2;688:10;659:113;;;-1:-1:-1;;806:1:142;788:16;;781:27;564:250::o;819:271::-;861:3;899:5;893:12;926:6;921:3;914:19;942:76;1011:6;1004:4;999:3;995:14;988:4;981:5;977:16;942:76;:::i;:::-;1072:2;1051:15;-1:-1:-1;;1047:29:142;1038:39;;;;1079:4;1034:50;;819:271;-1:-1:-1;;819:271:142:o;1095:252::-;1182:5;1176:12;1171:3;1164:25;1146:3;1235:4;1228:5;1224:16;1218:23;1273:4;1266;1261:3;1257:14;1250:28;1294:47;1335:4;1330:3;1326:14;1312:12;1294:47;:::i;1352:1500::-;1929:4;1958:3;1988:6;1977:9;1970:25;2031:6;2026:2;2015:9;2011:18;2004:34;2074:6;2069:2;2058:9;2054:18;2047:34;2117:6;2112:2;2101:9;2097:18;2090:34;2160:1;2156;2151:3;2147:11;2143:19;2211:2;2203:6;2199:15;2193:3;2182:9;2178:19;2171:44;2264:2;2256:6;2252:15;2246:3;2235:9;2231:19;2224:44;2317:2;2309:6;2305:15;2299:3;2288:9;2284:19;2277:44;2358:6;2352:3;2341:9;2337:19;2330:35;2374:44;2411:6;2374:44;:::i;:::-;2455:6;2449:3;2438:9;2434:19;2427:35;2499:2;2493:3;2482:9;2478:19;2471:31;2519:54;2569:2;2558:9;2554:18;2546:6;2519:54;:::i;:::-;2610:14;;2604:3;2589:19;;2582:43;2681:2;2668:16;;2662:23;2656:3;2641:19;;2634:52;2746:2;2733:16;;;2727:23;2723:32;2717:3;2702:19;;2695:61;-1:-1:-1;;2787:3:142;2772:19;;2765:36;;;;2832:3;2817:19;;;2810:36;2511:62;1352:1500;-1:-1:-1;;;;;;;;;;1352:1500:142:o;2857:286::-;2915:6;2968:2;2956:9;2947:7;2943:23;2939:32;2936:52;;;2984:1;2981;2974:12;2936:52;3010:23;;-1:-1:-1;;;;;;3062:32:142;;3052:43;;3042:71;;3109:1;3106;3099:12;3957:127;4018:10;4013:3;4009:20;4006:1;3999:31;4049:4;4046:1;4039:15;4073:4;4070:1;4063:15;4089:253;4161:2;4155:9;4203:4;4191:17;;-1:-1:-1;;;;;4223:34:142;;4259:22;;;4220:62;4217:88;;;4285:18;;:::i;:::-;4321:2;4314:22;4089:253;:::o;4347:::-;4419:2;4413:9;4461:4;4449:17;;-1:-1:-1;;;;;4481:34:142;;4517:22;;;4478:62;4475:88;;;4543:18;;:::i;4605:255::-;4677:2;4671:9;4719:6;4707:19;;-1:-1:-1;;;;;4741:34:142;;4777:22;;;4738:62;4735:88;;;4803:18;;:::i;4865:257::-;4937:4;4931:11;;;4969:17;;-1:-1:-1;;;;;5001:34:142;;5037:22;;;4998:62;4995:88;;;5063:18;;:::i;5127:253::-;5199:2;5193:9;5241:4;5229:17;;-1:-1:-1;;;;;5261:34:142;;5297:22;;;5258:62;5255:88;;;5323:18;;:::i;5385:275::-;5456:2;5450:9;5521:2;5502:13;;-1:-1:-1;;5498:27:142;5486:40;;-1:-1:-1;;;;;5541:34:142;;5577:22;;;5538:62;5535:88;;;5603:18;;:::i;:::-;5639:2;5632:22;5385:275;;-1:-1:-1;5385:275:142:o;5665:144::-;-1:-1:-1;;;;;5753:31:142;;5743:42;;5733:70;;5799:1;5796;5789:12;5814:727;5877:5;5925:4;5913:9;5908:3;5904:19;5900:30;5897:50;;;5943:1;5940;5933:12;5897:50;5965:22;;:::i;:::-;5956:31;;6024:9;6011:23;6043:46;6081:7;6043:46;:::i;:::-;6098:22;;6172:2;6157:18;;6144:32;6185:46;6144:32;6185:46;:::i;:::-;6263:7;6258:2;6251:5;6247:14;6240:31;;6331:2;6320:9;6316:18;6303:32;6298:2;6291:5;6287:14;6280:56;6396:2;6385:9;6381:18;6368:32;6363:2;6356:5;6352:14;6345:56;6462:3;6451:9;6447:19;6434:33;6428:3;6421:5;6417:15;6410:58;6529:3;6518:9;6514:19;6501:33;6495:3;6488:5;6484:15;6477:58;5814:727;;;;:::o;6546:413::-;6601:5;6649:4;6637:9;6632:3;6628:19;6624:30;6621:50;;;6667:1;6664;6657:12;6621:50;6689:22;;:::i;:::-;6680:31;;6747:9;6734:23;6727:5;6720:38;6818:2;6807:9;6803:18;6790:32;6785:2;6778:5;6774:14;6767:56;6883:2;6872:9;6868:18;6855:32;6850:2;6843:5;6839:14;6832:56;6948:2;6937:9;6933:18;6920:32;6915:2;6908:5;6904:14;6897:56;6546:413;;;;:::o;6964:366::-;7094:6;7102;7155:3;7143:9;7134:7;7130:23;7126:33;7123:53;;;7172:1;7169;7162:12;7123:53;7195:54;7241:7;7230:9;7195:54;:::i;:::-;7185:64;;7268:56;7316:7;7310:3;7299:9;7295:19;7268:56;:::i;:::-;7258:66;;6964:366;;;;;:::o;7335:183::-;7395:4;-1:-1:-1;;;;;7417:30:142;;7414:56;;;7450:18;;:::i;:::-;-1:-1:-1;7495:1:142;7491:14;7507:4;7487:25;;7335:183::o;7523:750::-;7577:5;7630:3;7623:4;7615:6;7611:17;7607:27;7597:55;;7648:1;7645;7638:12;7597:55;7684:6;7671:20;7710:4;7734:60;7750:43;7790:2;7750:43;:::i;:::-;7734:60;:::i;:::-;7828:15;;;7914:1;7910:10;;;;7898:23;;7894:32;;;7859:12;;;;7938:15;;;7935:35;;;7966:1;7963;7956:12;7935:35;8002:2;7994:6;7990:15;8014:230;8030:6;8025:3;8022:15;8014:230;;;8110:3;8097:17;8127:44;8165:5;8127:44;:::i;:::-;8184:18;;8222:12;;;;8047;;8014:230;;;-1:-1:-1;8262:5:142;7523:750;-1:-1:-1;;;;;;7523:750:142:o;8278:186::-;8326:4;-1:-1:-1;;;;;8348:30:142;;8345:56;;;8381:18;;:::i;:::-;-1:-1:-1;8447:2:142;8426:15;-1:-1:-1;;8422:29:142;8453:4;8418:40;;8278:186::o;8469:336::-;8533:5;8562:52;8578:35;8606:6;8578:35;:::i;8562:52::-;8553:61;;8637:6;8630:5;8623:21;8677:3;8668:6;8663:3;8659:16;8656:25;8653:45;;;8694:1;8691;8684:12;8653:45;8743:6;8738:3;8731:4;8724:5;8720:16;8707:43;8797:1;8790:4;8781:6;8774:5;8770:18;8766:29;8759:40;8469:336;;;;;:::o;8810:220::-;8852:5;8905:3;8898:4;8890:6;8886:17;8882:27;8872:55;;8923:1;8920;8913:12;8872:55;8945:79;9020:3;9011:6;8998:20;8991:4;8983:6;8979:17;8945:79;:::i;9035:715::-;9146:6;9154;9162;9215:2;9203:9;9194:7;9190:23;9186:32;9183:52;;;9231:1;9228;9221:12;9183:52;9258:23;;-1:-1:-1;;;;;9330:14:142;;;9327:34;;;9357:1;9354;9347:12;9327:34;9380:61;9433:7;9424:6;9413:9;9409:22;9380:61;:::i;:::-;9370:71;;9494:2;9483:9;9479:18;9466:32;9450:48;;9523:2;9513:8;9510:16;9507:36;;;9539:1;9536;9529:12;9507:36;;9562:51;9605:7;9594:8;9583:9;9579:24;9562:51;:::i;:::-;9552:61;;;9663:2;9652:9;9648:18;9635:32;9676:44;9714:5;9676:44;:::i;:::-;9739:5;9729:15;;;9035:715;;;;;:::o;9937:229::-;-1:-1:-1;;;;;10127:32:142;;;;10109:51;;10097:2;10082:18;;9937:229::o;10393:568::-;10470:6;10478;10486;10539:2;10527:9;10518:7;10514:23;10510:32;10507:52;;;10555:1;10552;10545:12;10507:52;10594:9;10581:23;10613:44;10651:5;10613:44;:::i;:::-;10676:5;-1:-1:-1;10733:2:142;10718:18;;10705:32;10746:46;10705:32;10746:46;:::i;:::-;10811:7;-1:-1:-1;10870:2:142;10855:18;;10842:32;10883:46;10842:32;10883:46;:::i;11362:468::-;11439:6;11447;11500:2;11488:9;11479:7;11475:23;11471:32;11468:52;;;11516:1;11513;11506:12;11468:52;11543:23;;-1:-1:-1;;;;;11578:30:142;;11575:50;;;11621:1;11618;11611:12;11575:50;11644:49;11685:7;11676:6;11665:9;11661:22;11644:49;:::i;:::-;11634:59;;;11743:2;11732:9;11728:18;11715:32;11756:44;11794:5;11756:44;:::i;:::-;11819:5;11809:15;;;11362:468;;;;;:::o;12043:142::-;12126:1;12119:5;12116:12;12106:46;;12132:18;;:::i;:::-;12161;;12043:142::o;12190:213::-;12339:2;12324:18;;12351:46;12328:9;12379:6;12351:46;:::i;12408:328::-;12476:6;12484;12537:2;12525:9;12516:7;12512:23;12508:32;12505:52;;;12553:1;12550;12543:12;12505:52;12592:9;12579:23;12611:44;12649:5;12611:44;:::i;:::-;12674:5;12726:2;12711:18;;;;12698:32;;-1:-1:-1;;;12408:328:142:o;12741:248::-;12809:6;12817;12870:2;12858:9;12849:7;12845:23;12841:32;12838:52;;;12886:1;12883;12876:12;12838:52;-1:-1:-1;;12909:23:142;;;12979:2;12964:18;;;12951:32;;-1:-1:-1;12741:248:142:o;12994:316::-;13071:6;13079;13087;13140:2;13128:9;13119:7;13115:23;13111:32;13108:52;;;13156:1;13153;13146:12;13108:52;-1:-1:-1;;13179:23:142;;;13249:2;13234:18;;13221:32;;-1:-1:-1;13300:2:142;13285:18;;;13272:32;;12994:316;-1:-1:-1;12994:316:142:o;13315:143::-;13399:1;13392:5;13389:12;13379:46;;13405:18;;:::i;13463:215::-;13613:2;13598:18;;13625:47;13602:9;13654:6;13625:47;:::i;13683:260::-;13742:6;13795:2;13783:9;13774:7;13770:23;13766:32;13763:52;;;13811:1;13808;13801:12;13763:52;13850:9;13837:23;13869:44;13907:5;13869:44;:::i;14369:468::-;14446:6;14454;14507:2;14495:9;14486:7;14482:23;14478:32;14475:52;;;14523:1;14520;14513:12;14475:52;14562:9;14549:23;14581:44;14619:5;14581:44;:::i;:::-;14644:5;-1:-1:-1;14700:2:142;14685:18;;14672:32;-1:-1:-1;;;;;14716:30:142;;14713:50;;;14759:1;14756;14749:12;14713:50;14782:49;14823:7;14814:6;14803:9;14799:22;14782:49;:::i;:::-;14772:59;;;14369:468;;;;;:::o;14842:752::-;14929:6;14937;14945;14998:2;14986:9;14977:7;14973:23;14969:32;14966:52;;;15014:1;15011;15004:12;14966:52;15053:9;15040:23;15072:44;15110:5;15072:44;:::i;:::-;15135:5;-1:-1:-1;15191:2:142;15176:18;;15163:32;-1:-1:-1;;;;;15207:30:142;;15204:50;;;15250:1;15247;15240:12;15204:50;15273:22;;15326:4;15318:13;;15314:27;-1:-1:-1;15304:55:142;;15355:1;15352;15345:12;15304:55;15378:73;15443:7;15438:2;15425:16;15420:2;15416;15412:11;15378:73;:::i;15838:348::-;15922:6;15975:2;15963:9;15954:7;15950:23;15946:32;15943:52;;;15991:1;15988;15981:12;15943:52;16018:23;;-1:-1:-1;;;;;16053:30:142;;16050:50;;;16096:1;16093;16086:12;16050:50;16119:61;16172:7;16163:6;16152:9;16148:22;16119:61;:::i;16191:851::-;16389:6;16397;16405;16413;16466:3;16454:9;16445:7;16441:23;16437:33;16434:53;;;16483:1;16480;16473:12;16434:53;16506:54;16552:7;16541:9;16506:54;:::i;:::-;16496:64;;16579:56;16627:7;16621:3;16610:9;16606:19;16579:56;:::i;:::-;16569:66;-1:-1:-1;16686:3:142;16671:19;;16658:33;-1:-1:-1;;;;;16740:14:142;;;16737:34;;;16767:1;16764;16757:12;16737:34;16790:61;16843:7;16834:6;16823:9;16819:22;16790:61;:::i;:::-;16780:71;;16904:3;16893:9;16889:19;16876:33;16860:49;;16934:2;16924:8;16921:16;16918:36;;;16950:1;16947;16940:12;16918:36;;16973:63;17028:7;17017:8;17006:9;17002:24;16973:63;:::i;:::-;16963:73;;;16191:851;;;;;;;:::o;17252:261::-;17433:2;17422:9;17415:21;17396:4;17453:54;17503:2;17492:9;17488:18;17480:6;17453:54;:::i;17518:1357::-;17645:6;17653;17706:2;17694:9;17685:7;17681:23;17677:32;17674:52;;;17722:1;17719;17712:12;17674:52;17749:23;;-1:-1:-1;;;;;17821:14:142;;;17818:34;;;17848:1;17845;17838:12;17818:34;17871:61;17924:7;17915:6;17904:9;17900:22;17871:61;:::i;:::-;17861:71;;17951:2;17941:12;;18006:2;17995:9;17991:18;17978:32;18035:2;18025:8;18022:16;18019:36;;;18051:1;18048;18041:12;18019:36;18074:24;;18129:4;18121:13;;18117:27;-1:-1:-1;18107:55:142;;18158:1;18155;18148:12;18107:55;18194:2;18181:16;18217:60;18233:43;18273:2;18233:43;:::i;18217:60::-;18311:15;;;18393:1;18389:10;;;;18381:19;;18377:28;;;18342:12;;;;18417:19;;;18414:39;;;18449:1;18446;18439:12;18414:39;18481:2;18477;18473:11;18493:352;18509:6;18504:3;18501:15;18493:352;;;18595:3;18582:17;18631:2;18618:11;18615:19;18612:109;;;18675:1;18704:2;18700;18693:14;18612:109;18746:56;18794:7;18789:2;18775:11;18771:2;18767:20;18763:29;18746:56;:::i;:::-;18734:69;;-1:-1:-1;18823:12:142;;;;18526;;18493:352;;;18497:3;18864:5;18854:15;;;;;;;;17518:1357;;;;;:::o;18880:826::-;19113:2;19165:21;;;19235:13;;19138:18;;;19257:22;;;19084:4;;19113:2;19298;;19316:18;;;;19357:15;;;19084:4;19400:280;19414:6;19411:1;19408:13;19400:280;;;19473:13;;19515:9;;-1:-1:-1;;;;;19511:35:142;19499:48;;19587:11;;19581:18;19567:12;;;19560:40;19620:12;;;;19655:15;;;;19543:1;19429:9;19400:280;;;-1:-1:-1;19697:3:142;;18880:826;-1:-1:-1;;;;;;;18880:826:142:o;19711:348::-;19763:8;19773:6;19827:3;19820:4;19812:6;19808:17;19804:27;19794:55;;19845:1;19842;19835:12;19794:55;-1:-1:-1;19868:20:142;;-1:-1:-1;;;;;19900:30:142;;19897:50;;;19943:1;19940;19933:12;19897:50;19980:4;19972:6;19968:17;19956:29;;20032:3;20025:4;20016:6;20008;20004:19;20000:30;19997:39;19994:59;;;20049:1;20046;20039:12;20064:788;20164:6;20172;20180;20188;20196;20249:2;20237:9;20228:7;20224:23;20220:32;20217:52;;;20265:1;20262;20255:12;20217:52;20288:23;;;-1:-1:-1;20362:2:142;20347:18;;20334:32;-1:-1:-1;;;;;20415:14:142;;;20412:34;;;20442:1;20439;20432:12;20412:34;20481:59;20532:7;20523:6;20512:9;20508:22;20481:59;:::i;:::-;20559:8;;-1:-1:-1;20455:85:142;-1:-1:-1;20647:2:142;20632:18;;20619:32;;-1:-1:-1;20663:16:142;;;20660:36;;;20692:1;20689;20682:12;20660:36;;20731:61;20784:7;20773:8;20762:9;20758:24;20731:61;:::i;:::-;20064:788;;;;-1:-1:-1;20064:788:142;;-1:-1:-1;20811:8:142;;20705:87;20064:788;-1:-1:-1;;;20064:788:142:o;20857:118::-;20943:5;20936:13;20929:21;20922:5;20919:32;20909:60;;20965:1;20962;20955:12;20980:241;21036:6;21089:2;21077:9;21068:7;21064:23;21060:32;21057:52;;;21105:1;21102;21095:12;21057:52;21144:9;21131:23;21163:28;21185:5;21163:28;:::i;21456:1033::-;-1:-1:-1;;;;;21958:15:142;;;21940:34;;22010:15;;;22005:2;21990:18;;21983:43;22062:15;;22057:2;22042:18;;22035:43;22109:2;22094:18;;22087:34;;;22152:3;22137:19;;22130:35;;;21889:3;21874:19;;22174:44;22211:6;22174:44;:::i;:::-;22255:6;22249:3;22238:9;22234:19;22227:35;22299:6;22293:3;22282:9;22278:19;22271:35;22343:6;22337:3;22326:9;22322:19;22315:35;22387:6;22381:3;22370:9;22366:19;22359:35;22431:6;22425:3;22414:9;22410:19;22403:35;22475:7;22469:3;22458:9;22454:19;22447:36;21456:1033;;;;;;;;;;;;;;:::o;22494:328::-;22562:6;22570;22623:2;22611:9;22602:7;22598:23;22594:32;22591:52;;;22639:1;22636;22629:12;22591:52;22675:9;22662:23;22652:33;;22735:2;22724:9;22720:18;22707:32;22748:44;22786:5;22748:44;:::i;22827:239::-;22970:2;22955:18;;22982:44;23019:6;22982:44;:::i;:::-;23035:25;;;22827:239;:::o;23071:388::-;23148:6;23156;23209:2;23197:9;23188:7;23184:23;23180:32;23177:52;;;23225:1;23222;23215:12;23177:52;23248:23;;;-1:-1:-1;23322:2:142;23307:18;;23294:32;-1:-1:-1;;;;;23338:30:142;;23335:50;;;23381:1;23378;23371:12;23464:220;23613:2;23602:9;23595:21;23576:4;23633:45;23674:2;23663:9;23659:18;23651:6;23633:45;:::i;23689:380::-;23768:1;23764:12;;;;23811;;;23832:61;;23886:4;23878:6;23874:17;23864:27;;23832:61;23939:2;23931:6;23928:14;23908:18;23905:38;23902:161;;23985:10;23980:3;23976:20;23973:1;23966:31;24020:4;24017:1;24010:15;24048:4;24045:1;24038:15;24688:127;24749:10;24744:3;24740:20;24737:1;24730:31;24780:4;24777:1;24770:15;24804:4;24801:1;24794:15;24820:128;24887:9;;;24908:11;;;24905:37;;;24922:18;;:::i;24953:345::-;-1:-1:-1;;;;;25173:32:142;;;;25155:51;;25237:2;25222:18;;25215:34;;;;25280:2;25265:18;;25258:34;25143:2;25128:18;;24953:345::o;25303:125::-;25368:9;;;25389:10;;;25386:36;;;25402:18;;:::i;25433:345::-;25635:25;;;-1:-1:-1;;;;;25696:32:142;;;;25691:2;25676:18;;25669:60;25760:2;25745:18;;25738:34;25623:2;25608:18;;25433:345::o;25783:279::-;25868:6;25921:2;25909:9;25900:7;25896:23;25892:32;25889:52;;;25937:1;25934;25927:12;25889:52;25969:9;25963:16;25988:44;26026:5;25988:44;:::i;26067:447::-;26298:25;;;-1:-1:-1;;;;;26397:15:142;;;26392:2;26377:18;;26370:43;26449:15;;26444:2;26429:18;;26422:43;26496:2;26481:18;;26474:34;26285:3;26270:19;;26067:447::o;26519:127::-;26580:10;26575:3;26571:20;26568:1;26561:31;26611:4;26608:1;26601:15;26635:4;26632:1;26625:15;26651:217;26691:1;26717;26707:132;;26761:10;26756:3;26752:20;26749:1;26742:31;26796:4;26793:1;26786:15;26824:4;26821:1;26814:15;26707:132;-1:-1:-1;26853:9:142;;26651:217::o;26873:193::-;26911:3;-1:-1:-1;;;;;26944:30:142;;;26983:41;;27004:18;;:::i;:::-;-1:-1:-1;;27040:20:142;;26873:193;-1:-1:-1;;26873:193:142:o;27071:168::-;27144:9;;;27175;;27192:15;;;27186:22;;27172:37;27162:71;;27213:18;;:::i;27244:408::-;27446:2;27428:21;;;27485:2;27465:18;;;27458:30;-1:-1:-1;;;;;;;;;;;27519:2:142;27504:18;;27497:62;-1:-1:-1;;;27590:2:142;27575:18;;27568:42;27642:3;27627:19;;27244:408::o;27657:::-;27859:2;27841:21;;;27898:2;27878:18;;;27871:30;-1:-1:-1;;;;;;;;;;;27932:2:142;27917:18;;27910:62;-1:-1:-1;;;28003:2:142;27988:18;;27981:42;28055:3;28040:19;;27657:408::o;28495:407::-;28697:2;28679:21;;;28736:2;28716:18;;;28709:30;28775:34;28770:2;28755:18;;28748:62;-1:-1:-1;;;28841:2:142;28826:18;;28819:41;28892:3;28877:19;;28495:407::o;28907:304::-;-1:-1:-1;;;;;29137:15:142;;;29119:34;;29189:15;;29184:2;29169:18;;29162:43;29069:2;29054:18;;28907:304::o;29216:245::-;29283:6;29336:2;29324:9;29315:7;29311:23;29307:32;29304:52;;;29352:1;29349;29342:12;29304:52;29384:9;29378:16;29403:28;29425:5;29403:28;:::i;29466:184::-;29536:6;29589:2;29577:9;29568:7;29564:23;29560:32;29557:52;;;29605:1;29602;29595:12;29557:52;-1:-1:-1;29628:16:142;;29466:184;-1:-1:-1;29466:184:142:o;29655:151::-;29734:13;;29756:44;29734:13;29756:44;:::i;:::-;29655:151;;;:::o;30080:248::-;30254:25;;;30310:2;30295:18;;30288:34;30242:2;30227:18;;30080:248::o;30333:274::-;30507:25;;;-1:-1:-1;;;;;30568:32:142;30563:2;30548:18;;30541:60;30495:2;30480:18;;30333:274::o;30612:266::-;30700:6;30695:3;30688:19;30752:6;30745:5;30738:4;30733:3;30729:14;30716:43;-1:-1:-1;30804:1:142;30779:16;;;30797:4;30775:27;;;30768:38;;;;30860:2;30839:15;;;-1:-1:-1;;30835:29:142;30826:39;;;30822:50;;30612:266::o;30883:315::-;31068:6;31057:9;31050:25;31111:2;31106;31095:9;31091:18;31084:30;31031:4;31131:61;31188:2;31177:9;31173:18;31165:6;31157;31131:61;:::i;:::-;31123:69;30883:315;-1:-1:-1;;;;;30883:315:142:o;31203:209::-;31241:3;-1:-1:-1;;;;;31311:14:142;;;-1:-1:-1;;;;;;31337:15:142;;31334:41;;31355:18;;:::i;:::-;31404:1;31391:15;;31203:209;-1:-1:-1;;;31203:209:142:o;31417:682::-;-1:-1:-1;;;;;31775:15:142;;;31757:34;;31822:2;31807:18;;31800:34;;;31865:2;31850:18;;31843:34;;;31913:15;;31908:2;31893:18;;31886:43;31966:3;31960;31945:19;;31938:32;;;31700:4;;31987:62;;32029:19;;32021:6;32013;31987:62;:::i;:::-;31979:70;;32086:6;32080:3;32069:9;32065:19;32058:35;31417:682;;;;;;;;;;:::o;32104:135::-;32143:3;32164:17;;;32161:43;;32184:18;;:::i;:::-;-1:-1:-1;32231:1:142;32220:13;;32104:135::o;32244:396::-;32310:5;32358:4;32346:9;32341:3;32337:19;32333:30;32330:50;;;32376:1;32373;32366:12;32330:50;32398:22;;:::i;:::-;32389:31;;32449:9;32443:16;32436:5;32429:31;32513:2;32502:9;32498:18;32492:25;32487:2;32480:5;32476:14;32469:49;32571:2;32560:9;32556:18;32550:25;32545:2;32538:5;32534:14;32527:49;32629:2;32618:9;32614:18;32608:25;32603:2;32596:5;32592:14;32585:49;32244:396;;;;:::o;32645:157::-;32734:13;;32776:1;32766:12;;32756:40;;32792:1;32789;32782:12;32807:156;32895:13;;32937:1;32927:12;;32917:40;;32953:1;32950;32943:12;32968:420;33043:5;33091:4;33079:9;33074:3;33070:19;33066:30;33063:50;;;33109:1;33106;33099:12;33063:50;33142:2;33136:9;33184:4;33172:17;;-1:-1:-1;;;;;33204:34:142;;33240:22;;;33201:62;33198:88;;;33266:18;;:::i;:::-;33302:2;33295:22;33365:16;;33350:32;;-1:-1:-1;33335:6:142;32968:420;-1:-1:-1;32968:420:142:o;33393:696::-;33467:5;33515:4;33503:9;33498:3;33494:19;33490:30;33487:50;;;33533:1;33530;33523:12;33487:50;33555:22;;:::i;:::-;33546:31;;33607:9;33601:16;33626:46;33664:7;33626:46;:::i;:::-;33681:22;;33748:2;33733:18;;33727:25;33761:46;33727:25;33761:46;:::i;:::-;33839:7;33834:2;33827:5;33823:14;33816:31;;33900:2;33889:9;33885:18;33879:25;33874:2;33867:5;33863:14;33856:49;33958:2;33947:9;33943:18;33937:25;33932:2;33925:5;33921:14;33914:49;34017:3;34006:9;34002:19;33996:26;33990:3;33983:5;33979:15;33972:51;34077:3;34066:9;34062:19;34056:26;34050:3;34043:5;34039:15;34032:51;33393:696;;;;:::o;34094:747::-;34159:5;34212:3;34205:4;34197:6;34193:17;34189:27;34179:55;;34230:1;34227;34220:12;34179:55;34259:6;34253:13;34285:4;34309:60;34325:43;34365:2;34325:43;:::i;34309:60::-;34403:15;;;34489:1;34485:10;;;;34473:23;;34469:32;;;34434:12;;;;34513:15;;;34510:35;;;34541:1;34538;34531:12;34510:35;34577:2;34569:6;34565:15;34589:223;34605:6;34600:3;34597:15;34589:223;;;34678:3;34672:10;34695:44;34733:5;34695:44;:::i;:::-;34752:18;;34790:12;;;;34622;;34589:223;;34846:1281;34965:6;35018:2;35006:9;34997:7;34993:23;34989:32;34986:52;;;35034:1;35031;35024:12;34986:52;35061:16;;-1:-1:-1;;;;;35126:14:142;;;35123:34;;;35153:1;35150;35143:12;35123:34;35176:22;;;;35232:6;35214:16;;;35210:29;35207:49;;;35252:1;35249;35242:12;35207:49;35278:22;;:::i;:::-;35323:50;35365:7;35361:2;35323:50;:::i;:::-;35316:5;35309:65;35406:53;35454:3;35450:2;35446:12;35406:53;:::i;:::-;35401:2;35394:5;35390:14;35383:77;35494:52;35541:3;35537:2;35533:12;35494:52;:::i;:::-;35487:4;35480:5;35476:16;35469:78;35581:69;35642:7;35636:3;35632:2;35628:12;35581:69;:::i;:::-;35574:4;35567:5;35563:16;35556:95;35684:68;35744:7;35738:3;35734:2;35730:12;35684:68;:::i;:::-;35678:3;35671:5;35667:15;35660:93;35786:43;35824:3;35820:2;35816:12;35786:43;:::i;:::-;35780:3;35773:5;35769:15;35762:68;35863:43;35901:3;35897:2;35893:12;35863:43;:::i;:::-;35857:3;35850:5;35846:15;35839:68;35946:3;35942:2;35938:12;35932:19;35976:2;35966:8;35963:16;35960:36;;;35992:1;35989;35982:12;35960:36;36029:67;36088:7;36077:8;36073:2;36069:17;36029:67;:::i;:::-;36023:3;36012:15;;36005:92;-1:-1:-1;36016:5:142;34846:1281;-1:-1:-1;;;;;34846:1281:142:o;36132:261::-;36212:5;36206:12;36201:3;36194:25;36268:4;36261:5;36257:16;36251:23;36244:4;36239:3;36235:14;36228:47;36324:4;36317:5;36313:16;36307:23;36300:4;36295:3;36291:14;36284:47;36380:4;36373:5;36369:16;36363:23;36356:4;36351:3;36347:14;36340:47;;;36132:261::o;36840:461::-;36893:3;36931:5;36925:12;36958:6;36953:3;36946:19;36984:4;37013:2;37008:3;37004:12;36997:19;;37050:2;37043:5;37039:14;37071:1;37081:195;37095:6;37092:1;37089:13;37081:195;;;37160:13;;-1:-1:-1;;;;;37156:39:142;37144:52;;37216:12;;;;37251:15;;;;37192:1;37110:9;37081:195;;;-1:-1:-1;37292:3:142;;36840:461;-1:-1:-1;;;;;36840:461:142:o;37306:1267::-;37561:6;37550:9;37543:25;37604:2;37599;37588:9;37584:18;37577:30;37616:61;37673:2;37662:9;37658:18;37649:6;37643:13;37616:61;:::i;:::-;37524:4;37724:2;37716:6;37712:15;37706:22;37737:63;37795:3;37784:9;37780:19;37766:12;37737:63;:::i;:::-;;37849:2;37841:6;37837:15;37831:22;37862:64;37921:3;37910:9;37906:19;37890:14;37862:64;:::i;:::-;-1:-1:-1;37987:4:142;37975:17;;;37969:24;37963:31;37957:3;37942:19;;37935:60;38044:4;38032:17;;;38026:24;36522:12;;-1:-1:-1;;;;;36518:21:142;;;38125:3;38110:19;;36506:34;36593:4;36582:16;;36576:23;36572:32;36556:14;;;36549:56;36654:4;36643:16;;36637:23;36621:14;;;36614:47;36699:16;;;36693:23;36677:14;;;36670:47;36755:16;;36749:23;36733:14;;;36726:47;36486:3;36811:16;;;36805:23;36789:14;;;36782:47;38167:17;;38161:24;38194:55;38244:3;38229:19;;38161:24;38194:55;:::i;:::-;;38298:3;38290:6;38286:16;38280:23;38322:6;38337:54;38387:2;38376:9;38372:18;38356:14;38337:54;:::i;:::-;38440:3;38432:6;38428:16;38422:23;38400:45;;38482:2;38476:3;38465:9;38461:19;38454:31;;38502:65;38562:3;38551:9;38547:19;38531:14;38502:65;:::i;40063:252::-;40251:3;40236:19;;40264:45;40240:9;40291:6;40264:45;:::i;40320:319::-;40522:25;;;40578:2;40563:18;;40556:34;;;;40621:2;40606:18;;40599:34;40510:2;40495:18;;40320:319::o;40644:726::-;40710:5;40758:4;40746:9;40741:3;40737:19;40733:30;40730:50;;;40776:1;40773;40766:12;40730:50;40798:22;;:::i;:::-;40843:16;;40829:31;;40904:2;40889:18;;40883:25;40789:31;;-1:-1:-1;;;;;;40920:30:142;;40917:50;;;40963:1;40960;40953:12;40917:50;40986:22;;41039:4;41031:13;;41027:23;-1:-1:-1;41017:51:142;;41064:1;41061;41054:12;41017:51;41093:2;41087:9;41118:48;41134:31;41162:2;41134:31;:::i;41118:48::-;41189:2;41182:5;41175:17;41229:3;41224:2;41219;41215;41211:11;41207:20;41204:29;41201:49;;;41246:1;41243;41236:12;41201:49;41259:67;41323:2;41318;41311:5;41307:14;41302:2;41298;41294:11;41259:67;:::i;:::-;41353:2;41342:14;;41335:29;-1:-1:-1;41346:5:142;;40644:726;-1:-1:-1;;;40644:726:142:o;41375:1054::-;41467:6;41520:2;41508:9;41499:7;41495:23;41491:32;41488:52;;;41536:1;41533;41526:12;41488:52;41563:16;;-1:-1:-1;;;;;41628:14:142;;;41625:34;;;41655:1;41652;41645:12;41625:34;41678:22;;;;41734:4;41716:16;;;41712:27;41709:47;;;41752:1;41749;41742:12;41709:47;41778:22;;:::i;:::-;41829:2;41823:9;41816:5;41809:24;41871:2;41867;41863:11;41857:18;41884:46;41922:7;41884:46;:::i;:::-;41957:2;41946:14;;41939:31;42008:2;42000:11;;41994:18;42021:46;41994:18;42021:46;:::i;:::-;42094:2;42083:14;;42076:31;42146:2;42138:11;;42132:18;42162:16;;;42159:36;;;42191:1;42188;42181:12;42159:36;42227:65;42284:7;42273:8;42269:2;42265:17;42227:65;:::i;:::-;42222:2;42215:5;42211:14;42204:89;;42340:3;42336:2;42332:12;42326:19;42320:3;42313:5;42309:15;42302:44;42393:3;42389:2;42385:12;42379:19;42373:3;42366:5;42362:15;42355:44;42418:5;42408:15;;;;;41375:1054;;;;:::o;42434:1012::-;42537:6;42590:2;42578:9;42569:7;42565:23;42561:32;42558:52;;;42606:1;42603;42596:12;42558:52;42633:16;;-1:-1:-1;;;;;42698:14:142;;;42695:34;;;42725:1;42722;42715:12;42695:34;42748:22;;;;42804:4;42786:16;;;42782:27;42779:47;;;42822:1;42819;42812:12;42779:47;42848:22;;:::i;:::-;42899:2;42893:9;42886:5;42879:24;42941:2;42937;42933:11;42927:18;42954:46;42992:7;42954:46;:::i;:::-;43027:2;43016:14;;43009:31;43086:2;43078:11;;;43072:18;43056:14;;;43049:42;43129:2;43121:11;;43115:18;43142:46;43115:18;43142:46;:::i;:::-;43215:2;43204:14;;43197:31;43267:3;43259:12;;43253:19;43284:16;;;43281:36;;;43313:1;43310;43303:12;43281:36;43350:65;43407:7;43396:8;43392:2;43388:17;43350:65;:::i;:::-;43344:3;43333:15;;43326:90;-1:-1:-1;43337:5:142;42434:1012;-1:-1:-1;;;;;42434:1012:142:o;43860:545::-;43962:2;43957:3;43954:11;43951:448;;;43998:1;44023:5;44019:2;44012:17;44068:4;44064:2;44054:19;44138:2;44126:10;44122:19;44119:1;44115:27;44109:4;44105:38;44174:4;44162:10;44159:20;44156:47;;;-1:-1:-1;44197:4:142;44156:47;44252:2;44247:3;44243:12;44240:1;44236:20;44230:4;44226:31;44216:41;;44307:82;44325:2;44318:5;44315:13;44307:82;;;44370:17;;;44351:1;44340:13;44307:82;;;44311:3;;;43860:545;;;:::o;44581:1352::-;44701:10;;-1:-1:-1;;;;;44723:30:142;;44720:56;;;44756:18;;:::i;:::-;44785:97;44875:6;44835:38;44867:4;44861:11;44835:38;:::i;:::-;44829:4;44785:97;:::i;:::-;44937:4;;45001:2;44990:14;;45018:1;45013:663;;;;45720:1;45737:6;45734:89;;;-1:-1:-1;45789:19:142;;;45783:26;45734:89;-1:-1:-1;;44538:1:142;44534:11;;;44530:24;44526:29;44516:40;44562:1;44558:11;;;44513:57;45836:81;;44983:944;;45013:663;43807:1;43800:14;;;43844:4;43831:18;;-1:-1:-1;;45049:20:142;;;45167:236;45181:7;45178:1;45175:14;45167:236;;;45270:19;;;45264:26;45249:42;;45362:27;;;;45330:1;45318:14;;;;45197:19;;45167:236;;;45171:3;45431:6;45422:7;45419:19;45416:201;;;45492:19;;;45486:26;-1:-1:-1;;45575:1:142;45571:14;;;45587:3;45567:24;45563:37;45559:42;45544:58;45529:74;;45416:201;-1:-1:-1;;;;;45663:1:142;45647:14;;;45643:22;45630:36;;-1:-1:-1;44581:1352:142:o;46223:273::-;46291:6;46344:2;46332:9;46323:7;46319:23;46315:32;46312:52;;;46360:1;46357;46350:12;46312:52;46392:9;46386:16;46442:4;46435:5;46431:16;46424:5;46421:27;46411:55;;46462:1;46459;46452:12;46501:422;46590:1;46633:5;46590:1;46647:270;46668:7;46658:8;46655:21;46647:270;;;46727:4;46723:1;46719:6;46715:17;46709:4;46706:27;46703:53;;;46736:18;;:::i;:::-;46786:7;46776:8;46772:22;46769:55;;;46806:16;;;;46769:55;46885:22;;;;46845:15;;;;46647:270;;;46651:3;46501:422;;;;;:::o;46928:806::-;46977:5;47007:8;46997:80;;-1:-1:-1;47048:1:142;47062:5;;46997:80;47096:4;47086:76;;-1:-1:-1;47133:1:142;47147:5;;47086:76;47178:4;47196:1;47191:59;;;;47264:1;47259:130;;;;47171:218;;47191:59;47221:1;47212:10;;47235:5;;;47259:130;47296:3;47286:8;47283:17;47280:43;;;47303:18;;:::i;:::-;-1:-1:-1;;47359:1:142;47345:16;;47374:5;;47171:218;;47473:2;47463:8;47460:16;47454:3;47448:4;47445:13;47441:36;47435:2;47425:8;47422:16;47417:2;47411:4;47408:12;47404:35;47401:77;47398:159;;;-1:-1:-1;47510:19:142;;;47542:5;;47398:159;47589:34;47614:8;47608:4;47589:34;:::i;:::-;47659:6;47655:1;47651:6;47647:19;47638:7;47635:32;47632:58;;;47670:18;;:::i;:::-;47708:20;;46928:806;-1:-1:-1;;;46928:806:142:o;47739:131::-;47799:5;47828:36;47855:8;47849:4;47828:36;:::i;49607:324::-;-1:-1:-1;;;49837:24:142;;49886:1;49877:11;;49870:27;;;;49922:2;49913:12;;49607:324::o;50215:127::-;50276:10;50271:3;50267:20;50264:1;50257:31;50307:4;50304:1;50297:15;50331:4;50328:1;50321:15;50347:332;50554:6;50543:9;50536:25;50597:2;50592;50581:9;50577:18;50570:30;50517:4;50617:56;50669:2;50658:9;50654:18;50646:6;50617:56;:::i;50684:127::-;50745:10;50740:3;50736:20;50733:1;50726:31;50776:4;50773:1;50766:15;50800:4;50797:1;50790:15;51107:1185;51236:6;51267:2;51310;51298:9;51289:7;51285:23;51281:32;51278:52;;;51326:1;51323;51316:12;51278:52;51353:16;;-1:-1:-1;;;;;51381:30:142;;51378:50;;;51424:1;51421;51414:12;51378:50;51447:22;;51500:4;51492:13;;51488:27;-1:-1:-1;51478:55:142;;51529:1;51526;51519:12;51478:55;51558:2;51552:9;51581:60;51597:43;51637:2;51597:43;:::i;51581:60::-;51675:15;;;51757:1;51753:10;;;;51745:19;;51741:28;;;51706:12;;;;51781:19;;;51778:39;;;51813:1;51810;51803:12;51778:39;51837:11;;;;51857:405;51873:6;51868:3;51865:15;51857:405;;;51955:4;51949:3;51940:7;51936:17;51932:28;51929:118;;;52001:1;52030:2;52026;52019:14;51929:118;52073:22;;:::i;:::-;52122:10;;52108:25;;52175:12;;;52169:19;52153:14;;;52146:43;52202:18;;51899:4;51890:14;;;;52240:12;;;;51857:405;;52297:497;-1:-1:-1;;;;;52582:32:142;;;;52564:51;;52646:2;52631:18;;52624:34;;;;52689:2;52674:18;;52667:34;;;;52732:2;52717:18;;52710:34;52775:3;52760:19;;52753:35;52551:3;52536:19;;52297:497::o;54331:319::-;54523:25;;;54511:2;54496:18;;54557:44;54594:6;54557:44;:::i;:::-;54637:6;54632:2;54621:9;54617:18;54610:34;54331:319;;;;;:::o;54655:216::-;54719:9;;;54747:11;;;54694:3;54777:9;;54805:10;;54801:19;;54830:10;;54822:19;;54798:44;54795:70;;;54845:18;;:::i;55690:287::-;55819:3;55857:6;55851:13;55873:66;55932:6;55927:3;55920:4;55912:6;55908:17;55873:66;:::i;:::-;55955:16;;;;;55690:287;-1:-1:-1;;55690:287:142:o","linkReferences":{},"immutableReferences":{"55572":[{"start":6348,"length":32},{"start":6412,"length":32},{"start":6571,"length":32},{"start":6635,"length":32},{"start":6755,"length":32}]}},"methodIdentifiers":{"D()":"0f529ba2","DISPUTE_COOLDOWN_SEC()":"f5be3f7c","MAX_STAKED_PROPOSALS()":"406244d8","NATIVE()":"a0cf0aea","RULING_OPTIONS()":"626c47e8","VERSION()":"ffa1ad74","activatePoints()":"814516ad","addToAllowList(address[])":"7263cfe2","allocate(bytes,address)":"ef2920fc","arbitrableConfigs(uint256)":"41bb7605","calculateConviction(uint256,uint256,uint256)":"346db8cb","calculateThreshold(uint256)":"59a5db8b","canExecuteProposal(uint256)":"824ea8ed","cancelProposal(uint256)":"e0a8f6f5","cloneNonce()":"33960459","collateralVault()":"0bece79c","currentArbitrableConfigVersion()":"125fd1d9","cvParams()":"2506b870","deactivatePoints()":"1ddf1e23","deactivatePoints(address)":"6453d9c4","decreasePower(address,uint256)":"2ed04b2b","disputeCount()":"a28889e1","disputeIdToProposalId(uint256)":"255ffb38","disputeProposal(uint256,string,bytes)":"b41596ec","distribute(address[],bytes,address)":"0a6f0ee9","getAllo()":"15cc481e","getArbitrableConfig()":"059351cd","getDecay()":"9a1c157c","getMaxAmount()":"0ba95909","getMaxConviction(uint256)":"950559d7","getMetadata(uint256)":"a574cea4","getPayouts(address[],bytes[])":"b2b878d0","getPointSystem()":"c3292171","getPoolAmount()":"4ab4ba42","getPoolId()":"38fff2d0","getProposal(uint256)":"c7f758a8","getProposalStakedAmount(uint256)":"dc96ff2d","getProposalVoterStake(uint256,address)":"e0dd2c38","getRecipientStatus(address)":"eb11af93","getRegistryCommunity()":"48f19c1d","getRegistryCommunityV0_1()":"6a6f69b4","getStrategyId()":"42fda9c7","getTotalVoterStakePct(address)":"bcc5b93b","increasePoolAmount(uint256)":"f5b0dfb7","increasePower(address,uint256)":"782aadff","init(address,address,address)":"184b9559","init(address,string,address)":"60d5dedc","initialize(address)":"c4d66de8","initialize(uint256,bytes)":"edd146cc","isPoolActive()":"df868ed3","isValidAllocator(address)":"4d31d087","owner()":"8da5cb5b","pointConfig()":"a47ff7e5","pointSystem()":"2dbd6fdd","proposalCounter()":"0c0512e9","proposalType()":"351d9f96","proposals(uint256)":"013cf08b","proxiableUUID()":"52d1902d","registerRecipient(bytes,address)":"2bbe0cae","registryCommunity()":"6003e414","removeFromAllowList(address[])":"a51312c8","renounceOwnership()":"715018a6","rule(uint256,uint256)":"311a6c56","setCollateralVaultTemplate(address)":"b0d3713a","setPoolActive(bool)":"b5f620ce","setPoolParams((address,address,uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256))":"062f9ece","setPoolParams((address,address,uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256),address[],address[])":"948e7a59","setSybilScorer(address)":"ac1ed7b9","supportsInterface(bytes4)":"01ffc9a7","sybilScorer()":"b6c61f31","totalEffectiveActivePoints()":"d1e36232","totalPointsActivated()":"aba9ffee","totalStaked()":"817b1cd2","totalVoterStakePct(address)":"5db64b99","transferOwnership(address)":"f2fde38b","updateProposalConviction(uint256)":"1aa91a9e","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286","voterStakedProposals(address,uint256)":"868c57b8"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AMOUNT_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AmountOverMaxRatio\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ArbitratorCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"CallerNotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CantIncreaseFixedSystem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ConvictionUnderMinimumThreshold\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DefaultRulingNotSet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_remainingSec\",\"type\":\"uint256\"}],\"name\":\"DisputeCooldownNotPassed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"sentAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requiredAmount\",\"type\":\"uint256\"}],\"name\":\"InsufficientCollateral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MaxPointsReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"pointsSupport\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pointsBalance\",\"type\":\"uint256\"}],\"name\":\"NotEnoughPointsToSupport\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotImplemented\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyArbitrator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCommunityAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncilSafe\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OnlySubmitter\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_poolAmount\",\"type\":\"uint256\"}],\"name\":\"PoolAmountNotEnough\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PoolIdCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PoolIsEmpty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposalDataIsEmpty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposalIdCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"enum ProposalStatus\",\"name\":\"_proposalStatus\",\"type\":\"uint8\"}],\"name\":\"ProposalInvalidForAllocation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotActive\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotDisputed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotInList\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"ProposalSupportDuplicated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RegistryCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_support\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"_delta\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"_result\",\"type\":\"int256\"}],\"name\":\"SupportUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenNotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserCannotExecuteAction\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserIsInactive\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Allocated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"members\",\"type\":\"address[]\"}],\"name\":\"AllowlistMembersAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"members\",\"type\":\"address[]\"}],\"name\":\"AllowlistMembersRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"currentArbitrableConfigVersion\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"name\":\"ArbitrableConfigUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"}],\"name\":\"CVParamsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IArbitrator\",\"name\":\"_arbitrator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_arbitrableDisputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_externalDisputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_templateId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_templateUri\",\"type\":\"string\"}],\"name\":\"DisputeRequest\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Distributed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipientAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Distributed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"struct CVStrategyInitializeParamsV0_0\",\"name\":\"data\",\"type\":\"tuple\"}],\"name\":\"InitializedCV\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"initialAllowlist\",\"type\":\"address[]\"}],\"indexed\":false,\"internalType\":\"struct CVStrategyInitializeParamsV0_1\",\"name\":\"data\",\"type\":\"tuple\"}],\"name\":\"InitializedCV2\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"before\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"name\":\"MinThresholdPointsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"PointsDeactivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"}],\"name\":\"PoolActive\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"PoolAmountIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokensUnStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pointsToDecrease\",\"type\":\"uint256\"}],\"name\":\"PowerDecreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokensStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pointsToIncrease\",\"type\":\"uint256\"}],\"name\":\"PowerIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"context\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"ProposalDisputed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Registered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"}],\"name\":\"RegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IArbitrator\",\"name\":\"_arbitrator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"Ruling\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalStakedAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"}],\"name\":\"SupportAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"}],\"name\":\"TribunaSafeRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"D\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DISPUTE_COOLDOWN_SEC\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_STAKED_PROPOSALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RULING_OPTIONS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"members\",\"type\":\"address[]\"}],\"name\":\"addToAllowList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"arbitrableConfigs\",\"outputs\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"}],\"name\":\"calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_requestedAmount\",\"type\":\"uint256\"}],\"name\":\"calculateThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"canExecuteProposal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canBeExecuted\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"cancelProposal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloneNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateralVault\",\"outputs\":[{\"internalType\":\"contract ICollateralVault\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentArbitrableConfigVersion\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cvParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToUnstake\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disputeCount\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"disputeIdToProposalId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"context\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"disputeProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_recipientIds\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllo\",\"outputs\":[{\"internalType\":\"contract IAllo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getArbitrableConfig\",\"outputs\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDecay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMaxAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"getMaxConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"name\":\"getPayouts\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"recipientAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct IStrategy.PayoutSummary[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPointSystem\",\"outputs\":[{\"internalType\":\"enum PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposal\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requestedToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"enum ProposalStatus\",\"name\":\"proposalStatus\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"blockLast\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"voterStakedPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"arbitrableConfigVersion\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"getProposalVoterStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipientId\",\"type\":\"address\"}],\"name\":\"getRecipientStatus\",\"outputs\":[{\"internalType\":\"enum IStrategy.Status\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistryCommunity\",\"outputs\":[{\"internalType\":\"contract RegistryCommunityV0_0\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistryCommunityV0_1\",\"outputs\":[{\"internalType\":\"contract RegistryCommunityV0_1\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStrategyId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"getTotalVoterStakePct\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"increasePoolAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToStake\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPoolActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allocator\",\"type\":\"address\"}],\"name\":\"isValidAllocator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pointConfig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pointSystem\",\"outputs\":[{\"internalType\":\"enum PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalType\",\"outputs\":[{\"internalType\":\"enum ProposalType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requestedToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockLast\",\"type\":\"uint256\"},{\"internalType\":\"enum ProposalStatus\",\"name\":\"proposalStatus\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"disputeTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"}],\"internalType\":\"struct ProposalDisputeInfo\",\"name\":\"disputeInfo\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"lastDisputeCompletion\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"arbitrableConfigVersion\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"registerRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryCommunity\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"members\",\"type\":\"address[]\"}],\"name\":\"removeFromAllowList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"rule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setCollateralVaultTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_active\",\"type\":\"bool\"}],\"name\":\"setPoolActive\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct ArbitrableConfig\",\"name\":\"_arbitrableConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct CVParams\",\"name\":\"_cvParams\",\"type\":\"tuple\"}],\"name\":\"setPoolParams\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct ArbitrableConfig\",\"name\":\"_arbitrableConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct CVParams\",\"name\":\"_cvParams\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"membersToAdd\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"membersToRemove\",\"type\":\"address[]\"}],\"name\":\"setPoolParams\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sybilScorer\",\"type\":\"address\"}],\"name\":\"setSybilScorer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sybilScorer\",\"outputs\":[{\"internalType\":\"contract ISybilScorer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalEffectiveActivePoints\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalPointsActivated\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalStaked\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"totalVoterStakePct\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"updateProposalConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"voterStakedProposals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"CVStrategyV0_0\",\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}]},\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"Allocated(address,uint256,address,address)\":{\"params\":{\"amount\":\"The amount allocated\",\"recipientId\":\"The ID of the recipient\",\"token\":\"The token allocated\"}},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"DisputeRequest(address,uint256,uint256,uint256,string)\":{\"details\":\"To be emitted when a dispute is created to link the correct meta-evidence to the disputeID.\",\"params\":{\"_arbitrableDisputeID\":\"The identifier of the dispute in the Arbitrable contract.\",\"_arbitrator\":\"The arbitrator of the contract.\",\"_externalDisputeID\":\"An identifier created outside Kleros by the protocol requesting arbitration.\",\"_templateId\":\"The identifier of the dispute template. Should not be used with _templateUri.\",\"_templateUri\":\"The URI to the dispute template. For example on IPFS: starting with '/ipfs/'. Should not be used with _templateId.\"}},\"Distributed(address,address,uint256,address)\":{\"params\":{\"amount\":\"The amount distributed\",\"recipientAddress\":\"The recipient\",\"recipientId\":\"The ID of the recipient\",\"sender\":\"The sender\"}},\"Initialized(uint256,bytes)\":{\"params\":{\"data\":\"The data passed to the 'initialize' function\",\"poolId\":\"The ID of the pool\"}},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"PoolActive(bool)\":{\"params\":{\"active\":\"The status of the pool\"}},\"Registered(address,bytes,address)\":{\"params\":{\"data\":\"The data passed to the 'registerRecipient' function\",\"recipientId\":\"The ID of the recipient\",\"sender\":\"The sender\"}},\"Ruling(address,uint256,uint256)\":{\"details\":\"To be raised when a ruling is given.\",\"params\":{\"_arbitrator\":\"The arbitrator giving the ruling.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"The ruling which was given.\"}},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"allocate(bytes,address)\":{\"details\":\"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to allocate to the recipient\",\"_sender\":\"The address of the sender\"}},\"calculateConviction(uint256,uint256,uint256)\":{\"details\":\"Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a) Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\",\"params\":{\"_lastConv\":\"Last conviction record\",\"_oldAmount\":\"Amount of tokens staked until now\",\"_timePassed\":\"Number of blocks since last conviction record\"},\"returns\":{\"_0\":\"Current conviction\"}},\"calculateThreshold(uint256)\":{\"details\":\"Formula: \\u03c1 * totalStaked / (1 - a) / (\\u03b2 - requestedAmount / total)**2 For the Solidity implementation we amplify \\u03c1 and \\u03b2 and simplify the formula: weight = \\u03c1 * D maxRatio = \\u03b2 * D decay = a * D threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\",\"params\":{\"_requestedAmount\":\"Requested amount of tokens on certain proposal\"},\"returns\":{\"_threshold\":\"Threshold a proposal's conviction should surpass in order to be able to executed it.\"}},\"distribute(address[],bytes,address)\":{\"details\":\"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to distribute to the recipients\",\"_recipientIds\":\"The IDs of the recipients\",\"_sender\":\"The address of the sender\"}},\"getAllo()\":{\"returns\":{\"_0\":\"The Allo contract\"}},\"getPayouts(address[],bytes[])\":{\"returns\":{\"_0\":\"Input the values you would send to distribute(), get the amounts each recipient in the array would receive\"}},\"getPoolAmount()\":{\"returns\":{\"_0\":\"The balance of the pool\"}},\"getPoolId()\":{\"returns\":{\"_0\":\"The ID of the pool\"}},\"getProposal(uint256)\":{\"details\":\"Get proposal details\",\"params\":{\"_proposalId\":\"Proposal id\"},\"returns\":{\"arbitrableConfigVersion\":\"Proposal arbitrable config id\",\"beneficiary\":\"Proposal beneficiary\",\"blockLast\":\"Last block when conviction was calculated\",\"convictionLast\":\"Last conviction calculated\",\"proposalStatus\":\"Proposal status\",\"requestedAmount\":\"Proposal requested amount\",\"requestedToken\":\"Proposal requested token\",\"stakedAmount\":\"Proposal staked points\",\"submitter\":\"Proposal submitter\",\"threshold\":\"Proposal threshold\",\"voterStakedPoints\":\"Voter staked points\"}},\"getProposalVoterStake(uint256,address)\":{\"params\":{\"_proposalId\":\"Proposal id\",\"_voter\":\"Voter address\"},\"returns\":{\"_0\":\"Proposal voter stake\"}},\"getRecipientStatus(address)\":{\"params\":{\"_recipientId\":\"The ID of the recipient\"},\"returns\":{\"_0\":\"The status of the recipient\"}},\"getStrategyId()\":{\"returns\":{\"_0\":\"The ID of the strategy\"}},\"increasePoolAmount(uint256)\":{\"details\":\"Increases the 'poolAmount' by '_amount'. Only 'Allo' contract can call this.\",\"params\":{\"_amount\":\"The amount to increase the pool by\"}},\"init(address,string,address)\":{\"params\":{\"_allo\":\"Address of the Allo contract.\",\"_name\":\"Name of the strategy\",\"owner\":\"Address of the owner of the strategy\"}},\"initialize(uint256,bytes)\":{\"params\":{\"_data\":\"The encoded data\",\"_poolId\":\"The ID of the pool\"}},\"isPoolActive()\":{\"returns\":{\"_0\":\"'true' if the pool is active, otherwise 'false'\"}},\"isValidAllocator(address)\":{\"details\":\"How the allocator is determined is up to the strategy implementation.\",\"params\":{\"_allocator\":\"The address to check if it is a valid allocator for the strategy.\"},\"returns\":{\"_0\":\"'true' if the address is a valid allocator, 'false' otherwise\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"registerRecipient(bytes,address)\":{\"details\":\"Registers a recipient and returns the ID of the recipient. The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to register the recipient\",\"_sender\":\"The address of the sender\"},\"returns\":{\"recipientId\":\"The recipientId\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"rule(uint256,uint256)\":{\"details\":\"Give a ruling for a dispute. Must be called by the arbitrator. The purpose of this function is to ensure that the address calling it has the right to rule on the contract.\",\"params\":{\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"Ruling given by the arbitrator. Note that 0 is reserved for \\\"Not able/wanting to make a decision\\\".\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"AMOUNT_MISMATCH()\":[{\"notice\":\"Thrown when the amount of tokens sent does not match the amount of tokens expected\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"events\":{\"Allocated(address,uint256,address,address)\":{\"notice\":\"Emitted when a recipient is allocated to.\"},\"Distributed(address,address,uint256,address)\":{\"notice\":\"Emitted when tokens are distributed.\"},\"Initialized(uint256,bytes)\":{\"notice\":\"Emitted when strategy is initialized.\"},\"PoolActive(bool)\":{\"notice\":\"Emitted when pool is set to active status.\"},\"Registered(address,bytes,address)\":{\"notice\":\"Emitted when a recipient is registered.\"}},\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"allocate(bytes,address)\":{\"notice\":\"Allocates to a recipient.\"},\"distribute(address[],bytes,address)\":{\"notice\":\"Distributes funds (tokens) to recipients.\"},\"getAllo()\":{\"notice\":\"Getter for the 'Allo' contract.\"},\"getPoolAmount()\":{\"notice\":\"Getter for the 'poolAmount'.\"},\"getPoolId()\":{\"notice\":\"Getter for the 'poolId'.\"},\"getProposalVoterStake(uint256,address)\":{\"notice\":\"Get stake of voter `_voter` on proposal #`_proposalId`\"},\"getRecipientStatus(address)\":{\"notice\":\"Getter for the status of a recipient.\"},\"getStrategyId()\":{\"notice\":\"Getter for the 'strategyId'.\"},\"increasePoolAmount(uint256)\":{\"notice\":\"Increases the pool amount.\"},\"init(address,string,address)\":{\"notice\":\"Constructor to set the Allo contract and \\\"strategyId'.`init` here its the initialize for upgradable contracts, different from `initialize()` that its used for Allo\"},\"initialize(uint256,bytes)\":{\"notice\":\"@dev The default BaseStrategy version will not use the data if a strategy wants to use it, they will overwrite it, use it, and then call super.initialize().\"},\"isPoolActive()\":{\"notice\":\"Getter for whether or not the pool is active.\"},\"isValidAllocator(address)\":{\"notice\":\"Checks if the '_allocator' is a valid allocator.\"},\"registerRecipient(bytes,address)\":{\"notice\":\"Registers a recipient.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol\":\"CVStrategyV0_1\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293\",\"dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0xc3aed28a3fec8dcc2e95c8569aa2c4323897a1685c63746822956fe995eddf28\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c4126fea7a0d30c76aab94605930ed01c7e53df2f4a7bba4773c097904d5eb39\",\"dweb:/ipfs/QmNsDu9G5JKCXdTs1HmEyVcR3S4DhuiZRt2bEPVNYGckgw\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol\":{\"keccak256\":\"0x7ac113b4d9b37166aa2453c1bdbb04db3aa4a2e8445b947b36034a59ea2d7290\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://74a5dfd911f0579d4c2cf49669e0b1e06c88f3764cca83cf95579c4db671de40\",\"dweb:/ipfs/QmQm2LGi4KLV7yPY3sMbD44n7crAuGQwp6fJ8a8C5WQBYa\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x6b05f27573e30362ec808b4d79f8156550a8dd5090b107b46928ab8d87be3c87\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://134753f1a9a463e4193ffa2b2f6e32813b7a3d7603ddacaedf0f65a6a72c864a\",\"dweb:/ipfs/QmZnQa6a3aFUvxdT1yaj72DBQUShfq5okHshhHwGv85Mdq\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol\":{\"keccak256\":\"0x30e941996ee5d85123b7287e4c56fb642644624fcd7bd54ec5cc6d9c35929659\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d05002caba8d60e778bd4e27da3f3e93e8ecc33814902e8bad2b3d1eb65027b0\",\"dweb:/ipfs/QmZYjLmM48816YfFPXNxf3XwjJ3DLQ58mSPP8hRDBAnNtQ\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"AMOUNT_MISMATCH"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[],"type":"error","name":"AmountOverMaxRatio"},{"inputs":[],"type":"error","name":"ArbitratorCannotBeZero"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"type":"error","name":"CallerNotOwner"},{"inputs":[],"type":"error","name":"CantIncreaseFixedSystem"},{"inputs":[],"type":"error","name":"ConvictionUnderMinimumThreshold"},{"inputs":[],"type":"error","name":"DefaultRulingNotSet"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"_remainingSec","type":"uint256"}],"type":"error","name":"DisputeCooldownNotPassed"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[{"internalType":"uint256","name":"sentAmount","type":"uint256"},{"internalType":"uint256","name":"requiredAmount","type":"uint256"}],"type":"error","name":"InsufficientCollateral"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"MaxPointsReached"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[{"internalType":"uint256","name":"pointsSupport","type":"uint256"},{"internalType":"uint256","name":"pointsBalance","type":"uint256"}],"type":"error","name":"NotEnoughPointsToSupport"},{"inputs":[],"type":"error","name":"NotImplemented"},{"inputs":[],"type":"error","name":"OnlyArbitrator"},{"inputs":[],"type":"error","name":"OnlyCommunityAllowed"},{"inputs":[],"type":"error","name":"OnlyCouncilSafe"},{"inputs":[{"internalType":"address","name":"submitter","type":"address"},{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"OnlySubmitter"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"_requestedAmount","type":"uint256"},{"internalType":"uint256","name":"_poolAmount","type":"uint256"}],"type":"error","name":"PoolAmountNotEnough"},{"inputs":[],"type":"error","name":"PoolIdCannotBeZero"},{"inputs":[],"type":"error","name":"PoolIsEmpty"},{"inputs":[],"type":"error","name":"ProposalDataIsEmpty"},{"inputs":[],"type":"error","name":"ProposalIdCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"enum ProposalStatus","name":"_proposalStatus","type":"uint8"}],"type":"error","name":"ProposalInvalidForAllocation"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotActive"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotDisputed"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotInList"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"ProposalSupportDuplicated"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"RegistryCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"_support","type":"uint256"},{"internalType":"int256","name":"_delta","type":"int256"},{"internalType":"int256","name":"_result","type":"int256"}],"type":"error","name":"SupportUnderflow"},{"inputs":[],"type":"error","name":"TokenCannotBeZero"},{"inputs":[],"type":"error","name":"TokenNotAllowed"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"UserCannotBeZero"},{"inputs":[],"type":"error","name":"UserCannotExecuteAction"},{"inputs":[],"type":"error","name":"UserIsInactive"},{"inputs":[],"type":"error","name":"UserNotInRegistry"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Allocated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"address[]","name":"members","type":"address[]","indexed":false}],"type":"event","name":"AllowlistMembersAdded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"address[]","name":"members","type":"address[]","indexed":false}],"type":"event","name":"AllowlistMembersRemoved","anonymous":false},{"inputs":[{"internalType":"uint256","name":"currentArbitrableConfigVersion","type":"uint256","indexed":false},{"internalType":"contract IArbitrator","name":"arbitrator","type":"address","indexed":false},{"internalType":"address","name":"tribunalSafe","type":"address","indexed":false},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"defaultRuling","type":"uint256","indexed":false},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256","indexed":false}],"type":"event","name":"ArbitrableConfigUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"struct CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}],"indexed":false}],"type":"event","name":"CVParamsUpdated","anonymous":false},{"inputs":[{"internalType":"contract IArbitrator","name":"_arbitrator","type":"address","indexed":true},{"internalType":"uint256","name":"_arbitrableDisputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_externalDisputeID","type":"uint256","indexed":false},{"internalType":"uint256","name":"_templateId","type":"uint256","indexed":false},{"internalType":"string","name":"_templateUri","type":"string","indexed":false}],"type":"event","name":"DisputeRequest","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"address","name":"beneficiary","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Distributed","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"address","name":"recipientAddress","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Distributed","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"struct CVStrategyInitializeParamsV0_0","name":"data","type":"tuple","components":[{"internalType":"struct CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}],"indexed":false}],"type":"event","name":"InitializedCV","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"struct CVStrategyInitializeParamsV0_1","name":"data","type":"tuple","components":[{"internalType":"struct CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"},{"internalType":"address[]","name":"initialAllowlist","type":"address[]"}],"indexed":false}],"type":"event","name":"InitializedCV2","anonymous":false},{"inputs":[{"internalType":"uint256","name":"before","type":"uint256","indexed":false},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256","indexed":false}],"type":"event","name":"MinThresholdPointsUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false}],"type":"event","name":"PointsDeactivated","anonymous":false},{"inputs":[{"internalType":"bool","name":"active","type":"bool","indexed":false}],"type":"event","name":"PoolActive","anonymous":false},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"PoolAmountIncreased","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false},{"internalType":"uint256","name":"tokensUnStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"pointsToDecrease","type":"uint256","indexed":false}],"type":"event","name":"PowerDecreased","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false},{"internalType":"uint256","name":"tokensStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"pointsToIncrease","type":"uint256","indexed":false}],"type":"event","name":"PowerIncreased","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false}],"type":"event","name":"ProposalCancelled","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false}],"type":"event","name":"ProposalCreated","anonymous":false},{"inputs":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"uint256","name":"disputeId","type":"uint256","indexed":false},{"internalType":"address","name":"challenger","type":"address","indexed":false},{"internalType":"string","name":"context","type":"string","indexed":false},{"internalType":"uint256","name":"timestamp","type":"uint256","indexed":false}],"type":"event","name":"ProposalDisputed","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"bytes","name":"data","type":"bytes","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Registered","anonymous":false},{"inputs":[{"internalType":"address","name":"registryCommunity","type":"address","indexed":false}],"type":"event","name":"RegistryUpdated","anonymous":false},{"inputs":[{"internalType":"contract IArbitrator","name":"_arbitrator","type":"address","indexed":true},{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_ruling","type":"uint256","indexed":false}],"type":"event","name":"Ruling","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"totalStakedAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"convictionLast","type":"uint256","indexed":false}],"type":"event","name":"SupportAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false},{"internalType":"address","name":"arbitrator","type":"address","indexed":false},{"internalType":"address","name":"tribunalSafe","type":"address","indexed":false}],"type":"event","name":"TribunaSafeRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"D","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DISPUTE_COOLDOWN_SEC","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_STAKED_PROPOSALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RULING_OPTIONS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"activatePoints"},{"inputs":[{"internalType":"address[]","name":"members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"addToAllowList"},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"arbitrableConfigs","outputs":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_requestedAmount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateThreshold","outputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"canExecuteProposal","outputs":[{"internalType":"bool","name":"canBeExecuted","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"cancelProposal"},{"inputs":[],"stateMutability":"view","type":"function","name":"cloneNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVault","outputs":[{"internalType":"contract ICollateralVault","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"currentArbitrableConfigVersion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"cvParams","outputs":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToUnstake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"disputeCount","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"disputeIdToProposalId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"string","name":"context","type":"string"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"disputeProposal","outputs":[{"internalType":"uint256","name":"disputeId","type":"uint256"}]},{"inputs":[{"internalType":"address[]","name":"_recipientIds","type":"address[]"},{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"distribute"},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllo","outputs":[{"internalType":"contract IAllo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getArbitrableConfig","outputs":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDecay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMaxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"getMaxConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getMetadata","outputs":[{"internalType":"struct Metadata","name":"","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}]},{"inputs":[{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"bytes[]","name":"","type":"bytes[]"}],"stateMutability":"pure","type":"function","name":"getPayouts","outputs":[{"internalType":"struct IStrategy.PayoutSummary[]","name":"","type":"tuple[]","components":[{"internalType":"address","name":"recipientAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPointSystem","outputs":[{"internalType":"enum PointSystem","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPoolAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPoolId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getProposal","outputs":[{"internalType":"address","name":"submitter","type":"address"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"address","name":"requestedToken","type":"address"},{"internalType":"uint256","name":"requestedAmount","type":"uint256"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"enum ProposalStatus","name":"proposalStatus","type":"uint8"},{"internalType":"uint256","name":"blockLast","type":"uint256"},{"internalType":"uint256","name":"convictionLast","type":"uint256"},{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"voterStakedPoints","type":"uint256"},{"internalType":"uint256","name":"arbitrableConfigVersion","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getProposalStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"address","name":"_voter","type":"address"}],"stateMutability":"view","type":"function","name":"getProposalVoterStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_recipientId","type":"address"}],"stateMutability":"view","type":"function","name":"getRecipientStatus","outputs":[{"internalType":"enum IStrategy.Status","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistryCommunity","outputs":[{"internalType":"contract RegistryCommunityV0_0","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistryCommunityV0_1","outputs":[{"internalType":"contract RegistryCommunityV0_1","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStrategyId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_voter","type":"address"}],"stateMutability":"view","type":"function","name":"getTotalVoterStakePct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePoolAmount"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToStake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isPoolActive","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_allocator","type":"address"}],"stateMutability":"view","type":"function","name":"isValidAllocator","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pointConfig","outputs":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pointSystem","outputs":[{"internalType":"enum PointSystem","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposalCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposalType","outputs":[{"internalType":"enum ProposalType","name":"","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"proposals","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"requestedAmount","type":"uint256"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"uint256","name":"convictionLast","type":"uint256"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"address","name":"submitter","type":"address"},{"internalType":"address","name":"requestedToken","type":"address"},{"internalType":"uint256","name":"blockLast","type":"uint256"},{"internalType":"enum ProposalStatus","name":"proposalStatus","type":"uint8"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"struct ProposalDisputeInfo","name":"disputeInfo","type":"tuple","components":[{"internalType":"uint256","name":"disputeId","type":"uint256"},{"internalType":"uint256","name":"disputeTimestamp","type":"uint256"},{"internalType":"address","name":"challenger","type":"address"}]},{"internalType":"uint256","name":"lastDisputeCompletion","type":"uint256"},{"internalType":"uint256","name":"arbitrableConfigVersion","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"payable","type":"function","name":"registerRecipient","outputs":[{"internalType":"address","name":"recipientId","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryCommunity","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address[]","name":"members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"removeFromAllowList"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256"},{"internalType":"uint256","name":"_ruling","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"rule"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCollateralVaultTemplate"},{"inputs":[{"internalType":"bool","name":"_active","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setPoolActive"},{"inputs":[{"internalType":"struct ArbitrableConfig","name":"_arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"struct CVParams","name":"_cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"setPoolParams"},{"inputs":[{"internalType":"struct ArbitrableConfig","name":"_arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"struct CVParams","name":"_cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"address[]","name":"membersToAdd","type":"address[]"},{"internalType":"address[]","name":"membersToRemove","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"setPoolParams"},{"inputs":[{"internalType":"address","name":"_sybilScorer","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSybilScorer"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"sybilScorer","outputs":[{"internalType":"contract ISybilScorer","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalEffectiveActivePoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalPointsActivated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"totalVoterStakePct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateProposalConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"voterStakedProposals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"allocate(bytes,address)":{"details":"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to allocate to the recipient","_sender":"The address of the sender"}},"calculateConviction(uint256,uint256,uint256)":{"details":"Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a) Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128","params":{"_lastConv":"Last conviction record","_oldAmount":"Amount of tokens staked until now","_timePassed":"Number of blocks since last conviction record"},"returns":{"_0":"Current conviction"}},"calculateThreshold(uint256)":{"details":"Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2 For the Solidity implementation we amplify ρ and β and simplify the formula: weight = ρ * D maxRatio = β * D decay = a * D threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2","params":{"_requestedAmount":"Requested amount of tokens on certain proposal"},"returns":{"_threshold":"Threshold a proposal's conviction should surpass in order to be able to executed it."}},"distribute(address[],bytes,address)":{"details":"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to distribute to the recipients","_recipientIds":"The IDs of the recipients","_sender":"The address of the sender"}},"getAllo()":{"returns":{"_0":"The Allo contract"}},"getPayouts(address[],bytes[])":{"returns":{"_0":"Input the values you would send to distribute(), get the amounts each recipient in the array would receive"}},"getPoolAmount()":{"returns":{"_0":"The balance of the pool"}},"getPoolId()":{"returns":{"_0":"The ID of the pool"}},"getProposal(uint256)":{"details":"Get proposal details","params":{"_proposalId":"Proposal id"},"returns":{"arbitrableConfigVersion":"Proposal arbitrable config id","beneficiary":"Proposal beneficiary","blockLast":"Last block when conviction was calculated","convictionLast":"Last conviction calculated","proposalStatus":"Proposal status","requestedAmount":"Proposal requested amount","requestedToken":"Proposal requested token","stakedAmount":"Proposal staked points","submitter":"Proposal submitter","threshold":"Proposal threshold","voterStakedPoints":"Voter staked points"}},"getProposalVoterStake(uint256,address)":{"params":{"_proposalId":"Proposal id","_voter":"Voter address"},"returns":{"_0":"Proposal voter stake"}},"getRecipientStatus(address)":{"params":{"_recipientId":"The ID of the recipient"},"returns":{"_0":"The status of the recipient"}},"getStrategyId()":{"returns":{"_0":"The ID of the strategy"}},"increasePoolAmount(uint256)":{"details":"Increases the 'poolAmount' by '_amount'. Only 'Allo' contract can call this.","params":{"_amount":"The amount to increase the pool by"}},"init(address,string,address)":{"params":{"_allo":"Address of the Allo contract.","_name":"Name of the strategy","owner":"Address of the owner of the strategy"}},"initialize(uint256,bytes)":{"params":{"_data":"The encoded data","_poolId":"The ID of the pool"}},"isPoolActive()":{"returns":{"_0":"'true' if the pool is active, otherwise 'false'"}},"isValidAllocator(address)":{"details":"How the allocator is determined is up to the strategy implementation.","params":{"_allocator":"The address to check if it is a valid allocator for the strategy."},"returns":{"_0":"'true' if the address is a valid allocator, 'false' otherwise"}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"registerRecipient(bytes,address)":{"details":"Registers a recipient and returns the ID of the recipient. The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to register the recipient","_sender":"The address of the sender"},"returns":{"recipientId":"The recipientId"}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"rule(uint256,uint256)":{"details":"Give a ruling for a dispute. Must be called by the arbitrator. The purpose of this function is to ensure that the address calling it has the right to rule on the contract.","params":{"_disputeID":"The identifier of the dispute in the Arbitrator contract.","_ruling":"Ruling given by the arbitrator. Note that 0 is reserved for \"Not able/wanting to make a decision\"."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"},"allocate(bytes,address)":{"notice":"Allocates to a recipient."},"distribute(address[],bytes,address)":{"notice":"Distributes funds (tokens) to recipients."},"getAllo()":{"notice":"Getter for the 'Allo' contract."},"getPoolAmount()":{"notice":"Getter for the 'poolAmount'."},"getPoolId()":{"notice":"Getter for the 'poolId'."},"getProposalVoterStake(uint256,address)":{"notice":"Get stake of voter `_voter` on proposal #`_proposalId`"},"getRecipientStatus(address)":{"notice":"Getter for the status of a recipient."},"getStrategyId()":{"notice":"Getter for the 'strategyId'."},"increasePoolAmount(uint256)":{"notice":"Increases the pool amount."},"init(address,string,address)":{"notice":"Constructor to set the Allo contract and \"strategyId'.`init` here its the initialize for upgradable contracts, different from `initialize()` that its used for Allo"},"initialize(uint256,bytes)":{"notice":"@dev The default BaseStrategy version will not use the data if a strategy wants to use it, they will overwrite it, use it, and then call super.initialize()."},"isPoolActive()":{"notice":"Getter for whether or not the pool is active."},"isValidAllocator(address)":{"notice":"Checks if the '_allocator' is a valid allocator."},"registerRecipient(bytes,address)":{"notice":"Registers a recipient."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol":"CVStrategyV0_1"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2","urls":["bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293","dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0xc3aed28a3fec8dcc2e95c8569aa2c4323897a1685c63746822956fe995eddf28","urls":["bzz-raw://c4126fea7a0d30c76aab94605930ed01c7e53df2f4a7bba4773c097904d5eb39","dweb:/ipfs/QmNsDu9G5JKCXdTs1HmEyVcR3S4DhuiZRt2bEPVNYGckgw"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol":{"keccak256":"0x7ac113b4d9b37166aa2453c1bdbb04db3aa4a2e8445b947b36034a59ea2d7290","urls":["bzz-raw://74a5dfd911f0579d4c2cf49669e0b1e06c88f3764cca83cf95579c4db671de40","dweb:/ipfs/QmQm2LGi4KLV7yPY3sMbD44n7crAuGQwp6fJ8a8C5WQBYa"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0x6b05f27573e30362ec808b4d79f8156550a8dd5090b107b46928ab8d87be3c87","urls":["bzz-raw://134753f1a9a463e4193ffa2b2f6e32813b7a3d7603ddacaedf0f65a6a72c864a","dweb:/ipfs/QmZnQa6a3aFUvxdT1yaj72DBQUShfq5okHshhHwGv85Mdq"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol":{"keccak256":"0x30e941996ee5d85123b7287e4c56fb642644624fcd7bd54ec5cc6d9c35929659","urls":["bzz-raw://d05002caba8d60e778bd4e27da3f3e93e8ecc33814902e8bad2b3d1eb65027b0","dweb:/ipfs/QmZYjLmM48816YfFPXNxf3XwjJ3DLQ58mSPP8hRDBAnNtQ"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":52990,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52993,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53695,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52782,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52902,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":64873,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"allo","offset":0,"slot":"101","type":"t_contract(IAllo)2610"},{"astId":64875,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"strategyId","offset":0,"slot":"102","type":"t_bytes32"},{"astId":64877,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"poolActive","offset":0,"slot":"103","type":"t_bool"},{"astId":64879,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"poolId","offset":0,"slot":"104","type":"t_uint256"},{"astId":64881,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"poolAmount","offset":0,"slot":"105","type":"t_uint256"},{"astId":65910,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"collateralVaultTemplate","offset":0,"slot":"106","type":"t_address"},{"astId":65912,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"surpressStateMutabilityWarning","offset":0,"slot":"107","type":"t_uint256"},{"astId":65914,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"cloneNonce","offset":0,"slot":"108","type":"t_uint256"},{"astId":65916,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"disputeCount","offset":0,"slot":"109","type":"t_uint64"},{"astId":65918,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"proposalCounter","offset":0,"slot":"110","type":"t_uint256"},{"astId":65920,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"currentArbitrableConfigVersion","offset":0,"slot":"111","type":"t_uint256"},{"astId":65922,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"totalStaked","offset":0,"slot":"112","type":"t_uint256"},{"astId":65924,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"totalPointsActivated","offset":0,"slot":"113","type":"t_uint256"},{"astId":65927,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"cvParams","offset":0,"slot":"114","type":"t_struct(CVParams)65637_storage"},{"astId":65930,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"proposalType","offset":0,"slot":"118","type":"t_enum(ProposalType)65540"},{"astId":65933,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"pointSystem","offset":1,"slot":"118","type":"t_enum(PointSystem)65545"},{"astId":65936,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"pointConfig","offset":0,"slot":"119","type":"t_struct(PointSystemConfig)65614_storage"},{"astId":65938,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"registryCommunity","offset":0,"slot":"120","type":"t_address"},{"astId":65941,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"collateralVault","offset":0,"slot":"121","type":"t_contract(ICollateralVault)76358"},{"astId":65944,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"sybilScorer","offset":0,"slot":"122","type":"t_contract(ISybilScorer)70122"},{"astId":65949,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"proposals","offset":0,"slot":"123","type":"t_mapping(t_uint256,t_struct(Proposal)65606_storage)"},{"astId":65953,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"totalVoterStakePct","offset":0,"slot":"124","type":"t_mapping(t_address,t_uint256)"},{"astId":65958,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"voterStakedProposals","offset":0,"slot":"125","type":"t_mapping(t_address,t_array(t_uint256)dyn_storage)"},{"astId":65962,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"disputeIdToProposalId","offset":0,"slot":"126","type":"t_mapping(t_uint256,t_uint256)"},{"astId":65967,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"arbitrableConfigs","offset":0,"slot":"127","type":"t_mapping(t_uint256,t_struct(ArbitrableConfig)65628_storage)"},{"astId":69193,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"__gap","offset":0,"slot":"128","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_array(t_uint256)dyn_storage":{"encoding":"dynamic_array","label":"uint256[]","numberOfBytes":"32","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(IAllo)2610":{"encoding":"inplace","label":"contract IAllo","numberOfBytes":"20"},"t_contract(IArbitrator)76325":{"encoding":"inplace","label":"contract IArbitrator","numberOfBytes":"20"},"t_contract(ICollateralVault)76358":{"encoding":"inplace","label":"contract ICollateralVault","numberOfBytes":"20"},"t_contract(ISybilScorer)70122":{"encoding":"inplace","label":"contract ISybilScorer","numberOfBytes":"20"},"t_enum(PointSystem)65545":{"encoding":"inplace","label":"enum PointSystem","numberOfBytes":"1"},"t_enum(ProposalStatus)65565":{"encoding":"inplace","label":"enum ProposalStatus","numberOfBytes":"1"},"t_enum(ProposalType)65540":{"encoding":"inplace","label":"enum ProposalType","numberOfBytes":"1"},"t_mapping(t_address,t_array(t_uint256)dyn_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256[])","numberOfBytes":"32","value":"t_array(t_uint256)dyn_storage"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_uint256,t_struct(ArbitrableConfig)65628_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct ArbitrableConfig)","numberOfBytes":"32","value":"t_struct(ArbitrableConfig)65628_storage"},"t_mapping(t_uint256,t_struct(Proposal)65606_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct Proposal)","numberOfBytes":"32","value":"t_struct(Proposal)65606_storage"},"t_mapping(t_uint256,t_uint256)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(ArbitrableConfig)65628_storage":{"encoding":"inplace","label":"struct ArbitrableConfig","numberOfBytes":"192","members":[{"astId":65617,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"arbitrator","offset":0,"slot":"0","type":"t_contract(IArbitrator)76325"},{"astId":65619,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"tribunalSafe","offset":0,"slot":"1","type":"t_address"},{"astId":65621,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"submitterCollateralAmount","offset":0,"slot":"2","type":"t_uint256"},{"astId":65623,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"challengerCollateralAmount","offset":0,"slot":"3","type":"t_uint256"},{"astId":65625,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"defaultRuling","offset":0,"slot":"4","type":"t_uint256"},{"astId":65627,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"defaultRulingTimeout","offset":0,"slot":"5","type":"t_uint256"}]},"t_struct(CVParams)65637_storage":{"encoding":"inplace","label":"struct CVParams","numberOfBytes":"128","members":[{"astId":65630,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"maxRatio","offset":0,"slot":"0","type":"t_uint256"},{"astId":65632,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"weight","offset":0,"slot":"1","type":"t_uint256"},{"astId":65634,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"decay","offset":0,"slot":"2","type":"t_uint256"},{"astId":65636,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"minThresholdPoints","offset":0,"slot":"3","type":"t_uint256"}]},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(PointSystemConfig)65614_storage":{"encoding":"inplace","label":"struct PointSystemConfig","numberOfBytes":"32","members":[{"astId":65613,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"maxAmount","offset":0,"slot":"0","type":"t_uint256"}]},"t_struct(Proposal)65606_storage":{"encoding":"inplace","label":"struct Proposal","numberOfBytes":"544","members":[{"astId":65574,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"proposalId","offset":0,"slot":"0","type":"t_uint256"},{"astId":65576,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"requestedAmount","offset":0,"slot":"1","type":"t_uint256"},{"astId":65578,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"stakedAmount","offset":0,"slot":"2","type":"t_uint256"},{"astId":65580,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"convictionLast","offset":0,"slot":"3","type":"t_uint256"},{"astId":65582,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"beneficiary","offset":0,"slot":"4","type":"t_address"},{"astId":65584,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"submitter","offset":0,"slot":"5","type":"t_address"},{"astId":65586,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"requestedToken","offset":0,"slot":"6","type":"t_address"},{"astId":65588,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"blockLast","offset":0,"slot":"7","type":"t_uint256"},{"astId":65591,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"proposalStatus","offset":0,"slot":"8","type":"t_enum(ProposalStatus)65565"},{"astId":65595,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"voterStakedPoints","offset":0,"slot":"9","type":"t_mapping(t_address,t_uint256)"},{"astId":65598,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"metadata","offset":0,"slot":"10","type":"t_struct(Metadata)3098_storage"},{"astId":65601,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"disputeInfo","offset":0,"slot":"12","type":"t_struct(ProposalDisputeInfo)65572_storage"},{"astId":65603,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"lastDisputeCompletion","offset":0,"slot":"15","type":"t_uint256"},{"astId":65605,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"arbitrableConfigVersion","offset":0,"slot":"16","type":"t_uint256"}]},"t_struct(ProposalDisputeInfo)65572_storage":{"encoding":"inplace","label":"struct ProposalDisputeInfo","numberOfBytes":"96","members":[{"astId":65567,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"disputeId","offset":0,"slot":"0","type":"t_uint256"},{"astId":65569,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"disputeTimestamp","offset":0,"slot":"1","type":"t_uint256"},{"astId":65571,"contract":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol:CVStrategyV0_1","label":"challenger","offset":0,"slot":"2","type":"t_address"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint64":{"encoding":"inplace","label":"uint64","numberOfBytes":"8"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol","id":69757,"exportedSymbols":{"ArbitrableConfig":[65628],"CVParams":[65637],"CVStrategyInitializeParamsV0_0":[65657],"CVStrategyInitializeParamsV0_1":[69242],"CVStrategyV0_0":[69194],"CVStrategyV0_1":[69756],"Clone":[3002],"CreateProposal":[65557],"IArbitrator":[76325],"ICollateralVault":[76358],"ISybilScorer":[70122],"PassportData":[70040],"PointSystem":[65545],"PointSystemConfig":[65614],"Proposal":[65606],"ProposalStatus":[65565],"ProposalSupport":[65611],"ProposalType":[65540],"RegistryCommunityV0_1":[72929]},"nodeType":"SourceUnit","src":"42:6410:99","nodes":[{"id":69196,"nodeType":"PragmaDirective","src":"42:24:99","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":69208,"nodeType":"ImportDirective","src":"68:263:99","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol","file":"./CVStrategyV0_0.sol","nameLocation":"-1:-1:-1","scope":69757,"sourceUnit":69195,"symbolAliases":[{"foreign":{"id":69197,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69194,"src":"81:14:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":69198,"name":"CVParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65637,"src":"101:8:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":69199,"name":"ProposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65540,"src":"115:12:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":69200,"name":"PointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65545,"src":"133:11:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":69201,"name":"PointSystemConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65614,"src":"150:17:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":69202,"name":"ArbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65628,"src":"173:16:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":69203,"name":"Proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65606,"src":"195:8:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":69204,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"209:14:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":69205,"name":"ProposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65611,"src":"229:15:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":69206,"name":"CreateProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65557,"src":"250:14:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":69207,"name":"CVStrategyInitializeParamsV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65657,"src":"270:30:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69211,"nodeType":"ImportDirective","src":"333:63:99","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"../ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":69757,"sourceUnit":70123,"symbolAliases":[{"foreign":{"id":69209,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70122,"src":"341:12:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":69210,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70040,"src":"355:12:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69213,"nodeType":"ImportDirective","src":"397:85:99","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol","file":"../RegistryCommunity/RegistryCommunityV0_1.sol","nameLocation":"-1:-1:-1","scope":69757,"sourceUnit":72930,"symbolAliases":[{"foreign":{"id":69212,"name":"RegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72929,"src":"405:21:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69215,"nodeType":"ImportDirective","src":"483:65:99","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":69757,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":69214,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"491:5:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69217,"nodeType":"ImportDirective","src":"549:68:99","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ICollateralVault.sol","file":"../interfaces/ICollateralVault.sol","nameLocation":"-1:-1:-1","scope":69757,"sourceUnit":76359,"symbolAliases":[{"foreign":{"id":69216,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76358,"src":"557:16:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69219,"nodeType":"ImportDirective","src":"618:58:99","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","file":"../interfaces/IArbitrator.sol","nameLocation":"-1:-1:-1","scope":69757,"sourceUnit":76326,"symbolAliases":[{"foreign":{"id":69218,"name":"IArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76325,"src":"626:11:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69242,"nodeType":"StructDefinition","src":"832:286:99","nodes":[],"canonicalName":"CVStrategyInitializeParamsV0_1","members":[{"constant":false,"id":69222,"mutability":"mutable","name":"cvParams","nameLocation":"885:8:99","nodeType":"VariableDeclaration","scope":69242,"src":"876:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage_ptr","typeString":"struct CVParams"},"typeName":{"id":69221,"nodeType":"UserDefinedTypeName","pathNode":{"id":69220,"name":"CVParams","nameLocations":["876:8:99"],"nodeType":"IdentifierPath","referencedDeclaration":65637,"src":"876:8:99"},"referencedDeclaration":65637,"src":"876:8:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage_ptr","typeString":"struct CVParams"}},"visibility":"internal"},{"constant":false,"id":69225,"mutability":"mutable","name":"proposalType","nameLocation":"912:12:99","nodeType":"VariableDeclaration","scope":69242,"src":"899:25:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"},"typeName":{"id":69224,"nodeType":"UserDefinedTypeName","pathNode":{"id":69223,"name":"ProposalType","nameLocations":["899:12:99"],"nodeType":"IdentifierPath","referencedDeclaration":65540,"src":"899:12:99"},"referencedDeclaration":65540,"src":"899:12:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"visibility":"internal"},{"constant":false,"id":69228,"mutability":"mutable","name":"pointSystem","nameLocation":"942:11:99","nodeType":"VariableDeclaration","scope":69242,"src":"930:23:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"},"typeName":{"id":69227,"nodeType":"UserDefinedTypeName","pathNode":{"id":69226,"name":"PointSystem","nameLocations":["930:11:99"],"nodeType":"IdentifierPath","referencedDeclaration":65545,"src":"930:11:99"},"referencedDeclaration":65545,"src":"930:11:99","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"visibility":"internal"},{"constant":false,"id":69231,"mutability":"mutable","name":"pointConfig","nameLocation":"977:11:99","nodeType":"VariableDeclaration","scope":69242,"src":"959:29:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_storage_ptr","typeString":"struct PointSystemConfig"},"typeName":{"id":69230,"nodeType":"UserDefinedTypeName","pathNode":{"id":69229,"name":"PointSystemConfig","nameLocations":["959:17:99"],"nodeType":"IdentifierPath","referencedDeclaration":65614,"src":"959:17:99"},"referencedDeclaration":65614,"src":"959:17:99","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_storage_ptr","typeString":"struct PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":69234,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"1011:16:99","nodeType":"VariableDeclaration","scope":69242,"src":"994:33:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage_ptr","typeString":"struct ArbitrableConfig"},"typeName":{"id":69233,"nodeType":"UserDefinedTypeName","pathNode":{"id":69232,"name":"ArbitrableConfig","nameLocations":["994:16:99"],"nodeType":"IdentifierPath","referencedDeclaration":65628,"src":"994:16:99"},"referencedDeclaration":65628,"src":"994:16:99","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage_ptr","typeString":"struct ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":69236,"mutability":"mutable","name":"registryCommunity","nameLocation":"1041:17:99","nodeType":"VariableDeclaration","scope":69242,"src":"1033:25:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69235,"name":"address","nodeType":"ElementaryTypeName","src":"1033:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":69238,"mutability":"mutable","name":"sybilScorer","nameLocation":"1072:11:99","nodeType":"VariableDeclaration","scope":69242,"src":"1064:19:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69237,"name":"address","nodeType":"ElementaryTypeName","src":"1064:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":69241,"mutability":"mutable","name":"initialAllowlist","nameLocation":"1099:16:99","nodeType":"VariableDeclaration","scope":69242,"src":"1089:26:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69239,"name":"address","nodeType":"ElementaryTypeName","src":"1089:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69240,"nodeType":"ArrayTypeName","src":"1089:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"name":"CVStrategyInitializeParamsV0_1","nameLocation":"839:30:99","scope":69757,"visibility":"public"},{"id":69756,"nodeType":"ContractDefinition","src":"1164:5287:99","nodes":[{"id":69252,"nodeType":"EventDefinition","src":"1377:65:99","nodes":[],"anonymous":false,"eventSelector":"d418c93b6b78d828a87ee1909e6fcdbbf2f8d8f540ad7b232bb3e221e6d7cc1e","name":"AllowlistMembersRemoved","nameLocation":"1383:23:99","parameters":{"id":69251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69247,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"1415:6:99","nodeType":"VariableDeclaration","scope":69252,"src":"1407:14:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69246,"name":"uint256","nodeType":"ElementaryTypeName","src":"1407:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69250,"indexed":false,"mutability":"mutable","name":"members","nameLocation":"1433:7:99","nodeType":"VariableDeclaration","scope":69252,"src":"1423:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69248,"name":"address","nodeType":"ElementaryTypeName","src":"1423:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69249,"nodeType":"ArrayTypeName","src":"1423:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1406:35:99"}},{"id":69259,"nodeType":"EventDefinition","src":"1447:63:99","nodes":[],"anonymous":false,"eventSelector":"7a2e396a5614184c0af2c60827c206595126faa1238b94e19823192de52e728a","name":"AllowlistMembersAdded","nameLocation":"1453:21:99","parameters":{"id":69258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69254,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"1483:6:99","nodeType":"VariableDeclaration","scope":69259,"src":"1475:14:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69253,"name":"uint256","nodeType":"ElementaryTypeName","src":"1475:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69257,"indexed":false,"mutability":"mutable","name":"members","nameLocation":"1501:7:99","nodeType":"VariableDeclaration","scope":69259,"src":"1491:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69255,"name":"address","nodeType":"ElementaryTypeName","src":"1491:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69256,"nodeType":"ArrayTypeName","src":"1491:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1474:35:99"}},{"id":69266,"nodeType":"EventDefinition","src":"1515:74:99","nodes":[],"anonymous":false,"eventSelector":"a489767af337c1767e9c6949fc5a6d3a73bb69ea80a3e619c2e08b7b308d0bcf","name":"InitializedCV2","nameLocation":"1521:14:99","parameters":{"id":69265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69261,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"1544:6:99","nodeType":"VariableDeclaration","scope":69266,"src":"1536:14:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69260,"name":"uint256","nodeType":"ElementaryTypeName","src":"1536:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69264,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"1583:4:99","nodeType":"VariableDeclaration","scope":69266,"src":"1552:35:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1"},"typeName":{"id":69263,"nodeType":"UserDefinedTypeName","pathNode":{"id":69262,"name":"CVStrategyInitializeParamsV0_1","nameLocations":["1552:30:99"],"nodeType":"IdentifierPath","referencedDeclaration":69242,"src":"1552:30:99"},"referencedDeclaration":69242,"src":"1552:30:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_storage_ptr","typeString":"struct CVStrategyInitializeParamsV0_1"}},"visibility":"internal"}],"src":"1535:53:99"}},{"id":69273,"nodeType":"ErrorDefinition","src":"1760:88:99","nodes":[],"errorSelector":"94d57ead","name":"ProposalInvalidForAllocation","nameLocation":"1766:28:99","parameters":{"id":69272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69268,"mutability":"mutable","name":"_proposalId","nameLocation":"1803:11:99","nodeType":"VariableDeclaration","scope":69273,"src":"1795:19:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69267,"name":"uint256","nodeType":"ElementaryTypeName","src":"1795:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69271,"mutability":"mutable","name":"_proposalStatus","nameLocation":"1831:15:99","nodeType":"VariableDeclaration","scope":69273,"src":"1816:30:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"},"typeName":{"id":69270,"nodeType":"UserDefinedTypeName","pathNode":{"id":69269,"name":"ProposalStatus","nameLocations":["1816:14:99"],"nodeType":"IdentifierPath","referencedDeclaration":65565,"src":"1816:14:99"},"referencedDeclaration":65565,"src":"1816:14:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"visibility":"internal"}],"src":"1794:53:99"}},{"id":69317,"nodeType":"FunctionDefinition","src":"2019:473:99","nodes":[],"body":{"id":69316,"nodeType":"Block","src":"2103:389:99","nodes":[],"statements":[{"assignments":[69280],"declarations":[{"constant":false,"id":69280,"mutability":"mutable","name":"p","nameLocation":"2130:1:99","nodeType":"VariableDeclaration","scope":69316,"src":"2113:18:99","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"},"typeName":{"id":69279,"nodeType":"UserDefinedTypeName","pathNode":{"id":69278,"name":"Proposal","nameLocations":["2113:8:99"],"nodeType":"IdentifierPath","referencedDeclaration":65606,"src":"2113:8:99"},"referencedDeclaration":65606,"src":"2113:8:99","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal"}},"visibility":"internal"}],"id":69284,"initialValue":{"baseExpression":{"id":69281,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65949,"src":"2134:9:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65606_storage_$","typeString":"mapping(uint256 => struct Proposal storage ref)"}},"id":69283,"indexExpression":{"id":69282,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69275,"src":"2144:11:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2134:22:99","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage","typeString":"struct Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"2113:43:99"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"},"id":69289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69285,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69280,"src":"2183:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":69286,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2185:14:99","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"2183:16:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":69287,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"2203:14:99","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65565_$","typeString":"type(enum ProposalStatus)"}},"id":69288,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2218:8:99","memberName":"Inactive","nodeType":"MemberAccess","referencedDeclaration":65558,"src":"2203:23:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"src":"2183:43:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"},"id":69294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69290,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69280,"src":"2230:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":69291,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2232:14:99","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"2230:16:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":69292,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"2250:14:99","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65565_$","typeString":"type(enum ProposalStatus)"}},"id":69293,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2265:9:99","memberName":"Cancelled","nodeType":"MemberAccess","referencedDeclaration":65561,"src":"2250:24:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"src":"2230:44:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2183:91:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"},"id":69300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69296,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69280,"src":"2294:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":69297,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2296:14:99","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"2294:16:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":69298,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"2314:14:99","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65565_$","typeString":"type(enum ProposalStatus)"}},"id":69299,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2329:8:99","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":65562,"src":"2314:23:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"src":"2294:43:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2183:154:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"},"id":69306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69302,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69280,"src":"2341:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":69303,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2343:14:99","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"2341:16:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":69304,"name":"ProposalStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65565,"src":"2361:14:99","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65565_$","typeString":"type(enum ProposalStatus)"}},"id":69305,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2376:8:99","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":65564,"src":"2361:23:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}},"src":"2341:43:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2183:201:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69315,"nodeType":"IfStatement","src":"2166:320:99","trueBody":{"id":69314,"nodeType":"Block","src":"2395:91:99","statements":[{"errorCall":{"arguments":[{"id":69309,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69275,"src":"2445:11:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69310,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69280,"src":"2458:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65606_storage_ptr","typeString":"struct Proposal storage pointer"}},"id":69311,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2460:14:99","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65591,"src":"2458:16:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalStatus_$65565","typeString":"enum ProposalStatus"}],"id":69308,"name":"ProposalInvalidForAllocation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69273,"src":"2416:28:99","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_enum$_ProposalStatus_$65565_$returns$__$","typeString":"function (uint256,enum ProposalStatus) pure"}},"id":69312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2416:59:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69313,"nodeType":"RevertStatement","src":"2409:66:99"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkProposalAllocationValidity","nameLocation":"2028:31:99","parameters":{"id":69276,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69275,"mutability":"mutable","name":"_proposalId","nameLocation":"2068:11:99","nodeType":"VariableDeclaration","scope":69317,"src":"2060:19:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69274,"name":"uint256","nodeType":"ElementaryTypeName","src":"2060:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2059:21:99"},"returnParameters":{"id":69277,"nodeType":"ParameterList","parameters":[],"src":"2103:0:99"},"scope":69756,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":69328,"nodeType":"FunctionDefinition","src":"2498:144:99","nodes":[],"body":{"id":69327,"nodeType":"Block","src":"2578:64:99","nodes":[],"statements":[{"expression":{"arguments":[{"id":69324,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65938,"src":"2617:17:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69323,"name":"RegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72929,"src":"2595:21:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_1_$72929_$","typeString":"type(contract RegistryCommunityV0_1)"}},"id":69325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2595:40:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}},"functionReturnParameters":69322,"id":69326,"nodeType":"Return","src":"2588:47:99"}]},"functionSelector":"6a6f69b4","implemented":true,"kind":"function","modifiers":[],"name":"getRegistryCommunityV0_1","nameLocation":"2507:24:99","parameters":{"id":69318,"nodeType":"ParameterList","parameters":[],"src":"2531:2:99"},"returnParameters":{"id":69322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69321,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69328,"src":"2555:21:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"},"typeName":{"id":69320,"nodeType":"UserDefinedTypeName","pathNode":{"id":69319,"name":"RegistryCommunityV0_1","nameLocations":["2555:21:99"],"nodeType":"IdentifierPath","referencedDeclaration":72929,"src":"2555:21:99"},"referencedDeclaration":72929,"src":"2555:21:99","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}},"visibility":"internal"}],"src":"2554:23:99"},"scope":69756,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":69430,"nodeType":"FunctionDefinition","src":"2648:879:99","nodes":[],"body":{"id":69429,"nodeType":"Block","src":"2732:795:99","nodes":[],"statements":[{"expression":{"arguments":[{"id":69339,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69330,"src":"2762:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69338,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65051,"src":"2742:19:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":69340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2742:28:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69341,"nodeType":"ExpressionStatement","src":"2742:28:99"},{"expression":{"id":69351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69342,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65941,"src":"2781:15:99","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":69346,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65910,"src":"2834:23:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":69348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2859:12:99","subExpression":{"id":69347,"name":"cloneNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65914,"src":"2859:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69344,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"2816:5:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":69345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2822:11:99","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"2816:17:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":69349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2816:56:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69343,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76358,"src":"2799:16:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ICollateralVault_$76358_$","typeString":"type(contract ICollateralVault)"}},"id":69350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2799:74:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"src":"2781:92:99","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"id":69352,"nodeType":"ExpressionStatement","src":"2781:92:99"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":69353,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65941,"src":"2883:15:99","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$76358","typeString":"contract ICollateralVault"}},"id":69355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2899:10:99","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":76330,"src":"2883:26:99","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":69356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2883:28:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69357,"nodeType":"ExpressionStatement","src":"2883:28:99"},{"assignments":[69360],"declarations":[{"constant":false,"id":69360,"mutability":"mutable","name":"ip","nameLocation":"2960:2:99","nodeType":"VariableDeclaration","scope":69429,"src":"2922:40:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1"},"typeName":{"id":69359,"nodeType":"UserDefinedTypeName","pathNode":{"id":69358,"name":"CVStrategyInitializeParamsV0_1","nameLocations":["2922:30:99"],"nodeType":"IdentifierPath","referencedDeclaration":69242,"src":"2922:30:99"},"referencedDeclaration":69242,"src":"2922:30:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_storage_ptr","typeString":"struct CVStrategyInitializeParamsV0_1"}},"visibility":"internal"}],"id":69367,"initialValue":{"arguments":[{"id":69363,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69332,"src":"2976:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":69364,"name":"CVStrategyInitializeParamsV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69242,"src":"2984:30:99","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CVStrategyInitializeParamsV0_1_$69242_storage_ptr_$","typeString":"type(struct CVStrategyInitializeParamsV0_1 storage pointer)"}}],"id":69365,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2983:32:99","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CVStrategyInitializeParamsV0_1_$69242_storage_ptr_$","typeString":"type(struct CVStrategyInitializeParamsV0_1 storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CVStrategyInitializeParamsV0_1_$69242_storage_ptr_$","typeString":"type(struct CVStrategyInitializeParamsV0_1 storage pointer)"}],"expression":{"id":69361,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2965:3:99","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":69362,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2969:6:99","memberName":"decode","nodeType":"MemberAccess","src":"2965:10:99","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":69366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2965:51:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}},"nodeType":"VariableDeclarationStatement","src":"2922:94:99"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69368,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69360,"src":"3031:2:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}},"id":69369,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3034:17:99","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":69236,"src":"3031:20:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":69372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3063:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":69371,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3055:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69370,"name":"address","nodeType":"ElementaryTypeName","src":"3055:7:99","typeDescriptions":{}}},"id":69373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3055:10:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3031:34:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69379,"nodeType":"IfStatement","src":"3027:94:99","trueBody":{"id":69378,"nodeType":"Block","src":"3067:54:99","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":69375,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65688,"src":"3088:20:99","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":69376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3088:22:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69377,"nodeType":"RevertStatement","src":"3081:29:99"}]}},{"expression":{"id":69383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69380,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65938,"src":"3175:17:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69381,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69360,"src":"3195:2:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}},"id":69382,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3198:17:99","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":69236,"src":"3195:20:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3175:40:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69384,"nodeType":"ExpressionStatement","src":"3175:40:99"},{"expression":{"id":69388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69385,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65930,"src":"3226:12:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69386,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69360,"src":"3241:2:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}},"id":69387,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3244:12:99","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":69225,"src":"3241:15:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"src":"3226:30:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},"id":69389,"nodeType":"ExpressionStatement","src":"3226:30:99"},{"expression":{"id":69393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69390,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65933,"src":"3266:11:99","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69391,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69360,"src":"3280:2:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}},"id":69392,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3283:11:99","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":69228,"src":"3280:14:99","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"src":"3266:28:99","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"id":69394,"nodeType":"ExpressionStatement","src":"3266:28:99"},{"expression":{"id":69398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69395,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65936,"src":"3304:11:99","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_storage","typeString":"struct PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69396,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69360,"src":"3318:2:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}},"id":69397,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3321:11:99","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":69231,"src":"3318:14:99","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_memory_ptr","typeString":"struct PointSystemConfig memory"}},"src":"3304:28:99","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_storage","typeString":"struct PointSystemConfig storage ref"}},"id":69399,"nodeType":"ExpressionStatement","src":"3304:28:99"},{"expression":{"id":69405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69400,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65944,"src":"3342:11:99","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":69402,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69360,"src":"3369:2:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}},"id":69403,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3372:11:99","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":69238,"src":"3369:14:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69401,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70122,"src":"3356:12:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$70122_$","typeString":"type(contract ISybilScorer)"}},"id":69404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3356:28:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}},"src":"3342:42:99","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}},"id":69406,"nodeType":"ExpressionStatement","src":"3342:42:99"},{"expression":{"arguments":[{"expression":{"id":69408,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69360,"src":"3409:2:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}},"id":69409,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3412:16:99","memberName":"arbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":69234,"src":"3409:19:99","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},{"expression":{"id":69410,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69360,"src":"3430:2:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}},"id":69411,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3433:8:99","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":69222,"src":"3430:11:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams memory"}},{"arguments":[{"hexValue":"30","id":69415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3457:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":69414,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3443:13:99","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":69412,"name":"address","nodeType":"ElementaryTypeName","src":"3447:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69413,"nodeType":"ArrayTypeName","src":"3447:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":69416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3443:16:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"arguments":[{"hexValue":"30","id":69420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3475:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":69419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3461:13:99","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":69417,"name":"address","nodeType":"ElementaryTypeName","src":"3465:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69418,"nodeType":"ArrayTypeName","src":"3465:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":69421,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3461:16:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":69407,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[69461,68596],"referencedDeclaration":69461,"src":"3394:14:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$65628_memory_ptr_$_t_struct$_CVParams_$65637_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (struct ArbitrableConfig memory,struct CVParams memory,address[] memory,address[] memory)"}},"id":69422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3394:84:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69423,"nodeType":"ExpressionStatement","src":"3394:84:99"},{"eventCall":{"arguments":[{"id":69425,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69330,"src":"3508:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69426,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69360,"src":"3517:2:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}],"id":69424,"name":"InitializedCV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69266,"src":"3493:14:99","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr_$returns$__$","typeString":"function (uint256,struct CVStrategyInitializeParamsV0_1 memory)"}},"id":69427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3493:27:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69428,"nodeType":"EmitStatement","src":"3488:32:99"}]},"baseFunctions":[66093],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[{"id":69336,"kind":"modifierInvocation","modifierName":{"id":69335,"name":"onlyAllo","nameLocations":["2723:8:99"],"nodeType":"IdentifierPath","referencedDeclaration":64923,"src":"2723:8:99"},"nodeType":"ModifierInvocation","src":"2723:8:99"}],"name":"initialize","nameLocation":"2657:10:99","overrides":{"id":69334,"nodeType":"OverrideSpecifier","overrides":[],"src":"2714:8:99"},"parameters":{"id":69333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69330,"mutability":"mutable","name":"_poolId","nameLocation":"2676:7:99","nodeType":"VariableDeclaration","scope":69430,"src":"2668:15:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69329,"name":"uint256","nodeType":"ElementaryTypeName","src":"2668:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69332,"mutability":"mutable","name":"_data","nameLocation":"2698:5:99","nodeType":"VariableDeclaration","scope":69430,"src":"2685:18:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":69331,"name":"bytes","nodeType":"ElementaryTypeName","src":"2685:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2667:37:99"},"returnParameters":{"id":69337,"nodeType":"ParameterList","parameters":[],"src":"2732:0:99"},"scope":69756,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":69461,"nodeType":"FunctionDefinition","src":"3533:367:99","nodes":[],"body":{"id":69460,"nodeType":"Block","src":"3747:153:99","nodes":[],"statements":[{"expression":{"arguments":[{"id":69448,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69433,"src":"3778:17:99","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},{"id":69449,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69436,"src":"3797:9:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams memory"}],"expression":{"id":69445,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"3757:5:99","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_1_$69756_$","typeString":"type(contract super CVStrategyV0_1)"}},"id":69447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3763:14:99","memberName":"_setPoolParams","nodeType":"MemberAccess","referencedDeclaration":68596,"src":"3757:20:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$65628_memory_ptr_$_t_struct$_CVParams_$65637_memory_ptr_$returns$__$","typeString":"function (struct ArbitrableConfig memory,struct CVParams memory)"}},"id":69450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3757:50:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69451,"nodeType":"ExpressionStatement","src":"3757:50:99"},{"expression":{"arguments":[{"id":69453,"name":"membersToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69439,"src":"3833:12:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":69452,"name":"_addToAllowList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69685,"src":"3817:15:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (address[] memory)"}},"id":69454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3817:29:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69455,"nodeType":"ExpressionStatement","src":"3817:29:99"},{"expression":{"arguments":[{"id":69457,"name":"membersToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69442,"src":"3877:15:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":69456,"name":"_removeFromAllowList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69755,"src":"3856:20:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (address[] memory)"}},"id":69458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3856:37:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69459,"nodeType":"ExpressionStatement","src":"3856:37:99"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_setPoolParams","nameLocation":"3542:14:99","parameters":{"id":69443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69433,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"3590:17:99","nodeType":"VariableDeclaration","scope":69461,"src":"3566:41:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig"},"typeName":{"id":69432,"nodeType":"UserDefinedTypeName","pathNode":{"id":69431,"name":"ArbitrableConfig","nameLocations":["3566:16:99"],"nodeType":"IdentifierPath","referencedDeclaration":65628,"src":"3566:16:99"},"referencedDeclaration":65628,"src":"3566:16:99","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage_ptr","typeString":"struct ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":69436,"mutability":"mutable","name":"_cvParams","nameLocation":"3633:9:99","nodeType":"VariableDeclaration","scope":69461,"src":"3617:25:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams"},"typeName":{"id":69435,"nodeType":"UserDefinedTypeName","pathNode":{"id":69434,"name":"CVParams","nameLocations":["3617:8:99"],"nodeType":"IdentifierPath","referencedDeclaration":65637,"src":"3617:8:99"},"referencedDeclaration":65637,"src":"3617:8:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage_ptr","typeString":"struct CVParams"}},"visibility":"internal"},{"constant":false,"id":69439,"mutability":"mutable","name":"membersToAdd","nameLocation":"3669:12:99","nodeType":"VariableDeclaration","scope":69461,"src":"3652:29:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69437,"name":"address","nodeType":"ElementaryTypeName","src":"3652:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69438,"nodeType":"ArrayTypeName","src":"3652:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":69442,"mutability":"mutable","name":"membersToRemove","nameLocation":"3708:15:99","nodeType":"VariableDeclaration","scope":69461,"src":"3691:32:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69440,"name":"address","nodeType":"ElementaryTypeName","src":"3691:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69441,"nodeType":"ArrayTypeName","src":"3691:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"3556:173:99"},"returnParameters":{"id":69444,"nodeType":"ParameterList","parameters":[],"src":"3747:0:99"},"scope":69756,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":69487,"nodeType":"FunctionDefinition","src":"3906:332:99","nodes":[],"body":{"id":69486,"nodeType":"Block","src":"4119:119:99","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69476,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66216,"src":"4129:15:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":69477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4129:17:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69478,"nodeType":"ExpressionStatement","src":"4129:17:99"},{"expression":{"arguments":[{"id":69480,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69464,"src":"4171:17:99","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}},{"id":69481,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69467,"src":"4190:9:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams memory"}},{"id":69482,"name":"membersToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69470,"src":"4201:12:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":69483,"name":"membersToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69473,"src":"4215:15:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":69479,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[69461,68596],"referencedDeclaration":69461,"src":"4156:14:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$65628_memory_ptr_$_t_struct$_CVParams_$65637_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (struct ArbitrableConfig memory,struct CVParams memory,address[] memory,address[] memory)"}},"id":69484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4156:75:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69485,"nodeType":"ExpressionStatement","src":"4156:75:99"}]},"functionSelector":"948e7a59","implemented":true,"kind":"function","modifiers":[],"name":"setPoolParams","nameLocation":"3915:13:99","parameters":{"id":69474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69464,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"3962:17:99","nodeType":"VariableDeclaration","scope":69487,"src":"3938:41:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig"},"typeName":{"id":69463,"nodeType":"UserDefinedTypeName","pathNode":{"id":69462,"name":"ArbitrableConfig","nameLocations":["3938:16:99"],"nodeType":"IdentifierPath","referencedDeclaration":65628,"src":"3938:16:99"},"referencedDeclaration":65628,"src":"3938:16:99","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_storage_ptr","typeString":"struct ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":69467,"mutability":"mutable","name":"_cvParams","nameLocation":"4005:9:99","nodeType":"VariableDeclaration","scope":69487,"src":"3989:25:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_memory_ptr","typeString":"struct CVParams"},"typeName":{"id":69466,"nodeType":"UserDefinedTypeName","pathNode":{"id":69465,"name":"CVParams","nameLocations":["3989:8:99"],"nodeType":"IdentifierPath","referencedDeclaration":65637,"src":"3989:8:99"},"referencedDeclaration":65637,"src":"3989:8:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65637_storage_ptr","typeString":"struct CVParams"}},"visibility":"internal"},{"constant":false,"id":69470,"mutability":"mutable","name":"membersToAdd","nameLocation":"4041:12:99","nodeType":"VariableDeclaration","scope":69487,"src":"4024:29:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69468,"name":"address","nodeType":"ElementaryTypeName","src":"4024:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69469,"nodeType":"ArrayTypeName","src":"4024:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":69473,"mutability":"mutable","name":"membersToRemove","nameLocation":"4080:15:99","nodeType":"VariableDeclaration","scope":69487,"src":"4063:32:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69471,"name":"address","nodeType":"ElementaryTypeName","src":"4063:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69472,"nodeType":"ArrayTypeName","src":"4063:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"3928:173:99"},"returnParameters":{"id":69475,"nodeType":"ParameterList","parameters":[],"src":"4119:0:99"},"scope":69756,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":69529,"nodeType":"FunctionDefinition","src":"4244:301:99","nodes":[],"body":{"id":69528,"nodeType":"Block","src":"4337:208:99","nodes":[],"statements":[{"assignments":[69499],"declarations":[{"constant":false,"id":69499,"mutability":"mutable","name":"pv","nameLocation":"4372:2:99","nodeType":"VariableDeclaration","scope":69528,"src":"4347:27:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport[]"},"typeName":{"baseType":{"id":69497,"nodeType":"UserDefinedTypeName","pathNode":{"id":69496,"name":"ProposalSupport","nameLocations":["4347:15:99"],"nodeType":"IdentifierPath","referencedDeclaration":65611,"src":"4347:15:99"},"referencedDeclaration":65611,"src":"4347:15:99","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65611_storage_ptr","typeString":"struct ProposalSupport"}},"id":69498,"nodeType":"ArrayTypeName","src":"4347:17:99","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_storage_$dyn_storage_ptr","typeString":"struct ProposalSupport[]"}},"visibility":"internal"}],"id":69507,"initialValue":{"arguments":[{"id":69502,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69489,"src":"4388:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"id":69503,"name":"ProposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65611,"src":"4396:15:99","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$65611_storage_ptr_$","typeString":"type(struct ProposalSupport storage pointer)"}},"id":69504,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"4396:17:99","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct ProposalSupport memory[] memory)"}}],"id":69505,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4395:19:99","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct ProposalSupport memory[] memory)"}],"expression":{"id":69500,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4377:3:99","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":69501,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4381:6:99","memberName":"decode","nodeType":"MemberAccess","src":"4377:10:99","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":69506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4377:38:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"4347:68:99"},{"body":{"id":69526,"nodeType":"Block","src":"4465:74:99","statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":69520,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69499,"src":"4511:2:99","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport memory[] memory"}},"id":69522,"indexExpression":{"id":69521,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69509,"src":"4514:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4511:5:99","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65611_memory_ptr","typeString":"struct ProposalSupport memory"}},"id":69523,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4517:10:99","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65608,"src":"4511:16:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69519,"name":"checkProposalAllocationValidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69317,"src":"4479:31:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":69524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4479:49:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69525,"nodeType":"ExpressionStatement","src":"4479:49:99"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69512,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69509,"src":"4445:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":69513,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69499,"src":"4449:2:99","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65611_memory_ptr_$dyn_memory_ptr","typeString":"struct ProposalSupport memory[] memory"}},"id":69514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4452:6:99","memberName":"length","nodeType":"MemberAccess","src":"4449:9:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4445:13:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69527,"initializationExpression":{"assignments":[69509],"declarations":[{"constant":false,"id":69509,"mutability":"mutable","name":"i","nameLocation":"4438:1:99","nodeType":"VariableDeclaration","scope":69527,"src":"4430:9:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69508,"name":"uint256","nodeType":"ElementaryTypeName","src":"4430:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69511,"initialValue":{"hexValue":"30","id":69510,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4442:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"4430:13:99"},"loopExpression":{"expression":{"id":69517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4460:3:99","subExpression":{"id":69516,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69509,"src":"4460:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69518,"nodeType":"ExpressionStatement","src":"4460:3:99"},"nodeType":"ForStatement","src":"4425:114:99"}]},"baseFunctions":[65437],"implemented":true,"kind":"function","modifiers":[],"name":"_beforeAllocate","nameLocation":"4253:15:99","overrides":{"id":69493,"nodeType":"OverrideSpecifier","overrides":[],"src":"4328:8:99"},"parameters":{"id":69492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69489,"mutability":"mutable","name":"_data","nameLocation":"4282:5:99","nodeType":"VariableDeclaration","scope":69529,"src":"4269:18:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":69488,"name":"bytes","nodeType":"ElementaryTypeName","src":"4269:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":69491,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69529,"src":"4290:7:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69490,"name":"address","nodeType":"ElementaryTypeName","src":"4290:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4268:42:99"},"returnParameters":{"id":69494,"nodeType":"ParameterList","parameters":[],"src":"4337:0:99"},"scope":69756,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":69589,"nodeType":"FunctionDefinition","src":"4551:526:99","nodes":[],"body":{"id":69588,"nodeType":"Block","src":"4631:446:99","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":69539,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65944,"src":"4653:11:99","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}],"id":69538,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4645:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69537,"name":"address","nodeType":"ElementaryTypeName","src":"4645:7:99","typeDescriptions":{}}},"id":69540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4645:20:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":69543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4677:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":69542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4669:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69541,"name":"address","nodeType":"ElementaryTypeName","src":"4669:7:99","typeDescriptions":{}}},"id":69544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4669:10:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4645:34:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69578,"nodeType":"IfStatement","src":"4641:363:99","trueBody":{"id":69577,"nodeType":"Block","src":"4681:323:99","statements":[{"assignments":[69547],"declarations":[{"constant":false,"id":69547,"mutability":"mutable","name":"allowlistRole","nameLocation":"4703:13:99","nodeType":"VariableDeclaration","scope":69577,"src":"4695:21:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69546,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4695:7:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":69555,"initialValue":{"arguments":[{"arguments":[{"hexValue":"414c4c4f574c495354","id":69551,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4746:11:99","typeDescriptions":{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},"value":"ALLOWLIST"},{"id":69552,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"4759:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69549,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4729:3:99","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":69550,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4733:12:99","memberName":"encodePacked","nodeType":"MemberAccess","src":"4729:16:99","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":69553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4729:37:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":69548,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4719:9:99","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":69554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4719:48:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"4695:72:99"},{"condition":{"arguments":[{"id":69559,"name":"allowlistRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69547,"src":"4820:13:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":69562,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4843:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":69561,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4835:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69560,"name":"address","nodeType":"ElementaryTypeName","src":"4835:7:99","typeDescriptions":{}}},"id":69563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4835:10:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69556,"name":"getRegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69328,"src":"4785:24:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_1_$72929_$","typeString":"function () view returns (contract RegistryCommunityV0_1)"}},"id":69557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4785:26:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}},"id":69558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4812:7:99","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":52456,"src":"4785:34:99","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":69564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4785:61:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":69575,"nodeType":"Block","src":"4898:96:99","statements":[{"expression":{"arguments":[{"id":69571,"name":"allowlistRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69547,"src":"4958:13:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":69572,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69531,"src":"4973:5:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69568,"name":"getRegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69328,"src":"4923:24:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_1_$72929_$","typeString":"function () view returns (contract RegistryCommunityV0_1)"}},"id":69569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4923:26:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}},"id":69570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4950:7:99","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":52456,"src":"4923:34:99","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":69573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4923:56:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":69536,"id":69574,"nodeType":"Return","src":"4916:63:99"}]},"id":69576,"nodeType":"IfStatement","src":"4781:213:99","trueBody":{"id":69567,"nodeType":"Block","src":"4848:44:99","statements":[{"expression":{"hexValue":"74727565","id":69565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4873:4:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":69536,"id":69566,"nodeType":"Return","src":"4866:11:99"}]}}]}},{"expression":{"arguments":[{"id":69581,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69531,"src":"5049:5:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":69584,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5064:4:99","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}],"id":69583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5056:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69582,"name":"address","nodeType":"ElementaryTypeName","src":"5056:7:99","typeDescriptions":{}}},"id":69585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5056:13:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":69579,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65944,"src":"5020:11:99","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70122","typeString":"contract ISybilScorer"}},"id":69580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5032:16:99","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":70079,"src":"5020:28:99","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":69586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5020:50:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":69536,"id":69587,"nodeType":"Return","src":"5013:57:99"}]},"baseFunctions":[66256],"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"4560:17:99","overrides":{"id":69533,"nodeType":"OverrideSpecifier","overrides":[],"src":"4607:8:99"},"parameters":{"id":69532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69531,"mutability":"mutable","name":"_user","nameLocation":"4586:5:99","nodeType":"VariableDeclaration","scope":69589,"src":"4578:13:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69530,"name":"address","nodeType":"ElementaryTypeName","src":"4578:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4577:15:99"},"returnParameters":{"id":69536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69535,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69589,"src":"4625:4:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69534,"name":"bool","nodeType":"ElementaryTypeName","src":"4625:4:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4624:6:99"},"scope":69756,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":69603,"nodeType":"FunctionDefinition","src":"5083:125:99","nodes":[],"body":{"id":69602,"nodeType":"Block","src":"5140:68:99","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69595,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66216,"src":"5150:15:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":69596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5150:17:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69597,"nodeType":"ExpressionStatement","src":"5150:17:99"},{"expression":{"arguments":[{"id":69599,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69592,"src":"5193:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":69598,"name":"_addToAllowList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69685,"src":"5177:15:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (address[] memory)"}},"id":69600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5177:24:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69601,"nodeType":"ExpressionStatement","src":"5177:24:99"}]},"functionSelector":"7263cfe2","implemented":true,"kind":"function","modifiers":[],"name":"addToAllowList","nameLocation":"5092:14:99","parameters":{"id":69593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69592,"mutability":"mutable","name":"members","nameLocation":"5124:7:99","nodeType":"VariableDeclaration","scope":69603,"src":"5107:24:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69590,"name":"address","nodeType":"ElementaryTypeName","src":"5107:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69591,"nodeType":"ArrayTypeName","src":"5107:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5106:26:99"},"returnParameters":{"id":69594,"nodeType":"ParameterList","parameters":[],"src":"5140:0:99"},"scope":69756,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":69685,"nodeType":"FunctionDefinition","src":"5214:646:99","nodes":[],"body":{"id":69684,"nodeType":"Block","src":"5274:586:99","nodes":[],"statements":[{"assignments":[69610],"declarations":[{"constant":false,"id":69610,"mutability":"mutable","name":"allowlistRole","nameLocation":"5292:13:99","nodeType":"VariableDeclaration","scope":69684,"src":"5284:21:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69609,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5284:7:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":69618,"initialValue":{"arguments":[{"arguments":[{"hexValue":"414c4c4f574c495354","id":69614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5335:11:99","typeDescriptions":{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},"value":"ALLOWLIST"},{"id":69615,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"5348:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69612,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5318:3:99","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":69613,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5322:12:99","memberName":"encodePacked","nodeType":"MemberAccess","src":"5318:16:99","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":69616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5318:37:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":69611,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5308:9:99","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":69617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5308:48:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"5284:72:99"},{"condition":{"arguments":[{"id":69622,"name":"allowlistRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69610,"src":"5406:13:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":69625,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5429:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":69624,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5421:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69623,"name":"address","nodeType":"ElementaryTypeName","src":"5421:7:99","typeDescriptions":{}}},"id":69626,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5421:10:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69619,"name":"getRegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69328,"src":"5371:24:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_1_$72929_$","typeString":"function () view returns (contract RegistryCommunityV0_1)"}},"id":69620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5371:26:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}},"id":69621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5398:7:99","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":52456,"src":"5371:34:99","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":69627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5371:61:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69639,"nodeType":"IfStatement","src":"5367:156:99","trueBody":{"id":69638,"nodeType":"Block","src":"5434:89:99","statements":[{"expression":{"arguments":[{"id":69631,"name":"allowlistRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69610,"src":"5486:13:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":69634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5509:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":69633,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5501:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69632,"name":"address","nodeType":"ElementaryTypeName","src":"5501:7:99","typeDescriptions":{}}},"id":69635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5501:10:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69628,"name":"getRegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69328,"src":"5448:24:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_1_$72929_$","typeString":"function () view returns (contract RegistryCommunityV0_1)"}},"id":69629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5448:26:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}},"id":69630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5475:10:99","memberName":"revokeRole","nodeType":"MemberAccess","referencedDeclaration":52563,"src":"5448:37:99","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address) external"}},"id":69636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5448:64:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69637,"nodeType":"ExpressionStatement","src":"5448:64:99"}]}},{"body":{"id":69677,"nodeType":"Block","src":"5577:223:99","statements":[{"condition":{"id":69659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5595:62:99","subExpression":{"arguments":[{"id":69654,"name":"allowlistRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69610,"src":"5631:13:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":69655,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69606,"src":"5646:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":69657,"indexExpression":{"id":69656,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69641,"src":"5654:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5646:10:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69651,"name":"getRegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69328,"src":"5596:24:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_1_$72929_$","typeString":"function () view returns (contract RegistryCommunityV0_1)"}},"id":69652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5596:26:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}},"id":69653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5623:7:99","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":52456,"src":"5596:34:99","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":69658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5596:61:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69676,"nodeType":"IfStatement","src":"5591:199:99","trueBody":{"id":69675,"nodeType":"Block","src":"5659:131:99","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"414c4c4f574c495354","id":69666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5741:11:99","typeDescriptions":{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},"value":"ALLOWLIST"},{"id":69667,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"5754:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69664,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5724:3:99","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":69665,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5728:12:99","memberName":"encodePacked","nodeType":"MemberAccess","src":"5724:16:99","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":69668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5724:37:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":69663,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5714:9:99","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":69669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5714:48:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":69670,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69606,"src":"5764:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":69672,"indexExpression":{"id":69671,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69641,"src":"5772:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5764:10:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69660,"name":"getRegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69328,"src":"5677:24:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_1_$72929_$","typeString":"function () view returns (contract RegistryCommunityV0_1)"}},"id":69661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5677:26:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}},"id":69662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5704:9:99","memberName":"grantRole","nodeType":"MemberAccess","referencedDeclaration":52543,"src":"5677:36:99","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address) external"}},"id":69673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5677:98:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69674,"nodeType":"ExpressionStatement","src":"5677:98:99"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69644,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69641,"src":"5552:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":69645,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69606,"src":"5556:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":69646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5564:6:99","memberName":"length","nodeType":"MemberAccess","src":"5556:14:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5552:18:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69678,"initializationExpression":{"assignments":[69641],"declarations":[{"constant":false,"id":69641,"mutability":"mutable","name":"i","nameLocation":"5545:1:99","nodeType":"VariableDeclaration","scope":69678,"src":"5537:9:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69640,"name":"uint256","nodeType":"ElementaryTypeName","src":"5537:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69643,"initialValue":{"hexValue":"30","id":69642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5549:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"5537:13:99"},"loopExpression":{"expression":{"id":69649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5572:3:99","subExpression":{"id":69648,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69641,"src":"5572:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69650,"nodeType":"ExpressionStatement","src":"5572:3:99"},"nodeType":"ForStatement","src":"5532:268:99"},{"eventCall":{"arguments":[{"id":69680,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"5837:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69681,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69606,"src":"5845:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":69679,"name":"AllowlistMembersAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69259,"src":"5815:21:99","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256,address[] memory)"}},"id":69682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5815:38:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69683,"nodeType":"EmitStatement","src":"5810:43:99"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addToAllowList","nameLocation":"5223:15:99","parameters":{"id":69607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69606,"mutability":"mutable","name":"members","nameLocation":"5256:7:99","nodeType":"VariableDeclaration","scope":69685,"src":"5239:24:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69604,"name":"address","nodeType":"ElementaryTypeName","src":"5239:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69605,"nodeType":"ArrayTypeName","src":"5239:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5238:26:99"},"returnParameters":{"id":69608,"nodeType":"ParameterList","parameters":[],"src":"5274:0:99"},"scope":69756,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":69699,"nodeType":"FunctionDefinition","src":"5866:137:99","nodes":[],"body":{"id":69698,"nodeType":"Block","src":"5930:73:99","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69691,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66216,"src":"5940:15:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":69692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5940:17:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69693,"nodeType":"ExpressionStatement","src":"5940:17:99"},{"expression":{"arguments":[{"id":69695,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69688,"src":"5988:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":69694,"name":"_removeFromAllowList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69755,"src":"5967:20:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (address[] memory)"}},"id":69696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5967:29:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69697,"nodeType":"ExpressionStatement","src":"5967:29:99"}]},"functionSelector":"a51312c8","implemented":true,"kind":"function","modifiers":[],"name":"removeFromAllowList","nameLocation":"5875:19:99","parameters":{"id":69689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69688,"mutability":"mutable","name":"members","nameLocation":"5912:7:99","nodeType":"VariableDeclaration","scope":69699,"src":"5895:24:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69686,"name":"address","nodeType":"ElementaryTypeName","src":"5895:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69687,"nodeType":"ArrayTypeName","src":"5895:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5894:26:99"},"returnParameters":{"id":69690,"nodeType":"ParameterList","parameters":[],"src":"5930:0:99"},"scope":69756,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":69755,"nodeType":"FunctionDefinition","src":"6009:440:99","nodes":[],"body":{"id":69754,"nodeType":"Block","src":"6074:375:99","nodes":[],"statements":[{"body":{"id":69747,"nodeType":"Block","src":"6129:258:99","statements":[{"condition":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"414c4c4f574c495354","id":69722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6209:11:99","typeDescriptions":{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},"value":"ALLOWLIST"},{"id":69723,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"6222:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69720,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6192:3:99","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":69721,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6196:12:99","memberName":"encodePacked","nodeType":"MemberAccess","src":"6192:16:99","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":69724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6192:37:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":69719,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6182:9:99","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":69725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6182:48:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":69726,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69702,"src":"6232:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":69728,"indexExpression":{"id":69727,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69706,"src":"6240:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6232:10:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69716,"name":"getRegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69328,"src":"6147:24:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_1_$72929_$","typeString":"function () view returns (contract RegistryCommunityV0_1)"}},"id":69717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6147:26:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}},"id":69718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6174:7:99","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":52456,"src":"6147:34:99","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":69729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6147:96:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69746,"nodeType":"IfStatement","src":"6143:234:99","trueBody":{"id":69745,"nodeType":"Block","src":"6245:132:99","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"414c4c4f574c495354","id":69736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6328:11:99","typeDescriptions":{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},"value":"ALLOWLIST"},{"id":69737,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"6341:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69734,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6311:3:99","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":69735,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6315:12:99","memberName":"encodePacked","nodeType":"MemberAccess","src":"6311:16:99","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":69738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6311:37:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":69733,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6301:9:99","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":69739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6301:48:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":69740,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69702,"src":"6351:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":69742,"indexExpression":{"id":69741,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69706,"src":"6359:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6351:10:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69730,"name":"getRegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69328,"src":"6263:24:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_1_$72929_$","typeString":"function () view returns (contract RegistryCommunityV0_1)"}},"id":69731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6263:26:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}},"id":69732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6290:10:99","memberName":"revokeRole","nodeType":"MemberAccess","referencedDeclaration":52563,"src":"6263:37:99","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address) external"}},"id":69743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6263:99:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69744,"nodeType":"ExpressionStatement","src":"6263:99:99"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69709,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69706,"src":"6104:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":69710,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69702,"src":"6108:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":69711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6116:6:99","memberName":"length","nodeType":"MemberAccess","src":"6108:14:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6104:18:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69748,"initializationExpression":{"assignments":[69706],"declarations":[{"constant":false,"id":69706,"mutability":"mutable","name":"i","nameLocation":"6097:1:99","nodeType":"VariableDeclaration","scope":69748,"src":"6089:9:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69705,"name":"uint256","nodeType":"ElementaryTypeName","src":"6089:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69708,"initialValue":{"hexValue":"30","id":69707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6101:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6089:13:99"},"loopExpression":{"expression":{"id":69714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6124:3:99","subExpression":{"id":69713,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69706,"src":"6124:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69715,"nodeType":"ExpressionStatement","src":"6124:3:99"},"nodeType":"ForStatement","src":"6084:303:99"},{"eventCall":{"arguments":[{"id":69750,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"6426:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69751,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69702,"src":"6434:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":69749,"name":"AllowlistMembersRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69252,"src":"6402:23:99","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256,address[] memory)"}},"id":69752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6402:40:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69753,"nodeType":"EmitStatement","src":"6397:45:99"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_removeFromAllowList","nameLocation":"6018:20:99","parameters":{"id":69703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69702,"mutability":"mutable","name":"members","nameLocation":"6056:7:99","nodeType":"VariableDeclaration","scope":69755,"src":"6039:24:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69700,"name":"address","nodeType":"ElementaryTypeName","src":"6039:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69701,"nodeType":"ArrayTypeName","src":"6039:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"6038:26:99"},"returnParameters":{"id":69704,"nodeType":"ParameterList","parameters":[],"src":"6074:0:99"},"scope":69756,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":69244,"name":"CVStrategyV0_0","nameLocations":["1191:14:99"],"nodeType":"IdentifierPath","referencedDeclaration":69194,"src":"1191:14:99"},"id":69245,"nodeType":"InheritanceSpecifier","src":"1191:14:99"}],"canonicalName":"CVStrategyV0_1","contractDependencies":[],"contractKind":"contract","documentation":{"id":69243,"nodeType":"StructuredDocumentation","src":"1120:44:99","text":"@custom:oz-upgrades-from CVStrategyV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[69756,69194,57725,57931,65536,76221,65471,3089,3317,3106,2969,70711,55672,55325,54974,54984,52903,53696,53152],"name":"CVStrategyV0_1","nameLocation":"1173:14:99","scope":69757,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,65668,65670,65672,65674,65676,65678,65680,65682,65684,65686,65688,65696,65698,65700,65706,65708,65710,65714,65718,65724,65726,65728,65736,65738,65740,65746,65748,65752,65754,65760,65762,65768,69273,70634]}],"license":"AGPL-3.0-only"},"id":99} \ No newline at end of file diff --git a/pkg/contracts/out/CVStrategyV0_1.sol/StrategyStruct2.json b/pkg/contracts/out/CVStrategyV0_1.sol/StrategyStruct2.json deleted file mode 100644 index 143fb9d1e..000000000 --- a/pkg/contracts/out/CVStrategyV0_1.sol/StrategyStruct2.json +++ /dev/null @@ -1 +0,0 @@ -{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200831062044584ed221701a1e6f15389cc9e693416cb4768ac7470e74bb15d7eb64736f6c63430008130033","sourceMap":"533:415:99:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;533:415:99;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200831062044584ed221701a1e6f15389cc9e693416cb4768ac7470e74bb15d7eb64736f6c63430008130033","sourceMap":"533:415:99:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol\":\"StrategyStruct2\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293\",\"dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x4301751ea11db320804edf82deeb83d694240d4ab92e96fd75272823a0e68cbe\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://17eb861b8e0b13b4fc31136dbb817f5bf9b0637dc1c0484b090e1e2121fc2595\",\"dweb:/ipfs/QmbYz9fngCp4FmvAJyP2NqSpxBJRJa573mTQ5R9nVsCJAg\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol\":{\"keccak256\":\"0x62c6f7fca9e1532f2cdff846efefc79a704fee448a309e6d8ecd385d839379c2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://50b2a568546d8d35ce4020154efc32fd99ecdf3ec0a7797cc78928dca0775fca\",\"dweb:/ipfs/QmR5wG5wRWVzLkho3pwDC3t8ABRpUMwBSq6hZukJNd3xPa\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xaea628cb12b8c0dd868c04c935f99ab50c88372f130ce2ced0c7b2b3ce780381\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://22eb93eaf9fc1a9f591ed87dc478e8aabafb46e22ef870bba1345a799c44ba3d\",\"dweb:/ipfs/QmSAXa8UmtGNXNtVbmqPMyEpA3RZYqWjZvPoVFHCvjHjwj\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol\":{\"keccak256\":\"0x7367a8a82bee7dcc2db5e1b00e1b7a685357b04af220879b4dd91f8731a8a1ff\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c5b065857872e4f4d1ecd79c9dece1ae55e75202fdea114ccc4b592aaf81cc07\",\"dweb:/ipfs/Qmdptrz3HCp64YAVArpRxGwoPMtrDpjnZ17VqQhhKzrnzX\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol":"StrategyStruct2"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2","urls":["bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293","dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x4301751ea11db320804edf82deeb83d694240d4ab92e96fd75272823a0e68cbe","urls":["bzz-raw://17eb861b8e0b13b4fc31136dbb817f5bf9b0637dc1c0484b090e1e2121fc2595","dweb:/ipfs/QmbYz9fngCp4FmvAJyP2NqSpxBJRJa573mTQ5R9nVsCJAg"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol":{"keccak256":"0x62c6f7fca9e1532f2cdff846efefc79a704fee448a309e6d8ecd385d839379c2","urls":["bzz-raw://50b2a568546d8d35ce4020154efc32fd99ecdf3ec0a7797cc78928dca0775fca","dweb:/ipfs/QmR5wG5wRWVzLkho3pwDC3t8ABRpUMwBSq6hZukJNd3xPa"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xaea628cb12b8c0dd868c04c935f99ab50c88372f130ce2ced0c7b2b3ce780381","urls":["bzz-raw://22eb93eaf9fc1a9f591ed87dc478e8aabafb46e22ef870bba1345a799c44ba3d","dweb:/ipfs/QmSAXa8UmtGNXNtVbmqPMyEpA3RZYqWjZvPoVFHCvjHjwj"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol":{"keccak256":"0x7367a8a82bee7dcc2db5e1b00e1b7a685357b04af220879b4dd91f8731a8a1ff","urls":["bzz-raw://c5b065857872e4f4d1ecd79c9dece1ae55e75202fdea114ccc4b592aaf81cc07","dweb:/ipfs/Qmdptrz3HCp64YAVArpRxGwoPMtrDpjnZ17VqQhhKzrnzX"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol","id":69800,"exportedSymbols":{"CVStrategyV0_0":[69234],"CVStrategyV0_1":[69799],"Clone":[3002],"IArbitrator":[74044],"ICollateralVault":[74077],"ISybilScorer":[70165],"PassportData":[70083],"RegistryCommunityV0_1":[72996],"StrategyStruct":[65656],"StrategyStruct2":[69274]},"nodeType":"SourceUnit","src":"42:6453:99","nodes":[{"id":69236,"nodeType":"PragmaDirective","src":"42:24:99","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":69239,"nodeType":"ImportDirective","src":"68:68:99","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol","file":"./CVStrategyV0_0.sol","nameLocation":"-1:-1:-1","scope":69800,"sourceUnit":69235,"symbolAliases":[{"foreign":{"id":69237,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69234,"src":"76:14:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":69238,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"92:14:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69242,"nodeType":"ImportDirective","src":"188:63:99","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"../ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":69800,"sourceUnit":70166,"symbolAliases":[{"foreign":{"id":69240,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70165,"src":"196:12:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":69241,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70083,"src":"210:12:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69244,"nodeType":"ImportDirective","src":"252:85:99","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol","file":"../RegistryCommunity/RegistryCommunityV0_1.sol","nameLocation":"-1:-1:-1","scope":69800,"sourceUnit":72997,"symbolAliases":[{"foreign":{"id":69243,"name":"RegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72996,"src":"260:21:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69246,"nodeType":"ImportDirective","src":"338:65:99","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":69800,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":69245,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"346:5:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69248,"nodeType":"ImportDirective","src":"404:68:99","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ICollateralVault.sol","file":"../interfaces/ICollateralVault.sol","nameLocation":"-1:-1:-1","scope":69800,"sourceUnit":74078,"symbolAliases":[{"foreign":{"id":69247,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74077,"src":"412:16:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69250,"nodeType":"ImportDirective","src":"473:58:99","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","file":"../interfaces/IArbitrator.sol","nameLocation":"-1:-1:-1","scope":69800,"sourceUnit":74045,"symbolAliases":[{"foreign":{"id":69249,"name":"IArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74044,"src":"481:11:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69274,"nodeType":"ContractDefinition","src":"533:415:99","nodes":[{"id":69273,"nodeType":"StructDefinition","src":"563:383:99","nodes":[],"canonicalName":"StrategyStruct2.InitializeParams","members":[{"constant":false,"id":69253,"mutability":"mutable","name":"cvParams","nameLocation":"621:8:99","nodeType":"VariableDeclaration","scope":69273,"src":"597:32:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":69252,"nodeType":"UserDefinedTypeName","pathNode":{"id":69251,"name":"StrategyStruct.CVParams","nameLocations":["597:14:99","612:8:99"],"nodeType":"IdentifierPath","referencedDeclaration":65635,"src":"597:23:99"},"referencedDeclaration":65635,"src":"597:23:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"},{"constant":false,"id":69256,"mutability":"mutable","name":"proposalType","nameLocation":"667:12:99","nodeType":"VariableDeclaration","scope":69273,"src":"639:40:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":69255,"nodeType":"UserDefinedTypeName","pathNode":{"id":69254,"name":"StrategyStruct.ProposalType","nameLocations":["639:14:99","654:12:99"],"nodeType":"IdentifierPath","referencedDeclaration":65538,"src":"639:27:99"},"referencedDeclaration":65538,"src":"639:27:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":69259,"mutability":"mutable","name":"pointSystem","nameLocation":"716:11:99","nodeType":"VariableDeclaration","scope":69273,"src":"689:38:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":69258,"nodeType":"UserDefinedTypeName","pathNode":{"id":69257,"name":"StrategyStruct.PointSystem","nameLocations":["689:14:99","704:11:99"],"nodeType":"IdentifierPath","referencedDeclaration":65543,"src":"689:26:99"},"referencedDeclaration":65543,"src":"689:26:99","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":69262,"mutability":"mutable","name":"pointConfig","nameLocation":"770:11:99","nodeType":"VariableDeclaration","scope":69273,"src":"737:44:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":69261,"nodeType":"UserDefinedTypeName","pathNode":{"id":69260,"name":"StrategyStruct.PointSystemConfig","nameLocations":["737:14:99","752:17:99"],"nodeType":"IdentifierPath","referencedDeclaration":65612,"src":"737:32:99"},"referencedDeclaration":65612,"src":"737:32:99","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":69265,"mutability":"mutable","name":"arbitrableConfig","nameLocation":"823:16:99","nodeType":"VariableDeclaration","scope":69273,"src":"791:48:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":69264,"nodeType":"UserDefinedTypeName","pathNode":{"id":69263,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["791:14:99","806:16:99"],"nodeType":"IdentifierPath","referencedDeclaration":65626,"src":"791:31:99"},"referencedDeclaration":65626,"src":"791:31:99","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":69267,"mutability":"mutable","name":"registryCommunity","nameLocation":"857:17:99","nodeType":"VariableDeclaration","scope":69273,"src":"849:25:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69266,"name":"address","nodeType":"ElementaryTypeName","src":"849:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":69269,"mutability":"mutable","name":"sybilScorer","nameLocation":"892:11:99","nodeType":"VariableDeclaration","scope":69273,"src":"884:19:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69268,"name":"address","nodeType":"ElementaryTypeName","src":"884:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":69272,"mutability":"mutable","name":"initialAllowlist","nameLocation":"923:16:99","nodeType":"VariableDeclaration","scope":69273,"src":"913:26:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69270,"name":"address","nodeType":"ElementaryTypeName","src":"913:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69271,"nodeType":"ArrayTypeName","src":"913:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"570:16:99","scope":69274,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"StrategyStruct2","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[69274],"name":"StrategyStruct2","nameLocation":"541:15:99","scope":69800,"usedErrors":[]},{"id":69799,"nodeType":"ContractDefinition","src":"994:5500:99","nodes":[{"id":69284,"nodeType":"EventDefinition","src":"1207:65:99","nodes":[],"anonymous":false,"eventSelector":"d418c93b6b78d828a87ee1909e6fcdbbf2f8d8f540ad7b232bb3e221e6d7cc1e","name":"AllowlistMembersRemoved","nameLocation":"1213:23:99","parameters":{"id":69283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69279,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"1245:6:99","nodeType":"VariableDeclaration","scope":69284,"src":"1237:14:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69278,"name":"uint256","nodeType":"ElementaryTypeName","src":"1237:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69282,"indexed":false,"mutability":"mutable","name":"members","nameLocation":"1263:7:99","nodeType":"VariableDeclaration","scope":69284,"src":"1253:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69280,"name":"address","nodeType":"ElementaryTypeName","src":"1253:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69281,"nodeType":"ArrayTypeName","src":"1253:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1236:35:99"}},{"id":69291,"nodeType":"EventDefinition","src":"1277:63:99","nodes":[],"anonymous":false,"eventSelector":"7a2e396a5614184c0af2c60827c206595126faa1238b94e19823192de52e728a","name":"AllowlistMembersAdded","nameLocation":"1283:21:99","parameters":{"id":69290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69286,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"1313:6:99","nodeType":"VariableDeclaration","scope":69291,"src":"1305:14:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69285,"name":"uint256","nodeType":"ElementaryTypeName","src":"1305:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69289,"indexed":false,"mutability":"mutable","name":"members","nameLocation":"1331:7:99","nodeType":"VariableDeclaration","scope":69291,"src":"1321:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69287,"name":"address","nodeType":"ElementaryTypeName","src":"1321:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69288,"nodeType":"ArrayTypeName","src":"1321:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1304:35:99"}},{"id":69298,"nodeType":"EventDefinition","src":"1345:76:99","nodes":[],"anonymous":false,"eventSelector":"a489767af337c1767e9c6949fc5a6d3a73bb69ea80a3e619c2e08b7b308d0bcf","name":"InitializedCV2","nameLocation":"1351:14:99","parameters":{"id":69297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69293,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"1374:6:99","nodeType":"VariableDeclaration","scope":69298,"src":"1366:14:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69292,"name":"uint256","nodeType":"ElementaryTypeName","src":"1366:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69296,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"1415:4:99","nodeType":"VariableDeclaration","scope":69298,"src":"1382:37:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams"},"typeName":{"id":69295,"nodeType":"UserDefinedTypeName","pathNode":{"id":69294,"name":"StrategyStruct2.InitializeParams","nameLocations":["1382:15:99","1398:16:99"],"nodeType":"IdentifierPath","referencedDeclaration":69273,"src":"1382:32:99"},"referencedDeclaration":69273,"src":"1382:32:99","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_storage_ptr","typeString":"struct StrategyStruct2.InitializeParams"}},"visibility":"internal"}],"src":"1365:55:99"}},{"id":69305,"nodeType":"ErrorDefinition","src":"1592:103:99","nodes":[],"errorSelector":"94d57ead","name":"ProposalInvalidForAllocation","nameLocation":"1598:28:99","parameters":{"id":69304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69300,"mutability":"mutable","name":"_proposalId","nameLocation":"1635:11:99","nodeType":"VariableDeclaration","scope":69305,"src":"1627:19:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69299,"name":"uint256","nodeType":"ElementaryTypeName","src":"1627:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69303,"mutability":"mutable","name":"_proposalStatus","nameLocation":"1678:15:99","nodeType":"VariableDeclaration","scope":69305,"src":"1648:45:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":69302,"nodeType":"UserDefinedTypeName","pathNode":{"id":69301,"name":"StrategyStruct.ProposalStatus","nameLocations":["1648:14:99","1663:14:99"],"nodeType":"IdentifierPath","referencedDeclaration":65563,"src":"1648:29:99"},"referencedDeclaration":65563,"src":"1648:29:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"}],"src":"1626:68:99"}},{"id":69355,"nodeType":"FunctionDefinition","src":"1866:580:99","nodes":[],"body":{"id":69354,"nodeType":"Block","src":"1950:496:99","nodes":[],"statements":[{"assignments":[69314],"declarations":[{"constant":false,"id":69314,"mutability":"mutable","name":"p","nameLocation":"1992:1:99","nodeType":"VariableDeclaration","scope":69354,"src":"1960:33:99","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":69313,"nodeType":"UserDefinedTypeName","pathNode":{"id":69312,"name":"StrategyStruct.Proposal","nameLocations":["1960:14:99","1975:8:99"],"nodeType":"IdentifierPath","referencedDeclaration":65604,"src":"1960:23:99"},"referencedDeclaration":65604,"src":"1960:23:99","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":69318,"initialValue":{"baseExpression":{"id":69315,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65948,"src":"1996:9:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$65604_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":69317,"indexExpression":{"id":69316,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69307,"src":"2006:11:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1996:22:99","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"1960:58:99"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":69331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"},"id":69324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69319,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69314,"src":"2045:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69320,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2047:14:99","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"2045:16:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":69321,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"2065:14:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":69322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2080:14:99","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"2065:29:99","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69323,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2095:8:99","memberName":"Inactive","nodeType":"MemberAccess","referencedDeclaration":65556,"src":"2065:38:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"2045:58:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"},"id":69330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69325,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69314,"src":"2123:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69326,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2125:14:99","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"2123:16:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":69327,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"2143:14:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":69328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2158:14:99","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"2143:29:99","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2173:9:99","memberName":"Cancelled","nodeType":"MemberAccess","referencedDeclaration":65559,"src":"2143:39:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"2123:59:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2045:137:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"},"id":69337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69332,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69314,"src":"2202:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69333,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2204:14:99","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"2202:16:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":69334,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"2222:14:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":69335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2237:14:99","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"2222:29:99","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69336,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2252:8:99","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":65560,"src":"2222:38:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"2202:58:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2045:215:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"},"id":69344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69339,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69314,"src":"2280:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69340,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2282:14:99","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"2280:16:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":69341,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"2300:14:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":69342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2315:14:99","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":65563,"src":"2300:29:99","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$65563_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":69343,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2330:8:99","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":65562,"src":"2300:38:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"2280:58:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2045:293:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69353,"nodeType":"IfStatement","src":"2028:412:99","trueBody":{"id":69352,"nodeType":"Block","src":"2349:91:99","statements":[{"errorCall":{"arguments":[{"id":69347,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69307,"src":"2399:11:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":69348,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69314,"src":"2412:1:99","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$65604_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":69349,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2414:14:99","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":65589,"src":"2412:16:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_ProposalStatus_$65563","typeString":"enum StrategyStruct.ProposalStatus"}],"id":69346,"name":"ProposalInvalidForAllocation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69305,"src":"2370:28:99","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_enum$_ProposalStatus_$65563_$returns$__$","typeString":"function (uint256,enum StrategyStruct.ProposalStatus) pure"}},"id":69350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2370:59:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69351,"nodeType":"RevertStatement","src":"2363:66:99"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkProposalAllocationValidity","nameLocation":"1875:31:99","parameters":{"id":69308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69307,"mutability":"mutable","name":"_proposalId","nameLocation":"1915:11:99","nodeType":"VariableDeclaration","scope":69355,"src":"1907:19:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69306,"name":"uint256","nodeType":"ElementaryTypeName","src":"1907:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1906:21:99"},"returnParameters":{"id":69309,"nodeType":"ParameterList","parameters":[],"src":"1950:0:99"},"scope":69799,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":69366,"nodeType":"FunctionDefinition","src":"2452:144:99","nodes":[],"body":{"id":69365,"nodeType":"Block","src":"2532:64:99","nodes":[],"statements":[{"expression":{"arguments":[{"id":69362,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65937,"src":"2571:17:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69361,"name":"RegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72996,"src":"2549:21:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_1_$72996_$","typeString":"type(contract RegistryCommunityV0_1)"}},"id":69363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2549:40:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"functionReturnParameters":69360,"id":69364,"nodeType":"Return","src":"2542:47:99"}]},"functionSelector":"6a6f69b4","implemented":true,"kind":"function","modifiers":[],"name":"getRegistryCommunityV0_1","nameLocation":"2461:24:99","parameters":{"id":69356,"nodeType":"ParameterList","parameters":[],"src":"2485:2:99"},"returnParameters":{"id":69360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69359,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69366,"src":"2509:21:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"},"typeName":{"id":69358,"nodeType":"UserDefinedTypeName","pathNode":{"id":69357,"name":"RegistryCommunityV0_1","nameLocations":["2509:21:99"],"nodeType":"IdentifierPath","referencedDeclaration":72996,"src":"2509:21:99"},"referencedDeclaration":72996,"src":"2509:21:99","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"visibility":"internal"}],"src":"2508:23:99"},"scope":69799,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":69471,"nodeType":"FunctionDefinition","src":"2602:883:99","nodes":[],"body":{"id":69470,"nodeType":"Block","src":"2686:799:99","nodes":[],"statements":[{"expression":{"arguments":[{"id":69377,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69368,"src":"2716:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69376,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65051,"src":"2696:19:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":69378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2696:28:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69379,"nodeType":"ExpressionStatement","src":"2696:28:99"},{"expression":{"id":69389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69380,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"2735:15:99","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":69384,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65909,"src":"2788:23:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":69386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2813:12:99","subExpression":{"id":69385,"name":"cloneNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65913,"src":"2813:10:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69382,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"2770:5:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":69383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2776:11:99","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"2770:17:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":69387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2770:56:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69381,"name":"ICollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74077,"src":"2753:16:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ICollateralVault_$74077_$","typeString":"type(contract ICollateralVault)"}},"id":69388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2753:74:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"src":"2735:92:99","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":69390,"nodeType":"ExpressionStatement","src":"2735:92:99"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":69391,"name":"collateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65940,"src":"2837:15:99","typeDescriptions":{"typeIdentifier":"t_contract$_ICollateralVault_$74077","typeString":"contract ICollateralVault"}},"id":69393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2853:10:99","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":74049,"src":"2837:26:99","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":69394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2837:28:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69395,"nodeType":"ExpressionStatement","src":"2837:28:99"},{"assignments":[69400],"declarations":[{"constant":false,"id":69400,"mutability":"mutable","name":"ip","nameLocation":"2916:2:99","nodeType":"VariableDeclaration","scope":69470,"src":"2876:42:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams"},"typeName":{"id":69399,"nodeType":"UserDefinedTypeName","pathNode":{"id":69398,"name":"StrategyStruct2.InitializeParams","nameLocations":["2876:15:99","2892:16:99"],"nodeType":"IdentifierPath","referencedDeclaration":69273,"src":"2876:32:99"},"referencedDeclaration":69273,"src":"2876:32:99","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_storage_ptr","typeString":"struct StrategyStruct2.InitializeParams"}},"visibility":"internal"}],"id":69408,"initialValue":{"arguments":[{"id":69403,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69370,"src":"2932:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":69404,"name":"StrategyStruct2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69274,"src":"2940:15:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct2_$69274_$","typeString":"type(library StrategyStruct2)"}},"id":69405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2956:16:99","memberName":"InitializeParams","nodeType":"MemberAccess","referencedDeclaration":69273,"src":"2940:32:99","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$69273_storage_ptr_$","typeString":"type(struct StrategyStruct2.InitializeParams storage pointer)"}}],"id":69406,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2939:34:99","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$69273_storage_ptr_$","typeString":"type(struct StrategyStruct2.InitializeParams storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$69273_storage_ptr_$","typeString":"type(struct StrategyStruct2.InitializeParams storage pointer)"}],"expression":{"id":69401,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2921:3:99","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":69402,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2925:6:99","memberName":"decode","nodeType":"MemberAccess","src":"2921:10:99","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":69407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2921:53:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"2876:98:99"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69409,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69400,"src":"2989:2:99","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":69410,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2992:17:99","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":69267,"src":"2989:20:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":69413,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3021:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":69412,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3013:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69411,"name":"address","nodeType":"ElementaryTypeName","src":"3013:7:99","typeDescriptions":{}}},"id":69414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3013:10:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2989:34:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69420,"nodeType":"IfStatement","src":"2985:94:99","trueBody":{"id":69419,"nodeType":"Block","src":"3025:54:99","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":69416,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65687,"src":"3046:20:99","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":69417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3046:22:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69418,"nodeType":"RevertStatement","src":"3039:29:99"}]}},{"expression":{"id":69424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69421,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65937,"src":"3133:17:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69422,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69400,"src":"3153:2:99","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":69423,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3156:17:99","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":69267,"src":"3153:20:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3133:40:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69425,"nodeType":"ExpressionStatement","src":"3133:40:99"},{"expression":{"id":69429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69426,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65929,"src":"3184:12:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69427,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69400,"src":"3199:2:99","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":69428,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3202:12:99","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":69256,"src":"3199:15:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"src":"3184:30:99","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},"id":69430,"nodeType":"ExpressionStatement","src":"3184:30:99"},{"expression":{"id":69434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69431,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65932,"src":"3224:11:99","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69432,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69400,"src":"3238:2:99","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":69433,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3241:11:99","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":69259,"src":"3238:14:99","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"src":"3224:28:99","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"id":69435,"nodeType":"ExpressionStatement","src":"3224:28:99"},{"expression":{"id":69439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69436,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65935,"src":"3262:11:99","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":69437,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69400,"src":"3276:2:99","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":69438,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3279:11:99","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":69262,"src":"3276:14:99","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"3262:28:99","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":69440,"nodeType":"ExpressionStatement","src":"3262:28:99"},{"expression":{"id":69446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69441,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65943,"src":"3300:11:99","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":69443,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69400,"src":"3327:2:99","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":69444,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3330:11:99","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":69269,"src":"3327:14:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69442,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70165,"src":"3314:12:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$70165_$","typeString":"type(contract ISybilScorer)"}},"id":69445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3314:28:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"src":"3300:42:99","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"id":69447,"nodeType":"ExpressionStatement","src":"3300:42:99"},{"expression":{"arguments":[{"expression":{"id":69449,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69400,"src":"3367:2:99","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":69450,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3370:16:99","memberName":"arbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":69265,"src":"3367:19:99","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"expression":{"id":69451,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69400,"src":"3388:2:99","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":69452,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3391:8:99","memberName":"cvParams","nodeType":"MemberAccess","referencedDeclaration":69253,"src":"3388:11:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},{"arguments":[{"hexValue":"30","id":69456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3415:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":69455,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3401:13:99","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":69453,"name":"address","nodeType":"ElementaryTypeName","src":"3405:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69454,"nodeType":"ArrayTypeName","src":"3405:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":69457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3401:16:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"arguments":[{"hexValue":"30","id":69461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3433:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":69460,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3419:13:99","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":69458,"name":"address","nodeType":"ElementaryTypeName","src":"3423:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69459,"nodeType":"ArrayTypeName","src":"3423:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":69462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3419:16:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":69448,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[69502,68617],"referencedDeclaration":69502,"src":"3352:14:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$65626_memory_ptr_$_t_struct$_CVParams_$65635_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory,address[] memory,address[] memory)"}},"id":69463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3352:84:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69464,"nodeType":"ExpressionStatement","src":"3352:84:99"},{"eventCall":{"arguments":[{"id":69466,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69368,"src":"3466:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69467,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69400,"src":"3475:2:99","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}],"id":69465,"name":"InitializedCV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69298,"src":"3451:14:99","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$69273_memory_ptr_$returns$__$","typeString":"function (uint256,struct StrategyStruct2.InitializeParams memory)"}},"id":69468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3451:27:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69469,"nodeType":"EmitStatement","src":"3446:32:99"}]},"baseFunctions":[66095],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[{"id":69374,"kind":"modifierInvocation","modifierName":{"id":69373,"name":"onlyAllo","nameLocations":["2677:8:99"],"nodeType":"IdentifierPath","referencedDeclaration":64923,"src":"2677:8:99"},"nodeType":"ModifierInvocation","src":"2677:8:99"}],"name":"initialize","nameLocation":"2611:10:99","overrides":{"id":69372,"nodeType":"OverrideSpecifier","overrides":[],"src":"2668:8:99"},"parameters":{"id":69371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69368,"mutability":"mutable","name":"_poolId","nameLocation":"2630:7:99","nodeType":"VariableDeclaration","scope":69471,"src":"2622:15:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69367,"name":"uint256","nodeType":"ElementaryTypeName","src":"2622:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":69370,"mutability":"mutable","name":"_data","nameLocation":"2652:5:99","nodeType":"VariableDeclaration","scope":69471,"src":"2639:18:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":69369,"name":"bytes","nodeType":"ElementaryTypeName","src":"2639:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2621:37:99"},"returnParameters":{"id":69375,"nodeType":"ParameterList","parameters":[],"src":"2686:0:99"},"scope":69799,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":69502,"nodeType":"FunctionDefinition","src":"3491:397:99","nodes":[],"body":{"id":69501,"nodeType":"Block","src":"3735:153:99","nodes":[],"statements":[{"expression":{"arguments":[{"id":69489,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69474,"src":"3766:17:99","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"id":69490,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69477,"src":"3785:9:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}],"expression":{"id":69486,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"3745:5:99","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_1_$69799_$","typeString":"type(contract super CVStrategyV0_1)"}},"id":69488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3751:14:99","memberName":"_setPoolParams","nodeType":"MemberAccess","referencedDeclaration":68617,"src":"3745:20:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$65626_memory_ptr_$_t_struct$_CVParams_$65635_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory)"}},"id":69491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3745:50:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69492,"nodeType":"ExpressionStatement","src":"3745:50:99"},{"expression":{"arguments":[{"id":69494,"name":"membersToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69480,"src":"3821:12:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":69493,"name":"_addToAllowList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69728,"src":"3805:15:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (address[] memory)"}},"id":69495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3805:29:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69496,"nodeType":"ExpressionStatement","src":"3805:29:99"},{"expression":{"arguments":[{"id":69498,"name":"membersToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69483,"src":"3865:15:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":69497,"name":"_removeFromAllowList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69798,"src":"3844:20:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (address[] memory)"}},"id":69499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3844:37:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69500,"nodeType":"ExpressionStatement","src":"3844:37:99"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_setPoolParams","nameLocation":"3500:14:99","parameters":{"id":69484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69474,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"3563:17:99","nodeType":"VariableDeclaration","scope":69502,"src":"3524:56:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":69473,"nodeType":"UserDefinedTypeName","pathNode":{"id":69472,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["3524:14:99","3539:16:99"],"nodeType":"IdentifierPath","referencedDeclaration":65626,"src":"3524:31:99"},"referencedDeclaration":65626,"src":"3524:31:99","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":69477,"mutability":"mutable","name":"_cvParams","nameLocation":"3621:9:99","nodeType":"VariableDeclaration","scope":69502,"src":"3590:40:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":69476,"nodeType":"UserDefinedTypeName","pathNode":{"id":69475,"name":"StrategyStruct.CVParams","nameLocations":["3590:14:99","3605:8:99"],"nodeType":"IdentifierPath","referencedDeclaration":65635,"src":"3590:23:99"},"referencedDeclaration":65635,"src":"3590:23:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"},{"constant":false,"id":69480,"mutability":"mutable","name":"membersToAdd","nameLocation":"3657:12:99","nodeType":"VariableDeclaration","scope":69502,"src":"3640:29:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69478,"name":"address","nodeType":"ElementaryTypeName","src":"3640:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69479,"nodeType":"ArrayTypeName","src":"3640:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":69483,"mutability":"mutable","name":"membersToRemove","nameLocation":"3696:15:99","nodeType":"VariableDeclaration","scope":69502,"src":"3679:32:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69481,"name":"address","nodeType":"ElementaryTypeName","src":"3679:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69482,"nodeType":"ArrayTypeName","src":"3679:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"3514:203:99"},"returnParameters":{"id":69485,"nodeType":"ParameterList","parameters":[],"src":"3735:0:99"},"scope":69799,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":69528,"nodeType":"FunctionDefinition","src":"3894:362:99","nodes":[],"body":{"id":69527,"nodeType":"Block","src":"4137:119:99","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69517,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66218,"src":"4147:15:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":69518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4147:17:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69519,"nodeType":"ExpressionStatement","src":"4147:17:99"},{"expression":{"arguments":[{"id":69521,"name":"_arbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69505,"src":"4189:17:99","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}},{"id":69522,"name":"_cvParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69508,"src":"4208:9:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"}},{"id":69523,"name":"membersToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69511,"src":"4219:12:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":69524,"name":"membersToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69514,"src":"4233:15:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"},{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":69520,"name":"_setPoolParams","nodeType":"Identifier","overloadedDeclarations":[69502,68617],"referencedDeclaration":69502,"src":"4174:14:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ArbitrableConfig_$65626_memory_ptr_$_t_struct$_CVParams_$65635_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (struct StrategyStruct.ArbitrableConfig memory,struct StrategyStruct.CVParams memory,address[] memory,address[] memory)"}},"id":69525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4174:75:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69526,"nodeType":"ExpressionStatement","src":"4174:75:99"}]},"functionSelector":"948e7a59","implemented":true,"kind":"function","modifiers":[],"name":"setPoolParams","nameLocation":"3903:13:99","parameters":{"id":69515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69505,"mutability":"mutable","name":"_arbitrableConfig","nameLocation":"3965:17:99","nodeType":"VariableDeclaration","scope":69528,"src":"3926:56:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"},"typeName":{"id":69504,"nodeType":"UserDefinedTypeName","pathNode":{"id":69503,"name":"StrategyStruct.ArbitrableConfig","nameLocations":["3926:14:99","3941:16:99"],"nodeType":"IdentifierPath","referencedDeclaration":65626,"src":"3926:31:99"},"referencedDeclaration":65626,"src":"3926:31:99","typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_storage_ptr","typeString":"struct StrategyStruct.ArbitrableConfig"}},"visibility":"internal"},{"constant":false,"id":69508,"mutability":"mutable","name":"_cvParams","nameLocation":"4023:9:99","nodeType":"VariableDeclaration","scope":69528,"src":"3992:40:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_memory_ptr","typeString":"struct StrategyStruct.CVParams"},"typeName":{"id":69507,"nodeType":"UserDefinedTypeName","pathNode":{"id":69506,"name":"StrategyStruct.CVParams","nameLocations":["3992:14:99","4007:8:99"],"nodeType":"IdentifierPath","referencedDeclaration":65635,"src":"3992:23:99"},"referencedDeclaration":65635,"src":"3992:23:99","typeDescriptions":{"typeIdentifier":"t_struct$_CVParams_$65635_storage_ptr","typeString":"struct StrategyStruct.CVParams"}},"visibility":"internal"},{"constant":false,"id":69511,"mutability":"mutable","name":"membersToAdd","nameLocation":"4059:12:99","nodeType":"VariableDeclaration","scope":69528,"src":"4042:29:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69509,"name":"address","nodeType":"ElementaryTypeName","src":"4042:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69510,"nodeType":"ArrayTypeName","src":"4042:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":69514,"mutability":"mutable","name":"membersToRemove","nameLocation":"4098:15:99","nodeType":"VariableDeclaration","scope":69528,"src":"4081:32:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69512,"name":"address","nodeType":"ElementaryTypeName","src":"4081:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69513,"nodeType":"ArrayTypeName","src":"4081:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"3916:203:99"},"returnParameters":{"id":69516,"nodeType":"ParameterList","parameters":[],"src":"4137:0:99"},"scope":69799,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":69572,"nodeType":"FunctionDefinition","src":"4262:326:99","nodes":[],"body":{"id":69571,"nodeType":"Block","src":"4350:238:99","nodes":[],"statements":[{"assignments":[69541],"declarations":[{"constant":false,"id":69541,"mutability":"mutable","name":"pv","nameLocation":"4400:2:99","nodeType":"VariableDeclaration","scope":69571,"src":"4360:42:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":69539,"nodeType":"UserDefinedTypeName","pathNode":{"id":69538,"name":"StrategyStruct.ProposalSupport","nameLocations":["4360:14:99","4375:15:99"],"nodeType":"IdentifierPath","referencedDeclaration":65609,"src":"4360:30:99"},"referencedDeclaration":65609,"src":"4360:30:99","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65609_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":69540,"nodeType":"ArrayTypeName","src":"4360:32:99","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"id":69550,"initialValue":{"arguments":[{"id":69544,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69530,"src":"4416:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"expression":{"id":69545,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"4424:14:99","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":69546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4439:15:99","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":65609,"src":"4424:30:99","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$65609_storage_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport storage pointer)"}},"id":69547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4424:32:99","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"id":69548,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4423:34:99","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}],"expression":{"id":69542,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4405:3:99","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":69543,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4409:6:99","memberName":"decode","nodeType":"MemberAccess","src":"4405:10:99","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":69549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4405:53:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"4360:98:99"},{"body":{"id":69569,"nodeType":"Block","src":"4508:74:99","statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":69563,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69541,"src":"4554:2:99","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":69565,"indexExpression":{"id":69564,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69552,"src":"4557:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4554:5:99","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$65609_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":69566,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4560:10:99","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":65606,"src":"4554:16:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69562,"name":"checkProposalAllocationValidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69355,"src":"4522:31:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":69567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4522:49:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69568,"nodeType":"ExpressionStatement","src":"4522:49:99"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69555,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69552,"src":"4488:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":69556,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69541,"src":"4492:2:99","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$65609_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":69557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4495:6:99","memberName":"length","nodeType":"MemberAccess","src":"4492:9:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4488:13:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69570,"initializationExpression":{"assignments":[69552],"declarations":[{"constant":false,"id":69552,"mutability":"mutable","name":"i","nameLocation":"4481:1:99","nodeType":"VariableDeclaration","scope":69570,"src":"4473:9:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69551,"name":"uint256","nodeType":"ElementaryTypeName","src":"4473:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69554,"initialValue":{"hexValue":"30","id":69553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4485:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"4473:13:99"},"loopExpression":{"expression":{"id":69560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4503:3:99","subExpression":{"id":69559,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69552,"src":"4503:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69561,"nodeType":"ExpressionStatement","src":"4503:3:99"},"nodeType":"ForStatement","src":"4468:114:99"}]},"baseFunctions":[65437],"implemented":true,"kind":"function","modifiers":[],"name":"_beforeAllocate","nameLocation":"4271:15:99","overrides":{"id":69534,"nodeType":"OverrideSpecifier","overrides":[],"src":"4341:8:99"},"parameters":{"id":69533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69530,"mutability":"mutable","name":"_data","nameLocation":"4300:5:99","nodeType":"VariableDeclaration","scope":69572,"src":"4287:18:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":69529,"name":"bytes","nodeType":"ElementaryTypeName","src":"4287:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":69532,"mutability":"mutable","name":"_sender","nameLocation":"4315:7:99","nodeType":"VariableDeclaration","scope":69572,"src":"4307:15:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69531,"name":"address","nodeType":"ElementaryTypeName","src":"4307:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4286:37:99"},"returnParameters":{"id":69535,"nodeType":"ParameterList","parameters":[],"src":"4350:0:99"},"scope":69799,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":69632,"nodeType":"FunctionDefinition","src":"4594:526:99","nodes":[],"body":{"id":69631,"nodeType":"Block","src":"4674:446:99","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":69588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":69582,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65943,"src":"4696:11:99","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}],"id":69581,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4688:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69580,"name":"address","nodeType":"ElementaryTypeName","src":"4688:7:99","typeDescriptions":{}}},"id":69583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4688:20:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":69586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4720:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":69585,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4712:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69584,"name":"address","nodeType":"ElementaryTypeName","src":"4712:7:99","typeDescriptions":{}}},"id":69587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4712:10:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4688:34:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69621,"nodeType":"IfStatement","src":"4684:363:99","trueBody":{"id":69620,"nodeType":"Block","src":"4724:323:99","statements":[{"assignments":[69590],"declarations":[{"constant":false,"id":69590,"mutability":"mutable","name":"allowlistRole","nameLocation":"4746:13:99","nodeType":"VariableDeclaration","scope":69620,"src":"4738:21:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69589,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4738:7:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":69598,"initialValue":{"arguments":[{"arguments":[{"hexValue":"414c4c4f574c495354","id":69594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4789:11:99","typeDescriptions":{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},"value":"ALLOWLIST"},{"id":69595,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"4802:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69592,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4772:3:99","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":69593,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4776:12:99","memberName":"encodePacked","nodeType":"MemberAccess","src":"4772:16:99","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":69596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4772:37:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":69591,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4762:9:99","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":69597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4762:48:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"4738:72:99"},{"condition":{"arguments":[{"id":69602,"name":"allowlistRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69590,"src":"4863:13:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":69605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4886:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":69604,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4878:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69603,"name":"address","nodeType":"ElementaryTypeName","src":"4878:7:99","typeDescriptions":{}}},"id":69606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4878:10:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69599,"name":"getRegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69366,"src":"4828:24:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_1_$72996_$","typeString":"function () view returns (contract RegistryCommunityV0_1)"}},"id":69600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4828:26:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"id":69601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4855:7:99","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":52456,"src":"4828:34:99","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":69607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4828:61:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":69618,"nodeType":"Block","src":"4941:96:99","statements":[{"expression":{"arguments":[{"id":69614,"name":"allowlistRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69590,"src":"5001:13:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":69615,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69574,"src":"5016:5:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69611,"name":"getRegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69366,"src":"4966:24:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_1_$72996_$","typeString":"function () view returns (contract RegistryCommunityV0_1)"}},"id":69612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4966:26:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"id":69613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4993:7:99","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":52456,"src":"4966:34:99","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":69616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4966:56:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":69579,"id":69617,"nodeType":"Return","src":"4959:63:99"}]},"id":69619,"nodeType":"IfStatement","src":"4824:213:99","trueBody":{"id":69610,"nodeType":"Block","src":"4891:44:99","statements":[{"expression":{"hexValue":"74727565","id":69608,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4916:4:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":69579,"id":69609,"nodeType":"Return","src":"4909:11:99"}]}}]}},{"expression":{"arguments":[{"id":69624,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69574,"src":"5092:5:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":69627,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5107:4:99","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}],"id":69626,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5099:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69625,"name":"address","nodeType":"ElementaryTypeName","src":"5099:7:99","typeDescriptions":{}}},"id":69628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5099:13:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":69622,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65943,"src":"5063:11:99","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$70165","typeString":"contract ISybilScorer"}},"id":69623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5075:16:99","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":70122,"src":"5063:28:99","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":69629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5063:50:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":69579,"id":69630,"nodeType":"Return","src":"5056:57:99"}]},"baseFunctions":[66248],"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"4603:17:99","overrides":{"id":69576,"nodeType":"OverrideSpecifier","overrides":[],"src":"4650:8:99"},"parameters":{"id":69575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69574,"mutability":"mutable","name":"_user","nameLocation":"4629:5:99","nodeType":"VariableDeclaration","scope":69632,"src":"4621:13:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69573,"name":"address","nodeType":"ElementaryTypeName","src":"4621:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4620:15:99"},"returnParameters":{"id":69579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69578,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69632,"src":"4668:4:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69577,"name":"bool","nodeType":"ElementaryTypeName","src":"4668:4:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4667:6:99"},"scope":69799,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":69646,"nodeType":"FunctionDefinition","src":"5126:125:99","nodes":[],"body":{"id":69645,"nodeType":"Block","src":"5183:68:99","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69638,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66218,"src":"5193:15:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":69639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5193:17:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69640,"nodeType":"ExpressionStatement","src":"5193:17:99"},{"expression":{"arguments":[{"id":69642,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69635,"src":"5236:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":69641,"name":"_addToAllowList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69728,"src":"5220:15:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (address[] memory)"}},"id":69643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5220:24:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69644,"nodeType":"ExpressionStatement","src":"5220:24:99"}]},"functionSelector":"7263cfe2","implemented":true,"kind":"function","modifiers":[],"name":"addToAllowList","nameLocation":"5135:14:99","parameters":{"id":69636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69635,"mutability":"mutable","name":"members","nameLocation":"5167:7:99","nodeType":"VariableDeclaration","scope":69646,"src":"5150:24:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69633,"name":"address","nodeType":"ElementaryTypeName","src":"5150:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69634,"nodeType":"ArrayTypeName","src":"5150:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5149:26:99"},"returnParameters":{"id":69637,"nodeType":"ParameterList","parameters":[],"src":"5183:0:99"},"scope":69799,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":69728,"nodeType":"FunctionDefinition","src":"5257:646:99","nodes":[],"body":{"id":69727,"nodeType":"Block","src":"5317:586:99","nodes":[],"statements":[{"assignments":[69653],"declarations":[{"constant":false,"id":69653,"mutability":"mutable","name":"allowlistRole","nameLocation":"5335:13:99","nodeType":"VariableDeclaration","scope":69727,"src":"5327:21:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69652,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5327:7:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":69661,"initialValue":{"arguments":[{"arguments":[{"hexValue":"414c4c4f574c495354","id":69657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5378:11:99","typeDescriptions":{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},"value":"ALLOWLIST"},{"id":69658,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"5391:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69655,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5361:3:99","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":69656,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5365:12:99","memberName":"encodePacked","nodeType":"MemberAccess","src":"5361:16:99","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":69659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5361:37:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":69654,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5351:9:99","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":69660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5351:48:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"5327:72:99"},{"condition":{"arguments":[{"id":69665,"name":"allowlistRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69653,"src":"5449:13:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":69668,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5472:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":69667,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5464:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69666,"name":"address","nodeType":"ElementaryTypeName","src":"5464:7:99","typeDescriptions":{}}},"id":69669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5464:10:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69662,"name":"getRegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69366,"src":"5414:24:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_1_$72996_$","typeString":"function () view returns (contract RegistryCommunityV0_1)"}},"id":69663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5414:26:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"id":69664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5441:7:99","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":52456,"src":"5414:34:99","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":69670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5414:61:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69682,"nodeType":"IfStatement","src":"5410:156:99","trueBody":{"id":69681,"nodeType":"Block","src":"5477:89:99","statements":[{"expression":{"arguments":[{"id":69674,"name":"allowlistRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69653,"src":"5529:13:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":69677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5552:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":69676,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5544:7:99","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69675,"name":"address","nodeType":"ElementaryTypeName","src":"5544:7:99","typeDescriptions":{}}},"id":69678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5544:10:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69671,"name":"getRegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69366,"src":"5491:24:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_1_$72996_$","typeString":"function () view returns (contract RegistryCommunityV0_1)"}},"id":69672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5491:26:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"id":69673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5518:10:99","memberName":"revokeRole","nodeType":"MemberAccess","referencedDeclaration":52563,"src":"5491:37:99","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address) external"}},"id":69679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5491:64:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69680,"nodeType":"ExpressionStatement","src":"5491:64:99"}]}},{"body":{"id":69720,"nodeType":"Block","src":"5620:223:99","statements":[{"condition":{"id":69702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5638:62:99","subExpression":{"arguments":[{"id":69697,"name":"allowlistRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69653,"src":"5674:13:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":69698,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69649,"src":"5689:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":69700,"indexExpression":{"id":69699,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69684,"src":"5697:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5689:10:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69694,"name":"getRegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69366,"src":"5639:24:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_1_$72996_$","typeString":"function () view returns (contract RegistryCommunityV0_1)"}},"id":69695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5639:26:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"id":69696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5666:7:99","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":52456,"src":"5639:34:99","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":69701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5639:61:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69719,"nodeType":"IfStatement","src":"5634:199:99","trueBody":{"id":69718,"nodeType":"Block","src":"5702:131:99","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"414c4c4f574c495354","id":69709,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5784:11:99","typeDescriptions":{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},"value":"ALLOWLIST"},{"id":69710,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"5797:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69707,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5767:3:99","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":69708,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5771:12:99","memberName":"encodePacked","nodeType":"MemberAccess","src":"5767:16:99","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":69711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5767:37:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":69706,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5757:9:99","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":69712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5757:48:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":69713,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69649,"src":"5807:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":69715,"indexExpression":{"id":69714,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69684,"src":"5815:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5807:10:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69703,"name":"getRegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69366,"src":"5720:24:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_1_$72996_$","typeString":"function () view returns (contract RegistryCommunityV0_1)"}},"id":69704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5720:26:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"id":69705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5747:9:99","memberName":"grantRole","nodeType":"MemberAccess","referencedDeclaration":52543,"src":"5720:36:99","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address) external"}},"id":69716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5720:98:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69717,"nodeType":"ExpressionStatement","src":"5720:98:99"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69687,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69684,"src":"5595:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":69688,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69649,"src":"5599:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":69689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5607:6:99","memberName":"length","nodeType":"MemberAccess","src":"5599:14:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5595:18:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69721,"initializationExpression":{"assignments":[69684],"declarations":[{"constant":false,"id":69684,"mutability":"mutable","name":"i","nameLocation":"5588:1:99","nodeType":"VariableDeclaration","scope":69721,"src":"5580:9:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69683,"name":"uint256","nodeType":"ElementaryTypeName","src":"5580:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69686,"initialValue":{"hexValue":"30","id":69685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5592:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"5580:13:99"},"loopExpression":{"expression":{"id":69692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5615:3:99","subExpression":{"id":69691,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69684,"src":"5615:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69693,"nodeType":"ExpressionStatement","src":"5615:3:99"},"nodeType":"ForStatement","src":"5575:268:99"},{"eventCall":{"arguments":[{"id":69723,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"5880:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69724,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69649,"src":"5888:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":69722,"name":"AllowlistMembersAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69291,"src":"5858:21:99","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256,address[] memory)"}},"id":69725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5858:38:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69726,"nodeType":"EmitStatement","src":"5853:43:99"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addToAllowList","nameLocation":"5266:15:99","parameters":{"id":69650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69649,"mutability":"mutable","name":"members","nameLocation":"5299:7:99","nodeType":"VariableDeclaration","scope":69728,"src":"5282:24:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69647,"name":"address","nodeType":"ElementaryTypeName","src":"5282:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69648,"nodeType":"ArrayTypeName","src":"5282:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5281:26:99"},"returnParameters":{"id":69651,"nodeType":"ParameterList","parameters":[],"src":"5317:0:99"},"scope":69799,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":69742,"nodeType":"FunctionDefinition","src":"5909:137:99","nodes":[],"body":{"id":69741,"nodeType":"Block","src":"5973:73:99","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69734,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66218,"src":"5983:15:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":69735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5983:17:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69736,"nodeType":"ExpressionStatement","src":"5983:17:99"},{"expression":{"arguments":[{"id":69738,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69731,"src":"6031:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":69737,"name":"_removeFromAllowList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69798,"src":"6010:20:99","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (address[] memory)"}},"id":69739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6010:29:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69740,"nodeType":"ExpressionStatement","src":"6010:29:99"}]},"functionSelector":"a51312c8","implemented":true,"kind":"function","modifiers":[],"name":"removeFromAllowList","nameLocation":"5918:19:99","parameters":{"id":69732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69731,"mutability":"mutable","name":"members","nameLocation":"5955:7:99","nodeType":"VariableDeclaration","scope":69742,"src":"5938:24:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69729,"name":"address","nodeType":"ElementaryTypeName","src":"5938:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69730,"nodeType":"ArrayTypeName","src":"5938:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5937:26:99"},"returnParameters":{"id":69733,"nodeType":"ParameterList","parameters":[],"src":"5973:0:99"},"scope":69799,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":69798,"nodeType":"FunctionDefinition","src":"6052:440:99","nodes":[],"body":{"id":69797,"nodeType":"Block","src":"6117:375:99","nodes":[],"statements":[{"body":{"id":69790,"nodeType":"Block","src":"6172:258:99","statements":[{"condition":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"414c4c4f574c495354","id":69765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6252:11:99","typeDescriptions":{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},"value":"ALLOWLIST"},{"id":69766,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"6265:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69763,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6235:3:99","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":69764,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6239:12:99","memberName":"encodePacked","nodeType":"MemberAccess","src":"6235:16:99","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":69767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6235:37:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":69762,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6225:9:99","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":69768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6225:48:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":69769,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69745,"src":"6275:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":69771,"indexExpression":{"id":69770,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69749,"src":"6283:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6275:10:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69759,"name":"getRegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69366,"src":"6190:24:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_1_$72996_$","typeString":"function () view returns (contract RegistryCommunityV0_1)"}},"id":69760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6190:26:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"id":69761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6217:7:99","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":52456,"src":"6190:34:99","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":69772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6190:96:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69789,"nodeType":"IfStatement","src":"6186:234:99","trueBody":{"id":69788,"nodeType":"Block","src":"6288:132:99","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"414c4c4f574c495354","id":69779,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6371:11:99","typeDescriptions":{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},"value":"ALLOWLIST"},{"id":69780,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"6384:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69777,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6354:3:99","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":69778,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6358:12:99","memberName":"encodePacked","nodeType":"MemberAccess","src":"6354:16:99","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":69781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6354:37:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":69776,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6344:9:99","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":69782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6344:48:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":69783,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69745,"src":"6394:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":69785,"indexExpression":{"id":69784,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69749,"src":"6402:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6394:10:99","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":69773,"name":"getRegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69366,"src":"6306:24:99","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryCommunityV0_1_$72996_$","typeString":"function () view returns (contract RegistryCommunityV0_1)"}},"id":69774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6306:26:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"id":69775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6333:10:99","memberName":"revokeRole","nodeType":"MemberAccess","referencedDeclaration":52563,"src":"6306:37:99","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address) external"}},"id":69786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6306:99:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69787,"nodeType":"ExpressionStatement","src":"6306:99:99"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":69752,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69749,"src":"6147:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":69753,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69745,"src":"6151:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":69754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6159:6:99","memberName":"length","nodeType":"MemberAccess","src":"6151:14:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6147:18:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":69791,"initializationExpression":{"assignments":[69749],"declarations":[{"constant":false,"id":69749,"mutability":"mutable","name":"i","nameLocation":"6140:1:99","nodeType":"VariableDeclaration","scope":69791,"src":"6132:9:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69748,"name":"uint256","nodeType":"ElementaryTypeName","src":"6132:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":69751,"initialValue":{"hexValue":"30","id":69750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6144:1:99","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6132:13:99"},"loopExpression":{"expression":{"id":69757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6167:3:99","subExpression":{"id":69756,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69749,"src":"6167:1:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69758,"nodeType":"ExpressionStatement","src":"6167:3:99"},"nodeType":"ForStatement","src":"6127:303:99"},{"eventCall":{"arguments":[{"id":69793,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64879,"src":"6469:6:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":69794,"name":"members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69745,"src":"6477:7:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":69792,"name":"AllowlistMembersRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69284,"src":"6445:23:99","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256,address[] memory)"}},"id":69795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6445:40:99","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69796,"nodeType":"EmitStatement","src":"6440:45:99"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_removeFromAllowList","nameLocation":"6061:20:99","parameters":{"id":69746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69745,"mutability":"mutable","name":"members","nameLocation":"6099:7:99","nodeType":"VariableDeclaration","scope":69798,"src":"6082:24:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":69743,"name":"address","nodeType":"ElementaryTypeName","src":"6082:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69744,"nodeType":"ArrayTypeName","src":"6082:9:99","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"6081:26:99"},"returnParameters":{"id":69747,"nodeType":"ParameterList","parameters":[],"src":"6117:0:99"},"scope":69799,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":69276,"name":"CVStrategyV0_0","nameLocations":["1021:14:99"],"nodeType":"IdentifierPath","referencedDeclaration":69234,"src":"1021:14:99"},"id":69277,"nodeType":"InheritanceSpecifier","src":"1021:14:99"}],"canonicalName":"CVStrategyV0_1","contractDependencies":[],"contractKind":"contract","documentation":{"id":69275,"nodeType":"StructuredDocumentation","src":"950:44:99","text":"@custom:oz-upgrades-from CVStrategyV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[69799,69234,57725,57931,65534,73940,65471,3089,3317,3106,2969,70754,55672,55325,54974,54984,52903,53696,53152],"name":"CVStrategyV0_1","nameLocation":"1003:14:99","scope":69800,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,65667,65669,65671,65673,65675,65677,65679,65681,65683,65685,65687,65695,65697,65699,65705,65707,65709,65713,65717,65723,65725,65727,65735,65737,65739,65745,65747,65751,65753,65759,65761,65767,69305,70677]}],"license":"AGPL-3.0-only"},"id":99} \ No newline at end of file diff --git a/pkg/contracts/out/ERC20.sol/ERC20.json b/pkg/contracts/out/ERC20.sol/ERC20.json index 392a6f11d..ac3a162af 100644 --- a/pkg/contracts/out/ERC20.sol/ERC20.json +++ b/pkg/contracts/out/ERC20.sol/ERC20.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"subtractedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"addedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b5060405162000b3638038062000b3683398101604081905262000034916200011f565b600362000042838262000218565b50600462000051828262000218565b505050620002e4565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008257600080fd5b81516001600160401b03808211156200009f576200009f6200005a565b604051601f8301601f19908116603f01168101908282118183101715620000ca57620000ca6200005a565b81604052838152602092508683858801011115620000e757600080fd5b600091505b838210156200010b5785820183015181830184015290820190620000ec565b600093810190920192909252949350505050565b600080604083850312156200013357600080fd5b82516001600160401b03808211156200014b57600080fd5b620001598683870162000070565b935060208501519150808211156200017057600080fd5b506200017f8582860162000070565b9150509250929050565b600181811c908216806200019e57607f821691505b602082108103620001bf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200021357600081815260208120601f850160051c81016020861015620001ee5750805b601f850160051c820191505b818110156200020f57828155600101620001fa565b5050505b505050565b81516001600160401b038111156200023457620002346200005a565b6200024c8162000245845462000189565b84620001c5565b602080601f8311600181146200028457600084156200026b5750858301515b600019600386901b1c1916600185901b1785556200020f565b600085815260208120601f198616915b82811015620002b55788860151825594840194600190910190840162000294565b5085821015620002d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61084280620002f46000396000f3fe608060405234801561001057600080fd5b50600436106100995760003560e01c806306fdde031461009e578063095ea7b3146100bc57806318160ddd146100df57806323b872dd146100f1578063313ce56714610104578063395093511461011357806370a082311461012657806395d89b411461014f578063a457c2d714610157578063a9059cbb1461016a578063dd62ed3e1461017d575b600080fd5b6100a6610190565b6040516100b3919061068c565b60405180910390f35b6100cf6100ca3660046106f6565b610222565b60405190151581526020016100b3565b6002545b6040519081526020016100b3565b6100cf6100ff366004610720565b61023c565b604051601281526020016100b3565b6100cf6101213660046106f6565b610260565b6100e361013436600461075c565b6001600160a01b031660009081526020819052604090205490565b6100a6610282565b6100cf6101653660046106f6565b610291565b6100cf6101783660046106f6565b610311565b6100e361018b36600461077e565b61031f565b60606003805461019f906107b1565b80601f01602080910402602001604051908101604052809291908181526020018280546101cb906107b1565b80156102185780601f106101ed57610100808354040283529160200191610218565b820191906000526020600020905b8154815290600101906020018083116101fb57829003601f168201915b5050505050905090565b60003361023081858561034a565b60019150505b92915050565b60003361024a85828561046e565b6102558585856104e8565b506001949350505050565b600033610230818585610273838361031f565b61027d91906107eb565b61034a565b60606004805461019f906107b1565b6000338161029f828661031f565b9050838110156103045760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610255828686840361034a565b6000336102308185856104e8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103ac5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016102fb565b6001600160a01b03821661040d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016102fb565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061047a848461031f565b905060001981146104e257818110156104d55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016102fb565b6104e2848484840361034a565b50505050565b6001600160a01b03831661054c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016102fb565b6001600160a01b0382166105ae5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016102fb565b6001600160a01b038316600090815260208190526040902054818110156106265760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016102fb565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104e2565b600060208083528351808285015260005b818110156106b95785810183015185820160400152820161069d565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146106f157600080fd5b919050565b6000806040838503121561070957600080fd5b610712836106da565b946020939093013593505050565b60008060006060848603121561073557600080fd5b61073e846106da565b925061074c602085016106da565b9150604084013590509250925092565b60006020828403121561076e57600080fd5b610777826106da565b9392505050565b6000806040838503121561079157600080fd5b61079a836106da565b91506107a8602084016106da565b90509250929050565b600181811c908216806107c557607f821691505b6020821081036107e557634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561023657634e487b7160e01b600052601160045260246000fdfea26469706673582212208febc7e366ea97354e1d040306efb44170b6fd43affd2d1169045dc0ffb8599264736f6c63430008130033","sourceMap":"1532:11312:69:-:0;;;1980:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2046:5;:13;2054:5;2046;:13;:::i;:::-;-1:-1:-1;2069:7:69;:17;2079:7;2069;:17;:::i;:::-;;1980:113;;1532:11312;;14:127:126;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:840;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:126;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:126;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;954:1;932:15;;;928:24;;;921:35;;;;936:6;146:840;-1:-1:-1;;;;146:840:126:o;991:562::-;1090:6;1098;1151:2;1139:9;1130:7;1126:23;1122:32;1119:52;;;1167:1;1164;1157:12;1119:52;1194:16;;-1:-1:-1;;;;;1259:14:126;;;1256:34;;;1286:1;1283;1276:12;1256:34;1309:61;1362:7;1353:6;1342:9;1338:22;1309:61;:::i;:::-;1299:71;;1416:2;1405:9;1401:18;1395:25;1379:41;;1445:2;1435:8;1432:16;1429:36;;;1461:1;1458;1451:12;1429:36;;1484:63;1539:7;1528:8;1517:9;1513:24;1484:63;:::i;:::-;1474:73;;;991:562;;;;;:::o;1558:380::-;1637:1;1633:12;;;;1680;;;1701:61;;1755:4;1747:6;1743:17;1733:27;;1701:61;1808:2;1800:6;1797:14;1777:18;1774:38;1771:161;;1854:10;1849:3;1845:20;1842:1;1835:31;1889:4;1886:1;1879:15;1917:4;1914:1;1907:15;1771:161;;1558:380;;;:::o;2069:545::-;2171:2;2166:3;2163:11;2160:448;;;2207:1;2232:5;2228:2;2221:17;2277:4;2273:2;2263:19;2347:2;2335:10;2331:19;2328:1;2324:27;2318:4;2314:38;2383:4;2371:10;2368:20;2365:47;;;-1:-1:-1;2406:4:126;2365:47;2461:2;2456:3;2452:12;2449:1;2445:20;2439:4;2435:31;2425:41;;2516:82;2534:2;2527:5;2524:13;2516:82;;;2579:17;;;2560:1;2549:13;2516:82;;;2520:3;;;2160:448;2069:545;;;:::o;2790:1352::-;2910:10;;-1:-1:-1;;;;;2932:30:126;;2929:56;;;2965:18;;:::i;:::-;2994:97;3084:6;3044:38;3076:4;3070:11;3044:38;:::i;:::-;3038:4;2994:97;:::i;:::-;3146:4;;3210:2;3199:14;;3227:1;3222:663;;;;3929:1;3946:6;3943:89;;;-1:-1:-1;3998:19:126;;;3992:26;3943:89;-1:-1:-1;;2747:1:126;2743:11;;;2739:24;2735:29;2725:40;2771:1;2767:11;;;2722:57;4045:81;;3192:944;;3222:663;2016:1;2009:14;;;2053:4;2040:18;;-1:-1:-1;;3258:20:126;;;3376:236;3390:7;3387:1;3384:14;3376:236;;;3479:19;;;3473:26;3458:42;;3571:27;;;;3539:1;3527:14;;;;3406:19;;3376:236;;;3380:3;3640:6;3631:7;3628:19;3625:201;;;3701:19;;;3695:26;-1:-1:-1;;3784:1:126;3780:14;;;3796:3;3776:24;3772:37;3768:42;3753:58;3738:74;;3625:201;-1:-1:-1;;;;;3872:1:126;3856:14;;;3852:22;3839:36;;-1:-1:-1;2790:1352:126:o;:::-;1532:11312:69;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100995760003560e01c806306fdde031461009e578063095ea7b3146100bc57806318160ddd146100df57806323b872dd146100f1578063313ce56714610104578063395093511461011357806370a082311461012657806395d89b411461014f578063a457c2d714610157578063a9059cbb1461016a578063dd62ed3e1461017d575b600080fd5b6100a6610190565b6040516100b3919061068c565b60405180910390f35b6100cf6100ca3660046106f6565b610222565b60405190151581526020016100b3565b6002545b6040519081526020016100b3565b6100cf6100ff366004610720565b61023c565b604051601281526020016100b3565b6100cf6101213660046106f6565b610260565b6100e361013436600461075c565b6001600160a01b031660009081526020819052604090205490565b6100a6610282565b6100cf6101653660046106f6565b610291565b6100cf6101783660046106f6565b610311565b6100e361018b36600461077e565b61031f565b60606003805461019f906107b1565b80601f01602080910402602001604051908101604052809291908181526020018280546101cb906107b1565b80156102185780601f106101ed57610100808354040283529160200191610218565b820191906000526020600020905b8154815290600101906020018083116101fb57829003601f168201915b5050505050905090565b60003361023081858561034a565b60019150505b92915050565b60003361024a85828561046e565b6102558585856104e8565b506001949350505050565b600033610230818585610273838361031f565b61027d91906107eb565b61034a565b60606004805461019f906107b1565b6000338161029f828661031f565b9050838110156103045760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610255828686840361034a565b6000336102308185856104e8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103ac5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016102fb565b6001600160a01b03821661040d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016102fb565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061047a848461031f565b905060001981146104e257818110156104d55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016102fb565b6104e2848484840361034a565b50505050565b6001600160a01b03831661054c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016102fb565b6001600160a01b0382166105ae5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016102fb565b6001600160a01b038316600090815260208190526040902054818110156106265760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016102fb565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104e2565b600060208083528351808285015260005b818110156106b95785810183015185820160400152820161069d565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146106f157600080fd5b919050565b6000806040838503121561070957600080fd5b610712836106da565b946020939093013593505050565b60008060006060848603121561073557600080fd5b61073e846106da565b925061074c602085016106da565b9150604084013590509250925092565b60006020828403121561076e57600080fd5b610777826106da565b9392505050565b6000806040838503121561079157600080fd5b61079a836106da565b91506107a8602084016106da565b90509250929050565b600181811c908216806107c557607f821691505b6020821081036107e557634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561023657634e487b7160e01b600052601160045260246000fdfea26469706673582212208febc7e366ea97354e1d040306efb44170b6fd43affd2d1169045dc0ffb8599264736f6c63430008130033","sourceMap":"1532:11312:69:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4444:197;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:126;;1162:22;1144:41;;1132:2;1117:18;4444:197:69;1004:187:126;3255:106:69;3342:12;;3255:106;;;1342:25:126;;;1330:2;1315:18;3255:106:69;1196:177:126;5203:256:69;;;;;;:::i;:::-;;:::i;3104:91::-;;;3186:2;1853:36:126;;1841:2;1826:18;3104:91:69;1711:184:126;5854:234:69;;;;;;:::i;:::-;;:::i;3419:125::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3519:18:69;3493:7;3519:18;;;;;;;;;;;;3419:125;2369:102;;;:::i;6575:427::-;;;;;;:::i;:::-;;:::i;3740:189::-;;;;;;:::i;:::-;;:::i;3987:149::-;;;;;;:::i;:::-;;:::i;2158:98::-;2212:13;2244:5;2237:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98;:::o;4444:197::-;4527:4;719:10:77;4581:32:69;719:10:77;4597:7:69;4606:6;4581:8;:32::i;:::-;4630:4;4623:11;;;4444:197;;;;;:::o;5203:256::-;5300:4;719:10:77;5356:38:69;5372:4;719:10:77;5387:6:69;5356:15;:38::i;:::-;5404:27;5414:4;5420:2;5424:6;5404:9;:27::i;:::-;-1:-1:-1;5448:4:69;;5203:256;-1:-1:-1;;;;5203:256:69:o;5854:234::-;5942:4;719:10:77;5996:64:69;719:10:77;6012:7:69;6049:10;6021:25;719:10:77;6012:7:69;6021:9;:25::i;:::-;:38;;;;:::i;:::-;5996:8;:64::i;2369:102::-;2425:13;2457:7;2450:14;;;;;:::i;6575:427::-;6668:4;719:10:77;6668:4:69;6749:25;719:10:77;6766:7:69;6749:9;:25::i;:::-;6722:52;;6812:15;6792:16;:35;;6784:85;;;;-1:-1:-1;;;6784:85:69;;3170:2:126;6784:85:69;;;3152:21:126;3209:2;3189:18;;;3182:30;3248:34;3228:18;;;3221:62;-1:-1:-1;;;3299:18:126;;;3292:35;3344:19;;6784:85:69;;;;;;;;;6903:60;6912:5;6919:7;6947:15;6928:16;:34;6903:8;:60::i;3740:189::-;3819:4;719:10:77;3873:28:69;719:10:77;3890:2:69;3894:6;3873:9;:28::i;3987:149::-;-1:-1:-1;;;;;4102:18:69;;;4076:7;4102:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3987:149::o;10457:340::-;-1:-1:-1;;;;;10558:19:69;;10550:68;;;;-1:-1:-1;;;10550:68:69;;3576:2:126;10550:68:69;;;3558:21:126;3615:2;3595:18;;;3588:30;3654:34;3634:18;;;3627:62;-1:-1:-1;;;3705:18:126;;;3698:34;3749:19;;10550:68:69;3374:400:126;10550:68:69;-1:-1:-1;;;;;10636:21:69;;10628:68;;;;-1:-1:-1;;;10628:68:69;;3981:2:126;10628:68:69;;;3963:21:126;4020:2;4000:18;;;3993:30;4059:34;4039:18;;;4032:62;-1:-1:-1;;;4110:18:126;;;4103:32;4152:19;;10628:68:69;3779:398:126;10628:68:69;-1:-1:-1;;;;;10707:18:69;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10758:32;;1342:25:126;;;10758:32:69;;1315:18:126;10758:32:69;;;;;;;10457:340;;;:::o;11078:411::-;11178:24;11205:25;11215:5;11222:7;11205:9;:25::i;:::-;11178:52;;-1:-1:-1;;11244:16:69;:37;11240:243;;11325:6;11305:16;:26;;11297:68;;;;-1:-1:-1;;;11297:68:69;;4384:2:126;11297:68:69;;;4366:21:126;4423:2;4403:18;;;4396:30;4462:31;4442:18;;;4435:59;4511:18;;11297:68:69;4182:353:126;11297:68:69;11407:51;11416:5;11423:7;11451:6;11432:16;:25;11407:8;:51::i;:::-;11168:321;11078:411;;;:::o;7456:788::-;-1:-1:-1;;;;;7552:18:69;;7544:68;;;;-1:-1:-1;;;7544:68:69;;4742:2:126;7544:68:69;;;4724:21:126;4781:2;4761:18;;;4754:30;4820:34;4800:18;;;4793:62;-1:-1:-1;;;4871:18:126;;;4864:35;4916:19;;7544:68:69;4540:401:126;7544:68:69;-1:-1:-1;;;;;7630:16:69;;7622:64;;;;-1:-1:-1;;;7622:64:69;;5148:2:126;7622:64:69;;;5130:21:126;5187:2;5167:18;;;5160:30;5226:34;5206:18;;;5199:62;-1:-1:-1;;;5277:18:126;;;5270:33;5320:19;;7622:64:69;4946:399:126;7622:64:69;-1:-1:-1;;;;;7768:15:69;;7746:19;7768:15;;;;;;;;;;;7801:21;;;;7793:72;;;;-1:-1:-1;;;7793:72:69;;5552:2:126;7793:72:69;;;5534:21:126;5591:2;5571:18;;;5564:30;5630:34;5610:18;;;5603:62;-1:-1:-1;;;5681:18:126;;;5674:36;5727:19;;7793:72:69;5350:402:126;7793:72:69;-1:-1:-1;;;;;7899:15:69;;;:9;:15;;;;;;;;;;;7917:20;;;7899:38;;8114:13;;;;;;;;;;:23;;;;;;8163:26;;1342:25:126;;;8114:13:69;;8163:26;;1315:18:126;8163:26:69;;;;;;;8200:37;12073:91;14:548:126;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:126;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:126:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:186::-;1959:6;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;2051:29;2070:9;2051:29;:::i;:::-;2041:39;1900:186;-1:-1:-1;;;1900:186:126:o;2091:260::-;2159:6;2167;2220:2;2208:9;2199:7;2195:23;2191:32;2188:52;;;2236:1;2233;2226:12;2188:52;2259:29;2278:9;2259:29;:::i;:::-;2249:39;;2307:38;2341:2;2330:9;2326:18;2307:38;:::i;:::-;2297:48;;2091:260;;;;;:::o;2356:380::-;2435:1;2431:12;;;;2478;;;2499:61;;2553:4;2545:6;2541:17;2531:27;;2499:61;2606:2;2598:6;2595:14;2575:18;2572:38;2569:161;;2652:10;2647:3;2643:20;2640:1;2633:31;2687:4;2684:1;2677:15;2715:4;2712:1;2705:15;2569:161;;2356:380;;;:::o;2741:222::-;2806:9;;;2827:10;;;2824:133;;;2879:10;2874:3;2870:20;2867:1;2860:31;2914:4;2911:1;2904:15;2942:4;2939:1;2932:15","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","increaseAllowance(address,uint256)":"39509351","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. The default value of {decimals} is 18. To change this, you should override this function so it returns a different value. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"See {IERC20-balanceOf}."},"constructor":{"details":"Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction."},"decimals()":{"details":"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."},"name()":{"details":"Returns the name of the token."},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":"ERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":55879,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_balances","offset":0,"slot":"0","type":"t_mapping(t_address,t_uint256)"},{"astId":55885,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_allowances","offset":0,"slot":"1","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":55887,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_totalSupply","offset":0,"slot":"2","type":"t_uint256"},{"astId":55889,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_name","offset":0,"slot":"3","type":"t_string_storage"},{"astId":55891,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_symbol","offset":0,"slot":"4","type":"t_string_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","id":56451,"exportedSymbols":{"Context":[57362],"ERC20":[56450],"IERC20":[56528],"IERC20Metadata":[56553]},"nodeType":"SourceUnit","src":"105:12740:69","nodes":[{"id":55865,"nodeType":"PragmaDirective","src":"105:23:69","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":55866,"nodeType":"ImportDirective","src":"130:22:69","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"./IERC20.sol","nameLocation":"-1:-1:-1","scope":56451,"sourceUnit":56529,"symbolAliases":[],"unitAlias":""},{"id":55867,"nodeType":"ImportDirective","src":"153:41:69","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol","file":"./extensions/IERC20Metadata.sol","nameLocation":"-1:-1:-1","scope":56451,"sourceUnit":56554,"symbolAliases":[],"unitAlias":""},{"id":55868,"nodeType":"ImportDirective","src":"195:33:69","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Context.sol","file":"../../utils/Context.sol","nameLocation":"-1:-1:-1","scope":56451,"sourceUnit":57363,"symbolAliases":[],"unitAlias":""},{"id":56450,"nodeType":"ContractDefinition","src":"1532:11312:69","nodes":[{"id":55879,"nodeType":"VariableDeclaration","src":"1588:45:69","nodes":[],"constant":false,"mutability":"mutable","name":"_balances","nameLocation":"1624:9:69","scope":56450,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":55878,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":55876,"name":"address","nodeType":"ElementaryTypeName","src":"1596:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1588:27:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":55877,"name":"uint256","nodeType":"ElementaryTypeName","src":"1607:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"id":55885,"nodeType":"VariableDeclaration","src":"1640:67:69","nodes":[],"constant":false,"mutability":"mutable","name":"_allowances","nameLocation":"1696:11:69","scope":56450,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":55884,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":55880,"name":"address","nodeType":"ElementaryTypeName","src":"1648:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1640:47:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":55883,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":55881,"name":"address","nodeType":"ElementaryTypeName","src":"1667:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1659:27:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":55882,"name":"uint256","nodeType":"ElementaryTypeName","src":"1678:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"private"},{"id":55887,"nodeType":"VariableDeclaration","src":"1714:28:69","nodes":[],"constant":false,"mutability":"mutable","name":"_totalSupply","nameLocation":"1730:12:69","scope":56450,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55886,"name":"uint256","nodeType":"ElementaryTypeName","src":"1714:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":55889,"nodeType":"VariableDeclaration","src":"1749:20:69","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"1764:5:69","scope":56450,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":55888,"name":"string","nodeType":"ElementaryTypeName","src":"1749:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"id":55891,"nodeType":"VariableDeclaration","src":"1775:22:69","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"1790:7:69","scope":56450,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":55890,"name":"string","nodeType":"ElementaryTypeName","src":"1775:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"id":55908,"nodeType":"FunctionDefinition","src":"1980:113:69","nodes":[],"body":{"id":55907,"nodeType":"Block","src":"2036:57:69","nodes":[],"statements":[{"expression":{"id":55901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":55899,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55889,"src":"2046:5:69","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":55900,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55894,"src":"2054:5:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2046:13:69","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":55902,"nodeType":"ExpressionStatement","src":"2046:13:69"},{"expression":{"id":55905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":55903,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55891,"src":"2069:7:69","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":55904,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55896,"src":"2079:7:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2069:17:69","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":55906,"nodeType":"ExpressionStatement","src":"2069:17:69"}]},"documentation":{"id":55892,"nodeType":"StructuredDocumentation","src":"1804:171:69","text":" @dev Sets the values for {name} and {symbol}.\n All two of these values are immutable: they can only be set once during\n construction."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":55897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55894,"mutability":"mutable","name":"name_","nameLocation":"2006:5:69","nodeType":"VariableDeclaration","scope":55908,"src":"1992:19:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55893,"name":"string","nodeType":"ElementaryTypeName","src":"1992:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55896,"mutability":"mutable","name":"symbol_","nameLocation":"2027:7:69","nodeType":"VariableDeclaration","scope":55908,"src":"2013:21:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55895,"name":"string","nodeType":"ElementaryTypeName","src":"2013:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1991:44:69"},"returnParameters":{"id":55898,"nodeType":"ParameterList","parameters":[],"src":"2036:0:69"},"scope":56450,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":55918,"nodeType":"FunctionDefinition","src":"2158:98:69","nodes":[],"body":{"id":55917,"nodeType":"Block","src":"2227:29:69","nodes":[],"statements":[{"expression":{"id":55915,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55889,"src":"2244:5:69","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":55914,"id":55916,"nodeType":"Return","src":"2237:12:69"}]},"baseFunctions":[56540],"documentation":{"id":55909,"nodeType":"StructuredDocumentation","src":"2099:54:69","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"2167:4:69","overrides":{"id":55911,"nodeType":"OverrideSpecifier","overrides":[],"src":"2194:8:69"},"parameters":{"id":55910,"nodeType":"ParameterList","parameters":[],"src":"2171:2:69"},"returnParameters":{"id":55914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55913,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55918,"src":"2212:13:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55912,"name":"string","nodeType":"ElementaryTypeName","src":"2212:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2211:15:69"},"scope":56450,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":55928,"nodeType":"FunctionDefinition","src":"2369:102:69","nodes":[],"body":{"id":55927,"nodeType":"Block","src":"2440:31:69","nodes":[],"statements":[{"expression":{"id":55925,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55891,"src":"2457:7:69","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":55924,"id":55926,"nodeType":"Return","src":"2450:14:69"}]},"baseFunctions":[56546],"documentation":{"id":55919,"nodeType":"StructuredDocumentation","src":"2262:102:69","text":" @dev Returns the symbol of the token, usually a shorter version of the\n name."},"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"2378:6:69","overrides":{"id":55921,"nodeType":"OverrideSpecifier","overrides":[],"src":"2407:8:69"},"parameters":{"id":55920,"nodeType":"ParameterList","parameters":[],"src":"2384:2:69"},"returnParameters":{"id":55924,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55923,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55928,"src":"2425:13:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55922,"name":"string","nodeType":"ElementaryTypeName","src":"2425:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2424:15:69"},"scope":56450,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":55938,"nodeType":"FunctionDefinition","src":"3104:91:69","nodes":[],"body":{"id":55937,"nodeType":"Block","src":"3169:26:69","nodes":[],"statements":[{"expression":{"hexValue":"3138","id":55935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3186:2:69","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"functionReturnParameters":55934,"id":55936,"nodeType":"Return","src":"3179:9:69"}]},"baseFunctions":[56552],"documentation":{"id":55929,"nodeType":"StructuredDocumentation","src":"2477:622:69","text":" @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5.05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the default value returned by this function, unless\n it's overridden.\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}."},"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"3113:8:69","overrides":{"id":55931,"nodeType":"OverrideSpecifier","overrides":[],"src":"3144:8:69"},"parameters":{"id":55930,"nodeType":"ParameterList","parameters":[],"src":"3121:2:69"},"returnParameters":{"id":55934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55933,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55938,"src":"3162:5:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":55932,"name":"uint8","nodeType":"ElementaryTypeName","src":"3162:5:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"3161:7:69"},"scope":56450,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":55948,"nodeType":"FunctionDefinition","src":"3255:106:69","nodes":[],"body":{"id":55947,"nodeType":"Block","src":"3325:36:69","nodes":[],"statements":[{"expression":{"id":55945,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55887,"src":"3342:12:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":55944,"id":55946,"nodeType":"Return","src":"3335:19:69"}]},"baseFunctions":[56477],"documentation":{"id":55939,"nodeType":"StructuredDocumentation","src":"3201:49:69","text":" @dev See {IERC20-totalSupply}."},"functionSelector":"18160ddd","implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"3264:11:69","overrides":{"id":55941,"nodeType":"OverrideSpecifier","overrides":[],"src":"3298:8:69"},"parameters":{"id":55940,"nodeType":"ParameterList","parameters":[],"src":"3275:2:69"},"returnParameters":{"id":55944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55943,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55948,"src":"3316:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55942,"name":"uint256","nodeType":"ElementaryTypeName","src":"3316:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3315:9:69"},"scope":56450,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":55962,"nodeType":"FunctionDefinition","src":"3419:125:69","nodes":[],"body":{"id":55961,"nodeType":"Block","src":"3502:42:69","nodes":[],"statements":[{"expression":{"baseExpression":{"id":55957,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55879,"src":"3519:9:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":55959,"indexExpression":{"id":55958,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55951,"src":"3529:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3519:18:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":55956,"id":55960,"nodeType":"Return","src":"3512:25:69"}]},"baseFunctions":[56485],"documentation":{"id":55949,"nodeType":"StructuredDocumentation","src":"3367:47:69","text":" @dev See {IERC20-balanceOf}."},"functionSelector":"70a08231","implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"3428:9:69","overrides":{"id":55953,"nodeType":"OverrideSpecifier","overrides":[],"src":"3475:8:69"},"parameters":{"id":55952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55951,"mutability":"mutable","name":"account","nameLocation":"3446:7:69","nodeType":"VariableDeclaration","scope":55962,"src":"3438:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55950,"name":"address","nodeType":"ElementaryTypeName","src":"3438:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3437:17:69"},"returnParameters":{"id":55956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55955,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55962,"src":"3493:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55954,"name":"uint256","nodeType":"ElementaryTypeName","src":"3493:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3492:9:69"},"scope":56450,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":55987,"nodeType":"FunctionDefinition","src":"3740:189:69","nodes":[],"body":{"id":55986,"nodeType":"Block","src":"3825:104:69","nodes":[],"statements":[{"assignments":[55974],"declarations":[{"constant":false,"id":55974,"mutability":"mutable","name":"owner","nameLocation":"3843:5:69","nodeType":"VariableDeclaration","scope":55986,"src":"3835:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55973,"name":"address","nodeType":"ElementaryTypeName","src":"3835:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":55977,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":55975,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57352,"src":"3851:10:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":55976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3851:12:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3835:28:69"},{"expression":{"arguments":[{"id":55979,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55974,"src":"3883:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55980,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55965,"src":"3890:2:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55981,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55967,"src":"3894:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55978,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56210,"src":"3873:9:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3873:28:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55983,"nodeType":"ExpressionStatement","src":"3873:28:69"},{"expression":{"hexValue":"74727565","id":55984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3918:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":55972,"id":55985,"nodeType":"Return","src":"3911:11:69"}]},"baseFunctions":[56495],"documentation":{"id":55963,"nodeType":"StructuredDocumentation","src":"3550:185:69","text":" @dev See {IERC20-transfer}.\n Requirements:\n - `to` cannot be the zero address.\n - the caller must have a balance of at least `amount`."},"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"3749:8:69","overrides":{"id":55969,"nodeType":"OverrideSpecifier","overrides":[],"src":"3801:8:69"},"parameters":{"id":55968,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55965,"mutability":"mutable","name":"to","nameLocation":"3766:2:69","nodeType":"VariableDeclaration","scope":55987,"src":"3758:10:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55964,"name":"address","nodeType":"ElementaryTypeName","src":"3758:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55967,"mutability":"mutable","name":"amount","nameLocation":"3778:6:69","nodeType":"VariableDeclaration","scope":55987,"src":"3770:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55966,"name":"uint256","nodeType":"ElementaryTypeName","src":"3770:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3757:28:69"},"returnParameters":{"id":55972,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55971,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55987,"src":"3819:4:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55970,"name":"bool","nodeType":"ElementaryTypeName","src":"3819:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3818:6:69"},"scope":56450,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56005,"nodeType":"FunctionDefinition","src":"3987:149:69","nodes":[],"body":{"id":56004,"nodeType":"Block","src":"4085:51:69","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":55998,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55885,"src":"4102:11:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":56000,"indexExpression":{"id":55999,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55990,"src":"4114:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4102:18:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56002,"indexExpression":{"id":56001,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55992,"src":"4121:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4102:27:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":55997,"id":56003,"nodeType":"Return","src":"4095:34:69"}]},"baseFunctions":[56505],"documentation":{"id":55988,"nodeType":"StructuredDocumentation","src":"3935:47:69","text":" @dev See {IERC20-allowance}."},"functionSelector":"dd62ed3e","implemented":true,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"3996:9:69","overrides":{"id":55994,"nodeType":"OverrideSpecifier","overrides":[],"src":"4058:8:69"},"parameters":{"id":55993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55990,"mutability":"mutable","name":"owner","nameLocation":"4014:5:69","nodeType":"VariableDeclaration","scope":56005,"src":"4006:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55989,"name":"address","nodeType":"ElementaryTypeName","src":"4006:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55992,"mutability":"mutable","name":"spender","nameLocation":"4029:7:69","nodeType":"VariableDeclaration","scope":56005,"src":"4021:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55991,"name":"address","nodeType":"ElementaryTypeName","src":"4021:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4005:32:69"},"returnParameters":{"id":55997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55996,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56005,"src":"4076:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55995,"name":"uint256","nodeType":"ElementaryTypeName","src":"4076:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4075:9:69"},"scope":56450,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":56030,"nodeType":"FunctionDefinition","src":"4444:197:69","nodes":[],"body":{"id":56029,"nodeType":"Block","src":"4533:108:69","nodes":[],"statements":[{"assignments":[56017],"declarations":[{"constant":false,"id":56017,"mutability":"mutable","name":"owner","nameLocation":"4551:5:69","nodeType":"VariableDeclaration","scope":56029,"src":"4543:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56016,"name":"address","nodeType":"ElementaryTypeName","src":"4543:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56020,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":56018,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57352,"src":"4559:10:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":56019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4559:12:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4543:28:69"},{"expression":{"arguments":[{"id":56022,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56017,"src":"4590:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56023,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56008,"src":"4597:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56024,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56010,"src":"4606:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56021,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56384,"src":"4581:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4581:32:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56026,"nodeType":"ExpressionStatement","src":"4581:32:69"},{"expression":{"hexValue":"74727565","id":56027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4630:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":56015,"id":56028,"nodeType":"Return","src":"4623:11:69"}]},"baseFunctions":[56515],"documentation":{"id":56006,"nodeType":"StructuredDocumentation","src":"4142:297:69","text":" @dev See {IERC20-approve}.\n NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on\n `transferFrom`. This is semantically equivalent to an infinite approval.\n Requirements:\n - `spender` cannot be the zero address."},"functionSelector":"095ea7b3","implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"4453:7:69","overrides":{"id":56012,"nodeType":"OverrideSpecifier","overrides":[],"src":"4509:8:69"},"parameters":{"id":56011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56008,"mutability":"mutable","name":"spender","nameLocation":"4469:7:69","nodeType":"VariableDeclaration","scope":56030,"src":"4461:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56007,"name":"address","nodeType":"ElementaryTypeName","src":"4461:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56010,"mutability":"mutable","name":"amount","nameLocation":"4486:6:69","nodeType":"VariableDeclaration","scope":56030,"src":"4478:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56009,"name":"uint256","nodeType":"ElementaryTypeName","src":"4478:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4460:33:69"},"returnParameters":{"id":56015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56014,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56030,"src":"4527:4:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56013,"name":"bool","nodeType":"ElementaryTypeName","src":"4527:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4526:6:69"},"scope":56450,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56063,"nodeType":"FunctionDefinition","src":"5203:256:69","nodes":[],"body":{"id":56062,"nodeType":"Block","src":"5306:153:69","nodes":[],"statements":[{"assignments":[56044],"declarations":[{"constant":false,"id":56044,"mutability":"mutable","name":"spender","nameLocation":"5324:7:69","nodeType":"VariableDeclaration","scope":56062,"src":"5316:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56043,"name":"address","nodeType":"ElementaryTypeName","src":"5316:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56047,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":56045,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57352,"src":"5334:10:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":56046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5334:12:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5316:30:69"},{"expression":{"arguments":[{"id":56049,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56033,"src":"5372:4:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56050,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56044,"src":"5378:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56051,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56037,"src":"5387:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56048,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56427,"src":"5356:15:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5356:38:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56053,"nodeType":"ExpressionStatement","src":"5356:38:69"},{"expression":{"arguments":[{"id":56055,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56033,"src":"5414:4:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56056,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56035,"src":"5420:2:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56057,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56037,"src":"5424:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56054,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56210,"src":"5404:9:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5404:27:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56059,"nodeType":"ExpressionStatement","src":"5404:27:69"},{"expression":{"hexValue":"74727565","id":56060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5448:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":56042,"id":56061,"nodeType":"Return","src":"5441:11:69"}]},"baseFunctions":[56527],"documentation":{"id":56031,"nodeType":"StructuredDocumentation","src":"4647:551:69","text":" @dev See {IERC20-transferFrom}.\n Emits an {Approval} event indicating the updated allowance. This is not\n required by the EIP. See the note at the beginning of {ERC20}.\n NOTE: Does not update the allowance if the current allowance\n is the maximum `uint256`.\n Requirements:\n - `from` and `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`.\n - the caller must have allowance for ``from``'s tokens of at least\n `amount`."},"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"5212:12:69","overrides":{"id":56039,"nodeType":"OverrideSpecifier","overrides":[],"src":"5282:8:69"},"parameters":{"id":56038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56033,"mutability":"mutable","name":"from","nameLocation":"5233:4:69","nodeType":"VariableDeclaration","scope":56063,"src":"5225:12:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56032,"name":"address","nodeType":"ElementaryTypeName","src":"5225:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56035,"mutability":"mutable","name":"to","nameLocation":"5247:2:69","nodeType":"VariableDeclaration","scope":56063,"src":"5239:10:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56034,"name":"address","nodeType":"ElementaryTypeName","src":"5239:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56037,"mutability":"mutable","name":"amount","nameLocation":"5259:6:69","nodeType":"VariableDeclaration","scope":56063,"src":"5251:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56036,"name":"uint256","nodeType":"ElementaryTypeName","src":"5251:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5224:42:69"},"returnParameters":{"id":56042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56041,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56063,"src":"5300:4:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56040,"name":"bool","nodeType":"ElementaryTypeName","src":"5300:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5299:6:69"},"scope":56450,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56092,"nodeType":"FunctionDefinition","src":"5854:234:69","nodes":[],"body":{"id":56091,"nodeType":"Block","src":"5948:140:69","nodes":[],"statements":[{"assignments":[56074],"declarations":[{"constant":false,"id":56074,"mutability":"mutable","name":"owner","nameLocation":"5966:5:69","nodeType":"VariableDeclaration","scope":56091,"src":"5958:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56073,"name":"address","nodeType":"ElementaryTypeName","src":"5958:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56077,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":56075,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57352,"src":"5974:10:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":56076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5974:12:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5958:28:69"},{"expression":{"arguments":[{"id":56079,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56074,"src":"6005:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56080,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56066,"src":"6012:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":56082,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56074,"src":"6031:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56083,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56066,"src":"6038:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":56081,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56005,"src":"6021:9:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":56084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6021:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":56085,"name":"addedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56068,"src":"6049:10:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6021:38:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56078,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56384,"src":"5996:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5996:64:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56088,"nodeType":"ExpressionStatement","src":"5996:64:69"},{"expression":{"hexValue":"74727565","id":56089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6077:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":56072,"id":56090,"nodeType":"Return","src":"6070:11:69"}]},"documentation":{"id":56064,"nodeType":"StructuredDocumentation","src":"5465:384:69","text":" @dev Atomically increases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address."},"functionSelector":"39509351","implemented":true,"kind":"function","modifiers":[],"name":"increaseAllowance","nameLocation":"5863:17:69","parameters":{"id":56069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56066,"mutability":"mutable","name":"spender","nameLocation":"5889:7:69","nodeType":"VariableDeclaration","scope":56092,"src":"5881:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56065,"name":"address","nodeType":"ElementaryTypeName","src":"5881:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56068,"mutability":"mutable","name":"addedValue","nameLocation":"5906:10:69","nodeType":"VariableDeclaration","scope":56092,"src":"5898:18:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56067,"name":"uint256","nodeType":"ElementaryTypeName","src":"5898:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5880:37:69"},"returnParameters":{"id":56072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56071,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56092,"src":"5942:4:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56070,"name":"bool","nodeType":"ElementaryTypeName","src":"5942:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5941:6:69"},"scope":56450,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56133,"nodeType":"FunctionDefinition","src":"6575:427:69","nodes":[],"body":{"id":56132,"nodeType":"Block","src":"6674:328:69","nodes":[],"statements":[{"assignments":[56103],"declarations":[{"constant":false,"id":56103,"mutability":"mutable","name":"owner","nameLocation":"6692:5:69","nodeType":"VariableDeclaration","scope":56132,"src":"6684:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56102,"name":"address","nodeType":"ElementaryTypeName","src":"6684:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56106,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":56104,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57352,"src":"6700:10:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":56105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6700:12:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6684:28:69"},{"assignments":[56108],"declarations":[{"constant":false,"id":56108,"mutability":"mutable","name":"currentAllowance","nameLocation":"6730:16:69","nodeType":"VariableDeclaration","scope":56132,"src":"6722:24:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56107,"name":"uint256","nodeType":"ElementaryTypeName","src":"6722:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56113,"initialValue":{"arguments":[{"id":56110,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56103,"src":"6759:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56111,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56095,"src":"6766:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":56109,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56005,"src":"6749:9:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":56112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6749:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6722:52:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56115,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56108,"src":"6792:16:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56116,"name":"subtractedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56097,"src":"6812:15:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6792:35:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f","id":56118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6829:39:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8","typeString":"literal_string \"ERC20: decreased allowance below zero\""},"value":"ERC20: decreased allowance below zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8","typeString":"literal_string \"ERC20: decreased allowance below zero\""}],"id":56114,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6784:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6784:85:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56120,"nodeType":"ExpressionStatement","src":"6784:85:69"},{"id":56129,"nodeType":"UncheckedBlock","src":"6879:95:69","statements":[{"expression":{"arguments":[{"id":56122,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56103,"src":"6912:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56123,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56095,"src":"6919:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56124,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56108,"src":"6928:16:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56125,"name":"subtractedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56097,"src":"6947:15:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6928:34:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56121,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56384,"src":"6903:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6903:60:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56128,"nodeType":"ExpressionStatement","src":"6903:60:69"}]},{"expression":{"hexValue":"74727565","id":56130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6991:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":56101,"id":56131,"nodeType":"Return","src":"6984:11:69"}]},"documentation":{"id":56093,"nodeType":"StructuredDocumentation","src":"6094:476:69","text":" @dev Atomically decreases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address.\n - `spender` must have allowance for the caller of at least\n `subtractedValue`."},"functionSelector":"a457c2d7","implemented":true,"kind":"function","modifiers":[],"name":"decreaseAllowance","nameLocation":"6584:17:69","parameters":{"id":56098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56095,"mutability":"mutable","name":"spender","nameLocation":"6610:7:69","nodeType":"VariableDeclaration","scope":56133,"src":"6602:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56094,"name":"address","nodeType":"ElementaryTypeName","src":"6602:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56097,"mutability":"mutable","name":"subtractedValue","nameLocation":"6627:15:69","nodeType":"VariableDeclaration","scope":56133,"src":"6619:23:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56096,"name":"uint256","nodeType":"ElementaryTypeName","src":"6619:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6601:42:69"},"returnParameters":{"id":56101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56100,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56133,"src":"6668:4:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56099,"name":"bool","nodeType":"ElementaryTypeName","src":"6668:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6667:6:69"},"scope":56450,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56210,"nodeType":"FunctionDefinition","src":"7456:788:69","nodes":[],"body":{"id":56209,"nodeType":"Block","src":"7534:710:69","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56144,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56136,"src":"7552:4:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7568:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56146,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7560:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56145,"name":"address","nodeType":"ElementaryTypeName","src":"7560:7:69","typeDescriptions":{}}},"id":56148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7560:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7552:18:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373","id":56150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7572:39:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea","typeString":"literal_string \"ERC20: transfer from the zero address\""},"value":"ERC20: transfer from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea","typeString":"literal_string \"ERC20: transfer from the zero address\""}],"id":56143,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7544:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7544:68:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56152,"nodeType":"ExpressionStatement","src":"7544:68:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56154,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56138,"src":"7630:2:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7644:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56156,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7636:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56155,"name":"address","nodeType":"ElementaryTypeName","src":"7636:7:69","typeDescriptions":{}}},"id":56158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7636:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7630:16:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e7366657220746f20746865207a65726f2061646472657373","id":56160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7648:37:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f","typeString":"literal_string \"ERC20: transfer to the zero address\""},"value":"ERC20: transfer to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f","typeString":"literal_string \"ERC20: transfer to the zero address\""}],"id":56153,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7622:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7622:64:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56162,"nodeType":"ExpressionStatement","src":"7622:64:69"},{"expression":{"arguments":[{"id":56164,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56136,"src":"7718:4:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56165,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56138,"src":"7724:2:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56166,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56140,"src":"7728:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56163,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56438,"src":"7697:20:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7697:38:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56168,"nodeType":"ExpressionStatement","src":"7697:38:69"},{"assignments":[56170],"declarations":[{"constant":false,"id":56170,"mutability":"mutable","name":"fromBalance","nameLocation":"7754:11:69","nodeType":"VariableDeclaration","scope":56209,"src":"7746:19:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56169,"name":"uint256","nodeType":"ElementaryTypeName","src":"7746:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56174,"initialValue":{"baseExpression":{"id":56171,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55879,"src":"7768:9:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56173,"indexExpression":{"id":56172,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56136,"src":"7778:4:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7768:15:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7746:37:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56176,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56170,"src":"7801:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56177,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56140,"src":"7816:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7801:21:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365","id":56179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7824:40:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6","typeString":"literal_string \"ERC20: transfer amount exceeds balance\""},"value":"ERC20: transfer amount exceeds balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6","typeString":"literal_string \"ERC20: transfer amount exceeds balance\""}],"id":56175,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7793:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7793:72:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56181,"nodeType":"ExpressionStatement","src":"7793:72:69"},{"id":56196,"nodeType":"UncheckedBlock","src":"7875:273:69","statements":[{"expression":{"id":56188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":56182,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55879,"src":"7899:9:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56184,"indexExpression":{"id":56183,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56136,"src":"7909:4:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7899:15:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56185,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56170,"src":"7917:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56186,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56140,"src":"7931:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7917:20:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7899:38:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56189,"nodeType":"ExpressionStatement","src":"7899:38:69"},{"expression":{"id":56194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":56190,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55879,"src":"8114:9:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56192,"indexExpression":{"id":56191,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56138,"src":"8124:2:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8114:13:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":56193,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56140,"src":"8131:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8114:23:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56195,"nodeType":"ExpressionStatement","src":"8114:23:69"}]},{"eventCall":{"arguments":[{"id":56198,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56136,"src":"8172:4:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56199,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56138,"src":"8178:2:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56200,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56140,"src":"8182:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56197,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56462,"src":"8163:8:69","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8163:26:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56202,"nodeType":"EmitStatement","src":"8158:31:69"},{"expression":{"arguments":[{"id":56204,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56136,"src":"8220:4:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56205,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56138,"src":"8226:2:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56206,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56140,"src":"8230:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56203,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56449,"src":"8200:19:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8200:37:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56208,"nodeType":"ExpressionStatement","src":"8200:37:69"}]},"documentation":{"id":56134,"nodeType":"StructuredDocumentation","src":"7008:443:69","text":" @dev Moves `amount` of tokens from `from` to `to`.\n This internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`."},"implemented":true,"kind":"function","modifiers":[],"name":"_transfer","nameLocation":"7465:9:69","parameters":{"id":56141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56136,"mutability":"mutable","name":"from","nameLocation":"7483:4:69","nodeType":"VariableDeclaration","scope":56210,"src":"7475:12:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56135,"name":"address","nodeType":"ElementaryTypeName","src":"7475:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56138,"mutability":"mutable","name":"to","nameLocation":"7497:2:69","nodeType":"VariableDeclaration","scope":56210,"src":"7489:10:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56137,"name":"address","nodeType":"ElementaryTypeName","src":"7489:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56140,"mutability":"mutable","name":"amount","nameLocation":"7509:6:69","nodeType":"VariableDeclaration","scope":56210,"src":"7501:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56139,"name":"uint256","nodeType":"ElementaryTypeName","src":"7501:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7474:42:69"},"returnParameters":{"id":56142,"nodeType":"ParameterList","parameters":[],"src":"7534:0:69"},"scope":56450,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56267,"nodeType":"FunctionDefinition","src":"8520:535:69","nodes":[],"body":{"id":56266,"nodeType":"Block","src":"8585:470:69","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56219,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"8603:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8622:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56221,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8614:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56220,"name":"address","nodeType":"ElementaryTypeName","src":"8614:7:69","typeDescriptions":{}}},"id":56223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8614:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8603:21:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206d696e7420746f20746865207a65726f2061646472657373","id":56225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8626:33:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e","typeString":"literal_string \"ERC20: mint to the zero address\""},"value":"ERC20: mint to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e","typeString":"literal_string \"ERC20: mint to the zero address\""}],"id":56218,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8595:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8595:65:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56227,"nodeType":"ExpressionStatement","src":"8595:65:69"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":56231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8700:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56230,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8692:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56229,"name":"address","nodeType":"ElementaryTypeName","src":"8692:7:69","typeDescriptions":{}}},"id":56232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8692:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56233,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"8704:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56234,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56215,"src":"8713:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56228,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56438,"src":"8671:20:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8671:49:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56236,"nodeType":"ExpressionStatement","src":"8671:49:69"},{"expression":{"id":56239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56237,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55887,"src":"8731:12:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":56238,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56215,"src":"8747:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8731:22:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56240,"nodeType":"ExpressionStatement","src":"8731:22:69"},{"id":56247,"nodeType":"UncheckedBlock","src":"8763:175:69","statements":[{"expression":{"id":56245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":56241,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55879,"src":"8899:9:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56243,"indexExpression":{"id":56242,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"8909:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8899:18:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":56244,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56215,"src":"8921:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8899:28:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56246,"nodeType":"ExpressionStatement","src":"8899:28:69"}]},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":56251,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8969:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8961:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56249,"name":"address","nodeType":"ElementaryTypeName","src":"8961:7:69","typeDescriptions":{}}},"id":56252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8961:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56253,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"8973:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56254,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56215,"src":"8982:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56248,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56462,"src":"8952:8:69","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8952:37:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56256,"nodeType":"EmitStatement","src":"8947:42:69"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":56260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9028:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56259,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9020:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56258,"name":"address","nodeType":"ElementaryTypeName","src":"9020:7:69","typeDescriptions":{}}},"id":56261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9020:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56262,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"9032:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56263,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56215,"src":"9041:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56257,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56449,"src":"9000:19:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9000:48:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56265,"nodeType":"ExpressionStatement","src":"9000:48:69"}]},"documentation":{"id":56211,"nodeType":"StructuredDocumentation","src":"8250:265:69","text":"@dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n Emits a {Transfer} event with `from` set to the zero address.\n Requirements:\n - `account` cannot be the zero address."},"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"8529:5:69","parameters":{"id":56216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56213,"mutability":"mutable","name":"account","nameLocation":"8543:7:69","nodeType":"VariableDeclaration","scope":56267,"src":"8535:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56212,"name":"address","nodeType":"ElementaryTypeName","src":"8535:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56215,"mutability":"mutable","name":"amount","nameLocation":"8560:6:69","nodeType":"VariableDeclaration","scope":56267,"src":"8552:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56214,"name":"uint256","nodeType":"ElementaryTypeName","src":"8552:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8534:33:69"},"returnParameters":{"id":56217,"nodeType":"ParameterList","parameters":[],"src":"8585:0:69"},"scope":56450,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56339,"nodeType":"FunctionDefinition","src":"9375:659:69","nodes":[],"body":{"id":56338,"nodeType":"Block","src":"9440:594:69","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56276,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56270,"src":"9458:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9477:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56278,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9469:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56277,"name":"address","nodeType":"ElementaryTypeName","src":"9469:7:69","typeDescriptions":{}}},"id":56280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9469:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9458:21:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206275726e2066726f6d20746865207a65726f2061646472657373","id":56282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9481:35:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f","typeString":"literal_string \"ERC20: burn from the zero address\""},"value":"ERC20: burn from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f","typeString":"literal_string \"ERC20: burn from the zero address\""}],"id":56275,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9450:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9450:67:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56284,"nodeType":"ExpressionStatement","src":"9450:67:69"},{"expression":{"arguments":[{"id":56286,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56270,"src":"9549:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":56289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9566:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56288,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9558:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56287,"name":"address","nodeType":"ElementaryTypeName","src":"9558:7:69","typeDescriptions":{}}},"id":56290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9558:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56291,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56272,"src":"9570:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56285,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56438,"src":"9528:20:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9528:49:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56293,"nodeType":"ExpressionStatement","src":"9528:49:69"},{"assignments":[56295],"declarations":[{"constant":false,"id":56295,"mutability":"mutable","name":"accountBalance","nameLocation":"9596:14:69","nodeType":"VariableDeclaration","scope":56338,"src":"9588:22:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56294,"name":"uint256","nodeType":"ElementaryTypeName","src":"9588:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56299,"initialValue":{"baseExpression":{"id":56296,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55879,"src":"9613:9:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56298,"indexExpression":{"id":56297,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56270,"src":"9623:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9613:18:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9588:43:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56301,"name":"accountBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56295,"src":"9649:14:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56302,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56272,"src":"9667:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9649:24:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365","id":56304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9675:36:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd","typeString":"literal_string \"ERC20: burn amount exceeds balance\""},"value":"ERC20: burn amount exceeds balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd","typeString":"literal_string \"ERC20: burn amount exceeds balance\""}],"id":56300,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9641:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9641:71:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56306,"nodeType":"ExpressionStatement","src":"9641:71:69"},{"id":56319,"nodeType":"UncheckedBlock","src":"9722:194:69","statements":[{"expression":{"id":56313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":56307,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55879,"src":"9746:9:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56309,"indexExpression":{"id":56308,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56270,"src":"9756:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9746:18:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56310,"name":"accountBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56295,"src":"9767:14:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56311,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56272,"src":"9784:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9767:23:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9746:44:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56314,"nodeType":"ExpressionStatement","src":"9746:44:69"},{"expression":{"id":56317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56315,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55887,"src":"9883:12:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":56316,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56272,"src":"9899:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9883:22:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56318,"nodeType":"ExpressionStatement","src":"9883:22:69"}]},{"eventCall":{"arguments":[{"id":56321,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56270,"src":"9940:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":56324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9957:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56323,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9949:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56322,"name":"address","nodeType":"ElementaryTypeName","src":"9949:7:69","typeDescriptions":{}}},"id":56325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9949:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56326,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56272,"src":"9961:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56320,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56462,"src":"9931:8:69","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9931:37:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56328,"nodeType":"EmitStatement","src":"9926:42:69"},{"expression":{"arguments":[{"id":56330,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56270,"src":"9999:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":56333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10016:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56332,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10008:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56331,"name":"address","nodeType":"ElementaryTypeName","src":"10008:7:69","typeDescriptions":{}}},"id":56334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10008:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56335,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56272,"src":"10020:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56329,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56449,"src":"9979:19:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9979:48:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56337,"nodeType":"ExpressionStatement","src":"9979:48:69"}]},"documentation":{"id":56268,"nodeType":"StructuredDocumentation","src":"9061:309:69","text":" @dev Destroys `amount` tokens from `account`, reducing the\n total supply.\n Emits a {Transfer} event with `to` set to the zero address.\n Requirements:\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens."},"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"9384:5:69","parameters":{"id":56273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56270,"mutability":"mutable","name":"account","nameLocation":"9398:7:69","nodeType":"VariableDeclaration","scope":56339,"src":"9390:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56269,"name":"address","nodeType":"ElementaryTypeName","src":"9390:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56272,"mutability":"mutable","name":"amount","nameLocation":"9415:6:69","nodeType":"VariableDeclaration","scope":56339,"src":"9407:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56271,"name":"uint256","nodeType":"ElementaryTypeName","src":"9407:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9389:33:69"},"returnParameters":{"id":56274,"nodeType":"ParameterList","parameters":[],"src":"9440:0:69"},"scope":56450,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56384,"nodeType":"FunctionDefinition","src":"10457:340:69","nodes":[],"body":{"id":56383,"nodeType":"Block","src":"10540:257:69","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56350,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56342,"src":"10558:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10575:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56352,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10567:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56351,"name":"address","nodeType":"ElementaryTypeName","src":"10567:7:69","typeDescriptions":{}}},"id":56354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10567:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10558:19:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373","id":56356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10579:38:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208","typeString":"literal_string \"ERC20: approve from the zero address\""},"value":"ERC20: approve from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208","typeString":"literal_string \"ERC20: approve from the zero address\""}],"id":56349,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10550:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10550:68:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56358,"nodeType":"ExpressionStatement","src":"10550:68:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56360,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56344,"src":"10636:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10655:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56362,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10647:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56361,"name":"address","nodeType":"ElementaryTypeName","src":"10647:7:69","typeDescriptions":{}}},"id":56364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10647:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10636:21:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20617070726f766520746f20746865207a65726f2061646472657373","id":56366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10659:36:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029","typeString":"literal_string \"ERC20: approve to the zero address\""},"value":"ERC20: approve to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029","typeString":"literal_string \"ERC20: approve to the zero address\""}],"id":56359,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10628:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10628:68:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56368,"nodeType":"ExpressionStatement","src":"10628:68:69"},{"expression":{"id":56375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":56369,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55885,"src":"10707:11:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":56372,"indexExpression":{"id":56370,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56342,"src":"10719:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10707:18:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56373,"indexExpression":{"id":56371,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56344,"src":"10726:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10707:27:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56374,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56346,"src":"10737:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10707:36:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56376,"nodeType":"ExpressionStatement","src":"10707:36:69"},{"eventCall":{"arguments":[{"id":56378,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56342,"src":"10767:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56379,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56344,"src":"10774:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56380,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56346,"src":"10783:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56377,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56471,"src":"10758:8:69","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10758:32:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56382,"nodeType":"EmitStatement","src":"10753:37:69"}]},"documentation":{"id":56340,"nodeType":"StructuredDocumentation","src":"10040:412:69","text":" @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n This internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address."},"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"10466:8:69","parameters":{"id":56347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56342,"mutability":"mutable","name":"owner","nameLocation":"10483:5:69","nodeType":"VariableDeclaration","scope":56384,"src":"10475:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56341,"name":"address","nodeType":"ElementaryTypeName","src":"10475:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56344,"mutability":"mutable","name":"spender","nameLocation":"10498:7:69","nodeType":"VariableDeclaration","scope":56384,"src":"10490:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56343,"name":"address","nodeType":"ElementaryTypeName","src":"10490:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56346,"mutability":"mutable","name":"amount","nameLocation":"10515:6:69","nodeType":"VariableDeclaration","scope":56384,"src":"10507:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56345,"name":"uint256","nodeType":"ElementaryTypeName","src":"10507:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10474:48:69"},"returnParameters":{"id":56348,"nodeType":"ParameterList","parameters":[],"src":"10540:0:69"},"scope":56450,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56427,"nodeType":"FunctionDefinition","src":"11078:411:69","nodes":[],"body":{"id":56426,"nodeType":"Block","src":"11168:321:69","nodes":[],"statements":[{"assignments":[56395],"declarations":[{"constant":false,"id":56395,"mutability":"mutable","name":"currentAllowance","nameLocation":"11186:16:69","nodeType":"VariableDeclaration","scope":56426,"src":"11178:24:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56394,"name":"uint256","nodeType":"ElementaryTypeName","src":"11178:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56400,"initialValue":{"arguments":[{"id":56397,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56387,"src":"11215:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56398,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56389,"src":"11222:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":56396,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56005,"src":"11205:9:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":56399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11205:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11178:52:69"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56401,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56395,"src":"11244:16:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"arguments":[{"id":56404,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11269:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":56403,"name":"uint256","nodeType":"ElementaryTypeName","src":"11269:7:69","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":56402,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11264:4:69","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":56405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11264:13:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":56406,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11278:3:69","memberName":"max","nodeType":"MemberAccess","src":"11264:17:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11244:37:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56425,"nodeType":"IfStatement","src":"11240:243:69","trueBody":{"id":56424,"nodeType":"Block","src":"11283:200:69","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56409,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56395,"src":"11305:16:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56410,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56391,"src":"11325:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11305:26:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20696e73756666696369656e7420616c6c6f77616e6365","id":56412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11333:31:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe","typeString":"literal_string \"ERC20: insufficient allowance\""},"value":"ERC20: insufficient allowance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe","typeString":"literal_string \"ERC20: insufficient allowance\""}],"id":56408,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11297:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11297:68:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56414,"nodeType":"ExpressionStatement","src":"11297:68:69"},{"id":56423,"nodeType":"UncheckedBlock","src":"11379:94:69","statements":[{"expression":{"arguments":[{"id":56416,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56387,"src":"11416:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56417,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56389,"src":"11423:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56418,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56395,"src":"11432:16:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56419,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56391,"src":"11451:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11432:25:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56415,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56384,"src":"11407:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11407:51:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56422,"nodeType":"ExpressionStatement","src":"11407:51:69"}]}]}}]},"documentation":{"id":56385,"nodeType":"StructuredDocumentation","src":"10803:270:69","text":" @dev Updates `owner` s allowance for `spender` based on spent `amount`.\n Does not update the allowance amount in case of infinite allowance.\n Revert if not enough allowance is available.\n Might emit an {Approval} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_spendAllowance","nameLocation":"11087:15:69","parameters":{"id":56392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56387,"mutability":"mutable","name":"owner","nameLocation":"11111:5:69","nodeType":"VariableDeclaration","scope":56427,"src":"11103:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56386,"name":"address","nodeType":"ElementaryTypeName","src":"11103:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56389,"mutability":"mutable","name":"spender","nameLocation":"11126:7:69","nodeType":"VariableDeclaration","scope":56427,"src":"11118:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56388,"name":"address","nodeType":"ElementaryTypeName","src":"11118:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56391,"mutability":"mutable","name":"amount","nameLocation":"11143:6:69","nodeType":"VariableDeclaration","scope":56427,"src":"11135:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56390,"name":"uint256","nodeType":"ElementaryTypeName","src":"11135:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11102:48:69"},"returnParameters":{"id":56393,"nodeType":"ParameterList","parameters":[],"src":"11168:0:69"},"scope":56450,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56438,"nodeType":"FunctionDefinition","src":"12073:91:69","nodes":[],"body":{"id":56437,"nodeType":"Block","src":"12162:2:69","nodes":[],"statements":[]},"documentation":{"id":56428,"nodeType":"StructuredDocumentation","src":"11495:573:69","text":" @dev Hook that is called before any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"12082:20:69","parameters":{"id":56435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56430,"mutability":"mutable","name":"from","nameLocation":"12111:4:69","nodeType":"VariableDeclaration","scope":56438,"src":"12103:12:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56429,"name":"address","nodeType":"ElementaryTypeName","src":"12103:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56432,"mutability":"mutable","name":"to","nameLocation":"12125:2:69","nodeType":"VariableDeclaration","scope":56438,"src":"12117:10:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56431,"name":"address","nodeType":"ElementaryTypeName","src":"12117:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56434,"mutability":"mutable","name":"amount","nameLocation":"12137:6:69","nodeType":"VariableDeclaration","scope":56438,"src":"12129:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56433,"name":"uint256","nodeType":"ElementaryTypeName","src":"12129:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12102:42:69"},"returnParameters":{"id":56436,"nodeType":"ParameterList","parameters":[],"src":"12162:0:69"},"scope":56450,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56449,"nodeType":"FunctionDefinition","src":"12752:90:69","nodes":[],"body":{"id":56448,"nodeType":"Block","src":"12840:2:69","nodes":[],"statements":[]},"documentation":{"id":56439,"nodeType":"StructuredDocumentation","src":"12170:577:69","text":" @dev Hook that is called after any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n has been transferred to `to`.\n - when `from` is zero, `amount` tokens have been minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"implemented":true,"kind":"function","modifiers":[],"name":"_afterTokenTransfer","nameLocation":"12761:19:69","parameters":{"id":56446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56441,"mutability":"mutable","name":"from","nameLocation":"12789:4:69","nodeType":"VariableDeclaration","scope":56449,"src":"12781:12:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56440,"name":"address","nodeType":"ElementaryTypeName","src":"12781:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56443,"mutability":"mutable","name":"to","nameLocation":"12803:2:69","nodeType":"VariableDeclaration","scope":56449,"src":"12795:10:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56442,"name":"address","nodeType":"ElementaryTypeName","src":"12795:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56445,"mutability":"mutable","name":"amount","nameLocation":"12815:6:69","nodeType":"VariableDeclaration","scope":56449,"src":"12807:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56444,"name":"uint256","nodeType":"ElementaryTypeName","src":"12807:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12780:42:69"},"returnParameters":{"id":56447,"nodeType":"ParameterList","parameters":[],"src":"12840:0:69"},"scope":56450,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":55870,"name":"Context","nameLocations":["1550:7:69"],"nodeType":"IdentifierPath","referencedDeclaration":57362,"src":"1550:7:69"},"id":55871,"nodeType":"InheritanceSpecifier","src":"1550:7:69"},{"baseName":{"id":55872,"name":"IERC20","nameLocations":["1559:6:69"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"1559:6:69"},"id":55873,"nodeType":"InheritanceSpecifier","src":"1559:6:69"},{"baseName":{"id":55874,"name":"IERC20Metadata","nameLocations":["1567:14:69"],"nodeType":"IdentifierPath","referencedDeclaration":56553,"src":"1567:14:69"},"id":55875,"nodeType":"InheritanceSpecifier","src":"1567:14:69"}],"canonicalName":"ERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":55869,"nodeType":"StructuredDocumentation","src":"230:1301:69","text":" @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n For a generic mechanism see {ERC20PresetMinterPauser}.\n TIP: For a detailed writeup see our guide\n https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n The default value of {decimals} is 18. To change this, you should override\n this function so it returns a different value.\n We have followed general OpenZeppelin Contracts guidelines: functions revert\n instead returning `false` on failure. This behavior is nonetheless\n conventional and does not conflict with the expectations of ERC20\n applications.\n Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n This allows applications to reconstruct the allowance for all accounts just\n by listening to said events. Other implementations of the EIP may not emit\n these events, as it isn't required by the specification.\n Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n functions have been added to mitigate the well-known issues around setting\n allowances. See {IERC20-approve}."},"fullyImplemented":true,"linearizedBaseContracts":[56450,56553,56528,57362],"name":"ERC20","nameLocation":"1541:5:69","scope":56451,"usedErrors":[]}],"license":"MIT"},"id":69} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"subtractedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"addedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b5060405162000b3638038062000b3683398101604081905262000034916200011f565b600362000042838262000218565b50600462000051828262000218565b505050620002e4565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008257600080fd5b81516001600160401b03808211156200009f576200009f6200005a565b604051601f8301601f19908116603f01168101908282118183101715620000ca57620000ca6200005a565b81604052838152602092508683858801011115620000e757600080fd5b600091505b838210156200010b5785820183015181830184015290820190620000ec565b600093810190920192909252949350505050565b600080604083850312156200013357600080fd5b82516001600160401b03808211156200014b57600080fd5b620001598683870162000070565b935060208501519150808211156200017057600080fd5b506200017f8582860162000070565b9150509250929050565b600181811c908216806200019e57607f821691505b602082108103620001bf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200021357600081815260208120601f850160051c81016020861015620001ee5750805b601f850160051c820191505b818110156200020f57828155600101620001fa565b5050505b505050565b81516001600160401b038111156200023457620002346200005a565b6200024c8162000245845462000189565b84620001c5565b602080601f8311600181146200028457600084156200026b5750858301515b600019600386901b1c1916600185901b1785556200020f565b600085815260208120601f198616915b82811015620002b55788860151825594840194600190910190840162000294565b5085821015620002d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61084280620002f46000396000f3fe608060405234801561001057600080fd5b50600436106100995760003560e01c806306fdde031461009e578063095ea7b3146100bc57806318160ddd146100df57806323b872dd146100f1578063313ce56714610104578063395093511461011357806370a082311461012657806395d89b411461014f578063a457c2d714610157578063a9059cbb1461016a578063dd62ed3e1461017d575b600080fd5b6100a6610190565b6040516100b3919061068c565b60405180910390f35b6100cf6100ca3660046106f6565b610222565b60405190151581526020016100b3565b6002545b6040519081526020016100b3565b6100cf6100ff366004610720565b61023c565b604051601281526020016100b3565b6100cf6101213660046106f6565b610260565b6100e361013436600461075c565b6001600160a01b031660009081526020819052604090205490565b6100a6610282565b6100cf6101653660046106f6565b610291565b6100cf6101783660046106f6565b610311565b6100e361018b36600461077e565b61031f565b60606003805461019f906107b1565b80601f01602080910402602001604051908101604052809291908181526020018280546101cb906107b1565b80156102185780601f106101ed57610100808354040283529160200191610218565b820191906000526020600020905b8154815290600101906020018083116101fb57829003601f168201915b5050505050905090565b60003361023081858561034a565b60019150505b92915050565b60003361024a85828561046e565b6102558585856104e8565b506001949350505050565b600033610230818585610273838361031f565b61027d91906107eb565b61034a565b60606004805461019f906107b1565b6000338161029f828661031f565b9050838110156103045760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610255828686840361034a565b6000336102308185856104e8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103ac5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016102fb565b6001600160a01b03821661040d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016102fb565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061047a848461031f565b905060001981146104e257818110156104d55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016102fb565b6104e2848484840361034a565b50505050565b6001600160a01b03831661054c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016102fb565b6001600160a01b0382166105ae5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016102fb565b6001600160a01b038316600090815260208190526040902054818110156106265760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016102fb565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104e2565b600060208083528351808285015260005b818110156106b95785810183015185820160400152820161069d565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146106f157600080fd5b919050565b6000806040838503121561070957600080fd5b610712836106da565b946020939093013593505050565b60008060006060848603121561073557600080fd5b61073e846106da565b925061074c602085016106da565b9150604084013590509250925092565b60006020828403121561076e57600080fd5b610777826106da565b9392505050565b6000806040838503121561079157600080fd5b61079a836106da565b91506107a8602084016106da565b90509250929050565b600181811c908216806107c557607f821691505b6020821081036107e557634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561023657634e487b7160e01b600052601160045260246000fdfea2646970667358221220474b8b542e4c9c1375481ff90b96486dbb0b828db5af546a104c5e919c6b64e764736f6c63430008130033","sourceMap":"1532:11312:69:-:0;;;1980:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2046:5;:13;2054:5;2046;:13;:::i;:::-;-1:-1:-1;2069:7:69;:17;2079:7;2069;:17;:::i;:::-;;1980:113;;1532:11312;;14:127:142;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:840;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:142;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:142;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;954:1;932:15;;;928:24;;;921:35;;;;936:6;146:840;-1:-1:-1;;;;146:840:142:o;991:562::-;1090:6;1098;1151:2;1139:9;1130:7;1126:23;1122:32;1119:52;;;1167:1;1164;1157:12;1119:52;1194:16;;-1:-1:-1;;;;;1259:14:142;;;1256:34;;;1286:1;1283;1276:12;1256:34;1309:61;1362:7;1353:6;1342:9;1338:22;1309:61;:::i;:::-;1299:71;;1416:2;1405:9;1401:18;1395:25;1379:41;;1445:2;1435:8;1432:16;1429:36;;;1461:1;1458;1451:12;1429:36;;1484:63;1539:7;1528:8;1517:9;1513:24;1484:63;:::i;:::-;1474:73;;;991:562;;;;;:::o;1558:380::-;1637:1;1633:12;;;;1680;;;1701:61;;1755:4;1747:6;1743:17;1733:27;;1701:61;1808:2;1800:6;1797:14;1777:18;1774:38;1771:161;;1854:10;1849:3;1845:20;1842:1;1835:31;1889:4;1886:1;1879:15;1917:4;1914:1;1907:15;1771:161;;1558:380;;;:::o;2069:545::-;2171:2;2166:3;2163:11;2160:448;;;2207:1;2232:5;2228:2;2221:17;2277:4;2273:2;2263:19;2347:2;2335:10;2331:19;2328:1;2324:27;2318:4;2314:38;2383:4;2371:10;2368:20;2365:47;;;-1:-1:-1;2406:4:142;2365:47;2461:2;2456:3;2452:12;2449:1;2445:20;2439:4;2435:31;2425:41;;2516:82;2534:2;2527:5;2524:13;2516:82;;;2579:17;;;2560:1;2549:13;2516:82;;;2520:3;;;2160:448;2069:545;;;:::o;2790:1352::-;2910:10;;-1:-1:-1;;;;;2932:30:142;;2929:56;;;2965:18;;:::i;:::-;2994:97;3084:6;3044:38;3076:4;3070:11;3044:38;:::i;:::-;3038:4;2994:97;:::i;:::-;3146:4;;3210:2;3199:14;;3227:1;3222:663;;;;3929:1;3946:6;3943:89;;;-1:-1:-1;3998:19:142;;;3992:26;3943:89;-1:-1:-1;;2747:1:142;2743:11;;;2739:24;2735:29;2725:40;2771:1;2767:11;;;2722:57;4045:81;;3192:944;;3222:663;2016:1;2009:14;;;2053:4;2040:18;;-1:-1:-1;;3258:20:142;;;3376:236;3390:7;3387:1;3384:14;3376:236;;;3479:19;;;3473:26;3458:42;;3571:27;;;;3539:1;3527:14;;;;3406:19;;3376:236;;;3380:3;3640:6;3631:7;3628:19;3625:201;;;3701:19;;;3695:26;-1:-1:-1;;3784:1:142;3780:14;;;3796:3;3776:24;3772:37;3768:42;3753:58;3738:74;;3625:201;-1:-1:-1;;;;;3872:1:142;3856:14;;;3852:22;3839:36;;-1:-1:-1;2790:1352:142:o;:::-;1532:11312:69;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100995760003560e01c806306fdde031461009e578063095ea7b3146100bc57806318160ddd146100df57806323b872dd146100f1578063313ce56714610104578063395093511461011357806370a082311461012657806395d89b411461014f578063a457c2d714610157578063a9059cbb1461016a578063dd62ed3e1461017d575b600080fd5b6100a6610190565b6040516100b3919061068c565b60405180910390f35b6100cf6100ca3660046106f6565b610222565b60405190151581526020016100b3565b6002545b6040519081526020016100b3565b6100cf6100ff366004610720565b61023c565b604051601281526020016100b3565b6100cf6101213660046106f6565b610260565b6100e361013436600461075c565b6001600160a01b031660009081526020819052604090205490565b6100a6610282565b6100cf6101653660046106f6565b610291565b6100cf6101783660046106f6565b610311565b6100e361018b36600461077e565b61031f565b60606003805461019f906107b1565b80601f01602080910402602001604051908101604052809291908181526020018280546101cb906107b1565b80156102185780601f106101ed57610100808354040283529160200191610218565b820191906000526020600020905b8154815290600101906020018083116101fb57829003601f168201915b5050505050905090565b60003361023081858561034a565b60019150505b92915050565b60003361024a85828561046e565b6102558585856104e8565b506001949350505050565b600033610230818585610273838361031f565b61027d91906107eb565b61034a565b60606004805461019f906107b1565b6000338161029f828661031f565b9050838110156103045760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610255828686840361034a565b6000336102308185856104e8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103ac5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016102fb565b6001600160a01b03821661040d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016102fb565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061047a848461031f565b905060001981146104e257818110156104d55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016102fb565b6104e2848484840361034a565b50505050565b6001600160a01b03831661054c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016102fb565b6001600160a01b0382166105ae5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016102fb565b6001600160a01b038316600090815260208190526040902054818110156106265760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016102fb565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104e2565b600060208083528351808285015260005b818110156106b95785810183015185820160400152820161069d565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146106f157600080fd5b919050565b6000806040838503121561070957600080fd5b610712836106da565b946020939093013593505050565b60008060006060848603121561073557600080fd5b61073e846106da565b925061074c602085016106da565b9150604084013590509250925092565b60006020828403121561076e57600080fd5b610777826106da565b9392505050565b6000806040838503121561079157600080fd5b61079a836106da565b91506107a8602084016106da565b90509250929050565b600181811c908216806107c557607f821691505b6020821081036107e557634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561023657634e487b7160e01b600052601160045260246000fdfea2646970667358221220474b8b542e4c9c1375481ff90b96486dbb0b828db5af546a104c5e919c6b64e764736f6c63430008130033","sourceMap":"1532:11312:69:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4444:197;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:142;;1162:22;1144:41;;1132:2;1117:18;4444:197:69;1004:187:142;3255:106:69;3342:12;;3255:106;;;1342:25:142;;;1330:2;1315:18;3255:106:69;1196:177:142;5203:256:69;;;;;;:::i;:::-;;:::i;3104:91::-;;;3186:2;1853:36:142;;1841:2;1826:18;3104:91:69;1711:184:142;5854:234:69;;;;;;:::i;:::-;;:::i;3419:125::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3519:18:69;3493:7;3519:18;;;;;;;;;;;;3419:125;2369:102;;;:::i;6575:427::-;;;;;;:::i;:::-;;:::i;3740:189::-;;;;;;:::i;:::-;;:::i;3987:149::-;;;;;;:::i;:::-;;:::i;2158:98::-;2212:13;2244:5;2237:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98;:::o;4444:197::-;4527:4;719:10:77;4581:32:69;719:10:77;4597:7:69;4606:6;4581:8;:32::i;:::-;4630:4;4623:11;;;4444:197;;;;;:::o;5203:256::-;5300:4;719:10:77;5356:38:69;5372:4;719:10:77;5387:6:69;5356:15;:38::i;:::-;5404:27;5414:4;5420:2;5424:6;5404:9;:27::i;:::-;-1:-1:-1;5448:4:69;;5203:256;-1:-1:-1;;;;5203:256:69:o;5854:234::-;5942:4;719:10:77;5996:64:69;719:10:77;6012:7:69;6049:10;6021:25;719:10:77;6012:7:69;6021:9;:25::i;:::-;:38;;;;:::i;:::-;5996:8;:64::i;2369:102::-;2425:13;2457:7;2450:14;;;;;:::i;6575:427::-;6668:4;719:10:77;6668:4:69;6749:25;719:10:77;6766:7:69;6749:9;:25::i;:::-;6722:52;;6812:15;6792:16;:35;;6784:85;;;;-1:-1:-1;;;6784:85:69;;3170:2:142;6784:85:69;;;3152:21:142;3209:2;3189:18;;;3182:30;3248:34;3228:18;;;3221:62;-1:-1:-1;;;3299:18:142;;;3292:35;3344:19;;6784:85:69;;;;;;;;;6903:60;6912:5;6919:7;6947:15;6928:16;:34;6903:8;:60::i;3740:189::-;3819:4;719:10:77;3873:28:69;719:10:77;3890:2:69;3894:6;3873:9;:28::i;3987:149::-;-1:-1:-1;;;;;4102:18:69;;;4076:7;4102:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3987:149::o;10457:340::-;-1:-1:-1;;;;;10558:19:69;;10550:68;;;;-1:-1:-1;;;10550:68:69;;3576:2:142;10550:68:69;;;3558:21:142;3615:2;3595:18;;;3588:30;3654:34;3634:18;;;3627:62;-1:-1:-1;;;3705:18:142;;;3698:34;3749:19;;10550:68:69;3374:400:142;10550:68:69;-1:-1:-1;;;;;10636:21:69;;10628:68;;;;-1:-1:-1;;;10628:68:69;;3981:2:142;10628:68:69;;;3963:21:142;4020:2;4000:18;;;3993:30;4059:34;4039:18;;;4032:62;-1:-1:-1;;;4110:18:142;;;4103:32;4152:19;;10628:68:69;3779:398:142;10628:68:69;-1:-1:-1;;;;;10707:18:69;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10758:32;;1342:25:142;;;10758:32:69;;1315:18:142;10758:32:69;;;;;;;10457:340;;;:::o;11078:411::-;11178:24;11205:25;11215:5;11222:7;11205:9;:25::i;:::-;11178:52;;-1:-1:-1;;11244:16:69;:37;11240:243;;11325:6;11305:16;:26;;11297:68;;;;-1:-1:-1;;;11297:68:69;;4384:2:142;11297:68:69;;;4366:21:142;4423:2;4403:18;;;4396:30;4462:31;4442:18;;;4435:59;4511:18;;11297:68:69;4182:353:142;11297:68:69;11407:51;11416:5;11423:7;11451:6;11432:16;:25;11407:8;:51::i;:::-;11168:321;11078:411;;;:::o;7456:788::-;-1:-1:-1;;;;;7552:18:69;;7544:68;;;;-1:-1:-1;;;7544:68:69;;4742:2:142;7544:68:69;;;4724:21:142;4781:2;4761:18;;;4754:30;4820:34;4800:18;;;4793:62;-1:-1:-1;;;4871:18:142;;;4864:35;4916:19;;7544:68:69;4540:401:142;7544:68:69;-1:-1:-1;;;;;7630:16:69;;7622:64;;;;-1:-1:-1;;;7622:64:69;;5148:2:142;7622:64:69;;;5130:21:142;5187:2;5167:18;;;5160:30;5226:34;5206:18;;;5199:62;-1:-1:-1;;;5277:18:142;;;5270:33;5320:19;;7622:64:69;4946:399:142;7622:64:69;-1:-1:-1;;;;;7768:15:69;;7746:19;7768:15;;;;;;;;;;;7801:21;;;;7793:72;;;;-1:-1:-1;;;7793:72:69;;5552:2:142;7793:72:69;;;5534:21:142;5591:2;5571:18;;;5564:30;5630:34;5610:18;;;5603:62;-1:-1:-1;;;5681:18:142;;;5674:36;5727:19;;7793:72:69;5350:402:142;7793:72:69;-1:-1:-1;;;;;7899:15:69;;;:9;:15;;;;;;;;;;;7917:20;;;7899:38;;8114:13;;;;;;;;;;:23;;;;;;8163:26;;1342:25:142;;;8114:13:69;;8163:26;;1315:18:142;8163:26:69;;;;;;;8200:37;12073:91;14:548:142;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:142;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:142:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:186::-;1959:6;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;2051:29;2070:9;2051:29;:::i;:::-;2041:39;1900:186;-1:-1:-1;;;1900:186:142:o;2091:260::-;2159:6;2167;2220:2;2208:9;2199:7;2195:23;2191:32;2188:52;;;2236:1;2233;2226:12;2188:52;2259:29;2278:9;2259:29;:::i;:::-;2249:39;;2307:38;2341:2;2330:9;2326:18;2307:38;:::i;:::-;2297:48;;2091:260;;;;;:::o;2356:380::-;2435:1;2431:12;;;;2478;;;2499:61;;2553:4;2545:6;2541:17;2531:27;;2499:61;2606:2;2598:6;2595:14;2575:18;2572:38;2569:161;;2652:10;2647:3;2643:20;2640:1;2633:31;2687:4;2684:1;2677:15;2715:4;2712:1;2705:15;2569:161;;2356:380;;;:::o;2741:222::-;2806:9;;;2827:10;;;2824:133;;;2879:10;2874:3;2870:20;2867:1;2860:31;2914:4;2911:1;2904:15;2942:4;2939:1;2932:15","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","increaseAllowance(address,uint256)":"39509351","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. The default value of {decimals} is 18. To change this, you should override this function so it returns a different value. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"See {IERC20-balanceOf}."},"constructor":{"details":"Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction."},"decimals()":{"details":"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."},"name()":{"details":"Returns the name of the token."},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":"ERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":55879,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_balances","offset":0,"slot":"0","type":"t_mapping(t_address,t_uint256)"},{"astId":55885,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_allowances","offset":0,"slot":"1","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":55887,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_totalSupply","offset":0,"slot":"2","type":"t_uint256"},{"astId":55889,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_name","offset":0,"slot":"3","type":"t_string_storage"},{"astId":55891,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_symbol","offset":0,"slot":"4","type":"t_string_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","id":56451,"exportedSymbols":{"Context":[57362],"ERC20":[56450],"IERC20":[56528],"IERC20Metadata":[56553]},"nodeType":"SourceUnit","src":"105:12740:69","nodes":[{"id":55865,"nodeType":"PragmaDirective","src":"105:23:69","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":55866,"nodeType":"ImportDirective","src":"130:22:69","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"./IERC20.sol","nameLocation":"-1:-1:-1","scope":56451,"sourceUnit":56529,"symbolAliases":[],"unitAlias":""},{"id":55867,"nodeType":"ImportDirective","src":"153:41:69","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol","file":"./extensions/IERC20Metadata.sol","nameLocation":"-1:-1:-1","scope":56451,"sourceUnit":56554,"symbolAliases":[],"unitAlias":""},{"id":55868,"nodeType":"ImportDirective","src":"195:33:69","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Context.sol","file":"../../utils/Context.sol","nameLocation":"-1:-1:-1","scope":56451,"sourceUnit":57363,"symbolAliases":[],"unitAlias":""},{"id":56450,"nodeType":"ContractDefinition","src":"1532:11312:69","nodes":[{"id":55879,"nodeType":"VariableDeclaration","src":"1588:45:69","nodes":[],"constant":false,"mutability":"mutable","name":"_balances","nameLocation":"1624:9:69","scope":56450,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":55878,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":55876,"name":"address","nodeType":"ElementaryTypeName","src":"1596:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1588:27:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":55877,"name":"uint256","nodeType":"ElementaryTypeName","src":"1607:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"id":55885,"nodeType":"VariableDeclaration","src":"1640:67:69","nodes":[],"constant":false,"mutability":"mutable","name":"_allowances","nameLocation":"1696:11:69","scope":56450,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":55884,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":55880,"name":"address","nodeType":"ElementaryTypeName","src":"1648:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1640:47:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":55883,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":55881,"name":"address","nodeType":"ElementaryTypeName","src":"1667:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1659:27:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":55882,"name":"uint256","nodeType":"ElementaryTypeName","src":"1678:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"private"},{"id":55887,"nodeType":"VariableDeclaration","src":"1714:28:69","nodes":[],"constant":false,"mutability":"mutable","name":"_totalSupply","nameLocation":"1730:12:69","scope":56450,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55886,"name":"uint256","nodeType":"ElementaryTypeName","src":"1714:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":55889,"nodeType":"VariableDeclaration","src":"1749:20:69","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"1764:5:69","scope":56450,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":55888,"name":"string","nodeType":"ElementaryTypeName","src":"1749:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"id":55891,"nodeType":"VariableDeclaration","src":"1775:22:69","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"1790:7:69","scope":56450,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":55890,"name":"string","nodeType":"ElementaryTypeName","src":"1775:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"id":55908,"nodeType":"FunctionDefinition","src":"1980:113:69","nodes":[],"body":{"id":55907,"nodeType":"Block","src":"2036:57:69","nodes":[],"statements":[{"expression":{"id":55901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":55899,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55889,"src":"2046:5:69","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":55900,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55894,"src":"2054:5:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2046:13:69","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":55902,"nodeType":"ExpressionStatement","src":"2046:13:69"},{"expression":{"id":55905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":55903,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55891,"src":"2069:7:69","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":55904,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55896,"src":"2079:7:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2069:17:69","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":55906,"nodeType":"ExpressionStatement","src":"2069:17:69"}]},"documentation":{"id":55892,"nodeType":"StructuredDocumentation","src":"1804:171:69","text":" @dev Sets the values for {name} and {symbol}.\n All two of these values are immutable: they can only be set once during\n construction."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":55897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55894,"mutability":"mutable","name":"name_","nameLocation":"2006:5:69","nodeType":"VariableDeclaration","scope":55908,"src":"1992:19:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55893,"name":"string","nodeType":"ElementaryTypeName","src":"1992:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55896,"mutability":"mutable","name":"symbol_","nameLocation":"2027:7:69","nodeType":"VariableDeclaration","scope":55908,"src":"2013:21:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55895,"name":"string","nodeType":"ElementaryTypeName","src":"2013:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1991:44:69"},"returnParameters":{"id":55898,"nodeType":"ParameterList","parameters":[],"src":"2036:0:69"},"scope":56450,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":55918,"nodeType":"FunctionDefinition","src":"2158:98:69","nodes":[],"body":{"id":55917,"nodeType":"Block","src":"2227:29:69","nodes":[],"statements":[{"expression":{"id":55915,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55889,"src":"2244:5:69","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":55914,"id":55916,"nodeType":"Return","src":"2237:12:69"}]},"baseFunctions":[56540],"documentation":{"id":55909,"nodeType":"StructuredDocumentation","src":"2099:54:69","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"2167:4:69","overrides":{"id":55911,"nodeType":"OverrideSpecifier","overrides":[],"src":"2194:8:69"},"parameters":{"id":55910,"nodeType":"ParameterList","parameters":[],"src":"2171:2:69"},"returnParameters":{"id":55914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55913,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55918,"src":"2212:13:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55912,"name":"string","nodeType":"ElementaryTypeName","src":"2212:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2211:15:69"},"scope":56450,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":55928,"nodeType":"FunctionDefinition","src":"2369:102:69","nodes":[],"body":{"id":55927,"nodeType":"Block","src":"2440:31:69","nodes":[],"statements":[{"expression":{"id":55925,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55891,"src":"2457:7:69","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":55924,"id":55926,"nodeType":"Return","src":"2450:14:69"}]},"baseFunctions":[56546],"documentation":{"id":55919,"nodeType":"StructuredDocumentation","src":"2262:102:69","text":" @dev Returns the symbol of the token, usually a shorter version of the\n name."},"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"2378:6:69","overrides":{"id":55921,"nodeType":"OverrideSpecifier","overrides":[],"src":"2407:8:69"},"parameters":{"id":55920,"nodeType":"ParameterList","parameters":[],"src":"2384:2:69"},"returnParameters":{"id":55924,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55923,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55928,"src":"2425:13:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55922,"name":"string","nodeType":"ElementaryTypeName","src":"2425:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2424:15:69"},"scope":56450,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":55938,"nodeType":"FunctionDefinition","src":"3104:91:69","nodes":[],"body":{"id":55937,"nodeType":"Block","src":"3169:26:69","nodes":[],"statements":[{"expression":{"hexValue":"3138","id":55935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3186:2:69","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"functionReturnParameters":55934,"id":55936,"nodeType":"Return","src":"3179:9:69"}]},"baseFunctions":[56552],"documentation":{"id":55929,"nodeType":"StructuredDocumentation","src":"2477:622:69","text":" @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5.05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the default value returned by this function, unless\n it's overridden.\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}."},"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"3113:8:69","overrides":{"id":55931,"nodeType":"OverrideSpecifier","overrides":[],"src":"3144:8:69"},"parameters":{"id":55930,"nodeType":"ParameterList","parameters":[],"src":"3121:2:69"},"returnParameters":{"id":55934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55933,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55938,"src":"3162:5:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":55932,"name":"uint8","nodeType":"ElementaryTypeName","src":"3162:5:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"3161:7:69"},"scope":56450,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":55948,"nodeType":"FunctionDefinition","src":"3255:106:69","nodes":[],"body":{"id":55947,"nodeType":"Block","src":"3325:36:69","nodes":[],"statements":[{"expression":{"id":55945,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55887,"src":"3342:12:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":55944,"id":55946,"nodeType":"Return","src":"3335:19:69"}]},"baseFunctions":[56477],"documentation":{"id":55939,"nodeType":"StructuredDocumentation","src":"3201:49:69","text":" @dev See {IERC20-totalSupply}."},"functionSelector":"18160ddd","implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"3264:11:69","overrides":{"id":55941,"nodeType":"OverrideSpecifier","overrides":[],"src":"3298:8:69"},"parameters":{"id":55940,"nodeType":"ParameterList","parameters":[],"src":"3275:2:69"},"returnParameters":{"id":55944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55943,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55948,"src":"3316:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55942,"name":"uint256","nodeType":"ElementaryTypeName","src":"3316:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3315:9:69"},"scope":56450,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":55962,"nodeType":"FunctionDefinition","src":"3419:125:69","nodes":[],"body":{"id":55961,"nodeType":"Block","src":"3502:42:69","nodes":[],"statements":[{"expression":{"baseExpression":{"id":55957,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55879,"src":"3519:9:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":55959,"indexExpression":{"id":55958,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55951,"src":"3529:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3519:18:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":55956,"id":55960,"nodeType":"Return","src":"3512:25:69"}]},"baseFunctions":[56485],"documentation":{"id":55949,"nodeType":"StructuredDocumentation","src":"3367:47:69","text":" @dev See {IERC20-balanceOf}."},"functionSelector":"70a08231","implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"3428:9:69","overrides":{"id":55953,"nodeType":"OverrideSpecifier","overrides":[],"src":"3475:8:69"},"parameters":{"id":55952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55951,"mutability":"mutable","name":"account","nameLocation":"3446:7:69","nodeType":"VariableDeclaration","scope":55962,"src":"3438:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55950,"name":"address","nodeType":"ElementaryTypeName","src":"3438:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3437:17:69"},"returnParameters":{"id":55956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55955,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55962,"src":"3493:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55954,"name":"uint256","nodeType":"ElementaryTypeName","src":"3493:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3492:9:69"},"scope":56450,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":55987,"nodeType":"FunctionDefinition","src":"3740:189:69","nodes":[],"body":{"id":55986,"nodeType":"Block","src":"3825:104:69","nodes":[],"statements":[{"assignments":[55974],"declarations":[{"constant":false,"id":55974,"mutability":"mutable","name":"owner","nameLocation":"3843:5:69","nodeType":"VariableDeclaration","scope":55986,"src":"3835:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55973,"name":"address","nodeType":"ElementaryTypeName","src":"3835:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":55977,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":55975,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57352,"src":"3851:10:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":55976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3851:12:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3835:28:69"},{"expression":{"arguments":[{"id":55979,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55974,"src":"3883:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55980,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55965,"src":"3890:2:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55981,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55967,"src":"3894:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55978,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56210,"src":"3873:9:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3873:28:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55983,"nodeType":"ExpressionStatement","src":"3873:28:69"},{"expression":{"hexValue":"74727565","id":55984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3918:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":55972,"id":55985,"nodeType":"Return","src":"3911:11:69"}]},"baseFunctions":[56495],"documentation":{"id":55963,"nodeType":"StructuredDocumentation","src":"3550:185:69","text":" @dev See {IERC20-transfer}.\n Requirements:\n - `to` cannot be the zero address.\n - the caller must have a balance of at least `amount`."},"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"3749:8:69","overrides":{"id":55969,"nodeType":"OverrideSpecifier","overrides":[],"src":"3801:8:69"},"parameters":{"id":55968,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55965,"mutability":"mutable","name":"to","nameLocation":"3766:2:69","nodeType":"VariableDeclaration","scope":55987,"src":"3758:10:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55964,"name":"address","nodeType":"ElementaryTypeName","src":"3758:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55967,"mutability":"mutable","name":"amount","nameLocation":"3778:6:69","nodeType":"VariableDeclaration","scope":55987,"src":"3770:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55966,"name":"uint256","nodeType":"ElementaryTypeName","src":"3770:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3757:28:69"},"returnParameters":{"id":55972,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55971,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55987,"src":"3819:4:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55970,"name":"bool","nodeType":"ElementaryTypeName","src":"3819:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3818:6:69"},"scope":56450,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56005,"nodeType":"FunctionDefinition","src":"3987:149:69","nodes":[],"body":{"id":56004,"nodeType":"Block","src":"4085:51:69","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":55998,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55885,"src":"4102:11:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":56000,"indexExpression":{"id":55999,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55990,"src":"4114:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4102:18:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56002,"indexExpression":{"id":56001,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55992,"src":"4121:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4102:27:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":55997,"id":56003,"nodeType":"Return","src":"4095:34:69"}]},"baseFunctions":[56505],"documentation":{"id":55988,"nodeType":"StructuredDocumentation","src":"3935:47:69","text":" @dev See {IERC20-allowance}."},"functionSelector":"dd62ed3e","implemented":true,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"3996:9:69","overrides":{"id":55994,"nodeType":"OverrideSpecifier","overrides":[],"src":"4058:8:69"},"parameters":{"id":55993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55990,"mutability":"mutable","name":"owner","nameLocation":"4014:5:69","nodeType":"VariableDeclaration","scope":56005,"src":"4006:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55989,"name":"address","nodeType":"ElementaryTypeName","src":"4006:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55992,"mutability":"mutable","name":"spender","nameLocation":"4029:7:69","nodeType":"VariableDeclaration","scope":56005,"src":"4021:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55991,"name":"address","nodeType":"ElementaryTypeName","src":"4021:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4005:32:69"},"returnParameters":{"id":55997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55996,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56005,"src":"4076:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55995,"name":"uint256","nodeType":"ElementaryTypeName","src":"4076:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4075:9:69"},"scope":56450,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":56030,"nodeType":"FunctionDefinition","src":"4444:197:69","nodes":[],"body":{"id":56029,"nodeType":"Block","src":"4533:108:69","nodes":[],"statements":[{"assignments":[56017],"declarations":[{"constant":false,"id":56017,"mutability":"mutable","name":"owner","nameLocation":"4551:5:69","nodeType":"VariableDeclaration","scope":56029,"src":"4543:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56016,"name":"address","nodeType":"ElementaryTypeName","src":"4543:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56020,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":56018,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57352,"src":"4559:10:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":56019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4559:12:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4543:28:69"},{"expression":{"arguments":[{"id":56022,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56017,"src":"4590:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56023,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56008,"src":"4597:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56024,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56010,"src":"4606:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56021,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56384,"src":"4581:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4581:32:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56026,"nodeType":"ExpressionStatement","src":"4581:32:69"},{"expression":{"hexValue":"74727565","id":56027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4630:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":56015,"id":56028,"nodeType":"Return","src":"4623:11:69"}]},"baseFunctions":[56515],"documentation":{"id":56006,"nodeType":"StructuredDocumentation","src":"4142:297:69","text":" @dev See {IERC20-approve}.\n NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on\n `transferFrom`. This is semantically equivalent to an infinite approval.\n Requirements:\n - `spender` cannot be the zero address."},"functionSelector":"095ea7b3","implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"4453:7:69","overrides":{"id":56012,"nodeType":"OverrideSpecifier","overrides":[],"src":"4509:8:69"},"parameters":{"id":56011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56008,"mutability":"mutable","name":"spender","nameLocation":"4469:7:69","nodeType":"VariableDeclaration","scope":56030,"src":"4461:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56007,"name":"address","nodeType":"ElementaryTypeName","src":"4461:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56010,"mutability":"mutable","name":"amount","nameLocation":"4486:6:69","nodeType":"VariableDeclaration","scope":56030,"src":"4478:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56009,"name":"uint256","nodeType":"ElementaryTypeName","src":"4478:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4460:33:69"},"returnParameters":{"id":56015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56014,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56030,"src":"4527:4:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56013,"name":"bool","nodeType":"ElementaryTypeName","src":"4527:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4526:6:69"},"scope":56450,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56063,"nodeType":"FunctionDefinition","src":"5203:256:69","nodes":[],"body":{"id":56062,"nodeType":"Block","src":"5306:153:69","nodes":[],"statements":[{"assignments":[56044],"declarations":[{"constant":false,"id":56044,"mutability":"mutable","name":"spender","nameLocation":"5324:7:69","nodeType":"VariableDeclaration","scope":56062,"src":"5316:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56043,"name":"address","nodeType":"ElementaryTypeName","src":"5316:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56047,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":56045,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57352,"src":"5334:10:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":56046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5334:12:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5316:30:69"},{"expression":{"arguments":[{"id":56049,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56033,"src":"5372:4:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56050,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56044,"src":"5378:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56051,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56037,"src":"5387:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56048,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56427,"src":"5356:15:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5356:38:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56053,"nodeType":"ExpressionStatement","src":"5356:38:69"},{"expression":{"arguments":[{"id":56055,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56033,"src":"5414:4:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56056,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56035,"src":"5420:2:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56057,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56037,"src":"5424:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56054,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56210,"src":"5404:9:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5404:27:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56059,"nodeType":"ExpressionStatement","src":"5404:27:69"},{"expression":{"hexValue":"74727565","id":56060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5448:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":56042,"id":56061,"nodeType":"Return","src":"5441:11:69"}]},"baseFunctions":[56527],"documentation":{"id":56031,"nodeType":"StructuredDocumentation","src":"4647:551:69","text":" @dev See {IERC20-transferFrom}.\n Emits an {Approval} event indicating the updated allowance. This is not\n required by the EIP. See the note at the beginning of {ERC20}.\n NOTE: Does not update the allowance if the current allowance\n is the maximum `uint256`.\n Requirements:\n - `from` and `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`.\n - the caller must have allowance for ``from``'s tokens of at least\n `amount`."},"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"5212:12:69","overrides":{"id":56039,"nodeType":"OverrideSpecifier","overrides":[],"src":"5282:8:69"},"parameters":{"id":56038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56033,"mutability":"mutable","name":"from","nameLocation":"5233:4:69","nodeType":"VariableDeclaration","scope":56063,"src":"5225:12:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56032,"name":"address","nodeType":"ElementaryTypeName","src":"5225:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56035,"mutability":"mutable","name":"to","nameLocation":"5247:2:69","nodeType":"VariableDeclaration","scope":56063,"src":"5239:10:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56034,"name":"address","nodeType":"ElementaryTypeName","src":"5239:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56037,"mutability":"mutable","name":"amount","nameLocation":"5259:6:69","nodeType":"VariableDeclaration","scope":56063,"src":"5251:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56036,"name":"uint256","nodeType":"ElementaryTypeName","src":"5251:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5224:42:69"},"returnParameters":{"id":56042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56041,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56063,"src":"5300:4:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56040,"name":"bool","nodeType":"ElementaryTypeName","src":"5300:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5299:6:69"},"scope":56450,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56092,"nodeType":"FunctionDefinition","src":"5854:234:69","nodes":[],"body":{"id":56091,"nodeType":"Block","src":"5948:140:69","nodes":[],"statements":[{"assignments":[56074],"declarations":[{"constant":false,"id":56074,"mutability":"mutable","name":"owner","nameLocation":"5966:5:69","nodeType":"VariableDeclaration","scope":56091,"src":"5958:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56073,"name":"address","nodeType":"ElementaryTypeName","src":"5958:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56077,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":56075,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57352,"src":"5974:10:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":56076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5974:12:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5958:28:69"},{"expression":{"arguments":[{"id":56079,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56074,"src":"6005:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56080,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56066,"src":"6012:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":56082,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56074,"src":"6031:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56083,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56066,"src":"6038:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":56081,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56005,"src":"6021:9:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":56084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6021:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":56085,"name":"addedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56068,"src":"6049:10:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6021:38:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56078,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56384,"src":"5996:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5996:64:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56088,"nodeType":"ExpressionStatement","src":"5996:64:69"},{"expression":{"hexValue":"74727565","id":56089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6077:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":56072,"id":56090,"nodeType":"Return","src":"6070:11:69"}]},"documentation":{"id":56064,"nodeType":"StructuredDocumentation","src":"5465:384:69","text":" @dev Atomically increases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address."},"functionSelector":"39509351","implemented":true,"kind":"function","modifiers":[],"name":"increaseAllowance","nameLocation":"5863:17:69","parameters":{"id":56069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56066,"mutability":"mutable","name":"spender","nameLocation":"5889:7:69","nodeType":"VariableDeclaration","scope":56092,"src":"5881:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56065,"name":"address","nodeType":"ElementaryTypeName","src":"5881:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56068,"mutability":"mutable","name":"addedValue","nameLocation":"5906:10:69","nodeType":"VariableDeclaration","scope":56092,"src":"5898:18:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56067,"name":"uint256","nodeType":"ElementaryTypeName","src":"5898:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5880:37:69"},"returnParameters":{"id":56072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56071,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56092,"src":"5942:4:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56070,"name":"bool","nodeType":"ElementaryTypeName","src":"5942:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5941:6:69"},"scope":56450,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56133,"nodeType":"FunctionDefinition","src":"6575:427:69","nodes":[],"body":{"id":56132,"nodeType":"Block","src":"6674:328:69","nodes":[],"statements":[{"assignments":[56103],"declarations":[{"constant":false,"id":56103,"mutability":"mutable","name":"owner","nameLocation":"6692:5:69","nodeType":"VariableDeclaration","scope":56132,"src":"6684:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56102,"name":"address","nodeType":"ElementaryTypeName","src":"6684:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56106,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":56104,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57352,"src":"6700:10:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":56105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6700:12:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6684:28:69"},{"assignments":[56108],"declarations":[{"constant":false,"id":56108,"mutability":"mutable","name":"currentAllowance","nameLocation":"6730:16:69","nodeType":"VariableDeclaration","scope":56132,"src":"6722:24:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56107,"name":"uint256","nodeType":"ElementaryTypeName","src":"6722:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56113,"initialValue":{"arguments":[{"id":56110,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56103,"src":"6759:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56111,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56095,"src":"6766:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":56109,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56005,"src":"6749:9:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":56112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6749:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6722:52:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56115,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56108,"src":"6792:16:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56116,"name":"subtractedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56097,"src":"6812:15:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6792:35:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f","id":56118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6829:39:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8","typeString":"literal_string \"ERC20: decreased allowance below zero\""},"value":"ERC20: decreased allowance below zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8","typeString":"literal_string \"ERC20: decreased allowance below zero\""}],"id":56114,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6784:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6784:85:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56120,"nodeType":"ExpressionStatement","src":"6784:85:69"},{"id":56129,"nodeType":"UncheckedBlock","src":"6879:95:69","statements":[{"expression":{"arguments":[{"id":56122,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56103,"src":"6912:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56123,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56095,"src":"6919:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56124,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56108,"src":"6928:16:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56125,"name":"subtractedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56097,"src":"6947:15:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6928:34:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56121,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56384,"src":"6903:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6903:60:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56128,"nodeType":"ExpressionStatement","src":"6903:60:69"}]},{"expression":{"hexValue":"74727565","id":56130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6991:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":56101,"id":56131,"nodeType":"Return","src":"6984:11:69"}]},"documentation":{"id":56093,"nodeType":"StructuredDocumentation","src":"6094:476:69","text":" @dev Atomically decreases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address.\n - `spender` must have allowance for the caller of at least\n `subtractedValue`."},"functionSelector":"a457c2d7","implemented":true,"kind":"function","modifiers":[],"name":"decreaseAllowance","nameLocation":"6584:17:69","parameters":{"id":56098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56095,"mutability":"mutable","name":"spender","nameLocation":"6610:7:69","nodeType":"VariableDeclaration","scope":56133,"src":"6602:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56094,"name":"address","nodeType":"ElementaryTypeName","src":"6602:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56097,"mutability":"mutable","name":"subtractedValue","nameLocation":"6627:15:69","nodeType":"VariableDeclaration","scope":56133,"src":"6619:23:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56096,"name":"uint256","nodeType":"ElementaryTypeName","src":"6619:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6601:42:69"},"returnParameters":{"id":56101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56100,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56133,"src":"6668:4:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56099,"name":"bool","nodeType":"ElementaryTypeName","src":"6668:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6667:6:69"},"scope":56450,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56210,"nodeType":"FunctionDefinition","src":"7456:788:69","nodes":[],"body":{"id":56209,"nodeType":"Block","src":"7534:710:69","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56144,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56136,"src":"7552:4:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7568:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56146,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7560:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56145,"name":"address","nodeType":"ElementaryTypeName","src":"7560:7:69","typeDescriptions":{}}},"id":56148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7560:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7552:18:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373","id":56150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7572:39:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea","typeString":"literal_string \"ERC20: transfer from the zero address\""},"value":"ERC20: transfer from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea","typeString":"literal_string \"ERC20: transfer from the zero address\""}],"id":56143,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7544:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7544:68:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56152,"nodeType":"ExpressionStatement","src":"7544:68:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56154,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56138,"src":"7630:2:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7644:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56156,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7636:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56155,"name":"address","nodeType":"ElementaryTypeName","src":"7636:7:69","typeDescriptions":{}}},"id":56158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7636:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7630:16:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e7366657220746f20746865207a65726f2061646472657373","id":56160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7648:37:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f","typeString":"literal_string \"ERC20: transfer to the zero address\""},"value":"ERC20: transfer to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f","typeString":"literal_string \"ERC20: transfer to the zero address\""}],"id":56153,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7622:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7622:64:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56162,"nodeType":"ExpressionStatement","src":"7622:64:69"},{"expression":{"arguments":[{"id":56164,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56136,"src":"7718:4:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56165,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56138,"src":"7724:2:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56166,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56140,"src":"7728:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56163,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56438,"src":"7697:20:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7697:38:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56168,"nodeType":"ExpressionStatement","src":"7697:38:69"},{"assignments":[56170],"declarations":[{"constant":false,"id":56170,"mutability":"mutable","name":"fromBalance","nameLocation":"7754:11:69","nodeType":"VariableDeclaration","scope":56209,"src":"7746:19:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56169,"name":"uint256","nodeType":"ElementaryTypeName","src":"7746:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56174,"initialValue":{"baseExpression":{"id":56171,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55879,"src":"7768:9:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56173,"indexExpression":{"id":56172,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56136,"src":"7778:4:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7768:15:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7746:37:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56176,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56170,"src":"7801:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56177,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56140,"src":"7816:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7801:21:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365","id":56179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7824:40:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6","typeString":"literal_string \"ERC20: transfer amount exceeds balance\""},"value":"ERC20: transfer amount exceeds balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6","typeString":"literal_string \"ERC20: transfer amount exceeds balance\""}],"id":56175,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7793:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7793:72:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56181,"nodeType":"ExpressionStatement","src":"7793:72:69"},{"id":56196,"nodeType":"UncheckedBlock","src":"7875:273:69","statements":[{"expression":{"id":56188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":56182,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55879,"src":"7899:9:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56184,"indexExpression":{"id":56183,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56136,"src":"7909:4:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7899:15:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56185,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56170,"src":"7917:11:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56186,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56140,"src":"7931:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7917:20:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7899:38:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56189,"nodeType":"ExpressionStatement","src":"7899:38:69"},{"expression":{"id":56194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":56190,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55879,"src":"8114:9:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56192,"indexExpression":{"id":56191,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56138,"src":"8124:2:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8114:13:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":56193,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56140,"src":"8131:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8114:23:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56195,"nodeType":"ExpressionStatement","src":"8114:23:69"}]},{"eventCall":{"arguments":[{"id":56198,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56136,"src":"8172:4:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56199,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56138,"src":"8178:2:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56200,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56140,"src":"8182:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56197,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56462,"src":"8163:8:69","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8163:26:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56202,"nodeType":"EmitStatement","src":"8158:31:69"},{"expression":{"arguments":[{"id":56204,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56136,"src":"8220:4:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56205,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56138,"src":"8226:2:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56206,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56140,"src":"8230:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56203,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56449,"src":"8200:19:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8200:37:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56208,"nodeType":"ExpressionStatement","src":"8200:37:69"}]},"documentation":{"id":56134,"nodeType":"StructuredDocumentation","src":"7008:443:69","text":" @dev Moves `amount` of tokens from `from` to `to`.\n This internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`."},"implemented":true,"kind":"function","modifiers":[],"name":"_transfer","nameLocation":"7465:9:69","parameters":{"id":56141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56136,"mutability":"mutable","name":"from","nameLocation":"7483:4:69","nodeType":"VariableDeclaration","scope":56210,"src":"7475:12:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56135,"name":"address","nodeType":"ElementaryTypeName","src":"7475:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56138,"mutability":"mutable","name":"to","nameLocation":"7497:2:69","nodeType":"VariableDeclaration","scope":56210,"src":"7489:10:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56137,"name":"address","nodeType":"ElementaryTypeName","src":"7489:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56140,"mutability":"mutable","name":"amount","nameLocation":"7509:6:69","nodeType":"VariableDeclaration","scope":56210,"src":"7501:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56139,"name":"uint256","nodeType":"ElementaryTypeName","src":"7501:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7474:42:69"},"returnParameters":{"id":56142,"nodeType":"ParameterList","parameters":[],"src":"7534:0:69"},"scope":56450,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56267,"nodeType":"FunctionDefinition","src":"8520:535:69","nodes":[],"body":{"id":56266,"nodeType":"Block","src":"8585:470:69","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56219,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"8603:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8622:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56221,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8614:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56220,"name":"address","nodeType":"ElementaryTypeName","src":"8614:7:69","typeDescriptions":{}}},"id":56223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8614:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8603:21:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206d696e7420746f20746865207a65726f2061646472657373","id":56225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8626:33:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e","typeString":"literal_string \"ERC20: mint to the zero address\""},"value":"ERC20: mint to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e","typeString":"literal_string \"ERC20: mint to the zero address\""}],"id":56218,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8595:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8595:65:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56227,"nodeType":"ExpressionStatement","src":"8595:65:69"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":56231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8700:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56230,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8692:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56229,"name":"address","nodeType":"ElementaryTypeName","src":"8692:7:69","typeDescriptions":{}}},"id":56232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8692:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56233,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"8704:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56234,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56215,"src":"8713:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56228,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56438,"src":"8671:20:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8671:49:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56236,"nodeType":"ExpressionStatement","src":"8671:49:69"},{"expression":{"id":56239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56237,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55887,"src":"8731:12:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":56238,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56215,"src":"8747:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8731:22:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56240,"nodeType":"ExpressionStatement","src":"8731:22:69"},{"id":56247,"nodeType":"UncheckedBlock","src":"8763:175:69","statements":[{"expression":{"id":56245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":56241,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55879,"src":"8899:9:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56243,"indexExpression":{"id":56242,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"8909:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8899:18:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":56244,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56215,"src":"8921:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8899:28:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56246,"nodeType":"ExpressionStatement","src":"8899:28:69"}]},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":56251,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8969:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8961:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56249,"name":"address","nodeType":"ElementaryTypeName","src":"8961:7:69","typeDescriptions":{}}},"id":56252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8961:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56253,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"8973:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56254,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56215,"src":"8982:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56248,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56462,"src":"8952:8:69","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8952:37:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56256,"nodeType":"EmitStatement","src":"8947:42:69"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":56260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9028:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56259,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9020:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56258,"name":"address","nodeType":"ElementaryTypeName","src":"9020:7:69","typeDescriptions":{}}},"id":56261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9020:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56262,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"9032:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56263,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56215,"src":"9041:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56257,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56449,"src":"9000:19:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9000:48:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56265,"nodeType":"ExpressionStatement","src":"9000:48:69"}]},"documentation":{"id":56211,"nodeType":"StructuredDocumentation","src":"8250:265:69","text":"@dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n Emits a {Transfer} event with `from` set to the zero address.\n Requirements:\n - `account` cannot be the zero address."},"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"8529:5:69","parameters":{"id":56216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56213,"mutability":"mutable","name":"account","nameLocation":"8543:7:69","nodeType":"VariableDeclaration","scope":56267,"src":"8535:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56212,"name":"address","nodeType":"ElementaryTypeName","src":"8535:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56215,"mutability":"mutable","name":"amount","nameLocation":"8560:6:69","nodeType":"VariableDeclaration","scope":56267,"src":"8552:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56214,"name":"uint256","nodeType":"ElementaryTypeName","src":"8552:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8534:33:69"},"returnParameters":{"id":56217,"nodeType":"ParameterList","parameters":[],"src":"8585:0:69"},"scope":56450,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56339,"nodeType":"FunctionDefinition","src":"9375:659:69","nodes":[],"body":{"id":56338,"nodeType":"Block","src":"9440:594:69","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56276,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56270,"src":"9458:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9477:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56278,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9469:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56277,"name":"address","nodeType":"ElementaryTypeName","src":"9469:7:69","typeDescriptions":{}}},"id":56280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9469:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9458:21:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206275726e2066726f6d20746865207a65726f2061646472657373","id":56282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9481:35:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f","typeString":"literal_string \"ERC20: burn from the zero address\""},"value":"ERC20: burn from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f","typeString":"literal_string \"ERC20: burn from the zero address\""}],"id":56275,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9450:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9450:67:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56284,"nodeType":"ExpressionStatement","src":"9450:67:69"},{"expression":{"arguments":[{"id":56286,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56270,"src":"9549:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":56289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9566:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56288,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9558:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56287,"name":"address","nodeType":"ElementaryTypeName","src":"9558:7:69","typeDescriptions":{}}},"id":56290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9558:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56291,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56272,"src":"9570:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56285,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56438,"src":"9528:20:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9528:49:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56293,"nodeType":"ExpressionStatement","src":"9528:49:69"},{"assignments":[56295],"declarations":[{"constant":false,"id":56295,"mutability":"mutable","name":"accountBalance","nameLocation":"9596:14:69","nodeType":"VariableDeclaration","scope":56338,"src":"9588:22:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56294,"name":"uint256","nodeType":"ElementaryTypeName","src":"9588:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56299,"initialValue":{"baseExpression":{"id":56296,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55879,"src":"9613:9:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56298,"indexExpression":{"id":56297,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56270,"src":"9623:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9613:18:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9588:43:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56301,"name":"accountBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56295,"src":"9649:14:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56302,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56272,"src":"9667:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9649:24:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365","id":56304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9675:36:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd","typeString":"literal_string \"ERC20: burn amount exceeds balance\""},"value":"ERC20: burn amount exceeds balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd","typeString":"literal_string \"ERC20: burn amount exceeds balance\""}],"id":56300,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9641:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9641:71:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56306,"nodeType":"ExpressionStatement","src":"9641:71:69"},{"id":56319,"nodeType":"UncheckedBlock","src":"9722:194:69","statements":[{"expression":{"id":56313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":56307,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55879,"src":"9746:9:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56309,"indexExpression":{"id":56308,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56270,"src":"9756:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9746:18:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56310,"name":"accountBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56295,"src":"9767:14:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56311,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56272,"src":"9784:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9767:23:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9746:44:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56314,"nodeType":"ExpressionStatement","src":"9746:44:69"},{"expression":{"id":56317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56315,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55887,"src":"9883:12:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":56316,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56272,"src":"9899:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9883:22:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56318,"nodeType":"ExpressionStatement","src":"9883:22:69"}]},{"eventCall":{"arguments":[{"id":56321,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56270,"src":"9940:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":56324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9957:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56323,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9949:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56322,"name":"address","nodeType":"ElementaryTypeName","src":"9949:7:69","typeDescriptions":{}}},"id":56325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9949:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56326,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56272,"src":"9961:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56320,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56462,"src":"9931:8:69","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9931:37:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56328,"nodeType":"EmitStatement","src":"9926:42:69"},{"expression":{"arguments":[{"id":56330,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56270,"src":"9999:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":56333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10016:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56332,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10008:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56331,"name":"address","nodeType":"ElementaryTypeName","src":"10008:7:69","typeDescriptions":{}}},"id":56334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10008:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56335,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56272,"src":"10020:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56329,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56449,"src":"9979:19:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9979:48:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56337,"nodeType":"ExpressionStatement","src":"9979:48:69"}]},"documentation":{"id":56268,"nodeType":"StructuredDocumentation","src":"9061:309:69","text":" @dev Destroys `amount` tokens from `account`, reducing the\n total supply.\n Emits a {Transfer} event with `to` set to the zero address.\n Requirements:\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens."},"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"9384:5:69","parameters":{"id":56273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56270,"mutability":"mutable","name":"account","nameLocation":"9398:7:69","nodeType":"VariableDeclaration","scope":56339,"src":"9390:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56269,"name":"address","nodeType":"ElementaryTypeName","src":"9390:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56272,"mutability":"mutable","name":"amount","nameLocation":"9415:6:69","nodeType":"VariableDeclaration","scope":56339,"src":"9407:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56271,"name":"uint256","nodeType":"ElementaryTypeName","src":"9407:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9389:33:69"},"returnParameters":{"id":56274,"nodeType":"ParameterList","parameters":[],"src":"9440:0:69"},"scope":56450,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56384,"nodeType":"FunctionDefinition","src":"10457:340:69","nodes":[],"body":{"id":56383,"nodeType":"Block","src":"10540:257:69","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56350,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56342,"src":"10558:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10575:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56352,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10567:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56351,"name":"address","nodeType":"ElementaryTypeName","src":"10567:7:69","typeDescriptions":{}}},"id":56354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10567:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10558:19:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373","id":56356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10579:38:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208","typeString":"literal_string \"ERC20: approve from the zero address\""},"value":"ERC20: approve from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208","typeString":"literal_string \"ERC20: approve from the zero address\""}],"id":56349,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10550:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10550:68:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56358,"nodeType":"ExpressionStatement","src":"10550:68:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56360,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56344,"src":"10636:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10655:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56362,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10647:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56361,"name":"address","nodeType":"ElementaryTypeName","src":"10647:7:69","typeDescriptions":{}}},"id":56364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10647:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10636:21:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20617070726f766520746f20746865207a65726f2061646472657373","id":56366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10659:36:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029","typeString":"literal_string \"ERC20: approve to the zero address\""},"value":"ERC20: approve to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029","typeString":"literal_string \"ERC20: approve to the zero address\""}],"id":56359,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10628:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10628:68:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56368,"nodeType":"ExpressionStatement","src":"10628:68:69"},{"expression":{"id":56375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":56369,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55885,"src":"10707:11:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":56372,"indexExpression":{"id":56370,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56342,"src":"10719:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10707:18:69","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56373,"indexExpression":{"id":56371,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56344,"src":"10726:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10707:27:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56374,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56346,"src":"10737:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10707:36:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56376,"nodeType":"ExpressionStatement","src":"10707:36:69"},{"eventCall":{"arguments":[{"id":56378,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56342,"src":"10767:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56379,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56344,"src":"10774:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56380,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56346,"src":"10783:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56377,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56471,"src":"10758:8:69","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10758:32:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56382,"nodeType":"EmitStatement","src":"10753:37:69"}]},"documentation":{"id":56340,"nodeType":"StructuredDocumentation","src":"10040:412:69","text":" @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n This internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address."},"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"10466:8:69","parameters":{"id":56347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56342,"mutability":"mutable","name":"owner","nameLocation":"10483:5:69","nodeType":"VariableDeclaration","scope":56384,"src":"10475:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56341,"name":"address","nodeType":"ElementaryTypeName","src":"10475:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56344,"mutability":"mutable","name":"spender","nameLocation":"10498:7:69","nodeType":"VariableDeclaration","scope":56384,"src":"10490:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56343,"name":"address","nodeType":"ElementaryTypeName","src":"10490:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56346,"mutability":"mutable","name":"amount","nameLocation":"10515:6:69","nodeType":"VariableDeclaration","scope":56384,"src":"10507:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56345,"name":"uint256","nodeType":"ElementaryTypeName","src":"10507:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10474:48:69"},"returnParameters":{"id":56348,"nodeType":"ParameterList","parameters":[],"src":"10540:0:69"},"scope":56450,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56427,"nodeType":"FunctionDefinition","src":"11078:411:69","nodes":[],"body":{"id":56426,"nodeType":"Block","src":"11168:321:69","nodes":[],"statements":[{"assignments":[56395],"declarations":[{"constant":false,"id":56395,"mutability":"mutable","name":"currentAllowance","nameLocation":"11186:16:69","nodeType":"VariableDeclaration","scope":56426,"src":"11178:24:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56394,"name":"uint256","nodeType":"ElementaryTypeName","src":"11178:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56400,"initialValue":{"arguments":[{"id":56397,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56387,"src":"11215:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56398,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56389,"src":"11222:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":56396,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56005,"src":"11205:9:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":56399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11205:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11178:52:69"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56401,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56395,"src":"11244:16:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"arguments":[{"id":56404,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11269:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":56403,"name":"uint256","nodeType":"ElementaryTypeName","src":"11269:7:69","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":56402,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11264:4:69","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":56405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11264:13:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":56406,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11278:3:69","memberName":"max","nodeType":"MemberAccess","src":"11264:17:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11244:37:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56425,"nodeType":"IfStatement","src":"11240:243:69","trueBody":{"id":56424,"nodeType":"Block","src":"11283:200:69","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56409,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56395,"src":"11305:16:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56410,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56391,"src":"11325:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11305:26:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20696e73756666696369656e7420616c6c6f77616e6365","id":56412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11333:31:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe","typeString":"literal_string \"ERC20: insufficient allowance\""},"value":"ERC20: insufficient allowance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe","typeString":"literal_string \"ERC20: insufficient allowance\""}],"id":56408,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11297:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11297:68:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56414,"nodeType":"ExpressionStatement","src":"11297:68:69"},{"id":56423,"nodeType":"UncheckedBlock","src":"11379:94:69","statements":[{"expression":{"arguments":[{"id":56416,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56387,"src":"11416:5:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56417,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56389,"src":"11423:7:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56418,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56395,"src":"11432:16:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56419,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56391,"src":"11451:6:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11432:25:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56415,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56384,"src":"11407:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11407:51:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56422,"nodeType":"ExpressionStatement","src":"11407:51:69"}]}]}}]},"documentation":{"id":56385,"nodeType":"StructuredDocumentation","src":"10803:270:69","text":" @dev Updates `owner` s allowance for `spender` based on spent `amount`.\n Does not update the allowance amount in case of infinite allowance.\n Revert if not enough allowance is available.\n Might emit an {Approval} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_spendAllowance","nameLocation":"11087:15:69","parameters":{"id":56392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56387,"mutability":"mutable","name":"owner","nameLocation":"11111:5:69","nodeType":"VariableDeclaration","scope":56427,"src":"11103:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56386,"name":"address","nodeType":"ElementaryTypeName","src":"11103:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56389,"mutability":"mutable","name":"spender","nameLocation":"11126:7:69","nodeType":"VariableDeclaration","scope":56427,"src":"11118:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56388,"name":"address","nodeType":"ElementaryTypeName","src":"11118:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56391,"mutability":"mutable","name":"amount","nameLocation":"11143:6:69","nodeType":"VariableDeclaration","scope":56427,"src":"11135:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56390,"name":"uint256","nodeType":"ElementaryTypeName","src":"11135:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11102:48:69"},"returnParameters":{"id":56393,"nodeType":"ParameterList","parameters":[],"src":"11168:0:69"},"scope":56450,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56438,"nodeType":"FunctionDefinition","src":"12073:91:69","nodes":[],"body":{"id":56437,"nodeType":"Block","src":"12162:2:69","nodes":[],"statements":[]},"documentation":{"id":56428,"nodeType":"StructuredDocumentation","src":"11495:573:69","text":" @dev Hook that is called before any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"12082:20:69","parameters":{"id":56435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56430,"mutability":"mutable","name":"from","nameLocation":"12111:4:69","nodeType":"VariableDeclaration","scope":56438,"src":"12103:12:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56429,"name":"address","nodeType":"ElementaryTypeName","src":"12103:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56432,"mutability":"mutable","name":"to","nameLocation":"12125:2:69","nodeType":"VariableDeclaration","scope":56438,"src":"12117:10:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56431,"name":"address","nodeType":"ElementaryTypeName","src":"12117:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56434,"mutability":"mutable","name":"amount","nameLocation":"12137:6:69","nodeType":"VariableDeclaration","scope":56438,"src":"12129:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56433,"name":"uint256","nodeType":"ElementaryTypeName","src":"12129:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12102:42:69"},"returnParameters":{"id":56436,"nodeType":"ParameterList","parameters":[],"src":"12162:0:69"},"scope":56450,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56449,"nodeType":"FunctionDefinition","src":"12752:90:69","nodes":[],"body":{"id":56448,"nodeType":"Block","src":"12840:2:69","nodes":[],"statements":[]},"documentation":{"id":56439,"nodeType":"StructuredDocumentation","src":"12170:577:69","text":" @dev Hook that is called after any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n has been transferred to `to`.\n - when `from` is zero, `amount` tokens have been minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"implemented":true,"kind":"function","modifiers":[],"name":"_afterTokenTransfer","nameLocation":"12761:19:69","parameters":{"id":56446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56441,"mutability":"mutable","name":"from","nameLocation":"12789:4:69","nodeType":"VariableDeclaration","scope":56449,"src":"12781:12:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56440,"name":"address","nodeType":"ElementaryTypeName","src":"12781:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56443,"mutability":"mutable","name":"to","nameLocation":"12803:2:69","nodeType":"VariableDeclaration","scope":56449,"src":"12795:10:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56442,"name":"address","nodeType":"ElementaryTypeName","src":"12795:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56445,"mutability":"mutable","name":"amount","nameLocation":"12815:6:69","nodeType":"VariableDeclaration","scope":56449,"src":"12807:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56444,"name":"uint256","nodeType":"ElementaryTypeName","src":"12807:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12780:42:69"},"returnParameters":{"id":56447,"nodeType":"ParameterList","parameters":[],"src":"12840:0:69"},"scope":56450,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":55870,"name":"Context","nameLocations":["1550:7:69"],"nodeType":"IdentifierPath","referencedDeclaration":57362,"src":"1550:7:69"},"id":55871,"nodeType":"InheritanceSpecifier","src":"1550:7:69"},{"baseName":{"id":55872,"name":"IERC20","nameLocations":["1559:6:69"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"1559:6:69"},"id":55873,"nodeType":"InheritanceSpecifier","src":"1559:6:69"},{"baseName":{"id":55874,"name":"IERC20Metadata","nameLocations":["1567:14:69"],"nodeType":"IdentifierPath","referencedDeclaration":56553,"src":"1567:14:69"},"id":55875,"nodeType":"InheritanceSpecifier","src":"1567:14:69"}],"canonicalName":"ERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":55869,"nodeType":"StructuredDocumentation","src":"230:1301:69","text":" @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n For a generic mechanism see {ERC20PresetMinterPauser}.\n TIP: For a detailed writeup see our guide\n https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n The default value of {decimals} is 18. To change this, you should override\n this function so it returns a different value.\n We have followed general OpenZeppelin Contracts guidelines: functions revert\n instead returning `false` on failure. This behavior is nonetheless\n conventional and does not conflict with the expectations of ERC20\n applications.\n Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n This allows applications to reconstruct the allowance for all accounts just\n by listening to said events. Other implementations of the EIP may not emit\n these events, as it isn't required by the specification.\n Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n functions have been added to mitigate the well-known issues around setting\n allowances. See {IERC20-approve}."},"fullyImplemented":true,"linearizedBaseContracts":[56450,56553,56528,57362],"name":"ERC20","nameLocation":"1541:5:69","scope":56451,"usedErrors":[]}],"license":"MIT"},"id":69} \ No newline at end of file diff --git a/pkg/contracts/out/ERC20/IERC20.sol/IERC20.json b/pkg/contracts/out/ERC20/IERC20.sol/IERC20.json index e9835c6fc..0a9658c83 100644 --- a/pkg/contracts/out/ERC20/IERC20.sol/IERC20.json +++ b/pkg/contracts/out/ERC20/IERC20.sol/IERC20.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":"IERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","id":56529,"exportedSymbols":{"IERC20":[56528]},"nodeType":"SourceUnit","src":"106:2631:70","nodes":[{"id":56452,"nodeType":"PragmaDirective","src":"106:23:70","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":56528,"nodeType":"ContractDefinition","src":"202:2534:70","nodes":[{"id":56462,"nodeType":"EventDefinition","src":"388:72:70","nodes":[],"anonymous":false,"documentation":{"id":56454,"nodeType":"StructuredDocumentation","src":"225:158:70","text":" @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"394:8:70","parameters":{"id":56461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56456,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"419:4:70","nodeType":"VariableDeclaration","scope":56462,"src":"403:20:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56455,"name":"address","nodeType":"ElementaryTypeName","src":"403:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56458,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"441:2:70","nodeType":"VariableDeclaration","scope":56462,"src":"425:18:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56457,"name":"address","nodeType":"ElementaryTypeName","src":"425:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56460,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"453:5:70","nodeType":"VariableDeclaration","scope":56462,"src":"445:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56459,"name":"uint256","nodeType":"ElementaryTypeName","src":"445:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"402:57:70"}},{"id":56471,"nodeType":"EventDefinition","src":"619:78:70","nodes":[],"anonymous":false,"documentation":{"id":56463,"nodeType":"StructuredDocumentation","src":"466:148:70","text":" @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"625:8:70","parameters":{"id":56470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56465,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"650:5:70","nodeType":"VariableDeclaration","scope":56471,"src":"634:21:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56464,"name":"address","nodeType":"ElementaryTypeName","src":"634:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56467,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"673:7:70","nodeType":"VariableDeclaration","scope":56471,"src":"657:23:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56466,"name":"address","nodeType":"ElementaryTypeName","src":"657:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56469,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"690:5:70","nodeType":"VariableDeclaration","scope":56471,"src":"682:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56468,"name":"uint256","nodeType":"ElementaryTypeName","src":"682:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"633:63:70"}},{"id":56477,"nodeType":"FunctionDefinition","src":"774:55:70","nodes":[],"documentation":{"id":56472,"nodeType":"StructuredDocumentation","src":"703:66:70","text":" @dev Returns the amount of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"783:11:70","parameters":{"id":56473,"nodeType":"ParameterList","parameters":[],"src":"794:2:70"},"returnParameters":{"id":56476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56475,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56477,"src":"820:7:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56474,"name":"uint256","nodeType":"ElementaryTypeName","src":"820:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"819:9:70"},"scope":56528,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":56485,"nodeType":"FunctionDefinition","src":"912:68:70","nodes":[],"documentation":{"id":56478,"nodeType":"StructuredDocumentation","src":"835:72:70","text":" @dev Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"921:9:70","parameters":{"id":56481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56480,"mutability":"mutable","name":"account","nameLocation":"939:7:70","nodeType":"VariableDeclaration","scope":56485,"src":"931:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56479,"name":"address","nodeType":"ElementaryTypeName","src":"931:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"930:17:70"},"returnParameters":{"id":56484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56483,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56485,"src":"971:7:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56482,"name":"uint256","nodeType":"ElementaryTypeName","src":"971:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"970:9:70"},"scope":56528,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":56495,"nodeType":"FunctionDefinition","src":"1193:70:70","nodes":[],"documentation":{"id":56486,"nodeType":"StructuredDocumentation","src":"986:202:70","text":" @dev Moves `amount` tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1202:8:70","parameters":{"id":56491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56488,"mutability":"mutable","name":"to","nameLocation":"1219:2:70","nodeType":"VariableDeclaration","scope":56495,"src":"1211:10:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56487,"name":"address","nodeType":"ElementaryTypeName","src":"1211:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56490,"mutability":"mutable","name":"amount","nameLocation":"1231:6:70","nodeType":"VariableDeclaration","scope":56495,"src":"1223:14:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56489,"name":"uint256","nodeType":"ElementaryTypeName","src":"1223:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1210:28:70"},"returnParameters":{"id":56494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56493,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56495,"src":"1257:4:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56492,"name":"bool","nodeType":"ElementaryTypeName","src":"1257:4:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1256:6:70"},"scope":56528,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":56505,"nodeType":"FunctionDefinition","src":"1538:83:70","nodes":[],"documentation":{"id":56496,"nodeType":"StructuredDocumentation","src":"1269:264:70","text":" @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1547:9:70","parameters":{"id":56501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56498,"mutability":"mutable","name":"owner","nameLocation":"1565:5:70","nodeType":"VariableDeclaration","scope":56505,"src":"1557:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56497,"name":"address","nodeType":"ElementaryTypeName","src":"1557:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56500,"mutability":"mutable","name":"spender","nameLocation":"1580:7:70","nodeType":"VariableDeclaration","scope":56505,"src":"1572:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56499,"name":"address","nodeType":"ElementaryTypeName","src":"1572:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1556:32:70"},"returnParameters":{"id":56504,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56503,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56505,"src":"1612:7:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56502,"name":"uint256","nodeType":"ElementaryTypeName","src":"1612:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1611:9:70"},"scope":56528,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":56515,"nodeType":"FunctionDefinition","src":"2274:74:70","nodes":[],"documentation":{"id":56506,"nodeType":"StructuredDocumentation","src":"1627:642:70","text":" @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2283:7:70","parameters":{"id":56511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56508,"mutability":"mutable","name":"spender","nameLocation":"2299:7:70","nodeType":"VariableDeclaration","scope":56515,"src":"2291:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56507,"name":"address","nodeType":"ElementaryTypeName","src":"2291:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56510,"mutability":"mutable","name":"amount","nameLocation":"2316:6:70","nodeType":"VariableDeclaration","scope":56515,"src":"2308:14:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56509,"name":"uint256","nodeType":"ElementaryTypeName","src":"2308:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2290:33:70"},"returnParameters":{"id":56514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56513,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56515,"src":"2342:4:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56512,"name":"bool","nodeType":"ElementaryTypeName","src":"2342:4:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2341:6:70"},"scope":56528,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":56527,"nodeType":"FunctionDefinition","src":"2646:88:70","nodes":[],"documentation":{"id":56516,"nodeType":"StructuredDocumentation","src":"2354:287:70","text":" @dev Moves `amount` tokens from `from` to `to` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2655:12:70","parameters":{"id":56523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56518,"mutability":"mutable","name":"from","nameLocation":"2676:4:70","nodeType":"VariableDeclaration","scope":56527,"src":"2668:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56517,"name":"address","nodeType":"ElementaryTypeName","src":"2668:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56520,"mutability":"mutable","name":"to","nameLocation":"2690:2:70","nodeType":"VariableDeclaration","scope":56527,"src":"2682:10:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56519,"name":"address","nodeType":"ElementaryTypeName","src":"2682:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56522,"mutability":"mutable","name":"amount","nameLocation":"2702:6:70","nodeType":"VariableDeclaration","scope":56527,"src":"2694:14:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56521,"name":"uint256","nodeType":"ElementaryTypeName","src":"2694:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2667:42:70"},"returnParameters":{"id":56526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56525,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56527,"src":"2728:4:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56524,"name":"bool","nodeType":"ElementaryTypeName","src":"2728:4:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2727:6:70"},"scope":56528,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":56453,"nodeType":"StructuredDocumentation","src":"131:70:70","text":" @dev Interface of the ERC20 standard as defined in the EIP."},"fullyImplemented":false,"linearizedBaseContracts":[56528],"name":"IERC20","nameLocation":"212:6:70","scope":56529,"usedErrors":[]}],"license":"MIT"},"id":70} \ No newline at end of file +{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":"IERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","id":56529,"exportedSymbols":{"IERC20":[56528]},"nodeType":"SourceUnit","src":"106:2631:70","nodes":[{"id":56452,"nodeType":"PragmaDirective","src":"106:23:70","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":56528,"nodeType":"ContractDefinition","src":"202:2534:70","nodes":[{"id":56462,"nodeType":"EventDefinition","src":"388:72:70","nodes":[],"anonymous":false,"documentation":{"id":56454,"nodeType":"StructuredDocumentation","src":"225:158:70","text":" @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"394:8:70","parameters":{"id":56461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56456,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"419:4:70","nodeType":"VariableDeclaration","scope":56462,"src":"403:20:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56455,"name":"address","nodeType":"ElementaryTypeName","src":"403:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56458,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"441:2:70","nodeType":"VariableDeclaration","scope":56462,"src":"425:18:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56457,"name":"address","nodeType":"ElementaryTypeName","src":"425:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56460,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"453:5:70","nodeType":"VariableDeclaration","scope":56462,"src":"445:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56459,"name":"uint256","nodeType":"ElementaryTypeName","src":"445:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"402:57:70"}},{"id":56471,"nodeType":"EventDefinition","src":"619:78:70","nodes":[],"anonymous":false,"documentation":{"id":56463,"nodeType":"StructuredDocumentation","src":"466:148:70","text":" @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"625:8:70","parameters":{"id":56470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56465,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"650:5:70","nodeType":"VariableDeclaration","scope":56471,"src":"634:21:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56464,"name":"address","nodeType":"ElementaryTypeName","src":"634:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56467,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"673:7:70","nodeType":"VariableDeclaration","scope":56471,"src":"657:23:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56466,"name":"address","nodeType":"ElementaryTypeName","src":"657:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56469,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"690:5:70","nodeType":"VariableDeclaration","scope":56471,"src":"682:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56468,"name":"uint256","nodeType":"ElementaryTypeName","src":"682:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"633:63:70"}},{"id":56477,"nodeType":"FunctionDefinition","src":"774:55:70","nodes":[],"documentation":{"id":56472,"nodeType":"StructuredDocumentation","src":"703:66:70","text":" @dev Returns the amount of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"783:11:70","parameters":{"id":56473,"nodeType":"ParameterList","parameters":[],"src":"794:2:70"},"returnParameters":{"id":56476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56475,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56477,"src":"820:7:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56474,"name":"uint256","nodeType":"ElementaryTypeName","src":"820:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"819:9:70"},"scope":56528,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":56485,"nodeType":"FunctionDefinition","src":"912:68:70","nodes":[],"documentation":{"id":56478,"nodeType":"StructuredDocumentation","src":"835:72:70","text":" @dev Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"921:9:70","parameters":{"id":56481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56480,"mutability":"mutable","name":"account","nameLocation":"939:7:70","nodeType":"VariableDeclaration","scope":56485,"src":"931:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56479,"name":"address","nodeType":"ElementaryTypeName","src":"931:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"930:17:70"},"returnParameters":{"id":56484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56483,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56485,"src":"971:7:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56482,"name":"uint256","nodeType":"ElementaryTypeName","src":"971:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"970:9:70"},"scope":56528,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":56495,"nodeType":"FunctionDefinition","src":"1193:70:70","nodes":[],"documentation":{"id":56486,"nodeType":"StructuredDocumentation","src":"986:202:70","text":" @dev Moves `amount` tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1202:8:70","parameters":{"id":56491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56488,"mutability":"mutable","name":"to","nameLocation":"1219:2:70","nodeType":"VariableDeclaration","scope":56495,"src":"1211:10:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56487,"name":"address","nodeType":"ElementaryTypeName","src":"1211:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56490,"mutability":"mutable","name":"amount","nameLocation":"1231:6:70","nodeType":"VariableDeclaration","scope":56495,"src":"1223:14:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56489,"name":"uint256","nodeType":"ElementaryTypeName","src":"1223:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1210:28:70"},"returnParameters":{"id":56494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56493,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56495,"src":"1257:4:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56492,"name":"bool","nodeType":"ElementaryTypeName","src":"1257:4:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1256:6:70"},"scope":56528,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":56505,"nodeType":"FunctionDefinition","src":"1538:83:70","nodes":[],"documentation":{"id":56496,"nodeType":"StructuredDocumentation","src":"1269:264:70","text":" @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1547:9:70","parameters":{"id":56501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56498,"mutability":"mutable","name":"owner","nameLocation":"1565:5:70","nodeType":"VariableDeclaration","scope":56505,"src":"1557:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56497,"name":"address","nodeType":"ElementaryTypeName","src":"1557:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56500,"mutability":"mutable","name":"spender","nameLocation":"1580:7:70","nodeType":"VariableDeclaration","scope":56505,"src":"1572:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56499,"name":"address","nodeType":"ElementaryTypeName","src":"1572:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1556:32:70"},"returnParameters":{"id":56504,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56503,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56505,"src":"1612:7:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56502,"name":"uint256","nodeType":"ElementaryTypeName","src":"1612:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1611:9:70"},"scope":56528,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":56515,"nodeType":"FunctionDefinition","src":"2274:74:70","nodes":[],"documentation":{"id":56506,"nodeType":"StructuredDocumentation","src":"1627:642:70","text":" @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2283:7:70","parameters":{"id":56511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56508,"mutability":"mutable","name":"spender","nameLocation":"2299:7:70","nodeType":"VariableDeclaration","scope":56515,"src":"2291:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56507,"name":"address","nodeType":"ElementaryTypeName","src":"2291:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56510,"mutability":"mutable","name":"amount","nameLocation":"2316:6:70","nodeType":"VariableDeclaration","scope":56515,"src":"2308:14:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56509,"name":"uint256","nodeType":"ElementaryTypeName","src":"2308:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2290:33:70"},"returnParameters":{"id":56514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56513,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56515,"src":"2342:4:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56512,"name":"bool","nodeType":"ElementaryTypeName","src":"2342:4:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2341:6:70"},"scope":56528,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":56527,"nodeType":"FunctionDefinition","src":"2646:88:70","nodes":[],"documentation":{"id":56516,"nodeType":"StructuredDocumentation","src":"2354:287:70","text":" @dev Moves `amount` tokens from `from` to `to` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2655:12:70","parameters":{"id":56523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56518,"mutability":"mutable","name":"from","nameLocation":"2676:4:70","nodeType":"VariableDeclaration","scope":56527,"src":"2668:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56517,"name":"address","nodeType":"ElementaryTypeName","src":"2668:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56520,"mutability":"mutable","name":"to","nameLocation":"2690:2:70","nodeType":"VariableDeclaration","scope":56527,"src":"2682:10:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56519,"name":"address","nodeType":"ElementaryTypeName","src":"2682:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56522,"mutability":"mutable","name":"amount","nameLocation":"2702:6:70","nodeType":"VariableDeclaration","scope":56527,"src":"2694:14:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56521,"name":"uint256","nodeType":"ElementaryTypeName","src":"2694:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2667:42:70"},"returnParameters":{"id":56526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56525,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56527,"src":"2728:4:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56524,"name":"bool","nodeType":"ElementaryTypeName","src":"2728:4:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2727:6:70"},"scope":56528,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":56453,"nodeType":"StructuredDocumentation","src":"131:70:70","text":" @dev Interface of the ERC20 standard as defined in the EIP."},"fullyImplemented":false,"linearizedBaseContracts":[56528],"name":"IERC20","nameLocation":"212:6:70","scope":56529,"usedErrors":[]}],"license":"MIT"},"id":70} \ No newline at end of file diff --git a/pkg/contracts/out/FAllo.sol/FAllo.json b/pkg/contracts/out/FAllo.sol/FAllo.json index 7ca5948f1..9a727490f 100644 --- a/pkg/contracts/out/FAllo.sol/FAllo.json +++ b/pkg/contracts/out/FAllo.sol/FAllo.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"createPoolWithCustomStrategy","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_strategy","type":"address","internalType":"address"},{"name":"_initStrategyData","type":"bytes","internalType":"bytes"},{"name":"_token","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"getPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":"e1007d4a","getPool(uint256)":"068bcd8d","getRegistry()":"5ab1bd53"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initStrategyData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"createPoolWithCustomStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getPool\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/FAllo.sol\":\"FAllo\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"bytes","name":"_initStrategyData","type":"bytes"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address[]","name":"_managers","type":"address[]"}],"stateMutability":"payable","type":"function","name":"createPoolWithCustomStrategy","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPool","outputs":[{"internalType":"struct IAllo.Pool","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/FAllo.sol":"FAllo"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/FAllo.sol","id":73904,"exportedSymbols":{"FAllo":[73903],"IAllo":[2610],"Metadata":[3098]},"nodeType":"SourceUnit","src":"42:636:112","nodes":[{"id":73864,"nodeType":"PragmaDirective","src":"42:24:112","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":73866,"nodeType":"ImportDirective","src":"68:66:112","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":73904,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":73865,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"76:5:112","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73868,"nodeType":"ImportDirective","src":"135:73:112","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":73904,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":73867,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"143:8:112","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73903,"nodeType":"ContractDefinition","src":"210:467:112","nodes":[{"id":73889,"nodeType":"FunctionDefinition","src":"232:301:112","nodes":[],"functionSelector":"e1007d4a","implemented":false,"kind":"function","modifiers":[],"name":"createPoolWithCustomStrategy","nameLocation":"241:28:112","parameters":{"id":73885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73870,"mutability":"mutable","name":"_profileId","nameLocation":"287:10:112","nodeType":"VariableDeclaration","scope":73889,"src":"279:18:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":73869,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279:7:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":73872,"mutability":"mutable","name":"_strategy","nameLocation":"315:9:112","nodeType":"VariableDeclaration","scope":73889,"src":"307:17:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73871,"name":"address","nodeType":"ElementaryTypeName","src":"307:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73874,"mutability":"mutable","name":"_initStrategyData","nameLocation":"347:17:112","nodeType":"VariableDeclaration","scope":73889,"src":"334:30:112","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":73873,"name":"bytes","nodeType":"ElementaryTypeName","src":"334:5:112","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73876,"mutability":"mutable","name":"_token","nameLocation":"382:6:112","nodeType":"VariableDeclaration","scope":73889,"src":"374:14:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73875,"name":"address","nodeType":"ElementaryTypeName","src":"374:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73878,"mutability":"mutable","name":"_amount","nameLocation":"406:7:112","nodeType":"VariableDeclaration","scope":73889,"src":"398:15:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73877,"name":"uint256","nodeType":"ElementaryTypeName","src":"398:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73881,"mutability":"mutable","name":"_metadata","nameLocation":"439:9:112","nodeType":"VariableDeclaration","scope":73889,"src":"423:25:112","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":73880,"nodeType":"UserDefinedTypeName","pathNode":{"id":73879,"name":"Metadata","nameLocations":["423:8:112"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"423:8:112"},"referencedDeclaration":3098,"src":"423:8:112","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":73884,"mutability":"mutable","name":"_managers","nameLocation":"475:9:112","nodeType":"VariableDeclaration","scope":73889,"src":"458:26:112","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":73882,"name":"address","nodeType":"ElementaryTypeName","src":"458:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73883,"nodeType":"ArrayTypeName","src":"458:9:112","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"269:221:112"},"returnParameters":{"id":73888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73887,"mutability":"mutable","name":"poolId","nameLocation":"525:6:112","nodeType":"VariableDeclaration","scope":73889,"src":"517:14:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73886,"name":"uint256","nodeType":"ElementaryTypeName","src":"517:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"516:16:112"},"scope":73903,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":73894,"nodeType":"FunctionDefinition","src":"539:55:112","nodes":[],"functionSelector":"5ab1bd53","implemented":false,"kind":"function","modifiers":[],"name":"getRegistry","nameLocation":"548:11:112","parameters":{"id":73890,"nodeType":"ParameterList","parameters":[],"src":"559:2:112"},"returnParameters":{"id":73893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73892,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73894,"src":"585:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73891,"name":"address","nodeType":"ElementaryTypeName","src":"585:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"584:9:112"},"scope":73903,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":73902,"nodeType":"FunctionDefinition","src":"599:76:112","nodes":[],"functionSelector":"068bcd8d","implemented":false,"kind":"function","modifiers":[],"name":"getPool","nameLocation":"608:7:112","parameters":{"id":73897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73896,"mutability":"mutable","name":"_poolId","nameLocation":"624:7:112","nodeType":"VariableDeclaration","scope":73902,"src":"616:15:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73895,"name":"uint256","nodeType":"ElementaryTypeName","src":"616:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"615:17:112"},"returnParameters":{"id":73901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73900,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73902,"src":"656:17:112","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":73899,"nodeType":"UserDefinedTypeName","pathNode":{"id":73898,"name":"IAllo.Pool","nameLocations":["656:5:112","662:4:112"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"656:10:112"},"referencedDeclaration":2319,"src":"656:10:112","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"src":"655:19:112"},"scope":73903,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"FAllo","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[73903],"name":"FAllo","nameLocation":"220:5:112","scope":73904,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":112} \ No newline at end of file +{"abi":[{"type":"function","name":"createPoolWithCustomStrategy","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_strategy","type":"address","internalType":"address"},{"name":"_initStrategyData","type":"bytes","internalType":"bytes"},{"name":"_token","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"getPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":"e1007d4a","getPool(uint256)":"068bcd8d","getRegistry()":"5ab1bd53"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initStrategyData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"createPoolWithCustomStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getPool\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/FAllo.sol\":\"FAllo\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"bytes","name":"_initStrategyData","type":"bytes"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address[]","name":"_managers","type":"address[]"}],"stateMutability":"payable","type":"function","name":"createPoolWithCustomStrategy","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPool","outputs":[{"internalType":"struct IAllo.Pool","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/FAllo.sol":"FAllo"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/FAllo.sol","id":76185,"exportedSymbols":{"FAllo":[76184],"IAllo":[2610],"Metadata":[3098]},"nodeType":"SourceUnit","src":"42:636:128","nodes":[{"id":76145,"nodeType":"PragmaDirective","src":"42:24:128","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":76147,"nodeType":"ImportDirective","src":"68:66:128","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":76185,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":76146,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"76:5:128","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76149,"nodeType":"ImportDirective","src":"135:73:128","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":76185,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":76148,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"143:8:128","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76184,"nodeType":"ContractDefinition","src":"210:467:128","nodes":[{"id":76170,"nodeType":"FunctionDefinition","src":"232:301:128","nodes":[],"functionSelector":"e1007d4a","implemented":false,"kind":"function","modifiers":[],"name":"createPoolWithCustomStrategy","nameLocation":"241:28:128","parameters":{"id":76166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76151,"mutability":"mutable","name":"_profileId","nameLocation":"287:10:128","nodeType":"VariableDeclaration","scope":76170,"src":"279:18:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":76150,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279:7:128","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":76153,"mutability":"mutable","name":"_strategy","nameLocation":"315:9:128","nodeType":"VariableDeclaration","scope":76170,"src":"307:17:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76152,"name":"address","nodeType":"ElementaryTypeName","src":"307:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76155,"mutability":"mutable","name":"_initStrategyData","nameLocation":"347:17:128","nodeType":"VariableDeclaration","scope":76170,"src":"334:30:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":76154,"name":"bytes","nodeType":"ElementaryTypeName","src":"334:5:128","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":76157,"mutability":"mutable","name":"_token","nameLocation":"382:6:128","nodeType":"VariableDeclaration","scope":76170,"src":"374:14:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76156,"name":"address","nodeType":"ElementaryTypeName","src":"374:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76159,"mutability":"mutable","name":"_amount","nameLocation":"406:7:128","nodeType":"VariableDeclaration","scope":76170,"src":"398:15:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76158,"name":"uint256","nodeType":"ElementaryTypeName","src":"398:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76162,"mutability":"mutable","name":"_metadata","nameLocation":"439:9:128","nodeType":"VariableDeclaration","scope":76170,"src":"423:25:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":76161,"nodeType":"UserDefinedTypeName","pathNode":{"id":76160,"name":"Metadata","nameLocations":["423:8:128"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"423:8:128"},"referencedDeclaration":3098,"src":"423:8:128","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":76165,"mutability":"mutable","name":"_managers","nameLocation":"475:9:128","nodeType":"VariableDeclaration","scope":76170,"src":"458:26:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":76163,"name":"address","nodeType":"ElementaryTypeName","src":"458:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":76164,"nodeType":"ArrayTypeName","src":"458:9:128","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"269:221:128"},"returnParameters":{"id":76169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76168,"mutability":"mutable","name":"poolId","nameLocation":"525:6:128","nodeType":"VariableDeclaration","scope":76170,"src":"517:14:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76167,"name":"uint256","nodeType":"ElementaryTypeName","src":"517:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"516:16:128"},"scope":76184,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":76175,"nodeType":"FunctionDefinition","src":"539:55:128","nodes":[],"functionSelector":"5ab1bd53","implemented":false,"kind":"function","modifiers":[],"name":"getRegistry","nameLocation":"548:11:128","parameters":{"id":76171,"nodeType":"ParameterList","parameters":[],"src":"559:2:128"},"returnParameters":{"id":76174,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76173,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76175,"src":"585:7:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76172,"name":"address","nodeType":"ElementaryTypeName","src":"585:7:128","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"584:9:128"},"scope":76184,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76183,"nodeType":"FunctionDefinition","src":"599:76:128","nodes":[],"functionSelector":"068bcd8d","implemented":false,"kind":"function","modifiers":[],"name":"getPool","nameLocation":"608:7:128","parameters":{"id":76178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76177,"mutability":"mutable","name":"_poolId","nameLocation":"624:7:128","nodeType":"VariableDeclaration","scope":76183,"src":"616:15:128","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76176,"name":"uint256","nodeType":"ElementaryTypeName","src":"616:7:128","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"615:17:128"},"returnParameters":{"id":76182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76181,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76183,"src":"656:17:128","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":76180,"nodeType":"UserDefinedTypeName","pathNode":{"id":76179,"name":"IAllo.Pool","nameLocations":["656:5:128","662:4:128"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"656:10:128"},"referencedDeclaration":2319,"src":"656:10:128","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"src":"655:19:128"},"scope":76184,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"FAllo","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[76184],"name":"FAllo","nameLocation":"220:5:128","scope":76185,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":128} \ No newline at end of file diff --git a/pkg/contracts/out/GV2ERC20.sol/GV2ERC20.json b/pkg/contracts/out/GV2ERC20.sol/GV2ERC20.json index 84eaba971..8a11cc750 100644 --- a/pkg/contracts/out/GV2ERC20.sol/GV2ERC20.json +++ b/pkg/contracts/out/GV2ERC20.sol/GV2ERC20.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"stateMutability":"nonpayable"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"result","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"difference","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"directSpendAllowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"directTransfer","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"difference","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AllowanceOverflow","inputs":[]},{"type":"error","name":"AllowanceUnderflow","inputs":[]},{"type":"error","name":"InsufficientAllowance","inputs":[]},{"type":"error","name":"InsufficientBalance","inputs":[]},{"type":"error","name":"InvalidPermit","inputs":[]},{"type":"error","name":"PermitExpired","inputs":[]},{"type":"error","name":"TotalSupplyOverflow","inputs":[]}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b5060405162000e9438038062000e94833981016040819052620000349162000134565b600062000042848262000248565b50600162000051838262000248565b506002805460ff191660ff9290921691909117905550620003149050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200009757600080fd5b81516001600160401b0380821115620000b457620000b46200006f565b604051601f8301601f19908116603f01168101908282118183101715620000df57620000df6200006f565b81604052838152602092508683858801011115620000fc57600080fd5b600091505b8382101562000120578582018301518183018401529082019062000101565b600093810190920192909252949350505050565b6000806000606084860312156200014a57600080fd5b83516001600160401b03808211156200016257600080fd5b620001708783880162000085565b945060208601519150808211156200018757600080fd5b50620001968682870162000085565b925050604084015160ff81168114620001ae57600080fd5b809150509250925092565b600181811c90821680620001ce57607f821691505b602082108103620001ef57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024357600081815260208120601f850160051c810160208610156200021e5750805b601f850160051c820191505b818110156200023f578281556001016200022a565b5050505b505050565b81516001600160401b038111156200026457620002646200006f565b6200027c81620002758454620001b9565b84620001f5565b602080601f831160018114620002b457600084156200029b5750858301515b600019600386901b1c1916600185901b1785556200023f565b600085815260208120601f198616915b82811015620002e557888601518255948401946001909101908401620002c4565b5085821015620003045787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610b7080620003246000396000f3fe608060405234801561001057600080fd5b50600436106100e65760003560e01c806306fdde03146100eb578063095ea7b31461010957806318160ddd1461012c57806323b872dd14610146578063313ce567146101595780633644e5151461016e578063395093511461017657806340c10f191461018957806370a082311461019e5780637ecebe00146101c457806395d89b41146101ea5780639dc29fac146101f2578063a457c2d714610205578063a9059cbb14610218578063d30ed3b31461022b578063d505accf1461023e578063dd62ed3e14610251578063f83d17911461027a575b600080fd5b6100f361028d565b604051610100919061092f565b60405180910390f35b61011c610117366004610999565b61031f565b6040519015158152602001610100565b6805345cdf77eb68f44c545b604051908152602001610100565b61011c6101543660046109c3565b610360565b60025460405160ff9091168152602001610100565b610138610385565b61011c610184366004610999565b6103fb565b61019c610197366004610999565b610416565b005b6101386101ac3660046109ff565b6387a211a2600c908152600091909152602090205490565b6101386101d23660046109ff565b6338377508600c908152600091909152602090205490565b6100f361042c565b61019c610200366004610999565b61043b565b61011c610213366004610999565b61044d565b61011c610226366004610999565b610461565b61019c6102393660046109c3565b610475565b61019c61024c366004610a1a565b610495565b61013861025f366004610a8d565b602052637f5e9f20600c908152600091909152603490205490565b61019c6102883660046109c3565b6105b1565b60606000805461029c90610ac0565b80601f01602080910402602001604051908101604052809291908181526020018280546102c890610ac0565b80156103155780601f106102ea57610100808354040283529160200191610315565b820191906000526020600020905b8154815290600101906020018083116102f857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b600061037d61036e856105cc565b610377856105cc565b846105db565b949350505050565b604051600061039261028d565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061040f610409846105cc565b83610687565b9392505050565b610428610422836105cc565b826106e7565b5050565b60606001805461029c90610ac0565b610428610447836105cc565b82610754565b600061040f61045b846105cc565b836107b9565b600061040f61046f846105cc565b8361081a565b610490610481846105cc565b61048a846105cc565b83610883565b505050565b600061049f610385565b9050604051854211156104ba57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105725763ddafbaef6000526004601cfd5b6303faf4f960a51b88176040526034602c208790558789600080516020610b1b833981519152602060608501a360405250506000606052505050505050565b6104906105bd846105cc565b6105c6846105cc565b836108c6565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c208054600019811461061b5780851115610615576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106445763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c600080516020610afb833981519152602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156106b95763f90670666000526004601cfd5b80835580600052505050602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b6805345cdf77eb68f44c548181018181101561070b5763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c6000600080516020610afb833981519152602080a35050565b6387a211a2600c52816000526020600c2080548083111561077d5763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c8054829003905560008181526001600160a01b038316600080516020610afb833981519152602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156107e857638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156108455763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c33600080516020610afb833981519152602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146108bf57808311156108b9576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156108f15763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c600080516020610afb833981519152602080a350505050565b600060208083528351808285015260005b8181101561095c57858101830151858201604001528201610940565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461099457600080fd5b919050565b600080604083850312156109ac57600080fd5b6109b58361097d565b946020939093013593505050565b6000806000606084860312156109d857600080fd5b6109e18461097d565b92506109ef6020850161097d565b9150604084013590509250925092565b600060208284031215610a1157600080fd5b61040f8261097d565b600080600080600080600060e0888a031215610a3557600080fd5b610a3e8861097d565b9650610a4c6020890161097d565b95506040880135945060608801359350608088013560ff81168114610a7057600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610aa057600080fd5b610aa98361097d565b9150610ab76020840161097d565b90509250929050565b600181811c90821680610ad457607f821691505b602082108103610af457634e487b7160e01b600052602260045260246000fd5b5091905056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a26469706673582212204ac30005d9b963c58b4eb51b3347f56fb666b75a273042d67b50fc03f00748dd64736f6c63430008130033","sourceMap":"290:2060:96:-:0;;;410:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;493:5;:13;501:5;493;:13;:::i;:::-;-1:-1:-1;516:7:96;:17;526:7;516;:17;:::i;:::-;-1:-1:-1;543:9:96;:21;;-1:-1:-1;;543:21:96;;;;;;;;;;;;-1:-1:-1;290:2060:96;;-1:-1:-1;290:2060:96;14:127:126;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:840;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:126;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:126;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;954:1;932:15;;;928:24;;;921:35;;;;936:6;146:840;-1:-1:-1;;;;146:840:126:o;991:712::-;1097:6;1105;1113;1166:2;1154:9;1145:7;1141:23;1137:32;1134:52;;;1182:1;1179;1172:12;1134:52;1209:16;;-1:-1:-1;;;;;1274:14:126;;;1271:34;;;1301:1;1298;1291:12;1271:34;1324:61;1377:7;1368:6;1357:9;1353:22;1324:61;:::i;:::-;1314:71;;1431:2;1420:9;1416:18;1410:25;1394:41;;1460:2;1450:8;1447:16;1444:36;;;1476:1;1473;1466:12;1444:36;;1499:63;1554:7;1543:8;1532:9;1528:24;1499:63;:::i;:::-;1489:73;;;1605:2;1594:9;1590:18;1584:25;1649:4;1642:5;1638:16;1631:5;1628:27;1618:55;;1669:1;1666;1659:12;1618:55;1692:5;1682:15;;;991:712;;;;;:::o;1708:380::-;1787:1;1783:12;;;;1830;;;1851:61;;1905:4;1897:6;1893:17;1883:27;;1851:61;1958:2;1950:6;1947:14;1927:18;1924:38;1921:161;;2004:10;1999:3;1995:20;1992:1;1985:31;2039:4;2036:1;2029:15;2067:4;2064:1;2057:15;1921:161;;1708:380;;;:::o;2219:545::-;2321:2;2316:3;2313:11;2310:448;;;2357:1;2382:5;2378:2;2371:17;2427:4;2423:2;2413:19;2497:2;2485:10;2481:19;2478:1;2474:27;2468:4;2464:38;2533:4;2521:10;2518:20;2515:47;;;-1:-1:-1;2556:4:126;2515:47;2611:2;2606:3;2602:12;2599:1;2595:20;2589:4;2585:31;2575:41;;2666:82;2684:2;2677:5;2674:13;2666:82;;;2729:17;;;2710:1;2699:13;2666:82;;;2670:3;;;2310:448;2219:545;;;:::o;2940:1352::-;3060:10;;-1:-1:-1;;;;;3082:30:126;;3079:56;;;3115:18;;:::i;:::-;3144:97;3234:6;3194:38;3226:4;3220:11;3194:38;:::i;:::-;3188:4;3144:97;:::i;:::-;3296:4;;3360:2;3349:14;;3377:1;3372:663;;;;4079:1;4096:6;4093:89;;;-1:-1:-1;4148:19:126;;;4142:26;4093:89;-1:-1:-1;;2897:1:126;2893:11;;;2889:24;2885:29;2875:40;2921:1;2917:11;;;2872:57;4195:81;;3342:944;;3372:663;2166:1;2159:14;;;2203:4;2190:18;;-1:-1:-1;;3408:20:126;;;3526:236;3540:7;3537:1;3534:14;3526:236;;;3629:19;;;3623:26;3608:42;;3721:27;;;;3689:1;3677:14;;;;3556:19;;3526:236;;;3530:3;3790:6;3781:7;3778:19;3775:201;;;3851:19;;;3845:26;-1:-1:-1;;3934:1:126;3930:14;;;3946:3;3926:24;3922:37;3918:42;3903:58;3888:74;;3775:201;-1:-1:-1;;;;;4022:1:126;4006:14;;;4002:22;3989:36;;-1:-1:-1;2940:1352:126:o;:::-;290:2060:96;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100e65760003560e01c806306fdde03146100eb578063095ea7b31461010957806318160ddd1461012c57806323b872dd14610146578063313ce567146101595780633644e5151461016e578063395093511461017657806340c10f191461018957806370a082311461019e5780637ecebe00146101c457806395d89b41146101ea5780639dc29fac146101f2578063a457c2d714610205578063a9059cbb14610218578063d30ed3b31461022b578063d505accf1461023e578063dd62ed3e14610251578063f83d17911461027a575b600080fd5b6100f361028d565b604051610100919061092f565b60405180910390f35b61011c610117366004610999565b61031f565b6040519015158152602001610100565b6805345cdf77eb68f44c545b604051908152602001610100565b61011c6101543660046109c3565b610360565b60025460405160ff9091168152602001610100565b610138610385565b61011c610184366004610999565b6103fb565b61019c610197366004610999565b610416565b005b6101386101ac3660046109ff565b6387a211a2600c908152600091909152602090205490565b6101386101d23660046109ff565b6338377508600c908152600091909152602090205490565b6100f361042c565b61019c610200366004610999565b61043b565b61011c610213366004610999565b61044d565b61011c610226366004610999565b610461565b61019c6102393660046109c3565b610475565b61019c61024c366004610a1a565b610495565b61013861025f366004610a8d565b602052637f5e9f20600c908152600091909152603490205490565b61019c6102883660046109c3565b6105b1565b60606000805461029c90610ac0565b80601f01602080910402602001604051908101604052809291908181526020018280546102c890610ac0565b80156103155780601f106102ea57610100808354040283529160200191610315565b820191906000526020600020905b8154815290600101906020018083116102f857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b600061037d61036e856105cc565b610377856105cc565b846105db565b949350505050565b604051600061039261028d565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061040f610409846105cc565b83610687565b9392505050565b610428610422836105cc565b826106e7565b5050565b60606001805461029c90610ac0565b610428610447836105cc565b82610754565b600061040f61045b846105cc565b836107b9565b600061040f61046f846105cc565b8361081a565b610490610481846105cc565b61048a846105cc565b83610883565b505050565b600061049f610385565b9050604051854211156104ba57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105725763ddafbaef6000526004601cfd5b6303faf4f960a51b88176040526034602c208790558789600080516020610b1b833981519152602060608501a360405250506000606052505050505050565b6104906105bd846105cc565b6105c6846105cc565b836108c6565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c208054600019811461061b5780851115610615576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106445763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c600080516020610afb833981519152602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156106b95763f90670666000526004601cfd5b80835580600052505050602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b6805345cdf77eb68f44c548181018181101561070b5763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c6000600080516020610afb833981519152602080a35050565b6387a211a2600c52816000526020600c2080548083111561077d5763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c8054829003905560008181526001600160a01b038316600080516020610afb833981519152602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156107e857638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156108455763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c33600080516020610afb833981519152602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146108bf57808311156108b9576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156108f15763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c600080516020610afb833981519152602080a350505050565b600060208083528351808285015260005b8181101561095c57858101830151858201604001528201610940565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461099457600080fd5b919050565b600080604083850312156109ac57600080fd5b6109b58361097d565b946020939093013593505050565b6000806000606084860312156109d857600080fd5b6109e18461097d565b92506109ef6020850161097d565b9150604084013590509250925092565b600060208284031215610a1157600080fd5b61040f8261097d565b600080600080600080600060e0888a031215610a3557600080fd5b610a3e8861097d565b9650610a4c6020890161097d565b95506040880135945060608801359350608088013560ff81168114610a7057600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610aa057600080fd5b610aa98361097d565b9150610ab76020840161097d565b90509250929050565b600181811c90821680610ad457607f821691505b602082108103610af457634e487b7160e01b600052602260045260246000fd5b5091905056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a26469706673582212204ac30005d9b963c58b4eb51b3347f56fb666b75a273042d67b50fc03f00748dd64736f6c63430008130033","sourceMap":"290:2060:96:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;577:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5995:573:13;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:126;;1162:22;1144:41;;1132:2;1117:18;5995:573:13;1004:187:126;4847:195:13;5007:18;5001:25;4847:195;;;1342:25:126;;;1330:2;1315:18;4847:195:13;1196:177:126;1605:189:96;;;;;;:::i;:::-;;:::i;789:98::-;871:9;;789:98;;871:9;;;;1853:36:126;;1841:2;1826:18;789:98:96;1711:184:126;17096:1062:13;;;:::i;1800:184:96:-;;;;;;:::i;:::-;;:::i;893:102::-;;;;;;:::i;:::-;;:::i;:::-;;5108:286:13;;;;;;:::i;:::-;5276:18;5270:4;5263:32;;;5171:14;5308:19;;;;5372:4;5356:21;;5350:28;;5108:286;13503:340;;;;;;:::i;:::-;13726:17;13720:4;13713:31;;;13563:14;13757:19;;;;13821:4;13805:21;;13799:28;;13503:340;681:102:96;;;:::i;1001:106::-;;;;;;:::i;:::-;;:::i;1990:184::-;;;;;;:::i;:::-;;:::i;1451:148::-;;;;;;:::i;:::-;;:::i;1270:175::-;;;;;;:::i;:::-;;:::i;14027:3010:13:-;;;;;;:::i;:::-;;:::i;5489:375::-;;;;;;:::i;:::-;5704:4;5697:21;5744:20;5738:4;5731:34;;;5601:14;5778:19;;;;5842:4;5826:21;;5820:28;;5489:375;1113:151:96;;;;;;:::i;:::-;;:::i;577:98::-;631:13;663:5;656:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;577:98;:::o;5995:573:13:-;6069:4;6228:7;6222:4;6215:21;6262:20;6256:4;6249:34;6309:8;6303:4;6296:22;6361:6;6354:4;6348;6338:21;6331:37;6436:6;6430:4;6423:20;6524:4;6518:11;6514:2;6510:20;6500:8;-1:-1:-1;;;;;;;;;;;6467:4:13;6461;6456:75;-1:-1:-1;6557:4:13;5995:573;;;;:::o;1605:189:96:-;1702:4;1725:62;1744:17;1756:4;1744:11;:17::i;:::-;1763:15;1775:2;1763:11;:15::i;:::-;1780:6;1725:18;:62::i;:::-;1718:69;1605:189;-1:-1:-1;;;;1605:189:96:o;17096:1062:13:-;17261:4;17255:11;17153:14;17447:6;:4;:6::i;:::-;17431:24;;;;;;;17726:66;17716:77;;17813:12;;;17806:30;-1:-1:-1;17946:66:13;17939:4;17932:12;;17925:88;18047:9;18040:4;18033:12;;18026:31;18091:9;18084:4;18077:12;;18070:31;18137:4;18124:18;;;17096:1062::o;1800:184:96:-;1897:4;1920:57;1944:20;1956:7;1944:11;:20::i;:::-;1966:10;1920:23;:57::i;:::-;1913:64;1800:184;-1:-1:-1;;;1800:184:96:o;893:102::-;959:29;965:15;977:2;965:11;:15::i;:::-;982:5;959;:29::i;:::-;893:102;;:::o;681:::-;737:13;769:7;762:14;;;;;:::i;1001:106::-;1069:31;1075:17;1087:4;1075:11;:17::i;:::-;1094:5;1069;:31::i;1990:184::-;2087:4;2110:57;2134:20;2146:7;2134:11;:20::i;:::-;2156:10;2110:23;:57::i;1451:148::-;1530:4;1553:39;1568:15;1580:2;1568:11;:15::i;:::-;1585:6;1553:14;:39::i;1270:175::-;1373:65;1389:18;1401:5;1389:11;:18::i;:::-;1409:20;1421:7;1409:11;:20::i;:::-;1431:6;1373:15;:65::i;:::-;1270:175;;;:::o;14027:3010:13:-;14226:23;14252:18;:16;:18::i;:::-;14226:44;;14406:4;14400:11;14513:8;14500:11;14497:25;14494:142;;;14554:10;14548:4;14541:24;14617:4;14611;14604:18;14494:142;14714:5;14710:2;14706:14;14702:2;14698:23;14689:32;;14761:7;14757:2;14753:16;14749:2;14745:25;14734:36;;14854:17;14848:4;14841:31;14898:5;14892:4;14885:19;14950:4;14944;14934:21;14992:9;14986:16;15103:1;15091:10;15087:18;15076:9;15069:37;15325:66;15322:1;15315:77;15426:5;15419:4;15416:1;15412:12;15405:27;15466:7;15459:4;15456:1;15452:12;15445:29;15508:5;15501:4;15498:1;15494:12;15487:27;15548:10;15541:4;15538:1;15534:12;15527:32;;;15593:8;15586:4;15583:1;15579:12;15572:30;15664:6;15661:1;15654:17;15697:15;15691:4;15684:29;15752:4;15749:1;15739:18;15733:4;15726:32;15844:4;15838;15828:21;15825:1;15818:32;15886:1;15880:4;15876:12;15870:4;15863:26;15915:1;15909:4;15902:15;15943:1;15937:4;15930:15;15998:4;15992;15986;15983:1;15980;15973:5;15962:41;15958:46;16423:5;16404:16;16398:23;16395:34;16385:159;;16462:10;16456:4;16449:24;16525:4;16519;16512:18;16385:159;-1:-1:-1;;;16685:43:13;;16679:4;16672:57;16765:4;16759;16749:21;16742:36;;;16720:7;16885:5;-1:-1:-1;;;;;;;;;;;;16845:4:13;16838:12;;16833:67;16920:4;16913:15;-1:-1:-1;;16990:1:13;16984:4;16977:15;-1:-1:-1;;;;;;14027:3010:13:o;1113:151:96:-;1204:53;1214:17;1226:4;1214:11;:17::i;:::-;1233:15;1245:2;1233:11;:15::i;:::-;1250:6;1204:9;:53::i;2180:168::-;2235:14;2325:5;2320:3;2316:15;2313:1;2310:22;2300:32;;2180:168;;;:::o;10886:2203:13:-;10974:4;11125;11121:2;11117:13;11218:8;11212:4;11205:22;11263:20;11256:5;11253:31;11247:4;11240:45;11335:4;11329;11319:21;11377:13;11371:20;11499:1;11495:6;11483:10;11480:22;11470:430;;11617:10;11609:6;11606:22;11603:159;;;11664:10;11658:4;11651:24;11739:4;11733;11726:18;11603:159;11878:6;11866:10;11862:23;11847:13;11840:46;11470:430;;;11996:18;11989:5;11986:29;11980:4;11973:43;12068:4;12062;12052:21;12111:15;12105:22;12201:11;12193:6;12190:23;12187:146;;;12245:10;12239:4;12232:24;12314:4;12308;12301:18;12187:146;12442:6;12429:11;12425:24;12408:15;12401:49;;;12525:2;12519:4;12512:16;12578:4;12572;12562:21;12828:6;12812:13;12806:20;12802:33;12787:13;12780:56;;12904:6;12898:4;12891:20;12998:4;12992:11;12988:2;12984:20;12976:5;12972:2;12968:14;-1:-1:-1;;;;;;;;;;;12935:4:13;12929;12924:81;;-1:-1:-1;13078:4:13;10886:2203;;;;;:::o;6700:1058::-;6788:4;6945:7;6939:4;6932:21;6979:20;6973:4;6966:34;7026:8;7020:4;7013:22;7085:4;7079;7069:21;7132:13;7126:20;7239:10;7222:15;7218:32;7322:15;7306:14;7303:35;7300:156;;;7370:10;7364:4;7357:24;7437:4;7431;7424:18;7300:156;7535:14;7520:13;7513:37;7618:14;7612:4;7605:28;;;;7714:4;7708:11;7704:2;7700:20;7690:8;-1:-1:-1;;;;;;;;;;;7657:4:13;7651;7646:75;-1:-1:-1;7747:4:13;6700:1058;;;;:::o;18562:1172::-;18783:18;18777:25;18862:6;18843:17;18839:30;18959:17;18941:16;18938:39;18935:162;;;19009:10;19003:4;18996:24;19078:4;19072;19065:18;18935:162;19184:16;19164:18;19157:44;;;19287:18;19281:4;19274:32;19332:2;19326:4;19319:16;19385:4;19379;19369:21;19501:6;19485:13;19479:20;19475:33;19460:13;19453:56;;19577:6;19571:4;19564:20;19658:4;19652:11;19648:2;19644:20;19641:1;-1:-1:-1;;;;;;;;;;;19608:4:13;19602;19597:68;893:102:96;;:::o;20140:1119:13:-;20407:18;20401:4;20394:32;20452:4;20446;20439:18;20509:4;20503;20493:21;20552:15;20546:22;20642:11;20634:6;20631:23;20628:146;;;20686:10;20680:4;20673:24;20755:4;20749;20742:18;20628:146;20866:24;;;20842:49;;21001:18;20995:25;;20991:38;;;20964:66;;-1:-1:-1;21085:20:13;;;-1:-1:-1;;;;;21162:22:13;;-1:-1:-1;;;;;;;;;;;21129:4:13;-1:-1:-1;21118:70:13;893:102:96;;:::o;7890:1035:13:-;7978:4;8135:7;8129:4;8122:21;8169:20;8163:4;8156:34;8216:8;8210:4;8203:22;8275:4;8269;8259:21;8322:13;8316:20;8413:10;8396:15;8393:31;8390:153;;;8456:10;8450:4;8443:24;8524:4;8518;8511:18;8390:153;8656:10;8639:15;8635:32;8613:54;;8702:14;8687:13;8680:37;8785:14;8779:4;8772:28;;;8881:4;8875:11;8871:2;8867:20;8857:8;-1:-1:-1;;;;;;;;;;;8824:4:13;8818;8813:75;-1:-1:-1;8914:4:13;7890:1035;;;;:::o;9112:1406::-;9182:4;9391:18;9385:4;9378:32;9436:8;9430:4;9423:22;9497:4;9491;9481:21;9540:15;9534:22;9630:11;9622:6;9619:23;9616:146;;;9674:10;9668:4;9661:24;9743:4;9737;9730:18;9616:146;9871:6;9858:11;9854:24;9837:15;9830:49;;;9954:2;9948:4;9941:16;10007:4;10001;9991:21;10257:6;10241:13;10235:20;10231:33;10216:13;10209:56;;10333:6;10327:4;10320:20;10421:4;10415:11;10411:2;10407:20;10397:8;-1:-1:-1;;;;;;;;;;;10364:4:13;10358;10353:75;-1:-1:-1;10507:4:13;9112:1406;;;;:::o;23377:959::-;23618:7;23612:4;23605:21;23652:20;23646:4;23639:34;23699:5;23693:4;23686:19;23755:4;23749;23739:21;23797:13;23791:20;23919:1;23915:6;23903:10;23900:22;23890:430;;24037:10;24029:6;24026:22;24023:159;;;24084:10;24078:4;24071:24;24159:4;24153;24146:18;24023:159;24298:6;24286:10;24282:23;24267:13;24260:46;23890:430;;;23377:959;;;:::o;21607:1396::-;21830:4;21826:2;21822:13;21931:18;21924:5;21921:29;21915:4;21908:43;22003:4;21997;21987:21;22046:15;22040:22;22136:11;22128:6;22125:23;22122:146;;;22180:10;22174:4;22167:24;22249:4;22243;22236:18;22122:146;22377:6;22364:11;22360:24;22343:15;22336:49;;;22460:2;22454:4;22447:16;22513:4;22507;22497:21;22763:6;22747:13;22741:20;22737:33;22722:13;22715:56;;22839:6;22833:4;22826:20;22933:4;22927:11;22923:2;22919:20;22911:5;22907:2;22903:14;-1:-1:-1;;;;;;;;;;;22870:4:13;22864;22859:81;;1270:175:96;;;:::o;14:548:126:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:126;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:126:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;2082:186::-;2141:6;2194:2;2182:9;2173:7;2169:23;2165:32;2162:52;;;2210:1;2207;2200:12;2162:52;2233:29;2252:9;2233:29;:::i;2273:693::-;2384:6;2392;2400;2408;2416;2424;2432;2485:3;2473:9;2464:7;2460:23;2456:33;2453:53;;;2502:1;2499;2492:12;2453:53;2525:29;2544:9;2525:29;:::i;:::-;2515:39;;2573:38;2607:2;2596:9;2592:18;2573:38;:::i;:::-;2563:48;;2658:2;2647:9;2643:18;2630:32;2620:42;;2709:2;2698:9;2694:18;2681:32;2671:42;;2763:3;2752:9;2748:19;2735:33;2808:4;2801:5;2797:16;2790:5;2787:27;2777:55;;2828:1;2825;2818:12;2777:55;2273:693;;;;-1:-1:-1;2273:693:126;;;;2851:5;2903:3;2888:19;;2875:33;;-1:-1:-1;2955:3:126;2940:19;;;2927:33;;2273:693;-1:-1:-1;;2273:693:126:o;2971:260::-;3039:6;3047;3100:2;3088:9;3079:7;3075:23;3071:32;3068:52;;;3116:1;3113;3106:12;3068:52;3139:29;3158:9;3139:29;:::i;:::-;3129:39;;3187:38;3221:2;3210:9;3206:18;3187:38;:::i;:::-;3177:48;;2971:260;;;;;:::o;3236:380::-;3315:1;3311:12;;;;3358;;;3379:61;;3433:4;3425:6;3421:17;3411:27;;3379:61;3486:2;3478:6;3475:14;3455:18;3452:38;3449:161;;3532:10;3527:3;3523:20;3520:1;3513:31;3567:4;3564:1;3557:15;3595:4;3592:1;3585:15;3449:161;;3236:380;;;:::o","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(address,uint256)":"9dc29fac","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","directSpendAllowance(address,address,uint256)":"d30ed3b3","directTransfer(address,address,uint256)":"f83d1791","increaseAllowance(address,uint256)":"39509351","mint(address,uint256)":"40c10f19","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AllowanceOverflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AllowanceUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPermit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PermitExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TotalSupplyOverflow\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"result\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"difference\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"directSpendAllowance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"directTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"difference\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"WARNING! This mock is strictly intended for testing purposes only. Do NOT copy anything here into production code unless you really know what you are doing.\",\"errors\":{\"AllowanceOverflow()\":[{\"details\":\"The allowance has overflowed.\"}],\"AllowanceUnderflow()\":[{\"details\":\"The allowance has underflowed.\"}],\"InsufficientAllowance()\":[{\"details\":\"Insufficient allowance.\"}],\"InsufficientBalance()\":[{\"details\":\"Insufficient balance.\"}],\"InvalidPermit()\":[{\"details\":\"The permit is invalid.\"}],\"PermitExpired()\":[{\"details\":\"The permit has expired.\"}],\"TotalSupplyOverflow()\":[{\"details\":\"The total supply has overflowed.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `amount` tokens is approved by `owner` to be used by `spender`.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `amount` tokens is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the EIP-2612 domains separator.\"},\"allowance(address,address)\":{\"details\":\"Returns the amount of tokens that `spender` can spend on behalf of `owner`.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Emits a {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `owner`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. Emits a {Approval} event.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. Emits a {Approval} event.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value is used to compute the signature for EIP-2612 permit.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over the tokens of `owner`, authorized by a signed approval by `owner`. Emits a {Approval} event.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Transfer `amount` tokens from the caller to `to`. Requirements: - `from` must at least have `amount`. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `amount` tokens from `from` to `to`. Note: Does not update the allowance if it is the maximum uint256 value. Requirements: - `from` must at least have `amount`. - The caller must have at least `amount` of allowance to transfer the tokens of `from`. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/script/GV2ERC20.sol\":\"GV2ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"pkg/contracts/script/GV2ERC20.sol\":{\"keccak256\":\"0x72e3d7c5f055490e976b03abf0b7773b5cefd7e305021d0ea83cba3e142118f9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://3f19911b75ab3e0d2d41f5d9f4754f21d78b500905da3342b61bc54e502d4c97\",\"dweb:/ipfs/QmU4zPrrTWQY3eUYegHZzLjs2jyRgGtgyZp4J2ZQxj8Vp2\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AllowanceOverflow"},{"inputs":[],"type":"error","name":"AllowanceUnderflow"},{"inputs":[],"type":"error","name":"InsufficientAllowance"},{"inputs":[],"type":"error","name":"InsufficientBalance"},{"inputs":[],"type":"error","name":"InvalidPermit"},{"inputs":[],"type":"error","name":"PermitExpired"},{"inputs":[],"type":"error","name":"TotalSupplyOverflow"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"result","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"difference","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"directSpendAllowance"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"directTransfer"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"difference","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"DOMAIN_SEPARATOR()":{"details":"Returns the EIP-2612 domains separator."},"allowance(address,address)":{"details":"Returns the amount of tokens that `spender` can spend on behalf of `owner`."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Emits a {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `owner`."},"decimals()":{"details":"Returns the decimals places of the token."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. Emits a {Approval} event."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. Emits a {Approval} event."},"name()":{"details":"Returns the name of the token."},"nonces(address)":{"details":"Returns the current nonce for `owner`. This value is used to compute the signature for EIP-2612 permit."},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Sets `value` as the allowance of `spender` over the tokens of `owner`, authorized by a signed approval by `owner`. Emits a {Approval} event."},"symbol()":{"details":"Returns the symbol of the token."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Transfer `amount` tokens from the caller to `to`. Requirements: - `from` must at least have `amount`. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Transfers `amount` tokens from `from` to `to`. Note: Does not update the allowance if it is the maximum uint256 value. Requirements: - `from` must at least have `amount`. - The caller must have at least `amount` of allowance to transfer the tokens of `from`. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/script/GV2ERC20.sol":"GV2ERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"pkg/contracts/script/GV2ERC20.sol":{"keccak256":"0x72e3d7c5f055490e976b03abf0b7773b5cefd7e305021d0ea83cba3e142118f9","urls":["bzz-raw://3f19911b75ab3e0d2d41f5d9f4754f21d78b500905da3342b61bc54e502d4c97","dweb:/ipfs/QmU4zPrrTWQY3eUYegHZzLjs2jyRgGtgyZp4J2ZQxj8Vp2"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":64633,"contract":"pkg/contracts/script/GV2ERC20.sol:GV2ERC20","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":64635,"contract":"pkg/contracts/script/GV2ERC20.sol:GV2ERC20","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":64637,"contract":"pkg/contracts/script/GV2ERC20.sol:GV2ERC20","label":"_decimals","offset":0,"slot":"2","type":"t_uint8"}],"types":{"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/script/GV2ERC20.sol","id":64848,"exportedSymbols":{"ERC20":[4491],"GV2ERC20":[64847]},"nodeType":"SourceUnit","src":"42:2309:96","nodes":[{"id":64626,"nodeType":"PragmaDirective","src":"42:24:96","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":64628,"nodeType":"ImportDirective","src":"68:50:96","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/tokens/ERC20.sol","file":"solady/src/tokens/ERC20.sol","nameLocation":"-1:-1:-1","scope":64848,"sourceUnit":4492,"symbolAliases":[{"foreign":{"id":64627,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4491,"src":"76:5:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64847,"nodeType":"ContractDefinition","src":"290:2060:96","nodes":[{"id":64633,"nodeType":"VariableDeclaration","src":"323:21:96","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"339:5:96","scope":64847,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":64632,"name":"string","nodeType":"ElementaryTypeName","src":"323:6:96","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":64635,"nodeType":"VariableDeclaration","src":"350:23:96","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"366:7:96","scope":64847,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":64634,"name":"string","nodeType":"ElementaryTypeName","src":"350:6:96","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":64637,"nodeType":"VariableDeclaration","src":"379:24:96","nodes":[],"constant":false,"mutability":"mutable","name":"_decimals","nameLocation":"394:9:96","scope":64847,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":64636,"name":"uint8","nodeType":"ElementaryTypeName","src":"379:5:96","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"id":64659,"nodeType":"FunctionDefinition","src":"410:161:96","nodes":[],"body":{"id":64658,"nodeType":"Block","src":"483:88:96","nodes":[],"statements":[{"expression":{"id":64648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64646,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64633,"src":"493:5:96","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":64647,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64639,"src":"501:5:96","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"493:13:96","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":64649,"nodeType":"ExpressionStatement","src":"493:13:96"},{"expression":{"id":64652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64650,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64635,"src":"516:7:96","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":64651,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64641,"src":"526:7:96","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"516:17:96","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":64653,"nodeType":"ExpressionStatement","src":"516:17:96"},{"expression":{"id":64656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64654,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64637,"src":"543:9:96","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":64655,"name":"decimals_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64643,"src":"555:9:96","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"543:21:96","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":64657,"nodeType":"ExpressionStatement","src":"543:21:96"}]},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":64644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64639,"mutability":"mutable","name":"name_","nameLocation":"436:5:96","nodeType":"VariableDeclaration","scope":64659,"src":"422:19:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":64638,"name":"string","nodeType":"ElementaryTypeName","src":"422:6:96","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":64641,"mutability":"mutable","name":"symbol_","nameLocation":"457:7:96","nodeType":"VariableDeclaration","scope":64659,"src":"443:21:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":64640,"name":"string","nodeType":"ElementaryTypeName","src":"443:6:96","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":64643,"mutability":"mutable","name":"decimals_","nameLocation":"472:9:96","nodeType":"VariableDeclaration","scope":64659,"src":"466:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":64642,"name":"uint8","nodeType":"ElementaryTypeName","src":"466:5:96","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"421:61:96"},"returnParameters":{"id":64645,"nodeType":"ParameterList","parameters":[],"src":"483:0:96"},"scope":64847,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":64668,"nodeType":"FunctionDefinition","src":"577:98:96","nodes":[],"body":{"id":64667,"nodeType":"Block","src":"646:29:96","nodes":[],"statements":[{"expression":{"id":64665,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64633,"src":"663:5:96","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":64664,"id":64666,"nodeType":"Return","src":"656:12:96"}]},"baseFunctions":[4167],"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"586:4:96","overrides":{"id":64661,"nodeType":"OverrideSpecifier","overrides":[],"src":"613:8:96"},"parameters":{"id":64660,"nodeType":"ParameterList","parameters":[],"src":"590:2:96"},"returnParameters":{"id":64664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64663,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64668,"src":"631:13:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":64662,"name":"string","nodeType":"ElementaryTypeName","src":"631:6:96","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"630:15:96"},"scope":64847,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":64677,"nodeType":"FunctionDefinition","src":"681:102:96","nodes":[],"body":{"id":64676,"nodeType":"Block","src":"752:31:96","nodes":[],"statements":[{"expression":{"id":64674,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64635,"src":"769:7:96","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":64673,"id":64675,"nodeType":"Return","src":"762:14:96"}]},"baseFunctions":[4173],"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"690:6:96","overrides":{"id":64670,"nodeType":"OverrideSpecifier","overrides":[],"src":"719:8:96"},"parameters":{"id":64669,"nodeType":"ParameterList","parameters":[],"src":"696:2:96"},"returnParameters":{"id":64673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64672,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64677,"src":"737:13:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":64671,"name":"string","nodeType":"ElementaryTypeName","src":"737:6:96","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"736:15:96"},"scope":64847,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":64686,"nodeType":"FunctionDefinition","src":"789:98:96","nodes":[],"body":{"id":64685,"nodeType":"Block","src":"854:33:96","nodes":[],"statements":[{"expression":{"id":64683,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64637,"src":"871:9:96","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":64682,"id":64684,"nodeType":"Return","src":"864:16:96"}]},"baseFunctions":[4182],"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"798:8:96","overrides":{"id":64679,"nodeType":"OverrideSpecifier","overrides":[],"src":"829:8:96"},"parameters":{"id":64678,"nodeType":"ParameterList","parameters":[],"src":"806:2:96"},"returnParameters":{"id":64682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64681,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64686,"src":"847:5:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":64680,"name":"uint8","nodeType":"ElementaryTypeName","src":"847:5:96","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"846:7:96"},"scope":64847,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":64701,"nodeType":"FunctionDefinition","src":"893:102:96","nodes":[],"body":{"id":64700,"nodeType":"Block","src":"949:46:96","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":64695,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64688,"src":"977:2:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64694,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64846,"src":"965:11:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"965:15:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64697,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64690,"src":"982:5:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64693,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4392,"src":"959:5:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":64698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"959:29:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64699,"nodeType":"ExpressionStatement","src":"959:29:96"}]},"functionSelector":"40c10f19","implemented":true,"kind":"function","modifiers":[],"name":"mint","nameLocation":"902:4:96","parameters":{"id":64691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64688,"mutability":"mutable","name":"to","nameLocation":"915:2:96","nodeType":"VariableDeclaration","scope":64701,"src":"907:10:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64687,"name":"address","nodeType":"ElementaryTypeName","src":"907:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64690,"mutability":"mutable","name":"value","nameLocation":"927:5:96","nodeType":"VariableDeclaration","scope":64701,"src":"919:13:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64689,"name":"uint256","nodeType":"ElementaryTypeName","src":"919:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"906:27:96"},"returnParameters":{"id":64692,"nodeType":"ParameterList","parameters":[],"src":"949:0:96"},"scope":64847,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":64716,"nodeType":"FunctionDefinition","src":"1001:106:96","nodes":[],"body":{"id":64715,"nodeType":"Block","src":"1059:48:96","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":64710,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64703,"src":"1087:4:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64709,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64846,"src":"1075:11:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1075:17:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64712,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64705,"src":"1094:5:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64708,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4420,"src":"1069:5:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":64713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1069:31:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64714,"nodeType":"ExpressionStatement","src":"1069:31:96"}]},"functionSelector":"9dc29fac","implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"1010:4:96","parameters":{"id":64706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64703,"mutability":"mutable","name":"from","nameLocation":"1023:4:96","nodeType":"VariableDeclaration","scope":64716,"src":"1015:12:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64702,"name":"address","nodeType":"ElementaryTypeName","src":"1015:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64705,"mutability":"mutable","name":"value","nameLocation":"1037:5:96","nodeType":"VariableDeclaration","scope":64716,"src":"1029:13:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64704,"name":"uint256","nodeType":"ElementaryTypeName","src":"1029:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1014:29:96"},"returnParameters":{"id":64707,"nodeType":"ParameterList","parameters":[],"src":"1059:0:96"},"scope":64847,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":64736,"nodeType":"FunctionDefinition","src":"1113:151:96","nodes":[],"body":{"id":64735,"nodeType":"Block","src":"1194:70:96","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":64727,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64718,"src":"1226:4:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64726,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64846,"src":"1214:11:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1214:17:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":64730,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64720,"src":"1245:2:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64729,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64846,"src":"1233:11:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1233:15:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64732,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64722,"src":"1250:6:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64725,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4444,"src":"1204:9:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":64733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1204:53:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64734,"nodeType":"ExpressionStatement","src":"1204:53:96"}]},"functionSelector":"f83d1791","implemented":true,"kind":"function","modifiers":[],"name":"directTransfer","nameLocation":"1122:14:96","parameters":{"id":64723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64718,"mutability":"mutable","name":"from","nameLocation":"1145:4:96","nodeType":"VariableDeclaration","scope":64736,"src":"1137:12:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64717,"name":"address","nodeType":"ElementaryTypeName","src":"1137:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64720,"mutability":"mutable","name":"to","nameLocation":"1159:2:96","nodeType":"VariableDeclaration","scope":64736,"src":"1151:10:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64719,"name":"address","nodeType":"ElementaryTypeName","src":"1151:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64722,"mutability":"mutable","name":"amount","nameLocation":"1171:6:96","nodeType":"VariableDeclaration","scope":64736,"src":"1163:14:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64721,"name":"uint256","nodeType":"ElementaryTypeName","src":"1163:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1136:42:96"},"returnParameters":{"id":64724,"nodeType":"ParameterList","parameters":[],"src":"1194:0:96"},"scope":64847,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":64756,"nodeType":"FunctionDefinition","src":"1270:175:96","nodes":[],"body":{"id":64755,"nodeType":"Block","src":"1363:82:96","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":64747,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64738,"src":"1401:5:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64746,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64846,"src":"1389:11:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1389:18:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":64750,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64740,"src":"1421:7:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64749,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64846,"src":"1409:11:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1409:20:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64752,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64742,"src":"1431:6:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64745,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4456,"src":"1373:15:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":64753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1373:65:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64754,"nodeType":"ExpressionStatement","src":"1373:65:96"}]},"functionSelector":"d30ed3b3","implemented":true,"kind":"function","modifiers":[],"name":"directSpendAllowance","nameLocation":"1279:20:96","parameters":{"id":64743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64738,"mutability":"mutable","name":"owner","nameLocation":"1308:5:96","nodeType":"VariableDeclaration","scope":64756,"src":"1300:13:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64737,"name":"address","nodeType":"ElementaryTypeName","src":"1300:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64740,"mutability":"mutable","name":"spender","nameLocation":"1323:7:96","nodeType":"VariableDeclaration","scope":64756,"src":"1315:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64739,"name":"address","nodeType":"ElementaryTypeName","src":"1315:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64742,"mutability":"mutable","name":"amount","nameLocation":"1340:6:96","nodeType":"VariableDeclaration","scope":64756,"src":"1332:14:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64741,"name":"uint256","nodeType":"ElementaryTypeName","src":"1332:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1299:48:96"},"returnParameters":{"id":64744,"nodeType":"ParameterList","parameters":[],"src":"1363:0:96"},"scope":64847,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":64775,"nodeType":"FunctionDefinition","src":"1451:148:96","nodes":[],"body":{"id":64774,"nodeType":"Block","src":"1536:63:96","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":64769,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64758,"src":"1580:2:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64768,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64846,"src":"1568:11:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1568:15:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64771,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64760,"src":"1585:6:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64766,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1553:5:96","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$64847_$","typeString":"type(contract super GV2ERC20)"}},"id":64767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1559:8:96","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":4282,"src":"1553:14:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":64772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1553:39:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":64765,"id":64773,"nodeType":"Return","src":"1546:46:96"}]},"baseFunctions":[4282],"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1460:8:96","overrides":{"id":64762,"nodeType":"OverrideSpecifier","overrides":[],"src":"1512:8:96"},"parameters":{"id":64761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64758,"mutability":"mutable","name":"to","nameLocation":"1477:2:96","nodeType":"VariableDeclaration","scope":64775,"src":"1469:10:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64757,"name":"address","nodeType":"ElementaryTypeName","src":"1469:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64760,"mutability":"mutable","name":"amount","nameLocation":"1489:6:96","nodeType":"VariableDeclaration","scope":64775,"src":"1481:14:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64759,"name":"uint256","nodeType":"ElementaryTypeName","src":"1481:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1468:28:96"},"returnParameters":{"id":64765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64764,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64775,"src":"1530:4:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64763,"name":"bool","nodeType":"ElementaryTypeName","src":"1530:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1529:6:96"},"scope":64847,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":64799,"nodeType":"FunctionDefinition","src":"1605:189:96","nodes":[],"body":{"id":64798,"nodeType":"Block","src":"1708:86:96","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":64790,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64777,"src":"1756:4:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64789,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64846,"src":"1744:11:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1744:17:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":64793,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64779,"src":"1775:2:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64792,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64846,"src":"1763:11:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1763:15:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64795,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64781,"src":"1780:6:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64787,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1725:5:96","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$64847_$","typeString":"type(contract super GV2ERC20)"}},"id":64788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1731:12:96","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":4310,"src":"1725:18:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) returns (bool)"}},"id":64796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1725:62:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":64786,"id":64797,"nodeType":"Return","src":"1718:69:96"}]},"baseFunctions":[4310],"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1614:12:96","overrides":{"id":64783,"nodeType":"OverrideSpecifier","overrides":[],"src":"1684:8:96"},"parameters":{"id":64782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64777,"mutability":"mutable","name":"from","nameLocation":"1635:4:96","nodeType":"VariableDeclaration","scope":64799,"src":"1627:12:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64776,"name":"address","nodeType":"ElementaryTypeName","src":"1627:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64779,"mutability":"mutable","name":"to","nameLocation":"1649:2:96","nodeType":"VariableDeclaration","scope":64799,"src":"1641:10:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64778,"name":"address","nodeType":"ElementaryTypeName","src":"1641:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64781,"mutability":"mutable","name":"amount","nameLocation":"1661:6:96","nodeType":"VariableDeclaration","scope":64799,"src":"1653:14:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64780,"name":"uint256","nodeType":"ElementaryTypeName","src":"1653:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1626:42:96"},"returnParameters":{"id":64786,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64785,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64799,"src":"1702:4:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64784,"name":"bool","nodeType":"ElementaryTypeName","src":"1702:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1701:6:96"},"scope":64847,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":64818,"nodeType":"FunctionDefinition","src":"1800:184:96","nodes":[],"body":{"id":64817,"nodeType":"Block","src":"1903:81:96","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":64812,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64801,"src":"1956:7:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64811,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64846,"src":"1944:11:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1944:20:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64814,"name":"difference","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64803,"src":"1966:10:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64809,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1920:5:96","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$64847_$","typeString":"type(contract super GV2ERC20)"}},"id":64810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1926:17:96","memberName":"increaseAllowance","nodeType":"MemberAccess","referencedDeclaration":4240,"src":"1920:23:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":64815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1920:57:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":64808,"id":64816,"nodeType":"Return","src":"1913:64:96"}]},"baseFunctions":[4240],"functionSelector":"39509351","implemented":true,"kind":"function","modifiers":[],"name":"increaseAllowance","nameLocation":"1809:17:96","overrides":{"id":64805,"nodeType":"OverrideSpecifier","overrides":[],"src":"1879:8:96"},"parameters":{"id":64804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64801,"mutability":"mutable","name":"spender","nameLocation":"1835:7:96","nodeType":"VariableDeclaration","scope":64818,"src":"1827:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64800,"name":"address","nodeType":"ElementaryTypeName","src":"1827:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64803,"mutability":"mutable","name":"difference","nameLocation":"1852:10:96","nodeType":"VariableDeclaration","scope":64818,"src":"1844:18:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64802,"name":"uint256","nodeType":"ElementaryTypeName","src":"1844:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1826:37:96"},"returnParameters":{"id":64808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64807,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64818,"src":"1897:4:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64806,"name":"bool","nodeType":"ElementaryTypeName","src":"1897:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1896:6:96"},"scope":64847,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":64837,"nodeType":"FunctionDefinition","src":"1990:184:96","nodes":[],"body":{"id":64836,"nodeType":"Block","src":"2093:81:96","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":64831,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64820,"src":"2146:7:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64830,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64846,"src":"2134:11:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2134:20:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64833,"name":"difference","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64822,"src":"2156:10:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64828,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2110:5:96","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$64847_$","typeString":"type(contract super GV2ERC20)"}},"id":64829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2116:17:96","memberName":"decreaseAllowance","nodeType":"MemberAccess","referencedDeclaration":4254,"src":"2110:23:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":64834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2110:57:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":64827,"id":64835,"nodeType":"Return","src":"2103:64:96"}]},"baseFunctions":[4254],"functionSelector":"a457c2d7","implemented":true,"kind":"function","modifiers":[],"name":"decreaseAllowance","nameLocation":"1999:17:96","overrides":{"id":64824,"nodeType":"OverrideSpecifier","overrides":[],"src":"2069:8:96"},"parameters":{"id":64823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64820,"mutability":"mutable","name":"spender","nameLocation":"2025:7:96","nodeType":"VariableDeclaration","scope":64837,"src":"2017:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64819,"name":"address","nodeType":"ElementaryTypeName","src":"2017:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64822,"mutability":"mutable","name":"difference","nameLocation":"2042:10:96","nodeType":"VariableDeclaration","scope":64837,"src":"2034:18:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64821,"name":"uint256","nodeType":"ElementaryTypeName","src":"2034:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2016:37:96"},"returnParameters":{"id":64827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64826,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64837,"src":"2087:4:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64825,"name":"bool","nodeType":"ElementaryTypeName","src":"2087:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2086:6:96"},"scope":64847,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":64846,"nodeType":"FunctionDefinition","src":"2180:168:96","nodes":[],"body":{"id":64845,"nodeType":"Block","src":"2251:97:96","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"2286:56:96","statements":[{"nodeType":"YulAssignment","src":"2300:32:96","value":{"arguments":[{"name":"a","nodeType":"YulIdentifier","src":"2313:1:96"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2320:3:96","type":"","value":"160"},{"arguments":[],"functionName":{"name":"gas","nodeType":"YulIdentifier","src":"2325:3:96"},"nodeType":"YulFunctionCall","src":"2325:5:96"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2316:3:96"},"nodeType":"YulFunctionCall","src":"2316:15:96"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2310:2:96"},"nodeType":"YulFunctionCall","src":"2310:22:96"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"2300:6:96"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":64839,"isOffset":false,"isSlot":false,"src":"2313:1:96","valueSize":1},{"declaration":64842,"isOffset":false,"isSlot":false,"src":"2300:6:96","valueSize":1}],"flags":["memory-safe"],"id":64844,"nodeType":"InlineAssembly","src":"2261:81:96"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_brutalized","nameLocation":"2189:11:96","parameters":{"id":64840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64839,"mutability":"mutable","name":"a","nameLocation":"2209:1:96","nodeType":"VariableDeclaration","scope":64846,"src":"2201:9:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64838,"name":"address","nodeType":"ElementaryTypeName","src":"2201:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2200:11:96"},"returnParameters":{"id":64843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64842,"mutability":"mutable","name":"result","nameLocation":"2243:6:96","nodeType":"VariableDeclaration","scope":64846,"src":"2235:14:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64841,"name":"address","nodeType":"ElementaryTypeName","src":"2235:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2234:16:96"},"scope":64847,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":64630,"name":"ERC20","nameLocations":["311:5:96"],"nodeType":"IdentifierPath","referencedDeclaration":4491,"src":"311:5:96"},"id":64631,"nodeType":"InheritanceSpecifier","src":"311:5:96"}],"canonicalName":"GV2ERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":64629,"nodeType":"StructuredDocumentation","src":"120:170:96","text":"@dev WARNING! This mock is strictly intended for testing purposes only.\n Do NOT copy anything here into production code unless you really know what you are doing."},"fullyImplemented":true,"linearizedBaseContracts":[64847,4491],"name":"GV2ERC20","nameLocation":"299:8:96","scope":64848,"usedErrors":[4101,4104,4107,4110,4113,4116,4119]}],"license":"AGPL-3.0-only"},"id":96} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"stateMutability":"nonpayable"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"result","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"difference","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"directSpendAllowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"directTransfer","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"difference","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AllowanceOverflow","inputs":[]},{"type":"error","name":"AllowanceUnderflow","inputs":[]},{"type":"error","name":"InsufficientAllowance","inputs":[]},{"type":"error","name":"InsufficientBalance","inputs":[]},{"type":"error","name":"InvalidPermit","inputs":[]},{"type":"error","name":"PermitExpired","inputs":[]},{"type":"error","name":"TotalSupplyOverflow","inputs":[]}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b5060405162000e9438038062000e94833981016040819052620000349162000134565b600062000042848262000248565b50600162000051838262000248565b506002805460ff191660ff9290921691909117905550620003149050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200009757600080fd5b81516001600160401b0380821115620000b457620000b46200006f565b604051601f8301601f19908116603f01168101908282118183101715620000df57620000df6200006f565b81604052838152602092508683858801011115620000fc57600080fd5b600091505b8382101562000120578582018301518183018401529082019062000101565b600093810190920192909252949350505050565b6000806000606084860312156200014a57600080fd5b83516001600160401b03808211156200016257600080fd5b620001708783880162000085565b945060208601519150808211156200018757600080fd5b50620001968682870162000085565b925050604084015160ff81168114620001ae57600080fd5b809150509250925092565b600181811c90821680620001ce57607f821691505b602082108103620001ef57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024357600081815260208120601f850160051c810160208610156200021e5750805b601f850160051c820191505b818110156200023f578281556001016200022a565b5050505b505050565b81516001600160401b038111156200026457620002646200006f565b6200027c81620002758454620001b9565b84620001f5565b602080601f831160018114620002b457600084156200029b5750858301515b600019600386901b1c1916600185901b1785556200023f565b600085815260208120601f198616915b82811015620002e557888601518255948401946001909101908401620002c4565b5085821015620003045787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610b7080620003246000396000f3fe608060405234801561001057600080fd5b50600436106100e65760003560e01c806306fdde03146100eb578063095ea7b31461010957806318160ddd1461012c57806323b872dd14610146578063313ce567146101595780633644e5151461016e578063395093511461017657806340c10f191461018957806370a082311461019e5780637ecebe00146101c457806395d89b41146101ea5780639dc29fac146101f2578063a457c2d714610205578063a9059cbb14610218578063d30ed3b31461022b578063d505accf1461023e578063dd62ed3e14610251578063f83d17911461027a575b600080fd5b6100f361028d565b604051610100919061092f565b60405180910390f35b61011c610117366004610999565b61031f565b6040519015158152602001610100565b6805345cdf77eb68f44c545b604051908152602001610100565b61011c6101543660046109c3565b610360565b60025460405160ff9091168152602001610100565b610138610385565b61011c610184366004610999565b6103fb565b61019c610197366004610999565b610416565b005b6101386101ac3660046109ff565b6387a211a2600c908152600091909152602090205490565b6101386101d23660046109ff565b6338377508600c908152600091909152602090205490565b6100f361042c565b61019c610200366004610999565b61043b565b61011c610213366004610999565b61044d565b61011c610226366004610999565b610461565b61019c6102393660046109c3565b610475565b61019c61024c366004610a1a565b610495565b61013861025f366004610a8d565b602052637f5e9f20600c908152600091909152603490205490565b61019c6102883660046109c3565b6105b1565b60606000805461029c90610ac0565b80601f01602080910402602001604051908101604052809291908181526020018280546102c890610ac0565b80156103155780601f106102ea57610100808354040283529160200191610315565b820191906000526020600020905b8154815290600101906020018083116102f857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b600061037d61036e856105cc565b610377856105cc565b846105db565b949350505050565b604051600061039261028d565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061040f610409846105cc565b83610687565b9392505050565b610428610422836105cc565b826106e7565b5050565b60606001805461029c90610ac0565b610428610447836105cc565b82610754565b600061040f61045b846105cc565b836107b9565b600061040f61046f846105cc565b8361081a565b610490610481846105cc565b61048a846105cc565b83610883565b505050565b600061049f610385565b9050604051854211156104ba57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105725763ddafbaef6000526004601cfd5b6303faf4f960a51b88176040526034602c208790558789600080516020610b1b833981519152602060608501a360405250506000606052505050505050565b6104906105bd846105cc565b6105c6846105cc565b836108c6565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c208054600019811461061b5780851115610615576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106445763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c600080516020610afb833981519152602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156106b95763f90670666000526004601cfd5b80835580600052505050602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b6805345cdf77eb68f44c548181018181101561070b5763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c6000600080516020610afb833981519152602080a35050565b6387a211a2600c52816000526020600c2080548083111561077d5763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c8054829003905560008181526001600160a01b038316600080516020610afb833981519152602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156107e857638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156108455763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c33600080516020610afb833981519152602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146108bf57808311156108b9576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156108f15763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c600080516020610afb833981519152602080a350505050565b600060208083528351808285015260005b8181101561095c57858101830151858201604001528201610940565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461099457600080fd5b919050565b600080604083850312156109ac57600080fd5b6109b58361097d565b946020939093013593505050565b6000806000606084860312156109d857600080fd5b6109e18461097d565b92506109ef6020850161097d565b9150604084013590509250925092565b600060208284031215610a1157600080fd5b61040f8261097d565b600080600080600080600060e0888a031215610a3557600080fd5b610a3e8861097d565b9650610a4c6020890161097d565b95506040880135945060608801359350608088013560ff81168114610a7057600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610aa057600080fd5b610aa98361097d565b9150610ab76020840161097d565b90509250929050565b600181811c90821680610ad457607f821691505b602082108103610af457634e487b7160e01b600052602260045260246000fd5b5091905056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a2646970667358221220c55d78ffe9a4daf802ed6c15a39ccc3dba398ff280afd24434cb0f3846ea85e764736f6c63430008130033","sourceMap":"290:2060:96:-:0;;;410:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;493:5;:13;501:5;493;:13;:::i;:::-;-1:-1:-1;516:7:96;:17;526:7;516;:17;:::i;:::-;-1:-1:-1;543:9:96;:21;;-1:-1:-1;;543:21:96;;;;;;;;;;;;-1:-1:-1;290:2060:96;;-1:-1:-1;290:2060:96;14:127:142;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:840;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:142;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:142;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;954:1;932:15;;;928:24;;;921:35;;;;936:6;146:840;-1:-1:-1;;;;146:840:142:o;991:712::-;1097:6;1105;1113;1166:2;1154:9;1145:7;1141:23;1137:32;1134:52;;;1182:1;1179;1172:12;1134:52;1209:16;;-1:-1:-1;;;;;1274:14:142;;;1271:34;;;1301:1;1298;1291:12;1271:34;1324:61;1377:7;1368:6;1357:9;1353:22;1324:61;:::i;:::-;1314:71;;1431:2;1420:9;1416:18;1410:25;1394:41;;1460:2;1450:8;1447:16;1444:36;;;1476:1;1473;1466:12;1444:36;;1499:63;1554:7;1543:8;1532:9;1528:24;1499:63;:::i;:::-;1489:73;;;1605:2;1594:9;1590:18;1584:25;1649:4;1642:5;1638:16;1631:5;1628:27;1618:55;;1669:1;1666;1659:12;1618:55;1692:5;1682:15;;;991:712;;;;;:::o;1708:380::-;1787:1;1783:12;;;;1830;;;1851:61;;1905:4;1897:6;1893:17;1883:27;;1851:61;1958:2;1950:6;1947:14;1927:18;1924:38;1921:161;;2004:10;1999:3;1995:20;1992:1;1985:31;2039:4;2036:1;2029:15;2067:4;2064:1;2057:15;1921:161;;1708:380;;;:::o;2219:545::-;2321:2;2316:3;2313:11;2310:448;;;2357:1;2382:5;2378:2;2371:17;2427:4;2423:2;2413:19;2497:2;2485:10;2481:19;2478:1;2474:27;2468:4;2464:38;2533:4;2521:10;2518:20;2515:47;;;-1:-1:-1;2556:4:142;2515:47;2611:2;2606:3;2602:12;2599:1;2595:20;2589:4;2585:31;2575:41;;2666:82;2684:2;2677:5;2674:13;2666:82;;;2729:17;;;2710:1;2699:13;2666:82;;;2670:3;;;2310:448;2219:545;;;:::o;2940:1352::-;3060:10;;-1:-1:-1;;;;;3082:30:142;;3079:56;;;3115:18;;:::i;:::-;3144:97;3234:6;3194:38;3226:4;3220:11;3194:38;:::i;:::-;3188:4;3144:97;:::i;:::-;3296:4;;3360:2;3349:14;;3377:1;3372:663;;;;4079:1;4096:6;4093:89;;;-1:-1:-1;4148:19:142;;;4142:26;4093:89;-1:-1:-1;;2897:1:142;2893:11;;;2889:24;2885:29;2875:40;2921:1;2917:11;;;2872:57;4195:81;;3342:944;;3372:663;2166:1;2159:14;;;2203:4;2190:18;;-1:-1:-1;;3408:20:142;;;3526:236;3540:7;3537:1;3534:14;3526:236;;;3629:19;;;3623:26;3608:42;;3721:27;;;;3689:1;3677:14;;;;3556:19;;3526:236;;;3530:3;3790:6;3781:7;3778:19;3775:201;;;3851:19;;;3845:26;-1:-1:-1;;3934:1:142;3930:14;;;3946:3;3926:24;3922:37;3918:42;3903:58;3888:74;;3775:201;-1:-1:-1;;;;;4022:1:142;4006:14;;;4002:22;3989:36;;-1:-1:-1;2940:1352:142:o;:::-;290:2060:96;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100e65760003560e01c806306fdde03146100eb578063095ea7b31461010957806318160ddd1461012c57806323b872dd14610146578063313ce567146101595780633644e5151461016e578063395093511461017657806340c10f191461018957806370a082311461019e5780637ecebe00146101c457806395d89b41146101ea5780639dc29fac146101f2578063a457c2d714610205578063a9059cbb14610218578063d30ed3b31461022b578063d505accf1461023e578063dd62ed3e14610251578063f83d17911461027a575b600080fd5b6100f361028d565b604051610100919061092f565b60405180910390f35b61011c610117366004610999565b61031f565b6040519015158152602001610100565b6805345cdf77eb68f44c545b604051908152602001610100565b61011c6101543660046109c3565b610360565b60025460405160ff9091168152602001610100565b610138610385565b61011c610184366004610999565b6103fb565b61019c610197366004610999565b610416565b005b6101386101ac3660046109ff565b6387a211a2600c908152600091909152602090205490565b6101386101d23660046109ff565b6338377508600c908152600091909152602090205490565b6100f361042c565b61019c610200366004610999565b61043b565b61011c610213366004610999565b61044d565b61011c610226366004610999565b610461565b61019c6102393660046109c3565b610475565b61019c61024c366004610a1a565b610495565b61013861025f366004610a8d565b602052637f5e9f20600c908152600091909152603490205490565b61019c6102883660046109c3565b6105b1565b60606000805461029c90610ac0565b80601f01602080910402602001604051908101604052809291908181526020018280546102c890610ac0565b80156103155780601f106102ea57610100808354040283529160200191610315565b820191906000526020600020905b8154815290600101906020018083116102f857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b600061037d61036e856105cc565b610377856105cc565b846105db565b949350505050565b604051600061039261028d565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061040f610409846105cc565b83610687565b9392505050565b610428610422836105cc565b826106e7565b5050565b60606001805461029c90610ac0565b610428610447836105cc565b82610754565b600061040f61045b846105cc565b836107b9565b600061040f61046f846105cc565b8361081a565b610490610481846105cc565b61048a846105cc565b83610883565b505050565b600061049f610385565b9050604051854211156104ba57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105725763ddafbaef6000526004601cfd5b6303faf4f960a51b88176040526034602c208790558789600080516020610b1b833981519152602060608501a360405250506000606052505050505050565b6104906105bd846105cc565b6105c6846105cc565b836108c6565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c208054600019811461061b5780851115610615576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106445763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c600080516020610afb833981519152602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156106b95763f90670666000526004601cfd5b80835580600052505050602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b6805345cdf77eb68f44c548181018181101561070b5763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c6000600080516020610afb833981519152602080a35050565b6387a211a2600c52816000526020600c2080548083111561077d5763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c8054829003905560008181526001600160a01b038316600080516020610afb833981519152602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156107e857638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156108455763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c33600080516020610afb833981519152602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146108bf57808311156108b9576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156108f15763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c600080516020610afb833981519152602080a350505050565b600060208083528351808285015260005b8181101561095c57858101830151858201604001528201610940565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461099457600080fd5b919050565b600080604083850312156109ac57600080fd5b6109b58361097d565b946020939093013593505050565b6000806000606084860312156109d857600080fd5b6109e18461097d565b92506109ef6020850161097d565b9150604084013590509250925092565b600060208284031215610a1157600080fd5b61040f8261097d565b600080600080600080600060e0888a031215610a3557600080fd5b610a3e8861097d565b9650610a4c6020890161097d565b95506040880135945060608801359350608088013560ff81168114610a7057600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610aa057600080fd5b610aa98361097d565b9150610ab76020840161097d565b90509250929050565b600181811c90821680610ad457607f821691505b602082108103610af457634e487b7160e01b600052602260045260246000fd5b5091905056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a2646970667358221220c55d78ffe9a4daf802ed6c15a39ccc3dba398ff280afd24434cb0f3846ea85e764736f6c63430008130033","sourceMap":"290:2060:96:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;577:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5995:573:13;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:142;;1162:22;1144:41;;1132:2;1117:18;5995:573:13;1004:187:142;4847:195:13;5007:18;5001:25;4847:195;;;1342:25:142;;;1330:2;1315:18;4847:195:13;1196:177:142;1605:189:96;;;;;;:::i;:::-;;:::i;789:98::-;871:9;;789:98;;871:9;;;;1853:36:142;;1841:2;1826:18;789:98:96;1711:184:142;17096:1062:13;;;:::i;1800:184:96:-;;;;;;:::i;:::-;;:::i;893:102::-;;;;;;:::i;:::-;;:::i;:::-;;5108:286:13;;;;;;:::i;:::-;5276:18;5270:4;5263:32;;;5171:14;5308:19;;;;5372:4;5356:21;;5350:28;;5108:286;13503:340;;;;;;:::i;:::-;13726:17;13720:4;13713:31;;;13563:14;13757:19;;;;13821:4;13805:21;;13799:28;;13503:340;681:102:96;;;:::i;1001:106::-;;;;;;:::i;:::-;;:::i;1990:184::-;;;;;;:::i;:::-;;:::i;1451:148::-;;;;;;:::i;:::-;;:::i;1270:175::-;;;;;;:::i;:::-;;:::i;14027:3010:13:-;;;;;;:::i;:::-;;:::i;5489:375::-;;;;;;:::i;:::-;5704:4;5697:21;5744:20;5738:4;5731:34;;;5601:14;5778:19;;;;5842:4;5826:21;;5820:28;;5489:375;1113:151:96;;;;;;:::i;:::-;;:::i;577:98::-;631:13;663:5;656:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;577:98;:::o;5995:573:13:-;6069:4;6228:7;6222:4;6215:21;6262:20;6256:4;6249:34;6309:8;6303:4;6296:22;6361:6;6354:4;6348;6338:21;6331:37;6436:6;6430:4;6423:20;6524:4;6518:11;6514:2;6510:20;6500:8;-1:-1:-1;;;;;;;;;;;6467:4:13;6461;6456:75;-1:-1:-1;6557:4:13;5995:573;;;;:::o;1605:189:96:-;1702:4;1725:62;1744:17;1756:4;1744:11;:17::i;:::-;1763:15;1775:2;1763:11;:15::i;:::-;1780:6;1725:18;:62::i;:::-;1718:69;1605:189;-1:-1:-1;;;;1605:189:96:o;17096:1062:13:-;17261:4;17255:11;17153:14;17447:6;:4;:6::i;:::-;17431:24;;;;;;;17726:66;17716:77;;17813:12;;;17806:30;-1:-1:-1;17946:66:13;17939:4;17932:12;;17925:88;18047:9;18040:4;18033:12;;18026:31;18091:9;18084:4;18077:12;;18070:31;18137:4;18124:18;;;17096:1062::o;1800:184:96:-;1897:4;1920:57;1944:20;1956:7;1944:11;:20::i;:::-;1966:10;1920:23;:57::i;:::-;1913:64;1800:184;-1:-1:-1;;;1800:184:96:o;893:102::-;959:29;965:15;977:2;965:11;:15::i;:::-;982:5;959;:29::i;:::-;893:102;;:::o;681:::-;737:13;769:7;762:14;;;;;:::i;1001:106::-;1069:31;1075:17;1087:4;1075:11;:17::i;:::-;1094:5;1069;:31::i;1990:184::-;2087:4;2110:57;2134:20;2146:7;2134:11;:20::i;:::-;2156:10;2110:23;:57::i;1451:148::-;1530:4;1553:39;1568:15;1580:2;1568:11;:15::i;:::-;1585:6;1553:14;:39::i;1270:175::-;1373:65;1389:18;1401:5;1389:11;:18::i;:::-;1409:20;1421:7;1409:11;:20::i;:::-;1431:6;1373:15;:65::i;:::-;1270:175;;;:::o;14027:3010:13:-;14226:23;14252:18;:16;:18::i;:::-;14226:44;;14406:4;14400:11;14513:8;14500:11;14497:25;14494:142;;;14554:10;14548:4;14541:24;14617:4;14611;14604:18;14494:142;14714:5;14710:2;14706:14;14702:2;14698:23;14689:32;;14761:7;14757:2;14753:16;14749:2;14745:25;14734:36;;14854:17;14848:4;14841:31;14898:5;14892:4;14885:19;14950:4;14944;14934:21;14992:9;14986:16;15103:1;15091:10;15087:18;15076:9;15069:37;15325:66;15322:1;15315:77;15426:5;15419:4;15416:1;15412:12;15405:27;15466:7;15459:4;15456:1;15452:12;15445:29;15508:5;15501:4;15498:1;15494:12;15487:27;15548:10;15541:4;15538:1;15534:12;15527:32;;;15593:8;15586:4;15583:1;15579:12;15572:30;15664:6;15661:1;15654:17;15697:15;15691:4;15684:29;15752:4;15749:1;15739:18;15733:4;15726:32;15844:4;15838;15828:21;15825:1;15818:32;15886:1;15880:4;15876:12;15870:4;15863:26;15915:1;15909:4;15902:15;15943:1;15937:4;15930:15;15998:4;15992;15986;15983:1;15980;15973:5;15962:41;15958:46;16423:5;16404:16;16398:23;16395:34;16385:159;;16462:10;16456:4;16449:24;16525:4;16519;16512:18;16385:159;-1:-1:-1;;;16685:43:13;;16679:4;16672:57;16765:4;16759;16749:21;16742:36;;;16720:7;16885:5;-1:-1:-1;;;;;;;;;;;;16845:4:13;16838:12;;16833:67;16920:4;16913:15;-1:-1:-1;;16990:1:13;16984:4;16977:15;-1:-1:-1;;;;;;14027:3010:13:o;1113:151:96:-;1204:53;1214:17;1226:4;1214:11;:17::i;:::-;1233:15;1245:2;1233:11;:15::i;:::-;1250:6;1204:9;:53::i;2180:168::-;2235:14;2325:5;2320:3;2316:15;2313:1;2310:22;2300:32;;2180:168;;;:::o;10886:2203:13:-;10974:4;11125;11121:2;11117:13;11218:8;11212:4;11205:22;11263:20;11256:5;11253:31;11247:4;11240:45;11335:4;11329;11319:21;11377:13;11371:20;11499:1;11495:6;11483:10;11480:22;11470:430;;11617:10;11609:6;11606:22;11603:159;;;11664:10;11658:4;11651:24;11739:4;11733;11726:18;11603:159;11878:6;11866:10;11862:23;11847:13;11840:46;11470:430;;;11996:18;11989:5;11986:29;11980:4;11973:43;12068:4;12062;12052:21;12111:15;12105:22;12201:11;12193:6;12190:23;12187:146;;;12245:10;12239:4;12232:24;12314:4;12308;12301:18;12187:146;12442:6;12429:11;12425:24;12408:15;12401:49;;;12525:2;12519:4;12512:16;12578:4;12572;12562:21;12828:6;12812:13;12806:20;12802:33;12787:13;12780:56;;12904:6;12898:4;12891:20;12998:4;12992:11;12988:2;12984:20;12976:5;12972:2;12968:14;-1:-1:-1;;;;;;;;;;;12935:4:13;12929;12924:81;;-1:-1:-1;13078:4:13;10886:2203;;;;;:::o;6700:1058::-;6788:4;6945:7;6939:4;6932:21;6979:20;6973:4;6966:34;7026:8;7020:4;7013:22;7085:4;7079;7069:21;7132:13;7126:20;7239:10;7222:15;7218:32;7322:15;7306:14;7303:35;7300:156;;;7370:10;7364:4;7357:24;7437:4;7431;7424:18;7300:156;7535:14;7520:13;7513:37;7618:14;7612:4;7605:28;;;;7714:4;7708:11;7704:2;7700:20;7690:8;-1:-1:-1;;;;;;;;;;;7657:4:13;7651;7646:75;-1:-1:-1;7747:4:13;6700:1058;;;;:::o;18562:1172::-;18783:18;18777:25;18862:6;18843:17;18839:30;18959:17;18941:16;18938:39;18935:162;;;19009:10;19003:4;18996:24;19078:4;19072;19065:18;18935:162;19184:16;19164:18;19157:44;;;19287:18;19281:4;19274:32;19332:2;19326:4;19319:16;19385:4;19379;19369:21;19501:6;19485:13;19479:20;19475:33;19460:13;19453:56;;19577:6;19571:4;19564:20;19658:4;19652:11;19648:2;19644:20;19641:1;-1:-1:-1;;;;;;;;;;;19608:4:13;19602;19597:68;893:102:96;;:::o;20140:1119:13:-;20407:18;20401:4;20394:32;20452:4;20446;20439:18;20509:4;20503;20493:21;20552:15;20546:22;20642:11;20634:6;20631:23;20628:146;;;20686:10;20680:4;20673:24;20755:4;20749;20742:18;20628:146;20866:24;;;20842:49;;21001:18;20995:25;;20991:38;;;20964:66;;-1:-1:-1;21085:20:13;;;-1:-1:-1;;;;;21162:22:13;;-1:-1:-1;;;;;;;;;;;21129:4:13;-1:-1:-1;21118:70:13;893:102:96;;:::o;7890:1035:13:-;7978:4;8135:7;8129:4;8122:21;8169:20;8163:4;8156:34;8216:8;8210:4;8203:22;8275:4;8269;8259:21;8322:13;8316:20;8413:10;8396:15;8393:31;8390:153;;;8456:10;8450:4;8443:24;8524:4;8518;8511:18;8390:153;8656:10;8639:15;8635:32;8613:54;;8702:14;8687:13;8680:37;8785:14;8779:4;8772:28;;;8881:4;8875:11;8871:2;8867:20;8857:8;-1:-1:-1;;;;;;;;;;;8824:4:13;8818;8813:75;-1:-1:-1;8914:4:13;7890:1035;;;;:::o;9112:1406::-;9182:4;9391:18;9385:4;9378:32;9436:8;9430:4;9423:22;9497:4;9491;9481:21;9540:15;9534:22;9630:11;9622:6;9619:23;9616:146;;;9674:10;9668:4;9661:24;9743:4;9737;9730:18;9616:146;9871:6;9858:11;9854:24;9837:15;9830:49;;;9954:2;9948:4;9941:16;10007:4;10001;9991:21;10257:6;10241:13;10235:20;10231:33;10216:13;10209:56;;10333:6;10327:4;10320:20;10421:4;10415:11;10411:2;10407:20;10397:8;-1:-1:-1;;;;;;;;;;;10364:4:13;10358;10353:75;-1:-1:-1;10507:4:13;9112:1406;;;;:::o;23377:959::-;23618:7;23612:4;23605:21;23652:20;23646:4;23639:34;23699:5;23693:4;23686:19;23755:4;23749;23739:21;23797:13;23791:20;23919:1;23915:6;23903:10;23900:22;23890:430;;24037:10;24029:6;24026:22;24023:159;;;24084:10;24078:4;24071:24;24159:4;24153;24146:18;24023:159;24298:6;24286:10;24282:23;24267:13;24260:46;23890:430;;;23377:959;;;:::o;21607:1396::-;21830:4;21826:2;21822:13;21931:18;21924:5;21921:29;21915:4;21908:43;22003:4;21997;21987:21;22046:15;22040:22;22136:11;22128:6;22125:23;22122:146;;;22180:10;22174:4;22167:24;22249:4;22243;22236:18;22122:146;22377:6;22364:11;22360:24;22343:15;22336:49;;;22460:2;22454:4;22447:16;22513:4;22507;22497:21;22763:6;22747:13;22741:20;22737:33;22722:13;22715:56;;22839:6;22833:4;22826:20;22933:4;22927:11;22923:2;22919:20;22911:5;22907:2;22903:14;-1:-1:-1;;;;;;;;;;;22870:4:13;22864;22859:81;;1270:175:96;;;:::o;14:548:142:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:142;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:142:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;2082:186::-;2141:6;2194:2;2182:9;2173:7;2169:23;2165:32;2162:52;;;2210:1;2207;2200:12;2162:52;2233:29;2252:9;2233:29;:::i;2273:693::-;2384:6;2392;2400;2408;2416;2424;2432;2485:3;2473:9;2464:7;2460:23;2456:33;2453:53;;;2502:1;2499;2492:12;2453:53;2525:29;2544:9;2525:29;:::i;:::-;2515:39;;2573:38;2607:2;2596:9;2592:18;2573:38;:::i;:::-;2563:48;;2658:2;2647:9;2643:18;2630:32;2620:42;;2709:2;2698:9;2694:18;2681:32;2671:42;;2763:3;2752:9;2748:19;2735:33;2808:4;2801:5;2797:16;2790:5;2787:27;2777:55;;2828:1;2825;2818:12;2777:55;2273:693;;;;-1:-1:-1;2273:693:142;;;;2851:5;2903:3;2888:19;;2875:33;;-1:-1:-1;2955:3:142;2940:19;;;2927:33;;2273:693;-1:-1:-1;;2273:693:142:o;2971:260::-;3039:6;3047;3100:2;3088:9;3079:7;3075:23;3071:32;3068:52;;;3116:1;3113;3106:12;3068:52;3139:29;3158:9;3139:29;:::i;:::-;3129:39;;3187:38;3221:2;3210:9;3206:18;3187:38;:::i;:::-;3177:48;;2971:260;;;;;:::o;3236:380::-;3315:1;3311:12;;;;3358;;;3379:61;;3433:4;3425:6;3421:17;3411:27;;3379:61;3486:2;3478:6;3475:14;3455:18;3452:38;3449:161;;3532:10;3527:3;3523:20;3520:1;3513:31;3567:4;3564:1;3557:15;3595:4;3592:1;3585:15;3449:161;;3236:380;;;:::o","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(address,uint256)":"9dc29fac","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","directSpendAllowance(address,address,uint256)":"d30ed3b3","directTransfer(address,address,uint256)":"f83d1791","increaseAllowance(address,uint256)":"39509351","mint(address,uint256)":"40c10f19","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AllowanceOverflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AllowanceUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPermit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PermitExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TotalSupplyOverflow\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"result\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"difference\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"directSpendAllowance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"directTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"difference\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"WARNING! This mock is strictly intended for testing purposes only. Do NOT copy anything here into production code unless you really know what you are doing.\",\"errors\":{\"AllowanceOverflow()\":[{\"details\":\"The allowance has overflowed.\"}],\"AllowanceUnderflow()\":[{\"details\":\"The allowance has underflowed.\"}],\"InsufficientAllowance()\":[{\"details\":\"Insufficient allowance.\"}],\"InsufficientBalance()\":[{\"details\":\"Insufficient balance.\"}],\"InvalidPermit()\":[{\"details\":\"The permit is invalid.\"}],\"PermitExpired()\":[{\"details\":\"The permit has expired.\"}],\"TotalSupplyOverflow()\":[{\"details\":\"The total supply has overflowed.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `amount` tokens is approved by `owner` to be used by `spender`.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `amount` tokens is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the EIP-2612 domains separator.\"},\"allowance(address,address)\":{\"details\":\"Returns the amount of tokens that `spender` can spend on behalf of `owner`.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Emits a {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `owner`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. Emits a {Approval} event.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. Emits a {Approval} event.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value is used to compute the signature for EIP-2612 permit.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over the tokens of `owner`, authorized by a signed approval by `owner`. Emits a {Approval} event.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Transfer `amount` tokens from the caller to `to`. Requirements: - `from` must at least have `amount`. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `amount` tokens from `from` to `to`. Note: Does not update the allowance if it is the maximum uint256 value. Requirements: - `from` must at least have `amount`. - The caller must have at least `amount` of allowance to transfer the tokens of `from`. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/script/GV2ERC20.sol\":\"GV2ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"pkg/contracts/script/GV2ERC20.sol\":{\"keccak256\":\"0x72e3d7c5f055490e976b03abf0b7773b5cefd7e305021d0ea83cba3e142118f9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://3f19911b75ab3e0d2d41f5d9f4754f21d78b500905da3342b61bc54e502d4c97\",\"dweb:/ipfs/QmU4zPrrTWQY3eUYegHZzLjs2jyRgGtgyZp4J2ZQxj8Vp2\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AllowanceOverflow"},{"inputs":[],"type":"error","name":"AllowanceUnderflow"},{"inputs":[],"type":"error","name":"InsufficientAllowance"},{"inputs":[],"type":"error","name":"InsufficientBalance"},{"inputs":[],"type":"error","name":"InvalidPermit"},{"inputs":[],"type":"error","name":"PermitExpired"},{"inputs":[],"type":"error","name":"TotalSupplyOverflow"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"result","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"difference","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"directSpendAllowance"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"directTransfer"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"difference","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"DOMAIN_SEPARATOR()":{"details":"Returns the EIP-2612 domains separator."},"allowance(address,address)":{"details":"Returns the amount of tokens that `spender` can spend on behalf of `owner`."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Emits a {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `owner`."},"decimals()":{"details":"Returns the decimals places of the token."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. Emits a {Approval} event."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. Emits a {Approval} event."},"name()":{"details":"Returns the name of the token."},"nonces(address)":{"details":"Returns the current nonce for `owner`. This value is used to compute the signature for EIP-2612 permit."},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Sets `value` as the allowance of `spender` over the tokens of `owner`, authorized by a signed approval by `owner`. Emits a {Approval} event."},"symbol()":{"details":"Returns the symbol of the token."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Transfer `amount` tokens from the caller to `to`. Requirements: - `from` must at least have `amount`. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Transfers `amount` tokens from `from` to `to`. Note: Does not update the allowance if it is the maximum uint256 value. Requirements: - `from` must at least have `amount`. - The caller must have at least `amount` of allowance to transfer the tokens of `from`. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/script/GV2ERC20.sol":"GV2ERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"pkg/contracts/script/GV2ERC20.sol":{"keccak256":"0x72e3d7c5f055490e976b03abf0b7773b5cefd7e305021d0ea83cba3e142118f9","urls":["bzz-raw://3f19911b75ab3e0d2d41f5d9f4754f21d78b500905da3342b61bc54e502d4c97","dweb:/ipfs/QmU4zPrrTWQY3eUYegHZzLjs2jyRgGtgyZp4J2ZQxj8Vp2"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":64633,"contract":"pkg/contracts/script/GV2ERC20.sol:GV2ERC20","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":64635,"contract":"pkg/contracts/script/GV2ERC20.sol:GV2ERC20","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":64637,"contract":"pkg/contracts/script/GV2ERC20.sol:GV2ERC20","label":"_decimals","offset":0,"slot":"2","type":"t_uint8"}],"types":{"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/script/GV2ERC20.sol","id":64848,"exportedSymbols":{"ERC20":[4491],"GV2ERC20":[64847]},"nodeType":"SourceUnit","src":"42:2309:96","nodes":[{"id":64626,"nodeType":"PragmaDirective","src":"42:24:96","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":64628,"nodeType":"ImportDirective","src":"68:50:96","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/tokens/ERC20.sol","file":"solady/src/tokens/ERC20.sol","nameLocation":"-1:-1:-1","scope":64848,"sourceUnit":4492,"symbolAliases":[{"foreign":{"id":64627,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4491,"src":"76:5:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64847,"nodeType":"ContractDefinition","src":"290:2060:96","nodes":[{"id":64633,"nodeType":"VariableDeclaration","src":"323:21:96","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"339:5:96","scope":64847,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":64632,"name":"string","nodeType":"ElementaryTypeName","src":"323:6:96","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":64635,"nodeType":"VariableDeclaration","src":"350:23:96","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"366:7:96","scope":64847,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":64634,"name":"string","nodeType":"ElementaryTypeName","src":"350:6:96","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":64637,"nodeType":"VariableDeclaration","src":"379:24:96","nodes":[],"constant":false,"mutability":"mutable","name":"_decimals","nameLocation":"394:9:96","scope":64847,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":64636,"name":"uint8","nodeType":"ElementaryTypeName","src":"379:5:96","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"id":64659,"nodeType":"FunctionDefinition","src":"410:161:96","nodes":[],"body":{"id":64658,"nodeType":"Block","src":"483:88:96","nodes":[],"statements":[{"expression":{"id":64648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64646,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64633,"src":"493:5:96","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":64647,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64639,"src":"501:5:96","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"493:13:96","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":64649,"nodeType":"ExpressionStatement","src":"493:13:96"},{"expression":{"id":64652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64650,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64635,"src":"516:7:96","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":64651,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64641,"src":"526:7:96","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"516:17:96","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":64653,"nodeType":"ExpressionStatement","src":"516:17:96"},{"expression":{"id":64656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64654,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64637,"src":"543:9:96","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":64655,"name":"decimals_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64643,"src":"555:9:96","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"543:21:96","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":64657,"nodeType":"ExpressionStatement","src":"543:21:96"}]},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":64644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64639,"mutability":"mutable","name":"name_","nameLocation":"436:5:96","nodeType":"VariableDeclaration","scope":64659,"src":"422:19:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":64638,"name":"string","nodeType":"ElementaryTypeName","src":"422:6:96","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":64641,"mutability":"mutable","name":"symbol_","nameLocation":"457:7:96","nodeType":"VariableDeclaration","scope":64659,"src":"443:21:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":64640,"name":"string","nodeType":"ElementaryTypeName","src":"443:6:96","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":64643,"mutability":"mutable","name":"decimals_","nameLocation":"472:9:96","nodeType":"VariableDeclaration","scope":64659,"src":"466:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":64642,"name":"uint8","nodeType":"ElementaryTypeName","src":"466:5:96","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"421:61:96"},"returnParameters":{"id":64645,"nodeType":"ParameterList","parameters":[],"src":"483:0:96"},"scope":64847,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":64668,"nodeType":"FunctionDefinition","src":"577:98:96","nodes":[],"body":{"id":64667,"nodeType":"Block","src":"646:29:96","nodes":[],"statements":[{"expression":{"id":64665,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64633,"src":"663:5:96","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":64664,"id":64666,"nodeType":"Return","src":"656:12:96"}]},"baseFunctions":[4167],"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"586:4:96","overrides":{"id":64661,"nodeType":"OverrideSpecifier","overrides":[],"src":"613:8:96"},"parameters":{"id":64660,"nodeType":"ParameterList","parameters":[],"src":"590:2:96"},"returnParameters":{"id":64664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64663,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64668,"src":"631:13:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":64662,"name":"string","nodeType":"ElementaryTypeName","src":"631:6:96","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"630:15:96"},"scope":64847,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":64677,"nodeType":"FunctionDefinition","src":"681:102:96","nodes":[],"body":{"id":64676,"nodeType":"Block","src":"752:31:96","nodes":[],"statements":[{"expression":{"id":64674,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64635,"src":"769:7:96","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":64673,"id":64675,"nodeType":"Return","src":"762:14:96"}]},"baseFunctions":[4173],"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"690:6:96","overrides":{"id":64670,"nodeType":"OverrideSpecifier","overrides":[],"src":"719:8:96"},"parameters":{"id":64669,"nodeType":"ParameterList","parameters":[],"src":"696:2:96"},"returnParameters":{"id":64673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64672,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64677,"src":"737:13:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":64671,"name":"string","nodeType":"ElementaryTypeName","src":"737:6:96","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"736:15:96"},"scope":64847,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":64686,"nodeType":"FunctionDefinition","src":"789:98:96","nodes":[],"body":{"id":64685,"nodeType":"Block","src":"854:33:96","nodes":[],"statements":[{"expression":{"id":64683,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64637,"src":"871:9:96","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":64682,"id":64684,"nodeType":"Return","src":"864:16:96"}]},"baseFunctions":[4182],"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"798:8:96","overrides":{"id":64679,"nodeType":"OverrideSpecifier","overrides":[],"src":"829:8:96"},"parameters":{"id":64678,"nodeType":"ParameterList","parameters":[],"src":"806:2:96"},"returnParameters":{"id":64682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64681,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64686,"src":"847:5:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":64680,"name":"uint8","nodeType":"ElementaryTypeName","src":"847:5:96","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"846:7:96"},"scope":64847,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":64701,"nodeType":"FunctionDefinition","src":"893:102:96","nodes":[],"body":{"id":64700,"nodeType":"Block","src":"949:46:96","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":64695,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64688,"src":"977:2:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64694,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64846,"src":"965:11:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"965:15:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64697,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64690,"src":"982:5:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64693,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4392,"src":"959:5:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":64698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"959:29:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64699,"nodeType":"ExpressionStatement","src":"959:29:96"}]},"functionSelector":"40c10f19","implemented":true,"kind":"function","modifiers":[],"name":"mint","nameLocation":"902:4:96","parameters":{"id":64691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64688,"mutability":"mutable","name":"to","nameLocation":"915:2:96","nodeType":"VariableDeclaration","scope":64701,"src":"907:10:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64687,"name":"address","nodeType":"ElementaryTypeName","src":"907:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64690,"mutability":"mutable","name":"value","nameLocation":"927:5:96","nodeType":"VariableDeclaration","scope":64701,"src":"919:13:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64689,"name":"uint256","nodeType":"ElementaryTypeName","src":"919:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"906:27:96"},"returnParameters":{"id":64692,"nodeType":"ParameterList","parameters":[],"src":"949:0:96"},"scope":64847,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":64716,"nodeType":"FunctionDefinition","src":"1001:106:96","nodes":[],"body":{"id":64715,"nodeType":"Block","src":"1059:48:96","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":64710,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64703,"src":"1087:4:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64709,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64846,"src":"1075:11:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1075:17:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64712,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64705,"src":"1094:5:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64708,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4420,"src":"1069:5:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":64713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1069:31:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64714,"nodeType":"ExpressionStatement","src":"1069:31:96"}]},"functionSelector":"9dc29fac","implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"1010:4:96","parameters":{"id":64706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64703,"mutability":"mutable","name":"from","nameLocation":"1023:4:96","nodeType":"VariableDeclaration","scope":64716,"src":"1015:12:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64702,"name":"address","nodeType":"ElementaryTypeName","src":"1015:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64705,"mutability":"mutable","name":"value","nameLocation":"1037:5:96","nodeType":"VariableDeclaration","scope":64716,"src":"1029:13:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64704,"name":"uint256","nodeType":"ElementaryTypeName","src":"1029:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1014:29:96"},"returnParameters":{"id":64707,"nodeType":"ParameterList","parameters":[],"src":"1059:0:96"},"scope":64847,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":64736,"nodeType":"FunctionDefinition","src":"1113:151:96","nodes":[],"body":{"id":64735,"nodeType":"Block","src":"1194:70:96","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":64727,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64718,"src":"1226:4:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64726,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64846,"src":"1214:11:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1214:17:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":64730,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64720,"src":"1245:2:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64729,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64846,"src":"1233:11:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1233:15:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64732,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64722,"src":"1250:6:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64725,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4444,"src":"1204:9:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":64733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1204:53:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64734,"nodeType":"ExpressionStatement","src":"1204:53:96"}]},"functionSelector":"f83d1791","implemented":true,"kind":"function","modifiers":[],"name":"directTransfer","nameLocation":"1122:14:96","parameters":{"id":64723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64718,"mutability":"mutable","name":"from","nameLocation":"1145:4:96","nodeType":"VariableDeclaration","scope":64736,"src":"1137:12:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64717,"name":"address","nodeType":"ElementaryTypeName","src":"1137:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64720,"mutability":"mutable","name":"to","nameLocation":"1159:2:96","nodeType":"VariableDeclaration","scope":64736,"src":"1151:10:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64719,"name":"address","nodeType":"ElementaryTypeName","src":"1151:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64722,"mutability":"mutable","name":"amount","nameLocation":"1171:6:96","nodeType":"VariableDeclaration","scope":64736,"src":"1163:14:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64721,"name":"uint256","nodeType":"ElementaryTypeName","src":"1163:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1136:42:96"},"returnParameters":{"id":64724,"nodeType":"ParameterList","parameters":[],"src":"1194:0:96"},"scope":64847,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":64756,"nodeType":"FunctionDefinition","src":"1270:175:96","nodes":[],"body":{"id":64755,"nodeType":"Block","src":"1363:82:96","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":64747,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64738,"src":"1401:5:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64746,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64846,"src":"1389:11:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1389:18:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":64750,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64740,"src":"1421:7:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64749,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64846,"src":"1409:11:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1409:20:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64752,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64742,"src":"1431:6:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64745,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4456,"src":"1373:15:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":64753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1373:65:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64754,"nodeType":"ExpressionStatement","src":"1373:65:96"}]},"functionSelector":"d30ed3b3","implemented":true,"kind":"function","modifiers":[],"name":"directSpendAllowance","nameLocation":"1279:20:96","parameters":{"id":64743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64738,"mutability":"mutable","name":"owner","nameLocation":"1308:5:96","nodeType":"VariableDeclaration","scope":64756,"src":"1300:13:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64737,"name":"address","nodeType":"ElementaryTypeName","src":"1300:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64740,"mutability":"mutable","name":"spender","nameLocation":"1323:7:96","nodeType":"VariableDeclaration","scope":64756,"src":"1315:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64739,"name":"address","nodeType":"ElementaryTypeName","src":"1315:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64742,"mutability":"mutable","name":"amount","nameLocation":"1340:6:96","nodeType":"VariableDeclaration","scope":64756,"src":"1332:14:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64741,"name":"uint256","nodeType":"ElementaryTypeName","src":"1332:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1299:48:96"},"returnParameters":{"id":64744,"nodeType":"ParameterList","parameters":[],"src":"1363:0:96"},"scope":64847,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":64775,"nodeType":"FunctionDefinition","src":"1451:148:96","nodes":[],"body":{"id":64774,"nodeType":"Block","src":"1536:63:96","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":64769,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64758,"src":"1580:2:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64768,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64846,"src":"1568:11:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1568:15:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64771,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64760,"src":"1585:6:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64766,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1553:5:96","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$64847_$","typeString":"type(contract super GV2ERC20)"}},"id":64767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1559:8:96","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":4282,"src":"1553:14:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":64772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1553:39:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":64765,"id":64773,"nodeType":"Return","src":"1546:46:96"}]},"baseFunctions":[4282],"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1460:8:96","overrides":{"id":64762,"nodeType":"OverrideSpecifier","overrides":[],"src":"1512:8:96"},"parameters":{"id":64761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64758,"mutability":"mutable","name":"to","nameLocation":"1477:2:96","nodeType":"VariableDeclaration","scope":64775,"src":"1469:10:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64757,"name":"address","nodeType":"ElementaryTypeName","src":"1469:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64760,"mutability":"mutable","name":"amount","nameLocation":"1489:6:96","nodeType":"VariableDeclaration","scope":64775,"src":"1481:14:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64759,"name":"uint256","nodeType":"ElementaryTypeName","src":"1481:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1468:28:96"},"returnParameters":{"id":64765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64764,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64775,"src":"1530:4:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64763,"name":"bool","nodeType":"ElementaryTypeName","src":"1530:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1529:6:96"},"scope":64847,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":64799,"nodeType":"FunctionDefinition","src":"1605:189:96","nodes":[],"body":{"id":64798,"nodeType":"Block","src":"1708:86:96","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":64790,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64777,"src":"1756:4:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64789,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64846,"src":"1744:11:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1744:17:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":64793,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64779,"src":"1775:2:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64792,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64846,"src":"1763:11:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1763:15:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64795,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64781,"src":"1780:6:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64787,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1725:5:96","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$64847_$","typeString":"type(contract super GV2ERC20)"}},"id":64788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1731:12:96","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":4310,"src":"1725:18:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) returns (bool)"}},"id":64796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1725:62:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":64786,"id":64797,"nodeType":"Return","src":"1718:69:96"}]},"baseFunctions":[4310],"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1614:12:96","overrides":{"id":64783,"nodeType":"OverrideSpecifier","overrides":[],"src":"1684:8:96"},"parameters":{"id":64782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64777,"mutability":"mutable","name":"from","nameLocation":"1635:4:96","nodeType":"VariableDeclaration","scope":64799,"src":"1627:12:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64776,"name":"address","nodeType":"ElementaryTypeName","src":"1627:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64779,"mutability":"mutable","name":"to","nameLocation":"1649:2:96","nodeType":"VariableDeclaration","scope":64799,"src":"1641:10:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64778,"name":"address","nodeType":"ElementaryTypeName","src":"1641:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64781,"mutability":"mutable","name":"amount","nameLocation":"1661:6:96","nodeType":"VariableDeclaration","scope":64799,"src":"1653:14:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64780,"name":"uint256","nodeType":"ElementaryTypeName","src":"1653:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1626:42:96"},"returnParameters":{"id":64786,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64785,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64799,"src":"1702:4:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64784,"name":"bool","nodeType":"ElementaryTypeName","src":"1702:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1701:6:96"},"scope":64847,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":64818,"nodeType":"FunctionDefinition","src":"1800:184:96","nodes":[],"body":{"id":64817,"nodeType":"Block","src":"1903:81:96","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":64812,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64801,"src":"1956:7:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64811,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64846,"src":"1944:11:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1944:20:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64814,"name":"difference","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64803,"src":"1966:10:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64809,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1920:5:96","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$64847_$","typeString":"type(contract super GV2ERC20)"}},"id":64810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1926:17:96","memberName":"increaseAllowance","nodeType":"MemberAccess","referencedDeclaration":4240,"src":"1920:23:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":64815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1920:57:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":64808,"id":64816,"nodeType":"Return","src":"1913:64:96"}]},"baseFunctions":[4240],"functionSelector":"39509351","implemented":true,"kind":"function","modifiers":[],"name":"increaseAllowance","nameLocation":"1809:17:96","overrides":{"id":64805,"nodeType":"OverrideSpecifier","overrides":[],"src":"1879:8:96"},"parameters":{"id":64804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64801,"mutability":"mutable","name":"spender","nameLocation":"1835:7:96","nodeType":"VariableDeclaration","scope":64818,"src":"1827:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64800,"name":"address","nodeType":"ElementaryTypeName","src":"1827:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64803,"mutability":"mutable","name":"difference","nameLocation":"1852:10:96","nodeType":"VariableDeclaration","scope":64818,"src":"1844:18:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64802,"name":"uint256","nodeType":"ElementaryTypeName","src":"1844:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1826:37:96"},"returnParameters":{"id":64808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64807,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64818,"src":"1897:4:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64806,"name":"bool","nodeType":"ElementaryTypeName","src":"1897:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1896:6:96"},"scope":64847,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":64837,"nodeType":"FunctionDefinition","src":"1990:184:96","nodes":[],"body":{"id":64836,"nodeType":"Block","src":"2093:81:96","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":64831,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64820,"src":"2146:7:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64830,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64846,"src":"2134:11:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":64832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2134:20:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64833,"name":"difference","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64822,"src":"2156:10:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64828,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2110:5:96","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$64847_$","typeString":"type(contract super GV2ERC20)"}},"id":64829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2116:17:96","memberName":"decreaseAllowance","nodeType":"MemberAccess","referencedDeclaration":4254,"src":"2110:23:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":64834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2110:57:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":64827,"id":64835,"nodeType":"Return","src":"2103:64:96"}]},"baseFunctions":[4254],"functionSelector":"a457c2d7","implemented":true,"kind":"function","modifiers":[],"name":"decreaseAllowance","nameLocation":"1999:17:96","overrides":{"id":64824,"nodeType":"OverrideSpecifier","overrides":[],"src":"2069:8:96"},"parameters":{"id":64823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64820,"mutability":"mutable","name":"spender","nameLocation":"2025:7:96","nodeType":"VariableDeclaration","scope":64837,"src":"2017:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64819,"name":"address","nodeType":"ElementaryTypeName","src":"2017:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64822,"mutability":"mutable","name":"difference","nameLocation":"2042:10:96","nodeType":"VariableDeclaration","scope":64837,"src":"2034:18:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64821,"name":"uint256","nodeType":"ElementaryTypeName","src":"2034:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2016:37:96"},"returnParameters":{"id":64827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64826,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64837,"src":"2087:4:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64825,"name":"bool","nodeType":"ElementaryTypeName","src":"2087:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2086:6:96"},"scope":64847,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":64846,"nodeType":"FunctionDefinition","src":"2180:168:96","nodes":[],"body":{"id":64845,"nodeType":"Block","src":"2251:97:96","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"2286:56:96","statements":[{"nodeType":"YulAssignment","src":"2300:32:96","value":{"arguments":[{"name":"a","nodeType":"YulIdentifier","src":"2313:1:96"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2320:3:96","type":"","value":"160"},{"arguments":[],"functionName":{"name":"gas","nodeType":"YulIdentifier","src":"2325:3:96"},"nodeType":"YulFunctionCall","src":"2325:5:96"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2316:3:96"},"nodeType":"YulFunctionCall","src":"2316:15:96"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2310:2:96"},"nodeType":"YulFunctionCall","src":"2310:22:96"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"2300:6:96"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":64839,"isOffset":false,"isSlot":false,"src":"2313:1:96","valueSize":1},{"declaration":64842,"isOffset":false,"isSlot":false,"src":"2300:6:96","valueSize":1}],"flags":["memory-safe"],"id":64844,"nodeType":"InlineAssembly","src":"2261:81:96"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_brutalized","nameLocation":"2189:11:96","parameters":{"id":64840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64839,"mutability":"mutable","name":"a","nameLocation":"2209:1:96","nodeType":"VariableDeclaration","scope":64846,"src":"2201:9:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64838,"name":"address","nodeType":"ElementaryTypeName","src":"2201:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2200:11:96"},"returnParameters":{"id":64843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64842,"mutability":"mutable","name":"result","nameLocation":"2243:6:96","nodeType":"VariableDeclaration","scope":64846,"src":"2235:14:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64841,"name":"address","nodeType":"ElementaryTypeName","src":"2235:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2234:16:96"},"scope":64847,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":64630,"name":"ERC20","nameLocations":["311:5:96"],"nodeType":"IdentifierPath","referencedDeclaration":4491,"src":"311:5:96"},"id":64631,"nodeType":"InheritanceSpecifier","src":"311:5:96"}],"canonicalName":"GV2ERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":64629,"nodeType":"StructuredDocumentation","src":"120:170:96","text":"@dev WARNING! This mock is strictly intended for testing purposes only.\n Do NOT copy anything here into production code unless you really know what you are doing."},"fullyImplemented":true,"linearizedBaseContracts":[64847,4491],"name":"GV2ERC20","nameLocation":"299:8:96","scope":64848,"usedErrors":[4101,4104,4107,4110,4113,4116,4119]}],"license":"AGPL-3.0-only"},"id":96} \ No newline at end of file diff --git a/pkg/contracts/out/IAllo.sol/IAllo.json b/pkg/contracts/out/IAllo.sol/IAllo.json index e517453a1..6a4bc0471 100644 --- a/pkg/contracts/out/IAllo.sol/IAllo.json +++ b/pkg/contracts/out/IAllo.sol/IAllo.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"addPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addToCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocate","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"batchAllocate","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_datas","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchRegisterRecipient","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_data","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"distribute","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_recipientIds","type":"address[]","internalType":"address[]"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fundPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"getBaseFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFeeDenominator","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPercentFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"getStrategy","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getTreasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_registry","type":"address","internalType":"address"},{"name":"_treasury","type":"address","internalType":"address payable"},{"name":"_percentFee","type":"uint256","internalType":"uint256"},{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCloneableStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolAdmin","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRecipient","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"payable"},{"type":"function","name":"removeFromCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removePoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateBaseFee","inputs":[{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePercentFee","inputs":[{"name":"_percentFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePoolMetadata","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateRegistry","inputs":[{"name":"_registry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTreasury","inputs":[{"name":"_treasury","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"BaseFeePaid","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BaseFeeUpdated","inputs":[{"name":"baseFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PercentFeeUpdated","inputs":[{"name":"percentFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolCreated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"strategy","type":"address","indexed":false,"internalType":"contract IStrategy"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"PoolFunded","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolMetadataUpdated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RegistryUpdated","inputs":[{"name":"registry","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyApproved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TreasuryUpdated","inputs":[{"name":"treasury","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"addPoolManager(uint256,address)":"2cf682b0","addToCloneableStrategies(address)":"41bba0b4","allocate(uint256,bytes)":"2ec38188","batchAllocate(uint256[],bytes[])":"c6dff1cf","batchRegisterRecipient(uint256[],bytes[])":"1a20bd88","distribute(uint256,address[],bytes)":"3a5fbd92","fundPool(uint256,uint256)":"5acd6fac","getBaseFee()":"15e812ad","getFeeDenominator()":"f4e1fc41","getPercentFee()":"4edbaadc","getPool(uint256)":"068bcd8d","getRegistry()":"5ab1bd53","getStrategy(uint256)":"cfc0cc34","getTreasury()":"3b19e84a","initialize(address,address,address,uint256,uint256)":"a6b63eb8","isCloneableStrategy(address)":"ab2ec589","isPoolAdmin(uint256,address)":"ab3febc6","isPoolManager(uint256,address)":"29e40d4b","recoverFunds(address,address)":"24ae6a27","registerRecipient(uint256,bytes)":"075c0e9c","removeFromCloneableStrategies(address)":"031e2fa1","removePoolManager(uint256,address)":"7f5a70bd","updateBaseFee(uint256)":"8e690186","updatePercentFee(uint256)":"f54fc4a0","updatePoolMetadata(uint256,(uint256,string))":"5f9ca138","updateRegistry(address)":"1a5da6c8","updateTreasury(address)":"7f51bb1f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BaseFeePaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseFee\",\"type\":\"uint256\"}],\"name\":\"BaseFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"percentFee\",\"type\":\"uint256\"}],\"name\":\"PercentFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"PoolFunded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"RegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"}],\"name\":\"TreasuryUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"addPoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"addToCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_datas\",\"type\":\"bytes[]\"}],\"name\":\"batchAllocate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_data\",\"type\":\"bytes[]\"}],\"name\":\"batchRegisterRecipient\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_recipientIds\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"fundPool\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPercentFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getPool\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getStrategy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTreasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"isCloneableStrategy\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolManager\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"registerRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeFromCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"removePoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"updateBaseFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"}],\"name\":\"updatePercentFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updatePoolMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"}],\"name\":\"updateRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"}],\"name\":\"updateTreasury\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"params\":{\"amount\":\"Amount of the base fee paid\",\"poolId\":\"ID of the pool the base fee was paid for\"}},\"BaseFeeUpdated(uint256)\":{\"params\":{\"baseFee\":\"New base fee amount\"}},\"PercentFeeUpdated(uint256)\":{\"params\":{\"percentFee\":\"New percentage for the fee\"}},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"params\":{\"amount\":\"Amount pool was funded with when created\",\"metadata\":\"Pool metadata\",\"poolId\":\"ID of the pool created\",\"profileId\":\"ID of the profile the pool is associated with\",\"strategy\":\"Address of the strategy contract\",\"token\":\"Address of the token pool was funded with when created\"}},\"PoolFunded(uint256,uint256,uint256)\":{\"params\":{\"amount\":\"Amount funded to the pool\",\"fee\":\"Amount of the fee paid to the treasury\",\"poolId\":\"ID of the pool funded\"}},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"params\":{\"metadata\":\"Pool metadata that was updated\",\"poolId\":\"ID of the pool updated\"}},\"RegistryUpdated(address)\":{\"params\":{\"registry\":\"Address of the new registry\"}},\"StrategyApproved(address)\":{\"params\":{\"strategy\":\"Address of the strategy approved\"}},\"StrategyRemoved(address)\":{\"params\":{\"strategy\":\"Address of the strategy removed\"}},\"TreasuryUpdated(address)\":{\"params\":{\"treasury\":\"Address of the new treasury\"}}},\"kind\":\"dev\",\"methods\":{\"addPoolManager(uint256,address)\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address of the manager to add\",\"_poolId\":\"The ID of the pool to add the manager to\"}},\"addToCloneableStrategies(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_strategy\":\"The address of the strategy to add\"}},\"allocate(uint256,bytes)\":{\"details\":\"Each strategy will handle the allocation of funds differently.\",\"params\":{\"_data\":\"The data to pass to the strategy and may be handled differently by each strategy.\",\"_poolId\":\"The ID of the pool to allocate funds from\"}},\"batchAllocate(uint256[],bytes[])\":{\"details\":\"Each strategy will handle the allocation of funds differently\"},\"batchRegisterRecipient(uint256[],bytes[])\":{\"params\":{\"_data\":\"The data to pass to the strategy and may be handled differently by each strategy\",\"_poolIds\":\"The pool ID's to register the recipients for\"}},\"distribute(uint256,address[],bytes)\":{\"details\":\"Each strategy will handle the distribution of funds differently\",\"params\":{\"_data\":\"The data to pass to the strategy and may be handled differently by each strategy\",\"_poolId\":\"The ID of the pool to distribute from\",\"_recipientIds\":\"The recipient ids to distribute to\"}},\"fundPool(uint256,uint256)\":{\"details\":\"'msg.value' must be greater than 0 if the token is the native token or '_amount' must be greater than 0 if the token is not the native token.\",\"params\":{\"_amount\":\"The amount to fund the pool with\",\"_poolId\":\"The ID of the pool to fund\"}},\"getBaseFee()\":{\"returns\":{\"_0\":\"baseFee The current base fee\"}},\"getFeeDenominator()\":{\"details\":\"1e18 represents 100%\",\"returns\":{\"_0\":\"feeDenominator The current fee denominator\"}},\"getPercentFee()\":{\"returns\":{\"_0\":\"percentFee The current percentage for the fee\"}},\"getPool(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"pool The 'Pool' struct for the ID of the pool passed in\"}},\"getRegistry()\":{\"returns\":{\"_0\":\"registry The current registry address\"}},\"getStrategy(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"strategy The address of the strategy for the ID of the pool passed in\"}},\"getTreasury()\":{\"returns\":{\"_0\":\"treasury The current treasury address\"}},\"initialize(address,address,address,uint256,uint256)\":{\"params\":{\"_baseFee\":\"Base fee amount\",\"_owner\":\"Address of the owner\",\"_percentFee\":\"Percentage for the fee\",\"_registry\":\"Address of the registry contract\",\"_treasury\":\"Address of the treasury\"}},\"isCloneableStrategy(address)\":{\"params\":{\"_strategy\":\"The address of the strategy to check\"},\"returns\":{\"_0\":\"'true' if the '_strategy' is cloneable, otherwise 'false'\"}},\"isPoolAdmin(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"'true' if the '_address' is a pool admin, otherwise 'false'\"}},\"isPoolManager(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"'true' if the '_address' is a pool manager, otherwise 'false'\"}},\"recoverFunds(address,address)\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_recipient\":\"The address to send the recovered funds to\",\"_token\":\"The token to recover\"}},\"registerRecipient(uint256,bytes)\":{\"params\":{\"_poolId\":\"The ID of the pool to register the recipient for\"}},\"removeFromCloneableStrategies(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_strategy\":\"The address of the strategy to remove\"}},\"removePoolManager(uint256,address)\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address of the manager to remove\",\"_poolId\":\"The ID of the pool to remove the manager from\"}},\"updateBaseFee(uint256)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_baseFee\":\"The new base fee\"}},\"updatePercentFee(uint256)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_percentFee\":\"The new percentage for the fee\"}},\"updatePoolMetadata(uint256,(uint256,string))\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_metadata\":\"The new metadata to set\",\"_poolId\":\"The ID of the pool to update\"}},\"updateRegistry(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_registry\":\"The new registry address\"}},\"updateTreasury(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_treasury\":\"The new treasury address\"}}},\"title\":\"Allo Interface\",\"version\":1},\"userdoc\":{\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"notice\":\"Emitted when the base fee is paid\"},\"BaseFeeUpdated(uint256)\":{\"notice\":\"Emitted when the base fee is updated\"},\"PercentFeeUpdated(uint256)\":{\"notice\":\"Emitted when the percent fee is updated\"},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"notice\":\"Event emitted when a new pool is created\"},\"PoolFunded(uint256,uint256,uint256)\":{\"notice\":\"Emitted when a pool is funded\"},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"notice\":\"Emitted when a pools metadata is updated\"},\"RegistryUpdated(address)\":{\"notice\":\"Emitted when the registry address is updated\"},\"StrategyApproved(address)\":{\"notice\":\"Emitted when a strategy is approved and added to the cloneable strategies\"},\"StrategyRemoved(address)\":{\"notice\":\"Emitted when a strategy is removed from the cloneable strategies\"},\"TreasuryUpdated(address)\":{\"notice\":\"Emitted when the treasury address is updated\"}},\"kind\":\"user\",\"methods\":{\"addPoolManager(uint256,address)\":{\"notice\":\"Adds a pool manager to the pool.\"},\"addToCloneableStrategies(address)\":{\"notice\":\"Adds a strategy to the cloneable strategies.\"},\"allocate(uint256,bytes)\":{\"notice\":\"Allocates funds to a recipient.\"},\"batchAllocate(uint256[],bytes[])\":{\"notice\":\"Allocates funds to multiple recipients.\"},\"batchRegisterRecipient(uint256[],bytes[])\":{\"notice\":\"Registers a batch of recipients.\"},\"distribute(uint256,address[],bytes)\":{\"notice\":\"Distributes funds to recipients and emits {Distributed} event if successful\"},\"fundPool(uint256,uint256)\":{\"notice\":\"Funds a pool.\"},\"getBaseFee()\":{\"notice\":\"Returns the current base fee\"},\"getFeeDenominator()\":{\"notice\":\"Returns the current fee denominator\"},\"getPercentFee()\":{\"notice\":\"Returns the current percent fee\"},\"getPool(uint256)\":{\"notice\":\"Returns the 'Pool' struct for a given 'poolId'\"},\"getRegistry()\":{\"notice\":\"Returns the current registry address\"},\"getStrategy(uint256)\":{\"notice\":\"Returns the address of the strategy for a given 'poolId'\"},\"getTreasury()\":{\"notice\":\"Returns the current treasury address\"},\"initialize(address,address,address,uint256,uint256)\":{\"notice\":\"Initialize the Allo contract\"},\"isCloneableStrategy(address)\":{\"notice\":\"Checks if a strategy is cloneable (is in the cloneableStrategies mapping).\"},\"isPoolAdmin(uint256,address)\":{\"notice\":\"Checks if an address is a pool admin.\"},\"isPoolManager(uint256,address)\":{\"notice\":\"Checks if an address is a pool manager.\"},\"recoverFunds(address,address)\":{\"notice\":\"Recovers funds from a pool.\"},\"registerRecipient(uint256,bytes)\":{\"notice\":\"Registers a recipient and emits {Registered} event if successful and may be handled differently by each strategy.\"},\"removeFromCloneableStrategies(address)\":{\"notice\":\"Removes a strategy from the cloneable strategies.\"},\"removePoolManager(uint256,address)\":{\"notice\":\"Removes a pool manager from the pool.\"},\"updateBaseFee(uint256)\":{\"notice\":\"Updates the base fee.\"},\"updatePercentFee(uint256)\":{\"notice\":\"Updates the percentage for the fee.\"},\"updatePoolMetadata(uint256,(uint256,string))\":{\"notice\":\"Updates a pools metadata.\"},\"updateRegistry(address)\":{\"notice\":\"Update the registry address.\"},\"updateTreasury(address)\":{\"notice\":\"Updates the treasury address.\"}},\"notice\":\"Interface for the Allo contract. It exposes all functions needed to use the Allo protocol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":\"IAllo\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"BaseFeePaid","anonymous":false},{"inputs":[{"internalType":"uint256","name":"baseFee","type":"uint256","indexed":false}],"type":"event","name":"BaseFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"percentFee","type":"uint256","indexed":false}],"type":"event","name":"PercentFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"contract IStrategy","name":"strategy","type":"address","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolCreated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"fee","type":"uint256","indexed":false}],"type":"event","name":"PoolFunded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"registry","type":"address","indexed":false}],"type":"event","name":"RegistryUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyApproved","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"treasury","type":"address","indexed":false}],"type":"event","name":"TreasuryUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addPoolManager"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addToCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_datas","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchAllocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_data","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchRegisterRecipient","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address[]","name":"_recipientIds","type":"address[]"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"distribute"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"fundPool"},{"inputs":[],"stateMutability":"view","type":"function","name":"getBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getFeeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPercentFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPool","outputs":[{"internalType":"struct IAllo.Pool","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistry","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getStrategy","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getTreasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_registry","type":"address"},{"internalType":"address payable","name":"_treasury","type":"address"},{"internalType":"uint256","name":"_percentFee","type":"uint256"},{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"isCloneableStrategy","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolManager","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"registerRecipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeFromCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removePoolManager"},{"inputs":[{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateBaseFee"},{"inputs":[{"internalType":"uint256","name":"_percentFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updatePercentFee"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updatePoolMetadata"},{"inputs":[{"internalType":"address","name":"_registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateRegistry"},{"inputs":[{"internalType":"address payable","name":"_treasury","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateTreasury"}],"devdoc":{"kind":"dev","methods":{"addPoolManager(uint256,address)":{"details":"'msg.sender' must be a pool admin.","params":{"_manager":"The address of the manager to add","_poolId":"The ID of the pool to add the manager to"}},"addToCloneableStrategies(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_strategy":"The address of the strategy to add"}},"allocate(uint256,bytes)":{"details":"Each strategy will handle the allocation of funds differently.","params":{"_data":"The data to pass to the strategy and may be handled differently by each strategy.","_poolId":"The ID of the pool to allocate funds from"}},"batchAllocate(uint256[],bytes[])":{"details":"Each strategy will handle the allocation of funds differently"},"batchRegisterRecipient(uint256[],bytes[])":{"params":{"_data":"The data to pass to the strategy and may be handled differently by each strategy","_poolIds":"The pool ID's to register the recipients for"}},"distribute(uint256,address[],bytes)":{"details":"Each strategy will handle the distribution of funds differently","params":{"_data":"The data to pass to the strategy and may be handled differently by each strategy","_poolId":"The ID of the pool to distribute from","_recipientIds":"The recipient ids to distribute to"}},"fundPool(uint256,uint256)":{"details":"'msg.value' must be greater than 0 if the token is the native token or '_amount' must be greater than 0 if the token is not the native token.","params":{"_amount":"The amount to fund the pool with","_poolId":"The ID of the pool to fund"}},"getBaseFee()":{"returns":{"_0":"baseFee The current base fee"}},"getFeeDenominator()":{"details":"1e18 represents 100%","returns":{"_0":"feeDenominator The current fee denominator"}},"getPercentFee()":{"returns":{"_0":"percentFee The current percentage for the fee"}},"getPool(uint256)":{"params":{"_poolId":"The ID of the pool to check"},"returns":{"_0":"pool The 'Pool' struct for the ID of the pool passed in"}},"getRegistry()":{"returns":{"_0":"registry The current registry address"}},"getStrategy(uint256)":{"params":{"_poolId":"The ID of the pool to check"},"returns":{"_0":"strategy The address of the strategy for the ID of the pool passed in"}},"getTreasury()":{"returns":{"_0":"treasury The current treasury address"}},"initialize(address,address,address,uint256,uint256)":{"params":{"_baseFee":"Base fee amount","_owner":"Address of the owner","_percentFee":"Percentage for the fee","_registry":"Address of the registry contract","_treasury":"Address of the treasury"}},"isCloneableStrategy(address)":{"params":{"_strategy":"The address of the strategy to check"},"returns":{"_0":"'true' if the '_strategy' is cloneable, otherwise 'false'"}},"isPoolAdmin(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool to check"},"returns":{"_0":"'true' if the '_address' is a pool admin, otherwise 'false'"}},"isPoolManager(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool to check"},"returns":{"_0":"'true' if the '_address' is a pool manager, otherwise 'false'"}},"recoverFunds(address,address)":{"details":"'msg.sender' must be a pool admin.","params":{"_recipient":"The address to send the recovered funds to","_token":"The token to recover"}},"registerRecipient(uint256,bytes)":{"params":{"_poolId":"The ID of the pool to register the recipient for"}},"removeFromCloneableStrategies(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_strategy":"The address of the strategy to remove"}},"removePoolManager(uint256,address)":{"details":"'msg.sender' must be a pool admin.","params":{"_manager":"The address of the manager to remove","_poolId":"The ID of the pool to remove the manager from"}},"updateBaseFee(uint256)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_baseFee":"The new base fee"}},"updatePercentFee(uint256)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_percentFee":"The new percentage for the fee"}},"updatePoolMetadata(uint256,(uint256,string))":{"details":"'msg.sender' must be a pool admin.","params":{"_metadata":"The new metadata to set","_poolId":"The ID of the pool to update"}},"updateRegistry(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_registry":"The new registry address"}},"updateTreasury(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_treasury":"The new treasury address"}}},"version":1},"userdoc":{"kind":"user","methods":{"addPoolManager(uint256,address)":{"notice":"Adds a pool manager to the pool."},"addToCloneableStrategies(address)":{"notice":"Adds a strategy to the cloneable strategies."},"allocate(uint256,bytes)":{"notice":"Allocates funds to a recipient."},"batchAllocate(uint256[],bytes[])":{"notice":"Allocates funds to multiple recipients."},"batchRegisterRecipient(uint256[],bytes[])":{"notice":"Registers a batch of recipients."},"distribute(uint256,address[],bytes)":{"notice":"Distributes funds to recipients and emits {Distributed} event if successful"},"fundPool(uint256,uint256)":{"notice":"Funds a pool."},"getBaseFee()":{"notice":"Returns the current base fee"},"getFeeDenominator()":{"notice":"Returns the current fee denominator"},"getPercentFee()":{"notice":"Returns the current percent fee"},"getPool(uint256)":{"notice":"Returns the 'Pool' struct for a given 'poolId'"},"getRegistry()":{"notice":"Returns the current registry address"},"getStrategy(uint256)":{"notice":"Returns the address of the strategy for a given 'poolId'"},"getTreasury()":{"notice":"Returns the current treasury address"},"initialize(address,address,address,uint256,uint256)":{"notice":"Initialize the Allo contract"},"isCloneableStrategy(address)":{"notice":"Checks if a strategy is cloneable (is in the cloneableStrategies mapping)."},"isPoolAdmin(uint256,address)":{"notice":"Checks if an address is a pool admin."},"isPoolManager(uint256,address)":{"notice":"Checks if an address is a pool manager."},"recoverFunds(address,address)":{"notice":"Recovers funds from a pool."},"registerRecipient(uint256,bytes)":{"notice":"Registers a recipient and emits {Registered} event if successful and may be handled differently by each strategy."},"removeFromCloneableStrategies(address)":{"notice":"Removes a strategy from the cloneable strategies."},"removePoolManager(uint256,address)":{"notice":"Removes a pool manager from the pool."},"updateBaseFee(uint256)":{"notice":"Updates the base fee."},"updatePercentFee(uint256)":{"notice":"Updates the percentage for the fee."},"updatePoolMetadata(uint256,(uint256,string))":{"notice":"Updates a pools metadata."},"updateRegistry(address)":{"notice":"Update the registry address."},"updateTreasury(address)":{"notice":"Updates the treasury address."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":"IAllo"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","id":2611,"exportedSymbols":{"IAllo":[2610],"IRegistry":[2802],"IStrategy":[2969],"Metadata":[3098]},"nodeType":"SourceUnit","src":"42:15030:3","nodes":[{"id":2297,"nodeType":"PragmaDirective","src":"42:24:3","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":2299,"nodeType":"ImportDirective","src":"82:42:3","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"./IRegistry.sol","nameLocation":"-1:-1:-1","scope":2611,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":2298,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"90:9:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2301,"nodeType":"ImportDirective","src":"125:42:3","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IStrategy.sol","file":"./IStrategy.sol","nameLocation":"-1:-1:-1","scope":2611,"sourceUnit":2970,"symbolAliases":[{"foreign":{"id":2300,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"133:9:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2303,"nodeType":"ImportDirective","src":"190:51:3","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":2611,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":2302,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"198:8:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2610,"nodeType":"ContractDefinition","src":"4531:10540:3","nodes":[{"id":2319,"nodeType":"StructDefinition","src":"4718:180:3","nodes":[],"canonicalName":"IAllo.Pool","members":[{"constant":false,"id":2306,"mutability":"mutable","name":"profileId","nameLocation":"4748:9:3","nodeType":"VariableDeclaration","scope":2319,"src":"4740:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2305,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4740:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2309,"mutability":"mutable","name":"strategy","nameLocation":"4777:8:3","nodeType":"VariableDeclaration","scope":2319,"src":"4767:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":2308,"nodeType":"UserDefinedTypeName","pathNode":{"id":2307,"name":"IStrategy","nameLocations":["4767:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"4767:9:3"},"referencedDeclaration":2969,"src":"4767:9:3","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"},{"constant":false,"id":2311,"mutability":"mutable","name":"token","nameLocation":"4803:5:3","nodeType":"VariableDeclaration","scope":2319,"src":"4795:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2310,"name":"address","nodeType":"ElementaryTypeName","src":"4795:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2314,"mutability":"mutable","name":"metadata","nameLocation":"4827:8:3","nodeType":"VariableDeclaration","scope":2319,"src":"4818:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":2313,"nodeType":"UserDefinedTypeName","pathNode":{"id":2312,"name":"Metadata","nameLocations":["4818:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"4818:8:3"},"referencedDeclaration":3098,"src":"4818:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2316,"mutability":"mutable","name":"managerRole","nameLocation":"4853:11:3","nodeType":"VariableDeclaration","scope":2319,"src":"4845:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2315,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4845:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2318,"mutability":"mutable","name":"adminRole","nameLocation":"4882:9:3","nodeType":"VariableDeclaration","scope":2319,"src":"4874:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2317,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4874:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"Pool","nameLocation":"4725:4:3","scope":2610,"visibility":"public"},{"id":2336,"nodeType":"EventDefinition","src":"5405:193:3","nodes":[],"anonymous":false,"documentation":{"id":2320,"nodeType":"StructuredDocumentation","src":"4998:402:3","text":"@notice Event emitted when a new pool is created\n @param poolId ID of the pool created\n @param profileId ID of the profile the pool is associated with\n @param strategy Address of the strategy contract\n @param token Address of the token pool was funded with when created\n @param amount Amount pool was funded with when created\n @param metadata Pool metadata"},"eventSelector":"69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba1","name":"PoolCreated","nameLocation":"5411:11:3","parameters":{"id":2335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2322,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"5448:6:3","nodeType":"VariableDeclaration","scope":2336,"src":"5432:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2321,"name":"uint256","nodeType":"ElementaryTypeName","src":"5432:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2324,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"5480:9:3","nodeType":"VariableDeclaration","scope":2336,"src":"5464:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5464:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2327,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"5509:8:3","nodeType":"VariableDeclaration","scope":2336,"src":"5499:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":2326,"nodeType":"UserDefinedTypeName","pathNode":{"id":2325,"name":"IStrategy","nameLocations":["5499:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"5499:9:3"},"referencedDeclaration":2969,"src":"5499:9:3","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"},{"constant":false,"id":2329,"indexed":false,"mutability":"mutable","name":"token","nameLocation":"5535:5:3","nodeType":"VariableDeclaration","scope":2336,"src":"5527:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2328,"name":"address","nodeType":"ElementaryTypeName","src":"5527:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2331,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5558:6:3","nodeType":"VariableDeclaration","scope":2336,"src":"5550:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2330,"name":"uint256","nodeType":"ElementaryTypeName","src":"5550:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2334,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"5583:8:3","nodeType":"VariableDeclaration","scope":2336,"src":"5574:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2333,"nodeType":"UserDefinedTypeName","pathNode":{"id":2332,"name":"Metadata","nameLocations":["5574:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5574:8:3"},"referencedDeclaration":3098,"src":"5574:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"5422:175:3"}},{"id":2344,"nodeType":"EventDefinition","src":"5761:69:3","nodes":[],"anonymous":false,"documentation":{"id":2337,"nodeType":"StructuredDocumentation","src":"5604:152:3","text":"@notice Emitted when a pools metadata is updated\n @param poolId ID of the pool updated\n @param metadata Pool metadata that was updated"},"eventSelector":"14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf0","name":"PoolMetadataUpdated","nameLocation":"5767:19:3","parameters":{"id":2343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2339,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"5803:6:3","nodeType":"VariableDeclaration","scope":2344,"src":"5787:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2338,"name":"uint256","nodeType":"ElementaryTypeName","src":"5787:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2342,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"5820:8:3","nodeType":"VariableDeclaration","scope":2344,"src":"5811:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2341,"nodeType":"UserDefinedTypeName","pathNode":{"id":2340,"name":"Metadata","nameLocations":["5811:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5811:8:3"},"referencedDeclaration":3098,"src":"5811:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"5786:43:3"}},{"id":2353,"nodeType":"EventDefinition","src":"6032:70:3","nodes":[],"anonymous":false,"documentation":{"id":2345,"nodeType":"StructuredDocumentation","src":"5836:191:3","text":"@notice Emitted when a pool is funded\n @param poolId ID of the pool funded\n @param amount Amount funded to the pool\n @param fee Amount of the fee paid to the treasury"},"eventSelector":"bf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb4851","name":"PoolFunded","nameLocation":"6038:10:3","parameters":{"id":2352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2347,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"6065:6:3","nodeType":"VariableDeclaration","scope":2353,"src":"6049:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2346,"name":"uint256","nodeType":"ElementaryTypeName","src":"6049:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2349,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6081:6:3","nodeType":"VariableDeclaration","scope":2353,"src":"6073:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2348,"name":"uint256","nodeType":"ElementaryTypeName","src":"6073:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2351,"indexed":false,"mutability":"mutable","name":"fee","nameLocation":"6097:3:3","nodeType":"VariableDeclaration","scope":2353,"src":"6089:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2350,"name":"uint256","nodeType":"ElementaryTypeName","src":"6089:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6048:53:3"}},{"id":2360,"nodeType":"EventDefinition","src":"6271:58:3","nodes":[],"anonymous":false,"documentation":{"id":2354,"nodeType":"StructuredDocumentation","src":"6108:158:3","text":"@notice Emitted when the base fee is paid\n @param poolId ID of the pool the base fee was paid for\n @param amount Amount of the base fee paid"},"eventSelector":"02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac72","name":"BaseFeePaid","nameLocation":"6277:11:3","parameters":{"id":2359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2356,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"6305:6:3","nodeType":"VariableDeclaration","scope":2360,"src":"6289:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2355,"name":"uint256","nodeType":"ElementaryTypeName","src":"6289:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2358,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6321:6:3","nodeType":"VariableDeclaration","scope":2360,"src":"6313:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2357,"name":"uint256","nodeType":"ElementaryTypeName","src":"6313:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6288:40:3"}},{"id":2365,"nodeType":"EventDefinition","src":"6448:40:3","nodes":[],"anonymous":false,"documentation":{"id":2361,"nodeType":"StructuredDocumentation","src":"6335:108:3","text":"@notice Emitted when the treasury address is updated\n @param treasury Address of the new treasury"},"eventSelector":"7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d1","name":"TreasuryUpdated","nameLocation":"6454:15:3","parameters":{"id":2364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2363,"indexed":false,"mutability":"mutable","name":"treasury","nameLocation":"6478:8:3","nodeType":"VariableDeclaration","scope":2365,"src":"6470:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2362,"name":"address","nodeType":"ElementaryTypeName","src":"6470:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6469:18:3"}},{"id":2370,"nodeType":"EventDefinition","src":"6603:44:3","nodes":[],"anonymous":false,"documentation":{"id":2366,"nodeType":"StructuredDocumentation","src":"6494:104:3","text":"@notice Emitted when the percent fee is updated\n @param percentFee New percentage for the fee"},"eventSelector":"9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b065","name":"PercentFeeUpdated","nameLocation":"6609:17:3","parameters":{"id":2369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2368,"indexed":false,"mutability":"mutable","name":"percentFee","nameLocation":"6635:10:3","nodeType":"VariableDeclaration","scope":2370,"src":"6627:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2367,"name":"uint256","nodeType":"ElementaryTypeName","src":"6627:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6626:20:3"}},{"id":2375,"nodeType":"EventDefinition","src":"6749:38:3","nodes":[],"anonymous":false,"documentation":{"id":2371,"nodeType":"StructuredDocumentation","src":"6653:91:3","text":"@notice Emitted when the base fee is updated\n @param baseFee New base fee amount"},"eventSelector":"803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c3","name":"BaseFeeUpdated","nameLocation":"6755:14:3","parameters":{"id":2374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2373,"indexed":false,"mutability":"mutable","name":"baseFee","nameLocation":"6778:7:3","nodeType":"VariableDeclaration","scope":2375,"src":"6770:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2372,"name":"uint256","nodeType":"ElementaryTypeName","src":"6770:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6769:17:3"}},{"id":2380,"nodeType":"EventDefinition","src":"6906:40:3","nodes":[],"anonymous":false,"documentation":{"id":2376,"nodeType":"StructuredDocumentation","src":"6793:108:3","text":"@notice Emitted when the registry address is updated\n @param registry Address of the new registry"},"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"6912:15:3","parameters":{"id":2379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2378,"indexed":false,"mutability":"mutable","name":"registry","nameLocation":"6936:8:3","nodeType":"VariableDeclaration","scope":2380,"src":"6928:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2377,"name":"address","nodeType":"ElementaryTypeName","src":"6928:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6927:18:3"}},{"id":2385,"nodeType":"EventDefinition","src":"7099:41:3","nodes":[],"anonymous":false,"documentation":{"id":2381,"nodeType":"StructuredDocumentation","src":"6952:142:3","text":"@notice Emitted when a strategy is approved and added to the cloneable strategies\n @param strategy Address of the strategy approved"},"eventSelector":"960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d1","name":"StrategyApproved","nameLocation":"7105:16:3","parameters":{"id":2384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2383,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7130:8:3","nodeType":"VariableDeclaration","scope":2385,"src":"7122:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2382,"name":"address","nodeType":"ElementaryTypeName","src":"7122:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7121:18:3"}},{"id":2390,"nodeType":"EventDefinition","src":"7283:40:3","nodes":[],"anonymous":false,"documentation":{"id":2386,"nodeType":"StructuredDocumentation","src":"7146:132:3","text":"@notice Emitted when a strategy is removed from the cloneable strategies\n @param strategy Address of the strategy removed"},"eventSelector":"09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4","name":"StrategyRemoved","nameLocation":"7289:15:3","parameters":{"id":2389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2388,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7313:8:3","nodeType":"VariableDeclaration","scope":2390,"src":"7305:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2387,"name":"address","nodeType":"ElementaryTypeName","src":"7305:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7304:18:3"}},{"id":2404,"nodeType":"FunctionDefinition","src":"7750:176:3","nodes":[],"documentation":{"id":2391,"nodeType":"StructuredDocumentation","src":"7465:280:3","text":"@notice Initialize the Allo contract\n @param _owner Address of the owner\n @param _registry Address of the registry contract\n @param _treasury Address of the treasury\n @param _percentFee Percentage for the fee\n @param _baseFee Base fee amount"},"functionSelector":"a6b63eb8","implemented":false,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"7759:10:3","parameters":{"id":2402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2393,"mutability":"mutable","name":"_owner","nameLocation":"7787:6:3","nodeType":"VariableDeclaration","scope":2404,"src":"7779:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2392,"name":"address","nodeType":"ElementaryTypeName","src":"7779:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2395,"mutability":"mutable","name":"_registry","nameLocation":"7811:9:3","nodeType":"VariableDeclaration","scope":2404,"src":"7803:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2394,"name":"address","nodeType":"ElementaryTypeName","src":"7803:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2397,"mutability":"mutable","name":"_treasury","nameLocation":"7846:9:3","nodeType":"VariableDeclaration","scope":2404,"src":"7830:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":2396,"name":"address","nodeType":"ElementaryTypeName","src":"7830:15:3","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":2399,"mutability":"mutable","name":"_percentFee","nameLocation":"7873:11:3","nodeType":"VariableDeclaration","scope":2404,"src":"7865:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2398,"name":"uint256","nodeType":"ElementaryTypeName","src":"7865:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2401,"mutability":"mutable","name":"_baseFee","nameLocation":"7902:8:3","nodeType":"VariableDeclaration","scope":2404,"src":"7894:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2400,"name":"uint256","nodeType":"ElementaryTypeName","src":"7894:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7769:147:3"},"returnParameters":{"id":2403,"nodeType":"ParameterList","parameters":[],"src":"7925:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2413,"nodeType":"FunctionDefinition","src":"8123:81:3","nodes":[],"documentation":{"id":2405,"nodeType":"StructuredDocumentation","src":"7932:186:3","text":"@notice Updates a pools metadata.\n @dev 'msg.sender' must be a pool admin.\n @param _poolId The ID of the pool to update\n @param _metadata The new metadata to set"},"functionSelector":"5f9ca138","implemented":false,"kind":"function","modifiers":[],"name":"updatePoolMetadata","nameLocation":"8132:18:3","parameters":{"id":2411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2407,"mutability":"mutable","name":"_poolId","nameLocation":"8159:7:3","nodeType":"VariableDeclaration","scope":2413,"src":"8151:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2406,"name":"uint256","nodeType":"ElementaryTypeName","src":"8151:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2410,"mutability":"mutable","name":"_metadata","nameLocation":"8184:9:3","nodeType":"VariableDeclaration","scope":2413,"src":"8168:25:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2409,"nodeType":"UserDefinedTypeName","pathNode":{"id":2408,"name":"Metadata","nameLocations":["8168:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"8168:8:3"},"referencedDeclaration":3098,"src":"8168:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"8150:44:3"},"returnParameters":{"id":2412,"nodeType":"ParameterList","parameters":[],"src":"8203:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2419,"nodeType":"FunctionDefinition","src":"8364:52:3","nodes":[],"documentation":{"id":2414,"nodeType":"StructuredDocumentation","src":"8210:149:3","text":"@notice Update the registry address.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _registry The new registry address"},"functionSelector":"1a5da6c8","implemented":false,"kind":"function","modifiers":[],"name":"updateRegistry","nameLocation":"8373:14:3","parameters":{"id":2417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2416,"mutability":"mutable","name":"_registry","nameLocation":"8396:9:3","nodeType":"VariableDeclaration","scope":2419,"src":"8388:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2415,"name":"address","nodeType":"ElementaryTypeName","src":"8388:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8387:19:3"},"returnParameters":{"id":2418,"nodeType":"ParameterList","parameters":[],"src":"8415:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2425,"nodeType":"FunctionDefinition","src":"8577:60:3","nodes":[],"documentation":{"id":2420,"nodeType":"StructuredDocumentation","src":"8422:150:3","text":"@notice Updates the treasury address.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _treasury The new treasury address"},"functionSelector":"7f51bb1f","implemented":false,"kind":"function","modifiers":[],"name":"updateTreasury","nameLocation":"8586:14:3","parameters":{"id":2423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2422,"mutability":"mutable","name":"_treasury","nameLocation":"8617:9:3","nodeType":"VariableDeclaration","scope":2425,"src":"8601:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":2421,"name":"address","nodeType":"ElementaryTypeName","src":"8601:15:3","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"8600:27:3"},"returnParameters":{"id":2424,"nodeType":"ParameterList","parameters":[],"src":"8636:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2431,"nodeType":"FunctionDefinition","src":"8812:56:3","nodes":[],"documentation":{"id":2426,"nodeType":"StructuredDocumentation","src":"8643:164:3","text":"@notice Updates the percentage for the fee.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _percentFee The new percentage for the fee"},"functionSelector":"f54fc4a0","implemented":false,"kind":"function","modifiers":[],"name":"updatePercentFee","nameLocation":"8821:16:3","parameters":{"id":2429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2428,"mutability":"mutable","name":"_percentFee","nameLocation":"8846:11:3","nodeType":"VariableDeclaration","scope":2431,"src":"8838:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2427,"name":"uint256","nodeType":"ElementaryTypeName","src":"8838:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8837:21:3"},"returnParameters":{"id":2430,"nodeType":"ParameterList","parameters":[],"src":"8867:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2437,"nodeType":"FunctionDefinition","src":"9012:50:3","nodes":[],"documentation":{"id":2432,"nodeType":"StructuredDocumentation","src":"8874:133:3","text":"@notice Updates the base fee.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _baseFee The new base fee"},"functionSelector":"8e690186","implemented":false,"kind":"function","modifiers":[],"name":"updateBaseFee","nameLocation":"9021:13:3","parameters":{"id":2435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2434,"mutability":"mutable","name":"_baseFee","nameLocation":"9043:8:3","nodeType":"VariableDeclaration","scope":2437,"src":"9035:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2433,"name":"uint256","nodeType":"ElementaryTypeName","src":"9035:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9034:18:3"},"returnParameters":{"id":2436,"nodeType":"ParameterList","parameters":[],"src":"9061:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2443,"nodeType":"FunctionDefinition","src":"9248:62:3","nodes":[],"documentation":{"id":2438,"nodeType":"StructuredDocumentation","src":"9068:175:3","text":"@notice Adds a strategy to the cloneable strategies.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _strategy The address of the strategy to add"},"functionSelector":"41bba0b4","implemented":false,"kind":"function","modifiers":[],"name":"addToCloneableStrategies","nameLocation":"9257:24:3","parameters":{"id":2441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2440,"mutability":"mutable","name":"_strategy","nameLocation":"9290:9:3","nodeType":"VariableDeclaration","scope":2443,"src":"9282:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2439,"name":"address","nodeType":"ElementaryTypeName","src":"9282:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9281:19:3"},"returnParameters":{"id":2442,"nodeType":"ParameterList","parameters":[],"src":"9309:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2449,"nodeType":"FunctionDefinition","src":"9504:67:3","nodes":[],"documentation":{"id":2444,"nodeType":"StructuredDocumentation","src":"9316:183:3","text":"@notice Removes a strategy from the cloneable strategies.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _strategy The address of the strategy to remove"},"functionSelector":"031e2fa1","implemented":false,"kind":"function","modifiers":[],"name":"removeFromCloneableStrategies","nameLocation":"9513:29:3","parameters":{"id":2447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2446,"mutability":"mutable","name":"_strategy","nameLocation":"9551:9:3","nodeType":"VariableDeclaration","scope":2449,"src":"9543:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2445,"name":"address","nodeType":"ElementaryTypeName","src":"9543:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9542:19:3"},"returnParameters":{"id":2448,"nodeType":"ParameterList","parameters":[],"src":"9570:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2457,"nodeType":"FunctionDefinition","src":"9796:68:3","nodes":[],"documentation":{"id":2450,"nodeType":"StructuredDocumentation","src":"9577:214:3","text":"@notice Adds a pool manager to the pool.\n @dev 'msg.sender' must be a pool admin.\n @param _poolId The ID of the pool to add the manager to\n @param _manager The address of the manager to add"},"functionSelector":"2cf682b0","implemented":false,"kind":"function","modifiers":[],"name":"addPoolManager","nameLocation":"9805:14:3","parameters":{"id":2455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2452,"mutability":"mutable","name":"_poolId","nameLocation":"9828:7:3","nodeType":"VariableDeclaration","scope":2457,"src":"9820:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2451,"name":"uint256","nodeType":"ElementaryTypeName","src":"9820:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2454,"mutability":"mutable","name":"_manager","nameLocation":"9845:8:3","nodeType":"VariableDeclaration","scope":2457,"src":"9837:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2453,"name":"address","nodeType":"ElementaryTypeName","src":"9837:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9819:35:3"},"returnParameters":{"id":2456,"nodeType":"ParameterList","parameters":[],"src":"9863:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2465,"nodeType":"FunctionDefinition","src":"10102:71:3","nodes":[],"documentation":{"id":2458,"nodeType":"StructuredDocumentation","src":"9870:227:3","text":"@notice Removes a pool manager from the pool.\n @dev 'msg.sender' must be a pool admin.\n @param _poolId The ID of the pool to remove the manager from\n @param _manager The address of the manager to remove"},"functionSelector":"7f5a70bd","implemented":false,"kind":"function","modifiers":[],"name":"removePoolManager","nameLocation":"10111:17:3","parameters":{"id":2463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2460,"mutability":"mutable","name":"_poolId","nameLocation":"10137:7:3","nodeType":"VariableDeclaration","scope":2465,"src":"10129:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2459,"name":"uint256","nodeType":"ElementaryTypeName","src":"10129:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2462,"mutability":"mutable","name":"_manager","nameLocation":"10154:8:3","nodeType":"VariableDeclaration","scope":2465,"src":"10146:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2461,"name":"address","nodeType":"ElementaryTypeName","src":"10146:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10128:35:3"},"returnParameters":{"id":2464,"nodeType":"ParameterList","parameters":[],"src":"10172:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2473,"nodeType":"FunctionDefinition","src":"10383:67:3","nodes":[],"documentation":{"id":2466,"nodeType":"StructuredDocumentation","src":"10179:199:3","text":"@notice Recovers funds from a pool.\n @dev 'msg.sender' must be a pool admin.\n @param _token The token to recover\n @param _recipient The address to send the recovered funds to"},"functionSelector":"24ae6a27","implemented":false,"kind":"function","modifiers":[],"name":"recoverFunds","nameLocation":"10392:12:3","parameters":{"id":2471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2468,"mutability":"mutable","name":"_token","nameLocation":"10413:6:3","nodeType":"VariableDeclaration","scope":2473,"src":"10405:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2467,"name":"address","nodeType":"ElementaryTypeName","src":"10405:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2470,"mutability":"mutable","name":"_recipient","nameLocation":"10429:10:3","nodeType":"VariableDeclaration","scope":2473,"src":"10421:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2469,"name":"address","nodeType":"ElementaryTypeName","src":"10421:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10404:36:3"},"returnParameters":{"id":2472,"nodeType":"ParameterList","parameters":[],"src":"10449:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2483,"nodeType":"FunctionDefinition","src":"10658:99:3","nodes":[],"documentation":{"id":2474,"nodeType":"StructuredDocumentation","src":"10456:197:3","text":"@notice Registers a recipient and emits {Registered} event if successful and may be handled differently by each strategy.\n @param _poolId The ID of the pool to register the recipient for"},"functionSelector":"075c0e9c","implemented":false,"kind":"function","modifiers":[],"name":"registerRecipient","nameLocation":"10667:17:3","parameters":{"id":2479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2476,"mutability":"mutable","name":"_poolId","nameLocation":"10693:7:3","nodeType":"VariableDeclaration","scope":2483,"src":"10685:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2475,"name":"uint256","nodeType":"ElementaryTypeName","src":"10685:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2478,"mutability":"mutable","name":"_data","nameLocation":"10715:5:3","nodeType":"VariableDeclaration","scope":2483,"src":"10702:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2477,"name":"bytes","nodeType":"ElementaryTypeName","src":"10702:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10684:37:3"},"returnParameters":{"id":2482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2481,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2483,"src":"10748:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2480,"name":"address","nodeType":"ElementaryTypeName","src":"10748:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10747:9:3"},"scope":2610,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":2496,"nodeType":"FunctionDefinition","src":"10983:133:3","nodes":[],"documentation":{"id":2484,"nodeType":"StructuredDocumentation","src":"10763:215:3","text":"@notice Registers a batch of recipients.\n @param _poolIds The pool ID's to register the recipients for\n @param _data The data to pass to the strategy and may be handled differently by each strategy"},"functionSelector":"1a20bd88","implemented":false,"kind":"function","modifiers":[],"name":"batchRegisterRecipient","nameLocation":"10992:22:3","parameters":{"id":2491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2487,"mutability":"mutable","name":"_poolIds","nameLocation":"11032:8:3","nodeType":"VariableDeclaration","scope":2496,"src":"11015:25:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":2485,"name":"uint256","nodeType":"ElementaryTypeName","src":"11015:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2486,"nodeType":"ArrayTypeName","src":"11015:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":2490,"mutability":"mutable","name":"_data","nameLocation":"11057:5:3","nodeType":"VariableDeclaration","scope":2496,"src":"11042:20:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":2488,"name":"bytes","nodeType":"ElementaryTypeName","src":"11042:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":2489,"nodeType":"ArrayTypeName","src":"11042:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"11014:49:3"},"returnParameters":{"id":2495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2494,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2496,"src":"11098:16:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2492,"name":"address","nodeType":"ElementaryTypeName","src":"11098:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2493,"nodeType":"ArrayTypeName","src":"11098:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"11097:18:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2504,"nodeType":"FunctionDefinition","src":"11427:69:3","nodes":[],"documentation":{"id":2497,"nodeType":"StructuredDocumentation","src":"11122:300:3","text":"@notice Funds a pool.\n @dev 'msg.value' must be greater than 0 if the token is the native token\n or '_amount' must be greater than 0 if the token is not the native token.\n @param _poolId The ID of the pool to fund\n @param _amount The amount to fund the pool with"},"functionSelector":"5acd6fac","implemented":false,"kind":"function","modifiers":[],"name":"fundPool","nameLocation":"11436:8:3","parameters":{"id":2502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2499,"mutability":"mutable","name":"_poolId","nameLocation":"11453:7:3","nodeType":"VariableDeclaration","scope":2504,"src":"11445:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2498,"name":"uint256","nodeType":"ElementaryTypeName","src":"11445:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2501,"mutability":"mutable","name":"_amount","nameLocation":"11470:7:3","nodeType":"VariableDeclaration","scope":2504,"src":"11462:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2500,"name":"uint256","nodeType":"ElementaryTypeName","src":"11462:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11444:34:3"},"returnParameters":{"id":2503,"nodeType":"ParameterList","parameters":[],"src":"11495:0:3"},"scope":2610,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":2512,"nodeType":"FunctionDefinition","src":"11794:72:3","nodes":[],"documentation":{"id":2505,"nodeType":"StructuredDocumentation","src":"11502:287:3","text":"@notice Allocates funds to a recipient.\n @dev Each strategy will handle the allocation of funds differently.\n @param _poolId The ID of the pool to allocate funds from\n @param _data The data to pass to the strategy and may be handled differently by each strategy."},"functionSelector":"2ec38188","implemented":false,"kind":"function","modifiers":[],"name":"allocate","nameLocation":"11803:8:3","parameters":{"id":2510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2507,"mutability":"mutable","name":"_poolId","nameLocation":"11820:7:3","nodeType":"VariableDeclaration","scope":2512,"src":"11812:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2506,"name":"uint256","nodeType":"ElementaryTypeName","src":"11812:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2509,"mutability":"mutable","name":"_data","nameLocation":"11842:5:3","nodeType":"VariableDeclaration","scope":2512,"src":"11829:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2508,"name":"bytes","nodeType":"ElementaryTypeName","src":"11829:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11811:37:3"},"returnParameters":{"id":2511,"nodeType":"ParameterList","parameters":[],"src":"11865:0:3"},"scope":2610,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":2522,"nodeType":"FunctionDefinition","src":"12003:84:3","nodes":[],"documentation":{"id":2513,"nodeType":"StructuredDocumentation","src":"11872:126:3","text":"@notice Allocates funds to multiple recipients.\n @dev Each strategy will handle the allocation of funds differently"},"functionSelector":"c6dff1cf","implemented":false,"kind":"function","modifiers":[],"name":"batchAllocate","nameLocation":"12012:13:3","parameters":{"id":2520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2516,"mutability":"mutable","name":"_poolIds","nameLocation":"12045:8:3","nodeType":"VariableDeclaration","scope":2522,"src":"12026:27:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":2514,"name":"uint256","nodeType":"ElementaryTypeName","src":"12026:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2515,"nodeType":"ArrayTypeName","src":"12026:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":2519,"mutability":"mutable","name":"_datas","nameLocation":"12070:6:3","nodeType":"VariableDeclaration","scope":2522,"src":"12055:21:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":2517,"name":"bytes","nodeType":"ElementaryTypeName","src":"12055:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":2518,"nodeType":"ArrayTypeName","src":"12055:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"12025:52:3"},"returnParameters":{"id":2521,"nodeType":"ParameterList","parameters":[],"src":"12086:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2533,"nodeType":"FunctionDefinition","src":"12489:98:3","nodes":[],"documentation":{"id":2523,"nodeType":"StructuredDocumentation","src":"12093:391:3","text":"@notice Distributes funds to recipients and emits {Distributed} event if successful\n @dev Each strategy will handle the distribution of funds differently\n @param _poolId The ID of the pool to distribute from\n @param _recipientIds The recipient ids to distribute to\n @param _data The data to pass to the strategy and may be handled differently by each strategy"},"functionSelector":"3a5fbd92","implemented":false,"kind":"function","modifiers":[],"name":"distribute","nameLocation":"12498:10:3","parameters":{"id":2531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2525,"mutability":"mutable","name":"_poolId","nameLocation":"12517:7:3","nodeType":"VariableDeclaration","scope":2533,"src":"12509:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2524,"name":"uint256","nodeType":"ElementaryTypeName","src":"12509:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2528,"mutability":"mutable","name":"_recipientIds","nameLocation":"12543:13:3","nodeType":"VariableDeclaration","scope":2533,"src":"12526:30:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2526,"name":"address","nodeType":"ElementaryTypeName","src":"12526:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2527,"nodeType":"ArrayTypeName","src":"12526:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":2530,"mutability":"mutable","name":"_data","nameLocation":"12571:5:3","nodeType":"VariableDeclaration","scope":2533,"src":"12558:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2529,"name":"bytes","nodeType":"ElementaryTypeName","src":"12558:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12508:69:3"},"returnParameters":{"id":2532,"nodeType":"ParameterList","parameters":[],"src":"12586:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2543,"nodeType":"FunctionDefinition","src":"12922:85:3","nodes":[],"documentation":{"id":2534,"nodeType":"StructuredDocumentation","src":"12696:221:3","text":"@notice Checks if an address is a pool admin.\n @param _poolId The ID of the pool to check\n @param _address The address to check\n @return 'true' if the '_address' is a pool admin, otherwise 'false'"},"functionSelector":"ab3febc6","implemented":false,"kind":"function","modifiers":[],"name":"isPoolAdmin","nameLocation":"12931:11:3","parameters":{"id":2539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2536,"mutability":"mutable","name":"_poolId","nameLocation":"12951:7:3","nodeType":"VariableDeclaration","scope":2543,"src":"12943:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2535,"name":"uint256","nodeType":"ElementaryTypeName","src":"12943:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2538,"mutability":"mutable","name":"_address","nameLocation":"12968:8:3","nodeType":"VariableDeclaration","scope":2543,"src":"12960:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2537,"name":"address","nodeType":"ElementaryTypeName","src":"12960:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12942:35:3"},"returnParameters":{"id":2542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2541,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2543,"src":"13001:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2540,"name":"bool","nodeType":"ElementaryTypeName","src":"13001:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13000:6:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2553,"nodeType":"FunctionDefinition","src":"13243:87:3","nodes":[],"documentation":{"id":2544,"nodeType":"StructuredDocumentation","src":"13013:225:3","text":"@notice Checks if an address is a pool manager.\n @param _poolId The ID of the pool to check\n @param _address The address to check\n @return 'true' if the '_address' is a pool manager, otherwise 'false'"},"functionSelector":"29e40d4b","implemented":false,"kind":"function","modifiers":[],"name":"isPoolManager","nameLocation":"13252:13:3","parameters":{"id":2549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2546,"mutability":"mutable","name":"_poolId","nameLocation":"13274:7:3","nodeType":"VariableDeclaration","scope":2553,"src":"13266:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2545,"name":"uint256","nodeType":"ElementaryTypeName","src":"13266:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2548,"mutability":"mutable","name":"_address","nameLocation":"13291:8:3","nodeType":"VariableDeclaration","scope":2553,"src":"13283:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2547,"name":"address","nodeType":"ElementaryTypeName","src":"13283:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13265:35:3"},"returnParameters":{"id":2552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2553,"src":"13324:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2550,"name":"bool","nodeType":"ElementaryTypeName","src":"13324:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13323:6:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2561,"nodeType":"FunctionDefinition","src":"13563:77:3","nodes":[],"documentation":{"id":2554,"nodeType":"StructuredDocumentation","src":"13336:222:3","text":"@notice Checks if a strategy is cloneable (is in the cloneableStrategies mapping).\n @param _strategy The address of the strategy to check\n @return 'true' if the '_strategy' is cloneable, otherwise 'false'"},"functionSelector":"ab2ec589","implemented":false,"kind":"function","modifiers":[],"name":"isCloneableStrategy","nameLocation":"13572:19:3","parameters":{"id":2557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2556,"mutability":"mutable","name":"_strategy","nameLocation":"13600:9:3","nodeType":"VariableDeclaration","scope":2561,"src":"13592:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2555,"name":"address","nodeType":"ElementaryTypeName","src":"13592:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13591:19:3"},"returnParameters":{"id":2560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2559,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2561,"src":"13634:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2558,"name":"bool","nodeType":"ElementaryTypeName","src":"13634:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13633:6:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2569,"nodeType":"FunctionDefinition","src":"13856:70:3","nodes":[],"documentation":{"id":2562,"nodeType":"StructuredDocumentation","src":"13646:205:3","text":"@notice Returns the address of the strategy for a given 'poolId'\n @param _poolId The ID of the pool to check\n @return strategy The address of the strategy for the ID of the pool passed in"},"functionSelector":"cfc0cc34","implemented":false,"kind":"function","modifiers":[],"name":"getStrategy","nameLocation":"13865:11:3","parameters":{"id":2565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2564,"mutability":"mutable","name":"_poolId","nameLocation":"13885:7:3","nodeType":"VariableDeclaration","scope":2569,"src":"13877:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2563,"name":"uint256","nodeType":"ElementaryTypeName","src":"13877:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13876:17:3"},"returnParameters":{"id":2568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2567,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2569,"src":"13917:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2566,"name":"address","nodeType":"ElementaryTypeName","src":"13917:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13916:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2575,"nodeType":"FunctionDefinition","src":"14042:57:3","nodes":[],"documentation":{"id":2570,"nodeType":"StructuredDocumentation","src":"13932:105:3","text":"@notice Returns the current percent fee\n @return percentFee The current percentage for the fee"},"functionSelector":"4edbaadc","implemented":false,"kind":"function","modifiers":[],"name":"getPercentFee","nameLocation":"14051:13:3","parameters":{"id":2571,"nodeType":"ParameterList","parameters":[],"src":"14064:2:3"},"returnParameters":{"id":2574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2573,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2575,"src":"14090:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2572,"name":"uint256","nodeType":"ElementaryTypeName","src":"14090:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14089:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2581,"nodeType":"FunctionDefinition","src":"14195:54:3","nodes":[],"documentation":{"id":2576,"nodeType":"StructuredDocumentation","src":"14105:85:3","text":"@notice Returns the current base fee\n @return baseFee The current base fee"},"functionSelector":"15e812ad","implemented":false,"kind":"function","modifiers":[],"name":"getBaseFee","nameLocation":"14204:10:3","parameters":{"id":2577,"nodeType":"ParameterList","parameters":[],"src":"14214:2:3"},"returnParameters":{"id":2580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2579,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2581,"src":"14240:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2578,"name":"uint256","nodeType":"ElementaryTypeName","src":"14240:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14239:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2587,"nodeType":"FunctionDefinition","src":"14362:63:3","nodes":[],"documentation":{"id":2582,"nodeType":"StructuredDocumentation","src":"14255:102:3","text":"@notice Returns the current treasury address\n @return treasury The current treasury address"},"functionSelector":"3b19e84a","implemented":false,"kind":"function","modifiers":[],"name":"getTreasury","nameLocation":"14371:11:3","parameters":{"id":2583,"nodeType":"ParameterList","parameters":[],"src":"14382:2:3"},"returnParameters":{"id":2586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2585,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2587,"src":"14408:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":2584,"name":"address","nodeType":"ElementaryTypeName","src":"14408:15:3","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"14407:17:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2594,"nodeType":"FunctionDefinition","src":"14538:57:3","nodes":[],"documentation":{"id":2588,"nodeType":"StructuredDocumentation","src":"14431:102:3","text":"@notice Returns the current registry address\n @return registry The current registry address"},"functionSelector":"5ab1bd53","implemented":false,"kind":"function","modifiers":[],"name":"getRegistry","nameLocation":"14547:11:3","parameters":{"id":2589,"nodeType":"ParameterList","parameters":[],"src":"14558:2:3"},"returnParameters":{"id":2593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2592,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2594,"src":"14584:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":2591,"nodeType":"UserDefinedTypeName","pathNode":{"id":2590,"name":"IRegistry","nameLocations":["14584:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"14584:9:3"},"referencedDeclaration":2802,"src":"14584:9:3","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"}],"src":"14583:11:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2603,"nodeType":"FunctionDefinition","src":"14787:70:3","nodes":[],"documentation":{"id":2595,"nodeType":"StructuredDocumentation","src":"14601:181:3","text":"@notice Returns the 'Pool' struct for a given 'poolId'\n @param _poolId The ID of the pool to check\n @return pool The 'Pool' struct for the ID of the pool passed in"},"functionSelector":"068bcd8d","implemented":false,"kind":"function","modifiers":[],"name":"getPool","nameLocation":"14796:7:3","parameters":{"id":2598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2597,"mutability":"mutable","name":"_poolId","nameLocation":"14812:7:3","nodeType":"VariableDeclaration","scope":2603,"src":"14804:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2596,"name":"uint256","nodeType":"ElementaryTypeName","src":"14804:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14803:17:3"},"returnParameters":{"id":2602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2601,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2603,"src":"14844:11:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":2600,"nodeType":"UserDefinedTypeName","pathNode":{"id":2599,"name":"Pool","nameLocations":["14844:4:3"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"14844:4:3"},"referencedDeclaration":2319,"src":"14844:4:3","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"src":"14843:13:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2609,"nodeType":"FunctionDefinition","src":"15008:61:3","nodes":[],"documentation":{"id":2604,"nodeType":"StructuredDocumentation","src":"14863:140:3","text":"@notice Returns the current fee denominator\n @dev 1e18 represents 100%\n @return feeDenominator The current fee denominator"},"functionSelector":"f4e1fc41","implemented":false,"kind":"function","modifiers":[],"name":"getFeeDenominator","nameLocation":"15017:17:3","parameters":{"id":2605,"nodeType":"ParameterList","parameters":[],"src":"15034:2:3"},"returnParameters":{"id":2608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2607,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2609,"src":"15060:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2606,"name":"uint256","nodeType":"ElementaryTypeName","src":"15060:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15059:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IAllo","contractDependencies":[],"contractKind":"interface","documentation":{"id":2304,"nodeType":"StructuredDocumentation","src":"4234:297:3","text":"@title Allo Interface\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice Interface for the Allo contract. It exposes all functions needed to use the Allo protocol."},"fullyImplemented":false,"linearizedBaseContracts":[2610],"name":"IAllo","nameLocation":"4541:5:3","scope":2611,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":3} \ No newline at end of file +{"abi":[{"type":"function","name":"addPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addToCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocate","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"batchAllocate","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_datas","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchRegisterRecipient","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_data","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"distribute","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_recipientIds","type":"address[]","internalType":"address[]"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fundPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"getBaseFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFeeDenominator","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPercentFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"getStrategy","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getTreasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_registry","type":"address","internalType":"address"},{"name":"_treasury","type":"address","internalType":"address payable"},{"name":"_percentFee","type":"uint256","internalType":"uint256"},{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCloneableStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolAdmin","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRecipient","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"payable"},{"type":"function","name":"removeFromCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removePoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateBaseFee","inputs":[{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePercentFee","inputs":[{"name":"_percentFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePoolMetadata","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateRegistry","inputs":[{"name":"_registry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTreasury","inputs":[{"name":"_treasury","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"BaseFeePaid","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BaseFeeUpdated","inputs":[{"name":"baseFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PercentFeeUpdated","inputs":[{"name":"percentFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolCreated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"strategy","type":"address","indexed":false,"internalType":"contract IStrategy"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"PoolFunded","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolMetadataUpdated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RegistryUpdated","inputs":[{"name":"registry","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyApproved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TreasuryUpdated","inputs":[{"name":"treasury","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"addPoolManager(uint256,address)":"2cf682b0","addToCloneableStrategies(address)":"41bba0b4","allocate(uint256,bytes)":"2ec38188","batchAllocate(uint256[],bytes[])":"c6dff1cf","batchRegisterRecipient(uint256[],bytes[])":"1a20bd88","distribute(uint256,address[],bytes)":"3a5fbd92","fundPool(uint256,uint256)":"5acd6fac","getBaseFee()":"15e812ad","getFeeDenominator()":"f4e1fc41","getPercentFee()":"4edbaadc","getPool(uint256)":"068bcd8d","getRegistry()":"5ab1bd53","getStrategy(uint256)":"cfc0cc34","getTreasury()":"3b19e84a","initialize(address,address,address,uint256,uint256)":"a6b63eb8","isCloneableStrategy(address)":"ab2ec589","isPoolAdmin(uint256,address)":"ab3febc6","isPoolManager(uint256,address)":"29e40d4b","recoverFunds(address,address)":"24ae6a27","registerRecipient(uint256,bytes)":"075c0e9c","removeFromCloneableStrategies(address)":"031e2fa1","removePoolManager(uint256,address)":"7f5a70bd","updateBaseFee(uint256)":"8e690186","updatePercentFee(uint256)":"f54fc4a0","updatePoolMetadata(uint256,(uint256,string))":"5f9ca138","updateRegistry(address)":"1a5da6c8","updateTreasury(address)":"7f51bb1f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BaseFeePaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseFee\",\"type\":\"uint256\"}],\"name\":\"BaseFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"percentFee\",\"type\":\"uint256\"}],\"name\":\"PercentFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"PoolFunded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"RegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"}],\"name\":\"TreasuryUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"addPoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"addToCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_datas\",\"type\":\"bytes[]\"}],\"name\":\"batchAllocate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_data\",\"type\":\"bytes[]\"}],\"name\":\"batchRegisterRecipient\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_recipientIds\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"fundPool\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPercentFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getPool\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getStrategy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTreasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"isCloneableStrategy\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolManager\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"registerRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeFromCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"removePoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"updateBaseFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"}],\"name\":\"updatePercentFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updatePoolMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"}],\"name\":\"updateRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"}],\"name\":\"updateTreasury\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"params\":{\"amount\":\"Amount of the base fee paid\",\"poolId\":\"ID of the pool the base fee was paid for\"}},\"BaseFeeUpdated(uint256)\":{\"params\":{\"baseFee\":\"New base fee amount\"}},\"PercentFeeUpdated(uint256)\":{\"params\":{\"percentFee\":\"New percentage for the fee\"}},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"params\":{\"amount\":\"Amount pool was funded with when created\",\"metadata\":\"Pool metadata\",\"poolId\":\"ID of the pool created\",\"profileId\":\"ID of the profile the pool is associated with\",\"strategy\":\"Address of the strategy contract\",\"token\":\"Address of the token pool was funded with when created\"}},\"PoolFunded(uint256,uint256,uint256)\":{\"params\":{\"amount\":\"Amount funded to the pool\",\"fee\":\"Amount of the fee paid to the treasury\",\"poolId\":\"ID of the pool funded\"}},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"params\":{\"metadata\":\"Pool metadata that was updated\",\"poolId\":\"ID of the pool updated\"}},\"RegistryUpdated(address)\":{\"params\":{\"registry\":\"Address of the new registry\"}},\"StrategyApproved(address)\":{\"params\":{\"strategy\":\"Address of the strategy approved\"}},\"StrategyRemoved(address)\":{\"params\":{\"strategy\":\"Address of the strategy removed\"}},\"TreasuryUpdated(address)\":{\"params\":{\"treasury\":\"Address of the new treasury\"}}},\"kind\":\"dev\",\"methods\":{\"addPoolManager(uint256,address)\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address of the manager to add\",\"_poolId\":\"The ID of the pool to add the manager to\"}},\"addToCloneableStrategies(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_strategy\":\"The address of the strategy to add\"}},\"allocate(uint256,bytes)\":{\"details\":\"Each strategy will handle the allocation of funds differently.\",\"params\":{\"_data\":\"The data to pass to the strategy and may be handled differently by each strategy.\",\"_poolId\":\"The ID of the pool to allocate funds from\"}},\"batchAllocate(uint256[],bytes[])\":{\"details\":\"Each strategy will handle the allocation of funds differently\"},\"batchRegisterRecipient(uint256[],bytes[])\":{\"params\":{\"_data\":\"The data to pass to the strategy and may be handled differently by each strategy\",\"_poolIds\":\"The pool ID's to register the recipients for\"}},\"distribute(uint256,address[],bytes)\":{\"details\":\"Each strategy will handle the distribution of funds differently\",\"params\":{\"_data\":\"The data to pass to the strategy and may be handled differently by each strategy\",\"_poolId\":\"The ID of the pool to distribute from\",\"_recipientIds\":\"The recipient ids to distribute to\"}},\"fundPool(uint256,uint256)\":{\"details\":\"'msg.value' must be greater than 0 if the token is the native token or '_amount' must be greater than 0 if the token is not the native token.\",\"params\":{\"_amount\":\"The amount to fund the pool with\",\"_poolId\":\"The ID of the pool to fund\"}},\"getBaseFee()\":{\"returns\":{\"_0\":\"baseFee The current base fee\"}},\"getFeeDenominator()\":{\"details\":\"1e18 represents 100%\",\"returns\":{\"_0\":\"feeDenominator The current fee denominator\"}},\"getPercentFee()\":{\"returns\":{\"_0\":\"percentFee The current percentage for the fee\"}},\"getPool(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"pool The 'Pool' struct for the ID of the pool passed in\"}},\"getRegistry()\":{\"returns\":{\"_0\":\"registry The current registry address\"}},\"getStrategy(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"strategy The address of the strategy for the ID of the pool passed in\"}},\"getTreasury()\":{\"returns\":{\"_0\":\"treasury The current treasury address\"}},\"initialize(address,address,address,uint256,uint256)\":{\"params\":{\"_baseFee\":\"Base fee amount\",\"_owner\":\"Address of the owner\",\"_percentFee\":\"Percentage for the fee\",\"_registry\":\"Address of the registry contract\",\"_treasury\":\"Address of the treasury\"}},\"isCloneableStrategy(address)\":{\"params\":{\"_strategy\":\"The address of the strategy to check\"},\"returns\":{\"_0\":\"'true' if the '_strategy' is cloneable, otherwise 'false'\"}},\"isPoolAdmin(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"'true' if the '_address' is a pool admin, otherwise 'false'\"}},\"isPoolManager(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"'true' if the '_address' is a pool manager, otherwise 'false'\"}},\"recoverFunds(address,address)\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_recipient\":\"The address to send the recovered funds to\",\"_token\":\"The token to recover\"}},\"registerRecipient(uint256,bytes)\":{\"params\":{\"_poolId\":\"The ID of the pool to register the recipient for\"}},\"removeFromCloneableStrategies(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_strategy\":\"The address of the strategy to remove\"}},\"removePoolManager(uint256,address)\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address of the manager to remove\",\"_poolId\":\"The ID of the pool to remove the manager from\"}},\"updateBaseFee(uint256)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_baseFee\":\"The new base fee\"}},\"updatePercentFee(uint256)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_percentFee\":\"The new percentage for the fee\"}},\"updatePoolMetadata(uint256,(uint256,string))\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_metadata\":\"The new metadata to set\",\"_poolId\":\"The ID of the pool to update\"}},\"updateRegistry(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_registry\":\"The new registry address\"}},\"updateTreasury(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_treasury\":\"The new treasury address\"}}},\"title\":\"Allo Interface\",\"version\":1},\"userdoc\":{\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"notice\":\"Emitted when the base fee is paid\"},\"BaseFeeUpdated(uint256)\":{\"notice\":\"Emitted when the base fee is updated\"},\"PercentFeeUpdated(uint256)\":{\"notice\":\"Emitted when the percent fee is updated\"},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"notice\":\"Event emitted when a new pool is created\"},\"PoolFunded(uint256,uint256,uint256)\":{\"notice\":\"Emitted when a pool is funded\"},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"notice\":\"Emitted when a pools metadata is updated\"},\"RegistryUpdated(address)\":{\"notice\":\"Emitted when the registry address is updated\"},\"StrategyApproved(address)\":{\"notice\":\"Emitted when a strategy is approved and added to the cloneable strategies\"},\"StrategyRemoved(address)\":{\"notice\":\"Emitted when a strategy is removed from the cloneable strategies\"},\"TreasuryUpdated(address)\":{\"notice\":\"Emitted when the treasury address is updated\"}},\"kind\":\"user\",\"methods\":{\"addPoolManager(uint256,address)\":{\"notice\":\"Adds a pool manager to the pool.\"},\"addToCloneableStrategies(address)\":{\"notice\":\"Adds a strategy to the cloneable strategies.\"},\"allocate(uint256,bytes)\":{\"notice\":\"Allocates funds to a recipient.\"},\"batchAllocate(uint256[],bytes[])\":{\"notice\":\"Allocates funds to multiple recipients.\"},\"batchRegisterRecipient(uint256[],bytes[])\":{\"notice\":\"Registers a batch of recipients.\"},\"distribute(uint256,address[],bytes)\":{\"notice\":\"Distributes funds to recipients and emits {Distributed} event if successful\"},\"fundPool(uint256,uint256)\":{\"notice\":\"Funds a pool.\"},\"getBaseFee()\":{\"notice\":\"Returns the current base fee\"},\"getFeeDenominator()\":{\"notice\":\"Returns the current fee denominator\"},\"getPercentFee()\":{\"notice\":\"Returns the current percent fee\"},\"getPool(uint256)\":{\"notice\":\"Returns the 'Pool' struct for a given 'poolId'\"},\"getRegistry()\":{\"notice\":\"Returns the current registry address\"},\"getStrategy(uint256)\":{\"notice\":\"Returns the address of the strategy for a given 'poolId'\"},\"getTreasury()\":{\"notice\":\"Returns the current treasury address\"},\"initialize(address,address,address,uint256,uint256)\":{\"notice\":\"Initialize the Allo contract\"},\"isCloneableStrategy(address)\":{\"notice\":\"Checks if a strategy is cloneable (is in the cloneableStrategies mapping).\"},\"isPoolAdmin(uint256,address)\":{\"notice\":\"Checks if an address is a pool admin.\"},\"isPoolManager(uint256,address)\":{\"notice\":\"Checks if an address is a pool manager.\"},\"recoverFunds(address,address)\":{\"notice\":\"Recovers funds from a pool.\"},\"registerRecipient(uint256,bytes)\":{\"notice\":\"Registers a recipient and emits {Registered} event if successful and may be handled differently by each strategy.\"},\"removeFromCloneableStrategies(address)\":{\"notice\":\"Removes a strategy from the cloneable strategies.\"},\"removePoolManager(uint256,address)\":{\"notice\":\"Removes a pool manager from the pool.\"},\"updateBaseFee(uint256)\":{\"notice\":\"Updates the base fee.\"},\"updatePercentFee(uint256)\":{\"notice\":\"Updates the percentage for the fee.\"},\"updatePoolMetadata(uint256,(uint256,string))\":{\"notice\":\"Updates a pools metadata.\"},\"updateRegistry(address)\":{\"notice\":\"Update the registry address.\"},\"updateTreasury(address)\":{\"notice\":\"Updates the treasury address.\"}},\"notice\":\"Interface for the Allo contract. It exposes all functions needed to use the Allo protocol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":\"IAllo\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"BaseFeePaid","anonymous":false},{"inputs":[{"internalType":"uint256","name":"baseFee","type":"uint256","indexed":false}],"type":"event","name":"BaseFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"percentFee","type":"uint256","indexed":false}],"type":"event","name":"PercentFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"contract IStrategy","name":"strategy","type":"address","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolCreated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"fee","type":"uint256","indexed":false}],"type":"event","name":"PoolFunded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"registry","type":"address","indexed":false}],"type":"event","name":"RegistryUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyApproved","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"treasury","type":"address","indexed":false}],"type":"event","name":"TreasuryUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addPoolManager"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addToCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_datas","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchAllocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_data","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchRegisterRecipient","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address[]","name":"_recipientIds","type":"address[]"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"distribute"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"fundPool"},{"inputs":[],"stateMutability":"view","type":"function","name":"getBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getFeeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPercentFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPool","outputs":[{"internalType":"struct IAllo.Pool","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistry","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getStrategy","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getTreasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_registry","type":"address"},{"internalType":"address payable","name":"_treasury","type":"address"},{"internalType":"uint256","name":"_percentFee","type":"uint256"},{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"isCloneableStrategy","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolManager","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"registerRecipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeFromCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removePoolManager"},{"inputs":[{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateBaseFee"},{"inputs":[{"internalType":"uint256","name":"_percentFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updatePercentFee"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updatePoolMetadata"},{"inputs":[{"internalType":"address","name":"_registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateRegistry"},{"inputs":[{"internalType":"address payable","name":"_treasury","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateTreasury"}],"devdoc":{"kind":"dev","methods":{"addPoolManager(uint256,address)":{"details":"'msg.sender' must be a pool admin.","params":{"_manager":"The address of the manager to add","_poolId":"The ID of the pool to add the manager to"}},"addToCloneableStrategies(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_strategy":"The address of the strategy to add"}},"allocate(uint256,bytes)":{"details":"Each strategy will handle the allocation of funds differently.","params":{"_data":"The data to pass to the strategy and may be handled differently by each strategy.","_poolId":"The ID of the pool to allocate funds from"}},"batchAllocate(uint256[],bytes[])":{"details":"Each strategy will handle the allocation of funds differently"},"batchRegisterRecipient(uint256[],bytes[])":{"params":{"_data":"The data to pass to the strategy and may be handled differently by each strategy","_poolIds":"The pool ID's to register the recipients for"}},"distribute(uint256,address[],bytes)":{"details":"Each strategy will handle the distribution of funds differently","params":{"_data":"The data to pass to the strategy and may be handled differently by each strategy","_poolId":"The ID of the pool to distribute from","_recipientIds":"The recipient ids to distribute to"}},"fundPool(uint256,uint256)":{"details":"'msg.value' must be greater than 0 if the token is the native token or '_amount' must be greater than 0 if the token is not the native token.","params":{"_amount":"The amount to fund the pool with","_poolId":"The ID of the pool to fund"}},"getBaseFee()":{"returns":{"_0":"baseFee The current base fee"}},"getFeeDenominator()":{"details":"1e18 represents 100%","returns":{"_0":"feeDenominator The current fee denominator"}},"getPercentFee()":{"returns":{"_0":"percentFee The current percentage for the fee"}},"getPool(uint256)":{"params":{"_poolId":"The ID of the pool to check"},"returns":{"_0":"pool The 'Pool' struct for the ID of the pool passed in"}},"getRegistry()":{"returns":{"_0":"registry The current registry address"}},"getStrategy(uint256)":{"params":{"_poolId":"The ID of the pool to check"},"returns":{"_0":"strategy The address of the strategy for the ID of the pool passed in"}},"getTreasury()":{"returns":{"_0":"treasury The current treasury address"}},"initialize(address,address,address,uint256,uint256)":{"params":{"_baseFee":"Base fee amount","_owner":"Address of the owner","_percentFee":"Percentage for the fee","_registry":"Address of the registry contract","_treasury":"Address of the treasury"}},"isCloneableStrategy(address)":{"params":{"_strategy":"The address of the strategy to check"},"returns":{"_0":"'true' if the '_strategy' is cloneable, otherwise 'false'"}},"isPoolAdmin(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool to check"},"returns":{"_0":"'true' if the '_address' is a pool admin, otherwise 'false'"}},"isPoolManager(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool to check"},"returns":{"_0":"'true' if the '_address' is a pool manager, otherwise 'false'"}},"recoverFunds(address,address)":{"details":"'msg.sender' must be a pool admin.","params":{"_recipient":"The address to send the recovered funds to","_token":"The token to recover"}},"registerRecipient(uint256,bytes)":{"params":{"_poolId":"The ID of the pool to register the recipient for"}},"removeFromCloneableStrategies(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_strategy":"The address of the strategy to remove"}},"removePoolManager(uint256,address)":{"details":"'msg.sender' must be a pool admin.","params":{"_manager":"The address of the manager to remove","_poolId":"The ID of the pool to remove the manager from"}},"updateBaseFee(uint256)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_baseFee":"The new base fee"}},"updatePercentFee(uint256)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_percentFee":"The new percentage for the fee"}},"updatePoolMetadata(uint256,(uint256,string))":{"details":"'msg.sender' must be a pool admin.","params":{"_metadata":"The new metadata to set","_poolId":"The ID of the pool to update"}},"updateRegistry(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_registry":"The new registry address"}},"updateTreasury(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_treasury":"The new treasury address"}}},"version":1},"userdoc":{"kind":"user","methods":{"addPoolManager(uint256,address)":{"notice":"Adds a pool manager to the pool."},"addToCloneableStrategies(address)":{"notice":"Adds a strategy to the cloneable strategies."},"allocate(uint256,bytes)":{"notice":"Allocates funds to a recipient."},"batchAllocate(uint256[],bytes[])":{"notice":"Allocates funds to multiple recipients."},"batchRegisterRecipient(uint256[],bytes[])":{"notice":"Registers a batch of recipients."},"distribute(uint256,address[],bytes)":{"notice":"Distributes funds to recipients and emits {Distributed} event if successful"},"fundPool(uint256,uint256)":{"notice":"Funds a pool."},"getBaseFee()":{"notice":"Returns the current base fee"},"getFeeDenominator()":{"notice":"Returns the current fee denominator"},"getPercentFee()":{"notice":"Returns the current percent fee"},"getPool(uint256)":{"notice":"Returns the 'Pool' struct for a given 'poolId'"},"getRegistry()":{"notice":"Returns the current registry address"},"getStrategy(uint256)":{"notice":"Returns the address of the strategy for a given 'poolId'"},"getTreasury()":{"notice":"Returns the current treasury address"},"initialize(address,address,address,uint256,uint256)":{"notice":"Initialize the Allo contract"},"isCloneableStrategy(address)":{"notice":"Checks if a strategy is cloneable (is in the cloneableStrategies mapping)."},"isPoolAdmin(uint256,address)":{"notice":"Checks if an address is a pool admin."},"isPoolManager(uint256,address)":{"notice":"Checks if an address is a pool manager."},"recoverFunds(address,address)":{"notice":"Recovers funds from a pool."},"registerRecipient(uint256,bytes)":{"notice":"Registers a recipient and emits {Registered} event if successful and may be handled differently by each strategy."},"removeFromCloneableStrategies(address)":{"notice":"Removes a strategy from the cloneable strategies."},"removePoolManager(uint256,address)":{"notice":"Removes a pool manager from the pool."},"updateBaseFee(uint256)":{"notice":"Updates the base fee."},"updatePercentFee(uint256)":{"notice":"Updates the percentage for the fee."},"updatePoolMetadata(uint256,(uint256,string))":{"notice":"Updates a pools metadata."},"updateRegistry(address)":{"notice":"Update the registry address."},"updateTreasury(address)":{"notice":"Updates the treasury address."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":"IAllo"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","id":2611,"exportedSymbols":{"IAllo":[2610],"IRegistry":[2802],"IStrategy":[2969],"Metadata":[3098]},"nodeType":"SourceUnit","src":"42:15030:3","nodes":[{"id":2297,"nodeType":"PragmaDirective","src":"42:24:3","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":2299,"nodeType":"ImportDirective","src":"82:42:3","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"./IRegistry.sol","nameLocation":"-1:-1:-1","scope":2611,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":2298,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"90:9:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2301,"nodeType":"ImportDirective","src":"125:42:3","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IStrategy.sol","file":"./IStrategy.sol","nameLocation":"-1:-1:-1","scope":2611,"sourceUnit":2970,"symbolAliases":[{"foreign":{"id":2300,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"133:9:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2303,"nodeType":"ImportDirective","src":"190:51:3","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":2611,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":2302,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"198:8:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2610,"nodeType":"ContractDefinition","src":"4531:10540:3","nodes":[{"id":2319,"nodeType":"StructDefinition","src":"4718:180:3","nodes":[],"canonicalName":"IAllo.Pool","members":[{"constant":false,"id":2306,"mutability":"mutable","name":"profileId","nameLocation":"4748:9:3","nodeType":"VariableDeclaration","scope":2319,"src":"4740:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2305,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4740:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2309,"mutability":"mutable","name":"strategy","nameLocation":"4777:8:3","nodeType":"VariableDeclaration","scope":2319,"src":"4767:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":2308,"nodeType":"UserDefinedTypeName","pathNode":{"id":2307,"name":"IStrategy","nameLocations":["4767:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"4767:9:3"},"referencedDeclaration":2969,"src":"4767:9:3","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"},{"constant":false,"id":2311,"mutability":"mutable","name":"token","nameLocation":"4803:5:3","nodeType":"VariableDeclaration","scope":2319,"src":"4795:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2310,"name":"address","nodeType":"ElementaryTypeName","src":"4795:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2314,"mutability":"mutable","name":"metadata","nameLocation":"4827:8:3","nodeType":"VariableDeclaration","scope":2319,"src":"4818:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":2313,"nodeType":"UserDefinedTypeName","pathNode":{"id":2312,"name":"Metadata","nameLocations":["4818:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"4818:8:3"},"referencedDeclaration":3098,"src":"4818:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2316,"mutability":"mutable","name":"managerRole","nameLocation":"4853:11:3","nodeType":"VariableDeclaration","scope":2319,"src":"4845:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2315,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4845:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2318,"mutability":"mutable","name":"adminRole","nameLocation":"4882:9:3","nodeType":"VariableDeclaration","scope":2319,"src":"4874:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2317,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4874:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"Pool","nameLocation":"4725:4:3","scope":2610,"visibility":"public"},{"id":2336,"nodeType":"EventDefinition","src":"5405:193:3","nodes":[],"anonymous":false,"documentation":{"id":2320,"nodeType":"StructuredDocumentation","src":"4998:402:3","text":"@notice Event emitted when a new pool is created\n @param poolId ID of the pool created\n @param profileId ID of the profile the pool is associated with\n @param strategy Address of the strategy contract\n @param token Address of the token pool was funded with when created\n @param amount Amount pool was funded with when created\n @param metadata Pool metadata"},"eventSelector":"69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba1","name":"PoolCreated","nameLocation":"5411:11:3","parameters":{"id":2335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2322,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"5448:6:3","nodeType":"VariableDeclaration","scope":2336,"src":"5432:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2321,"name":"uint256","nodeType":"ElementaryTypeName","src":"5432:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2324,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"5480:9:3","nodeType":"VariableDeclaration","scope":2336,"src":"5464:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5464:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2327,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"5509:8:3","nodeType":"VariableDeclaration","scope":2336,"src":"5499:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":2326,"nodeType":"UserDefinedTypeName","pathNode":{"id":2325,"name":"IStrategy","nameLocations":["5499:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"5499:9:3"},"referencedDeclaration":2969,"src":"5499:9:3","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"},{"constant":false,"id":2329,"indexed":false,"mutability":"mutable","name":"token","nameLocation":"5535:5:3","nodeType":"VariableDeclaration","scope":2336,"src":"5527:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2328,"name":"address","nodeType":"ElementaryTypeName","src":"5527:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2331,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5558:6:3","nodeType":"VariableDeclaration","scope":2336,"src":"5550:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2330,"name":"uint256","nodeType":"ElementaryTypeName","src":"5550:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2334,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"5583:8:3","nodeType":"VariableDeclaration","scope":2336,"src":"5574:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2333,"nodeType":"UserDefinedTypeName","pathNode":{"id":2332,"name":"Metadata","nameLocations":["5574:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5574:8:3"},"referencedDeclaration":3098,"src":"5574:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"5422:175:3"}},{"id":2344,"nodeType":"EventDefinition","src":"5761:69:3","nodes":[],"anonymous":false,"documentation":{"id":2337,"nodeType":"StructuredDocumentation","src":"5604:152:3","text":"@notice Emitted when a pools metadata is updated\n @param poolId ID of the pool updated\n @param metadata Pool metadata that was updated"},"eventSelector":"14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf0","name":"PoolMetadataUpdated","nameLocation":"5767:19:3","parameters":{"id":2343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2339,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"5803:6:3","nodeType":"VariableDeclaration","scope":2344,"src":"5787:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2338,"name":"uint256","nodeType":"ElementaryTypeName","src":"5787:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2342,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"5820:8:3","nodeType":"VariableDeclaration","scope":2344,"src":"5811:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2341,"nodeType":"UserDefinedTypeName","pathNode":{"id":2340,"name":"Metadata","nameLocations":["5811:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5811:8:3"},"referencedDeclaration":3098,"src":"5811:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"5786:43:3"}},{"id":2353,"nodeType":"EventDefinition","src":"6032:70:3","nodes":[],"anonymous":false,"documentation":{"id":2345,"nodeType":"StructuredDocumentation","src":"5836:191:3","text":"@notice Emitted when a pool is funded\n @param poolId ID of the pool funded\n @param amount Amount funded to the pool\n @param fee Amount of the fee paid to the treasury"},"eventSelector":"bf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb4851","name":"PoolFunded","nameLocation":"6038:10:3","parameters":{"id":2352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2347,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"6065:6:3","nodeType":"VariableDeclaration","scope":2353,"src":"6049:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2346,"name":"uint256","nodeType":"ElementaryTypeName","src":"6049:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2349,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6081:6:3","nodeType":"VariableDeclaration","scope":2353,"src":"6073:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2348,"name":"uint256","nodeType":"ElementaryTypeName","src":"6073:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2351,"indexed":false,"mutability":"mutable","name":"fee","nameLocation":"6097:3:3","nodeType":"VariableDeclaration","scope":2353,"src":"6089:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2350,"name":"uint256","nodeType":"ElementaryTypeName","src":"6089:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6048:53:3"}},{"id":2360,"nodeType":"EventDefinition","src":"6271:58:3","nodes":[],"anonymous":false,"documentation":{"id":2354,"nodeType":"StructuredDocumentation","src":"6108:158:3","text":"@notice Emitted when the base fee is paid\n @param poolId ID of the pool the base fee was paid for\n @param amount Amount of the base fee paid"},"eventSelector":"02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac72","name":"BaseFeePaid","nameLocation":"6277:11:3","parameters":{"id":2359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2356,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"6305:6:3","nodeType":"VariableDeclaration","scope":2360,"src":"6289:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2355,"name":"uint256","nodeType":"ElementaryTypeName","src":"6289:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2358,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6321:6:3","nodeType":"VariableDeclaration","scope":2360,"src":"6313:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2357,"name":"uint256","nodeType":"ElementaryTypeName","src":"6313:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6288:40:3"}},{"id":2365,"nodeType":"EventDefinition","src":"6448:40:3","nodes":[],"anonymous":false,"documentation":{"id":2361,"nodeType":"StructuredDocumentation","src":"6335:108:3","text":"@notice Emitted when the treasury address is updated\n @param treasury Address of the new treasury"},"eventSelector":"7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d1","name":"TreasuryUpdated","nameLocation":"6454:15:3","parameters":{"id":2364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2363,"indexed":false,"mutability":"mutable","name":"treasury","nameLocation":"6478:8:3","nodeType":"VariableDeclaration","scope":2365,"src":"6470:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2362,"name":"address","nodeType":"ElementaryTypeName","src":"6470:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6469:18:3"}},{"id":2370,"nodeType":"EventDefinition","src":"6603:44:3","nodes":[],"anonymous":false,"documentation":{"id":2366,"nodeType":"StructuredDocumentation","src":"6494:104:3","text":"@notice Emitted when the percent fee is updated\n @param percentFee New percentage for the fee"},"eventSelector":"9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b065","name":"PercentFeeUpdated","nameLocation":"6609:17:3","parameters":{"id":2369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2368,"indexed":false,"mutability":"mutable","name":"percentFee","nameLocation":"6635:10:3","nodeType":"VariableDeclaration","scope":2370,"src":"6627:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2367,"name":"uint256","nodeType":"ElementaryTypeName","src":"6627:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6626:20:3"}},{"id":2375,"nodeType":"EventDefinition","src":"6749:38:3","nodes":[],"anonymous":false,"documentation":{"id":2371,"nodeType":"StructuredDocumentation","src":"6653:91:3","text":"@notice Emitted when the base fee is updated\n @param baseFee New base fee amount"},"eventSelector":"803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c3","name":"BaseFeeUpdated","nameLocation":"6755:14:3","parameters":{"id":2374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2373,"indexed":false,"mutability":"mutable","name":"baseFee","nameLocation":"6778:7:3","nodeType":"VariableDeclaration","scope":2375,"src":"6770:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2372,"name":"uint256","nodeType":"ElementaryTypeName","src":"6770:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6769:17:3"}},{"id":2380,"nodeType":"EventDefinition","src":"6906:40:3","nodes":[],"anonymous":false,"documentation":{"id":2376,"nodeType":"StructuredDocumentation","src":"6793:108:3","text":"@notice Emitted when the registry address is updated\n @param registry Address of the new registry"},"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"6912:15:3","parameters":{"id":2379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2378,"indexed":false,"mutability":"mutable","name":"registry","nameLocation":"6936:8:3","nodeType":"VariableDeclaration","scope":2380,"src":"6928:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2377,"name":"address","nodeType":"ElementaryTypeName","src":"6928:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6927:18:3"}},{"id":2385,"nodeType":"EventDefinition","src":"7099:41:3","nodes":[],"anonymous":false,"documentation":{"id":2381,"nodeType":"StructuredDocumentation","src":"6952:142:3","text":"@notice Emitted when a strategy is approved and added to the cloneable strategies\n @param strategy Address of the strategy approved"},"eventSelector":"960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d1","name":"StrategyApproved","nameLocation":"7105:16:3","parameters":{"id":2384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2383,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7130:8:3","nodeType":"VariableDeclaration","scope":2385,"src":"7122:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2382,"name":"address","nodeType":"ElementaryTypeName","src":"7122:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7121:18:3"}},{"id":2390,"nodeType":"EventDefinition","src":"7283:40:3","nodes":[],"anonymous":false,"documentation":{"id":2386,"nodeType":"StructuredDocumentation","src":"7146:132:3","text":"@notice Emitted when a strategy is removed from the cloneable strategies\n @param strategy Address of the strategy removed"},"eventSelector":"09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4","name":"StrategyRemoved","nameLocation":"7289:15:3","parameters":{"id":2389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2388,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7313:8:3","nodeType":"VariableDeclaration","scope":2390,"src":"7305:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2387,"name":"address","nodeType":"ElementaryTypeName","src":"7305:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7304:18:3"}},{"id":2404,"nodeType":"FunctionDefinition","src":"7750:176:3","nodes":[],"documentation":{"id":2391,"nodeType":"StructuredDocumentation","src":"7465:280:3","text":"@notice Initialize the Allo contract\n @param _owner Address of the owner\n @param _registry Address of the registry contract\n @param _treasury Address of the treasury\n @param _percentFee Percentage for the fee\n @param _baseFee Base fee amount"},"functionSelector":"a6b63eb8","implemented":false,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"7759:10:3","parameters":{"id":2402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2393,"mutability":"mutable","name":"_owner","nameLocation":"7787:6:3","nodeType":"VariableDeclaration","scope":2404,"src":"7779:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2392,"name":"address","nodeType":"ElementaryTypeName","src":"7779:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2395,"mutability":"mutable","name":"_registry","nameLocation":"7811:9:3","nodeType":"VariableDeclaration","scope":2404,"src":"7803:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2394,"name":"address","nodeType":"ElementaryTypeName","src":"7803:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2397,"mutability":"mutable","name":"_treasury","nameLocation":"7846:9:3","nodeType":"VariableDeclaration","scope":2404,"src":"7830:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":2396,"name":"address","nodeType":"ElementaryTypeName","src":"7830:15:3","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":2399,"mutability":"mutable","name":"_percentFee","nameLocation":"7873:11:3","nodeType":"VariableDeclaration","scope":2404,"src":"7865:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2398,"name":"uint256","nodeType":"ElementaryTypeName","src":"7865:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2401,"mutability":"mutable","name":"_baseFee","nameLocation":"7902:8:3","nodeType":"VariableDeclaration","scope":2404,"src":"7894:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2400,"name":"uint256","nodeType":"ElementaryTypeName","src":"7894:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7769:147:3"},"returnParameters":{"id":2403,"nodeType":"ParameterList","parameters":[],"src":"7925:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2413,"nodeType":"FunctionDefinition","src":"8123:81:3","nodes":[],"documentation":{"id":2405,"nodeType":"StructuredDocumentation","src":"7932:186:3","text":"@notice Updates a pools metadata.\n @dev 'msg.sender' must be a pool admin.\n @param _poolId The ID of the pool to update\n @param _metadata The new metadata to set"},"functionSelector":"5f9ca138","implemented":false,"kind":"function","modifiers":[],"name":"updatePoolMetadata","nameLocation":"8132:18:3","parameters":{"id":2411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2407,"mutability":"mutable","name":"_poolId","nameLocation":"8159:7:3","nodeType":"VariableDeclaration","scope":2413,"src":"8151:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2406,"name":"uint256","nodeType":"ElementaryTypeName","src":"8151:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2410,"mutability":"mutable","name":"_metadata","nameLocation":"8184:9:3","nodeType":"VariableDeclaration","scope":2413,"src":"8168:25:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2409,"nodeType":"UserDefinedTypeName","pathNode":{"id":2408,"name":"Metadata","nameLocations":["8168:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"8168:8:3"},"referencedDeclaration":3098,"src":"8168:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"8150:44:3"},"returnParameters":{"id":2412,"nodeType":"ParameterList","parameters":[],"src":"8203:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2419,"nodeType":"FunctionDefinition","src":"8364:52:3","nodes":[],"documentation":{"id":2414,"nodeType":"StructuredDocumentation","src":"8210:149:3","text":"@notice Update the registry address.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _registry The new registry address"},"functionSelector":"1a5da6c8","implemented":false,"kind":"function","modifiers":[],"name":"updateRegistry","nameLocation":"8373:14:3","parameters":{"id":2417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2416,"mutability":"mutable","name":"_registry","nameLocation":"8396:9:3","nodeType":"VariableDeclaration","scope":2419,"src":"8388:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2415,"name":"address","nodeType":"ElementaryTypeName","src":"8388:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8387:19:3"},"returnParameters":{"id":2418,"nodeType":"ParameterList","parameters":[],"src":"8415:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2425,"nodeType":"FunctionDefinition","src":"8577:60:3","nodes":[],"documentation":{"id":2420,"nodeType":"StructuredDocumentation","src":"8422:150:3","text":"@notice Updates the treasury address.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _treasury The new treasury address"},"functionSelector":"7f51bb1f","implemented":false,"kind":"function","modifiers":[],"name":"updateTreasury","nameLocation":"8586:14:3","parameters":{"id":2423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2422,"mutability":"mutable","name":"_treasury","nameLocation":"8617:9:3","nodeType":"VariableDeclaration","scope":2425,"src":"8601:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":2421,"name":"address","nodeType":"ElementaryTypeName","src":"8601:15:3","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"8600:27:3"},"returnParameters":{"id":2424,"nodeType":"ParameterList","parameters":[],"src":"8636:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2431,"nodeType":"FunctionDefinition","src":"8812:56:3","nodes":[],"documentation":{"id":2426,"nodeType":"StructuredDocumentation","src":"8643:164:3","text":"@notice Updates the percentage for the fee.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _percentFee The new percentage for the fee"},"functionSelector":"f54fc4a0","implemented":false,"kind":"function","modifiers":[],"name":"updatePercentFee","nameLocation":"8821:16:3","parameters":{"id":2429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2428,"mutability":"mutable","name":"_percentFee","nameLocation":"8846:11:3","nodeType":"VariableDeclaration","scope":2431,"src":"8838:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2427,"name":"uint256","nodeType":"ElementaryTypeName","src":"8838:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8837:21:3"},"returnParameters":{"id":2430,"nodeType":"ParameterList","parameters":[],"src":"8867:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2437,"nodeType":"FunctionDefinition","src":"9012:50:3","nodes":[],"documentation":{"id":2432,"nodeType":"StructuredDocumentation","src":"8874:133:3","text":"@notice Updates the base fee.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _baseFee The new base fee"},"functionSelector":"8e690186","implemented":false,"kind":"function","modifiers":[],"name":"updateBaseFee","nameLocation":"9021:13:3","parameters":{"id":2435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2434,"mutability":"mutable","name":"_baseFee","nameLocation":"9043:8:3","nodeType":"VariableDeclaration","scope":2437,"src":"9035:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2433,"name":"uint256","nodeType":"ElementaryTypeName","src":"9035:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9034:18:3"},"returnParameters":{"id":2436,"nodeType":"ParameterList","parameters":[],"src":"9061:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2443,"nodeType":"FunctionDefinition","src":"9248:62:3","nodes":[],"documentation":{"id":2438,"nodeType":"StructuredDocumentation","src":"9068:175:3","text":"@notice Adds a strategy to the cloneable strategies.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _strategy The address of the strategy to add"},"functionSelector":"41bba0b4","implemented":false,"kind":"function","modifiers":[],"name":"addToCloneableStrategies","nameLocation":"9257:24:3","parameters":{"id":2441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2440,"mutability":"mutable","name":"_strategy","nameLocation":"9290:9:3","nodeType":"VariableDeclaration","scope":2443,"src":"9282:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2439,"name":"address","nodeType":"ElementaryTypeName","src":"9282:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9281:19:3"},"returnParameters":{"id":2442,"nodeType":"ParameterList","parameters":[],"src":"9309:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2449,"nodeType":"FunctionDefinition","src":"9504:67:3","nodes":[],"documentation":{"id":2444,"nodeType":"StructuredDocumentation","src":"9316:183:3","text":"@notice Removes a strategy from the cloneable strategies.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _strategy The address of the strategy to remove"},"functionSelector":"031e2fa1","implemented":false,"kind":"function","modifiers":[],"name":"removeFromCloneableStrategies","nameLocation":"9513:29:3","parameters":{"id":2447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2446,"mutability":"mutable","name":"_strategy","nameLocation":"9551:9:3","nodeType":"VariableDeclaration","scope":2449,"src":"9543:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2445,"name":"address","nodeType":"ElementaryTypeName","src":"9543:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9542:19:3"},"returnParameters":{"id":2448,"nodeType":"ParameterList","parameters":[],"src":"9570:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2457,"nodeType":"FunctionDefinition","src":"9796:68:3","nodes":[],"documentation":{"id":2450,"nodeType":"StructuredDocumentation","src":"9577:214:3","text":"@notice Adds a pool manager to the pool.\n @dev 'msg.sender' must be a pool admin.\n @param _poolId The ID of the pool to add the manager to\n @param _manager The address of the manager to add"},"functionSelector":"2cf682b0","implemented":false,"kind":"function","modifiers":[],"name":"addPoolManager","nameLocation":"9805:14:3","parameters":{"id":2455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2452,"mutability":"mutable","name":"_poolId","nameLocation":"9828:7:3","nodeType":"VariableDeclaration","scope":2457,"src":"9820:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2451,"name":"uint256","nodeType":"ElementaryTypeName","src":"9820:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2454,"mutability":"mutable","name":"_manager","nameLocation":"9845:8:3","nodeType":"VariableDeclaration","scope":2457,"src":"9837:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2453,"name":"address","nodeType":"ElementaryTypeName","src":"9837:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9819:35:3"},"returnParameters":{"id":2456,"nodeType":"ParameterList","parameters":[],"src":"9863:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2465,"nodeType":"FunctionDefinition","src":"10102:71:3","nodes":[],"documentation":{"id":2458,"nodeType":"StructuredDocumentation","src":"9870:227:3","text":"@notice Removes a pool manager from the pool.\n @dev 'msg.sender' must be a pool admin.\n @param _poolId The ID of the pool to remove the manager from\n @param _manager The address of the manager to remove"},"functionSelector":"7f5a70bd","implemented":false,"kind":"function","modifiers":[],"name":"removePoolManager","nameLocation":"10111:17:3","parameters":{"id":2463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2460,"mutability":"mutable","name":"_poolId","nameLocation":"10137:7:3","nodeType":"VariableDeclaration","scope":2465,"src":"10129:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2459,"name":"uint256","nodeType":"ElementaryTypeName","src":"10129:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2462,"mutability":"mutable","name":"_manager","nameLocation":"10154:8:3","nodeType":"VariableDeclaration","scope":2465,"src":"10146:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2461,"name":"address","nodeType":"ElementaryTypeName","src":"10146:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10128:35:3"},"returnParameters":{"id":2464,"nodeType":"ParameterList","parameters":[],"src":"10172:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2473,"nodeType":"FunctionDefinition","src":"10383:67:3","nodes":[],"documentation":{"id":2466,"nodeType":"StructuredDocumentation","src":"10179:199:3","text":"@notice Recovers funds from a pool.\n @dev 'msg.sender' must be a pool admin.\n @param _token The token to recover\n @param _recipient The address to send the recovered funds to"},"functionSelector":"24ae6a27","implemented":false,"kind":"function","modifiers":[],"name":"recoverFunds","nameLocation":"10392:12:3","parameters":{"id":2471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2468,"mutability":"mutable","name":"_token","nameLocation":"10413:6:3","nodeType":"VariableDeclaration","scope":2473,"src":"10405:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2467,"name":"address","nodeType":"ElementaryTypeName","src":"10405:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2470,"mutability":"mutable","name":"_recipient","nameLocation":"10429:10:3","nodeType":"VariableDeclaration","scope":2473,"src":"10421:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2469,"name":"address","nodeType":"ElementaryTypeName","src":"10421:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10404:36:3"},"returnParameters":{"id":2472,"nodeType":"ParameterList","parameters":[],"src":"10449:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2483,"nodeType":"FunctionDefinition","src":"10658:99:3","nodes":[],"documentation":{"id":2474,"nodeType":"StructuredDocumentation","src":"10456:197:3","text":"@notice Registers a recipient and emits {Registered} event if successful and may be handled differently by each strategy.\n @param _poolId The ID of the pool to register the recipient for"},"functionSelector":"075c0e9c","implemented":false,"kind":"function","modifiers":[],"name":"registerRecipient","nameLocation":"10667:17:3","parameters":{"id":2479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2476,"mutability":"mutable","name":"_poolId","nameLocation":"10693:7:3","nodeType":"VariableDeclaration","scope":2483,"src":"10685:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2475,"name":"uint256","nodeType":"ElementaryTypeName","src":"10685:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2478,"mutability":"mutable","name":"_data","nameLocation":"10715:5:3","nodeType":"VariableDeclaration","scope":2483,"src":"10702:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2477,"name":"bytes","nodeType":"ElementaryTypeName","src":"10702:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10684:37:3"},"returnParameters":{"id":2482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2481,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2483,"src":"10748:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2480,"name":"address","nodeType":"ElementaryTypeName","src":"10748:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10747:9:3"},"scope":2610,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":2496,"nodeType":"FunctionDefinition","src":"10983:133:3","nodes":[],"documentation":{"id":2484,"nodeType":"StructuredDocumentation","src":"10763:215:3","text":"@notice Registers a batch of recipients.\n @param _poolIds The pool ID's to register the recipients for\n @param _data The data to pass to the strategy and may be handled differently by each strategy"},"functionSelector":"1a20bd88","implemented":false,"kind":"function","modifiers":[],"name":"batchRegisterRecipient","nameLocation":"10992:22:3","parameters":{"id":2491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2487,"mutability":"mutable","name":"_poolIds","nameLocation":"11032:8:3","nodeType":"VariableDeclaration","scope":2496,"src":"11015:25:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":2485,"name":"uint256","nodeType":"ElementaryTypeName","src":"11015:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2486,"nodeType":"ArrayTypeName","src":"11015:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":2490,"mutability":"mutable","name":"_data","nameLocation":"11057:5:3","nodeType":"VariableDeclaration","scope":2496,"src":"11042:20:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":2488,"name":"bytes","nodeType":"ElementaryTypeName","src":"11042:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":2489,"nodeType":"ArrayTypeName","src":"11042:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"11014:49:3"},"returnParameters":{"id":2495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2494,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2496,"src":"11098:16:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2492,"name":"address","nodeType":"ElementaryTypeName","src":"11098:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2493,"nodeType":"ArrayTypeName","src":"11098:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"11097:18:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2504,"nodeType":"FunctionDefinition","src":"11427:69:3","nodes":[],"documentation":{"id":2497,"nodeType":"StructuredDocumentation","src":"11122:300:3","text":"@notice Funds a pool.\n @dev 'msg.value' must be greater than 0 if the token is the native token\n or '_amount' must be greater than 0 if the token is not the native token.\n @param _poolId The ID of the pool to fund\n @param _amount The amount to fund the pool with"},"functionSelector":"5acd6fac","implemented":false,"kind":"function","modifiers":[],"name":"fundPool","nameLocation":"11436:8:3","parameters":{"id":2502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2499,"mutability":"mutable","name":"_poolId","nameLocation":"11453:7:3","nodeType":"VariableDeclaration","scope":2504,"src":"11445:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2498,"name":"uint256","nodeType":"ElementaryTypeName","src":"11445:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2501,"mutability":"mutable","name":"_amount","nameLocation":"11470:7:3","nodeType":"VariableDeclaration","scope":2504,"src":"11462:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2500,"name":"uint256","nodeType":"ElementaryTypeName","src":"11462:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11444:34:3"},"returnParameters":{"id":2503,"nodeType":"ParameterList","parameters":[],"src":"11495:0:3"},"scope":2610,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":2512,"nodeType":"FunctionDefinition","src":"11794:72:3","nodes":[],"documentation":{"id":2505,"nodeType":"StructuredDocumentation","src":"11502:287:3","text":"@notice Allocates funds to a recipient.\n @dev Each strategy will handle the allocation of funds differently.\n @param _poolId The ID of the pool to allocate funds from\n @param _data The data to pass to the strategy and may be handled differently by each strategy."},"functionSelector":"2ec38188","implemented":false,"kind":"function","modifiers":[],"name":"allocate","nameLocation":"11803:8:3","parameters":{"id":2510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2507,"mutability":"mutable","name":"_poolId","nameLocation":"11820:7:3","nodeType":"VariableDeclaration","scope":2512,"src":"11812:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2506,"name":"uint256","nodeType":"ElementaryTypeName","src":"11812:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2509,"mutability":"mutable","name":"_data","nameLocation":"11842:5:3","nodeType":"VariableDeclaration","scope":2512,"src":"11829:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2508,"name":"bytes","nodeType":"ElementaryTypeName","src":"11829:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11811:37:3"},"returnParameters":{"id":2511,"nodeType":"ParameterList","parameters":[],"src":"11865:0:3"},"scope":2610,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":2522,"nodeType":"FunctionDefinition","src":"12003:84:3","nodes":[],"documentation":{"id":2513,"nodeType":"StructuredDocumentation","src":"11872:126:3","text":"@notice Allocates funds to multiple recipients.\n @dev Each strategy will handle the allocation of funds differently"},"functionSelector":"c6dff1cf","implemented":false,"kind":"function","modifiers":[],"name":"batchAllocate","nameLocation":"12012:13:3","parameters":{"id":2520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2516,"mutability":"mutable","name":"_poolIds","nameLocation":"12045:8:3","nodeType":"VariableDeclaration","scope":2522,"src":"12026:27:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":2514,"name":"uint256","nodeType":"ElementaryTypeName","src":"12026:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2515,"nodeType":"ArrayTypeName","src":"12026:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":2519,"mutability":"mutable","name":"_datas","nameLocation":"12070:6:3","nodeType":"VariableDeclaration","scope":2522,"src":"12055:21:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":2517,"name":"bytes","nodeType":"ElementaryTypeName","src":"12055:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":2518,"nodeType":"ArrayTypeName","src":"12055:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"12025:52:3"},"returnParameters":{"id":2521,"nodeType":"ParameterList","parameters":[],"src":"12086:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2533,"nodeType":"FunctionDefinition","src":"12489:98:3","nodes":[],"documentation":{"id":2523,"nodeType":"StructuredDocumentation","src":"12093:391:3","text":"@notice Distributes funds to recipients and emits {Distributed} event if successful\n @dev Each strategy will handle the distribution of funds differently\n @param _poolId The ID of the pool to distribute from\n @param _recipientIds The recipient ids to distribute to\n @param _data The data to pass to the strategy and may be handled differently by each strategy"},"functionSelector":"3a5fbd92","implemented":false,"kind":"function","modifiers":[],"name":"distribute","nameLocation":"12498:10:3","parameters":{"id":2531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2525,"mutability":"mutable","name":"_poolId","nameLocation":"12517:7:3","nodeType":"VariableDeclaration","scope":2533,"src":"12509:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2524,"name":"uint256","nodeType":"ElementaryTypeName","src":"12509:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2528,"mutability":"mutable","name":"_recipientIds","nameLocation":"12543:13:3","nodeType":"VariableDeclaration","scope":2533,"src":"12526:30:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2526,"name":"address","nodeType":"ElementaryTypeName","src":"12526:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2527,"nodeType":"ArrayTypeName","src":"12526:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":2530,"mutability":"mutable","name":"_data","nameLocation":"12571:5:3","nodeType":"VariableDeclaration","scope":2533,"src":"12558:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2529,"name":"bytes","nodeType":"ElementaryTypeName","src":"12558:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12508:69:3"},"returnParameters":{"id":2532,"nodeType":"ParameterList","parameters":[],"src":"12586:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2543,"nodeType":"FunctionDefinition","src":"12922:85:3","nodes":[],"documentation":{"id":2534,"nodeType":"StructuredDocumentation","src":"12696:221:3","text":"@notice Checks if an address is a pool admin.\n @param _poolId The ID of the pool to check\n @param _address The address to check\n @return 'true' if the '_address' is a pool admin, otherwise 'false'"},"functionSelector":"ab3febc6","implemented":false,"kind":"function","modifiers":[],"name":"isPoolAdmin","nameLocation":"12931:11:3","parameters":{"id":2539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2536,"mutability":"mutable","name":"_poolId","nameLocation":"12951:7:3","nodeType":"VariableDeclaration","scope":2543,"src":"12943:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2535,"name":"uint256","nodeType":"ElementaryTypeName","src":"12943:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2538,"mutability":"mutable","name":"_address","nameLocation":"12968:8:3","nodeType":"VariableDeclaration","scope":2543,"src":"12960:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2537,"name":"address","nodeType":"ElementaryTypeName","src":"12960:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12942:35:3"},"returnParameters":{"id":2542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2541,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2543,"src":"13001:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2540,"name":"bool","nodeType":"ElementaryTypeName","src":"13001:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13000:6:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2553,"nodeType":"FunctionDefinition","src":"13243:87:3","nodes":[],"documentation":{"id":2544,"nodeType":"StructuredDocumentation","src":"13013:225:3","text":"@notice Checks if an address is a pool manager.\n @param _poolId The ID of the pool to check\n @param _address The address to check\n @return 'true' if the '_address' is a pool manager, otherwise 'false'"},"functionSelector":"29e40d4b","implemented":false,"kind":"function","modifiers":[],"name":"isPoolManager","nameLocation":"13252:13:3","parameters":{"id":2549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2546,"mutability":"mutable","name":"_poolId","nameLocation":"13274:7:3","nodeType":"VariableDeclaration","scope":2553,"src":"13266:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2545,"name":"uint256","nodeType":"ElementaryTypeName","src":"13266:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2548,"mutability":"mutable","name":"_address","nameLocation":"13291:8:3","nodeType":"VariableDeclaration","scope":2553,"src":"13283:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2547,"name":"address","nodeType":"ElementaryTypeName","src":"13283:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13265:35:3"},"returnParameters":{"id":2552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2553,"src":"13324:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2550,"name":"bool","nodeType":"ElementaryTypeName","src":"13324:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13323:6:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2561,"nodeType":"FunctionDefinition","src":"13563:77:3","nodes":[],"documentation":{"id":2554,"nodeType":"StructuredDocumentation","src":"13336:222:3","text":"@notice Checks if a strategy is cloneable (is in the cloneableStrategies mapping).\n @param _strategy The address of the strategy to check\n @return 'true' if the '_strategy' is cloneable, otherwise 'false'"},"functionSelector":"ab2ec589","implemented":false,"kind":"function","modifiers":[],"name":"isCloneableStrategy","nameLocation":"13572:19:3","parameters":{"id":2557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2556,"mutability":"mutable","name":"_strategy","nameLocation":"13600:9:3","nodeType":"VariableDeclaration","scope":2561,"src":"13592:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2555,"name":"address","nodeType":"ElementaryTypeName","src":"13592:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13591:19:3"},"returnParameters":{"id":2560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2559,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2561,"src":"13634:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2558,"name":"bool","nodeType":"ElementaryTypeName","src":"13634:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13633:6:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2569,"nodeType":"FunctionDefinition","src":"13856:70:3","nodes":[],"documentation":{"id":2562,"nodeType":"StructuredDocumentation","src":"13646:205:3","text":"@notice Returns the address of the strategy for a given 'poolId'\n @param _poolId The ID of the pool to check\n @return strategy The address of the strategy for the ID of the pool passed in"},"functionSelector":"cfc0cc34","implemented":false,"kind":"function","modifiers":[],"name":"getStrategy","nameLocation":"13865:11:3","parameters":{"id":2565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2564,"mutability":"mutable","name":"_poolId","nameLocation":"13885:7:3","nodeType":"VariableDeclaration","scope":2569,"src":"13877:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2563,"name":"uint256","nodeType":"ElementaryTypeName","src":"13877:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13876:17:3"},"returnParameters":{"id":2568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2567,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2569,"src":"13917:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2566,"name":"address","nodeType":"ElementaryTypeName","src":"13917:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13916:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2575,"nodeType":"FunctionDefinition","src":"14042:57:3","nodes":[],"documentation":{"id":2570,"nodeType":"StructuredDocumentation","src":"13932:105:3","text":"@notice Returns the current percent fee\n @return percentFee The current percentage for the fee"},"functionSelector":"4edbaadc","implemented":false,"kind":"function","modifiers":[],"name":"getPercentFee","nameLocation":"14051:13:3","parameters":{"id":2571,"nodeType":"ParameterList","parameters":[],"src":"14064:2:3"},"returnParameters":{"id":2574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2573,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2575,"src":"14090:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2572,"name":"uint256","nodeType":"ElementaryTypeName","src":"14090:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14089:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2581,"nodeType":"FunctionDefinition","src":"14195:54:3","nodes":[],"documentation":{"id":2576,"nodeType":"StructuredDocumentation","src":"14105:85:3","text":"@notice Returns the current base fee\n @return baseFee The current base fee"},"functionSelector":"15e812ad","implemented":false,"kind":"function","modifiers":[],"name":"getBaseFee","nameLocation":"14204:10:3","parameters":{"id":2577,"nodeType":"ParameterList","parameters":[],"src":"14214:2:3"},"returnParameters":{"id":2580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2579,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2581,"src":"14240:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2578,"name":"uint256","nodeType":"ElementaryTypeName","src":"14240:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14239:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2587,"nodeType":"FunctionDefinition","src":"14362:63:3","nodes":[],"documentation":{"id":2582,"nodeType":"StructuredDocumentation","src":"14255:102:3","text":"@notice Returns the current treasury address\n @return treasury The current treasury address"},"functionSelector":"3b19e84a","implemented":false,"kind":"function","modifiers":[],"name":"getTreasury","nameLocation":"14371:11:3","parameters":{"id":2583,"nodeType":"ParameterList","parameters":[],"src":"14382:2:3"},"returnParameters":{"id":2586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2585,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2587,"src":"14408:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":2584,"name":"address","nodeType":"ElementaryTypeName","src":"14408:15:3","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"14407:17:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2594,"nodeType":"FunctionDefinition","src":"14538:57:3","nodes":[],"documentation":{"id":2588,"nodeType":"StructuredDocumentation","src":"14431:102:3","text":"@notice Returns the current registry address\n @return registry The current registry address"},"functionSelector":"5ab1bd53","implemented":false,"kind":"function","modifiers":[],"name":"getRegistry","nameLocation":"14547:11:3","parameters":{"id":2589,"nodeType":"ParameterList","parameters":[],"src":"14558:2:3"},"returnParameters":{"id":2593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2592,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2594,"src":"14584:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":2591,"nodeType":"UserDefinedTypeName","pathNode":{"id":2590,"name":"IRegistry","nameLocations":["14584:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"14584:9:3"},"referencedDeclaration":2802,"src":"14584:9:3","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"}],"src":"14583:11:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2603,"nodeType":"FunctionDefinition","src":"14787:70:3","nodes":[],"documentation":{"id":2595,"nodeType":"StructuredDocumentation","src":"14601:181:3","text":"@notice Returns the 'Pool' struct for a given 'poolId'\n @param _poolId The ID of the pool to check\n @return pool The 'Pool' struct for the ID of the pool passed in"},"functionSelector":"068bcd8d","implemented":false,"kind":"function","modifiers":[],"name":"getPool","nameLocation":"14796:7:3","parameters":{"id":2598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2597,"mutability":"mutable","name":"_poolId","nameLocation":"14812:7:3","nodeType":"VariableDeclaration","scope":2603,"src":"14804:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2596,"name":"uint256","nodeType":"ElementaryTypeName","src":"14804:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14803:17:3"},"returnParameters":{"id":2602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2601,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2603,"src":"14844:11:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":2600,"nodeType":"UserDefinedTypeName","pathNode":{"id":2599,"name":"Pool","nameLocations":["14844:4:3"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"14844:4:3"},"referencedDeclaration":2319,"src":"14844:4:3","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"src":"14843:13:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2609,"nodeType":"FunctionDefinition","src":"15008:61:3","nodes":[],"documentation":{"id":2604,"nodeType":"StructuredDocumentation","src":"14863:140:3","text":"@notice Returns the current fee denominator\n @dev 1e18 represents 100%\n @return feeDenominator The current fee denominator"},"functionSelector":"f4e1fc41","implemented":false,"kind":"function","modifiers":[],"name":"getFeeDenominator","nameLocation":"15017:17:3","parameters":{"id":2605,"nodeType":"ParameterList","parameters":[],"src":"15034:2:3"},"returnParameters":{"id":2608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2607,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2609,"src":"15060:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2606,"name":"uint256","nodeType":"ElementaryTypeName","src":"15060:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15059:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IAllo","contractDependencies":[],"contractKind":"interface","documentation":{"id":2304,"nodeType":"StructuredDocumentation","src":"4234:297:3","text":"@title Allo Interface\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice Interface for the Allo contract. It exposes all functions needed to use the Allo protocol."},"fullyImplemented":false,"linearizedBaseContracts":[2610],"name":"IAllo","nameLocation":"4541:5:3","scope":2611,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":3} \ No newline at end of file diff --git a/pkg/contracts/out/IArbitrator.sol/IArbitrator.json b/pkg/contracts/out/IArbitrator.sol/IArbitrator.json index 9b3c91668..e9241930e 100644 --- a/pkg/contracts/out/IArbitrator.sol/IArbitrator.json +++ b/pkg/contracts/out/IArbitrator.sol/IArbitrator.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"arbitrationCost","inputs":[{"name":"_extraData","type":"bytes","internalType":"bytes"},{"name":"_feeToken","type":"address","internalType":"contract IERC20"}],"outputs":[{"name":"cost","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"arbitrationCost","inputs":[{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"cost","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"createDispute","inputs":[{"name":"_numberOfChoices","type":"uint256","internalType":"uint256"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"disputeID","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"createDispute","inputs":[{"name":"_numberOfChoices","type":"uint256","internalType":"uint256"},{"name":"_extraData","type":"bytes","internalType":"bytes"},{"name":"_feeToken","type":"address","internalType":"contract IERC20"},{"name":"_feeAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"disputeID","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"currentRuling","inputs":[{"name":"_disputeID","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"ruling","type":"uint256","internalType":"uint256"},{"name":"tied","type":"bool","internalType":"bool"},{"name":"overridden","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"registerSafe","inputs":[{"name":"_safe","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AcceptedFeeToken","inputs":[{"name":"_token","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"_accepted","type":"bool","indexed":true,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"DisputeCreation","inputs":[{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_arbitrable","type":"address","indexed":true,"internalType":"contract IArbitrable"}],"anonymous":false},{"type":"event","name":"NewCurrencyRate","inputs":[{"name":"_feeToken","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"_rateInEth","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"_rateDecimals","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"Ruling","inputs":[{"name":"_arbitrable","type":"address","indexed":true,"internalType":"contract IArbitrable"},{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_ruling","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"arbitrationCost(bytes)":"f7434ea9","arbitrationCost(bytes,address)":"d98493f6","createDispute(uint256,bytes)":"c13517e1","createDispute(uint256,bytes,address,uint256)":"f6506db4","currentRuling(uint256)":"1c3db16d","registerSafe(address)":"88d5b732"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"_token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"_accepted\",\"type\":\"bool\"}],\"name\":\"AcceptedFeeToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"contract IArbitrable\",\"name\":\"_arbitrable\",\"type\":\"address\"}],\"name\":\"DisputeCreation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"_feeToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"_rateInEth\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"_rateDecimals\",\"type\":\"uint8\"}],\"name\":\"NewCurrencyRate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IArbitrable\",\"name\":\"_arbitrable\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"Ruling\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"},{\"internalType\":\"contract IERC20\",\"name\":\"_feeToken\",\"type\":\"address\"}],\"name\":\"arbitrationCost\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"cost\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"arbitrationCost\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"cost\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_numberOfChoices\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"createDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeID\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_numberOfChoices\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"},{\"internalType\":\"contract IERC20\",\"name\":\"_feeToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_feeAmount\",\"type\":\"uint256\"}],\"name\":\"createDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeID\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"}],\"name\":\"currentRuling\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"ruling\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"tied\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"overridden\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"registerSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"AcceptedFeeToken(address,bool)\":{\"details\":\"To be emitted when an ERC20 token is added or removed as a method to pay fees.\",\"params\":{\"_accepted\":\"Whether the token is accepted or not.\",\"_token\":\"The ERC20 token.\"}},\"DisputeCreation(uint256,address)\":{\"details\":\"To be emitted when a dispute is created.\",\"params\":{\"_arbitrable\":\"The contract which created the dispute.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\"}},\"NewCurrencyRate(address,uint64,uint8)\":{\"details\":\"To be emitted when the fee for a particular ERC20 token is updated.\",\"params\":{\"_feeToken\":\"The ERC20 token.\",\"_rateDecimals\":\"The new decimals of the fee token rate.\",\"_rateInEth\":\"The new rate of the fee token in ETH.\"}},\"Ruling(address,uint256,uint256)\":{\"details\":\"To be raised when a ruling is given.\",\"params\":{\"_arbitrable\":\"The arbitrable receiving the ruling.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"The ruling which was given.\"}}},\"kind\":\"dev\",\"methods\":{\"arbitrationCost(bytes)\":{\"details\":\"Compute the cost of arbitration denominated in the native currency, typically ETH. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\"},\"returns\":{\"cost\":\"The arbitration cost in ETH.\"}},\"arbitrationCost(bytes,address)\":{\"details\":\"Compute the cost of arbitration denominated in `_feeToken`. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_feeToken\":\"The ERC20 token used to pay fees.\"},\"returns\":{\"cost\":\"The arbitration cost in `_feeToken`.\"}},\"createDispute(uint256,bytes)\":{\"details\":\"Create a dispute and pay for the fees in the native currency, typically ETH. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_numberOfChoices\":\"The number of choices the arbitrator can choose from in this dispute.\"},\"returns\":{\"disputeID\":\"The identifier of the dispute created.\"}},\"createDispute(uint256,bytes,address,uint256)\":{\"details\":\"Create a dispute and pay for the fees in a supported ERC20 token. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_feeAmount\":\"Amount of the ERC20 token used to pay fees.\",\"_feeToken\":\"The ERC20 token used to pay fees.\",\"_numberOfChoices\":\"The number of choices the arbitrator can choose from in this dispute.\"},\"returns\":{\"disputeID\":\"The identifier of the dispute created.\"}},\"currentRuling(uint256)\":{\"details\":\"Gets the current ruling of a specified dispute.\",\"params\":{\"_disputeID\":\"The ID of the dispute.\"},\"returns\":{\"overridden\":\"Whether the ruling was overridden by appeal funding or not.\",\"ruling\":\"The current ruling.\",\"tied\":\"Whether it's a tie or not.\"}},\"registerSafe(address)\":{\"details\":\"Authorize the safe to execute a ruling on the source contract.<\",\"params\":{\"_safe\":\"that acts as the Tribunal safe that can rule disputes from the source Strategy.\"}}},\"title\":\"Arbitrator Arbitrator interface that implements the new arbitration standard. Unlike the ERC-792 this standard is not concerned with appeals, so each arbitrator can implement an appeal system that suits it the most. When developing arbitrator contracts we need to: - Define the functions for dispute creation (createDispute). Don't forget to store the arbitrated contract and the disputeID (which should be unique, may nbDisputes). - Define the functions for cost display (arbitrationCost). - Allow giving rulings. For this a function must call arbitrable.rule(disputeID, ruling).\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/IArbitrator.sol\":\"IArbitrator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address","indexed":true},{"internalType":"bool","name":"_accepted","type":"bool","indexed":true}],"type":"event","name":"AcceptedFeeToken","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"contract IArbitrable","name":"_arbitrable","type":"address","indexed":true}],"type":"event","name":"DisputeCreation","anonymous":false},{"inputs":[{"internalType":"contract IERC20","name":"_feeToken","type":"address","indexed":true},{"internalType":"uint64","name":"_rateInEth","type":"uint64","indexed":false},{"internalType":"uint8","name":"_rateDecimals","type":"uint8","indexed":false}],"type":"event","name":"NewCurrencyRate","anonymous":false},{"inputs":[{"internalType":"contract IArbitrable","name":"_arbitrable","type":"address","indexed":true},{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_ruling","type":"uint256","indexed":false}],"type":"event","name":"Ruling","anonymous":false},{"inputs":[{"internalType":"bytes","name":"_extraData","type":"bytes"},{"internalType":"contract IERC20","name":"_feeToken","type":"address"}],"stateMutability":"view","type":"function","name":"arbitrationCost","outputs":[{"internalType":"uint256","name":"cost","type":"uint256"}]},{"inputs":[{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"view","type":"function","name":"arbitrationCost","outputs":[{"internalType":"uint256","name":"cost","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_numberOfChoices","type":"uint256"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"createDispute","outputs":[{"internalType":"uint256","name":"disputeID","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_numberOfChoices","type":"uint256"},{"internalType":"bytes","name":"_extraData","type":"bytes"},{"internalType":"contract IERC20","name":"_feeToken","type":"address"},{"internalType":"uint256","name":"_feeAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"createDispute","outputs":[{"internalType":"uint256","name":"disputeID","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentRuling","outputs":[{"internalType":"uint256","name":"ruling","type":"uint256"},{"internalType":"bool","name":"tied","type":"bool"},{"internalType":"bool","name":"overridden","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_safe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerSafe"}],"devdoc":{"kind":"dev","methods":{"arbitrationCost(bytes)":{"details":"Compute the cost of arbitration denominated in the native currency, typically ETH. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes)."},"returns":{"cost":"The arbitration cost in ETH."}},"arbitrationCost(bytes,address)":{"details":"Compute the cost of arbitration denominated in `_feeToken`. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_feeToken":"The ERC20 token used to pay fees."},"returns":{"cost":"The arbitration cost in `_feeToken`."}},"createDispute(uint256,bytes)":{"details":"Create a dispute and pay for the fees in the native currency, typically ETH. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_numberOfChoices":"The number of choices the arbitrator can choose from in this dispute."},"returns":{"disputeID":"The identifier of the dispute created."}},"createDispute(uint256,bytes,address,uint256)":{"details":"Create a dispute and pay for the fees in a supported ERC20 token. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_feeAmount":"Amount of the ERC20 token used to pay fees.","_feeToken":"The ERC20 token used to pay fees.","_numberOfChoices":"The number of choices the arbitrator can choose from in this dispute."},"returns":{"disputeID":"The identifier of the dispute created."}},"currentRuling(uint256)":{"details":"Gets the current ruling of a specified dispute.","params":{"_disputeID":"The ID of the dispute."},"returns":{"overridden":"Whether the ruling was overridden by appeal funding or not.","ruling":"The current ruling.","tied":"Whether it's a tie or not."}},"registerSafe(address)":{"details":"Authorize the safe to execute a ruling on the source contract.<","params":{"_safe":"that acts as the Tribunal safe that can rule disputes from the source Strategy."}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/IArbitrator.sol":"IArbitrator"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","id":74045,"exportedSymbols":{"IArbitrable":[73940],"IArbitrator":[74044],"IERC20":[56528]},"nodeType":"SourceUnit","src":"33:5673:114","nodes":[{"id":73942,"nodeType":"PragmaDirective","src":"33:24:114","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":73943,"nodeType":"ImportDirective","src":"59:56:114","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":74045,"sourceUnit":56529,"symbolAliases":[],"unitAlias":""},{"id":73944,"nodeType":"ImportDirective","src":"116:27:114","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"./IArbitrable.sol","nameLocation":"-1:-1:-1","scope":74045,"sourceUnit":73941,"symbolAliases":[],"unitAlias":""},{"id":74044,"nodeType":"ContractDefinition","src":"761:4944:114","nodes":[{"id":73953,"nodeType":"EventDefinition","src":"994:83:114","nodes":[],"anonymous":false,"documentation":{"id":73946,"nodeType":"StructuredDocumentation","src":"789:200:114","text":"@dev To be emitted when a dispute is created.\n @param _disputeID The identifier of the dispute in the Arbitrator contract.\n @param _arbitrable The contract which created the dispute."},"eventSelector":"141dfc18aa6a56fc816f44f0e9e2f1ebc92b15ab167770e17db5b084c10ed995","name":"DisputeCreation","nameLocation":"1000:15:114","parameters":{"id":73952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73948,"indexed":true,"mutability":"mutable","name":"_disputeID","nameLocation":"1032:10:114","nodeType":"VariableDeclaration","scope":73953,"src":"1016:26:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73947,"name":"uint256","nodeType":"ElementaryTypeName","src":"1016:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73951,"indexed":true,"mutability":"mutable","name":"_arbitrable","nameLocation":"1064:11:114","nodeType":"VariableDeclaration","scope":73953,"src":"1044:31:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$73940","typeString":"contract IArbitrable"},"typeName":{"id":73950,"nodeType":"UserDefinedTypeName","pathNode":{"id":73949,"name":"IArbitrable","nameLocations":["1044:11:114"],"nodeType":"IdentifierPath","referencedDeclaration":73940,"src":"1044:11:114"},"referencedDeclaration":73940,"src":"1044:11:114","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$73940","typeString":"contract IArbitrable"}},"visibility":"internal"}],"src":"1015:61:114"}},{"id":73963,"nodeType":"EventDefinition","src":"1332:91:114","nodes":[],"anonymous":false,"documentation":{"id":73954,"nodeType":"StructuredDocumentation","src":"1083:244:114","text":"@dev To be raised when a ruling is given.\n @param _arbitrable The arbitrable receiving the ruling.\n @param _disputeID The identifier of the dispute in the Arbitrator contract.\n @param _ruling The ruling which was given."},"eventSelector":"394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e75622276","name":"Ruling","nameLocation":"1338:6:114","parameters":{"id":73962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73957,"indexed":true,"mutability":"mutable","name":"_arbitrable","nameLocation":"1365:11:114","nodeType":"VariableDeclaration","scope":73963,"src":"1345:31:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$73940","typeString":"contract IArbitrable"},"typeName":{"id":73956,"nodeType":"UserDefinedTypeName","pathNode":{"id":73955,"name":"IArbitrable","nameLocations":["1345:11:114"],"nodeType":"IdentifierPath","referencedDeclaration":73940,"src":"1345:11:114"},"referencedDeclaration":73940,"src":"1345:11:114","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$73940","typeString":"contract IArbitrable"}},"visibility":"internal"},{"constant":false,"id":73959,"indexed":true,"mutability":"mutable","name":"_disputeID","nameLocation":"1394:10:114","nodeType":"VariableDeclaration","scope":73963,"src":"1378:26:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73958,"name":"uint256","nodeType":"ElementaryTypeName","src":"1378:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73961,"indexed":false,"mutability":"mutable","name":"_ruling","nameLocation":"1414:7:114","nodeType":"VariableDeclaration","scope":73963,"src":"1406:15:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73960,"name":"uint256","nodeType":"ElementaryTypeName","src":"1406:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1344:78:114"}},{"id":73971,"nodeType":"EventDefinition","src":"1623:70:114","nodes":[],"anonymous":false,"documentation":{"id":73964,"nodeType":"StructuredDocumentation","src":"1429:189:114","text":"@dev To be emitted when an ERC20 token is added or removed as a method to pay fees.\n @param _token The ERC20 token.\n @param _accepted Whether the token is accepted or not."},"eventSelector":"541615e167511d757a7067a700eb54431b256bb458dfdce0ac58bf2ed0aefd44","name":"AcceptedFeeToken","nameLocation":"1629:16:114","parameters":{"id":73970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73967,"indexed":true,"mutability":"mutable","name":"_token","nameLocation":"1661:6:114","nodeType":"VariableDeclaration","scope":73971,"src":"1646:21:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":73966,"nodeType":"UserDefinedTypeName","pathNode":{"id":73965,"name":"IERC20","nameLocations":["1646:6:114"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"1646:6:114"},"referencedDeclaration":56528,"src":"1646:6:114","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":73969,"indexed":true,"mutability":"mutable","name":"_accepted","nameLocation":"1682:9:114","nodeType":"VariableDeclaration","scope":73971,"src":"1669:22:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73968,"name":"bool","nodeType":"ElementaryTypeName","src":"1669:4:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1645:47:114"}},{"id":73981,"nodeType":"EventDefinition","src":"1955:88:114","nodes":[],"anonymous":false,"documentation":{"id":73972,"nodeType":"StructuredDocumentation","src":"1699:251:114","text":"@dev To be emitted when the fee for a particular ERC20 token is updated.\n @param _feeToken The ERC20 token.\n @param _rateInEth The new rate of the fee token in ETH.\n @param _rateDecimals The new decimals of the fee token rate."},"eventSelector":"e6996b7f03e9bd02228b99d3d946932e3197f505f60542c4cfbc919441d8a4e6","name":"NewCurrencyRate","nameLocation":"1961:15:114","parameters":{"id":73980,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73975,"indexed":true,"mutability":"mutable","name":"_feeToken","nameLocation":"1992:9:114","nodeType":"VariableDeclaration","scope":73981,"src":"1977:24:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":73974,"nodeType":"UserDefinedTypeName","pathNode":{"id":73973,"name":"IERC20","nameLocations":["1977:6:114"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"1977:6:114"},"referencedDeclaration":56528,"src":"1977:6:114","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":73977,"indexed":false,"mutability":"mutable","name":"_rateInEth","nameLocation":"2010:10:114","nodeType":"VariableDeclaration","scope":73981,"src":"2003:17:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":73976,"name":"uint64","nodeType":"ElementaryTypeName","src":"2003:6:114","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":73979,"indexed":false,"mutability":"mutable","name":"_rateDecimals","nameLocation":"2028:13:114","nodeType":"VariableDeclaration","scope":73981,"src":"2022:19:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":73978,"name":"uint8","nodeType":"ElementaryTypeName","src":"2022:5:114","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"1976:66:114"}},{"id":73991,"nodeType":"FunctionDefinition","src":"2659:145:114","nodes":[],"documentation":{"id":73982,"nodeType":"StructuredDocumentation","src":"2049:605:114","text":"@dev Create a dispute and pay for the fees in the native currency, typically ETH.\n Must be called by the arbitrable contract.\n Must pay at least arbitrationCost(_extraData).\n @param _numberOfChoices The number of choices the arbitrator can choose from in this dispute.\n @param _extraData Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\n @return disputeID The identifier of the dispute created."},"functionSelector":"c13517e1","implemented":false,"kind":"function","modifiers":[],"name":"createDispute","nameLocation":"2668:13:114","parameters":{"id":73987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73984,"mutability":"mutable","name":"_numberOfChoices","nameLocation":"2690:16:114","nodeType":"VariableDeclaration","scope":73991,"src":"2682:24:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73983,"name":"uint256","nodeType":"ElementaryTypeName","src":"2682:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73986,"mutability":"mutable","name":"_extraData","nameLocation":"2723:10:114","nodeType":"VariableDeclaration","scope":73991,"src":"2708:25:114","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":73985,"name":"bytes","nodeType":"ElementaryTypeName","src":"2708:5:114","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2681:53:114"},"returnParameters":{"id":73990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73989,"mutability":"mutable","name":"disputeID","nameLocation":"2793:9:114","nodeType":"VariableDeclaration","scope":73991,"src":"2785:17:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73988,"name":"uint256","nodeType":"ElementaryTypeName","src":"2785:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2784:19:114"},"scope":74044,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":74006,"nodeType":"FunctionDefinition","src":"3538:167:114","nodes":[],"documentation":{"id":73992,"nodeType":"StructuredDocumentation","src":"2810:723:114","text":"@dev Create a dispute and pay for the fees in a supported ERC20 token.\n Must be called by the arbitrable contract.\n Must pay at least arbitrationCost(_extraData).\n @param _numberOfChoices The number of choices the arbitrator can choose from in this dispute.\n @param _extraData Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\n @param _feeToken The ERC20 token used to pay fees.\n @param _feeAmount Amount of the ERC20 token used to pay fees.\n @return disputeID The identifier of the dispute created."},"functionSelector":"f6506db4","implemented":false,"kind":"function","modifiers":[],"name":"createDispute","nameLocation":"3547:13:114","parameters":{"id":74002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73994,"mutability":"mutable","name":"_numberOfChoices","nameLocation":"3569:16:114","nodeType":"VariableDeclaration","scope":74006,"src":"3561:24:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73993,"name":"uint256","nodeType":"ElementaryTypeName","src":"3561:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73996,"mutability":"mutable","name":"_extraData","nameLocation":"3602:10:114","nodeType":"VariableDeclaration","scope":74006,"src":"3587:25:114","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":73995,"name":"bytes","nodeType":"ElementaryTypeName","src":"3587:5:114","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73999,"mutability":"mutable","name":"_feeToken","nameLocation":"3621:9:114","nodeType":"VariableDeclaration","scope":74006,"src":"3614:16:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":73998,"nodeType":"UserDefinedTypeName","pathNode":{"id":73997,"name":"IERC20","nameLocations":["3614:6:114"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"3614:6:114"},"referencedDeclaration":56528,"src":"3614:6:114","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":74001,"mutability":"mutable","name":"_feeAmount","nameLocation":"3640:10:114","nodeType":"VariableDeclaration","scope":74006,"src":"3632:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74000,"name":"uint256","nodeType":"ElementaryTypeName","src":"3632:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3560:91:114"},"returnParameters":{"id":74005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74004,"mutability":"mutable","name":"disputeID","nameLocation":"3694:9:114","nodeType":"VariableDeclaration","scope":74006,"src":"3686:17:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74003,"name":"uint256","nodeType":"ElementaryTypeName","src":"3686:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3685:19:114"},"scope":74044,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74014,"nodeType":"FunctionDefinition","src":"4254:89:114","nodes":[],"documentation":{"id":74007,"nodeType":"StructuredDocumentation","src":"3711:538:114","text":"@dev Compute the cost of arbitration denominated in the native currency, typically ETH.\n It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\n @param _extraData Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\n @return cost The arbitration cost in ETH."},"functionSelector":"f7434ea9","implemented":false,"kind":"function","modifiers":[],"name":"arbitrationCost","nameLocation":"4263:15:114","parameters":{"id":74010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74009,"mutability":"mutable","name":"_extraData","nameLocation":"4294:10:114","nodeType":"VariableDeclaration","scope":74014,"src":"4279:25:114","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":74008,"name":"bytes","nodeType":"ElementaryTypeName","src":"4279:5:114","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4278:27:114"},"returnParameters":{"id":74013,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74012,"mutability":"mutable","name":"cost","nameLocation":"4337:4:114","nodeType":"VariableDeclaration","scope":74014,"src":"4329:12:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74011,"name":"uint256","nodeType":"ElementaryTypeName","src":"4329:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4328:14:114"},"scope":74044,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74025,"nodeType":"FunctionDefinition","src":"4936:107:114","nodes":[],"documentation":{"id":74015,"nodeType":"StructuredDocumentation","src":"4349:582:114","text":"@dev Compute the cost of arbitration denominated in `_feeToken`.\n It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\n @param _extraData Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\n @param _feeToken The ERC20 token used to pay fees.\n @return cost The arbitration cost in `_feeToken`."},"functionSelector":"d98493f6","implemented":false,"kind":"function","modifiers":[],"name":"arbitrationCost","nameLocation":"4945:15:114","parameters":{"id":74021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74017,"mutability":"mutable","name":"_extraData","nameLocation":"4976:10:114","nodeType":"VariableDeclaration","scope":74025,"src":"4961:25:114","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":74016,"name":"bytes","nodeType":"ElementaryTypeName","src":"4961:5:114","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":74020,"mutability":"mutable","name":"_feeToken","nameLocation":"4995:9:114","nodeType":"VariableDeclaration","scope":74025,"src":"4988:16:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":74019,"nodeType":"UserDefinedTypeName","pathNode":{"id":74018,"name":"IERC20","nameLocations":["4988:6:114"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"4988:6:114"},"referencedDeclaration":56528,"src":"4988:6:114","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"}],"src":"4960:45:114"},"returnParameters":{"id":74024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74023,"mutability":"mutable","name":"cost","nameLocation":"5037:4:114","nodeType":"VariableDeclaration","scope":74025,"src":"5029:12:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74022,"name":"uint256","nodeType":"ElementaryTypeName","src":"5029:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5028:14:114"},"scope":74044,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74037,"nodeType":"FunctionDefinition","src":"5337:110:114","nodes":[],"documentation":{"id":74026,"nodeType":"StructuredDocumentation","src":"5049:283:114","text":"@dev Gets the current ruling of a specified dispute.\n @param _disputeID The ID of the dispute.\n @return ruling The current ruling.\n @return tied Whether it's a tie or not.\n @return overridden Whether the ruling was overridden by appeal funding or not."},"functionSelector":"1c3db16d","implemented":false,"kind":"function","modifiers":[],"name":"currentRuling","nameLocation":"5346:13:114","parameters":{"id":74029,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74028,"mutability":"mutable","name":"_disputeID","nameLocation":"5368:10:114","nodeType":"VariableDeclaration","scope":74037,"src":"5360:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74027,"name":"uint256","nodeType":"ElementaryTypeName","src":"5360:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5359:20:114"},"returnParameters":{"id":74036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74031,"mutability":"mutable","name":"ruling","nameLocation":"5411:6:114","nodeType":"VariableDeclaration","scope":74037,"src":"5403:14:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74030,"name":"uint256","nodeType":"ElementaryTypeName","src":"5403:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74033,"mutability":"mutable","name":"tied","nameLocation":"5424:4:114","nodeType":"VariableDeclaration","scope":74037,"src":"5419:9:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74032,"name":"bool","nodeType":"ElementaryTypeName","src":"5419:4:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":74035,"mutability":"mutable","name":"overridden","nameLocation":"5435:10:114","nodeType":"VariableDeclaration","scope":74037,"src":"5430:15:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74034,"name":"bool","nodeType":"ElementaryTypeName","src":"5430:4:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5402:44:114"},"scope":74044,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74043,"nodeType":"FunctionDefinition","src":"5657:46:114","nodes":[],"documentation":{"id":74038,"nodeType":"StructuredDocumentation","src":"5479:173:114","text":"@dev Authorize the safe to execute a ruling on the source contract.<\n @param _safe that acts as the Tribunal safe that can rule disputes from the source Strategy."},"functionSelector":"88d5b732","implemented":false,"kind":"function","modifiers":[],"name":"registerSafe","nameLocation":"5666:12:114","parameters":{"id":74041,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74040,"mutability":"mutable","name":"_safe","nameLocation":"5687:5:114","nodeType":"VariableDeclaration","scope":74043,"src":"5679:13:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74039,"name":"address","nodeType":"ElementaryTypeName","src":"5679:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5678:15:114"},"returnParameters":{"id":74042,"nodeType":"ParameterList","parameters":[],"src":"5702:0:114"},"scope":74044,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IArbitrator","contractDependencies":[],"contractKind":"interface","documentation":{"id":73945,"nodeType":"StructuredDocumentation","src":"145:616:114","text":"@title Arbitrator\n Arbitrator interface that implements the new arbitration standard.\n Unlike the ERC-792 this standard is not concerned with appeals, so each arbitrator can implement an appeal system that suits it the most.\n When developing arbitrator contracts we need to:\n - Define the functions for dispute creation (createDispute). Don't forget to store the arbitrated contract and the disputeID (which should be unique, may nbDisputes).\n - Define the functions for cost display (arbitrationCost).\n - Allow giving rulings. For this a function must call arbitrable.rule(disputeID, ruling)."},"fullyImplemented":false,"linearizedBaseContracts":[74044],"name":"IArbitrator","nameLocation":"771:11:114","scope":74045,"usedErrors":[]}],"license":"MIT"},"id":114} \ No newline at end of file +{"abi":[{"type":"function","name":"arbitrationCost","inputs":[{"name":"_extraData","type":"bytes","internalType":"bytes"},{"name":"_feeToken","type":"address","internalType":"contract IERC20"}],"outputs":[{"name":"cost","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"arbitrationCost","inputs":[{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"cost","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"createDispute","inputs":[{"name":"_numberOfChoices","type":"uint256","internalType":"uint256"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"disputeID","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"createDispute","inputs":[{"name":"_numberOfChoices","type":"uint256","internalType":"uint256"},{"name":"_extraData","type":"bytes","internalType":"bytes"},{"name":"_feeToken","type":"address","internalType":"contract IERC20"},{"name":"_feeAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"disputeID","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"currentRuling","inputs":[{"name":"_disputeID","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"ruling","type":"uint256","internalType":"uint256"},{"name":"tied","type":"bool","internalType":"bool"},{"name":"overridden","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"registerSafe","inputs":[{"name":"_safe","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AcceptedFeeToken","inputs":[{"name":"_token","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"_accepted","type":"bool","indexed":true,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"DisputeCreation","inputs":[{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_arbitrable","type":"address","indexed":true,"internalType":"contract IArbitrable"}],"anonymous":false},{"type":"event","name":"NewCurrencyRate","inputs":[{"name":"_feeToken","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"_rateInEth","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"_rateDecimals","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"Ruling","inputs":[{"name":"_arbitrable","type":"address","indexed":true,"internalType":"contract IArbitrable"},{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_ruling","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"arbitrationCost(bytes)":"f7434ea9","arbitrationCost(bytes,address)":"d98493f6","createDispute(uint256,bytes)":"c13517e1","createDispute(uint256,bytes,address,uint256)":"f6506db4","currentRuling(uint256)":"1c3db16d","registerSafe(address)":"88d5b732"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"_token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"_accepted\",\"type\":\"bool\"}],\"name\":\"AcceptedFeeToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"contract IArbitrable\",\"name\":\"_arbitrable\",\"type\":\"address\"}],\"name\":\"DisputeCreation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"_feeToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"_rateInEth\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"_rateDecimals\",\"type\":\"uint8\"}],\"name\":\"NewCurrencyRate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IArbitrable\",\"name\":\"_arbitrable\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"Ruling\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"},{\"internalType\":\"contract IERC20\",\"name\":\"_feeToken\",\"type\":\"address\"}],\"name\":\"arbitrationCost\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"cost\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"arbitrationCost\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"cost\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_numberOfChoices\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"createDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeID\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_numberOfChoices\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"},{\"internalType\":\"contract IERC20\",\"name\":\"_feeToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_feeAmount\",\"type\":\"uint256\"}],\"name\":\"createDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeID\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"}],\"name\":\"currentRuling\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"ruling\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"tied\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"overridden\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"registerSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"AcceptedFeeToken(address,bool)\":{\"details\":\"To be emitted when an ERC20 token is added or removed as a method to pay fees.\",\"params\":{\"_accepted\":\"Whether the token is accepted or not.\",\"_token\":\"The ERC20 token.\"}},\"DisputeCreation(uint256,address)\":{\"details\":\"To be emitted when a dispute is created.\",\"params\":{\"_arbitrable\":\"The contract which created the dispute.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\"}},\"NewCurrencyRate(address,uint64,uint8)\":{\"details\":\"To be emitted when the fee for a particular ERC20 token is updated.\",\"params\":{\"_feeToken\":\"The ERC20 token.\",\"_rateDecimals\":\"The new decimals of the fee token rate.\",\"_rateInEth\":\"The new rate of the fee token in ETH.\"}},\"Ruling(address,uint256,uint256)\":{\"details\":\"To be raised when a ruling is given.\",\"params\":{\"_arbitrable\":\"The arbitrable receiving the ruling.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"The ruling which was given.\"}}},\"kind\":\"dev\",\"methods\":{\"arbitrationCost(bytes)\":{\"details\":\"Compute the cost of arbitration denominated in the native currency, typically ETH. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\"},\"returns\":{\"cost\":\"The arbitration cost in ETH.\"}},\"arbitrationCost(bytes,address)\":{\"details\":\"Compute the cost of arbitration denominated in `_feeToken`. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_feeToken\":\"The ERC20 token used to pay fees.\"},\"returns\":{\"cost\":\"The arbitration cost in `_feeToken`.\"}},\"createDispute(uint256,bytes)\":{\"details\":\"Create a dispute and pay for the fees in the native currency, typically ETH. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_numberOfChoices\":\"The number of choices the arbitrator can choose from in this dispute.\"},\"returns\":{\"disputeID\":\"The identifier of the dispute created.\"}},\"createDispute(uint256,bytes,address,uint256)\":{\"details\":\"Create a dispute and pay for the fees in a supported ERC20 token. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_feeAmount\":\"Amount of the ERC20 token used to pay fees.\",\"_feeToken\":\"The ERC20 token used to pay fees.\",\"_numberOfChoices\":\"The number of choices the arbitrator can choose from in this dispute.\"},\"returns\":{\"disputeID\":\"The identifier of the dispute created.\"}},\"currentRuling(uint256)\":{\"details\":\"Gets the current ruling of a specified dispute.\",\"params\":{\"_disputeID\":\"The ID of the dispute.\"},\"returns\":{\"overridden\":\"Whether the ruling was overridden by appeal funding or not.\",\"ruling\":\"The current ruling.\",\"tied\":\"Whether it's a tie or not.\"}},\"registerSafe(address)\":{\"details\":\"Authorize the safe to execute a ruling on the source contract.<\",\"params\":{\"_safe\":\"that acts as the Tribunal safe that can rule disputes from the source Strategy.\"}}},\"title\":\"Arbitrator Arbitrator interface that implements the new arbitration standard. Unlike the ERC-792 this standard is not concerned with appeals, so each arbitrator can implement an appeal system that suits it the most. When developing arbitrator contracts we need to: - Define the functions for dispute creation (createDispute). Don't forget to store the arbitrated contract and the disputeID (which should be unique, may nbDisputes). - Define the functions for cost display (arbitrationCost). - Allow giving rulings. For this a function must call arbitrable.rule(disputeID, ruling).\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/IArbitrator.sol\":\"IArbitrator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address","indexed":true},{"internalType":"bool","name":"_accepted","type":"bool","indexed":true}],"type":"event","name":"AcceptedFeeToken","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"contract IArbitrable","name":"_arbitrable","type":"address","indexed":true}],"type":"event","name":"DisputeCreation","anonymous":false},{"inputs":[{"internalType":"contract IERC20","name":"_feeToken","type":"address","indexed":true},{"internalType":"uint64","name":"_rateInEth","type":"uint64","indexed":false},{"internalType":"uint8","name":"_rateDecimals","type":"uint8","indexed":false}],"type":"event","name":"NewCurrencyRate","anonymous":false},{"inputs":[{"internalType":"contract IArbitrable","name":"_arbitrable","type":"address","indexed":true},{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_ruling","type":"uint256","indexed":false}],"type":"event","name":"Ruling","anonymous":false},{"inputs":[{"internalType":"bytes","name":"_extraData","type":"bytes"},{"internalType":"contract IERC20","name":"_feeToken","type":"address"}],"stateMutability":"view","type":"function","name":"arbitrationCost","outputs":[{"internalType":"uint256","name":"cost","type":"uint256"}]},{"inputs":[{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"view","type":"function","name":"arbitrationCost","outputs":[{"internalType":"uint256","name":"cost","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_numberOfChoices","type":"uint256"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"createDispute","outputs":[{"internalType":"uint256","name":"disputeID","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_numberOfChoices","type":"uint256"},{"internalType":"bytes","name":"_extraData","type":"bytes"},{"internalType":"contract IERC20","name":"_feeToken","type":"address"},{"internalType":"uint256","name":"_feeAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"createDispute","outputs":[{"internalType":"uint256","name":"disputeID","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentRuling","outputs":[{"internalType":"uint256","name":"ruling","type":"uint256"},{"internalType":"bool","name":"tied","type":"bool"},{"internalType":"bool","name":"overridden","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_safe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerSafe"}],"devdoc":{"kind":"dev","methods":{"arbitrationCost(bytes)":{"details":"Compute the cost of arbitration denominated in the native currency, typically ETH. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes)."},"returns":{"cost":"The arbitration cost in ETH."}},"arbitrationCost(bytes,address)":{"details":"Compute the cost of arbitration denominated in `_feeToken`. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_feeToken":"The ERC20 token used to pay fees."},"returns":{"cost":"The arbitration cost in `_feeToken`."}},"createDispute(uint256,bytes)":{"details":"Create a dispute and pay for the fees in the native currency, typically ETH. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_numberOfChoices":"The number of choices the arbitrator can choose from in this dispute."},"returns":{"disputeID":"The identifier of the dispute created."}},"createDispute(uint256,bytes,address,uint256)":{"details":"Create a dispute and pay for the fees in a supported ERC20 token. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_feeAmount":"Amount of the ERC20 token used to pay fees.","_feeToken":"The ERC20 token used to pay fees.","_numberOfChoices":"The number of choices the arbitrator can choose from in this dispute."},"returns":{"disputeID":"The identifier of the dispute created."}},"currentRuling(uint256)":{"details":"Gets the current ruling of a specified dispute.","params":{"_disputeID":"The ID of the dispute."},"returns":{"overridden":"Whether the ruling was overridden by appeal funding or not.","ruling":"The current ruling.","tied":"Whether it's a tie or not."}},"registerSafe(address)":{"details":"Authorize the safe to execute a ruling on the source contract.<","params":{"_safe":"that acts as the Tribunal safe that can rule disputes from the source Strategy."}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/IArbitrator.sol":"IArbitrator"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","id":76326,"exportedSymbols":{"IArbitrable":[76221],"IArbitrator":[76325],"IERC20":[56528]},"nodeType":"SourceUnit","src":"33:5673:130","nodes":[{"id":76223,"nodeType":"PragmaDirective","src":"33:24:130","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":76224,"nodeType":"ImportDirective","src":"59:56:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":76326,"sourceUnit":56529,"symbolAliases":[],"unitAlias":""},{"id":76225,"nodeType":"ImportDirective","src":"116:27:130","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"./IArbitrable.sol","nameLocation":"-1:-1:-1","scope":76326,"sourceUnit":76222,"symbolAliases":[],"unitAlias":""},{"id":76325,"nodeType":"ContractDefinition","src":"761:4944:130","nodes":[{"id":76234,"nodeType":"EventDefinition","src":"994:83:130","nodes":[],"anonymous":false,"documentation":{"id":76227,"nodeType":"StructuredDocumentation","src":"789:200:130","text":"@dev To be emitted when a dispute is created.\n @param _disputeID The identifier of the dispute in the Arbitrator contract.\n @param _arbitrable The contract which created the dispute."},"eventSelector":"141dfc18aa6a56fc816f44f0e9e2f1ebc92b15ab167770e17db5b084c10ed995","name":"DisputeCreation","nameLocation":"1000:15:130","parameters":{"id":76233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76229,"indexed":true,"mutability":"mutable","name":"_disputeID","nameLocation":"1032:10:130","nodeType":"VariableDeclaration","scope":76234,"src":"1016:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76228,"name":"uint256","nodeType":"ElementaryTypeName","src":"1016:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76232,"indexed":true,"mutability":"mutable","name":"_arbitrable","nameLocation":"1064:11:130","nodeType":"VariableDeclaration","scope":76234,"src":"1044:31:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$76221","typeString":"contract IArbitrable"},"typeName":{"id":76231,"nodeType":"UserDefinedTypeName","pathNode":{"id":76230,"name":"IArbitrable","nameLocations":["1044:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":76221,"src":"1044:11:130"},"referencedDeclaration":76221,"src":"1044:11:130","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$76221","typeString":"contract IArbitrable"}},"visibility":"internal"}],"src":"1015:61:130"}},{"id":76244,"nodeType":"EventDefinition","src":"1332:91:130","nodes":[],"anonymous":false,"documentation":{"id":76235,"nodeType":"StructuredDocumentation","src":"1083:244:130","text":"@dev To be raised when a ruling is given.\n @param _arbitrable The arbitrable receiving the ruling.\n @param _disputeID The identifier of the dispute in the Arbitrator contract.\n @param _ruling The ruling which was given."},"eventSelector":"394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e75622276","name":"Ruling","nameLocation":"1338:6:130","parameters":{"id":76243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76238,"indexed":true,"mutability":"mutable","name":"_arbitrable","nameLocation":"1365:11:130","nodeType":"VariableDeclaration","scope":76244,"src":"1345:31:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$76221","typeString":"contract IArbitrable"},"typeName":{"id":76237,"nodeType":"UserDefinedTypeName","pathNode":{"id":76236,"name":"IArbitrable","nameLocations":["1345:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":76221,"src":"1345:11:130"},"referencedDeclaration":76221,"src":"1345:11:130","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$76221","typeString":"contract IArbitrable"}},"visibility":"internal"},{"constant":false,"id":76240,"indexed":true,"mutability":"mutable","name":"_disputeID","nameLocation":"1394:10:130","nodeType":"VariableDeclaration","scope":76244,"src":"1378:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76239,"name":"uint256","nodeType":"ElementaryTypeName","src":"1378:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76242,"indexed":false,"mutability":"mutable","name":"_ruling","nameLocation":"1414:7:130","nodeType":"VariableDeclaration","scope":76244,"src":"1406:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76241,"name":"uint256","nodeType":"ElementaryTypeName","src":"1406:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1344:78:130"}},{"id":76252,"nodeType":"EventDefinition","src":"1623:70:130","nodes":[],"anonymous":false,"documentation":{"id":76245,"nodeType":"StructuredDocumentation","src":"1429:189:130","text":"@dev To be emitted when an ERC20 token is added or removed as a method to pay fees.\n @param _token The ERC20 token.\n @param _accepted Whether the token is accepted or not."},"eventSelector":"541615e167511d757a7067a700eb54431b256bb458dfdce0ac58bf2ed0aefd44","name":"AcceptedFeeToken","nameLocation":"1629:16:130","parameters":{"id":76251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76248,"indexed":true,"mutability":"mutable","name":"_token","nameLocation":"1661:6:130","nodeType":"VariableDeclaration","scope":76252,"src":"1646:21:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":76247,"nodeType":"UserDefinedTypeName","pathNode":{"id":76246,"name":"IERC20","nameLocations":["1646:6:130"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"1646:6:130"},"referencedDeclaration":56528,"src":"1646:6:130","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":76250,"indexed":true,"mutability":"mutable","name":"_accepted","nameLocation":"1682:9:130","nodeType":"VariableDeclaration","scope":76252,"src":"1669:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76249,"name":"bool","nodeType":"ElementaryTypeName","src":"1669:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1645:47:130"}},{"id":76262,"nodeType":"EventDefinition","src":"1955:88:130","nodes":[],"anonymous":false,"documentation":{"id":76253,"nodeType":"StructuredDocumentation","src":"1699:251:130","text":"@dev To be emitted when the fee for a particular ERC20 token is updated.\n @param _feeToken The ERC20 token.\n @param _rateInEth The new rate of the fee token in ETH.\n @param _rateDecimals The new decimals of the fee token rate."},"eventSelector":"e6996b7f03e9bd02228b99d3d946932e3197f505f60542c4cfbc919441d8a4e6","name":"NewCurrencyRate","nameLocation":"1961:15:130","parameters":{"id":76261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76256,"indexed":true,"mutability":"mutable","name":"_feeToken","nameLocation":"1992:9:130","nodeType":"VariableDeclaration","scope":76262,"src":"1977:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":76255,"nodeType":"UserDefinedTypeName","pathNode":{"id":76254,"name":"IERC20","nameLocations":["1977:6:130"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"1977:6:130"},"referencedDeclaration":56528,"src":"1977:6:130","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":76258,"indexed":false,"mutability":"mutable","name":"_rateInEth","nameLocation":"2010:10:130","nodeType":"VariableDeclaration","scope":76262,"src":"2003:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":76257,"name":"uint64","nodeType":"ElementaryTypeName","src":"2003:6:130","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":76260,"indexed":false,"mutability":"mutable","name":"_rateDecimals","nameLocation":"2028:13:130","nodeType":"VariableDeclaration","scope":76262,"src":"2022:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":76259,"name":"uint8","nodeType":"ElementaryTypeName","src":"2022:5:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"1976:66:130"}},{"id":76272,"nodeType":"FunctionDefinition","src":"2659:145:130","nodes":[],"documentation":{"id":76263,"nodeType":"StructuredDocumentation","src":"2049:605:130","text":"@dev Create a dispute and pay for the fees in the native currency, typically ETH.\n Must be called by the arbitrable contract.\n Must pay at least arbitrationCost(_extraData).\n @param _numberOfChoices The number of choices the arbitrator can choose from in this dispute.\n @param _extraData Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\n @return disputeID The identifier of the dispute created."},"functionSelector":"c13517e1","implemented":false,"kind":"function","modifiers":[],"name":"createDispute","nameLocation":"2668:13:130","parameters":{"id":76268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76265,"mutability":"mutable","name":"_numberOfChoices","nameLocation":"2690:16:130","nodeType":"VariableDeclaration","scope":76272,"src":"2682:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76264,"name":"uint256","nodeType":"ElementaryTypeName","src":"2682:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76267,"mutability":"mutable","name":"_extraData","nameLocation":"2723:10:130","nodeType":"VariableDeclaration","scope":76272,"src":"2708:25:130","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":76266,"name":"bytes","nodeType":"ElementaryTypeName","src":"2708:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2681:53:130"},"returnParameters":{"id":76271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76270,"mutability":"mutable","name":"disputeID","nameLocation":"2793:9:130","nodeType":"VariableDeclaration","scope":76272,"src":"2785:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76269,"name":"uint256","nodeType":"ElementaryTypeName","src":"2785:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2784:19:130"},"scope":76325,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":76287,"nodeType":"FunctionDefinition","src":"3538:167:130","nodes":[],"documentation":{"id":76273,"nodeType":"StructuredDocumentation","src":"2810:723:130","text":"@dev Create a dispute and pay for the fees in a supported ERC20 token.\n Must be called by the arbitrable contract.\n Must pay at least arbitrationCost(_extraData).\n @param _numberOfChoices The number of choices the arbitrator can choose from in this dispute.\n @param _extraData Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\n @param _feeToken The ERC20 token used to pay fees.\n @param _feeAmount Amount of the ERC20 token used to pay fees.\n @return disputeID The identifier of the dispute created."},"functionSelector":"f6506db4","implemented":false,"kind":"function","modifiers":[],"name":"createDispute","nameLocation":"3547:13:130","parameters":{"id":76283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76275,"mutability":"mutable","name":"_numberOfChoices","nameLocation":"3569:16:130","nodeType":"VariableDeclaration","scope":76287,"src":"3561:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76274,"name":"uint256","nodeType":"ElementaryTypeName","src":"3561:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76277,"mutability":"mutable","name":"_extraData","nameLocation":"3602:10:130","nodeType":"VariableDeclaration","scope":76287,"src":"3587:25:130","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":76276,"name":"bytes","nodeType":"ElementaryTypeName","src":"3587:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":76280,"mutability":"mutable","name":"_feeToken","nameLocation":"3621:9:130","nodeType":"VariableDeclaration","scope":76287,"src":"3614:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":76279,"nodeType":"UserDefinedTypeName","pathNode":{"id":76278,"name":"IERC20","nameLocations":["3614:6:130"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"3614:6:130"},"referencedDeclaration":56528,"src":"3614:6:130","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":76282,"mutability":"mutable","name":"_feeAmount","nameLocation":"3640:10:130","nodeType":"VariableDeclaration","scope":76287,"src":"3632:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76281,"name":"uint256","nodeType":"ElementaryTypeName","src":"3632:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3560:91:130"},"returnParameters":{"id":76286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76285,"mutability":"mutable","name":"disputeID","nameLocation":"3694:9:130","nodeType":"VariableDeclaration","scope":76287,"src":"3686:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76284,"name":"uint256","nodeType":"ElementaryTypeName","src":"3686:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3685:19:130"},"scope":76325,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":76295,"nodeType":"FunctionDefinition","src":"4254:89:130","nodes":[],"documentation":{"id":76288,"nodeType":"StructuredDocumentation","src":"3711:538:130","text":"@dev Compute the cost of arbitration denominated in the native currency, typically ETH.\n It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\n @param _extraData Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\n @return cost The arbitration cost in ETH."},"functionSelector":"f7434ea9","implemented":false,"kind":"function","modifiers":[],"name":"arbitrationCost","nameLocation":"4263:15:130","parameters":{"id":76291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76290,"mutability":"mutable","name":"_extraData","nameLocation":"4294:10:130","nodeType":"VariableDeclaration","scope":76295,"src":"4279:25:130","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":76289,"name":"bytes","nodeType":"ElementaryTypeName","src":"4279:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4278:27:130"},"returnParameters":{"id":76294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76293,"mutability":"mutable","name":"cost","nameLocation":"4337:4:130","nodeType":"VariableDeclaration","scope":76295,"src":"4329:12:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76292,"name":"uint256","nodeType":"ElementaryTypeName","src":"4329:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4328:14:130"},"scope":76325,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76306,"nodeType":"FunctionDefinition","src":"4936:107:130","nodes":[],"documentation":{"id":76296,"nodeType":"StructuredDocumentation","src":"4349:582:130","text":"@dev Compute the cost of arbitration denominated in `_feeToken`.\n It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\n @param _extraData Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\n @param _feeToken The ERC20 token used to pay fees.\n @return cost The arbitration cost in `_feeToken`."},"functionSelector":"d98493f6","implemented":false,"kind":"function","modifiers":[],"name":"arbitrationCost","nameLocation":"4945:15:130","parameters":{"id":76302,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76298,"mutability":"mutable","name":"_extraData","nameLocation":"4976:10:130","nodeType":"VariableDeclaration","scope":76306,"src":"4961:25:130","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":76297,"name":"bytes","nodeType":"ElementaryTypeName","src":"4961:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":76301,"mutability":"mutable","name":"_feeToken","nameLocation":"4995:9:130","nodeType":"VariableDeclaration","scope":76306,"src":"4988:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":76300,"nodeType":"UserDefinedTypeName","pathNode":{"id":76299,"name":"IERC20","nameLocations":["4988:6:130"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"4988:6:130"},"referencedDeclaration":56528,"src":"4988:6:130","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"}],"src":"4960:45:130"},"returnParameters":{"id":76305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76304,"mutability":"mutable","name":"cost","nameLocation":"5037:4:130","nodeType":"VariableDeclaration","scope":76306,"src":"5029:12:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76303,"name":"uint256","nodeType":"ElementaryTypeName","src":"5029:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5028:14:130"},"scope":76325,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76318,"nodeType":"FunctionDefinition","src":"5337:110:130","nodes":[],"documentation":{"id":76307,"nodeType":"StructuredDocumentation","src":"5049:283:130","text":"@dev Gets the current ruling of a specified dispute.\n @param _disputeID The ID of the dispute.\n @return ruling The current ruling.\n @return tied Whether it's a tie or not.\n @return overridden Whether the ruling was overridden by appeal funding or not."},"functionSelector":"1c3db16d","implemented":false,"kind":"function","modifiers":[],"name":"currentRuling","nameLocation":"5346:13:130","parameters":{"id":76310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76309,"mutability":"mutable","name":"_disputeID","nameLocation":"5368:10:130","nodeType":"VariableDeclaration","scope":76318,"src":"5360:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76308,"name":"uint256","nodeType":"ElementaryTypeName","src":"5360:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5359:20:130"},"returnParameters":{"id":76317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76312,"mutability":"mutable","name":"ruling","nameLocation":"5411:6:130","nodeType":"VariableDeclaration","scope":76318,"src":"5403:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76311,"name":"uint256","nodeType":"ElementaryTypeName","src":"5403:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76314,"mutability":"mutable","name":"tied","nameLocation":"5424:4:130","nodeType":"VariableDeclaration","scope":76318,"src":"5419:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76313,"name":"bool","nodeType":"ElementaryTypeName","src":"5419:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":76316,"mutability":"mutable","name":"overridden","nameLocation":"5435:10:130","nodeType":"VariableDeclaration","scope":76318,"src":"5430:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76315,"name":"bool","nodeType":"ElementaryTypeName","src":"5430:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5402:44:130"},"scope":76325,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76324,"nodeType":"FunctionDefinition","src":"5657:46:130","nodes":[],"documentation":{"id":76319,"nodeType":"StructuredDocumentation","src":"5479:173:130","text":"@dev Authorize the safe to execute a ruling on the source contract.<\n @param _safe that acts as the Tribunal safe that can rule disputes from the source Strategy."},"functionSelector":"88d5b732","implemented":false,"kind":"function","modifiers":[],"name":"registerSafe","nameLocation":"5666:12:130","parameters":{"id":76322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76321,"mutability":"mutable","name":"_safe","nameLocation":"5687:5:130","nodeType":"VariableDeclaration","scope":76324,"src":"5679:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76320,"name":"address","nodeType":"ElementaryTypeName","src":"5679:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5678:15:130"},"returnParameters":{"id":76323,"nodeType":"ParameterList","parameters":[],"src":"5702:0:130"},"scope":76325,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IArbitrator","contractDependencies":[],"contractKind":"interface","documentation":{"id":76226,"nodeType":"StructuredDocumentation","src":"145:616:130","text":"@title Arbitrator\n Arbitrator interface that implements the new arbitration standard.\n Unlike the ERC-792 this standard is not concerned with appeals, so each arbitrator can implement an appeal system that suits it the most.\n When developing arbitrator contracts we need to:\n - Define the functions for dispute creation (createDispute). Don't forget to store the arbitrated contract and the disputeID (which should be unique, may nbDisputes).\n - Define the functions for cost display (arbitrationCost).\n - Allow giving rulings. For this a function must call arbitrable.rule(disputeID, ruling)."},"fullyImplemented":false,"linearizedBaseContracts":[76325],"name":"IArbitrator","nameLocation":"771:11:130","scope":76326,"usedErrors":[]}],"license":"MIT"},"id":130} \ No newline at end of file diff --git a/pkg/contracts/out/IERC20.sol/IERC20.json b/pkg/contracts/out/IERC20.sol/IERC20.json index 5e064d27a..d5219f148 100644 --- a/pkg/contracts/out/IERC20.sol/IERC20.json +++ b/pkg/contracts/out/IERC20.sol/IERC20.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.This includes the optional name, symbol, and decimals metadata.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set, where `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`).\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allowance(address,address)\":{\"notice\":\"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`\"},\"approve(address,uint256)\":{\"notice\":\"Sets `amount` as the allowance of `spender` over the caller's tokens.\"},\"balanceOf(address)\":{\"notice\":\"Returns the amount of tokens owned by `account`.\"},\"decimals()\":{\"notice\":\"Returns the decimals places of the token.\"},\"name()\":{\"notice\":\"Returns the name of the token.\"},\"symbol()\":{\"notice\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"notice\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"notice\":\"Moves `amount` tokens from the caller's account to `to`.\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/interfaces/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"}},"version":1},"userdoc":{"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`"},"approve(address,uint256)":{"notice":"Sets `amount` as the allowance of `spender` over the caller's tokens."},"balanceOf(address)":{"notice":"Returns the amount of tokens owned by `account`."},"decimals()":{"notice":"Returns the decimals places of the token."},"name()":{"notice":"Returns the name of the token."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"notice":"Moves `amount` tokens from the caller's account to `to`."},"transferFrom(address,address,uint256)":{"notice":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/interfaces/IERC20.sol":"IERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/forge-std/src/interfaces/IERC20.sol","id":37743,"exportedSymbols":{"IERC20":[37742]},"nodeType":"SourceUnit","src":"32:2035:37","nodes":[{"id":37648,"nodeType":"PragmaDirective","src":"32:24:37","nodes":[],"literals":["solidity",">=","0.6",".2"]},{"id":37742,"nodeType":"ContractDefinition","src":"195:1871:37","nodes":[{"id":37658,"nodeType":"EventDefinition","src":"314:72:37","nodes":[],"anonymous":false,"documentation":{"id":37650,"nodeType":"StructuredDocumentation","src":"218:91:37","text":"@dev Emitted when `value` tokens are moved from one account (`from`) to another (`to`)."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"320:8:37","parameters":{"id":37657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37652,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"345:4:37","nodeType":"VariableDeclaration","scope":37658,"src":"329:20:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37651,"name":"address","nodeType":"ElementaryTypeName","src":"329:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37654,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"367:2:37","nodeType":"VariableDeclaration","scope":37658,"src":"351:18:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37653,"name":"address","nodeType":"ElementaryTypeName","src":"351:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37656,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"379:5:37","nodeType":"VariableDeclaration","scope":37658,"src":"371:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37655,"name":"uint256","nodeType":"ElementaryTypeName","src":"371:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"328:57:37"}},{"id":37667,"nodeType":"EventDefinition","src":"514:78:37","nodes":[],"anonymous":false,"documentation":{"id":37659,"nodeType":"StructuredDocumentation","src":"392:117:37","text":"@dev Emitted when the allowance of a `spender` for an `owner` is set, where `value`\n is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"520:8:37","parameters":{"id":37666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37661,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"545:5:37","nodeType":"VariableDeclaration","scope":37667,"src":"529:21:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37660,"name":"address","nodeType":"ElementaryTypeName","src":"529:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37663,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"568:7:37","nodeType":"VariableDeclaration","scope":37667,"src":"552:23:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37662,"name":"address","nodeType":"ElementaryTypeName","src":"552:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37665,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"585:5:37","nodeType":"VariableDeclaration","scope":37667,"src":"577:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37664,"name":"uint256","nodeType":"ElementaryTypeName","src":"577:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"528:63:37"}},{"id":37673,"nodeType":"FunctionDefinition","src":"657:55:37","nodes":[],"documentation":{"id":37668,"nodeType":"StructuredDocumentation","src":"598:54:37","text":"@notice Returns the amount of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"666:11:37","parameters":{"id":37669,"nodeType":"ParameterList","parameters":[],"src":"677:2:37"},"returnParameters":{"id":37672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37671,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37673,"src":"703:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37670,"name":"uint256","nodeType":"ElementaryTypeName","src":"703:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"702:9:37"},"scope":37742,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37681,"nodeType":"FunctionDefinition","src":"783:68:37","nodes":[],"documentation":{"id":37674,"nodeType":"StructuredDocumentation","src":"718:60:37","text":"@notice Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"792:9:37","parameters":{"id":37677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37676,"mutability":"mutable","name":"account","nameLocation":"810:7:37","nodeType":"VariableDeclaration","scope":37681,"src":"802:15:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37675,"name":"address","nodeType":"ElementaryTypeName","src":"802:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"801:17:37"},"returnParameters":{"id":37680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37679,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37681,"src":"842:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37678,"name":"uint256","nodeType":"ElementaryTypeName","src":"842:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"841:9:37"},"scope":37742,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37691,"nodeType":"FunctionDefinition","src":"930:70:37","nodes":[],"documentation":{"id":37682,"nodeType":"StructuredDocumentation","src":"857:68:37","text":"@notice Moves `amount` tokens from the caller's account to `to`."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"939:8:37","parameters":{"id":37687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37684,"mutability":"mutable","name":"to","nameLocation":"956:2:37","nodeType":"VariableDeclaration","scope":37691,"src":"948:10:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37683,"name":"address","nodeType":"ElementaryTypeName","src":"948:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37686,"mutability":"mutable","name":"amount","nameLocation":"968:6:37","nodeType":"VariableDeclaration","scope":37691,"src":"960:14:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37685,"name":"uint256","nodeType":"ElementaryTypeName","src":"960:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"947:28:37"},"returnParameters":{"id":37690,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37689,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37691,"src":"994:4:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37688,"name":"bool","nodeType":"ElementaryTypeName","src":"994:4:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"993:6:37"},"scope":37742,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":37701,"nodeType":"FunctionDefinition","src":"1125:83:37","nodes":[],"documentation":{"id":37692,"nodeType":"StructuredDocumentation","src":"1006:114:37","text":"@notice Returns the remaining number of tokens that `spender` is allowed\n to spend on behalf of `owner`"},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1134:9:37","parameters":{"id":37697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37694,"mutability":"mutable","name":"owner","nameLocation":"1152:5:37","nodeType":"VariableDeclaration","scope":37701,"src":"1144:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37693,"name":"address","nodeType":"ElementaryTypeName","src":"1144:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37696,"mutability":"mutable","name":"spender","nameLocation":"1167:7:37","nodeType":"VariableDeclaration","scope":37701,"src":"1159:15:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37695,"name":"address","nodeType":"ElementaryTypeName","src":"1159:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1143:32:37"},"returnParameters":{"id":37700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37699,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37701,"src":"1199:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37698,"name":"uint256","nodeType":"ElementaryTypeName","src":"1199:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1198:9:37"},"scope":37742,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37711,"nodeType":"FunctionDefinition","src":"1412:74:37","nodes":[],"documentation":{"id":37702,"nodeType":"StructuredDocumentation","src":"1214:193:37","text":"@notice Sets `amount` as the allowance of `spender` over the caller's tokens.\n @dev Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"1421:7:37","parameters":{"id":37707,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37704,"mutability":"mutable","name":"spender","nameLocation":"1437:7:37","nodeType":"VariableDeclaration","scope":37711,"src":"1429:15:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37703,"name":"address","nodeType":"ElementaryTypeName","src":"1429:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37706,"mutability":"mutable","name":"amount","nameLocation":"1454:6:37","nodeType":"VariableDeclaration","scope":37711,"src":"1446:14:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37705,"name":"uint256","nodeType":"ElementaryTypeName","src":"1446:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1428:33:37"},"returnParameters":{"id":37710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37709,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37711,"src":"1480:4:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37708,"name":"bool","nodeType":"ElementaryTypeName","src":"1480:4:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1479:6:37"},"scope":37742,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":37723,"nodeType":"FunctionDefinition","src":"1644:88:37","nodes":[],"documentation":{"id":37712,"nodeType":"StructuredDocumentation","src":"1492:147:37","text":"@notice Moves `amount` tokens from `from` to `to` using the allowance mechanism.\n `amount` is then deducted from the caller's allowance."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1653:12:37","parameters":{"id":37719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37714,"mutability":"mutable","name":"from","nameLocation":"1674:4:37","nodeType":"VariableDeclaration","scope":37723,"src":"1666:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37713,"name":"address","nodeType":"ElementaryTypeName","src":"1666:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37716,"mutability":"mutable","name":"to","nameLocation":"1688:2:37","nodeType":"VariableDeclaration","scope":37723,"src":"1680:10:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37715,"name":"address","nodeType":"ElementaryTypeName","src":"1680:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37718,"mutability":"mutable","name":"amount","nameLocation":"1700:6:37","nodeType":"VariableDeclaration","scope":37723,"src":"1692:14:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37717,"name":"uint256","nodeType":"ElementaryTypeName","src":"1692:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1665:42:37"},"returnParameters":{"id":37722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37721,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37723,"src":"1726:4:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37720,"name":"bool","nodeType":"ElementaryTypeName","src":"1726:4:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1725:6:37"},"scope":37742,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":37729,"nodeType":"FunctionDefinition","src":"1785:54:37","nodes":[],"documentation":{"id":37724,"nodeType":"StructuredDocumentation","src":"1738:42:37","text":"@notice Returns the name of the token."},"functionSelector":"06fdde03","implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"1794:4:37","parameters":{"id":37725,"nodeType":"ParameterList","parameters":[],"src":"1798:2:37"},"returnParameters":{"id":37728,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37727,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37729,"src":"1824:13:37","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":37726,"name":"string","nodeType":"ElementaryTypeName","src":"1824:6:37","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1823:15:37"},"scope":37742,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37735,"nodeType":"FunctionDefinition","src":"1894:56:37","nodes":[],"documentation":{"id":37730,"nodeType":"StructuredDocumentation","src":"1845:44:37","text":"@notice Returns the symbol of the token."},"functionSelector":"95d89b41","implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"1903:6:37","parameters":{"id":37731,"nodeType":"ParameterList","parameters":[],"src":"1909:2:37"},"returnParameters":{"id":37734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37733,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37735,"src":"1935:13:37","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":37732,"name":"string","nodeType":"ElementaryTypeName","src":"1935:6:37","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1934:15:37"},"scope":37742,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37741,"nodeType":"FunctionDefinition","src":"2014:50:37","nodes":[],"documentation":{"id":37736,"nodeType":"StructuredDocumentation","src":"1956:53:37","text":"@notice Returns the decimals places of the token."},"functionSelector":"313ce567","implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"2023:8:37","parameters":{"id":37737,"nodeType":"ParameterList","parameters":[],"src":"2031:2:37"},"returnParameters":{"id":37740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37739,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37741,"src":"2057:5:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":37738,"name":"uint8","nodeType":"ElementaryTypeName","src":"2057:5:37","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2056:7:37"},"scope":37742,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":37649,"nodeType":"StructuredDocumentation","src":"58:137:37","text":"@dev Interface of the ERC20 standard as defined in the EIP.\n @dev This includes the optional name, symbol, and decimals metadata."},"fullyImplemented":false,"linearizedBaseContracts":[37742],"name":"IERC20","nameLocation":"205:6:37","scope":37743,"usedErrors":[]}],"license":"MIT"},"id":37} \ No newline at end of file +{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.This includes the optional name, symbol, and decimals metadata.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set, where `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`).\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allowance(address,address)\":{\"notice\":\"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`\"},\"approve(address,uint256)\":{\"notice\":\"Sets `amount` as the allowance of `spender` over the caller's tokens.\"},\"balanceOf(address)\":{\"notice\":\"Returns the amount of tokens owned by `account`.\"},\"decimals()\":{\"notice\":\"Returns the decimals places of the token.\"},\"name()\":{\"notice\":\"Returns the name of the token.\"},\"symbol()\":{\"notice\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"notice\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"notice\":\"Moves `amount` tokens from the caller's account to `to`.\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/interfaces/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"}},"version":1},"userdoc":{"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`"},"approve(address,uint256)":{"notice":"Sets `amount` as the allowance of `spender` over the caller's tokens."},"balanceOf(address)":{"notice":"Returns the amount of tokens owned by `account`."},"decimals()":{"notice":"Returns the decimals places of the token."},"name()":{"notice":"Returns the name of the token."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"notice":"Moves `amount` tokens from the caller's account to `to`."},"transferFrom(address,address,uint256)":{"notice":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/interfaces/IERC20.sol":"IERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/forge-std/src/interfaces/IERC20.sol","id":37743,"exportedSymbols":{"IERC20":[37742]},"nodeType":"SourceUnit","src":"32:2035:37","nodes":[{"id":37648,"nodeType":"PragmaDirective","src":"32:24:37","nodes":[],"literals":["solidity",">=","0.6",".2"]},{"id":37742,"nodeType":"ContractDefinition","src":"195:1871:37","nodes":[{"id":37658,"nodeType":"EventDefinition","src":"314:72:37","nodes":[],"anonymous":false,"documentation":{"id":37650,"nodeType":"StructuredDocumentation","src":"218:91:37","text":"@dev Emitted when `value` tokens are moved from one account (`from`) to another (`to`)."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"320:8:37","parameters":{"id":37657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37652,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"345:4:37","nodeType":"VariableDeclaration","scope":37658,"src":"329:20:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37651,"name":"address","nodeType":"ElementaryTypeName","src":"329:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37654,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"367:2:37","nodeType":"VariableDeclaration","scope":37658,"src":"351:18:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37653,"name":"address","nodeType":"ElementaryTypeName","src":"351:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37656,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"379:5:37","nodeType":"VariableDeclaration","scope":37658,"src":"371:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37655,"name":"uint256","nodeType":"ElementaryTypeName","src":"371:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"328:57:37"}},{"id":37667,"nodeType":"EventDefinition","src":"514:78:37","nodes":[],"anonymous":false,"documentation":{"id":37659,"nodeType":"StructuredDocumentation","src":"392:117:37","text":"@dev Emitted when the allowance of a `spender` for an `owner` is set, where `value`\n is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"520:8:37","parameters":{"id":37666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37661,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"545:5:37","nodeType":"VariableDeclaration","scope":37667,"src":"529:21:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37660,"name":"address","nodeType":"ElementaryTypeName","src":"529:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37663,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"568:7:37","nodeType":"VariableDeclaration","scope":37667,"src":"552:23:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37662,"name":"address","nodeType":"ElementaryTypeName","src":"552:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37665,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"585:5:37","nodeType":"VariableDeclaration","scope":37667,"src":"577:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37664,"name":"uint256","nodeType":"ElementaryTypeName","src":"577:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"528:63:37"}},{"id":37673,"nodeType":"FunctionDefinition","src":"657:55:37","nodes":[],"documentation":{"id":37668,"nodeType":"StructuredDocumentation","src":"598:54:37","text":"@notice Returns the amount of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"666:11:37","parameters":{"id":37669,"nodeType":"ParameterList","parameters":[],"src":"677:2:37"},"returnParameters":{"id":37672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37671,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37673,"src":"703:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37670,"name":"uint256","nodeType":"ElementaryTypeName","src":"703:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"702:9:37"},"scope":37742,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37681,"nodeType":"FunctionDefinition","src":"783:68:37","nodes":[],"documentation":{"id":37674,"nodeType":"StructuredDocumentation","src":"718:60:37","text":"@notice Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"792:9:37","parameters":{"id":37677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37676,"mutability":"mutable","name":"account","nameLocation":"810:7:37","nodeType":"VariableDeclaration","scope":37681,"src":"802:15:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37675,"name":"address","nodeType":"ElementaryTypeName","src":"802:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"801:17:37"},"returnParameters":{"id":37680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37679,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37681,"src":"842:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37678,"name":"uint256","nodeType":"ElementaryTypeName","src":"842:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"841:9:37"},"scope":37742,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37691,"nodeType":"FunctionDefinition","src":"930:70:37","nodes":[],"documentation":{"id":37682,"nodeType":"StructuredDocumentation","src":"857:68:37","text":"@notice Moves `amount` tokens from the caller's account to `to`."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"939:8:37","parameters":{"id":37687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37684,"mutability":"mutable","name":"to","nameLocation":"956:2:37","nodeType":"VariableDeclaration","scope":37691,"src":"948:10:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37683,"name":"address","nodeType":"ElementaryTypeName","src":"948:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37686,"mutability":"mutable","name":"amount","nameLocation":"968:6:37","nodeType":"VariableDeclaration","scope":37691,"src":"960:14:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37685,"name":"uint256","nodeType":"ElementaryTypeName","src":"960:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"947:28:37"},"returnParameters":{"id":37690,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37689,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37691,"src":"994:4:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37688,"name":"bool","nodeType":"ElementaryTypeName","src":"994:4:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"993:6:37"},"scope":37742,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":37701,"nodeType":"FunctionDefinition","src":"1125:83:37","nodes":[],"documentation":{"id":37692,"nodeType":"StructuredDocumentation","src":"1006:114:37","text":"@notice Returns the remaining number of tokens that `spender` is allowed\n to spend on behalf of `owner`"},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1134:9:37","parameters":{"id":37697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37694,"mutability":"mutable","name":"owner","nameLocation":"1152:5:37","nodeType":"VariableDeclaration","scope":37701,"src":"1144:13:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37693,"name":"address","nodeType":"ElementaryTypeName","src":"1144:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37696,"mutability":"mutable","name":"spender","nameLocation":"1167:7:37","nodeType":"VariableDeclaration","scope":37701,"src":"1159:15:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37695,"name":"address","nodeType":"ElementaryTypeName","src":"1159:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1143:32:37"},"returnParameters":{"id":37700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37699,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37701,"src":"1199:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37698,"name":"uint256","nodeType":"ElementaryTypeName","src":"1199:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1198:9:37"},"scope":37742,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37711,"nodeType":"FunctionDefinition","src":"1412:74:37","nodes":[],"documentation":{"id":37702,"nodeType":"StructuredDocumentation","src":"1214:193:37","text":"@notice Sets `amount` as the allowance of `spender` over the caller's tokens.\n @dev Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"1421:7:37","parameters":{"id":37707,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37704,"mutability":"mutable","name":"spender","nameLocation":"1437:7:37","nodeType":"VariableDeclaration","scope":37711,"src":"1429:15:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37703,"name":"address","nodeType":"ElementaryTypeName","src":"1429:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37706,"mutability":"mutable","name":"amount","nameLocation":"1454:6:37","nodeType":"VariableDeclaration","scope":37711,"src":"1446:14:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37705,"name":"uint256","nodeType":"ElementaryTypeName","src":"1446:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1428:33:37"},"returnParameters":{"id":37710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37709,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37711,"src":"1480:4:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37708,"name":"bool","nodeType":"ElementaryTypeName","src":"1480:4:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1479:6:37"},"scope":37742,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":37723,"nodeType":"FunctionDefinition","src":"1644:88:37","nodes":[],"documentation":{"id":37712,"nodeType":"StructuredDocumentation","src":"1492:147:37","text":"@notice Moves `amount` tokens from `from` to `to` using the allowance mechanism.\n `amount` is then deducted from the caller's allowance."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1653:12:37","parameters":{"id":37719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37714,"mutability":"mutable","name":"from","nameLocation":"1674:4:37","nodeType":"VariableDeclaration","scope":37723,"src":"1666:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37713,"name":"address","nodeType":"ElementaryTypeName","src":"1666:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37716,"mutability":"mutable","name":"to","nameLocation":"1688:2:37","nodeType":"VariableDeclaration","scope":37723,"src":"1680:10:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37715,"name":"address","nodeType":"ElementaryTypeName","src":"1680:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37718,"mutability":"mutable","name":"amount","nameLocation":"1700:6:37","nodeType":"VariableDeclaration","scope":37723,"src":"1692:14:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37717,"name":"uint256","nodeType":"ElementaryTypeName","src":"1692:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1665:42:37"},"returnParameters":{"id":37722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37721,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37723,"src":"1726:4:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37720,"name":"bool","nodeType":"ElementaryTypeName","src":"1726:4:37","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1725:6:37"},"scope":37742,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":37729,"nodeType":"FunctionDefinition","src":"1785:54:37","nodes":[],"documentation":{"id":37724,"nodeType":"StructuredDocumentation","src":"1738:42:37","text":"@notice Returns the name of the token."},"functionSelector":"06fdde03","implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"1794:4:37","parameters":{"id":37725,"nodeType":"ParameterList","parameters":[],"src":"1798:2:37"},"returnParameters":{"id":37728,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37727,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37729,"src":"1824:13:37","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":37726,"name":"string","nodeType":"ElementaryTypeName","src":"1824:6:37","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1823:15:37"},"scope":37742,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37735,"nodeType":"FunctionDefinition","src":"1894:56:37","nodes":[],"documentation":{"id":37730,"nodeType":"StructuredDocumentation","src":"1845:44:37","text":"@notice Returns the symbol of the token."},"functionSelector":"95d89b41","implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"1903:6:37","parameters":{"id":37731,"nodeType":"ParameterList","parameters":[],"src":"1909:2:37"},"returnParameters":{"id":37734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37733,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37735,"src":"1935:13:37","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":37732,"name":"string","nodeType":"ElementaryTypeName","src":"1935:6:37","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1934:15:37"},"scope":37742,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37741,"nodeType":"FunctionDefinition","src":"2014:50:37","nodes":[],"documentation":{"id":37736,"nodeType":"StructuredDocumentation","src":"1956:53:37","text":"@notice Returns the decimals places of the token."},"functionSelector":"313ce567","implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"2023:8:37","parameters":{"id":37737,"nodeType":"ParameterList","parameters":[],"src":"2031:2:37"},"returnParameters":{"id":37740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37739,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37741,"src":"2057:5:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":37738,"name":"uint8","nodeType":"ElementaryTypeName","src":"2057:5:37","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2056:7:37"},"scope":37742,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":37649,"nodeType":"StructuredDocumentation","src":"58:137:37","text":"@dev Interface of the ERC20 standard as defined in the EIP.\n @dev This includes the optional name, symbol, and decimals metadata."},"fullyImplemented":false,"linearizedBaseContracts":[37742],"name":"IERC20","nameLocation":"205:6:37","scope":37743,"usedErrors":[]}],"license":"MIT"},"id":37} \ No newline at end of file diff --git a/pkg/contracts/out/IERC20Metadata.sol/IERC20Metadata.json b/pkg/contracts/out/IERC20Metadata.sol/IERC20Metadata.json index d8e95bba0..b78de75ce 100644 --- a/pkg/contracts/out/IERC20Metadata.sol/IERC20Metadata.json +++ b/pkg/contracts/out/IERC20Metadata.sol/IERC20Metadata.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the optional metadata functions from the ERC20 standard. _Available since v4.1._\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":\"IERC20Metadata\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"decimals()":{"details":"Returns the decimals places of the token."},"name()":{"details":"Returns the name of the token."},"symbol()":{"details":"Returns the symbol of the token."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":"IERC20Metadata"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol","id":56554,"exportedSymbols":{"IERC20":[56528],"IERC20Metadata":[56553]},"nodeType":"SourceUnit","src":"110:573:71","nodes":[{"id":56530,"nodeType":"PragmaDirective","src":"110:23:71","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":56531,"nodeType":"ImportDirective","src":"135:23:71","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"../IERC20.sol","nameLocation":"-1:-1:-1","scope":56554,"sourceUnit":56529,"symbolAliases":[],"unitAlias":""},{"id":56553,"nodeType":"ContractDefinition","src":"277:405:71","nodes":[{"id":56540,"nodeType":"FunctionDefinition","src":"377:54:71","nodes":[],"documentation":{"id":56535,"nodeType":"StructuredDocumentation","src":"318:54:71","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"386:4:71","parameters":{"id":56536,"nodeType":"ParameterList","parameters":[],"src":"390:2:71"},"returnParameters":{"id":56539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56538,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56540,"src":"416:13:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56537,"name":"string","nodeType":"ElementaryTypeName","src":"416:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"415:15:71"},"scope":56553,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":56546,"nodeType":"FunctionDefinition","src":"498:56:71","nodes":[],"documentation":{"id":56541,"nodeType":"StructuredDocumentation","src":"437:56:71","text":" @dev Returns the symbol of the token."},"functionSelector":"95d89b41","implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"507:6:71","parameters":{"id":56542,"nodeType":"ParameterList","parameters":[],"src":"513:2:71"},"returnParameters":{"id":56545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56544,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56546,"src":"539:13:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56543,"name":"string","nodeType":"ElementaryTypeName","src":"539:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"538:15:71"},"scope":56553,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":56552,"nodeType":"FunctionDefinition","src":"630:50:71","nodes":[],"documentation":{"id":56547,"nodeType":"StructuredDocumentation","src":"560:65:71","text":" @dev Returns the decimals places of the token."},"functionSelector":"313ce567","implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"639:8:71","parameters":{"id":56548,"nodeType":"ParameterList","parameters":[],"src":"647:2:71"},"returnParameters":{"id":56551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56550,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56552,"src":"673:5:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56549,"name":"uint8","nodeType":"ElementaryTypeName","src":"673:5:71","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"672:7:71"},"scope":56553,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":56533,"name":"IERC20","nameLocations":["305:6:71"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"305:6:71"},"id":56534,"nodeType":"InheritanceSpecifier","src":"305:6:71"}],"canonicalName":"IERC20Metadata","contractDependencies":[],"contractKind":"interface","documentation":{"id":56532,"nodeType":"StructuredDocumentation","src":"160:116:71","text":" @dev Interface for the optional metadata functions from the ERC20 standard.\n _Available since v4.1._"},"fullyImplemented":false,"linearizedBaseContracts":[56553,56528],"name":"IERC20Metadata","nameLocation":"287:14:71","scope":56554,"usedErrors":[]}],"license":"MIT"},"id":71} \ No newline at end of file +{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the optional metadata functions from the ERC20 standard. _Available since v4.1._\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":\"IERC20Metadata\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"decimals()":{"details":"Returns the decimals places of the token."},"name()":{"details":"Returns the name of the token."},"symbol()":{"details":"Returns the symbol of the token."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":"IERC20Metadata"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol","id":56554,"exportedSymbols":{"IERC20":[56528],"IERC20Metadata":[56553]},"nodeType":"SourceUnit","src":"110:573:71","nodes":[{"id":56530,"nodeType":"PragmaDirective","src":"110:23:71","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":56531,"nodeType":"ImportDirective","src":"135:23:71","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"../IERC20.sol","nameLocation":"-1:-1:-1","scope":56554,"sourceUnit":56529,"symbolAliases":[],"unitAlias":""},{"id":56553,"nodeType":"ContractDefinition","src":"277:405:71","nodes":[{"id":56540,"nodeType":"FunctionDefinition","src":"377:54:71","nodes":[],"documentation":{"id":56535,"nodeType":"StructuredDocumentation","src":"318:54:71","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"386:4:71","parameters":{"id":56536,"nodeType":"ParameterList","parameters":[],"src":"390:2:71"},"returnParameters":{"id":56539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56538,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56540,"src":"416:13:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56537,"name":"string","nodeType":"ElementaryTypeName","src":"416:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"415:15:71"},"scope":56553,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":56546,"nodeType":"FunctionDefinition","src":"498:56:71","nodes":[],"documentation":{"id":56541,"nodeType":"StructuredDocumentation","src":"437:56:71","text":" @dev Returns the symbol of the token."},"functionSelector":"95d89b41","implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"507:6:71","parameters":{"id":56542,"nodeType":"ParameterList","parameters":[],"src":"513:2:71"},"returnParameters":{"id":56545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56544,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56546,"src":"539:13:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56543,"name":"string","nodeType":"ElementaryTypeName","src":"539:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"538:15:71"},"scope":56553,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":56552,"nodeType":"FunctionDefinition","src":"630:50:71","nodes":[],"documentation":{"id":56547,"nodeType":"StructuredDocumentation","src":"560:65:71","text":" @dev Returns the decimals places of the token."},"functionSelector":"313ce567","implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"639:8:71","parameters":{"id":56548,"nodeType":"ParameterList","parameters":[],"src":"647:2:71"},"returnParameters":{"id":56551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56550,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56552,"src":"673:5:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56549,"name":"uint8","nodeType":"ElementaryTypeName","src":"673:5:71","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"672:7:71"},"scope":56553,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":56533,"name":"IERC20","nameLocations":["305:6:71"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"305:6:71"},"id":56534,"nodeType":"InheritanceSpecifier","src":"305:6:71"}],"canonicalName":"IERC20Metadata","contractDependencies":[],"contractKind":"interface","documentation":{"id":56532,"nodeType":"StructuredDocumentation","src":"160:116:71","text":" @dev Interface for the optional metadata functions from the ERC20 standard.\n _Available since v4.1._"},"fullyImplemented":false,"linearizedBaseContracts":[56553,56528],"name":"IERC20Metadata","nameLocation":"287:14:71","scope":56554,"usedErrors":[]}],"license":"MIT"},"id":71} \ No newline at end of file diff --git a/pkg/contracts/out/IERC20Permit.sol/IERC20Permit.json b/pkg/contracts/out/IERC20Permit.sol/IERC20Permit.json index e295111f6..5c044d5a1 100644 --- a/pkg/contracts/out/IERC20Permit.sol/IERC20Permit.json +++ b/pkg/contracts/out/IERC20Permit.sol/IERC20Permit.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in https://eips.ethereum.org/EIPS/eip-2612[EIP-2612]. Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all.\",\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section].\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":\"IERC20Permit\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"}],"devdoc":{"kind":"dev","methods":{"DOMAIN_SEPARATOR()":{"details":"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}."},"nonces(address)":{"details":"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times."},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":"IERC20Permit"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol","id":56590,"exportedSymbols":{"IERC20Permit":[56589]},"nodeType":"SourceUnit","src":"123:2138:72","nodes":[{"id":56555,"nodeType":"PragmaDirective","src":"123:23:72","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":56589,"nodeType":"ContractDefinition","src":"629:1631:72","nodes":[{"id":56574,"nodeType":"FunctionDefinition","src":"1455:183:72","nodes":[],"documentation":{"id":56557,"nodeType":"StructuredDocumentation","src":"658:792:72","text":" @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,\n given ``owner``'s signed approval.\n IMPORTANT: The same issues {IERC20-approve} has related to transaction\n ordering also apply here.\n Emits an {Approval} event.\n Requirements:\n - `spender` cannot be the zero address.\n - `deadline` must be a timestamp in the future.\n - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner`\n over the EIP712-formatted function arguments.\n - the signature must use ``owner``'s current nonce (see {nonces}).\n For more information on the signature format, see the\n https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP\n section]."},"functionSelector":"d505accf","implemented":false,"kind":"function","modifiers":[],"name":"permit","nameLocation":"1464:6:72","parameters":{"id":56572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56559,"mutability":"mutable","name":"owner","nameLocation":"1488:5:72","nodeType":"VariableDeclaration","scope":56574,"src":"1480:13:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56558,"name":"address","nodeType":"ElementaryTypeName","src":"1480:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56561,"mutability":"mutable","name":"spender","nameLocation":"1511:7:72","nodeType":"VariableDeclaration","scope":56574,"src":"1503:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56560,"name":"address","nodeType":"ElementaryTypeName","src":"1503:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56563,"mutability":"mutable","name":"value","nameLocation":"1536:5:72","nodeType":"VariableDeclaration","scope":56574,"src":"1528:13:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56562,"name":"uint256","nodeType":"ElementaryTypeName","src":"1528:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56565,"mutability":"mutable","name":"deadline","nameLocation":"1559:8:72","nodeType":"VariableDeclaration","scope":56574,"src":"1551:16:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56564,"name":"uint256","nodeType":"ElementaryTypeName","src":"1551:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56567,"mutability":"mutable","name":"v","nameLocation":"1583:1:72","nodeType":"VariableDeclaration","scope":56574,"src":"1577:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56566,"name":"uint8","nodeType":"ElementaryTypeName","src":"1577:5:72","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":56569,"mutability":"mutable","name":"r","nameLocation":"1602:1:72","nodeType":"VariableDeclaration","scope":56574,"src":"1594:9:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56568,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1594:7:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":56571,"mutability":"mutable","name":"s","nameLocation":"1621:1:72","nodeType":"VariableDeclaration","scope":56574,"src":"1613:9:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56570,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1613:7:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1470:158:72"},"returnParameters":{"id":56573,"nodeType":"ParameterList","parameters":[],"src":"1637:0:72"},"scope":56589,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":56582,"nodeType":"FunctionDefinition","src":"1943:63:72","nodes":[],"documentation":{"id":56575,"nodeType":"StructuredDocumentation","src":"1644:294:72","text":" @dev Returns the current nonce for `owner`. This value must be\n included whenever a signature is generated for {permit}.\n Every successful call to {permit} increases ``owner``'s nonce by one. This\n prevents a signature from being used multiple times."},"functionSelector":"7ecebe00","implemented":false,"kind":"function","modifiers":[],"name":"nonces","nameLocation":"1952:6:72","parameters":{"id":56578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56577,"mutability":"mutable","name":"owner","nameLocation":"1967:5:72","nodeType":"VariableDeclaration","scope":56582,"src":"1959:13:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56576,"name":"address","nodeType":"ElementaryTypeName","src":"1959:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1958:15:72"},"returnParameters":{"id":56581,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56580,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56582,"src":"1997:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56579,"name":"uint256","nodeType":"ElementaryTypeName","src":"1997:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1996:9:72"},"scope":56589,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":56588,"nodeType":"FunctionDefinition","src":"2198:60:72","nodes":[],"documentation":{"id":56583,"nodeType":"StructuredDocumentation","src":"2012:128:72","text":" @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}."},"functionSelector":"3644e515","implemented":false,"kind":"function","modifiers":[],"name":"DOMAIN_SEPARATOR","nameLocation":"2207:16:72","parameters":{"id":56584,"nodeType":"ParameterList","parameters":[],"src":"2223:2:72"},"returnParameters":{"id":56587,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56586,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56588,"src":"2249:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56585,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2249:7:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2248:9:72"},"scope":56589,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20Permit","contractDependencies":[],"contractKind":"interface","documentation":{"id":56556,"nodeType":"StructuredDocumentation","src":"148:480:72","text":" @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in\n https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].\n Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by\n presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't\n need to send a transaction, and thus is not required to hold Ether at all."},"fullyImplemented":false,"linearizedBaseContracts":[56589],"name":"IERC20Permit","nameLocation":"639:12:72","scope":56590,"usedErrors":[]}],"license":"MIT"},"id":72} \ No newline at end of file +{"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in https://eips.ethereum.org/EIPS/eip-2612[EIP-2612]. Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all.\",\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section].\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":\"IERC20Permit\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"}],"devdoc":{"kind":"dev","methods":{"DOMAIN_SEPARATOR()":{"details":"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}."},"nonces(address)":{"details":"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times."},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":"IERC20Permit"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol","id":56590,"exportedSymbols":{"IERC20Permit":[56589]},"nodeType":"SourceUnit","src":"123:2138:72","nodes":[{"id":56555,"nodeType":"PragmaDirective","src":"123:23:72","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":56589,"nodeType":"ContractDefinition","src":"629:1631:72","nodes":[{"id":56574,"nodeType":"FunctionDefinition","src":"1455:183:72","nodes":[],"documentation":{"id":56557,"nodeType":"StructuredDocumentation","src":"658:792:72","text":" @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,\n given ``owner``'s signed approval.\n IMPORTANT: The same issues {IERC20-approve} has related to transaction\n ordering also apply here.\n Emits an {Approval} event.\n Requirements:\n - `spender` cannot be the zero address.\n - `deadline` must be a timestamp in the future.\n - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner`\n over the EIP712-formatted function arguments.\n - the signature must use ``owner``'s current nonce (see {nonces}).\n For more information on the signature format, see the\n https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP\n section]."},"functionSelector":"d505accf","implemented":false,"kind":"function","modifiers":[],"name":"permit","nameLocation":"1464:6:72","parameters":{"id":56572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56559,"mutability":"mutable","name":"owner","nameLocation":"1488:5:72","nodeType":"VariableDeclaration","scope":56574,"src":"1480:13:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56558,"name":"address","nodeType":"ElementaryTypeName","src":"1480:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56561,"mutability":"mutable","name":"spender","nameLocation":"1511:7:72","nodeType":"VariableDeclaration","scope":56574,"src":"1503:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56560,"name":"address","nodeType":"ElementaryTypeName","src":"1503:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56563,"mutability":"mutable","name":"value","nameLocation":"1536:5:72","nodeType":"VariableDeclaration","scope":56574,"src":"1528:13:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56562,"name":"uint256","nodeType":"ElementaryTypeName","src":"1528:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56565,"mutability":"mutable","name":"deadline","nameLocation":"1559:8:72","nodeType":"VariableDeclaration","scope":56574,"src":"1551:16:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56564,"name":"uint256","nodeType":"ElementaryTypeName","src":"1551:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56567,"mutability":"mutable","name":"v","nameLocation":"1583:1:72","nodeType":"VariableDeclaration","scope":56574,"src":"1577:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56566,"name":"uint8","nodeType":"ElementaryTypeName","src":"1577:5:72","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":56569,"mutability":"mutable","name":"r","nameLocation":"1602:1:72","nodeType":"VariableDeclaration","scope":56574,"src":"1594:9:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56568,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1594:7:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":56571,"mutability":"mutable","name":"s","nameLocation":"1621:1:72","nodeType":"VariableDeclaration","scope":56574,"src":"1613:9:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56570,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1613:7:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1470:158:72"},"returnParameters":{"id":56573,"nodeType":"ParameterList","parameters":[],"src":"1637:0:72"},"scope":56589,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":56582,"nodeType":"FunctionDefinition","src":"1943:63:72","nodes":[],"documentation":{"id":56575,"nodeType":"StructuredDocumentation","src":"1644:294:72","text":" @dev Returns the current nonce for `owner`. This value must be\n included whenever a signature is generated for {permit}.\n Every successful call to {permit} increases ``owner``'s nonce by one. This\n prevents a signature from being used multiple times."},"functionSelector":"7ecebe00","implemented":false,"kind":"function","modifiers":[],"name":"nonces","nameLocation":"1952:6:72","parameters":{"id":56578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56577,"mutability":"mutable","name":"owner","nameLocation":"1967:5:72","nodeType":"VariableDeclaration","scope":56582,"src":"1959:13:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56576,"name":"address","nodeType":"ElementaryTypeName","src":"1959:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1958:15:72"},"returnParameters":{"id":56581,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56580,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56582,"src":"1997:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56579,"name":"uint256","nodeType":"ElementaryTypeName","src":"1997:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1996:9:72"},"scope":56589,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":56588,"nodeType":"FunctionDefinition","src":"2198:60:72","nodes":[],"documentation":{"id":56583,"nodeType":"StructuredDocumentation","src":"2012:128:72","text":" @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}."},"functionSelector":"3644e515","implemented":false,"kind":"function","modifiers":[],"name":"DOMAIN_SEPARATOR","nameLocation":"2207:16:72","parameters":{"id":56584,"nodeType":"ParameterList","parameters":[],"src":"2223:2:72"},"returnParameters":{"id":56587,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56586,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56588,"src":"2249:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56585,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2249:7:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2248:9:72"},"scope":56589,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20Permit","contractDependencies":[],"contractKind":"interface","documentation":{"id":56556,"nodeType":"StructuredDocumentation","src":"148:480:72","text":" @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in\n https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].\n Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by\n presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't\n need to send a transaction, and thus is not required to hold Ether at all."},"fullyImplemented":false,"linearizedBaseContracts":[56589],"name":"IERC20Permit","nameLocation":"639:12:72","scope":56590,"usedErrors":[]}],"license":"MIT"},"id":72} \ No newline at end of file diff --git a/pkg/contracts/out/IERC20Upgradeable.sol/IERC20Upgradeable.json b/pkg/contracts/out/IERC20Upgradeable.sol/IERC20Upgradeable.json index 0371d7968..cab50a038 100644 --- a/pkg/contracts/out/IERC20Upgradeable.sol/IERC20Upgradeable.json +++ b/pkg/contracts/out/IERC20Upgradeable.sol/IERC20Upgradeable.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":\"IERC20Upgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":"IERC20Upgradeable"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol","id":53316,"exportedSymbols":{"IERC20Upgradeable":[53315]},"nodeType":"SourceUnit","src":"106:2642:49","nodes":[{"id":53239,"nodeType":"PragmaDirective","src":"106:23:49","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":53315,"nodeType":"ContractDefinition","src":"202:2545:49","nodes":[{"id":53249,"nodeType":"EventDefinition","src":"399:72:49","nodes":[],"anonymous":false,"documentation":{"id":53241,"nodeType":"StructuredDocumentation","src":"236:158:49","text":" @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"405:8:49","parameters":{"id":53248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53243,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"430:4:49","nodeType":"VariableDeclaration","scope":53249,"src":"414:20:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53242,"name":"address","nodeType":"ElementaryTypeName","src":"414:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53245,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"452:2:49","nodeType":"VariableDeclaration","scope":53249,"src":"436:18:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53244,"name":"address","nodeType":"ElementaryTypeName","src":"436:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53247,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"464:5:49","nodeType":"VariableDeclaration","scope":53249,"src":"456:13:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53246,"name":"uint256","nodeType":"ElementaryTypeName","src":"456:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"413:57:49"}},{"id":53258,"nodeType":"EventDefinition","src":"630:78:49","nodes":[],"anonymous":false,"documentation":{"id":53250,"nodeType":"StructuredDocumentation","src":"477:148:49","text":" @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"636:8:49","parameters":{"id":53257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53252,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"661:5:49","nodeType":"VariableDeclaration","scope":53258,"src":"645:21:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53251,"name":"address","nodeType":"ElementaryTypeName","src":"645:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53254,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"684:7:49","nodeType":"VariableDeclaration","scope":53258,"src":"668:23:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53253,"name":"address","nodeType":"ElementaryTypeName","src":"668:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53256,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"701:5:49","nodeType":"VariableDeclaration","scope":53258,"src":"693:13:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53255,"name":"uint256","nodeType":"ElementaryTypeName","src":"693:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"644:63:49"}},{"id":53264,"nodeType":"FunctionDefinition","src":"785:55:49","nodes":[],"documentation":{"id":53259,"nodeType":"StructuredDocumentation","src":"714:66:49","text":" @dev Returns the amount of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"794:11:49","parameters":{"id":53260,"nodeType":"ParameterList","parameters":[],"src":"805:2:49"},"returnParameters":{"id":53263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53262,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53264,"src":"831:7:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53261,"name":"uint256","nodeType":"ElementaryTypeName","src":"831:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"830:9:49"},"scope":53315,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":53272,"nodeType":"FunctionDefinition","src":"923:68:49","nodes":[],"documentation":{"id":53265,"nodeType":"StructuredDocumentation","src":"846:72:49","text":" @dev Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"932:9:49","parameters":{"id":53268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53267,"mutability":"mutable","name":"account","nameLocation":"950:7:49","nodeType":"VariableDeclaration","scope":53272,"src":"942:15:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53266,"name":"address","nodeType":"ElementaryTypeName","src":"942:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"941:17:49"},"returnParameters":{"id":53271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53270,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53272,"src":"982:7:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53269,"name":"uint256","nodeType":"ElementaryTypeName","src":"982:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"981:9:49"},"scope":53315,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":53282,"nodeType":"FunctionDefinition","src":"1204:70:49","nodes":[],"documentation":{"id":53273,"nodeType":"StructuredDocumentation","src":"997:202:49","text":" @dev Moves `amount` tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1213:8:49","parameters":{"id":53278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53275,"mutability":"mutable","name":"to","nameLocation":"1230:2:49","nodeType":"VariableDeclaration","scope":53282,"src":"1222:10:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53274,"name":"address","nodeType":"ElementaryTypeName","src":"1222:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53277,"mutability":"mutable","name":"amount","nameLocation":"1242:6:49","nodeType":"VariableDeclaration","scope":53282,"src":"1234:14:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53276,"name":"uint256","nodeType":"ElementaryTypeName","src":"1234:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1221:28:49"},"returnParameters":{"id":53281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53280,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53282,"src":"1268:4:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53279,"name":"bool","nodeType":"ElementaryTypeName","src":"1268:4:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1267:6:49"},"scope":53315,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":53292,"nodeType":"FunctionDefinition","src":"1549:83:49","nodes":[],"documentation":{"id":53283,"nodeType":"StructuredDocumentation","src":"1280:264:49","text":" @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1558:9:49","parameters":{"id":53288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53285,"mutability":"mutable","name":"owner","nameLocation":"1576:5:49","nodeType":"VariableDeclaration","scope":53292,"src":"1568:13:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53284,"name":"address","nodeType":"ElementaryTypeName","src":"1568:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53287,"mutability":"mutable","name":"spender","nameLocation":"1591:7:49","nodeType":"VariableDeclaration","scope":53292,"src":"1583:15:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53286,"name":"address","nodeType":"ElementaryTypeName","src":"1583:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1567:32:49"},"returnParameters":{"id":53291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53290,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53292,"src":"1623:7:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53289,"name":"uint256","nodeType":"ElementaryTypeName","src":"1623:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1622:9:49"},"scope":53315,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":53302,"nodeType":"FunctionDefinition","src":"2285:74:49","nodes":[],"documentation":{"id":53293,"nodeType":"StructuredDocumentation","src":"1638:642:49","text":" @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2294:7:49","parameters":{"id":53298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53295,"mutability":"mutable","name":"spender","nameLocation":"2310:7:49","nodeType":"VariableDeclaration","scope":53302,"src":"2302:15:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53294,"name":"address","nodeType":"ElementaryTypeName","src":"2302:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53297,"mutability":"mutable","name":"amount","nameLocation":"2327:6:49","nodeType":"VariableDeclaration","scope":53302,"src":"2319:14:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53296,"name":"uint256","nodeType":"ElementaryTypeName","src":"2319:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2301:33:49"},"returnParameters":{"id":53301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53302,"src":"2353:4:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53299,"name":"bool","nodeType":"ElementaryTypeName","src":"2353:4:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2352:6:49"},"scope":53315,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":53314,"nodeType":"FunctionDefinition","src":"2657:88:49","nodes":[],"documentation":{"id":53303,"nodeType":"StructuredDocumentation","src":"2365:287:49","text":" @dev Moves `amount` tokens from `from` to `to` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2666:12:49","parameters":{"id":53310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53305,"mutability":"mutable","name":"from","nameLocation":"2687:4:49","nodeType":"VariableDeclaration","scope":53314,"src":"2679:12:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53304,"name":"address","nodeType":"ElementaryTypeName","src":"2679:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53307,"mutability":"mutable","name":"to","nameLocation":"2701:2:49","nodeType":"VariableDeclaration","scope":53314,"src":"2693:10:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53306,"name":"address","nodeType":"ElementaryTypeName","src":"2693:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53309,"mutability":"mutable","name":"amount","nameLocation":"2713:6:49","nodeType":"VariableDeclaration","scope":53314,"src":"2705:14:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53308,"name":"uint256","nodeType":"ElementaryTypeName","src":"2705:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2678:42:49"},"returnParameters":{"id":53313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53312,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53314,"src":"2739:4:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53311,"name":"bool","nodeType":"ElementaryTypeName","src":"2739:4:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2738:6:49"},"scope":53315,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20Upgradeable","contractDependencies":[],"contractKind":"interface","documentation":{"id":53240,"nodeType":"StructuredDocumentation","src":"131:70:49","text":" @dev Interface of the ERC20 standard as defined in the EIP."},"fullyImplemented":false,"linearizedBaseContracts":[53315],"name":"IERC20Upgradeable","nameLocation":"212:17:49","scope":53316,"usedErrors":[]}],"license":"MIT"},"id":49} \ No newline at end of file +{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":\"IERC20Upgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":"IERC20Upgradeable"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol","id":53316,"exportedSymbols":{"IERC20Upgradeable":[53315]},"nodeType":"SourceUnit","src":"106:2642:49","nodes":[{"id":53239,"nodeType":"PragmaDirective","src":"106:23:49","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":53315,"nodeType":"ContractDefinition","src":"202:2545:49","nodes":[{"id":53249,"nodeType":"EventDefinition","src":"399:72:49","nodes":[],"anonymous":false,"documentation":{"id":53241,"nodeType":"StructuredDocumentation","src":"236:158:49","text":" @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"405:8:49","parameters":{"id":53248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53243,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"430:4:49","nodeType":"VariableDeclaration","scope":53249,"src":"414:20:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53242,"name":"address","nodeType":"ElementaryTypeName","src":"414:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53245,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"452:2:49","nodeType":"VariableDeclaration","scope":53249,"src":"436:18:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53244,"name":"address","nodeType":"ElementaryTypeName","src":"436:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53247,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"464:5:49","nodeType":"VariableDeclaration","scope":53249,"src":"456:13:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53246,"name":"uint256","nodeType":"ElementaryTypeName","src":"456:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"413:57:49"}},{"id":53258,"nodeType":"EventDefinition","src":"630:78:49","nodes":[],"anonymous":false,"documentation":{"id":53250,"nodeType":"StructuredDocumentation","src":"477:148:49","text":" @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"636:8:49","parameters":{"id":53257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53252,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"661:5:49","nodeType":"VariableDeclaration","scope":53258,"src":"645:21:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53251,"name":"address","nodeType":"ElementaryTypeName","src":"645:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53254,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"684:7:49","nodeType":"VariableDeclaration","scope":53258,"src":"668:23:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53253,"name":"address","nodeType":"ElementaryTypeName","src":"668:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53256,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"701:5:49","nodeType":"VariableDeclaration","scope":53258,"src":"693:13:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53255,"name":"uint256","nodeType":"ElementaryTypeName","src":"693:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"644:63:49"}},{"id":53264,"nodeType":"FunctionDefinition","src":"785:55:49","nodes":[],"documentation":{"id":53259,"nodeType":"StructuredDocumentation","src":"714:66:49","text":" @dev Returns the amount of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"794:11:49","parameters":{"id":53260,"nodeType":"ParameterList","parameters":[],"src":"805:2:49"},"returnParameters":{"id":53263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53262,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53264,"src":"831:7:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53261,"name":"uint256","nodeType":"ElementaryTypeName","src":"831:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"830:9:49"},"scope":53315,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":53272,"nodeType":"FunctionDefinition","src":"923:68:49","nodes":[],"documentation":{"id":53265,"nodeType":"StructuredDocumentation","src":"846:72:49","text":" @dev Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"932:9:49","parameters":{"id":53268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53267,"mutability":"mutable","name":"account","nameLocation":"950:7:49","nodeType":"VariableDeclaration","scope":53272,"src":"942:15:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53266,"name":"address","nodeType":"ElementaryTypeName","src":"942:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"941:17:49"},"returnParameters":{"id":53271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53270,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53272,"src":"982:7:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53269,"name":"uint256","nodeType":"ElementaryTypeName","src":"982:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"981:9:49"},"scope":53315,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":53282,"nodeType":"FunctionDefinition","src":"1204:70:49","nodes":[],"documentation":{"id":53273,"nodeType":"StructuredDocumentation","src":"997:202:49","text":" @dev Moves `amount` tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1213:8:49","parameters":{"id":53278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53275,"mutability":"mutable","name":"to","nameLocation":"1230:2:49","nodeType":"VariableDeclaration","scope":53282,"src":"1222:10:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53274,"name":"address","nodeType":"ElementaryTypeName","src":"1222:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53277,"mutability":"mutable","name":"amount","nameLocation":"1242:6:49","nodeType":"VariableDeclaration","scope":53282,"src":"1234:14:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53276,"name":"uint256","nodeType":"ElementaryTypeName","src":"1234:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1221:28:49"},"returnParameters":{"id":53281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53280,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53282,"src":"1268:4:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53279,"name":"bool","nodeType":"ElementaryTypeName","src":"1268:4:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1267:6:49"},"scope":53315,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":53292,"nodeType":"FunctionDefinition","src":"1549:83:49","nodes":[],"documentation":{"id":53283,"nodeType":"StructuredDocumentation","src":"1280:264:49","text":" @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1558:9:49","parameters":{"id":53288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53285,"mutability":"mutable","name":"owner","nameLocation":"1576:5:49","nodeType":"VariableDeclaration","scope":53292,"src":"1568:13:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53284,"name":"address","nodeType":"ElementaryTypeName","src":"1568:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53287,"mutability":"mutable","name":"spender","nameLocation":"1591:7:49","nodeType":"VariableDeclaration","scope":53292,"src":"1583:15:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53286,"name":"address","nodeType":"ElementaryTypeName","src":"1583:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1567:32:49"},"returnParameters":{"id":53291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53290,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53292,"src":"1623:7:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53289,"name":"uint256","nodeType":"ElementaryTypeName","src":"1623:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1622:9:49"},"scope":53315,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":53302,"nodeType":"FunctionDefinition","src":"2285:74:49","nodes":[],"documentation":{"id":53293,"nodeType":"StructuredDocumentation","src":"1638:642:49","text":" @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2294:7:49","parameters":{"id":53298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53295,"mutability":"mutable","name":"spender","nameLocation":"2310:7:49","nodeType":"VariableDeclaration","scope":53302,"src":"2302:15:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53294,"name":"address","nodeType":"ElementaryTypeName","src":"2302:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53297,"mutability":"mutable","name":"amount","nameLocation":"2327:6:49","nodeType":"VariableDeclaration","scope":53302,"src":"2319:14:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53296,"name":"uint256","nodeType":"ElementaryTypeName","src":"2319:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2301:33:49"},"returnParameters":{"id":53301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53302,"src":"2353:4:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53299,"name":"bool","nodeType":"ElementaryTypeName","src":"2353:4:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2352:6:49"},"scope":53315,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":53314,"nodeType":"FunctionDefinition","src":"2657:88:49","nodes":[],"documentation":{"id":53303,"nodeType":"StructuredDocumentation","src":"2365:287:49","text":" @dev Moves `amount` tokens from `from` to `to` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2666:12:49","parameters":{"id":53310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53305,"mutability":"mutable","name":"from","nameLocation":"2687:4:49","nodeType":"VariableDeclaration","scope":53314,"src":"2679:12:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53304,"name":"address","nodeType":"ElementaryTypeName","src":"2679:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53307,"mutability":"mutable","name":"to","nameLocation":"2701:2:49","nodeType":"VariableDeclaration","scope":53314,"src":"2693:10:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53306,"name":"address","nodeType":"ElementaryTypeName","src":"2693:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53309,"mutability":"mutable","name":"amount","nameLocation":"2713:6:49","nodeType":"VariableDeclaration","scope":53314,"src":"2705:14:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53308,"name":"uint256","nodeType":"ElementaryTypeName","src":"2705:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2678:42:49"},"returnParameters":{"id":53313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53312,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53314,"src":"2739:4:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53311,"name":"bool","nodeType":"ElementaryTypeName","src":"2739:4:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2738:6:49"},"scope":53315,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20Upgradeable","contractDependencies":[],"contractKind":"interface","documentation":{"id":53240,"nodeType":"StructuredDocumentation","src":"131:70:49","text":" @dev Interface of the ERC20 standard as defined in the EIP."},"fullyImplemented":false,"linearizedBaseContracts":[53315],"name":"IERC20Upgradeable","nameLocation":"212:17:49","scope":53316,"usedErrors":[]}],"license":"MIT"},"id":49} \ No newline at end of file diff --git a/pkg/contracts/out/IRegistry.sol/IRegistry.json b/pkg/contracts/out/IRegistry.sol/IRegistry.json index 3f8ee3957..63434c0ea 100644 --- a/pkg/contracts/out/IRegistry.sol/IRegistry.json +++ b/pkg/contracts/out/IRegistry.sol/IRegistry.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"acceptProfileOwnership","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createProfile","inputs":[{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_name","type":"string","internalType":"string"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_owner","type":"address","internalType":"address"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"profileId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"getProfileByAnchor","inputs":[{"name":"_anchor","type":"address","internalType":"address"}],"outputs":[{"name":"profile","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getProfileById","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"profile","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"isMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"isMemberOfProfile","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"isOwnerOfProfile","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOrMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_account","type":"address","internalType":"address"}],"outputs":[{"name":"isOwnerOrMemberOfProfile","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfileMetadata","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfileName","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_name","type":"string","internalType":"string"}],"outputs":[{"name":"anchor","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfilePendingOwner","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_pendingOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"ProfileCreated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","indexed":false,"internalType":"address"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileMetadataUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"ProfileNameUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfilePendingOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"pendingOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"acceptProfileOwnership(bytes32)":"2497f3c6","addMembers(bytes32,address[])":"5063f361","createProfile(uint256,string,(uint256,string),address,address[])":"3a92f65f","getProfileByAnchor(address)":"dd93da43","getProfileById(bytes32)":"0114cf0a","isMemberOfProfile(bytes32,address)":"0ec1fbac","isOwnerOfProfile(bytes32,address)":"39b86b8c","isOwnerOrMemberOfProfile(bytes32,address)":"5e8a7915","recoverFunds(address,address)":"24ae6a27","removeMembers(bytes32,address[])":"e0cf1e4c","updateProfileMetadata(bytes32,(uint256,string))":"ac402839","updateProfileName(bytes32,string)":"cf189ff2","updateProfilePendingOwner(bytes32,address)":"3b66dacd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"ProfileMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileNameUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ProfileOwnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"ProfilePendingOwnerUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"acceptProfileOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"addMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"createProfile\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_anchor\",\"type\":\"address\"}],\"name\":\"getProfileByAnchor\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"profile\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"getProfileById\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"profile\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isMemberOfProfile\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"isOwnerOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOwnerOfProfile\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isOwnerOrMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOwnerOrMemberOfProfile\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"removeMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updateProfileMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"updateProfileName\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_pendingOwner\",\"type\":\"address\"}],\"name\":\"updateProfilePendingOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"details\":\"The Registry Interface is used to interact with the Allo protocol and create profiles that can be used to interact with the Allo protocol. The Registry is the main contract that all other contracts interact with to get the 'Profile' information needed to interact with the Allo protocol. The Registry is also used to create new profiles and update existing profiles. The Registry is also used to add and remove members from a profile. The Registry will not always be used in a strategy and will depend on the strategy being used.\",\"events\":{\"ProfileCreated(bytes32,uint256,string,(uint256,string),address,address)\":{\"details\":\"Emitted when a profile is created. This will return your anchor address.\"},\"ProfileMetadataUpdated(bytes32,(uint256,string))\":{\"details\":\"Emitted when a profile's metadata is updated.\"},\"ProfileNameUpdated(bytes32,string,address)\":{\"details\":\"Emitted when a profile name is updated. This will update the anchor when the name is updated and return it.\"},\"ProfileOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile owner is updated.\"},\"ProfilePendingOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile pending owner is updated.\"}},\"kind\":\"dev\",\"methods\":{\"acceptProfileOwnership(bytes32)\":{\"details\":\"Accepts the pending 'owner' of the '_profileId' passed in Requirements: Only the pending owner can accept the ownership\",\"params\":{\"_profileId\":\"The 'profileId' to accept the ownership for\"}},\"addMembers(bytes32,address[])\":{\"details\":\"Adds members to the '_profileId' passed in Requirements: Only the 'Profile' owner can add members\",\"params\":{\"_members\":\"The members to add to the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to add members to\"}},\"createProfile(uint256,string,(uint256,string),address,address[])\":{\"details\":\"Creates a new 'Profile' and returns the 'profileId' of the new profile Note: The 'name' and 'nonce' are used to generate the 'anchor' address Requirements: None, anyone can create a new profile\",\"params\":{\"_members\":\"The 'members' to use to generate the 'anchor' address\",\"_metadata\":\"The 'Metadata' to use to generate the 'anchor' address\",\"_name\":\"The name to use to generate the 'anchor' address\",\"_nonce\":\"The nonce to use to generate the 'anchor' address\",\"_owner\":\"The 'owner' to use to generate the 'anchor' address\"},\"returns\":{\"profileId\":\"The 'profileId' of the new profile\"}},\"getProfileByAnchor(address)\":{\"details\":\"Returns the 'Profile' for an '_anchor' passed\",\"params\":{\"_anchor\":\"The 'anchor' to return the 'Profile' for\"},\"returns\":{\"profile\":\"The 'Profile' for the '_anchor' passed\"}},\"getProfileById(bytes32)\":{\"details\":\"Returns the 'Profile' for a '_profileId' passed\",\"params\":{\"_profileId\":\"The 'profileId' to return the 'Profile' for\"},\"returns\":{\"profile\":\"The 'Profile' for the '_profileId' passed\"}},\"isMemberOfProfile(bytes32,address)\":{\"details\":\"Returns a boolean if the '_account' is a member of the '_profileId' passed in\",\"params\":{\"_member\":\"The 'member' to check if they are a member of the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to check if the '_account' is a member of\"},\"returns\":{\"isMemberOfProfile\":\"A boolean if the '_account' is a member of the '_profileId' passed in\"}},\"isOwnerOfProfile(bytes32,address)\":{\"details\":\"Returns a boolean if the '_account' is an owner of the '_profileId' passed in\",\"params\":{\"_owner\":\"The 'owner' to check if they are an owner of the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to check if the '_account' is an owner of\"},\"returns\":{\"isOwnerOfProfile\":\"A boolean if the '_account' is an owner of the '_profileId' passed in\"}},\"isOwnerOrMemberOfProfile(bytes32,address)\":{\"details\":\"Returns a boolean if the '_account' is a member or owner of the '_profileId' passed in\",\"params\":{\"_account\":\"The 'account' to check if they are a member or owner of the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to check if the '_account' is a member or owner of\"},\"returns\":{\"isOwnerOrMemberOfProfile\":\"A boolean if the '_account' is a member or owner of the '_profileId' passed in\"}},\"recoverFunds(address,address)\":{\"details\":\"Recovers funds from the contract Requirements: Must be the Allo owner\",\"params\":{\"_recipient\":\"The recipient of the recovered funds\",\"_token\":\"The token you want to use to recover funds\"}},\"removeMembers(bytes32,address[])\":{\"details\":\"Removes members from the '_profileId' passed in Requirements: Only the 'Profile' owner can remove members\",\"params\":{\"_members\":\"The members to remove from the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to remove members from\"}},\"updateProfileMetadata(bytes32,(uint256,string))\":{\"details\":\"Updates the 'Metadata' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the metadata\",\"params\":{\"_metadata\":\"The new 'Metadata' value\",\"_profileId\":\"The 'profileId' to update the metadata for\"}},\"updateProfileName(bytes32,string)\":{\"details\":\"Updates the 'name' of the '_profileId' passed in and returns the new 'anchor' address Requirements: Only the 'Profile' owner can update the name Note: The 'name' and 'nonce' are used to generate the 'anchor' address and this will update the 'anchor' so please use caution. You can always recreate your 'anchor' address by updating the name back to the original name used to create the profile.\",\"params\":{\"_name\":\"The new 'name' value\",\"_profileId\":\"The 'profileId' to update the name for\"},\"returns\":{\"anchor\":\"The new 'anchor' address\"}},\"updateProfilePendingOwner(bytes32,address)\":{\"details\":\"Updates the pending 'owner' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the pending owner\",\"params\":{\"_pendingOwner\":\"The new pending 'owner' value\",\"_profileId\":\"The 'profileId' to update the pending owner for\"}}},\"title\":\"IRegistry Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for the Registry contract and exposes all functions needed to use the Registry within the Allo protocol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":\"IRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false},{"internalType":"address","name":"owner","type":"address","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileCreated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"ProfileMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileNameUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":false}],"type":"event","name":"ProfileOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"pendingOwner","type":"address","indexed":false}],"type":"event","name":"ProfilePendingOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"acceptProfileOwnership"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"addMembers"},{"inputs":[{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"createProfile","outputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_anchor","type":"address"}],"stateMutability":"view","type":"function","name":"getProfileByAnchor","outputs":[{"internalType":"struct IRegistry.Profile","name":"profile","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getProfileById","outputs":[{"internalType":"struct IRegistry.Profile","name":"profile","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isMemberOfProfile","outputs":[{"internalType":"bool","name":"isMemberOfProfile","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOfProfile","outputs":[{"internalType":"bool","name":"isOwnerOfProfile","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_account","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOrMemberOfProfile","outputs":[{"internalType":"bool","name":"isOwnerOrMemberOfProfile","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"removeMembers"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updateProfileMetadata"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateProfileName","outputs":[{"internalType":"address","name":"anchor","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_pendingOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateProfilePendingOwner"}],"devdoc":{"kind":"dev","methods":{"acceptProfileOwnership(bytes32)":{"details":"Accepts the pending 'owner' of the '_profileId' passed in Requirements: Only the pending owner can accept the ownership","params":{"_profileId":"The 'profileId' to accept the ownership for"}},"addMembers(bytes32,address[])":{"details":"Adds members to the '_profileId' passed in Requirements: Only the 'Profile' owner can add members","params":{"_members":"The members to add to the '_profileId' passed in","_profileId":"The 'profileId' to add members to"}},"createProfile(uint256,string,(uint256,string),address,address[])":{"details":"Creates a new 'Profile' and returns the 'profileId' of the new profile Note: The 'name' and 'nonce' are used to generate the 'anchor' address Requirements: None, anyone can create a new profile","params":{"_members":"The 'members' to use to generate the 'anchor' address","_metadata":"The 'Metadata' to use to generate the 'anchor' address","_name":"The name to use to generate the 'anchor' address","_nonce":"The nonce to use to generate the 'anchor' address","_owner":"The 'owner' to use to generate the 'anchor' address"},"returns":{"profileId":"The 'profileId' of the new profile"}},"getProfileByAnchor(address)":{"details":"Returns the 'Profile' for an '_anchor' passed","params":{"_anchor":"The 'anchor' to return the 'Profile' for"},"returns":{"profile":"The 'Profile' for the '_anchor' passed"}},"getProfileById(bytes32)":{"details":"Returns the 'Profile' for a '_profileId' passed","params":{"_profileId":"The 'profileId' to return the 'Profile' for"},"returns":{"profile":"The 'Profile' for the '_profileId' passed"}},"isMemberOfProfile(bytes32,address)":{"details":"Returns a boolean if the '_account' is a member of the '_profileId' passed in","params":{"_member":"The 'member' to check if they are a member of the '_profileId' passed in","_profileId":"The 'profileId' to check if the '_account' is a member of"},"returns":{"isMemberOfProfile":"A boolean if the '_account' is a member of the '_profileId' passed in"}},"isOwnerOfProfile(bytes32,address)":{"details":"Returns a boolean if the '_account' is an owner of the '_profileId' passed in","params":{"_owner":"The 'owner' to check if they are an owner of the '_profileId' passed in","_profileId":"The 'profileId' to check if the '_account' is an owner of"},"returns":{"isOwnerOfProfile":"A boolean if the '_account' is an owner of the '_profileId' passed in"}},"isOwnerOrMemberOfProfile(bytes32,address)":{"details":"Returns a boolean if the '_account' is a member or owner of the '_profileId' passed in","params":{"_account":"The 'account' to check if they are a member or owner of the '_profileId' passed in","_profileId":"The 'profileId' to check if the '_account' is a member or owner of"},"returns":{"isOwnerOrMemberOfProfile":"A boolean if the '_account' is a member or owner of the '_profileId' passed in"}},"recoverFunds(address,address)":{"details":"Recovers funds from the contract Requirements: Must be the Allo owner","params":{"_recipient":"The recipient of the recovered funds","_token":"The token you want to use to recover funds"}},"removeMembers(bytes32,address[])":{"details":"Removes members from the '_profileId' passed in Requirements: Only the 'Profile' owner can remove members","params":{"_members":"The members to remove from the '_profileId' passed in","_profileId":"The 'profileId' to remove members from"}},"updateProfileMetadata(bytes32,(uint256,string))":{"details":"Updates the 'Metadata' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the metadata","params":{"_metadata":"The new 'Metadata' value","_profileId":"The 'profileId' to update the metadata for"}},"updateProfileName(bytes32,string)":{"details":"Updates the 'name' of the '_profileId' passed in and returns the new 'anchor' address Requirements: Only the 'Profile' owner can update the name Note: The 'name' and 'nonce' are used to generate the 'anchor' address and this will update the 'anchor' so please use caution. You can always recreate your 'anchor' address by updating the name back to the original name used to create the profile.","params":{"_name":"The new 'name' value","_profileId":"The 'profileId' to update the name for"},"returns":{"anchor":"The new 'anchor' address"}},"updateProfilePendingOwner(bytes32,address)":{"details":"Updates the pending 'owner' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the pending owner","params":{"_pendingOwner":"The new pending 'owner' value","_profileId":"The 'profileId' to update the pending owner for"}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":"IRegistry"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","id":2803,"exportedSymbols":{"IRegistry":[2802],"Metadata":[3098]},"nodeType":"SourceUnit","src":"32:12410:4","nodes":[{"id":2612,"nodeType":"PragmaDirective","src":"32:24:4","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":2614,"nodeType":"ImportDirective","src":"80:51:4","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":2803,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":2613,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"88:8:4","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2802,"nodeType":"ContractDefinition","src":"5055:7386:4","nodes":[{"id":2629,"nodeType":"StructDefinition","src":"5240:160:4","nodes":[],"canonicalName":"IRegistry.Profile","members":[{"constant":false,"id":2617,"mutability":"mutable","name":"id","nameLocation":"5273:2:4","nodeType":"VariableDeclaration","scope":2629,"src":"5265:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2616,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5265:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2619,"mutability":"mutable","name":"nonce","nameLocation":"5293:5:4","nodeType":"VariableDeclaration","scope":2629,"src":"5285:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2618,"name":"uint256","nodeType":"ElementaryTypeName","src":"5285:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2621,"mutability":"mutable","name":"name","nameLocation":"5315:4:4","nodeType":"VariableDeclaration","scope":2629,"src":"5308:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":2620,"name":"string","nodeType":"ElementaryTypeName","src":"5308:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2624,"mutability":"mutable","name":"metadata","nameLocation":"5338:8:4","nodeType":"VariableDeclaration","scope":2629,"src":"5329:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":2623,"nodeType":"UserDefinedTypeName","pathNode":{"id":2622,"name":"Metadata","nameLocations":["5329:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5329:8:4"},"referencedDeclaration":3098,"src":"5329:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2626,"mutability":"mutable","name":"owner","nameLocation":"5364:5:4","nodeType":"VariableDeclaration","scope":2629,"src":"5356:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2625,"name":"address","nodeType":"ElementaryTypeName","src":"5356:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2628,"mutability":"mutable","name":"anchor","nameLocation":"5387:6:4","nodeType":"VariableDeclaration","scope":2629,"src":"5379:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2627,"name":"address","nodeType":"ElementaryTypeName","src":"5379:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"Profile","nameLocation":"5247:7:4","scope":2802,"visibility":"public"},{"id":2645,"nodeType":"EventDefinition","src":"5586:140:4","nodes":[],"anonymous":false,"documentation":{"id":2630,"nodeType":"StructuredDocumentation","src":"5500:81:4","text":"@dev Emitted when a profile is created. This will return your anchor address."},"eventSelector":"1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b80609","name":"ProfileCreated","nameLocation":"5592:14:4","parameters":{"id":2644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2632,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"5632:9:4","nodeType":"VariableDeclaration","scope":2645,"src":"5616:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2631,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5616:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2634,"indexed":false,"mutability":"mutable","name":"nonce","nameLocation":"5651:5:4","nodeType":"VariableDeclaration","scope":2645,"src":"5643:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2633,"name":"uint256","nodeType":"ElementaryTypeName","src":"5643:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2636,"indexed":false,"mutability":"mutable","name":"name","nameLocation":"5665:4:4","nodeType":"VariableDeclaration","scope":2645,"src":"5658:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2635,"name":"string","nodeType":"ElementaryTypeName","src":"5658:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2639,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"5680:8:4","nodeType":"VariableDeclaration","scope":2645,"src":"5671:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2638,"nodeType":"UserDefinedTypeName","pathNode":{"id":2637,"name":"Metadata","nameLocations":["5671:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5671:8:4"},"referencedDeclaration":3098,"src":"5671:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2641,"indexed":false,"mutability":"mutable","name":"owner","nameLocation":"5698:5:4","nodeType":"VariableDeclaration","scope":2645,"src":"5690:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2640,"name":"address","nodeType":"ElementaryTypeName","src":"5690:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2643,"indexed":false,"mutability":"mutable","name":"anchor","nameLocation":"5713:6:4","nodeType":"VariableDeclaration","scope":2645,"src":"5705:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2642,"name":"address","nodeType":"ElementaryTypeName","src":"5705:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5606:119:4"}},{"id":2654,"nodeType":"EventDefinition","src":"5853:81:4","nodes":[],"anonymous":false,"documentation":{"id":2646,"nodeType":"StructuredDocumentation","src":"5732:116:4","text":"@dev Emitted when a profile name is updated. This will update the anchor when the name is updated and return it."},"eventSelector":"54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f","name":"ProfileNameUpdated","nameLocation":"5859:18:4","parameters":{"id":2653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2648,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"5894:9:4","nodeType":"VariableDeclaration","scope":2654,"src":"5878:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2647,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5878:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2650,"indexed":false,"mutability":"mutable","name":"name","nameLocation":"5912:4:4","nodeType":"VariableDeclaration","scope":2654,"src":"5905:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2649,"name":"string","nodeType":"ElementaryTypeName","src":"5905:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2652,"indexed":false,"mutability":"mutable","name":"anchor","nameLocation":"5926:6:4","nodeType":"VariableDeclaration","scope":2654,"src":"5918:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2651,"name":"address","nodeType":"ElementaryTypeName","src":"5918:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5877:56:4"}},{"id":2662,"nodeType":"EventDefinition","src":"5999:75:4","nodes":[],"anonymous":false,"documentation":{"id":2655,"nodeType":"StructuredDocumentation","src":"5940:54:4","text":"@dev Emitted when a profile's metadata is updated."},"eventSelector":"a366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3","name":"ProfileMetadataUpdated","nameLocation":"6005:22:4","parameters":{"id":2661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2657,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"6044:9:4","nodeType":"VariableDeclaration","scope":2662,"src":"6028:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2656,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6028:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2660,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"6064:8:4","nodeType":"VariableDeclaration","scope":2662,"src":"6055:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2659,"nodeType":"UserDefinedTypeName","pathNode":{"id":2658,"name":"Metadata","nameLocations":["6055:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"6055:8:4"},"referencedDeclaration":3098,"src":"6055:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"6027:46:4"}},{"id":2669,"nodeType":"EventDefinition","src":"6134:68:4","nodes":[],"anonymous":false,"documentation":{"id":2663,"nodeType":"StructuredDocumentation","src":"6080:49:4","text":"@dev Emitted when a profile owner is updated."},"eventSelector":"fd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d","name":"ProfileOwnerUpdated","nameLocation":"6140:19:4","parameters":{"id":2668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2665,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"6176:9:4","nodeType":"VariableDeclaration","scope":2669,"src":"6160:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2664,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6160:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2667,"indexed":false,"mutability":"mutable","name":"owner","nameLocation":"6195:5:4","nodeType":"VariableDeclaration","scope":2669,"src":"6187:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2666,"name":"address","nodeType":"ElementaryTypeName","src":"6187:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6159:42:4"}},{"id":2676,"nodeType":"EventDefinition","src":"6270:82:4","nodes":[],"anonymous":false,"documentation":{"id":2670,"nodeType":"StructuredDocumentation","src":"6208:57:4","text":"@dev Emitted when a profile pending owner is updated."},"eventSelector":"21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8","name":"ProfilePendingOwnerUpdated","nameLocation":"6276:26:4","parameters":{"id":2675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2672,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"6319:9:4","nodeType":"VariableDeclaration","scope":2676,"src":"6303:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2671,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6303:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2674,"indexed":false,"mutability":"mutable","name":"pendingOwner","nameLocation":"6338:12:4","nodeType":"VariableDeclaration","scope":2676,"src":"6330:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2673,"name":"address","nodeType":"ElementaryTypeName","src":"6330:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6302:49:4"}},{"id":2685,"nodeType":"FunctionDefinition","src":"6658:91:4","nodes":[],"documentation":{"id":2677,"nodeType":"StructuredDocumentation","src":"6461:192:4","text":"@dev Returns the 'Profile' for a '_profileId' passed\n @param _profileId The 'profileId' to return the 'Profile' for\n @return profile The 'Profile' for the '_profileId' passed"},"functionSelector":"0114cf0a","implemented":false,"kind":"function","modifiers":[],"name":"getProfileById","nameLocation":"6667:14:4","parameters":{"id":2680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2679,"mutability":"mutable","name":"_profileId","nameLocation":"6690:10:4","nodeType":"VariableDeclaration","scope":2685,"src":"6682:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2678,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6682:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6681:20:4"},"returnParameters":{"id":2684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2683,"mutability":"mutable","name":"profile","nameLocation":"6740:7:4","nodeType":"VariableDeclaration","scope":2685,"src":"6725:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":2682,"nodeType":"UserDefinedTypeName","pathNode":{"id":2681,"name":"Profile","nameLocations":["6725:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"6725:7:4"},"referencedDeclaration":2629,"src":"6725:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"6724:24:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2694,"nodeType":"FunctionDefinition","src":"6941:92:4","nodes":[],"documentation":{"id":2686,"nodeType":"StructuredDocumentation","src":"6755:181:4","text":"@dev Returns the 'Profile' for an '_anchor' passed\n @param _anchor The 'anchor' to return the 'Profile' for\n @return profile The 'Profile' for the '_anchor' passed"},"functionSelector":"dd93da43","implemented":false,"kind":"function","modifiers":[],"name":"getProfileByAnchor","nameLocation":"6950:18:4","parameters":{"id":2689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2688,"mutability":"mutable","name":"_anchor","nameLocation":"6977:7:4","nodeType":"VariableDeclaration","scope":2694,"src":"6969:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2687,"name":"address","nodeType":"ElementaryTypeName","src":"6969:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6968:17:4"},"returnParameters":{"id":2693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2692,"mutability":"mutable","name":"profile","nameLocation":"7024:7:4","nodeType":"VariableDeclaration","scope":2694,"src":"7009:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":2691,"nodeType":"UserDefinedTypeName","pathNode":{"id":2690,"name":"Profile","nameLocations":["7009:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"7009:7:4"},"referencedDeclaration":2629,"src":"7009:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"7008:24:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2704,"nodeType":"FunctionDefinition","src":"7459:150:4","nodes":[],"documentation":{"id":2695,"nodeType":"StructuredDocumentation","src":"7039:415:4","text":"@dev Returns a boolean if the '_account' is a member or owner of the '_profileId' passed in\n @param _profileId The 'profileId' to check if the '_account' is a member or owner of\n @param _account The 'account' to check if they are a member or owner of the '_profileId' passed in\n @return isOwnerOrMemberOfProfile A boolean if the '_account' is a member or owner of the '_profileId' passed in"},"functionSelector":"5e8a7915","implemented":false,"kind":"function","modifiers":[],"name":"isOwnerOrMemberOfProfile","nameLocation":"7468:24:4","parameters":{"id":2700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2697,"mutability":"mutable","name":"_profileId","nameLocation":"7501:10:4","nodeType":"VariableDeclaration","scope":2704,"src":"7493:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2696,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7493:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2699,"mutability":"mutable","name":"_account","nameLocation":"7521:8:4","nodeType":"VariableDeclaration","scope":2704,"src":"7513:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2698,"name":"address","nodeType":"ElementaryTypeName","src":"7513:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7492:38:4"},"returnParameters":{"id":2703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2702,"mutability":"mutable","name":"isOwnerOrMemberOfProfile","nameLocation":"7583:24:4","nodeType":"VariableDeclaration","scope":2704,"src":"7578:29:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2701,"name":"bool","nodeType":"ElementaryTypeName","src":"7578:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7577:31:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2714,"nodeType":"FunctionDefinition","src":"7987:108:4","nodes":[],"documentation":{"id":2705,"nodeType":"StructuredDocumentation","src":"7615:367:4","text":"@dev Returns a boolean if the '_account' is an owner of the '_profileId' passed in\n @param _profileId The 'profileId' to check if the '_account' is an owner of\n @param _owner The 'owner' to check if they are an owner of the '_profileId' passed in\n @return isOwnerOfProfile A boolean if the '_account' is an owner of the '_profileId' passed in"},"functionSelector":"39b86b8c","implemented":false,"kind":"function","modifiers":[],"name":"isOwnerOfProfile","nameLocation":"7996:16:4","parameters":{"id":2710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2707,"mutability":"mutable","name":"_profileId","nameLocation":"8021:10:4","nodeType":"VariableDeclaration","scope":2714,"src":"8013:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2706,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8013:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2709,"mutability":"mutable","name":"_owner","nameLocation":"8041:6:4","nodeType":"VariableDeclaration","scope":2714,"src":"8033:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2708,"name":"address","nodeType":"ElementaryTypeName","src":"8033:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8012:36:4"},"returnParameters":{"id":2713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2712,"mutability":"mutable","name":"isOwnerOfProfile","nameLocation":"8077:16:4","nodeType":"VariableDeclaration","scope":2714,"src":"8072:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2711,"name":"bool","nodeType":"ElementaryTypeName","src":"8072:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8071:23:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2724,"nodeType":"FunctionDefinition","src":"8476:111:4","nodes":[],"documentation":{"id":2715,"nodeType":"StructuredDocumentation","src":"8101:370:4","text":"@dev Returns a boolean if the '_account' is a member of the '_profileId' passed in\n @param _profileId The 'profileId' to check if the '_account' is a member of\n @param _member The 'member' to check if they are a member of the '_profileId' passed in\n @return isMemberOfProfile A boolean if the '_account' is a member of the '_profileId' passed in"},"functionSelector":"0ec1fbac","implemented":false,"kind":"function","modifiers":[],"name":"isMemberOfProfile","nameLocation":"8485:17:4","parameters":{"id":2720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2717,"mutability":"mutable","name":"_profileId","nameLocation":"8511:10:4","nodeType":"VariableDeclaration","scope":2724,"src":"8503:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2716,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8503:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2719,"mutability":"mutable","name":"_member","nameLocation":"8531:7:4","nodeType":"VariableDeclaration","scope":2724,"src":"8523:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2718,"name":"address","nodeType":"ElementaryTypeName","src":"8523:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8502:37:4"},"returnParameters":{"id":2723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2722,"mutability":"mutable","name":"isMemberOfProfile","nameLocation":"8568:17:4","nodeType":"VariableDeclaration","scope":2724,"src":"8563:22:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2721,"name":"bool","nodeType":"ElementaryTypeName","src":"8563:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8562:24:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2742,"nodeType":"FunctionDefinition","src":"9411:213:4","nodes":[],"documentation":{"id":2725,"nodeType":"StructuredDocumentation","src":"8729:677:4","text":"@dev Creates a new 'Profile' and returns the 'profileId' of the new profile\n Note: The 'name' and 'nonce' are used to generate the 'anchor' address\n Requirements: None, anyone can create a new profile\n @param _nonce The nonce to use to generate the 'anchor' address\n @param _name The name to use to generate the 'anchor' address\n @param _metadata The 'Metadata' to use to generate the 'anchor' address\n @param _owner The 'owner' to use to generate the 'anchor' address\n @param _members The 'members' to use to generate the 'anchor' address\n @return profileId The 'profileId' of the new profile"},"functionSelector":"3a92f65f","implemented":false,"kind":"function","modifiers":[],"name":"createProfile","nameLocation":"9420:13:4","parameters":{"id":2738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2727,"mutability":"mutable","name":"_nonce","nameLocation":"9451:6:4","nodeType":"VariableDeclaration","scope":2742,"src":"9443:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2726,"name":"uint256","nodeType":"ElementaryTypeName","src":"9443:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2729,"mutability":"mutable","name":"_name","nameLocation":"9481:5:4","nodeType":"VariableDeclaration","scope":2742,"src":"9467:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2728,"name":"string","nodeType":"ElementaryTypeName","src":"9467:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2732,"mutability":"mutable","name":"_metadata","nameLocation":"9512:9:4","nodeType":"VariableDeclaration","scope":2742,"src":"9496:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2731,"nodeType":"UserDefinedTypeName","pathNode":{"id":2730,"name":"Metadata","nameLocations":["9496:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"9496:8:4"},"referencedDeclaration":3098,"src":"9496:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2734,"mutability":"mutable","name":"_owner","nameLocation":"9539:6:4","nodeType":"VariableDeclaration","scope":2742,"src":"9531:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2733,"name":"address","nodeType":"ElementaryTypeName","src":"9531:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2737,"mutability":"mutable","name":"_members","nameLocation":"9572:8:4","nodeType":"VariableDeclaration","scope":2742,"src":"9555:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2735,"name":"address","nodeType":"ElementaryTypeName","src":"9555:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2736,"nodeType":"ArrayTypeName","src":"9555:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"9433:153:4"},"returnParameters":{"id":2741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2740,"mutability":"mutable","name":"profileId","nameLocation":"9613:9:4","nodeType":"VariableDeclaration","scope":2742,"src":"9605:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2739,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9605:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9604:19:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2752,"nodeType":"FunctionDefinition","src":"10260:102:4","nodes":[],"documentation":{"id":2743,"nodeType":"StructuredDocumentation","src":"9630:625:4","text":"@dev Updates the 'name' of the '_profileId' passed in and returns the new 'anchor' address\n Requirements: Only the 'Profile' owner can update the name\n Note: The 'name' and 'nonce' are used to generate the 'anchor' address and this will update the 'anchor'\n so please use caution. You can always recreate your 'anchor' address by updating the name back\n to the original name used to create the profile.\n @param _profileId The 'profileId' to update the name for\n @param _name The new 'name' value\n @return anchor The new 'anchor' address"},"functionSelector":"cf189ff2","implemented":false,"kind":"function","modifiers":[],"name":"updateProfileName","nameLocation":"10269:17:4","parameters":{"id":2748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2745,"mutability":"mutable","name":"_profileId","nameLocation":"10295:10:4","nodeType":"VariableDeclaration","scope":2752,"src":"10287:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2744,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10287:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2747,"mutability":"mutable","name":"_name","nameLocation":"10321:5:4","nodeType":"VariableDeclaration","scope":2752,"src":"10307:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2746,"name":"string","nodeType":"ElementaryTypeName","src":"10307:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10286:41:4"},"returnParameters":{"id":2751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2750,"mutability":"mutable","name":"anchor","nameLocation":"10354:6:4","nodeType":"VariableDeclaration","scope":2752,"src":"10346:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2749,"name":"address","nodeType":"ElementaryTypeName","src":"10346:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10345:16:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2761,"nodeType":"FunctionDefinition","src":"10640:87:4","nodes":[],"documentation":{"id":2753,"nodeType":"StructuredDocumentation","src":"10368:267:4","text":"@dev Updates the 'Metadata' of the '_profileId' passed in\n Requirements: Only the 'Profile' owner can update the metadata\n @param _profileId The 'profileId' to update the metadata for\n @param _metadata The new 'Metadata' value"},"functionSelector":"ac402839","implemented":false,"kind":"function","modifiers":[],"name":"updateProfileMetadata","nameLocation":"10649:21:4","parameters":{"id":2759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2755,"mutability":"mutable","name":"_profileId","nameLocation":"10679:10:4","nodeType":"VariableDeclaration","scope":2761,"src":"10671:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2754,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10671:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2758,"mutability":"mutable","name":"_metadata","nameLocation":"10707:9:4","nodeType":"VariableDeclaration","scope":2761,"src":"10691:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2757,"nodeType":"UserDefinedTypeName","pathNode":{"id":2756,"name":"Metadata","nameLocations":["10691:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"10691:8:4"},"referencedDeclaration":3098,"src":"10691:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"10670:47:4"},"returnParameters":{"id":2760,"nodeType":"ParameterList","parameters":[],"src":"10726:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2769,"nodeType":"FunctionDefinition","src":"11029:87:4","nodes":[],"documentation":{"id":2762,"nodeType":"StructuredDocumentation","src":"10733:291:4","text":"@dev Updates the pending 'owner' of the '_profileId' passed in\n Requirements: Only the 'Profile' owner can update the pending owner\n @param _profileId The 'profileId' to update the pending owner for\n @param _pendingOwner The new pending 'owner' value"},"functionSelector":"3b66dacd","implemented":false,"kind":"function","modifiers":[],"name":"updateProfilePendingOwner","nameLocation":"11038:25:4","parameters":{"id":2767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2764,"mutability":"mutable","name":"_profileId","nameLocation":"11072:10:4","nodeType":"VariableDeclaration","scope":2769,"src":"11064:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2763,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11064:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2766,"mutability":"mutable","name":"_pendingOwner","nameLocation":"11092:13:4","nodeType":"VariableDeclaration","scope":2769,"src":"11084:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2765,"name":"address","nodeType":"ElementaryTypeName","src":"11084:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11063:43:4"},"returnParameters":{"id":2768,"nodeType":"ParameterList","parameters":[],"src":"11115:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2775,"nodeType":"FunctionDefinition","src":"11349:61:4","nodes":[],"documentation":{"id":2770,"nodeType":"StructuredDocumentation","src":"11122:222:4","text":"@dev Accepts the pending 'owner' of the '_profileId' passed in\n Requirements: Only the pending owner can accept the ownership\n @param _profileId The 'profileId' to accept the ownership for"},"functionSelector":"2497f3c6","implemented":false,"kind":"function","modifiers":[],"name":"acceptProfileOwnership","nameLocation":"11358:22:4","parameters":{"id":2773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2772,"mutability":"mutable","name":"_profileId","nameLocation":"11389:10:4","nodeType":"VariableDeclaration","scope":2775,"src":"11381:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2771,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11381:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11380:20:4"},"returnParameters":{"id":2774,"nodeType":"ParameterList","parameters":[],"src":"11409:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2784,"nodeType":"FunctionDefinition","src":"11684:76:4","nodes":[],"documentation":{"id":2776,"nodeType":"StructuredDocumentation","src":"11416:263:4","text":"@dev Adds members to the '_profileId' passed in\n Requirements: Only the 'Profile' owner can add members\n @param _profileId The 'profileId' to add members to\n @param _members The members to add to the '_profileId' passed in"},"functionSelector":"5063f361","implemented":false,"kind":"function","modifiers":[],"name":"addMembers","nameLocation":"11693:10:4","parameters":{"id":2782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2778,"mutability":"mutable","name":"_profileId","nameLocation":"11712:10:4","nodeType":"VariableDeclaration","scope":2784,"src":"11704:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2777,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11704:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2781,"mutability":"mutable","name":"_members","nameLocation":"11741:8:4","nodeType":"VariableDeclaration","scope":2784,"src":"11724:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2779,"name":"address","nodeType":"ElementaryTypeName","src":"11724:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2780,"nodeType":"ArrayTypeName","src":"11724:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"11703:47:4"},"returnParameters":{"id":2783,"nodeType":"ParameterList","parameters":[],"src":"11759:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2793,"nodeType":"FunctionDefinition","src":"12052:79:4","nodes":[],"documentation":{"id":2785,"nodeType":"StructuredDocumentation","src":"11766:281:4","text":"@dev Removes members from the '_profileId' passed in\n Requirements: Only the 'Profile' owner can remove members\n @param _profileId The 'profileId' to remove members from\n @param _members The members to remove from the '_profileId' passed in"},"functionSelector":"e0cf1e4c","implemented":false,"kind":"function","modifiers":[],"name":"removeMembers","nameLocation":"12061:13:4","parameters":{"id":2791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2787,"mutability":"mutable","name":"_profileId","nameLocation":"12083:10:4","nodeType":"VariableDeclaration","scope":2793,"src":"12075:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2786,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12075:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2790,"mutability":"mutable","name":"_members","nameLocation":"12112:8:4","nodeType":"VariableDeclaration","scope":2793,"src":"12095:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2788,"name":"address","nodeType":"ElementaryTypeName","src":"12095:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2789,"nodeType":"ArrayTypeName","src":"12095:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"12074:47:4"},"returnParameters":{"id":2792,"nodeType":"ParameterList","parameters":[],"src":"12130:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2801,"nodeType":"FunctionDefinition","src":"12372:67:4","nodes":[],"documentation":{"id":2794,"nodeType":"StructuredDocumentation","src":"12137:230:4","text":"@dev Recovers funds from the contract\n Requirements: Must be the Allo owner\n @param _token The token you want to use to recover funds\n @param _recipient The recipient of the recovered funds"},"functionSelector":"24ae6a27","implemented":false,"kind":"function","modifiers":[],"name":"recoverFunds","nameLocation":"12381:12:4","parameters":{"id":2799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2796,"mutability":"mutable","name":"_token","nameLocation":"12402:6:4","nodeType":"VariableDeclaration","scope":2801,"src":"12394:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2795,"name":"address","nodeType":"ElementaryTypeName","src":"12394:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2798,"mutability":"mutable","name":"_recipient","nameLocation":"12418:10:4","nodeType":"VariableDeclaration","scope":2801,"src":"12410:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2797,"name":"address","nodeType":"ElementaryTypeName","src":"12410:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12393:36:4"},"returnParameters":{"id":2800,"nodeType":"ParameterList","parameters":[],"src":"12438:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IRegistry","contractDependencies":[],"contractKind":"interface","documentation":{"id":2615,"nodeType":"StructuredDocumentation","src":"4124:931:4","text":"@title IRegistry Interface\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice Interface for the Registry contract and exposes all functions needed to use the Registry\n within the Allo protocol.\n @dev The Registry Interface is used to interact with the Allo protocol and create profiles\n that can be used to interact with the Allo protocol. The Registry is the main contract\n that all other contracts interact with to get the 'Profile' information needed to\n interact with the Allo protocol. The Registry is also used to create new profiles\n and update existing profiles. The Registry is also used to add and remove members\n from a profile. The Registry will not always be used in a strategy and will depend on\n the strategy being used."},"fullyImplemented":false,"linearizedBaseContracts":[2802],"name":"IRegistry","nameLocation":"5065:9:4","scope":2803,"usedErrors":[]}],"license":"MIT"},"id":4} \ No newline at end of file +{"abi":[{"type":"function","name":"acceptProfileOwnership","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createProfile","inputs":[{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_name","type":"string","internalType":"string"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_owner","type":"address","internalType":"address"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"profileId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"getProfileByAnchor","inputs":[{"name":"_anchor","type":"address","internalType":"address"}],"outputs":[{"name":"profile","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getProfileById","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"profile","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"isMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"isMemberOfProfile","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"isOwnerOfProfile","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOrMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_account","type":"address","internalType":"address"}],"outputs":[{"name":"isOwnerOrMemberOfProfile","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfileMetadata","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfileName","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_name","type":"string","internalType":"string"}],"outputs":[{"name":"anchor","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfilePendingOwner","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_pendingOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"ProfileCreated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","indexed":false,"internalType":"address"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileMetadataUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"ProfileNameUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfilePendingOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"pendingOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"acceptProfileOwnership(bytes32)":"2497f3c6","addMembers(bytes32,address[])":"5063f361","createProfile(uint256,string,(uint256,string),address,address[])":"3a92f65f","getProfileByAnchor(address)":"dd93da43","getProfileById(bytes32)":"0114cf0a","isMemberOfProfile(bytes32,address)":"0ec1fbac","isOwnerOfProfile(bytes32,address)":"39b86b8c","isOwnerOrMemberOfProfile(bytes32,address)":"5e8a7915","recoverFunds(address,address)":"24ae6a27","removeMembers(bytes32,address[])":"e0cf1e4c","updateProfileMetadata(bytes32,(uint256,string))":"ac402839","updateProfileName(bytes32,string)":"cf189ff2","updateProfilePendingOwner(bytes32,address)":"3b66dacd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"ProfileMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileNameUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ProfileOwnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"ProfilePendingOwnerUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"acceptProfileOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"addMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"createProfile\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_anchor\",\"type\":\"address\"}],\"name\":\"getProfileByAnchor\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"profile\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"getProfileById\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"profile\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isMemberOfProfile\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"isOwnerOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOwnerOfProfile\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isOwnerOrMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOwnerOrMemberOfProfile\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"removeMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updateProfileMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"updateProfileName\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_pendingOwner\",\"type\":\"address\"}],\"name\":\"updateProfilePendingOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"details\":\"The Registry Interface is used to interact with the Allo protocol and create profiles that can be used to interact with the Allo protocol. The Registry is the main contract that all other contracts interact with to get the 'Profile' information needed to interact with the Allo protocol. The Registry is also used to create new profiles and update existing profiles. The Registry is also used to add and remove members from a profile. The Registry will not always be used in a strategy and will depend on the strategy being used.\",\"events\":{\"ProfileCreated(bytes32,uint256,string,(uint256,string),address,address)\":{\"details\":\"Emitted when a profile is created. This will return your anchor address.\"},\"ProfileMetadataUpdated(bytes32,(uint256,string))\":{\"details\":\"Emitted when a profile's metadata is updated.\"},\"ProfileNameUpdated(bytes32,string,address)\":{\"details\":\"Emitted when a profile name is updated. This will update the anchor when the name is updated and return it.\"},\"ProfileOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile owner is updated.\"},\"ProfilePendingOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile pending owner is updated.\"}},\"kind\":\"dev\",\"methods\":{\"acceptProfileOwnership(bytes32)\":{\"details\":\"Accepts the pending 'owner' of the '_profileId' passed in Requirements: Only the pending owner can accept the ownership\",\"params\":{\"_profileId\":\"The 'profileId' to accept the ownership for\"}},\"addMembers(bytes32,address[])\":{\"details\":\"Adds members to the '_profileId' passed in Requirements: Only the 'Profile' owner can add members\",\"params\":{\"_members\":\"The members to add to the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to add members to\"}},\"createProfile(uint256,string,(uint256,string),address,address[])\":{\"details\":\"Creates a new 'Profile' and returns the 'profileId' of the new profile Note: The 'name' and 'nonce' are used to generate the 'anchor' address Requirements: None, anyone can create a new profile\",\"params\":{\"_members\":\"The 'members' to use to generate the 'anchor' address\",\"_metadata\":\"The 'Metadata' to use to generate the 'anchor' address\",\"_name\":\"The name to use to generate the 'anchor' address\",\"_nonce\":\"The nonce to use to generate the 'anchor' address\",\"_owner\":\"The 'owner' to use to generate the 'anchor' address\"},\"returns\":{\"profileId\":\"The 'profileId' of the new profile\"}},\"getProfileByAnchor(address)\":{\"details\":\"Returns the 'Profile' for an '_anchor' passed\",\"params\":{\"_anchor\":\"The 'anchor' to return the 'Profile' for\"},\"returns\":{\"profile\":\"The 'Profile' for the '_anchor' passed\"}},\"getProfileById(bytes32)\":{\"details\":\"Returns the 'Profile' for a '_profileId' passed\",\"params\":{\"_profileId\":\"The 'profileId' to return the 'Profile' for\"},\"returns\":{\"profile\":\"The 'Profile' for the '_profileId' passed\"}},\"isMemberOfProfile(bytes32,address)\":{\"details\":\"Returns a boolean if the '_account' is a member of the '_profileId' passed in\",\"params\":{\"_member\":\"The 'member' to check if they are a member of the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to check if the '_account' is a member of\"},\"returns\":{\"isMemberOfProfile\":\"A boolean if the '_account' is a member of the '_profileId' passed in\"}},\"isOwnerOfProfile(bytes32,address)\":{\"details\":\"Returns a boolean if the '_account' is an owner of the '_profileId' passed in\",\"params\":{\"_owner\":\"The 'owner' to check if they are an owner of the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to check if the '_account' is an owner of\"},\"returns\":{\"isOwnerOfProfile\":\"A boolean if the '_account' is an owner of the '_profileId' passed in\"}},\"isOwnerOrMemberOfProfile(bytes32,address)\":{\"details\":\"Returns a boolean if the '_account' is a member or owner of the '_profileId' passed in\",\"params\":{\"_account\":\"The 'account' to check if they are a member or owner of the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to check if the '_account' is a member or owner of\"},\"returns\":{\"isOwnerOrMemberOfProfile\":\"A boolean if the '_account' is a member or owner of the '_profileId' passed in\"}},\"recoverFunds(address,address)\":{\"details\":\"Recovers funds from the contract Requirements: Must be the Allo owner\",\"params\":{\"_recipient\":\"The recipient of the recovered funds\",\"_token\":\"The token you want to use to recover funds\"}},\"removeMembers(bytes32,address[])\":{\"details\":\"Removes members from the '_profileId' passed in Requirements: Only the 'Profile' owner can remove members\",\"params\":{\"_members\":\"The members to remove from the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to remove members from\"}},\"updateProfileMetadata(bytes32,(uint256,string))\":{\"details\":\"Updates the 'Metadata' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the metadata\",\"params\":{\"_metadata\":\"The new 'Metadata' value\",\"_profileId\":\"The 'profileId' to update the metadata for\"}},\"updateProfileName(bytes32,string)\":{\"details\":\"Updates the 'name' of the '_profileId' passed in and returns the new 'anchor' address Requirements: Only the 'Profile' owner can update the name Note: The 'name' and 'nonce' are used to generate the 'anchor' address and this will update the 'anchor' so please use caution. You can always recreate your 'anchor' address by updating the name back to the original name used to create the profile.\",\"params\":{\"_name\":\"The new 'name' value\",\"_profileId\":\"The 'profileId' to update the name for\"},\"returns\":{\"anchor\":\"The new 'anchor' address\"}},\"updateProfilePendingOwner(bytes32,address)\":{\"details\":\"Updates the pending 'owner' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the pending owner\",\"params\":{\"_pendingOwner\":\"The new pending 'owner' value\",\"_profileId\":\"The 'profileId' to update the pending owner for\"}}},\"title\":\"IRegistry Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for the Registry contract and exposes all functions needed to use the Registry within the Allo protocol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":\"IRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false},{"internalType":"address","name":"owner","type":"address","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileCreated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"ProfileMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileNameUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":false}],"type":"event","name":"ProfileOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"pendingOwner","type":"address","indexed":false}],"type":"event","name":"ProfilePendingOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"acceptProfileOwnership"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"addMembers"},{"inputs":[{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"createProfile","outputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_anchor","type":"address"}],"stateMutability":"view","type":"function","name":"getProfileByAnchor","outputs":[{"internalType":"struct IRegistry.Profile","name":"profile","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getProfileById","outputs":[{"internalType":"struct IRegistry.Profile","name":"profile","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isMemberOfProfile","outputs":[{"internalType":"bool","name":"isMemberOfProfile","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOfProfile","outputs":[{"internalType":"bool","name":"isOwnerOfProfile","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_account","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOrMemberOfProfile","outputs":[{"internalType":"bool","name":"isOwnerOrMemberOfProfile","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"removeMembers"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updateProfileMetadata"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateProfileName","outputs":[{"internalType":"address","name":"anchor","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_pendingOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateProfilePendingOwner"}],"devdoc":{"kind":"dev","methods":{"acceptProfileOwnership(bytes32)":{"details":"Accepts the pending 'owner' of the '_profileId' passed in Requirements: Only the pending owner can accept the ownership","params":{"_profileId":"The 'profileId' to accept the ownership for"}},"addMembers(bytes32,address[])":{"details":"Adds members to the '_profileId' passed in Requirements: Only the 'Profile' owner can add members","params":{"_members":"The members to add to the '_profileId' passed in","_profileId":"The 'profileId' to add members to"}},"createProfile(uint256,string,(uint256,string),address,address[])":{"details":"Creates a new 'Profile' and returns the 'profileId' of the new profile Note: The 'name' and 'nonce' are used to generate the 'anchor' address Requirements: None, anyone can create a new profile","params":{"_members":"The 'members' to use to generate the 'anchor' address","_metadata":"The 'Metadata' to use to generate the 'anchor' address","_name":"The name to use to generate the 'anchor' address","_nonce":"The nonce to use to generate the 'anchor' address","_owner":"The 'owner' to use to generate the 'anchor' address"},"returns":{"profileId":"The 'profileId' of the new profile"}},"getProfileByAnchor(address)":{"details":"Returns the 'Profile' for an '_anchor' passed","params":{"_anchor":"The 'anchor' to return the 'Profile' for"},"returns":{"profile":"The 'Profile' for the '_anchor' passed"}},"getProfileById(bytes32)":{"details":"Returns the 'Profile' for a '_profileId' passed","params":{"_profileId":"The 'profileId' to return the 'Profile' for"},"returns":{"profile":"The 'Profile' for the '_profileId' passed"}},"isMemberOfProfile(bytes32,address)":{"details":"Returns a boolean if the '_account' is a member of the '_profileId' passed in","params":{"_member":"The 'member' to check if they are a member of the '_profileId' passed in","_profileId":"The 'profileId' to check if the '_account' is a member of"},"returns":{"isMemberOfProfile":"A boolean if the '_account' is a member of the '_profileId' passed in"}},"isOwnerOfProfile(bytes32,address)":{"details":"Returns a boolean if the '_account' is an owner of the '_profileId' passed in","params":{"_owner":"The 'owner' to check if they are an owner of the '_profileId' passed in","_profileId":"The 'profileId' to check if the '_account' is an owner of"},"returns":{"isOwnerOfProfile":"A boolean if the '_account' is an owner of the '_profileId' passed in"}},"isOwnerOrMemberOfProfile(bytes32,address)":{"details":"Returns a boolean if the '_account' is a member or owner of the '_profileId' passed in","params":{"_account":"The 'account' to check if they are a member or owner of the '_profileId' passed in","_profileId":"The 'profileId' to check if the '_account' is a member or owner of"},"returns":{"isOwnerOrMemberOfProfile":"A boolean if the '_account' is a member or owner of the '_profileId' passed in"}},"recoverFunds(address,address)":{"details":"Recovers funds from the contract Requirements: Must be the Allo owner","params":{"_recipient":"The recipient of the recovered funds","_token":"The token you want to use to recover funds"}},"removeMembers(bytes32,address[])":{"details":"Removes members from the '_profileId' passed in Requirements: Only the 'Profile' owner can remove members","params":{"_members":"The members to remove from the '_profileId' passed in","_profileId":"The 'profileId' to remove members from"}},"updateProfileMetadata(bytes32,(uint256,string))":{"details":"Updates the 'Metadata' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the metadata","params":{"_metadata":"The new 'Metadata' value","_profileId":"The 'profileId' to update the metadata for"}},"updateProfileName(bytes32,string)":{"details":"Updates the 'name' of the '_profileId' passed in and returns the new 'anchor' address Requirements: Only the 'Profile' owner can update the name Note: The 'name' and 'nonce' are used to generate the 'anchor' address and this will update the 'anchor' so please use caution. You can always recreate your 'anchor' address by updating the name back to the original name used to create the profile.","params":{"_name":"The new 'name' value","_profileId":"The 'profileId' to update the name for"},"returns":{"anchor":"The new 'anchor' address"}},"updateProfilePendingOwner(bytes32,address)":{"details":"Updates the pending 'owner' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the pending owner","params":{"_pendingOwner":"The new pending 'owner' value","_profileId":"The 'profileId' to update the pending owner for"}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":"IRegistry"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","id":2803,"exportedSymbols":{"IRegistry":[2802],"Metadata":[3098]},"nodeType":"SourceUnit","src":"32:12410:4","nodes":[{"id":2612,"nodeType":"PragmaDirective","src":"32:24:4","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":2614,"nodeType":"ImportDirective","src":"80:51:4","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":2803,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":2613,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"88:8:4","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2802,"nodeType":"ContractDefinition","src":"5055:7386:4","nodes":[{"id":2629,"nodeType":"StructDefinition","src":"5240:160:4","nodes":[],"canonicalName":"IRegistry.Profile","members":[{"constant":false,"id":2617,"mutability":"mutable","name":"id","nameLocation":"5273:2:4","nodeType":"VariableDeclaration","scope":2629,"src":"5265:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2616,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5265:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2619,"mutability":"mutable","name":"nonce","nameLocation":"5293:5:4","nodeType":"VariableDeclaration","scope":2629,"src":"5285:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2618,"name":"uint256","nodeType":"ElementaryTypeName","src":"5285:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2621,"mutability":"mutable","name":"name","nameLocation":"5315:4:4","nodeType":"VariableDeclaration","scope":2629,"src":"5308:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":2620,"name":"string","nodeType":"ElementaryTypeName","src":"5308:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2624,"mutability":"mutable","name":"metadata","nameLocation":"5338:8:4","nodeType":"VariableDeclaration","scope":2629,"src":"5329:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":2623,"nodeType":"UserDefinedTypeName","pathNode":{"id":2622,"name":"Metadata","nameLocations":["5329:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5329:8:4"},"referencedDeclaration":3098,"src":"5329:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2626,"mutability":"mutable","name":"owner","nameLocation":"5364:5:4","nodeType":"VariableDeclaration","scope":2629,"src":"5356:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2625,"name":"address","nodeType":"ElementaryTypeName","src":"5356:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2628,"mutability":"mutable","name":"anchor","nameLocation":"5387:6:4","nodeType":"VariableDeclaration","scope":2629,"src":"5379:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2627,"name":"address","nodeType":"ElementaryTypeName","src":"5379:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"Profile","nameLocation":"5247:7:4","scope":2802,"visibility":"public"},{"id":2645,"nodeType":"EventDefinition","src":"5586:140:4","nodes":[],"anonymous":false,"documentation":{"id":2630,"nodeType":"StructuredDocumentation","src":"5500:81:4","text":"@dev Emitted when a profile is created. This will return your anchor address."},"eventSelector":"1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b80609","name":"ProfileCreated","nameLocation":"5592:14:4","parameters":{"id":2644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2632,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"5632:9:4","nodeType":"VariableDeclaration","scope":2645,"src":"5616:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2631,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5616:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2634,"indexed":false,"mutability":"mutable","name":"nonce","nameLocation":"5651:5:4","nodeType":"VariableDeclaration","scope":2645,"src":"5643:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2633,"name":"uint256","nodeType":"ElementaryTypeName","src":"5643:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2636,"indexed":false,"mutability":"mutable","name":"name","nameLocation":"5665:4:4","nodeType":"VariableDeclaration","scope":2645,"src":"5658:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2635,"name":"string","nodeType":"ElementaryTypeName","src":"5658:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2639,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"5680:8:4","nodeType":"VariableDeclaration","scope":2645,"src":"5671:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2638,"nodeType":"UserDefinedTypeName","pathNode":{"id":2637,"name":"Metadata","nameLocations":["5671:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5671:8:4"},"referencedDeclaration":3098,"src":"5671:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2641,"indexed":false,"mutability":"mutable","name":"owner","nameLocation":"5698:5:4","nodeType":"VariableDeclaration","scope":2645,"src":"5690:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2640,"name":"address","nodeType":"ElementaryTypeName","src":"5690:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2643,"indexed":false,"mutability":"mutable","name":"anchor","nameLocation":"5713:6:4","nodeType":"VariableDeclaration","scope":2645,"src":"5705:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2642,"name":"address","nodeType":"ElementaryTypeName","src":"5705:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5606:119:4"}},{"id":2654,"nodeType":"EventDefinition","src":"5853:81:4","nodes":[],"anonymous":false,"documentation":{"id":2646,"nodeType":"StructuredDocumentation","src":"5732:116:4","text":"@dev Emitted when a profile name is updated. This will update the anchor when the name is updated and return it."},"eventSelector":"54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f","name":"ProfileNameUpdated","nameLocation":"5859:18:4","parameters":{"id":2653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2648,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"5894:9:4","nodeType":"VariableDeclaration","scope":2654,"src":"5878:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2647,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5878:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2650,"indexed":false,"mutability":"mutable","name":"name","nameLocation":"5912:4:4","nodeType":"VariableDeclaration","scope":2654,"src":"5905:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2649,"name":"string","nodeType":"ElementaryTypeName","src":"5905:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2652,"indexed":false,"mutability":"mutable","name":"anchor","nameLocation":"5926:6:4","nodeType":"VariableDeclaration","scope":2654,"src":"5918:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2651,"name":"address","nodeType":"ElementaryTypeName","src":"5918:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5877:56:4"}},{"id":2662,"nodeType":"EventDefinition","src":"5999:75:4","nodes":[],"anonymous":false,"documentation":{"id":2655,"nodeType":"StructuredDocumentation","src":"5940:54:4","text":"@dev Emitted when a profile's metadata is updated."},"eventSelector":"a366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3","name":"ProfileMetadataUpdated","nameLocation":"6005:22:4","parameters":{"id":2661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2657,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"6044:9:4","nodeType":"VariableDeclaration","scope":2662,"src":"6028:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2656,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6028:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2660,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"6064:8:4","nodeType":"VariableDeclaration","scope":2662,"src":"6055:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2659,"nodeType":"UserDefinedTypeName","pathNode":{"id":2658,"name":"Metadata","nameLocations":["6055:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"6055:8:4"},"referencedDeclaration":3098,"src":"6055:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"6027:46:4"}},{"id":2669,"nodeType":"EventDefinition","src":"6134:68:4","nodes":[],"anonymous":false,"documentation":{"id":2663,"nodeType":"StructuredDocumentation","src":"6080:49:4","text":"@dev Emitted when a profile owner is updated."},"eventSelector":"fd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d","name":"ProfileOwnerUpdated","nameLocation":"6140:19:4","parameters":{"id":2668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2665,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"6176:9:4","nodeType":"VariableDeclaration","scope":2669,"src":"6160:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2664,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6160:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2667,"indexed":false,"mutability":"mutable","name":"owner","nameLocation":"6195:5:4","nodeType":"VariableDeclaration","scope":2669,"src":"6187:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2666,"name":"address","nodeType":"ElementaryTypeName","src":"6187:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6159:42:4"}},{"id":2676,"nodeType":"EventDefinition","src":"6270:82:4","nodes":[],"anonymous":false,"documentation":{"id":2670,"nodeType":"StructuredDocumentation","src":"6208:57:4","text":"@dev Emitted when a profile pending owner is updated."},"eventSelector":"21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8","name":"ProfilePendingOwnerUpdated","nameLocation":"6276:26:4","parameters":{"id":2675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2672,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"6319:9:4","nodeType":"VariableDeclaration","scope":2676,"src":"6303:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2671,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6303:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2674,"indexed":false,"mutability":"mutable","name":"pendingOwner","nameLocation":"6338:12:4","nodeType":"VariableDeclaration","scope":2676,"src":"6330:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2673,"name":"address","nodeType":"ElementaryTypeName","src":"6330:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6302:49:4"}},{"id":2685,"nodeType":"FunctionDefinition","src":"6658:91:4","nodes":[],"documentation":{"id":2677,"nodeType":"StructuredDocumentation","src":"6461:192:4","text":"@dev Returns the 'Profile' for a '_profileId' passed\n @param _profileId The 'profileId' to return the 'Profile' for\n @return profile The 'Profile' for the '_profileId' passed"},"functionSelector":"0114cf0a","implemented":false,"kind":"function","modifiers":[],"name":"getProfileById","nameLocation":"6667:14:4","parameters":{"id":2680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2679,"mutability":"mutable","name":"_profileId","nameLocation":"6690:10:4","nodeType":"VariableDeclaration","scope":2685,"src":"6682:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2678,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6682:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6681:20:4"},"returnParameters":{"id":2684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2683,"mutability":"mutable","name":"profile","nameLocation":"6740:7:4","nodeType":"VariableDeclaration","scope":2685,"src":"6725:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":2682,"nodeType":"UserDefinedTypeName","pathNode":{"id":2681,"name":"Profile","nameLocations":["6725:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"6725:7:4"},"referencedDeclaration":2629,"src":"6725:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"6724:24:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2694,"nodeType":"FunctionDefinition","src":"6941:92:4","nodes":[],"documentation":{"id":2686,"nodeType":"StructuredDocumentation","src":"6755:181:4","text":"@dev Returns the 'Profile' for an '_anchor' passed\n @param _anchor The 'anchor' to return the 'Profile' for\n @return profile The 'Profile' for the '_anchor' passed"},"functionSelector":"dd93da43","implemented":false,"kind":"function","modifiers":[],"name":"getProfileByAnchor","nameLocation":"6950:18:4","parameters":{"id":2689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2688,"mutability":"mutable","name":"_anchor","nameLocation":"6977:7:4","nodeType":"VariableDeclaration","scope":2694,"src":"6969:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2687,"name":"address","nodeType":"ElementaryTypeName","src":"6969:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6968:17:4"},"returnParameters":{"id":2693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2692,"mutability":"mutable","name":"profile","nameLocation":"7024:7:4","nodeType":"VariableDeclaration","scope":2694,"src":"7009:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":2691,"nodeType":"UserDefinedTypeName","pathNode":{"id":2690,"name":"Profile","nameLocations":["7009:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"7009:7:4"},"referencedDeclaration":2629,"src":"7009:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"7008:24:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2704,"nodeType":"FunctionDefinition","src":"7459:150:4","nodes":[],"documentation":{"id":2695,"nodeType":"StructuredDocumentation","src":"7039:415:4","text":"@dev Returns a boolean if the '_account' is a member or owner of the '_profileId' passed in\n @param _profileId The 'profileId' to check if the '_account' is a member or owner of\n @param _account The 'account' to check if they are a member or owner of the '_profileId' passed in\n @return isOwnerOrMemberOfProfile A boolean if the '_account' is a member or owner of the '_profileId' passed in"},"functionSelector":"5e8a7915","implemented":false,"kind":"function","modifiers":[],"name":"isOwnerOrMemberOfProfile","nameLocation":"7468:24:4","parameters":{"id":2700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2697,"mutability":"mutable","name":"_profileId","nameLocation":"7501:10:4","nodeType":"VariableDeclaration","scope":2704,"src":"7493:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2696,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7493:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2699,"mutability":"mutable","name":"_account","nameLocation":"7521:8:4","nodeType":"VariableDeclaration","scope":2704,"src":"7513:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2698,"name":"address","nodeType":"ElementaryTypeName","src":"7513:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7492:38:4"},"returnParameters":{"id":2703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2702,"mutability":"mutable","name":"isOwnerOrMemberOfProfile","nameLocation":"7583:24:4","nodeType":"VariableDeclaration","scope":2704,"src":"7578:29:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2701,"name":"bool","nodeType":"ElementaryTypeName","src":"7578:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7577:31:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2714,"nodeType":"FunctionDefinition","src":"7987:108:4","nodes":[],"documentation":{"id":2705,"nodeType":"StructuredDocumentation","src":"7615:367:4","text":"@dev Returns a boolean if the '_account' is an owner of the '_profileId' passed in\n @param _profileId The 'profileId' to check if the '_account' is an owner of\n @param _owner The 'owner' to check if they are an owner of the '_profileId' passed in\n @return isOwnerOfProfile A boolean if the '_account' is an owner of the '_profileId' passed in"},"functionSelector":"39b86b8c","implemented":false,"kind":"function","modifiers":[],"name":"isOwnerOfProfile","nameLocation":"7996:16:4","parameters":{"id":2710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2707,"mutability":"mutable","name":"_profileId","nameLocation":"8021:10:4","nodeType":"VariableDeclaration","scope":2714,"src":"8013:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2706,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8013:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2709,"mutability":"mutable","name":"_owner","nameLocation":"8041:6:4","nodeType":"VariableDeclaration","scope":2714,"src":"8033:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2708,"name":"address","nodeType":"ElementaryTypeName","src":"8033:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8012:36:4"},"returnParameters":{"id":2713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2712,"mutability":"mutable","name":"isOwnerOfProfile","nameLocation":"8077:16:4","nodeType":"VariableDeclaration","scope":2714,"src":"8072:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2711,"name":"bool","nodeType":"ElementaryTypeName","src":"8072:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8071:23:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2724,"nodeType":"FunctionDefinition","src":"8476:111:4","nodes":[],"documentation":{"id":2715,"nodeType":"StructuredDocumentation","src":"8101:370:4","text":"@dev Returns a boolean if the '_account' is a member of the '_profileId' passed in\n @param _profileId The 'profileId' to check if the '_account' is a member of\n @param _member The 'member' to check if they are a member of the '_profileId' passed in\n @return isMemberOfProfile A boolean if the '_account' is a member of the '_profileId' passed in"},"functionSelector":"0ec1fbac","implemented":false,"kind":"function","modifiers":[],"name":"isMemberOfProfile","nameLocation":"8485:17:4","parameters":{"id":2720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2717,"mutability":"mutable","name":"_profileId","nameLocation":"8511:10:4","nodeType":"VariableDeclaration","scope":2724,"src":"8503:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2716,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8503:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2719,"mutability":"mutable","name":"_member","nameLocation":"8531:7:4","nodeType":"VariableDeclaration","scope":2724,"src":"8523:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2718,"name":"address","nodeType":"ElementaryTypeName","src":"8523:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8502:37:4"},"returnParameters":{"id":2723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2722,"mutability":"mutable","name":"isMemberOfProfile","nameLocation":"8568:17:4","nodeType":"VariableDeclaration","scope":2724,"src":"8563:22:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2721,"name":"bool","nodeType":"ElementaryTypeName","src":"8563:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8562:24:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2742,"nodeType":"FunctionDefinition","src":"9411:213:4","nodes":[],"documentation":{"id":2725,"nodeType":"StructuredDocumentation","src":"8729:677:4","text":"@dev Creates a new 'Profile' and returns the 'profileId' of the new profile\n Note: The 'name' and 'nonce' are used to generate the 'anchor' address\n Requirements: None, anyone can create a new profile\n @param _nonce The nonce to use to generate the 'anchor' address\n @param _name The name to use to generate the 'anchor' address\n @param _metadata The 'Metadata' to use to generate the 'anchor' address\n @param _owner The 'owner' to use to generate the 'anchor' address\n @param _members The 'members' to use to generate the 'anchor' address\n @return profileId The 'profileId' of the new profile"},"functionSelector":"3a92f65f","implemented":false,"kind":"function","modifiers":[],"name":"createProfile","nameLocation":"9420:13:4","parameters":{"id":2738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2727,"mutability":"mutable","name":"_nonce","nameLocation":"9451:6:4","nodeType":"VariableDeclaration","scope":2742,"src":"9443:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2726,"name":"uint256","nodeType":"ElementaryTypeName","src":"9443:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2729,"mutability":"mutable","name":"_name","nameLocation":"9481:5:4","nodeType":"VariableDeclaration","scope":2742,"src":"9467:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2728,"name":"string","nodeType":"ElementaryTypeName","src":"9467:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2732,"mutability":"mutable","name":"_metadata","nameLocation":"9512:9:4","nodeType":"VariableDeclaration","scope":2742,"src":"9496:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2731,"nodeType":"UserDefinedTypeName","pathNode":{"id":2730,"name":"Metadata","nameLocations":["9496:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"9496:8:4"},"referencedDeclaration":3098,"src":"9496:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2734,"mutability":"mutable","name":"_owner","nameLocation":"9539:6:4","nodeType":"VariableDeclaration","scope":2742,"src":"9531:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2733,"name":"address","nodeType":"ElementaryTypeName","src":"9531:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2737,"mutability":"mutable","name":"_members","nameLocation":"9572:8:4","nodeType":"VariableDeclaration","scope":2742,"src":"9555:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2735,"name":"address","nodeType":"ElementaryTypeName","src":"9555:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2736,"nodeType":"ArrayTypeName","src":"9555:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"9433:153:4"},"returnParameters":{"id":2741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2740,"mutability":"mutable","name":"profileId","nameLocation":"9613:9:4","nodeType":"VariableDeclaration","scope":2742,"src":"9605:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2739,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9605:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9604:19:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2752,"nodeType":"FunctionDefinition","src":"10260:102:4","nodes":[],"documentation":{"id":2743,"nodeType":"StructuredDocumentation","src":"9630:625:4","text":"@dev Updates the 'name' of the '_profileId' passed in and returns the new 'anchor' address\n Requirements: Only the 'Profile' owner can update the name\n Note: The 'name' and 'nonce' are used to generate the 'anchor' address and this will update the 'anchor'\n so please use caution. You can always recreate your 'anchor' address by updating the name back\n to the original name used to create the profile.\n @param _profileId The 'profileId' to update the name for\n @param _name The new 'name' value\n @return anchor The new 'anchor' address"},"functionSelector":"cf189ff2","implemented":false,"kind":"function","modifiers":[],"name":"updateProfileName","nameLocation":"10269:17:4","parameters":{"id":2748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2745,"mutability":"mutable","name":"_profileId","nameLocation":"10295:10:4","nodeType":"VariableDeclaration","scope":2752,"src":"10287:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2744,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10287:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2747,"mutability":"mutable","name":"_name","nameLocation":"10321:5:4","nodeType":"VariableDeclaration","scope":2752,"src":"10307:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2746,"name":"string","nodeType":"ElementaryTypeName","src":"10307:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10286:41:4"},"returnParameters":{"id":2751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2750,"mutability":"mutable","name":"anchor","nameLocation":"10354:6:4","nodeType":"VariableDeclaration","scope":2752,"src":"10346:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2749,"name":"address","nodeType":"ElementaryTypeName","src":"10346:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10345:16:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2761,"nodeType":"FunctionDefinition","src":"10640:87:4","nodes":[],"documentation":{"id":2753,"nodeType":"StructuredDocumentation","src":"10368:267:4","text":"@dev Updates the 'Metadata' of the '_profileId' passed in\n Requirements: Only the 'Profile' owner can update the metadata\n @param _profileId The 'profileId' to update the metadata for\n @param _metadata The new 'Metadata' value"},"functionSelector":"ac402839","implemented":false,"kind":"function","modifiers":[],"name":"updateProfileMetadata","nameLocation":"10649:21:4","parameters":{"id":2759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2755,"mutability":"mutable","name":"_profileId","nameLocation":"10679:10:4","nodeType":"VariableDeclaration","scope":2761,"src":"10671:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2754,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10671:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2758,"mutability":"mutable","name":"_metadata","nameLocation":"10707:9:4","nodeType":"VariableDeclaration","scope":2761,"src":"10691:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2757,"nodeType":"UserDefinedTypeName","pathNode":{"id":2756,"name":"Metadata","nameLocations":["10691:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"10691:8:4"},"referencedDeclaration":3098,"src":"10691:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"10670:47:4"},"returnParameters":{"id":2760,"nodeType":"ParameterList","parameters":[],"src":"10726:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2769,"nodeType":"FunctionDefinition","src":"11029:87:4","nodes":[],"documentation":{"id":2762,"nodeType":"StructuredDocumentation","src":"10733:291:4","text":"@dev Updates the pending 'owner' of the '_profileId' passed in\n Requirements: Only the 'Profile' owner can update the pending owner\n @param _profileId The 'profileId' to update the pending owner for\n @param _pendingOwner The new pending 'owner' value"},"functionSelector":"3b66dacd","implemented":false,"kind":"function","modifiers":[],"name":"updateProfilePendingOwner","nameLocation":"11038:25:4","parameters":{"id":2767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2764,"mutability":"mutable","name":"_profileId","nameLocation":"11072:10:4","nodeType":"VariableDeclaration","scope":2769,"src":"11064:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2763,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11064:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2766,"mutability":"mutable","name":"_pendingOwner","nameLocation":"11092:13:4","nodeType":"VariableDeclaration","scope":2769,"src":"11084:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2765,"name":"address","nodeType":"ElementaryTypeName","src":"11084:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11063:43:4"},"returnParameters":{"id":2768,"nodeType":"ParameterList","parameters":[],"src":"11115:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2775,"nodeType":"FunctionDefinition","src":"11349:61:4","nodes":[],"documentation":{"id":2770,"nodeType":"StructuredDocumentation","src":"11122:222:4","text":"@dev Accepts the pending 'owner' of the '_profileId' passed in\n Requirements: Only the pending owner can accept the ownership\n @param _profileId The 'profileId' to accept the ownership for"},"functionSelector":"2497f3c6","implemented":false,"kind":"function","modifiers":[],"name":"acceptProfileOwnership","nameLocation":"11358:22:4","parameters":{"id":2773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2772,"mutability":"mutable","name":"_profileId","nameLocation":"11389:10:4","nodeType":"VariableDeclaration","scope":2775,"src":"11381:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2771,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11381:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11380:20:4"},"returnParameters":{"id":2774,"nodeType":"ParameterList","parameters":[],"src":"11409:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2784,"nodeType":"FunctionDefinition","src":"11684:76:4","nodes":[],"documentation":{"id":2776,"nodeType":"StructuredDocumentation","src":"11416:263:4","text":"@dev Adds members to the '_profileId' passed in\n Requirements: Only the 'Profile' owner can add members\n @param _profileId The 'profileId' to add members to\n @param _members The members to add to the '_profileId' passed in"},"functionSelector":"5063f361","implemented":false,"kind":"function","modifiers":[],"name":"addMembers","nameLocation":"11693:10:4","parameters":{"id":2782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2778,"mutability":"mutable","name":"_profileId","nameLocation":"11712:10:4","nodeType":"VariableDeclaration","scope":2784,"src":"11704:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2777,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11704:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2781,"mutability":"mutable","name":"_members","nameLocation":"11741:8:4","nodeType":"VariableDeclaration","scope":2784,"src":"11724:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2779,"name":"address","nodeType":"ElementaryTypeName","src":"11724:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2780,"nodeType":"ArrayTypeName","src":"11724:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"11703:47:4"},"returnParameters":{"id":2783,"nodeType":"ParameterList","parameters":[],"src":"11759:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2793,"nodeType":"FunctionDefinition","src":"12052:79:4","nodes":[],"documentation":{"id":2785,"nodeType":"StructuredDocumentation","src":"11766:281:4","text":"@dev Removes members from the '_profileId' passed in\n Requirements: Only the 'Profile' owner can remove members\n @param _profileId The 'profileId' to remove members from\n @param _members The members to remove from the '_profileId' passed in"},"functionSelector":"e0cf1e4c","implemented":false,"kind":"function","modifiers":[],"name":"removeMembers","nameLocation":"12061:13:4","parameters":{"id":2791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2787,"mutability":"mutable","name":"_profileId","nameLocation":"12083:10:4","nodeType":"VariableDeclaration","scope":2793,"src":"12075:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2786,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12075:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2790,"mutability":"mutable","name":"_members","nameLocation":"12112:8:4","nodeType":"VariableDeclaration","scope":2793,"src":"12095:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2788,"name":"address","nodeType":"ElementaryTypeName","src":"12095:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2789,"nodeType":"ArrayTypeName","src":"12095:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"12074:47:4"},"returnParameters":{"id":2792,"nodeType":"ParameterList","parameters":[],"src":"12130:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2801,"nodeType":"FunctionDefinition","src":"12372:67:4","nodes":[],"documentation":{"id":2794,"nodeType":"StructuredDocumentation","src":"12137:230:4","text":"@dev Recovers funds from the contract\n Requirements: Must be the Allo owner\n @param _token The token you want to use to recover funds\n @param _recipient The recipient of the recovered funds"},"functionSelector":"24ae6a27","implemented":false,"kind":"function","modifiers":[],"name":"recoverFunds","nameLocation":"12381:12:4","parameters":{"id":2799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2796,"mutability":"mutable","name":"_token","nameLocation":"12402:6:4","nodeType":"VariableDeclaration","scope":2801,"src":"12394:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2795,"name":"address","nodeType":"ElementaryTypeName","src":"12394:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2798,"mutability":"mutable","name":"_recipient","nameLocation":"12418:10:4","nodeType":"VariableDeclaration","scope":2801,"src":"12410:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2797,"name":"address","nodeType":"ElementaryTypeName","src":"12410:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12393:36:4"},"returnParameters":{"id":2800,"nodeType":"ParameterList","parameters":[],"src":"12438:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IRegistry","contractDependencies":[],"contractKind":"interface","documentation":{"id":2615,"nodeType":"StructuredDocumentation","src":"4124:931:4","text":"@title IRegistry Interface\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice Interface for the Registry contract and exposes all functions needed to use the Registry\n within the Allo protocol.\n @dev The Registry Interface is used to interact with the Allo protocol and create profiles\n that can be used to interact with the Allo protocol. The Registry is the main contract\n that all other contracts interact with to get the 'Profile' information needed to\n interact with the Allo protocol. The Registry is also used to create new profiles\n and update existing profiles. The Registry is also used to add and remove members\n from a profile. The Registry will not always be used in a strategy and will depend on\n the strategy being used."},"fullyImplemented":false,"linearizedBaseContracts":[2802],"name":"IRegistry","nameLocation":"5065:9:4","scope":2803,"usedErrors":[]}],"license":"MIT"},"id":4} \ No newline at end of file diff --git a/pkg/contracts/out/IRegistryFactory.sol/IRegistryFactory.json b/pkg/contracts/out/IRegistryFactory.sol/IRegistryFactory.json index 038155734..af35f75ea 100644 --- a/pkg/contracts/out/IRegistryFactory.sol/IRegistryFactory.json +++ b/pkg/contracts/out/IRegistryFactory.sol/IRegistryFactory.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"getGardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getGardensFeeReceiver()":"987435be","getProtocolFee(address)":"0a992e0c"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getGardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getProtocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/IRegistryFactory.sol\":\"IRegistryFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"getGardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getProtocolFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/IRegistryFactory.sol":"IRegistryFactory"},"evmVersion":"paris","libraries":{}},"sources":{"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/IRegistryFactory.sol","id":70061,"exportedSymbols":{"IRegistryFactory":[70060]},"nodeType":"SourceUnit","src":"33:209:101","nodes":[{"id":70047,"nodeType":"PragmaDirective","src":"33:24:101","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":70060,"nodeType":"ContractDefinition","src":"59:182:101","nodes":[{"id":70052,"nodeType":"FunctionDefinition","src":"92:65:101","nodes":[],"functionSelector":"987435be","implemented":false,"kind":"function","modifiers":[],"name":"getGardensFeeReceiver","nameLocation":"101:21:101","parameters":{"id":70048,"nodeType":"ParameterList","parameters":[],"src":"122:2:101"},"returnParameters":{"id":70051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70050,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70052,"src":"148:7:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70049,"name":"address","nodeType":"ElementaryTypeName","src":"148:7:101","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"147:9:101"},"scope":70060,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":70059,"nodeType":"FunctionDefinition","src":"163:76:101","nodes":[],"functionSelector":"0a992e0c","implemented":false,"kind":"function","modifiers":[],"name":"getProtocolFee","nameLocation":"172:14:101","parameters":{"id":70055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70054,"mutability":"mutable","name":"_community","nameLocation":"195:10:101","nodeType":"VariableDeclaration","scope":70059,"src":"187:18:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70053,"name":"address","nodeType":"ElementaryTypeName","src":"187:7:101","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"186:20:101"},"returnParameters":{"id":70058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70057,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70059,"src":"230:7:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70056,"name":"uint256","nodeType":"ElementaryTypeName","src":"230:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"229:9:101"},"scope":70060,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IRegistryFactory","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[70060],"name":"IRegistryFactory","nameLocation":"69:16:101","scope":70061,"usedErrors":[]}],"license":"MIT"},"id":101} \ No newline at end of file +{"abi":[{"type":"function","name":"getGardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getGardensFeeReceiver()":"987435be","getProtocolFee(address)":"0a992e0c"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getGardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getProtocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/IRegistryFactory.sol\":\"IRegistryFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"getGardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getProtocolFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/IRegistryFactory.sol":"IRegistryFactory"},"evmVersion":"paris","libraries":{}},"sources":{"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/IRegistryFactory.sol","id":70018,"exportedSymbols":{"IRegistryFactory":[70017]},"nodeType":"SourceUnit","src":"33:209:101","nodes":[{"id":70004,"nodeType":"PragmaDirective","src":"33:24:101","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":70017,"nodeType":"ContractDefinition","src":"59:182:101","nodes":[{"id":70009,"nodeType":"FunctionDefinition","src":"92:65:101","nodes":[],"functionSelector":"987435be","implemented":false,"kind":"function","modifiers":[],"name":"getGardensFeeReceiver","nameLocation":"101:21:101","parameters":{"id":70005,"nodeType":"ParameterList","parameters":[],"src":"122:2:101"},"returnParameters":{"id":70008,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70007,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70009,"src":"148:7:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70006,"name":"address","nodeType":"ElementaryTypeName","src":"148:7:101","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"147:9:101"},"scope":70017,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":70016,"nodeType":"FunctionDefinition","src":"163:76:101","nodes":[],"functionSelector":"0a992e0c","implemented":false,"kind":"function","modifiers":[],"name":"getProtocolFee","nameLocation":"172:14:101","parameters":{"id":70012,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70011,"mutability":"mutable","name":"_community","nameLocation":"195:10:101","nodeType":"VariableDeclaration","scope":70016,"src":"187:18:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70010,"name":"address","nodeType":"ElementaryTypeName","src":"187:7:101","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"186:20:101"},"returnParameters":{"id":70015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70014,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70016,"src":"230:7:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70013,"name":"uint256","nodeType":"ElementaryTypeName","src":"230:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"229:9:101"},"scope":70017,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IRegistryFactory","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[70017],"name":"IRegistryFactory","nameLocation":"69:16:101","scope":70018,"usedErrors":[]}],"license":"MIT"},"id":101} \ No newline at end of file diff --git a/pkg/contracts/out/ISafe.sol/Enum.json b/pkg/contracts/out/ISafe.sol/Enum.json index c3c02450d..59dc20d43 100644 --- a/pkg/contracts/out/ISafe.sol/Enum.json +++ b/pkg/contracts/out/ISafe.sol/Enum.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/ISafe.sol\":\"Enum\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/ISafe.sol":"Enum"},"evmVersion":"paris","libraries":{}},"sources":{"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/ISafe.sol","id":74187,"exportedSymbols":{"Enum":[74186],"ISafe":[74170],"SafeProxyFactory":[74182]},"nodeType":"SourceUnit","src":"42:1491:116","nodes":[{"id":74079,"nodeType":"PragmaDirective","src":"42:24:116","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":74170,"nodeType":"ContractDefinition","src":"68:1193:116","nodes":[{"id":74085,"nodeType":"FunctionDefinition","src":"90:62:116","nodes":[],"functionSelector":"a0e67e2b","implemented":false,"kind":"function","modifiers":[],"name":"getOwners","nameLocation":"99:9:116","parameters":{"id":74080,"nodeType":"ParameterList","parameters":[],"src":"108:2:116"},"returnParameters":{"id":74084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74083,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74085,"src":"134:16:116","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":74081,"name":"address","nodeType":"ElementaryTypeName","src":"134:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74082,"nodeType":"ArrayTypeName","src":"134:9:116","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"133:18:116"},"scope":74170,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74090,"nodeType":"FunctionDefinition","src":"157:49:116","nodes":[],"functionSelector":"affed0e0","implemented":false,"kind":"function","modifiers":[],"name":"nonce","nameLocation":"166:5:116","parameters":{"id":74086,"nodeType":"ParameterList","parameters":[],"src":"171:2:116"},"returnParameters":{"id":74089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74088,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74090,"src":"197:7:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74087,"name":"uint256","nodeType":"ElementaryTypeName","src":"197:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"196:9:116"},"scope":74170,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74110,"nodeType":"FunctionDefinition","src":"211:272:116","nodes":[],"functionSelector":"b63e800d","implemented":false,"kind":"function","modifiers":[],"name":"setup","nameLocation":"220:5:116","parameters":{"id":74108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74093,"mutability":"mutable","name":"_owners","nameLocation":"254:7:116","nodeType":"VariableDeclaration","scope":74110,"src":"235:26:116","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":74091,"name":"address","nodeType":"ElementaryTypeName","src":"235:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74092,"nodeType":"ArrayTypeName","src":"235:9:116","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":74095,"mutability":"mutable","name":"_threshold","nameLocation":"279:10:116","nodeType":"VariableDeclaration","scope":74110,"src":"271:18:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74094,"name":"uint256","nodeType":"ElementaryTypeName","src":"271:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74097,"mutability":"mutable","name":"to","nameLocation":"307:2:116","nodeType":"VariableDeclaration","scope":74110,"src":"299:10:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74096,"name":"address","nodeType":"ElementaryTypeName","src":"299:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74099,"mutability":"mutable","name":"data","nameLocation":"334:4:116","nodeType":"VariableDeclaration","scope":74110,"src":"319:19:116","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":74098,"name":"bytes","nodeType":"ElementaryTypeName","src":"319:5:116","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":74101,"mutability":"mutable","name":"fallbackHandler","nameLocation":"356:15:116","nodeType":"VariableDeclaration","scope":74110,"src":"348:23:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74100,"name":"address","nodeType":"ElementaryTypeName","src":"348:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74103,"mutability":"mutable","name":"paymentToken","nameLocation":"389:12:116","nodeType":"VariableDeclaration","scope":74110,"src":"381:20:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74102,"name":"address","nodeType":"ElementaryTypeName","src":"381:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74105,"mutability":"mutable","name":"payment","nameLocation":"419:7:116","nodeType":"VariableDeclaration","scope":74110,"src":"411:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74104,"name":"uint256","nodeType":"ElementaryTypeName","src":"411:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74107,"mutability":"mutable","name":"paymentReceiver","nameLocation":"452:15:116","nodeType":"VariableDeclaration","scope":74110,"src":"436:31:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":74106,"name":"address","nodeType":"ElementaryTypeName","src":"436:15:116","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"225:248:116"},"returnParameters":{"id":74109,"nodeType":"ParameterList","parameters":[],"src":"482:0:116"},"scope":74170,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74136,"nodeType":"FunctionDefinition","src":"488:332:116","nodes":[],"functionSelector":"d8d11f78","implemented":false,"kind":"function","modifiers":[],"name":"getTransactionHash","nameLocation":"497:18:116","parameters":{"id":74132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74112,"mutability":"mutable","name":"to","nameLocation":"533:2:116","nodeType":"VariableDeclaration","scope":74136,"src":"525:10:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74111,"name":"address","nodeType":"ElementaryTypeName","src":"525:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74114,"mutability":"mutable","name":"value","nameLocation":"553:5:116","nodeType":"VariableDeclaration","scope":74136,"src":"545:13:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74113,"name":"uint256","nodeType":"ElementaryTypeName","src":"545:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74116,"mutability":"mutable","name":"data","nameLocation":"583:4:116","nodeType":"VariableDeclaration","scope":74136,"src":"568:19:116","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":74115,"name":"bytes","nodeType":"ElementaryTypeName","src":"568:5:116","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":74119,"mutability":"mutable","name":"operation","nameLocation":"612:9:116","nodeType":"VariableDeclaration","scope":74136,"src":"597:24:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$74185","typeString":"enum Enum.Operation"},"typeName":{"id":74118,"nodeType":"UserDefinedTypeName","pathNode":{"id":74117,"name":"Enum.Operation","nameLocations":["597:4:116","602:9:116"],"nodeType":"IdentifierPath","referencedDeclaration":74185,"src":"597:14:116"},"referencedDeclaration":74185,"src":"597:14:116","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$74185","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":74121,"mutability":"mutable","name":"safeTxGas","nameLocation":"639:9:116","nodeType":"VariableDeclaration","scope":74136,"src":"631:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74120,"name":"uint256","nodeType":"ElementaryTypeName","src":"631:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74123,"mutability":"mutable","name":"baseGas","nameLocation":"666:7:116","nodeType":"VariableDeclaration","scope":74136,"src":"658:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74122,"name":"uint256","nodeType":"ElementaryTypeName","src":"658:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74125,"mutability":"mutable","name":"gasPrice","nameLocation":"691:8:116","nodeType":"VariableDeclaration","scope":74136,"src":"683:16:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74124,"name":"uint256","nodeType":"ElementaryTypeName","src":"683:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74127,"mutability":"mutable","name":"gasToken","nameLocation":"717:8:116","nodeType":"VariableDeclaration","scope":74136,"src":"709:16:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74126,"name":"address","nodeType":"ElementaryTypeName","src":"709:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74129,"mutability":"mutable","name":"refundReceiver","nameLocation":"743:14:116","nodeType":"VariableDeclaration","scope":74136,"src":"735:22:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74128,"name":"address","nodeType":"ElementaryTypeName","src":"735:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74131,"mutability":"mutable","name":"_nonce","nameLocation":"775:6:116","nodeType":"VariableDeclaration","scope":74136,"src":"767:14:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74130,"name":"uint256","nodeType":"ElementaryTypeName","src":"767:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"515:272:116"},"returnParameters":{"id":74135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74134,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74136,"src":"811:7:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":74133,"name":"bytes32","nodeType":"ElementaryTypeName","src":"811:7:116","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"810:9:116"},"scope":74170,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74162,"nodeType":"FunctionDefinition","src":"825:354:116","nodes":[],"functionSelector":"6a761202","implemented":false,"kind":"function","modifiers":[],"name":"execTransaction","nameLocation":"834:15:116","parameters":{"id":74158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74138,"mutability":"mutable","name":"to","nameLocation":"867:2:116","nodeType":"VariableDeclaration","scope":74162,"src":"859:10:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74137,"name":"address","nodeType":"ElementaryTypeName","src":"859:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74140,"mutability":"mutable","name":"value","nameLocation":"887:5:116","nodeType":"VariableDeclaration","scope":74162,"src":"879:13:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74139,"name":"uint256","nodeType":"ElementaryTypeName","src":"879:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74142,"mutability":"mutable","name":"data","nameLocation":"917:4:116","nodeType":"VariableDeclaration","scope":74162,"src":"902:19:116","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":74141,"name":"bytes","nodeType":"ElementaryTypeName","src":"902:5:116","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":74145,"mutability":"mutable","name":"operation","nameLocation":"946:9:116","nodeType":"VariableDeclaration","scope":74162,"src":"931:24:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$74185","typeString":"enum Enum.Operation"},"typeName":{"id":74144,"nodeType":"UserDefinedTypeName","pathNode":{"id":74143,"name":"Enum.Operation","nameLocations":["931:4:116","936:9:116"],"nodeType":"IdentifierPath","referencedDeclaration":74185,"src":"931:14:116"},"referencedDeclaration":74185,"src":"931:14:116","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$74185","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":74147,"mutability":"mutable","name":"safeTxGas","nameLocation":"973:9:116","nodeType":"VariableDeclaration","scope":74162,"src":"965:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74146,"name":"uint256","nodeType":"ElementaryTypeName","src":"965:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74149,"mutability":"mutable","name":"baseGas","nameLocation":"1000:7:116","nodeType":"VariableDeclaration","scope":74162,"src":"992:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74148,"name":"uint256","nodeType":"ElementaryTypeName","src":"992:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74151,"mutability":"mutable","name":"gasPrice","nameLocation":"1025:8:116","nodeType":"VariableDeclaration","scope":74162,"src":"1017:16:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74150,"name":"uint256","nodeType":"ElementaryTypeName","src":"1017:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74153,"mutability":"mutable","name":"gasToken","nameLocation":"1051:8:116","nodeType":"VariableDeclaration","scope":74162,"src":"1043:16:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74152,"name":"address","nodeType":"ElementaryTypeName","src":"1043:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74155,"mutability":"mutable","name":"refundReceiver","nameLocation":"1085:14:116","nodeType":"VariableDeclaration","scope":74162,"src":"1069:30:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":74154,"name":"address","nodeType":"ElementaryTypeName","src":"1069:15:116","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":74157,"mutability":"mutable","name":"signatures","nameLocation":"1122:10:116","nodeType":"VariableDeclaration","scope":74162,"src":"1109:23:116","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":74156,"name":"bytes","nodeType":"ElementaryTypeName","src":"1109:5:116","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"849:289:116"},"returnParameters":{"id":74161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74160,"mutability":"mutable","name":"success","nameLocation":"1170:7:116","nodeType":"VariableDeclaration","scope":74162,"src":"1165:12:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74159,"name":"bool","nodeType":"ElementaryTypeName","src":"1165:4:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1164:14:116"},"scope":74170,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":74169,"nodeType":"FunctionDefinition","src":"1184:75:116","nodes":[],"functionSelector":"0d582f13","implemented":false,"kind":"function","modifiers":[],"name":"addOwnerWithThreshold","nameLocation":"1193:21:116","parameters":{"id":74167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74164,"mutability":"mutable","name":"owner","nameLocation":"1223:5:116","nodeType":"VariableDeclaration","scope":74169,"src":"1215:13:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74163,"name":"address","nodeType":"ElementaryTypeName","src":"1215:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74166,"mutability":"mutable","name":"_threshold","nameLocation":"1238:10:116","nodeType":"VariableDeclaration","scope":74169,"src":"1230:18:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74165,"name":"uint256","nodeType":"ElementaryTypeName","src":"1230:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1214:35:116"},"returnParameters":{"id":74168,"nodeType":"ParameterList","parameters":[],"src":"1258:0:116"},"scope":74170,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ISafe","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[74170],"name":"ISafe","nameLocation":"78:5:116","scope":74187,"usedErrors":[]},{"id":74182,"nodeType":"ContractDefinition","src":"1263:179:116","nodes":[{"id":74181,"nodeType":"FunctionDefinition","src":"1296:144:116","nodes":[],"functionSelector":"1688f0b9","implemented":false,"kind":"function","modifiers":[],"name":"createProxyWithNonce","nameLocation":"1305:20:116","parameters":{"id":74177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74172,"mutability":"mutable","name":"_singleton","nameLocation":"1334:10:116","nodeType":"VariableDeclaration","scope":74181,"src":"1326:18:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74171,"name":"address","nodeType":"ElementaryTypeName","src":"1326:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74174,"mutability":"mutable","name":"initializer","nameLocation":"1359:11:116","nodeType":"VariableDeclaration","scope":74181,"src":"1346:24:116","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":74173,"name":"bytes","nodeType":"ElementaryTypeName","src":"1346:5:116","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":74176,"mutability":"mutable","name":"saltNonce","nameLocation":"1380:9:116","nodeType":"VariableDeclaration","scope":74181,"src":"1372:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74175,"name":"uint256","nodeType":"ElementaryTypeName","src":"1372:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1325:65:116"},"returnParameters":{"id":74180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74179,"mutability":"mutable","name":"proxy","nameLocation":"1433:5:116","nodeType":"VariableDeclaration","scope":74181,"src":"1425:13:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74178,"name":"address","nodeType":"ElementaryTypeName","src":"1425:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1424:15:116"},"scope":74182,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeProxyFactory","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[74182],"name":"SafeProxyFactory","nameLocation":"1273:16:116","scope":74187,"usedErrors":[]},{"id":74186,"nodeType":"ContractDefinition","src":"1444:88:116","nodes":[{"id":74185,"nodeType":"EnumDefinition","src":"1473:57:116","nodes":[],"canonicalName":"Enum.Operation","members":[{"id":74183,"name":"Call","nameLocation":"1498:4:116","nodeType":"EnumValue","src":"1498:4:116"},{"id":74184,"name":"DelegateCall","nameLocation":"1512:12:116","nodeType":"EnumValue","src":"1512:12:116"}],"name":"Operation","nameLocation":"1478:9:116"}],"abstract":true,"baseContracts":[],"canonicalName":"Enum","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[74186],"name":"Enum","nameLocation":"1462:4:116","scope":74187,"usedErrors":[]}],"license":"LGPL-3.0-only"},"id":116} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/ISafe.sol\":\"Enum\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/ISafe.sol":"Enum"},"evmVersion":"paris","libraries":{}},"sources":{"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/ISafe.sol","id":76468,"exportedSymbols":{"Enum":[76467],"ISafe":[76451],"SafeProxyFactory":[76463]},"nodeType":"SourceUnit","src":"42:1491:132","nodes":[{"id":76360,"nodeType":"PragmaDirective","src":"42:24:132","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":76451,"nodeType":"ContractDefinition","src":"68:1193:132","nodes":[{"id":76366,"nodeType":"FunctionDefinition","src":"90:62:132","nodes":[],"functionSelector":"a0e67e2b","implemented":false,"kind":"function","modifiers":[],"name":"getOwners","nameLocation":"99:9:132","parameters":{"id":76361,"nodeType":"ParameterList","parameters":[],"src":"108:2:132"},"returnParameters":{"id":76365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76364,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76366,"src":"134:16:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":76362,"name":"address","nodeType":"ElementaryTypeName","src":"134:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":76363,"nodeType":"ArrayTypeName","src":"134:9:132","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"133:18:132"},"scope":76451,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76371,"nodeType":"FunctionDefinition","src":"157:49:132","nodes":[],"functionSelector":"affed0e0","implemented":false,"kind":"function","modifiers":[],"name":"nonce","nameLocation":"166:5:132","parameters":{"id":76367,"nodeType":"ParameterList","parameters":[],"src":"171:2:132"},"returnParameters":{"id":76370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76369,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76371,"src":"197:7:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76368,"name":"uint256","nodeType":"ElementaryTypeName","src":"197:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"196:9:132"},"scope":76451,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76391,"nodeType":"FunctionDefinition","src":"211:272:132","nodes":[],"functionSelector":"b63e800d","implemented":false,"kind":"function","modifiers":[],"name":"setup","nameLocation":"220:5:132","parameters":{"id":76389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76374,"mutability":"mutable","name":"_owners","nameLocation":"254:7:132","nodeType":"VariableDeclaration","scope":76391,"src":"235:26:132","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":76372,"name":"address","nodeType":"ElementaryTypeName","src":"235:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":76373,"nodeType":"ArrayTypeName","src":"235:9:132","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":76376,"mutability":"mutable","name":"_threshold","nameLocation":"279:10:132","nodeType":"VariableDeclaration","scope":76391,"src":"271:18:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76375,"name":"uint256","nodeType":"ElementaryTypeName","src":"271:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76378,"mutability":"mutable","name":"to","nameLocation":"307:2:132","nodeType":"VariableDeclaration","scope":76391,"src":"299:10:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76377,"name":"address","nodeType":"ElementaryTypeName","src":"299:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76380,"mutability":"mutable","name":"data","nameLocation":"334:4:132","nodeType":"VariableDeclaration","scope":76391,"src":"319:19:132","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":76379,"name":"bytes","nodeType":"ElementaryTypeName","src":"319:5:132","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":76382,"mutability":"mutable","name":"fallbackHandler","nameLocation":"356:15:132","nodeType":"VariableDeclaration","scope":76391,"src":"348:23:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76381,"name":"address","nodeType":"ElementaryTypeName","src":"348:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76384,"mutability":"mutable","name":"paymentToken","nameLocation":"389:12:132","nodeType":"VariableDeclaration","scope":76391,"src":"381:20:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76383,"name":"address","nodeType":"ElementaryTypeName","src":"381:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76386,"mutability":"mutable","name":"payment","nameLocation":"419:7:132","nodeType":"VariableDeclaration","scope":76391,"src":"411:15:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76385,"name":"uint256","nodeType":"ElementaryTypeName","src":"411:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76388,"mutability":"mutable","name":"paymentReceiver","nameLocation":"452:15:132","nodeType":"VariableDeclaration","scope":76391,"src":"436:31:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":76387,"name":"address","nodeType":"ElementaryTypeName","src":"436:15:132","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"225:248:132"},"returnParameters":{"id":76390,"nodeType":"ParameterList","parameters":[],"src":"482:0:132"},"scope":76451,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":76417,"nodeType":"FunctionDefinition","src":"488:332:132","nodes":[],"functionSelector":"d8d11f78","implemented":false,"kind":"function","modifiers":[],"name":"getTransactionHash","nameLocation":"497:18:132","parameters":{"id":76413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76393,"mutability":"mutable","name":"to","nameLocation":"533:2:132","nodeType":"VariableDeclaration","scope":76417,"src":"525:10:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76392,"name":"address","nodeType":"ElementaryTypeName","src":"525:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76395,"mutability":"mutable","name":"value","nameLocation":"553:5:132","nodeType":"VariableDeclaration","scope":76417,"src":"545:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76394,"name":"uint256","nodeType":"ElementaryTypeName","src":"545:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76397,"mutability":"mutable","name":"data","nameLocation":"583:4:132","nodeType":"VariableDeclaration","scope":76417,"src":"568:19:132","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":76396,"name":"bytes","nodeType":"ElementaryTypeName","src":"568:5:132","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":76400,"mutability":"mutable","name":"operation","nameLocation":"612:9:132","nodeType":"VariableDeclaration","scope":76417,"src":"597:24:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$76466","typeString":"enum Enum.Operation"},"typeName":{"id":76399,"nodeType":"UserDefinedTypeName","pathNode":{"id":76398,"name":"Enum.Operation","nameLocations":["597:4:132","602:9:132"],"nodeType":"IdentifierPath","referencedDeclaration":76466,"src":"597:14:132"},"referencedDeclaration":76466,"src":"597:14:132","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$76466","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":76402,"mutability":"mutable","name":"safeTxGas","nameLocation":"639:9:132","nodeType":"VariableDeclaration","scope":76417,"src":"631:17:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76401,"name":"uint256","nodeType":"ElementaryTypeName","src":"631:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76404,"mutability":"mutable","name":"baseGas","nameLocation":"666:7:132","nodeType":"VariableDeclaration","scope":76417,"src":"658:15:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76403,"name":"uint256","nodeType":"ElementaryTypeName","src":"658:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76406,"mutability":"mutable","name":"gasPrice","nameLocation":"691:8:132","nodeType":"VariableDeclaration","scope":76417,"src":"683:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76405,"name":"uint256","nodeType":"ElementaryTypeName","src":"683:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76408,"mutability":"mutable","name":"gasToken","nameLocation":"717:8:132","nodeType":"VariableDeclaration","scope":76417,"src":"709:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76407,"name":"address","nodeType":"ElementaryTypeName","src":"709:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76410,"mutability":"mutable","name":"refundReceiver","nameLocation":"743:14:132","nodeType":"VariableDeclaration","scope":76417,"src":"735:22:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76409,"name":"address","nodeType":"ElementaryTypeName","src":"735:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76412,"mutability":"mutable","name":"_nonce","nameLocation":"775:6:132","nodeType":"VariableDeclaration","scope":76417,"src":"767:14:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76411,"name":"uint256","nodeType":"ElementaryTypeName","src":"767:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"515:272:132"},"returnParameters":{"id":76416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76415,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76417,"src":"811:7:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":76414,"name":"bytes32","nodeType":"ElementaryTypeName","src":"811:7:132","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"810:9:132"},"scope":76451,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76443,"nodeType":"FunctionDefinition","src":"825:354:132","nodes":[],"functionSelector":"6a761202","implemented":false,"kind":"function","modifiers":[],"name":"execTransaction","nameLocation":"834:15:132","parameters":{"id":76439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76419,"mutability":"mutable","name":"to","nameLocation":"867:2:132","nodeType":"VariableDeclaration","scope":76443,"src":"859:10:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76418,"name":"address","nodeType":"ElementaryTypeName","src":"859:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76421,"mutability":"mutable","name":"value","nameLocation":"887:5:132","nodeType":"VariableDeclaration","scope":76443,"src":"879:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76420,"name":"uint256","nodeType":"ElementaryTypeName","src":"879:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76423,"mutability":"mutable","name":"data","nameLocation":"917:4:132","nodeType":"VariableDeclaration","scope":76443,"src":"902:19:132","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":76422,"name":"bytes","nodeType":"ElementaryTypeName","src":"902:5:132","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":76426,"mutability":"mutable","name":"operation","nameLocation":"946:9:132","nodeType":"VariableDeclaration","scope":76443,"src":"931:24:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$76466","typeString":"enum Enum.Operation"},"typeName":{"id":76425,"nodeType":"UserDefinedTypeName","pathNode":{"id":76424,"name":"Enum.Operation","nameLocations":["931:4:132","936:9:132"],"nodeType":"IdentifierPath","referencedDeclaration":76466,"src":"931:14:132"},"referencedDeclaration":76466,"src":"931:14:132","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$76466","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":76428,"mutability":"mutable","name":"safeTxGas","nameLocation":"973:9:132","nodeType":"VariableDeclaration","scope":76443,"src":"965:17:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76427,"name":"uint256","nodeType":"ElementaryTypeName","src":"965:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76430,"mutability":"mutable","name":"baseGas","nameLocation":"1000:7:132","nodeType":"VariableDeclaration","scope":76443,"src":"992:15:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76429,"name":"uint256","nodeType":"ElementaryTypeName","src":"992:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76432,"mutability":"mutable","name":"gasPrice","nameLocation":"1025:8:132","nodeType":"VariableDeclaration","scope":76443,"src":"1017:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76431,"name":"uint256","nodeType":"ElementaryTypeName","src":"1017:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76434,"mutability":"mutable","name":"gasToken","nameLocation":"1051:8:132","nodeType":"VariableDeclaration","scope":76443,"src":"1043:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76433,"name":"address","nodeType":"ElementaryTypeName","src":"1043:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76436,"mutability":"mutable","name":"refundReceiver","nameLocation":"1085:14:132","nodeType":"VariableDeclaration","scope":76443,"src":"1069:30:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":76435,"name":"address","nodeType":"ElementaryTypeName","src":"1069:15:132","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":76438,"mutability":"mutable","name":"signatures","nameLocation":"1122:10:132","nodeType":"VariableDeclaration","scope":76443,"src":"1109:23:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":76437,"name":"bytes","nodeType":"ElementaryTypeName","src":"1109:5:132","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"849:289:132"},"returnParameters":{"id":76442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76441,"mutability":"mutable","name":"success","nameLocation":"1170:7:132","nodeType":"VariableDeclaration","scope":76443,"src":"1165:12:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76440,"name":"bool","nodeType":"ElementaryTypeName","src":"1165:4:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1164:14:132"},"scope":76451,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":76450,"nodeType":"FunctionDefinition","src":"1184:75:132","nodes":[],"functionSelector":"0d582f13","implemented":false,"kind":"function","modifiers":[],"name":"addOwnerWithThreshold","nameLocation":"1193:21:132","parameters":{"id":76448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76445,"mutability":"mutable","name":"owner","nameLocation":"1223:5:132","nodeType":"VariableDeclaration","scope":76450,"src":"1215:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76444,"name":"address","nodeType":"ElementaryTypeName","src":"1215:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76447,"mutability":"mutable","name":"_threshold","nameLocation":"1238:10:132","nodeType":"VariableDeclaration","scope":76450,"src":"1230:18:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76446,"name":"uint256","nodeType":"ElementaryTypeName","src":"1230:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1214:35:132"},"returnParameters":{"id":76449,"nodeType":"ParameterList","parameters":[],"src":"1258:0:132"},"scope":76451,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ISafe","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[76451],"name":"ISafe","nameLocation":"78:5:132","scope":76468,"usedErrors":[]},{"id":76463,"nodeType":"ContractDefinition","src":"1263:179:132","nodes":[{"id":76462,"nodeType":"FunctionDefinition","src":"1296:144:132","nodes":[],"functionSelector":"1688f0b9","implemented":false,"kind":"function","modifiers":[],"name":"createProxyWithNonce","nameLocation":"1305:20:132","parameters":{"id":76458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76453,"mutability":"mutable","name":"_singleton","nameLocation":"1334:10:132","nodeType":"VariableDeclaration","scope":76462,"src":"1326:18:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76452,"name":"address","nodeType":"ElementaryTypeName","src":"1326:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76455,"mutability":"mutable","name":"initializer","nameLocation":"1359:11:132","nodeType":"VariableDeclaration","scope":76462,"src":"1346:24:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":76454,"name":"bytes","nodeType":"ElementaryTypeName","src":"1346:5:132","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":76457,"mutability":"mutable","name":"saltNonce","nameLocation":"1380:9:132","nodeType":"VariableDeclaration","scope":76462,"src":"1372:17:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76456,"name":"uint256","nodeType":"ElementaryTypeName","src":"1372:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1325:65:132"},"returnParameters":{"id":76461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76460,"mutability":"mutable","name":"proxy","nameLocation":"1433:5:132","nodeType":"VariableDeclaration","scope":76462,"src":"1425:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76459,"name":"address","nodeType":"ElementaryTypeName","src":"1425:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1424:15:132"},"scope":76463,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeProxyFactory","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[76463],"name":"SafeProxyFactory","nameLocation":"1273:16:132","scope":76468,"usedErrors":[]},{"id":76467,"nodeType":"ContractDefinition","src":"1444:88:132","nodes":[{"id":76466,"nodeType":"EnumDefinition","src":"1473:57:132","nodes":[],"canonicalName":"Enum.Operation","members":[{"id":76464,"name":"Call","nameLocation":"1498:4:132","nodeType":"EnumValue","src":"1498:4:132"},{"id":76465,"name":"DelegateCall","nameLocation":"1512:12:132","nodeType":"EnumValue","src":"1512:12:132"}],"name":"Operation","nameLocation":"1478:9:132"}],"abstract":true,"baseContracts":[],"canonicalName":"Enum","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[76467],"name":"Enum","nameLocation":"1462:4:132","scope":76468,"usedErrors":[]}],"license":"LGPL-3.0-only"},"id":132} \ No newline at end of file diff --git a/pkg/contracts/out/ISafe.sol/ISafe.json b/pkg/contracts/out/ISafe.sol/ISafe.json index 126e86cb2..93c73e83a 100644 --- a/pkg/contracts/out/ISafe.sol/ISafe.json +++ b/pkg/contracts/out/ISafe.sol/ISafe.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"getOwners","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"isOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getOwners()":"a0e67e2b","isOwner(address)":"2f54bf6e"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getOwners\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/ISafe.sol\":\"ISafe\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0xe3086c445cae908421c8a075f5d08a48f9e4431aed1832bb3b732616bb8df12c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0073dff5ca034837c0b1bd35bbe0a912621d6ce7a6ce5b3687633bf24231fd4f\",\"dweb:/ipfs/QmUmiwSckW5L7sP5iQvMcZUwoecqQ62rpjj7rPfyvQTcjb\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"getOwners","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/ISafe.sol":"ISafe"},"evmVersion":"paris","libraries":{}},"sources":{"pkg/contracts/src/ISafe.sol":{"keccak256":"0xe3086c445cae908421c8a075f5d08a48f9e4431aed1832bb3b732616bb8df12c","urls":["bzz-raw://0073dff5ca034837c0b1bd35bbe0a912621d6ce7a6ce5b3687633bf24231fd4f","dweb:/ipfs/QmUmiwSckW5L7sP5iQvMcZUwoecqQ62rpjj7rPfyvQTcjb"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/ISafe.sol","id":70077,"exportedSymbols":{"ISafe":[70076]},"nodeType":"SourceUnit","src":"42:179:102","nodes":[{"id":70062,"nodeType":"PragmaDirective","src":"42:24:102","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":70076,"nodeType":"ContractDefinition","src":"68:152:102","nodes":[{"id":70068,"nodeType":"FunctionDefinition","src":"90:62:102","nodes":[],"functionSelector":"a0e67e2b","implemented":false,"kind":"function","modifiers":[],"name":"getOwners","nameLocation":"99:9:102","parameters":{"id":70063,"nodeType":"ParameterList","parameters":[],"src":"108:2:102"},"returnParameters":{"id":70067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70066,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70068,"src":"134:16:102","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":70064,"name":"address","nodeType":"ElementaryTypeName","src":"134:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70065,"nodeType":"ArrayTypeName","src":"134:9:102","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"133:18:102"},"scope":70076,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":70075,"nodeType":"FunctionDefinition","src":"157:61:102","nodes":[],"functionSelector":"2f54bf6e","implemented":false,"kind":"function","modifiers":[],"name":"isOwner","nameLocation":"166:7:102","parameters":{"id":70071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70070,"mutability":"mutable","name":"owner","nameLocation":"182:5:102","nodeType":"VariableDeclaration","scope":70075,"src":"174:13:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70069,"name":"address","nodeType":"ElementaryTypeName","src":"174:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"173:15:102"},"returnParameters":{"id":70074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70073,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70075,"src":"212:4:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70072,"name":"bool","nodeType":"ElementaryTypeName","src":"212:4:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"211:6:102"},"scope":70076,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ISafe","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[70076],"name":"ISafe","nameLocation":"78:5:102","scope":70077,"usedErrors":[]}],"license":"LGPL-3.0-only"},"id":102} \ No newline at end of file +{"abi":[{"type":"function","name":"getOwners","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"isOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getOwners()":"a0e67e2b","isOwner(address)":"2f54bf6e"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getOwners\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/ISafe.sol\":\"ISafe\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0xe3086c445cae908421c8a075f5d08a48f9e4431aed1832bb3b732616bb8df12c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0073dff5ca034837c0b1bd35bbe0a912621d6ce7a6ce5b3687633bf24231fd4f\",\"dweb:/ipfs/QmUmiwSckW5L7sP5iQvMcZUwoecqQ62rpjj7rPfyvQTcjb\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"getOwners","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/ISafe.sol":"ISafe"},"evmVersion":"paris","libraries":{}},"sources":{"pkg/contracts/src/ISafe.sol":{"keccak256":"0xe3086c445cae908421c8a075f5d08a48f9e4431aed1832bb3b732616bb8df12c","urls":["bzz-raw://0073dff5ca034837c0b1bd35bbe0a912621d6ce7a6ce5b3687633bf24231fd4f","dweb:/ipfs/QmUmiwSckW5L7sP5iQvMcZUwoecqQ62rpjj7rPfyvQTcjb"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/ISafe.sol","id":70034,"exportedSymbols":{"ISafe":[70033]},"nodeType":"SourceUnit","src":"42:179:102","nodes":[{"id":70019,"nodeType":"PragmaDirective","src":"42:24:102","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":70033,"nodeType":"ContractDefinition","src":"68:152:102","nodes":[{"id":70025,"nodeType":"FunctionDefinition","src":"90:62:102","nodes":[],"functionSelector":"a0e67e2b","implemented":false,"kind":"function","modifiers":[],"name":"getOwners","nameLocation":"99:9:102","parameters":{"id":70020,"nodeType":"ParameterList","parameters":[],"src":"108:2:102"},"returnParameters":{"id":70024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70023,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70025,"src":"134:16:102","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":70021,"name":"address","nodeType":"ElementaryTypeName","src":"134:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70022,"nodeType":"ArrayTypeName","src":"134:9:102","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"133:18:102"},"scope":70033,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":70032,"nodeType":"FunctionDefinition","src":"157:61:102","nodes":[],"functionSelector":"2f54bf6e","implemented":false,"kind":"function","modifiers":[],"name":"isOwner","nameLocation":"166:7:102","parameters":{"id":70028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70027,"mutability":"mutable","name":"owner","nameLocation":"182:5:102","nodeType":"VariableDeclaration","scope":70032,"src":"174:13:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70026,"name":"address","nodeType":"ElementaryTypeName","src":"174:7:102","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"173:15:102"},"returnParameters":{"id":70031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70030,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70032,"src":"212:4:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70029,"name":"bool","nodeType":"ElementaryTypeName","src":"212:4:102","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"211:6:102"},"scope":70033,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ISafe","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[70033],"name":"ISafe","nameLocation":"78:5:102","scope":70034,"usedErrors":[]}],"license":"LGPL-3.0-only"},"id":102} \ No newline at end of file diff --git a/pkg/contracts/out/ISafe.sol/SafeProxyFactory.json b/pkg/contracts/out/ISafe.sol/SafeProxyFactory.json index e5128666e..2e37c3a27 100644 --- a/pkg/contracts/out/ISafe.sol/SafeProxyFactory.json +++ b/pkg/contracts/out/ISafe.sol/SafeProxyFactory.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"createProxyWithNonce","inputs":[{"name":"_singleton","type":"address","internalType":"address"},{"name":"initializer","type":"bytes","internalType":"bytes"},{"name":"saltNonce","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"proxy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"createProxyWithNonce(address,bytes,uint256)":"1688f0b9"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_singleton\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"saltNonce\",\"type\":\"uint256\"}],\"name\":\"createProxyWithNonce\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/ISafe.sol\":\"SafeProxyFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_singleton","type":"address"},{"internalType":"bytes","name":"initializer","type":"bytes"},{"internalType":"uint256","name":"saltNonce","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"createProxyWithNonce","outputs":[{"internalType":"address","name":"proxy","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/ISafe.sol":"SafeProxyFactory"},"evmVersion":"paris","libraries":{}},"sources":{"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/ISafe.sol","id":74187,"exportedSymbols":{"Enum":[74186],"ISafe":[74170],"SafeProxyFactory":[74182]},"nodeType":"SourceUnit","src":"42:1491:116","nodes":[{"id":74079,"nodeType":"PragmaDirective","src":"42:24:116","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":74170,"nodeType":"ContractDefinition","src":"68:1193:116","nodes":[{"id":74085,"nodeType":"FunctionDefinition","src":"90:62:116","nodes":[],"functionSelector":"a0e67e2b","implemented":false,"kind":"function","modifiers":[],"name":"getOwners","nameLocation":"99:9:116","parameters":{"id":74080,"nodeType":"ParameterList","parameters":[],"src":"108:2:116"},"returnParameters":{"id":74084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74083,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74085,"src":"134:16:116","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":74081,"name":"address","nodeType":"ElementaryTypeName","src":"134:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74082,"nodeType":"ArrayTypeName","src":"134:9:116","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"133:18:116"},"scope":74170,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74090,"nodeType":"FunctionDefinition","src":"157:49:116","nodes":[],"functionSelector":"affed0e0","implemented":false,"kind":"function","modifiers":[],"name":"nonce","nameLocation":"166:5:116","parameters":{"id":74086,"nodeType":"ParameterList","parameters":[],"src":"171:2:116"},"returnParameters":{"id":74089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74088,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74090,"src":"197:7:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74087,"name":"uint256","nodeType":"ElementaryTypeName","src":"197:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"196:9:116"},"scope":74170,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74110,"nodeType":"FunctionDefinition","src":"211:272:116","nodes":[],"functionSelector":"b63e800d","implemented":false,"kind":"function","modifiers":[],"name":"setup","nameLocation":"220:5:116","parameters":{"id":74108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74093,"mutability":"mutable","name":"_owners","nameLocation":"254:7:116","nodeType":"VariableDeclaration","scope":74110,"src":"235:26:116","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":74091,"name":"address","nodeType":"ElementaryTypeName","src":"235:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74092,"nodeType":"ArrayTypeName","src":"235:9:116","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":74095,"mutability":"mutable","name":"_threshold","nameLocation":"279:10:116","nodeType":"VariableDeclaration","scope":74110,"src":"271:18:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74094,"name":"uint256","nodeType":"ElementaryTypeName","src":"271:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74097,"mutability":"mutable","name":"to","nameLocation":"307:2:116","nodeType":"VariableDeclaration","scope":74110,"src":"299:10:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74096,"name":"address","nodeType":"ElementaryTypeName","src":"299:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74099,"mutability":"mutable","name":"data","nameLocation":"334:4:116","nodeType":"VariableDeclaration","scope":74110,"src":"319:19:116","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":74098,"name":"bytes","nodeType":"ElementaryTypeName","src":"319:5:116","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":74101,"mutability":"mutable","name":"fallbackHandler","nameLocation":"356:15:116","nodeType":"VariableDeclaration","scope":74110,"src":"348:23:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74100,"name":"address","nodeType":"ElementaryTypeName","src":"348:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74103,"mutability":"mutable","name":"paymentToken","nameLocation":"389:12:116","nodeType":"VariableDeclaration","scope":74110,"src":"381:20:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74102,"name":"address","nodeType":"ElementaryTypeName","src":"381:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74105,"mutability":"mutable","name":"payment","nameLocation":"419:7:116","nodeType":"VariableDeclaration","scope":74110,"src":"411:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74104,"name":"uint256","nodeType":"ElementaryTypeName","src":"411:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74107,"mutability":"mutable","name":"paymentReceiver","nameLocation":"452:15:116","nodeType":"VariableDeclaration","scope":74110,"src":"436:31:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":74106,"name":"address","nodeType":"ElementaryTypeName","src":"436:15:116","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"225:248:116"},"returnParameters":{"id":74109,"nodeType":"ParameterList","parameters":[],"src":"482:0:116"},"scope":74170,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74136,"nodeType":"FunctionDefinition","src":"488:332:116","nodes":[],"functionSelector":"d8d11f78","implemented":false,"kind":"function","modifiers":[],"name":"getTransactionHash","nameLocation":"497:18:116","parameters":{"id":74132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74112,"mutability":"mutable","name":"to","nameLocation":"533:2:116","nodeType":"VariableDeclaration","scope":74136,"src":"525:10:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74111,"name":"address","nodeType":"ElementaryTypeName","src":"525:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74114,"mutability":"mutable","name":"value","nameLocation":"553:5:116","nodeType":"VariableDeclaration","scope":74136,"src":"545:13:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74113,"name":"uint256","nodeType":"ElementaryTypeName","src":"545:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74116,"mutability":"mutable","name":"data","nameLocation":"583:4:116","nodeType":"VariableDeclaration","scope":74136,"src":"568:19:116","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":74115,"name":"bytes","nodeType":"ElementaryTypeName","src":"568:5:116","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":74119,"mutability":"mutable","name":"operation","nameLocation":"612:9:116","nodeType":"VariableDeclaration","scope":74136,"src":"597:24:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$74185","typeString":"enum Enum.Operation"},"typeName":{"id":74118,"nodeType":"UserDefinedTypeName","pathNode":{"id":74117,"name":"Enum.Operation","nameLocations":["597:4:116","602:9:116"],"nodeType":"IdentifierPath","referencedDeclaration":74185,"src":"597:14:116"},"referencedDeclaration":74185,"src":"597:14:116","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$74185","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":74121,"mutability":"mutable","name":"safeTxGas","nameLocation":"639:9:116","nodeType":"VariableDeclaration","scope":74136,"src":"631:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74120,"name":"uint256","nodeType":"ElementaryTypeName","src":"631:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74123,"mutability":"mutable","name":"baseGas","nameLocation":"666:7:116","nodeType":"VariableDeclaration","scope":74136,"src":"658:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74122,"name":"uint256","nodeType":"ElementaryTypeName","src":"658:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74125,"mutability":"mutable","name":"gasPrice","nameLocation":"691:8:116","nodeType":"VariableDeclaration","scope":74136,"src":"683:16:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74124,"name":"uint256","nodeType":"ElementaryTypeName","src":"683:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74127,"mutability":"mutable","name":"gasToken","nameLocation":"717:8:116","nodeType":"VariableDeclaration","scope":74136,"src":"709:16:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74126,"name":"address","nodeType":"ElementaryTypeName","src":"709:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74129,"mutability":"mutable","name":"refundReceiver","nameLocation":"743:14:116","nodeType":"VariableDeclaration","scope":74136,"src":"735:22:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74128,"name":"address","nodeType":"ElementaryTypeName","src":"735:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74131,"mutability":"mutable","name":"_nonce","nameLocation":"775:6:116","nodeType":"VariableDeclaration","scope":74136,"src":"767:14:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74130,"name":"uint256","nodeType":"ElementaryTypeName","src":"767:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"515:272:116"},"returnParameters":{"id":74135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74134,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74136,"src":"811:7:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":74133,"name":"bytes32","nodeType":"ElementaryTypeName","src":"811:7:116","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"810:9:116"},"scope":74170,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74162,"nodeType":"FunctionDefinition","src":"825:354:116","nodes":[],"functionSelector":"6a761202","implemented":false,"kind":"function","modifiers":[],"name":"execTransaction","nameLocation":"834:15:116","parameters":{"id":74158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74138,"mutability":"mutable","name":"to","nameLocation":"867:2:116","nodeType":"VariableDeclaration","scope":74162,"src":"859:10:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74137,"name":"address","nodeType":"ElementaryTypeName","src":"859:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74140,"mutability":"mutable","name":"value","nameLocation":"887:5:116","nodeType":"VariableDeclaration","scope":74162,"src":"879:13:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74139,"name":"uint256","nodeType":"ElementaryTypeName","src":"879:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74142,"mutability":"mutable","name":"data","nameLocation":"917:4:116","nodeType":"VariableDeclaration","scope":74162,"src":"902:19:116","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":74141,"name":"bytes","nodeType":"ElementaryTypeName","src":"902:5:116","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":74145,"mutability":"mutable","name":"operation","nameLocation":"946:9:116","nodeType":"VariableDeclaration","scope":74162,"src":"931:24:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$74185","typeString":"enum Enum.Operation"},"typeName":{"id":74144,"nodeType":"UserDefinedTypeName","pathNode":{"id":74143,"name":"Enum.Operation","nameLocations":["931:4:116","936:9:116"],"nodeType":"IdentifierPath","referencedDeclaration":74185,"src":"931:14:116"},"referencedDeclaration":74185,"src":"931:14:116","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$74185","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":74147,"mutability":"mutable","name":"safeTxGas","nameLocation":"973:9:116","nodeType":"VariableDeclaration","scope":74162,"src":"965:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74146,"name":"uint256","nodeType":"ElementaryTypeName","src":"965:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74149,"mutability":"mutable","name":"baseGas","nameLocation":"1000:7:116","nodeType":"VariableDeclaration","scope":74162,"src":"992:15:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74148,"name":"uint256","nodeType":"ElementaryTypeName","src":"992:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74151,"mutability":"mutable","name":"gasPrice","nameLocation":"1025:8:116","nodeType":"VariableDeclaration","scope":74162,"src":"1017:16:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74150,"name":"uint256","nodeType":"ElementaryTypeName","src":"1017:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74153,"mutability":"mutable","name":"gasToken","nameLocation":"1051:8:116","nodeType":"VariableDeclaration","scope":74162,"src":"1043:16:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74152,"name":"address","nodeType":"ElementaryTypeName","src":"1043:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74155,"mutability":"mutable","name":"refundReceiver","nameLocation":"1085:14:116","nodeType":"VariableDeclaration","scope":74162,"src":"1069:30:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":74154,"name":"address","nodeType":"ElementaryTypeName","src":"1069:15:116","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":74157,"mutability":"mutable","name":"signatures","nameLocation":"1122:10:116","nodeType":"VariableDeclaration","scope":74162,"src":"1109:23:116","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":74156,"name":"bytes","nodeType":"ElementaryTypeName","src":"1109:5:116","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"849:289:116"},"returnParameters":{"id":74161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74160,"mutability":"mutable","name":"success","nameLocation":"1170:7:116","nodeType":"VariableDeclaration","scope":74162,"src":"1165:12:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74159,"name":"bool","nodeType":"ElementaryTypeName","src":"1165:4:116","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1164:14:116"},"scope":74170,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":74169,"nodeType":"FunctionDefinition","src":"1184:75:116","nodes":[],"functionSelector":"0d582f13","implemented":false,"kind":"function","modifiers":[],"name":"addOwnerWithThreshold","nameLocation":"1193:21:116","parameters":{"id":74167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74164,"mutability":"mutable","name":"owner","nameLocation":"1223:5:116","nodeType":"VariableDeclaration","scope":74169,"src":"1215:13:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74163,"name":"address","nodeType":"ElementaryTypeName","src":"1215:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74166,"mutability":"mutable","name":"_threshold","nameLocation":"1238:10:116","nodeType":"VariableDeclaration","scope":74169,"src":"1230:18:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74165,"name":"uint256","nodeType":"ElementaryTypeName","src":"1230:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1214:35:116"},"returnParameters":{"id":74168,"nodeType":"ParameterList","parameters":[],"src":"1258:0:116"},"scope":74170,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ISafe","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[74170],"name":"ISafe","nameLocation":"78:5:116","scope":74187,"usedErrors":[]},{"id":74182,"nodeType":"ContractDefinition","src":"1263:179:116","nodes":[{"id":74181,"nodeType":"FunctionDefinition","src":"1296:144:116","nodes":[],"functionSelector":"1688f0b9","implemented":false,"kind":"function","modifiers":[],"name":"createProxyWithNonce","nameLocation":"1305:20:116","parameters":{"id":74177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74172,"mutability":"mutable","name":"_singleton","nameLocation":"1334:10:116","nodeType":"VariableDeclaration","scope":74181,"src":"1326:18:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74171,"name":"address","nodeType":"ElementaryTypeName","src":"1326:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74174,"mutability":"mutable","name":"initializer","nameLocation":"1359:11:116","nodeType":"VariableDeclaration","scope":74181,"src":"1346:24:116","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":74173,"name":"bytes","nodeType":"ElementaryTypeName","src":"1346:5:116","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":74176,"mutability":"mutable","name":"saltNonce","nameLocation":"1380:9:116","nodeType":"VariableDeclaration","scope":74181,"src":"1372:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74175,"name":"uint256","nodeType":"ElementaryTypeName","src":"1372:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1325:65:116"},"returnParameters":{"id":74180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74179,"mutability":"mutable","name":"proxy","nameLocation":"1433:5:116","nodeType":"VariableDeclaration","scope":74181,"src":"1425:13:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74178,"name":"address","nodeType":"ElementaryTypeName","src":"1425:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1424:15:116"},"scope":74182,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeProxyFactory","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[74182],"name":"SafeProxyFactory","nameLocation":"1273:16:116","scope":74187,"usedErrors":[]},{"id":74186,"nodeType":"ContractDefinition","src":"1444:88:116","nodes":[{"id":74185,"nodeType":"EnumDefinition","src":"1473:57:116","nodes":[],"canonicalName":"Enum.Operation","members":[{"id":74183,"name":"Call","nameLocation":"1498:4:116","nodeType":"EnumValue","src":"1498:4:116"},{"id":74184,"name":"DelegateCall","nameLocation":"1512:12:116","nodeType":"EnumValue","src":"1512:12:116"}],"name":"Operation","nameLocation":"1478:9:116"}],"abstract":true,"baseContracts":[],"canonicalName":"Enum","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[74186],"name":"Enum","nameLocation":"1462:4:116","scope":74187,"usedErrors":[]}],"license":"LGPL-3.0-only"},"id":116} \ No newline at end of file +{"abi":[{"type":"function","name":"createProxyWithNonce","inputs":[{"name":"_singleton","type":"address","internalType":"address"},{"name":"initializer","type":"bytes","internalType":"bytes"},{"name":"saltNonce","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"proxy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"createProxyWithNonce(address,bytes,uint256)":"1688f0b9"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_singleton\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"saltNonce\",\"type\":\"uint256\"}],\"name\":\"createProxyWithNonce\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/ISafe.sol\":\"SafeProxyFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_singleton","type":"address"},{"internalType":"bytes","name":"initializer","type":"bytes"},{"internalType":"uint256","name":"saltNonce","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"createProxyWithNonce","outputs":[{"internalType":"address","name":"proxy","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/ISafe.sol":"SafeProxyFactory"},"evmVersion":"paris","libraries":{}},"sources":{"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/ISafe.sol","id":76468,"exportedSymbols":{"Enum":[76467],"ISafe":[76451],"SafeProxyFactory":[76463]},"nodeType":"SourceUnit","src":"42:1491:132","nodes":[{"id":76360,"nodeType":"PragmaDirective","src":"42:24:132","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":76451,"nodeType":"ContractDefinition","src":"68:1193:132","nodes":[{"id":76366,"nodeType":"FunctionDefinition","src":"90:62:132","nodes":[],"functionSelector":"a0e67e2b","implemented":false,"kind":"function","modifiers":[],"name":"getOwners","nameLocation":"99:9:132","parameters":{"id":76361,"nodeType":"ParameterList","parameters":[],"src":"108:2:132"},"returnParameters":{"id":76365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76364,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76366,"src":"134:16:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":76362,"name":"address","nodeType":"ElementaryTypeName","src":"134:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":76363,"nodeType":"ArrayTypeName","src":"134:9:132","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"133:18:132"},"scope":76451,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76371,"nodeType":"FunctionDefinition","src":"157:49:132","nodes":[],"functionSelector":"affed0e0","implemented":false,"kind":"function","modifiers":[],"name":"nonce","nameLocation":"166:5:132","parameters":{"id":76367,"nodeType":"ParameterList","parameters":[],"src":"171:2:132"},"returnParameters":{"id":76370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76369,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76371,"src":"197:7:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76368,"name":"uint256","nodeType":"ElementaryTypeName","src":"197:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"196:9:132"},"scope":76451,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76391,"nodeType":"FunctionDefinition","src":"211:272:132","nodes":[],"functionSelector":"b63e800d","implemented":false,"kind":"function","modifiers":[],"name":"setup","nameLocation":"220:5:132","parameters":{"id":76389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76374,"mutability":"mutable","name":"_owners","nameLocation":"254:7:132","nodeType":"VariableDeclaration","scope":76391,"src":"235:26:132","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":76372,"name":"address","nodeType":"ElementaryTypeName","src":"235:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":76373,"nodeType":"ArrayTypeName","src":"235:9:132","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":76376,"mutability":"mutable","name":"_threshold","nameLocation":"279:10:132","nodeType":"VariableDeclaration","scope":76391,"src":"271:18:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76375,"name":"uint256","nodeType":"ElementaryTypeName","src":"271:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76378,"mutability":"mutable","name":"to","nameLocation":"307:2:132","nodeType":"VariableDeclaration","scope":76391,"src":"299:10:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76377,"name":"address","nodeType":"ElementaryTypeName","src":"299:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76380,"mutability":"mutable","name":"data","nameLocation":"334:4:132","nodeType":"VariableDeclaration","scope":76391,"src":"319:19:132","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":76379,"name":"bytes","nodeType":"ElementaryTypeName","src":"319:5:132","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":76382,"mutability":"mutable","name":"fallbackHandler","nameLocation":"356:15:132","nodeType":"VariableDeclaration","scope":76391,"src":"348:23:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76381,"name":"address","nodeType":"ElementaryTypeName","src":"348:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76384,"mutability":"mutable","name":"paymentToken","nameLocation":"389:12:132","nodeType":"VariableDeclaration","scope":76391,"src":"381:20:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76383,"name":"address","nodeType":"ElementaryTypeName","src":"381:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76386,"mutability":"mutable","name":"payment","nameLocation":"419:7:132","nodeType":"VariableDeclaration","scope":76391,"src":"411:15:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76385,"name":"uint256","nodeType":"ElementaryTypeName","src":"411:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76388,"mutability":"mutable","name":"paymentReceiver","nameLocation":"452:15:132","nodeType":"VariableDeclaration","scope":76391,"src":"436:31:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":76387,"name":"address","nodeType":"ElementaryTypeName","src":"436:15:132","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"225:248:132"},"returnParameters":{"id":76390,"nodeType":"ParameterList","parameters":[],"src":"482:0:132"},"scope":76451,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":76417,"nodeType":"FunctionDefinition","src":"488:332:132","nodes":[],"functionSelector":"d8d11f78","implemented":false,"kind":"function","modifiers":[],"name":"getTransactionHash","nameLocation":"497:18:132","parameters":{"id":76413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76393,"mutability":"mutable","name":"to","nameLocation":"533:2:132","nodeType":"VariableDeclaration","scope":76417,"src":"525:10:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76392,"name":"address","nodeType":"ElementaryTypeName","src":"525:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76395,"mutability":"mutable","name":"value","nameLocation":"553:5:132","nodeType":"VariableDeclaration","scope":76417,"src":"545:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76394,"name":"uint256","nodeType":"ElementaryTypeName","src":"545:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76397,"mutability":"mutable","name":"data","nameLocation":"583:4:132","nodeType":"VariableDeclaration","scope":76417,"src":"568:19:132","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":76396,"name":"bytes","nodeType":"ElementaryTypeName","src":"568:5:132","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":76400,"mutability":"mutable","name":"operation","nameLocation":"612:9:132","nodeType":"VariableDeclaration","scope":76417,"src":"597:24:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$76466","typeString":"enum Enum.Operation"},"typeName":{"id":76399,"nodeType":"UserDefinedTypeName","pathNode":{"id":76398,"name":"Enum.Operation","nameLocations":["597:4:132","602:9:132"],"nodeType":"IdentifierPath","referencedDeclaration":76466,"src":"597:14:132"},"referencedDeclaration":76466,"src":"597:14:132","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$76466","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":76402,"mutability":"mutable","name":"safeTxGas","nameLocation":"639:9:132","nodeType":"VariableDeclaration","scope":76417,"src":"631:17:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76401,"name":"uint256","nodeType":"ElementaryTypeName","src":"631:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76404,"mutability":"mutable","name":"baseGas","nameLocation":"666:7:132","nodeType":"VariableDeclaration","scope":76417,"src":"658:15:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76403,"name":"uint256","nodeType":"ElementaryTypeName","src":"658:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76406,"mutability":"mutable","name":"gasPrice","nameLocation":"691:8:132","nodeType":"VariableDeclaration","scope":76417,"src":"683:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76405,"name":"uint256","nodeType":"ElementaryTypeName","src":"683:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76408,"mutability":"mutable","name":"gasToken","nameLocation":"717:8:132","nodeType":"VariableDeclaration","scope":76417,"src":"709:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76407,"name":"address","nodeType":"ElementaryTypeName","src":"709:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76410,"mutability":"mutable","name":"refundReceiver","nameLocation":"743:14:132","nodeType":"VariableDeclaration","scope":76417,"src":"735:22:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76409,"name":"address","nodeType":"ElementaryTypeName","src":"735:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76412,"mutability":"mutable","name":"_nonce","nameLocation":"775:6:132","nodeType":"VariableDeclaration","scope":76417,"src":"767:14:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76411,"name":"uint256","nodeType":"ElementaryTypeName","src":"767:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"515:272:132"},"returnParameters":{"id":76416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76415,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76417,"src":"811:7:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":76414,"name":"bytes32","nodeType":"ElementaryTypeName","src":"811:7:132","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"810:9:132"},"scope":76451,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76443,"nodeType":"FunctionDefinition","src":"825:354:132","nodes":[],"functionSelector":"6a761202","implemented":false,"kind":"function","modifiers":[],"name":"execTransaction","nameLocation":"834:15:132","parameters":{"id":76439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76419,"mutability":"mutable","name":"to","nameLocation":"867:2:132","nodeType":"VariableDeclaration","scope":76443,"src":"859:10:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76418,"name":"address","nodeType":"ElementaryTypeName","src":"859:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76421,"mutability":"mutable","name":"value","nameLocation":"887:5:132","nodeType":"VariableDeclaration","scope":76443,"src":"879:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76420,"name":"uint256","nodeType":"ElementaryTypeName","src":"879:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76423,"mutability":"mutable","name":"data","nameLocation":"917:4:132","nodeType":"VariableDeclaration","scope":76443,"src":"902:19:132","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":76422,"name":"bytes","nodeType":"ElementaryTypeName","src":"902:5:132","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":76426,"mutability":"mutable","name":"operation","nameLocation":"946:9:132","nodeType":"VariableDeclaration","scope":76443,"src":"931:24:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$76466","typeString":"enum Enum.Operation"},"typeName":{"id":76425,"nodeType":"UserDefinedTypeName","pathNode":{"id":76424,"name":"Enum.Operation","nameLocations":["931:4:132","936:9:132"],"nodeType":"IdentifierPath","referencedDeclaration":76466,"src":"931:14:132"},"referencedDeclaration":76466,"src":"931:14:132","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$76466","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":76428,"mutability":"mutable","name":"safeTxGas","nameLocation":"973:9:132","nodeType":"VariableDeclaration","scope":76443,"src":"965:17:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76427,"name":"uint256","nodeType":"ElementaryTypeName","src":"965:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76430,"mutability":"mutable","name":"baseGas","nameLocation":"1000:7:132","nodeType":"VariableDeclaration","scope":76443,"src":"992:15:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76429,"name":"uint256","nodeType":"ElementaryTypeName","src":"992:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76432,"mutability":"mutable","name":"gasPrice","nameLocation":"1025:8:132","nodeType":"VariableDeclaration","scope":76443,"src":"1017:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76431,"name":"uint256","nodeType":"ElementaryTypeName","src":"1017:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76434,"mutability":"mutable","name":"gasToken","nameLocation":"1051:8:132","nodeType":"VariableDeclaration","scope":76443,"src":"1043:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76433,"name":"address","nodeType":"ElementaryTypeName","src":"1043:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76436,"mutability":"mutable","name":"refundReceiver","nameLocation":"1085:14:132","nodeType":"VariableDeclaration","scope":76443,"src":"1069:30:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":76435,"name":"address","nodeType":"ElementaryTypeName","src":"1069:15:132","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":76438,"mutability":"mutable","name":"signatures","nameLocation":"1122:10:132","nodeType":"VariableDeclaration","scope":76443,"src":"1109:23:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":76437,"name":"bytes","nodeType":"ElementaryTypeName","src":"1109:5:132","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"849:289:132"},"returnParameters":{"id":76442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76441,"mutability":"mutable","name":"success","nameLocation":"1170:7:132","nodeType":"VariableDeclaration","scope":76443,"src":"1165:12:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76440,"name":"bool","nodeType":"ElementaryTypeName","src":"1165:4:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1164:14:132"},"scope":76451,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":76450,"nodeType":"FunctionDefinition","src":"1184:75:132","nodes":[],"functionSelector":"0d582f13","implemented":false,"kind":"function","modifiers":[],"name":"addOwnerWithThreshold","nameLocation":"1193:21:132","parameters":{"id":76448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76445,"mutability":"mutable","name":"owner","nameLocation":"1223:5:132","nodeType":"VariableDeclaration","scope":76450,"src":"1215:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76444,"name":"address","nodeType":"ElementaryTypeName","src":"1215:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76447,"mutability":"mutable","name":"_threshold","nameLocation":"1238:10:132","nodeType":"VariableDeclaration","scope":76450,"src":"1230:18:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76446,"name":"uint256","nodeType":"ElementaryTypeName","src":"1230:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1214:35:132"},"returnParameters":{"id":76449,"nodeType":"ParameterList","parameters":[],"src":"1258:0:132"},"scope":76451,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ISafe","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[76451],"name":"ISafe","nameLocation":"78:5:132","scope":76468,"usedErrors":[]},{"id":76463,"nodeType":"ContractDefinition","src":"1263:179:132","nodes":[{"id":76462,"nodeType":"FunctionDefinition","src":"1296:144:132","nodes":[],"functionSelector":"1688f0b9","implemented":false,"kind":"function","modifiers":[],"name":"createProxyWithNonce","nameLocation":"1305:20:132","parameters":{"id":76458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76453,"mutability":"mutable","name":"_singleton","nameLocation":"1334:10:132","nodeType":"VariableDeclaration","scope":76462,"src":"1326:18:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76452,"name":"address","nodeType":"ElementaryTypeName","src":"1326:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76455,"mutability":"mutable","name":"initializer","nameLocation":"1359:11:132","nodeType":"VariableDeclaration","scope":76462,"src":"1346:24:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":76454,"name":"bytes","nodeType":"ElementaryTypeName","src":"1346:5:132","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":76457,"mutability":"mutable","name":"saltNonce","nameLocation":"1380:9:132","nodeType":"VariableDeclaration","scope":76462,"src":"1372:17:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76456,"name":"uint256","nodeType":"ElementaryTypeName","src":"1372:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1325:65:132"},"returnParameters":{"id":76461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76460,"mutability":"mutable","name":"proxy","nameLocation":"1433:5:132","nodeType":"VariableDeclaration","scope":76462,"src":"1425:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76459,"name":"address","nodeType":"ElementaryTypeName","src":"1425:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1424:15:132"},"scope":76463,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeProxyFactory","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[76463],"name":"SafeProxyFactory","nameLocation":"1273:16:132","scope":76468,"usedErrors":[]},{"id":76467,"nodeType":"ContractDefinition","src":"1444:88:132","nodes":[{"id":76466,"nodeType":"EnumDefinition","src":"1473:57:132","nodes":[],"canonicalName":"Enum.Operation","members":[{"id":76464,"name":"Call","nameLocation":"1498:4:132","nodeType":"EnumValue","src":"1498:4:132"},{"id":76465,"name":"DelegateCall","nameLocation":"1512:12:132","nodeType":"EnumValue","src":"1512:12:132"}],"name":"Operation","nameLocation":"1478:9:132"}],"abstract":true,"baseContracts":[],"canonicalName":"Enum","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[76467],"name":"Enum","nameLocation":"1462:4:132","scope":76468,"usedErrors":[]}],"license":"LGPL-3.0-only"},"id":132} \ No newline at end of file diff --git a/pkg/contracts/out/MockERC20.sol/MockERC20.json b/pkg/contracts/out/MockERC20.sol/MockERC20.json index b7aa63fcb..11b966644 100644 --- a/pkg/contracts/out/MockERC20.sol/MockERC20.json +++ b/pkg/contracts/out/MockERC20.sol/MockERC20.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50610e3e806100206000396000f3fe608060405234801561001057600080fd5b50600436106100af5760003560e01c806306fdde03146100b4578063095ea7b3146100d25780631624f6c6146100f557806318160ddd1461010a57806323b872dd1461011c578063313ce5671461012f5780633644e5151461014457806370a082311461014c5780637ecebe001461017557806395d89b4114610195578063a9059cbb1461019d578063d505accf146101b0578063dd62ed3e146101c3575b600080fd5b6100bc6101fc565b6040516100c99190610907565b60405180910390f35b6100e56100e0366004610971565b61028e565b60405190151581526020016100c9565b610108610103366004610a4e565b6102e9565b005b6003545b6040519081526020016100c9565b6100e561012a366004610ac1565b610388565b60025460405160ff90911681526020016100c9565b61010e61048b565b61010e61015a366004610afd565b6001600160a01b031660009081526004602052604090205490565b61010e610183366004610afd565b60086020526000908152604090205481565b6100bc6104b1565b6100e56101ab366004610971565b6104c0565b6101086101be366004610b18565b610545565b61010e6101d1366004610b82565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b60606000805461020b90610bb5565b80601f016020809104026020016040519081016040528092919081815260200182805461023790610bb5565b80156102845780601f1061025957610100808354040283529160200191610284565b820191906000526020600020905b81548152906001019060200180831161026757829003601f168201915b5050505050905090565b3360008181526005602090815260408083206001600160a01b03871680855292528083208590555191929091600080516020610de9833981519152906102d79086815260200190565b60405180910390a35060015b92915050565b60095460ff16156103375760405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b60448201526064015b60405180910390fd5b60006103438482610c3e565b5060016103508382610c3e565b506002805460ff191660ff831617905561036861078b565b6006556103736107a4565b60075550506009805460ff1916600117905550565b6001600160a01b038316600090815260056020908152604080832033845290915281205460001981146103e4576103bf8184610847565b6001600160a01b03861660009081526005602090815260408083203384529091529020555b6001600160a01b0385166000908152600460205260409020546104079084610847565b6001600160a01b03808716600090815260046020526040808220939093559086168152205461043690846108a9565b6001600160a01b038086166000818152600460205260409081902093909355915190871690600080516020610dc9833981519152906104789087815260200190565b60405180910390a3506001949350505050565b600060065461049861078b565b146104aa576104a56107a4565b905090565b5060075490565b60606001805461020b90610bb5565b336000908152600460205260408120546104da9083610847565b33600090815260046020526040808220929092556001600160a01b0385168152205461050690836108a9565b6001600160a01b038416600081815260046020526040908190209290925590513390600080516020610dc9833981519152906102d79086815260200190565b4284101561058f5760405162461bcd60e51b815260206004820152601760248201527614115493525517d11150511312539157d1561412549151604a1b604482015260640161032e565b6000600161059b61048b565b6001600160a01b038a16600090815260086020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d929091906105e983610d13565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e0016040516020818303038152906040528051906020012060405160200161066292919061190160f01b81526002810192909252602282015260420190565b60408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa1580156106c0573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906106f65750876001600160a01b0316816001600160a01b0316145b6107335760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b604482015260640161032e565b6001600160a01b0381811660009081526005602090815260408083208b8516808552908352928190208a90555189815291928b1691600080516020610de9833981519152910160405180910390a35050505050505050565b60006109038061079d63ffffffff8216565b9250505090565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60006040516107d69190610d2c565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc661080761078b565b604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6000818310156108985760405162461bcd60e51b815260206004820152601c60248201527b45524332303a207375627472616374696f6e20756e646572666c6f7760201b604482015260640161032e565b6108a28284610da2565b9392505050565b6000806108b68385610db5565b9050838110156108a25760405162461bcd60e51b815260206004820152601860248201527745524332303a206164646974696f6e206f766572666c6f7760401b604482015260640161032e565b4690565b600060208083528351808285015260005b8181101561093457858101830151858201604001528201610918565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461096c57600080fd5b919050565b6000806040838503121561098457600080fd5b61098d83610955565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126109c257600080fd5b81356001600160401b03808211156109dc576109dc61099b565b604051601f8301601f19908116603f01168101908282118183101715610a0457610a0461099b565b81604052838152866020858801011115610a1d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b803560ff8116811461096c57600080fd5b600080600060608486031215610a6357600080fd5b83356001600160401b0380821115610a7a57600080fd5b610a86878388016109b1565b94506020860135915080821115610a9c57600080fd5b50610aa9868287016109b1565b925050610ab860408501610a3d565b90509250925092565b600080600060608486031215610ad657600080fd5b610adf84610955565b9250610aed60208501610955565b9150604084013590509250925092565b600060208284031215610b0f57600080fd5b6108a282610955565b600080600080600080600060e0888a031215610b3357600080fd5b610b3c88610955565b9650610b4a60208901610955565b95506040880135945060608801359350610b6660808901610a3d565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215610b9557600080fd5b610b9e83610955565b9150610bac60208401610955565b90509250929050565b600181811c90821680610bc957607f821691505b602082108103610be957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610c3957600081815260208120601f850160051c81016020861015610c165750805b601f850160051c820191505b81811015610c3557828155600101610c22565b5050505b505050565b81516001600160401b03811115610c5757610c5761099b565b610c6b81610c658454610bb5565b84610bef565b602080601f831160018114610ca05760008415610c885750858301515b600019600386901b1c1916600185901b178555610c35565b600085815260208120601f198616915b82811015610ccf57888601518255948401946001909101908401610cb0565b5085821015610ced5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600060018201610d2557610d25610cfd565b5060010190565b6000808354610d3a81610bb5565b60018281168015610d525760018114610d6757610d96565b60ff1984168752821515830287019450610d96565b8760005260208060002060005b85811015610d8d5781548a820152908401908201610d74565b50505082870194505b50929695505050505050565b818103818111156102e3576102e3610cfd565b808201808211156102e3576102e3610cfd56feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a2646970667358221220ad8b53f1a11b76d0888a5d27349e326ef95118dd8e5262a1b34f1026c48274d264736f6c63430008130033","sourceMap":"369:7950:40:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100af5760003560e01c806306fdde03146100b4578063095ea7b3146100d25780631624f6c6146100f557806318160ddd1461010a57806323b872dd1461011c578063313ce5671461012f5780633644e5151461014457806370a082311461014c5780637ecebe001461017557806395d89b4114610195578063a9059cbb1461019d578063d505accf146101b0578063dd62ed3e146101c3575b600080fd5b6100bc6101fc565b6040516100c99190610907565b60405180910390f35b6100e56100e0366004610971565b61028e565b60405190151581526020016100c9565b610108610103366004610a4e565b6102e9565b005b6003545b6040519081526020016100c9565b6100e561012a366004610ac1565b610388565b60025460405160ff90911681526020016100c9565b61010e61048b565b61010e61015a366004610afd565b6001600160a01b031660009081526004602052604090205490565b61010e610183366004610afd565b60086020526000908152604090205481565b6100bc6104b1565b6100e56101ab366004610971565b6104c0565b6101086101be366004610b18565b610545565b61010e6101d1366004610b82565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b60606000805461020b90610bb5565b80601f016020809104026020016040519081016040528092919081815260200182805461023790610bb5565b80156102845780601f1061025957610100808354040283529160200191610284565b820191906000526020600020905b81548152906001019060200180831161026757829003601f168201915b5050505050905090565b3360008181526005602090815260408083206001600160a01b03871680855292528083208590555191929091600080516020610de9833981519152906102d79086815260200190565b60405180910390a35060015b92915050565b60095460ff16156103375760405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b60448201526064015b60405180910390fd5b60006103438482610c3e565b5060016103508382610c3e565b506002805460ff191660ff831617905561036861078b565b6006556103736107a4565b60075550506009805460ff1916600117905550565b6001600160a01b038316600090815260056020908152604080832033845290915281205460001981146103e4576103bf8184610847565b6001600160a01b03861660009081526005602090815260408083203384529091529020555b6001600160a01b0385166000908152600460205260409020546104079084610847565b6001600160a01b03808716600090815260046020526040808220939093559086168152205461043690846108a9565b6001600160a01b038086166000818152600460205260409081902093909355915190871690600080516020610dc9833981519152906104789087815260200190565b60405180910390a3506001949350505050565b600060065461049861078b565b146104aa576104a56107a4565b905090565b5060075490565b60606001805461020b90610bb5565b336000908152600460205260408120546104da9083610847565b33600090815260046020526040808220929092556001600160a01b0385168152205461050690836108a9565b6001600160a01b038416600081815260046020526040908190209290925590513390600080516020610dc9833981519152906102d79086815260200190565b4284101561058f5760405162461bcd60e51b815260206004820152601760248201527614115493525517d11150511312539157d1561412549151604a1b604482015260640161032e565b6000600161059b61048b565b6001600160a01b038a16600090815260086020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d929091906105e983610d13565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e0016040516020818303038152906040528051906020012060405160200161066292919061190160f01b81526002810192909252602282015260420190565b60408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa1580156106c0573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906106f65750876001600160a01b0316816001600160a01b0316145b6107335760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b604482015260640161032e565b6001600160a01b0381811660009081526005602090815260408083208b8516808552908352928190208a90555189815291928b1691600080516020610de9833981519152910160405180910390a35050505050505050565b60006109038061079d63ffffffff8216565b9250505090565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60006040516107d69190610d2c565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc661080761078b565b604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6000818310156108985760405162461bcd60e51b815260206004820152601c60248201527b45524332303a207375627472616374696f6e20756e646572666c6f7760201b604482015260640161032e565b6108a28284610da2565b9392505050565b6000806108b68385610db5565b9050838110156108a25760405162461bcd60e51b815260206004820152601860248201527745524332303a206164646974696f6e206f766572666c6f7760401b604482015260640161032e565b4690565b600060208083528351808285015260005b8181101561093457858101830151858201604001528201610918565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461096c57600080fd5b919050565b6000806040838503121561098457600080fd5b61098d83610955565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126109c257600080fd5b81356001600160401b03808211156109dc576109dc61099b565b604051601f8301601f19908116603f01168101908282118183101715610a0457610a0461099b565b81604052838152866020858801011115610a1d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b803560ff8116811461096c57600080fd5b600080600060608486031215610a6357600080fd5b83356001600160401b0380821115610a7a57600080fd5b610a86878388016109b1565b94506020860135915080821115610a9c57600080fd5b50610aa9868287016109b1565b925050610ab860408501610a3d565b90509250925092565b600080600060608486031215610ad657600080fd5b610adf84610955565b9250610aed60208501610955565b9150604084013590509250925092565b600060208284031215610b0f57600080fd5b6108a282610955565b600080600080600080600060e0888a031215610b3357600080fd5b610b3c88610955565b9650610b4a60208901610955565b95506040880135945060608801359350610b6660808901610a3d565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215610b9557600080fd5b610b9e83610955565b9150610bac60208401610955565b90509250929050565b600181811c90821680610bc957607f821691505b602082108103610be957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610c3957600081815260208120601f850160051c81016020861015610c165750805b601f850160051c820191505b81811015610c3557828155600101610c22565b5050505b505050565b81516001600160401b03811115610c5757610c5761099b565b610c6b81610c658454610bb5565b84610bef565b602080601f831160018114610ca05760008415610c885750858301515b600019600386901b1c1916600185901b178555610c35565b600085815260208120601f198616915b82811015610ccf57888601518255948401946001909101908401610cb0565b5085821015610ced5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600060018201610d2557610d25610cfd565b5060010190565b6000808354610d3a81610bb5565b60018281168015610d525760018114610d6757610d96565b60ff1984168752821515830287019450610d96565b8760005260208060002060005b85811015610d8d5781548a820152908401908201610d74565b50505082870194505b50929695505050505050565b818103818111156102e3576102e3610cfd565b808201808211156102e3576102e3610cfd56feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a2646970667358221220ad8b53f1a11b76d0888a5d27349e326ef95118dd8e5262a1b34f1026c48274d264736f6c63430008130033","sourceMap":"369:7950:40:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;677:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3057:221;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:126;;1162:22;1144:41;;1132:2;1117:18;3057:221:40;1004:187:126;2504:365:40;;;;;;:::i;:::-;;:::i;:::-;;1322:100;1403:12;;1322:100;;;2977:25:126;;;2965:2;2950:18;1322:100:40;2831:177:126;3578:472:40;;;;;;:::i;:::-;;:::i;877:92::-;953:9;;877:92;;953:9;;;;3488:36:126;;3476:2;3461:18;877:92:40;3346:184:126;5427:178:40;;;:::i;1428:116::-;;;;;;:::i;:::-;-1:-1:-1;;;;;1520:17:40;1494:7;1520:17;;;:10;:17;;;;;;;1428:116;1970:41;;;;;;:::i;:::-;;;;;;;;;;;;;;775:96;;;:::i;3284:288::-;;;;;;:::i;:::-;;:::i;4239:1182::-;;;;;;:::i;:::-;;:::i;1550:142::-;;;;;;:::i;:::-;-1:-1:-1;;;;;1659:17:40;;;1633:7;1659:17;;;:10;:17;;;;;;;;:26;;;;;;;;;;;;;1550:142;677:92;725:13;757:5;750:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;677:92;:::o;3057:221::-;3167:10;3140:4;3156:22;;;:10;:22;;;;;;;;-1:-1:-1;;;;;3156:31:40;;;;;;;;;;:40;;;3212:37;3140:4;;3156:31;;-1:-1:-1;;;;;;;;;;;3212:37:40;;;3190:6;2977:25:126;;2965:2;2950:18;;2831:177;3212:37:40;;;;;;;;-1:-1:-1;3267:4:40;3057:221;;;;;:::o;2504:365::-;2611:11;;;;2610:12;2602:44;;;;-1:-1:-1;;;2602:44:40;;5371:2:126;2602:44:40;;;5353:21:126;5410:2;5390:18;;;5383:30;-1:-1:-1;;;5429:18:126;;;5422:49;5488:18;;2602:44:40;;;;;;;;;2657:5;:13;2665:5;2657;:13;:::i;:::-;-1:-1:-1;2680:7:40;:17;2690:7;2680;:17;:::i;:::-;-1:-1:-1;2707:9:40;:21;;-1:-1:-1;;2707:21:40;;;;;;;2758:14;:12;:14::i;:::-;2739:16;:33;2809:24;:22;:24::i;:::-;2782;:51;-1:-1:-1;;2844:11:40;:18;;-1:-1:-1;;2844:18:40;2858:4;2844:18;;;-1:-1:-1;2504:365:40:o;3578:472::-;-1:-1:-1;;;;;3709:16:40;;3675:4;3709:16;;;:10;:16;;;;;;;;3726:10;3709:28;;;;;;;;-1:-1:-1;;3788:22:40;;3784:80;;3843:21;3848:7;3857:6;3843:4;:21::i;:::-;-1:-1:-1;;;;;3812:16:40;;;;;;:10;:16;;;;;;;;3829:10;3812:28;;;;;;;:52;3784:80;-1:-1:-1;;;;;3899:16:40;;;;;;:10;:16;;;;;;3894:30;;3917:6;3894:4;:30::i;:::-;-1:-1:-1;;;;;3875:16:40;;;;;;;:10;:16;;;;;;:49;;;;3956:14;;;;;;;3951:28;;3972:6;3951:4;:28::i;:::-;-1:-1:-1;;;;;3934:14:40;;;;;;;:10;:14;;;;;;;:45;;;;3995:26;;;;;;-1:-1:-1;;;;;;;;;;;3995:26:40;;;4014:6;2977:25:126;;2965:2;2950:18;;2831:177;3995:26:40;;;;;;;;-1:-1:-1;4039:4:40;;3578:472;-1:-1:-1;;;;3578:472:40:o;5427:178::-;5484:7;5528:16;;5510:14;:12;:14::i;:::-;:34;:88;;5574:24;:22;:24::i;:::-;5503:95;;5427:178;:::o;5510:88::-;-1:-1:-1;5547:24:40;;;5427:178::o;775:96::-;825:13;857:7;850:14;;;;;:::i;3284:288::-;3420:10;3363:4;3409:22;;;:10;:22;;;;;;3404:36;;3433:6;3404:4;:36::i;:::-;3390:10;3379:22;;;;:10;:22;;;;;;:61;;;;-1:-1:-1;;;;;3472:14:40;;;;;;3467:28;;3488:6;3467:4;:28::i;:::-;-1:-1:-1;;;;;3450:14:40;;;;;;:10;:14;;;;;;;:45;;;;3511:32;;3520:10;;-1:-1:-1;;;;;;;;;;;3511:32:40;;;3536:6;2977:25:126;;2965:2;2950:18;;2831:177;4239:1182:40;4416:15;4404:8;:27;;4396:63;;;;-1:-1:-1;;;4396:63:40;;7923:2:126;4396:63:40;;;7905:21:126;7962:2;7942:18;;;7935:30;-1:-1:-1;;;7981:18:126;;;7974:53;8044:18;;4396:63:40;7721:347:126;4396:63:40;4470:24;4497:717;4617:18;:16;:18::i;:::-;-1:-1:-1;;;;;5026:13:40;;;;;;:6;:13;;;;;:15;;4732:157;;4919:5;;4954:7;;4991:5;;5026:15;;:13;:15;;;:::i;:::-;;;;-1:-1:-1;4692:413:40;;;;;;8632:25:126;;;;-1:-1:-1;;;;;8731:15:126;;;8711:18;;;8704:43;8783:15;;;;8763:18;;;8756:43;8815:18;;;8808:34;8858:19;;;8851:35;8902:19;;;8895:35;;;8604:19;;4692:413:40;;;;;;;;;;;;4657:470;;;;;;4547:598;;;;;;;;-1:-1:-1;;;9199:27:126;;9251:1;9242:11;;9235:27;;;;9287:2;9278:12;;9271:28;9324:2;9315:12;;8941:392;4547:598:40;;;;-1:-1:-1;;4547:598:40;;;;;;;;;4520:639;;4547:598;4520:639;;;;4497:717;;;;;;;;;9565:25:126;9638:4;9626:17;;9606:18;;;9599:45;9660:18;;;9653:34;;;9703:18;;;9696:34;;;9537:19;;4497:717:40;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4497:717:40;;-1:-1:-1;;4497:717:40;;;-1:-1:-1;;;;;;;5233:30:40;;;;;;:59;;;5287:5;-1:-1:-1;;;;;5267:25:40;:16;-1:-1:-1;;;;;5267:25:40;;5233:59;5225:86;;;;-1:-1:-1;;;5225:86:40;;9943:2:126;5225:86:40;;;9925:21:126;9982:2;9962:18;;;9955:30;-1:-1:-1;;;10001:18:126;;;9994:44;10055:18;;5225:86:40;9741:338:126;5225:86:40;-1:-1:-1;;;;;5322:28:40;;;;;;;:10;:28;;;;;;;;:37;;;;;;;;;;;;;:45;;;5383:31;2977:25:126;;;5322:37:40;;5383:31;;;-1:-1:-1;;;;;;;;;;;5383:31:40;2950:18:126;5383:31:40;;;;;;;4386:1035;4239:1182;;;;;;;:::o;8017:300::-;8063:15;8140:12;;8297:13;;;;:::i;:::-;8287:23;;8080:237;;8017:300;:::o;5611:404::-;5676:7;5753:95;5882:5;5866:23;;;;;;:::i;:::-;;;;;;;;5907:14;5939;:12;:14::i;:::-;5725:273;;;;;;11192:25:126;;;;11233:18;;11226:34;;;;11276:18;;;11269:34;11319:18;;;11312:34;5979:4:40;11362:19:126;;;11355:61;11164:19;;5725:273:40;;;;;;;;;;;;5702:306;;;;;;5695:313;;5611:404;:::o;7038:154::-;7097:7;7129:1;7124;:6;;7116:47;;;;-1:-1:-1;;;7116:47:40;;11629:2:126;7116:47:40;;;11611:21:126;11668:2;11648:18;;;11641:30;-1:-1:-1;;;11687:18:126;;;11680:58;11755:18;;7116:47:40;11427:352:126;7116:47:40;7180:5;7184:1;7180;:5;:::i;:::-;7173:12;7038:154;-1:-1:-1;;;7038:154:40:o;6859:173::-;6918:7;;6949:5;6953:1;6949;:5;:::i;:::-;6937:17;;6977:1;6972;:6;;6964:43;;;;-1:-1:-1;;;6964:43:40;;12249:2:126;6964:43:40;;;12231:21:126;12288:2;12268:18;;;12261:30;-1:-1:-1;;;12307:18:126;;;12300:54;12371:18;;6964:43:40;12047:348:126;7735:276:40;7918:9;;7735:276::o;14:548:126:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:126;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:126:o;1196:127::-;1257:10;1252:3;1248:20;1245:1;1238:31;1288:4;1285:1;1278:15;1312:4;1309:1;1302:15;1328:719;1371:5;1424:3;1417:4;1409:6;1405:17;1401:27;1391:55;;1442:1;1439;1432:12;1391:55;1465:20;;-1:-1:-1;;;;;1534:10:126;;;1531:36;;;1547:18;;:::i;:::-;1622:2;1616:9;1590:2;1676:13;;-1:-1:-1;;1672:22:126;;;1696:2;1668:31;1664:40;1652:53;;;1720:18;;;1740:22;;;1717:46;1714:72;;;1766:18;;:::i;:::-;1806:10;1802:2;1795:22;1841:2;1833:6;1826:18;1887:3;1880:4;1875:2;1867:6;1863:15;1859:26;1856:35;1853:55;;;1904:1;1901;1894:12;1853:55;1968:2;1961:4;1953:6;1949:17;1942:4;1934:6;1930:17;1917:54;2015:1;2008:4;2003:2;1995:6;1991:15;1987:26;1980:37;2035:6;2026:15;;;;;;1328:719;;;;:::o;2052:156::-;2118:20;;2178:4;2167:16;;2157:27;;2147:55;;2198:1;2195;2188:12;2213:613;2308:6;2316;2324;2377:2;2365:9;2356:7;2352:23;2348:32;2345:52;;;2393:1;2390;2383:12;2345:52;2420:23;;-1:-1:-1;;;;;2492:14:126;;;2489:34;;;2519:1;2516;2509:12;2489:34;2542:50;2584:7;2575:6;2564:9;2560:22;2542:50;:::i;:::-;2532:60;;2645:2;2634:9;2630:18;2617:32;2601:48;;2674:2;2664:8;2661:16;2658:36;;;2690:1;2687;2680:12;2658:36;;2713:52;2757:7;2746:8;2735:9;2731:24;2713:52;:::i;:::-;2703:62;;;2784:36;2816:2;2805:9;2801:18;2784:36;:::i;:::-;2774:46;;2213:613;;;;;:::o;3013:328::-;3090:6;3098;3106;3159:2;3147:9;3138:7;3134:23;3130:32;3127:52;;;3175:1;3172;3165:12;3127:52;3198:29;3217:9;3198:29;:::i;:::-;3188:39;;3246:38;3280:2;3269:9;3265:18;3246:38;:::i;:::-;3236:48;;3331:2;3320:9;3316:18;3303:32;3293:42;;3013:328;;;;;:::o;3717:186::-;3776:6;3829:2;3817:9;3808:7;3804:23;3800:32;3797:52;;;3845:1;3842;3835:12;3797:52;3868:29;3887:9;3868:29;:::i;3908:606::-;4019:6;4027;4035;4043;4051;4059;4067;4120:3;4108:9;4099:7;4095:23;4091:33;4088:53;;;4137:1;4134;4127:12;4088:53;4160:29;4179:9;4160:29;:::i;:::-;4150:39;;4208:38;4242:2;4231:9;4227:18;4208:38;:::i;:::-;4198:48;;4293:2;4282:9;4278:18;4265:32;4255:42;;4344:2;4333:9;4329:18;4316:32;4306:42;;4367:37;4399:3;4388:9;4384:19;4367:37;:::i;:::-;4357:47;;4451:3;4440:9;4436:19;4423:33;4413:43;;4503:3;4492:9;4488:19;4475:33;4465:43;;3908:606;;;;;;;;;;:::o;4519:260::-;4587:6;4595;4648:2;4636:9;4627:7;4623:23;4619:32;4616:52;;;4664:1;4661;4654:12;4616:52;4687:29;4706:9;4687:29;:::i;:::-;4677:39;;4735:38;4769:2;4758:9;4754:18;4735:38;:::i;:::-;4725:48;;4519:260;;;;;:::o;4784:380::-;4863:1;4859:12;;;;4906;;;4927:61;;4981:4;4973:6;4969:17;4959:27;;4927:61;5034:2;5026:6;5023:14;5003:18;5000:38;4997:161;;5080:10;5075:3;5071:20;5068:1;5061:31;5115:4;5112:1;5105:15;5143:4;5140:1;5133:15;4997:161;;4784:380;;;:::o;5643:545::-;5745:2;5740:3;5737:11;5734:448;;;5781:1;5806:5;5802:2;5795:17;5851:4;5847:2;5837:19;5921:2;5909:10;5905:19;5902:1;5898:27;5892:4;5888:38;5957:4;5945:10;5942:20;5939:47;;;-1:-1:-1;5980:4:126;5939:47;6035:2;6030:3;6026:12;6023:1;6019:20;6013:4;6009:31;5999:41;;6090:82;6108:2;6101:5;6098:13;6090:82;;;6153:17;;;6134:1;6123:13;6090:82;;;6094:3;;;5734:448;5643:545;;;:::o;6364:1352::-;6484:10;;-1:-1:-1;;;;;6506:30:126;;6503:56;;;6539:18;;:::i;:::-;6568:97;6658:6;6618:38;6650:4;6644:11;6618:38;:::i;:::-;6612:4;6568:97;:::i;:::-;6720:4;;6784:2;6773:14;;6801:1;6796:663;;;;7503:1;7520:6;7517:89;;;-1:-1:-1;7572:19:126;;;7566:26;7517:89;-1:-1:-1;;6321:1:126;6317:11;;;6313:24;6309:29;6299:40;6345:1;6341:11;;;6296:57;7619:81;;6766:944;;6796:663;5590:1;5583:14;;;5627:4;5614:18;;-1:-1:-1;;6832:20:126;;;6950:236;6964:7;6961:1;6958:14;6950:236;;;7053:19;;;7047:26;7032:42;;7145:27;;;;7113:1;7101:14;;;;6980:19;;6950:236;;;6954:3;7214:6;7205:7;7202:19;7199:201;;;7275:19;;;7269:26;-1:-1:-1;;7358:1:126;7354:14;;;7370:3;7350:24;7346:37;7342:42;7327:58;7312:74;;7199:201;-1:-1:-1;;;;;7446:1:126;7430:14;;;7426:22;7413:36;;-1:-1:-1;6364:1352:126:o;8073:127::-;8134:10;8129:3;8125:20;8122:1;8115:31;8165:4;8162:1;8155:15;8189:4;8186:1;8179:15;8205:135;8244:3;8265:17;;;8262:43;;8285:18;;:::i;:::-;-1:-1:-1;8332:1:126;8321:13;;8205:135::o;10084:844::-;10214:3;10243:1;10276:6;10270:13;10306:36;10332:9;10306:36;:::i;:::-;10361:1;10378:18;;;10405:133;;;;10552:1;10547:356;;;;10371:532;;10405:133;-1:-1:-1;;10438:24:126;;10426:37;;10511:14;;10504:22;10492:35;;10483:45;;;-1:-1:-1;10405:133:126;;10547:356;10578:6;10575:1;10568:17;10608:4;10653:2;10650:1;10640:16;10678:1;10692:165;10706:6;10703:1;10700:13;10692:165;;;10784:14;;10771:11;;;10764:35;10827:16;;;;10721:10;;10692:165;;;10696:3;;;10886:6;10881:3;10877:16;10870:23;;10371:532;-1:-1:-1;10919:3:126;;10084:844;-1:-1:-1;;;;;;10084:844:126:o;11784:128::-;11851:9;;;11872:11;;;11869:37;;;11886:18;;:::i;11917:125::-;11982:9;;;12003:10;;;12000:36;;;12016:18;;:::i","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","initialize(string,string,uint8)":"1624f6c6","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC20.sol\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set, where `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`).\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\"},\"initialize(string,string,uint8)\":{\"details\":\"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once.\"}},\"stateVariables\":{\"initialized\":{\"details\":\"A bool to track whether the contract has been initialized.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allowance(address,address)\":{\"notice\":\"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`\"},\"approve(address,uint256)\":{\"notice\":\"Sets `amount` as the allowance of `spender` over the caller's tokens.\"},\"decimals()\":{\"notice\":\"Returns the decimals places of the token.\"},\"name()\":{\"notice\":\"Returns the name of the token.\"},\"symbol()\":{\"notice\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"notice\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"notice\":\"Moves `amount` tokens from the caller's account to `to`.\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance.\"}},\"notice\":\"This is a mock contract of the ERC20 standard for testing purposes only, it SHOULD NOT be used in production.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/mocks/MockERC20.sol\":\"MockERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"},"initialize(string,string,uint8)":{"details":"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once."}},"version":1},"userdoc":{"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`"},"approve(address,uint256)":{"notice":"Sets `amount` as the allowance of `spender` over the caller's tokens."},"decimals()":{"notice":"Returns the decimals places of the token."},"name()":{"notice":"Returns the name of the token."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"notice":"Moves `amount` tokens from the caller's account to `to`."},"transferFrom(address,address,uint256)":{"notice":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/mocks/MockERC20.sol":"MockERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":38098,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":38100,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":38102,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_decimals","offset":0,"slot":"2","type":"t_uint8"},{"astId":38131,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_totalSupply","offset":0,"slot":"3","type":"t_uint256"},{"astId":38135,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_balanceOf","offset":0,"slot":"4","type":"t_mapping(t_address,t_uint256)"},{"astId":38141,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_allowance","offset":0,"slot":"5","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":38182,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"INITIAL_CHAIN_ID","offset":0,"slot":"6","type":"t_uint256"},{"astId":38184,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"INITIAL_DOMAIN_SEPARATOR","offset":0,"slot":"7","type":"t_bytes32"},{"astId":38188,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"nonces","offset":0,"slot":"8","type":"t_mapping(t_address,t_uint256)"},{"astId":38191,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"initialized","offset":0,"slot":"9","type":"t_bool"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"lib/forge-std/src/mocks/MockERC20.sol","id":38667,"exportedSymbols":{"IERC20":[37742],"MockERC20":[38666]},"nodeType":"SourceUnit","src":"32:8288:40","nodes":[{"id":38091,"nodeType":"PragmaDirective","src":"32:31:40","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":38093,"nodeType":"ImportDirective","src":"65:48:40","nodes":[],"absolutePath":"lib/forge-std/src/interfaces/IERC20.sol","file":"../interfaces/IERC20.sol","nameLocation":"-1:-1:-1","scope":38667,"sourceUnit":37743,"symbolAliases":[{"foreign":{"id":38092,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37742,"src":"73:6:40","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":38666,"nodeType":"ContractDefinition","src":"369:7950:40","nodes":[{"id":38098,"nodeType":"VariableDeclaration","src":"588:21:40","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"604:5:40","scope":38666,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":38097,"name":"string","nodeType":"ElementaryTypeName","src":"588:6:40","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":38100,"nodeType":"VariableDeclaration","src":"616:23:40","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"632:7:40","scope":38666,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":38099,"name":"string","nodeType":"ElementaryTypeName","src":"616:6:40","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":38102,"nodeType":"VariableDeclaration","src":"646:24:40","nodes":[],"constant":false,"mutability":"mutable","name":"_decimals","nameLocation":"661:9:40","scope":38666,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":38101,"name":"uint8","nodeType":"ElementaryTypeName","src":"646:5:40","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"id":38111,"nodeType":"FunctionDefinition","src":"677:92:40","nodes":[],"body":{"id":38110,"nodeType":"Block","src":"740:29:40","nodes":[],"statements":[{"expression":{"id":38108,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38098,"src":"757:5:40","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":38107,"id":38109,"nodeType":"Return","src":"750:12:40"}]},"baseFunctions":[37729],"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"686:4:40","overrides":{"id":38104,"nodeType":"OverrideSpecifier","overrides":[],"src":"707:8:40"},"parameters":{"id":38103,"nodeType":"ParameterList","parameters":[],"src":"690:2:40"},"returnParameters":{"id":38107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38106,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38111,"src":"725:13:40","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38105,"name":"string","nodeType":"ElementaryTypeName","src":"725:6:40","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"724:15:40"},"scope":38666,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38120,"nodeType":"FunctionDefinition","src":"775:96:40","nodes":[],"body":{"id":38119,"nodeType":"Block","src":"840:31:40","nodes":[],"statements":[{"expression":{"id":38117,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38100,"src":"857:7:40","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":38116,"id":38118,"nodeType":"Return","src":"850:14:40"}]},"baseFunctions":[37735],"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"784:6:40","overrides":{"id":38113,"nodeType":"OverrideSpecifier","overrides":[],"src":"807:8:40"},"parameters":{"id":38112,"nodeType":"ParameterList","parameters":[],"src":"790:2:40"},"returnParameters":{"id":38116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38115,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38120,"src":"825:13:40","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38114,"name":"string","nodeType":"ElementaryTypeName","src":"825:6:40","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"824:15:40"},"scope":38666,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38129,"nodeType":"FunctionDefinition","src":"877:92:40","nodes":[],"body":{"id":38128,"nodeType":"Block","src":"936:33:40","nodes":[],"statements":[{"expression":{"id":38126,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38102,"src":"953:9:40","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":38125,"id":38127,"nodeType":"Return","src":"946:16:40"}]},"baseFunctions":[37741],"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"886:8:40","overrides":{"id":38122,"nodeType":"OverrideSpecifier","overrides":[],"src":"911:8:40"},"parameters":{"id":38121,"nodeType":"ParameterList","parameters":[],"src":"894:2:40"},"returnParameters":{"id":38125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38124,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38129,"src":"929:5:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":38123,"name":"uint8","nodeType":"ElementaryTypeName","src":"929:5:40","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"928:7:40"},"scope":38666,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38131,"nodeType":"VariableDeclaration","src":"1158:29:40","nodes":[],"constant":false,"mutability":"mutable","name":"_totalSupply","nameLocation":"1175:12:40","scope":38666,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38130,"name":"uint256","nodeType":"ElementaryTypeName","src":"1158:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":38135,"nodeType":"VariableDeclaration","src":"1194:47:40","nodes":[],"constant":false,"mutability":"mutable","name":"_balanceOf","nameLocation":"1231:10:40","scope":38666,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":38134,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38132,"name":"address","nodeType":"ElementaryTypeName","src":"1202:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1194:27:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38133,"name":"uint256","nodeType":"ElementaryTypeName","src":"1213:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"id":38141,"nodeType":"VariableDeclaration","src":"1248:67:40","nodes":[],"constant":false,"mutability":"mutable","name":"_allowance","nameLocation":"1305:10:40","scope":38666,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":38140,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38136,"name":"address","nodeType":"ElementaryTypeName","src":"1256:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1248:47:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38139,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38137,"name":"address","nodeType":"ElementaryTypeName","src":"1275:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1267:27:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38138,"name":"uint256","nodeType":"ElementaryTypeName","src":"1286:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"internal"},{"id":38150,"nodeType":"FunctionDefinition","src":"1322:100:40","nodes":[],"body":{"id":38149,"nodeType":"Block","src":"1386:36:40","nodes":[],"statements":[{"expression":{"id":38147,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38131,"src":"1403:12:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38146,"id":38148,"nodeType":"Return","src":"1396:19:40"}]},"baseFunctions":[37673],"functionSelector":"18160ddd","implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"1331:11:40","overrides":{"id":38143,"nodeType":"OverrideSpecifier","overrides":[],"src":"1359:8:40"},"parameters":{"id":38142,"nodeType":"ParameterList","parameters":[],"src":"1342:2:40"},"returnParameters":{"id":38146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38145,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38150,"src":"1377:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38144,"name":"uint256","nodeType":"ElementaryTypeName","src":"1377:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1376:9:40"},"scope":38666,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38163,"nodeType":"FunctionDefinition","src":"1428:116:40","nodes":[],"body":{"id":38162,"nodeType":"Block","src":"1503:41:40","nodes":[],"statements":[{"expression":{"baseExpression":{"id":38158,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38135,"src":"1520:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38160,"indexExpression":{"id":38159,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38152,"src":"1531:5:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1520:17:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38157,"id":38161,"nodeType":"Return","src":"1513:24:40"}]},"baseFunctions":[37681],"functionSelector":"70a08231","implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"1437:9:40","overrides":{"id":38154,"nodeType":"OverrideSpecifier","overrides":[],"src":"1476:8:40"},"parameters":{"id":38153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38152,"mutability":"mutable","name":"owner","nameLocation":"1455:5:40","nodeType":"VariableDeclaration","scope":38163,"src":"1447:13:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38151,"name":"address","nodeType":"ElementaryTypeName","src":"1447:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1446:15:40"},"returnParameters":{"id":38157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38156,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38163,"src":"1494:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38155,"name":"uint256","nodeType":"ElementaryTypeName","src":"1494:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1493:9:40"},"scope":38666,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38180,"nodeType":"FunctionDefinition","src":"1550:142:40","nodes":[],"body":{"id":38179,"nodeType":"Block","src":"1642:50:40","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":38173,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38141,"src":"1659:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38175,"indexExpression":{"id":38174,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38165,"src":"1670:5:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1659:17:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38177,"indexExpression":{"id":38176,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38167,"src":"1677:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1659:26:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38172,"id":38178,"nodeType":"Return","src":"1652:33:40"}]},"baseFunctions":[37701],"functionSelector":"dd62ed3e","implemented":true,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1559:9:40","overrides":{"id":38169,"nodeType":"OverrideSpecifier","overrides":[],"src":"1615:8:40"},"parameters":{"id":38168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38165,"mutability":"mutable","name":"owner","nameLocation":"1577:5:40","nodeType":"VariableDeclaration","scope":38180,"src":"1569:13:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38164,"name":"address","nodeType":"ElementaryTypeName","src":"1569:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38167,"mutability":"mutable","name":"spender","nameLocation":"1592:7:40","nodeType":"VariableDeclaration","scope":38180,"src":"1584:15:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38166,"name":"address","nodeType":"ElementaryTypeName","src":"1584:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1568:32:40"},"returnParameters":{"id":38172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38171,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38180,"src":"1633:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38170,"name":"uint256","nodeType":"ElementaryTypeName","src":"1633:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1632:9:40"},"scope":38666,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38182,"nodeType":"VariableDeclaration","src":"1882:33:40","nodes":[],"constant":false,"mutability":"mutable","name":"INITIAL_CHAIN_ID","nameLocation":"1899:16:40","scope":38666,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38181,"name":"uint256","nodeType":"ElementaryTypeName","src":"1882:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":38184,"nodeType":"VariableDeclaration","src":"1922:41:40","nodes":[],"constant":false,"mutability":"mutable","name":"INITIAL_DOMAIN_SEPARATOR","nameLocation":"1939:24:40","scope":38666,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38183,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1922:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":38188,"nodeType":"VariableDeclaration","src":"1970:41:40","nodes":[],"constant":false,"functionSelector":"7ecebe00","mutability":"mutable","name":"nonces","nameLocation":"2005:6:40","scope":38666,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":38187,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38185,"name":"address","nodeType":"ElementaryTypeName","src":"1978:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1970:27:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38186,"name":"uint256","nodeType":"ElementaryTypeName","src":"1989:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":38191,"nodeType":"VariableDeclaration","src":"2271:24:40","nodes":[],"constant":false,"documentation":{"id":38189,"nodeType":"StructuredDocumentation","src":"2199:67:40","text":"@dev A bool to track whether the contract has been initialized."},"mutability":"mutable","name":"initialized","nameLocation":"2284:11:40","scope":38666,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38190,"name":"bool","nodeType":"ElementaryTypeName","src":"2271:4:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":38234,"nodeType":"FunctionDefinition","src":"2504:365:40","nodes":[],"body":{"id":38233,"nodeType":"Block","src":"2592:277:40","nodes":[],"statements":[{"expression":{"arguments":[{"id":38203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2610:12:40","subExpression":{"id":38202,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38191,"src":"2611:11:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"414c52454144595f494e495449414c495a4544","id":38204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2624:21:40","typeDescriptions":{"typeIdentifier":"t_stringliteral_241395e6b20092ec3fd5dfc22ea70fc2615c08854b7fd10fb3028d965cf738f3","typeString":"literal_string \"ALREADY_INITIALIZED\""},"value":"ALREADY_INITIALIZED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_241395e6b20092ec3fd5dfc22ea70fc2615c08854b7fd10fb3028d965cf738f3","typeString":"literal_string \"ALREADY_INITIALIZED\""}],"id":38201,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2602:7:40","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2602:44:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38206,"nodeType":"ExpressionStatement","src":"2602:44:40"},{"expression":{"id":38209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38207,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38098,"src":"2657:5:40","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38208,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38194,"src":"2665:5:40","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2657:13:40","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":38210,"nodeType":"ExpressionStatement","src":"2657:13:40"},{"expression":{"id":38213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38211,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38100,"src":"2680:7:40","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38212,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38196,"src":"2690:7:40","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2680:17:40","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":38214,"nodeType":"ExpressionStatement","src":"2680:17:40"},{"expression":{"id":38217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38215,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38102,"src":"2707:9:40","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38216,"name":"decimals_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38198,"src":"2719:9:40","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"2707:21:40","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":38218,"nodeType":"ExpressionStatement","src":"2707:21:40"},{"expression":{"id":38222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38219,"name":"INITIAL_CHAIN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38182,"src":"2739:16:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":38220,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38665,"src":"2758:12:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":38221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2758:14:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2739:33:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38223,"nodeType":"ExpressionStatement","src":"2739:33:40"},{"expression":{"id":38227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38224,"name":"INITIAL_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38184,"src":"2782:24:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":38225,"name":"computeDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38510,"src":"2809:22:40","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":38226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2809:24:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2782:51:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":38228,"nodeType":"ExpressionStatement","src":"2782:51:40"},{"expression":{"id":38231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38229,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38191,"src":"2844:11:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":38230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2858:4:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2844:18:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":38232,"nodeType":"ExpressionStatement","src":"2844:18:40"}]},"documentation":{"id":38192,"nodeType":"StructuredDocumentation","src":"2302:197:40","text":"@dev To hide constructor warnings across solc versions due to different constructor visibility requirements and\n syntaxes, we add an initialization function that can be called only once."},"functionSelector":"1624f6c6","implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"2513:10:40","parameters":{"id":38199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38194,"mutability":"mutable","name":"name_","nameLocation":"2538:5:40","nodeType":"VariableDeclaration","scope":38234,"src":"2524:19:40","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38193,"name":"string","nodeType":"ElementaryTypeName","src":"2524:6:40","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":38196,"mutability":"mutable","name":"symbol_","nameLocation":"2559:7:40","nodeType":"VariableDeclaration","scope":38234,"src":"2545:21:40","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38195,"name":"string","nodeType":"ElementaryTypeName","src":"2545:6:40","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":38198,"mutability":"mutable","name":"decimals_","nameLocation":"2574:9:40","nodeType":"VariableDeclaration","scope":38234,"src":"2568:15:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":38197,"name":"uint8","nodeType":"ElementaryTypeName","src":"2568:5:40","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2523:61:40"},"returnParameters":{"id":38200,"nodeType":"ParameterList","parameters":[],"src":"2592:0:40"},"scope":38666,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":38263,"nodeType":"FunctionDefinition","src":"3057:221:40","nodes":[],"body":{"id":38262,"nodeType":"Block","src":"3146:132:40","nodes":[],"statements":[{"expression":{"id":38251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":38244,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38141,"src":"3156:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38248,"indexExpression":{"expression":{"id":38245,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3167:3:40","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3171:6:40","memberName":"sender","nodeType":"MemberAccess","src":"3167:10:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3156:22:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38249,"indexExpression":{"id":38247,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38236,"src":"3179:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3156:31:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38250,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38238,"src":"3190:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3156:40:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38252,"nodeType":"ExpressionStatement","src":"3156:40:40"},{"eventCall":{"arguments":[{"expression":{"id":38254,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3221:3:40","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3225:6:40","memberName":"sender","nodeType":"MemberAccess","src":"3221:10:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38256,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38236,"src":"3233:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38257,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38238,"src":"3242:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38253,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37667,"src":"3212:8:40","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3212:37:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38259,"nodeType":"EmitStatement","src":"3207:42:40"},{"expression":{"hexValue":"74727565","id":38260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3267:4:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":38243,"id":38261,"nodeType":"Return","src":"3260:11:40"}]},"baseFunctions":[37711],"functionSelector":"095ea7b3","implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"3066:7:40","overrides":{"id":38240,"nodeType":"OverrideSpecifier","overrides":[],"src":"3122:8:40"},"parameters":{"id":38239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38236,"mutability":"mutable","name":"spender","nameLocation":"3082:7:40","nodeType":"VariableDeclaration","scope":38263,"src":"3074:15:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38235,"name":"address","nodeType":"ElementaryTypeName","src":"3074:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38238,"mutability":"mutable","name":"amount","nameLocation":"3099:6:40","nodeType":"VariableDeclaration","scope":38263,"src":"3091:14:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38237,"name":"uint256","nodeType":"ElementaryTypeName","src":"3091:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3073:33:40"},"returnParameters":{"id":38243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38242,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38263,"src":"3140:4:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38241,"name":"bool","nodeType":"ElementaryTypeName","src":"3140:4:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3139:6:40"},"scope":38666,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":38307,"nodeType":"FunctionDefinition","src":"3284:288:40","nodes":[],"body":{"id":38306,"nodeType":"Block","src":"3369:203:40","nodes":[],"statements":[{"expression":{"id":38284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38273,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38135,"src":"3379:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38276,"indexExpression":{"expression":{"id":38274,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3390:3:40","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3394:6:40","memberName":"sender","nodeType":"MemberAccess","src":"3390:10:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3379:22:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38278,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38135,"src":"3409:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38281,"indexExpression":{"expression":{"id":38279,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3420:3:40","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3424:6:40","memberName":"sender","nodeType":"MemberAccess","src":"3420:10:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3409:22:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38282,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38267,"src":"3433:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38277,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38626,"src":"3404:4:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3404:36:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3379:61:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38285,"nodeType":"ExpressionStatement","src":"3379:61:40"},{"expression":{"id":38295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38286,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38135,"src":"3450:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38288,"indexExpression":{"id":38287,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38265,"src":"3461:2:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3450:14:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38290,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38135,"src":"3472:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38292,"indexExpression":{"id":38291,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38265,"src":"3483:2:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3472:14:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38293,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38267,"src":"3488:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38289,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38605,"src":"3467:4:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3467:28:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3450:45:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38296,"nodeType":"ExpressionStatement","src":"3450:45:40"},{"eventCall":{"arguments":[{"expression":{"id":38298,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3520:3:40","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3524:6:40","memberName":"sender","nodeType":"MemberAccess","src":"3520:10:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38300,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38265,"src":"3532:2:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38301,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38267,"src":"3536:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38297,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37658,"src":"3511:8:40","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3511:32:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38303,"nodeType":"EmitStatement","src":"3506:37:40"},{"expression":{"hexValue":"74727565","id":38304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3561:4:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":38272,"id":38305,"nodeType":"Return","src":"3554:11:40"}]},"baseFunctions":[37691],"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"3293:8:40","overrides":{"id":38269,"nodeType":"OverrideSpecifier","overrides":[],"src":"3345:8:40"},"parameters":{"id":38268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38265,"mutability":"mutable","name":"to","nameLocation":"3310:2:40","nodeType":"VariableDeclaration","scope":38307,"src":"3302:10:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38264,"name":"address","nodeType":"ElementaryTypeName","src":"3302:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38267,"mutability":"mutable","name":"amount","nameLocation":"3322:6:40","nodeType":"VariableDeclaration","scope":38307,"src":"3314:14:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38266,"name":"uint256","nodeType":"ElementaryTypeName","src":"3314:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3301:28:40"},"returnParameters":{"id":38272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38271,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38307,"src":"3363:4:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38270,"name":"bool","nodeType":"ElementaryTypeName","src":"3363:4:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3362:6:40"},"scope":38666,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":38379,"nodeType":"FunctionDefinition","src":"3578:472:40","nodes":[],"body":{"id":38378,"nodeType":"Block","src":"3681:369:40","nodes":[],"statements":[{"assignments":[38320],"declarations":[{"constant":false,"id":38320,"mutability":"mutable","name":"allowed","nameLocation":"3699:7:40","nodeType":"VariableDeclaration","scope":38378,"src":"3691:15:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38319,"name":"uint256","nodeType":"ElementaryTypeName","src":"3691:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":38327,"initialValue":{"baseExpression":{"baseExpression":{"id":38321,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38141,"src":"3709:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38323,"indexExpression":{"id":38322,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38309,"src":"3720:4:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3709:16:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38326,"indexExpression":{"expression":{"id":38324,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3726:3:40","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3730:6:40","memberName":"sender","nodeType":"MemberAccess","src":"3726:10:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3709:28:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3691:46:40"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38328,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38320,"src":"3788:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":38333,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3799:11:40","subExpression":{"arguments":[{"hexValue":"30","id":38331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3808:1:40","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":38330,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3800:7:40","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":38329,"name":"uint256","nodeType":"ElementaryTypeName","src":"3800:7:40","typeDescriptions":{}}},"id":38332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3800:10:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3788:22:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":38347,"nodeType":"IfStatement","src":"3784:80:40","trueBody":{"expression":{"id":38345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":38335,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38141,"src":"3812:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38339,"indexExpression":{"id":38336,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38309,"src":"3823:4:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3812:16:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38340,"indexExpression":{"expression":{"id":38337,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3829:3:40","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3833:6:40","memberName":"sender","nodeType":"MemberAccess","src":"3829:10:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3812:28:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":38342,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38320,"src":"3848:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38343,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38313,"src":"3857:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38341,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38626,"src":"3843:4:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3843:21:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3812:52:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38346,"nodeType":"ExpressionStatement","src":"3812:52:40"}},{"expression":{"id":38357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38348,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38135,"src":"3875:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38350,"indexExpression":{"id":38349,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38309,"src":"3886:4:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3875:16:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38352,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38135,"src":"3899:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38354,"indexExpression":{"id":38353,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38309,"src":"3910:4:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3899:16:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38355,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38313,"src":"3917:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38351,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38626,"src":"3894:4:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3894:30:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3875:49:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38358,"nodeType":"ExpressionStatement","src":"3875:49:40"},{"expression":{"id":38368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38359,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38135,"src":"3934:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38361,"indexExpression":{"id":38360,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38311,"src":"3945:2:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3934:14:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38363,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38135,"src":"3956:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38365,"indexExpression":{"id":38364,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38311,"src":"3967:2:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3956:14:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38366,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38313,"src":"3972:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38362,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38605,"src":"3951:4:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3951:28:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3934:45:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38369,"nodeType":"ExpressionStatement","src":"3934:45:40"},{"eventCall":{"arguments":[{"id":38371,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38309,"src":"4004:4:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38372,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38311,"src":"4010:2:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38373,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38313,"src":"4014:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38370,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37658,"src":"3995:8:40","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3995:26:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38375,"nodeType":"EmitStatement","src":"3990:31:40"},{"expression":{"hexValue":"74727565","id":38376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4039:4:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":38318,"id":38377,"nodeType":"Return","src":"4032:11:40"}]},"baseFunctions":[37723],"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"3587:12:40","overrides":{"id":38315,"nodeType":"OverrideSpecifier","overrides":[],"src":"3657:8:40"},"parameters":{"id":38314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38309,"mutability":"mutable","name":"from","nameLocation":"3608:4:40","nodeType":"VariableDeclaration","scope":38379,"src":"3600:12:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38308,"name":"address","nodeType":"ElementaryTypeName","src":"3600:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38311,"mutability":"mutable","name":"to","nameLocation":"3622:2:40","nodeType":"VariableDeclaration","scope":38379,"src":"3614:10:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38310,"name":"address","nodeType":"ElementaryTypeName","src":"3614:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38313,"mutability":"mutable","name":"amount","nameLocation":"3634:6:40","nodeType":"VariableDeclaration","scope":38379,"src":"3626:14:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38312,"name":"uint256","nodeType":"ElementaryTypeName","src":"3626:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3599:42:40"},"returnParameters":{"id":38318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38317,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38379,"src":"3675:4:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38316,"name":"bool","nodeType":"ElementaryTypeName","src":"3675:4:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3674:6:40"},"scope":38666,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":38465,"nodeType":"FunctionDefinition","src":"4239:1182:40","nodes":[],"body":{"id":38464,"nodeType":"Block","src":"4386:1035:40","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38397,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38387,"src":"4404:8:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":38398,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4416:5:40","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":38399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4422:9:40","memberName":"timestamp","nodeType":"MemberAccess","src":"4416:15:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4404:27:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5045524d49545f444541444c494e455f45585049524544","id":38401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4433:25:40","typeDescriptions":{"typeIdentifier":"t_stringliteral_dd18cfd81b4c1281b56302a044e7f751a261543590362c41d86af048f8ed4b3e","typeString":"literal_string \"PERMIT_DEADLINE_EXPIRED\""},"value":"PERMIT_DEADLINE_EXPIRED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_dd18cfd81b4c1281b56302a044e7f751a261543590362c41d86af048f8ed4b3e","typeString":"literal_string \"PERMIT_DEADLINE_EXPIRED\""}],"id":38396,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4396:7:40","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4396:63:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38403,"nodeType":"ExpressionStatement","src":"4396:63:40"},{"assignments":[38405],"declarations":[{"constant":false,"id":38405,"mutability":"mutable","name":"recoveredAddress","nameLocation":"4478:16:40","nodeType":"VariableDeclaration","scope":38464,"src":"4470:24:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38404,"name":"address","nodeType":"ElementaryTypeName","src":"4470:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":38435,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"1901","id":38410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4585:10:40","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"id":38411,"name":"DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38480,"src":"4617:16:40","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":38412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4617:18:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":38417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4775:84:40","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":38416,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4732:9:40","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4732:157:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":38419,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38381,"src":"4919:5:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38420,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38383,"src":"4954:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38421,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38385,"src":"4991:5:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5026:15:40","subExpression":{"baseExpression":{"id":38422,"name":"nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38188,"src":"5026:6:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38424,"indexExpression":{"id":38423,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38381,"src":"5033:5:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5026:13:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38426,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38387,"src":"5071:8:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":38414,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4692:3:40","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":38415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4696:6:40","memberName":"encode","nodeType":"MemberAccess","src":"4692:10:40","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":38427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4692:413:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":38413,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4657:9:40","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4657:470:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":38408,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4547:3:40","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":38409,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4551:12:40","memberName":"encodePacked","nodeType":"MemberAccess","src":"4547:16:40","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":38429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4547:598:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":38407,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4520:9:40","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4520:639:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":38431,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38389,"src":"5173:1:40","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":38432,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38391,"src":"5188:1:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":38433,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38393,"src":"5203:1:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":38406,"name":"ecrecover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-6,"src":"4497:9:40","typeDescriptions":{"typeIdentifier":"t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":38434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4497:717:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4470:744:40"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":38446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":38442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38437,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38405,"src":"5233:16:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":38440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5261:1:40","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":38439,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5253:7:40","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38438,"name":"address","nodeType":"ElementaryTypeName","src":"5253:7:40","typeDescriptions":{}}},"id":38441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5253:10:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5233:30:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":38445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38443,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38405,"src":"5267:16:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":38444,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38381,"src":"5287:5:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5267:25:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5233:59:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"494e56414c49445f5349474e4552","id":38447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5294:16:40","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba2319f5fa9f0c8e55f0d6899910b7354e6f643d1d349de47190066d85e68a1c","typeString":"literal_string \"INVALID_SIGNER\""},"value":"INVALID_SIGNER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ba2319f5fa9f0c8e55f0d6899910b7354e6f643d1d349de47190066d85e68a1c","typeString":"literal_string \"INVALID_SIGNER\""}],"id":38436,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5225:7:40","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5225:86:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38449,"nodeType":"ExpressionStatement","src":"5225:86:40"},{"expression":{"id":38456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":38450,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38141,"src":"5322:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38453,"indexExpression":{"id":38451,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38405,"src":"5333:16:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5322:28:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38454,"indexExpression":{"id":38452,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38383,"src":"5351:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5322:37:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38455,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38385,"src":"5362:5:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5322:45:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38457,"nodeType":"ExpressionStatement","src":"5322:45:40"},{"eventCall":{"arguments":[{"id":38459,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38381,"src":"5392:5:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38460,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38383,"src":"5399:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38461,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38385,"src":"5408:5:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38458,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37667,"src":"5383:8:40","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5383:31:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38463,"nodeType":"EmitStatement","src":"5378:36:40"}]},"functionSelector":"d505accf","implemented":true,"kind":"function","modifiers":[],"name":"permit","nameLocation":"4248:6:40","parameters":{"id":38394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38381,"mutability":"mutable","name":"owner","nameLocation":"4263:5:40","nodeType":"VariableDeclaration","scope":38465,"src":"4255:13:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38380,"name":"address","nodeType":"ElementaryTypeName","src":"4255:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38383,"mutability":"mutable","name":"spender","nameLocation":"4278:7:40","nodeType":"VariableDeclaration","scope":38465,"src":"4270:15:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38382,"name":"address","nodeType":"ElementaryTypeName","src":"4270:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38385,"mutability":"mutable","name":"value","nameLocation":"4295:5:40","nodeType":"VariableDeclaration","scope":38465,"src":"4287:13:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38384,"name":"uint256","nodeType":"ElementaryTypeName","src":"4287:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38387,"mutability":"mutable","name":"deadline","nameLocation":"4310:8:40","nodeType":"VariableDeclaration","scope":38465,"src":"4302:16:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38386,"name":"uint256","nodeType":"ElementaryTypeName","src":"4302:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38389,"mutability":"mutable","name":"v","nameLocation":"4326:1:40","nodeType":"VariableDeclaration","scope":38465,"src":"4320:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":38388,"name":"uint8","nodeType":"ElementaryTypeName","src":"4320:5:40","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":38391,"mutability":"mutable","name":"r","nameLocation":"4337:1:40","nodeType":"VariableDeclaration","scope":38465,"src":"4329:9:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38390,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4329:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38393,"mutability":"mutable","name":"s","nameLocation":"4348:1:40","nodeType":"VariableDeclaration","scope":38465,"src":"4340:9:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38392,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4340:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4254:96:40"},"returnParameters":{"id":38395,"nodeType":"ParameterList","parameters":[],"src":"4386:0:40"},"scope":38666,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":38480,"nodeType":"FunctionDefinition","src":"5427:178:40","nodes":[],"body":{"id":38479,"nodeType":"Block","src":"5493:112:40","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":38470,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38665,"src":"5510:12:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":38471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5510:14:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":38472,"name":"INITIAL_CHAIN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38182,"src":"5528:16:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5510:34:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":38475,"name":"computeDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38510,"src":"5574:22:40","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":38476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5574:24:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":38477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5510:88:40","trueExpression":{"id":38474,"name":"INITIAL_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38184,"src":"5547:24:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":38469,"id":38478,"nodeType":"Return","src":"5503:95:40"}]},"functionSelector":"3644e515","implemented":true,"kind":"function","modifiers":[],"name":"DOMAIN_SEPARATOR","nameLocation":"5436:16:40","parameters":{"id":38466,"nodeType":"ParameterList","parameters":[],"src":"5452:2:40"},"returnParameters":{"id":38469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38468,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38480,"src":"5484:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38467,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5484:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5483:9:40"},"scope":38666,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":38510,"nodeType":"FunctionDefinition","src":"5611:404:40","nodes":[],"body":{"id":38509,"nodeType":"Block","src":"5685:330:40","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429","id":38489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5763:84:40","typeDescriptions":{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""},"value":"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""}],"id":38488,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5753:9:40","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5753:95:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"id":38494,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38098,"src":"5882:5:40","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":38493,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5876:5:40","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":38492,"name":"bytes","nodeType":"ElementaryTypeName","src":"5876:5:40","typeDescriptions":{}}},"id":38495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5876:12:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}],"id":38491,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5866:9:40","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5866:23:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"31","id":38498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5917:3:40","typeDescriptions":{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""}],"id":38497,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5907:9:40","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5907:14:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":38500,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38665,"src":"5939:12:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":38501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5939:14:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":38504,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5979:4:40","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$38666","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$38666","typeString":"contract MockERC20"}],"id":38503,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5971:7:40","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38502,"name":"address","nodeType":"ElementaryTypeName","src":"5971:7:40","typeDescriptions":{}}},"id":38505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5971:13:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":38486,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5725:3:40","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":38487,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5729:6:40","memberName":"encode","nodeType":"MemberAccess","src":"5725:10:40","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":38506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5725:273:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":38485,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5702:9:40","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5702:306:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":38484,"id":38508,"nodeType":"Return","src":"5695:313:40"}]},"implemented":true,"kind":"function","modifiers":[],"name":"computeDomainSeparator","nameLocation":"5620:22:40","parameters":{"id":38481,"nodeType":"ParameterList","parameters":[],"src":"5642:2:40"},"returnParameters":{"id":38484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38483,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38510,"src":"5676:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38482,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5676:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5675:9:40"},"scope":38666,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":38545,"nodeType":"FunctionDefinition","src":"6209:221:40","nodes":[],"body":{"id":38544,"nodeType":"Block","src":"6269:161:40","nodes":[],"statements":[{"expression":{"id":38522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38517,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38131,"src":"6279:12:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":38519,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38131,"src":"6299:12:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38520,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38514,"src":"6313:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38518,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38605,"src":"6294:4:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6294:26:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6279:41:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38523,"nodeType":"ExpressionStatement","src":"6279:41:40"},{"expression":{"id":38533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38524,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38135,"src":"6330:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38526,"indexExpression":{"id":38525,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38512,"src":"6341:2:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6330:14:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38528,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38135,"src":"6352:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38530,"indexExpression":{"id":38529,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38512,"src":"6363:2:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6352:14:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38531,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38514,"src":"6368:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38527,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38605,"src":"6347:4:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6347:28:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6330:45:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38534,"nodeType":"ExpressionStatement","src":"6330:45:40"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":38538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6408:1:40","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":38537,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6400:7:40","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38536,"name":"address","nodeType":"ElementaryTypeName","src":"6400:7:40","typeDescriptions":{}}},"id":38539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6400:10:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38540,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38512,"src":"6412:2:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38541,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38514,"src":"6416:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38535,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37658,"src":"6391:8:40","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6391:32:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38543,"nodeType":"EmitStatement","src":"6386:37:40"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"6218:5:40","parameters":{"id":38515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38512,"mutability":"mutable","name":"to","nameLocation":"6232:2:40","nodeType":"VariableDeclaration","scope":38545,"src":"6224:10:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38511,"name":"address","nodeType":"ElementaryTypeName","src":"6224:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38514,"mutability":"mutable","name":"amount","nameLocation":"6244:6:40","nodeType":"VariableDeclaration","scope":38545,"src":"6236:14:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38513,"name":"uint256","nodeType":"ElementaryTypeName","src":"6236:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6223:28:40"},"returnParameters":{"id":38516,"nodeType":"ParameterList","parameters":[],"src":"6269:0:40"},"scope":38666,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":38580,"nodeType":"FunctionDefinition","src":"6436:229:40","nodes":[],"body":{"id":38579,"nodeType":"Block","src":"6498:167:40","nodes":[],"statements":[{"expression":{"id":38561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38552,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38135,"src":"6508:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38554,"indexExpression":{"id":38553,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38547,"src":"6519:4:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6508:16:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38556,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38135,"src":"6532:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38558,"indexExpression":{"id":38557,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38547,"src":"6543:4:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6532:16:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38559,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38549,"src":"6550:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38555,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38626,"src":"6527:4:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6527:30:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6508:49:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38562,"nodeType":"ExpressionStatement","src":"6508:49:40"},{"expression":{"id":38568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38563,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38131,"src":"6567:12:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":38565,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38131,"src":"6587:12:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38566,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38549,"src":"6601:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38564,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38626,"src":"6582:4:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6582:26:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6567:41:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38569,"nodeType":"ExpressionStatement","src":"6567:41:40"},{"eventCall":{"arguments":[{"id":38571,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38547,"src":"6633:4:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":38574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6647:1:40","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":38573,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6639:7:40","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38572,"name":"address","nodeType":"ElementaryTypeName","src":"6639:7:40","typeDescriptions":{}}},"id":38575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6639:10:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38576,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38549,"src":"6651:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38570,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37658,"src":"6624:8:40","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6624:34:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38578,"nodeType":"EmitStatement","src":"6619:39:40"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"6445:5:40","parameters":{"id":38550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38547,"mutability":"mutable","name":"from","nameLocation":"6459:4:40","nodeType":"VariableDeclaration","scope":38580,"src":"6451:12:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38546,"name":"address","nodeType":"ElementaryTypeName","src":"6451:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38549,"mutability":"mutable","name":"amount","nameLocation":"6473:6:40","nodeType":"VariableDeclaration","scope":38580,"src":"6465:14:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38548,"name":"uint256","nodeType":"ElementaryTypeName","src":"6465:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6450:30:40"},"returnParameters":{"id":38551,"nodeType":"ParameterList","parameters":[],"src":"6498:0:40"},"scope":38666,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":38605,"nodeType":"FunctionDefinition","src":"6859:173:40","nodes":[],"body":{"id":38604,"nodeType":"Block","src":"6927:105:40","nodes":[],"statements":[{"assignments":[38590],"declarations":[{"constant":false,"id":38590,"mutability":"mutable","name":"c","nameLocation":"6945:1:40","nodeType":"VariableDeclaration","scope":38604,"src":"6937:9:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38589,"name":"uint256","nodeType":"ElementaryTypeName","src":"6937:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":38594,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38591,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38582,"src":"6949:1:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":38592,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38584,"src":"6953:1:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6949:5:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6937:17:40"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38596,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38590,"src":"6972:1:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":38597,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38582,"src":"6977:1:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6972:6:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206164646974696f6e206f766572666c6f77","id":38599,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6980:26:40","typeDescriptions":{"typeIdentifier":"t_stringliteral_74f676cd2e283c0e66b6d0717943544332197bd372b775cf0e7a53907f5c5d11","typeString":"literal_string \"ERC20: addition overflow\""},"value":"ERC20: addition overflow"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_74f676cd2e283c0e66b6d0717943544332197bd372b775cf0e7a53907f5c5d11","typeString":"literal_string \"ERC20: addition overflow\""}],"id":38595,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6964:7:40","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6964:43:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38601,"nodeType":"ExpressionStatement","src":"6964:43:40"},{"expression":{"id":38602,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38590,"src":"7024:1:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38588,"id":38603,"nodeType":"Return","src":"7017:8:40"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_add","nameLocation":"6868:4:40","parameters":{"id":38585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38582,"mutability":"mutable","name":"a","nameLocation":"6881:1:40","nodeType":"VariableDeclaration","scope":38605,"src":"6873:9:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38581,"name":"uint256","nodeType":"ElementaryTypeName","src":"6873:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38584,"mutability":"mutable","name":"b","nameLocation":"6892:1:40","nodeType":"VariableDeclaration","scope":38605,"src":"6884:9:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38583,"name":"uint256","nodeType":"ElementaryTypeName","src":"6884:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6872:22:40"},"returnParameters":{"id":38588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38587,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38605,"src":"6918:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38586,"name":"uint256","nodeType":"ElementaryTypeName","src":"6918:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6917:9:40"},"scope":38666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38626,"nodeType":"FunctionDefinition","src":"7038:154:40","nodes":[],"body":{"id":38625,"nodeType":"Block","src":"7106:86:40","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38615,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38607,"src":"7124:1:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":38616,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38609,"src":"7129:1:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7124:6:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207375627472616374696f6e20756e646572666c6f77","id":38618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7132:30:40","typeDescriptions":{"typeIdentifier":"t_stringliteral_51030fc2fc57ce7527c9e329debac907fc652c2c136d851e4f42cbce1710c274","typeString":"literal_string \"ERC20: subtraction underflow\""},"value":"ERC20: subtraction underflow"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_51030fc2fc57ce7527c9e329debac907fc652c2c136d851e4f42cbce1710c274","typeString":"literal_string \"ERC20: subtraction underflow\""}],"id":38614,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7116:7:40","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7116:47:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38620,"nodeType":"ExpressionStatement","src":"7116:47:40"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38621,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38607,"src":"7180:1:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":38622,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38609,"src":"7184:1:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7180:5:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38613,"id":38624,"nodeType":"Return","src":"7173:12:40"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sub","nameLocation":"7047:4:40","parameters":{"id":38610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38607,"mutability":"mutable","name":"a","nameLocation":"7060:1:40","nodeType":"VariableDeclaration","scope":38626,"src":"7052:9:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38606,"name":"uint256","nodeType":"ElementaryTypeName","src":"7052:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38609,"mutability":"mutable","name":"b","nameLocation":"7071:1:40","nodeType":"VariableDeclaration","scope":38626,"src":"7063:9:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38608,"name":"uint256","nodeType":"ElementaryTypeName","src":"7063:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7051:22:40"},"returnParameters":{"id":38613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38612,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38626,"src":"7097:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38611,"name":"uint256","nodeType":"ElementaryTypeName","src":"7097:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7096:9:40"},"scope":38666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38638,"nodeType":"FunctionDefinition","src":"7735:276:40","nodes":[],"body":{"id":38637,"nodeType":"Block","src":"7798:213:40","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"7893:44:40","statements":[{"nodeType":"YulAssignment","src":"7907:20:40","value":{"arguments":[],"functionName":{"name":"chainid","nodeType":"YulIdentifier","src":"7918:7:40"},"nodeType":"YulFunctionCall","src":"7918:9:40"},"variableNames":[{"name":"chainId","nodeType":"YulIdentifier","src":"7907:7:40"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":38629,"isOffset":false,"isSlot":false,"src":"7907:7:40","valueSize":1}],"id":38631,"nodeType":"InlineAssembly","src":"7884:53:40"},{"expression":{"arguments":[{"id":38634,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"7955:4:40","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$38666","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$38666","typeString":"contract MockERC20"}],"id":38633,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7947:7:40","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38632,"name":"address","nodeType":"ElementaryTypeName","src":"7947:7:40","typeDescriptions":{}}},"id":38635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7947:13:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":38636,"nodeType":"ExpressionStatement","src":"7947:13:40"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_viewChainId","nameLocation":"7744:12:40","parameters":{"id":38627,"nodeType":"ParameterList","parameters":[],"src":"7756:2:40"},"returnParameters":{"id":38630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38629,"mutability":"mutable","name":"chainId","nameLocation":"7789:7:40","nodeType":"VariableDeclaration","scope":38638,"src":"7781:15:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38628,"name":"uint256","nodeType":"ElementaryTypeName","src":"7781:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7780:17:40"},"scope":38666,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":38665,"nodeType":"FunctionDefinition","src":"8017:300:40","nodes":[],"body":{"id":38664,"nodeType":"Block","src":"8080:237:40","nodes":[],"statements":[{"assignments":[38648],"declarations":[{"constant":false,"id":38648,"mutability":"mutable","name":"fnIn","nameLocation":"8133:4:40","nodeType":"VariableDeclaration","scope":38664,"src":"8090:47:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"},"typeName":{"id":38647,"nodeType":"FunctionTypeName","parameterTypes":{"id":38643,"nodeType":"ParameterList","parameters":[],"src":"8098:2:40"},"returnParameterTypes":{"id":38646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38645,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38647,"src":"8124:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38644,"name":"uint256","nodeType":"ElementaryTypeName","src":"8124:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8123:9:40"},"src":"8090:47:40","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"},"visibility":"internal"},"visibility":"internal"}],"id":38650,"initialValue":{"id":38649,"name":"_viewChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38638,"src":"8140:12:40","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8090:62:40"},{"assignments":[38656],"declarations":[{"constant":false,"id":38656,"mutability":"mutable","name":"pureChainId","nameLocation":"8205:11:40","nodeType":"VariableDeclaration","scope":38664,"src":"8162:54:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"},"typeName":{"id":38655,"nodeType":"FunctionTypeName","parameterTypes":{"id":38651,"nodeType":"ParameterList","parameters":[],"src":"8170:2:40"},"returnParameterTypes":{"id":38654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38653,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38655,"src":"8196:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38652,"name":"uint256","nodeType":"ElementaryTypeName","src":"8196:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8195:9:40"},"src":"8162:54:40","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"},"visibility":"internal"},"visibility":"internal"}],"id":38657,"nodeType":"VariableDeclarationStatement","src":"8162:54:40"},{"AST":{"nodeType":"YulBlock","src":"8235:43:40","statements":[{"nodeType":"YulAssignment","src":"8249:19:40","value":{"name":"fnIn","nodeType":"YulIdentifier","src":"8264:4:40"},"variableNames":[{"name":"pureChainId","nodeType":"YulIdentifier","src":"8249:11:40"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":38648,"isOffset":false,"isSlot":false,"src":"8264:4:40","valueSize":1},{"declaration":38656,"isOffset":false,"isSlot":false,"src":"8249:11:40","valueSize":1}],"id":38658,"nodeType":"InlineAssembly","src":"8226:52:40"},{"expression":{"id":38662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38659,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38641,"src":"8287:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":38660,"name":"pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38656,"src":"8297:11:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":38661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8297:13:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8287:23:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38663,"nodeType":"ExpressionStatement","src":"8287:23:40"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_pureChainId","nameLocation":"8026:12:40","parameters":{"id":38639,"nodeType":"ParameterList","parameters":[],"src":"8038:2:40"},"returnParameters":{"id":38642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38641,"mutability":"mutable","name":"chainId","nameLocation":"8071:7:40","nodeType":"VariableDeclaration","scope":38665,"src":"8063:15:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38640,"name":"uint256","nodeType":"ElementaryTypeName","src":"8063:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8062:17:40"},"scope":38666,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":38095,"name":"IERC20","nameLocations":["391:6:40"],"nodeType":"IdentifierPath","referencedDeclaration":37742,"src":"391:6:40"},"id":38096,"nodeType":"InheritanceSpecifier","src":"391:6:40"}],"canonicalName":"MockERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":38094,"nodeType":"StructuredDocumentation","src":"115:254:40","text":"@notice This is a mock contract of the ERC20 standard for testing purposes only, it SHOULD NOT be used in production.\n @dev Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC20.sol"},"fullyImplemented":true,"linearizedBaseContracts":[38666,37742],"name":"MockERC20","nameLocation":"378:9:40","scope":38667,"usedErrors":[]}],"license":"MIT"},"id":40} \ No newline at end of file +{"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50610e3e806100206000396000f3fe608060405234801561001057600080fd5b50600436106100af5760003560e01c806306fdde03146100b4578063095ea7b3146100d25780631624f6c6146100f557806318160ddd1461010a57806323b872dd1461011c578063313ce5671461012f5780633644e5151461014457806370a082311461014c5780637ecebe001461017557806395d89b4114610195578063a9059cbb1461019d578063d505accf146101b0578063dd62ed3e146101c3575b600080fd5b6100bc6101fc565b6040516100c99190610907565b60405180910390f35b6100e56100e0366004610971565b61028e565b60405190151581526020016100c9565b610108610103366004610a4e565b6102e9565b005b6003545b6040519081526020016100c9565b6100e561012a366004610ac1565b610388565b60025460405160ff90911681526020016100c9565b61010e61048b565b61010e61015a366004610afd565b6001600160a01b031660009081526004602052604090205490565b61010e610183366004610afd565b60086020526000908152604090205481565b6100bc6104b1565b6100e56101ab366004610971565b6104c0565b6101086101be366004610b18565b610545565b61010e6101d1366004610b82565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b60606000805461020b90610bb5565b80601f016020809104026020016040519081016040528092919081815260200182805461023790610bb5565b80156102845780601f1061025957610100808354040283529160200191610284565b820191906000526020600020905b81548152906001019060200180831161026757829003601f168201915b5050505050905090565b3360008181526005602090815260408083206001600160a01b03871680855292528083208590555191929091600080516020610de9833981519152906102d79086815260200190565b60405180910390a35060015b92915050565b60095460ff16156103375760405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b60448201526064015b60405180910390fd5b60006103438482610c3e565b5060016103508382610c3e565b506002805460ff191660ff831617905561036861078b565b6006556103736107a4565b60075550506009805460ff1916600117905550565b6001600160a01b038316600090815260056020908152604080832033845290915281205460001981146103e4576103bf8184610847565b6001600160a01b03861660009081526005602090815260408083203384529091529020555b6001600160a01b0385166000908152600460205260409020546104079084610847565b6001600160a01b03808716600090815260046020526040808220939093559086168152205461043690846108a9565b6001600160a01b038086166000818152600460205260409081902093909355915190871690600080516020610dc9833981519152906104789087815260200190565b60405180910390a3506001949350505050565b600060065461049861078b565b146104aa576104a56107a4565b905090565b5060075490565b60606001805461020b90610bb5565b336000908152600460205260408120546104da9083610847565b33600090815260046020526040808220929092556001600160a01b0385168152205461050690836108a9565b6001600160a01b038416600081815260046020526040908190209290925590513390600080516020610dc9833981519152906102d79086815260200190565b4284101561058f5760405162461bcd60e51b815260206004820152601760248201527614115493525517d11150511312539157d1561412549151604a1b604482015260640161032e565b6000600161059b61048b565b6001600160a01b038a16600090815260086020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d929091906105e983610d13565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e0016040516020818303038152906040528051906020012060405160200161066292919061190160f01b81526002810192909252602282015260420190565b60408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa1580156106c0573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906106f65750876001600160a01b0316816001600160a01b0316145b6107335760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b604482015260640161032e565b6001600160a01b0381811660009081526005602090815260408083208b8516808552908352928190208a90555189815291928b1691600080516020610de9833981519152910160405180910390a35050505050505050565b60006109038061079d63ffffffff8216565b9250505090565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60006040516107d69190610d2c565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc661080761078b565b604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6000818310156108985760405162461bcd60e51b815260206004820152601c60248201527b45524332303a207375627472616374696f6e20756e646572666c6f7760201b604482015260640161032e565b6108a28284610da2565b9392505050565b6000806108b68385610db5565b9050838110156108a25760405162461bcd60e51b815260206004820152601860248201527745524332303a206164646974696f6e206f766572666c6f7760401b604482015260640161032e565b4690565b600060208083528351808285015260005b8181101561093457858101830151858201604001528201610918565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461096c57600080fd5b919050565b6000806040838503121561098457600080fd5b61098d83610955565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126109c257600080fd5b81356001600160401b03808211156109dc576109dc61099b565b604051601f8301601f19908116603f01168101908282118183101715610a0457610a0461099b565b81604052838152866020858801011115610a1d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b803560ff8116811461096c57600080fd5b600080600060608486031215610a6357600080fd5b83356001600160401b0380821115610a7a57600080fd5b610a86878388016109b1565b94506020860135915080821115610a9c57600080fd5b50610aa9868287016109b1565b925050610ab860408501610a3d565b90509250925092565b600080600060608486031215610ad657600080fd5b610adf84610955565b9250610aed60208501610955565b9150604084013590509250925092565b600060208284031215610b0f57600080fd5b6108a282610955565b600080600080600080600060e0888a031215610b3357600080fd5b610b3c88610955565b9650610b4a60208901610955565b95506040880135945060608801359350610b6660808901610a3d565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215610b9557600080fd5b610b9e83610955565b9150610bac60208401610955565b90509250929050565b600181811c90821680610bc957607f821691505b602082108103610be957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610c3957600081815260208120601f850160051c81016020861015610c165750805b601f850160051c820191505b81811015610c3557828155600101610c22565b5050505b505050565b81516001600160401b03811115610c5757610c5761099b565b610c6b81610c658454610bb5565b84610bef565b602080601f831160018114610ca05760008415610c885750858301515b600019600386901b1c1916600185901b178555610c35565b600085815260208120601f198616915b82811015610ccf57888601518255948401946001909101908401610cb0565b5085821015610ced5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600060018201610d2557610d25610cfd565b5060010190565b6000808354610d3a81610bb5565b60018281168015610d525760018114610d6757610d96565b60ff1984168752821515830287019450610d96565b8760005260208060002060005b85811015610d8d5781548a820152908401908201610d74565b50505082870194505b50929695505050505050565b818103818111156102e3576102e3610cfd565b808201808211156102e3576102e3610cfd56feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a2646970667358221220ddd23ac9b0daccd8e2f1f8812e5990e642b2f1271d460a120c6172741bc73cba64736f6c63430008130033","sourceMap":"369:7950:40:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100af5760003560e01c806306fdde03146100b4578063095ea7b3146100d25780631624f6c6146100f557806318160ddd1461010a57806323b872dd1461011c578063313ce5671461012f5780633644e5151461014457806370a082311461014c5780637ecebe001461017557806395d89b4114610195578063a9059cbb1461019d578063d505accf146101b0578063dd62ed3e146101c3575b600080fd5b6100bc6101fc565b6040516100c99190610907565b60405180910390f35b6100e56100e0366004610971565b61028e565b60405190151581526020016100c9565b610108610103366004610a4e565b6102e9565b005b6003545b6040519081526020016100c9565b6100e561012a366004610ac1565b610388565b60025460405160ff90911681526020016100c9565b61010e61048b565b61010e61015a366004610afd565b6001600160a01b031660009081526004602052604090205490565b61010e610183366004610afd565b60086020526000908152604090205481565b6100bc6104b1565b6100e56101ab366004610971565b6104c0565b6101086101be366004610b18565b610545565b61010e6101d1366004610b82565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b60606000805461020b90610bb5565b80601f016020809104026020016040519081016040528092919081815260200182805461023790610bb5565b80156102845780601f1061025957610100808354040283529160200191610284565b820191906000526020600020905b81548152906001019060200180831161026757829003601f168201915b5050505050905090565b3360008181526005602090815260408083206001600160a01b03871680855292528083208590555191929091600080516020610de9833981519152906102d79086815260200190565b60405180910390a35060015b92915050565b60095460ff16156103375760405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b60448201526064015b60405180910390fd5b60006103438482610c3e565b5060016103508382610c3e565b506002805460ff191660ff831617905561036861078b565b6006556103736107a4565b60075550506009805460ff1916600117905550565b6001600160a01b038316600090815260056020908152604080832033845290915281205460001981146103e4576103bf8184610847565b6001600160a01b03861660009081526005602090815260408083203384529091529020555b6001600160a01b0385166000908152600460205260409020546104079084610847565b6001600160a01b03808716600090815260046020526040808220939093559086168152205461043690846108a9565b6001600160a01b038086166000818152600460205260409081902093909355915190871690600080516020610dc9833981519152906104789087815260200190565b60405180910390a3506001949350505050565b600060065461049861078b565b146104aa576104a56107a4565b905090565b5060075490565b60606001805461020b90610bb5565b336000908152600460205260408120546104da9083610847565b33600090815260046020526040808220929092556001600160a01b0385168152205461050690836108a9565b6001600160a01b038416600081815260046020526040908190209290925590513390600080516020610dc9833981519152906102d79086815260200190565b4284101561058f5760405162461bcd60e51b815260206004820152601760248201527614115493525517d11150511312539157d1561412549151604a1b604482015260640161032e565b6000600161059b61048b565b6001600160a01b038a16600090815260086020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d929091906105e983610d13565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e0016040516020818303038152906040528051906020012060405160200161066292919061190160f01b81526002810192909252602282015260420190565b60408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa1580156106c0573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906106f65750876001600160a01b0316816001600160a01b0316145b6107335760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b604482015260640161032e565b6001600160a01b0381811660009081526005602090815260408083208b8516808552908352928190208a90555189815291928b1691600080516020610de9833981519152910160405180910390a35050505050505050565b60006109038061079d63ffffffff8216565b9250505090565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60006040516107d69190610d2c565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc661080761078b565b604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6000818310156108985760405162461bcd60e51b815260206004820152601c60248201527b45524332303a207375627472616374696f6e20756e646572666c6f7760201b604482015260640161032e565b6108a28284610da2565b9392505050565b6000806108b68385610db5565b9050838110156108a25760405162461bcd60e51b815260206004820152601860248201527745524332303a206164646974696f6e206f766572666c6f7760401b604482015260640161032e565b4690565b600060208083528351808285015260005b8181101561093457858101830151858201604001528201610918565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461096c57600080fd5b919050565b6000806040838503121561098457600080fd5b61098d83610955565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126109c257600080fd5b81356001600160401b03808211156109dc576109dc61099b565b604051601f8301601f19908116603f01168101908282118183101715610a0457610a0461099b565b81604052838152866020858801011115610a1d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b803560ff8116811461096c57600080fd5b600080600060608486031215610a6357600080fd5b83356001600160401b0380821115610a7a57600080fd5b610a86878388016109b1565b94506020860135915080821115610a9c57600080fd5b50610aa9868287016109b1565b925050610ab860408501610a3d565b90509250925092565b600080600060608486031215610ad657600080fd5b610adf84610955565b9250610aed60208501610955565b9150604084013590509250925092565b600060208284031215610b0f57600080fd5b6108a282610955565b600080600080600080600060e0888a031215610b3357600080fd5b610b3c88610955565b9650610b4a60208901610955565b95506040880135945060608801359350610b6660808901610a3d565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215610b9557600080fd5b610b9e83610955565b9150610bac60208401610955565b90509250929050565b600181811c90821680610bc957607f821691505b602082108103610be957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610c3957600081815260208120601f850160051c81016020861015610c165750805b601f850160051c820191505b81811015610c3557828155600101610c22565b5050505b505050565b81516001600160401b03811115610c5757610c5761099b565b610c6b81610c658454610bb5565b84610bef565b602080601f831160018114610ca05760008415610c885750858301515b600019600386901b1c1916600185901b178555610c35565b600085815260208120601f198616915b82811015610ccf57888601518255948401946001909101908401610cb0565b5085821015610ced5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600060018201610d2557610d25610cfd565b5060010190565b6000808354610d3a81610bb5565b60018281168015610d525760018114610d6757610d96565b60ff1984168752821515830287019450610d96565b8760005260208060002060005b85811015610d8d5781548a820152908401908201610d74565b50505082870194505b50929695505050505050565b818103818111156102e3576102e3610cfd565b808201808211156102e3576102e3610cfd56feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a2646970667358221220ddd23ac9b0daccd8e2f1f8812e5990e642b2f1271d460a120c6172741bc73cba64736f6c63430008130033","sourceMap":"369:7950:40:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;677:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3057:221;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:142;;1162:22;1144:41;;1132:2;1117:18;3057:221:40;1004:187:142;2504:365:40;;;;;;:::i;:::-;;:::i;:::-;;1322:100;1403:12;;1322:100;;;2977:25:142;;;2965:2;2950:18;1322:100:40;2831:177:142;3578:472:40;;;;;;:::i;:::-;;:::i;877:92::-;953:9;;877:92;;953:9;;;;3488:36:142;;3476:2;3461:18;877:92:40;3346:184:142;5427:178:40;;;:::i;1428:116::-;;;;;;:::i;:::-;-1:-1:-1;;;;;1520:17:40;1494:7;1520:17;;;:10;:17;;;;;;;1428:116;1970:41;;;;;;:::i;:::-;;;;;;;;;;;;;;775:96;;;:::i;3284:288::-;;;;;;:::i;:::-;;:::i;4239:1182::-;;;;;;:::i;:::-;;:::i;1550:142::-;;;;;;:::i;:::-;-1:-1:-1;;;;;1659:17:40;;;1633:7;1659:17;;;:10;:17;;;;;;;;:26;;;;;;;;;;;;;1550:142;677:92;725:13;757:5;750:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;677:92;:::o;3057:221::-;3167:10;3140:4;3156:22;;;:10;:22;;;;;;;;-1:-1:-1;;;;;3156:31:40;;;;;;;;;;:40;;;3212:37;3140:4;;3156:31;;-1:-1:-1;;;;;;;;;;;3212:37:40;;;3190:6;2977:25:142;;2965:2;2950:18;;2831:177;3212:37:40;;;;;;;;-1:-1:-1;3267:4:40;3057:221;;;;;:::o;2504:365::-;2611:11;;;;2610:12;2602:44;;;;-1:-1:-1;;;2602:44:40;;5371:2:142;2602:44:40;;;5353:21:142;5410:2;5390:18;;;5383:30;-1:-1:-1;;;5429:18:142;;;5422:49;5488:18;;2602:44:40;;;;;;;;;2657:5;:13;2665:5;2657;:13;:::i;:::-;-1:-1:-1;2680:7:40;:17;2690:7;2680;:17;:::i;:::-;-1:-1:-1;2707:9:40;:21;;-1:-1:-1;;2707:21:40;;;;;;;2758:14;:12;:14::i;:::-;2739:16;:33;2809:24;:22;:24::i;:::-;2782;:51;-1:-1:-1;;2844:11:40;:18;;-1:-1:-1;;2844:18:40;2858:4;2844:18;;;-1:-1:-1;2504:365:40:o;3578:472::-;-1:-1:-1;;;;;3709:16:40;;3675:4;3709:16;;;:10;:16;;;;;;;;3726:10;3709:28;;;;;;;;-1:-1:-1;;3788:22:40;;3784:80;;3843:21;3848:7;3857:6;3843:4;:21::i;:::-;-1:-1:-1;;;;;3812:16:40;;;;;;:10;:16;;;;;;;;3829:10;3812:28;;;;;;;:52;3784:80;-1:-1:-1;;;;;3899:16:40;;;;;;:10;:16;;;;;;3894:30;;3917:6;3894:4;:30::i;:::-;-1:-1:-1;;;;;3875:16:40;;;;;;;:10;:16;;;;;;:49;;;;3956:14;;;;;;;3951:28;;3972:6;3951:4;:28::i;:::-;-1:-1:-1;;;;;3934:14:40;;;;;;;:10;:14;;;;;;;:45;;;;3995:26;;;;;;-1:-1:-1;;;;;;;;;;;3995:26:40;;;4014:6;2977:25:142;;2965:2;2950:18;;2831:177;3995:26:40;;;;;;;;-1:-1:-1;4039:4:40;;3578:472;-1:-1:-1;;;;3578:472:40:o;5427:178::-;5484:7;5528:16;;5510:14;:12;:14::i;:::-;:34;:88;;5574:24;:22;:24::i;:::-;5503:95;;5427:178;:::o;5510:88::-;-1:-1:-1;5547:24:40;;;5427:178::o;775:96::-;825:13;857:7;850:14;;;;;:::i;3284:288::-;3420:10;3363:4;3409:22;;;:10;:22;;;;;;3404:36;;3433:6;3404:4;:36::i;:::-;3390:10;3379:22;;;;:10;:22;;;;;;:61;;;;-1:-1:-1;;;;;3472:14:40;;;;;;3467:28;;3488:6;3467:4;:28::i;:::-;-1:-1:-1;;;;;3450:14:40;;;;;;:10;:14;;;;;;;:45;;;;3511:32;;3520:10;;-1:-1:-1;;;;;;;;;;;3511:32:40;;;3536:6;2977:25:142;;2965:2;2950:18;;2831:177;4239:1182:40;4416:15;4404:8;:27;;4396:63;;;;-1:-1:-1;;;4396:63:40;;7923:2:142;4396:63:40;;;7905:21:142;7962:2;7942:18;;;7935:30;-1:-1:-1;;;7981:18:142;;;7974:53;8044:18;;4396:63:40;7721:347:142;4396:63:40;4470:24;4497:717;4617:18;:16;:18::i;:::-;-1:-1:-1;;;;;5026:13:40;;;;;;:6;:13;;;;;:15;;4732:157;;4919:5;;4954:7;;4991:5;;5026:15;;:13;:15;;;:::i;:::-;;;;-1:-1:-1;4692:413:40;;;;;;8632:25:142;;;;-1:-1:-1;;;;;8731:15:142;;;8711:18;;;8704:43;8783:15;;;;8763:18;;;8756:43;8815:18;;;8808:34;8858:19;;;8851:35;8902:19;;;8895:35;;;8604:19;;4692:413:40;;;;;;;;;;;;4657:470;;;;;;4547:598;;;;;;;;-1:-1:-1;;;9199:27:142;;9251:1;9242:11;;9235:27;;;;9287:2;9278:12;;9271:28;9324:2;9315:12;;8941:392;4547:598:40;;;;-1:-1:-1;;4547:598:40;;;;;;;;;4520:639;;4547:598;4520:639;;;;4497:717;;;;;;;;;9565:25:142;9638:4;9626:17;;9606:18;;;9599:45;9660:18;;;9653:34;;;9703:18;;;9696:34;;;9537:19;;4497:717:40;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4497:717:40;;-1:-1:-1;;4497:717:40;;;-1:-1:-1;;;;;;;5233:30:40;;;;;;:59;;;5287:5;-1:-1:-1;;;;;5267:25:40;:16;-1:-1:-1;;;;;5267:25:40;;5233:59;5225:86;;;;-1:-1:-1;;;5225:86:40;;9943:2:142;5225:86:40;;;9925:21:142;9982:2;9962:18;;;9955:30;-1:-1:-1;;;10001:18:142;;;9994:44;10055:18;;5225:86:40;9741:338:142;5225:86:40;-1:-1:-1;;;;;5322:28:40;;;;;;;:10;:28;;;;;;;;:37;;;;;;;;;;;;;:45;;;5383:31;2977:25:142;;;5322:37:40;;5383:31;;;-1:-1:-1;;;;;;;;;;;5383:31:40;2950:18:142;5383:31:40;;;;;;;4386:1035;4239:1182;;;;;;;:::o;8017:300::-;8063:15;8140:12;;8297:13;;;;:::i;:::-;8287:23;;8080:237;;8017:300;:::o;5611:404::-;5676:7;5753:95;5882:5;5866:23;;;;;;:::i;:::-;;;;;;;;5907:14;5939;:12;:14::i;:::-;5725:273;;;;;;11192:25:142;;;;11233:18;;11226:34;;;;11276:18;;;11269:34;11319:18;;;11312:34;5979:4:40;11362:19:142;;;11355:61;11164:19;;5725:273:40;;;;;;;;;;;;5702:306;;;;;;5695:313;;5611:404;:::o;7038:154::-;7097:7;7129:1;7124;:6;;7116:47;;;;-1:-1:-1;;;7116:47:40;;11629:2:142;7116:47:40;;;11611:21:142;11668:2;11648:18;;;11641:30;-1:-1:-1;;;11687:18:142;;;11680:58;11755:18;;7116:47:40;11427:352:142;7116:47:40;7180:5;7184:1;7180;:5;:::i;:::-;7173:12;7038:154;-1:-1:-1;;;7038:154:40:o;6859:173::-;6918:7;;6949:5;6953:1;6949;:5;:::i;:::-;6937:17;;6977:1;6972;:6;;6964:43;;;;-1:-1:-1;;;6964:43:40;;12249:2:142;6964:43:40;;;12231:21:142;12288:2;12268:18;;;12261:30;-1:-1:-1;;;12307:18:142;;;12300:54;12371:18;;6964:43:40;12047:348:142;7735:276:40;7918:9;;7735:276::o;14:548:142:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:142;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:142:o;1196:127::-;1257:10;1252:3;1248:20;1245:1;1238:31;1288:4;1285:1;1278:15;1312:4;1309:1;1302:15;1328:719;1371:5;1424:3;1417:4;1409:6;1405:17;1401:27;1391:55;;1442:1;1439;1432:12;1391:55;1465:20;;-1:-1:-1;;;;;1534:10:142;;;1531:36;;;1547:18;;:::i;:::-;1622:2;1616:9;1590:2;1676:13;;-1:-1:-1;;1672:22:142;;;1696:2;1668:31;1664:40;1652:53;;;1720:18;;;1740:22;;;1717:46;1714:72;;;1766:18;;:::i;:::-;1806:10;1802:2;1795:22;1841:2;1833:6;1826:18;1887:3;1880:4;1875:2;1867:6;1863:15;1859:26;1856:35;1853:55;;;1904:1;1901;1894:12;1853:55;1968:2;1961:4;1953:6;1949:17;1942:4;1934:6;1930:17;1917:54;2015:1;2008:4;2003:2;1995:6;1991:15;1987:26;1980:37;2035:6;2026:15;;;;;;1328:719;;;;:::o;2052:156::-;2118:20;;2178:4;2167:16;;2157:27;;2147:55;;2198:1;2195;2188:12;2213:613;2308:6;2316;2324;2377:2;2365:9;2356:7;2352:23;2348:32;2345:52;;;2393:1;2390;2383:12;2345:52;2420:23;;-1:-1:-1;;;;;2492:14:142;;;2489:34;;;2519:1;2516;2509:12;2489:34;2542:50;2584:7;2575:6;2564:9;2560:22;2542:50;:::i;:::-;2532:60;;2645:2;2634:9;2630:18;2617:32;2601:48;;2674:2;2664:8;2661:16;2658:36;;;2690:1;2687;2680:12;2658:36;;2713:52;2757:7;2746:8;2735:9;2731:24;2713:52;:::i;:::-;2703:62;;;2784:36;2816:2;2805:9;2801:18;2784:36;:::i;:::-;2774:46;;2213:613;;;;;:::o;3013:328::-;3090:6;3098;3106;3159:2;3147:9;3138:7;3134:23;3130:32;3127:52;;;3175:1;3172;3165:12;3127:52;3198:29;3217:9;3198:29;:::i;:::-;3188:39;;3246:38;3280:2;3269:9;3265:18;3246:38;:::i;:::-;3236:48;;3331:2;3320:9;3316:18;3303:32;3293:42;;3013:328;;;;;:::o;3717:186::-;3776:6;3829:2;3817:9;3808:7;3804:23;3800:32;3797:52;;;3845:1;3842;3835:12;3797:52;3868:29;3887:9;3868:29;:::i;3908:606::-;4019:6;4027;4035;4043;4051;4059;4067;4120:3;4108:9;4099:7;4095:23;4091:33;4088:53;;;4137:1;4134;4127:12;4088:53;4160:29;4179:9;4160:29;:::i;:::-;4150:39;;4208:38;4242:2;4231:9;4227:18;4208:38;:::i;:::-;4198:48;;4293:2;4282:9;4278:18;4265:32;4255:42;;4344:2;4333:9;4329:18;4316:32;4306:42;;4367:37;4399:3;4388:9;4384:19;4367:37;:::i;:::-;4357:47;;4451:3;4440:9;4436:19;4423:33;4413:43;;4503:3;4492:9;4488:19;4475:33;4465:43;;3908:606;;;;;;;;;;:::o;4519:260::-;4587:6;4595;4648:2;4636:9;4627:7;4623:23;4619:32;4616:52;;;4664:1;4661;4654:12;4616:52;4687:29;4706:9;4687:29;:::i;:::-;4677:39;;4735:38;4769:2;4758:9;4754:18;4735:38;:::i;:::-;4725:48;;4519:260;;;;;:::o;4784:380::-;4863:1;4859:12;;;;4906;;;4927:61;;4981:4;4973:6;4969:17;4959:27;;4927:61;5034:2;5026:6;5023:14;5003:18;5000:38;4997:161;;5080:10;5075:3;5071:20;5068:1;5061:31;5115:4;5112:1;5105:15;5143:4;5140:1;5133:15;4997:161;;4784:380;;;:::o;5643:545::-;5745:2;5740:3;5737:11;5734:448;;;5781:1;5806:5;5802:2;5795:17;5851:4;5847:2;5837:19;5921:2;5909:10;5905:19;5902:1;5898:27;5892:4;5888:38;5957:4;5945:10;5942:20;5939:47;;;-1:-1:-1;5980:4:142;5939:47;6035:2;6030:3;6026:12;6023:1;6019:20;6013:4;6009:31;5999:41;;6090:82;6108:2;6101:5;6098:13;6090:82;;;6153:17;;;6134:1;6123:13;6090:82;;;6094:3;;;5734:448;5643:545;;;:::o;6364:1352::-;6484:10;;-1:-1:-1;;;;;6506:30:142;;6503:56;;;6539:18;;:::i;:::-;6568:97;6658:6;6618:38;6650:4;6644:11;6618:38;:::i;:::-;6612:4;6568:97;:::i;:::-;6720:4;;6784:2;6773:14;;6801:1;6796:663;;;;7503:1;7520:6;7517:89;;;-1:-1:-1;7572:19:142;;;7566:26;7517:89;-1:-1:-1;;6321:1:142;6317:11;;;6313:24;6309:29;6299:40;6345:1;6341:11;;;6296:57;7619:81;;6766:944;;6796:663;5590:1;5583:14;;;5627:4;5614:18;;-1:-1:-1;;6832:20:142;;;6950:236;6964:7;6961:1;6958:14;6950:236;;;7053:19;;;7047:26;7032:42;;7145:27;;;;7113:1;7101:14;;;;6980:19;;6950:236;;;6954:3;7214:6;7205:7;7202:19;7199:201;;;7275:19;;;7269:26;-1:-1:-1;;7358:1:142;7354:14;;;7370:3;7350:24;7346:37;7342:42;7327:58;7312:74;;7199:201;-1:-1:-1;;;;;7446:1:142;7430:14;;;7426:22;7413:36;;-1:-1:-1;6364:1352:142:o;8073:127::-;8134:10;8129:3;8125:20;8122:1;8115:31;8165:4;8162:1;8155:15;8189:4;8186:1;8179:15;8205:135;8244:3;8265:17;;;8262:43;;8285:18;;:::i;:::-;-1:-1:-1;8332:1:142;8321:13;;8205:135::o;10084:844::-;10214:3;10243:1;10276:6;10270:13;10306:36;10332:9;10306:36;:::i;:::-;10361:1;10378:18;;;10405:133;;;;10552:1;10547:356;;;;10371:532;;10405:133;-1:-1:-1;;10438:24:142;;10426:37;;10511:14;;10504:22;10492:35;;10483:45;;;-1:-1:-1;10405:133:142;;10547:356;10578:6;10575:1;10568:17;10608:4;10653:2;10650:1;10640:16;10678:1;10692:165;10706:6;10703:1;10700:13;10692:165;;;10784:14;;10771:11;;;10764:35;10827:16;;;;10721:10;;10692:165;;;10696:3;;;10886:6;10881:3;10877:16;10870:23;;10371:532;-1:-1:-1;10919:3:142;;10084:844;-1:-1:-1;;;;;;10084:844:142:o;11784:128::-;11851:9;;;11872:11;;;11869:37;;;11886:18;;:::i;11917:125::-;11982:9;;;12003:10;;;12000:36;;;12016:18;;:::i","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","initialize(string,string,uint8)":"1624f6c6","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC20.sol\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set, where `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`).\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\"},\"initialize(string,string,uint8)\":{\"details\":\"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once.\"}},\"stateVariables\":{\"initialized\":{\"details\":\"A bool to track whether the contract has been initialized.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allowance(address,address)\":{\"notice\":\"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`\"},\"approve(address,uint256)\":{\"notice\":\"Sets `amount` as the allowance of `spender` over the caller's tokens.\"},\"decimals()\":{\"notice\":\"Returns the decimals places of the token.\"},\"name()\":{\"notice\":\"Returns the name of the token.\"},\"symbol()\":{\"notice\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"notice\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"notice\":\"Moves `amount` tokens from the caller's account to `to`.\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance.\"}},\"notice\":\"This is a mock contract of the ERC20 standard for testing purposes only, it SHOULD NOT be used in production.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/mocks/MockERC20.sol\":\"MockERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"},"initialize(string,string,uint8)":{"details":"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once."}},"version":1},"userdoc":{"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`"},"approve(address,uint256)":{"notice":"Sets `amount` as the allowance of `spender` over the caller's tokens."},"decimals()":{"notice":"Returns the decimals places of the token."},"name()":{"notice":"Returns the name of the token."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"notice":"Moves `amount` tokens from the caller's account to `to`."},"transferFrom(address,address,uint256)":{"notice":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/mocks/MockERC20.sol":"MockERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":38098,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":38100,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":38102,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_decimals","offset":0,"slot":"2","type":"t_uint8"},{"astId":38131,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_totalSupply","offset":0,"slot":"3","type":"t_uint256"},{"astId":38135,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_balanceOf","offset":0,"slot":"4","type":"t_mapping(t_address,t_uint256)"},{"astId":38141,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_allowance","offset":0,"slot":"5","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":38182,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"INITIAL_CHAIN_ID","offset":0,"slot":"6","type":"t_uint256"},{"astId":38184,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"INITIAL_DOMAIN_SEPARATOR","offset":0,"slot":"7","type":"t_bytes32"},{"astId":38188,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"nonces","offset":0,"slot":"8","type":"t_mapping(t_address,t_uint256)"},{"astId":38191,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"initialized","offset":0,"slot":"9","type":"t_bool"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"lib/forge-std/src/mocks/MockERC20.sol","id":38667,"exportedSymbols":{"IERC20":[37742],"MockERC20":[38666]},"nodeType":"SourceUnit","src":"32:8288:40","nodes":[{"id":38091,"nodeType":"PragmaDirective","src":"32:31:40","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":38093,"nodeType":"ImportDirective","src":"65:48:40","nodes":[],"absolutePath":"lib/forge-std/src/interfaces/IERC20.sol","file":"../interfaces/IERC20.sol","nameLocation":"-1:-1:-1","scope":38667,"sourceUnit":37743,"symbolAliases":[{"foreign":{"id":38092,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37742,"src":"73:6:40","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":38666,"nodeType":"ContractDefinition","src":"369:7950:40","nodes":[{"id":38098,"nodeType":"VariableDeclaration","src":"588:21:40","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"604:5:40","scope":38666,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":38097,"name":"string","nodeType":"ElementaryTypeName","src":"588:6:40","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":38100,"nodeType":"VariableDeclaration","src":"616:23:40","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"632:7:40","scope":38666,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":38099,"name":"string","nodeType":"ElementaryTypeName","src":"616:6:40","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":38102,"nodeType":"VariableDeclaration","src":"646:24:40","nodes":[],"constant":false,"mutability":"mutable","name":"_decimals","nameLocation":"661:9:40","scope":38666,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":38101,"name":"uint8","nodeType":"ElementaryTypeName","src":"646:5:40","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"id":38111,"nodeType":"FunctionDefinition","src":"677:92:40","nodes":[],"body":{"id":38110,"nodeType":"Block","src":"740:29:40","nodes":[],"statements":[{"expression":{"id":38108,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38098,"src":"757:5:40","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":38107,"id":38109,"nodeType":"Return","src":"750:12:40"}]},"baseFunctions":[37729],"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"686:4:40","overrides":{"id":38104,"nodeType":"OverrideSpecifier","overrides":[],"src":"707:8:40"},"parameters":{"id":38103,"nodeType":"ParameterList","parameters":[],"src":"690:2:40"},"returnParameters":{"id":38107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38106,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38111,"src":"725:13:40","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38105,"name":"string","nodeType":"ElementaryTypeName","src":"725:6:40","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"724:15:40"},"scope":38666,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38120,"nodeType":"FunctionDefinition","src":"775:96:40","nodes":[],"body":{"id":38119,"nodeType":"Block","src":"840:31:40","nodes":[],"statements":[{"expression":{"id":38117,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38100,"src":"857:7:40","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":38116,"id":38118,"nodeType":"Return","src":"850:14:40"}]},"baseFunctions":[37735],"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"784:6:40","overrides":{"id":38113,"nodeType":"OverrideSpecifier","overrides":[],"src":"807:8:40"},"parameters":{"id":38112,"nodeType":"ParameterList","parameters":[],"src":"790:2:40"},"returnParameters":{"id":38116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38115,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38120,"src":"825:13:40","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38114,"name":"string","nodeType":"ElementaryTypeName","src":"825:6:40","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"824:15:40"},"scope":38666,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38129,"nodeType":"FunctionDefinition","src":"877:92:40","nodes":[],"body":{"id":38128,"nodeType":"Block","src":"936:33:40","nodes":[],"statements":[{"expression":{"id":38126,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38102,"src":"953:9:40","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":38125,"id":38127,"nodeType":"Return","src":"946:16:40"}]},"baseFunctions":[37741],"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"886:8:40","overrides":{"id":38122,"nodeType":"OverrideSpecifier","overrides":[],"src":"911:8:40"},"parameters":{"id":38121,"nodeType":"ParameterList","parameters":[],"src":"894:2:40"},"returnParameters":{"id":38125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38124,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38129,"src":"929:5:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":38123,"name":"uint8","nodeType":"ElementaryTypeName","src":"929:5:40","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"928:7:40"},"scope":38666,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38131,"nodeType":"VariableDeclaration","src":"1158:29:40","nodes":[],"constant":false,"mutability":"mutable","name":"_totalSupply","nameLocation":"1175:12:40","scope":38666,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38130,"name":"uint256","nodeType":"ElementaryTypeName","src":"1158:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":38135,"nodeType":"VariableDeclaration","src":"1194:47:40","nodes":[],"constant":false,"mutability":"mutable","name":"_balanceOf","nameLocation":"1231:10:40","scope":38666,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":38134,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38132,"name":"address","nodeType":"ElementaryTypeName","src":"1202:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1194:27:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38133,"name":"uint256","nodeType":"ElementaryTypeName","src":"1213:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"id":38141,"nodeType":"VariableDeclaration","src":"1248:67:40","nodes":[],"constant":false,"mutability":"mutable","name":"_allowance","nameLocation":"1305:10:40","scope":38666,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":38140,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38136,"name":"address","nodeType":"ElementaryTypeName","src":"1256:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1248:47:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38139,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38137,"name":"address","nodeType":"ElementaryTypeName","src":"1275:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1267:27:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38138,"name":"uint256","nodeType":"ElementaryTypeName","src":"1286:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"internal"},{"id":38150,"nodeType":"FunctionDefinition","src":"1322:100:40","nodes":[],"body":{"id":38149,"nodeType":"Block","src":"1386:36:40","nodes":[],"statements":[{"expression":{"id":38147,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38131,"src":"1403:12:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38146,"id":38148,"nodeType":"Return","src":"1396:19:40"}]},"baseFunctions":[37673],"functionSelector":"18160ddd","implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"1331:11:40","overrides":{"id":38143,"nodeType":"OverrideSpecifier","overrides":[],"src":"1359:8:40"},"parameters":{"id":38142,"nodeType":"ParameterList","parameters":[],"src":"1342:2:40"},"returnParameters":{"id":38146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38145,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38150,"src":"1377:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38144,"name":"uint256","nodeType":"ElementaryTypeName","src":"1377:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1376:9:40"},"scope":38666,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38163,"nodeType":"FunctionDefinition","src":"1428:116:40","nodes":[],"body":{"id":38162,"nodeType":"Block","src":"1503:41:40","nodes":[],"statements":[{"expression":{"baseExpression":{"id":38158,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38135,"src":"1520:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38160,"indexExpression":{"id":38159,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38152,"src":"1531:5:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1520:17:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38157,"id":38161,"nodeType":"Return","src":"1513:24:40"}]},"baseFunctions":[37681],"functionSelector":"70a08231","implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"1437:9:40","overrides":{"id":38154,"nodeType":"OverrideSpecifier","overrides":[],"src":"1476:8:40"},"parameters":{"id":38153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38152,"mutability":"mutable","name":"owner","nameLocation":"1455:5:40","nodeType":"VariableDeclaration","scope":38163,"src":"1447:13:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38151,"name":"address","nodeType":"ElementaryTypeName","src":"1447:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1446:15:40"},"returnParameters":{"id":38157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38156,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38163,"src":"1494:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38155,"name":"uint256","nodeType":"ElementaryTypeName","src":"1494:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1493:9:40"},"scope":38666,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38180,"nodeType":"FunctionDefinition","src":"1550:142:40","nodes":[],"body":{"id":38179,"nodeType":"Block","src":"1642:50:40","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":38173,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38141,"src":"1659:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38175,"indexExpression":{"id":38174,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38165,"src":"1670:5:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1659:17:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38177,"indexExpression":{"id":38176,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38167,"src":"1677:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1659:26:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38172,"id":38178,"nodeType":"Return","src":"1652:33:40"}]},"baseFunctions":[37701],"functionSelector":"dd62ed3e","implemented":true,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1559:9:40","overrides":{"id":38169,"nodeType":"OverrideSpecifier","overrides":[],"src":"1615:8:40"},"parameters":{"id":38168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38165,"mutability":"mutable","name":"owner","nameLocation":"1577:5:40","nodeType":"VariableDeclaration","scope":38180,"src":"1569:13:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38164,"name":"address","nodeType":"ElementaryTypeName","src":"1569:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38167,"mutability":"mutable","name":"spender","nameLocation":"1592:7:40","nodeType":"VariableDeclaration","scope":38180,"src":"1584:15:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38166,"name":"address","nodeType":"ElementaryTypeName","src":"1584:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1568:32:40"},"returnParameters":{"id":38172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38171,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38180,"src":"1633:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38170,"name":"uint256","nodeType":"ElementaryTypeName","src":"1633:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1632:9:40"},"scope":38666,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38182,"nodeType":"VariableDeclaration","src":"1882:33:40","nodes":[],"constant":false,"mutability":"mutable","name":"INITIAL_CHAIN_ID","nameLocation":"1899:16:40","scope":38666,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38181,"name":"uint256","nodeType":"ElementaryTypeName","src":"1882:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":38184,"nodeType":"VariableDeclaration","src":"1922:41:40","nodes":[],"constant":false,"mutability":"mutable","name":"INITIAL_DOMAIN_SEPARATOR","nameLocation":"1939:24:40","scope":38666,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38183,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1922:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":38188,"nodeType":"VariableDeclaration","src":"1970:41:40","nodes":[],"constant":false,"functionSelector":"7ecebe00","mutability":"mutable","name":"nonces","nameLocation":"2005:6:40","scope":38666,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":38187,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38185,"name":"address","nodeType":"ElementaryTypeName","src":"1978:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1970:27:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38186,"name":"uint256","nodeType":"ElementaryTypeName","src":"1989:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":38191,"nodeType":"VariableDeclaration","src":"2271:24:40","nodes":[],"constant":false,"documentation":{"id":38189,"nodeType":"StructuredDocumentation","src":"2199:67:40","text":"@dev A bool to track whether the contract has been initialized."},"mutability":"mutable","name":"initialized","nameLocation":"2284:11:40","scope":38666,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38190,"name":"bool","nodeType":"ElementaryTypeName","src":"2271:4:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":38234,"nodeType":"FunctionDefinition","src":"2504:365:40","nodes":[],"body":{"id":38233,"nodeType":"Block","src":"2592:277:40","nodes":[],"statements":[{"expression":{"arguments":[{"id":38203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2610:12:40","subExpression":{"id":38202,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38191,"src":"2611:11:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"414c52454144595f494e495449414c495a4544","id":38204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2624:21:40","typeDescriptions":{"typeIdentifier":"t_stringliteral_241395e6b20092ec3fd5dfc22ea70fc2615c08854b7fd10fb3028d965cf738f3","typeString":"literal_string \"ALREADY_INITIALIZED\""},"value":"ALREADY_INITIALIZED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_241395e6b20092ec3fd5dfc22ea70fc2615c08854b7fd10fb3028d965cf738f3","typeString":"literal_string \"ALREADY_INITIALIZED\""}],"id":38201,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2602:7:40","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2602:44:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38206,"nodeType":"ExpressionStatement","src":"2602:44:40"},{"expression":{"id":38209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38207,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38098,"src":"2657:5:40","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38208,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38194,"src":"2665:5:40","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2657:13:40","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":38210,"nodeType":"ExpressionStatement","src":"2657:13:40"},{"expression":{"id":38213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38211,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38100,"src":"2680:7:40","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38212,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38196,"src":"2690:7:40","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2680:17:40","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":38214,"nodeType":"ExpressionStatement","src":"2680:17:40"},{"expression":{"id":38217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38215,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38102,"src":"2707:9:40","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38216,"name":"decimals_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38198,"src":"2719:9:40","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"2707:21:40","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":38218,"nodeType":"ExpressionStatement","src":"2707:21:40"},{"expression":{"id":38222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38219,"name":"INITIAL_CHAIN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38182,"src":"2739:16:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":38220,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38665,"src":"2758:12:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":38221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2758:14:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2739:33:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38223,"nodeType":"ExpressionStatement","src":"2739:33:40"},{"expression":{"id":38227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38224,"name":"INITIAL_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38184,"src":"2782:24:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":38225,"name":"computeDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38510,"src":"2809:22:40","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":38226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2809:24:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2782:51:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":38228,"nodeType":"ExpressionStatement","src":"2782:51:40"},{"expression":{"id":38231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38229,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38191,"src":"2844:11:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":38230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2858:4:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2844:18:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":38232,"nodeType":"ExpressionStatement","src":"2844:18:40"}]},"documentation":{"id":38192,"nodeType":"StructuredDocumentation","src":"2302:197:40","text":"@dev To hide constructor warnings across solc versions due to different constructor visibility requirements and\n syntaxes, we add an initialization function that can be called only once."},"functionSelector":"1624f6c6","implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"2513:10:40","parameters":{"id":38199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38194,"mutability":"mutable","name":"name_","nameLocation":"2538:5:40","nodeType":"VariableDeclaration","scope":38234,"src":"2524:19:40","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38193,"name":"string","nodeType":"ElementaryTypeName","src":"2524:6:40","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":38196,"mutability":"mutable","name":"symbol_","nameLocation":"2559:7:40","nodeType":"VariableDeclaration","scope":38234,"src":"2545:21:40","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38195,"name":"string","nodeType":"ElementaryTypeName","src":"2545:6:40","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":38198,"mutability":"mutable","name":"decimals_","nameLocation":"2574:9:40","nodeType":"VariableDeclaration","scope":38234,"src":"2568:15:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":38197,"name":"uint8","nodeType":"ElementaryTypeName","src":"2568:5:40","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2523:61:40"},"returnParameters":{"id":38200,"nodeType":"ParameterList","parameters":[],"src":"2592:0:40"},"scope":38666,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":38263,"nodeType":"FunctionDefinition","src":"3057:221:40","nodes":[],"body":{"id":38262,"nodeType":"Block","src":"3146:132:40","nodes":[],"statements":[{"expression":{"id":38251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":38244,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38141,"src":"3156:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38248,"indexExpression":{"expression":{"id":38245,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3167:3:40","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3171:6:40","memberName":"sender","nodeType":"MemberAccess","src":"3167:10:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3156:22:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38249,"indexExpression":{"id":38247,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38236,"src":"3179:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3156:31:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38250,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38238,"src":"3190:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3156:40:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38252,"nodeType":"ExpressionStatement","src":"3156:40:40"},{"eventCall":{"arguments":[{"expression":{"id":38254,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3221:3:40","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3225:6:40","memberName":"sender","nodeType":"MemberAccess","src":"3221:10:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38256,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38236,"src":"3233:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38257,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38238,"src":"3242:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38253,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37667,"src":"3212:8:40","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3212:37:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38259,"nodeType":"EmitStatement","src":"3207:42:40"},{"expression":{"hexValue":"74727565","id":38260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3267:4:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":38243,"id":38261,"nodeType":"Return","src":"3260:11:40"}]},"baseFunctions":[37711],"functionSelector":"095ea7b3","implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"3066:7:40","overrides":{"id":38240,"nodeType":"OverrideSpecifier","overrides":[],"src":"3122:8:40"},"parameters":{"id":38239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38236,"mutability":"mutable","name":"spender","nameLocation":"3082:7:40","nodeType":"VariableDeclaration","scope":38263,"src":"3074:15:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38235,"name":"address","nodeType":"ElementaryTypeName","src":"3074:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38238,"mutability":"mutable","name":"amount","nameLocation":"3099:6:40","nodeType":"VariableDeclaration","scope":38263,"src":"3091:14:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38237,"name":"uint256","nodeType":"ElementaryTypeName","src":"3091:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3073:33:40"},"returnParameters":{"id":38243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38242,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38263,"src":"3140:4:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38241,"name":"bool","nodeType":"ElementaryTypeName","src":"3140:4:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3139:6:40"},"scope":38666,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":38307,"nodeType":"FunctionDefinition","src":"3284:288:40","nodes":[],"body":{"id":38306,"nodeType":"Block","src":"3369:203:40","nodes":[],"statements":[{"expression":{"id":38284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38273,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38135,"src":"3379:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38276,"indexExpression":{"expression":{"id":38274,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3390:3:40","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3394:6:40","memberName":"sender","nodeType":"MemberAccess","src":"3390:10:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3379:22:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38278,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38135,"src":"3409:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38281,"indexExpression":{"expression":{"id":38279,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3420:3:40","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3424:6:40","memberName":"sender","nodeType":"MemberAccess","src":"3420:10:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3409:22:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38282,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38267,"src":"3433:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38277,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38626,"src":"3404:4:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3404:36:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3379:61:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38285,"nodeType":"ExpressionStatement","src":"3379:61:40"},{"expression":{"id":38295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38286,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38135,"src":"3450:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38288,"indexExpression":{"id":38287,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38265,"src":"3461:2:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3450:14:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38290,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38135,"src":"3472:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38292,"indexExpression":{"id":38291,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38265,"src":"3483:2:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3472:14:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38293,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38267,"src":"3488:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38289,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38605,"src":"3467:4:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3467:28:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3450:45:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38296,"nodeType":"ExpressionStatement","src":"3450:45:40"},{"eventCall":{"arguments":[{"expression":{"id":38298,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3520:3:40","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3524:6:40","memberName":"sender","nodeType":"MemberAccess","src":"3520:10:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38300,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38265,"src":"3532:2:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38301,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38267,"src":"3536:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38297,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37658,"src":"3511:8:40","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3511:32:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38303,"nodeType":"EmitStatement","src":"3506:37:40"},{"expression":{"hexValue":"74727565","id":38304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3561:4:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":38272,"id":38305,"nodeType":"Return","src":"3554:11:40"}]},"baseFunctions":[37691],"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"3293:8:40","overrides":{"id":38269,"nodeType":"OverrideSpecifier","overrides":[],"src":"3345:8:40"},"parameters":{"id":38268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38265,"mutability":"mutable","name":"to","nameLocation":"3310:2:40","nodeType":"VariableDeclaration","scope":38307,"src":"3302:10:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38264,"name":"address","nodeType":"ElementaryTypeName","src":"3302:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38267,"mutability":"mutable","name":"amount","nameLocation":"3322:6:40","nodeType":"VariableDeclaration","scope":38307,"src":"3314:14:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38266,"name":"uint256","nodeType":"ElementaryTypeName","src":"3314:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3301:28:40"},"returnParameters":{"id":38272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38271,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38307,"src":"3363:4:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38270,"name":"bool","nodeType":"ElementaryTypeName","src":"3363:4:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3362:6:40"},"scope":38666,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":38379,"nodeType":"FunctionDefinition","src":"3578:472:40","nodes":[],"body":{"id":38378,"nodeType":"Block","src":"3681:369:40","nodes":[],"statements":[{"assignments":[38320],"declarations":[{"constant":false,"id":38320,"mutability":"mutable","name":"allowed","nameLocation":"3699:7:40","nodeType":"VariableDeclaration","scope":38378,"src":"3691:15:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38319,"name":"uint256","nodeType":"ElementaryTypeName","src":"3691:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":38327,"initialValue":{"baseExpression":{"baseExpression":{"id":38321,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38141,"src":"3709:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38323,"indexExpression":{"id":38322,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38309,"src":"3720:4:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3709:16:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38326,"indexExpression":{"expression":{"id":38324,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3726:3:40","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3730:6:40","memberName":"sender","nodeType":"MemberAccess","src":"3726:10:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3709:28:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3691:46:40"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38328,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38320,"src":"3788:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":38333,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3799:11:40","subExpression":{"arguments":[{"hexValue":"30","id":38331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3808:1:40","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":38330,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3800:7:40","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":38329,"name":"uint256","nodeType":"ElementaryTypeName","src":"3800:7:40","typeDescriptions":{}}},"id":38332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3800:10:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3788:22:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":38347,"nodeType":"IfStatement","src":"3784:80:40","trueBody":{"expression":{"id":38345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":38335,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38141,"src":"3812:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38339,"indexExpression":{"id":38336,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38309,"src":"3823:4:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3812:16:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38340,"indexExpression":{"expression":{"id":38337,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3829:3:40","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3833:6:40","memberName":"sender","nodeType":"MemberAccess","src":"3829:10:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3812:28:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":38342,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38320,"src":"3848:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38343,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38313,"src":"3857:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38341,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38626,"src":"3843:4:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3843:21:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3812:52:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38346,"nodeType":"ExpressionStatement","src":"3812:52:40"}},{"expression":{"id":38357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38348,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38135,"src":"3875:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38350,"indexExpression":{"id":38349,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38309,"src":"3886:4:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3875:16:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38352,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38135,"src":"3899:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38354,"indexExpression":{"id":38353,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38309,"src":"3910:4:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3899:16:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38355,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38313,"src":"3917:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38351,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38626,"src":"3894:4:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3894:30:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3875:49:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38358,"nodeType":"ExpressionStatement","src":"3875:49:40"},{"expression":{"id":38368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38359,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38135,"src":"3934:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38361,"indexExpression":{"id":38360,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38311,"src":"3945:2:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3934:14:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38363,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38135,"src":"3956:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38365,"indexExpression":{"id":38364,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38311,"src":"3967:2:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3956:14:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38366,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38313,"src":"3972:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38362,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38605,"src":"3951:4:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3951:28:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3934:45:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38369,"nodeType":"ExpressionStatement","src":"3934:45:40"},{"eventCall":{"arguments":[{"id":38371,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38309,"src":"4004:4:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38372,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38311,"src":"4010:2:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38373,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38313,"src":"4014:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38370,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37658,"src":"3995:8:40","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3995:26:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38375,"nodeType":"EmitStatement","src":"3990:31:40"},{"expression":{"hexValue":"74727565","id":38376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4039:4:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":38318,"id":38377,"nodeType":"Return","src":"4032:11:40"}]},"baseFunctions":[37723],"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"3587:12:40","overrides":{"id":38315,"nodeType":"OverrideSpecifier","overrides":[],"src":"3657:8:40"},"parameters":{"id":38314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38309,"mutability":"mutable","name":"from","nameLocation":"3608:4:40","nodeType":"VariableDeclaration","scope":38379,"src":"3600:12:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38308,"name":"address","nodeType":"ElementaryTypeName","src":"3600:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38311,"mutability":"mutable","name":"to","nameLocation":"3622:2:40","nodeType":"VariableDeclaration","scope":38379,"src":"3614:10:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38310,"name":"address","nodeType":"ElementaryTypeName","src":"3614:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38313,"mutability":"mutable","name":"amount","nameLocation":"3634:6:40","nodeType":"VariableDeclaration","scope":38379,"src":"3626:14:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38312,"name":"uint256","nodeType":"ElementaryTypeName","src":"3626:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3599:42:40"},"returnParameters":{"id":38318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38317,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38379,"src":"3675:4:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38316,"name":"bool","nodeType":"ElementaryTypeName","src":"3675:4:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3674:6:40"},"scope":38666,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":38465,"nodeType":"FunctionDefinition","src":"4239:1182:40","nodes":[],"body":{"id":38464,"nodeType":"Block","src":"4386:1035:40","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38397,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38387,"src":"4404:8:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":38398,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4416:5:40","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":38399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4422:9:40","memberName":"timestamp","nodeType":"MemberAccess","src":"4416:15:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4404:27:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5045524d49545f444541444c494e455f45585049524544","id":38401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4433:25:40","typeDescriptions":{"typeIdentifier":"t_stringliteral_dd18cfd81b4c1281b56302a044e7f751a261543590362c41d86af048f8ed4b3e","typeString":"literal_string \"PERMIT_DEADLINE_EXPIRED\""},"value":"PERMIT_DEADLINE_EXPIRED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_dd18cfd81b4c1281b56302a044e7f751a261543590362c41d86af048f8ed4b3e","typeString":"literal_string \"PERMIT_DEADLINE_EXPIRED\""}],"id":38396,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4396:7:40","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4396:63:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38403,"nodeType":"ExpressionStatement","src":"4396:63:40"},{"assignments":[38405],"declarations":[{"constant":false,"id":38405,"mutability":"mutable","name":"recoveredAddress","nameLocation":"4478:16:40","nodeType":"VariableDeclaration","scope":38464,"src":"4470:24:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38404,"name":"address","nodeType":"ElementaryTypeName","src":"4470:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":38435,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"1901","id":38410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4585:10:40","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"id":38411,"name":"DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38480,"src":"4617:16:40","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":38412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4617:18:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":38417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4775:84:40","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":38416,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4732:9:40","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4732:157:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":38419,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38381,"src":"4919:5:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38420,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38383,"src":"4954:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38421,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38385,"src":"4991:5:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5026:15:40","subExpression":{"baseExpression":{"id":38422,"name":"nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38188,"src":"5026:6:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38424,"indexExpression":{"id":38423,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38381,"src":"5033:5:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5026:13:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38426,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38387,"src":"5071:8:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":38414,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4692:3:40","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":38415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4696:6:40","memberName":"encode","nodeType":"MemberAccess","src":"4692:10:40","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":38427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4692:413:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":38413,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4657:9:40","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4657:470:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":38408,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4547:3:40","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":38409,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4551:12:40","memberName":"encodePacked","nodeType":"MemberAccess","src":"4547:16:40","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":38429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4547:598:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":38407,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4520:9:40","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4520:639:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":38431,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38389,"src":"5173:1:40","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":38432,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38391,"src":"5188:1:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":38433,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38393,"src":"5203:1:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":38406,"name":"ecrecover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-6,"src":"4497:9:40","typeDescriptions":{"typeIdentifier":"t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":38434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4497:717:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4470:744:40"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":38446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":38442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38437,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38405,"src":"5233:16:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":38440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5261:1:40","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":38439,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5253:7:40","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38438,"name":"address","nodeType":"ElementaryTypeName","src":"5253:7:40","typeDescriptions":{}}},"id":38441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5253:10:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5233:30:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":38445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38443,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38405,"src":"5267:16:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":38444,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38381,"src":"5287:5:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5267:25:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5233:59:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"494e56414c49445f5349474e4552","id":38447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5294:16:40","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba2319f5fa9f0c8e55f0d6899910b7354e6f643d1d349de47190066d85e68a1c","typeString":"literal_string \"INVALID_SIGNER\""},"value":"INVALID_SIGNER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ba2319f5fa9f0c8e55f0d6899910b7354e6f643d1d349de47190066d85e68a1c","typeString":"literal_string \"INVALID_SIGNER\""}],"id":38436,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5225:7:40","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5225:86:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38449,"nodeType":"ExpressionStatement","src":"5225:86:40"},{"expression":{"id":38456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":38450,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38141,"src":"5322:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38453,"indexExpression":{"id":38451,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38405,"src":"5333:16:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5322:28:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38454,"indexExpression":{"id":38452,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38383,"src":"5351:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5322:37:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38455,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38385,"src":"5362:5:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5322:45:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38457,"nodeType":"ExpressionStatement","src":"5322:45:40"},{"eventCall":{"arguments":[{"id":38459,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38381,"src":"5392:5:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38460,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38383,"src":"5399:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38461,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38385,"src":"5408:5:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38458,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37667,"src":"5383:8:40","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5383:31:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38463,"nodeType":"EmitStatement","src":"5378:36:40"}]},"functionSelector":"d505accf","implemented":true,"kind":"function","modifiers":[],"name":"permit","nameLocation":"4248:6:40","parameters":{"id":38394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38381,"mutability":"mutable","name":"owner","nameLocation":"4263:5:40","nodeType":"VariableDeclaration","scope":38465,"src":"4255:13:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38380,"name":"address","nodeType":"ElementaryTypeName","src":"4255:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38383,"mutability":"mutable","name":"spender","nameLocation":"4278:7:40","nodeType":"VariableDeclaration","scope":38465,"src":"4270:15:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38382,"name":"address","nodeType":"ElementaryTypeName","src":"4270:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38385,"mutability":"mutable","name":"value","nameLocation":"4295:5:40","nodeType":"VariableDeclaration","scope":38465,"src":"4287:13:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38384,"name":"uint256","nodeType":"ElementaryTypeName","src":"4287:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38387,"mutability":"mutable","name":"deadline","nameLocation":"4310:8:40","nodeType":"VariableDeclaration","scope":38465,"src":"4302:16:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38386,"name":"uint256","nodeType":"ElementaryTypeName","src":"4302:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38389,"mutability":"mutable","name":"v","nameLocation":"4326:1:40","nodeType":"VariableDeclaration","scope":38465,"src":"4320:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":38388,"name":"uint8","nodeType":"ElementaryTypeName","src":"4320:5:40","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":38391,"mutability":"mutable","name":"r","nameLocation":"4337:1:40","nodeType":"VariableDeclaration","scope":38465,"src":"4329:9:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38390,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4329:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38393,"mutability":"mutable","name":"s","nameLocation":"4348:1:40","nodeType":"VariableDeclaration","scope":38465,"src":"4340:9:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38392,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4340:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4254:96:40"},"returnParameters":{"id":38395,"nodeType":"ParameterList","parameters":[],"src":"4386:0:40"},"scope":38666,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":38480,"nodeType":"FunctionDefinition","src":"5427:178:40","nodes":[],"body":{"id":38479,"nodeType":"Block","src":"5493:112:40","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":38470,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38665,"src":"5510:12:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":38471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5510:14:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":38472,"name":"INITIAL_CHAIN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38182,"src":"5528:16:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5510:34:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":38475,"name":"computeDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38510,"src":"5574:22:40","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":38476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5574:24:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":38477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5510:88:40","trueExpression":{"id":38474,"name":"INITIAL_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38184,"src":"5547:24:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":38469,"id":38478,"nodeType":"Return","src":"5503:95:40"}]},"functionSelector":"3644e515","implemented":true,"kind":"function","modifiers":[],"name":"DOMAIN_SEPARATOR","nameLocation":"5436:16:40","parameters":{"id":38466,"nodeType":"ParameterList","parameters":[],"src":"5452:2:40"},"returnParameters":{"id":38469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38468,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38480,"src":"5484:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38467,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5484:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5483:9:40"},"scope":38666,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":38510,"nodeType":"FunctionDefinition","src":"5611:404:40","nodes":[],"body":{"id":38509,"nodeType":"Block","src":"5685:330:40","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429","id":38489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5763:84:40","typeDescriptions":{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""},"value":"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""}],"id":38488,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5753:9:40","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5753:95:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"id":38494,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38098,"src":"5882:5:40","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":38493,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5876:5:40","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":38492,"name":"bytes","nodeType":"ElementaryTypeName","src":"5876:5:40","typeDescriptions":{}}},"id":38495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5876:12:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}],"id":38491,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5866:9:40","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5866:23:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"31","id":38498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5917:3:40","typeDescriptions":{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""}],"id":38497,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5907:9:40","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5907:14:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":38500,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38665,"src":"5939:12:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":38501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5939:14:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":38504,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5979:4:40","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$38666","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$38666","typeString":"contract MockERC20"}],"id":38503,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5971:7:40","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38502,"name":"address","nodeType":"ElementaryTypeName","src":"5971:7:40","typeDescriptions":{}}},"id":38505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5971:13:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":38486,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5725:3:40","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":38487,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5729:6:40","memberName":"encode","nodeType":"MemberAccess","src":"5725:10:40","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":38506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5725:273:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":38485,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5702:9:40","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5702:306:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":38484,"id":38508,"nodeType":"Return","src":"5695:313:40"}]},"implemented":true,"kind":"function","modifiers":[],"name":"computeDomainSeparator","nameLocation":"5620:22:40","parameters":{"id":38481,"nodeType":"ParameterList","parameters":[],"src":"5642:2:40"},"returnParameters":{"id":38484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38483,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38510,"src":"5676:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38482,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5676:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5675:9:40"},"scope":38666,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":38545,"nodeType":"FunctionDefinition","src":"6209:221:40","nodes":[],"body":{"id":38544,"nodeType":"Block","src":"6269:161:40","nodes":[],"statements":[{"expression":{"id":38522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38517,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38131,"src":"6279:12:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":38519,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38131,"src":"6299:12:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38520,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38514,"src":"6313:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38518,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38605,"src":"6294:4:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6294:26:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6279:41:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38523,"nodeType":"ExpressionStatement","src":"6279:41:40"},{"expression":{"id":38533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38524,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38135,"src":"6330:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38526,"indexExpression":{"id":38525,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38512,"src":"6341:2:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6330:14:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38528,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38135,"src":"6352:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38530,"indexExpression":{"id":38529,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38512,"src":"6363:2:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6352:14:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38531,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38514,"src":"6368:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38527,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38605,"src":"6347:4:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6347:28:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6330:45:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38534,"nodeType":"ExpressionStatement","src":"6330:45:40"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":38538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6408:1:40","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":38537,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6400:7:40","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38536,"name":"address","nodeType":"ElementaryTypeName","src":"6400:7:40","typeDescriptions":{}}},"id":38539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6400:10:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38540,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38512,"src":"6412:2:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38541,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38514,"src":"6416:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38535,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37658,"src":"6391:8:40","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6391:32:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38543,"nodeType":"EmitStatement","src":"6386:37:40"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"6218:5:40","parameters":{"id":38515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38512,"mutability":"mutable","name":"to","nameLocation":"6232:2:40","nodeType":"VariableDeclaration","scope":38545,"src":"6224:10:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38511,"name":"address","nodeType":"ElementaryTypeName","src":"6224:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38514,"mutability":"mutable","name":"amount","nameLocation":"6244:6:40","nodeType":"VariableDeclaration","scope":38545,"src":"6236:14:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38513,"name":"uint256","nodeType":"ElementaryTypeName","src":"6236:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6223:28:40"},"returnParameters":{"id":38516,"nodeType":"ParameterList","parameters":[],"src":"6269:0:40"},"scope":38666,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":38580,"nodeType":"FunctionDefinition","src":"6436:229:40","nodes":[],"body":{"id":38579,"nodeType":"Block","src":"6498:167:40","nodes":[],"statements":[{"expression":{"id":38561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38552,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38135,"src":"6508:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38554,"indexExpression":{"id":38553,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38547,"src":"6519:4:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6508:16:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38556,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38135,"src":"6532:10:40","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38558,"indexExpression":{"id":38557,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38547,"src":"6543:4:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6532:16:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38559,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38549,"src":"6550:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38555,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38626,"src":"6527:4:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6527:30:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6508:49:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38562,"nodeType":"ExpressionStatement","src":"6508:49:40"},{"expression":{"id":38568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38563,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38131,"src":"6567:12:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":38565,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38131,"src":"6587:12:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38566,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38549,"src":"6601:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38564,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38626,"src":"6582:4:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6582:26:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6567:41:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38569,"nodeType":"ExpressionStatement","src":"6567:41:40"},{"eventCall":{"arguments":[{"id":38571,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38547,"src":"6633:4:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":38574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6647:1:40","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":38573,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6639:7:40","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38572,"name":"address","nodeType":"ElementaryTypeName","src":"6639:7:40","typeDescriptions":{}}},"id":38575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6639:10:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38576,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38549,"src":"6651:6:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38570,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37658,"src":"6624:8:40","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6624:34:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38578,"nodeType":"EmitStatement","src":"6619:39:40"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"6445:5:40","parameters":{"id":38550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38547,"mutability":"mutable","name":"from","nameLocation":"6459:4:40","nodeType":"VariableDeclaration","scope":38580,"src":"6451:12:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38546,"name":"address","nodeType":"ElementaryTypeName","src":"6451:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38549,"mutability":"mutable","name":"amount","nameLocation":"6473:6:40","nodeType":"VariableDeclaration","scope":38580,"src":"6465:14:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38548,"name":"uint256","nodeType":"ElementaryTypeName","src":"6465:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6450:30:40"},"returnParameters":{"id":38551,"nodeType":"ParameterList","parameters":[],"src":"6498:0:40"},"scope":38666,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":38605,"nodeType":"FunctionDefinition","src":"6859:173:40","nodes":[],"body":{"id":38604,"nodeType":"Block","src":"6927:105:40","nodes":[],"statements":[{"assignments":[38590],"declarations":[{"constant":false,"id":38590,"mutability":"mutable","name":"c","nameLocation":"6945:1:40","nodeType":"VariableDeclaration","scope":38604,"src":"6937:9:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38589,"name":"uint256","nodeType":"ElementaryTypeName","src":"6937:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":38594,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38591,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38582,"src":"6949:1:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":38592,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38584,"src":"6953:1:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6949:5:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6937:17:40"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38596,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38590,"src":"6972:1:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":38597,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38582,"src":"6977:1:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6972:6:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206164646974696f6e206f766572666c6f77","id":38599,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6980:26:40","typeDescriptions":{"typeIdentifier":"t_stringliteral_74f676cd2e283c0e66b6d0717943544332197bd372b775cf0e7a53907f5c5d11","typeString":"literal_string \"ERC20: addition overflow\""},"value":"ERC20: addition overflow"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_74f676cd2e283c0e66b6d0717943544332197bd372b775cf0e7a53907f5c5d11","typeString":"literal_string \"ERC20: addition overflow\""}],"id":38595,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6964:7:40","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6964:43:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38601,"nodeType":"ExpressionStatement","src":"6964:43:40"},{"expression":{"id":38602,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38590,"src":"7024:1:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38588,"id":38603,"nodeType":"Return","src":"7017:8:40"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_add","nameLocation":"6868:4:40","parameters":{"id":38585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38582,"mutability":"mutable","name":"a","nameLocation":"6881:1:40","nodeType":"VariableDeclaration","scope":38605,"src":"6873:9:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38581,"name":"uint256","nodeType":"ElementaryTypeName","src":"6873:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38584,"mutability":"mutable","name":"b","nameLocation":"6892:1:40","nodeType":"VariableDeclaration","scope":38605,"src":"6884:9:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38583,"name":"uint256","nodeType":"ElementaryTypeName","src":"6884:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6872:22:40"},"returnParameters":{"id":38588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38587,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38605,"src":"6918:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38586,"name":"uint256","nodeType":"ElementaryTypeName","src":"6918:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6917:9:40"},"scope":38666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38626,"nodeType":"FunctionDefinition","src":"7038:154:40","nodes":[],"body":{"id":38625,"nodeType":"Block","src":"7106:86:40","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38615,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38607,"src":"7124:1:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":38616,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38609,"src":"7129:1:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7124:6:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207375627472616374696f6e20756e646572666c6f77","id":38618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7132:30:40","typeDescriptions":{"typeIdentifier":"t_stringliteral_51030fc2fc57ce7527c9e329debac907fc652c2c136d851e4f42cbce1710c274","typeString":"literal_string \"ERC20: subtraction underflow\""},"value":"ERC20: subtraction underflow"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_51030fc2fc57ce7527c9e329debac907fc652c2c136d851e4f42cbce1710c274","typeString":"literal_string \"ERC20: subtraction underflow\""}],"id":38614,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7116:7:40","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7116:47:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38620,"nodeType":"ExpressionStatement","src":"7116:47:40"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38621,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38607,"src":"7180:1:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":38622,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38609,"src":"7184:1:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7180:5:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38613,"id":38624,"nodeType":"Return","src":"7173:12:40"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sub","nameLocation":"7047:4:40","parameters":{"id":38610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38607,"mutability":"mutable","name":"a","nameLocation":"7060:1:40","nodeType":"VariableDeclaration","scope":38626,"src":"7052:9:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38606,"name":"uint256","nodeType":"ElementaryTypeName","src":"7052:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38609,"mutability":"mutable","name":"b","nameLocation":"7071:1:40","nodeType":"VariableDeclaration","scope":38626,"src":"7063:9:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38608,"name":"uint256","nodeType":"ElementaryTypeName","src":"7063:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7051:22:40"},"returnParameters":{"id":38613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38612,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38626,"src":"7097:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38611,"name":"uint256","nodeType":"ElementaryTypeName","src":"7097:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7096:9:40"},"scope":38666,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38638,"nodeType":"FunctionDefinition","src":"7735:276:40","nodes":[],"body":{"id":38637,"nodeType":"Block","src":"7798:213:40","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"7893:44:40","statements":[{"nodeType":"YulAssignment","src":"7907:20:40","value":{"arguments":[],"functionName":{"name":"chainid","nodeType":"YulIdentifier","src":"7918:7:40"},"nodeType":"YulFunctionCall","src":"7918:9:40"},"variableNames":[{"name":"chainId","nodeType":"YulIdentifier","src":"7907:7:40"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":38629,"isOffset":false,"isSlot":false,"src":"7907:7:40","valueSize":1}],"id":38631,"nodeType":"InlineAssembly","src":"7884:53:40"},{"expression":{"arguments":[{"id":38634,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"7955:4:40","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$38666","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$38666","typeString":"contract MockERC20"}],"id":38633,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7947:7:40","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38632,"name":"address","nodeType":"ElementaryTypeName","src":"7947:7:40","typeDescriptions":{}}},"id":38635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7947:13:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":38636,"nodeType":"ExpressionStatement","src":"7947:13:40"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_viewChainId","nameLocation":"7744:12:40","parameters":{"id":38627,"nodeType":"ParameterList","parameters":[],"src":"7756:2:40"},"returnParameters":{"id":38630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38629,"mutability":"mutable","name":"chainId","nameLocation":"7789:7:40","nodeType":"VariableDeclaration","scope":38638,"src":"7781:15:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38628,"name":"uint256","nodeType":"ElementaryTypeName","src":"7781:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7780:17:40"},"scope":38666,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":38665,"nodeType":"FunctionDefinition","src":"8017:300:40","nodes":[],"body":{"id":38664,"nodeType":"Block","src":"8080:237:40","nodes":[],"statements":[{"assignments":[38648],"declarations":[{"constant":false,"id":38648,"mutability":"mutable","name":"fnIn","nameLocation":"8133:4:40","nodeType":"VariableDeclaration","scope":38664,"src":"8090:47:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"},"typeName":{"id":38647,"nodeType":"FunctionTypeName","parameterTypes":{"id":38643,"nodeType":"ParameterList","parameters":[],"src":"8098:2:40"},"returnParameterTypes":{"id":38646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38645,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38647,"src":"8124:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38644,"name":"uint256","nodeType":"ElementaryTypeName","src":"8124:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8123:9:40"},"src":"8090:47:40","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"},"visibility":"internal"},"visibility":"internal"}],"id":38650,"initialValue":{"id":38649,"name":"_viewChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38638,"src":"8140:12:40","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8090:62:40"},{"assignments":[38656],"declarations":[{"constant":false,"id":38656,"mutability":"mutable","name":"pureChainId","nameLocation":"8205:11:40","nodeType":"VariableDeclaration","scope":38664,"src":"8162:54:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"},"typeName":{"id":38655,"nodeType":"FunctionTypeName","parameterTypes":{"id":38651,"nodeType":"ParameterList","parameters":[],"src":"8170:2:40"},"returnParameterTypes":{"id":38654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38653,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38655,"src":"8196:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38652,"name":"uint256","nodeType":"ElementaryTypeName","src":"8196:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8195:9:40"},"src":"8162:54:40","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"},"visibility":"internal"},"visibility":"internal"}],"id":38657,"nodeType":"VariableDeclarationStatement","src":"8162:54:40"},{"AST":{"nodeType":"YulBlock","src":"8235:43:40","statements":[{"nodeType":"YulAssignment","src":"8249:19:40","value":{"name":"fnIn","nodeType":"YulIdentifier","src":"8264:4:40"},"variableNames":[{"name":"pureChainId","nodeType":"YulIdentifier","src":"8249:11:40"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":38648,"isOffset":false,"isSlot":false,"src":"8264:4:40","valueSize":1},{"declaration":38656,"isOffset":false,"isSlot":false,"src":"8249:11:40","valueSize":1}],"id":38658,"nodeType":"InlineAssembly","src":"8226:52:40"},{"expression":{"id":38662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38659,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38641,"src":"8287:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":38660,"name":"pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38656,"src":"8297:11:40","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":38661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8297:13:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8287:23:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38663,"nodeType":"ExpressionStatement","src":"8287:23:40"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_pureChainId","nameLocation":"8026:12:40","parameters":{"id":38639,"nodeType":"ParameterList","parameters":[],"src":"8038:2:40"},"returnParameters":{"id":38642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38641,"mutability":"mutable","name":"chainId","nameLocation":"8071:7:40","nodeType":"VariableDeclaration","scope":38665,"src":"8063:15:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38640,"name":"uint256","nodeType":"ElementaryTypeName","src":"8063:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8062:17:40"},"scope":38666,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":38095,"name":"IERC20","nameLocations":["391:6:40"],"nodeType":"IdentifierPath","referencedDeclaration":37742,"src":"391:6:40"},"id":38096,"nodeType":"InheritanceSpecifier","src":"391:6:40"}],"canonicalName":"MockERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":38094,"nodeType":"StructuredDocumentation","src":"115:254:40","text":"@notice This is a mock contract of the ERC20 standard for testing purposes only, it SHOULD NOT be used in production.\n @dev Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC20.sol"},"fullyImplemented":true,"linearizedBaseContracts":[38666,37742],"name":"MockERC20","nameLocation":"378:9:40","scope":38667,"usedErrors":[]}],"license":"MIT"},"id":40} \ No newline at end of file diff --git a/pkg/contracts/out/PassportScorer.sol/PassportScorer.json b/pkg/contracts/out/PassportScorer.sol/PassportScorer.json index df74cab43..42402c9c3 100644 --- a/pkg/contracts/out/PassportScorer.sol/PassportScorer.json +++ b/pkg/contracts/out/PassportScorer.sol/PassportScorer.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"activateStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"},{"name":"_threshold","type":"uint256","internalType":"uint256"},{"name":"_councilSafe","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addUserScore","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_passportData","type":"tuple","internalType":"struct PassportData","components":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"canExecuteAction","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"changeListManager","inputs":[{"name":"_newManager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Strategy","components":[{"name":"threshold","type":"uint256","internalType":"uint256"},{"name":"active","type":"bool","internalType":"bool"},{"name":"councilSafe","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getUserScore","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct PassportData","components":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_listManager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"listManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"modifyThreshold","inputs":[{"name":"_strategy","type":"address","internalType":"address"},{"name":"_newThreshold","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"removeStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategies","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"threshold","type":"uint256","internalType":"uint256"},{"name":"active","type":"bool","internalType":"bool"},{"name":"councilSafe","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"userScores","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"ListManagerChanged","inputs":[{"name":"oldManager","type":"address","indexed":true,"internalType":"address"},{"name":"newManager","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyActivated","inputs":[{"name":"strategy","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyAdded","inputs":[{"name":"strategy","type":"address","indexed":true,"internalType":"address"},{"name":"threshold","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"active","type":"bool","indexed":false,"internalType":"bool"},{"name":"councilSafe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"strategy","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ThresholdModified","inputs":[{"name":"strategy","type":"address","indexed":true,"internalType":"address"},{"name":"newThreshold","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UserRemoved","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UserScoreAdded","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"score","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"lastUpdated","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"OnlyAuthorized","inputs":[]},{"type":"error","name":"OnlyCouncil","inputs":[]},{"type":"error","name":"OnlyCouncilOrAuthorized","inputs":[]},{"type":"error","name":"StrategyAlreadyExists","inputs":[]},{"type":"error","name":"ZeroAddress","inputs":[]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b506080516117f161004c600039600081816105a9015281816105f201528181610765015281816107a5015261081d01526117f16000f3fe6080604052600436106100ef5760003560e01c80631413d4c0146100f4578063175188e8146101425780633659cfe61461016457806339ebf823146101845780633d476830146101da57806342a987a0146101fa5780634f1ef2861461022a57806352d1902d1461023d578063642ce76b14610260578063715018a6146102805780637814d568146102955780638da5cb5b146102b55780638df8b2fe146102e25780639857518814610302578063b34e0c4714610322578063c4d66de81461039f578063d80ea5a0146103bf578063f2fde38b146103df578063f8806a13146103ff578063fc2ebdd1146104a5575b600080fd5b34801561010057600080fd5b5061012861010f3660046113d9565b6066602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b34801561014e57600080fd5b5061016261015d3660046113d9565b6104c5565b005b34801561017057600080fd5b5061016261017f3660046113d9565b61059f565b34801561019057600080fd5b506101cb61019f3660046113d9565b6067602052600090815260409020805460019091015460ff81169061010090046001600160a01b031683565b604051610139939291906113f4565b3480156101e657600080fd5b506101626101f53660046113d9565b610670565b34801561020657600080fd5b5061021a610215366004611413565b6106d3565b6040519015158152602001610139565b61016261023836600461148c565b61075b565b34801561024957600080fd5b50610252610810565b604051908152602001610139565b34801561026c57600080fd5b5061016261027b366004611531565b6108be565b34801561028c57600080fd5b50610162610989565b3480156102a157600080fd5b506101626102b036600461155b565b61099d565b3480156102c157600080fd5b506102ca610a5a565b6040516001600160a01b039091168152602001610139565b3480156102ee57600080fd5b506065546102ca906001600160a01b031681565b34801561030e57600080fd5b5061016261031d3660046113d9565b610a69565b34801561032e57600080fd5b5061038461033d3660046113d9565b6040805180820190915260008082526020820152506001600160a01b0316600090815260666020908152604091829020825180840190935280548352600101549082015290565b60408051825181526020928301519281019290925201610139565b3480156103ab57600080fd5b506101626103ba3660046113d9565b610af2565b3480156103cb57600080fd5b506101626103da3660046113d9565b610c2e565b3480156103eb57600080fd5b506101626103fa3660046113d9565b610cce565b34801561040b57600080fd5b5061047861041a3660046113d9565b6040805160608082018352600080835260208084018290529284018190526001600160a01b0394851681526067835283902083519182018452805482526001015460ff81161515928201929092526101009091049092169082015290565b6040805182518152602080840151151590820152918101516001600160a01b031690820152606001610139565b3480156104b157600080fd5b506101626104c03660046115cd565b610d44565b806104ce610a5a565b6001600160a01b0316336001600160a01b031614806104f757506065546001600160a01b031633145b8061052357506001600160a01b0381811660009081526067602052604090206001015461010090041633145b156105825761053182610e96565b6001600160a01b03821660008181526067602052604080822060018101805460ff19169055829055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49190a25050565b60405163e3b6914b60e01b815260040160405180910390fd5b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105f05760405162461bcd60e51b81526004016105e790611609565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610622610ebd565b6001600160a01b0316146106485760405162461bcd60e51b81526004016105e790611643565b61065181610ed9565b6040805160008082526020820190925261066d91839190610ee1565b50565b61067861104c565b61068181610e96565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc8690600090a35050565b6001600160a01b03808316600090815260666020908152604080832081518083018352815481526001918201548185015286861685526067845282852083516060810185528154815292015460ff811615159483018590526101009004909516918101919091529192919061074d57600192505050610755565b519051101590505b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107a35760405162461bcd60e51b81526004016105e790611609565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107d5610ebd565b6001600160a01b0316146107fb5760405162461bcd60e51b81526004016105e790611643565b61080482610ed9565b61059b82826001610ee1565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108ab5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016105e7565b5060008051602061177583398151915290565b816108c7610a5a565b6001600160a01b0316336001600160a01b031614806108f057506065546001600160a01b031633145b8061091c57506001600160a01b0381811660009081526067602052604090206001015461010090041633145b156105825761092a83610e96565b6001600160a01b03831660008181526067602052604090819020849055517f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c09906109779085815260200190565b60405180910390a2505050565b505050565b61099161104c565b61099b60006110ab565b565b6109a5610a5a565b6001600160a01b0316336001600160a01b031614806109ce57506065546001600160a01b031633145b15610a41576109dc82610e96565b6001600160a01b03821660008181526066602090815260409182902084518082558583015160019092018290558351908152918201527f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d910160405180910390a25050565b604051637d7b71b560e01b815260040160405180910390fd5b6033546001600160a01b031690565b610a71610a5a565b6001600160a01b0316336001600160a01b03161480610a9a57506065546001600160a01b031633145b15610a4157610aa881610e96565b6001600160a01b038116600081815260666020526040808220828155600101829055517fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9190a250565b600054610100900460ff1615808015610b125750600054600160ff909116105b80610b335750610b21306110fd565b158015610b33575060005460ff166001145b610b965760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105e7565b6000805460ff191660011790558015610bb9576000805461ff0019166101001790555b610bc161110c565b610bca82610e96565b606580546001600160a01b0319166001600160a01b038416179055801561059b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6001600160a01b038082166000908152606760205260409020600101548291610100909104163303610cb557610c6382610e96565b6001600160a01b0382166000818152606760205260408082206001908101805460ff19169091179055517f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb9190a25050565b6040516397ffbac960e01b815260040160405180910390fd5b610cd661104c565b6001600160a01b038116610d3b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105e7565b61066d816110ab565b610d4c610a5a565b6001600160a01b0316336001600160a01b03161480610d7557506065546001600160a01b031633145b15610a4157610d8383610e96565b610d8c81610e96565b6001600160a01b038316600090815260676020526040902054151580610dd357506001600160a01b0383811660009081526067602052604090206001015461010090041615155b15610df15760405163c45546f760e01b815260040160405180910390fd5b60408051606081018252838152600060208083018281526001600160a01b0386811685870190815289821680865260679094528685209551865591516001909501805492516001600160a81b0319909316951515610100600160a81b03191695909517610100929091169190910217909255915190917f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb9161097791869186906113f4565b6001600160a01b03811661066d5760405163d92e233d60e01b815260040160405180910390fd5b600080516020611775833981519152546001600160a01b031690565b61066d61104c565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f14576109848361113b565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f6e575060408051601f3d908101601f19168201909252610f6b9181019061167d565b60015b610fd15760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016105e7565b60008051602061177583398151915281146110405760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016105e7565b506109848383836111d5565b33611055610a5a565b6001600160a01b03161461099b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e7565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03163b151590565b600054610100900460ff166111335760405162461bcd60e51b81526004016105e790611696565b61099b611200565b611144816110fd565b6111a65760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016105e7565b60008051602061177583398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6111de83611230565b6000825111806111eb5750805b15610984576111fa8383611270565b50505050565b600054610100900460ff166112275760405162461bcd60e51b81526004016105e790611696565b61099b336110ab565b6112398161113b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061129583836040518060600160405280602781526020016117956027913961129c565b9392505050565b6060600080856001600160a01b0316856040516112b99190611705565b600060405180830381855af49150503d80600081146112f4576040519150601f19603f3d011682016040523d82523d6000602084013e6112f9565b606091505b509150915061130a86838387611314565b9695505050505050565b6060831561138157825160000361137a5761132e856110fd565b61137a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105e7565b508161138b565b61138b8383611393565b949350505050565b8151156113a35781518083602001fd5b8060405162461bcd60e51b81526004016105e79190611721565b80356001600160a01b03811681146113d457600080fd5b919050565b6000602082840312156113eb57600080fd5b611295826113bd565b92835290151560208301526001600160a01b0316604082015260600190565b6000806040838503121561142657600080fd5b61142f836113bd565b915061143d602084016113bd565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561148457611484611446565b604052919050565b6000806040838503121561149f57600080fd5b6114a8836113bd565b91506020838101356001600160401b03808211156114c557600080fd5b818601915086601f8301126114d957600080fd5b8135818111156114eb576114eb611446565b6114fd601f8201601f1916850161145c565b9150808252878482850101111561151357600080fd5b80848401858401376000848284010152508093505050509250929050565b6000806040838503121561154457600080fd5b61154d836113bd565b946020939093013593505050565b600080828403606081121561156f57600080fd5b611578846113bd565b92506040601f198201121561158c57600080fd5b50604080519081016001600160401b03811182821017156115af576115af611446565b60409081526020858101358352940135938101939093525092909150565b6000806000606084860312156115e257600080fd5b6115eb846113bd565b925060208401359150611600604085016113bd565b90509250925092565b6020808252602c9082015260008051602061175583398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061175583398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60006020828403121561168f57600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b838110156116fc5781810151838201526020016116e4565b50506000910152565b600082516117178184602087016116e1565b9190910192915050565b60208152600082518060208401526117408160408501602087016116e1565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f6d1844032d3e22f86c012df73b77895c4f152d96b14b7ddb7b04a117632d4c464736f6c63430008130033","sourceMap":"452:5962:104:-:0;;;1088:4:64;1045:48;;452:5962:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106100ef5760003560e01c80631413d4c0146100f4578063175188e8146101425780633659cfe61461016457806339ebf823146101845780633d476830146101da57806342a987a0146101fa5780634f1ef2861461022a57806352d1902d1461023d578063642ce76b14610260578063715018a6146102805780637814d568146102955780638da5cb5b146102b55780638df8b2fe146102e25780639857518814610302578063b34e0c4714610322578063c4d66de81461039f578063d80ea5a0146103bf578063f2fde38b146103df578063f8806a13146103ff578063fc2ebdd1146104a5575b600080fd5b34801561010057600080fd5b5061012861010f3660046113d9565b6066602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b34801561014e57600080fd5b5061016261015d3660046113d9565b6104c5565b005b34801561017057600080fd5b5061016261017f3660046113d9565b61059f565b34801561019057600080fd5b506101cb61019f3660046113d9565b6067602052600090815260409020805460019091015460ff81169061010090046001600160a01b031683565b604051610139939291906113f4565b3480156101e657600080fd5b506101626101f53660046113d9565b610670565b34801561020657600080fd5b5061021a610215366004611413565b6106d3565b6040519015158152602001610139565b61016261023836600461148c565b61075b565b34801561024957600080fd5b50610252610810565b604051908152602001610139565b34801561026c57600080fd5b5061016261027b366004611531565b6108be565b34801561028c57600080fd5b50610162610989565b3480156102a157600080fd5b506101626102b036600461155b565b61099d565b3480156102c157600080fd5b506102ca610a5a565b6040516001600160a01b039091168152602001610139565b3480156102ee57600080fd5b506065546102ca906001600160a01b031681565b34801561030e57600080fd5b5061016261031d3660046113d9565b610a69565b34801561032e57600080fd5b5061038461033d3660046113d9565b6040805180820190915260008082526020820152506001600160a01b0316600090815260666020908152604091829020825180840190935280548352600101549082015290565b60408051825181526020928301519281019290925201610139565b3480156103ab57600080fd5b506101626103ba3660046113d9565b610af2565b3480156103cb57600080fd5b506101626103da3660046113d9565b610c2e565b3480156103eb57600080fd5b506101626103fa3660046113d9565b610cce565b34801561040b57600080fd5b5061047861041a3660046113d9565b6040805160608082018352600080835260208084018290529284018190526001600160a01b0394851681526067835283902083519182018452805482526001015460ff81161515928201929092526101009091049092169082015290565b6040805182518152602080840151151590820152918101516001600160a01b031690820152606001610139565b3480156104b157600080fd5b506101626104c03660046115cd565b610d44565b806104ce610a5a565b6001600160a01b0316336001600160a01b031614806104f757506065546001600160a01b031633145b8061052357506001600160a01b0381811660009081526067602052604090206001015461010090041633145b156105825761053182610e96565b6001600160a01b03821660008181526067602052604080822060018101805460ff19169055829055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49190a25050565b60405163e3b6914b60e01b815260040160405180910390fd5b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105f05760405162461bcd60e51b81526004016105e790611609565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610622610ebd565b6001600160a01b0316146106485760405162461bcd60e51b81526004016105e790611643565b61065181610ed9565b6040805160008082526020820190925261066d91839190610ee1565b50565b61067861104c565b61068181610e96565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc8690600090a35050565b6001600160a01b03808316600090815260666020908152604080832081518083018352815481526001918201548185015286861685526067845282852083516060810185528154815292015460ff811615159483018590526101009004909516918101919091529192919061074d57600192505050610755565b519051101590505b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107a35760405162461bcd60e51b81526004016105e790611609565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107d5610ebd565b6001600160a01b0316146107fb5760405162461bcd60e51b81526004016105e790611643565b61080482610ed9565b61059b82826001610ee1565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108ab5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016105e7565b5060008051602061177583398151915290565b816108c7610a5a565b6001600160a01b0316336001600160a01b031614806108f057506065546001600160a01b031633145b8061091c57506001600160a01b0381811660009081526067602052604090206001015461010090041633145b156105825761092a83610e96565b6001600160a01b03831660008181526067602052604090819020849055517f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c09906109779085815260200190565b60405180910390a2505050565b505050565b61099161104c565b61099b60006110ab565b565b6109a5610a5a565b6001600160a01b0316336001600160a01b031614806109ce57506065546001600160a01b031633145b15610a41576109dc82610e96565b6001600160a01b03821660008181526066602090815260409182902084518082558583015160019092018290558351908152918201527f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d910160405180910390a25050565b604051637d7b71b560e01b815260040160405180910390fd5b6033546001600160a01b031690565b610a71610a5a565b6001600160a01b0316336001600160a01b03161480610a9a57506065546001600160a01b031633145b15610a4157610aa881610e96565b6001600160a01b038116600081815260666020526040808220828155600101829055517fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9190a250565b600054610100900460ff1615808015610b125750600054600160ff909116105b80610b335750610b21306110fd565b158015610b33575060005460ff166001145b610b965760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105e7565b6000805460ff191660011790558015610bb9576000805461ff0019166101001790555b610bc161110c565b610bca82610e96565b606580546001600160a01b0319166001600160a01b038416179055801561059b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6001600160a01b038082166000908152606760205260409020600101548291610100909104163303610cb557610c6382610e96565b6001600160a01b0382166000818152606760205260408082206001908101805460ff19169091179055517f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb9190a25050565b6040516397ffbac960e01b815260040160405180910390fd5b610cd661104c565b6001600160a01b038116610d3b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105e7565b61066d816110ab565b610d4c610a5a565b6001600160a01b0316336001600160a01b03161480610d7557506065546001600160a01b031633145b15610a4157610d8383610e96565b610d8c81610e96565b6001600160a01b038316600090815260676020526040902054151580610dd357506001600160a01b0383811660009081526067602052604090206001015461010090041615155b15610df15760405163c45546f760e01b815260040160405180910390fd5b60408051606081018252838152600060208083018281526001600160a01b0386811685870190815289821680865260679094528685209551865591516001909501805492516001600160a81b0319909316951515610100600160a81b03191695909517610100929091169190910217909255915190917f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb9161097791869186906113f4565b6001600160a01b03811661066d5760405163d92e233d60e01b815260040160405180910390fd5b600080516020611775833981519152546001600160a01b031690565b61066d61104c565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f14576109848361113b565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f6e575060408051601f3d908101601f19168201909252610f6b9181019061167d565b60015b610fd15760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016105e7565b60008051602061177583398151915281146110405760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016105e7565b506109848383836111d5565b33611055610a5a565b6001600160a01b03161461099b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e7565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03163b151590565b600054610100900460ff166111335760405162461bcd60e51b81526004016105e790611696565b61099b611200565b611144816110fd565b6111a65760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016105e7565b60008051602061177583398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6111de83611230565b6000825111806111eb5750805b15610984576111fa8383611270565b50505050565b600054610100900460ff166112275760405162461bcd60e51b81526004016105e790611696565b61099b336110ab565b6112398161113b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061129583836040518060600160405280602781526020016117956027913961129c565b9392505050565b6060600080856001600160a01b0316856040516112b99190611705565b600060405180830381855af49150503d80600081146112f4576040519150601f19603f3d011682016040523d82523d6000602084013e6112f9565b606091505b509150915061130a86838387611314565b9695505050505050565b6060831561138157825160000361137a5761132e856110fd565b61137a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105e7565b508161138b565b61138b8383611393565b949350505050565b8151156113a35781518083602001fd5b8060405162461bcd60e51b81526004016105e79190611721565b80356001600160a01b03811681146113d457600080fd5b919050565b6000602082840312156113eb57600080fd5b611295826113bd565b92835290151560208301526001600160a01b0316604082015260600190565b6000806040838503121561142657600080fd5b61142f836113bd565b915061143d602084016113bd565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561148457611484611446565b604052919050565b6000806040838503121561149f57600080fd5b6114a8836113bd565b91506020838101356001600160401b03808211156114c557600080fd5b818601915086601f8301126114d957600080fd5b8135818111156114eb576114eb611446565b6114fd601f8201601f1916850161145c565b9150808252878482850101111561151357600080fd5b80848401858401376000848284010152508093505050509250929050565b6000806040838503121561154457600080fd5b61154d836113bd565b946020939093013593505050565b600080828403606081121561156f57600080fd5b611578846113bd565b92506040601f198201121561158c57600080fd5b50604080519081016001600160401b03811182821017156115af576115af611446565b60409081526020858101358352940135938101939093525092909150565b6000806000606084860312156115e257600080fd5b6115eb846113bd565b925060208401359150611600604085016113bd565b90509250925092565b6020808252602c9082015260008051602061175583398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061175583398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60006020828403121561168f57600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b838110156116fc5781810151838201526020016116e4565b50506000910152565b600082516117178184602087016116e1565b9190910192915050565b60208152600082518060208401526117408160408501602087016116e1565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f6d1844032d3e22f86c012df73b77895c4f152d96b14b7ddb7b04a117632d4c464736f6c63430008130033","sourceMap":"452:5962:104:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;583:50;;;;;;;;;;-1:-1:-1;583:50:104;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;557:25:126;;;613:2;598:18;;591:34;;;;530:18;583:50:104;;;;;;;;4297:274;;;;;;;;;;-1:-1:-1;4297:274:104;;;;;:::i;:::-;;:::i;:::-;;3143:195:64;;;;;;;;;;-1:-1:-1;3143:195:64;;;;;:::i;:::-;;:::i;639:46:104:-;;;;;;;;;;-1:-1:-1;639:46:104;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;639:46:104;;;;;;;;;;;;:::i;3221:259::-;;;;;;;;;;-1:-1:-1;3221:259:104;;;;;:::i;:::-;;:::i;5518:345::-;;;;;;;;;;-1:-1:-1;5518:345:104;;;;;:::i;:::-;;:::i;:::-;;;1426:14:126;;1419:22;1401:41;;1389:2;1374:18;5518:345:104;1261:187:126;3657:220:64;;;;;;:::i;:::-;;:::i;2762:131::-;;;;;;;;;;;;;:::i;:::-;;;2853:25:126;;;2841:2;2826:18;2762:131:64;2707:177:126;5081:272:104;;;;;;;;;;-1:-1:-1;5081:272:104;;;;;:::i;:::-;;:::i;2085:101:45:-;;;;;;;;;;;;;:::i;2556:274:104:-;;;;;;;;;;-1:-1:-1;2556:274:104;;;;;:::i;:::-;;:::i;1462:85:45:-;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;3986:32:126;;;3968:51;;3956:2;3941:18;1462:85:45;3822:203:126;550:26:104;;;;;;;;;;-1:-1:-1;550:26:104;;;;-1:-1:-1;;;;;550:26:104;;;2931:177;;;;;;;;;;-1:-1:-1;2931:177:104;;;;;:::i;:::-;;:::i;5959:122::-;;;;;;;;;;-1:-1:-1;5959:122:104;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;6057:17:104;;;;;:10;:17;;;;;;;;;6050:24;;;;;;;;;;;;;;;;;;;;5959:122;;;;;4256:13:126;;4238:32;;4326:4;4314:17;;;4308:24;4286:20;;;4279:54;;;;4211:18;5959:122:104;4030:309:126;2201:172:104;;;;;;;;;;-1:-1:-1;2201:172:104;;;;;:::i;:::-;;:::i;4674:211::-;;;;;;;;;;-1:-1:-1;4674:211:104;;;;;:::i;:::-;;:::i;2335:198:45:-;;;;;;;;;;-1:-1:-1;2335:198:45;;;;;:::i;:::-;;:::i;6183:125:104:-;;;;;;;;;;-1:-1:-1;6183:125:104;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6280:21:104;;;;;:10;:21;;;;;6273:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6183:125;;;;;4562:13:126;;4544:32;;4646:4;4634:17;;;4628:24;4621:32;4614:40;4592:20;;;4585:70;4703:17;;;4697:24;-1:-1:-1;;;;;4693:50:126;4671:20;;;4664:80;4532:2;4517:18;6183:125:104;4344:406:126;3648:532:104;;;;;;;;;;-1:-1:-1;3648:532:104;;;;;:::i;:::-;;:::i;4297:274::-;4382:9;1612:7;:5;:7::i;:::-;-1:-1:-1;;;;;1598:21:104;:10;-1:-1:-1;;;;;1598:21:104;;:50;;;-1:-1:-1;1637:11:104;;-1:-1:-1;;;;;1637:11:104;1623:10;:25;1598:50;:101;;;-1:-1:-1;;;;;;1666:21:104;;;;;;;:10;:21;;;;;:33;;;;;;;1652:10;:47;1598:101;1594:196;;;4403:29:::1;4422:9;4403:18;:29::i;:::-;-1:-1:-1::0;;;;;4442:21:104;::::1;4473:5;4442:21:::0;;;:10:::1;:21;::::0;;;;;:28:::1;::::0;::::1;:36:::0;;-1:-1:-1;;4442:36:104::1;::::0;;4488:35;;;4538:26;::::1;::::0;4473:5;4538:26:::1;4297:274:::0;;:::o;1594:196::-;1754:25;;-1:-1:-1;;;1754:25:104;;;;;;;;;;;1594:196;4297:274;;:::o;3143:195:64:-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;;;;;;;;;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3224:36:::1;3242:17;3224;:36::i;:::-;3311:12;::::0;;3321:1:::1;3311:12:::0;;;::::1;::::0;::::1;::::0;;;3270:61:::1;::::0;3292:17;;3311:12;3270:21:::1;:61::i;:::-;3143:195:::0;:::o;3221:259:104:-;1355:13:45;:11;:13::i;:::-;3307:31:104::1;3326:11;3307:18;:31::i;:::-;3369:11;::::0;;-1:-1:-1;;;;;3390:25:104;;::::1;-1:-1:-1::0;;;;;;3390:25:104;::::1;::::0;::::1;::::0;;;3430:43:::1;::::0;3369:11;::::1;::::0;3390:25;3369:11;;3430:43:::1;::::0;3348:18:::1;::::0;3430:43:::1;3297:183;3221:259:::0;:::o;5518:345::-;-1:-1:-1;;;;;5658:17:104;;;5610:4;5658:17;;;:10;:17;;;;;;;;5626:49;;;;;;;;;;;;;;;;;;;;5712:21;;;;;:10;:21;;;;;5685:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5610:4;;5626:49;5685:48;5744:58;;5787:4;5780:11;;;;;;5744:58;5838:18;5819:15;;:37;;;-1:-1:-1;5518:345:104;;;;;:::o;3657:220:64:-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3772:36:::1;3790:17;3772;:36::i;:::-;3818:52;3840:17;3859:4;3865;3818:21;:52::i;2762:131::-:0;2840:7;2080:4;-1:-1:-1;;;;;2089:6:64;2072:23;;2064:92;;;;-1:-1:-1;;;2064:92:64;;6116:2:126;2064:92:64;;;6098:21:126;6155:2;6135:18;;;6128:30;6194:34;6174:18;;;6167:62;-1:-1:-1;;;6245:18:126;;;6238:54;6309:19;;2064:92:64;5914:420:126;2064:92:64;-1:-1:-1;;;;;;;;;;;;2762:131:64;:::o;5081:272:104:-;5181:9;1612:7;:5;:7::i;:::-;-1:-1:-1;;;;;1598:21:104;:10;-1:-1:-1;;;;;1598:21:104;;:50;;;-1:-1:-1;1637:11:104;;-1:-1:-1;;;;;1637:11:104;1623:10;:25;1598:50;:101;;;-1:-1:-1;;;;;;1666:21:104;;;;;;;:10;:21;;;;;:33;;;;;;;1652:10;:47;1598:101;1594:196;;;5202:29:::1;5221:9;5202:18;:29::i;:::-;-1:-1:-1::0;;;;;5241:21:104;::::1;;::::0;;;:10:::1;:21;::::0;;;;;;:47;;;5303:43;::::1;::::0;::::1;::::0;5275:13;2853:25:126;;2841:2;2826:18;;2707:177;5303:43:104::1;;;;;;;;5081:272:::0;;;:::o;1594:196::-;5081:272;;;:::o;2085:101:45:-;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;:::-;2085:101::o:0;2556:274:104:-;1402:7;:5;:7::i;:::-;-1:-1:-1;;;;;1388:21:104;:10;-1:-1:-1;;;;;1388:21:104;;:50;;;-1:-1:-1;1427:11:104;;-1:-1:-1;;;;;1427:11:104;1413:10;:25;1388:50;1384:136;;;2671:25:::1;2690:5;2671:18;:25::i;:::-;-1:-1:-1::0;;;;;2706:17:104;::::1;;::::0;;;:10:::1;:17;::::0;;;;;;;;:33;;;;;;;::::1;::::0;::::1;::::0;;::::1;::::0;;;2754:69;;557:25:126;;;598:18;;;591:34;2754:69:104::1;::::0;530:18:126;2754:69:104::1;;;;;;;4297:274:::0;;:::o;1384:136::-;1493:16;;-1:-1:-1;;;1493:16:104;;;;;;;;;;;1462:85:45;1534:6;;-1:-1:-1;;;;;1534:6:45;;1462:85::o;2931:177:104:-;1402:7;:5;:7::i;:::-;-1:-1:-1;;;;;1388:21:104;:10;-1:-1:-1;;;;;1388:21:104;;:50;;;-1:-1:-1;1427:11:104;;-1:-1:-1;;;;;1427:11:104;1413:10;:25;1388:50;1384:136;;;3009:25:::1;3028:5;3009:18;:25::i;:::-;-1:-1:-1::0;;;;;3051:17:104;::::1;;::::0;;;:10:::1;:17;::::0;;;;;3044:24;;;::::1;;::::0;;;3083:18;::::1;::::0;3051:17;3083:18:::1;3143:195:64::0;:::o;2201:172:104:-;3279:19:47;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:47;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;;3388:44;3426:4;3388:29;:44::i;:::-;3387:45;:66;;;;-1:-1:-1;3436:12:47;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:47;;6723:2:126;3325:201:47;;;6705:21:126;6762:2;6742:18;;;6735:30;6801:34;6781:18;;;6774:62;-1:-1:-1;;;6852:18:126;;;6845:44;6906:19;;3325:201:47;6521:410:126;3325:201:47;3536:12;:16;;-1:-1:-1;;3536:16:47;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:47;;;;;3562:65;2272:16:104::1;:14;:16::i;:::-;2298:32;2317:12;2298:18;:32::i;:::-;2340:11;:26:::0;;-1:-1:-1;;;;;;2340:26:104::1;-1:-1:-1::0;;;;;2340:26:104;::::1;;::::0;;3647:99:47;;;;3697:5;3681:21;;-1:-1:-1;;3681:21:47;;;3721:14;;-1:-1:-1;7088:36:126;;3721:14:47;;7076:2:126;7061:18;3721:14:47;;;;;;;3269:483;2201:172:104;:::o;4674:211::-;-1:-1:-1;;;;;1870:21:104;;;;;;;:10;:21;;;;;:33;;;4740:9;;1870:33;;;;;1856:10;:47;1852:130;;4761:29:::1;4780:9;4761:18;:29::i;:::-;-1:-1:-1::0;;;;;4800:21:104;::::1;;::::0;;;:10:::1;:21;::::0;;;;;4831:4:::1;4800:28:::0;;::::1;:35:::0;;-1:-1:-1;;4800:35:104::1;::::0;;::::1;::::0;;4850:28;::::1;::::0;4800:21;4850:28:::1;4297:274:::0;;:::o;1852:130::-;1958:13;;-1:-1:-1;;;1958:13:104;;;;;;;;;;;2335:198:45;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:45;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:45;;7337:2:126;2415:73:45::1;::::0;::::1;7319:21:126::0;7376:2;7356:18;;;7349:30;7415:34;7395:18;;;7388:62;-1:-1:-1;;;7466:18:126;;;7459:36;7512:19;;2415:73:45::1;7135:402:126::0;2415:73:45::1;2498:28;2517:8;2498:18;:28::i;3648:532:104:-:0;1402:7;:5;:7::i;:::-;-1:-1:-1;;;;;1388:21:104;:10;-1:-1:-1;;;;;1388:21:104;;:50;;;-1:-1:-1;1427:11:104;;-1:-1:-1;;;;;1427:11:104;1413:10;:25;1388:50;1384:136;;;3764:29:::1;3783:9;3764:18;:29::i;:::-;3803:32;3822:12;3803:18;:32::i;:::-;-1:-1:-1::0;;;;;3849:21:104;::::1;;::::0;;;:10:::1;:21;::::0;;;;:31;:36;::::1;::::0;:87:::1;;-1:-1:-1::0;;;;;;3889:21:104;;::::1;3934:1;3889:21:::0;;;:10:::1;:21;::::0;;;;:33:::1;;::::0;::::1;::::0;::::1;;:47:::0;::::1;3849:87;3845:148;;;3959:23;;-1:-1:-1::0;;;3959:23:104::1;;;;;;;;;;;3845:148;4026:75;::::0;;::::1;::::0;::::1;::::0;;;;;-1:-1:-1;4026:75:104::1;::::0;;::::1;::::0;;;-1:-1:-1;;;;;4026:75:104;;::::1;::::0;;;;;;4002:21;;::::1;::::0;;;:10:::1;:21:::0;;;;;;:99;;;;;;4026:75;4002:99;;::::1;::::0;;;;-1:-1:-1;;;;;;4002:99:104;;;;::::1;;-1:-1:-1::0;;;;;;4002:99:104;;;;;::::1;::::0;;;::::1;::::0;;;::::1;;::::0;;;4116:57;;4002:21;;4116:57:::1;::::0;::::1;::::0;4026:75;;;;4116:57:::1;:::i;1994:148::-:0;-1:-1:-1;;;;;2067:22:104;;2063:73;;2112:13;;-1:-1:-1;;;2112:13:104;;;;;;;;;;;1175:140:60;-1:-1:-1;;;;;;;;;;;1254:54:60;-1:-1:-1;;;;;1254:54:60;;1175:140::o;6314:66:104:-;1355:13:45;:11;:13::i;2494:922:60:-;689:66;2910:48;;;2906:504;;;2974:37;2993:17;2974:18;:37::i;2906:504::-;3064:17;-1:-1:-1;;;;;3046:50:60;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3046:52:60;;;;;;;;-1:-1:-1;;3046:52:60;;;;;;;;;;;;:::i;:::-;;;3042:291;;3262:56;;-1:-1:-1;;;3262:56:60;;7933:2:126;3262:56:60;;;7915:21:126;7972:2;7952:18;;;7945:30;8011:34;7991:18;;;7984:62;-1:-1:-1;;;8062:18:126;;;8055:44;8116:19;;3262:56:60;7731:410:126;3042:291:60;-1:-1:-1;;;;;;;;;;;3148:28:60;;3140:82;;;;-1:-1:-1;;;3140:82:60;;8348:2:126;3140:82:60;;;8330:21:126;8387:2;8367:18;;;8360:30;8426:34;8406:18;;;8399:62;-1:-1:-1;;;8477:18:126;;;8470:39;8526:19;;3140:82:60;8146:405:126;3140:82:60;3099:138;3346:53;3364:17;3383:4;3389:9;3346:17;:53::i;1620:130:45:-;965:10:51;1683:7:45;:5;:7::i;:::-;-1:-1:-1;;;;;1683:23:45;;1675:68;;;;-1:-1:-1;;;1675:68:45;;8758:2:126;1675:68:45;;;8740:21:126;;;8777:18;;;8770:30;8836:34;8816:18;;;8809:62;8888:18;;1675:68:45;8556:356:126;2687:187:45;2779:6;;;-1:-1:-1;;;;;2795:17:45;;;-1:-1:-1;;;;;;2795:17:45;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;1423:320:50:-;-1:-1:-1;;;;;1713:19:50;;:23;;;1423:320::o;1024:95:45:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;:::-;1086:26:45::1;:24;:26::i;1406:259:60:-:0;1487:37;1506:17;1487:18;:37::i;:::-;1479:95;;;;-1:-1:-1;;;1479:95:60;;9531:2:126;1479:95:60;;;9513:21:126;9570:2;9550:18;;;9543:30;9609:34;9589:18;;;9582:62;-1:-1:-1;;;9660:18:126;;;9653:43;9713:19;;1479:95:60;9329:409:126;1479:95:60;-1:-1:-1;;;;;;;;;;;1584:74:60;;-1:-1:-1;;;;;;1584:74:60;-1:-1:-1;;;;;1584:74:60;;;;;;;;;;1406:259::o;2057:265::-;2165:29;2176:17;2165:10;:29::i;:::-;2222:1;2208:4;:11;:15;:28;;;;2227:9;2208:28;2204:112;;;2252:53;2281:17;2300:4;2252:28;:53::i;:::-;;2057:265;;;:::o;1125:111:45:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;:::-;1197:32:45::1;965:10:51::0;1197:18:45::1;:32::i;1771:152:60:-:0;1837:37;1856:17;1837:18;:37::i;:::-;1889:27;;-1:-1:-1;;;;;1889:27:60;;;;;;;;1771:152;:::o;6674:198:76:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6781:84;6674:198;-1:-1:-1;;;6674:198:76:o;7058:325::-;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:76;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:76:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;8121:18;8132:6;8121:10;:18::i;:::-;8113:60;;;;-1:-1:-1;;;8113:60:76;;10492:2:126;8113:60:76;;;10474:21:126;10531:2;10511:18;;;10504:30;10570:31;10550:18;;;10543:59;10619:18;;8113:60:76;10290:353:126;8113:60:76;-1:-1:-1;8208:10:76;8201:17;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;:::-;7671:628;;;;;;:::o;8821:540::-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:76;;;;;;;;:::i;14:173:126:-;82:20;;-1:-1:-1;;;;;131:31:126;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;636:355::-;832:25;;;900:14;;893:22;888:2;873:18;;866:50;-1:-1:-1;;;;;952:32:126;947:2;932:18;;925:60;820:2;805:18;;636:355::o;996:260::-;1064:6;1072;1125:2;1113:9;1104:7;1100:23;1096:32;1093:52;;;1141:1;1138;1131:12;1093:52;1164:29;1183:9;1164:29;:::i;:::-;1154:39;;1212:38;1246:2;1235:9;1231:18;1212:38;:::i;:::-;1202:48;;996:260;;;;;:::o;1453:127::-;1514:10;1509:3;1505:20;1502:1;1495:31;1545:4;1542:1;1535:15;1569:4;1566:1;1559:15;1585:275;1656:2;1650:9;1721:2;1702:13;;-1:-1:-1;;1698:27:126;1686:40;;-1:-1:-1;;;;;1741:34:126;;1777:22;;;1738:62;1735:88;;;1803:18;;:::i;:::-;1839:2;1832:22;1585:275;;-1:-1:-1;1585:275:126:o;1865:837::-;1942:6;1950;2003:2;1991:9;1982:7;1978:23;1974:32;1971:52;;;2019:1;2016;2009:12;1971:52;2042:29;2061:9;2042:29;:::i;:::-;2032:39;-1:-1:-1;2090:2:126;2128:18;;;2115:32;-1:-1:-1;;;;;2196:14:126;;;2193:34;;;2223:1;2220;2213:12;2193:34;2261:6;2250:9;2246:22;2236:32;;2306:7;2299:4;2295:2;2291:13;2287:27;2277:55;;2328:1;2325;2318:12;2277:55;2364:2;2351:16;2386:2;2382;2379:10;2376:36;;;2392:18;;:::i;:::-;2434:53;2477:2;2458:13;;-1:-1:-1;;2454:27:126;2450:36;;2434:53;:::i;:::-;2421:66;;2510:2;2503:5;2496:17;2550:7;2545:2;2540;2536;2532:11;2528:20;2525:33;2522:53;;;2571:1;2568;2561:12;2522:53;2626:2;2621;2617;2613:11;2608:2;2601:5;2597:14;2584:45;2670:1;2665:2;2660;2653:5;2649:14;2645:23;2638:34;;2691:5;2681:15;;;;;1865:837;;;;;:::o;2889:254::-;2957:6;2965;3018:2;3006:9;2997:7;2993:23;2989:32;2986:52;;;3034:1;3031;3024:12;2986:52;3057:29;3076:9;3057:29;:::i;:::-;3047:39;3133:2;3118:18;;;;3105:32;;-1:-1:-1;;;2889:254:126:o;3148:669::-;3247:6;3255;3299:9;3290:7;3286:23;3329:2;3325;3321:11;3318:31;;;3345:1;3342;3335:12;3318:31;3368:29;3387:9;3368:29;:::i;:::-;3358:39;-1:-1:-1;3431:4:126;-1:-1:-1;;3413:16:126;;3409:27;3406:47;;;3449:1;3446;3439:12;3406:47;-1:-1:-1;3482:4:126;3476:11;;;3514:17;;-1:-1:-1;;;;;3546:34:126;;3582:22;;;3543:62;3540:88;;;3608:18;;:::i;:::-;3644:4;3637:24;;;3713:2;3698:18;;;3685:32;3670:48;;3764:20;;3751:34;3734:15;;;3727:59;;;;-1:-1:-1;3148:669:126;3677:6;;-1:-1:-1;3148:669:126:o;4755:328::-;4832:6;4840;4848;4901:2;4889:9;4880:7;4876:23;4872:32;4869:52;;;4917:1;4914;4907:12;4869:52;4940:29;4959:9;4940:29;:::i;:::-;4930:39;;5016:2;5005:9;5001:18;4988:32;4978:42;;5039:38;5073:2;5062:9;5058:18;5039:38;:::i;:::-;5029:48;;4755:328;;;;;:::o;5088:408::-;5290:2;5272:21;;;5329:2;5309:18;;;5302:30;-1:-1:-1;;;;;;;;;;;5363:2:126;5348:18;;5341:62;-1:-1:-1;;;5434:2:126;5419:18;;5412:42;5486:3;5471:19;;5088:408::o;5501:::-;5703:2;5685:21;;;5742:2;5722:18;;;5715:30;-1:-1:-1;;;;;;;;;;;5776:2:126;5761:18;;5754:62;-1:-1:-1;;;5847:2:126;5832:18;;5825:42;5899:3;5884:19;;5501:408::o;7542:184::-;7612:6;7665:2;7653:9;7644:7;7640:23;7636:32;7633:52;;;7681:1;7678;7671:12;7633:52;-1:-1:-1;7704:16:126;;7542:184;-1:-1:-1;7542:184:126:o;8917:407::-;9119:2;9101:21;;;9158:2;9138:18;;;9131:30;9197:34;9192:2;9177:18;;9170:62;-1:-1:-1;;;9263:2:126;9248:18;;9241:41;9314:3;9299:19;;8917:407::o;9743:250::-;9828:1;9838:113;9852:6;9849:1;9846:13;9838:113;;;9928:11;;;9922:18;9909:11;;;9902:39;9874:2;9867:10;9838:113;;;-1:-1:-1;;9985:1:126;9967:16;;9960:27;9743:250::o;9998:287::-;10127:3;10165:6;10159:13;10181:66;10240:6;10235:3;10228:4;10220:6;10216:17;10181:66;:::i;:::-;10263:16;;;;;9998:287;-1:-1:-1;;9998:287:126:o;10648:396::-;10797:2;10786:9;10779:21;10760:4;10829:6;10823:13;10872:6;10867:2;10856:9;10852:18;10845:34;10888:79;10960:6;10955:2;10944:9;10940:18;10935:2;10927:6;10923:15;10888:79;:::i;:::-;11028:2;11007:15;-1:-1:-1;;11003:29:126;10988:45;;;;11035:2;10984:54;;10648:396;-1:-1:-1;;10648:396:126:o","linkReferences":{},"immutableReferences":{"55572":[{"start":1449,"length":32},{"start":1522,"length":32},{"start":1893,"length":32},{"start":1957,"length":32},{"start":2077,"length":32}]}},"methodIdentifiers":{"activateStrategy(address)":"d80ea5a0","addStrategy(address,uint256,address)":"fc2ebdd1","addUserScore(address,(uint256,uint256))":"7814d568","canExecuteAction(address,address)":"42a987a0","changeListManager(address)":"3d476830","getStrategy(address)":"f8806a13","getUserScore(address)":"b34e0c47","initialize(address)":"c4d66de8","listManager()":"8df8b2fe","modifyThreshold(address,uint256)":"642ce76b","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","removeStrategy(address)":"175188e8","removeUser(address)":"98575188","renounceOwnership()":"715018a6","strategies(address)":"39ebf823","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286","userScores(address)":"1413d4c0"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"OnlyAuthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncil\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncilOrAuthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldManager\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newManager\",\"type\":\"address\"}],\"name\":\"ListManagerChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyActivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"councilSafe\",\"type\":\"address\"}],\"name\":\"StrategyAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newThreshold\",\"type\":\"uint256\"}],\"name\":\"ThresholdModified\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"UserRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"name\":\"UserScoreAdded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"activateStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_councilSafe\",\"type\":\"address\"}],\"name\":\"addStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"internalType\":\"struct PassportData\",\"name\":\"_passportData\",\"type\":\"tuple\"}],\"name\":\"addUserScore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"canExecuteAction\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newManager\",\"type\":\"address\"}],\"name\":\"changeListManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"getStrategy\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"councilSafe\",\"type\":\"address\"}],\"internalType\":\"struct Strategy\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserScore\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"internalType\":\"struct PassportData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_listManager\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"listManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newThreshold\",\"type\":\"uint256\"}],\"name\":\"modifyThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"removeUser\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"strategies\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"councilSafe\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"userScores\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"activateStrategy(address)\":{\"params\":{\"_strategy\":\"address of the strategy to activate\"}},\"addStrategy(address,uint256,address)\":{\"params\":{\"_councilSafe\":\"address of the council safe\",\"_threshold\":\"is expressed on a scale of 10**4\"}},\"addUserScore(address,(uint256,uint256))\":{\"params\":{\"_passportData\":\"PassportData struct with the user score and lastUpdated\",\"_user\":\"address of the user to add\"}},\"canExecuteAction(address,address)\":{\"params\":{\"_strategy\":\"address of the strategy to check\",\"_user\":\"address of the user to check\"}},\"changeListManager(address)\":{\"params\":{\"_newManager\":\"address of the new list manager\"}},\"getStrategy(address)\":{\"params\":{\"_strategy\":\"address of the strategy to check\"}},\"getUserScore(address)\":{\"params\":{\"_user\":\"address of the user to check\"}},\"modifyThreshold(address,uint256)\":{\"params\":{\"_newThreshold\":\"new threshold to set expressed on a scale of 10**4\",\"_strategy\":\"address of the strategy to modify\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"removeStrategy(address)\":{\"params\":{\"_strategy\":\"address of the strategy to remove\"}},\"removeUser(address)\":{\"params\":{\"_user\":\"address of the user to remove\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateStrategy(address)\":{\"notice\":\"Activate a strategy\"},\"addStrategy(address,uint256,address)\":{\"notice\":\"Add a strategy to the contract\"},\"addUserScore(address,(uint256,uint256))\":{\"notice\":\"Add a userScore to the list\"},\"canExecuteAction(address,address)\":{\"notice\":\"Check if an action can be executed\"},\"changeListManager(address)\":{\"notice\":\"Change the list manager address\"},\"getStrategy(address)\":{\"notice\":\"Get the strategy data\"},\"getUserScore(address)\":{\"notice\":\"Get the score of a user\"},\"modifyThreshold(address,uint256)\":{\"notice\":\"Modify the threshold of a strategy\"},\"removeStrategy(address)\":{\"notice\":\"Remove a strategy from the contract\"},\"removeUser(address)\":{\"notice\":\"Remove a user from the list\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/PassportScorer.sol\":\"PassportScorer\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/PassportScorer.sol\":{\"keccak256\":\"0x761ef83b5c9e42fc7a65cec573d4a82e8b4471a917d1148977081d33edaf746d\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://698a8829885901860dcca7d7b2737a0e9d6216e052f21b3d8dedcfca90db4810\",\"dweb:/ipfs/QmSs8CZvEhz2CaSBq6x6fzU4uTPeyHn2Z8HSmc7tq8Cu3z\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"OnlyAuthorized"},{"inputs":[],"type":"error","name":"OnlyCouncil"},{"inputs":[],"type":"error","name":"OnlyCouncilOrAuthorized"},{"inputs":[],"type":"error","name":"StrategyAlreadyExists"},{"inputs":[],"type":"error","name":"ZeroAddress"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"oldManager","type":"address","indexed":true},{"internalType":"address","name":"newManager","type":"address","indexed":true}],"type":"event","name":"ListManagerChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":true}],"type":"event","name":"StrategyActivated","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":true},{"internalType":"uint256","name":"threshold","type":"uint256","indexed":false},{"internalType":"bool","name":"active","type":"bool","indexed":false},{"internalType":"address","name":"councilSafe","type":"address","indexed":false}],"type":"event","name":"StrategyAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":true}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":true},{"internalType":"uint256","name":"newThreshold","type":"uint256","indexed":false}],"type":"event","name":"ThresholdModified","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true}],"type":"event","name":"UserRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true},{"internalType":"uint256","name":"score","type":"uint256","indexed":false},{"internalType":"uint256","name":"lastUpdated","type":"uint256","indexed":false}],"type":"event","name":"UserScoreAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"activateStrategy"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"uint256","name":"_threshold","type":"uint256"},{"internalType":"address","name":"_councilSafe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addStrategy"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"struct PassportData","name":"_passportData","type":"tuple","components":[{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"addUserScore"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"canExecuteAction","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_newManager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"changeListManager"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"getStrategy","outputs":[{"internalType":"struct Strategy","name":"","type":"tuple","components":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"bool","name":"active","type":"bool"},{"internalType":"address","name":"councilSafe","type":"address"}]}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getUserScore","outputs":[{"internalType":"struct PassportData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"}]}]},{"inputs":[{"internalType":"address","name":"_listManager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"listManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"uint256","name":"_newThreshold","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"modifyThreshold"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategy"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeUser"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"strategies","outputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"bool","name":"active","type":"bool"},{"internalType":"address","name":"councilSafe","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"userScores","outputs":[{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"activateStrategy(address)":{"params":{"_strategy":"address of the strategy to activate"}},"addStrategy(address,uint256,address)":{"params":{"_councilSafe":"address of the council safe","_threshold":"is expressed on a scale of 10**4"}},"addUserScore(address,(uint256,uint256))":{"params":{"_passportData":"PassportData struct with the user score and lastUpdated","_user":"address of the user to add"}},"canExecuteAction(address,address)":{"params":{"_strategy":"address of the strategy to check","_user":"address of the user to check"}},"changeListManager(address)":{"params":{"_newManager":"address of the new list manager"}},"getStrategy(address)":{"params":{"_strategy":"address of the strategy to check"}},"getUserScore(address)":{"params":{"_user":"address of the user to check"}},"modifyThreshold(address,uint256)":{"params":{"_newThreshold":"new threshold to set expressed on a scale of 10**4","_strategy":"address of the strategy to modify"}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"removeStrategy(address)":{"params":{"_strategy":"address of the strategy to remove"}},"removeUser(address)":{"params":{"_user":"address of the user to remove"}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"activateStrategy(address)":{"notice":"Activate a strategy"},"addStrategy(address,uint256,address)":{"notice":"Add a strategy to the contract"},"addUserScore(address,(uint256,uint256))":{"notice":"Add a userScore to the list"},"canExecuteAction(address,address)":{"notice":"Check if an action can be executed"},"changeListManager(address)":{"notice":"Change the list manager address"},"getStrategy(address)":{"notice":"Get the strategy data"},"getUserScore(address)":{"notice":"Get the score of a user"},"modifyThreshold(address,uint256)":{"notice":"Modify the threshold of a strategy"},"removeStrategy(address)":{"notice":"Remove a strategy from the contract"},"removeUser(address)":{"notice":"Remove a user from the list"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/PassportScorer.sol":"PassportScorer"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/PassportScorer.sol":{"keccak256":"0x761ef83b5c9e42fc7a65cec573d4a82e8b4471a917d1148977081d33edaf746d","urls":["bzz-raw://698a8829885901860dcca7d7b2737a0e9d6216e052f21b3d8dedcfca90db4810","dweb:/ipfs/QmSs8CZvEhz2CaSBq6x6fzU4uTPeyHn2Z8HSmc7tq8Cu3z"],"license":"AGPL-3.0-or-later"}},"version":1},"storageLayout":{"storage":[{"astId":52990,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52993,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53695,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52782,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52902,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":70187,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"listManager","offset":0,"slot":"101","type":"t_address"},{"astId":70192,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"userScores","offset":0,"slot":"102","type":"t_mapping(t_address,t_struct(PassportData)70083_storage)"},{"astId":70197,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"strategies","offset":0,"slot":"103","type":"t_mapping(t_address,t_struct(Strategy)70090_storage)"},{"astId":70660,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"__gap","offset":0,"slot":"104","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_struct(PassportData)70083_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct PassportData)","numberOfBytes":"32","value":"t_struct(PassportData)70083_storage"},"t_mapping(t_address,t_struct(Strategy)70090_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct Strategy)","numberOfBytes":"32","value":"t_struct(Strategy)70090_storage"},"t_struct(PassportData)70083_storage":{"encoding":"inplace","label":"struct PassportData","numberOfBytes":"64","members":[{"astId":70080,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"score","offset":0,"slot":"0","type":"t_uint256"},{"astId":70082,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"lastUpdated","offset":0,"slot":"1","type":"t_uint256"}]},"t_struct(Strategy)70090_storage":{"encoding":"inplace","label":"struct Strategy","numberOfBytes":"64","members":[{"astId":70085,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"threshold","offset":0,"slot":"0","type":"t_uint256"},{"astId":70087,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"active","offset":0,"slot":"1","type":"t_bool"},{"astId":70089,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"councilSafe","offset":1,"slot":"1","type":"t_address"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/PassportScorer.sol","id":70662,"exportedSymbols":{"ISybilScorer":[70165],"Initializable":[53152],"OwnableUpgradeable":[52903],"PassportData":[70083],"PassportScorer":[70661],"Strategy":[70090],"UUPSUpgradeable":[55672]},"nodeType":"SourceUnit","src":"46:6369:104","nodes":[{"id":70167,"nodeType":"PragmaDirective","src":"46:24:104","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":70171,"nodeType":"ImportDirective","src":"72:72:104","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"./ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":70662,"sourceUnit":70166,"symbolAliases":[{"foreign":{"id":70168,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70165,"src":"80:12:104","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":70169,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70083,"src":"94:12:104","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":70170,"name":"Strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70090,"src":"108:8:104","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70173,"nodeType":"ImportDirective","src":"145:88:104","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":70662,"sourceUnit":55673,"symbolAliases":[{"foreign":{"id":70172,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55672,"src":"153:15:104","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70175,"nodeType":"ImportDirective","src":"234:110:104","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":70662,"sourceUnit":52904,"symbolAliases":[{"foreign":{"id":70174,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52903,"src":"242:18:104","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70177,"nodeType":"ImportDirective","src":"345:105:104","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":70662,"sourceUnit":53153,"symbolAliases":[{"foreign":{"id":70176,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53152,"src":"353:13:104","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70661,"nodeType":"ContractDefinition","src":"452:5962:104","nodes":[{"id":70187,"nodeType":"VariableDeclaration","src":"550:26:104","nodes":[],"constant":false,"functionSelector":"8df8b2fe","mutability":"mutable","name":"listManager","nameLocation":"565:11:104","scope":70661,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70186,"name":"address","nodeType":"ElementaryTypeName","src":"550:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":70192,"nodeType":"VariableDeclaration","src":"583:50:104","nodes":[],"constant":false,"functionSelector":"1413d4c0","mutability":"mutable","name":"userScores","nameLocation":"623:10:104","scope":70661,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$70083_storage_$","typeString":"mapping(address => struct PassportData)"},"typeName":{"id":70191,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":70188,"name":"address","nodeType":"ElementaryTypeName","src":"591:7:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"583:32:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$70083_storage_$","typeString":"mapping(address => struct PassportData)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":70190,"nodeType":"UserDefinedTypeName","pathNode":{"id":70189,"name":"PassportData","nameLocations":["602:12:104"],"nodeType":"IdentifierPath","referencedDeclaration":70083,"src":"602:12:104"},"referencedDeclaration":70083,"src":"602:12:104","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_storage_ptr","typeString":"struct PassportData"}}},"visibility":"public"},{"id":70197,"nodeType":"VariableDeclaration","src":"639:46:104","nodes":[],"constant":false,"functionSelector":"39ebf823","mutability":"mutable","name":"strategies","nameLocation":"675:10:104","scope":70661,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70090_storage_$","typeString":"mapping(address => struct Strategy)"},"typeName":{"id":70196,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":70193,"name":"address","nodeType":"ElementaryTypeName","src":"647:7:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"639:28:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70090_storage_$","typeString":"mapping(address => struct Strategy)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":70195,"nodeType":"UserDefinedTypeName","pathNode":{"id":70194,"name":"Strategy","nameLocations":["658:8:104"],"nodeType":"IdentifierPath","referencedDeclaration":70090,"src":"658:8:104"},"referencedDeclaration":70090,"src":"658:8:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70090_storage_ptr","typeString":"struct Strategy"}}},"visibility":"public"},{"id":70205,"nodeType":"EventDefinition","src":"692:79:104","nodes":[],"anonymous":false,"eventSelector":"1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d","name":"UserScoreAdded","nameLocation":"698:14:104","parameters":{"id":70204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70199,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"729:4:104","nodeType":"VariableDeclaration","scope":70205,"src":"713:20:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70198,"name":"address","nodeType":"ElementaryTypeName","src":"713:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70201,"indexed":false,"mutability":"mutable","name":"score","nameLocation":"743:5:104","nodeType":"VariableDeclaration","scope":70205,"src":"735:13:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70200,"name":"uint256","nodeType":"ElementaryTypeName","src":"735:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70203,"indexed":false,"mutability":"mutable","name":"lastUpdated","nameLocation":"758:11:104","nodeType":"VariableDeclaration","scope":70205,"src":"750:19:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70202,"name":"uint256","nodeType":"ElementaryTypeName","src":"750:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"712:58:104"}},{"id":70209,"nodeType":"EventDefinition","src":"776:40:104","nodes":[],"anonymous":false,"eventSelector":"e9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d","name":"UserRemoved","nameLocation":"782:11:104","parameters":{"id":70208,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70207,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"810:4:104","nodeType":"VariableDeclaration","scope":70209,"src":"794:20:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70206,"name":"address","nodeType":"ElementaryTypeName","src":"794:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"793:22:104"}},{"id":70215,"nodeType":"EventDefinition","src":"821:81:104","nodes":[],"anonymous":false,"eventSelector":"5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc86","name":"ListManagerChanged","nameLocation":"827:18:104","parameters":{"id":70214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70211,"indexed":true,"mutability":"mutable","name":"oldManager","nameLocation":"862:10:104","nodeType":"VariableDeclaration","scope":70215,"src":"846:26:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70210,"name":"address","nodeType":"ElementaryTypeName","src":"846:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70213,"indexed":true,"mutability":"mutable","name":"newManager","nameLocation":"890:10:104","nodeType":"VariableDeclaration","scope":70215,"src":"874:26:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70212,"name":"address","nodeType":"ElementaryTypeName","src":"874:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"845:56:104"}},{"id":70225,"nodeType":"EventDefinition","src":"907:99:104","nodes":[],"anonymous":false,"eventSelector":"9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb","name":"StrategyAdded","nameLocation":"913:13:104","parameters":{"id":70224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70217,"indexed":true,"mutability":"mutable","name":"strategy","nameLocation":"943:8:104","nodeType":"VariableDeclaration","scope":70225,"src":"927:24:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70216,"name":"address","nodeType":"ElementaryTypeName","src":"927:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70219,"indexed":false,"mutability":"mutable","name":"threshold","nameLocation":"961:9:104","nodeType":"VariableDeclaration","scope":70225,"src":"953:17:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70218,"name":"uint256","nodeType":"ElementaryTypeName","src":"953:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70221,"indexed":false,"mutability":"mutable","name":"active","nameLocation":"977:6:104","nodeType":"VariableDeclaration","scope":70225,"src":"972:11:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70220,"name":"bool","nodeType":"ElementaryTypeName","src":"972:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":70223,"indexed":false,"mutability":"mutable","name":"councilSafe","nameLocation":"993:11:104","nodeType":"VariableDeclaration","scope":70225,"src":"985:19:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70222,"name":"address","nodeType":"ElementaryTypeName","src":"985:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"926:79:104"}},{"id":70229,"nodeType":"EventDefinition","src":"1011:48:104","nodes":[],"anonymous":false,"eventSelector":"09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4","name":"StrategyRemoved","nameLocation":"1017:15:104","parameters":{"id":70228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70227,"indexed":true,"mutability":"mutable","name":"strategy","nameLocation":"1049:8:104","nodeType":"VariableDeclaration","scope":70229,"src":"1033:24:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70226,"name":"address","nodeType":"ElementaryTypeName","src":"1033:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1032:26:104"}},{"id":70233,"nodeType":"EventDefinition","src":"1064:50:104","nodes":[],"anonymous":false,"eventSelector":"652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb","name":"StrategyActivated","nameLocation":"1070:17:104","parameters":{"id":70232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70231,"indexed":true,"mutability":"mutable","name":"strategy","nameLocation":"1104:8:104","nodeType":"VariableDeclaration","scope":70233,"src":"1088:24:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70230,"name":"address","nodeType":"ElementaryTypeName","src":"1088:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1087:26:104"}},{"id":70239,"nodeType":"EventDefinition","src":"1119:72:104","nodes":[],"anonymous":false,"eventSelector":"40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c09","name":"ThresholdModified","nameLocation":"1125:17:104","parameters":{"id":70238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70235,"indexed":true,"mutability":"mutable","name":"strategy","nameLocation":"1159:8:104","nodeType":"VariableDeclaration","scope":70239,"src":"1143:24:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70234,"name":"address","nodeType":"ElementaryTypeName","src":"1143:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70237,"indexed":false,"mutability":"mutable","name":"newThreshold","nameLocation":"1177:12:104","nodeType":"VariableDeclaration","scope":70239,"src":"1169:20:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70236,"name":"uint256","nodeType":"ElementaryTypeName","src":"1169:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1142:48:104"}},{"id":70241,"nodeType":"ErrorDefinition","src":"1197:23:104","nodes":[],"errorSelector":"7d7b71b5","name":"OnlyAuthorized","nameLocation":"1203:14:104","parameters":{"id":70240,"nodeType":"ParameterList","parameters":[],"src":"1217:2:104"}},{"id":70243,"nodeType":"ErrorDefinition","src":"1225:32:104","nodes":[],"errorSelector":"e3b6914b","name":"OnlyCouncilOrAuthorized","nameLocation":"1231:23:104","parameters":{"id":70242,"nodeType":"ParameterList","parameters":[],"src":"1254:2:104"}},{"id":70245,"nodeType":"ErrorDefinition","src":"1262:20:104","nodes":[],"errorSelector":"97ffbac9","name":"OnlyCouncil","nameLocation":"1268:11:104","parameters":{"id":70244,"nodeType":"ParameterList","parameters":[],"src":"1279:2:104"}},{"id":70247,"nodeType":"ErrorDefinition","src":"1287:20:104","nodes":[],"errorSelector":"d92e233d","name":"ZeroAddress","nameLocation":"1293:11:104","parameters":{"id":70246,"nodeType":"ParameterList","parameters":[],"src":"1304:2:104"}},{"id":70249,"nodeType":"ErrorDefinition","src":"1312:30:104","nodes":[],"errorSelector":"c45546f7","name":"StrategyAlreadyExists","nameLocation":"1318:21:104","parameters":{"id":70248,"nodeType":"ParameterList","parameters":[],"src":"1339:2:104"}},{"id":70269,"nodeType":"ModifierDefinition","src":"1348:178:104","nodes":[],"body":{"id":70268,"nodeType":"Block","src":"1374:152:104","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":70260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":70251,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1388:3:104","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1392:6:104","memberName":"sender","nodeType":"MemberAccess","src":"1388:10:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":70253,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52826,"src":"1402:5:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":70254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1402:7:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1388:21:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":70256,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1413:3:104","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1417:6:104","memberName":"sender","nodeType":"MemberAccess","src":"1413:10:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":70258,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70187,"src":"1427:11:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1413:25:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1388:50:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":70266,"nodeType":"Block","src":"1472:48:104","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":70263,"name":"OnlyAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70241,"src":"1493:14:104","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":70264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1493:16:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70265,"nodeType":"RevertStatement","src":"1486:23:104"}]},"id":70267,"nodeType":"IfStatement","src":"1384:136:104","trueBody":{"id":70262,"nodeType":"Block","src":"1440:26:104","statements":[{"id":70261,"nodeType":"PlaceholderStatement","src":"1454:1:104"}]}}]},"name":"onlyAuthorized","nameLocation":"1357:14:104","parameters":{"id":70250,"nodeType":"ParameterList","parameters":[],"src":"1371:2:104"},"virtual":false,"visibility":"internal"},{"id":70299,"nodeType":"ModifierDefinition","src":"1532:264:104","nodes":[],"body":{"id":70298,"nodeType":"Block","src":"1584:212:104","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":70290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":70282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":70273,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1598:3:104","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1602:6:104","memberName":"sender","nodeType":"MemberAccess","src":"1598:10:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":70275,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52826,"src":"1612:5:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":70276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1612:7:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1598:21:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":70278,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1623:3:104","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1627:6:104","memberName":"sender","nodeType":"MemberAccess","src":"1623:10:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":70280,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70187,"src":"1637:11:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1623:25:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1598:50:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":70283,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1652:3:104","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1656:6:104","memberName":"sender","nodeType":"MemberAccess","src":"1652:10:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"baseExpression":{"id":70285,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70197,"src":"1666:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70090_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70287,"indexExpression":{"id":70286,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70271,"src":"1677:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1666:21:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70090_storage","typeString":"struct Strategy storage ref"}},"id":70288,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1688:11:104","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":70089,"src":"1666:33:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1652:47:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1598:101:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":70296,"nodeType":"Block","src":"1733:57:104","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":70293,"name":"OnlyCouncilOrAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70243,"src":"1754:23:104","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":70294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1754:25:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70295,"nodeType":"RevertStatement","src":"1747:32:104"}]},"id":70297,"nodeType":"IfStatement","src":"1594:196:104","trueBody":{"id":70292,"nodeType":"Block","src":"1701:26:104","statements":[{"id":70291,"nodeType":"PlaceholderStatement","src":"1715:1:104"}]}}]},"name":"onlyCouncilOrAuthorized","nameLocation":"1541:23:104","parameters":{"id":70272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70271,"mutability":"mutable","name":"_strategy","nameLocation":"1573:9:104","nodeType":"VariableDeclaration","scope":70299,"src":"1565:17:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70270,"name":"address","nodeType":"ElementaryTypeName","src":"1565:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1564:19:104"},"virtual":false,"visibility":"internal"},{"id":70318,"nodeType":"ModifierDefinition","src":"1802:186:104","nodes":[],"body":{"id":70317,"nodeType":"Block","src":"1842:146:104","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":70303,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1856:3:104","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1860:6:104","memberName":"sender","nodeType":"MemberAccess","src":"1856:10:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"baseExpression":{"id":70305,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70197,"src":"1870:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70090_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70307,"indexExpression":{"id":70306,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70301,"src":"1881:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1870:21:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70090_storage","typeString":"struct Strategy storage ref"}},"id":70308,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1892:11:104","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":70089,"src":"1870:33:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1856:47:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":70315,"nodeType":"Block","src":"1937:45:104","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":70312,"name":"OnlyCouncil","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70245,"src":"1958:11:104","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":70313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1958:13:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70314,"nodeType":"RevertStatement","src":"1951:20:104"}]},"id":70316,"nodeType":"IfStatement","src":"1852:130:104","trueBody":{"id":70311,"nodeType":"Block","src":"1905:26:104","statements":[{"id":70310,"nodeType":"PlaceholderStatement","src":"1919:1:104"}]}}]},"name":"onlyCouncil","nameLocation":"1811:11:104","parameters":{"id":70302,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70301,"mutability":"mutable","name":"_strategy","nameLocation":"1831:9:104","nodeType":"VariableDeclaration","scope":70318,"src":"1823:17:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70300,"name":"address","nodeType":"ElementaryTypeName","src":"1823:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1822:19:104"},"virtual":false,"visibility":"internal"},{"id":70335,"nodeType":"FunctionDefinition","src":"1994:148:104","nodes":[],"body":{"id":70334,"nodeType":"Block","src":"2053:89:104","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":70323,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70320,"src":"2067:8:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":70326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2087:1:104","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":70325,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2079:7:104","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70324,"name":"address","nodeType":"ElementaryTypeName","src":"2079:7:104","typeDescriptions":{}}},"id":70327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2079:10:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2067:22:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70333,"nodeType":"IfStatement","src":"2063:73:104","trueBody":{"id":70332,"nodeType":"Block","src":"2091:45:104","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":70329,"name":"ZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70247,"src":"2112:11:104","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":70330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2112:13:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70331,"nodeType":"RevertStatement","src":"2105:20:104"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"2003:18:104","parameters":{"id":70321,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70320,"mutability":"mutable","name":"_address","nameLocation":"2030:8:104","nodeType":"VariableDeclaration","scope":70335,"src":"2022:16:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70319,"name":"address","nodeType":"ElementaryTypeName","src":"2022:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2021:18:104"},"returnParameters":{"id":70322,"nodeType":"ParameterList","parameters":[],"src":"2053:0:104"},"scope":70661,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":70354,"nodeType":"FunctionDefinition","src":"2201:172:104","nodes":[],"body":{"id":70353,"nodeType":"Block","src":"2262:111:104","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":70342,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52798,"src":"2272:14:104","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":70343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2272:16:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70344,"nodeType":"ExpressionStatement","src":"2272:16:104"},{"expression":{"arguments":[{"id":70346,"name":"_listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70337,"src":"2317:12:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70345,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70335,"src":"2298:18:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2298:32:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70348,"nodeType":"ExpressionStatement","src":"2298:32:104"},{"expression":{"id":70351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70349,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70187,"src":"2340:11:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":70350,"name":"_listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70337,"src":"2354:12:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2340:26:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70352,"nodeType":"ExpressionStatement","src":"2340:26:104"}]},"baseFunctions":[70095],"functionSelector":"c4d66de8","implemented":true,"kind":"function","modifiers":[{"id":70340,"kind":"modifierInvocation","modifierName":{"id":70339,"name":"initializer","nameLocations":["2250:11:104"],"nodeType":"IdentifierPath","referencedDeclaration":53054,"src":"2250:11:104"},"nodeType":"ModifierInvocation","src":"2250:11:104"}],"name":"initialize","nameLocation":"2210:10:104","parameters":{"id":70338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70337,"mutability":"mutable","name":"_listManager","nameLocation":"2229:12:104","nodeType":"VariableDeclaration","scope":70354,"src":"2221:20:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70336,"name":"address","nodeType":"ElementaryTypeName","src":"2221:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2220:22:104"},"returnParameters":{"id":70341,"nodeType":"ParameterList","parameters":[],"src":"2262:0:104"},"scope":70661,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":70385,"nodeType":"FunctionDefinition","src":"2556:274:104","nodes":[],"body":{"id":70384,"nodeType":"Block","src":"2661:169:104","nodes":[],"statements":[{"expression":{"arguments":[{"id":70367,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70357,"src":"2690:5:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70366,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70335,"src":"2671:18:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2671:25:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70369,"nodeType":"ExpressionStatement","src":"2671:25:104"},{"expression":{"id":70374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":70370,"name":"userScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70192,"src":"2706:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$70083_storage_$","typeString":"mapping(address => struct PassportData storage ref)"}},"id":70372,"indexExpression":{"id":70371,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70357,"src":"2717:5:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2706:17:104","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_storage","typeString":"struct PassportData storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":70373,"name":"_passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70360,"src":"2726:13:104","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_memory_ptr","typeString":"struct PassportData memory"}},"src":"2706:33:104","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_storage","typeString":"struct PassportData storage ref"}},"id":70375,"nodeType":"ExpressionStatement","src":"2706:33:104"},{"eventCall":{"arguments":[{"id":70377,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70357,"src":"2769:5:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":70378,"name":"_passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70360,"src":"2776:13:104","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_memory_ptr","typeString":"struct PassportData memory"}},"id":70379,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2790:5:104","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":70080,"src":"2776:19:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":70380,"name":"_passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70360,"src":"2797:13:104","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_memory_ptr","typeString":"struct PassportData memory"}},"id":70381,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2811:11:104","memberName":"lastUpdated","nodeType":"MemberAccess","referencedDeclaration":70082,"src":"2797:25:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":70376,"name":"UserScoreAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70205,"src":"2754:14:104","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":70382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2754:69:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70383,"nodeType":"EmitStatement","src":"2749:74:104"}]},"baseFunctions":[70103],"documentation":{"id":70355,"nodeType":"StructuredDocumentation","src":"2379:172:104","text":"@notice Add a userScore to the list\n @param _user address of the user to add\n @param _passportData PassportData struct with the user score and lastUpdated"},"functionSelector":"7814d568","implemented":true,"kind":"function","modifiers":[{"id":70364,"kind":"modifierInvocation","modifierName":{"id":70363,"name":"onlyAuthorized","nameLocations":["2646:14:104"],"nodeType":"IdentifierPath","referencedDeclaration":70269,"src":"2646:14:104"},"nodeType":"ModifierInvocation","src":"2646:14:104"}],"name":"addUserScore","nameLocation":"2565:12:104","overrides":{"id":70362,"nodeType":"OverrideSpecifier","overrides":[],"src":"2637:8:104"},"parameters":{"id":70361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70357,"mutability":"mutable","name":"_user","nameLocation":"2586:5:104","nodeType":"VariableDeclaration","scope":70385,"src":"2578:13:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70356,"name":"address","nodeType":"ElementaryTypeName","src":"2578:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70360,"mutability":"mutable","name":"_passportData","nameLocation":"2613:13:104","nodeType":"VariableDeclaration","scope":70385,"src":"2593:33:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":70359,"nodeType":"UserDefinedTypeName","pathNode":{"id":70358,"name":"PassportData","nameLocations":["2593:12:104"],"nodeType":"IdentifierPath","referencedDeclaration":70083,"src":"2593:12:104"},"referencedDeclaration":70083,"src":"2593:12:104","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"src":"2577:50:104"},"returnParameters":{"id":70365,"nodeType":"ParameterList","parameters":[],"src":"2661:0:104"},"scope":70661,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":70408,"nodeType":"FunctionDefinition","src":"2931:177:104","nodes":[],"body":{"id":70407,"nodeType":"Block","src":"2999:109:104","nodes":[],"statements":[{"expression":{"arguments":[{"id":70395,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70388,"src":"3028:5:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70394,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70335,"src":"3009:18:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3009:25:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70397,"nodeType":"ExpressionStatement","src":"3009:25:104"},{"expression":{"id":70401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"3044:24:104","subExpression":{"baseExpression":{"id":70398,"name":"userScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70192,"src":"3051:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$70083_storage_$","typeString":"mapping(address => struct PassportData storage ref)"}},"id":70400,"indexExpression":{"id":70399,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70388,"src":"3062:5:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3051:17:104","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_storage","typeString":"struct PassportData storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70402,"nodeType":"ExpressionStatement","src":"3044:24:104"},{"eventCall":{"arguments":[{"id":70404,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70388,"src":"3095:5:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70403,"name":"UserRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70209,"src":"3083:11:104","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":70405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3083:18:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70406,"nodeType":"EmitStatement","src":"3078:23:104"}]},"baseFunctions":[70108],"documentation":{"id":70386,"nodeType":"StructuredDocumentation","src":"2836:90:104","text":"@notice Remove a user from the list\n @param _user address of the user to remove"},"functionSelector":"98575188","implemented":true,"kind":"function","modifiers":[{"id":70392,"kind":"modifierInvocation","modifierName":{"id":70391,"name":"onlyAuthorized","nameLocations":["2984:14:104"],"nodeType":"IdentifierPath","referencedDeclaration":70269,"src":"2984:14:104"},"nodeType":"ModifierInvocation","src":"2984:14:104"}],"name":"removeUser","nameLocation":"2940:10:104","overrides":{"id":70390,"nodeType":"OverrideSpecifier","overrides":[],"src":"2975:8:104"},"parameters":{"id":70389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70388,"mutability":"mutable","name":"_user","nameLocation":"2959:5:104","nodeType":"VariableDeclaration","scope":70408,"src":"2951:13:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70387,"name":"address","nodeType":"ElementaryTypeName","src":"2951:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2950:15:104"},"returnParameters":{"id":70393,"nodeType":"ParameterList","parameters":[],"src":"2999:0:104"},"scope":70661,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":70435,"nodeType":"FunctionDefinition","src":"3221:259:104","nodes":[],"body":{"id":70434,"nodeType":"Block","src":"3297:183:104","nodes":[],"statements":[{"expression":{"arguments":[{"id":70418,"name":"_newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70411,"src":"3326:11:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70417,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70335,"src":"3307:18:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3307:31:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70420,"nodeType":"ExpressionStatement","src":"3307:31:104"},{"assignments":[70422],"declarations":[{"constant":false,"id":70422,"mutability":"mutable","name":"oldManager","nameLocation":"3356:10:104","nodeType":"VariableDeclaration","scope":70434,"src":"3348:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70421,"name":"address","nodeType":"ElementaryTypeName","src":"3348:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":70424,"initialValue":{"id":70423,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70187,"src":"3369:11:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3348:32:104"},{"expression":{"id":70427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70425,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70187,"src":"3390:11:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":70426,"name":"_newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70411,"src":"3404:11:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3390:25:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70428,"nodeType":"ExpressionStatement","src":"3390:25:104"},{"eventCall":{"arguments":[{"id":70430,"name":"oldManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70422,"src":"3449:10:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":70431,"name":"_newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70411,"src":"3461:11:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":70429,"name":"ListManagerChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70215,"src":"3430:18:104","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":70432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3430:43:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70433,"nodeType":"EmitStatement","src":"3425:48:104"}]},"baseFunctions":[70113],"documentation":{"id":70409,"nodeType":"StructuredDocumentation","src":"3114:102:104","text":"@notice Change the list manager address\n @param _newManager address of the new list manager"},"functionSelector":"3d476830","implemented":true,"kind":"function","modifiers":[{"id":70415,"kind":"modifierInvocation","modifierName":{"id":70414,"name":"onlyOwner","nameLocations":["3287:9:104"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"3287:9:104"},"nodeType":"ModifierInvocation","src":"3287:9:104"}],"name":"changeListManager","nameLocation":"3230:17:104","overrides":{"id":70413,"nodeType":"OverrideSpecifier","overrides":[],"src":"3278:8:104"},"parameters":{"id":70412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70411,"mutability":"mutable","name":"_newManager","nameLocation":"3256:11:104","nodeType":"VariableDeclaration","scope":70435,"src":"3248:19:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70410,"name":"address","nodeType":"ElementaryTypeName","src":"3248:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3247:21:104"},"returnParameters":{"id":70416,"nodeType":"ParameterList","parameters":[],"src":"3297:0:104"},"scope":70661,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":70494,"nodeType":"FunctionDefinition","src":"3648:532:104","nodes":[],"body":{"id":70493,"nodeType":"Block","src":"3754:426:104","nodes":[],"statements":[{"expression":{"arguments":[{"id":70448,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70438,"src":"3783:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70447,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70335,"src":"3764:18:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3764:29:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70450,"nodeType":"ExpressionStatement","src":"3764:29:104"},{"expression":{"arguments":[{"id":70452,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70442,"src":"3822:12:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70451,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70335,"src":"3803:18:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3803:32:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70454,"nodeType":"ExpressionStatement","src":"3803:32:104"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":70470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":70460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":70455,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70197,"src":"3849:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70090_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70457,"indexExpression":{"id":70456,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70438,"src":"3860:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3849:21:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70090_storage","typeString":"struct Strategy storage ref"}},"id":70458,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3871:9:104","memberName":"threshold","nodeType":"MemberAccess","referencedDeclaration":70085,"src":"3849:31:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":70459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3884:1:104","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3849:36:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":70461,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70197,"src":"3889:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70090_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70463,"indexExpression":{"id":70462,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70438,"src":"3900:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3889:21:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70090_storage","typeString":"struct Strategy storage ref"}},"id":70464,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3911:11:104","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":70089,"src":"3889:33:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":70467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3934:1:104","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":70466,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3926:7:104","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70465,"name":"address","nodeType":"ElementaryTypeName","src":"3926:7:104","typeDescriptions":{}}},"id":70468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3926:10:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3889:47:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3849:87:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70475,"nodeType":"IfStatement","src":"3845:148:104","trueBody":{"id":70474,"nodeType":"Block","src":"3938:55:104","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":70471,"name":"StrategyAlreadyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70249,"src":"3959:21:104","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":70472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3959:23:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70473,"nodeType":"RevertStatement","src":"3952:30:104"}]}},{"expression":{"id":70484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":70476,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70197,"src":"4002:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70090_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70478,"indexExpression":{"id":70477,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70438,"src":"4013:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4002:21:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70090_storage","typeString":"struct Strategy storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":70480,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70440,"src":"4047:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":70481,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4067:5:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"id":70482,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70442,"src":"4087:12:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"id":70479,"name":"Strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70090,"src":"4026:8:104","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Strategy_$70090_storage_ptr_$","typeString":"type(struct Strategy storage pointer)"}},"id":70483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["4036:9:104","4059:6:104","4074:11:104"],"names":["threshold","active","councilSafe"],"nodeType":"FunctionCall","src":"4026:75:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70090_memory_ptr","typeString":"struct Strategy memory"}},"src":"4002:99:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70090_storage","typeString":"struct Strategy storage ref"}},"id":70485,"nodeType":"ExpressionStatement","src":"4002:99:104"},{"eventCall":{"arguments":[{"id":70487,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70438,"src":"4130:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":70488,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70440,"src":"4141:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":70489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4153:5:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"id":70490,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70442,"src":"4160:12:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"id":70486,"name":"StrategyAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70225,"src":"4116:13:104","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bool_$_t_address_$returns$__$","typeString":"function (address,uint256,bool,address)"}},"id":70491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4116:57:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70492,"nodeType":"EmitStatement","src":"4111:62:104"}]},"baseFunctions":[70138],"documentation":{"id":70436,"nodeType":"StructuredDocumentation","src":"3486:157:104","text":"@notice Add a strategy to the contract\n @param _threshold is expressed on a scale of 10**4\n @param _councilSafe address of the council safe"},"functionSelector":"fc2ebdd1","implemented":true,"kind":"function","modifiers":[{"id":70445,"kind":"modifierInvocation","modifierName":{"id":70444,"name":"onlyAuthorized","nameLocations":["3739:14:104"],"nodeType":"IdentifierPath","referencedDeclaration":70269,"src":"3739:14:104"},"nodeType":"ModifierInvocation","src":"3739:14:104"}],"name":"addStrategy","nameLocation":"3657:11:104","parameters":{"id":70443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70438,"mutability":"mutable","name":"_strategy","nameLocation":"3677:9:104","nodeType":"VariableDeclaration","scope":70494,"src":"3669:17:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70437,"name":"address","nodeType":"ElementaryTypeName","src":"3669:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70440,"mutability":"mutable","name":"_threshold","nameLocation":"3696:10:104","nodeType":"VariableDeclaration","scope":70494,"src":"3688:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70439,"name":"uint256","nodeType":"ElementaryTypeName","src":"3688:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70442,"mutability":"mutable","name":"_councilSafe","nameLocation":"3716:12:104","nodeType":"VariableDeclaration","scope":70494,"src":"3708:20:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70441,"name":"address","nodeType":"ElementaryTypeName","src":"3708:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3668:61:104"},"returnParameters":{"id":70446,"nodeType":"ParameterList","parameters":[],"src":"3754:0:104"},"scope":70661,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":70527,"nodeType":"FunctionDefinition","src":"4297:274:104","nodes":[],"body":{"id":70526,"nodeType":"Block","src":"4393:178:104","nodes":[],"statements":[{"expression":{"arguments":[{"id":70505,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70497,"src":"4422:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70504,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70335,"src":"4403:18:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4403:29:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70507,"nodeType":"ExpressionStatement","src":"4403:29:104"},{"expression":{"id":70513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":70508,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70197,"src":"4442:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70090_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70510,"indexExpression":{"id":70509,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70497,"src":"4453:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4442:21:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70090_storage","typeString":"struct Strategy storage ref"}},"id":70511,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4464:6:104","memberName":"active","nodeType":"MemberAccess","referencedDeclaration":70087,"src":"4442:28:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":70512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4473:5:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"4442:36:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70514,"nodeType":"ExpressionStatement","src":"4442:36:104"},{"expression":{"id":70520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":70515,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70197,"src":"4488:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70090_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70517,"indexExpression":{"id":70516,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70497,"src":"4499:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4488:21:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70090_storage","typeString":"struct Strategy storage ref"}},"id":70518,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4510:9:104","memberName":"threshold","nodeType":"MemberAccess","referencedDeclaration":70085,"src":"4488:31:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":70519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4522:1:104","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4488:35:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70521,"nodeType":"ExpressionStatement","src":"4488:35:104"},{"eventCall":{"arguments":[{"id":70523,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70497,"src":"4554:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70522,"name":"StrategyRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70229,"src":"4538:15:104","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":70524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4538:26:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70525,"nodeType":"EmitStatement","src":"4533:31:104"}]},"baseFunctions":[70143],"documentation":{"id":70495,"nodeType":"StructuredDocumentation","src":"4186:106:104","text":"@notice Remove a strategy from the contract\n @param _strategy address of the strategy to remove"},"functionSelector":"175188e8","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":70501,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70497,"src":"4382:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":70502,"kind":"modifierInvocation","modifierName":{"id":70500,"name":"onlyCouncilOrAuthorized","nameLocations":["4358:23:104"],"nodeType":"IdentifierPath","referencedDeclaration":70299,"src":"4358:23:104"},"nodeType":"ModifierInvocation","src":"4358:34:104"}],"name":"removeStrategy","nameLocation":"4306:14:104","overrides":{"id":70499,"nodeType":"OverrideSpecifier","overrides":[],"src":"4349:8:104"},"parameters":{"id":70498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70497,"mutability":"mutable","name":"_strategy","nameLocation":"4329:9:104","nodeType":"VariableDeclaration","scope":70527,"src":"4321:17:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70496,"name":"address","nodeType":"ElementaryTypeName","src":"4321:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4320:19:104"},"returnParameters":{"id":70503,"nodeType":"ParameterList","parameters":[],"src":"4393:0:104"},"scope":70661,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":70552,"nodeType":"FunctionDefinition","src":"4674:211:104","nodes":[],"body":{"id":70551,"nodeType":"Block","src":"4751:134:104","nodes":[],"statements":[{"expression":{"arguments":[{"id":70537,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70530,"src":"4780:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70536,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70335,"src":"4761:18:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4761:29:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70539,"nodeType":"ExpressionStatement","src":"4761:29:104"},{"expression":{"id":70545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":70540,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70197,"src":"4800:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70090_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70542,"indexExpression":{"id":70541,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70530,"src":"4811:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4800:21:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70090_storage","typeString":"struct Strategy storage ref"}},"id":70543,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4822:6:104","memberName":"active","nodeType":"MemberAccess","referencedDeclaration":70087,"src":"4800:28:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":70544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4831:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"4800:35:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70546,"nodeType":"ExpressionStatement","src":"4800:35:104"},{"eventCall":{"arguments":[{"id":70548,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70530,"src":"4868:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70547,"name":"StrategyActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70233,"src":"4850:17:104","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":70549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4850:28:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70550,"nodeType":"EmitStatement","src":"4845:33:104"}]},"baseFunctions":[70148],"documentation":{"id":70528,"nodeType":"StructuredDocumentation","src":"4577:92:104","text":"@notice Activate a strategy\n @param _strategy address of the strategy to activate"},"functionSelector":"d80ea5a0","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":70533,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70530,"src":"4740:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":70534,"kind":"modifierInvocation","modifierName":{"id":70532,"name":"onlyCouncil","nameLocations":["4728:11:104"],"nodeType":"IdentifierPath","referencedDeclaration":70318,"src":"4728:11:104"},"nodeType":"ModifierInvocation","src":"4728:22:104"}],"name":"activateStrategy","nameLocation":"4683:16:104","parameters":{"id":70531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70530,"mutability":"mutable","name":"_strategy","nameLocation":"4708:9:104","nodeType":"VariableDeclaration","scope":70552,"src":"4700:17:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70529,"name":"address","nodeType":"ElementaryTypeName","src":"4700:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4699:19:104"},"returnParameters":{"id":70535,"nodeType":"ParameterList","parameters":[],"src":"4751:0:104"},"scope":70661,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":70580,"nodeType":"FunctionDefinition","src":"5081:272:104","nodes":[],"body":{"id":70579,"nodeType":"Block","src":"5192:161:104","nodes":[],"statements":[{"expression":{"arguments":[{"id":70564,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70555,"src":"5221:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70563,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70335,"src":"5202:18:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5202:29:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70566,"nodeType":"ExpressionStatement","src":"5202:29:104"},{"expression":{"id":70572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":70567,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70197,"src":"5241:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70090_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70569,"indexExpression":{"id":70568,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70555,"src":"5252:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5241:21:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70090_storage","typeString":"struct Strategy storage ref"}},"id":70570,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5263:9:104","memberName":"threshold","nodeType":"MemberAccess","referencedDeclaration":70085,"src":"5241:31:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":70571,"name":"_newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70557,"src":"5275:13:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5241:47:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70573,"nodeType":"ExpressionStatement","src":"5241:47:104"},{"eventCall":{"arguments":[{"id":70575,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70555,"src":"5321:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":70576,"name":"_newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70557,"src":"5332:13:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":70574,"name":"ThresholdModified","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70239,"src":"5303:17:104","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":70577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5303:43:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70578,"nodeType":"EmitStatement","src":"5298:48:104"}]},"baseFunctions":[70129],"documentation":{"id":70553,"nodeType":"StructuredDocumentation","src":"4891:185:104","text":"@notice Modify the threshold of a strategy\n @param _strategy address of the strategy to modify\n @param _newThreshold new threshold to set expressed on a scale of 10**4"},"functionSelector":"642ce76b","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":70560,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70555,"src":"5181:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":70561,"kind":"modifierInvocation","modifierName":{"id":70559,"name":"onlyCouncilOrAuthorized","nameLocations":["5157:23:104"],"nodeType":"IdentifierPath","referencedDeclaration":70299,"src":"5157:23:104"},"nodeType":"ModifierInvocation","src":"5157:34:104"}],"name":"modifyThreshold","nameLocation":"5090:15:104","parameters":{"id":70558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70555,"mutability":"mutable","name":"_strategy","nameLocation":"5114:9:104","nodeType":"VariableDeclaration","scope":70580,"src":"5106:17:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70554,"name":"address","nodeType":"ElementaryTypeName","src":"5106:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70557,"mutability":"mutable","name":"_newThreshold","nameLocation":"5133:13:104","nodeType":"VariableDeclaration","scope":70580,"src":"5125:21:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70556,"name":"uint256","nodeType":"ElementaryTypeName","src":"5125:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5105:42:104"},"returnParameters":{"id":70562,"nodeType":"ParameterList","parameters":[],"src":"5192:0:104"},"scope":70661,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":70619,"nodeType":"FunctionDefinition","src":"5518:345:104","nodes":[],"body":{"id":70618,"nodeType":"Block","src":"5616:247:104","nodes":[],"statements":[{"assignments":[70593],"declarations":[{"constant":false,"id":70593,"mutability":"mutable","name":"userScore","nameLocation":"5646:9:104","nodeType":"VariableDeclaration","scope":70618,"src":"5626:29:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":70592,"nodeType":"UserDefinedTypeName","pathNode":{"id":70591,"name":"PassportData","nameLocations":["5626:12:104"],"nodeType":"IdentifierPath","referencedDeclaration":70083,"src":"5626:12:104"},"referencedDeclaration":70083,"src":"5626:12:104","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"id":70597,"initialValue":{"baseExpression":{"id":70594,"name":"userScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70192,"src":"5658:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$70083_storage_$","typeString":"mapping(address => struct PassportData storage ref)"}},"id":70596,"indexExpression":{"id":70595,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70583,"src":"5669:5:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5658:17:104","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_storage","typeString":"struct PassportData storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5626:49:104"},{"assignments":[70600],"declarations":[{"constant":false,"id":70600,"mutability":"mutable","name":"strategy","nameLocation":"5701:8:104","nodeType":"VariableDeclaration","scope":70618,"src":"5685:24:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70090_memory_ptr","typeString":"struct Strategy"},"typeName":{"id":70599,"nodeType":"UserDefinedTypeName","pathNode":{"id":70598,"name":"Strategy","nameLocations":["5685:8:104"],"nodeType":"IdentifierPath","referencedDeclaration":70090,"src":"5685:8:104"},"referencedDeclaration":70090,"src":"5685:8:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70090_storage_ptr","typeString":"struct Strategy"}},"visibility":"internal"}],"id":70604,"initialValue":{"baseExpression":{"id":70601,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70197,"src":"5712:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70090_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70603,"indexExpression":{"id":70602,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70585,"src":"5723:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5712:21:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70090_storage","typeString":"struct Strategy storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5685:48:104"},{"condition":{"id":70607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5748:16:104","subExpression":{"expression":{"id":70605,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70600,"src":"5749:8:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70090_memory_ptr","typeString":"struct Strategy memory"}},"id":70606,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5758:6:104","memberName":"active","nodeType":"MemberAccess","referencedDeclaration":70087,"src":"5749:15:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70611,"nodeType":"IfStatement","src":"5744:58:104","trueBody":{"id":70610,"nodeType":"Block","src":"5766:36:104","statements":[{"expression":{"hexValue":"74727565","id":70608,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5787:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":70590,"id":70609,"nodeType":"Return","src":"5780:11:104"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":70616,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":70612,"name":"userScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70593,"src":"5819:9:104","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_memory_ptr","typeString":"struct PassportData memory"}},"id":70613,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5829:5:104","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":70080,"src":"5819:15:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":70614,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70600,"src":"5838:8:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70090_memory_ptr","typeString":"struct Strategy memory"}},"id":70615,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5847:9:104","memberName":"threshold","nodeType":"MemberAccess","referencedDeclaration":70085,"src":"5838:18:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5819:37:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":70590,"id":70617,"nodeType":"Return","src":"5812:44:104"}]},"baseFunctions":[70122],"documentation":{"id":70581,"nodeType":"StructuredDocumentation","src":"5359:154:104","text":"@notice Check if an action can be executed\n @param _user address of the user to check\n @param _strategy address of the strategy to check"},"functionSelector":"42a987a0","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteAction","nameLocation":"5527:16:104","overrides":{"id":70587,"nodeType":"OverrideSpecifier","overrides":[],"src":"5592:8:104"},"parameters":{"id":70586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70583,"mutability":"mutable","name":"_user","nameLocation":"5552:5:104","nodeType":"VariableDeclaration","scope":70619,"src":"5544:13:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70582,"name":"address","nodeType":"ElementaryTypeName","src":"5544:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70585,"mutability":"mutable","name":"_strategy","nameLocation":"5567:9:104","nodeType":"VariableDeclaration","scope":70619,"src":"5559:17:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70584,"name":"address","nodeType":"ElementaryTypeName","src":"5559:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5543:34:104"},"returnParameters":{"id":70590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70589,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70619,"src":"5610:4:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70588,"name":"bool","nodeType":"ElementaryTypeName","src":"5610:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5609:6:104"},"scope":70661,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":70633,"nodeType":"FunctionDefinition","src":"5959:122:104","nodes":[],"body":{"id":70632,"nodeType":"Block","src":"6040:41:104","nodes":[],"statements":[{"expression":{"baseExpression":{"id":70628,"name":"userScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70192,"src":"6057:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$70083_storage_$","typeString":"mapping(address => struct PassportData storage ref)"}},"id":70630,"indexExpression":{"id":70629,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70622,"src":"6068:5:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6057:17:104","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_storage","typeString":"struct PassportData storage ref"}},"functionReturnParameters":70627,"id":70631,"nodeType":"Return","src":"6050:24:104"}]},"baseFunctions":[70156],"documentation":{"id":70620,"nodeType":"StructuredDocumentation","src":"5869:85:104","text":"@notice Get the score of a user\n @param _user address of the user to check"},"functionSelector":"b34e0c47","implemented":true,"kind":"function","modifiers":[],"name":"getUserScore","nameLocation":"5968:12:104","parameters":{"id":70623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70622,"mutability":"mutable","name":"_user","nameLocation":"5989:5:104","nodeType":"VariableDeclaration","scope":70633,"src":"5981:13:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70621,"name":"address","nodeType":"ElementaryTypeName","src":"5981:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5980:15:104"},"returnParameters":{"id":70627,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70626,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70633,"src":"6019:19:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":70625,"nodeType":"UserDefinedTypeName","pathNode":{"id":70624,"name":"PassportData","nameLocations":["6019:12:104"],"nodeType":"IdentifierPath","referencedDeclaration":70083,"src":"6019:12:104"},"referencedDeclaration":70083,"src":"6019:12:104","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"src":"6018:21:104"},"scope":70661,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":70647,"nodeType":"FunctionDefinition","src":"6183:125:104","nodes":[],"body":{"id":70646,"nodeType":"Block","src":"6263:45:104","nodes":[],"statements":[{"expression":{"baseExpression":{"id":70642,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70197,"src":"6280:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70090_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70644,"indexExpression":{"id":70643,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70636,"src":"6291:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6280:21:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70090_storage","typeString":"struct Strategy storage ref"}},"functionReturnParameters":70641,"id":70645,"nodeType":"Return","src":"6273:28:104"}]},"baseFunctions":[70164],"documentation":{"id":70634,"nodeType":"StructuredDocumentation","src":"6087:91:104","text":"@notice Get the strategy data\n @param _strategy address of the strategy to check"},"functionSelector":"f8806a13","implemented":true,"kind":"function","modifiers":[],"name":"getStrategy","nameLocation":"6192:11:104","parameters":{"id":70637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70636,"mutability":"mutable","name":"_strategy","nameLocation":"6212:9:104","nodeType":"VariableDeclaration","scope":70647,"src":"6204:17:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70635,"name":"address","nodeType":"ElementaryTypeName","src":"6204:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6203:19:104"},"returnParameters":{"id":70641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70640,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70647,"src":"6246:15:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70090_memory_ptr","typeString":"struct Strategy"},"typeName":{"id":70639,"nodeType":"UserDefinedTypeName","pathNode":{"id":70638,"name":"Strategy","nameLocations":["6246:8:104"],"nodeType":"IdentifierPath","referencedDeclaration":70090,"src":"6246:8:104"},"referencedDeclaration":70090,"src":"6246:8:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70090_storage_ptr","typeString":"struct Strategy"}},"visibility":"internal"}],"src":"6245:17:104"},"scope":70661,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":70656,"nodeType":"FunctionDefinition","src":"6314:66:104","nodes":[],"body":{"id":70655,"nodeType":"Block","src":"6378:2:104","nodes":[],"statements":[]},"baseFunctions":[55671],"implemented":true,"kind":"function","modifiers":[{"id":70653,"kind":"modifierInvocation","modifierName":{"id":70652,"name":"onlyOwner","nameLocations":["6368:9:104"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"6368:9:104"},"nodeType":"ModifierInvocation","src":"6368:9:104"}],"name":"_authorizeUpgrade","nameLocation":"6323:17:104","overrides":{"id":70651,"nodeType":"OverrideSpecifier","overrides":[],"src":"6359:8:104"},"parameters":{"id":70650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70649,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70656,"src":"6341:7:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70648,"name":"address","nodeType":"ElementaryTypeName","src":"6341:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6340:9:104"},"returnParameters":{"id":70654,"nodeType":"ParameterList","parameters":[],"src":"6378:0:104"},"scope":70661,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":70660,"nodeType":"VariableDeclaration","src":"6386:25:104","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"6406:5:104","scope":70661,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":70657,"name":"uint256","nodeType":"ElementaryTypeName","src":"6386:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70659,"length":{"hexValue":"3530","id":70658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6394:2:104","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"6386:11:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":70178,"name":"Initializable","nameLocations":["479:13:104"],"nodeType":"IdentifierPath","referencedDeclaration":53152,"src":"479:13:104"},"id":70179,"nodeType":"InheritanceSpecifier","src":"479:13:104"},{"baseName":{"id":70180,"name":"UUPSUpgradeable","nameLocations":["494:15:104"],"nodeType":"IdentifierPath","referencedDeclaration":55672,"src":"494:15:104"},"id":70181,"nodeType":"InheritanceSpecifier","src":"494:15:104"},{"baseName":{"id":70182,"name":"OwnableUpgradeable","nameLocations":["511:18:104"],"nodeType":"IdentifierPath","referencedDeclaration":52903,"src":"511:18:104"},"id":70183,"nodeType":"InheritanceSpecifier","src":"511:18:104"},{"baseName":{"id":70184,"name":"ISybilScorer","nameLocations":["531:12:104"],"nodeType":"IdentifierPath","referencedDeclaration":70165,"src":"531:12:104"},"id":70185,"nodeType":"InheritanceSpecifier","src":"531:12:104"}],"canonicalName":"PassportScorer","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[70661,70165,52903,53696,55672,53152,55325,54974,54984],"name":"PassportScorer","nameLocation":"461:14:104","scope":70662,"usedErrors":[70241,70243,70245,70247,70249]}],"license":"AGPL-3.0-or-later"},"id":104} \ No newline at end of file +{"abi":[{"type":"function","name":"activateStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"},{"name":"_threshold","type":"uint256","internalType":"uint256"},{"name":"_councilSafe","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addUserScore","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_passportData","type":"tuple","internalType":"struct PassportData","components":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"canExecuteAction","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"changeListManager","inputs":[{"name":"_newManager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Strategy","components":[{"name":"threshold","type":"uint256","internalType":"uint256"},{"name":"active","type":"bool","internalType":"bool"},{"name":"councilSafe","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getUserScore","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct PassportData","components":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_listManager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"listManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"modifyThreshold","inputs":[{"name":"_strategy","type":"address","internalType":"address"},{"name":"_newThreshold","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"removeStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategies","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"threshold","type":"uint256","internalType":"uint256"},{"name":"active","type":"bool","internalType":"bool"},{"name":"councilSafe","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"userScores","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"ListManagerChanged","inputs":[{"name":"oldManager","type":"address","indexed":true,"internalType":"address"},{"name":"newManager","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyActivated","inputs":[{"name":"strategy","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyAdded","inputs":[{"name":"strategy","type":"address","indexed":true,"internalType":"address"},{"name":"threshold","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"active","type":"bool","indexed":false,"internalType":"bool"},{"name":"councilSafe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"strategy","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ThresholdModified","inputs":[{"name":"strategy","type":"address","indexed":true,"internalType":"address"},{"name":"newThreshold","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UserRemoved","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UserScoreAdded","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"score","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"lastUpdated","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"OnlyAuthorized","inputs":[]},{"type":"error","name":"OnlyCouncil","inputs":[]},{"type":"error","name":"OnlyCouncilOrAuthorized","inputs":[]},{"type":"error","name":"StrategyAlreadyExists","inputs":[]},{"type":"error","name":"ZeroAddress","inputs":[]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b506080516117f161004c600039600081816105a9015281816105f201528181610765015281816107a5015261081d01526117f16000f3fe6080604052600436106100ef5760003560e01c80631413d4c0146100f4578063175188e8146101425780633659cfe61461016457806339ebf823146101845780633d476830146101da57806342a987a0146101fa5780634f1ef2861461022a57806352d1902d1461023d578063642ce76b14610260578063715018a6146102805780637814d568146102955780638da5cb5b146102b55780638df8b2fe146102e25780639857518814610302578063b34e0c4714610322578063c4d66de81461039f578063d80ea5a0146103bf578063f2fde38b146103df578063f8806a13146103ff578063fc2ebdd1146104a5575b600080fd5b34801561010057600080fd5b5061012861010f3660046113d9565b6066602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b34801561014e57600080fd5b5061016261015d3660046113d9565b6104c5565b005b34801561017057600080fd5b5061016261017f3660046113d9565b61059f565b34801561019057600080fd5b506101cb61019f3660046113d9565b6067602052600090815260409020805460019091015460ff81169061010090046001600160a01b031683565b604051610139939291906113f4565b3480156101e657600080fd5b506101626101f53660046113d9565b610670565b34801561020657600080fd5b5061021a610215366004611413565b6106d3565b6040519015158152602001610139565b61016261023836600461148c565b61075b565b34801561024957600080fd5b50610252610810565b604051908152602001610139565b34801561026c57600080fd5b5061016261027b366004611531565b6108be565b34801561028c57600080fd5b50610162610989565b3480156102a157600080fd5b506101626102b036600461155b565b61099d565b3480156102c157600080fd5b506102ca610a5a565b6040516001600160a01b039091168152602001610139565b3480156102ee57600080fd5b506065546102ca906001600160a01b031681565b34801561030e57600080fd5b5061016261031d3660046113d9565b610a69565b34801561032e57600080fd5b5061038461033d3660046113d9565b6040805180820190915260008082526020820152506001600160a01b0316600090815260666020908152604091829020825180840190935280548352600101549082015290565b60408051825181526020928301519281019290925201610139565b3480156103ab57600080fd5b506101626103ba3660046113d9565b610af2565b3480156103cb57600080fd5b506101626103da3660046113d9565b610c2e565b3480156103eb57600080fd5b506101626103fa3660046113d9565b610cce565b34801561040b57600080fd5b5061047861041a3660046113d9565b6040805160608082018352600080835260208084018290529284018190526001600160a01b0394851681526067835283902083519182018452805482526001015460ff81161515928201929092526101009091049092169082015290565b6040805182518152602080840151151590820152918101516001600160a01b031690820152606001610139565b3480156104b157600080fd5b506101626104c03660046115cd565b610d44565b806104ce610a5a565b6001600160a01b0316336001600160a01b031614806104f757506065546001600160a01b031633145b8061052357506001600160a01b0381811660009081526067602052604090206001015461010090041633145b156105825761053182610e96565b6001600160a01b03821660008181526067602052604080822060018101805460ff19169055829055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49190a25050565b60405163e3b6914b60e01b815260040160405180910390fd5b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105f05760405162461bcd60e51b81526004016105e790611609565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610622610ebd565b6001600160a01b0316146106485760405162461bcd60e51b81526004016105e790611643565b61065181610ed9565b6040805160008082526020820190925261066d91839190610ee1565b50565b61067861104c565b61068181610e96565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc8690600090a35050565b6001600160a01b03808316600090815260666020908152604080832081518083018352815481526001918201548185015286861685526067845282852083516060810185528154815292015460ff811615159483018590526101009004909516918101919091529192919061074d57600192505050610755565b519051101590505b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107a35760405162461bcd60e51b81526004016105e790611609565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107d5610ebd565b6001600160a01b0316146107fb5760405162461bcd60e51b81526004016105e790611643565b61080482610ed9565b61059b82826001610ee1565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108ab5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016105e7565b5060008051602061177583398151915290565b816108c7610a5a565b6001600160a01b0316336001600160a01b031614806108f057506065546001600160a01b031633145b8061091c57506001600160a01b0381811660009081526067602052604090206001015461010090041633145b156105825761092a83610e96565b6001600160a01b03831660008181526067602052604090819020849055517f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c09906109779085815260200190565b60405180910390a2505050565b505050565b61099161104c565b61099b60006110ab565b565b6109a5610a5a565b6001600160a01b0316336001600160a01b031614806109ce57506065546001600160a01b031633145b15610a41576109dc82610e96565b6001600160a01b03821660008181526066602090815260409182902084518082558583015160019092018290558351908152918201527f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d910160405180910390a25050565b604051637d7b71b560e01b815260040160405180910390fd5b6033546001600160a01b031690565b610a71610a5a565b6001600160a01b0316336001600160a01b03161480610a9a57506065546001600160a01b031633145b15610a4157610aa881610e96565b6001600160a01b038116600081815260666020526040808220828155600101829055517fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9190a250565b600054610100900460ff1615808015610b125750600054600160ff909116105b80610b335750610b21306110fd565b158015610b33575060005460ff166001145b610b965760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105e7565b6000805460ff191660011790558015610bb9576000805461ff0019166101001790555b610bc161110c565b610bca82610e96565b606580546001600160a01b0319166001600160a01b038416179055801561059b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6001600160a01b038082166000908152606760205260409020600101548291610100909104163303610cb557610c6382610e96565b6001600160a01b0382166000818152606760205260408082206001908101805460ff19169091179055517f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb9190a25050565b6040516397ffbac960e01b815260040160405180910390fd5b610cd661104c565b6001600160a01b038116610d3b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105e7565b61066d816110ab565b610d4c610a5a565b6001600160a01b0316336001600160a01b03161480610d7557506065546001600160a01b031633145b15610a4157610d8383610e96565b610d8c81610e96565b6001600160a01b038316600090815260676020526040902054151580610dd357506001600160a01b0383811660009081526067602052604090206001015461010090041615155b15610df15760405163c45546f760e01b815260040160405180910390fd5b60408051606081018252838152600060208083018281526001600160a01b0386811685870190815289821680865260679094528685209551865591516001909501805492516001600160a81b0319909316951515610100600160a81b03191695909517610100929091169190910217909255915190917f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb9161097791869186906113f4565b6001600160a01b03811661066d5760405163d92e233d60e01b815260040160405180910390fd5b600080516020611775833981519152546001600160a01b031690565b61066d61104c565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f14576109848361113b565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f6e575060408051601f3d908101601f19168201909252610f6b9181019061167d565b60015b610fd15760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016105e7565b60008051602061177583398151915281146110405760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016105e7565b506109848383836111d5565b33611055610a5a565b6001600160a01b03161461099b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e7565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03163b151590565b600054610100900460ff166111335760405162461bcd60e51b81526004016105e790611696565b61099b611200565b611144816110fd565b6111a65760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016105e7565b60008051602061177583398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6111de83611230565b6000825111806111eb5750805b15610984576111fa8383611270565b50505050565b600054610100900460ff166112275760405162461bcd60e51b81526004016105e790611696565b61099b336110ab565b6112398161113b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061129583836040518060600160405280602781526020016117956027913961129c565b9392505050565b6060600080856001600160a01b0316856040516112b99190611705565b600060405180830381855af49150503d80600081146112f4576040519150601f19603f3d011682016040523d82523d6000602084013e6112f9565b606091505b509150915061130a86838387611314565b9695505050505050565b6060831561138157825160000361137a5761132e856110fd565b61137a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105e7565b508161138b565b61138b8383611393565b949350505050565b8151156113a35781518083602001fd5b8060405162461bcd60e51b81526004016105e79190611721565b80356001600160a01b03811681146113d457600080fd5b919050565b6000602082840312156113eb57600080fd5b611295826113bd565b92835290151560208301526001600160a01b0316604082015260600190565b6000806040838503121561142657600080fd5b61142f836113bd565b915061143d602084016113bd565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561148457611484611446565b604052919050565b6000806040838503121561149f57600080fd5b6114a8836113bd565b91506020838101356001600160401b03808211156114c557600080fd5b818601915086601f8301126114d957600080fd5b8135818111156114eb576114eb611446565b6114fd601f8201601f1916850161145c565b9150808252878482850101111561151357600080fd5b80848401858401376000848284010152508093505050509250929050565b6000806040838503121561154457600080fd5b61154d836113bd565b946020939093013593505050565b600080828403606081121561156f57600080fd5b611578846113bd565b92506040601f198201121561158c57600080fd5b50604080519081016001600160401b03811182821017156115af576115af611446565b60409081526020858101358352940135938101939093525092909150565b6000806000606084860312156115e257600080fd5b6115eb846113bd565b925060208401359150611600604085016113bd565b90509250925092565b6020808252602c9082015260008051602061175583398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061175583398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60006020828403121561168f57600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b838110156116fc5781810151838201526020016116e4565b50506000910152565b600082516117178184602087016116e1565b9190910192915050565b60208152600082518060208401526117408160408501602087016116e1565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f2c11d0c5c79dbfba041c3a4f398ce24c7c44fede63e123d5395a77918e2d46f64736f6c63430008130033","sourceMap":"452:5962:104:-:0;;;1088:4:64;1045:48;;452:5962:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106100ef5760003560e01c80631413d4c0146100f4578063175188e8146101425780633659cfe61461016457806339ebf823146101845780633d476830146101da57806342a987a0146101fa5780634f1ef2861461022a57806352d1902d1461023d578063642ce76b14610260578063715018a6146102805780637814d568146102955780638da5cb5b146102b55780638df8b2fe146102e25780639857518814610302578063b34e0c4714610322578063c4d66de81461039f578063d80ea5a0146103bf578063f2fde38b146103df578063f8806a13146103ff578063fc2ebdd1146104a5575b600080fd5b34801561010057600080fd5b5061012861010f3660046113d9565b6066602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b34801561014e57600080fd5b5061016261015d3660046113d9565b6104c5565b005b34801561017057600080fd5b5061016261017f3660046113d9565b61059f565b34801561019057600080fd5b506101cb61019f3660046113d9565b6067602052600090815260409020805460019091015460ff81169061010090046001600160a01b031683565b604051610139939291906113f4565b3480156101e657600080fd5b506101626101f53660046113d9565b610670565b34801561020657600080fd5b5061021a610215366004611413565b6106d3565b6040519015158152602001610139565b61016261023836600461148c565b61075b565b34801561024957600080fd5b50610252610810565b604051908152602001610139565b34801561026c57600080fd5b5061016261027b366004611531565b6108be565b34801561028c57600080fd5b50610162610989565b3480156102a157600080fd5b506101626102b036600461155b565b61099d565b3480156102c157600080fd5b506102ca610a5a565b6040516001600160a01b039091168152602001610139565b3480156102ee57600080fd5b506065546102ca906001600160a01b031681565b34801561030e57600080fd5b5061016261031d3660046113d9565b610a69565b34801561032e57600080fd5b5061038461033d3660046113d9565b6040805180820190915260008082526020820152506001600160a01b0316600090815260666020908152604091829020825180840190935280548352600101549082015290565b60408051825181526020928301519281019290925201610139565b3480156103ab57600080fd5b506101626103ba3660046113d9565b610af2565b3480156103cb57600080fd5b506101626103da3660046113d9565b610c2e565b3480156103eb57600080fd5b506101626103fa3660046113d9565b610cce565b34801561040b57600080fd5b5061047861041a3660046113d9565b6040805160608082018352600080835260208084018290529284018190526001600160a01b0394851681526067835283902083519182018452805482526001015460ff81161515928201929092526101009091049092169082015290565b6040805182518152602080840151151590820152918101516001600160a01b031690820152606001610139565b3480156104b157600080fd5b506101626104c03660046115cd565b610d44565b806104ce610a5a565b6001600160a01b0316336001600160a01b031614806104f757506065546001600160a01b031633145b8061052357506001600160a01b0381811660009081526067602052604090206001015461010090041633145b156105825761053182610e96565b6001600160a01b03821660008181526067602052604080822060018101805460ff19169055829055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49190a25050565b60405163e3b6914b60e01b815260040160405180910390fd5b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105f05760405162461bcd60e51b81526004016105e790611609565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610622610ebd565b6001600160a01b0316146106485760405162461bcd60e51b81526004016105e790611643565b61065181610ed9565b6040805160008082526020820190925261066d91839190610ee1565b50565b61067861104c565b61068181610e96565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc8690600090a35050565b6001600160a01b03808316600090815260666020908152604080832081518083018352815481526001918201548185015286861685526067845282852083516060810185528154815292015460ff811615159483018590526101009004909516918101919091529192919061074d57600192505050610755565b519051101590505b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107a35760405162461bcd60e51b81526004016105e790611609565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107d5610ebd565b6001600160a01b0316146107fb5760405162461bcd60e51b81526004016105e790611643565b61080482610ed9565b61059b82826001610ee1565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108ab5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016105e7565b5060008051602061177583398151915290565b816108c7610a5a565b6001600160a01b0316336001600160a01b031614806108f057506065546001600160a01b031633145b8061091c57506001600160a01b0381811660009081526067602052604090206001015461010090041633145b156105825761092a83610e96565b6001600160a01b03831660008181526067602052604090819020849055517f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c09906109779085815260200190565b60405180910390a2505050565b505050565b61099161104c565b61099b60006110ab565b565b6109a5610a5a565b6001600160a01b0316336001600160a01b031614806109ce57506065546001600160a01b031633145b15610a41576109dc82610e96565b6001600160a01b03821660008181526066602090815260409182902084518082558583015160019092018290558351908152918201527f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d910160405180910390a25050565b604051637d7b71b560e01b815260040160405180910390fd5b6033546001600160a01b031690565b610a71610a5a565b6001600160a01b0316336001600160a01b03161480610a9a57506065546001600160a01b031633145b15610a4157610aa881610e96565b6001600160a01b038116600081815260666020526040808220828155600101829055517fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9190a250565b600054610100900460ff1615808015610b125750600054600160ff909116105b80610b335750610b21306110fd565b158015610b33575060005460ff166001145b610b965760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105e7565b6000805460ff191660011790558015610bb9576000805461ff0019166101001790555b610bc161110c565b610bca82610e96565b606580546001600160a01b0319166001600160a01b038416179055801561059b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6001600160a01b038082166000908152606760205260409020600101548291610100909104163303610cb557610c6382610e96565b6001600160a01b0382166000818152606760205260408082206001908101805460ff19169091179055517f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb9190a25050565b6040516397ffbac960e01b815260040160405180910390fd5b610cd661104c565b6001600160a01b038116610d3b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105e7565b61066d816110ab565b610d4c610a5a565b6001600160a01b0316336001600160a01b03161480610d7557506065546001600160a01b031633145b15610a4157610d8383610e96565b610d8c81610e96565b6001600160a01b038316600090815260676020526040902054151580610dd357506001600160a01b0383811660009081526067602052604090206001015461010090041615155b15610df15760405163c45546f760e01b815260040160405180910390fd5b60408051606081018252838152600060208083018281526001600160a01b0386811685870190815289821680865260679094528685209551865591516001909501805492516001600160a81b0319909316951515610100600160a81b03191695909517610100929091169190910217909255915190917f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb9161097791869186906113f4565b6001600160a01b03811661066d5760405163d92e233d60e01b815260040160405180910390fd5b600080516020611775833981519152546001600160a01b031690565b61066d61104c565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f14576109848361113b565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f6e575060408051601f3d908101601f19168201909252610f6b9181019061167d565b60015b610fd15760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016105e7565b60008051602061177583398151915281146110405760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016105e7565b506109848383836111d5565b33611055610a5a565b6001600160a01b03161461099b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e7565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03163b151590565b600054610100900460ff166111335760405162461bcd60e51b81526004016105e790611696565b61099b611200565b611144816110fd565b6111a65760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016105e7565b60008051602061177583398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6111de83611230565b6000825111806111eb5750805b15610984576111fa8383611270565b50505050565b600054610100900460ff166112275760405162461bcd60e51b81526004016105e790611696565b61099b336110ab565b6112398161113b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061129583836040518060600160405280602781526020016117956027913961129c565b9392505050565b6060600080856001600160a01b0316856040516112b99190611705565b600060405180830381855af49150503d80600081146112f4576040519150601f19603f3d011682016040523d82523d6000602084013e6112f9565b606091505b509150915061130a86838387611314565b9695505050505050565b6060831561138157825160000361137a5761132e856110fd565b61137a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105e7565b508161138b565b61138b8383611393565b949350505050565b8151156113a35781518083602001fd5b8060405162461bcd60e51b81526004016105e79190611721565b80356001600160a01b03811681146113d457600080fd5b919050565b6000602082840312156113eb57600080fd5b611295826113bd565b92835290151560208301526001600160a01b0316604082015260600190565b6000806040838503121561142657600080fd5b61142f836113bd565b915061143d602084016113bd565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561148457611484611446565b604052919050565b6000806040838503121561149f57600080fd5b6114a8836113bd565b91506020838101356001600160401b03808211156114c557600080fd5b818601915086601f8301126114d957600080fd5b8135818111156114eb576114eb611446565b6114fd601f8201601f1916850161145c565b9150808252878482850101111561151357600080fd5b80848401858401376000848284010152508093505050509250929050565b6000806040838503121561154457600080fd5b61154d836113bd565b946020939093013593505050565b600080828403606081121561156f57600080fd5b611578846113bd565b92506040601f198201121561158c57600080fd5b50604080519081016001600160401b03811182821017156115af576115af611446565b60409081526020858101358352940135938101939093525092909150565b6000806000606084860312156115e257600080fd5b6115eb846113bd565b925060208401359150611600604085016113bd565b90509250925092565b6020808252602c9082015260008051602061175583398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061175583398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60006020828403121561168f57600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b838110156116fc5781810151838201526020016116e4565b50506000910152565b600082516117178184602087016116e1565b9190910192915050565b60208152600082518060208401526117408160408501602087016116e1565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f2c11d0c5c79dbfba041c3a4f398ce24c7c44fede63e123d5395a77918e2d46f64736f6c63430008130033","sourceMap":"452:5962:104:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;583:50;;;;;;;;;;-1:-1:-1;583:50:104;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;557:25:142;;;613:2;598:18;;591:34;;;;530:18;583:50:104;;;;;;;;4297:274;;;;;;;;;;-1:-1:-1;4297:274:104;;;;;:::i;:::-;;:::i;:::-;;3143:195:64;;;;;;;;;;-1:-1:-1;3143:195:64;;;;;:::i;:::-;;:::i;639:46:104:-;;;;;;;;;;-1:-1:-1;639:46:104;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;639:46:104;;;;;;;;;;;;:::i;3221:259::-;;;;;;;;;;-1:-1:-1;3221:259:104;;;;;:::i;:::-;;:::i;5518:345::-;;;;;;;;;;-1:-1:-1;5518:345:104;;;;;:::i;:::-;;:::i;:::-;;;1426:14:142;;1419:22;1401:41;;1389:2;1374:18;5518:345:104;1261:187:142;3657:220:64;;;;;;:::i;:::-;;:::i;2762:131::-;;;;;;;;;;;;;:::i;:::-;;;2853:25:142;;;2841:2;2826:18;2762:131:64;2707:177:142;5081:272:104;;;;;;;;;;-1:-1:-1;5081:272:104;;;;;:::i;:::-;;:::i;2085:101:45:-;;;;;;;;;;;;;:::i;2556:274:104:-;;;;;;;;;;-1:-1:-1;2556:274:104;;;;;:::i;:::-;;:::i;1462:85:45:-;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;3986:32:142;;;3968:51;;3956:2;3941:18;1462:85:45;3822:203:142;550:26:104;;;;;;;;;;-1:-1:-1;550:26:104;;;;-1:-1:-1;;;;;550:26:104;;;2931:177;;;;;;;;;;-1:-1:-1;2931:177:104;;;;;:::i;:::-;;:::i;5959:122::-;;;;;;;;;;-1:-1:-1;5959:122:104;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;6057:17:104;;;;;:10;:17;;;;;;;;;6050:24;;;;;;;;;;;;;;;;;;;;5959:122;;;;;4256:13:142;;4238:32;;4326:4;4314:17;;;4308:24;4286:20;;;4279:54;;;;4211:18;5959:122:104;4030:309:142;2201:172:104;;;;;;;;;;-1:-1:-1;2201:172:104;;;;;:::i;:::-;;:::i;4674:211::-;;;;;;;;;;-1:-1:-1;4674:211:104;;;;;:::i;:::-;;:::i;2335:198:45:-;;;;;;;;;;-1:-1:-1;2335:198:45;;;;;:::i;:::-;;:::i;6183:125:104:-;;;;;;;;;;-1:-1:-1;6183:125:104;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6280:21:104;;;;;:10;:21;;;;;6273:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6183:125;;;;;4562:13:142;;4544:32;;4646:4;4634:17;;;4628:24;4621:32;4614:40;4592:20;;;4585:70;4703:17;;;4697:24;-1:-1:-1;;;;;4693:50:142;4671:20;;;4664:80;4532:2;4517:18;6183:125:104;4344:406:142;3648:532:104;;;;;;;;;;-1:-1:-1;3648:532:104;;;;;:::i;:::-;;:::i;4297:274::-;4382:9;1612:7;:5;:7::i;:::-;-1:-1:-1;;;;;1598:21:104;:10;-1:-1:-1;;;;;1598:21:104;;:50;;;-1:-1:-1;1637:11:104;;-1:-1:-1;;;;;1637:11:104;1623:10;:25;1598:50;:101;;;-1:-1:-1;;;;;;1666:21:104;;;;;;;:10;:21;;;;;:33;;;;;;;1652:10;:47;1598:101;1594:196;;;4403:29:::1;4422:9;4403:18;:29::i;:::-;-1:-1:-1::0;;;;;4442:21:104;::::1;4473:5;4442:21:::0;;;:10:::1;:21;::::0;;;;;:28:::1;::::0;::::1;:36:::0;;-1:-1:-1;;4442:36:104::1;::::0;;4488:35;;;4538:26;::::1;::::0;4473:5;4538:26:::1;4297:274:::0;;:::o;1594:196::-;1754:25;;-1:-1:-1;;;1754:25:104;;;;;;;;;;;1594:196;4297:274;;:::o;3143:195:64:-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;;;;;;;;;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3224:36:::1;3242:17;3224;:36::i;:::-;3311:12;::::0;;3321:1:::1;3311:12:::0;;;::::1;::::0;::::1;::::0;;;3270:61:::1;::::0;3292:17;;3311:12;3270:21:::1;:61::i;:::-;3143:195:::0;:::o;3221:259:104:-;1355:13:45;:11;:13::i;:::-;3307:31:104::1;3326:11;3307:18;:31::i;:::-;3369:11;::::0;;-1:-1:-1;;;;;3390:25:104;;::::1;-1:-1:-1::0;;;;;;3390:25:104;::::1;::::0;::::1;::::0;;;3430:43:::1;::::0;3369:11;::::1;::::0;3390:25;3369:11;;3430:43:::1;::::0;3348:18:::1;::::0;3430:43:::1;3297:183;3221:259:::0;:::o;5518:345::-;-1:-1:-1;;;;;5658:17:104;;;5610:4;5658:17;;;:10;:17;;;;;;;;5626:49;;;;;;;;;;;;;;;;;;;;5712:21;;;;;:10;:21;;;;;5685:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5610:4;;5626:49;5685:48;5744:58;;5787:4;5780:11;;;;;;5744:58;5838:18;5819:15;;:37;;;-1:-1:-1;5518:345:104;;;;;:::o;3657:220:64:-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3772:36:::1;3790:17;3772;:36::i;:::-;3818:52;3840:17;3859:4;3865;3818:21;:52::i;2762:131::-:0;2840:7;2080:4;-1:-1:-1;;;;;2089:6:64;2072:23;;2064:92;;;;-1:-1:-1;;;2064:92:64;;6116:2:142;2064:92:64;;;6098:21:142;6155:2;6135:18;;;6128:30;6194:34;6174:18;;;6167:62;-1:-1:-1;;;6245:18:142;;;6238:54;6309:19;;2064:92:64;5914:420:142;2064:92:64;-1:-1:-1;;;;;;;;;;;;2762:131:64;:::o;5081:272:104:-;5181:9;1612:7;:5;:7::i;:::-;-1:-1:-1;;;;;1598:21:104;:10;-1:-1:-1;;;;;1598:21:104;;:50;;;-1:-1:-1;1637:11:104;;-1:-1:-1;;;;;1637:11:104;1623:10;:25;1598:50;:101;;;-1:-1:-1;;;;;;1666:21:104;;;;;;;:10;:21;;;;;:33;;;;;;;1652:10;:47;1598:101;1594:196;;;5202:29:::1;5221:9;5202:18;:29::i;:::-;-1:-1:-1::0;;;;;5241:21:104;::::1;;::::0;;;:10:::1;:21;::::0;;;;;;:47;;;5303:43;::::1;::::0;::::1;::::0;5275:13;2853:25:142;;2841:2;2826:18;;2707:177;5303:43:104::1;;;;;;;;5081:272:::0;;;:::o;1594:196::-;5081:272;;;:::o;2085:101:45:-;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;:::-;2085:101::o:0;2556:274:104:-;1402:7;:5;:7::i;:::-;-1:-1:-1;;;;;1388:21:104;:10;-1:-1:-1;;;;;1388:21:104;;:50;;;-1:-1:-1;1427:11:104;;-1:-1:-1;;;;;1427:11:104;1413:10;:25;1388:50;1384:136;;;2671:25:::1;2690:5;2671:18;:25::i;:::-;-1:-1:-1::0;;;;;2706:17:104;::::1;;::::0;;;:10:::1;:17;::::0;;;;;;;;:33;;;;;;;::::1;::::0;::::1;::::0;;::::1;::::0;;;2754:69;;557:25:142;;;598:18;;;591:34;2754:69:104::1;::::0;530:18:142;2754:69:104::1;;;;;;;4297:274:::0;;:::o;1384:136::-;1493:16;;-1:-1:-1;;;1493:16:104;;;;;;;;;;;1462:85:45;1534:6;;-1:-1:-1;;;;;1534:6:45;;1462:85::o;2931:177:104:-;1402:7;:5;:7::i;:::-;-1:-1:-1;;;;;1388:21:104;:10;-1:-1:-1;;;;;1388:21:104;;:50;;;-1:-1:-1;1427:11:104;;-1:-1:-1;;;;;1427:11:104;1413:10;:25;1388:50;1384:136;;;3009:25:::1;3028:5;3009:18;:25::i;:::-;-1:-1:-1::0;;;;;3051:17:104;::::1;;::::0;;;:10:::1;:17;::::0;;;;;3044:24;;;::::1;;::::0;;;3083:18;::::1;::::0;3051:17;3083:18:::1;3143:195:64::0;:::o;2201:172:104:-;3279:19:47;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:47;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;;3388:44;3426:4;3388:29;:44::i;:::-;3387:45;:66;;;;-1:-1:-1;3436:12:47;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:47;;6723:2:142;3325:201:47;;;6705:21:142;6762:2;6742:18;;;6735:30;6801:34;6781:18;;;6774:62;-1:-1:-1;;;6852:18:142;;;6845:44;6906:19;;3325:201:47;6521:410:142;3325:201:47;3536:12;:16;;-1:-1:-1;;3536:16:47;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:47;;;;;3562:65;2272:16:104::1;:14;:16::i;:::-;2298:32;2317:12;2298:18;:32::i;:::-;2340:11;:26:::0;;-1:-1:-1;;;;;;2340:26:104::1;-1:-1:-1::0;;;;;2340:26:104;::::1;;::::0;;3647:99:47;;;;3697:5;3681:21;;-1:-1:-1;;3681:21:47;;;3721:14;;-1:-1:-1;7088:36:142;;3721:14:47;;7076:2:142;7061:18;3721:14:47;;;;;;;3269:483;2201:172:104;:::o;4674:211::-;-1:-1:-1;;;;;1870:21:104;;;;;;;:10;:21;;;;;:33;;;4740:9;;1870:33;;;;;1856:10;:47;1852:130;;4761:29:::1;4780:9;4761:18;:29::i;:::-;-1:-1:-1::0;;;;;4800:21:104;::::1;;::::0;;;:10:::1;:21;::::0;;;;;4831:4:::1;4800:28:::0;;::::1;:35:::0;;-1:-1:-1;;4800:35:104::1;::::0;;::::1;::::0;;4850:28;::::1;::::0;4800:21;4850:28:::1;4297:274:::0;;:::o;1852:130::-;1958:13;;-1:-1:-1;;;1958:13:104;;;;;;;;;;;2335:198:45;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:45;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:45;;7337:2:142;2415:73:45::1;::::0;::::1;7319:21:142::0;7376:2;7356:18;;;7349:30;7415:34;7395:18;;;7388:62;-1:-1:-1;;;7466:18:142;;;7459:36;7512:19;;2415:73:45::1;7135:402:142::0;2415:73:45::1;2498:28;2517:8;2498:18;:28::i;3648:532:104:-:0;1402:7;:5;:7::i;:::-;-1:-1:-1;;;;;1388:21:104;:10;-1:-1:-1;;;;;1388:21:104;;:50;;;-1:-1:-1;1427:11:104;;-1:-1:-1;;;;;1427:11:104;1413:10;:25;1388:50;1384:136;;;3764:29:::1;3783:9;3764:18;:29::i;:::-;3803:32;3822:12;3803:18;:32::i;:::-;-1:-1:-1::0;;;;;3849:21:104;::::1;;::::0;;;:10:::1;:21;::::0;;;;:31;:36;::::1;::::0;:87:::1;;-1:-1:-1::0;;;;;;3889:21:104;;::::1;3934:1;3889:21:::0;;;:10:::1;:21;::::0;;;;:33:::1;;::::0;::::1;::::0;::::1;;:47:::0;::::1;3849:87;3845:148;;;3959:23;;-1:-1:-1::0;;;3959:23:104::1;;;;;;;;;;;3845:148;4026:75;::::0;;::::1;::::0;::::1;::::0;;;;;-1:-1:-1;4026:75:104::1;::::0;;::::1;::::0;;;-1:-1:-1;;;;;4026:75:104;;::::1;::::0;;;;;;4002:21;;::::1;::::0;;;:10:::1;:21:::0;;;;;;:99;;;;;;4026:75;4002:99;;::::1;::::0;;;;-1:-1:-1;;;;;;4002:99:104;;;;::::1;;-1:-1:-1::0;;;;;;4002:99:104;;;;;::::1;::::0;;;::::1;::::0;;;::::1;;::::0;;;4116:57;;4002:21;;4116:57:::1;::::0;::::1;::::0;4026:75;;;;4116:57:::1;:::i;1994:148::-:0;-1:-1:-1;;;;;2067:22:104;;2063:73;;2112:13;;-1:-1:-1;;;2112:13:104;;;;;;;;;;;1175:140:60;-1:-1:-1;;;;;;;;;;;1254:54:60;-1:-1:-1;;;;;1254:54:60;;1175:140::o;6314:66:104:-;1355:13:45;:11;:13::i;2494:922:60:-;689:66;2910:48;;;2906:504;;;2974:37;2993:17;2974:18;:37::i;2906:504::-;3064:17;-1:-1:-1;;;;;3046:50:60;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3046:52:60;;;;;;;;-1:-1:-1;;3046:52:60;;;;;;;;;;;;:::i;:::-;;;3042:291;;3262:56;;-1:-1:-1;;;3262:56:60;;7933:2:142;3262:56:60;;;7915:21:142;7972:2;7952:18;;;7945:30;8011:34;7991:18;;;7984:62;-1:-1:-1;;;8062:18:142;;;8055:44;8116:19;;3262:56:60;7731:410:142;3042:291:60;-1:-1:-1;;;;;;;;;;;3148:28:60;;3140:82;;;;-1:-1:-1;;;3140:82:60;;8348:2:142;3140:82:60;;;8330:21:142;8387:2;8367:18;;;8360:30;8426:34;8406:18;;;8399:62;-1:-1:-1;;;8477:18:142;;;8470:39;8526:19;;3140:82:60;8146:405:142;3140:82:60;3099:138;3346:53;3364:17;3383:4;3389:9;3346:17;:53::i;1620:130:45:-;965:10:51;1683:7:45;:5;:7::i;:::-;-1:-1:-1;;;;;1683:23:45;;1675:68;;;;-1:-1:-1;;;1675:68:45;;8758:2:142;1675:68:45;;;8740:21:142;;;8777:18;;;8770:30;8836:34;8816:18;;;8809:62;8888:18;;1675:68:45;8556:356:142;2687:187:45;2779:6;;;-1:-1:-1;;;;;2795:17:45;;;-1:-1:-1;;;;;;2795:17:45;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;1423:320:50:-;-1:-1:-1;;;;;1713:19:50;;:23;;;1423:320::o;1024:95:45:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;:::-;1086:26:45::1;:24;:26::i;1406:259:60:-:0;1487:37;1506:17;1487:18;:37::i;:::-;1479:95;;;;-1:-1:-1;;;1479:95:60;;9531:2:142;1479:95:60;;;9513:21:142;9570:2;9550:18;;;9543:30;9609:34;9589:18;;;9582:62;-1:-1:-1;;;9660:18:142;;;9653:43;9713:19;;1479:95:60;9329:409:142;1479:95:60;-1:-1:-1;;;;;;;;;;;1584:74:60;;-1:-1:-1;;;;;;1584:74:60;-1:-1:-1;;;;;1584:74:60;;;;;;;;;;1406:259::o;2057:265::-;2165:29;2176:17;2165:10;:29::i;:::-;2222:1;2208:4;:11;:15;:28;;;;2227:9;2208:28;2204:112;;;2252:53;2281:17;2300:4;2252:28;:53::i;:::-;;2057:265;;;:::o;1125:111:45:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;:::-;1197:32:45::1;965:10:51::0;1197:18:45::1;:32::i;1771:152:60:-:0;1837:37;1856:17;1837:18;:37::i;:::-;1889:27;;-1:-1:-1;;;;;1889:27:60;;;;;;;;1771:152;:::o;6674:198:76:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6781:84;6674:198;-1:-1:-1;;;6674:198:76:o;7058:325::-;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:76;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:76:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;8121:18;8132:6;8121:10;:18::i;:::-;8113:60;;;;-1:-1:-1;;;8113:60:76;;10492:2:142;8113:60:76;;;10474:21:142;10531:2;10511:18;;;10504:30;10570:31;10550:18;;;10543:59;10619:18;;8113:60:76;10290:353:142;8113:60:76;-1:-1:-1;8208:10:76;8201:17;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;:::-;7671:628;;;;;;:::o;8821:540::-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:76;;;;;;;;:::i;14:173:142:-;82:20;;-1:-1:-1;;;;;131:31:142;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;636:355::-;832:25;;;900:14;;893:22;888:2;873:18;;866:50;-1:-1:-1;;;;;952:32:142;947:2;932:18;;925:60;820:2;805:18;;636:355::o;996:260::-;1064:6;1072;1125:2;1113:9;1104:7;1100:23;1096:32;1093:52;;;1141:1;1138;1131:12;1093:52;1164:29;1183:9;1164:29;:::i;:::-;1154:39;;1212:38;1246:2;1235:9;1231:18;1212:38;:::i;:::-;1202:48;;996:260;;;;;:::o;1453:127::-;1514:10;1509:3;1505:20;1502:1;1495:31;1545:4;1542:1;1535:15;1569:4;1566:1;1559:15;1585:275;1656:2;1650:9;1721:2;1702:13;;-1:-1:-1;;1698:27:142;1686:40;;-1:-1:-1;;;;;1741:34:142;;1777:22;;;1738:62;1735:88;;;1803:18;;:::i;:::-;1839:2;1832:22;1585:275;;-1:-1:-1;1585:275:142:o;1865:837::-;1942:6;1950;2003:2;1991:9;1982:7;1978:23;1974:32;1971:52;;;2019:1;2016;2009:12;1971:52;2042:29;2061:9;2042:29;:::i;:::-;2032:39;-1:-1:-1;2090:2:142;2128:18;;;2115:32;-1:-1:-1;;;;;2196:14:142;;;2193:34;;;2223:1;2220;2213:12;2193:34;2261:6;2250:9;2246:22;2236:32;;2306:7;2299:4;2295:2;2291:13;2287:27;2277:55;;2328:1;2325;2318:12;2277:55;2364:2;2351:16;2386:2;2382;2379:10;2376:36;;;2392:18;;:::i;:::-;2434:53;2477:2;2458:13;;-1:-1:-1;;2454:27:142;2450:36;;2434:53;:::i;:::-;2421:66;;2510:2;2503:5;2496:17;2550:7;2545:2;2540;2536;2532:11;2528:20;2525:33;2522:53;;;2571:1;2568;2561:12;2522:53;2626:2;2621;2617;2613:11;2608:2;2601:5;2597:14;2584:45;2670:1;2665:2;2660;2653:5;2649:14;2645:23;2638:34;;2691:5;2681:15;;;;;1865:837;;;;;:::o;2889:254::-;2957:6;2965;3018:2;3006:9;2997:7;2993:23;2989:32;2986:52;;;3034:1;3031;3024:12;2986:52;3057:29;3076:9;3057:29;:::i;:::-;3047:39;3133:2;3118:18;;;;3105:32;;-1:-1:-1;;;2889:254:142:o;3148:669::-;3247:6;3255;3299:9;3290:7;3286:23;3329:2;3325;3321:11;3318:31;;;3345:1;3342;3335:12;3318:31;3368:29;3387:9;3368:29;:::i;:::-;3358:39;-1:-1:-1;3431:4:142;-1:-1:-1;;3413:16:142;;3409:27;3406:47;;;3449:1;3446;3439:12;3406:47;-1:-1:-1;3482:4:142;3476:11;;;3514:17;;-1:-1:-1;;;;;3546:34:142;;3582:22;;;3543:62;3540:88;;;3608:18;;:::i;:::-;3644:4;3637:24;;;3713:2;3698:18;;;3685:32;3670:48;;3764:20;;3751:34;3734:15;;;3727:59;;;;-1:-1:-1;3148:669:142;3677:6;;-1:-1:-1;3148:669:142:o;4755:328::-;4832:6;4840;4848;4901:2;4889:9;4880:7;4876:23;4872:32;4869:52;;;4917:1;4914;4907:12;4869:52;4940:29;4959:9;4940:29;:::i;:::-;4930:39;;5016:2;5005:9;5001:18;4988:32;4978:42;;5039:38;5073:2;5062:9;5058:18;5039:38;:::i;:::-;5029:48;;4755:328;;;;;:::o;5088:408::-;5290:2;5272:21;;;5329:2;5309:18;;;5302:30;-1:-1:-1;;;;;;;;;;;5363:2:142;5348:18;;5341:62;-1:-1:-1;;;5434:2:142;5419:18;;5412:42;5486:3;5471:19;;5088:408::o;5501:::-;5703:2;5685:21;;;5742:2;5722:18;;;5715:30;-1:-1:-1;;;;;;;;;;;5776:2:142;5761:18;;5754:62;-1:-1:-1;;;5847:2:142;5832:18;;5825:42;5899:3;5884:19;;5501:408::o;7542:184::-;7612:6;7665:2;7653:9;7644:7;7640:23;7636:32;7633:52;;;7681:1;7678;7671:12;7633:52;-1:-1:-1;7704:16:142;;7542:184;-1:-1:-1;7542:184:142:o;8917:407::-;9119:2;9101:21;;;9158:2;9138:18;;;9131:30;9197:34;9192:2;9177:18;;9170:62;-1:-1:-1;;;9263:2:142;9248:18;;9241:41;9314:3;9299:19;;8917:407::o;9743:250::-;9828:1;9838:113;9852:6;9849:1;9846:13;9838:113;;;9928:11;;;9922:18;9909:11;;;9902:39;9874:2;9867:10;9838:113;;;-1:-1:-1;;9985:1:142;9967:16;;9960:27;9743:250::o;9998:287::-;10127:3;10165:6;10159:13;10181:66;10240:6;10235:3;10228:4;10220:6;10216:17;10181:66;:::i;:::-;10263:16;;;;;9998:287;-1:-1:-1;;9998:287:142:o;10648:396::-;10797:2;10786:9;10779:21;10760:4;10829:6;10823:13;10872:6;10867:2;10856:9;10852:18;10845:34;10888:79;10960:6;10955:2;10944:9;10940:18;10935:2;10927:6;10923:15;10888:79;:::i;:::-;11028:2;11007:15;-1:-1:-1;;11003:29:142;10988:45;;;;11035:2;10984:54;;10648:396;-1:-1:-1;;10648:396:142:o","linkReferences":{},"immutableReferences":{"55572":[{"start":1449,"length":32},{"start":1522,"length":32},{"start":1893,"length":32},{"start":1957,"length":32},{"start":2077,"length":32}]}},"methodIdentifiers":{"activateStrategy(address)":"d80ea5a0","addStrategy(address,uint256,address)":"fc2ebdd1","addUserScore(address,(uint256,uint256))":"7814d568","canExecuteAction(address,address)":"42a987a0","changeListManager(address)":"3d476830","getStrategy(address)":"f8806a13","getUserScore(address)":"b34e0c47","initialize(address)":"c4d66de8","listManager()":"8df8b2fe","modifyThreshold(address,uint256)":"642ce76b","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","removeStrategy(address)":"175188e8","removeUser(address)":"98575188","renounceOwnership()":"715018a6","strategies(address)":"39ebf823","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286","userScores(address)":"1413d4c0"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"OnlyAuthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncil\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncilOrAuthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldManager\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newManager\",\"type\":\"address\"}],\"name\":\"ListManagerChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyActivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"councilSafe\",\"type\":\"address\"}],\"name\":\"StrategyAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newThreshold\",\"type\":\"uint256\"}],\"name\":\"ThresholdModified\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"UserRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"name\":\"UserScoreAdded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"activateStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_councilSafe\",\"type\":\"address\"}],\"name\":\"addStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"internalType\":\"struct PassportData\",\"name\":\"_passportData\",\"type\":\"tuple\"}],\"name\":\"addUserScore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"canExecuteAction\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newManager\",\"type\":\"address\"}],\"name\":\"changeListManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"getStrategy\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"councilSafe\",\"type\":\"address\"}],\"internalType\":\"struct Strategy\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserScore\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"internalType\":\"struct PassportData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_listManager\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"listManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newThreshold\",\"type\":\"uint256\"}],\"name\":\"modifyThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"removeUser\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"strategies\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"councilSafe\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"userScores\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"activateStrategy(address)\":{\"params\":{\"_strategy\":\"address of the strategy to activate\"}},\"addStrategy(address,uint256,address)\":{\"params\":{\"_councilSafe\":\"address of the council safe\",\"_threshold\":\"is expressed on a scale of 10**4\"}},\"addUserScore(address,(uint256,uint256))\":{\"params\":{\"_passportData\":\"PassportData struct with the user score and lastUpdated\",\"_user\":\"address of the user to add\"}},\"canExecuteAction(address,address)\":{\"params\":{\"_strategy\":\"address of the strategy to check\",\"_user\":\"address of the user to check\"}},\"changeListManager(address)\":{\"params\":{\"_newManager\":\"address of the new list manager\"}},\"getStrategy(address)\":{\"params\":{\"_strategy\":\"address of the strategy to check\"}},\"getUserScore(address)\":{\"params\":{\"_user\":\"address of the user to check\"}},\"modifyThreshold(address,uint256)\":{\"params\":{\"_newThreshold\":\"new threshold to set expressed on a scale of 10**4\",\"_strategy\":\"address of the strategy to modify\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"removeStrategy(address)\":{\"params\":{\"_strategy\":\"address of the strategy to remove\"}},\"removeUser(address)\":{\"params\":{\"_user\":\"address of the user to remove\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateStrategy(address)\":{\"notice\":\"Activate a strategy\"},\"addStrategy(address,uint256,address)\":{\"notice\":\"Add a strategy to the contract\"},\"addUserScore(address,(uint256,uint256))\":{\"notice\":\"Add a userScore to the list\"},\"canExecuteAction(address,address)\":{\"notice\":\"Check if an action can be executed\"},\"changeListManager(address)\":{\"notice\":\"Change the list manager address\"},\"getStrategy(address)\":{\"notice\":\"Get the strategy data\"},\"getUserScore(address)\":{\"notice\":\"Get the score of a user\"},\"modifyThreshold(address,uint256)\":{\"notice\":\"Modify the threshold of a strategy\"},\"removeStrategy(address)\":{\"notice\":\"Remove a strategy from the contract\"},\"removeUser(address)\":{\"notice\":\"Remove a user from the list\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/PassportScorer.sol\":\"PassportScorer\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/PassportScorer.sol\":{\"keccak256\":\"0x761ef83b5c9e42fc7a65cec573d4a82e8b4471a917d1148977081d33edaf746d\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://698a8829885901860dcca7d7b2737a0e9d6216e052f21b3d8dedcfca90db4810\",\"dweb:/ipfs/QmSs8CZvEhz2CaSBq6x6fzU4uTPeyHn2Z8HSmc7tq8Cu3z\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"OnlyAuthorized"},{"inputs":[],"type":"error","name":"OnlyCouncil"},{"inputs":[],"type":"error","name":"OnlyCouncilOrAuthorized"},{"inputs":[],"type":"error","name":"StrategyAlreadyExists"},{"inputs":[],"type":"error","name":"ZeroAddress"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"oldManager","type":"address","indexed":true},{"internalType":"address","name":"newManager","type":"address","indexed":true}],"type":"event","name":"ListManagerChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":true}],"type":"event","name":"StrategyActivated","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":true},{"internalType":"uint256","name":"threshold","type":"uint256","indexed":false},{"internalType":"bool","name":"active","type":"bool","indexed":false},{"internalType":"address","name":"councilSafe","type":"address","indexed":false}],"type":"event","name":"StrategyAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":true}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":true},{"internalType":"uint256","name":"newThreshold","type":"uint256","indexed":false}],"type":"event","name":"ThresholdModified","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true}],"type":"event","name":"UserRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true},{"internalType":"uint256","name":"score","type":"uint256","indexed":false},{"internalType":"uint256","name":"lastUpdated","type":"uint256","indexed":false}],"type":"event","name":"UserScoreAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"activateStrategy"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"uint256","name":"_threshold","type":"uint256"},{"internalType":"address","name":"_councilSafe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addStrategy"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"struct PassportData","name":"_passportData","type":"tuple","components":[{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"addUserScore"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"canExecuteAction","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_newManager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"changeListManager"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"getStrategy","outputs":[{"internalType":"struct Strategy","name":"","type":"tuple","components":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"bool","name":"active","type":"bool"},{"internalType":"address","name":"councilSafe","type":"address"}]}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getUserScore","outputs":[{"internalType":"struct PassportData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"}]}]},{"inputs":[{"internalType":"address","name":"_listManager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"listManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"uint256","name":"_newThreshold","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"modifyThreshold"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategy"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeUser"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"strategies","outputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"bool","name":"active","type":"bool"},{"internalType":"address","name":"councilSafe","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"userScores","outputs":[{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"activateStrategy(address)":{"params":{"_strategy":"address of the strategy to activate"}},"addStrategy(address,uint256,address)":{"params":{"_councilSafe":"address of the council safe","_threshold":"is expressed on a scale of 10**4"}},"addUserScore(address,(uint256,uint256))":{"params":{"_passportData":"PassportData struct with the user score and lastUpdated","_user":"address of the user to add"}},"canExecuteAction(address,address)":{"params":{"_strategy":"address of the strategy to check","_user":"address of the user to check"}},"changeListManager(address)":{"params":{"_newManager":"address of the new list manager"}},"getStrategy(address)":{"params":{"_strategy":"address of the strategy to check"}},"getUserScore(address)":{"params":{"_user":"address of the user to check"}},"modifyThreshold(address,uint256)":{"params":{"_newThreshold":"new threshold to set expressed on a scale of 10**4","_strategy":"address of the strategy to modify"}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"removeStrategy(address)":{"params":{"_strategy":"address of the strategy to remove"}},"removeUser(address)":{"params":{"_user":"address of the user to remove"}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"activateStrategy(address)":{"notice":"Activate a strategy"},"addStrategy(address,uint256,address)":{"notice":"Add a strategy to the contract"},"addUserScore(address,(uint256,uint256))":{"notice":"Add a userScore to the list"},"canExecuteAction(address,address)":{"notice":"Check if an action can be executed"},"changeListManager(address)":{"notice":"Change the list manager address"},"getStrategy(address)":{"notice":"Get the strategy data"},"getUserScore(address)":{"notice":"Get the score of a user"},"modifyThreshold(address,uint256)":{"notice":"Modify the threshold of a strategy"},"removeStrategy(address)":{"notice":"Remove a strategy from the contract"},"removeUser(address)":{"notice":"Remove a user from the list"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/PassportScorer.sol":"PassportScorer"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/PassportScorer.sol":{"keccak256":"0x761ef83b5c9e42fc7a65cec573d4a82e8b4471a917d1148977081d33edaf746d","urls":["bzz-raw://698a8829885901860dcca7d7b2737a0e9d6216e052f21b3d8dedcfca90db4810","dweb:/ipfs/QmSs8CZvEhz2CaSBq6x6fzU4uTPeyHn2Z8HSmc7tq8Cu3z"],"license":"AGPL-3.0-or-later"}},"version":1},"storageLayout":{"storage":[{"astId":52990,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52993,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53695,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52782,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52902,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":70144,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"listManager","offset":0,"slot":"101","type":"t_address"},{"astId":70149,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"userScores","offset":0,"slot":"102","type":"t_mapping(t_address,t_struct(PassportData)70040_storage)"},{"astId":70154,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"strategies","offset":0,"slot":"103","type":"t_mapping(t_address,t_struct(Strategy)70047_storage)"},{"astId":70617,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"__gap","offset":0,"slot":"104","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_struct(PassportData)70040_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct PassportData)","numberOfBytes":"32","value":"t_struct(PassportData)70040_storage"},"t_mapping(t_address,t_struct(Strategy)70047_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct Strategy)","numberOfBytes":"32","value":"t_struct(Strategy)70047_storage"},"t_struct(PassportData)70040_storage":{"encoding":"inplace","label":"struct PassportData","numberOfBytes":"64","members":[{"astId":70037,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"score","offset":0,"slot":"0","type":"t_uint256"},{"astId":70039,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"lastUpdated","offset":0,"slot":"1","type":"t_uint256"}]},"t_struct(Strategy)70047_storage":{"encoding":"inplace","label":"struct Strategy","numberOfBytes":"64","members":[{"astId":70042,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"threshold","offset":0,"slot":"0","type":"t_uint256"},{"astId":70044,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"active","offset":0,"slot":"1","type":"t_bool"},{"astId":70046,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"councilSafe","offset":1,"slot":"1","type":"t_address"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/PassportScorer.sol","id":70619,"exportedSymbols":{"ISybilScorer":[70122],"Initializable":[53152],"OwnableUpgradeable":[52903],"PassportData":[70040],"PassportScorer":[70618],"Strategy":[70047],"UUPSUpgradeable":[55672]},"nodeType":"SourceUnit","src":"46:6369:104","nodes":[{"id":70124,"nodeType":"PragmaDirective","src":"46:24:104","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":70128,"nodeType":"ImportDirective","src":"72:72:104","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"./ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":70619,"sourceUnit":70123,"symbolAliases":[{"foreign":{"id":70125,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70122,"src":"80:12:104","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":70126,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70040,"src":"94:12:104","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":70127,"name":"Strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70047,"src":"108:8:104","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70130,"nodeType":"ImportDirective","src":"145:88:104","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":70619,"sourceUnit":55673,"symbolAliases":[{"foreign":{"id":70129,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55672,"src":"153:15:104","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70132,"nodeType":"ImportDirective","src":"234:110:104","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":70619,"sourceUnit":52904,"symbolAliases":[{"foreign":{"id":70131,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52903,"src":"242:18:104","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70134,"nodeType":"ImportDirective","src":"345:105:104","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":70619,"sourceUnit":53153,"symbolAliases":[{"foreign":{"id":70133,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53152,"src":"353:13:104","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70618,"nodeType":"ContractDefinition","src":"452:5962:104","nodes":[{"id":70144,"nodeType":"VariableDeclaration","src":"550:26:104","nodes":[],"constant":false,"functionSelector":"8df8b2fe","mutability":"mutable","name":"listManager","nameLocation":"565:11:104","scope":70618,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70143,"name":"address","nodeType":"ElementaryTypeName","src":"550:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":70149,"nodeType":"VariableDeclaration","src":"583:50:104","nodes":[],"constant":false,"functionSelector":"1413d4c0","mutability":"mutable","name":"userScores","nameLocation":"623:10:104","scope":70618,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$70040_storage_$","typeString":"mapping(address => struct PassportData)"},"typeName":{"id":70148,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":70145,"name":"address","nodeType":"ElementaryTypeName","src":"591:7:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"583:32:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$70040_storage_$","typeString":"mapping(address => struct PassportData)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":70147,"nodeType":"UserDefinedTypeName","pathNode":{"id":70146,"name":"PassportData","nameLocations":["602:12:104"],"nodeType":"IdentifierPath","referencedDeclaration":70040,"src":"602:12:104"},"referencedDeclaration":70040,"src":"602:12:104","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_storage_ptr","typeString":"struct PassportData"}}},"visibility":"public"},{"id":70154,"nodeType":"VariableDeclaration","src":"639:46:104","nodes":[],"constant":false,"functionSelector":"39ebf823","mutability":"mutable","name":"strategies","nameLocation":"675:10:104","scope":70618,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70047_storage_$","typeString":"mapping(address => struct Strategy)"},"typeName":{"id":70153,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":70150,"name":"address","nodeType":"ElementaryTypeName","src":"647:7:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"639:28:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70047_storage_$","typeString":"mapping(address => struct Strategy)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":70152,"nodeType":"UserDefinedTypeName","pathNode":{"id":70151,"name":"Strategy","nameLocations":["658:8:104"],"nodeType":"IdentifierPath","referencedDeclaration":70047,"src":"658:8:104"},"referencedDeclaration":70047,"src":"658:8:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70047_storage_ptr","typeString":"struct Strategy"}}},"visibility":"public"},{"id":70162,"nodeType":"EventDefinition","src":"692:79:104","nodes":[],"anonymous":false,"eventSelector":"1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d","name":"UserScoreAdded","nameLocation":"698:14:104","parameters":{"id":70161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70156,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"729:4:104","nodeType":"VariableDeclaration","scope":70162,"src":"713:20:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70155,"name":"address","nodeType":"ElementaryTypeName","src":"713:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70158,"indexed":false,"mutability":"mutable","name":"score","nameLocation":"743:5:104","nodeType":"VariableDeclaration","scope":70162,"src":"735:13:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70157,"name":"uint256","nodeType":"ElementaryTypeName","src":"735:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70160,"indexed":false,"mutability":"mutable","name":"lastUpdated","nameLocation":"758:11:104","nodeType":"VariableDeclaration","scope":70162,"src":"750:19:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70159,"name":"uint256","nodeType":"ElementaryTypeName","src":"750:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"712:58:104"}},{"id":70166,"nodeType":"EventDefinition","src":"776:40:104","nodes":[],"anonymous":false,"eventSelector":"e9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d","name":"UserRemoved","nameLocation":"782:11:104","parameters":{"id":70165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70164,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"810:4:104","nodeType":"VariableDeclaration","scope":70166,"src":"794:20:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70163,"name":"address","nodeType":"ElementaryTypeName","src":"794:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"793:22:104"}},{"id":70172,"nodeType":"EventDefinition","src":"821:81:104","nodes":[],"anonymous":false,"eventSelector":"5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc86","name":"ListManagerChanged","nameLocation":"827:18:104","parameters":{"id":70171,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70168,"indexed":true,"mutability":"mutable","name":"oldManager","nameLocation":"862:10:104","nodeType":"VariableDeclaration","scope":70172,"src":"846:26:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70167,"name":"address","nodeType":"ElementaryTypeName","src":"846:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70170,"indexed":true,"mutability":"mutable","name":"newManager","nameLocation":"890:10:104","nodeType":"VariableDeclaration","scope":70172,"src":"874:26:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70169,"name":"address","nodeType":"ElementaryTypeName","src":"874:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"845:56:104"}},{"id":70182,"nodeType":"EventDefinition","src":"907:99:104","nodes":[],"anonymous":false,"eventSelector":"9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb","name":"StrategyAdded","nameLocation":"913:13:104","parameters":{"id":70181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70174,"indexed":true,"mutability":"mutable","name":"strategy","nameLocation":"943:8:104","nodeType":"VariableDeclaration","scope":70182,"src":"927:24:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70173,"name":"address","nodeType":"ElementaryTypeName","src":"927:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70176,"indexed":false,"mutability":"mutable","name":"threshold","nameLocation":"961:9:104","nodeType":"VariableDeclaration","scope":70182,"src":"953:17:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70175,"name":"uint256","nodeType":"ElementaryTypeName","src":"953:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70178,"indexed":false,"mutability":"mutable","name":"active","nameLocation":"977:6:104","nodeType":"VariableDeclaration","scope":70182,"src":"972:11:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70177,"name":"bool","nodeType":"ElementaryTypeName","src":"972:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":70180,"indexed":false,"mutability":"mutable","name":"councilSafe","nameLocation":"993:11:104","nodeType":"VariableDeclaration","scope":70182,"src":"985:19:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70179,"name":"address","nodeType":"ElementaryTypeName","src":"985:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"926:79:104"}},{"id":70186,"nodeType":"EventDefinition","src":"1011:48:104","nodes":[],"anonymous":false,"eventSelector":"09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4","name":"StrategyRemoved","nameLocation":"1017:15:104","parameters":{"id":70185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70184,"indexed":true,"mutability":"mutable","name":"strategy","nameLocation":"1049:8:104","nodeType":"VariableDeclaration","scope":70186,"src":"1033:24:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70183,"name":"address","nodeType":"ElementaryTypeName","src":"1033:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1032:26:104"}},{"id":70190,"nodeType":"EventDefinition","src":"1064:50:104","nodes":[],"anonymous":false,"eventSelector":"652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb","name":"StrategyActivated","nameLocation":"1070:17:104","parameters":{"id":70189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70188,"indexed":true,"mutability":"mutable","name":"strategy","nameLocation":"1104:8:104","nodeType":"VariableDeclaration","scope":70190,"src":"1088:24:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70187,"name":"address","nodeType":"ElementaryTypeName","src":"1088:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1087:26:104"}},{"id":70196,"nodeType":"EventDefinition","src":"1119:72:104","nodes":[],"anonymous":false,"eventSelector":"40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c09","name":"ThresholdModified","nameLocation":"1125:17:104","parameters":{"id":70195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70192,"indexed":true,"mutability":"mutable","name":"strategy","nameLocation":"1159:8:104","nodeType":"VariableDeclaration","scope":70196,"src":"1143:24:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70191,"name":"address","nodeType":"ElementaryTypeName","src":"1143:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70194,"indexed":false,"mutability":"mutable","name":"newThreshold","nameLocation":"1177:12:104","nodeType":"VariableDeclaration","scope":70196,"src":"1169:20:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70193,"name":"uint256","nodeType":"ElementaryTypeName","src":"1169:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1142:48:104"}},{"id":70198,"nodeType":"ErrorDefinition","src":"1197:23:104","nodes":[],"errorSelector":"7d7b71b5","name":"OnlyAuthorized","nameLocation":"1203:14:104","parameters":{"id":70197,"nodeType":"ParameterList","parameters":[],"src":"1217:2:104"}},{"id":70200,"nodeType":"ErrorDefinition","src":"1225:32:104","nodes":[],"errorSelector":"e3b6914b","name":"OnlyCouncilOrAuthorized","nameLocation":"1231:23:104","parameters":{"id":70199,"nodeType":"ParameterList","parameters":[],"src":"1254:2:104"}},{"id":70202,"nodeType":"ErrorDefinition","src":"1262:20:104","nodes":[],"errorSelector":"97ffbac9","name":"OnlyCouncil","nameLocation":"1268:11:104","parameters":{"id":70201,"nodeType":"ParameterList","parameters":[],"src":"1279:2:104"}},{"id":70204,"nodeType":"ErrorDefinition","src":"1287:20:104","nodes":[],"errorSelector":"d92e233d","name":"ZeroAddress","nameLocation":"1293:11:104","parameters":{"id":70203,"nodeType":"ParameterList","parameters":[],"src":"1304:2:104"}},{"id":70206,"nodeType":"ErrorDefinition","src":"1312:30:104","nodes":[],"errorSelector":"c45546f7","name":"StrategyAlreadyExists","nameLocation":"1318:21:104","parameters":{"id":70205,"nodeType":"ParameterList","parameters":[],"src":"1339:2:104"}},{"id":70226,"nodeType":"ModifierDefinition","src":"1348:178:104","nodes":[],"body":{"id":70225,"nodeType":"Block","src":"1374:152:104","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":70217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":70208,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1388:3:104","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1392:6:104","memberName":"sender","nodeType":"MemberAccess","src":"1388:10:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":70210,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52826,"src":"1402:5:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":70211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1402:7:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1388:21:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":70213,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1413:3:104","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1417:6:104","memberName":"sender","nodeType":"MemberAccess","src":"1413:10:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":70215,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70144,"src":"1427:11:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1413:25:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1388:50:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":70223,"nodeType":"Block","src":"1472:48:104","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":70220,"name":"OnlyAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70198,"src":"1493:14:104","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":70221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1493:16:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70222,"nodeType":"RevertStatement","src":"1486:23:104"}]},"id":70224,"nodeType":"IfStatement","src":"1384:136:104","trueBody":{"id":70219,"nodeType":"Block","src":"1440:26:104","statements":[{"id":70218,"nodeType":"PlaceholderStatement","src":"1454:1:104"}]}}]},"name":"onlyAuthorized","nameLocation":"1357:14:104","parameters":{"id":70207,"nodeType":"ParameterList","parameters":[],"src":"1371:2:104"},"virtual":false,"visibility":"internal"},{"id":70256,"nodeType":"ModifierDefinition","src":"1532:264:104","nodes":[],"body":{"id":70255,"nodeType":"Block","src":"1584:212:104","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":70247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":70239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":70230,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1598:3:104","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1602:6:104","memberName":"sender","nodeType":"MemberAccess","src":"1598:10:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":70232,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52826,"src":"1612:5:104","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":70233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1612:7:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1598:21:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":70235,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1623:3:104","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1627:6:104","memberName":"sender","nodeType":"MemberAccess","src":"1623:10:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":70237,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70144,"src":"1637:11:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1623:25:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1598:50:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":70240,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1652:3:104","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1656:6:104","memberName":"sender","nodeType":"MemberAccess","src":"1652:10:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"baseExpression":{"id":70242,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70154,"src":"1666:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70047_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70244,"indexExpression":{"id":70243,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70228,"src":"1677:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1666:21:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70047_storage","typeString":"struct Strategy storage ref"}},"id":70245,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1688:11:104","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":70046,"src":"1666:33:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1652:47:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1598:101:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":70253,"nodeType":"Block","src":"1733:57:104","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":70250,"name":"OnlyCouncilOrAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70200,"src":"1754:23:104","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":70251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1754:25:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70252,"nodeType":"RevertStatement","src":"1747:32:104"}]},"id":70254,"nodeType":"IfStatement","src":"1594:196:104","trueBody":{"id":70249,"nodeType":"Block","src":"1701:26:104","statements":[{"id":70248,"nodeType":"PlaceholderStatement","src":"1715:1:104"}]}}]},"name":"onlyCouncilOrAuthorized","nameLocation":"1541:23:104","parameters":{"id":70229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70228,"mutability":"mutable","name":"_strategy","nameLocation":"1573:9:104","nodeType":"VariableDeclaration","scope":70256,"src":"1565:17:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70227,"name":"address","nodeType":"ElementaryTypeName","src":"1565:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1564:19:104"},"virtual":false,"visibility":"internal"},{"id":70275,"nodeType":"ModifierDefinition","src":"1802:186:104","nodes":[],"body":{"id":70274,"nodeType":"Block","src":"1842:146:104","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":70260,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1856:3:104","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":70261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1860:6:104","memberName":"sender","nodeType":"MemberAccess","src":"1856:10:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"baseExpression":{"id":70262,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70154,"src":"1870:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70047_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70264,"indexExpression":{"id":70263,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70258,"src":"1881:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1870:21:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70047_storage","typeString":"struct Strategy storage ref"}},"id":70265,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1892:11:104","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":70046,"src":"1870:33:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1856:47:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":70272,"nodeType":"Block","src":"1937:45:104","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":70269,"name":"OnlyCouncil","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70202,"src":"1958:11:104","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":70270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1958:13:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70271,"nodeType":"RevertStatement","src":"1951:20:104"}]},"id":70273,"nodeType":"IfStatement","src":"1852:130:104","trueBody":{"id":70268,"nodeType":"Block","src":"1905:26:104","statements":[{"id":70267,"nodeType":"PlaceholderStatement","src":"1919:1:104"}]}}]},"name":"onlyCouncil","nameLocation":"1811:11:104","parameters":{"id":70259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70258,"mutability":"mutable","name":"_strategy","nameLocation":"1831:9:104","nodeType":"VariableDeclaration","scope":70275,"src":"1823:17:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70257,"name":"address","nodeType":"ElementaryTypeName","src":"1823:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1822:19:104"},"virtual":false,"visibility":"internal"},{"id":70292,"nodeType":"FunctionDefinition","src":"1994:148:104","nodes":[],"body":{"id":70291,"nodeType":"Block","src":"2053:89:104","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":70280,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70277,"src":"2067:8:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":70283,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2087:1:104","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":70282,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2079:7:104","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70281,"name":"address","nodeType":"ElementaryTypeName","src":"2079:7:104","typeDescriptions":{}}},"id":70284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2079:10:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2067:22:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70290,"nodeType":"IfStatement","src":"2063:73:104","trueBody":{"id":70289,"nodeType":"Block","src":"2091:45:104","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":70286,"name":"ZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70204,"src":"2112:11:104","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":70287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2112:13:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70288,"nodeType":"RevertStatement","src":"2105:20:104"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"2003:18:104","parameters":{"id":70278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70277,"mutability":"mutable","name":"_address","nameLocation":"2030:8:104","nodeType":"VariableDeclaration","scope":70292,"src":"2022:16:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70276,"name":"address","nodeType":"ElementaryTypeName","src":"2022:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2021:18:104"},"returnParameters":{"id":70279,"nodeType":"ParameterList","parameters":[],"src":"2053:0:104"},"scope":70618,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":70311,"nodeType":"FunctionDefinition","src":"2201:172:104","nodes":[],"body":{"id":70310,"nodeType":"Block","src":"2262:111:104","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":70299,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52798,"src":"2272:14:104","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":70300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2272:16:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70301,"nodeType":"ExpressionStatement","src":"2272:16:104"},{"expression":{"arguments":[{"id":70303,"name":"_listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70294,"src":"2317:12:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70302,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70292,"src":"2298:18:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2298:32:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70305,"nodeType":"ExpressionStatement","src":"2298:32:104"},{"expression":{"id":70308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70306,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70144,"src":"2340:11:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":70307,"name":"_listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70294,"src":"2354:12:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2340:26:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70309,"nodeType":"ExpressionStatement","src":"2340:26:104"}]},"baseFunctions":[70052],"functionSelector":"c4d66de8","implemented":true,"kind":"function","modifiers":[{"id":70297,"kind":"modifierInvocation","modifierName":{"id":70296,"name":"initializer","nameLocations":["2250:11:104"],"nodeType":"IdentifierPath","referencedDeclaration":53054,"src":"2250:11:104"},"nodeType":"ModifierInvocation","src":"2250:11:104"}],"name":"initialize","nameLocation":"2210:10:104","parameters":{"id":70295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70294,"mutability":"mutable","name":"_listManager","nameLocation":"2229:12:104","nodeType":"VariableDeclaration","scope":70311,"src":"2221:20:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70293,"name":"address","nodeType":"ElementaryTypeName","src":"2221:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2220:22:104"},"returnParameters":{"id":70298,"nodeType":"ParameterList","parameters":[],"src":"2262:0:104"},"scope":70618,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":70342,"nodeType":"FunctionDefinition","src":"2556:274:104","nodes":[],"body":{"id":70341,"nodeType":"Block","src":"2661:169:104","nodes":[],"statements":[{"expression":{"arguments":[{"id":70324,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70314,"src":"2690:5:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70323,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70292,"src":"2671:18:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2671:25:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70326,"nodeType":"ExpressionStatement","src":"2671:25:104"},{"expression":{"id":70331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":70327,"name":"userScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70149,"src":"2706:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$70040_storage_$","typeString":"mapping(address => struct PassportData storage ref)"}},"id":70329,"indexExpression":{"id":70328,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70314,"src":"2717:5:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2706:17:104","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_storage","typeString":"struct PassportData storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":70330,"name":"_passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70317,"src":"2726:13:104","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_memory_ptr","typeString":"struct PassportData memory"}},"src":"2706:33:104","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_storage","typeString":"struct PassportData storage ref"}},"id":70332,"nodeType":"ExpressionStatement","src":"2706:33:104"},{"eventCall":{"arguments":[{"id":70334,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70314,"src":"2769:5:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":70335,"name":"_passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70317,"src":"2776:13:104","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_memory_ptr","typeString":"struct PassportData memory"}},"id":70336,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2790:5:104","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":70037,"src":"2776:19:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":70337,"name":"_passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70317,"src":"2797:13:104","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_memory_ptr","typeString":"struct PassportData memory"}},"id":70338,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2811:11:104","memberName":"lastUpdated","nodeType":"MemberAccess","referencedDeclaration":70039,"src":"2797:25:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":70333,"name":"UserScoreAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70162,"src":"2754:14:104","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":70339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2754:69:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70340,"nodeType":"EmitStatement","src":"2749:74:104"}]},"baseFunctions":[70060],"documentation":{"id":70312,"nodeType":"StructuredDocumentation","src":"2379:172:104","text":"@notice Add a userScore to the list\n @param _user address of the user to add\n @param _passportData PassportData struct with the user score and lastUpdated"},"functionSelector":"7814d568","implemented":true,"kind":"function","modifiers":[{"id":70321,"kind":"modifierInvocation","modifierName":{"id":70320,"name":"onlyAuthorized","nameLocations":["2646:14:104"],"nodeType":"IdentifierPath","referencedDeclaration":70226,"src":"2646:14:104"},"nodeType":"ModifierInvocation","src":"2646:14:104"}],"name":"addUserScore","nameLocation":"2565:12:104","overrides":{"id":70319,"nodeType":"OverrideSpecifier","overrides":[],"src":"2637:8:104"},"parameters":{"id":70318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70314,"mutability":"mutable","name":"_user","nameLocation":"2586:5:104","nodeType":"VariableDeclaration","scope":70342,"src":"2578:13:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70313,"name":"address","nodeType":"ElementaryTypeName","src":"2578:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70317,"mutability":"mutable","name":"_passportData","nameLocation":"2613:13:104","nodeType":"VariableDeclaration","scope":70342,"src":"2593:33:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":70316,"nodeType":"UserDefinedTypeName","pathNode":{"id":70315,"name":"PassportData","nameLocations":["2593:12:104"],"nodeType":"IdentifierPath","referencedDeclaration":70040,"src":"2593:12:104"},"referencedDeclaration":70040,"src":"2593:12:104","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"src":"2577:50:104"},"returnParameters":{"id":70322,"nodeType":"ParameterList","parameters":[],"src":"2661:0:104"},"scope":70618,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":70365,"nodeType":"FunctionDefinition","src":"2931:177:104","nodes":[],"body":{"id":70364,"nodeType":"Block","src":"2999:109:104","nodes":[],"statements":[{"expression":{"arguments":[{"id":70352,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70345,"src":"3028:5:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70351,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70292,"src":"3009:18:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3009:25:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70354,"nodeType":"ExpressionStatement","src":"3009:25:104"},{"expression":{"id":70358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"3044:24:104","subExpression":{"baseExpression":{"id":70355,"name":"userScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70149,"src":"3051:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$70040_storage_$","typeString":"mapping(address => struct PassportData storage ref)"}},"id":70357,"indexExpression":{"id":70356,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70345,"src":"3062:5:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3051:17:104","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_storage","typeString":"struct PassportData storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70359,"nodeType":"ExpressionStatement","src":"3044:24:104"},{"eventCall":{"arguments":[{"id":70361,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70345,"src":"3095:5:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70360,"name":"UserRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70166,"src":"3083:11:104","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":70362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3083:18:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70363,"nodeType":"EmitStatement","src":"3078:23:104"}]},"baseFunctions":[70065],"documentation":{"id":70343,"nodeType":"StructuredDocumentation","src":"2836:90:104","text":"@notice Remove a user from the list\n @param _user address of the user to remove"},"functionSelector":"98575188","implemented":true,"kind":"function","modifiers":[{"id":70349,"kind":"modifierInvocation","modifierName":{"id":70348,"name":"onlyAuthorized","nameLocations":["2984:14:104"],"nodeType":"IdentifierPath","referencedDeclaration":70226,"src":"2984:14:104"},"nodeType":"ModifierInvocation","src":"2984:14:104"}],"name":"removeUser","nameLocation":"2940:10:104","overrides":{"id":70347,"nodeType":"OverrideSpecifier","overrides":[],"src":"2975:8:104"},"parameters":{"id":70346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70345,"mutability":"mutable","name":"_user","nameLocation":"2959:5:104","nodeType":"VariableDeclaration","scope":70365,"src":"2951:13:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70344,"name":"address","nodeType":"ElementaryTypeName","src":"2951:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2950:15:104"},"returnParameters":{"id":70350,"nodeType":"ParameterList","parameters":[],"src":"2999:0:104"},"scope":70618,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":70392,"nodeType":"FunctionDefinition","src":"3221:259:104","nodes":[],"body":{"id":70391,"nodeType":"Block","src":"3297:183:104","nodes":[],"statements":[{"expression":{"arguments":[{"id":70375,"name":"_newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70368,"src":"3326:11:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70374,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70292,"src":"3307:18:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3307:31:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70377,"nodeType":"ExpressionStatement","src":"3307:31:104"},{"assignments":[70379],"declarations":[{"constant":false,"id":70379,"mutability":"mutable","name":"oldManager","nameLocation":"3356:10:104","nodeType":"VariableDeclaration","scope":70391,"src":"3348:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70378,"name":"address","nodeType":"ElementaryTypeName","src":"3348:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":70381,"initialValue":{"id":70380,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70144,"src":"3369:11:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3348:32:104"},{"expression":{"id":70384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70382,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70144,"src":"3390:11:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":70383,"name":"_newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70368,"src":"3404:11:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3390:25:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70385,"nodeType":"ExpressionStatement","src":"3390:25:104"},{"eventCall":{"arguments":[{"id":70387,"name":"oldManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70379,"src":"3449:10:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":70388,"name":"_newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70368,"src":"3461:11:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":70386,"name":"ListManagerChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70172,"src":"3430:18:104","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":70389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3430:43:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70390,"nodeType":"EmitStatement","src":"3425:48:104"}]},"baseFunctions":[70070],"documentation":{"id":70366,"nodeType":"StructuredDocumentation","src":"3114:102:104","text":"@notice Change the list manager address\n @param _newManager address of the new list manager"},"functionSelector":"3d476830","implemented":true,"kind":"function","modifiers":[{"id":70372,"kind":"modifierInvocation","modifierName":{"id":70371,"name":"onlyOwner","nameLocations":["3287:9:104"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"3287:9:104"},"nodeType":"ModifierInvocation","src":"3287:9:104"}],"name":"changeListManager","nameLocation":"3230:17:104","overrides":{"id":70370,"nodeType":"OverrideSpecifier","overrides":[],"src":"3278:8:104"},"parameters":{"id":70369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70368,"mutability":"mutable","name":"_newManager","nameLocation":"3256:11:104","nodeType":"VariableDeclaration","scope":70392,"src":"3248:19:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70367,"name":"address","nodeType":"ElementaryTypeName","src":"3248:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3247:21:104"},"returnParameters":{"id":70373,"nodeType":"ParameterList","parameters":[],"src":"3297:0:104"},"scope":70618,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":70451,"nodeType":"FunctionDefinition","src":"3648:532:104","nodes":[],"body":{"id":70450,"nodeType":"Block","src":"3754:426:104","nodes":[],"statements":[{"expression":{"arguments":[{"id":70405,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70395,"src":"3783:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70404,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70292,"src":"3764:18:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3764:29:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70407,"nodeType":"ExpressionStatement","src":"3764:29:104"},{"expression":{"arguments":[{"id":70409,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70399,"src":"3822:12:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70408,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70292,"src":"3803:18:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3803:32:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70411,"nodeType":"ExpressionStatement","src":"3803:32:104"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":70427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":70417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":70412,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70154,"src":"3849:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70047_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70414,"indexExpression":{"id":70413,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70395,"src":"3860:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3849:21:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70047_storage","typeString":"struct Strategy storage ref"}},"id":70415,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3871:9:104","memberName":"threshold","nodeType":"MemberAccess","referencedDeclaration":70042,"src":"3849:31:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":70416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3884:1:104","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3849:36:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":70426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":70418,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70154,"src":"3889:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70047_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70420,"indexExpression":{"id":70419,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70395,"src":"3900:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3889:21:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70047_storage","typeString":"struct Strategy storage ref"}},"id":70421,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3911:11:104","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":70046,"src":"3889:33:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":70424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3934:1:104","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":70423,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3926:7:104","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":70422,"name":"address","nodeType":"ElementaryTypeName","src":"3926:7:104","typeDescriptions":{}}},"id":70425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3926:10:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3889:47:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3849:87:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70432,"nodeType":"IfStatement","src":"3845:148:104","trueBody":{"id":70431,"nodeType":"Block","src":"3938:55:104","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":70428,"name":"StrategyAlreadyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70206,"src":"3959:21:104","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":70429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3959:23:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70430,"nodeType":"RevertStatement","src":"3952:30:104"}]}},{"expression":{"id":70441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":70433,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70154,"src":"4002:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70047_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70435,"indexExpression":{"id":70434,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70395,"src":"4013:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4002:21:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70047_storage","typeString":"struct Strategy storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":70437,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70397,"src":"4047:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":70438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4067:5:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"id":70439,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70399,"src":"4087:12:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"id":70436,"name":"Strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70047,"src":"4026:8:104","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Strategy_$70047_storage_ptr_$","typeString":"type(struct Strategy storage pointer)"}},"id":70440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["4036:9:104","4059:6:104","4074:11:104"],"names":["threshold","active","councilSafe"],"nodeType":"FunctionCall","src":"4026:75:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70047_memory_ptr","typeString":"struct Strategy memory"}},"src":"4002:99:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70047_storage","typeString":"struct Strategy storage ref"}},"id":70442,"nodeType":"ExpressionStatement","src":"4002:99:104"},{"eventCall":{"arguments":[{"id":70444,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70395,"src":"4130:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":70445,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70397,"src":"4141:10:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":70446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4153:5:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"id":70447,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70399,"src":"4160:12:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"id":70443,"name":"StrategyAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70182,"src":"4116:13:104","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bool_$_t_address_$returns$__$","typeString":"function (address,uint256,bool,address)"}},"id":70448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4116:57:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70449,"nodeType":"EmitStatement","src":"4111:62:104"}]},"baseFunctions":[70095],"documentation":{"id":70393,"nodeType":"StructuredDocumentation","src":"3486:157:104","text":"@notice Add a strategy to the contract\n @param _threshold is expressed on a scale of 10**4\n @param _councilSafe address of the council safe"},"functionSelector":"fc2ebdd1","implemented":true,"kind":"function","modifiers":[{"id":70402,"kind":"modifierInvocation","modifierName":{"id":70401,"name":"onlyAuthorized","nameLocations":["3739:14:104"],"nodeType":"IdentifierPath","referencedDeclaration":70226,"src":"3739:14:104"},"nodeType":"ModifierInvocation","src":"3739:14:104"}],"name":"addStrategy","nameLocation":"3657:11:104","parameters":{"id":70400,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70395,"mutability":"mutable","name":"_strategy","nameLocation":"3677:9:104","nodeType":"VariableDeclaration","scope":70451,"src":"3669:17:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70394,"name":"address","nodeType":"ElementaryTypeName","src":"3669:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70397,"mutability":"mutable","name":"_threshold","nameLocation":"3696:10:104","nodeType":"VariableDeclaration","scope":70451,"src":"3688:18:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70396,"name":"uint256","nodeType":"ElementaryTypeName","src":"3688:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70399,"mutability":"mutable","name":"_councilSafe","nameLocation":"3716:12:104","nodeType":"VariableDeclaration","scope":70451,"src":"3708:20:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70398,"name":"address","nodeType":"ElementaryTypeName","src":"3708:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3668:61:104"},"returnParameters":{"id":70403,"nodeType":"ParameterList","parameters":[],"src":"3754:0:104"},"scope":70618,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":70484,"nodeType":"FunctionDefinition","src":"4297:274:104","nodes":[],"body":{"id":70483,"nodeType":"Block","src":"4393:178:104","nodes":[],"statements":[{"expression":{"arguments":[{"id":70462,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70454,"src":"4422:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70461,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70292,"src":"4403:18:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4403:29:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70464,"nodeType":"ExpressionStatement","src":"4403:29:104"},{"expression":{"id":70470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":70465,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70154,"src":"4442:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70047_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70467,"indexExpression":{"id":70466,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70454,"src":"4453:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4442:21:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70047_storage","typeString":"struct Strategy storage ref"}},"id":70468,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4464:6:104","memberName":"active","nodeType":"MemberAccess","referencedDeclaration":70044,"src":"4442:28:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":70469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4473:5:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"4442:36:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70471,"nodeType":"ExpressionStatement","src":"4442:36:104"},{"expression":{"id":70477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":70472,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70154,"src":"4488:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70047_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70474,"indexExpression":{"id":70473,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70454,"src":"4499:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4488:21:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70047_storage","typeString":"struct Strategy storage ref"}},"id":70475,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4510:9:104","memberName":"threshold","nodeType":"MemberAccess","referencedDeclaration":70042,"src":"4488:31:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":70476,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4522:1:104","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4488:35:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70478,"nodeType":"ExpressionStatement","src":"4488:35:104"},{"eventCall":{"arguments":[{"id":70480,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70454,"src":"4554:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70479,"name":"StrategyRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70186,"src":"4538:15:104","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":70481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4538:26:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70482,"nodeType":"EmitStatement","src":"4533:31:104"}]},"baseFunctions":[70100],"documentation":{"id":70452,"nodeType":"StructuredDocumentation","src":"4186:106:104","text":"@notice Remove a strategy from the contract\n @param _strategy address of the strategy to remove"},"functionSelector":"175188e8","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":70458,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70454,"src":"4382:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":70459,"kind":"modifierInvocation","modifierName":{"id":70457,"name":"onlyCouncilOrAuthorized","nameLocations":["4358:23:104"],"nodeType":"IdentifierPath","referencedDeclaration":70256,"src":"4358:23:104"},"nodeType":"ModifierInvocation","src":"4358:34:104"}],"name":"removeStrategy","nameLocation":"4306:14:104","overrides":{"id":70456,"nodeType":"OverrideSpecifier","overrides":[],"src":"4349:8:104"},"parameters":{"id":70455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70454,"mutability":"mutable","name":"_strategy","nameLocation":"4329:9:104","nodeType":"VariableDeclaration","scope":70484,"src":"4321:17:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70453,"name":"address","nodeType":"ElementaryTypeName","src":"4321:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4320:19:104"},"returnParameters":{"id":70460,"nodeType":"ParameterList","parameters":[],"src":"4393:0:104"},"scope":70618,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":70509,"nodeType":"FunctionDefinition","src":"4674:211:104","nodes":[],"body":{"id":70508,"nodeType":"Block","src":"4751:134:104","nodes":[],"statements":[{"expression":{"arguments":[{"id":70494,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70487,"src":"4780:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70493,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70292,"src":"4761:18:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4761:29:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70496,"nodeType":"ExpressionStatement","src":"4761:29:104"},{"expression":{"id":70502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":70497,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70154,"src":"4800:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70047_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70499,"indexExpression":{"id":70498,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70487,"src":"4811:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4800:21:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70047_storage","typeString":"struct Strategy storage ref"}},"id":70500,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4822:6:104","memberName":"active","nodeType":"MemberAccess","referencedDeclaration":70044,"src":"4800:28:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":70501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4831:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"4800:35:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70503,"nodeType":"ExpressionStatement","src":"4800:35:104"},{"eventCall":{"arguments":[{"id":70505,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70487,"src":"4868:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70504,"name":"StrategyActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70190,"src":"4850:17:104","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":70506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4850:28:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70507,"nodeType":"EmitStatement","src":"4845:33:104"}]},"baseFunctions":[70105],"documentation":{"id":70485,"nodeType":"StructuredDocumentation","src":"4577:92:104","text":"@notice Activate a strategy\n @param _strategy address of the strategy to activate"},"functionSelector":"d80ea5a0","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":70490,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70487,"src":"4740:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":70491,"kind":"modifierInvocation","modifierName":{"id":70489,"name":"onlyCouncil","nameLocations":["4728:11:104"],"nodeType":"IdentifierPath","referencedDeclaration":70275,"src":"4728:11:104"},"nodeType":"ModifierInvocation","src":"4728:22:104"}],"name":"activateStrategy","nameLocation":"4683:16:104","parameters":{"id":70488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70487,"mutability":"mutable","name":"_strategy","nameLocation":"4708:9:104","nodeType":"VariableDeclaration","scope":70509,"src":"4700:17:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70486,"name":"address","nodeType":"ElementaryTypeName","src":"4700:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4699:19:104"},"returnParameters":{"id":70492,"nodeType":"ParameterList","parameters":[],"src":"4751:0:104"},"scope":70618,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":70537,"nodeType":"FunctionDefinition","src":"5081:272:104","nodes":[],"body":{"id":70536,"nodeType":"Block","src":"5192:161:104","nodes":[],"statements":[{"expression":{"arguments":[{"id":70521,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70512,"src":"5221:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70520,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70292,"src":"5202:18:104","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":70522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5202:29:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70523,"nodeType":"ExpressionStatement","src":"5202:29:104"},{"expression":{"id":70529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":70524,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70154,"src":"5241:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70047_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70526,"indexExpression":{"id":70525,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70512,"src":"5252:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5241:21:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70047_storage","typeString":"struct Strategy storage ref"}},"id":70527,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5263:9:104","memberName":"threshold","nodeType":"MemberAccess","referencedDeclaration":70042,"src":"5241:31:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":70528,"name":"_newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70514,"src":"5275:13:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5241:47:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70530,"nodeType":"ExpressionStatement","src":"5241:47:104"},{"eventCall":{"arguments":[{"id":70532,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70512,"src":"5321:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":70533,"name":"_newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70514,"src":"5332:13:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":70531,"name":"ThresholdModified","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70196,"src":"5303:17:104","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":70534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5303:43:104","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":70535,"nodeType":"EmitStatement","src":"5298:48:104"}]},"baseFunctions":[70086],"documentation":{"id":70510,"nodeType":"StructuredDocumentation","src":"4891:185:104","text":"@notice Modify the threshold of a strategy\n @param _strategy address of the strategy to modify\n @param _newThreshold new threshold to set expressed on a scale of 10**4"},"functionSelector":"642ce76b","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":70517,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70512,"src":"5181:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":70518,"kind":"modifierInvocation","modifierName":{"id":70516,"name":"onlyCouncilOrAuthorized","nameLocations":["5157:23:104"],"nodeType":"IdentifierPath","referencedDeclaration":70256,"src":"5157:23:104"},"nodeType":"ModifierInvocation","src":"5157:34:104"}],"name":"modifyThreshold","nameLocation":"5090:15:104","parameters":{"id":70515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70512,"mutability":"mutable","name":"_strategy","nameLocation":"5114:9:104","nodeType":"VariableDeclaration","scope":70537,"src":"5106:17:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70511,"name":"address","nodeType":"ElementaryTypeName","src":"5106:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70514,"mutability":"mutable","name":"_newThreshold","nameLocation":"5133:13:104","nodeType":"VariableDeclaration","scope":70537,"src":"5125:21:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70513,"name":"uint256","nodeType":"ElementaryTypeName","src":"5125:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5105:42:104"},"returnParameters":{"id":70519,"nodeType":"ParameterList","parameters":[],"src":"5192:0:104"},"scope":70618,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":70576,"nodeType":"FunctionDefinition","src":"5518:345:104","nodes":[],"body":{"id":70575,"nodeType":"Block","src":"5616:247:104","nodes":[],"statements":[{"assignments":[70550],"declarations":[{"constant":false,"id":70550,"mutability":"mutable","name":"userScore","nameLocation":"5646:9:104","nodeType":"VariableDeclaration","scope":70575,"src":"5626:29:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":70549,"nodeType":"UserDefinedTypeName","pathNode":{"id":70548,"name":"PassportData","nameLocations":["5626:12:104"],"nodeType":"IdentifierPath","referencedDeclaration":70040,"src":"5626:12:104"},"referencedDeclaration":70040,"src":"5626:12:104","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"id":70554,"initialValue":{"baseExpression":{"id":70551,"name":"userScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70149,"src":"5658:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$70040_storage_$","typeString":"mapping(address => struct PassportData storage ref)"}},"id":70553,"indexExpression":{"id":70552,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70540,"src":"5669:5:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5658:17:104","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_storage","typeString":"struct PassportData storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5626:49:104"},{"assignments":[70557],"declarations":[{"constant":false,"id":70557,"mutability":"mutable","name":"strategy","nameLocation":"5701:8:104","nodeType":"VariableDeclaration","scope":70575,"src":"5685:24:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70047_memory_ptr","typeString":"struct Strategy"},"typeName":{"id":70556,"nodeType":"UserDefinedTypeName","pathNode":{"id":70555,"name":"Strategy","nameLocations":["5685:8:104"],"nodeType":"IdentifierPath","referencedDeclaration":70047,"src":"5685:8:104"},"referencedDeclaration":70047,"src":"5685:8:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70047_storage_ptr","typeString":"struct Strategy"}},"visibility":"internal"}],"id":70561,"initialValue":{"baseExpression":{"id":70558,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70154,"src":"5712:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70047_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70560,"indexExpression":{"id":70559,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70542,"src":"5723:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5712:21:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70047_storage","typeString":"struct Strategy storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5685:48:104"},{"condition":{"id":70564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5748:16:104","subExpression":{"expression":{"id":70562,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70557,"src":"5749:8:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70047_memory_ptr","typeString":"struct Strategy memory"}},"id":70563,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5758:6:104","memberName":"active","nodeType":"MemberAccess","referencedDeclaration":70044,"src":"5749:15:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":70568,"nodeType":"IfStatement","src":"5744:58:104","trueBody":{"id":70567,"nodeType":"Block","src":"5766:36:104","statements":[{"expression":{"hexValue":"74727565","id":70565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5787:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":70547,"id":70566,"nodeType":"Return","src":"5780:11:104"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":70573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":70569,"name":"userScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70550,"src":"5819:9:104","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_memory_ptr","typeString":"struct PassportData memory"}},"id":70570,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5829:5:104","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":70037,"src":"5819:15:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":70571,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70557,"src":"5838:8:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70047_memory_ptr","typeString":"struct Strategy memory"}},"id":70572,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5847:9:104","memberName":"threshold","nodeType":"MemberAccess","referencedDeclaration":70042,"src":"5838:18:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5819:37:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":70547,"id":70574,"nodeType":"Return","src":"5812:44:104"}]},"baseFunctions":[70079],"documentation":{"id":70538,"nodeType":"StructuredDocumentation","src":"5359:154:104","text":"@notice Check if an action can be executed\n @param _user address of the user to check\n @param _strategy address of the strategy to check"},"functionSelector":"42a987a0","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteAction","nameLocation":"5527:16:104","overrides":{"id":70544,"nodeType":"OverrideSpecifier","overrides":[],"src":"5592:8:104"},"parameters":{"id":70543,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70540,"mutability":"mutable","name":"_user","nameLocation":"5552:5:104","nodeType":"VariableDeclaration","scope":70576,"src":"5544:13:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70539,"name":"address","nodeType":"ElementaryTypeName","src":"5544:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70542,"mutability":"mutable","name":"_strategy","nameLocation":"5567:9:104","nodeType":"VariableDeclaration","scope":70576,"src":"5559:17:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70541,"name":"address","nodeType":"ElementaryTypeName","src":"5559:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5543:34:104"},"returnParameters":{"id":70547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70546,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70576,"src":"5610:4:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70545,"name":"bool","nodeType":"ElementaryTypeName","src":"5610:4:104","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5609:6:104"},"scope":70618,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":70590,"nodeType":"FunctionDefinition","src":"5959:122:104","nodes":[],"body":{"id":70589,"nodeType":"Block","src":"6040:41:104","nodes":[],"statements":[{"expression":{"baseExpression":{"id":70585,"name":"userScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70149,"src":"6057:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$70040_storage_$","typeString":"mapping(address => struct PassportData storage ref)"}},"id":70587,"indexExpression":{"id":70586,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70579,"src":"6068:5:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6057:17:104","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_storage","typeString":"struct PassportData storage ref"}},"functionReturnParameters":70584,"id":70588,"nodeType":"Return","src":"6050:24:104"}]},"baseFunctions":[70113],"documentation":{"id":70577,"nodeType":"StructuredDocumentation","src":"5869:85:104","text":"@notice Get the score of a user\n @param _user address of the user to check"},"functionSelector":"b34e0c47","implemented":true,"kind":"function","modifiers":[],"name":"getUserScore","nameLocation":"5968:12:104","parameters":{"id":70580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70579,"mutability":"mutable","name":"_user","nameLocation":"5989:5:104","nodeType":"VariableDeclaration","scope":70590,"src":"5981:13:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70578,"name":"address","nodeType":"ElementaryTypeName","src":"5981:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5980:15:104"},"returnParameters":{"id":70584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70583,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70590,"src":"6019:19:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":70582,"nodeType":"UserDefinedTypeName","pathNode":{"id":70581,"name":"PassportData","nameLocations":["6019:12:104"],"nodeType":"IdentifierPath","referencedDeclaration":70040,"src":"6019:12:104"},"referencedDeclaration":70040,"src":"6019:12:104","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"src":"6018:21:104"},"scope":70618,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":70604,"nodeType":"FunctionDefinition","src":"6183:125:104","nodes":[],"body":{"id":70603,"nodeType":"Block","src":"6263:45:104","nodes":[],"statements":[{"expression":{"baseExpression":{"id":70599,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70154,"src":"6280:10:104","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$70047_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":70601,"indexExpression":{"id":70600,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70593,"src":"6291:9:104","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6280:21:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70047_storage","typeString":"struct Strategy storage ref"}},"functionReturnParameters":70598,"id":70602,"nodeType":"Return","src":"6273:28:104"}]},"baseFunctions":[70121],"documentation":{"id":70591,"nodeType":"StructuredDocumentation","src":"6087:91:104","text":"@notice Get the strategy data\n @param _strategy address of the strategy to check"},"functionSelector":"f8806a13","implemented":true,"kind":"function","modifiers":[],"name":"getStrategy","nameLocation":"6192:11:104","parameters":{"id":70594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70593,"mutability":"mutable","name":"_strategy","nameLocation":"6212:9:104","nodeType":"VariableDeclaration","scope":70604,"src":"6204:17:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70592,"name":"address","nodeType":"ElementaryTypeName","src":"6204:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6203:19:104"},"returnParameters":{"id":70598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70597,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70604,"src":"6246:15:104","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70047_memory_ptr","typeString":"struct Strategy"},"typeName":{"id":70596,"nodeType":"UserDefinedTypeName","pathNode":{"id":70595,"name":"Strategy","nameLocations":["6246:8:104"],"nodeType":"IdentifierPath","referencedDeclaration":70047,"src":"6246:8:104"},"referencedDeclaration":70047,"src":"6246:8:104","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$70047_storage_ptr","typeString":"struct Strategy"}},"visibility":"internal"}],"src":"6245:17:104"},"scope":70618,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":70613,"nodeType":"FunctionDefinition","src":"6314:66:104","nodes":[],"body":{"id":70612,"nodeType":"Block","src":"6378:2:104","nodes":[],"statements":[]},"baseFunctions":[55671],"implemented":true,"kind":"function","modifiers":[{"id":70610,"kind":"modifierInvocation","modifierName":{"id":70609,"name":"onlyOwner","nameLocations":["6368:9:104"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"6368:9:104"},"nodeType":"ModifierInvocation","src":"6368:9:104"}],"name":"_authorizeUpgrade","nameLocation":"6323:17:104","overrides":{"id":70608,"nodeType":"OverrideSpecifier","overrides":[],"src":"6359:8:104"},"parameters":{"id":70607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70606,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":70613,"src":"6341:7:104","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70605,"name":"address","nodeType":"ElementaryTypeName","src":"6341:7:104","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6340:9:104"},"returnParameters":{"id":70611,"nodeType":"ParameterList","parameters":[],"src":"6378:0:104"},"scope":70618,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":70617,"nodeType":"VariableDeclaration","src":"6386:25:104","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"6406:5:104","scope":70618,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":70614,"name":"uint256","nodeType":"ElementaryTypeName","src":"6386:7:104","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70616,"length":{"hexValue":"3530","id":70615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6394:2:104","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"6386:11:104","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":70135,"name":"Initializable","nameLocations":["479:13:104"],"nodeType":"IdentifierPath","referencedDeclaration":53152,"src":"479:13:104"},"id":70136,"nodeType":"InheritanceSpecifier","src":"479:13:104"},{"baseName":{"id":70137,"name":"UUPSUpgradeable","nameLocations":["494:15:104"],"nodeType":"IdentifierPath","referencedDeclaration":55672,"src":"494:15:104"},"id":70138,"nodeType":"InheritanceSpecifier","src":"494:15:104"},{"baseName":{"id":70139,"name":"OwnableUpgradeable","nameLocations":["511:18:104"],"nodeType":"IdentifierPath","referencedDeclaration":52903,"src":"511:18:104"},"id":70140,"nodeType":"InheritanceSpecifier","src":"511:18:104"},{"baseName":{"id":70141,"name":"ISybilScorer","nameLocations":["531:12:104"],"nodeType":"IdentifierPath","referencedDeclaration":70122,"src":"531:12:104"},"id":70142,"nodeType":"InheritanceSpecifier","src":"531:12:104"}],"canonicalName":"PassportScorer","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[70618,70122,52903,53696,55672,53152,55325,54974,54984],"name":"PassportScorer","nameLocation":"461:14:104","scope":70619,"usedErrors":[70198,70200,70202,70204,70206]}],"license":"AGPL-3.0-or-later"},"id":104} \ No newline at end of file diff --git a/pkg/contracts/out/PassportScorerTest.t.sol/PassportScorerTest.json b/pkg/contracts/out/PassportScorerTest.t.sol/PassportScorerTest.json index 3ab04a428..ea873722f 100644 --- a/pkg/contracts/out/PassportScorerTest.t.sol/PassportScorerTest.json +++ b/pkg/contracts/out/PassportScorerTest.t.sol/PassportScorerTest.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"listManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"passportData","inputs":[],"outputs":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"passportScorer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract PassportScorer"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategy","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testAddStrategy","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testAddUserScore","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCanExecuteAction","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testChangeListManager","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testModifyThresholdByAuthorized","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testModifyThresholdByCouncilSafe","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testOnlyAuthorizedCanAddUserScore","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testOnlyAuthorizedCanRemoveUser","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testOnlyOwnerCanChangeListManager","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRemoveStrategy","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRemoveUser","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unauthorizedUser","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"user","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x6080604052600c805460ff199081166001908117909255601e805490911682179055601f80546001600160a01b0319908116909217905560208054821660021790556021805482166003179055602280548216600417905560238054909116600517905534801561006f57600080fd5b5061463d8061007f6000396000f3fe60806040523480156200001157600080fd5b50600436106200018a5760003560e01c8063073a2d8c146200018f5780630778c72c14620001b85780630a9254e414620001c45780630c2759da14620001ce5780631ed7831c14620001d857806324e40b9714620001f15780632582115314620001fb5780632ade388014620002055780633668aa29146200021e5780633e5e3c2314620002285780633ea7771b14620002325780633f7286f414620002555780634905e831146200025f5780634f8632ba146200027857806366d9a9a0146200028c5780636c53db9a14620002a557806382fad47814620002b957806385226c8114620002c35780638caa5c4414620002dc5780638df8b2fe14620002e6578063916a17c614620002fa5780639693f1281462000304578063a8c62e76146200030e578063b5508aa91462000322578063ba414fa6146200032c578063d4dadecb1462000347578063e20c9f711462000351578063e68393b4146200035b578063ebe69a5f1462000365578063fa7626d4146200036f575b600080fd5b6024546025546200019e919082565b604080519283526020830191909152015b60405180910390f35b620001c26200037d565b005b620001c262000615565b620001c26200071d565b620001e2620008ae565b604051620001af9190620023ed565b620001c262000912565b620001c262000a86565b6200020f62000bd7565b604051620001af919062002484565b620001c262000d25565b620001e262000fb9565b60235462000246906001600160a01b031681565b604051620001af91906200254a565b620001e26200101b565b601e54620002469061010090046001600160a01b031681565b60205462000246906001600160a01b031681565b620002966200107d565b604051620001af91906200255e565b60225462000246906001600160a01b031681565b620001c262001167565b620002cd62001285565b604051620001af919062002615565b620001c26200135f565b601f5462000246906001600160a01b031681565b6200029662001890565b620001c26200197a565b60215462000246906001600160a01b031681565b620002cd62001b02565b6200033662001bdc565b6040519015158152602001620001af565b620001c262001c91565b620001e262001efe565b620001c262001f60565b620001c26200208f565b601e54620003369060ff1681565b601f5460405163ca669fa760e01b8152603291600080516020620045c88339815191529163ca669fa791620003c1916001600160a01b03909116906004016200254a565b600060405180830381600087803b158015620003dc57600080fd5b505af1158015620003f1573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd19450620004389392831692879216906004016200267b565b600060405180830381600087803b1580156200045357600080fd5b505af115801562000468573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa79250620004ab916001600160a01b0316906004016200254a565b600060405180830381600087803b158015620004c657600080fd5b505af1158015620004db573d6000803e3d6000fd5b5050601e546021546040516302ea311d60e31b81526101009092046001600160a01b03908116945063175188e893506200051b929116906004016200254a565b600060405180830381600087803b1580156200053657600080fd5b505af11580156200054b573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b815260009450849350839261010090046001600160a01b03908116926339ebf823926200059292909116906004016200254a565b606060405180830381865afa158015620005b0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005d69190620026cc565b925092509250620005e98360006200225f565b620005f6826000620022cb565b6022546200060f9082906001600160a01b031662002308565b50505050565b60006040516200062590620023d1565b604051809103906000f08015801562000642573d6000803e3d6000fd5b50601f5460405163189acdbd60e31b916200066c916001600160a01b03909116906024016200254a565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051620006ab90620023df565b620006b89291906200270d565b604051809103906000f080158015620006d5573d6000803e3d6000fd5b50601e80546001600160a01b0390921661010002610100600160a81b031990921691909117905550604080518082019091526064808252426020909201829052602455602555565b601f5460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa7916200075c916001600160a01b0316906004016200254a565b600060405180830381600087803b1580156200077757600080fd5b505af11580156200078c573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526101009092046001600160a01b039081169450637814d5689350620007cf929116906024906004016200273b565b600060405180830381600087803b158015620007ea57600080fd5b505af1158015620007ff573d6000803e3d6000fd5b5050601e5460205460405163b34e0c4760e01b8152600094506001600160a01b036101009093048316935063b34e0c4792620008409216906004016200254a565b6040805180830381865afa1580156200085d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200088391906200275f565b805160245491925062000896916200225f565b620008ab81602001516024600101546200225f565b50565b606060168054806020026020016040519081016040528092919081815260200182805480156200090857602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620008e9575b5050505050905090565b601f5460405163ca669fa760e01b8152600691600080516020620045c88339815191529163ca669fa79162000956916001600160a01b03909116906004016200254a565b600060405180830381600087803b1580156200097157600080fd5b505af115801562000986573d6000803e3d6000fd5b505060405163f28dceb360e01b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152600080516020620045c8833981519152925063f28dceb39150606401600060405180830381600087803b15801562000a0057600080fd5b505af115801562000a15573d6000803e3d6000fd5b5050601e546040516303d4768360e41b81526101009091046001600160a01b03169250633d476830915062000a4f9084906004016200254a565b600060405180830381600087803b15801562000a6a57600080fd5b505af115801562000a7f573d6000803e3d6000fd5b5050505050565b60235460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa79162000ac5916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562000ae057600080fd5b505af115801562000af5573d6000803e3d6000fd5b5050604051630618f58760e51b8152600080516020620045c8833981519152925063c31eb0e0915062000b3490637d7b71b560e01b90600401620027bd565b600060405180830381600087803b15801562000b4f57600080fd5b505af115801562000b64573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526101009092046001600160a01b039081169450637814d568935062000ba7929116906024906004016200273b565b600060405180830381600087803b15801562000bc257600080fd5b505af11580156200060f573d6000803e3d6000fd5b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562000d0457838290600052602060002001805462000c7090620027d2565b80601f016020809104026020016040519081016040528092919081815260200182805462000c9e90620027d2565b801562000cef5780601f1062000cc35761010080835404028352916020019162000cef565b820191906000526020600020905b81548152906001019060200180831162000cd157829003601f168201915b50505050508152602001906001019062000c4e565b50505050815250508152602001906001019062000bfb565b50505050905090565b601f5460405163ca669fa760e01b8152603291604b91600080516020620045c88339815191529163ca669fa79162000d6a916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562000d8557600080fd5b505af115801562000d9a573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd1945062000de19392831692889216906004016200267b565b600060405180830381600087803b15801562000dfc57600080fd5b505af115801562000e11573d6000803e3d6000fd5b505060225460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa7925062000e54916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562000e6f57600080fd5b505af115801562000e84573d6000803e3d6000fd5b5050601e5460215460405163642ce76b60e01b81526101009092046001600160a01b03908116945063642ce76b935062000ec69291169085906004016200280e565b600060405180830381600087803b15801562000ee157600080fd5b505af115801562000ef6573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b815260009450849350839261010090046001600160a01b03908116926339ebf8239262000f3d92909116906004016200254a565b606060405180830381865afa15801562000f5b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f819190620026cc565b92509250925062000f9383856200225f565b62000fa0826000620022cb565b60225462000a7f9082906001600160a01b031662002308565b6060601880548060200260200160405190810160405280929190818152602001828054801562000908576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311620008e9575050505050905090565b6060601780548060200260200160405190810160405280929190818152602001828054801562000908576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311620008e9575050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200114e57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116200110f5790505b50505050508152505081526020019060010190620010a1565b60235460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa791620011a6916001600160a01b0316906004016200254a565b600060405180830381600087803b158015620011c157600080fd5b505af1158015620011d6573d6000803e3d6000fd5b5050604051630618f58760e51b8152600080516020620045c8833981519152925063c31eb0e091506200121590637d7b71b560e01b90600401620027bd565b600060405180830381600087803b1580156200123057600080fd5b505af115801562001245573d6000803e3d6000fd5b5050601e5460205460405163130aea3160e31b81526101009092046001600160a01b0390811694506398575188935062000ba7929116906004016200254a565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c578382906000526020600020018054620012cb90620027d2565b80601f0160208091040260200160405190810160405280929190818152602001828054620012f990620027d2565b80156200134a5780601f106200131e576101008083540402835291602001916200134a565b820191906000526020600020905b8154815290600101906020018083116200132c57829003601f168201915b505050505081526020019060010190620012a9565b601f5460405163ca669fa760e01b8152603291600080516020620045c88339815191529163ca669fa791620013a3916001600160a01b03909116906004016200254a565b600060405180830381600087803b158015620013be57600080fd5b505af1158015620013d3573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd194506200141a9392831692879216906004016200267b565b600060405180830381600087803b1580156200143557600080fd5b505af11580156200144a573d6000803e3d6000fd5b50506022546040516303223eab60e11b8152600080516020620045c883398151915293506306447d5692506200148d916001600160a01b0316906004016200254a565b600060405180830381600087803b158015620014a857600080fd5b505af1158015620014bd573d6000803e3d6000fd5b5050601e546021546040516306c0752d60e51b81526101009092046001600160a01b03908116945063d80ea5a09350620014fd929116906004016200254a565b600060405180830381600087803b1580156200151857600080fd5b505af11580156200152d573d6000803e3d6000fd5b50505050600080516020620045e883398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200157f57600080fd5b505af115801562001594573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa79250620015d7916001600160a01b0316906004016200254a565b600060405180830381600087803b158015620015f257600080fd5b505af115801562001607573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526101009092046001600160a01b039081169450637814d56893506200164a929116906024906004016200273b565b600060405180830381600087803b1580156200166557600080fd5b505af11580156200167a573d6000803e3d6000fd5b5050601e546020546021546040516302154c3d60e51b8152600095506001600160a01b03610100909404841694506342a987a093620016c193811692169060040162002827565b602060405180830381865afa158015620016df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001705919062002841565b905062001712816200233e565b601f5460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa79162001751916001600160a01b0316906004016200254a565b600060405180830381600087803b1580156200176c57600080fd5b505af115801562001781573d6000803e3d6000fd5b5050601e5460215460405163642ce76b60e01b81526101009092046001600160a01b03908116945063642ce76b9350620017c4929116906096906004016200280e565b600060405180830381600087803b158015620017df57600080fd5b505af1158015620017f4573d6000803e3d6000fd5b5050601e546020546021546040516302154c3d60e51b81526101009093046001600160a01b0390811695506342a987a094506200183b939281169291169060040162002827565b602060405180830381865afa15801562001859573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200187f919062002841565b90506200188c816200239c565b5050565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200196157602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620019225790505b50505050508152505081526020019060010190620018b4565b601f5460405163ca669fa760e01b8152603291600080516020620045c88339815191529163ca669fa791620019be916001600160a01b03909116906004016200254a565b600060405180830381600087803b158015620019d957600080fd5b505af1158015620019ee573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd1945062001a359392831692879216906004016200267b565b600060405180830381600087803b15801562001a5057600080fd5b505af115801562001a65573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b815260009450849350839261010090046001600160a01b03908116926339ebf8239262001aac92909116906004016200254a565b606060405180830381865afa15801562001aca573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001af09190620026cc565b925092509250620005e983856200225f565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c57838290600052602060002001805462001b4890620027d2565b80601f016020809104026020016040519081016040528092919081815260200182805462001b7690620027d2565b801562001bc75780601f1062001b9b5761010080835404028352916020019162001bc7565b820191906000526020600020905b81548152906001019060200180831162001ba957829003601f168201915b50505050508152602001906001019062001b26565b60085460009060ff161562001bf5575060085460ff1690565b604051630667f9d760e41b8152600090600080516020620045c88339815191529063667f9d709062001c4690600080516020620045e8833981519152906519985a5b195960d21b906004016200280e565b602060405180830381865afa15801562001c64573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001c8a919062002866565b1415905090565b601f5460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa79162001cd0916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562001ceb57600080fd5b505af115801562001d00573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526101009092046001600160a01b039081169450637814d568935062001d43929116906024906004016200273b565b600060405180830381600087803b15801562001d5e57600080fd5b505af115801562001d73573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa7925062001db6916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562001dd157600080fd5b505af115801562001de6573d6000803e3d6000fd5b5050601e5460205460405163130aea3160e31b81526101009092046001600160a01b0390811694506398575188935062001e26929116906004016200254a565b600060405180830381600087803b15801562001e4157600080fd5b505af115801562001e56573d6000803e3d6000fd5b5050601e5460205460405163b34e0c4760e01b8152600094506001600160a01b036101009093048316935063b34e0c479262001e979216906004016200254a565b6040805180830381865afa15801562001eb4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001eda91906200275f565b905062001eed816000015160006200225f565b620008ab816020015160006200225f565b6060601580548060200260200160405190810160405280929190818152602001828054801562000908576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311620008e9575050505050905090565b601f5460405163ca669fa760e01b8152603291604b91600080516020620045c88339815191529163ca669fa79162001fa5916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562001fc057600080fd5b505af115801562001fd5573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd194506200201c9392831692889216906004016200267b565b600060405180830381600087803b1580156200203757600080fd5b505af11580156200204c573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa7925062000e54916001600160a01b0316906004016200254a565b601e5460408051638da5cb5b60e01b81529051600692600080516020620045c88339815191529263ca669fa7926101009092046001600160a01b031691638da5cb5b916004808201926020929091908290030181865afa158015620020f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200211e919062002880565b6040518263ffffffff1660e01b81526004016200213c91906200254a565b600060405180830381600087803b1580156200215757600080fd5b505af11580156200216c573d6000803e3d6000fd5b5050601e546040516303d4768360e41b81526101009091046001600160a01b03169250633d4768309150620021a69084906004016200254a565b600060405180830381600087803b158015620021c157600080fd5b505af1158015620021d6573d6000803e3d6000fd5b50505050620008ab601e60019054906101000a90046001600160a01b03166001600160a01b0316638df8b2fe6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002232573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002258919062002880565b8262002308565b60405163260a5b1560e21b81526004810183905260248101829052600080516020620045c8833981519152906398296c54906044015b60006040518083038186803b158015620022ae57600080fd5b505afa158015620022c3573d6000803e3d6000fd5b505050505050565b60405163f7fe347760e01b815282151560048201528115156024820152600080516020620045c88339815191529063f7fe34779060440162002295565b6040516328a9b0fb60e11b8152600080516020620045c88339815191529063515361f69062002295908590859060040162002827565b604051630c9fd58160e01b81528115156004820152600080516020620045c883398151915290630c9fd581906024015b60006040518083038186803b1580156200238757600080fd5b505afa15801562000a7f573d6000803e3d6000fd5b60405163a598288560e01b81528115156004820152600080516020620045c88339815191529063a5982885906024016200236e565b61183d806200289f83390190565b6104ec80620040dc83390190565b6020808252825182820181905260009190848201906040850190845b81811015620024305783516001600160a01b03168352928401929184019160010162002409565b50909695505050505050565b6000815180845260005b81811015620024645760208185018101518683018201520162002446565b506000602082860101526020601f19601f83011685010191505092915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b858110156200253a57603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156200252357605f19898503018352620025108486516200243c565b948e01949350918d0191600101620024f1565b505050978a019794505091880191600101620024ab565b50919a9950505050505050505050565b6001600160a01b0391909116815260200190565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156200260657898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015620025f05783516001600160e01b0319168252928b019260019290920191908b0190620025c4565b50978a0197955050509187019160010162002586565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200266e57603f198886030184526200265b8583516200243c565b945092850192908501906001016200263c565b5092979650505050505050565b6001600160a01b0393841681526020810192909252909116604082015260600190565b80518015158114620026af57600080fd5b919050565b80516001600160a01b0381168114620026af57600080fd5b600080600060608486031215620026e257600080fd5b83519250620026f4602085016200269e565b91506200270460408501620026b4565b90509250925092565b6001600160a01b038316815260406020820181905260009062002733908301846200243c565b949350505050565b6001600160a01b039290921682528054602083015260010154604082015260600190565b6000604082840312156200277257600080fd5b604080519081016001600160401b0381118282101715620027a357634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b6001600160e01b031991909116815260200190565b600181811c90821680620027e757607f821691505b6020821081036200280857634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0392831681529116602082015260400190565b6000602082840312156200285457600080fd5b6200285f826200269e565b9392505050565b6000602082840312156200287957600080fd5b5051919050565b6000602082840312156200289357600080fd5b6200285f82620026b456fe60a06040523060805234801561001457600080fd5b506080516117f161004c600039600081816105a9015281816105f201528181610765015281816107a5015261081d01526117f16000f3fe6080604052600436106100ef5760003560e01c80631413d4c0146100f4578063175188e8146101425780633659cfe61461016457806339ebf823146101845780633d476830146101da57806342a987a0146101fa5780634f1ef2861461022a57806352d1902d1461023d578063642ce76b14610260578063715018a6146102805780637814d568146102955780638da5cb5b146102b55780638df8b2fe146102e25780639857518814610302578063b34e0c4714610322578063c4d66de81461039f578063d80ea5a0146103bf578063f2fde38b146103df578063f8806a13146103ff578063fc2ebdd1146104a5575b600080fd5b34801561010057600080fd5b5061012861010f3660046113d9565b6066602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b34801561014e57600080fd5b5061016261015d3660046113d9565b6104c5565b005b34801561017057600080fd5b5061016261017f3660046113d9565b61059f565b34801561019057600080fd5b506101cb61019f3660046113d9565b6067602052600090815260409020805460019091015460ff81169061010090046001600160a01b031683565b604051610139939291906113f4565b3480156101e657600080fd5b506101626101f53660046113d9565b610670565b34801561020657600080fd5b5061021a610215366004611413565b6106d3565b6040519015158152602001610139565b61016261023836600461148c565b61075b565b34801561024957600080fd5b50610252610810565b604051908152602001610139565b34801561026c57600080fd5b5061016261027b366004611531565b6108be565b34801561028c57600080fd5b50610162610989565b3480156102a157600080fd5b506101626102b036600461155b565b61099d565b3480156102c157600080fd5b506102ca610a5a565b6040516001600160a01b039091168152602001610139565b3480156102ee57600080fd5b506065546102ca906001600160a01b031681565b34801561030e57600080fd5b5061016261031d3660046113d9565b610a69565b34801561032e57600080fd5b5061038461033d3660046113d9565b6040805180820190915260008082526020820152506001600160a01b0316600090815260666020908152604091829020825180840190935280548352600101549082015290565b60408051825181526020928301519281019290925201610139565b3480156103ab57600080fd5b506101626103ba3660046113d9565b610af2565b3480156103cb57600080fd5b506101626103da3660046113d9565b610c2e565b3480156103eb57600080fd5b506101626103fa3660046113d9565b610cce565b34801561040b57600080fd5b5061047861041a3660046113d9565b6040805160608082018352600080835260208084018290529284018190526001600160a01b0394851681526067835283902083519182018452805482526001015460ff81161515928201929092526101009091049092169082015290565b6040805182518152602080840151151590820152918101516001600160a01b031690820152606001610139565b3480156104b157600080fd5b506101626104c03660046115cd565b610d44565b806104ce610a5a565b6001600160a01b0316336001600160a01b031614806104f757506065546001600160a01b031633145b8061052357506001600160a01b0381811660009081526067602052604090206001015461010090041633145b156105825761053182610e96565b6001600160a01b03821660008181526067602052604080822060018101805460ff19169055829055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49190a25050565b60405163e3b6914b60e01b815260040160405180910390fd5b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105f05760405162461bcd60e51b81526004016105e790611609565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610622610ebd565b6001600160a01b0316146106485760405162461bcd60e51b81526004016105e790611643565b61065181610ed9565b6040805160008082526020820190925261066d91839190610ee1565b50565b61067861104c565b61068181610e96565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc8690600090a35050565b6001600160a01b03808316600090815260666020908152604080832081518083018352815481526001918201548185015286861685526067845282852083516060810185528154815292015460ff811615159483018590526101009004909516918101919091529192919061074d57600192505050610755565b519051101590505b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107a35760405162461bcd60e51b81526004016105e790611609565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107d5610ebd565b6001600160a01b0316146107fb5760405162461bcd60e51b81526004016105e790611643565b61080482610ed9565b61059b82826001610ee1565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108ab5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016105e7565b5060008051602061177583398151915290565b816108c7610a5a565b6001600160a01b0316336001600160a01b031614806108f057506065546001600160a01b031633145b8061091c57506001600160a01b0381811660009081526067602052604090206001015461010090041633145b156105825761092a83610e96565b6001600160a01b03831660008181526067602052604090819020849055517f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c09906109779085815260200190565b60405180910390a2505050565b505050565b61099161104c565b61099b60006110ab565b565b6109a5610a5a565b6001600160a01b0316336001600160a01b031614806109ce57506065546001600160a01b031633145b15610a41576109dc82610e96565b6001600160a01b03821660008181526066602090815260409182902084518082558583015160019092018290558351908152918201527f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d910160405180910390a25050565b604051637d7b71b560e01b815260040160405180910390fd5b6033546001600160a01b031690565b610a71610a5a565b6001600160a01b0316336001600160a01b03161480610a9a57506065546001600160a01b031633145b15610a4157610aa881610e96565b6001600160a01b038116600081815260666020526040808220828155600101829055517fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9190a250565b600054610100900460ff1615808015610b125750600054600160ff909116105b80610b335750610b21306110fd565b158015610b33575060005460ff166001145b610b965760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105e7565b6000805460ff191660011790558015610bb9576000805461ff0019166101001790555b610bc161110c565b610bca82610e96565b606580546001600160a01b0319166001600160a01b038416179055801561059b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6001600160a01b038082166000908152606760205260409020600101548291610100909104163303610cb557610c6382610e96565b6001600160a01b0382166000818152606760205260408082206001908101805460ff19169091179055517f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb9190a25050565b6040516397ffbac960e01b815260040160405180910390fd5b610cd661104c565b6001600160a01b038116610d3b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105e7565b61066d816110ab565b610d4c610a5a565b6001600160a01b0316336001600160a01b03161480610d7557506065546001600160a01b031633145b15610a4157610d8383610e96565b610d8c81610e96565b6001600160a01b038316600090815260676020526040902054151580610dd357506001600160a01b0383811660009081526067602052604090206001015461010090041615155b15610df15760405163c45546f760e01b815260040160405180910390fd5b60408051606081018252838152600060208083018281526001600160a01b0386811685870190815289821680865260679094528685209551865591516001909501805492516001600160a81b0319909316951515610100600160a81b03191695909517610100929091169190910217909255915190917f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb9161097791869186906113f4565b6001600160a01b03811661066d5760405163d92e233d60e01b815260040160405180910390fd5b600080516020611775833981519152546001600160a01b031690565b61066d61104c565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f14576109848361113b565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f6e575060408051601f3d908101601f19168201909252610f6b9181019061167d565b60015b610fd15760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016105e7565b60008051602061177583398151915281146110405760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016105e7565b506109848383836111d5565b33611055610a5a565b6001600160a01b03161461099b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e7565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03163b151590565b600054610100900460ff166111335760405162461bcd60e51b81526004016105e790611696565b61099b611200565b611144816110fd565b6111a65760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016105e7565b60008051602061177583398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6111de83611230565b6000825111806111eb5750805b15610984576111fa8383611270565b50505050565b600054610100900460ff166112275760405162461bcd60e51b81526004016105e790611696565b61099b336110ab565b6112398161113b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061129583836040518060600160405280602781526020016117956027913961129c565b9392505050565b6060600080856001600160a01b0316856040516112b99190611705565b600060405180830381855af49150503d80600081146112f4576040519150601f19603f3d011682016040523d82523d6000602084013e6112f9565b606091505b509150915061130a86838387611314565b9695505050505050565b6060831561138157825160000361137a5761132e856110fd565b61137a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105e7565b508161138b565b61138b8383611393565b949350505050565b8151156113a35781518083602001fd5b8060405162461bcd60e51b81526004016105e79190611721565b80356001600160a01b03811681146113d457600080fd5b919050565b6000602082840312156113eb57600080fd5b611295826113bd565b92835290151560208301526001600160a01b0316604082015260600190565b6000806040838503121561142657600080fd5b61142f836113bd565b915061143d602084016113bd565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561148457611484611446565b604052919050565b6000806040838503121561149f57600080fd5b6114a8836113bd565b91506020838101356001600160401b03808211156114c557600080fd5b818601915086601f8301126114d957600080fd5b8135818111156114eb576114eb611446565b6114fd601f8201601f1916850161145c565b9150808252878482850101111561151357600080fd5b80848401858401376000848284010152508093505050509250929050565b6000806040838503121561154457600080fd5b61154d836113bd565b946020939093013593505050565b600080828403606081121561156f57600080fd5b611578846113bd565b92506040601f198201121561158c57600080fd5b50604080519081016001600160401b03811182821017156115af576115af611446565b60409081526020858101358352940135938101939093525092909150565b6000806000606084860312156115e257600080fd5b6115eb846113bd565b925060208401359150611600604085016113bd565b90509250925092565b6020808252602c9082015260008051602061175583398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061175583398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60006020828403121561168f57600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b838110156116fc5781810151838201526020016116e4565b50506000910152565b600082516117178184602087016116e1565b9190910192915050565b60208152600082518060208401526117408160408501602087016116e1565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f6d1844032d3e22f86c012df73b77895c4f152d96b14b7ddb7b04a117632d4c464736f6c6343000813003360806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212206e93027ee8ff60c4973ac058d4e8a46f5d5981513eccfc75ff619ec5718959a664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12da2646970667358221220dc0b60540b4f98e9db8d7c8b24533dc3e35d64277df4a26b2e6b8bf69ec6d48864736f6c63430008130033","sourceMap":"292:5201:120:-:0;;;3126:44:22;;;-1:-1:-1;;3126:44:22;;;3166:4;3126:44;;;;;;1016:26:32;;;;;;;;;;376:39:120;;;-1:-1:-1;;;;;;376:39:120;;;;;;;;421:32;;;;;451:1;421:32;;;459:36;;;;;493:1;459:36;;;501:39;;;;;538:1;501:39;;;546:44;;;;;;588:1;546:44;;;292:5201;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b50600436106200018a5760003560e01c8063073a2d8c146200018f5780630778c72c14620001b85780630a9254e414620001c45780630c2759da14620001ce5780631ed7831c14620001d857806324e40b9714620001f15780632582115314620001fb5780632ade388014620002055780633668aa29146200021e5780633e5e3c2314620002285780633ea7771b14620002325780633f7286f414620002555780634905e831146200025f5780634f8632ba146200027857806366d9a9a0146200028c5780636c53db9a14620002a557806382fad47814620002b957806385226c8114620002c35780638caa5c4414620002dc5780638df8b2fe14620002e6578063916a17c614620002fa5780639693f1281462000304578063a8c62e76146200030e578063b5508aa91462000322578063ba414fa6146200032c578063d4dadecb1462000347578063e20c9f711462000351578063e68393b4146200035b578063ebe69a5f1462000365578063fa7626d4146200036f575b600080fd5b6024546025546200019e919082565b604080519283526020830191909152015b60405180910390f35b620001c26200037d565b005b620001c262000615565b620001c26200071d565b620001e2620008ae565b604051620001af9190620023ed565b620001c262000912565b620001c262000a86565b6200020f62000bd7565b604051620001af919062002484565b620001c262000d25565b620001e262000fb9565b60235462000246906001600160a01b031681565b604051620001af91906200254a565b620001e26200101b565b601e54620002469061010090046001600160a01b031681565b60205462000246906001600160a01b031681565b620002966200107d565b604051620001af91906200255e565b60225462000246906001600160a01b031681565b620001c262001167565b620002cd62001285565b604051620001af919062002615565b620001c26200135f565b601f5462000246906001600160a01b031681565b6200029662001890565b620001c26200197a565b60215462000246906001600160a01b031681565b620002cd62001b02565b6200033662001bdc565b6040519015158152602001620001af565b620001c262001c91565b620001e262001efe565b620001c262001f60565b620001c26200208f565b601e54620003369060ff1681565b601f5460405163ca669fa760e01b8152603291600080516020620045c88339815191529163ca669fa791620003c1916001600160a01b03909116906004016200254a565b600060405180830381600087803b158015620003dc57600080fd5b505af1158015620003f1573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd19450620004389392831692879216906004016200267b565b600060405180830381600087803b1580156200045357600080fd5b505af115801562000468573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa79250620004ab916001600160a01b0316906004016200254a565b600060405180830381600087803b158015620004c657600080fd5b505af1158015620004db573d6000803e3d6000fd5b5050601e546021546040516302ea311d60e31b81526101009092046001600160a01b03908116945063175188e893506200051b929116906004016200254a565b600060405180830381600087803b1580156200053657600080fd5b505af11580156200054b573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b815260009450849350839261010090046001600160a01b03908116926339ebf823926200059292909116906004016200254a565b606060405180830381865afa158015620005b0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005d69190620026cc565b925092509250620005e98360006200225f565b620005f6826000620022cb565b6022546200060f9082906001600160a01b031662002308565b50505050565b60006040516200062590620023d1565b604051809103906000f08015801562000642573d6000803e3d6000fd5b50601f5460405163189acdbd60e31b916200066c916001600160a01b03909116906024016200254a565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051620006ab90620023df565b620006b89291906200270d565b604051809103906000f080158015620006d5573d6000803e3d6000fd5b50601e80546001600160a01b0390921661010002610100600160a81b031990921691909117905550604080518082019091526064808252426020909201829052602455602555565b601f5460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa7916200075c916001600160a01b0316906004016200254a565b600060405180830381600087803b1580156200077757600080fd5b505af11580156200078c573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526101009092046001600160a01b039081169450637814d5689350620007cf929116906024906004016200273b565b600060405180830381600087803b158015620007ea57600080fd5b505af1158015620007ff573d6000803e3d6000fd5b5050601e5460205460405163b34e0c4760e01b8152600094506001600160a01b036101009093048316935063b34e0c4792620008409216906004016200254a565b6040805180830381865afa1580156200085d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200088391906200275f565b805160245491925062000896916200225f565b620008ab81602001516024600101546200225f565b50565b606060168054806020026020016040519081016040528092919081815260200182805480156200090857602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620008e9575b5050505050905090565b601f5460405163ca669fa760e01b8152600691600080516020620045c88339815191529163ca669fa79162000956916001600160a01b03909116906004016200254a565b600060405180830381600087803b1580156200097157600080fd5b505af115801562000986573d6000803e3d6000fd5b505060405163f28dceb360e01b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152600080516020620045c8833981519152925063f28dceb39150606401600060405180830381600087803b15801562000a0057600080fd5b505af115801562000a15573d6000803e3d6000fd5b5050601e546040516303d4768360e41b81526101009091046001600160a01b03169250633d476830915062000a4f9084906004016200254a565b600060405180830381600087803b15801562000a6a57600080fd5b505af115801562000a7f573d6000803e3d6000fd5b5050505050565b60235460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa79162000ac5916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562000ae057600080fd5b505af115801562000af5573d6000803e3d6000fd5b5050604051630618f58760e51b8152600080516020620045c8833981519152925063c31eb0e0915062000b3490637d7b71b560e01b90600401620027bd565b600060405180830381600087803b15801562000b4f57600080fd5b505af115801562000b64573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526101009092046001600160a01b039081169450637814d568935062000ba7929116906024906004016200273b565b600060405180830381600087803b15801562000bc257600080fd5b505af11580156200060f573d6000803e3d6000fd5b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562000d0457838290600052602060002001805462000c7090620027d2565b80601f016020809104026020016040519081016040528092919081815260200182805462000c9e90620027d2565b801562000cef5780601f1062000cc35761010080835404028352916020019162000cef565b820191906000526020600020905b81548152906001019060200180831162000cd157829003601f168201915b50505050508152602001906001019062000c4e565b50505050815250508152602001906001019062000bfb565b50505050905090565b601f5460405163ca669fa760e01b8152603291604b91600080516020620045c88339815191529163ca669fa79162000d6a916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562000d8557600080fd5b505af115801562000d9a573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd1945062000de19392831692889216906004016200267b565b600060405180830381600087803b15801562000dfc57600080fd5b505af115801562000e11573d6000803e3d6000fd5b505060225460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa7925062000e54916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562000e6f57600080fd5b505af115801562000e84573d6000803e3d6000fd5b5050601e5460215460405163642ce76b60e01b81526101009092046001600160a01b03908116945063642ce76b935062000ec69291169085906004016200280e565b600060405180830381600087803b15801562000ee157600080fd5b505af115801562000ef6573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b815260009450849350839261010090046001600160a01b03908116926339ebf8239262000f3d92909116906004016200254a565b606060405180830381865afa15801562000f5b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f819190620026cc565b92509250925062000f9383856200225f565b62000fa0826000620022cb565b60225462000a7f9082906001600160a01b031662002308565b6060601880548060200260200160405190810160405280929190818152602001828054801562000908576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311620008e9575050505050905090565b6060601780548060200260200160405190810160405280929190818152602001828054801562000908576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311620008e9575050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200114e57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116200110f5790505b50505050508152505081526020019060010190620010a1565b60235460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa791620011a6916001600160a01b0316906004016200254a565b600060405180830381600087803b158015620011c157600080fd5b505af1158015620011d6573d6000803e3d6000fd5b5050604051630618f58760e51b8152600080516020620045c8833981519152925063c31eb0e091506200121590637d7b71b560e01b90600401620027bd565b600060405180830381600087803b1580156200123057600080fd5b505af115801562001245573d6000803e3d6000fd5b5050601e5460205460405163130aea3160e31b81526101009092046001600160a01b0390811694506398575188935062000ba7929116906004016200254a565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c578382906000526020600020018054620012cb90620027d2565b80601f0160208091040260200160405190810160405280929190818152602001828054620012f990620027d2565b80156200134a5780601f106200131e576101008083540402835291602001916200134a565b820191906000526020600020905b8154815290600101906020018083116200132c57829003601f168201915b505050505081526020019060010190620012a9565b601f5460405163ca669fa760e01b8152603291600080516020620045c88339815191529163ca669fa791620013a3916001600160a01b03909116906004016200254a565b600060405180830381600087803b158015620013be57600080fd5b505af1158015620013d3573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd194506200141a9392831692879216906004016200267b565b600060405180830381600087803b1580156200143557600080fd5b505af11580156200144a573d6000803e3d6000fd5b50506022546040516303223eab60e11b8152600080516020620045c883398151915293506306447d5692506200148d916001600160a01b0316906004016200254a565b600060405180830381600087803b158015620014a857600080fd5b505af1158015620014bd573d6000803e3d6000fd5b5050601e546021546040516306c0752d60e51b81526101009092046001600160a01b03908116945063d80ea5a09350620014fd929116906004016200254a565b600060405180830381600087803b1580156200151857600080fd5b505af11580156200152d573d6000803e3d6000fd5b50505050600080516020620045e883398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200157f57600080fd5b505af115801562001594573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa79250620015d7916001600160a01b0316906004016200254a565b600060405180830381600087803b158015620015f257600080fd5b505af115801562001607573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526101009092046001600160a01b039081169450637814d56893506200164a929116906024906004016200273b565b600060405180830381600087803b1580156200166557600080fd5b505af11580156200167a573d6000803e3d6000fd5b5050601e546020546021546040516302154c3d60e51b8152600095506001600160a01b03610100909404841694506342a987a093620016c193811692169060040162002827565b602060405180830381865afa158015620016df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001705919062002841565b905062001712816200233e565b601f5460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa79162001751916001600160a01b0316906004016200254a565b600060405180830381600087803b1580156200176c57600080fd5b505af115801562001781573d6000803e3d6000fd5b5050601e5460215460405163642ce76b60e01b81526101009092046001600160a01b03908116945063642ce76b9350620017c4929116906096906004016200280e565b600060405180830381600087803b158015620017df57600080fd5b505af1158015620017f4573d6000803e3d6000fd5b5050601e546020546021546040516302154c3d60e51b81526101009093046001600160a01b0390811695506342a987a094506200183b939281169291169060040162002827565b602060405180830381865afa15801562001859573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200187f919062002841565b90506200188c816200239c565b5050565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200196157602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620019225790505b50505050508152505081526020019060010190620018b4565b601f5460405163ca669fa760e01b8152603291600080516020620045c88339815191529163ca669fa791620019be916001600160a01b03909116906004016200254a565b600060405180830381600087803b158015620019d957600080fd5b505af1158015620019ee573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd1945062001a359392831692879216906004016200267b565b600060405180830381600087803b15801562001a5057600080fd5b505af115801562001a65573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b815260009450849350839261010090046001600160a01b03908116926339ebf8239262001aac92909116906004016200254a565b606060405180830381865afa15801562001aca573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001af09190620026cc565b925092509250620005e983856200225f565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c57838290600052602060002001805462001b4890620027d2565b80601f016020809104026020016040519081016040528092919081815260200182805462001b7690620027d2565b801562001bc75780601f1062001b9b5761010080835404028352916020019162001bc7565b820191906000526020600020905b81548152906001019060200180831162001ba957829003601f168201915b50505050508152602001906001019062001b26565b60085460009060ff161562001bf5575060085460ff1690565b604051630667f9d760e41b8152600090600080516020620045c88339815191529063667f9d709062001c4690600080516020620045e8833981519152906519985a5b195960d21b906004016200280e565b602060405180830381865afa15801562001c64573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001c8a919062002866565b1415905090565b601f5460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa79162001cd0916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562001ceb57600080fd5b505af115801562001d00573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526101009092046001600160a01b039081169450637814d568935062001d43929116906024906004016200273b565b600060405180830381600087803b15801562001d5e57600080fd5b505af115801562001d73573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa7925062001db6916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562001dd157600080fd5b505af115801562001de6573d6000803e3d6000fd5b5050601e5460205460405163130aea3160e31b81526101009092046001600160a01b0390811694506398575188935062001e26929116906004016200254a565b600060405180830381600087803b15801562001e4157600080fd5b505af115801562001e56573d6000803e3d6000fd5b5050601e5460205460405163b34e0c4760e01b8152600094506001600160a01b036101009093048316935063b34e0c479262001e979216906004016200254a565b6040805180830381865afa15801562001eb4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001eda91906200275f565b905062001eed816000015160006200225f565b620008ab816020015160006200225f565b6060601580548060200260200160405190810160405280929190818152602001828054801562000908576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311620008e9575050505050905090565b601f5460405163ca669fa760e01b8152603291604b91600080516020620045c88339815191529163ca669fa79162001fa5916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562001fc057600080fd5b505af115801562001fd5573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd194506200201c9392831692889216906004016200267b565b600060405180830381600087803b1580156200203757600080fd5b505af11580156200204c573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa7925062000e54916001600160a01b0316906004016200254a565b601e5460408051638da5cb5b60e01b81529051600692600080516020620045c88339815191529263ca669fa7926101009092046001600160a01b031691638da5cb5b916004808201926020929091908290030181865afa158015620020f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200211e919062002880565b6040518263ffffffff1660e01b81526004016200213c91906200254a565b600060405180830381600087803b1580156200215757600080fd5b505af11580156200216c573d6000803e3d6000fd5b5050601e546040516303d4768360e41b81526101009091046001600160a01b03169250633d4768309150620021a69084906004016200254a565b600060405180830381600087803b158015620021c157600080fd5b505af1158015620021d6573d6000803e3d6000fd5b50505050620008ab601e60019054906101000a90046001600160a01b03166001600160a01b0316638df8b2fe6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002232573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002258919062002880565b8262002308565b60405163260a5b1560e21b81526004810183905260248101829052600080516020620045c8833981519152906398296c54906044015b60006040518083038186803b158015620022ae57600080fd5b505afa158015620022c3573d6000803e3d6000fd5b505050505050565b60405163f7fe347760e01b815282151560048201528115156024820152600080516020620045c88339815191529063f7fe34779060440162002295565b6040516328a9b0fb60e11b8152600080516020620045c88339815191529063515361f69062002295908590859060040162002827565b604051630c9fd58160e01b81528115156004820152600080516020620045c883398151915290630c9fd581906024015b60006040518083038186803b1580156200238757600080fd5b505afa15801562000a7f573d6000803e3d6000fd5b60405163a598288560e01b81528115156004820152600080516020620045c88339815191529063a5982885906024016200236e565b61183d806200289f83390190565b6104ec80620040dc83390190565b6020808252825182820181905260009190848201906040850190845b81811015620024305783516001600160a01b03168352928401929184019160010162002409565b50909695505050505050565b6000815180845260005b81811015620024645760208185018101518683018201520162002446565b506000602082860101526020601f19601f83011685010191505092915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b858110156200253a57603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156200252357605f19898503018352620025108486516200243c565b948e01949350918d0191600101620024f1565b505050978a019794505091880191600101620024ab565b50919a9950505050505050505050565b6001600160a01b0391909116815260200190565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156200260657898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015620025f05783516001600160e01b0319168252928b019260019290920191908b0190620025c4565b50978a0197955050509187019160010162002586565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200266e57603f198886030184526200265b8583516200243c565b945092850192908501906001016200263c565b5092979650505050505050565b6001600160a01b0393841681526020810192909252909116604082015260600190565b80518015158114620026af57600080fd5b919050565b80516001600160a01b0381168114620026af57600080fd5b600080600060608486031215620026e257600080fd5b83519250620026f4602085016200269e565b91506200270460408501620026b4565b90509250925092565b6001600160a01b038316815260406020820181905260009062002733908301846200243c565b949350505050565b6001600160a01b039290921682528054602083015260010154604082015260600190565b6000604082840312156200277257600080fd5b604080519081016001600160401b0381118282101715620027a357634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b6001600160e01b031991909116815260200190565b600181811c90821680620027e757607f821691505b6020821081036200280857634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0392831681529116602082015260400190565b6000602082840312156200285457600080fd5b6200285f826200269e565b9392505050565b6000602082840312156200287957600080fd5b5051919050565b6000602082840312156200289357600080fd5b6200285f82620026b456fe60a06040523060805234801561001457600080fd5b506080516117f161004c600039600081816105a9015281816105f201528181610765015281816107a5015261081d01526117f16000f3fe6080604052600436106100ef5760003560e01c80631413d4c0146100f4578063175188e8146101425780633659cfe61461016457806339ebf823146101845780633d476830146101da57806342a987a0146101fa5780634f1ef2861461022a57806352d1902d1461023d578063642ce76b14610260578063715018a6146102805780637814d568146102955780638da5cb5b146102b55780638df8b2fe146102e25780639857518814610302578063b34e0c4714610322578063c4d66de81461039f578063d80ea5a0146103bf578063f2fde38b146103df578063f8806a13146103ff578063fc2ebdd1146104a5575b600080fd5b34801561010057600080fd5b5061012861010f3660046113d9565b6066602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b34801561014e57600080fd5b5061016261015d3660046113d9565b6104c5565b005b34801561017057600080fd5b5061016261017f3660046113d9565b61059f565b34801561019057600080fd5b506101cb61019f3660046113d9565b6067602052600090815260409020805460019091015460ff81169061010090046001600160a01b031683565b604051610139939291906113f4565b3480156101e657600080fd5b506101626101f53660046113d9565b610670565b34801561020657600080fd5b5061021a610215366004611413565b6106d3565b6040519015158152602001610139565b61016261023836600461148c565b61075b565b34801561024957600080fd5b50610252610810565b604051908152602001610139565b34801561026c57600080fd5b5061016261027b366004611531565b6108be565b34801561028c57600080fd5b50610162610989565b3480156102a157600080fd5b506101626102b036600461155b565b61099d565b3480156102c157600080fd5b506102ca610a5a565b6040516001600160a01b039091168152602001610139565b3480156102ee57600080fd5b506065546102ca906001600160a01b031681565b34801561030e57600080fd5b5061016261031d3660046113d9565b610a69565b34801561032e57600080fd5b5061038461033d3660046113d9565b6040805180820190915260008082526020820152506001600160a01b0316600090815260666020908152604091829020825180840190935280548352600101549082015290565b60408051825181526020928301519281019290925201610139565b3480156103ab57600080fd5b506101626103ba3660046113d9565b610af2565b3480156103cb57600080fd5b506101626103da3660046113d9565b610c2e565b3480156103eb57600080fd5b506101626103fa3660046113d9565b610cce565b34801561040b57600080fd5b5061047861041a3660046113d9565b6040805160608082018352600080835260208084018290529284018190526001600160a01b0394851681526067835283902083519182018452805482526001015460ff81161515928201929092526101009091049092169082015290565b6040805182518152602080840151151590820152918101516001600160a01b031690820152606001610139565b3480156104b157600080fd5b506101626104c03660046115cd565b610d44565b806104ce610a5a565b6001600160a01b0316336001600160a01b031614806104f757506065546001600160a01b031633145b8061052357506001600160a01b0381811660009081526067602052604090206001015461010090041633145b156105825761053182610e96565b6001600160a01b03821660008181526067602052604080822060018101805460ff19169055829055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49190a25050565b60405163e3b6914b60e01b815260040160405180910390fd5b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105f05760405162461bcd60e51b81526004016105e790611609565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610622610ebd565b6001600160a01b0316146106485760405162461bcd60e51b81526004016105e790611643565b61065181610ed9565b6040805160008082526020820190925261066d91839190610ee1565b50565b61067861104c565b61068181610e96565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc8690600090a35050565b6001600160a01b03808316600090815260666020908152604080832081518083018352815481526001918201548185015286861685526067845282852083516060810185528154815292015460ff811615159483018590526101009004909516918101919091529192919061074d57600192505050610755565b519051101590505b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107a35760405162461bcd60e51b81526004016105e790611609565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107d5610ebd565b6001600160a01b0316146107fb5760405162461bcd60e51b81526004016105e790611643565b61080482610ed9565b61059b82826001610ee1565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108ab5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016105e7565b5060008051602061177583398151915290565b816108c7610a5a565b6001600160a01b0316336001600160a01b031614806108f057506065546001600160a01b031633145b8061091c57506001600160a01b0381811660009081526067602052604090206001015461010090041633145b156105825761092a83610e96565b6001600160a01b03831660008181526067602052604090819020849055517f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c09906109779085815260200190565b60405180910390a2505050565b505050565b61099161104c565b61099b60006110ab565b565b6109a5610a5a565b6001600160a01b0316336001600160a01b031614806109ce57506065546001600160a01b031633145b15610a41576109dc82610e96565b6001600160a01b03821660008181526066602090815260409182902084518082558583015160019092018290558351908152918201527f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d910160405180910390a25050565b604051637d7b71b560e01b815260040160405180910390fd5b6033546001600160a01b031690565b610a71610a5a565b6001600160a01b0316336001600160a01b03161480610a9a57506065546001600160a01b031633145b15610a4157610aa881610e96565b6001600160a01b038116600081815260666020526040808220828155600101829055517fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9190a250565b600054610100900460ff1615808015610b125750600054600160ff909116105b80610b335750610b21306110fd565b158015610b33575060005460ff166001145b610b965760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105e7565b6000805460ff191660011790558015610bb9576000805461ff0019166101001790555b610bc161110c565b610bca82610e96565b606580546001600160a01b0319166001600160a01b038416179055801561059b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6001600160a01b038082166000908152606760205260409020600101548291610100909104163303610cb557610c6382610e96565b6001600160a01b0382166000818152606760205260408082206001908101805460ff19169091179055517f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb9190a25050565b6040516397ffbac960e01b815260040160405180910390fd5b610cd661104c565b6001600160a01b038116610d3b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105e7565b61066d816110ab565b610d4c610a5a565b6001600160a01b0316336001600160a01b03161480610d7557506065546001600160a01b031633145b15610a4157610d8383610e96565b610d8c81610e96565b6001600160a01b038316600090815260676020526040902054151580610dd357506001600160a01b0383811660009081526067602052604090206001015461010090041615155b15610df15760405163c45546f760e01b815260040160405180910390fd5b60408051606081018252838152600060208083018281526001600160a01b0386811685870190815289821680865260679094528685209551865591516001909501805492516001600160a81b0319909316951515610100600160a81b03191695909517610100929091169190910217909255915190917f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb9161097791869186906113f4565b6001600160a01b03811661066d5760405163d92e233d60e01b815260040160405180910390fd5b600080516020611775833981519152546001600160a01b031690565b61066d61104c565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f14576109848361113b565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f6e575060408051601f3d908101601f19168201909252610f6b9181019061167d565b60015b610fd15760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016105e7565b60008051602061177583398151915281146110405760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016105e7565b506109848383836111d5565b33611055610a5a565b6001600160a01b03161461099b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e7565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03163b151590565b600054610100900460ff166111335760405162461bcd60e51b81526004016105e790611696565b61099b611200565b611144816110fd565b6111a65760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016105e7565b60008051602061177583398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6111de83611230565b6000825111806111eb5750805b15610984576111fa8383611270565b50505050565b600054610100900460ff166112275760405162461bcd60e51b81526004016105e790611696565b61099b336110ab565b6112398161113b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061129583836040518060600160405280602781526020016117956027913961129c565b9392505050565b6060600080856001600160a01b0316856040516112b99190611705565b600060405180830381855af49150503d80600081146112f4576040519150601f19603f3d011682016040523d82523d6000602084013e6112f9565b606091505b509150915061130a86838387611314565b9695505050505050565b6060831561138157825160000361137a5761132e856110fd565b61137a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105e7565b508161138b565b61138b8383611393565b949350505050565b8151156113a35781518083602001fd5b8060405162461bcd60e51b81526004016105e79190611721565b80356001600160a01b03811681146113d457600080fd5b919050565b6000602082840312156113eb57600080fd5b611295826113bd565b92835290151560208301526001600160a01b0316604082015260600190565b6000806040838503121561142657600080fd5b61142f836113bd565b915061143d602084016113bd565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561148457611484611446565b604052919050565b6000806040838503121561149f57600080fd5b6114a8836113bd565b91506020838101356001600160401b03808211156114c557600080fd5b818601915086601f8301126114d957600080fd5b8135818111156114eb576114eb611446565b6114fd601f8201601f1916850161145c565b9150808252878482850101111561151357600080fd5b80848401858401376000848284010152508093505050509250929050565b6000806040838503121561154457600080fd5b61154d836113bd565b946020939093013593505050565b600080828403606081121561156f57600080fd5b611578846113bd565b92506040601f198201121561158c57600080fd5b50604080519081016001600160401b03811182821017156115af576115af611446565b60409081526020858101358352940135938101939093525092909150565b6000806000606084860312156115e257600080fd5b6115eb846113bd565b925060208401359150611600604085016113bd565b90509250925092565b6020808252602c9082015260008051602061175583398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061175583398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60006020828403121561168f57600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b838110156116fc5781810151838201526020016116e4565b50506000910152565b600082516117178184602087016116e1565b9190910192915050565b60208152600082518060208401526117408160408501602087016116e1565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f6d1844032d3e22f86c012df73b77895c4f152d96b14b7ddb7b04a117632d4c464736f6c6343000813003360806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212206e93027ee8ff60c4973ac058d4e8a46f5d5981513eccfc75ff619ec5718959a664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12da2646970667358221220dc0b60540b4f98e9db8d7c8b24533dc3e35d64277df4a26b2e6b8bf69ec6d48864736f6c63430008130033","sourceMap":"292:5201:120:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;596:32;;;;;;;;;;;;;;188:25:126;;;244:2;229:18;;222:34;;;;161:18;596:32:120;;;;;;;;3089:544;;;:::i;:::-;;635:374;;;:::i;1015:331::-;;;:::i;2452:134:25:-;;;:::i;:::-;;;;;;;:::i;2400:247:120:-;;;:::i;1972:217::-;;;:::i;3360:151:25:-;;;:::i;:::-;;;;;;;:::i;4225:581:120:-;;;:::i;3221:133:25:-;;;:::i;546:44:120:-;;;;;-1:-1:-1;;;;;546:44:120;;;;;;;;;;:::i;2922:141:25:-;;;:::i;334:36:120:-;;;;;;;;-1:-1:-1;;;;;334:36:120;;;421:32;;;;;-1:-1:-1;;;;;421:32:120;;;2738:178:25;;;:::i;:::-;;;;;;;:::i;501:39:120:-;;;;;-1:-1:-1;;;;;501:39:120;;;2195:199;;;:::i;2592:140:25:-;;;:::i;:::-;;;;;;;:::i;4812:679:120:-;;;:::i;376:39::-;;;;;-1:-1:-1;;;;;376:39:120;;;3069:146:25;;;:::i;2653:430:120:-;;;:::i;459:36::-;;;;;-1:-1:-1;;;;;459:36:120;;;2157:141:25;;;:::i;1243:204:21:-;;;:::i;:::-;;;6094:14:126;;6087:22;6069:41;;6057:2;6042:18;1243:204:21;5929:187:126;1352:362:120;;;:::i;2304:142:25:-;;;:::i;3639:580:120:-;;;:::i;1720:246::-;;;:::i;1016:26:32:-;;;;;;;;;3089:544:120;3178:11;;3169:21;;-1:-1:-1;;;3169:21:120;;3156:2;;-1:-1:-1;;;;;;;;;;;3169:8:120;;;:21;;-1:-1:-1;;;;;3178:11:120;;;;3169:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3200:14:120;;3227:8;;3248:11;;3200:60;;-1:-1:-1;;;3200:60:120;;-1:-1:-1;;;;;3200:14:120;;;;;;;-1:-1:-1;3200:26:120;;-1:-1:-1;3200:60:120;;3227:8;;;;3237:9;;3248:11;;3200:60;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3280:11:120;;3271:21;;-1:-1:-1;;;3271:21:120;;-1:-1:-1;;;;;;;;;;;3271:8:120;-1:-1:-1;3271:8:120;;-1:-1:-1;3271:21:120;;-1:-1:-1;;;;;3280:11:120;;3271:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3302:14:120;;3332:8;;3302:39;;-1:-1:-1;;;3302:39:120;;:14;;;;-1:-1:-1;;;;;3302:14:120;;;;-1:-1:-1;3302:29:120;;-1:-1:-1;3302:39:120;;3332:8;;;3302:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3426:14:120;;3452:8;;3426:35;;-1:-1:-1;;;3426:35:120;;3353:23;;-1:-1:-1;3353:23:120;;-1:-1:-1;3353:23:120;;3426:14;;;-1:-1:-1;;;;;3426:14:120;;;;:25;;:35;;3452:8;;;;3426:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3352:109;;;;;;3471:28;3480:15;3497:1;3471:8;:28::i;:::-;3509:29;3518:12;3532:5;3509:8;:29::i;:::-;3576:11;;3548:40;;3557:17;;-1:-1:-1;;;;;3576:11:120;3548:8;:40::i;:::-;3126:507;;;;3089:544::o;635:374::-;669:18;728:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;830:11:120;;763:80;;-1:-1:-1;;;786:34:120;763:80;;-1:-1:-1;;;;;830:11:120;;;;763:80;;;:::i;:::-;;;;-1:-1:-1;;763:80:120;;;;;;;;;;;;;;-1:-1:-1;;;;;763:80:120;-1:-1:-1;;;;;;763:80:120;;;;;;;;;;690:163;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;864:14:120;:56;;-1:-1:-1;;;;;864:56:120;;;;;-1:-1:-1;;;;;;864:56:120;;;;;;;;;-1:-1:-1;946:56:120;;;;;;;;;967:3;946:56;;;985:15;946:56;;;;;;;931:12;:71;;;635:374::o;1015:331::-;1069:11;;1060:21;;-1:-1:-1;;;1060:21:120;;-1:-1:-1;;;;;;;;;;;1060:8:120;;;:21;;-1:-1:-1;;;;;1069:11:120;;1060:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1091:14:120;;1119:4;;1091:47;;-1:-1:-1;;;1091:47:120;;:14;;;;-1:-1:-1;;;;;1091:14:120;;;;-1:-1:-1;1091:27:120;;-1:-1:-1;1091:47:120;;1119:4;;;1125:12;;1091:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1182:14:120;;1210:4;;1182:33;;-1:-1:-1;;;1182:33:120;;1149:30;;-1:-1:-1;;;;;;1182:14:120;;;;;;;-1:-1:-1;1182:27:120;;:33;;1210:4;;1182:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1234:16;;1252:12;:18;1149:66;;-1:-1:-1;1225:46:120;;:8;:46::i;:::-;1281:58;1290:10;:22;;;1314:12;:24;;;1281:8;:58::i;:::-;1050:296;1015:331::o;2452:134:25:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:25;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;2400:247:120:-;2513:11;;2504:21;;-1:-1:-1;;;2504:21:120;;2491:1;;-1:-1:-1;;;;;;;;;;;2504:8:120;;;:21;;-1:-1:-1;;;;;2513:11:120;;;;2504:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2535:51:120;;-1:-1:-1;;;2535:51:120;;8741:2:126;2535:51:120;;;8723:21:126;;;8760:18;;;8753:30;8819:34;8799:18;;;8792:62;-1:-1:-1;;;;;;;;;;;2535:15:120;-1:-1:-1;2535:15:120;;-1:-1:-1;8871:18:126;;2535:51:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2596:14:120;;:44;;-1:-1:-1;;;2596:44:120;;:14;;;;-1:-1:-1;;;;;2596:14:120;;-1:-1:-1;2596:32:120;;-1:-1:-1;2596:44:120;;2629:10;;2596:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2452:195;2400:247::o;1972:217::-;2043:16;;2034:26;;-1:-1:-1;;;2034:26:120;;-1:-1:-1;;;;;;;;;;;2034:8:120;;;:26;;-1:-1:-1;;;;;2043:16:120;;2034:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2070:55:120;;-1:-1:-1;;;2070:55:120;;-1:-1:-1;;;;;;;;;;;2070:15:120;-1:-1:-1;2070:15:120;;-1:-1:-1;2070:55:120;;-1:-1:-1;;;2086:38:120;2070:55;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2135:14:120;;2163:4;;2135:47;;-1:-1:-1;;;2135:47:120;;:14;;;;-1:-1:-1;;;;;2135:14:120;;;;-1:-1:-1;2135:27:120;;-1:-1:-1;2135:47:120;;2163:4;;;2169:12;;2135:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151:25;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;4225:581:120:-;4363:11;;4354:21;;-1:-1:-1;;;4354:21:120;;4306:2;;4341;;-1:-1:-1;;;;;;;;;;;4354:8:120;;;:21;;-1:-1:-1;;;;;4363:11:120;;4354:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4385:14:120;;4412:8;;4433:11;;4385:60;;-1:-1:-1;;;4385:60:120;;-1:-1:-1;;;;;4385:14:120;;;;;;;-1:-1:-1;4385:26:120;;-1:-1:-1;4385:60:120;;4412:8;;;;4422:9;;4433:11;;4385:60;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4465:11:120;;4456:21;;-1:-1:-1;;;4456:21:120;;-1:-1:-1;;;;;;;;;;;4456:8:120;-1:-1:-1;4456:8:120;;-1:-1:-1;4456:21:120;;-1:-1:-1;;;;;4465:11:120;;4456:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4487:14:120;;4518:8;;4487:54;;-1:-1:-1;;;4487:54:120;;:14;;;;-1:-1:-1;;;;;4487:14:120;;;;-1:-1:-1;4487:30:120;;-1:-1:-1;4487:54:120;;4518:8;;;4528:12;;4487:54;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4626:14:120;;4652:8;;4626:35;;-1:-1:-1;;;4626:35:120;;4553:23;;-1:-1:-1;4553:23:120;;-1:-1:-1;4553:23:120;;4626:14;;;-1:-1:-1;;;;;4626:14:120;;;;:25;;:35;;4652:8;;;;4626:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4552:109;;;;;;4671:39;4680:15;4697:12;4671:8;:39::i;:::-;4720:29;4729:12;4743:5;4720:8;:29::i;:::-;4787:11;;4759:40;;4768:17;;-1:-1:-1;;;;;4787:11:120;4759:8;:40::i;3221:133:25:-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:25;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:25;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;2738:178::-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2195:199:120;2264:16;;2255:26;;-1:-1:-1;;;2255:26:120;;-1:-1:-1;;;;;;;;;;;2255:8:120;;;:26;;-1:-1:-1;;;;;2264:16:120;;2255:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2291:55:120;;-1:-1:-1;;;2291:55:120;;-1:-1:-1;;;;;;;;;;;2291:15:120;-1:-1:-1;2291:15:120;;-1:-1:-1;2291:55:120;;-1:-1:-1;;;2307:38:120;2291:55;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2356:14:120;;2382:4;;2356:31;;-1:-1:-1;;;2356:31:120;;:14;;;;-1:-1:-1;;;;;2356:14:120;;;;-1:-1:-1;2356:25:120;;-1:-1:-1;2356:31:120;;2382:4;;;2356:31;;;:::i;2592:140:25:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4812:679:120;4903:11;;4894:21;;-1:-1:-1;;;4894:21:120;;4881:2;;-1:-1:-1;;;;;;;;;;;4894:8:120;;;:21;;-1:-1:-1;;;;;4903:11:120;;;;4894:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4925:14:120;;4952:8;;4973:11;;4925:60;;-1:-1:-1;;;4925:60:120;;-1:-1:-1;;;;;4925:14:120;;;;;;;-1:-1:-1;4925:26:120;;-1:-1:-1;4925:60:120;;4952:8;;;;4962:9;;4973:11;;4925:60;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5009:11:120;;4995:26;;-1:-1:-1;;;4995:26:120;;-1:-1:-1;;;;;;;;;;;4995:13:120;-1:-1:-1;4995:13:120;;-1:-1:-1;4995:26:120;;-1:-1:-1;;;;;5009:11:120;;4995:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5031:14:120;;5063:8;;5031:41;;-1:-1:-1;;;5031:41:120;;:14;;;;-1:-1:-1;;;;;5031:14:120;;;;-1:-1:-1;5031:31:120;;-1:-1:-1;5031:41:120;;5063:8;;;5031:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;309:37:20;;-1:-1:-1;;;;;5082:12:120;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5116:11:120;;5107:21;;-1:-1:-1;;;5107:21:120;;-1:-1:-1;;;;;;;;;;;5107:8:120;-1:-1:-1;5107:8:120;;-1:-1:-1;5107:21:120;;-1:-1:-1;;;;;5116:11:120;;5107:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5138:14:120;;5166:4;;5138:47;;-1:-1:-1;;;5138:47:120;;:14;;;;-1:-1:-1;;;;;5138:14:120;;;;-1:-1:-1;5138:27:120;;-1:-1:-1;5138:47:120;;5166:4;;;5172:12;;5138:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5214:14:120;;5246:4;;5252:8;;5214:47;;-1:-1:-1;;;5214:47:120;;5196:15;;-1:-1:-1;;;;;;5214:14:120;;;;;;;-1:-1:-1;5214:31:120;;:47;;5246:4;;;5252:8;;5214:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5196:65;;5271:22;5282:10;5271;:22::i;:::-;5313:11;;5304:21;;-1:-1:-1;;;5304:21:120;;-1:-1:-1;;;;;;;;;;;5304:8:120;;;:21;;-1:-1:-1;;;;;5313:11:120;;5304:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5335:14:120;;5366:8;;5335:45;;-1:-1:-1;;;5335:45:120;;:14;;;;-1:-1:-1;;;;;5335:14:120;;;;-1:-1:-1;5335:30:120;;-1:-1:-1;5335:45:120;;5366:8;;;5376:3;;5335:45;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5404:14:120;;5436:4;;5442:8;;5404:47;;-1:-1:-1;;;5404:47:120;;:14;;;;-1:-1:-1;;;;;5404:14:120;;;;-1:-1:-1;5404:31:120;;-1:-1:-1;5404:47:120;;5436:4;;;;5442:8;;;5404:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5391:60;;5461:23;5473:10;5461:11;:23::i;:::-;4851:640;;4812:679::o;3069:146:25:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2653:430:120;2739:11;;2730:21;;-1:-1:-1;;;2730:21:120;;2717:2;;-1:-1:-1;;;;;;;;;;;2730:8:120;;;:21;;-1:-1:-1;;;;;2739:11:120;;;;2730:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2761:14:120;;2788:8;;2809:11;;2761:60;;-1:-1:-1;;;2761:60:120;;-1:-1:-1;;;;;2761:14:120;;;;;;;-1:-1:-1;2761:26:120;;-1:-1:-1;2761:60:120;;2788:8;;;;2798:9;;2809:11;;2761:60;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2906:14:120;;2932:8;;2906:35;;-1:-1:-1;;;2906:35:120;;2833:23;;-1:-1:-1;2833:23:120;;-1:-1:-1;2833:23:120;;2906:14;;;-1:-1:-1;;;;;2906:14:120;;;;:25;;:35;;2932:8;;;;2906:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2832:109;;;;;;2951:36;2960:15;2977:9;2951:8;:36::i;2157:141:25:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1243:204:21;1302:7;;1282:4;;1302:7;;1298:143;;;-1:-1:-1;1332:7:21;;;;;1243:204::o;1298:143::-;1377:39;;-1:-1:-1;;;1377:39:21;;1428:1;;-1:-1:-1;;;;;;;;;;;1377:7:21;;;:39;;-1:-1:-1;;;;;;;;;;;219:28:21;-1:-1:-1;;;1398:17:21;1377:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;1352:362:120:-;1404:11;;1395:21;;-1:-1:-1;;;1395:21:120;;-1:-1:-1;;;;;;;;;;;1395:8:120;;;:21;;-1:-1:-1;;;;;1404:11:120;;1395:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1426:14:120;;1454:4;;1426:47;;-1:-1:-1;;;1426:47:120;;:14;;;;-1:-1:-1;;;;;1426:14:120;;;;-1:-1:-1;1426:27:120;;-1:-1:-1;1426:47:120;;1454:4;;;1460:12;;1426:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1493:11:120;;1484:21;;-1:-1:-1;;;1484:21:120;;-1:-1:-1;;;;;;;;;;;1484:8:120;-1:-1:-1;1484:8:120;;-1:-1:-1;1484:21:120;;-1:-1:-1;;;;;1493:11:120;;1484:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1515:14:120;;1541:4;;1515:31;;-1:-1:-1;;;1515:31:120;;:14;;;;-1:-1:-1;;;;;1515:14:120;;;;-1:-1:-1;1515:25:120;;-1:-1:-1;1515:31:120;;1541:4;;;1515:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1590:14:120;;1618:4;;1590:33;;-1:-1:-1;;;1590:33:120;;1557:30;;-1:-1:-1;;;;;;1590:14:120;;;;;;;-1:-1:-1;1590:27:120;;:33;;1618:4;;1590:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1557:66;;1633:29;1642:10;:16;;;1660:1;1633:8;:29::i;:::-;1672:35;1681:10;:22;;;1705:1;1672:8;:35::i;2304:142:25:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:25;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3639:580:120:-;3776:11;;3767:21;;-1:-1:-1;;;3767:21:120;;3719:2;;3754;;-1:-1:-1;;;;;;;;;;;3767:8:120;;;:21;;-1:-1:-1;;;;;3776:11:120;;3767:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3798:14:120;;3825:8;;3846:11;;3798:60;;-1:-1:-1;;;3798:60:120;;-1:-1:-1;;;;;3798:14:120;;;;;;;-1:-1:-1;3798:26:120;;-1:-1:-1;3798:60:120;;3825:8;;;;3835:9;;3846:11;;3798:60;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3878:11:120;;3869:21;;-1:-1:-1;;;3869:21:120;;-1:-1:-1;;;;;;;;;;;3869:8:120;-1:-1:-1;3869:8:120;;-1:-1:-1;3869:21:120;;-1:-1:-1;;;;;3878:11:120;;3869:21;;;:::i;1720:246::-;1821:14;;:22;;;-1:-1:-1;;;1821:22:120;;;;1799:1;;-1:-1:-1;;;;;;;;;;;1812:8:120;;;1821:14;;;;-1:-1:-1;;;;;1821:14:120;;:20;;:22;;;;;;;;;;;;;;;:14;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1812:32;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1854:14:120;;:44;;-1:-1:-1;;;1854:44:120;;:14;;;;-1:-1:-1;;;;;1854:14:120;;-1:-1:-1;1854:32:120;;-1:-1:-1;1854:44:120;;1887:10;;1854:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1909:50;1918:14;;;;;;;;;-1:-1:-1;;;;;1918:14:120;-1:-1:-1;;;;;1918:26:120;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1948:10;1909:8;:50::i;2270:110:21:-;2349:24;;-1:-1:-1;;;2349:24:21;;;;;188:25:126;;;229:18;;;222:34;;;-1:-1:-1;;;;;;;;;;;2349:11:21;;;161:18:126;;2349:24:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2270:110;;:::o;2026:104::-;2099:24;;-1:-1:-1;;;2099:24:21;;11444:14:126;;11437:22;2099:24:21;;;11419:41:126;11503:14;;11496:22;11476:18;;;11469:50;-1:-1:-1;;;;;;;;;;;2099:11:21;;;11392:18:126;;2099:24:21;11257:268:126;3454:110:21;3533:24;;-1:-1:-1;;;3533:24:21;;-1:-1:-1;;;;;;;;;;;3533:11:21;;;:24;;3545:4;;3551:5;;3533:24;;;:::i;1594:89::-;1657:19;;-1:-1:-1;;;1657:19:21;;6094:14:126;;6087:22;1657:19:21;;;6069:41:126;-1:-1:-1;;;;;;;;;;;1657:13:21;;;6042:18:126;;1657:19:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1808:91;1872:20;;-1:-1:-1;;;1872:20:21;;6094:14:126;;6087:22;1872:20:21;;;6069:41:126;-1:-1:-1;;;;;;;;;;;1872:14:21;;;6042:18:126;;1872:20:21;5929:187:126;-1:-1:-1;;;;;;;;:::o;:::-;;;;;;;;:::o;267:658:126:-;438:2;490:21;;;560:13;;463:18;;;582:22;;;409:4;;438:2;661:15;;;;635:2;620:18;;;409:4;704:195;718:6;715:1;712:13;704:195;;;783:13;;-1:-1:-1;;;;;779:39:126;767:52;;874:15;;;;839:12;;;;815:1;733:9;704:195;;;-1:-1:-1;916:3:126;;267:658;-1:-1:-1;;;;;;267:658:126:o;930:423::-;972:3;1010:5;1004:12;1037:6;1032:3;1025:19;1062:1;1072:162;1086:6;1083:1;1080:13;1072:162;;;1148:4;1204:13;;;1200:22;;1194:29;1176:11;;;1172:20;;1165:59;1101:12;1072:162;;;1076:3;1279:1;1272:4;1263:6;1258:3;1254:16;1250:27;1243:38;1342:4;1335:2;1331:7;1326:2;1318:6;1314:15;1310:29;1305:3;1301:39;1297:50;1290:57;;;930:423;;;;:::o;1358:1744::-;1593:2;1645:21;;;1715:13;;1618:18;;;1737:22;;;1564:4;;1593:2;1778;;1796:18;;;;1833:1;1876:15;;;1861:31;;1857:40;;1920:15;;;1564:4;;1984:1089;2000:6;1995:3;1992:15;1984:1089;;;-1:-1:-1;;2069:22:126;;;2065:36;2053:49;;2125:13;;2212:9;;-1:-1:-1;;;;;2208:35:126;2193:51;;2283:11;;2277:18;2315:15;;;2308:27;;;2396:19;;2165:15;;;2428:24;;;2609:21;;;;2475:2;2557:17;;;2545:30;;2541:39;;;2499:15;;;;2654:1;2668:296;2684:8;2679:3;2676:17;2668:296;;;2790:2;2786:7;2777:6;2769;2765:19;2761:33;2754:5;2747:48;2822:42;2857:6;2846:8;2840:15;2822:42;:::i;:::-;2893:17;;;;2812:52;-1:-1:-1;2936:14:126;;;;2712:1;2703:11;2668:296;;;-1:-1:-1;;;3051:12:126;;;;2987:6;-1:-1:-1;;3016:15:126;;;;2026:1;2017:11;1984:1089;;;-1:-1:-1;3090:6:126;;1358:1744;-1:-1:-1;;;;;;;;;;1358:1744:126:o;3107:203::-;-1:-1:-1;;;;;3271:32:126;;;;3253:51;;3241:2;3226:18;;3107:203::o;3547:1569::-;3751:4;3780:2;3820;3809:9;3805:18;3850:2;3839:9;3832:21;3873:6;3908;3902:13;3939:6;3931;3924:22;3965:2;3955:12;;3998:2;3987:9;3983:18;3976:25;;4060:2;4050:6;4047:1;4043:14;4032:9;4028:30;4024:39;4098:2;4090:6;4086:15;4119:1;4140;4150:937;4166:6;4161:3;4158:15;4150:937;;;4235:22;;;-1:-1:-1;;4231:36:126;4219:49;;4291:13;;4378:9;;-1:-1:-1;;;;;4374:35:126;4359:51;;4449:11;;4443:18;4481:15;;;4474:27;;;4562:19;;4331:15;;;4594:24;;;4684:21;;;;4729:1;;4652:2;4640:15;;;4743:236;4759:8;4754:3;4751:17;4743:236;;;4840:15;;-1:-1:-1;;;;;;4836:42:126;4822:57;;4948:17;;;;4787:1;4778:11;;;;;4905:14;;;;4743:236;;;-1:-1:-1;5065:12:126;;;;5002:5;-1:-1:-1;;;5030:15:126;;;;4192:1;4183:11;4150:937;;;-1:-1:-1;5104:6:126;;3547:1569;-1:-1:-1;;;;;;;;;3547:1569:126:o;5121:803::-;5283:4;5312:2;5352;5341:9;5337:18;5382:2;5371:9;5364:21;5405:6;5440;5434:13;5471:6;5463;5456:22;5509:2;5498:9;5494:18;5487:25;;5571:2;5561:6;5558:1;5554:14;5543:9;5539:30;5535:39;5521:53;;5609:2;5601:6;5597:15;5630:1;5640:255;5654:6;5651:1;5648:13;5640:255;;;5747:2;5743:7;5731:9;5723:6;5719:22;5715:36;5710:3;5703:49;5775:40;5808:6;5799;5793:13;5775:40;:::i;:::-;5765:50;-1:-1:-1;5873:12:126;;;;5838:15;;;;5676:1;5669:9;5640:255;;;-1:-1:-1;5912:6:126;;5121:803;-1:-1:-1;;;;;;;5121:803:126:o;6121:375::-;-1:-1:-1;;;;;6379:15:126;;;6361:34;;6426:2;6411:18;;6404:34;;;;6474:15;;;6469:2;6454:18;;6447:43;6311:2;6296:18;;6121:375::o;6501:164::-;6577:13;;6626;;6619:21;6609:32;;6599:60;;6655:1;6652;6645:12;6599:60;6501:164;;;:::o;6670:177::-;6749:13;;-1:-1:-1;;;;;6791:31:126;;6781:42;;6771:70;;6837:1;6834;6827:12;6852:348;6937:6;6945;6953;7006:2;6994:9;6985:7;6981:23;6977:32;6974:52;;;7022:1;7019;7012:12;6974:52;7051:9;7045:16;7035:26;;7080:46;7122:2;7111:9;7107:18;7080:46;:::i;:::-;7070:56;;7145:49;7190:2;7179:9;7175:18;7145:49;:::i;:::-;7135:59;;6852:348;;;;;:::o;7205:315::-;-1:-1:-1;;;;;7380:32:126;;7362:51;;7449:2;7444;7429:18;;7422:30;;;-1:-1:-1;;7469:45:126;;7495:18;;7487:6;7469:45;:::i;:::-;7461:53;7205:315;-1:-1:-1;;;;7205:315:126:o;7525:401::-;-1:-1:-1;;;;;7776:32:126;;;;7758:51;;7845:13;;7840:2;7825:18;;7818:41;7805:1;7901:17;7895:24;7890:2;7875:18;;7868:52;7746:2;7731:18;;7525:401::o;7931:604::-;8032:6;8085:2;8073:9;8064:7;8060:23;8056:32;8053:52;;;8101:1;8098;8091:12;8053:52;8134:2;8128:9;;;8164:15;;-1:-1:-1;;;;;8194:34:126;;8230:22;;;8191:62;8188:185;;;8295:10;8290:3;8286:20;8283:1;8276:31;8330:4;8327:1;8320:15;8358:4;8355:1;8348:15;8188:185;8389:2;8382:22;8428:16;;8413:32;;8499:2;8484:18;;;8478:25;8461:15;;;8454:50;;;;-1:-1:-1;8420:6:126;7931:604;-1:-1:-1;7931:604:126:o;8900:202::-;-1:-1:-1;;;;;;9062:33:126;;;;9044:52;;9032:2;9017:18;;8900:202::o;9107:380::-;9186:1;9182:12;;;;9229;;;9250:61;;9304:4;9296:6;9292:17;9282:27;;9250:61;9357:2;9349:6;9346:14;9326:18;9323:38;9320:161;;9403:10;9398:3;9394:20;9391:1;9384:31;9438:4;9435:1;9428:15;9466:4;9463:1;9456:15;9320:161;;9107:380;;;:::o;9492:274::-;-1:-1:-1;;;;;9684:32:126;;;;9666:51;;9748:2;9733:18;;9726:34;9654:2;9639:18;;9492:274::o;9771:304::-;-1:-1:-1;;;;;10001:15:126;;;9983:34;;10053:15;;10048:2;10033:18;;10026:43;9933:2;9918:18;;9771:304::o;10080:202::-;10147:6;10200:2;10188:9;10179:7;10175:23;10171:32;10168:52;;;10216:1;10213;10206:12;10168:52;10239:37;10266:9;10239:37;:::i;:::-;10229:47;10080:202;-1:-1:-1;;;10080:202:126:o;10855:184::-;10925:6;10978:2;10966:9;10957:7;10953:23;10949:32;10946:52;;;10994:1;10991;10984:12;10946:52;-1:-1:-1;11017:16:126;;10855:184;-1:-1:-1;10855:184:126:o;11044:208::-;11114:6;11167:2;11155:9;11146:7;11142:23;11138:32;11135:52;;;11183:1;11180;11173:12;11135:52;11206:40;11236:9;11206:40;:::i","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","councilSafe()":"6c53db9a","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","listManager()":"8df8b2fe","passportData()":"073a2d8c","passportScorer()":"4905e831","setUp()":"0a9254e4","strategy()":"a8c62e76","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testAddStrategy()":"9693f128","testAddUserScore()":"0c2759da","testCanExecuteAction()":"8caa5c44","testChangeListManager()":"ebe69a5f","testModifyThresholdByAuthorized()":"e68393b4","testModifyThresholdByCouncilSafe()":"3668aa29","testOnlyAuthorizedCanAddUserScore()":"25821153","testOnlyAuthorizedCanRemoveUser()":"82fad478","testOnlyOwnerCanChangeListManager()":"24e40b97","testRemoveStrategy()":"0778c72c","testRemoveUser()":"d4dadecb","unauthorizedUser()":"3ea7771b","user()":"4f8632ba"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"listManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"passportData\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"passportScorer\",\"outputs\":[{\"internalType\":\"contract PassportScorer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAddStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAddUserScore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCanExecuteAction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testChangeListManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testModifyThresholdByAuthorized\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testModifyThresholdByCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOnlyAuthorizedCanAddUserScore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOnlyAuthorizedCanRemoveUser\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOnlyOwnerCanChangeListManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRemoveStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRemoveUser\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unauthorizedUser\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"user\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/PassportScorerTest.t.sol\":\"PassportScorerTest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c\",\"dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b\",\"dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/PassportScorer.sol\":{\"keccak256\":\"0x761ef83b5c9e42fc7a65cec573d4a82e8b4471a917d1148977081d33edaf746d\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://698a8829885901860dcca7d7b2737a0e9d6216e052f21b3d8dedcfca90db4810\",\"dweb:/ipfs/QmSs8CZvEhz2CaSBq6x6fzU4uTPeyHn2Z8HSmc7tq8Cu3z\"]},\"pkg/contracts/test/PassportScorerTest.t.sol\":{\"keccak256\":\"0xbeb984e08da607b0d2eaa84cc83644c4d7bc68c6092719e0a38d2297a5e3d21b\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://3d7b92d67443c5e54a977185e727543b4429a96af3ac092b54f4eacb8421edac\",\"dweb:/ipfs/QmRksjaxxgPFGLnXKgtcAU5i23oCWPaV2r76YtN9WBoawN\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"listManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"passportData","outputs":[{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"passportScorer","outputs":[{"internalType":"contract PassportScorer","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"inputs":[],"stateMutability":"view","type":"function","name":"strategy","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testAddStrategy"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testAddUserScore"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCanExecuteAction"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testChangeListManager"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testModifyThresholdByAuthorized"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testModifyThresholdByCouncilSafe"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testOnlyAuthorizedCanAddUserScore"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testOnlyAuthorizedCanRemoveUser"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testOnlyOwnerCanChangeListManager"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRemoveStrategy"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRemoveUser"},{"inputs":[],"stateMutability":"view","type":"function","name":"unauthorizedUser","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"user","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/PassportScorerTest.t.sol":"PassportScorerTest"},"evmVersion":"paris","libraries":{}},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361","urls":["bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c","dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef","urls":["bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b","dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab","urls":["bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d","dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/PassportScorer.sol":{"keccak256":"0x761ef83b5c9e42fc7a65cec573d4a82e8b4471a917d1148977081d33edaf746d","urls":["bzz-raw://698a8829885901860dcca7d7b2737a0e9d6216e052f21b3d8dedcfca90db4810","dweb:/ipfs/QmSs8CZvEhz2CaSBq6x6fzU4uTPeyHn2Z8HSmc7tq8Cu3z"],"license":"AGPL-3.0-or-later"},"pkg/contracts/test/PassportScorerTest.t.sol":{"keccak256":"0xbeb984e08da607b0d2eaa84cc83644c4d7bc68c6092719e0a38d2297a5e3d21b","urls":["bzz-raw://3d7b92d67443c5e54a977185e727543b4429a96af3ac092b54f4eacb8421edac","dweb:/ipfs/QmRksjaxxgPFGLnXKgtcAU5i23oCWPaV2r76YtN9WBoawN"],"license":"AGPL-3.0-or-later"}},"version":1},"storageLayout":{"storage":[{"astId":5830,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)13196_storage"},{"astId":5987,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":8488,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":8509,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)8504_storage)"},{"astId":8513,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":8517,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":8520,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":9278,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":11315,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)13196_storage"},{"astId":12183,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_excludedContracts","offset":0,"slot":"21","type":"t_array(t_address)dyn_storage"},{"astId":12186,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_excludedSenders","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"},{"astId":12189,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedContracts","offset":0,"slot":"23","type":"t_array(t_address)dyn_storage"},{"astId":12192,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedSenders","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":12195,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_excludedArtifacts","offset":0,"slot":"25","type":"t_array(t_string_storage)dyn_storage"},{"astId":12198,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedArtifacts","offset":0,"slot":"26","type":"t_array(t_string_storage)dyn_storage"},{"astId":12202,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedArtifactSelectors","offset":0,"slot":"27","type":"t_array(t_struct(FuzzSelector)12174_storage)dyn_storage"},{"astId":12206,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedSelectors","offset":0,"slot":"28","type":"t_array(t_struct(FuzzSelector)12174_storage)dyn_storage"},{"astId":12210,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedInterfaces","offset":0,"slot":"29","type":"t_array(t_struct(FuzzInterface)12180_storage)dyn_storage"},{"astId":17795,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"IS_TEST","offset":0,"slot":"30","type":"t_bool"},{"astId":87458,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"passportScorer","offset":1,"slot":"30","type":"t_contract(PassportScorer)70661"},{"astId":87464,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"listManager","offset":0,"slot":"31","type":"t_address"},{"astId":87470,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"user","offset":0,"slot":"32","type":"t_address"},{"astId":87476,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"strategy","offset":0,"slot":"33","type":"t_address"},{"astId":87482,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"councilSafe","offset":0,"slot":"34","type":"t_address"},{"astId":87488,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"unauthorizedUser","offset":0,"slot":"35","type":"t_address"},{"astId":87491,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"passportData","offset":0,"slot":"36","type":"t_struct(PassportData)70083_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzInterface)12180_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)12180_storage"},"t_array(t_struct(FuzzSelector)12174_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)12174_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(PassportScorer)70661":{"encoding":"inplace","label":"contract PassportScorer","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13171_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13171_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13171_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)8504_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)8504_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)8504_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":8497,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":8499,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":8501,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":8503,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)13171_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13164,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13166,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13168,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13170,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzInterface)12180_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":12176,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12179,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)12174_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":12170,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12173,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(PassportData)70083_storage":{"encoding":"inplace","label":"struct PassportData","numberOfBytes":"64","members":[{"astId":70080,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"score","offset":0,"slot":"0","type":"t_uint256"},{"astId":70082,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"lastUpdated","offset":0,"slot":"1","type":"t_uint256"}]},"t_struct(StdStorage)13196_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13180,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage)))"},{"astId":13183,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13185,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13187,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13189,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13191,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13193,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13195,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"pkg/contracts/test/PassportScorerTest.t.sol","id":88067,"exportedSymbols":{"ERC1967Proxy":[55021],"ISybilScorer":[70165],"Initializable":[53152],"OwnableUpgradeable":[52903],"PassportData":[70083],"PassportScorer":[70661],"PassportScorerTest":[88066],"StdAssertions":[8464],"StdChains":[9246],"StdCheats":[12099],"StdInvariant":[12424],"StdStorage":[13196],"StdStyle":[16366],"StdUtils":[17744],"Strategy":[70090],"Test":[17796],"TestBase":[5834],"UUPSUpgradeable":[55672],"Upgrades":[61176],"Vm":[21446],"console":[29510],"console2":[37635],"safeconsole":[52360],"stdError":[12165],"stdJson":[13016],"stdMath":[13158],"stdStorage":[15155],"stdToml":[16958]},"nodeType":"SourceUnit","src":"46:5448:120","nodes":[{"id":87447,"nodeType":"PragmaDirective","src":"46:24:120","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":87448,"nodeType":"ImportDirective","src":"72:28:120","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":88067,"sourceUnit":17797,"symbolAliases":[],"unitAlias":""},{"id":87449,"nodeType":"ImportDirective","src":"101:35:120","nodes":[],"absolutePath":"pkg/contracts/src/PassportScorer.sol","file":"../src/PassportScorer.sol","nameLocation":"-1:-1:-1","scope":88067,"sourceUnit":70662,"symbolAliases":[],"unitAlias":""},{"id":87451,"nodeType":"ImportDirective","src":"138:66:120","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol","file":"@openzeppelin/foundry/LegacyUpgrades.sol","nameLocation":"-1:-1:-1","scope":88067,"sourceUnit":61297,"symbolAliases":[{"foreign":{"id":87450,"name":"Upgrades","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61176,"src":"146:8:120","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":87453,"nodeType":"ImportDirective","src":"206:84:120","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":88067,"sourceUnit":55022,"symbolAliases":[{"foreign":{"id":87452,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55021,"src":"214:12:120","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":88066,"nodeType":"ContractDefinition","src":"292:5201:120","nodes":[{"id":87458,"nodeType":"VariableDeclaration","src":"334:36:120","nodes":[],"constant":false,"functionSelector":"4905e831","mutability":"mutable","name":"passportScorer","nameLocation":"356:14:120","scope":88066,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"},"typeName":{"id":87457,"nodeType":"UserDefinedTypeName","pathNode":{"id":87456,"name":"PassportScorer","nameLocations":["334:14:120"],"nodeType":"IdentifierPath","referencedDeclaration":70661,"src":"334:14:120"},"referencedDeclaration":70661,"src":"334:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"visibility":"public"},{"id":87464,"nodeType":"VariableDeclaration","src":"376:39:120","nodes":[],"constant":false,"functionSelector":"8df8b2fe","mutability":"mutable","name":"listManager","nameLocation":"391:11:120","scope":88066,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":87459,"name":"address","nodeType":"ElementaryTypeName","src":"376:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"31","id":87462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"413:1:120","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":87461,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"405:7:120","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":87460,"name":"address","nodeType":"ElementaryTypeName","src":"405:7:120","typeDescriptions":{}}},"id":87463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"405:10:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":87470,"nodeType":"VariableDeclaration","src":"421:32:120","nodes":[],"constant":false,"functionSelector":"4f8632ba","mutability":"mutable","name":"user","nameLocation":"436:4:120","scope":88066,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":87465,"name":"address","nodeType":"ElementaryTypeName","src":"421:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"32","id":87468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"451:1:120","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":87467,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"443:7:120","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":87466,"name":"address","nodeType":"ElementaryTypeName","src":"443:7:120","typeDescriptions":{}}},"id":87469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"443:10:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":87476,"nodeType":"VariableDeclaration","src":"459:36:120","nodes":[],"constant":false,"functionSelector":"a8c62e76","mutability":"mutable","name":"strategy","nameLocation":"474:8:120","scope":88066,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":87471,"name":"address","nodeType":"ElementaryTypeName","src":"459:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"33","id":87474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"493:1:120","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":87473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"485:7:120","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":87472,"name":"address","nodeType":"ElementaryTypeName","src":"485:7:120","typeDescriptions":{}}},"id":87475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"485:10:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":87482,"nodeType":"VariableDeclaration","src":"501:39:120","nodes":[],"constant":false,"functionSelector":"6c53db9a","mutability":"mutable","name":"councilSafe","nameLocation":"516:11:120","scope":88066,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":87477,"name":"address","nodeType":"ElementaryTypeName","src":"501:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"34","id":87480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"538:1:120","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"}],"id":87479,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"530:7:120","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":87478,"name":"address","nodeType":"ElementaryTypeName","src":"530:7:120","typeDescriptions":{}}},"id":87481,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"530:10:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":87488,"nodeType":"VariableDeclaration","src":"546:44:120","nodes":[],"constant":false,"functionSelector":"3ea7771b","mutability":"mutable","name":"unauthorizedUser","nameLocation":"561:16:120","scope":88066,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":87483,"name":"address","nodeType":"ElementaryTypeName","src":"546:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"35","id":87486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"588:1:120","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"}],"id":87485,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"580:7:120","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":87484,"name":"address","nodeType":"ElementaryTypeName","src":"580:7:120","typeDescriptions":{}}},"id":87487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"580:10:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":87491,"nodeType":"VariableDeclaration","src":"596:32:120","nodes":[],"constant":false,"functionSelector":"073a2d8c","mutability":"mutable","name":"passportData","nameLocation":"616:12:120","scope":88066,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_storage","typeString":"struct PassportData"},"typeName":{"id":87490,"nodeType":"UserDefinedTypeName","pathNode":{"id":87489,"name":"PassportData","nameLocations":["596:12:120"],"nodeType":"IdentifierPath","referencedDeclaration":70083,"src":"596:12:120"},"referencedDeclaration":70083,"src":"596:12:120","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_storage_ptr","typeString":"struct PassportData"}},"visibility":"public"},{"id":87540,"nodeType":"FunctionDefinition","src":"635:374:120","nodes":[],"body":{"id":87539,"nodeType":"Block","src":"659:350:120","nodes":[],"statements":[{"assignments":[87496],"declarations":[{"constant":false,"id":87496,"mutability":"mutable","name":"proxy","nameLocation":"682:5:120","nodeType":"VariableDeclaration","scope":87539,"src":"669:18:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"},"typeName":{"id":87495,"nodeType":"UserDefinedTypeName","pathNode":{"id":87494,"name":"ERC1967Proxy","nameLocations":["669:12:120"],"nodeType":"IdentifierPath","referencedDeclaration":55021,"src":"669:12:120"},"referencedDeclaration":55021,"src":"669:12:120","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}},"visibility":"internal"}],"id":87518,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":87504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"728:18:120","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_PassportScorer_$70661_$","typeString":"function () returns (contract PassportScorer)"},"typeName":{"id":87503,"nodeType":"UserDefinedTypeName","pathNode":{"id":87502,"name":"PassportScorer","nameLocations":["732:14:120"],"nodeType":"IdentifierPath","referencedDeclaration":70661,"src":"732:14:120"},"referencedDeclaration":70661,"src":"732:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}}},"id":87505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"728:20:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}],"id":87501,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"720:7:120","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":87500,"name":"address","nodeType":"ElementaryTypeName","src":"720:7:120","typeDescriptions":{}}},"id":87506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"720:29:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":87509,"name":"PassportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70661,"src":"786:14:120","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PassportScorer_$70661_$","typeString":"type(contract PassportScorer)"}},"id":87510,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"801:10:120","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":70354,"src":"786:25:120","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$returns$__$","typeString":"function PassportScorer.initialize(address)"}},"id":87511,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"812:8:120","memberName":"selector","nodeType":"MemberAccess","src":"786:34:120","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":87514,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87464,"src":"830:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":87513,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"822:7:120","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":87512,"name":"address","nodeType":"ElementaryTypeName","src":"822:7:120","typeDescriptions":{}}},"id":87515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"822:20:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87507,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"763:3:120","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":87508,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"767:18:120","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"763:22:120","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":87516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"763:80:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":87499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"690:16:120","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55021_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":87498,"nodeType":"UserDefinedTypeName","pathNode":{"id":87497,"name":"ERC1967Proxy","nameLocations":["694:12:120"],"nodeType":"IdentifierPath","referencedDeclaration":55021,"src":"694:12:120"},"referencedDeclaration":55021,"src":"694:12:120","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}},"id":87517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"690:163:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}},"nodeType":"VariableDeclarationStatement","src":"669:184:120"},{"expression":{"id":87529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":87519,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"864:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":87525,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87496,"src":"912:5:120","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}],"id":87524,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"904:7:120","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":87523,"name":"address","nodeType":"ElementaryTypeName","src":"904:7:120","typeDescriptions":{}}},"id":87526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"904:14:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":87522,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"896:8:120","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":87521,"name":"address","nodeType":"ElementaryTypeName","src":"896:8:120","stateMutability":"payable","typeDescriptions":{}}},"id":87527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"896:23:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":87520,"name":"PassportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70661,"src":"881:14:120","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PassportScorer_$70661_$","typeString":"type(contract PassportScorer)"}},"id":87528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"881:39:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"src":"864:56:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":87530,"nodeType":"ExpressionStatement","src":"864:56:120"},{"expression":{"id":87537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":87531,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87491,"src":"931:12:120","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_storage","typeString":"struct PassportData storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"313030","id":87533,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"967:3:120","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"expression":{"id":87534,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"985:5:120","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":87535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"991:9:120","memberName":"timestamp","nodeType":"MemberAccess","src":"985:15:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":87532,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70083,"src":"946:12:120","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PassportData_$70083_storage_ptr_$","typeString":"type(struct PassportData storage pointer)"}},"id":87536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["960:5:120","972:11:120"],"names":["score","lastUpdated"],"nodeType":"FunctionCall","src":"946:56:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_memory_ptr","typeString":"struct PassportData memory"}},"src":"931:71:120","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_storage","typeString":"struct PassportData storage ref"}},"id":87538,"nodeType":"ExpressionStatement","src":"931:71:120"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"644:5:120","parameters":{"id":87492,"nodeType":"ParameterList","parameters":[],"src":"649:2:120"},"returnParameters":{"id":87493,"nodeType":"ParameterList","parameters":[],"src":"659:0:120"},"scope":88066,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":87579,"nodeType":"FunctionDefinition","src":"1015:331:120","nodes":[],"body":{"id":87578,"nodeType":"Block","src":"1050:296:120","nodes":[],"statements":[{"expression":{"arguments":[{"id":87546,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87464,"src":"1069:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87543,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1060:2:120","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":87545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1063:5:120","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"1060:8:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":87547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1060:21:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87548,"nodeType":"ExpressionStatement","src":"1060:21:120"},{"expression":{"arguments":[{"id":87552,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87470,"src":"1119:4:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":87553,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87491,"src":"1125:12:120","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_storage","typeString":"struct PassportData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PassportData_$70083_storage","typeString":"struct PassportData storage ref"}],"expression":{"id":87549,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"1091:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":87551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1106:12:120","memberName":"addUserScore","nodeType":"MemberAccess","referencedDeclaration":70385,"src":"1091:27:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_PassportData_$70083_memory_ptr_$returns$__$","typeString":"function (address,struct PassportData memory) external"}},"id":87554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1091:47:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87555,"nodeType":"ExpressionStatement","src":"1091:47:120"},{"assignments":[87558],"declarations":[{"constant":false,"id":87558,"mutability":"mutable","name":"storedData","nameLocation":"1169:10:120","nodeType":"VariableDeclaration","scope":87578,"src":"1149:30:120","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":87557,"nodeType":"UserDefinedTypeName","pathNode":{"id":87556,"name":"PassportData","nameLocations":["1149:12:120"],"nodeType":"IdentifierPath","referencedDeclaration":70083,"src":"1149:12:120"},"referencedDeclaration":70083,"src":"1149:12:120","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"id":87563,"initialValue":{"arguments":[{"id":87561,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87470,"src":"1210:4:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87559,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"1182:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":87560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1197:12:120","memberName":"getUserScore","nodeType":"MemberAccess","referencedDeclaration":70633,"src":"1182:27:120","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_struct$_PassportData_$70083_memory_ptr_$","typeString":"function (address) view external returns (struct PassportData memory)"}},"id":87562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1182:33:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_memory_ptr","typeString":"struct PassportData memory"}},"nodeType":"VariableDeclarationStatement","src":"1149:66:120"},{"expression":{"arguments":[{"expression":{"id":87565,"name":"storedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87558,"src":"1234:10:120","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_memory_ptr","typeString":"struct PassportData memory"}},"id":87566,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1245:5:120","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":70080,"src":"1234:16:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":87567,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87491,"src":"1252:12:120","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_storage","typeString":"struct PassportData storage ref"}},"id":87568,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1265:5:120","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":70080,"src":"1252:18:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":87564,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"1225:8:120","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":87569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1225:46:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87570,"nodeType":"ExpressionStatement","src":"1225:46:120"},{"expression":{"arguments":[{"expression":{"id":87572,"name":"storedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87558,"src":"1290:10:120","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_memory_ptr","typeString":"struct PassportData memory"}},"id":87573,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1301:11:120","memberName":"lastUpdated","nodeType":"MemberAccess","referencedDeclaration":70082,"src":"1290:22:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":87574,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87491,"src":"1314:12:120","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_storage","typeString":"struct PassportData storage ref"}},"id":87575,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1327:11:120","memberName":"lastUpdated","nodeType":"MemberAccess","referencedDeclaration":70082,"src":"1314:24:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":87571,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"1281:8:120","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":87576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1281:58:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87577,"nodeType":"ExpressionStatement","src":"1281:58:120"}]},"functionSelector":"0c2759da","implemented":true,"kind":"function","modifiers":[],"name":"testAddUserScore","nameLocation":"1024:16:120","parameters":{"id":87541,"nodeType":"ParameterList","parameters":[],"src":"1040:2:120"},"returnParameters":{"id":87542,"nodeType":"ParameterList","parameters":[],"src":"1050:0:120"},"scope":88066,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":87628,"nodeType":"FunctionDefinition","src":"1352:362:120","nodes":[],"body":{"id":87627,"nodeType":"Block","src":"1385:329:120","nodes":[],"statements":[{"expression":{"arguments":[{"id":87585,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87464,"src":"1404:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87582,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1395:2:120","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":87584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1398:5:120","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"1395:8:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":87586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1395:21:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87587,"nodeType":"ExpressionStatement","src":"1395:21:120"},{"expression":{"arguments":[{"id":87591,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87470,"src":"1454:4:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":87592,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87491,"src":"1460:12:120","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_storage","typeString":"struct PassportData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PassportData_$70083_storage","typeString":"struct PassportData storage ref"}],"expression":{"id":87588,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"1426:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":87590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1441:12:120","memberName":"addUserScore","nodeType":"MemberAccess","referencedDeclaration":70385,"src":"1426:27:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_PassportData_$70083_memory_ptr_$returns$__$","typeString":"function (address,struct PassportData memory) external"}},"id":87593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1426:47:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87594,"nodeType":"ExpressionStatement","src":"1426:47:120"},{"expression":{"arguments":[{"id":87598,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87464,"src":"1493:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87595,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1484:2:120","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":87597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1487:5:120","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"1484:8:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":87599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1484:21:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87600,"nodeType":"ExpressionStatement","src":"1484:21:120"},{"expression":{"arguments":[{"id":87604,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87470,"src":"1541:4:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87601,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"1515:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":87603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1530:10:120","memberName":"removeUser","nodeType":"MemberAccess","referencedDeclaration":70408,"src":"1515:25:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":87605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1515:31:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87606,"nodeType":"ExpressionStatement","src":"1515:31:120"},{"assignments":[87609],"declarations":[{"constant":false,"id":87609,"mutability":"mutable","name":"storedData","nameLocation":"1577:10:120","nodeType":"VariableDeclaration","scope":87627,"src":"1557:30:120","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":87608,"nodeType":"UserDefinedTypeName","pathNode":{"id":87607,"name":"PassportData","nameLocations":["1557:12:120"],"nodeType":"IdentifierPath","referencedDeclaration":70083,"src":"1557:12:120"},"referencedDeclaration":70083,"src":"1557:12:120","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"id":87614,"initialValue":{"arguments":[{"id":87612,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87470,"src":"1618:4:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87610,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"1590:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":87611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1605:12:120","memberName":"getUserScore","nodeType":"MemberAccess","referencedDeclaration":70633,"src":"1590:27:120","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_struct$_PassportData_$70083_memory_ptr_$","typeString":"function (address) view external returns (struct PassportData memory)"}},"id":87613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1590:33:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_memory_ptr","typeString":"struct PassportData memory"}},"nodeType":"VariableDeclarationStatement","src":"1557:66:120"},{"expression":{"arguments":[{"expression":{"id":87616,"name":"storedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87609,"src":"1642:10:120","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_memory_ptr","typeString":"struct PassportData memory"}},"id":87617,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1653:5:120","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":70080,"src":"1642:16:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":87618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1660:1:120","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":87615,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"1633:8:120","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":87619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1633:29:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87620,"nodeType":"ExpressionStatement","src":"1633:29:120"},{"expression":{"arguments":[{"expression":{"id":87622,"name":"storedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87609,"src":"1681:10:120","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_memory_ptr","typeString":"struct PassportData memory"}},"id":87623,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1692:11:120","memberName":"lastUpdated","nodeType":"MemberAccess","referencedDeclaration":70082,"src":"1681:22:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":87624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1705:1:120","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":87621,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"1672:8:120","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":87625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1672:35:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87626,"nodeType":"ExpressionStatement","src":"1672:35:120"}]},"functionSelector":"d4dadecb","implemented":true,"kind":"function","modifiers":[],"name":"testRemoveUser","nameLocation":"1361:14:120","parameters":{"id":87580,"nodeType":"ParameterList","parameters":[],"src":"1375:2:120"},"returnParameters":{"id":87581,"nodeType":"ParameterList","parameters":[],"src":"1385:0:120"},"scope":88066,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":87660,"nodeType":"FunctionDefinition","src":"1720:246:120","nodes":[],"body":{"id":87659,"nodeType":"Block","src":"1760:206:120","nodes":[],"statements":[{"assignments":[87632],"declarations":[{"constant":false,"id":87632,"mutability":"mutable","name":"newManager","nameLocation":"1778:10:120","nodeType":"VariableDeclaration","scope":87659,"src":"1770:18:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":87631,"name":"address","nodeType":"ElementaryTypeName","src":"1770:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":87637,"initialValue":{"arguments":[{"hexValue":"36","id":87635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1799:1:120","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"}],"id":87634,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1791:7:120","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":87633,"name":"address","nodeType":"ElementaryTypeName","src":"1791:7:120","typeDescriptions":{}}},"id":87636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1791:10:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1770:31:120"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":87641,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"1821:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":87642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1836:5:120","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":52826,"src":"1821:20:120","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":87643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1821:22:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87638,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1812:2:120","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":87640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1815:5:120","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"1812:8:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":87644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1812:32:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87645,"nodeType":"ExpressionStatement","src":"1812:32:120"},{"expression":{"arguments":[{"id":87649,"name":"newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87632,"src":"1887:10:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87646,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"1854:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":87648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1869:17:120","memberName":"changeListManager","nodeType":"MemberAccess","referencedDeclaration":70435,"src":"1854:32:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":87650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1854:44:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87651,"nodeType":"ExpressionStatement","src":"1854:44:120"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":87653,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"1918:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":87654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1933:11:120","memberName":"listManager","nodeType":"MemberAccess","referencedDeclaration":70187,"src":"1918:26:120","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":87655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1918:28:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":87656,"name":"newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87632,"src":"1948:10:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":87652,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6290,"src":"1909:8:120","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":87657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1909:50:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87658,"nodeType":"ExpressionStatement","src":"1909:50:120"}]},"functionSelector":"ebe69a5f","implemented":true,"kind":"function","modifiers":[],"name":"testChangeListManager","nameLocation":"1729:21:120","parameters":{"id":87629,"nodeType":"ParameterList","parameters":[],"src":"1750:2:120"},"returnParameters":{"id":87630,"nodeType":"ParameterList","parameters":[],"src":"1760:0:120"},"scope":88066,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":87685,"nodeType":"FunctionDefinition","src":"1972:217:120","nodes":[],"body":{"id":87684,"nodeType":"Block","src":"2024:165:120","nodes":[],"statements":[{"expression":{"arguments":[{"id":87666,"name":"unauthorizedUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87488,"src":"2043:16:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87663,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2034:2:120","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":87665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2037:5:120","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"2034:8:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":87667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2034:26:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87668,"nodeType":"ExpressionStatement","src":"2034:26:120"},{"expression":{"arguments":[{"expression":{"expression":{"id":87672,"name":"PassportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70661,"src":"2086:14:120","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PassportScorer_$70661_$","typeString":"type(contract PassportScorer)"}},"id":87673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2101:14:120","memberName":"OnlyAuthorized","nodeType":"MemberAccess","referencedDeclaration":70241,"src":"2086:29:120","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":87674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2116:8:120","memberName":"selector","nodeType":"MemberAccess","src":"2086:38:120","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":87669,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2070:2:120","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":87671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2073:12:120","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21413,"src":"2070:15:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":87675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2070:55:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87676,"nodeType":"ExpressionStatement","src":"2070:55:120"},{"expression":{"arguments":[{"id":87680,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87470,"src":"2163:4:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":87681,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87491,"src":"2169:12:120","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_storage","typeString":"struct PassportData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PassportData_$70083_storage","typeString":"struct PassportData storage ref"}],"expression":{"id":87677,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"2135:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":87679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2150:12:120","memberName":"addUserScore","nodeType":"MemberAccess","referencedDeclaration":70385,"src":"2135:27:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_PassportData_$70083_memory_ptr_$returns$__$","typeString":"function (address,struct PassportData memory) external"}},"id":87682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2135:47:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87683,"nodeType":"ExpressionStatement","src":"2135:47:120"}]},"functionSelector":"25821153","implemented":true,"kind":"function","modifiers":[],"name":"testOnlyAuthorizedCanAddUserScore","nameLocation":"1981:33:120","parameters":{"id":87661,"nodeType":"ParameterList","parameters":[],"src":"2014:2:120"},"returnParameters":{"id":87662,"nodeType":"ParameterList","parameters":[],"src":"2024:0:120"},"scope":88066,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":87709,"nodeType":"FunctionDefinition","src":"2195:199:120","nodes":[],"body":{"id":87708,"nodeType":"Block","src":"2245:149:120","nodes":[],"statements":[{"expression":{"arguments":[{"id":87691,"name":"unauthorizedUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87488,"src":"2264:16:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87688,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2255:2:120","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":87690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2258:5:120","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"2255:8:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":87692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2255:26:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87693,"nodeType":"ExpressionStatement","src":"2255:26:120"},{"expression":{"arguments":[{"expression":{"expression":{"id":87697,"name":"PassportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70661,"src":"2307:14:120","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PassportScorer_$70661_$","typeString":"type(contract PassportScorer)"}},"id":87698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2322:14:120","memberName":"OnlyAuthorized","nodeType":"MemberAccess","referencedDeclaration":70241,"src":"2307:29:120","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":87699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2337:8:120","memberName":"selector","nodeType":"MemberAccess","src":"2307:38:120","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":87694,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2291:2:120","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":87696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2294:12:120","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21413,"src":"2291:15:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":87700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2291:55:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87701,"nodeType":"ExpressionStatement","src":"2291:55:120"},{"expression":{"arguments":[{"id":87705,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87470,"src":"2382:4:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87702,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"2356:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":87704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2371:10:120","memberName":"removeUser","nodeType":"MemberAccess","referencedDeclaration":70408,"src":"2356:25:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":87706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2356:31:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87707,"nodeType":"ExpressionStatement","src":"2356:31:120"}]},"functionSelector":"82fad478","implemented":true,"kind":"function","modifiers":[],"name":"testOnlyAuthorizedCanRemoveUser","nameLocation":"2204:31:120","parameters":{"id":87686,"nodeType":"ParameterList","parameters":[],"src":"2235:2:120"},"returnParameters":{"id":87687,"nodeType":"ParameterList","parameters":[],"src":"2245:0:120"},"scope":88066,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":87738,"nodeType":"FunctionDefinition","src":"2400:247:120","nodes":[],"body":{"id":87737,"nodeType":"Block","src":"2452:195:120","nodes":[],"statements":[{"assignments":[87713],"declarations":[{"constant":false,"id":87713,"mutability":"mutable","name":"newManager","nameLocation":"2470:10:120","nodeType":"VariableDeclaration","scope":87737,"src":"2462:18:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":87712,"name":"address","nodeType":"ElementaryTypeName","src":"2462:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":87718,"initialValue":{"arguments":[{"hexValue":"36","id":87716,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2491:1:120","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"}],"id":87715,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2483:7:120","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":87714,"name":"address","nodeType":"ElementaryTypeName","src":"2483:7:120","typeDescriptions":{}}},"id":87717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2483:10:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2462:31:120"},{"expression":{"arguments":[{"id":87722,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87464,"src":"2513:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87719,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2504:2:120","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":87721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2507:5:120","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"2504:8:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":87723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2504:21:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87724,"nodeType":"ExpressionStatement","src":"2504:21:120"},{"expression":{"arguments":[{"hexValue":"4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572","id":87728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2551:34:120","typeDescriptions":{"typeIdentifier":"t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe","typeString":"literal_string \"Ownable: caller is not the owner\""},"value":"Ownable: caller is not the owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe","typeString":"literal_string \"Ownable: caller is not the owner\""}],"expression":{"id":87725,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2535:2:120","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":87727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2538:12:120","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21419,"src":"2535:15:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":87729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2535:51:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87730,"nodeType":"ExpressionStatement","src":"2535:51:120"},{"expression":{"arguments":[{"id":87734,"name":"newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87713,"src":"2629:10:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87731,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"2596:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":87733,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2611:17:120","memberName":"changeListManager","nodeType":"MemberAccess","referencedDeclaration":70435,"src":"2596:32:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":87735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2596:44:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87736,"nodeType":"ExpressionStatement","src":"2596:44:120"}]},"functionSelector":"24e40b97","implemented":true,"kind":"function","modifiers":[],"name":"testOnlyOwnerCanChangeListManager","nameLocation":"2409:33:120","parameters":{"id":87710,"nodeType":"ParameterList","parameters":[],"src":"2442:2:120"},"returnParameters":{"id":87711,"nodeType":"ParameterList","parameters":[],"src":"2452:0:120"},"scope":88066,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":87786,"nodeType":"FunctionDefinition","src":"2653:430:120","nodes":[],"body":{"id":87785,"nodeType":"Block","src":"2687:396:120","nodes":[],"statements":[{"assignments":[87742],"declarations":[{"constant":false,"id":87742,"mutability":"mutable","name":"threshold","nameLocation":"2705:9:120","nodeType":"VariableDeclaration","scope":87785,"src":"2697:17:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87741,"name":"uint256","nodeType":"ElementaryTypeName","src":"2697:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":87744,"initialValue":{"hexValue":"3530","id":87743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2717:2:120","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"2697:22:120"},{"expression":{"arguments":[{"id":87748,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87464,"src":"2739:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87745,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2730:2:120","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":87747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2733:5:120","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"2730:8:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":87749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2730:21:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87750,"nodeType":"ExpressionStatement","src":"2730:21:120"},{"expression":{"arguments":[{"id":87754,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87476,"src":"2788:8:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":87755,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87742,"src":"2798:9:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":87756,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87482,"src":"2809:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87751,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"2761:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":87753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2776:11:120","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":70494,"src":"2761:26:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":87757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2761:60:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87758,"nodeType":"ExpressionStatement","src":"2761:60:120"},{"assignments":[87760,87762,87764],"declarations":[{"constant":false,"id":87760,"mutability":"mutable","name":"storedThreshold","nameLocation":"2841:15:120","nodeType":"VariableDeclaration","scope":87785,"src":"2833:23:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87759,"name":"uint256","nodeType":"ElementaryTypeName","src":"2833:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":87762,"mutability":"mutable","name":"storedActive","nameLocation":"2863:12:120","nodeType":"VariableDeclaration","scope":87785,"src":"2858:17:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":87761,"name":"bool","nodeType":"ElementaryTypeName","src":"2858:4:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":87764,"mutability":"mutable","name":"storedCouncilSafe","nameLocation":"2885:17:120","nodeType":"VariableDeclaration","scope":87785,"src":"2877:25:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":87763,"name":"address","nodeType":"ElementaryTypeName","src":"2877:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":87769,"initialValue":{"arguments":[{"id":87767,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87476,"src":"2932:8:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87765,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"2906:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":87766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2921:10:120","memberName":"strategies","nodeType":"MemberAccess","referencedDeclaration":70197,"src":"2906:25:120","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$_t_bool_$_t_address_$","typeString":"function (address) view external returns (uint256,bool,address)"}},"id":87768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2906:35:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$_t_address_$","typeString":"tuple(uint256,bool,address)"}},"nodeType":"VariableDeclarationStatement","src":"2832:109:120"},{"expression":{"arguments":[{"id":87771,"name":"storedThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87760,"src":"2960:15:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":87772,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87742,"src":"2977:9:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":87770,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"2951:8:120","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":87773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2951:36:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87774,"nodeType":"ExpressionStatement","src":"2951:36:120"},{"expression":{"arguments":[{"id":87776,"name":"storedActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87762,"src":"3006:12:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":87777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3020:5:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":87775,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6113,"src":"2997:8:120","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":87778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2997:29:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87779,"nodeType":"ExpressionStatement","src":"2997:29:120"},{"expression":{"arguments":[{"id":87781,"name":"storedCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87764,"src":"3045:17:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":87782,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87482,"src":"3064:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":87780,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6290,"src":"3036:8:120","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":87783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3036:40:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87784,"nodeType":"ExpressionStatement","src":"3036:40:120"}]},"functionSelector":"9693f128","implemented":true,"kind":"function","modifiers":[],"name":"testAddStrategy","nameLocation":"2662:15:120","parameters":{"id":87739,"nodeType":"ParameterList","parameters":[],"src":"2677:2:120"},"returnParameters":{"id":87740,"nodeType":"ParameterList","parameters":[],"src":"2687:0:120"},"scope":88066,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":87846,"nodeType":"FunctionDefinition","src":"3089:544:120","nodes":[],"body":{"id":87845,"nodeType":"Block","src":"3126:507:120","nodes":[],"statements":[{"assignments":[87790],"declarations":[{"constant":false,"id":87790,"mutability":"mutable","name":"threshold","nameLocation":"3144:9:120","nodeType":"VariableDeclaration","scope":87845,"src":"3136:17:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87789,"name":"uint256","nodeType":"ElementaryTypeName","src":"3136:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":87792,"initialValue":{"hexValue":"3530","id":87791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3156:2:120","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"3136:22:120"},{"expression":{"arguments":[{"id":87796,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87464,"src":"3178:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87793,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"3169:2:120","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":87795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3172:5:120","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"3169:8:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":87797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3169:21:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87798,"nodeType":"ExpressionStatement","src":"3169:21:120"},{"expression":{"arguments":[{"id":87802,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87476,"src":"3227:8:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":87803,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87790,"src":"3237:9:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":87804,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87482,"src":"3248:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87799,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"3200:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":87801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3215:11:120","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":70494,"src":"3200:26:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":87805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3200:60:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87806,"nodeType":"ExpressionStatement","src":"3200:60:120"},{"expression":{"arguments":[{"id":87810,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87464,"src":"3280:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87807,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"3271:2:120","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":87809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3274:5:120","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"3271:8:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":87811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3271:21:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87812,"nodeType":"ExpressionStatement","src":"3271:21:120"},{"expression":{"arguments":[{"id":87816,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87476,"src":"3332:8:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87813,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"3302:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":87815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3317:14:120","memberName":"removeStrategy","nodeType":"MemberAccess","referencedDeclaration":70527,"src":"3302:29:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":87817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3302:39:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87818,"nodeType":"ExpressionStatement","src":"3302:39:120"},{"assignments":[87820,87822,87824],"declarations":[{"constant":false,"id":87820,"mutability":"mutable","name":"storedThreshold","nameLocation":"3361:15:120","nodeType":"VariableDeclaration","scope":87845,"src":"3353:23:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87819,"name":"uint256","nodeType":"ElementaryTypeName","src":"3353:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":87822,"mutability":"mutable","name":"storedActive","nameLocation":"3383:12:120","nodeType":"VariableDeclaration","scope":87845,"src":"3378:17:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":87821,"name":"bool","nodeType":"ElementaryTypeName","src":"3378:4:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":87824,"mutability":"mutable","name":"storedCouncilSafe","nameLocation":"3405:17:120","nodeType":"VariableDeclaration","scope":87845,"src":"3397:25:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":87823,"name":"address","nodeType":"ElementaryTypeName","src":"3397:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":87829,"initialValue":{"arguments":[{"id":87827,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87476,"src":"3452:8:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87825,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"3426:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":87826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3441:10:120","memberName":"strategies","nodeType":"MemberAccess","referencedDeclaration":70197,"src":"3426:25:120","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$_t_bool_$_t_address_$","typeString":"function (address) view external returns (uint256,bool,address)"}},"id":87828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3426:35:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$_t_address_$","typeString":"tuple(uint256,bool,address)"}},"nodeType":"VariableDeclarationStatement","src":"3352:109:120"},{"expression":{"arguments":[{"id":87831,"name":"storedThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87820,"src":"3480:15:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":87832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3497:1:120","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":87830,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"3471:8:120","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":87833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3471:28:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87834,"nodeType":"ExpressionStatement","src":"3471:28:120"},{"expression":{"arguments":[{"id":87836,"name":"storedActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87822,"src":"3518:12:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":87837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3532:5:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":87835,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6113,"src":"3509:8:120","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":87838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3509:29:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87839,"nodeType":"ExpressionStatement","src":"3509:29:120"},{"expression":{"arguments":[{"id":87841,"name":"storedCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87824,"src":"3557:17:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":87842,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87482,"src":"3576:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":87840,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6290,"src":"3548:8:120","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":87843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3548:40:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87844,"nodeType":"ExpressionStatement","src":"3548:40:120"}]},"functionSelector":"0778c72c","implemented":true,"kind":"function","modifiers":[],"name":"testRemoveStrategy","nameLocation":"3098:18:120","parameters":{"id":87787,"nodeType":"ParameterList","parameters":[],"src":"3116:2:120"},"returnParameters":{"id":87788,"nodeType":"ParameterList","parameters":[],"src":"3126:0:120"},"scope":88066,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":87911,"nodeType":"FunctionDefinition","src":"3639:580:120","nodes":[],"body":{"id":87910,"nodeType":"Block","src":"3689:530:120","nodes":[],"statements":[{"assignments":[87850],"declarations":[{"constant":false,"id":87850,"mutability":"mutable","name":"threshold","nameLocation":"3707:9:120","nodeType":"VariableDeclaration","scope":87910,"src":"3699:17:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87849,"name":"uint256","nodeType":"ElementaryTypeName","src":"3699:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":87852,"initialValue":{"hexValue":"3530","id":87851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3719:2:120","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"3699:22:120"},{"assignments":[87854],"declarations":[{"constant":false,"id":87854,"mutability":"mutable","name":"newThreshold","nameLocation":"3739:12:120","nodeType":"VariableDeclaration","scope":87910,"src":"3731:20:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87853,"name":"uint256","nodeType":"ElementaryTypeName","src":"3731:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":87856,"initialValue":{"hexValue":"3735","id":87855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3754:2:120","typeDescriptions":{"typeIdentifier":"t_rational_75_by_1","typeString":"int_const 75"},"value":"75"},"nodeType":"VariableDeclarationStatement","src":"3731:25:120"},{"expression":{"arguments":[{"id":87860,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87464,"src":"3776:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87857,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"3767:2:120","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":87859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3770:5:120","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"3767:8:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":87861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3767:21:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87862,"nodeType":"ExpressionStatement","src":"3767:21:120"},{"expression":{"arguments":[{"id":87866,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87476,"src":"3825:8:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":87867,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87850,"src":"3835:9:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":87868,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87482,"src":"3846:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87863,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"3798:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":87865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3813:11:120","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":70494,"src":"3798:26:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":87869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3798:60:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87870,"nodeType":"ExpressionStatement","src":"3798:60:120"},{"expression":{"arguments":[{"id":87874,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87464,"src":"3878:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87871,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"3869:2:120","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":87873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3872:5:120","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"3869:8:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":87875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3869:21:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87876,"nodeType":"ExpressionStatement","src":"3869:21:120"},{"expression":{"arguments":[{"id":87880,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87476,"src":"3931:8:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":87881,"name":"newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87854,"src":"3941:12:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":87877,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"3900:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":87879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3915:15:120","memberName":"modifyThreshold","nodeType":"MemberAccess","referencedDeclaration":70580,"src":"3900:30:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":87882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3900:54:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87883,"nodeType":"ExpressionStatement","src":"3900:54:120"},{"assignments":[87885,87887,87889],"declarations":[{"constant":false,"id":87885,"mutability":"mutable","name":"storedThreshold","nameLocation":"3974:15:120","nodeType":"VariableDeclaration","scope":87910,"src":"3966:23:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87884,"name":"uint256","nodeType":"ElementaryTypeName","src":"3966:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":87887,"mutability":"mutable","name":"storedActive","nameLocation":"3996:12:120","nodeType":"VariableDeclaration","scope":87910,"src":"3991:17:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":87886,"name":"bool","nodeType":"ElementaryTypeName","src":"3991:4:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":87889,"mutability":"mutable","name":"storedCouncilSafe","nameLocation":"4018:17:120","nodeType":"VariableDeclaration","scope":87910,"src":"4010:25:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":87888,"name":"address","nodeType":"ElementaryTypeName","src":"4010:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":87894,"initialValue":{"arguments":[{"id":87892,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87476,"src":"4065:8:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87890,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"4039:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":87891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4054:10:120","memberName":"strategies","nodeType":"MemberAccess","referencedDeclaration":70197,"src":"4039:25:120","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$_t_bool_$_t_address_$","typeString":"function (address) view external returns (uint256,bool,address)"}},"id":87893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4039:35:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$_t_address_$","typeString":"tuple(uint256,bool,address)"}},"nodeType":"VariableDeclarationStatement","src":"3965:109:120"},{"expression":{"arguments":[{"id":87896,"name":"storedThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87885,"src":"4093:15:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":87897,"name":"newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87854,"src":"4110:12:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":87895,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"4084:8:120","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":87898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4084:39:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87899,"nodeType":"ExpressionStatement","src":"4084:39:120"},{"expression":{"arguments":[{"id":87901,"name":"storedActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87887,"src":"4142:12:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":87902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4156:5:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":87900,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6113,"src":"4133:8:120","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":87903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4133:29:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87904,"nodeType":"ExpressionStatement","src":"4133:29:120"},{"expression":{"arguments":[{"id":87906,"name":"storedCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87889,"src":"4181:17:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":87907,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87482,"src":"4200:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":87905,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6290,"src":"4172:8:120","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":87908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4172:40:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87909,"nodeType":"ExpressionStatement","src":"4172:40:120"}]},"functionSelector":"e68393b4","implemented":true,"kind":"function","modifiers":[],"name":"testModifyThresholdByAuthorized","nameLocation":"3648:31:120","parameters":{"id":87847,"nodeType":"ParameterList","parameters":[],"src":"3679:2:120"},"returnParameters":{"id":87848,"nodeType":"ParameterList","parameters":[],"src":"3689:0:120"},"scope":88066,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":87976,"nodeType":"FunctionDefinition","src":"4225:581:120","nodes":[],"body":{"id":87975,"nodeType":"Block","src":"4276:530:120","nodes":[],"statements":[{"assignments":[87915],"declarations":[{"constant":false,"id":87915,"mutability":"mutable","name":"threshold","nameLocation":"4294:9:120","nodeType":"VariableDeclaration","scope":87975,"src":"4286:17:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87914,"name":"uint256","nodeType":"ElementaryTypeName","src":"4286:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":87917,"initialValue":{"hexValue":"3530","id":87916,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4306:2:120","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"4286:22:120"},{"assignments":[87919],"declarations":[{"constant":false,"id":87919,"mutability":"mutable","name":"newThreshold","nameLocation":"4326:12:120","nodeType":"VariableDeclaration","scope":87975,"src":"4318:20:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87918,"name":"uint256","nodeType":"ElementaryTypeName","src":"4318:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":87921,"initialValue":{"hexValue":"3735","id":87920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4341:2:120","typeDescriptions":{"typeIdentifier":"t_rational_75_by_1","typeString":"int_const 75"},"value":"75"},"nodeType":"VariableDeclarationStatement","src":"4318:25:120"},{"expression":{"arguments":[{"id":87925,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87464,"src":"4363:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87922,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"4354:2:120","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":87924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4357:5:120","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"4354:8:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":87926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4354:21:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87927,"nodeType":"ExpressionStatement","src":"4354:21:120"},{"expression":{"arguments":[{"id":87931,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87476,"src":"4412:8:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":87932,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87915,"src":"4422:9:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":87933,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87482,"src":"4433:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87928,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"4385:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":87930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4400:11:120","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":70494,"src":"4385:26:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":87934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4385:60:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87935,"nodeType":"ExpressionStatement","src":"4385:60:120"},{"expression":{"arguments":[{"id":87939,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87482,"src":"4465:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87936,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"4456:2:120","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":87938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4459:5:120","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"4456:8:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":87940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4456:21:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87941,"nodeType":"ExpressionStatement","src":"4456:21:120"},{"expression":{"arguments":[{"id":87945,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87476,"src":"4518:8:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":87946,"name":"newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87919,"src":"4528:12:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":87942,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"4487:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":87944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4502:15:120","memberName":"modifyThreshold","nodeType":"MemberAccess","referencedDeclaration":70580,"src":"4487:30:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":87947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4487:54:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87948,"nodeType":"ExpressionStatement","src":"4487:54:120"},{"assignments":[87950,87952,87954],"declarations":[{"constant":false,"id":87950,"mutability":"mutable","name":"storedThreshold","nameLocation":"4561:15:120","nodeType":"VariableDeclaration","scope":87975,"src":"4553:23:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87949,"name":"uint256","nodeType":"ElementaryTypeName","src":"4553:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":87952,"mutability":"mutable","name":"storedActive","nameLocation":"4583:12:120","nodeType":"VariableDeclaration","scope":87975,"src":"4578:17:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":87951,"name":"bool","nodeType":"ElementaryTypeName","src":"4578:4:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":87954,"mutability":"mutable","name":"storedCouncilSafe","nameLocation":"4605:17:120","nodeType":"VariableDeclaration","scope":87975,"src":"4597:25:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":87953,"name":"address","nodeType":"ElementaryTypeName","src":"4597:7:120","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":87959,"initialValue":{"arguments":[{"id":87957,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87476,"src":"4652:8:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87955,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"4626:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":87956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4641:10:120","memberName":"strategies","nodeType":"MemberAccess","referencedDeclaration":70197,"src":"4626:25:120","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$_t_bool_$_t_address_$","typeString":"function (address) view external returns (uint256,bool,address)"}},"id":87958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4626:35:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$_t_address_$","typeString":"tuple(uint256,bool,address)"}},"nodeType":"VariableDeclarationStatement","src":"4552:109:120"},{"expression":{"arguments":[{"id":87961,"name":"storedThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87950,"src":"4680:15:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":87962,"name":"newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87919,"src":"4697:12:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":87960,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"4671:8:120","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":87963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4671:39:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87964,"nodeType":"ExpressionStatement","src":"4671:39:120"},{"expression":{"arguments":[{"id":87966,"name":"storedActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87952,"src":"4729:12:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":87967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4743:5:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":87965,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6113,"src":"4720:8:120","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":87968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4720:29:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87969,"nodeType":"ExpressionStatement","src":"4720:29:120"},{"expression":{"arguments":[{"id":87971,"name":"storedCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87954,"src":"4768:17:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":87972,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87482,"src":"4787:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":87970,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6290,"src":"4759:8:120","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":87973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4759:40:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87974,"nodeType":"ExpressionStatement","src":"4759:40:120"}]},"functionSelector":"3668aa29","implemented":true,"kind":"function","modifiers":[],"name":"testModifyThresholdByCouncilSafe","nameLocation":"4234:32:120","parameters":{"id":87912,"nodeType":"ParameterList","parameters":[],"src":"4266:2:120"},"returnParameters":{"id":87913,"nodeType":"ParameterList","parameters":[],"src":"4276:0:120"},"scope":88066,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":88065,"nodeType":"FunctionDefinition","src":"4812:679:120","nodes":[],"body":{"id":88064,"nodeType":"Block","src":"4851:640:120","nodes":[],"statements":[{"assignments":[87980],"declarations":[{"constant":false,"id":87980,"mutability":"mutable","name":"threshold","nameLocation":"4869:9:120","nodeType":"VariableDeclaration","scope":88064,"src":"4861:17:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87979,"name":"uint256","nodeType":"ElementaryTypeName","src":"4861:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":87982,"initialValue":{"hexValue":"3530","id":87981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4881:2:120","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"4861:22:120"},{"expression":{"arguments":[{"id":87986,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87464,"src":"4903:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87983,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"4894:2:120","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":87985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4897:5:120","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"4894:8:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":87987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4894:21:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87988,"nodeType":"ExpressionStatement","src":"4894:21:120"},{"expression":{"arguments":[{"id":87992,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87476,"src":"4952:8:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":87993,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87980,"src":"4962:9:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":87994,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87482,"src":"4973:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87989,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"4925:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":87991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4940:11:120","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":70494,"src":"4925:26:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":87995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4925:60:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87996,"nodeType":"ExpressionStatement","src":"4925:60:120"},{"expression":{"arguments":[{"id":88000,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87482,"src":"5009:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":87997,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"4995:2:120","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":87999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4998:10:120","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":21227,"src":"4995:13:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":88001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4995:26:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":88002,"nodeType":"ExpressionStatement","src":"4995:26:120"},{"expression":{"arguments":[{"id":88006,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87476,"src":"5063:8:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":88003,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"5031:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":88005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5046:16:120","memberName":"activateStrategy","nodeType":"MemberAccess","referencedDeclaration":70552,"src":"5031:31:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":88007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5031:41:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":88008,"nodeType":"ExpressionStatement","src":"5031:41:120"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":88009,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"5082:2:120","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":88011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5085:9:120","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":21239,"src":"5082:12:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":88012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5082:14:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":88013,"nodeType":"ExpressionStatement","src":"5082:14:120"},{"expression":{"arguments":[{"id":88017,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87464,"src":"5116:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":88014,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"5107:2:120","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":88016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5110:5:120","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"5107:8:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":88018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5107:21:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":88019,"nodeType":"ExpressionStatement","src":"5107:21:120"},{"expression":{"arguments":[{"id":88023,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87470,"src":"5166:4:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":88024,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87491,"src":"5172:12:120","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70083_storage","typeString":"struct PassportData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PassportData_$70083_storage","typeString":"struct PassportData storage ref"}],"expression":{"id":88020,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"5138:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":88022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5153:12:120","memberName":"addUserScore","nodeType":"MemberAccess","referencedDeclaration":70385,"src":"5138:27:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_PassportData_$70083_memory_ptr_$returns$__$","typeString":"function (address,struct PassportData memory) external"}},"id":88025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5138:47:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":88026,"nodeType":"ExpressionStatement","src":"5138:47:120"},{"assignments":[88028],"declarations":[{"constant":false,"id":88028,"mutability":"mutable","name":"canExecute","nameLocation":"5201:10:120","nodeType":"VariableDeclaration","scope":88064,"src":"5196:15:120","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":88027,"name":"bool","nodeType":"ElementaryTypeName","src":"5196:4:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":88034,"initialValue":{"arguments":[{"id":88031,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87470,"src":"5246:4:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":88032,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87476,"src":"5252:8:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":88029,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"5214:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":88030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5229:16:120","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":70619,"src":"5214:31:120","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":88033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5214:47:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"5196:65:120"},{"expression":{"arguments":[{"id":88036,"name":"canExecute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88028,"src":"5282:10:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":88035,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[6056,6071],"referencedDeclaration":6056,"src":"5271:10:120","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":88037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5271:22:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":88038,"nodeType":"ExpressionStatement","src":"5271:22:120"},{"expression":{"arguments":[{"id":88042,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87464,"src":"5313:11:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":88039,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"5304:2:120","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":88041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5307:5:120","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"5304:8:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":88043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5304:21:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":88044,"nodeType":"ExpressionStatement","src":"5304:21:120"},{"expression":{"arguments":[{"id":88048,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87476,"src":"5366:8:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"313530","id":88049,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5376:3:120","typeDescriptions":{"typeIdentifier":"t_rational_150_by_1","typeString":"int_const 150"},"value":"150"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_150_by_1","typeString":"int_const 150"}],"expression":{"id":88045,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"5335:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":88047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5350:15:120","memberName":"modifyThreshold","nodeType":"MemberAccess","referencedDeclaration":70580,"src":"5335:30:120","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":88050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5335:45:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":88051,"nodeType":"ExpressionStatement","src":"5335:45:120"},{"expression":{"id":88058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":88052,"name":"canExecute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88028,"src":"5391:10:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":88055,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87470,"src":"5436:4:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":88056,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87476,"src":"5442:8:120","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":88053,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87458,"src":"5404:14:120","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70661","typeString":"contract PassportScorer"}},"id":88054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5419:16:120","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":70619,"src":"5404:31:120","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":88057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5404:47:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5391:60:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":88059,"nodeType":"ExpressionStatement","src":"5391:60:120"},{"expression":{"arguments":[{"id":88061,"name":"canExecute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88028,"src":"5473:10:120","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":88060,"name":"assertFalse","nodeType":"Identifier","overloadedDeclarations":[6083,6098],"referencedDeclaration":6083,"src":"5461:11:120","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":88062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5461:23:120","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":88063,"nodeType":"ExpressionStatement","src":"5461:23:120"}]},"functionSelector":"8caa5c44","implemented":true,"kind":"function","modifiers":[],"name":"testCanExecuteAction","nameLocation":"4821:20:120","parameters":{"id":87977,"nodeType":"ParameterList","parameters":[],"src":"4841:2:120"},"returnParameters":{"id":87978,"nodeType":"ParameterList","parameters":[],"src":"4851:0:120"},"scope":88066,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":87454,"name":"Test","nameLocations":["323:4:120"],"nodeType":"IdentifierPath","referencedDeclaration":17796,"src":"323:4:120"},"id":87455,"nodeType":"InheritanceSpecifier","src":"323:4:120"}],"canonicalName":"PassportScorerTest","contractDependencies":[55021,70661],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[88066,17796,17744,12424,12099,11306,9246,8464,5834,5831],"name":"PassportScorerTest","nameLocation":"301:18:120","scope":88067,"usedErrors":[]}],"license":"AGPL-3.0-or-later"},"id":120} \ No newline at end of file +{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"listManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"passportData","inputs":[],"outputs":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"passportScorer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract PassportScorer"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategy","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testAddStrategy","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testAddUserScore","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCanExecuteAction","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testChangeListManager","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testModifyThresholdByAuthorized","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testModifyThresholdByCouncilSafe","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testOnlyAuthorizedCanAddUserScore","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testOnlyAuthorizedCanRemoveUser","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testOnlyOwnerCanChangeListManager","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRemoveStrategy","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRemoveUser","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unauthorizedUser","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"user","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x6080604052600c805460ff199081166001908117909255601e805490911682179055601f80546001600160a01b0319908116909217905560208054821660021790556021805482166003179055602280548216600417905560238054909116600517905534801561006f57600080fd5b5061463d8061007f6000396000f3fe60806040523480156200001157600080fd5b50600436106200018a5760003560e01c8063073a2d8c146200018f5780630778c72c14620001b85780630a9254e414620001c45780630c2759da14620001ce5780631ed7831c14620001d857806324e40b9714620001f15780632582115314620001fb5780632ade388014620002055780633668aa29146200021e5780633e5e3c2314620002285780633ea7771b14620002325780633f7286f414620002555780634905e831146200025f5780634f8632ba146200027857806366d9a9a0146200028c5780636c53db9a14620002a557806382fad47814620002b957806385226c8114620002c35780638caa5c4414620002dc5780638df8b2fe14620002e6578063916a17c614620002fa5780639693f1281462000304578063a8c62e76146200030e578063b5508aa91462000322578063ba414fa6146200032c578063d4dadecb1462000347578063e20c9f711462000351578063e68393b4146200035b578063ebe69a5f1462000365578063fa7626d4146200036f575b600080fd5b6024546025546200019e919082565b604080519283526020830191909152015b60405180910390f35b620001c26200037d565b005b620001c262000615565b620001c26200071d565b620001e2620008ae565b604051620001af9190620023ed565b620001c262000912565b620001c262000a86565b6200020f62000bd7565b604051620001af919062002484565b620001c262000d25565b620001e262000fb9565b60235462000246906001600160a01b031681565b604051620001af91906200254a565b620001e26200101b565b601e54620002469061010090046001600160a01b031681565b60205462000246906001600160a01b031681565b620002966200107d565b604051620001af91906200255e565b60225462000246906001600160a01b031681565b620001c262001167565b620002cd62001285565b604051620001af919062002615565b620001c26200135f565b601f5462000246906001600160a01b031681565b6200029662001890565b620001c26200197a565b60215462000246906001600160a01b031681565b620002cd62001b02565b6200033662001bdc565b6040519015158152602001620001af565b620001c262001c91565b620001e262001efe565b620001c262001f60565b620001c26200208f565b601e54620003369060ff1681565b601f5460405163ca669fa760e01b8152603291600080516020620045c88339815191529163ca669fa791620003c1916001600160a01b03909116906004016200254a565b600060405180830381600087803b158015620003dc57600080fd5b505af1158015620003f1573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd19450620004389392831692879216906004016200267b565b600060405180830381600087803b1580156200045357600080fd5b505af115801562000468573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa79250620004ab916001600160a01b0316906004016200254a565b600060405180830381600087803b158015620004c657600080fd5b505af1158015620004db573d6000803e3d6000fd5b5050601e546021546040516302ea311d60e31b81526101009092046001600160a01b03908116945063175188e893506200051b929116906004016200254a565b600060405180830381600087803b1580156200053657600080fd5b505af11580156200054b573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b815260009450849350839261010090046001600160a01b03908116926339ebf823926200059292909116906004016200254a565b606060405180830381865afa158015620005b0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005d69190620026cc565b925092509250620005e98360006200225f565b620005f6826000620022cb565b6022546200060f9082906001600160a01b031662002308565b50505050565b60006040516200062590620023d1565b604051809103906000f08015801562000642573d6000803e3d6000fd5b50601f5460405163189acdbd60e31b916200066c916001600160a01b03909116906024016200254a565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051620006ab90620023df565b620006b89291906200270d565b604051809103906000f080158015620006d5573d6000803e3d6000fd5b50601e80546001600160a01b0390921661010002610100600160a81b031990921691909117905550604080518082019091526064808252426020909201829052602455602555565b601f5460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa7916200075c916001600160a01b0316906004016200254a565b600060405180830381600087803b1580156200077757600080fd5b505af11580156200078c573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526101009092046001600160a01b039081169450637814d5689350620007cf929116906024906004016200273b565b600060405180830381600087803b158015620007ea57600080fd5b505af1158015620007ff573d6000803e3d6000fd5b5050601e5460205460405163b34e0c4760e01b8152600094506001600160a01b036101009093048316935063b34e0c4792620008409216906004016200254a565b6040805180830381865afa1580156200085d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200088391906200275f565b805160245491925062000896916200225f565b620008ab81602001516024600101546200225f565b50565b606060168054806020026020016040519081016040528092919081815260200182805480156200090857602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620008e9575b5050505050905090565b601f5460405163ca669fa760e01b8152600691600080516020620045c88339815191529163ca669fa79162000956916001600160a01b03909116906004016200254a565b600060405180830381600087803b1580156200097157600080fd5b505af115801562000986573d6000803e3d6000fd5b505060405163f28dceb360e01b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152600080516020620045c8833981519152925063f28dceb39150606401600060405180830381600087803b15801562000a0057600080fd5b505af115801562000a15573d6000803e3d6000fd5b5050601e546040516303d4768360e41b81526101009091046001600160a01b03169250633d476830915062000a4f9084906004016200254a565b600060405180830381600087803b15801562000a6a57600080fd5b505af115801562000a7f573d6000803e3d6000fd5b5050505050565b60235460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa79162000ac5916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562000ae057600080fd5b505af115801562000af5573d6000803e3d6000fd5b5050604051630618f58760e51b8152600080516020620045c8833981519152925063c31eb0e0915062000b3490637d7b71b560e01b90600401620027bd565b600060405180830381600087803b15801562000b4f57600080fd5b505af115801562000b64573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526101009092046001600160a01b039081169450637814d568935062000ba7929116906024906004016200273b565b600060405180830381600087803b15801562000bc257600080fd5b505af11580156200060f573d6000803e3d6000fd5b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562000d0457838290600052602060002001805462000c7090620027d2565b80601f016020809104026020016040519081016040528092919081815260200182805462000c9e90620027d2565b801562000cef5780601f1062000cc35761010080835404028352916020019162000cef565b820191906000526020600020905b81548152906001019060200180831162000cd157829003601f168201915b50505050508152602001906001019062000c4e565b50505050815250508152602001906001019062000bfb565b50505050905090565b601f5460405163ca669fa760e01b8152603291604b91600080516020620045c88339815191529163ca669fa79162000d6a916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562000d8557600080fd5b505af115801562000d9a573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd1945062000de19392831692889216906004016200267b565b600060405180830381600087803b15801562000dfc57600080fd5b505af115801562000e11573d6000803e3d6000fd5b505060225460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa7925062000e54916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562000e6f57600080fd5b505af115801562000e84573d6000803e3d6000fd5b5050601e5460215460405163642ce76b60e01b81526101009092046001600160a01b03908116945063642ce76b935062000ec69291169085906004016200280e565b600060405180830381600087803b15801562000ee157600080fd5b505af115801562000ef6573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b815260009450849350839261010090046001600160a01b03908116926339ebf8239262000f3d92909116906004016200254a565b606060405180830381865afa15801562000f5b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f819190620026cc565b92509250925062000f9383856200225f565b62000fa0826000620022cb565b60225462000a7f9082906001600160a01b031662002308565b6060601880548060200260200160405190810160405280929190818152602001828054801562000908576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311620008e9575050505050905090565b6060601780548060200260200160405190810160405280929190818152602001828054801562000908576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311620008e9575050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200114e57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116200110f5790505b50505050508152505081526020019060010190620010a1565b60235460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa791620011a6916001600160a01b0316906004016200254a565b600060405180830381600087803b158015620011c157600080fd5b505af1158015620011d6573d6000803e3d6000fd5b5050604051630618f58760e51b8152600080516020620045c8833981519152925063c31eb0e091506200121590637d7b71b560e01b90600401620027bd565b600060405180830381600087803b1580156200123057600080fd5b505af115801562001245573d6000803e3d6000fd5b5050601e5460205460405163130aea3160e31b81526101009092046001600160a01b0390811694506398575188935062000ba7929116906004016200254a565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c578382906000526020600020018054620012cb90620027d2565b80601f0160208091040260200160405190810160405280929190818152602001828054620012f990620027d2565b80156200134a5780601f106200131e576101008083540402835291602001916200134a565b820191906000526020600020905b8154815290600101906020018083116200132c57829003601f168201915b505050505081526020019060010190620012a9565b601f5460405163ca669fa760e01b8152603291600080516020620045c88339815191529163ca669fa791620013a3916001600160a01b03909116906004016200254a565b600060405180830381600087803b158015620013be57600080fd5b505af1158015620013d3573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd194506200141a9392831692879216906004016200267b565b600060405180830381600087803b1580156200143557600080fd5b505af11580156200144a573d6000803e3d6000fd5b50506022546040516303223eab60e11b8152600080516020620045c883398151915293506306447d5692506200148d916001600160a01b0316906004016200254a565b600060405180830381600087803b158015620014a857600080fd5b505af1158015620014bd573d6000803e3d6000fd5b5050601e546021546040516306c0752d60e51b81526101009092046001600160a01b03908116945063d80ea5a09350620014fd929116906004016200254a565b600060405180830381600087803b1580156200151857600080fd5b505af11580156200152d573d6000803e3d6000fd5b50505050600080516020620045e883398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200157f57600080fd5b505af115801562001594573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa79250620015d7916001600160a01b0316906004016200254a565b600060405180830381600087803b158015620015f257600080fd5b505af115801562001607573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526101009092046001600160a01b039081169450637814d56893506200164a929116906024906004016200273b565b600060405180830381600087803b1580156200166557600080fd5b505af11580156200167a573d6000803e3d6000fd5b5050601e546020546021546040516302154c3d60e51b8152600095506001600160a01b03610100909404841694506342a987a093620016c193811692169060040162002827565b602060405180830381865afa158015620016df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001705919062002841565b905062001712816200233e565b601f5460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa79162001751916001600160a01b0316906004016200254a565b600060405180830381600087803b1580156200176c57600080fd5b505af115801562001781573d6000803e3d6000fd5b5050601e5460215460405163642ce76b60e01b81526101009092046001600160a01b03908116945063642ce76b9350620017c4929116906096906004016200280e565b600060405180830381600087803b158015620017df57600080fd5b505af1158015620017f4573d6000803e3d6000fd5b5050601e546020546021546040516302154c3d60e51b81526101009093046001600160a01b0390811695506342a987a094506200183b939281169291169060040162002827565b602060405180830381865afa15801562001859573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200187f919062002841565b90506200188c816200239c565b5050565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200196157602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620019225790505b50505050508152505081526020019060010190620018b4565b601f5460405163ca669fa760e01b8152603291600080516020620045c88339815191529163ca669fa791620019be916001600160a01b03909116906004016200254a565b600060405180830381600087803b158015620019d957600080fd5b505af1158015620019ee573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd1945062001a359392831692879216906004016200267b565b600060405180830381600087803b15801562001a5057600080fd5b505af115801562001a65573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b815260009450849350839261010090046001600160a01b03908116926339ebf8239262001aac92909116906004016200254a565b606060405180830381865afa15801562001aca573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001af09190620026cc565b925092509250620005e983856200225f565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c57838290600052602060002001805462001b4890620027d2565b80601f016020809104026020016040519081016040528092919081815260200182805462001b7690620027d2565b801562001bc75780601f1062001b9b5761010080835404028352916020019162001bc7565b820191906000526020600020905b81548152906001019060200180831162001ba957829003601f168201915b50505050508152602001906001019062001b26565b60085460009060ff161562001bf5575060085460ff1690565b604051630667f9d760e41b8152600090600080516020620045c88339815191529063667f9d709062001c4690600080516020620045e8833981519152906519985a5b195960d21b906004016200280e565b602060405180830381865afa15801562001c64573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001c8a919062002866565b1415905090565b601f5460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa79162001cd0916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562001ceb57600080fd5b505af115801562001d00573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526101009092046001600160a01b039081169450637814d568935062001d43929116906024906004016200273b565b600060405180830381600087803b15801562001d5e57600080fd5b505af115801562001d73573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa7925062001db6916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562001dd157600080fd5b505af115801562001de6573d6000803e3d6000fd5b5050601e5460205460405163130aea3160e31b81526101009092046001600160a01b0390811694506398575188935062001e26929116906004016200254a565b600060405180830381600087803b15801562001e4157600080fd5b505af115801562001e56573d6000803e3d6000fd5b5050601e5460205460405163b34e0c4760e01b8152600094506001600160a01b036101009093048316935063b34e0c479262001e979216906004016200254a565b6040805180830381865afa15801562001eb4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001eda91906200275f565b905062001eed816000015160006200225f565b620008ab816020015160006200225f565b6060601580548060200260200160405190810160405280929190818152602001828054801562000908576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311620008e9575050505050905090565b601f5460405163ca669fa760e01b8152603291604b91600080516020620045c88339815191529163ca669fa79162001fa5916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562001fc057600080fd5b505af115801562001fd5573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd194506200201c9392831692889216906004016200267b565b600060405180830381600087803b1580156200203757600080fd5b505af11580156200204c573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa7925062000e54916001600160a01b0316906004016200254a565b601e5460408051638da5cb5b60e01b81529051600692600080516020620045c88339815191529263ca669fa7926101009092046001600160a01b031691638da5cb5b916004808201926020929091908290030181865afa158015620020f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200211e919062002880565b6040518263ffffffff1660e01b81526004016200213c91906200254a565b600060405180830381600087803b1580156200215757600080fd5b505af11580156200216c573d6000803e3d6000fd5b5050601e546040516303d4768360e41b81526101009091046001600160a01b03169250633d4768309150620021a69084906004016200254a565b600060405180830381600087803b158015620021c157600080fd5b505af1158015620021d6573d6000803e3d6000fd5b50505050620008ab601e60019054906101000a90046001600160a01b03166001600160a01b0316638df8b2fe6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002232573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002258919062002880565b8262002308565b60405163260a5b1560e21b81526004810183905260248101829052600080516020620045c8833981519152906398296c54906044015b60006040518083038186803b158015620022ae57600080fd5b505afa158015620022c3573d6000803e3d6000fd5b505050505050565b60405163f7fe347760e01b815282151560048201528115156024820152600080516020620045c88339815191529063f7fe34779060440162002295565b6040516328a9b0fb60e11b8152600080516020620045c88339815191529063515361f69062002295908590859060040162002827565b604051630c9fd58160e01b81528115156004820152600080516020620045c883398151915290630c9fd581906024015b60006040518083038186803b1580156200238757600080fd5b505afa15801562000a7f573d6000803e3d6000fd5b60405163a598288560e01b81528115156004820152600080516020620045c88339815191529063a5982885906024016200236e565b61183d806200289f83390190565b6104ec80620040dc83390190565b6020808252825182820181905260009190848201906040850190845b81811015620024305783516001600160a01b03168352928401929184019160010162002409565b50909695505050505050565b6000815180845260005b81811015620024645760208185018101518683018201520162002446565b506000602082860101526020601f19601f83011685010191505092915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b858110156200253a57603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156200252357605f19898503018352620025108486516200243c565b948e01949350918d0191600101620024f1565b505050978a019794505091880191600101620024ab565b50919a9950505050505050505050565b6001600160a01b0391909116815260200190565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156200260657898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015620025f05783516001600160e01b0319168252928b019260019290920191908b0190620025c4565b50978a0197955050509187019160010162002586565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200266e57603f198886030184526200265b8583516200243c565b945092850192908501906001016200263c565b5092979650505050505050565b6001600160a01b0393841681526020810192909252909116604082015260600190565b80518015158114620026af57600080fd5b919050565b80516001600160a01b0381168114620026af57600080fd5b600080600060608486031215620026e257600080fd5b83519250620026f4602085016200269e565b91506200270460408501620026b4565b90509250925092565b6001600160a01b038316815260406020820181905260009062002733908301846200243c565b949350505050565b6001600160a01b039290921682528054602083015260010154604082015260600190565b6000604082840312156200277257600080fd5b604080519081016001600160401b0381118282101715620027a357634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b6001600160e01b031991909116815260200190565b600181811c90821680620027e757607f821691505b6020821081036200280857634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0392831681529116602082015260400190565b6000602082840312156200285457600080fd5b6200285f826200269e565b9392505050565b6000602082840312156200287957600080fd5b5051919050565b6000602082840312156200289357600080fd5b6200285f82620026b456fe60a06040523060805234801561001457600080fd5b506080516117f161004c600039600081816105a9015281816105f201528181610765015281816107a5015261081d01526117f16000f3fe6080604052600436106100ef5760003560e01c80631413d4c0146100f4578063175188e8146101425780633659cfe61461016457806339ebf823146101845780633d476830146101da57806342a987a0146101fa5780634f1ef2861461022a57806352d1902d1461023d578063642ce76b14610260578063715018a6146102805780637814d568146102955780638da5cb5b146102b55780638df8b2fe146102e25780639857518814610302578063b34e0c4714610322578063c4d66de81461039f578063d80ea5a0146103bf578063f2fde38b146103df578063f8806a13146103ff578063fc2ebdd1146104a5575b600080fd5b34801561010057600080fd5b5061012861010f3660046113d9565b6066602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b34801561014e57600080fd5b5061016261015d3660046113d9565b6104c5565b005b34801561017057600080fd5b5061016261017f3660046113d9565b61059f565b34801561019057600080fd5b506101cb61019f3660046113d9565b6067602052600090815260409020805460019091015460ff81169061010090046001600160a01b031683565b604051610139939291906113f4565b3480156101e657600080fd5b506101626101f53660046113d9565b610670565b34801561020657600080fd5b5061021a610215366004611413565b6106d3565b6040519015158152602001610139565b61016261023836600461148c565b61075b565b34801561024957600080fd5b50610252610810565b604051908152602001610139565b34801561026c57600080fd5b5061016261027b366004611531565b6108be565b34801561028c57600080fd5b50610162610989565b3480156102a157600080fd5b506101626102b036600461155b565b61099d565b3480156102c157600080fd5b506102ca610a5a565b6040516001600160a01b039091168152602001610139565b3480156102ee57600080fd5b506065546102ca906001600160a01b031681565b34801561030e57600080fd5b5061016261031d3660046113d9565b610a69565b34801561032e57600080fd5b5061038461033d3660046113d9565b6040805180820190915260008082526020820152506001600160a01b0316600090815260666020908152604091829020825180840190935280548352600101549082015290565b60408051825181526020928301519281019290925201610139565b3480156103ab57600080fd5b506101626103ba3660046113d9565b610af2565b3480156103cb57600080fd5b506101626103da3660046113d9565b610c2e565b3480156103eb57600080fd5b506101626103fa3660046113d9565b610cce565b34801561040b57600080fd5b5061047861041a3660046113d9565b6040805160608082018352600080835260208084018290529284018190526001600160a01b0394851681526067835283902083519182018452805482526001015460ff81161515928201929092526101009091049092169082015290565b6040805182518152602080840151151590820152918101516001600160a01b031690820152606001610139565b3480156104b157600080fd5b506101626104c03660046115cd565b610d44565b806104ce610a5a565b6001600160a01b0316336001600160a01b031614806104f757506065546001600160a01b031633145b8061052357506001600160a01b0381811660009081526067602052604090206001015461010090041633145b156105825761053182610e96565b6001600160a01b03821660008181526067602052604080822060018101805460ff19169055829055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49190a25050565b60405163e3b6914b60e01b815260040160405180910390fd5b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105f05760405162461bcd60e51b81526004016105e790611609565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610622610ebd565b6001600160a01b0316146106485760405162461bcd60e51b81526004016105e790611643565b61065181610ed9565b6040805160008082526020820190925261066d91839190610ee1565b50565b61067861104c565b61068181610e96565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc8690600090a35050565b6001600160a01b03808316600090815260666020908152604080832081518083018352815481526001918201548185015286861685526067845282852083516060810185528154815292015460ff811615159483018590526101009004909516918101919091529192919061074d57600192505050610755565b519051101590505b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107a35760405162461bcd60e51b81526004016105e790611609565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107d5610ebd565b6001600160a01b0316146107fb5760405162461bcd60e51b81526004016105e790611643565b61080482610ed9565b61059b82826001610ee1565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108ab5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016105e7565b5060008051602061177583398151915290565b816108c7610a5a565b6001600160a01b0316336001600160a01b031614806108f057506065546001600160a01b031633145b8061091c57506001600160a01b0381811660009081526067602052604090206001015461010090041633145b156105825761092a83610e96565b6001600160a01b03831660008181526067602052604090819020849055517f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c09906109779085815260200190565b60405180910390a2505050565b505050565b61099161104c565b61099b60006110ab565b565b6109a5610a5a565b6001600160a01b0316336001600160a01b031614806109ce57506065546001600160a01b031633145b15610a41576109dc82610e96565b6001600160a01b03821660008181526066602090815260409182902084518082558583015160019092018290558351908152918201527f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d910160405180910390a25050565b604051637d7b71b560e01b815260040160405180910390fd5b6033546001600160a01b031690565b610a71610a5a565b6001600160a01b0316336001600160a01b03161480610a9a57506065546001600160a01b031633145b15610a4157610aa881610e96565b6001600160a01b038116600081815260666020526040808220828155600101829055517fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9190a250565b600054610100900460ff1615808015610b125750600054600160ff909116105b80610b335750610b21306110fd565b158015610b33575060005460ff166001145b610b965760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105e7565b6000805460ff191660011790558015610bb9576000805461ff0019166101001790555b610bc161110c565b610bca82610e96565b606580546001600160a01b0319166001600160a01b038416179055801561059b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6001600160a01b038082166000908152606760205260409020600101548291610100909104163303610cb557610c6382610e96565b6001600160a01b0382166000818152606760205260408082206001908101805460ff19169091179055517f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb9190a25050565b6040516397ffbac960e01b815260040160405180910390fd5b610cd661104c565b6001600160a01b038116610d3b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105e7565b61066d816110ab565b610d4c610a5a565b6001600160a01b0316336001600160a01b03161480610d7557506065546001600160a01b031633145b15610a4157610d8383610e96565b610d8c81610e96565b6001600160a01b038316600090815260676020526040902054151580610dd357506001600160a01b0383811660009081526067602052604090206001015461010090041615155b15610df15760405163c45546f760e01b815260040160405180910390fd5b60408051606081018252838152600060208083018281526001600160a01b0386811685870190815289821680865260679094528685209551865591516001909501805492516001600160a81b0319909316951515610100600160a81b03191695909517610100929091169190910217909255915190917f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb9161097791869186906113f4565b6001600160a01b03811661066d5760405163d92e233d60e01b815260040160405180910390fd5b600080516020611775833981519152546001600160a01b031690565b61066d61104c565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f14576109848361113b565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f6e575060408051601f3d908101601f19168201909252610f6b9181019061167d565b60015b610fd15760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016105e7565b60008051602061177583398151915281146110405760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016105e7565b506109848383836111d5565b33611055610a5a565b6001600160a01b03161461099b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e7565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03163b151590565b600054610100900460ff166111335760405162461bcd60e51b81526004016105e790611696565b61099b611200565b611144816110fd565b6111a65760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016105e7565b60008051602061177583398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6111de83611230565b6000825111806111eb5750805b15610984576111fa8383611270565b50505050565b600054610100900460ff166112275760405162461bcd60e51b81526004016105e790611696565b61099b336110ab565b6112398161113b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061129583836040518060600160405280602781526020016117956027913961129c565b9392505050565b6060600080856001600160a01b0316856040516112b99190611705565b600060405180830381855af49150503d80600081146112f4576040519150601f19603f3d011682016040523d82523d6000602084013e6112f9565b606091505b509150915061130a86838387611314565b9695505050505050565b6060831561138157825160000361137a5761132e856110fd565b61137a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105e7565b508161138b565b61138b8383611393565b949350505050565b8151156113a35781518083602001fd5b8060405162461bcd60e51b81526004016105e79190611721565b80356001600160a01b03811681146113d457600080fd5b919050565b6000602082840312156113eb57600080fd5b611295826113bd565b92835290151560208301526001600160a01b0316604082015260600190565b6000806040838503121561142657600080fd5b61142f836113bd565b915061143d602084016113bd565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561148457611484611446565b604052919050565b6000806040838503121561149f57600080fd5b6114a8836113bd565b91506020838101356001600160401b03808211156114c557600080fd5b818601915086601f8301126114d957600080fd5b8135818111156114eb576114eb611446565b6114fd601f8201601f1916850161145c565b9150808252878482850101111561151357600080fd5b80848401858401376000848284010152508093505050509250929050565b6000806040838503121561154457600080fd5b61154d836113bd565b946020939093013593505050565b600080828403606081121561156f57600080fd5b611578846113bd565b92506040601f198201121561158c57600080fd5b50604080519081016001600160401b03811182821017156115af576115af611446565b60409081526020858101358352940135938101939093525092909150565b6000806000606084860312156115e257600080fd5b6115eb846113bd565b925060208401359150611600604085016113bd565b90509250925092565b6020808252602c9082015260008051602061175583398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061175583398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60006020828403121561168f57600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b838110156116fc5781810151838201526020016116e4565b50506000910152565b600082516117178184602087016116e1565b9190910192915050565b60208152600082518060208401526117408160408501602087016116e1565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f2c11d0c5c79dbfba041c3a4f398ce24c7c44fede63e123d5395a77918e2d46f64736f6c6343000813003360806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212204fe6c3c3dccfaea0fd10fdd343631403db3c1555c6576ad816deaaa45c9f926764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12da264697066735822122023628af2cef75376981ada0d20774da9786cf1136c49bcff165ee4b98411a82d64736f6c63430008130033","sourceMap":"292:5201:136:-:0;;;3126:44:22;;;-1:-1:-1;;3126:44:22;;;3166:4;3126:44;;;;;;1016:26:32;;;;;;;;;;376:39:136;;;-1:-1:-1;;;;;;376:39:136;;;;;;;;421:32;;;;;451:1;421:32;;;459:36;;;;;493:1;459:36;;;501:39;;;;;538:1;501:39;;;546:44;;;;;;588:1;546:44;;;292:5201;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b50600436106200018a5760003560e01c8063073a2d8c146200018f5780630778c72c14620001b85780630a9254e414620001c45780630c2759da14620001ce5780631ed7831c14620001d857806324e40b9714620001f15780632582115314620001fb5780632ade388014620002055780633668aa29146200021e5780633e5e3c2314620002285780633ea7771b14620002325780633f7286f414620002555780634905e831146200025f5780634f8632ba146200027857806366d9a9a0146200028c5780636c53db9a14620002a557806382fad47814620002b957806385226c8114620002c35780638caa5c4414620002dc5780638df8b2fe14620002e6578063916a17c614620002fa5780639693f1281462000304578063a8c62e76146200030e578063b5508aa91462000322578063ba414fa6146200032c578063d4dadecb1462000347578063e20c9f711462000351578063e68393b4146200035b578063ebe69a5f1462000365578063fa7626d4146200036f575b600080fd5b6024546025546200019e919082565b604080519283526020830191909152015b60405180910390f35b620001c26200037d565b005b620001c262000615565b620001c26200071d565b620001e2620008ae565b604051620001af9190620023ed565b620001c262000912565b620001c262000a86565b6200020f62000bd7565b604051620001af919062002484565b620001c262000d25565b620001e262000fb9565b60235462000246906001600160a01b031681565b604051620001af91906200254a565b620001e26200101b565b601e54620002469061010090046001600160a01b031681565b60205462000246906001600160a01b031681565b620002966200107d565b604051620001af91906200255e565b60225462000246906001600160a01b031681565b620001c262001167565b620002cd62001285565b604051620001af919062002615565b620001c26200135f565b601f5462000246906001600160a01b031681565b6200029662001890565b620001c26200197a565b60215462000246906001600160a01b031681565b620002cd62001b02565b6200033662001bdc565b6040519015158152602001620001af565b620001c262001c91565b620001e262001efe565b620001c262001f60565b620001c26200208f565b601e54620003369060ff1681565b601f5460405163ca669fa760e01b8152603291600080516020620045c88339815191529163ca669fa791620003c1916001600160a01b03909116906004016200254a565b600060405180830381600087803b158015620003dc57600080fd5b505af1158015620003f1573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd19450620004389392831692879216906004016200267b565b600060405180830381600087803b1580156200045357600080fd5b505af115801562000468573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa79250620004ab916001600160a01b0316906004016200254a565b600060405180830381600087803b158015620004c657600080fd5b505af1158015620004db573d6000803e3d6000fd5b5050601e546021546040516302ea311d60e31b81526101009092046001600160a01b03908116945063175188e893506200051b929116906004016200254a565b600060405180830381600087803b1580156200053657600080fd5b505af11580156200054b573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b815260009450849350839261010090046001600160a01b03908116926339ebf823926200059292909116906004016200254a565b606060405180830381865afa158015620005b0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005d69190620026cc565b925092509250620005e98360006200225f565b620005f6826000620022cb565b6022546200060f9082906001600160a01b031662002308565b50505050565b60006040516200062590620023d1565b604051809103906000f08015801562000642573d6000803e3d6000fd5b50601f5460405163189acdbd60e31b916200066c916001600160a01b03909116906024016200254a565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051620006ab90620023df565b620006b89291906200270d565b604051809103906000f080158015620006d5573d6000803e3d6000fd5b50601e80546001600160a01b0390921661010002610100600160a81b031990921691909117905550604080518082019091526064808252426020909201829052602455602555565b601f5460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa7916200075c916001600160a01b0316906004016200254a565b600060405180830381600087803b1580156200077757600080fd5b505af11580156200078c573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526101009092046001600160a01b039081169450637814d5689350620007cf929116906024906004016200273b565b600060405180830381600087803b158015620007ea57600080fd5b505af1158015620007ff573d6000803e3d6000fd5b5050601e5460205460405163b34e0c4760e01b8152600094506001600160a01b036101009093048316935063b34e0c4792620008409216906004016200254a565b6040805180830381865afa1580156200085d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200088391906200275f565b805160245491925062000896916200225f565b620008ab81602001516024600101546200225f565b50565b606060168054806020026020016040519081016040528092919081815260200182805480156200090857602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620008e9575b5050505050905090565b601f5460405163ca669fa760e01b8152600691600080516020620045c88339815191529163ca669fa79162000956916001600160a01b03909116906004016200254a565b600060405180830381600087803b1580156200097157600080fd5b505af115801562000986573d6000803e3d6000fd5b505060405163f28dceb360e01b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152600080516020620045c8833981519152925063f28dceb39150606401600060405180830381600087803b15801562000a0057600080fd5b505af115801562000a15573d6000803e3d6000fd5b5050601e546040516303d4768360e41b81526101009091046001600160a01b03169250633d476830915062000a4f9084906004016200254a565b600060405180830381600087803b15801562000a6a57600080fd5b505af115801562000a7f573d6000803e3d6000fd5b5050505050565b60235460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa79162000ac5916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562000ae057600080fd5b505af115801562000af5573d6000803e3d6000fd5b5050604051630618f58760e51b8152600080516020620045c8833981519152925063c31eb0e0915062000b3490637d7b71b560e01b90600401620027bd565b600060405180830381600087803b15801562000b4f57600080fd5b505af115801562000b64573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526101009092046001600160a01b039081169450637814d568935062000ba7929116906024906004016200273b565b600060405180830381600087803b15801562000bc257600080fd5b505af11580156200060f573d6000803e3d6000fd5b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562000d0457838290600052602060002001805462000c7090620027d2565b80601f016020809104026020016040519081016040528092919081815260200182805462000c9e90620027d2565b801562000cef5780601f1062000cc35761010080835404028352916020019162000cef565b820191906000526020600020905b81548152906001019060200180831162000cd157829003601f168201915b50505050508152602001906001019062000c4e565b50505050815250508152602001906001019062000bfb565b50505050905090565b601f5460405163ca669fa760e01b8152603291604b91600080516020620045c88339815191529163ca669fa79162000d6a916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562000d8557600080fd5b505af115801562000d9a573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd1945062000de19392831692889216906004016200267b565b600060405180830381600087803b15801562000dfc57600080fd5b505af115801562000e11573d6000803e3d6000fd5b505060225460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa7925062000e54916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562000e6f57600080fd5b505af115801562000e84573d6000803e3d6000fd5b5050601e5460215460405163642ce76b60e01b81526101009092046001600160a01b03908116945063642ce76b935062000ec69291169085906004016200280e565b600060405180830381600087803b15801562000ee157600080fd5b505af115801562000ef6573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b815260009450849350839261010090046001600160a01b03908116926339ebf8239262000f3d92909116906004016200254a565b606060405180830381865afa15801562000f5b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f819190620026cc565b92509250925062000f9383856200225f565b62000fa0826000620022cb565b60225462000a7f9082906001600160a01b031662002308565b6060601880548060200260200160405190810160405280929190818152602001828054801562000908576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311620008e9575050505050905090565b6060601780548060200260200160405190810160405280929190818152602001828054801562000908576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311620008e9575050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200114e57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116200110f5790505b50505050508152505081526020019060010190620010a1565b60235460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa791620011a6916001600160a01b0316906004016200254a565b600060405180830381600087803b158015620011c157600080fd5b505af1158015620011d6573d6000803e3d6000fd5b5050604051630618f58760e51b8152600080516020620045c8833981519152925063c31eb0e091506200121590637d7b71b560e01b90600401620027bd565b600060405180830381600087803b1580156200123057600080fd5b505af115801562001245573d6000803e3d6000fd5b5050601e5460205460405163130aea3160e31b81526101009092046001600160a01b0390811694506398575188935062000ba7929116906004016200254a565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c578382906000526020600020018054620012cb90620027d2565b80601f0160208091040260200160405190810160405280929190818152602001828054620012f990620027d2565b80156200134a5780601f106200131e576101008083540402835291602001916200134a565b820191906000526020600020905b8154815290600101906020018083116200132c57829003601f168201915b505050505081526020019060010190620012a9565b601f5460405163ca669fa760e01b8152603291600080516020620045c88339815191529163ca669fa791620013a3916001600160a01b03909116906004016200254a565b600060405180830381600087803b158015620013be57600080fd5b505af1158015620013d3573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd194506200141a9392831692879216906004016200267b565b600060405180830381600087803b1580156200143557600080fd5b505af11580156200144a573d6000803e3d6000fd5b50506022546040516303223eab60e11b8152600080516020620045c883398151915293506306447d5692506200148d916001600160a01b0316906004016200254a565b600060405180830381600087803b158015620014a857600080fd5b505af1158015620014bd573d6000803e3d6000fd5b5050601e546021546040516306c0752d60e51b81526101009092046001600160a01b03908116945063d80ea5a09350620014fd929116906004016200254a565b600060405180830381600087803b1580156200151857600080fd5b505af11580156200152d573d6000803e3d6000fd5b50505050600080516020620045e883398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200157f57600080fd5b505af115801562001594573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa79250620015d7916001600160a01b0316906004016200254a565b600060405180830381600087803b158015620015f257600080fd5b505af115801562001607573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526101009092046001600160a01b039081169450637814d56893506200164a929116906024906004016200273b565b600060405180830381600087803b1580156200166557600080fd5b505af11580156200167a573d6000803e3d6000fd5b5050601e546020546021546040516302154c3d60e51b8152600095506001600160a01b03610100909404841694506342a987a093620016c193811692169060040162002827565b602060405180830381865afa158015620016df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001705919062002841565b905062001712816200233e565b601f5460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa79162001751916001600160a01b0316906004016200254a565b600060405180830381600087803b1580156200176c57600080fd5b505af115801562001781573d6000803e3d6000fd5b5050601e5460215460405163642ce76b60e01b81526101009092046001600160a01b03908116945063642ce76b9350620017c4929116906096906004016200280e565b600060405180830381600087803b158015620017df57600080fd5b505af1158015620017f4573d6000803e3d6000fd5b5050601e546020546021546040516302154c3d60e51b81526101009093046001600160a01b0390811695506342a987a094506200183b939281169291169060040162002827565b602060405180830381865afa15801562001859573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200187f919062002841565b90506200188c816200239c565b5050565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200196157602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620019225790505b50505050508152505081526020019060010190620018b4565b601f5460405163ca669fa760e01b8152603291600080516020620045c88339815191529163ca669fa791620019be916001600160a01b03909116906004016200254a565b600060405180830381600087803b158015620019d957600080fd5b505af1158015620019ee573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd1945062001a359392831692879216906004016200267b565b600060405180830381600087803b15801562001a5057600080fd5b505af115801562001a65573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b815260009450849350839261010090046001600160a01b03908116926339ebf8239262001aac92909116906004016200254a565b606060405180830381865afa15801562001aca573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001af09190620026cc565b925092509250620005e983856200225f565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562000d1c57838290600052602060002001805462001b4890620027d2565b80601f016020809104026020016040519081016040528092919081815260200182805462001b7690620027d2565b801562001bc75780601f1062001b9b5761010080835404028352916020019162001bc7565b820191906000526020600020905b81548152906001019060200180831162001ba957829003601f168201915b50505050508152602001906001019062001b26565b60085460009060ff161562001bf5575060085460ff1690565b604051630667f9d760e41b8152600090600080516020620045c88339815191529063667f9d709062001c4690600080516020620045e8833981519152906519985a5b195960d21b906004016200280e565b602060405180830381865afa15801562001c64573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001c8a919062002866565b1415905090565b601f5460405163ca669fa760e01b8152600080516020620045c88339815191529163ca669fa79162001cd0916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562001ceb57600080fd5b505af115801562001d00573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526101009092046001600160a01b039081169450637814d568935062001d43929116906024906004016200273b565b600060405180830381600087803b15801562001d5e57600080fd5b505af115801562001d73573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa7925062001db6916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562001dd157600080fd5b505af115801562001de6573d6000803e3d6000fd5b5050601e5460205460405163130aea3160e31b81526101009092046001600160a01b0390811694506398575188935062001e26929116906004016200254a565b600060405180830381600087803b15801562001e4157600080fd5b505af115801562001e56573d6000803e3d6000fd5b5050601e5460205460405163b34e0c4760e01b8152600094506001600160a01b036101009093048316935063b34e0c479262001e979216906004016200254a565b6040805180830381865afa15801562001eb4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001eda91906200275f565b905062001eed816000015160006200225f565b620008ab816020015160006200225f565b6060601580548060200260200160405190810160405280929190818152602001828054801562000908576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311620008e9575050505050905090565b601f5460405163ca669fa760e01b8152603291604b91600080516020620045c88339815191529163ca669fa79162001fa5916001600160a01b0316906004016200254a565b600060405180830381600087803b15801562001fc057600080fd5b505af115801562001fd5573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b036101009094048416955063fc2ebdd194506200201c9392831692889216906004016200267b565b600060405180830381600087803b1580156200203757600080fd5b505af11580156200204c573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b8152600080516020620045c8833981519152935063ca669fa7925062000e54916001600160a01b0316906004016200254a565b601e5460408051638da5cb5b60e01b81529051600692600080516020620045c88339815191529263ca669fa7926101009092046001600160a01b031691638da5cb5b916004808201926020929091908290030181865afa158015620020f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200211e919062002880565b6040518263ffffffff1660e01b81526004016200213c91906200254a565b600060405180830381600087803b1580156200215757600080fd5b505af11580156200216c573d6000803e3d6000fd5b5050601e546040516303d4768360e41b81526101009091046001600160a01b03169250633d4768309150620021a69084906004016200254a565b600060405180830381600087803b158015620021c157600080fd5b505af1158015620021d6573d6000803e3d6000fd5b50505050620008ab601e60019054906101000a90046001600160a01b03166001600160a01b0316638df8b2fe6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002232573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002258919062002880565b8262002308565b60405163260a5b1560e21b81526004810183905260248101829052600080516020620045c8833981519152906398296c54906044015b60006040518083038186803b158015620022ae57600080fd5b505afa158015620022c3573d6000803e3d6000fd5b505050505050565b60405163f7fe347760e01b815282151560048201528115156024820152600080516020620045c88339815191529063f7fe34779060440162002295565b6040516328a9b0fb60e11b8152600080516020620045c88339815191529063515361f69062002295908590859060040162002827565b604051630c9fd58160e01b81528115156004820152600080516020620045c883398151915290630c9fd581906024015b60006040518083038186803b1580156200238757600080fd5b505afa15801562000a7f573d6000803e3d6000fd5b60405163a598288560e01b81528115156004820152600080516020620045c88339815191529063a5982885906024016200236e565b61183d806200289f83390190565b6104ec80620040dc83390190565b6020808252825182820181905260009190848201906040850190845b81811015620024305783516001600160a01b03168352928401929184019160010162002409565b50909695505050505050565b6000815180845260005b81811015620024645760208185018101518683018201520162002446565b506000602082860101526020601f19601f83011685010191505092915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b858110156200253a57603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156200252357605f19898503018352620025108486516200243c565b948e01949350918d0191600101620024f1565b505050978a019794505091880191600101620024ab565b50919a9950505050505050505050565b6001600160a01b0391909116815260200190565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156200260657898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015620025f05783516001600160e01b0319168252928b019260019290920191908b0190620025c4565b50978a0197955050509187019160010162002586565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200266e57603f198886030184526200265b8583516200243c565b945092850192908501906001016200263c565b5092979650505050505050565b6001600160a01b0393841681526020810192909252909116604082015260600190565b80518015158114620026af57600080fd5b919050565b80516001600160a01b0381168114620026af57600080fd5b600080600060608486031215620026e257600080fd5b83519250620026f4602085016200269e565b91506200270460408501620026b4565b90509250925092565b6001600160a01b038316815260406020820181905260009062002733908301846200243c565b949350505050565b6001600160a01b039290921682528054602083015260010154604082015260600190565b6000604082840312156200277257600080fd5b604080519081016001600160401b0381118282101715620027a357634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b6001600160e01b031991909116815260200190565b600181811c90821680620027e757607f821691505b6020821081036200280857634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0392831681529116602082015260400190565b6000602082840312156200285457600080fd5b6200285f826200269e565b9392505050565b6000602082840312156200287957600080fd5b5051919050565b6000602082840312156200289357600080fd5b6200285f82620026b456fe60a06040523060805234801561001457600080fd5b506080516117f161004c600039600081816105a9015281816105f201528181610765015281816107a5015261081d01526117f16000f3fe6080604052600436106100ef5760003560e01c80631413d4c0146100f4578063175188e8146101425780633659cfe61461016457806339ebf823146101845780633d476830146101da57806342a987a0146101fa5780634f1ef2861461022a57806352d1902d1461023d578063642ce76b14610260578063715018a6146102805780637814d568146102955780638da5cb5b146102b55780638df8b2fe146102e25780639857518814610302578063b34e0c4714610322578063c4d66de81461039f578063d80ea5a0146103bf578063f2fde38b146103df578063f8806a13146103ff578063fc2ebdd1146104a5575b600080fd5b34801561010057600080fd5b5061012861010f3660046113d9565b6066602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b34801561014e57600080fd5b5061016261015d3660046113d9565b6104c5565b005b34801561017057600080fd5b5061016261017f3660046113d9565b61059f565b34801561019057600080fd5b506101cb61019f3660046113d9565b6067602052600090815260409020805460019091015460ff81169061010090046001600160a01b031683565b604051610139939291906113f4565b3480156101e657600080fd5b506101626101f53660046113d9565b610670565b34801561020657600080fd5b5061021a610215366004611413565b6106d3565b6040519015158152602001610139565b61016261023836600461148c565b61075b565b34801561024957600080fd5b50610252610810565b604051908152602001610139565b34801561026c57600080fd5b5061016261027b366004611531565b6108be565b34801561028c57600080fd5b50610162610989565b3480156102a157600080fd5b506101626102b036600461155b565b61099d565b3480156102c157600080fd5b506102ca610a5a565b6040516001600160a01b039091168152602001610139565b3480156102ee57600080fd5b506065546102ca906001600160a01b031681565b34801561030e57600080fd5b5061016261031d3660046113d9565b610a69565b34801561032e57600080fd5b5061038461033d3660046113d9565b6040805180820190915260008082526020820152506001600160a01b0316600090815260666020908152604091829020825180840190935280548352600101549082015290565b60408051825181526020928301519281019290925201610139565b3480156103ab57600080fd5b506101626103ba3660046113d9565b610af2565b3480156103cb57600080fd5b506101626103da3660046113d9565b610c2e565b3480156103eb57600080fd5b506101626103fa3660046113d9565b610cce565b34801561040b57600080fd5b5061047861041a3660046113d9565b6040805160608082018352600080835260208084018290529284018190526001600160a01b0394851681526067835283902083519182018452805482526001015460ff81161515928201929092526101009091049092169082015290565b6040805182518152602080840151151590820152918101516001600160a01b031690820152606001610139565b3480156104b157600080fd5b506101626104c03660046115cd565b610d44565b806104ce610a5a565b6001600160a01b0316336001600160a01b031614806104f757506065546001600160a01b031633145b8061052357506001600160a01b0381811660009081526067602052604090206001015461010090041633145b156105825761053182610e96565b6001600160a01b03821660008181526067602052604080822060018101805460ff19169055829055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49190a25050565b60405163e3b6914b60e01b815260040160405180910390fd5b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105f05760405162461bcd60e51b81526004016105e790611609565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610622610ebd565b6001600160a01b0316146106485760405162461bcd60e51b81526004016105e790611643565b61065181610ed9565b6040805160008082526020820190925261066d91839190610ee1565b50565b61067861104c565b61068181610e96565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc8690600090a35050565b6001600160a01b03808316600090815260666020908152604080832081518083018352815481526001918201548185015286861685526067845282852083516060810185528154815292015460ff811615159483018590526101009004909516918101919091529192919061074d57600192505050610755565b519051101590505b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107a35760405162461bcd60e51b81526004016105e790611609565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107d5610ebd565b6001600160a01b0316146107fb5760405162461bcd60e51b81526004016105e790611643565b61080482610ed9565b61059b82826001610ee1565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108ab5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016105e7565b5060008051602061177583398151915290565b816108c7610a5a565b6001600160a01b0316336001600160a01b031614806108f057506065546001600160a01b031633145b8061091c57506001600160a01b0381811660009081526067602052604090206001015461010090041633145b156105825761092a83610e96565b6001600160a01b03831660008181526067602052604090819020849055517f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c09906109779085815260200190565b60405180910390a2505050565b505050565b61099161104c565b61099b60006110ab565b565b6109a5610a5a565b6001600160a01b0316336001600160a01b031614806109ce57506065546001600160a01b031633145b15610a41576109dc82610e96565b6001600160a01b03821660008181526066602090815260409182902084518082558583015160019092018290558351908152918201527f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d910160405180910390a25050565b604051637d7b71b560e01b815260040160405180910390fd5b6033546001600160a01b031690565b610a71610a5a565b6001600160a01b0316336001600160a01b03161480610a9a57506065546001600160a01b031633145b15610a4157610aa881610e96565b6001600160a01b038116600081815260666020526040808220828155600101829055517fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9190a250565b600054610100900460ff1615808015610b125750600054600160ff909116105b80610b335750610b21306110fd565b158015610b33575060005460ff166001145b610b965760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105e7565b6000805460ff191660011790558015610bb9576000805461ff0019166101001790555b610bc161110c565b610bca82610e96565b606580546001600160a01b0319166001600160a01b038416179055801561059b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6001600160a01b038082166000908152606760205260409020600101548291610100909104163303610cb557610c6382610e96565b6001600160a01b0382166000818152606760205260408082206001908101805460ff19169091179055517f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb9190a25050565b6040516397ffbac960e01b815260040160405180910390fd5b610cd661104c565b6001600160a01b038116610d3b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105e7565b61066d816110ab565b610d4c610a5a565b6001600160a01b0316336001600160a01b03161480610d7557506065546001600160a01b031633145b15610a4157610d8383610e96565b610d8c81610e96565b6001600160a01b038316600090815260676020526040902054151580610dd357506001600160a01b0383811660009081526067602052604090206001015461010090041615155b15610df15760405163c45546f760e01b815260040160405180910390fd5b60408051606081018252838152600060208083018281526001600160a01b0386811685870190815289821680865260679094528685209551865591516001909501805492516001600160a81b0319909316951515610100600160a81b03191695909517610100929091169190910217909255915190917f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb9161097791869186906113f4565b6001600160a01b03811661066d5760405163d92e233d60e01b815260040160405180910390fd5b600080516020611775833981519152546001600160a01b031690565b61066d61104c565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f14576109848361113b565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f6e575060408051601f3d908101601f19168201909252610f6b9181019061167d565b60015b610fd15760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016105e7565b60008051602061177583398151915281146110405760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016105e7565b506109848383836111d5565b33611055610a5a565b6001600160a01b03161461099b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e7565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03163b151590565b600054610100900460ff166111335760405162461bcd60e51b81526004016105e790611696565b61099b611200565b611144816110fd565b6111a65760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016105e7565b60008051602061177583398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6111de83611230565b6000825111806111eb5750805b15610984576111fa8383611270565b50505050565b600054610100900460ff166112275760405162461bcd60e51b81526004016105e790611696565b61099b336110ab565b6112398161113b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061129583836040518060600160405280602781526020016117956027913961129c565b9392505050565b6060600080856001600160a01b0316856040516112b99190611705565b600060405180830381855af49150503d80600081146112f4576040519150601f19603f3d011682016040523d82523d6000602084013e6112f9565b606091505b509150915061130a86838387611314565b9695505050505050565b6060831561138157825160000361137a5761132e856110fd565b61137a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105e7565b508161138b565b61138b8383611393565b949350505050565b8151156113a35781518083602001fd5b8060405162461bcd60e51b81526004016105e79190611721565b80356001600160a01b03811681146113d457600080fd5b919050565b6000602082840312156113eb57600080fd5b611295826113bd565b92835290151560208301526001600160a01b0316604082015260600190565b6000806040838503121561142657600080fd5b61142f836113bd565b915061143d602084016113bd565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561148457611484611446565b604052919050565b6000806040838503121561149f57600080fd5b6114a8836113bd565b91506020838101356001600160401b03808211156114c557600080fd5b818601915086601f8301126114d957600080fd5b8135818111156114eb576114eb611446565b6114fd601f8201601f1916850161145c565b9150808252878482850101111561151357600080fd5b80848401858401376000848284010152508093505050509250929050565b6000806040838503121561154457600080fd5b61154d836113bd565b946020939093013593505050565b600080828403606081121561156f57600080fd5b611578846113bd565b92506040601f198201121561158c57600080fd5b50604080519081016001600160401b03811182821017156115af576115af611446565b60409081526020858101358352940135938101939093525092909150565b6000806000606084860312156115e257600080fd5b6115eb846113bd565b925060208401359150611600604085016113bd565b90509250925092565b6020808252602c9082015260008051602061175583398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061175583398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60006020828403121561168f57600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b838110156116fc5781810151838201526020016116e4565b50506000910152565b600082516117178184602087016116e1565b9190910192915050565b60208152600082518060208401526117408160408501602087016116e1565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f2c11d0c5c79dbfba041c3a4f398ce24c7c44fede63e123d5395a77918e2d46f64736f6c6343000813003360806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212204fe6c3c3dccfaea0fd10fdd343631403db3c1555c6576ad816deaaa45c9f926764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12da264697066735822122023628af2cef75376981ada0d20774da9786cf1136c49bcff165ee4b98411a82d64736f6c63430008130033","sourceMap":"292:5201:136:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;596:32;;;;;;;;;;;;;;188:25:142;;;244:2;229:18;;222:34;;;;161:18;596:32:136;;;;;;;;3089:544;;;:::i;:::-;;635:374;;;:::i;1015:331::-;;;:::i;2452:134:25:-;;;:::i;:::-;;;;;;;:::i;2400:247:136:-;;;:::i;1972:217::-;;;:::i;3360:151:25:-;;;:::i;:::-;;;;;;;:::i;4225:581:136:-;;;:::i;3221:133:25:-;;;:::i;546:44:136:-;;;;;-1:-1:-1;;;;;546:44:136;;;;;;;;;;:::i;2922:141:25:-;;;:::i;334:36:136:-;;;;;;;;-1:-1:-1;;;;;334:36:136;;;421:32;;;;;-1:-1:-1;;;;;421:32:136;;;2738:178:25;;;:::i;:::-;;;;;;;:::i;501:39:136:-;;;;;-1:-1:-1;;;;;501:39:136;;;2195:199;;;:::i;2592:140:25:-;;;:::i;:::-;;;;;;;:::i;4812:679:136:-;;;:::i;376:39::-;;;;;-1:-1:-1;;;;;376:39:136;;;3069:146:25;;;:::i;2653:430:136:-;;;:::i;459:36::-;;;;;-1:-1:-1;;;;;459:36:136;;;2157:141:25;;;:::i;1243:204:21:-;;;:::i;:::-;;;6094:14:142;;6087:22;6069:41;;6057:2;6042:18;1243:204:21;5929:187:142;1352:362:136;;;:::i;2304:142:25:-;;;:::i;3639:580:136:-;;;:::i;1720:246::-;;;:::i;1016:26:32:-;;;;;;;;;3089:544:136;3178:11;;3169:21;;-1:-1:-1;;;3169:21:136;;3156:2;;-1:-1:-1;;;;;;;;;;;3169:8:136;;;:21;;-1:-1:-1;;;;;3178:11:136;;;;3169:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3200:14:136;;3227:8;;3248:11;;3200:60;;-1:-1:-1;;;3200:60:136;;-1:-1:-1;;;;;3200:14:136;;;;;;;-1:-1:-1;3200:26:136;;-1:-1:-1;3200:60:136;;3227:8;;;;3237:9;;3248:11;;3200:60;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3280:11:136;;3271:21;;-1:-1:-1;;;3271:21:136;;-1:-1:-1;;;;;;;;;;;3271:8:136;-1:-1:-1;3271:8:136;;-1:-1:-1;3271:21:136;;-1:-1:-1;;;;;3280:11:136;;3271:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3302:14:136;;3332:8;;3302:39;;-1:-1:-1;;;3302:39:136;;:14;;;;-1:-1:-1;;;;;3302:14:136;;;;-1:-1:-1;3302:29:136;;-1:-1:-1;3302:39:136;;3332:8;;;3302:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3426:14:136;;3452:8;;3426:35;;-1:-1:-1;;;3426:35:136;;3353:23;;-1:-1:-1;3353:23:136;;-1:-1:-1;3353:23:136;;3426:14;;;-1:-1:-1;;;;;3426:14:136;;;;:25;;:35;;3452:8;;;;3426:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3352:109;;;;;;3471:28;3480:15;3497:1;3471:8;:28::i;:::-;3509:29;3518:12;3532:5;3509:8;:29::i;:::-;3576:11;;3548:40;;3557:17;;-1:-1:-1;;;;;3576:11:136;3548:8;:40::i;:::-;3126:507;;;;3089:544::o;635:374::-;669:18;728:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;830:11:136;;763:80;;-1:-1:-1;;;786:34:136;763:80;;-1:-1:-1;;;;;830:11:136;;;;763:80;;;:::i;:::-;;;;-1:-1:-1;;763:80:136;;;;;;;;;;;;;;-1:-1:-1;;;;;763:80:136;-1:-1:-1;;;;;;763:80:136;;;;;;;;;;690:163;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;864:14:136;:56;;-1:-1:-1;;;;;864:56:136;;;;;-1:-1:-1;;;;;;864:56:136;;;;;;;;;-1:-1:-1;946:56:136;;;;;;;;;967:3;946:56;;;985:15;946:56;;;;;;;931:12;:71;;;635:374::o;1015:331::-;1069:11;;1060:21;;-1:-1:-1;;;1060:21:136;;-1:-1:-1;;;;;;;;;;;1060:8:136;;;:21;;-1:-1:-1;;;;;1069:11:136;;1060:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1091:14:136;;1119:4;;1091:47;;-1:-1:-1;;;1091:47:136;;:14;;;;-1:-1:-1;;;;;1091:14:136;;;;-1:-1:-1;1091:27:136;;-1:-1:-1;1091:47:136;;1119:4;;;1125:12;;1091:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1182:14:136;;1210:4;;1182:33;;-1:-1:-1;;;1182:33:136;;1149:30;;-1:-1:-1;;;;;;1182:14:136;;;;;;;-1:-1:-1;1182:27:136;;:33;;1210:4;;1182:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1234:16;;1252:12;:18;1149:66;;-1:-1:-1;1225:46:136;;:8;:46::i;:::-;1281:58;1290:10;:22;;;1314:12;:24;;;1281:8;:58::i;:::-;1050:296;1015:331::o;2452:134:25:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:25;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;2400:247:136:-;2513:11;;2504:21;;-1:-1:-1;;;2504:21:136;;2491:1;;-1:-1:-1;;;;;;;;;;;2504:8:136;;;:21;;-1:-1:-1;;;;;2513:11:136;;;;2504:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2535:51:136;;-1:-1:-1;;;2535:51:136;;8741:2:142;2535:51:136;;;8723:21:142;;;8760:18;;;8753:30;8819:34;8799:18;;;8792:62;-1:-1:-1;;;;;;;;;;;2535:15:136;-1:-1:-1;2535:15:136;;-1:-1:-1;8871:18:142;;2535:51:136;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2596:14:136;;:44;;-1:-1:-1;;;2596:44:136;;:14;;;;-1:-1:-1;;;;;2596:14:136;;-1:-1:-1;2596:32:136;;-1:-1:-1;2596:44:136;;2629:10;;2596:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2452:195;2400:247::o;1972:217::-;2043:16;;2034:26;;-1:-1:-1;;;2034:26:136;;-1:-1:-1;;;;;;;;;;;2034:8:136;;;:26;;-1:-1:-1;;;;;2043:16:136;;2034:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2070:55:136;;-1:-1:-1;;;2070:55:136;;-1:-1:-1;;;;;;;;;;;2070:15:136;-1:-1:-1;2070:15:136;;-1:-1:-1;2070:55:136;;-1:-1:-1;;;2086:38:136;2070:55;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2135:14:136;;2163:4;;2135:47;;-1:-1:-1;;;2135:47:136;;:14;;;;-1:-1:-1;;;;;2135:14:136;;;;-1:-1:-1;2135:27:136;;-1:-1:-1;2135:47:136;;2163:4;;;2169:12;;2135:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151:25;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;4225:581:136:-;4363:11;;4354:21;;-1:-1:-1;;;4354:21:136;;4306:2;;4341;;-1:-1:-1;;;;;;;;;;;4354:8:136;;;:21;;-1:-1:-1;;;;;4363:11:136;;4354:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4385:14:136;;4412:8;;4433:11;;4385:60;;-1:-1:-1;;;4385:60:136;;-1:-1:-1;;;;;4385:14:136;;;;;;;-1:-1:-1;4385:26:136;;-1:-1:-1;4385:60:136;;4412:8;;;;4422:9;;4433:11;;4385:60;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4465:11:136;;4456:21;;-1:-1:-1;;;4456:21:136;;-1:-1:-1;;;;;;;;;;;4456:8:136;-1:-1:-1;4456:8:136;;-1:-1:-1;4456:21:136;;-1:-1:-1;;;;;4465:11:136;;4456:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4487:14:136;;4518:8;;4487:54;;-1:-1:-1;;;4487:54:136;;:14;;;;-1:-1:-1;;;;;4487:14:136;;;;-1:-1:-1;4487:30:136;;-1:-1:-1;4487:54:136;;4518:8;;;4528:12;;4487:54;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4626:14:136;;4652:8;;4626:35;;-1:-1:-1;;;4626:35:136;;4553:23;;-1:-1:-1;4553:23:136;;-1:-1:-1;4553:23:136;;4626:14;;;-1:-1:-1;;;;;4626:14:136;;;;:25;;:35;;4652:8;;;;4626:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4552:109;;;;;;4671:39;4680:15;4697:12;4671:8;:39::i;:::-;4720:29;4729:12;4743:5;4720:8;:29::i;:::-;4787:11;;4759:40;;4768:17;;-1:-1:-1;;;;;4787:11:136;4759:8;:40::i;3221:133:25:-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:25;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:25;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;2738:178::-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2195:199:136;2264:16;;2255:26;;-1:-1:-1;;;2255:26:136;;-1:-1:-1;;;;;;;;;;;2255:8:136;;;:26;;-1:-1:-1;;;;;2264:16:136;;2255:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2291:55:136;;-1:-1:-1;;;2291:55:136;;-1:-1:-1;;;;;;;;;;;2291:15:136;-1:-1:-1;2291:15:136;;-1:-1:-1;2291:55:136;;-1:-1:-1;;;2307:38:136;2291:55;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2356:14:136;;2382:4;;2356:31;;-1:-1:-1;;;2356:31:136;;:14;;;;-1:-1:-1;;;;;2356:14:136;;;;-1:-1:-1;2356:25:136;;-1:-1:-1;2356:31:136;;2382:4;;;2356:31;;;:::i;2592:140:25:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4812:679:136;4903:11;;4894:21;;-1:-1:-1;;;4894:21:136;;4881:2;;-1:-1:-1;;;;;;;;;;;4894:8:136;;;:21;;-1:-1:-1;;;;;4903:11:136;;;;4894:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4925:14:136;;4952:8;;4973:11;;4925:60;;-1:-1:-1;;;4925:60:136;;-1:-1:-1;;;;;4925:14:136;;;;;;;-1:-1:-1;4925:26:136;;-1:-1:-1;4925:60:136;;4952:8;;;;4962:9;;4973:11;;4925:60;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5009:11:136;;4995:26;;-1:-1:-1;;;4995:26:136;;-1:-1:-1;;;;;;;;;;;4995:13:136;-1:-1:-1;4995:13:136;;-1:-1:-1;4995:26:136;;-1:-1:-1;;;;;5009:11:136;;4995:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5031:14:136;;5063:8;;5031:41;;-1:-1:-1;;;5031:41:136;;:14;;;;-1:-1:-1;;;;;5031:14:136;;;;-1:-1:-1;5031:31:136;;-1:-1:-1;5031:41:136;;5063:8;;;5031:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;309:37:20;;-1:-1:-1;;;;;5082:12:136;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5116:11:136;;5107:21;;-1:-1:-1;;;5107:21:136;;-1:-1:-1;;;;;;;;;;;5107:8:136;-1:-1:-1;5107:8:136;;-1:-1:-1;5107:21:136;;-1:-1:-1;;;;;5116:11:136;;5107:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5138:14:136;;5166:4;;5138:47;;-1:-1:-1;;;5138:47:136;;:14;;;;-1:-1:-1;;;;;5138:14:136;;;;-1:-1:-1;5138:27:136;;-1:-1:-1;5138:47:136;;5166:4;;;5172:12;;5138:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5214:14:136;;5246:4;;5252:8;;5214:47;;-1:-1:-1;;;5214:47:136;;5196:15;;-1:-1:-1;;;;;;5214:14:136;;;;;;;-1:-1:-1;5214:31:136;;:47;;5246:4;;;5252:8;;5214:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5196:65;;5271:22;5282:10;5271;:22::i;:::-;5313:11;;5304:21;;-1:-1:-1;;;5304:21:136;;-1:-1:-1;;;;;;;;;;;5304:8:136;;;:21;;-1:-1:-1;;;;;5313:11:136;;5304:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5335:14:136;;5366:8;;5335:45;;-1:-1:-1;;;5335:45:136;;:14;;;;-1:-1:-1;;;;;5335:14:136;;;;-1:-1:-1;5335:30:136;;-1:-1:-1;5335:45:136;;5366:8;;;5376:3;;5335:45;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5404:14:136;;5436:4;;5442:8;;5404:47;;-1:-1:-1;;;5404:47:136;;:14;;;;-1:-1:-1;;;;;5404:14:136;;;;-1:-1:-1;5404:31:136;;-1:-1:-1;5404:47:136;;5436:4;;;;5442:8;;;5404:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5391:60;;5461:23;5473:10;5461:11;:23::i;:::-;4851:640;;4812:679::o;3069:146:25:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2653:430:136;2739:11;;2730:21;;-1:-1:-1;;;2730:21:136;;2717:2;;-1:-1:-1;;;;;;;;;;;2730:8:136;;;:21;;-1:-1:-1;;;;;2739:11:136;;;;2730:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2761:14:136;;2788:8;;2809:11;;2761:60;;-1:-1:-1;;;2761:60:136;;-1:-1:-1;;;;;2761:14:136;;;;;;;-1:-1:-1;2761:26:136;;-1:-1:-1;2761:60:136;;2788:8;;;;2798:9;;2809:11;;2761:60;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2906:14:136;;2932:8;;2906:35;;-1:-1:-1;;;2906:35:136;;2833:23;;-1:-1:-1;2833:23:136;;-1:-1:-1;2833:23:136;;2906:14;;;-1:-1:-1;;;;;2906:14:136;;;;:25;;:35;;2932:8;;;;2906:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2832:109;;;;;;2951:36;2960:15;2977:9;2951:8;:36::i;2157:141:25:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1243:204:21;1302:7;;1282:4;;1302:7;;1298:143;;;-1:-1:-1;1332:7:21;;;;;1243:204::o;1298:143::-;1377:39;;-1:-1:-1;;;1377:39:21;;1428:1;;-1:-1:-1;;;;;;;;;;;1377:7:21;;;:39;;-1:-1:-1;;;;;;;;;;;219:28:21;-1:-1:-1;;;1398:17:21;1377:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;1352:362:136:-;1404:11;;1395:21;;-1:-1:-1;;;1395:21:136;;-1:-1:-1;;;;;;;;;;;1395:8:136;;;:21;;-1:-1:-1;;;;;1404:11:136;;1395:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1426:14:136;;1454:4;;1426:47;;-1:-1:-1;;;1426:47:136;;:14;;;;-1:-1:-1;;;;;1426:14:136;;;;-1:-1:-1;1426:27:136;;-1:-1:-1;1426:47:136;;1454:4;;;1460:12;;1426:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1493:11:136;;1484:21;;-1:-1:-1;;;1484:21:136;;-1:-1:-1;;;;;;;;;;;1484:8:136;-1:-1:-1;1484:8:136;;-1:-1:-1;1484:21:136;;-1:-1:-1;;;;;1493:11:136;;1484:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1515:14:136;;1541:4;;1515:31;;-1:-1:-1;;;1515:31:136;;:14;;;;-1:-1:-1;;;;;1515:14:136;;;;-1:-1:-1;1515:25:136;;-1:-1:-1;1515:31:136;;1541:4;;;1515:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1590:14:136;;1618:4;;1590:33;;-1:-1:-1;;;1590:33:136;;1557:30;;-1:-1:-1;;;;;;1590:14:136;;;;;;;-1:-1:-1;1590:27:136;;:33;;1618:4;;1590:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1557:66;;1633:29;1642:10;:16;;;1660:1;1633:8;:29::i;:::-;1672:35;1681:10;:22;;;1705:1;1672:8;:35::i;2304:142:25:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:25;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3639:580:136:-;3776:11;;3767:21;;-1:-1:-1;;;3767:21:136;;3719:2;;3754;;-1:-1:-1;;;;;;;;;;;3767:8:136;;;:21;;-1:-1:-1;;;;;3776:11:136;;3767:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3798:14:136;;3825:8;;3846:11;;3798:60;;-1:-1:-1;;;3798:60:136;;-1:-1:-1;;;;;3798:14:136;;;;;;;-1:-1:-1;3798:26:136;;-1:-1:-1;3798:60:136;;3825:8;;;;3835:9;;3846:11;;3798:60;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3878:11:136;;3869:21;;-1:-1:-1;;;3869:21:136;;-1:-1:-1;;;;;;;;;;;3869:8:136;-1:-1:-1;3869:8:136;;-1:-1:-1;3869:21:136;;-1:-1:-1;;;;;3878:11:136;;3869:21;;;:::i;1720:246::-;1821:14;;:22;;;-1:-1:-1;;;1821:22:136;;;;1799:1;;-1:-1:-1;;;;;;;;;;;1812:8:136;;;1821:14;;;;-1:-1:-1;;;;;1821:14:136;;:20;;:22;;;;;;;;;;;;;;;:14;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1812:32;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1854:14:136;;:44;;-1:-1:-1;;;1854:44:136;;:14;;;;-1:-1:-1;;;;;1854:14:136;;-1:-1:-1;1854:32:136;;-1:-1:-1;1854:44:136;;1887:10;;1854:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1909:50;1918:14;;;;;;;;;-1:-1:-1;;;;;1918:14:136;-1:-1:-1;;;;;1918:26:136;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1948:10;1909:8;:50::i;2270:110:21:-;2349:24;;-1:-1:-1;;;2349:24:21;;;;;188:25:142;;;229:18;;;222:34;;;-1:-1:-1;;;;;;;;;;;2349:11:21;;;161:18:142;;2349:24:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2270:110;;:::o;2026:104::-;2099:24;;-1:-1:-1;;;2099:24:21;;11444:14:142;;11437:22;2099:24:21;;;11419:41:142;11503:14;;11496:22;11476:18;;;11469:50;-1:-1:-1;;;;;;;;;;;2099:11:21;;;11392:18:142;;2099:24:21;11257:268:142;3454:110:21;3533:24;;-1:-1:-1;;;3533:24:21;;-1:-1:-1;;;;;;;;;;;3533:11:21;;;:24;;3545:4;;3551:5;;3533:24;;;:::i;1594:89::-;1657:19;;-1:-1:-1;;;1657:19:21;;6094:14:142;;6087:22;1657:19:21;;;6069:41:142;-1:-1:-1;;;;;;;;;;;1657:13:21;;;6042:18:142;;1657:19:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1808:91;1872:20;;-1:-1:-1;;;1872:20:21;;6094:14:142;;6087:22;1872:20:21;;;6069:41:142;-1:-1:-1;;;;;;;;;;;1872:14:21;;;6042:18:142;;1872:20:21;5929:187:142;-1:-1:-1;;;;;;;;:::o;:::-;;;;;;;;:::o;267:658:142:-;438:2;490:21;;;560:13;;463:18;;;582:22;;;409:4;;438:2;661:15;;;;635:2;620:18;;;409:4;704:195;718:6;715:1;712:13;704:195;;;783:13;;-1:-1:-1;;;;;779:39:142;767:52;;874:15;;;;839:12;;;;815:1;733:9;704:195;;;-1:-1:-1;916:3:142;;267:658;-1:-1:-1;;;;;;267:658:142:o;930:423::-;972:3;1010:5;1004:12;1037:6;1032:3;1025:19;1062:1;1072:162;1086:6;1083:1;1080:13;1072:162;;;1148:4;1204:13;;;1200:22;;1194:29;1176:11;;;1172:20;;1165:59;1101:12;1072:162;;;1076:3;1279:1;1272:4;1263:6;1258:3;1254:16;1250:27;1243:38;1342:4;1335:2;1331:7;1326:2;1318:6;1314:15;1310:29;1305:3;1301:39;1297:50;1290:57;;;930:423;;;;:::o;1358:1744::-;1593:2;1645:21;;;1715:13;;1618:18;;;1737:22;;;1564:4;;1593:2;1778;;1796:18;;;;1833:1;1876:15;;;1861:31;;1857:40;;1920:15;;;1564:4;;1984:1089;2000:6;1995:3;1992:15;1984:1089;;;-1:-1:-1;;2069:22:142;;;2065:36;2053:49;;2125:13;;2212:9;;-1:-1:-1;;;;;2208:35:142;2193:51;;2283:11;;2277:18;2315:15;;;2308:27;;;2396:19;;2165:15;;;2428:24;;;2609:21;;;;2475:2;2557:17;;;2545:30;;2541:39;;;2499:15;;;;2654:1;2668:296;2684:8;2679:3;2676:17;2668:296;;;2790:2;2786:7;2777:6;2769;2765:19;2761:33;2754:5;2747:48;2822:42;2857:6;2846:8;2840:15;2822:42;:::i;:::-;2893:17;;;;2812:52;-1:-1:-1;2936:14:142;;;;2712:1;2703:11;2668:296;;;-1:-1:-1;;;3051:12:142;;;;2987:6;-1:-1:-1;;3016:15:142;;;;2026:1;2017:11;1984:1089;;;-1:-1:-1;3090:6:142;;1358:1744;-1:-1:-1;;;;;;;;;;1358:1744:142:o;3107:203::-;-1:-1:-1;;;;;3271:32:142;;;;3253:51;;3241:2;3226:18;;3107:203::o;3547:1569::-;3751:4;3780:2;3820;3809:9;3805:18;3850:2;3839:9;3832:21;3873:6;3908;3902:13;3939:6;3931;3924:22;3965:2;3955:12;;3998:2;3987:9;3983:18;3976:25;;4060:2;4050:6;4047:1;4043:14;4032:9;4028:30;4024:39;4098:2;4090:6;4086:15;4119:1;4140;4150:937;4166:6;4161:3;4158:15;4150:937;;;4235:22;;;-1:-1:-1;;4231:36:142;4219:49;;4291:13;;4378:9;;-1:-1:-1;;;;;4374:35:142;4359:51;;4449:11;;4443:18;4481:15;;;4474:27;;;4562:19;;4331:15;;;4594:24;;;4684:21;;;;4729:1;;4652:2;4640:15;;;4743:236;4759:8;4754:3;4751:17;4743:236;;;4840:15;;-1:-1:-1;;;;;;4836:42:142;4822:57;;4948:17;;;;4787:1;4778:11;;;;;4905:14;;;;4743:236;;;-1:-1:-1;5065:12:142;;;;5002:5;-1:-1:-1;;;5030:15:142;;;;4192:1;4183:11;4150:937;;;-1:-1:-1;5104:6:142;;3547:1569;-1:-1:-1;;;;;;;;;3547:1569:142:o;5121:803::-;5283:4;5312:2;5352;5341:9;5337:18;5382:2;5371:9;5364:21;5405:6;5440;5434:13;5471:6;5463;5456:22;5509:2;5498:9;5494:18;5487:25;;5571:2;5561:6;5558:1;5554:14;5543:9;5539:30;5535:39;5521:53;;5609:2;5601:6;5597:15;5630:1;5640:255;5654:6;5651:1;5648:13;5640:255;;;5747:2;5743:7;5731:9;5723:6;5719:22;5715:36;5710:3;5703:49;5775:40;5808:6;5799;5793:13;5775:40;:::i;:::-;5765:50;-1:-1:-1;5873:12:142;;;;5838:15;;;;5676:1;5669:9;5640:255;;;-1:-1:-1;5912:6:142;;5121:803;-1:-1:-1;;;;;;;5121:803:142:o;6121:375::-;-1:-1:-1;;;;;6379:15:142;;;6361:34;;6426:2;6411:18;;6404:34;;;;6474:15;;;6469:2;6454:18;;6447:43;6311:2;6296:18;;6121:375::o;6501:164::-;6577:13;;6626;;6619:21;6609:32;;6599:60;;6655:1;6652;6645:12;6599:60;6501:164;;;:::o;6670:177::-;6749:13;;-1:-1:-1;;;;;6791:31:142;;6781:42;;6771:70;;6837:1;6834;6827:12;6852:348;6937:6;6945;6953;7006:2;6994:9;6985:7;6981:23;6977:32;6974:52;;;7022:1;7019;7012:12;6974:52;7051:9;7045:16;7035:26;;7080:46;7122:2;7111:9;7107:18;7080:46;:::i;:::-;7070:56;;7145:49;7190:2;7179:9;7175:18;7145:49;:::i;:::-;7135:59;;6852:348;;;;;:::o;7205:315::-;-1:-1:-1;;;;;7380:32:142;;7362:51;;7449:2;7444;7429:18;;7422:30;;;-1:-1:-1;;7469:45:142;;7495:18;;7487:6;7469:45;:::i;:::-;7461:53;7205:315;-1:-1:-1;;;;7205:315:142:o;7525:401::-;-1:-1:-1;;;;;7776:32:142;;;;7758:51;;7845:13;;7840:2;7825:18;;7818:41;7805:1;7901:17;7895:24;7890:2;7875:18;;7868:52;7746:2;7731:18;;7525:401::o;7931:604::-;8032:6;8085:2;8073:9;8064:7;8060:23;8056:32;8053:52;;;8101:1;8098;8091:12;8053:52;8134:2;8128:9;;;8164:15;;-1:-1:-1;;;;;8194:34:142;;8230:22;;;8191:62;8188:185;;;8295:10;8290:3;8286:20;8283:1;8276:31;8330:4;8327:1;8320:15;8358:4;8355:1;8348:15;8188:185;8389:2;8382:22;8428:16;;8413:32;;8499:2;8484:18;;;8478:25;8461:15;;;8454:50;;;;-1:-1:-1;8420:6:142;7931:604;-1:-1:-1;7931:604:142:o;8900:202::-;-1:-1:-1;;;;;;9062:33:142;;;;9044:52;;9032:2;9017:18;;8900:202::o;9107:380::-;9186:1;9182:12;;;;9229;;;9250:61;;9304:4;9296:6;9292:17;9282:27;;9250:61;9357:2;9349:6;9346:14;9326:18;9323:38;9320:161;;9403:10;9398:3;9394:20;9391:1;9384:31;9438:4;9435:1;9428:15;9466:4;9463:1;9456:15;9320:161;;9107:380;;;:::o;9492:274::-;-1:-1:-1;;;;;9684:32:142;;;;9666:51;;9748:2;9733:18;;9726:34;9654:2;9639:18;;9492:274::o;9771:304::-;-1:-1:-1;;;;;10001:15:142;;;9983:34;;10053:15;;10048:2;10033:18;;10026:43;9933:2;9918:18;;9771:304::o;10080:202::-;10147:6;10200:2;10188:9;10179:7;10175:23;10171:32;10168:52;;;10216:1;10213;10206:12;10168:52;10239:37;10266:9;10239:37;:::i;:::-;10229:47;10080:202;-1:-1:-1;;;10080:202:142:o;10855:184::-;10925:6;10978:2;10966:9;10957:7;10953:23;10949:32;10946:52;;;10994:1;10991;10984:12;10946:52;-1:-1:-1;11017:16:142;;10855:184;-1:-1:-1;10855:184:142:o;11044:208::-;11114:6;11167:2;11155:9;11146:7;11142:23;11138:32;11135:52;;;11183:1;11180;11173:12;11135:52;11206:40;11236:9;11206:40;:::i","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","councilSafe()":"6c53db9a","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","listManager()":"8df8b2fe","passportData()":"073a2d8c","passportScorer()":"4905e831","setUp()":"0a9254e4","strategy()":"a8c62e76","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testAddStrategy()":"9693f128","testAddUserScore()":"0c2759da","testCanExecuteAction()":"8caa5c44","testChangeListManager()":"ebe69a5f","testModifyThresholdByAuthorized()":"e68393b4","testModifyThresholdByCouncilSafe()":"3668aa29","testOnlyAuthorizedCanAddUserScore()":"25821153","testOnlyAuthorizedCanRemoveUser()":"82fad478","testOnlyOwnerCanChangeListManager()":"24e40b97","testRemoveStrategy()":"0778c72c","testRemoveUser()":"d4dadecb","unauthorizedUser()":"3ea7771b","user()":"4f8632ba"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"listManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"passportData\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"passportScorer\",\"outputs\":[{\"internalType\":\"contract PassportScorer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAddStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAddUserScore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCanExecuteAction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testChangeListManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testModifyThresholdByAuthorized\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testModifyThresholdByCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOnlyAuthorizedCanAddUserScore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOnlyAuthorizedCanRemoveUser\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOnlyOwnerCanChangeListManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRemoveStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRemoveUser\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unauthorizedUser\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"user\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/PassportScorerTest.t.sol\":\"PassportScorerTest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c\",\"dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b\",\"dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/PassportScorer.sol\":{\"keccak256\":\"0x761ef83b5c9e42fc7a65cec573d4a82e8b4471a917d1148977081d33edaf746d\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://698a8829885901860dcca7d7b2737a0e9d6216e052f21b3d8dedcfca90db4810\",\"dweb:/ipfs/QmSs8CZvEhz2CaSBq6x6fzU4uTPeyHn2Z8HSmc7tq8Cu3z\"]},\"pkg/contracts/test/PassportScorerTest.t.sol\":{\"keccak256\":\"0xbeb984e08da607b0d2eaa84cc83644c4d7bc68c6092719e0a38d2297a5e3d21b\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://3d7b92d67443c5e54a977185e727543b4429a96af3ac092b54f4eacb8421edac\",\"dweb:/ipfs/QmRksjaxxgPFGLnXKgtcAU5i23oCWPaV2r76YtN9WBoawN\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"listManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"passportData","outputs":[{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"passportScorer","outputs":[{"internalType":"contract PassportScorer","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"inputs":[],"stateMutability":"view","type":"function","name":"strategy","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testAddStrategy"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testAddUserScore"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCanExecuteAction"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testChangeListManager"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testModifyThresholdByAuthorized"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testModifyThresholdByCouncilSafe"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testOnlyAuthorizedCanAddUserScore"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testOnlyAuthorizedCanRemoveUser"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testOnlyOwnerCanChangeListManager"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRemoveStrategy"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRemoveUser"},{"inputs":[],"stateMutability":"view","type":"function","name":"unauthorizedUser","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"user","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/PassportScorerTest.t.sol":"PassportScorerTest"},"evmVersion":"paris","libraries":{}},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361","urls":["bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c","dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef","urls":["bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b","dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab","urls":["bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d","dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/PassportScorer.sol":{"keccak256":"0x761ef83b5c9e42fc7a65cec573d4a82e8b4471a917d1148977081d33edaf746d","urls":["bzz-raw://698a8829885901860dcca7d7b2737a0e9d6216e052f21b3d8dedcfca90db4810","dweb:/ipfs/QmSs8CZvEhz2CaSBq6x6fzU4uTPeyHn2Z8HSmc7tq8Cu3z"],"license":"AGPL-3.0-or-later"},"pkg/contracts/test/PassportScorerTest.t.sol":{"keccak256":"0xbeb984e08da607b0d2eaa84cc83644c4d7bc68c6092719e0a38d2297a5e3d21b","urls":["bzz-raw://3d7b92d67443c5e54a977185e727543b4429a96af3ac092b54f4eacb8421edac","dweb:/ipfs/QmRksjaxxgPFGLnXKgtcAU5i23oCWPaV2r76YtN9WBoawN"],"license":"AGPL-3.0-or-later"}},"version":1},"storageLayout":{"storage":[{"astId":5830,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)13196_storage"},{"astId":5987,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":8488,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":8509,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)8504_storage)"},{"astId":8513,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":8517,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":8520,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":9278,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":11315,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)13196_storage"},{"astId":12183,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_excludedContracts","offset":0,"slot":"21","type":"t_array(t_address)dyn_storage"},{"astId":12186,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_excludedSenders","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"},{"astId":12189,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedContracts","offset":0,"slot":"23","type":"t_array(t_address)dyn_storage"},{"astId":12192,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedSenders","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":12195,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_excludedArtifacts","offset":0,"slot":"25","type":"t_array(t_string_storage)dyn_storage"},{"astId":12198,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedArtifacts","offset":0,"slot":"26","type":"t_array(t_string_storage)dyn_storage"},{"astId":12202,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedArtifactSelectors","offset":0,"slot":"27","type":"t_array(t_struct(FuzzSelector)12174_storage)dyn_storage"},{"astId":12206,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedSelectors","offset":0,"slot":"28","type":"t_array(t_struct(FuzzSelector)12174_storage)dyn_storage"},{"astId":12210,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedInterfaces","offset":0,"slot":"29","type":"t_array(t_struct(FuzzInterface)12180_storage)dyn_storage"},{"astId":17795,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"IS_TEST","offset":0,"slot":"30","type":"t_bool"},{"astId":89590,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"passportScorer","offset":1,"slot":"30","type":"t_contract(PassportScorer)70618"},{"astId":89596,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"listManager","offset":0,"slot":"31","type":"t_address"},{"astId":89602,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"user","offset":0,"slot":"32","type":"t_address"},{"astId":89608,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"strategy","offset":0,"slot":"33","type":"t_address"},{"astId":89614,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"councilSafe","offset":0,"slot":"34","type":"t_address"},{"astId":89620,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"unauthorizedUser","offset":0,"slot":"35","type":"t_address"},{"astId":89623,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"passportData","offset":0,"slot":"36","type":"t_struct(PassportData)70040_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzInterface)12180_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)12180_storage"},"t_array(t_struct(FuzzSelector)12174_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)12174_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(PassportScorer)70618":{"encoding":"inplace","label":"contract PassportScorer","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13171_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13171_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13171_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)8504_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)8504_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)8504_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":8497,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":8499,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":8501,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":8503,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)13171_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13164,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13166,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13168,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13170,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzInterface)12180_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":12176,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12179,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)12174_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":12170,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12173,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(PassportData)70040_storage":{"encoding":"inplace","label":"struct PassportData","numberOfBytes":"64","members":[{"astId":70037,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"score","offset":0,"slot":"0","type":"t_uint256"},{"astId":70039,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"lastUpdated","offset":0,"slot":"1","type":"t_uint256"}]},"t_struct(StdStorage)13196_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13180,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage)))"},{"astId":13183,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13185,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13187,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13189,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13191,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13193,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13195,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"pkg/contracts/test/PassportScorerTest.t.sol","id":90199,"exportedSymbols":{"ERC1967Proxy":[55021],"ISybilScorer":[70122],"Initializable":[53152],"OwnableUpgradeable":[52903],"PassportData":[70040],"PassportScorer":[70618],"PassportScorerTest":[90198],"StdAssertions":[8464],"StdChains":[9246],"StdCheats":[12099],"StdInvariant":[12424],"StdStorage":[13196],"StdStyle":[16366],"StdUtils":[17744],"Strategy":[70047],"Test":[17796],"TestBase":[5834],"UUPSUpgradeable":[55672],"Upgrades":[61176],"Vm":[21446],"console":[29510],"console2":[37635],"safeconsole":[52360],"stdError":[12165],"stdJson":[13016],"stdMath":[13158],"stdStorage":[15155],"stdToml":[16958]},"nodeType":"SourceUnit","src":"46:5448:136","nodes":[{"id":89579,"nodeType":"PragmaDirective","src":"46:24:136","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":89580,"nodeType":"ImportDirective","src":"72:28:136","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":90199,"sourceUnit":17797,"symbolAliases":[],"unitAlias":""},{"id":89581,"nodeType":"ImportDirective","src":"101:35:136","nodes":[],"absolutePath":"pkg/contracts/src/PassportScorer.sol","file":"../src/PassportScorer.sol","nameLocation":"-1:-1:-1","scope":90199,"sourceUnit":70619,"symbolAliases":[],"unitAlias":""},{"id":89583,"nodeType":"ImportDirective","src":"138:66:136","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol","file":"@openzeppelin/foundry/LegacyUpgrades.sol","nameLocation":"-1:-1:-1","scope":90199,"sourceUnit":61297,"symbolAliases":[{"foreign":{"id":89582,"name":"Upgrades","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61176,"src":"146:8:136","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":89585,"nodeType":"ImportDirective","src":"206:84:136","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":90199,"sourceUnit":55022,"symbolAliases":[{"foreign":{"id":89584,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55021,"src":"214:12:136","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":90198,"nodeType":"ContractDefinition","src":"292:5201:136","nodes":[{"id":89590,"nodeType":"VariableDeclaration","src":"334:36:136","nodes":[],"constant":false,"functionSelector":"4905e831","mutability":"mutable","name":"passportScorer","nameLocation":"356:14:136","scope":90198,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"},"typeName":{"id":89589,"nodeType":"UserDefinedTypeName","pathNode":{"id":89588,"name":"PassportScorer","nameLocations":["334:14:136"],"nodeType":"IdentifierPath","referencedDeclaration":70618,"src":"334:14:136"},"referencedDeclaration":70618,"src":"334:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"visibility":"public"},{"id":89596,"nodeType":"VariableDeclaration","src":"376:39:136","nodes":[],"constant":false,"functionSelector":"8df8b2fe","mutability":"mutable","name":"listManager","nameLocation":"391:11:136","scope":90198,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89591,"name":"address","nodeType":"ElementaryTypeName","src":"376:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"31","id":89594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"413:1:136","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":89593,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"405:7:136","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":89592,"name":"address","nodeType":"ElementaryTypeName","src":"405:7:136","typeDescriptions":{}}},"id":89595,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"405:10:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":89602,"nodeType":"VariableDeclaration","src":"421:32:136","nodes":[],"constant":false,"functionSelector":"4f8632ba","mutability":"mutable","name":"user","nameLocation":"436:4:136","scope":90198,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89597,"name":"address","nodeType":"ElementaryTypeName","src":"421:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"32","id":89600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"451:1:136","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":89599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"443:7:136","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":89598,"name":"address","nodeType":"ElementaryTypeName","src":"443:7:136","typeDescriptions":{}}},"id":89601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"443:10:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":89608,"nodeType":"VariableDeclaration","src":"459:36:136","nodes":[],"constant":false,"functionSelector":"a8c62e76","mutability":"mutable","name":"strategy","nameLocation":"474:8:136","scope":90198,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89603,"name":"address","nodeType":"ElementaryTypeName","src":"459:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"33","id":89606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"493:1:136","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":89605,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"485:7:136","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":89604,"name":"address","nodeType":"ElementaryTypeName","src":"485:7:136","typeDescriptions":{}}},"id":89607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"485:10:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":89614,"nodeType":"VariableDeclaration","src":"501:39:136","nodes":[],"constant":false,"functionSelector":"6c53db9a","mutability":"mutable","name":"councilSafe","nameLocation":"516:11:136","scope":90198,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89609,"name":"address","nodeType":"ElementaryTypeName","src":"501:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"34","id":89612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"538:1:136","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"}],"id":89611,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"530:7:136","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":89610,"name":"address","nodeType":"ElementaryTypeName","src":"530:7:136","typeDescriptions":{}}},"id":89613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"530:10:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":89620,"nodeType":"VariableDeclaration","src":"546:44:136","nodes":[],"constant":false,"functionSelector":"3ea7771b","mutability":"mutable","name":"unauthorizedUser","nameLocation":"561:16:136","scope":90198,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89615,"name":"address","nodeType":"ElementaryTypeName","src":"546:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"35","id":89618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"588:1:136","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"}],"id":89617,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"580:7:136","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":89616,"name":"address","nodeType":"ElementaryTypeName","src":"580:7:136","typeDescriptions":{}}},"id":89619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"580:10:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":89623,"nodeType":"VariableDeclaration","src":"596:32:136","nodes":[],"constant":false,"functionSelector":"073a2d8c","mutability":"mutable","name":"passportData","nameLocation":"616:12:136","scope":90198,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_storage","typeString":"struct PassportData"},"typeName":{"id":89622,"nodeType":"UserDefinedTypeName","pathNode":{"id":89621,"name":"PassportData","nameLocations":["596:12:136"],"nodeType":"IdentifierPath","referencedDeclaration":70040,"src":"596:12:136"},"referencedDeclaration":70040,"src":"596:12:136","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_storage_ptr","typeString":"struct PassportData"}},"visibility":"public"},{"id":89672,"nodeType":"FunctionDefinition","src":"635:374:136","nodes":[],"body":{"id":89671,"nodeType":"Block","src":"659:350:136","nodes":[],"statements":[{"assignments":[89628],"declarations":[{"constant":false,"id":89628,"mutability":"mutable","name":"proxy","nameLocation":"682:5:136","nodeType":"VariableDeclaration","scope":89671,"src":"669:18:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"},"typeName":{"id":89627,"nodeType":"UserDefinedTypeName","pathNode":{"id":89626,"name":"ERC1967Proxy","nameLocations":["669:12:136"],"nodeType":"IdentifierPath","referencedDeclaration":55021,"src":"669:12:136"},"referencedDeclaration":55021,"src":"669:12:136","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}},"visibility":"internal"}],"id":89650,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":89636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"728:18:136","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_PassportScorer_$70618_$","typeString":"function () returns (contract PassportScorer)"},"typeName":{"id":89635,"nodeType":"UserDefinedTypeName","pathNode":{"id":89634,"name":"PassportScorer","nameLocations":["732:14:136"],"nodeType":"IdentifierPath","referencedDeclaration":70618,"src":"732:14:136"},"referencedDeclaration":70618,"src":"732:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}}},"id":89637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"728:20:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}],"id":89633,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"720:7:136","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":89632,"name":"address","nodeType":"ElementaryTypeName","src":"720:7:136","typeDescriptions":{}}},"id":89638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"720:29:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":89641,"name":"PassportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70618,"src":"786:14:136","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PassportScorer_$70618_$","typeString":"type(contract PassportScorer)"}},"id":89642,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"801:10:136","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":70311,"src":"786:25:136","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$returns$__$","typeString":"function PassportScorer.initialize(address)"}},"id":89643,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"812:8:136","memberName":"selector","nodeType":"MemberAccess","src":"786:34:136","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":89646,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89596,"src":"830:11:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":89645,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"822:7:136","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":89644,"name":"address","nodeType":"ElementaryTypeName","src":"822:7:136","typeDescriptions":{}}},"id":89647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"822:20:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":89639,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"763:3:136","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":89640,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"767:18:136","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"763:22:136","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":89648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"763:80:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":89631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"690:16:136","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55021_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":89630,"nodeType":"UserDefinedTypeName","pathNode":{"id":89629,"name":"ERC1967Proxy","nameLocations":["694:12:136"],"nodeType":"IdentifierPath","referencedDeclaration":55021,"src":"694:12:136"},"referencedDeclaration":55021,"src":"694:12:136","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}},"id":89649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"690:163:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}},"nodeType":"VariableDeclarationStatement","src":"669:184:136"},{"expression":{"id":89661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":89651,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"864:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":89657,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89628,"src":"912:5:136","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}],"id":89656,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"904:7:136","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":89655,"name":"address","nodeType":"ElementaryTypeName","src":"904:7:136","typeDescriptions":{}}},"id":89658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"904:14:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":89654,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"896:8:136","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":89653,"name":"address","nodeType":"ElementaryTypeName","src":"896:8:136","stateMutability":"payable","typeDescriptions":{}}},"id":89659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"896:23:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":89652,"name":"PassportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70618,"src":"881:14:136","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PassportScorer_$70618_$","typeString":"type(contract PassportScorer)"}},"id":89660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"881:39:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"src":"864:56:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":89662,"nodeType":"ExpressionStatement","src":"864:56:136"},{"expression":{"id":89669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":89663,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89623,"src":"931:12:136","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_storage","typeString":"struct PassportData storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"313030","id":89665,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"967:3:136","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"expression":{"id":89666,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"985:5:136","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":89667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"991:9:136","memberName":"timestamp","nodeType":"MemberAccess","src":"985:15:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":89664,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70040,"src":"946:12:136","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PassportData_$70040_storage_ptr_$","typeString":"type(struct PassportData storage pointer)"}},"id":89668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["960:5:136","972:11:136"],"names":["score","lastUpdated"],"nodeType":"FunctionCall","src":"946:56:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_memory_ptr","typeString":"struct PassportData memory"}},"src":"931:71:136","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_storage","typeString":"struct PassportData storage ref"}},"id":89670,"nodeType":"ExpressionStatement","src":"931:71:136"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"644:5:136","parameters":{"id":89624,"nodeType":"ParameterList","parameters":[],"src":"649:2:136"},"returnParameters":{"id":89625,"nodeType":"ParameterList","parameters":[],"src":"659:0:136"},"scope":90198,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":89711,"nodeType":"FunctionDefinition","src":"1015:331:136","nodes":[],"body":{"id":89710,"nodeType":"Block","src":"1050:296:136","nodes":[],"statements":[{"expression":{"arguments":[{"id":89678,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89596,"src":"1069:11:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":89675,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1060:2:136","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":89677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1063:5:136","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"1060:8:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":89679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1060:21:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89680,"nodeType":"ExpressionStatement","src":"1060:21:136"},{"expression":{"arguments":[{"id":89684,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89602,"src":"1119:4:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":89685,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89623,"src":"1125:12:136","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_storage","typeString":"struct PassportData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PassportData_$70040_storage","typeString":"struct PassportData storage ref"}],"expression":{"id":89681,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"1091:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":89683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1106:12:136","memberName":"addUserScore","nodeType":"MemberAccess","referencedDeclaration":70342,"src":"1091:27:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_PassportData_$70040_memory_ptr_$returns$__$","typeString":"function (address,struct PassportData memory) external"}},"id":89686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1091:47:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89687,"nodeType":"ExpressionStatement","src":"1091:47:136"},{"assignments":[89690],"declarations":[{"constant":false,"id":89690,"mutability":"mutable","name":"storedData","nameLocation":"1169:10:136","nodeType":"VariableDeclaration","scope":89710,"src":"1149:30:136","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":89689,"nodeType":"UserDefinedTypeName","pathNode":{"id":89688,"name":"PassportData","nameLocations":["1149:12:136"],"nodeType":"IdentifierPath","referencedDeclaration":70040,"src":"1149:12:136"},"referencedDeclaration":70040,"src":"1149:12:136","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"id":89695,"initialValue":{"arguments":[{"id":89693,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89602,"src":"1210:4:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":89691,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"1182:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":89692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1197:12:136","memberName":"getUserScore","nodeType":"MemberAccess","referencedDeclaration":70590,"src":"1182:27:136","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_struct$_PassportData_$70040_memory_ptr_$","typeString":"function (address) view external returns (struct PassportData memory)"}},"id":89694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1182:33:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_memory_ptr","typeString":"struct PassportData memory"}},"nodeType":"VariableDeclarationStatement","src":"1149:66:136"},{"expression":{"arguments":[{"expression":{"id":89697,"name":"storedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89690,"src":"1234:10:136","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_memory_ptr","typeString":"struct PassportData memory"}},"id":89698,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1245:5:136","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":70037,"src":"1234:16:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":89699,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89623,"src":"1252:12:136","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_storage","typeString":"struct PassportData storage ref"}},"id":89700,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1265:5:136","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":70037,"src":"1252:18:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":89696,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"1225:8:136","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":89701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1225:46:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89702,"nodeType":"ExpressionStatement","src":"1225:46:136"},{"expression":{"arguments":[{"expression":{"id":89704,"name":"storedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89690,"src":"1290:10:136","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_memory_ptr","typeString":"struct PassportData memory"}},"id":89705,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1301:11:136","memberName":"lastUpdated","nodeType":"MemberAccess","referencedDeclaration":70039,"src":"1290:22:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":89706,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89623,"src":"1314:12:136","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_storage","typeString":"struct PassportData storage ref"}},"id":89707,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1327:11:136","memberName":"lastUpdated","nodeType":"MemberAccess","referencedDeclaration":70039,"src":"1314:24:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":89703,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"1281:8:136","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":89708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1281:58:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89709,"nodeType":"ExpressionStatement","src":"1281:58:136"}]},"functionSelector":"0c2759da","implemented":true,"kind":"function","modifiers":[],"name":"testAddUserScore","nameLocation":"1024:16:136","parameters":{"id":89673,"nodeType":"ParameterList","parameters":[],"src":"1040:2:136"},"returnParameters":{"id":89674,"nodeType":"ParameterList","parameters":[],"src":"1050:0:136"},"scope":90198,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":89760,"nodeType":"FunctionDefinition","src":"1352:362:136","nodes":[],"body":{"id":89759,"nodeType":"Block","src":"1385:329:136","nodes":[],"statements":[{"expression":{"arguments":[{"id":89717,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89596,"src":"1404:11:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":89714,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1395:2:136","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":89716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1398:5:136","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"1395:8:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":89718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1395:21:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89719,"nodeType":"ExpressionStatement","src":"1395:21:136"},{"expression":{"arguments":[{"id":89723,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89602,"src":"1454:4:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":89724,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89623,"src":"1460:12:136","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_storage","typeString":"struct PassportData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PassportData_$70040_storage","typeString":"struct PassportData storage ref"}],"expression":{"id":89720,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"1426:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":89722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1441:12:136","memberName":"addUserScore","nodeType":"MemberAccess","referencedDeclaration":70342,"src":"1426:27:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_PassportData_$70040_memory_ptr_$returns$__$","typeString":"function (address,struct PassportData memory) external"}},"id":89725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1426:47:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89726,"nodeType":"ExpressionStatement","src":"1426:47:136"},{"expression":{"arguments":[{"id":89730,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89596,"src":"1493:11:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":89727,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1484:2:136","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":89729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1487:5:136","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"1484:8:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":89731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1484:21:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89732,"nodeType":"ExpressionStatement","src":"1484:21:136"},{"expression":{"arguments":[{"id":89736,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89602,"src":"1541:4:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":89733,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"1515:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":89735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1530:10:136","memberName":"removeUser","nodeType":"MemberAccess","referencedDeclaration":70365,"src":"1515:25:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":89737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1515:31:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89738,"nodeType":"ExpressionStatement","src":"1515:31:136"},{"assignments":[89741],"declarations":[{"constant":false,"id":89741,"mutability":"mutable","name":"storedData","nameLocation":"1577:10:136","nodeType":"VariableDeclaration","scope":89759,"src":"1557:30:136","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":89740,"nodeType":"UserDefinedTypeName","pathNode":{"id":89739,"name":"PassportData","nameLocations":["1557:12:136"],"nodeType":"IdentifierPath","referencedDeclaration":70040,"src":"1557:12:136"},"referencedDeclaration":70040,"src":"1557:12:136","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"id":89746,"initialValue":{"arguments":[{"id":89744,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89602,"src":"1618:4:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":89742,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"1590:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":89743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1605:12:136","memberName":"getUserScore","nodeType":"MemberAccess","referencedDeclaration":70590,"src":"1590:27:136","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_struct$_PassportData_$70040_memory_ptr_$","typeString":"function (address) view external returns (struct PassportData memory)"}},"id":89745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1590:33:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_memory_ptr","typeString":"struct PassportData memory"}},"nodeType":"VariableDeclarationStatement","src":"1557:66:136"},{"expression":{"arguments":[{"expression":{"id":89748,"name":"storedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89741,"src":"1642:10:136","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_memory_ptr","typeString":"struct PassportData memory"}},"id":89749,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1653:5:136","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":70037,"src":"1642:16:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":89750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1660:1:136","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":89747,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"1633:8:136","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":89751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1633:29:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89752,"nodeType":"ExpressionStatement","src":"1633:29:136"},{"expression":{"arguments":[{"expression":{"id":89754,"name":"storedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89741,"src":"1681:10:136","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_memory_ptr","typeString":"struct PassportData memory"}},"id":89755,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1692:11:136","memberName":"lastUpdated","nodeType":"MemberAccess","referencedDeclaration":70039,"src":"1681:22:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":89756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1705:1:136","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":89753,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"1672:8:136","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":89757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1672:35:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89758,"nodeType":"ExpressionStatement","src":"1672:35:136"}]},"functionSelector":"d4dadecb","implemented":true,"kind":"function","modifiers":[],"name":"testRemoveUser","nameLocation":"1361:14:136","parameters":{"id":89712,"nodeType":"ParameterList","parameters":[],"src":"1375:2:136"},"returnParameters":{"id":89713,"nodeType":"ParameterList","parameters":[],"src":"1385:0:136"},"scope":90198,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":89792,"nodeType":"FunctionDefinition","src":"1720:246:136","nodes":[],"body":{"id":89791,"nodeType":"Block","src":"1760:206:136","nodes":[],"statements":[{"assignments":[89764],"declarations":[{"constant":false,"id":89764,"mutability":"mutable","name":"newManager","nameLocation":"1778:10:136","nodeType":"VariableDeclaration","scope":89791,"src":"1770:18:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89763,"name":"address","nodeType":"ElementaryTypeName","src":"1770:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":89769,"initialValue":{"arguments":[{"hexValue":"36","id":89767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1799:1:136","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"}],"id":89766,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1791:7:136","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":89765,"name":"address","nodeType":"ElementaryTypeName","src":"1791:7:136","typeDescriptions":{}}},"id":89768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1791:10:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1770:31:136"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":89773,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"1821:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":89774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1836:5:136","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":52826,"src":"1821:20:136","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":89775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1821:22:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":89770,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1812:2:136","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":89772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1815:5:136","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"1812:8:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":89776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1812:32:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89777,"nodeType":"ExpressionStatement","src":"1812:32:136"},{"expression":{"arguments":[{"id":89781,"name":"newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89764,"src":"1887:10:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":89778,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"1854:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":89780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1869:17:136","memberName":"changeListManager","nodeType":"MemberAccess","referencedDeclaration":70392,"src":"1854:32:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":89782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1854:44:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89783,"nodeType":"ExpressionStatement","src":"1854:44:136"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":89785,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"1918:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":89786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1933:11:136","memberName":"listManager","nodeType":"MemberAccess","referencedDeclaration":70144,"src":"1918:26:136","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":89787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1918:28:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":89788,"name":"newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89764,"src":"1948:10:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":89784,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6290,"src":"1909:8:136","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":89789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1909:50:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89790,"nodeType":"ExpressionStatement","src":"1909:50:136"}]},"functionSelector":"ebe69a5f","implemented":true,"kind":"function","modifiers":[],"name":"testChangeListManager","nameLocation":"1729:21:136","parameters":{"id":89761,"nodeType":"ParameterList","parameters":[],"src":"1750:2:136"},"returnParameters":{"id":89762,"nodeType":"ParameterList","parameters":[],"src":"1760:0:136"},"scope":90198,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":89817,"nodeType":"FunctionDefinition","src":"1972:217:136","nodes":[],"body":{"id":89816,"nodeType":"Block","src":"2024:165:136","nodes":[],"statements":[{"expression":{"arguments":[{"id":89798,"name":"unauthorizedUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89620,"src":"2043:16:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":89795,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2034:2:136","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":89797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2037:5:136","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"2034:8:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":89799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2034:26:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89800,"nodeType":"ExpressionStatement","src":"2034:26:136"},{"expression":{"arguments":[{"expression":{"expression":{"id":89804,"name":"PassportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70618,"src":"2086:14:136","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PassportScorer_$70618_$","typeString":"type(contract PassportScorer)"}},"id":89805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2101:14:136","memberName":"OnlyAuthorized","nodeType":"MemberAccess","referencedDeclaration":70198,"src":"2086:29:136","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":89806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2116:8:136","memberName":"selector","nodeType":"MemberAccess","src":"2086:38:136","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":89801,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2070:2:136","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":89803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2073:12:136","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21413,"src":"2070:15:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":89807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2070:55:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89808,"nodeType":"ExpressionStatement","src":"2070:55:136"},{"expression":{"arguments":[{"id":89812,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89602,"src":"2163:4:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":89813,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89623,"src":"2169:12:136","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_storage","typeString":"struct PassportData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PassportData_$70040_storage","typeString":"struct PassportData storage ref"}],"expression":{"id":89809,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"2135:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":89811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2150:12:136","memberName":"addUserScore","nodeType":"MemberAccess","referencedDeclaration":70342,"src":"2135:27:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_PassportData_$70040_memory_ptr_$returns$__$","typeString":"function (address,struct PassportData memory) external"}},"id":89814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2135:47:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89815,"nodeType":"ExpressionStatement","src":"2135:47:136"}]},"functionSelector":"25821153","implemented":true,"kind":"function","modifiers":[],"name":"testOnlyAuthorizedCanAddUserScore","nameLocation":"1981:33:136","parameters":{"id":89793,"nodeType":"ParameterList","parameters":[],"src":"2014:2:136"},"returnParameters":{"id":89794,"nodeType":"ParameterList","parameters":[],"src":"2024:0:136"},"scope":90198,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":89841,"nodeType":"FunctionDefinition","src":"2195:199:136","nodes":[],"body":{"id":89840,"nodeType":"Block","src":"2245:149:136","nodes":[],"statements":[{"expression":{"arguments":[{"id":89823,"name":"unauthorizedUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89620,"src":"2264:16:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":89820,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2255:2:136","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":89822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2258:5:136","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"2255:8:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":89824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2255:26:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89825,"nodeType":"ExpressionStatement","src":"2255:26:136"},{"expression":{"arguments":[{"expression":{"expression":{"id":89829,"name":"PassportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70618,"src":"2307:14:136","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PassportScorer_$70618_$","typeString":"type(contract PassportScorer)"}},"id":89830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2322:14:136","memberName":"OnlyAuthorized","nodeType":"MemberAccess","referencedDeclaration":70198,"src":"2307:29:136","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":89831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2337:8:136","memberName":"selector","nodeType":"MemberAccess","src":"2307:38:136","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":89826,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2291:2:136","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":89828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2294:12:136","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21413,"src":"2291:15:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":89832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2291:55:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89833,"nodeType":"ExpressionStatement","src":"2291:55:136"},{"expression":{"arguments":[{"id":89837,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89602,"src":"2382:4:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":89834,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"2356:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":89836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2371:10:136","memberName":"removeUser","nodeType":"MemberAccess","referencedDeclaration":70365,"src":"2356:25:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":89838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2356:31:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89839,"nodeType":"ExpressionStatement","src":"2356:31:136"}]},"functionSelector":"82fad478","implemented":true,"kind":"function","modifiers":[],"name":"testOnlyAuthorizedCanRemoveUser","nameLocation":"2204:31:136","parameters":{"id":89818,"nodeType":"ParameterList","parameters":[],"src":"2235:2:136"},"returnParameters":{"id":89819,"nodeType":"ParameterList","parameters":[],"src":"2245:0:136"},"scope":90198,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":89870,"nodeType":"FunctionDefinition","src":"2400:247:136","nodes":[],"body":{"id":89869,"nodeType":"Block","src":"2452:195:136","nodes":[],"statements":[{"assignments":[89845],"declarations":[{"constant":false,"id":89845,"mutability":"mutable","name":"newManager","nameLocation":"2470:10:136","nodeType":"VariableDeclaration","scope":89869,"src":"2462:18:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89844,"name":"address","nodeType":"ElementaryTypeName","src":"2462:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":89850,"initialValue":{"arguments":[{"hexValue":"36","id":89848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2491:1:136","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"}],"id":89847,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2483:7:136","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":89846,"name":"address","nodeType":"ElementaryTypeName","src":"2483:7:136","typeDescriptions":{}}},"id":89849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2483:10:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2462:31:136"},{"expression":{"arguments":[{"id":89854,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89596,"src":"2513:11:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":89851,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2504:2:136","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":89853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2507:5:136","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"2504:8:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":89855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2504:21:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89856,"nodeType":"ExpressionStatement","src":"2504:21:136"},{"expression":{"arguments":[{"hexValue":"4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572","id":89860,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2551:34:136","typeDescriptions":{"typeIdentifier":"t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe","typeString":"literal_string \"Ownable: caller is not the owner\""},"value":"Ownable: caller is not the owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe","typeString":"literal_string \"Ownable: caller is not the owner\""}],"expression":{"id":89857,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2535:2:136","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":89859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2538:12:136","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21419,"src":"2535:15:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":89861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2535:51:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89862,"nodeType":"ExpressionStatement","src":"2535:51:136"},{"expression":{"arguments":[{"id":89866,"name":"newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89845,"src":"2629:10:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":89863,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"2596:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":89865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2611:17:136","memberName":"changeListManager","nodeType":"MemberAccess","referencedDeclaration":70392,"src":"2596:32:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":89867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2596:44:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89868,"nodeType":"ExpressionStatement","src":"2596:44:136"}]},"functionSelector":"24e40b97","implemented":true,"kind":"function","modifiers":[],"name":"testOnlyOwnerCanChangeListManager","nameLocation":"2409:33:136","parameters":{"id":89842,"nodeType":"ParameterList","parameters":[],"src":"2442:2:136"},"returnParameters":{"id":89843,"nodeType":"ParameterList","parameters":[],"src":"2452:0:136"},"scope":90198,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":89918,"nodeType":"FunctionDefinition","src":"2653:430:136","nodes":[],"body":{"id":89917,"nodeType":"Block","src":"2687:396:136","nodes":[],"statements":[{"assignments":[89874],"declarations":[{"constant":false,"id":89874,"mutability":"mutable","name":"threshold","nameLocation":"2705:9:136","nodeType":"VariableDeclaration","scope":89917,"src":"2697:17:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89873,"name":"uint256","nodeType":"ElementaryTypeName","src":"2697:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":89876,"initialValue":{"hexValue":"3530","id":89875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2717:2:136","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"2697:22:136"},{"expression":{"arguments":[{"id":89880,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89596,"src":"2739:11:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":89877,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2730:2:136","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":89879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2733:5:136","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"2730:8:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":89881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2730:21:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89882,"nodeType":"ExpressionStatement","src":"2730:21:136"},{"expression":{"arguments":[{"id":89886,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89608,"src":"2788:8:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":89887,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89874,"src":"2798:9:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":89888,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89614,"src":"2809:11:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":89883,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"2761:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":89885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2776:11:136","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":70451,"src":"2761:26:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":89889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2761:60:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89890,"nodeType":"ExpressionStatement","src":"2761:60:136"},{"assignments":[89892,89894,89896],"declarations":[{"constant":false,"id":89892,"mutability":"mutable","name":"storedThreshold","nameLocation":"2841:15:136","nodeType":"VariableDeclaration","scope":89917,"src":"2833:23:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89891,"name":"uint256","nodeType":"ElementaryTypeName","src":"2833:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":89894,"mutability":"mutable","name":"storedActive","nameLocation":"2863:12:136","nodeType":"VariableDeclaration","scope":89917,"src":"2858:17:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":89893,"name":"bool","nodeType":"ElementaryTypeName","src":"2858:4:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":89896,"mutability":"mutable","name":"storedCouncilSafe","nameLocation":"2885:17:136","nodeType":"VariableDeclaration","scope":89917,"src":"2877:25:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89895,"name":"address","nodeType":"ElementaryTypeName","src":"2877:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":89901,"initialValue":{"arguments":[{"id":89899,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89608,"src":"2932:8:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":89897,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"2906:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":89898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2921:10:136","memberName":"strategies","nodeType":"MemberAccess","referencedDeclaration":70154,"src":"2906:25:136","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$_t_bool_$_t_address_$","typeString":"function (address) view external returns (uint256,bool,address)"}},"id":89900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2906:35:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$_t_address_$","typeString":"tuple(uint256,bool,address)"}},"nodeType":"VariableDeclarationStatement","src":"2832:109:136"},{"expression":{"arguments":[{"id":89903,"name":"storedThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89892,"src":"2960:15:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":89904,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89874,"src":"2977:9:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":89902,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"2951:8:136","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":89905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2951:36:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89906,"nodeType":"ExpressionStatement","src":"2951:36:136"},{"expression":{"arguments":[{"id":89908,"name":"storedActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89894,"src":"3006:12:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":89909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3020:5:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":89907,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6113,"src":"2997:8:136","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":89910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2997:29:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89911,"nodeType":"ExpressionStatement","src":"2997:29:136"},{"expression":{"arguments":[{"id":89913,"name":"storedCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89896,"src":"3045:17:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":89914,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89614,"src":"3064:11:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":89912,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6290,"src":"3036:8:136","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":89915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3036:40:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89916,"nodeType":"ExpressionStatement","src":"3036:40:136"}]},"functionSelector":"9693f128","implemented":true,"kind":"function","modifiers":[],"name":"testAddStrategy","nameLocation":"2662:15:136","parameters":{"id":89871,"nodeType":"ParameterList","parameters":[],"src":"2677:2:136"},"returnParameters":{"id":89872,"nodeType":"ParameterList","parameters":[],"src":"2687:0:136"},"scope":90198,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":89978,"nodeType":"FunctionDefinition","src":"3089:544:136","nodes":[],"body":{"id":89977,"nodeType":"Block","src":"3126:507:136","nodes":[],"statements":[{"assignments":[89922],"declarations":[{"constant":false,"id":89922,"mutability":"mutable","name":"threshold","nameLocation":"3144:9:136","nodeType":"VariableDeclaration","scope":89977,"src":"3136:17:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89921,"name":"uint256","nodeType":"ElementaryTypeName","src":"3136:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":89924,"initialValue":{"hexValue":"3530","id":89923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3156:2:136","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"3136:22:136"},{"expression":{"arguments":[{"id":89928,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89596,"src":"3178:11:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":89925,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"3169:2:136","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":89927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3172:5:136","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"3169:8:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":89929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3169:21:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89930,"nodeType":"ExpressionStatement","src":"3169:21:136"},{"expression":{"arguments":[{"id":89934,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89608,"src":"3227:8:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":89935,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89922,"src":"3237:9:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":89936,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89614,"src":"3248:11:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":89931,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"3200:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":89933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3215:11:136","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":70451,"src":"3200:26:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":89937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3200:60:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89938,"nodeType":"ExpressionStatement","src":"3200:60:136"},{"expression":{"arguments":[{"id":89942,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89596,"src":"3280:11:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":89939,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"3271:2:136","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":89941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3274:5:136","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"3271:8:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":89943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3271:21:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89944,"nodeType":"ExpressionStatement","src":"3271:21:136"},{"expression":{"arguments":[{"id":89948,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89608,"src":"3332:8:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":89945,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"3302:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":89947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3317:14:136","memberName":"removeStrategy","nodeType":"MemberAccess","referencedDeclaration":70484,"src":"3302:29:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":89949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3302:39:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89950,"nodeType":"ExpressionStatement","src":"3302:39:136"},{"assignments":[89952,89954,89956],"declarations":[{"constant":false,"id":89952,"mutability":"mutable","name":"storedThreshold","nameLocation":"3361:15:136","nodeType":"VariableDeclaration","scope":89977,"src":"3353:23:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89951,"name":"uint256","nodeType":"ElementaryTypeName","src":"3353:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":89954,"mutability":"mutable","name":"storedActive","nameLocation":"3383:12:136","nodeType":"VariableDeclaration","scope":89977,"src":"3378:17:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":89953,"name":"bool","nodeType":"ElementaryTypeName","src":"3378:4:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":89956,"mutability":"mutable","name":"storedCouncilSafe","nameLocation":"3405:17:136","nodeType":"VariableDeclaration","scope":89977,"src":"3397:25:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89955,"name":"address","nodeType":"ElementaryTypeName","src":"3397:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":89961,"initialValue":{"arguments":[{"id":89959,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89608,"src":"3452:8:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":89957,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"3426:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":89958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3441:10:136","memberName":"strategies","nodeType":"MemberAccess","referencedDeclaration":70154,"src":"3426:25:136","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$_t_bool_$_t_address_$","typeString":"function (address) view external returns (uint256,bool,address)"}},"id":89960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3426:35:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$_t_address_$","typeString":"tuple(uint256,bool,address)"}},"nodeType":"VariableDeclarationStatement","src":"3352:109:136"},{"expression":{"arguments":[{"id":89963,"name":"storedThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89952,"src":"3480:15:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":89964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3497:1:136","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":89962,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"3471:8:136","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":89965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3471:28:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89966,"nodeType":"ExpressionStatement","src":"3471:28:136"},{"expression":{"arguments":[{"id":89968,"name":"storedActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89954,"src":"3518:12:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":89969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3532:5:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":89967,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6113,"src":"3509:8:136","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":89970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3509:29:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89971,"nodeType":"ExpressionStatement","src":"3509:29:136"},{"expression":{"arguments":[{"id":89973,"name":"storedCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89956,"src":"3557:17:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":89974,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89614,"src":"3576:11:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":89972,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6290,"src":"3548:8:136","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":89975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3548:40:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89976,"nodeType":"ExpressionStatement","src":"3548:40:136"}]},"functionSelector":"0778c72c","implemented":true,"kind":"function","modifiers":[],"name":"testRemoveStrategy","nameLocation":"3098:18:136","parameters":{"id":89919,"nodeType":"ParameterList","parameters":[],"src":"3116:2:136"},"returnParameters":{"id":89920,"nodeType":"ParameterList","parameters":[],"src":"3126:0:136"},"scope":90198,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":90043,"nodeType":"FunctionDefinition","src":"3639:580:136","nodes":[],"body":{"id":90042,"nodeType":"Block","src":"3689:530:136","nodes":[],"statements":[{"assignments":[89982],"declarations":[{"constant":false,"id":89982,"mutability":"mutable","name":"threshold","nameLocation":"3707:9:136","nodeType":"VariableDeclaration","scope":90042,"src":"3699:17:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89981,"name":"uint256","nodeType":"ElementaryTypeName","src":"3699:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":89984,"initialValue":{"hexValue":"3530","id":89983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3719:2:136","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"3699:22:136"},{"assignments":[89986],"declarations":[{"constant":false,"id":89986,"mutability":"mutable","name":"newThreshold","nameLocation":"3739:12:136","nodeType":"VariableDeclaration","scope":90042,"src":"3731:20:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89985,"name":"uint256","nodeType":"ElementaryTypeName","src":"3731:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":89988,"initialValue":{"hexValue":"3735","id":89987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3754:2:136","typeDescriptions":{"typeIdentifier":"t_rational_75_by_1","typeString":"int_const 75"},"value":"75"},"nodeType":"VariableDeclarationStatement","src":"3731:25:136"},{"expression":{"arguments":[{"id":89992,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89596,"src":"3776:11:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":89989,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"3767:2:136","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":89991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3770:5:136","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"3767:8:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":89993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3767:21:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89994,"nodeType":"ExpressionStatement","src":"3767:21:136"},{"expression":{"arguments":[{"id":89998,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89608,"src":"3825:8:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":89999,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89982,"src":"3835:9:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":90000,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89614,"src":"3846:11:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":89995,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"3798:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":89997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3813:11:136","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":70451,"src":"3798:26:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":90001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3798:60:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90002,"nodeType":"ExpressionStatement","src":"3798:60:136"},{"expression":{"arguments":[{"id":90006,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89596,"src":"3878:11:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":90003,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"3869:2:136","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":90005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3872:5:136","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"3869:8:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":90007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3869:21:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90008,"nodeType":"ExpressionStatement","src":"3869:21:136"},{"expression":{"arguments":[{"id":90012,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89608,"src":"3931:8:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90013,"name":"newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89986,"src":"3941:12:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":90009,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"3900:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":90011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3915:15:136","memberName":"modifyThreshold","nodeType":"MemberAccess","referencedDeclaration":70537,"src":"3900:30:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":90014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3900:54:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90015,"nodeType":"ExpressionStatement","src":"3900:54:136"},{"assignments":[90017,90019,90021],"declarations":[{"constant":false,"id":90017,"mutability":"mutable","name":"storedThreshold","nameLocation":"3974:15:136","nodeType":"VariableDeclaration","scope":90042,"src":"3966:23:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90016,"name":"uint256","nodeType":"ElementaryTypeName","src":"3966:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":90019,"mutability":"mutable","name":"storedActive","nameLocation":"3996:12:136","nodeType":"VariableDeclaration","scope":90042,"src":"3991:17:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":90018,"name":"bool","nodeType":"ElementaryTypeName","src":"3991:4:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":90021,"mutability":"mutable","name":"storedCouncilSafe","nameLocation":"4018:17:136","nodeType":"VariableDeclaration","scope":90042,"src":"4010:25:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90020,"name":"address","nodeType":"ElementaryTypeName","src":"4010:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":90026,"initialValue":{"arguments":[{"id":90024,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89608,"src":"4065:8:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":90022,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"4039:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":90023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4054:10:136","memberName":"strategies","nodeType":"MemberAccess","referencedDeclaration":70154,"src":"4039:25:136","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$_t_bool_$_t_address_$","typeString":"function (address) view external returns (uint256,bool,address)"}},"id":90025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4039:35:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$_t_address_$","typeString":"tuple(uint256,bool,address)"}},"nodeType":"VariableDeclarationStatement","src":"3965:109:136"},{"expression":{"arguments":[{"id":90028,"name":"storedThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90017,"src":"4093:15:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":90029,"name":"newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89986,"src":"4110:12:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":90027,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"4084:8:136","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":90030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4084:39:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90031,"nodeType":"ExpressionStatement","src":"4084:39:136"},{"expression":{"arguments":[{"id":90033,"name":"storedActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90019,"src":"4142:12:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":90034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4156:5:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":90032,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6113,"src":"4133:8:136","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":90035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4133:29:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90036,"nodeType":"ExpressionStatement","src":"4133:29:136"},{"expression":{"arguments":[{"id":90038,"name":"storedCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90021,"src":"4181:17:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90039,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89614,"src":"4200:11:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":90037,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6290,"src":"4172:8:136","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":90040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4172:40:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90041,"nodeType":"ExpressionStatement","src":"4172:40:136"}]},"functionSelector":"e68393b4","implemented":true,"kind":"function","modifiers":[],"name":"testModifyThresholdByAuthorized","nameLocation":"3648:31:136","parameters":{"id":89979,"nodeType":"ParameterList","parameters":[],"src":"3679:2:136"},"returnParameters":{"id":89980,"nodeType":"ParameterList","parameters":[],"src":"3689:0:136"},"scope":90198,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":90108,"nodeType":"FunctionDefinition","src":"4225:581:136","nodes":[],"body":{"id":90107,"nodeType":"Block","src":"4276:530:136","nodes":[],"statements":[{"assignments":[90047],"declarations":[{"constant":false,"id":90047,"mutability":"mutable","name":"threshold","nameLocation":"4294:9:136","nodeType":"VariableDeclaration","scope":90107,"src":"4286:17:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90046,"name":"uint256","nodeType":"ElementaryTypeName","src":"4286:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":90049,"initialValue":{"hexValue":"3530","id":90048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4306:2:136","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"4286:22:136"},{"assignments":[90051],"declarations":[{"constant":false,"id":90051,"mutability":"mutable","name":"newThreshold","nameLocation":"4326:12:136","nodeType":"VariableDeclaration","scope":90107,"src":"4318:20:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90050,"name":"uint256","nodeType":"ElementaryTypeName","src":"4318:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":90053,"initialValue":{"hexValue":"3735","id":90052,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4341:2:136","typeDescriptions":{"typeIdentifier":"t_rational_75_by_1","typeString":"int_const 75"},"value":"75"},"nodeType":"VariableDeclarationStatement","src":"4318:25:136"},{"expression":{"arguments":[{"id":90057,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89596,"src":"4363:11:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":90054,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"4354:2:136","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":90056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4357:5:136","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"4354:8:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":90058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4354:21:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90059,"nodeType":"ExpressionStatement","src":"4354:21:136"},{"expression":{"arguments":[{"id":90063,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89608,"src":"4412:8:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90064,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90047,"src":"4422:9:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":90065,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89614,"src":"4433:11:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":90060,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"4385:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":90062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4400:11:136","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":70451,"src":"4385:26:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":90066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4385:60:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90067,"nodeType":"ExpressionStatement","src":"4385:60:136"},{"expression":{"arguments":[{"id":90071,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89614,"src":"4465:11:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":90068,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"4456:2:136","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":90070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4459:5:136","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"4456:8:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":90072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4456:21:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90073,"nodeType":"ExpressionStatement","src":"4456:21:136"},{"expression":{"arguments":[{"id":90077,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89608,"src":"4518:8:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90078,"name":"newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90051,"src":"4528:12:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":90074,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"4487:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":90076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4502:15:136","memberName":"modifyThreshold","nodeType":"MemberAccess","referencedDeclaration":70537,"src":"4487:30:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":90079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4487:54:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90080,"nodeType":"ExpressionStatement","src":"4487:54:136"},{"assignments":[90082,90084,90086],"declarations":[{"constant":false,"id":90082,"mutability":"mutable","name":"storedThreshold","nameLocation":"4561:15:136","nodeType":"VariableDeclaration","scope":90107,"src":"4553:23:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90081,"name":"uint256","nodeType":"ElementaryTypeName","src":"4553:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":90084,"mutability":"mutable","name":"storedActive","nameLocation":"4583:12:136","nodeType":"VariableDeclaration","scope":90107,"src":"4578:17:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":90083,"name":"bool","nodeType":"ElementaryTypeName","src":"4578:4:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":90086,"mutability":"mutable","name":"storedCouncilSafe","nameLocation":"4605:17:136","nodeType":"VariableDeclaration","scope":90107,"src":"4597:25:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90085,"name":"address","nodeType":"ElementaryTypeName","src":"4597:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":90091,"initialValue":{"arguments":[{"id":90089,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89608,"src":"4652:8:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":90087,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"4626:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":90088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4641:10:136","memberName":"strategies","nodeType":"MemberAccess","referencedDeclaration":70154,"src":"4626:25:136","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$_t_bool_$_t_address_$","typeString":"function (address) view external returns (uint256,bool,address)"}},"id":90090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4626:35:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$_t_address_$","typeString":"tuple(uint256,bool,address)"}},"nodeType":"VariableDeclarationStatement","src":"4552:109:136"},{"expression":{"arguments":[{"id":90093,"name":"storedThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90082,"src":"4680:15:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":90094,"name":"newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90051,"src":"4697:12:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":90092,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"4671:8:136","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":90095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4671:39:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90096,"nodeType":"ExpressionStatement","src":"4671:39:136"},{"expression":{"arguments":[{"id":90098,"name":"storedActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90084,"src":"4729:12:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":90099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4743:5:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":90097,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6113,"src":"4720:8:136","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":90100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4720:29:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90101,"nodeType":"ExpressionStatement","src":"4720:29:136"},{"expression":{"arguments":[{"id":90103,"name":"storedCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90086,"src":"4768:17:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90104,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89614,"src":"4787:11:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":90102,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6290,"src":"4759:8:136","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":90105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4759:40:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90106,"nodeType":"ExpressionStatement","src":"4759:40:136"}]},"functionSelector":"3668aa29","implemented":true,"kind":"function","modifiers":[],"name":"testModifyThresholdByCouncilSafe","nameLocation":"4234:32:136","parameters":{"id":90044,"nodeType":"ParameterList","parameters":[],"src":"4266:2:136"},"returnParameters":{"id":90045,"nodeType":"ParameterList","parameters":[],"src":"4276:0:136"},"scope":90198,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":90197,"nodeType":"FunctionDefinition","src":"4812:679:136","nodes":[],"body":{"id":90196,"nodeType":"Block","src":"4851:640:136","nodes":[],"statements":[{"assignments":[90112],"declarations":[{"constant":false,"id":90112,"mutability":"mutable","name":"threshold","nameLocation":"4869:9:136","nodeType":"VariableDeclaration","scope":90196,"src":"4861:17:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90111,"name":"uint256","nodeType":"ElementaryTypeName","src":"4861:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":90114,"initialValue":{"hexValue":"3530","id":90113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4881:2:136","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"4861:22:136"},{"expression":{"arguments":[{"id":90118,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89596,"src":"4903:11:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":90115,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"4894:2:136","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":90117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4897:5:136","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"4894:8:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":90119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4894:21:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90120,"nodeType":"ExpressionStatement","src":"4894:21:136"},{"expression":{"arguments":[{"id":90124,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89608,"src":"4952:8:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90125,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90112,"src":"4962:9:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":90126,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89614,"src":"4973:11:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":90121,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"4925:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":90123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4940:11:136","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":70451,"src":"4925:26:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":90127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4925:60:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90128,"nodeType":"ExpressionStatement","src":"4925:60:136"},{"expression":{"arguments":[{"id":90132,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89614,"src":"5009:11:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":90129,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"4995:2:136","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":90131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4998:10:136","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":21227,"src":"4995:13:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":90133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4995:26:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90134,"nodeType":"ExpressionStatement","src":"4995:26:136"},{"expression":{"arguments":[{"id":90138,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89608,"src":"5063:8:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":90135,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"5031:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":90137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5046:16:136","memberName":"activateStrategy","nodeType":"MemberAccess","referencedDeclaration":70509,"src":"5031:31:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":90139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5031:41:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90140,"nodeType":"ExpressionStatement","src":"5031:41:136"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":90141,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"5082:2:136","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":90143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5085:9:136","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":21239,"src":"5082:12:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":90144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5082:14:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90145,"nodeType":"ExpressionStatement","src":"5082:14:136"},{"expression":{"arguments":[{"id":90149,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89596,"src":"5116:11:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":90146,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"5107:2:136","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":90148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5110:5:136","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"5107:8:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":90150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5107:21:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90151,"nodeType":"ExpressionStatement","src":"5107:21:136"},{"expression":{"arguments":[{"id":90155,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89602,"src":"5166:4:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90156,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89623,"src":"5172:12:136","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$70040_storage","typeString":"struct PassportData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PassportData_$70040_storage","typeString":"struct PassportData storage ref"}],"expression":{"id":90152,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"5138:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":90154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5153:12:136","memberName":"addUserScore","nodeType":"MemberAccess","referencedDeclaration":70342,"src":"5138:27:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_PassportData_$70040_memory_ptr_$returns$__$","typeString":"function (address,struct PassportData memory) external"}},"id":90157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5138:47:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90158,"nodeType":"ExpressionStatement","src":"5138:47:136"},{"assignments":[90160],"declarations":[{"constant":false,"id":90160,"mutability":"mutable","name":"canExecute","nameLocation":"5201:10:136","nodeType":"VariableDeclaration","scope":90196,"src":"5196:15:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":90159,"name":"bool","nodeType":"ElementaryTypeName","src":"5196:4:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":90166,"initialValue":{"arguments":[{"id":90163,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89602,"src":"5246:4:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90164,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89608,"src":"5252:8:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":90161,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"5214:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":90162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5229:16:136","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":70576,"src":"5214:31:136","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":90165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5214:47:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"5196:65:136"},{"expression":{"arguments":[{"id":90168,"name":"canExecute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90160,"src":"5282:10:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":90167,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[6056,6071],"referencedDeclaration":6056,"src":"5271:10:136","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":90169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5271:22:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90170,"nodeType":"ExpressionStatement","src":"5271:22:136"},{"expression":{"arguments":[{"id":90174,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89596,"src":"5313:11:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":90171,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"5304:2:136","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":90173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5307:5:136","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"5304:8:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":90175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5304:21:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90176,"nodeType":"ExpressionStatement","src":"5304:21:136"},{"expression":{"arguments":[{"id":90180,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89608,"src":"5366:8:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"313530","id":90181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5376:3:136","typeDescriptions":{"typeIdentifier":"t_rational_150_by_1","typeString":"int_const 150"},"value":"150"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_150_by_1","typeString":"int_const 150"}],"expression":{"id":90177,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"5335:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":90179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5350:15:136","memberName":"modifyThreshold","nodeType":"MemberAccess","referencedDeclaration":70537,"src":"5335:30:136","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":90182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5335:45:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90183,"nodeType":"ExpressionStatement","src":"5335:45:136"},{"expression":{"id":90190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":90184,"name":"canExecute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90160,"src":"5391:10:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":90187,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89602,"src":"5436:4:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90188,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89608,"src":"5442:8:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":90185,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"5404:14:136","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$70618","typeString":"contract PassportScorer"}},"id":90186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5419:16:136","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":70576,"src":"5404:31:136","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":90189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5404:47:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5391:60:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":90191,"nodeType":"ExpressionStatement","src":"5391:60:136"},{"expression":{"arguments":[{"id":90193,"name":"canExecute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90160,"src":"5473:10:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":90192,"name":"assertFalse","nodeType":"Identifier","overloadedDeclarations":[6083,6098],"referencedDeclaration":6083,"src":"5461:11:136","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":90194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5461:23:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90195,"nodeType":"ExpressionStatement","src":"5461:23:136"}]},"functionSelector":"8caa5c44","implemented":true,"kind":"function","modifiers":[],"name":"testCanExecuteAction","nameLocation":"4821:20:136","parameters":{"id":90109,"nodeType":"ParameterList","parameters":[],"src":"4841:2:136"},"returnParameters":{"id":90110,"nodeType":"ParameterList","parameters":[],"src":"4851:0:136"},"scope":90198,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":89586,"name":"Test","nameLocations":["323:4:136"],"nodeType":"IdentifierPath","referencedDeclaration":17796,"src":"323:4:136"},"id":89587,"nodeType":"InheritanceSpecifier","src":"323:4:136"}],"canonicalName":"PassportScorerTest","contractDependencies":[55021,70618],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[90198,17796,17744,12424,12099,11306,9246,8464,5834,5831],"name":"PassportScorerTest","nameLocation":"301:18:136","scope":90199,"usedErrors":[]}],"license":"AGPL-3.0-or-later"},"id":136} \ No newline at end of file diff --git a/pkg/contracts/out/Registry.sol/Registry.json b/pkg/contracts/out/Registry.sol/Registry.json index f3b878319..91d132d38 100644 --- a/pkg/contracts/out/Registry.sol/Registry.json +++ b/pkg/contracts/out/Registry.sol/Registry.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"ALLO_OWNER","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"acceptProfileOwnership","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"anchorToProfileId","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"createProfile","inputs":[{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_name","type":"string","internalType":"string"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_owner","type":"address","internalType":"address"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"getProfileByAnchor","inputs":[{"name":"_anchor","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getProfileById","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOrMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"profileIdToPendingOwner","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profilesById","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"updateProfileMetadata","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfileName","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_name","type":"string","internalType":"string"}],"outputs":[{"name":"anchor","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfilePendingOwner","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_pendingOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"ProfileCreated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","indexed":false,"internalType":"address"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileMetadataUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"ProfileNameUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfilePendingOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"pendingOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"AMOUNT_MISMATCH","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50612b10806100206000396000f3fe60806040523480156200001157600080fd5b50600436106200015a5760003560e01c80630114cf0a146200015f57806301ffc9a7146200018e5780630ec1fbac14620001b6578063248a9ca314620001cd5780632497f3c614620001f357806324ae6a27146200020c5780632f2ff15d146200022357806336568abe146200023a57806339b86b8c14620002515780633a92f65f14620002685780633b66dacd146200027f5780634756487f14620002965780635063f36114620002b957806350d005e014620002d05780635e8a7915146200030b57806391d148541462000322578063a0cf0aea1462000339578063a217fddf1462000355578063ac402839146200035e578063c4d66de81462000375578063cf189ff2146200038c578063cfda7e0a14620003a3578063d547741f14620003ba578063dd93da4314620003d1578063e0cf1e4c14620003e8578063ee88819614620003ff575b600080fd5b620001766200017036600462001948565b6200042a565b604051620001859190620019df565b60405180910390f35b620001a56200019f36600462001a61565b620005e1565b604051901515815260200162000185565b620001a5620001c736600462001aaa565b62000619565b620001e4620001de36600462001948565b6200062e565b60405190815260200162000185565b6200020a6200020436600462001948565b62000643565b005b6200020a6200021d36600462001ad9565b62000702565b6200020a6200023436600462001aaa565b620007fb565b6200020a6200024b36600462001aaa565b62000822565b620001a56200026236600462001aaa565b620008a8565b620001e46200027936600462001ccd565b620008b6565b6200020a6200029036600462001aaa565b62000b41565b620001e4620002a736600462001d7b565b60976020526000908152604090205481565b6200020a620002ca36600462001d99565b62000ba8565b620002fc620002e136600462001948565b6099602052600090815260409020546001600160a01b031681565b60405162000185919062001de3565b620001a56200031c36600462001aaa565b62000c34565b620001a56200033336600462001aaa565b62000c55565b620002fc73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b620001e4600081565b6200020a6200036f36600462001df7565b62000c80565b6200020a6200038636600462001d7b565b62000cf3565b620002fc6200039d36600462001e37565b62000e17565b620001e460008051602062002abb83398151915281565b6200020a620003cb36600462001aaa565b62000ed8565b62000176620003e236600462001d7b565b62000efa565b6200020a620003f936600462001d99565b620010c3565b620004166200041036600462001948565b6200110e565b604051620001859695949392919062001e77565b62000434620018e5565b609860008381526020019081526020016000206040518060c00160405290816000820154815260200160018201548152602001600282018054620004789062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620004a69062001ed3565b8015620004f75780601f10620004cb57610100808354040283529160200191620004f7565b820191906000526020600020905b815481529060010190602001808311620004d957829003601f168201915b5050505050815260200160038201604051806040016040529081600082015481526020016001820180546200052c9062001ed3565b80601f01602080910402602001604051908101604052809291908181526020018280546200055a9062001ed3565b8015620005ab5780601f106200057f57610100808354040283529160200191620005ab565b820191906000526020600020905b8154815290600101906020018083116200058d57829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60006001600160e01b03198216637965db0b60e01b14806200061357506301ffc9a760e01b6001600160e01b03198316145b92915050565b60006200062783836200128e565b9392505050565b60009081526065602052604090206001015490565b60008181526098602090815260408083206099909252909120546001600160a01b03163381146200068757604051630b4d48c160e41b815260040160405180910390fd5b6005820180546001600160a01b038084166001600160a01b03199283161783556000868152609960205260409081902080549093169092559154905185927ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d92620006f59291169062001de3565b60405180910390a2505050565b60008051602062002abb8339815191526200071d816200129c565b6001600160a01b038216620007455760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14620007e4576040516370a0823160e01b81526001600160a01b038516906370a08231906200079a90309060040162001de3565b602060405180830381865afa158015620007b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007de919062001f0f565b620007e6565b475b9050620007f5848483620012ab565b50505050565b62000806826200062e565b62000811816200129c565b6200081d8383620012ea565b505050565b6001600160a01b0381163314620008985760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b620008a4828262001374565b5050565b6000620006278383620013de565b600080620008c5878562001402565b6000818152609860205260409020600601549091506001600160a01b0316156200090257604051630527e05960e41b815260040160405180910390fd5b6001600160a01b0384166200092a5760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b031681526020016200096a848a6200144c565b6001600160a01b03169052600083815260986020908152604091829020835181559083015160018201559082015191925082916002820190620009ae908262001f7b565b50606082015180516003830190815560208201516004840190620009d3908262001f7b565b50505060808201516005820180546001600160a01b03199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000a4757506001600160a01b0386163314155b1562000a665760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000add57600086828151811062000a895762000a8962002047565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000ac75760405163538ba4f960e01b815260040160405180910390fd5b62000ad38582620012ea565b5060010162000a69565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000b2c9594939291906200205d565b60405180910390a25090979650505050505050565b8162000b4d8162001627565b6000838152609960205260409081902080546001600160a01b0319166001600160a01b0385161790555183907f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c890620006f590859062001de3565b8162000bb48162001627565b815160005b8181101562000c2d57600084828151811062000bd95762000bd962002047565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c175760405163538ba4f960e01b815260040160405180910390fd5b62000c238682620012ea565b5060010162000bb9565b5050505050565b600062000c428383620013de565b806200062757506200062783836200128e565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b8162000c8c8162001627565b6000838152609860209081526040909120835160038201908155918401518492916004019062000cbd908262001f7b565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f383604051620006f59190620020b2565b600054600190610100900460ff1615801562000d16575060005460ff8083169116105b62000d7b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200088f565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000db75760405163538ba4f960e01b815260040160405180910390fd5b62000dd260008051602062002abb83398151915283620012ea565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000e258162001627565b62000e3184846200144c565b60008581526098602052604090209092506002810162000e52858262001f7b565b506006810180546001600160a01b0390811660009081526097602052604080822082905583546001600160a01b0319169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062000ec89087908790620020c7565b60405180910390a2505092915050565b62000ee3826200062e565b62000eee816200129c565b6200081d838362001374565b62000f04620018e5565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c08101835281548152600182015493810193909352600281018054919284019162000f599062001ed3565b80601f016020809104026020016040519081016040528092919081815260200182805462000f879062001ed3565b801562000fd85780601f1062000fac5761010080835404028352916020019162000fd8565b820191906000526020600020905b81548152906001019060200180831162000fba57829003601f168201915b5050505050815260200160038201604051806040016040529081600082015481526020016001820180546200100d9062001ed3565b80601f01602080910402602001604051908101604052809291908181526020018280546200103b9062001ed3565b80156200108c5780601f1062001060576101008083540402835291602001916200108c565b820191906000526020600020905b8154815290600101906020018083116200106e57829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620010cf8162001627565b815160005b8181101562000c2d576200110585858381518110620010f757620010f762002047565b602002602001015162001374565b600101620010d4565b60986020526000908152604090208054600182015460028301805492939192620011389062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620011669062001ed3565b8015620011b75780601f106200118b57610100808354040283529160200191620011b7565b820191906000526020600020905b8154815290600101906020018083116200119957829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620011e89062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620012169062001ed3565b8015620012675780601f106200123b5761010080835404028352916020019162001267565b820191906000526020600020905b8154815290600101906020018083116200124957829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b600062000627838362000c55565b620012a8813362001651565b50565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03841601620012dd576200081d8282620016b5565b6200081d838383620016d2565b620012f6828262000c55565b620008a45760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620013303390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b62001380828262000c55565b15620008a45760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600091825260986020526040909120600501546001600160a01b0391821691161490565b600082826040516020016200142e92919091825260601b6001600160601b031916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001464929190620020f3565b6040516020818303038152906040529050600084306040516020016200148c9291906200210e565b6040516020818303038152906040529050600060405180602001620014b1906200193a565b601f1982820381018352601f909101166040819052620014d79190849060200162002125565b60408051601f198184030181529082905284516020868101919091208251828401206001600160f81b0319928501929092526001600160601b03193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c905081883060405162001561906200193a565b6200156e9291906200210e565b8190604051809103906000f590508015620015865760015b620016195787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620015cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015f1919062001f0f565b146200161057604051630113b81f60e41b815260040160405180910390fd5b8095506200161c565b95505b505050505092915050565b620016338133620013de565b620012a85760405163075fd2b160e01b815260040160405180910390fd5b6200165d828262000c55565b620008a4576200166d8162001719565b6200167a8360206200172c565b6040516020016200168d92919062002158565b60408051601f198184030181529082905262461bcd60e51b82526200088f91600401620021cb565b60008060008084865af1620008a45763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d1560016000511417166200170f576390b8ec186000526004601cfd5b6000603452505050565b6060620006136001600160a01b03831660145b606060006200173d836002620021f6565b6200174a90600262002210565b6001600160401b0381111562001764576200176462001b08565b6040519080825280601f01601f1916602001820160405280156200178f576020820181803683370190505b509050600360fc1b81600081518110620017ad57620017ad62002047565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110620017df57620017df62002047565b60200101906001600160f81b031916908160001a905350600062001805846002620021f6565b6200181290600162002210565b90505b600181111562001894576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106200184a576200184a62002047565b1a60f81b82828151811062001863576200186362002047565b60200101906001600160f81b031916908160001a90535060049490941c936200188c8162002226565b905062001815565b508315620006275760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200088f565b6040518060c0016040528060008019168152602001600081526020016060815260200162001926604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b61087a806200224183390190565b6000602082840312156200195b57600080fd5b5035919050565b60005b838110156200197f57818101518382015260200162001965565b50506000910152565b60008151808452620019a281602086016020860162001962565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152620019d7604085018262001988565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001a1160e084018262001988565b90506060840151601f1984830301608085015262001a308282620019b6565b60808601516001600160a01b0390811660a0878101919091529096015190951660c090940193909352509192915050565b60006020828403121562001a7457600080fd5b81356001600160e01b0319811681146200062757600080fd5b80356001600160a01b038116811462001aa557600080fd5b919050565b6000806040838503121562001abe57600080fd5b8235915062001ad06020840162001a8d565b90509250929050565b6000806040838503121562001aed57600080fd5b62001af88362001a8d565b915062001ad06020840162001a8d565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171562001b495762001b4962001b08565b604052919050565b600082601f83011262001b6357600080fd5b81356001600160401b0381111562001b7f5762001b7f62001b08565b62001b94601f8201601f191660200162001b1e565b81815284602083860101111562001baa57600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001bda57600080fd5b604080519081016001600160401b03808211838310171562001c005762001c0062001b08565b8160405282935084358352602085013591508082111562001c2057600080fd5b5062001c2f8582860162001b51565b6020830152505092915050565b600082601f83011262001c4e57600080fd5b813560206001600160401b0382111562001c6c5762001c6c62001b08565b8160051b62001c7d82820162001b1e565b928352848101820192828101908785111562001c9857600080fd5b83870192505b8483101562001cc25762001cb28362001a8d565b8252918301919083019062001c9e565b979650505050505050565b600080600080600060a0868803121562001ce657600080fd5b8535945060208601356001600160401b038082111562001d0557600080fd5b62001d1389838a0162001b51565b9550604088013591508082111562001d2a57600080fd5b62001d3889838a0162001bc7565b945062001d486060890162001a8d565b9350608088013591508082111562001d5f57600080fd5b5062001d6e8882890162001c3c565b9150509295509295909350565b60006020828403121562001d8e57600080fd5b620006278262001a8d565b6000806040838503121562001dad57600080fd5b8235915060208301356001600160401b0381111562001dcb57600080fd5b62001dd98582860162001c3c565b9150509250929050565b6001600160a01b0391909116815260200190565b6000806040838503121562001e0b57600080fd5b8235915060208301356001600160401b0381111562001e2957600080fd5b62001dd98582860162001bc7565b6000806040838503121562001e4b57600080fd5b8235915060208301356001600160401b0381111562001e6957600080fd5b62001dd98582860162001b51565b86815285602082015260c06040820152600062001e9860c083018762001988565b828103606084015262001eac8187620019b6565b6001600160a01b0395861660808501529390941660a0909201919091525095945050505050565b600181811c9082168062001ee857607f821691505b60208210810362001f0957634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121562001f2257600080fd5b5051919050565b601f8211156200081d57600081815260208120601f850160051c8101602086101562001f525750805b601f850160051c820191505b8181101562001f735782815560010162001f5e565b505050505050565b81516001600160401b0381111562001f975762001f9762001b08565b62001faf8162001fa8845462001ed3565b8462001f29565b602080601f83116001811462001fe7576000841562001fce5750858301515b600019600386901b1c1916600185901b17855562001f73565b600085815260208120601f198616915b82811015620020185788860151825594840194600190910190840162001ff7565b5085821015620020375787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200207860a083018762001988565b82810360408401526200208c8187620019b6565b6001600160a01b0395861660608501529390941660809092019190915250949350505050565b602081526000620006276020830184620019b6565b604081526000620020dc604083018562001988565b905060018060a01b03831660208301529392505050565b828152604060208201526000620019d7604083018462001988565b9182526001600160a01b0316602082015260400190565b600083516200213981846020880162001962565b8351908301906200214f81836020880162001962565b01949350505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516200218c81601785016020880162001962565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351620021bf81602884016020880162001962565b01602801949350505050565b60208152600062000627602083018462001988565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620006135762000613620021e0565b80820180821115620006135762000613620021e0565b600081620022385762002238620021e0565b50600019019056fe60c060405234801561001057600080fd5b5060405161087a38038061087a83398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516107c86100b26000396000818160b7015261024201526000818161013d015261027101526107c86000f3fe6080604052600436106100645760003560e01c806301ffc9a71461007057806308386eba146100a5578063150b7a02146100e75780637b1039991461012b578063b61d27f614610177578063bc197c81146101a4578063f23a6e61146101d057600080fd5b3661006b57005b600080fd5b34801561007c57600080fd5b5061009061008b3660046103b2565b6101fc565b60405190151581526020015b60405180910390f35b3480156100b157600080fd5b506100d97f000000000000000000000000000000000000000000000000000000000000000081565b60405190815260200161009c565b3480156100f357600080fd5b506101126101023660046104b4565b630a85bd0160e11b949350505050565b6040516001600160e01b0319909116815260200161009c565b34801561013757600080fd5b5061015f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161009c565b34801561018357600080fd5b5061019761019236600461051b565b610233565b60405161009c9190610595565b3480156101b057600080fd5b506101126101bf366004610647565b63bc197c8160e01b95945050505050565b3480156101dc57600080fd5b506101126101eb3660046106f0565b63f23a6e6160e01b95945050505050565b60006001600160e01b03198216630271189760e51b148061022d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b604051630e6e1ae360e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa1580156102c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e49190610754565b6103015760405163075fd2b160e01b815260040160405180910390fd5b6001600160a01b038416610328576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516103449190610776565b60006040518083038185875af1925050503d8060008114610381576040519150601f19603f3d011682016040523d82523d6000602084013e610386565b606091505b5091509150816103a9576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b6000602082840312156103c457600080fd5b81356001600160e01b0319811681146103dc57600080fd5b9392505050565b80356001600160a01b03811681146103fa57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561043d5761043d6103ff565b604052919050565b600082601f83011261045657600080fd5b81356001600160401b0381111561046f5761046f6103ff565b610482601f8201601f1916602001610415565b81815284602083860101111561049757600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156104ca57600080fd5b6104d3856103e3565b93506104e1602086016103e3565b92506040850135915060608501356001600160401b0381111561050357600080fd5b61050f87828801610445565b91505092959194509250565b60008060006060848603121561053057600080fd5b610539846103e3565b92506020840135915060408401356001600160401b0381111561055b57600080fd5b61056786828701610445565b9150509250925092565b60005b8381101561058c578181015183820152602001610574565b50506000910152565b60208152600082518060208401526105b4816040850160208701610571565b601f01601f19169190910160400192915050565b600082601f8301126105d957600080fd5b813560206001600160401b038211156105f4576105f46103ff565b8160051b610603828201610415565b928352848101820192828101908785111561061d57600080fd5b83870192505b8483101561063c57823582529183019190830190610623565b979650505050505050565b600080600080600060a0868803121561065f57600080fd5b610668866103e3565b9450610676602087016103e3565b935060408601356001600160401b038082111561069257600080fd5b61069e89838a016105c8565b945060608801359150808211156106b457600080fd5b6106c089838a016105c8565b935060808801359150808211156106d657600080fd5b506106e388828901610445565b9150509295509295909350565b600080600080600060a0868803121561070857600080fd5b610711866103e3565b945061071f602087016103e3565b9350604086013592506060860135915060808601356001600160401b0381111561074857600080fd5b6106e388828901610445565b60006020828403121561076657600080fd5b815180151581146103dc57600080fd5b60008251610788818460208701610571565b919091019291505056fea264697066735822122053adece70c5f6926d272cd2677086ffef5b7422182a716a22c9c37321f13a3b364736f6c63430008130033815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747a26469706673582212202e02a09639d7475132a86eecb935e76ba6d5397d14a879f83d49c7d2ae0372f164736f6c63430008130033","sourceMap":"5237:15930:2:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b50600436106200015a5760003560e01c80630114cf0a146200015f57806301ffc9a7146200018e5780630ec1fbac14620001b6578063248a9ca314620001cd5780632497f3c614620001f357806324ae6a27146200020c5780632f2ff15d146200022357806336568abe146200023a57806339b86b8c14620002515780633a92f65f14620002685780633b66dacd146200027f5780634756487f14620002965780635063f36114620002b957806350d005e014620002d05780635e8a7915146200030b57806391d148541462000322578063a0cf0aea1462000339578063a217fddf1462000355578063ac402839146200035e578063c4d66de81462000375578063cf189ff2146200038c578063cfda7e0a14620003a3578063d547741f14620003ba578063dd93da4314620003d1578063e0cf1e4c14620003e8578063ee88819614620003ff575b600080fd5b620001766200017036600462001948565b6200042a565b604051620001859190620019df565b60405180910390f35b620001a56200019f36600462001a61565b620005e1565b604051901515815260200162000185565b620001a5620001c736600462001aaa565b62000619565b620001e4620001de36600462001948565b6200062e565b60405190815260200162000185565b6200020a6200020436600462001948565b62000643565b005b6200020a6200021d36600462001ad9565b62000702565b6200020a6200023436600462001aaa565b620007fb565b6200020a6200024b36600462001aaa565b62000822565b620001a56200026236600462001aaa565b620008a8565b620001e46200027936600462001ccd565b620008b6565b6200020a6200029036600462001aaa565b62000b41565b620001e4620002a736600462001d7b565b60976020526000908152604090205481565b6200020a620002ca36600462001d99565b62000ba8565b620002fc620002e136600462001948565b6099602052600090815260409020546001600160a01b031681565b60405162000185919062001de3565b620001a56200031c36600462001aaa565b62000c34565b620001a56200033336600462001aaa565b62000c55565b620002fc73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b620001e4600081565b6200020a6200036f36600462001df7565b62000c80565b6200020a6200038636600462001d7b565b62000cf3565b620002fc6200039d36600462001e37565b62000e17565b620001e460008051602062002abb83398151915281565b6200020a620003cb36600462001aaa565b62000ed8565b62000176620003e236600462001d7b565b62000efa565b6200020a620003f936600462001d99565b620010c3565b620004166200041036600462001948565b6200110e565b604051620001859695949392919062001e77565b62000434620018e5565b609860008381526020019081526020016000206040518060c00160405290816000820154815260200160018201548152602001600282018054620004789062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620004a69062001ed3565b8015620004f75780601f10620004cb57610100808354040283529160200191620004f7565b820191906000526020600020905b815481529060010190602001808311620004d957829003601f168201915b5050505050815260200160038201604051806040016040529081600082015481526020016001820180546200052c9062001ed3565b80601f01602080910402602001604051908101604052809291908181526020018280546200055a9062001ed3565b8015620005ab5780601f106200057f57610100808354040283529160200191620005ab565b820191906000526020600020905b8154815290600101906020018083116200058d57829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60006001600160e01b03198216637965db0b60e01b14806200061357506301ffc9a760e01b6001600160e01b03198316145b92915050565b60006200062783836200128e565b9392505050565b60009081526065602052604090206001015490565b60008181526098602090815260408083206099909252909120546001600160a01b03163381146200068757604051630b4d48c160e41b815260040160405180910390fd5b6005820180546001600160a01b038084166001600160a01b03199283161783556000868152609960205260409081902080549093169092559154905185927ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d92620006f59291169062001de3565b60405180910390a2505050565b60008051602062002abb8339815191526200071d816200129c565b6001600160a01b038216620007455760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14620007e4576040516370a0823160e01b81526001600160a01b038516906370a08231906200079a90309060040162001de3565b602060405180830381865afa158015620007b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007de919062001f0f565b620007e6565b475b9050620007f5848483620012ab565b50505050565b62000806826200062e565b62000811816200129c565b6200081d8383620012ea565b505050565b6001600160a01b0381163314620008985760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b620008a4828262001374565b5050565b6000620006278383620013de565b600080620008c5878562001402565b6000818152609860205260409020600601549091506001600160a01b0316156200090257604051630527e05960e41b815260040160405180910390fd5b6001600160a01b0384166200092a5760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b031681526020016200096a848a6200144c565b6001600160a01b03169052600083815260986020908152604091829020835181559083015160018201559082015191925082916002820190620009ae908262001f7b565b50606082015180516003830190815560208201516004840190620009d3908262001f7b565b50505060808201516005820180546001600160a01b03199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000a4757506001600160a01b0386163314155b1562000a665760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000add57600086828151811062000a895762000a8962002047565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000ac75760405163538ba4f960e01b815260040160405180910390fd5b62000ad38582620012ea565b5060010162000a69565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000b2c9594939291906200205d565b60405180910390a25090979650505050505050565b8162000b4d8162001627565b6000838152609960205260409081902080546001600160a01b0319166001600160a01b0385161790555183907f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c890620006f590859062001de3565b8162000bb48162001627565b815160005b8181101562000c2d57600084828151811062000bd95762000bd962002047565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c175760405163538ba4f960e01b815260040160405180910390fd5b62000c238682620012ea565b5060010162000bb9565b5050505050565b600062000c428383620013de565b806200062757506200062783836200128e565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b8162000c8c8162001627565b6000838152609860209081526040909120835160038201908155918401518492916004019062000cbd908262001f7b565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f383604051620006f59190620020b2565b600054600190610100900460ff1615801562000d16575060005460ff8083169116105b62000d7b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200088f565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000db75760405163538ba4f960e01b815260040160405180910390fd5b62000dd260008051602062002abb83398151915283620012ea565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000e258162001627565b62000e3184846200144c565b60008581526098602052604090209092506002810162000e52858262001f7b565b506006810180546001600160a01b0390811660009081526097602052604080822082905583546001600160a01b0319169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062000ec89087908790620020c7565b60405180910390a2505092915050565b62000ee3826200062e565b62000eee816200129c565b6200081d838362001374565b62000f04620018e5565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c08101835281548152600182015493810193909352600281018054919284019162000f599062001ed3565b80601f016020809104026020016040519081016040528092919081815260200182805462000f879062001ed3565b801562000fd85780601f1062000fac5761010080835404028352916020019162000fd8565b820191906000526020600020905b81548152906001019060200180831162000fba57829003601f168201915b5050505050815260200160038201604051806040016040529081600082015481526020016001820180546200100d9062001ed3565b80601f01602080910402602001604051908101604052809291908181526020018280546200103b9062001ed3565b80156200108c5780601f1062001060576101008083540402835291602001916200108c565b820191906000526020600020905b8154815290600101906020018083116200106e57829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620010cf8162001627565b815160005b8181101562000c2d576200110585858381518110620010f757620010f762002047565b602002602001015162001374565b600101620010d4565b60986020526000908152604090208054600182015460028301805492939192620011389062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620011669062001ed3565b8015620011b75780601f106200118b57610100808354040283529160200191620011b7565b820191906000526020600020905b8154815290600101906020018083116200119957829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620011e89062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620012169062001ed3565b8015620012675780601f106200123b5761010080835404028352916020019162001267565b820191906000526020600020905b8154815290600101906020018083116200124957829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b600062000627838362000c55565b620012a8813362001651565b50565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03841601620012dd576200081d8282620016b5565b6200081d838383620016d2565b620012f6828262000c55565b620008a45760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620013303390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b62001380828262000c55565b15620008a45760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600091825260986020526040909120600501546001600160a01b0391821691161490565b600082826040516020016200142e92919091825260601b6001600160601b031916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001464929190620020f3565b6040516020818303038152906040529050600084306040516020016200148c9291906200210e565b6040516020818303038152906040529050600060405180602001620014b1906200193a565b601f1982820381018352601f909101166040819052620014d79190849060200162002125565b60408051601f198184030181529082905284516020868101919091208251828401206001600160f81b0319928501929092526001600160601b03193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c905081883060405162001561906200193a565b6200156e9291906200210e565b8190604051809103906000f590508015620015865760015b620016195787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620015cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015f1919062001f0f565b146200161057604051630113b81f60e41b815260040160405180910390fd5b8095506200161c565b95505b505050505092915050565b620016338133620013de565b620012a85760405163075fd2b160e01b815260040160405180910390fd5b6200165d828262000c55565b620008a4576200166d8162001719565b6200167a8360206200172c565b6040516020016200168d92919062002158565b60408051601f198184030181529082905262461bcd60e51b82526200088f91600401620021cb565b60008060008084865af1620008a45763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d1560016000511417166200170f576390b8ec186000526004601cfd5b6000603452505050565b6060620006136001600160a01b03831660145b606060006200173d836002620021f6565b6200174a90600262002210565b6001600160401b0381111562001764576200176462001b08565b6040519080825280601f01601f1916602001820160405280156200178f576020820181803683370190505b509050600360fc1b81600081518110620017ad57620017ad62002047565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110620017df57620017df62002047565b60200101906001600160f81b031916908160001a905350600062001805846002620021f6565b6200181290600162002210565b90505b600181111562001894576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106200184a576200184a62002047565b1a60f81b82828151811062001863576200186362002047565b60200101906001600160f81b031916908160001a90535060049490941c936200188c8162002226565b905062001815565b508315620006275760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200088f565b6040518060c0016040528060008019168152602001600081526020016060815260200162001926604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b61087a806200224183390190565b6000602082840312156200195b57600080fd5b5035919050565b60005b838110156200197f57818101518382015260200162001965565b50506000910152565b60008151808452620019a281602086016020860162001962565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152620019d7604085018262001988565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001a1160e084018262001988565b90506060840151601f1984830301608085015262001a308282620019b6565b60808601516001600160a01b0390811660a0878101919091529096015190951660c090940193909352509192915050565b60006020828403121562001a7457600080fd5b81356001600160e01b0319811681146200062757600080fd5b80356001600160a01b038116811462001aa557600080fd5b919050565b6000806040838503121562001abe57600080fd5b8235915062001ad06020840162001a8d565b90509250929050565b6000806040838503121562001aed57600080fd5b62001af88362001a8d565b915062001ad06020840162001a8d565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171562001b495762001b4962001b08565b604052919050565b600082601f83011262001b6357600080fd5b81356001600160401b0381111562001b7f5762001b7f62001b08565b62001b94601f8201601f191660200162001b1e565b81815284602083860101111562001baa57600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001bda57600080fd5b604080519081016001600160401b03808211838310171562001c005762001c0062001b08565b8160405282935084358352602085013591508082111562001c2057600080fd5b5062001c2f8582860162001b51565b6020830152505092915050565b600082601f83011262001c4e57600080fd5b813560206001600160401b0382111562001c6c5762001c6c62001b08565b8160051b62001c7d82820162001b1e565b928352848101820192828101908785111562001c9857600080fd5b83870192505b8483101562001cc25762001cb28362001a8d565b8252918301919083019062001c9e565b979650505050505050565b600080600080600060a0868803121562001ce657600080fd5b8535945060208601356001600160401b038082111562001d0557600080fd5b62001d1389838a0162001b51565b9550604088013591508082111562001d2a57600080fd5b62001d3889838a0162001bc7565b945062001d486060890162001a8d565b9350608088013591508082111562001d5f57600080fd5b5062001d6e8882890162001c3c565b9150509295509295909350565b60006020828403121562001d8e57600080fd5b620006278262001a8d565b6000806040838503121562001dad57600080fd5b8235915060208301356001600160401b0381111562001dcb57600080fd5b62001dd98582860162001c3c565b9150509250929050565b6001600160a01b0391909116815260200190565b6000806040838503121562001e0b57600080fd5b8235915060208301356001600160401b0381111562001e2957600080fd5b62001dd98582860162001bc7565b6000806040838503121562001e4b57600080fd5b8235915060208301356001600160401b0381111562001e6957600080fd5b62001dd98582860162001b51565b86815285602082015260c06040820152600062001e9860c083018762001988565b828103606084015262001eac8187620019b6565b6001600160a01b0395861660808501529390941660a0909201919091525095945050505050565b600181811c9082168062001ee857607f821691505b60208210810362001f0957634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121562001f2257600080fd5b5051919050565b601f8211156200081d57600081815260208120601f850160051c8101602086101562001f525750805b601f850160051c820191505b8181101562001f735782815560010162001f5e565b505050505050565b81516001600160401b0381111562001f975762001f9762001b08565b62001faf8162001fa8845462001ed3565b8462001f29565b602080601f83116001811462001fe7576000841562001fce5750858301515b600019600386901b1c1916600185901b17855562001f73565b600085815260208120601f198616915b82811015620020185788860151825594840194600190910190840162001ff7565b5085821015620020375787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200207860a083018762001988565b82810360408401526200208c8187620019b6565b6001600160a01b0395861660608501529390941660809092019190915250949350505050565b602081526000620006276020830184620019b6565b604081526000620020dc604083018562001988565b905060018060a01b03831660208301529392505050565b828152604060208201526000620019d7604083018462001988565b9182526001600160a01b0316602082015260400190565b600083516200213981846020880162001962565b8351908301906200214f81836020880162001962565b01949350505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516200218c81601785016020880162001962565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351620021bf81602884016020880162001962565b01602801949350505050565b60208152600062000627602083018462001988565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620006135762000613620021e0565b80820180821115620006135762000613620021e0565b600081620022385762002238620021e0565b50600019019056fe60c060405234801561001057600080fd5b5060405161087a38038061087a83398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516107c86100b26000396000818160b7015261024201526000818161013d015261027101526107c86000f3fe6080604052600436106100645760003560e01c806301ffc9a71461007057806308386eba146100a5578063150b7a02146100e75780637b1039991461012b578063b61d27f614610177578063bc197c81146101a4578063f23a6e61146101d057600080fd5b3661006b57005b600080fd5b34801561007c57600080fd5b5061009061008b3660046103b2565b6101fc565b60405190151581526020015b60405180910390f35b3480156100b157600080fd5b506100d97f000000000000000000000000000000000000000000000000000000000000000081565b60405190815260200161009c565b3480156100f357600080fd5b506101126101023660046104b4565b630a85bd0160e11b949350505050565b6040516001600160e01b0319909116815260200161009c565b34801561013757600080fd5b5061015f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161009c565b34801561018357600080fd5b5061019761019236600461051b565b610233565b60405161009c9190610595565b3480156101b057600080fd5b506101126101bf366004610647565b63bc197c8160e01b95945050505050565b3480156101dc57600080fd5b506101126101eb3660046106f0565b63f23a6e6160e01b95945050505050565b60006001600160e01b03198216630271189760e51b148061022d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b604051630e6e1ae360e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa1580156102c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e49190610754565b6103015760405163075fd2b160e01b815260040160405180910390fd5b6001600160a01b038416610328576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516103449190610776565b60006040518083038185875af1925050503d8060008114610381576040519150601f19603f3d011682016040523d82523d6000602084013e610386565b606091505b5091509150816103a9576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b6000602082840312156103c457600080fd5b81356001600160e01b0319811681146103dc57600080fd5b9392505050565b80356001600160a01b03811681146103fa57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561043d5761043d6103ff565b604052919050565b600082601f83011261045657600080fd5b81356001600160401b0381111561046f5761046f6103ff565b610482601f8201601f1916602001610415565b81815284602083860101111561049757600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156104ca57600080fd5b6104d3856103e3565b93506104e1602086016103e3565b92506040850135915060608501356001600160401b0381111561050357600080fd5b61050f87828801610445565b91505092959194509250565b60008060006060848603121561053057600080fd5b610539846103e3565b92506020840135915060408401356001600160401b0381111561055b57600080fd5b61056786828701610445565b9150509250925092565b60005b8381101561058c578181015183820152602001610574565b50506000910152565b60208152600082518060208401526105b4816040850160208701610571565b601f01601f19169190910160400192915050565b600082601f8301126105d957600080fd5b813560206001600160401b038211156105f4576105f46103ff565b8160051b610603828201610415565b928352848101820192828101908785111561061d57600080fd5b83870192505b8483101561063c57823582529183019190830190610623565b979650505050505050565b600080600080600060a0868803121561065f57600080fd5b610668866103e3565b9450610676602087016103e3565b935060408601356001600160401b038082111561069257600080fd5b61069e89838a016105c8565b945060608801359150808211156106b457600080fd5b6106c089838a016105c8565b935060808801359150808211156106d657600080fd5b506106e388828901610445565b9150509295509295909350565b600080600080600060a0868803121561070857600080fd5b610711866103e3565b945061071f602087016103e3565b9350604086013592506060860135915060808601356001600160401b0381111561074857600080fd5b6106e388828901610445565b60006020828403121561076657600080fd5b815180151581146103dc57600080fd5b60008251610788818460208701610571565b919091019291505056fea264697066735822122053adece70c5f6926d272cd2677086ffef5b7422182a716a22c9c37321f13a3b364736f6c63430008130033815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747a26469706673582212202e02a09639d7475132a86eecb935e76ba6d5397d14a879f83d49c7d2ae0372f164736f6c63430008130033","sourceMap":"5237:15930:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7472:131;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3050:213:43;;;;;;:::i;:::-;;:::i;:::-;;;2359:14:126;;2352:22;2334:41;;2322:2;2307:18;3050:213:43;2194:187:126;13857:156:2;;;;;;:::i;:::-;;:::i;4855:129:43:-;;;;;;:::i;:::-;;:::i;:::-;;;2969:25:126;;;2957:2;2942:18;4855:129:43;2823:177:126;15016:745:2;;;;;;:::i;:::-;;:::i;:::-;;20847:318;;;;;;:::i;:::-;;:::i;5280:145:43:-;;;;;;:::i;:::-;;:::i;6389:214::-;;;;;;:::i;:::-;;:::i;13452:152:2:-;;;;;;:::i;:::-;;:::i;8781:1901::-;;;;;;:::i;:::-;;:::i;14336:382::-;;;;;;:::i;:::-;;:::i;5544:52::-;;;;;;:::i;:::-;;;;;;;;;;;;;;15962:658;;;;;;:::i;:::-;;:::i;5859:58::-;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;5859:58:2;;;;;;;;;;:::i;12992:208::-;;;;;;:::i;:::-;;:::i;3350:145:43:-;;;;;;:::i;:::-;;:::i;4412:75:9:-;;4445:42;4412:75;;2320:49:43;;2365:4;2320:49;;12309:415:2;;;;;;:::i;:::-;;:::i;6841:257::-;;;;;;:::i;:::-;;:::i;11210:830::-;;;;;;:::i;:::-;;:::i;5974:60::-;;-1:-1:-1;;;;;;;;;;;5974:60:2;;5705:147:43;;;;;;:::i;:::-;;:::i;7837:187:2:-;;;;;;:::i;:::-;;:::i;16837:500::-;;;;;;:::i;:::-;;:::i;5702:47::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;7472:131::-;7539:14;;:::i;:::-;7572:12;:24;7585:10;7572:24;;;;;;;;;;;7565:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7565:31:2;;;;-1:-1:-1;;;7565:31:2;;;;;;-1:-1:-1;;;;;7565:31:2;;;;;;;;;;;;;;;;;;;;;7472:131;-1:-1:-1;;7472:131:2:o;3050:213:43:-;3135:4;-1:-1:-1;;;;;;3158:58:43;;-1:-1:-1;;;3158:58:43;;:98;;-1:-1:-1;;;;;;;;;;1189:51:53;;;3220:36:43;3151:105;3050:213;-1:-1:-1;;3050:213:43:o;13857:156:2:-;13944:4;13967:39;13986:10;13998:7;13967:18;:39::i;:::-;13960:46;13857:156;-1:-1:-1;;;13857:156:2:o;4855:129:43:-;4929:7;4955:12;;;:6;:12;;;;;:22;;;;4855:129::o;15016:745:2:-;15131:23;15157:24;;;:12;:24;;;;;;;;15301:23;:35;;;;;;;-1:-1:-1;;;;;15301:35:2;15414:10;:22;;15410:54;;15445:19;;-1:-1:-1;;;15445:19:2;;;;;;;;;;;15410:54;15550:13;;;:24;;-1:-1:-1;;;;;15550:24:2;;;-1:-1:-1;;;;;;15550:24:2;;;;;;:13;15591:35;;;:23;:35;;;;;;;15584:42;;;;;;;;15740:13;;15708:46;;15615:10;;15708:46;;;;15740:13;;;15708:46;:::i;:::-;;;;;;;;15077:684;;15016:745;:::o;20847:318::-;-1:-1:-1;;;;;;;;;;;2798:16:43;2809:4;2798:10;:16::i;:::-;-1:-1:-1;;;;;20949:24:2;::::1;20945:51;;20982:14;;-1:-1:-1::0;;;20982:14:2::1;;;;;;;;;;;20945:51;21007:14;-1:-1:-1::0;;;;;21024:16:2;::::1;4445:42:9;21024:16:2;:81;;21067:38;::::0;-1:-1:-1;;;21067:38:2;;-1:-1:-1;;;;;21067:23:2;::::1;::::0;::::1;::::0;:38:::1;::::0;21099:4:::1;::::0;21067:38:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21024:81;;;21043:21;21024:81;21007:98;;21115:43;21131:6;21139:10;21151:6;21115:15;:43::i;:::-;20935:230;20847:318:::0;;;:::o;5280:145:43:-;5363:18;5376:4;5363:12;:18::i;:::-;2798:16;2809:4;2798:10;:16::i;:::-;5393:25:::1;5404:4;5410:7;5393:10;:25::i;:::-;5280:145:::0;;;:::o;6389:214::-;-1:-1:-1;;;;;6484:23:43;;965:10:51;6484:23:43;6476:83;;;;-1:-1:-1;;;6476:83:43;;9683:2:126;6476:83:43;;;9665:21:126;9722:2;9702:18;;;9695:30;9761:34;9741:18;;;9734:62;-1:-1:-1;;;9812:18:126;;;9805:45;9867:19;;6476:83:43;;;;;;;;;6570:26;6582:4;6588:7;6570:11;:26::i;:::-;6389:214;;:::o;13452:152:2:-;13537:4;13560:37;13578:10;13590:6;13560:17;:37::i;8781:1901::-;8975:7;9060:17;9080:34;9099:6;9107;9080:18;:34::i;:::-;9215:1;9173:23;;;:12;:23;;;;;:30;;;9060:54;;-1:-1:-1;;;;;;9173:30:2;:44;9169:78;;9226:21;;-1:-1:-1;;;9226:21:2;;;;;;;;;;;9169:78;-1:-1:-1;;;;;9317:20:2;;9313:47;;9346:14;;-1:-1:-1;;;9346:14:2;;;;;;;;;;;9313:47;9447:22;9472:213;;;;;;;;9498:9;9472:213;;;;9528:6;9472:213;;;;9554:5;9472:213;;;;9583:9;9472:213;;;;9613:6;-1:-1:-1;;;;;9472:213:2;;;;;9641:33;9657:9;9668:5;9641:15;:33::i;:::-;-1:-1:-1;;;;;9472:213:2;;;9696:23;;;;:12;:23;;;;;;;;;:33;;;;;;;;;;;;;;;;9447:238;;-1:-1:-1;9447:238:2;;9696:33;;;;;;;;:::i;:::-;-1:-1:-1;9696:33:2;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;9696:33:2;;;;;;;;;-1:-1:-1;;;;;;9696:33:2;;;-1:-1:-1;;;;;9696:33:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9757:14;;;;9739:33;-1:-1:-1;9739:33:2;;;:17;:33;;;;;:45;;;9866:15;;9942:16;;;;;:40;;-1:-1:-1;;;;;;9962:20:2;;9972:10;9962:20;;9942:40;9938:92;;;10005:14;;-1:-1:-1;;;10005:14:2;;;;;;;;;;;9938:92;10045:9;10040:402;10060:12;10056:1;:16;10040:402;;;10089:14;10106:8;10115:1;10106:11;;;;;;;;:::i;:::-;;;;;;;10089:28;;10224:1;-1:-1:-1;;;;;10206:20:2;:6;-1:-1:-1;;;;;10206:20:2;;10202:47;;10235:14;;-1:-1:-1;;;10235:14:2;;;;;;;;;;;10202:47;10343:29;10354:9;10365:6;10343:10;:29::i;:::-;-1:-1:-1;10414:3:2;;10040:402;;;;10527:9;10512:103;10538:7;:13;;;10553:7;:12;;;10567:7;:16;;;10585:7;:13;;;10600:7;:14;;;10512:103;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;10666:9:2;;8781:1901;-1:-1:-1;;;;;;;8781:1901:2:o;14336:382::-;14456:10;6416:34;6439:10;6416:22;:34::i;:::-;14530:35:::1;::::0;;;:23:::1;:35;::::0;;;;;;:51;;-1:-1:-1;;;;;;14530:51:2::1;-1:-1:-1::0;;;;;14530:51:2;::::1;;::::0;;14658:53;14530:35;;14658:53:::1;::::0;::::1;::::0;14530:51;;14658:53:::1;:::i;15962:658::-:0;16055:10;6416:34;6439:10;6416:22;:34::i;:::-;16100:15;;16077:20:::1;16211:403;16231:12;16227:1;:16;16211:403;;;16260:14;16277:8;16286:1;16277:11;;;;;;;;:::i;:::-;;;;;;;16260:28;;16395:1;-1:-1:-1::0;;;;;16377:20:2::1;:6;-1:-1:-1::0;;;;;16377:20:2::1;::::0;16373:47:::1;;16406:14;;-1:-1:-1::0;;;16406:14:2::1;;;;;;;;;;;16373:47;16514:30;16525:10;16537:6;16514:10;:30::i;:::-;-1:-1:-1::0;16586:3:2::1;;16211:403;;;;16067:553;15962:658:::0;;;:::o;12992:208::-;13087:4;13110:39;13128:10;13140:8;13110:17;:39::i;:::-;:83;;;;13153:40;13172:10;13184:8;13153:18;:40::i;3350:145:43:-;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:43;;;;;;;;;;;;;;;3350:145::o;12309:415:2:-;12429:10;6416:34;6439:10;6416:22;:34::i;:::-;12553:24:::1;::::0;;;:12:::1;:24;::::0;;;;;;;:45;;:33:::1;::::0;::::1;:45:::0;;;;;::::1;::::0;12589:9;;12553:33;:45;;;::::1;::::0;;::::1;:::i;:::-;;;;;12695:10;12672:45;12707:9;12672:45;;;;;;:::i;6841:257::-:0;4882:13:47;;6900:1:2;;4882:13:47;;;;;4881:14;:40;;;;-1:-1:-1;4899:12:47;;:22;;;;:12;;:22;4881:40;4873:99;;;;-1:-1:-1;;;4873:99:47;;13402:2:126;4873:99:47;;;13384:21:126;13441:2;13421:18;;;13414:30;13480:34;13460:18;;;13453:62;-1:-1:-1;;;13531:18:126;;;13524:44;13585:19;;4873:99:47;13200:410:126;4873:99:47;4982:12;:22;;-1:-1:-1;;5014:20:47;4982:22;;;5014:20;4982:22;5014:20;;;-1:-1:-1;;;;;6968:20:2;::::1;6964:47;;6997:14;;-1:-1:-1::0;;;6997:14:2::1;;;;;;;;;;;6964:47;7061:30;-1:-1:-1::0;;;;;;;;;;;7084:6:2::1;7061:10;:30::i;:::-;5071:5:47::0;5055:21;;-1:-1:-1;;5055:21:47;;;5091:20;;13787:4:126;13775:17;;13757:36;;5091:20:47;;13745:2:126;13730:18;5091:20:47;;;;;;;6841:257:2;;:::o;11210:830::-;11349:14;11320:10;6416:34;6439:10;6416:22;:34::i;:::-;11429::::1;11445:10;11457:5;11429:15;:34::i;:::-;11538:23;11564:24:::0;;;:12:::1;:24;::::0;;;;11420:43;;-1:-1:-1;11627:12:2::1;::::0;::::1;:20;11642:5:::0;11627:12;:20:::1;:::i;:::-;-1:-1:-1::0;11705:14:2::1;::::0;::::1;::::0;;-1:-1:-1;;;;;11705:14:2;;::::1;11731:1;11687:33:::0;;;:17:::1;:33;::::0;;;;;:46;;;11774:23;;-1:-1:-1;;;;;;11774:23:2::1;::::0;;::::1;::::0;;::::1;::::0;;;11807:25;;;;;;:38;;;11931:45;11807:38;;11931:45:::1;::::0;::::1;::::0;11962:5;;11774:23;;11931:45:::1;:::i;:::-;;;;;;;;12020:13;11210:830:::0;;;;;:::o;5705:147:43:-;5789:18;5802:4;5789:12;:18::i;:::-;2798:16;2809:4;2798:10;:16::i;:::-;5819:26:::1;5831:4;5837:7;5819:11;:26::i;7837:187:2:-:0;7905:14;;:::i;:::-;-1:-1:-1;;;;;7951:26:2;;7931:17;7951:26;;;:17;:26;;;;;;;;;7994:23;;;:12;:23;;;;;;7987:30;;;;;;;;;;;;;;;;;;;;;;;;;;;7994:23;;7987:30;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7987:30:2;;;;-1:-1:-1;;;7987:30:2;;;;;;-1:-1:-1;;;;;7987:30:2;;;;;;;;;;;;;;;;;;;;;7837:187;-1:-1:-1;;;7837:187:2:o;16837:500::-;16933:10;6416:34;6439:10;6416:22;:34::i;:::-;16978:15;;16955:20:::1;17094:237;17114:12;17110:1;:16;17094:237;;;17225:36;17237:10;17249:8;17258:1;17249:11;;;;;;;;:::i;:::-;;;;;;;17225;:36::i;:::-;17303:3;;17094:237;;5702:47:::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5702:47:2;;;;-1:-1:-1;;;5702:47:2;;;;;;;;;;;-1:-1:-1;;;;;5702:47:2;;;;;;:::o;20464:146::-;20552:4;20575:28;20583:10;20595:7;20575;:28::i;3789:103:43:-;3855:30;3866:4;965:10:51;3855::43;:30::i;:::-;3789:103;:::o;6721:269:10:-;-1:-1:-1;;;;;;;6815:16:10;;;6811:173;;6847:45;6879:3;6884:7;6847:31;:45::i;6811:173::-;6923:50;6952:6;6960:3;6965:7;6923:28;:50::i;7938:233:43:-;8021:22;8029:4;8035:7;8021;:22::i;:::-;8016:149;;8059:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8059:29:43;;;;;;;;;:36;;-1:-1:-1;;8059:36:43;8091:4;8059:36;;;8141:12;965:10:51;;886:96;8141:12:43;-1:-1:-1;;;;;8114:40:43;8132:7;-1:-1:-1;;;;;8114:40:43;8126:4;8114:40;;;;;;;;;;7938:233;;:::o;8342:234::-;8425:22;8433:4;8439:7;8425;:22::i;:::-;8421:149;;;8495:5;8463:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8463:29:43;;;;;;;;;;:37;;-1:-1:-1;;8463:37:43;;;8519:40;965:10:51;;8463:12:43;;8519:40;;8495:5;8519:40;8342:234;;:::o;19963:156:2:-;20049:4;20072:24;;;:12;:24;;;;;;:30;;;-1:-1:-1;;;;;20072:40:2;;;:30;;:40;;19963:156::o;19465:159::-;19548:7;19601:6;19609;19584:32;;;;;;;;14283:19:126;;;14365:2;14336:15;-1:-1:-1;;;;;;14332:45:126;14327:2;14318:12;;14311:67;14403:2;14394:12;;14126:286;19584:32:2;;;;;;;;;;;;;19574:43;;;;;;19567:50;;19465:159;;;;:::o;18166:969::-;18250:14;18276:24;18314:10;18326:5;18303:29;;;;;;;;;:::i;:::-;;;;;;;;;;;;;18276:56;;18342:35;18391:10;18411:4;18380:37;;;;;;;;;:::i;:::-;;;;;;;;;;;;;18342:75;;18428:21;18469:25;;;;;;;;:::i;:::-;-1:-1:-1;;18469:25:2;;;;;;;;;;;;;;;;18452:67;;18469:25;18496:22;;18469:25;18452:67;;:::i;:::-;;;;-1:-1:-1;;18452:67:2;;;;;;;;;;18545:22;;18452:67;18545:22;;;;;;;18706:19;;;;;;-1:-1:-1;;;;;;18654:72:2;;;15700:39:126;;;;-1:-1:-1;;;;;;18693:4:2;15801:2:126;15772:15;15768:45;15755:11;;;15748:66;15830:12;;;15823:28;;;15867:12;;;15860:28;;;;18452:67:2;;-1:-1:-1;18545:22:2;18530:12;;15904::126;;18654:72:2;;;;;;;;;;;;18644:83;;;;;;18636:92;;18578:161;;18860:4;18866:10;18886:4;18843:49;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18839:290;;19044:10;19008:18;-1:-1:-1;;;;;18993:45:2;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:61;18989:88;;19063:14;;-1:-1:-1;;;19063:14:2;;;;;;;;;;;18989:88;19100:18;19091:27;;18839:290;;;18949:7;-1:-1:-1;18839:290:2;18266:869;;;;;18166:969;;;;:::o;17659:152::-;17740:41;17758:10;17770;17740:17;:41::i;:::-;17735:69;;17790:14;;-1:-1:-1;;;17790:14:2;;;;;;;;;;;4173:501:43;4261:22;4269:4;4275:7;4261;:22::i;:::-;4256:412;;4444:39;4475:7;4444:30;:39::i;:::-;4554:49;4593:4;4600:2;4554:30;:49::i;:::-;4351:274;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4351:274:43;;;;;;;;;;-1:-1:-1;;;4299:358:43;;;;;;;:::i;2455:490:14:-;2711:4;2705;2699;2693;2685:6;2681:2;2674:5;2669:47;2659:270;;2822:10;2816:4;2809:24;2910:4;2904;2897:18;11454:1189;11617:2;11611:4;11604:16;11674:6;11668:4;11661:20;-1:-1:-1;;;11808:4:14;11801:48;12272:4;12266;12260;12254;12251:1;12244:5;12237;12232:45;12192:16;12185:24;12181:1;12174:4;12168:11;12165:18;12162:48;11890:405;11863:655;;12411:10;12405:4;12398:24;12499:4;12493;12486:18;11863:655;12625:1;12619:4;12612:15;11454:1189;;;:::o;2473:149:52:-;2531:13;2563:52;-1:-1:-1;;;;;2575:22:52;;376:2;1884:437;1959:13;1984:19;2016:10;2020:6;2016:1;:10;:::i;:::-;:14;;2029:1;2016:14;:::i;:::-;-1:-1:-1;;;;;2006:25:52;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2006:25:52;;1984:47;;-1:-1:-1;;;2041:6:52;2048:1;2041:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2041:15:52;;;;;;;;;-1:-1:-1;;;2066:6:52;2073:1;2066:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2066:15:52;;;;;;;;-1:-1:-1;2096:9:52;2108:10;2112:6;2108:1;:10;:::i;:::-;:14;;2121:1;2108:14;:::i;:::-;2096:26;;2091:128;2128:1;2124;:5;2091:128;;;-1:-1:-1;;;2171:5:52;2179:3;2171:11;2162:21;;;;;;;:::i;:::-;;;;2150:6;2157:1;2150:9;;;;;;;;:::i;:::-;;;;:33;-1:-1:-1;;;;;2150:33:52;;;;;;;;-1:-1:-1;2207:1:52;2197:11;;;;;2131:3;;;:::i;:::-;;;2091:128;;;-1:-1:-1;2236:10:52;;2228:55;;;;-1:-1:-1;;;2228:55:52;;17936:2:126;2228:55:52;;;17918:21:126;;;17955:18;;;17948:30;18014:34;17994:18;;;17987:62;18066:18;;2228:55:52;17734:356:126;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;14:180:126:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:126;;14:180;-1:-1:-1;14:180:126:o;199:250::-;284:1;294:113;308:6;305:1;302:13;294:113;;;384:11;;;378:18;365:11;;;358:39;330:2;323:10;294:113;;;-1:-1:-1;;441:1:126;423:16;;416:27;199:250::o;454:271::-;496:3;534:5;528:12;561:6;556:3;549:19;577:76;646:6;639:4;634:3;630:14;623:4;616:5;612:16;577:76;:::i;:::-;707:2;686:15;-1:-1:-1;;682:29:126;673:39;;;;714:4;669:50;;454:271;-1:-1:-1;;454:271:126:o;730:252::-;817:5;811:12;806:3;799:25;781:3;870:4;863:5;859:16;853:23;908:4;901;896:3;892:14;885:28;929:47;970:4;965:3;961:14;947:12;929:47;:::i;:::-;922:54;730:252;-1:-1:-1;;;;730:252:126:o;987:911::-;1166:2;1155:9;1148:21;1211:6;1205:13;1200:2;1189:9;1185:18;1178:41;1273:2;1265:6;1261:15;1255:22;1250:2;1239:9;1235:18;1228:50;1129:4;1325:2;1317:6;1313:15;1307:22;1365:4;1360:2;1349:9;1345:18;1338:32;1393:52;1440:3;1429:9;1425:19;1411:12;1393:52;:::i;:::-;1379:66;;1494:2;1486:6;1482:15;1476:22;1567:2;1563:7;1551:9;1543:6;1539:22;1535:36;1529:3;1518:9;1514:19;1507:65;1595:50;1638:6;1622:14;1595:50;:::i;:::-;1694:3;1682:16;;1676:23;-1:-1:-1;;;;;1774:23:126;;;1726:3;1753:19;;;1746:52;;;;1846:16;;;1840:23;1836:32;;;1829:4;1814:20;;;1807:62;;;;-1:-1:-1;1581:64:126;;987:911;-1:-1:-1;;987:911:126:o;1903:286::-;1961:6;2014:2;2002:9;1993:7;1989:23;1985:32;1982:52;;;2030:1;2027;2020:12;1982:52;2056:23;;-1:-1:-1;;;;;;2108:32:126;;2098:43;;2088:71;;2155:1;2152;2145:12;2386:173;2454:20;;-1:-1:-1;;;;;2503:31:126;;2493:42;;2483:70;;2549:1;2546;2539:12;2483:70;2386:173;;;:::o;2564:254::-;2632:6;2640;2693:2;2681:9;2672:7;2668:23;2664:32;2661:52;;;2709:1;2706;2699:12;2661:52;2745:9;2732:23;2722:33;;2774:38;2808:2;2797:9;2793:18;2774:38;:::i;:::-;2764:48;;2564:254;;;;;:::o;3005:260::-;3073:6;3081;3134:2;3122:9;3113:7;3109:23;3105:32;3102:52;;;3150:1;3147;3140:12;3102:52;3173:29;3192:9;3173:29;:::i;:::-;3163:39;;3221:38;3255:2;3244:9;3240:18;3221:38;:::i;3270:127::-;3331:10;3326:3;3322:20;3319:1;3312:31;3362:4;3359:1;3352:15;3386:4;3383:1;3376:15;3402:275;3473:2;3467:9;3538:2;3519:13;;-1:-1:-1;;3515:27:126;3503:40;;-1:-1:-1;;;;;3558:34:126;;3594:22;;;3555:62;3552:88;;;3620:18;;:::i;:::-;3656:2;3649:22;3402:275;;-1:-1:-1;3402:275:126:o;3682:531::-;3725:5;3778:3;3771:4;3763:6;3759:17;3755:27;3745:55;;3796:1;3793;3786:12;3745:55;3819:20;;-1:-1:-1;;;;;3851:26:126;;3848:52;;;3880:18;;:::i;:::-;3924:55;3967:2;3948:13;;-1:-1:-1;;3944:27:126;3973:4;3940:38;3924:55;:::i;:::-;4004:2;3995:7;3988:19;4050:3;4043:4;4038:2;4030:6;4026:15;4022:26;4019:35;4016:55;;;4067:1;4064;4057:12;4016:55;4132:2;4125:4;4117:6;4113:17;4106:4;4097:7;4093:18;4080:55;4180:1;4155:16;;;4173:4;4151:27;4144:38;;;;4159:7;3682:531;-1:-1:-1;;;3682:531:126:o;4218:610::-;4273:5;4321:4;4309:9;4304:3;4300:19;4296:30;4293:50;;;4339:1;4336;4329:12;4293:50;4372:4;4366:11;;;4404:17;;-1:-1:-1;;;;;4473:18:126;;;4493:22;;;4470:46;4467:72;;;4519:18;;:::i;:::-;4561:10;4555:4;4548:24;4590:6;4581:15;;4633:9;4620:23;4612:6;4605:39;4695:2;4684:9;4680:18;4667:32;4653:46;;4722:2;4714:6;4711:14;4708:34;;;4738:1;4735;4728:12;4708:34;;4775:46;4817:3;4808:6;4797:9;4793:22;4775:46;:::i;:::-;4770:2;4762:6;4758:15;4751:71;;;4218:610;;;;:::o;4833:718::-;4887:5;4940:3;4933:4;4925:6;4921:17;4917:27;4907:55;;4958:1;4955;4948:12;4907:55;4981:20;;5020:4;-1:-1:-1;;;;;5036:26:126;;5033:52;;;5065:18;;:::i;:::-;5111:2;5108:1;5104:10;5134:28;5158:2;5154;5150:11;5134:28;:::i;:::-;5196:15;;;5266;;;5262:24;;;5227:12;;;;5298:15;;;5295:35;;;5326:1;5323;5316:12;5295:35;5362:2;5354:6;5350:15;5339:26;;5374:148;5390:6;5385:3;5382:15;5374:148;;;5456:23;5475:3;5456:23;:::i;:::-;5444:36;;5407:12;;;;5500;;;;5374:148;;;5540:5;4833:718;-1:-1:-1;;;;;;;4833:718:126:o;5556:938::-;5712:6;5720;5728;5736;5744;5797:3;5785:9;5776:7;5772:23;5768:33;5765:53;;;5814:1;5811;5804:12;5765:53;5837:23;;;-1:-1:-1;5911:2:126;5896:18;;5883:32;-1:-1:-1;;;;;5964:14:126;;;5961:34;;;5991:1;5988;5981:12;5961:34;6014:50;6056:7;6047:6;6036:9;6032:22;6014:50;:::i;:::-;6004:60;;6117:2;6106:9;6102:18;6089:32;6073:48;;6146:2;6136:8;6133:16;6130:36;;;6162:1;6159;6152:12;6130:36;6185:61;6238:7;6227:8;6216:9;6212:24;6185:61;:::i;:::-;6175:71;;6265:38;6299:2;6288:9;6284:18;6265:38;:::i;:::-;6255:48;;6356:3;6345:9;6341:19;6328:33;6312:49;;6386:2;6376:8;6373:16;6370:36;;;6402:1;6399;6392:12;6370:36;;6425:63;6480:7;6469:8;6458:9;6454:24;6425:63;:::i;:::-;6415:73;;;5556:938;;;;;;;;:::o;6499:186::-;6558:6;6611:2;6599:9;6590:7;6586:23;6582:32;6579:52;;;6627:1;6624;6617:12;6579:52;6650:29;6669:9;6650:29;:::i;6690:416::-;6783:6;6791;6844:2;6832:9;6823:7;6819:23;6815:32;6812:52;;;6860:1;6857;6850:12;6812:52;6883:23;;;-1:-1:-1;6957:2:126;6942:18;;6929:32;-1:-1:-1;;;;;6973:30:126;;6970:50;;;7016:1;7013;7006:12;6970:50;7039:61;7092:7;7083:6;7072:9;7068:22;7039:61;:::i;:::-;7029:71;;;6690:416;;;;;:::o;7111:203::-;-1:-1:-1;;;;;7275:32:126;;;;7257:51;;7245:2;7230:18;;7111:203::o;7319:415::-;7413:6;7421;7474:2;7462:9;7453:7;7449:23;7445:32;7442:52;;;7490:1;7487;7480:12;7442:52;7513:23;;;-1:-1:-1;7587:2:126;7572:18;;7559:32;-1:-1:-1;;;;;7603:30:126;;7600:50;;;7646:1;7643;7636:12;7600:50;7669:59;7720:7;7711:6;7700:9;7696:22;7669:59;:::i;7739:390::-;7817:6;7825;7878:2;7866:9;7857:7;7853:23;7849:32;7846:52;;;7894:1;7891;7884:12;7846:52;7917:23;;;-1:-1:-1;7991:2:126;7976:18;;7963:32;-1:-1:-1;;;;;8007:30:126;;8004:50;;;8050:1;8047;8040:12;8004:50;8073;8115:7;8106:6;8095:9;8091:22;8073:50;:::i;8134:768::-;8475:6;8464:9;8457:25;8518:6;8513:2;8502:9;8498:18;8491:34;8561:3;8556:2;8545:9;8541:18;8534:31;8438:4;8588:46;8629:3;8618:9;8614:19;8606:6;8588:46;:::i;:::-;8682:9;8674:6;8670:22;8665:2;8654:9;8650:18;8643:50;8710:42;8745:6;8737;8710:42;:::i;:::-;-1:-1:-1;;;;;8827:15:126;;;8821:3;8806:19;;8799:44;8880:15;;;;8779:3;8859:19;;;8852:44;;;;-1:-1:-1;8880:15:126;8702:50;-1:-1:-1;;;;;8134:768:126:o;8907:380::-;8986:1;8982:12;;;;9029;;;9050:61;;9104:4;9096:6;9092:17;9082:27;;9050:61;9157:2;9149:6;9146:14;9126:18;9123:38;9120:161;;9203:10;9198:3;9194:20;9191:1;9184:31;9238:4;9235:1;9228:15;9266:4;9263:1;9256:15;9120:161;;8907:380;;;:::o;9292:184::-;9362:6;9415:2;9403:9;9394:7;9390:23;9386:32;9383:52;;;9431:1;9428;9421:12;9383:52;-1:-1:-1;9454:16:126;;9292:184;-1:-1:-1;9292:184:126:o;10023:545::-;10125:2;10120:3;10117:11;10114:448;;;10161:1;10186:5;10182:2;10175:17;10231:4;10227:2;10217:19;10301:2;10289:10;10285:19;10282:1;10278:27;10272:4;10268:38;10337:4;10325:10;10322:20;10319:47;;;-1:-1:-1;10360:4:126;10319:47;10415:2;10410:3;10406:12;10403:1;10399:20;10393:4;10389:31;10379:41;;10470:82;10488:2;10481:5;10478:13;10470:82;;;10533:17;;;10514:1;10503:13;10470:82;;;10474:3;;;10023:545;;;:::o;10744:1352::-;10864:10;;-1:-1:-1;;;;;10886:30:126;;10883:56;;;10919:18;;:::i;:::-;10948:97;11038:6;10998:38;11030:4;11024:11;10998:38;:::i;:::-;10992:4;10948:97;:::i;:::-;11100:4;;11164:2;11153:14;;11181:1;11176:663;;;;11883:1;11900:6;11897:89;;;-1:-1:-1;11952:19:126;;;11946:26;11897:89;-1:-1:-1;;10701:1:126;10697:11;;;10693:24;10689:29;10679:40;10725:1;10721:11;;;10676:57;11999:81;;11146:944;;11176:663;9970:1;9963:14;;;10007:4;9994:18;;-1:-1:-1;;11212:20:126;;;11330:236;11344:7;11341:1;11338:14;11330:236;;;11433:19;;;11427:26;11412:42;;11525:27;;;;11493:1;11481:14;;;;11360:19;;11330:236;;;11334:3;11594:6;11585:7;11582:19;11579:201;;;11655:19;;;11649:26;-1:-1:-1;;11738:1:126;11734:14;;;11750:3;11730:24;11726:37;11722:42;11707:58;11692:74;;11579:201;-1:-1:-1;;;;;11826:1:126;11810:14;;;11806:22;11793:36;;-1:-1:-1;10744:1352:126:o;12101:127::-;12162:10;12157:3;12153:20;12150:1;12143:31;12193:4;12190:1;12183:15;12217:4;12214:1;12207:15;12233:696;12546:6;12535:9;12528:25;12589:3;12584:2;12573:9;12569:18;12562:31;12509:4;12616:46;12657:3;12646:9;12642:19;12634:6;12616:46;:::i;:::-;12710:9;12702:6;12698:22;12693:2;12682:9;12678:18;12671:50;12738:42;12773:6;12765;12738:42;:::i;:::-;-1:-1:-1;;;;;12854:15:126;;;12849:2;12834:18;;12827:43;12907:15;;;;12901:3;12886:19;;;12879:44;;;;-1:-1:-1;12730:50:126;12233:696;-1:-1:-1;;;;12233:696:126:o;12934:261::-;13115:2;13104:9;13097:21;13078:4;13135:54;13185:2;13174:9;13170:18;13162:6;13135:54;:::i;13804:317::-;13981:2;13970:9;13963:21;13944:4;14001:45;14042:2;14031:9;14027:18;14019:6;14001:45;:::i;:::-;13993:53;;14111:1;14107;14102:3;14098:11;14094:19;14086:6;14082:32;14077:2;14066:9;14062:18;14055:60;13804:317;;;;;:::o;14417:291::-;14594:6;14583:9;14576:25;14637:2;14632;14621:9;14617:18;14610:30;14557:4;14657:45;14698:2;14687:9;14683:18;14675:6;14657:45;:::i;14713:274::-;14887:25;;;-1:-1:-1;;;;;14948:32:126;14943:2;14928:18;;14921:60;14875:2;14860:18;;14713:274::o;14992:492::-;15167:3;15205:6;15199:13;15221:66;15280:6;15275:3;15268:4;15260:6;15256:17;15221:66;:::i;:::-;15350:13;;15309:16;;;;15372:70;15350:13;15309:16;15419:4;15407:17;;15372:70;:::i;:::-;15458:20;;14992:492;-1:-1:-1;;;;14992:492:126:o;16116:812::-;-1:-1:-1;;;16522:3:126;16515:38;16497:3;16582:6;16576:13;16598:75;16666:6;16661:2;16656:3;16652:12;16645:4;16637:6;16633:17;16598:75;:::i;:::-;-1:-1:-1;;;16732:2:126;16692:16;;;16724:11;;;16717:40;16782:13;;16804:76;16782:13;16866:2;16858:11;;16851:4;16839:17;;16804:76;:::i;:::-;16900:17;16919:2;16896:26;;16116:812;-1:-1:-1;;;;16116:812:126:o;16933:220::-;17082:2;17071:9;17064:21;17045:4;17102:45;17143:2;17132:9;17128:18;17120:6;17102:45;:::i;17158:127::-;17219:10;17214:3;17210:20;17207:1;17200:31;17250:4;17247:1;17240:15;17274:4;17271:1;17264:15;17290:168;17363:9;;;17394;;17411:15;;;17405:22;;17391:37;17381:71;;17432:18;;:::i;17463:125::-;17528:9;;;17549:10;;;17546:36;;;17562:18;;:::i;17593:136::-;17632:3;17660:5;17650:39;;17669:18;;:::i;:::-;-1:-1:-1;;;17705:18:126;;17593:136::o","linkReferences":{}},"methodIdentifiers":{"ALLO_OWNER()":"cfda7e0a","DEFAULT_ADMIN_ROLE()":"a217fddf","NATIVE()":"a0cf0aea","acceptProfileOwnership(bytes32)":"2497f3c6","addMembers(bytes32,address[])":"5063f361","anchorToProfileId(address)":"4756487f","createProfile(uint256,string,(uint256,string),address,address[])":"3a92f65f","getProfileByAnchor(address)":"dd93da43","getProfileById(bytes32)":"0114cf0a","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(address)":"c4d66de8","isMemberOfProfile(bytes32,address)":"0ec1fbac","isOwnerOfProfile(bytes32,address)":"39b86b8c","isOwnerOrMemberOfProfile(bytes32,address)":"5e8a7915","profileIdToPendingOwner(bytes32)":"50d005e0","profilesById(bytes32)":"ee888196","recoverFunds(address,address)":"24ae6a27","removeMembers(bytes32,address[])":"e0cf1e4c","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7","updateProfileMetadata(bytes32,(uint256,string))":"ac402839","updateProfileName(bytes32,string)":"cf189ff2","updateProfilePendingOwner(bytes32,address)":"3b66dacd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AMOUNT_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"ProfileMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileNameUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ProfileOwnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"ProfilePendingOwnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ALLO_OWNER\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"acceptProfileOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"addMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"anchorToProfileId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"createProfile\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_anchor\",\"type\":\"address\"}],\"name\":\"getProfileByAnchor\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"getProfileById\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"isOwnerOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isOwnerOrMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"profileIdToPendingOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"profilesById\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"removeMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updateProfileMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"updateProfileName\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_pendingOwner\",\"type\":\"address\"}],\"name\":\"updateProfilePendingOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"details\":\"This contract is used to create and manage profiles for the Allo protocol It is also used to deploy the anchor contract for each profile which acts as a proxy for the profile and is used to receive funds and execute transactions on behalf of the profile The Registry is also used to add and remove members from a profile and update the profile 'Metadata'\",\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}]},\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"ProfileCreated(bytes32,uint256,string,(uint256,string),address,address)\":{\"details\":\"Emitted when a profile is created. This will return your anchor address.\"},\"ProfileMetadataUpdated(bytes32,(uint256,string))\":{\"details\":\"Emitted when a profile's metadata is updated.\"},\"ProfileNameUpdated(bytes32,string,address)\":{\"details\":\"Emitted when a profile name is updated. This will update the anchor when the name is updated and return it.\"},\"ProfileOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile owner is updated.\"},\"ProfilePendingOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile pending owner is updated.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"acceptProfileOwnership(bytes32)\":{\"details\":\"'msg.sender' must be the pending owner of the profile. [2]*This is step two of two when transferring ownership.\",\"params\":{\"_profileId\":\"The ID of the profile\"}},\"addMembers(bytes32,address[])\":{\"details\":\"'msg.sender' must be the owner of the profile.\",\"params\":{\"_members\":\"The members to add\",\"_profileId\":\"The ID of the profile\"}},\"createProfile(uint256,string,(uint256,string),address,address[])\":{\"details\":\"This will also generate the 'profileId' and 'anchor' address, emits a 'ProfileCreated()' event Note: The 'nonce' is used to generate the 'profileId' and should be unique for each profile Note: The 'name' and 'profileId' are used to generate the 'anchor' address\",\"params\":{\"_members\":\"The members of the profile (can be set only if msg.sender == _owner)\",\"_metadata\":\"The metadata of the profile\",\"_name\":\"The name of the profile\",\"_nonce\":\"Nonce used to generate profileId. Can be any integer, but should be unique for each profile.\",\"_owner\":\"The owner of the profile\"},\"returns\":{\"_0\":\"The ID for the created profile\"}},\"getProfileByAnchor(address)\":{\"details\":\"Used when you have the 'anchor' address and want to retrieve the profile\",\"params\":{\"_anchor\":\"The anchor of the profile\"},\"returns\":{\"_0\":\"Profile details for the `_anchor`\"}},\"getProfileById(bytes32)\":{\"details\":\"Used when you have the 'profileId' and want to retrieve the profile\",\"params\":{\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"The Profile details for the `_profileId`\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(address)\":{\"details\":\"During upgrade -> a higher version should be passed to reinitializer. Reverts if the '_owner' is the 'address(0)'\",\"params\":{\"_owner\":\"The owner of the contract\"}},\"isMemberOfProfile(bytes32,address)\":{\"params\":{\"_member\":\"The address to check\",\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"'true' if the address is a member of the profile, otherwise 'false'\"}},\"isOwnerOfProfile(bytes32,address)\":{\"params\":{\"_owner\":\"The address to check\",\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"'true' if the address is an owner of the profile, otherwise 'false'\"}},\"isOwnerOrMemberOfProfile(bytes32,address)\":{\"params\":{\"_account\":\"The address to check\",\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"'true' if the address is an owner or member of the profile, otherwise 'false'\"}},\"recoverFunds(address,address)\":{\"details\":\"'msg.sender' must be the Allo owner\",\"params\":{\"_recipient\":\"The address of the recipient\",\"_token\":\"The address of the token to transfer\"}},\"removeMembers(bytes32,address[])\":{\"details\":\"'msg.sender' must be the pending owner of the profile.\",\"params\":{\"_members\":\"The members to remove\",\"_profileId\":\"The ID of the profile\"}},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"updateProfileMetadata(bytes32,(uint256,string))\":{\"details\":\"'msg.sender' must be the owner of the profile.\",\"params\":{\"_metadata\":\"The new 'Metadata' of the profile\",\"_profileId\":\"The ID of the profile\"}},\"updateProfileName(bytes32,string)\":{\"details\":\"Use caution when updating your profile name as it will generate a new anchor address. You can always update the name back to the original name to get the original anchor address. 'msg.sender' must be the owner of the profile.\",\"params\":{\"_name\":\"The new name of the profile\",\"_profileId\":\"The profileId of the profile\"},\"returns\":{\"anchor\":\"The new anchor\"}},\"updateProfilePendingOwner(bytes32,address)\":{\"details\":\"'msg.sender' must be the owner of the profile. [1]*This is step one of two when transferring ownership.\",\"params\":{\"_pendingOwner\":\"The new pending owner\",\"_profileId\":\"The ID of the profile\"}}},\"stateVariables\":{\"anchorToProfileId\":{\"details\":\"anchor -> Profile.id\"},\"profileIdToPendingOwner\":{\"details\":\"Profile.id -> pending owner\"},\"profilesById\":{\"details\":\"Profile.id -> Profile\"}},\"title\":\"Registry Contract\",\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"AMOUNT_MISMATCH()\":[{\"notice\":\"Thrown when the amount of tokens sent does not match the amount of tokens expected\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"kind\":\"user\",\"methods\":{\"ALLO_OWNER()\":{\"notice\":\"Allo Owner Role for fund recovery\"},\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"acceptProfileOwnership(bytes32)\":{\"notice\":\"Transfers the ownership of the profile to the pending owner and Emits a 'ProfileOwnerUdpated()' event.\"},\"addMembers(bytes32,address[])\":{\"notice\":\"Adds members to the profile\"},\"anchorToProfileId(address)\":{\"notice\":\"This maps the anchor address to the profile ID\"},\"createProfile(uint256,string,(uint256,string),address,address[])\":{\"notice\":\"Creates a new profile\"},\"getProfileByAnchor(address)\":{\"notice\":\"Retrieve profile by anchor\"},\"getProfileById(bytes32)\":{\"notice\":\"Retrieve profile by profileId\"},\"initialize(address)\":{\"notice\":\"Initializes the contract after an upgrade\"},\"isMemberOfProfile(bytes32,address)\":{\"notice\":\"Checks if the given address is a member of the profile\"},\"isOwnerOfProfile(bytes32,address)\":{\"notice\":\"Checks if the given address is an owner of the profile\"},\"isOwnerOrMemberOfProfile(bytes32,address)\":{\"notice\":\"Checks if the address is an owner or member of the profile\"},\"profileIdToPendingOwner(bytes32)\":{\"notice\":\"This maps the profile ID to the pending owner\"},\"profilesById(bytes32)\":{\"notice\":\"This maps the profile ID to the profile details\"},\"recoverFunds(address,address)\":{\"notice\":\"Transfers any fund balance in Allo to the recipient\"},\"removeMembers(bytes32,address[])\":{\"notice\":\"Removes members from the profile\"},\"updateProfileMetadata(bytes32,(uint256,string))\":{\"notice\":\"Update the 'Metadata' of the profile. Emits a 'ProfileMetadataUpdated()' event.\"},\"updateProfileName(bytes32,string)\":{\"notice\":\"Updates the name of the profile and generates new anchor. Emits a 'ProfileNameUpdated()' event.\"},\"updateProfilePendingOwner(bytes32,address)\":{\"notice\":\"Updates the pending owner of the profile. Emits a 'ProfilePendingOwnership()' event.\"}},\"notice\":\"Registry contract for creating and managing profiles\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/Registry.sol\":\"Registry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"AMOUNT_MISMATCH"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false},{"internalType":"address","name":"owner","type":"address","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileCreated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"ProfileMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileNameUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":false}],"type":"event","name":"ProfileOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"pendingOwner","type":"address","indexed":false}],"type":"event","name":"ProfilePendingOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"ALLO_OWNER","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"acceptProfileOwnership"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"addMembers"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"anchorToProfileId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"createProfile","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_anchor","type":"address"}],"stateMutability":"view","type":"function","name":"getProfileByAnchor","outputs":[{"internalType":"struct IRegistry.Profile","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getProfileById","outputs":[{"internalType":"struct IRegistry.Profile","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isMemberOfProfile","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOfProfile","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_account","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOrMemberOfProfile","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"profileIdToPendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"profilesById","outputs":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"removeMembers"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updateProfileMetadata"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateProfileName","outputs":[{"internalType":"address","name":"anchor","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_pendingOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateProfilePendingOwner"}],"devdoc":{"kind":"dev","methods":{"acceptProfileOwnership(bytes32)":{"details":"'msg.sender' must be the pending owner of the profile. [2]*This is step two of two when transferring ownership.","params":{"_profileId":"The ID of the profile"}},"addMembers(bytes32,address[])":{"details":"'msg.sender' must be the owner of the profile.","params":{"_members":"The members to add","_profileId":"The ID of the profile"}},"createProfile(uint256,string,(uint256,string),address,address[])":{"details":"This will also generate the 'profileId' and 'anchor' address, emits a 'ProfileCreated()' event Note: The 'nonce' is used to generate the 'profileId' and should be unique for each profile Note: The 'name' and 'profileId' are used to generate the 'anchor' address","params":{"_members":"The members of the profile (can be set only if msg.sender == _owner)","_metadata":"The metadata of the profile","_name":"The name of the profile","_nonce":"Nonce used to generate profileId. Can be any integer, but should be unique for each profile.","_owner":"The owner of the profile"},"returns":{"_0":"The ID for the created profile"}},"getProfileByAnchor(address)":{"details":"Used when you have the 'anchor' address and want to retrieve the profile","params":{"_anchor":"The anchor of the profile"},"returns":{"_0":"Profile details for the `_anchor`"}},"getProfileById(bytes32)":{"details":"Used when you have the 'profileId' and want to retrieve the profile","params":{"_profileId":"The ID of the profile"},"returns":{"_0":"The Profile details for the `_profileId`"}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"initialize(address)":{"details":"During upgrade -> a higher version should be passed to reinitializer. Reverts if the '_owner' is the 'address(0)'","params":{"_owner":"The owner of the contract"}},"isMemberOfProfile(bytes32,address)":{"params":{"_member":"The address to check","_profileId":"The ID of the profile"},"returns":{"_0":"'true' if the address is a member of the profile, otherwise 'false'"}},"isOwnerOfProfile(bytes32,address)":{"params":{"_owner":"The address to check","_profileId":"The ID of the profile"},"returns":{"_0":"'true' if the address is an owner of the profile, otherwise 'false'"}},"isOwnerOrMemberOfProfile(bytes32,address)":{"params":{"_account":"The address to check","_profileId":"The ID of the profile"},"returns":{"_0":"'true' if the address is an owner or member of the profile, otherwise 'false'"}},"recoverFunds(address,address)":{"details":"'msg.sender' must be the Allo owner","params":{"_recipient":"The address of the recipient","_token":"The address of the token to transfer"}},"removeMembers(bytes32,address[])":{"details":"'msg.sender' must be the pending owner of the profile.","params":{"_members":"The members to remove","_profileId":"The ID of the profile"}},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"updateProfileMetadata(bytes32,(uint256,string))":{"details":"'msg.sender' must be the owner of the profile.","params":{"_metadata":"The new 'Metadata' of the profile","_profileId":"The ID of the profile"}},"updateProfileName(bytes32,string)":{"details":"Use caution when updating your profile name as it will generate a new anchor address. You can always update the name back to the original name to get the original anchor address. 'msg.sender' must be the owner of the profile.","params":{"_name":"The new name of the profile","_profileId":"The profileId of the profile"},"returns":{"anchor":"The new anchor"}},"updateProfilePendingOwner(bytes32,address)":{"details":"'msg.sender' must be the owner of the profile. [1]*This is step one of two when transferring ownership.","params":{"_pendingOwner":"The new pending owner","_profileId":"The ID of the profile"}}},"version":1},"userdoc":{"kind":"user","methods":{"ALLO_OWNER()":{"notice":"Allo Owner Role for fund recovery"},"NATIVE()":{"notice":"Address of the native token"},"acceptProfileOwnership(bytes32)":{"notice":"Transfers the ownership of the profile to the pending owner and Emits a 'ProfileOwnerUdpated()' event."},"addMembers(bytes32,address[])":{"notice":"Adds members to the profile"},"anchorToProfileId(address)":{"notice":"This maps the anchor address to the profile ID"},"createProfile(uint256,string,(uint256,string),address,address[])":{"notice":"Creates a new profile"},"getProfileByAnchor(address)":{"notice":"Retrieve profile by anchor"},"getProfileById(bytes32)":{"notice":"Retrieve profile by profileId"},"initialize(address)":{"notice":"Initializes the contract after an upgrade"},"isMemberOfProfile(bytes32,address)":{"notice":"Checks if the given address is a member of the profile"},"isOwnerOfProfile(bytes32,address)":{"notice":"Checks if the given address is an owner of the profile"},"isOwnerOrMemberOfProfile(bytes32,address)":{"notice":"Checks if the address is an owner or member of the profile"},"profileIdToPendingOwner(bytes32)":{"notice":"This maps the profile ID to the pending owner"},"profilesById(bytes32)":{"notice":"This maps the profile ID to the profile details"},"recoverFunds(address,address)":{"notice":"Transfers any fund balance in Allo to the recipient"},"removeMembers(bytes32,address[])":{"notice":"Removes members from the profile"},"updateProfileMetadata(bytes32,(uint256,string))":{"notice":"Update the 'Metadata' of the profile. Emits a 'ProfileMetadataUpdated()' event."},"updateProfileName(bytes32,string)":{"notice":"Updates the name of the profile and generates new anchor. Emits a 'ProfileNameUpdated()' event."},"updateProfilePendingOwner(bytes32,address)":{"notice":"Updates the pending owner of the profile. Emits a 'ProfilePendingOwnership()' event."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/Registry.sol":"Registry"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":52990,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52993,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53695,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":53969,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"__gap","offset":0,"slot":"51","type":"t_array(t_uint256)50_storage"},{"astId":52389,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"_roles","offset":0,"slot":"101","type":"t_mapping(t_bytes32,t_struct(RoleData)52384_storage)"},{"astId":52696,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":1525,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"anchorToProfileId","offset":0,"slot":"151","type":"t_mapping(t_address,t_bytes32)"},{"astId":1531,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"profilesById","offset":0,"slot":"152","type":"t_mapping(t_bytes32,t_struct(Profile)2629_storage)"},{"astId":1536,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"profileIdToPendingOwner","offset":0,"slot":"153","type":"t_mapping(t_bytes32,t_address)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_bytes32)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bytes32)","numberOfBytes":"32","value":"t_bytes32"},"t_mapping(t_bytes32,t_address)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => address)","numberOfBytes":"32","value":"t_address"},"t_mapping(t_bytes32,t_struct(Profile)2629_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct IRegistry.Profile)","numberOfBytes":"32","value":"t_struct(Profile)2629_storage"},"t_mapping(t_bytes32,t_struct(RoleData)52384_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)52384_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(Profile)2629_storage":{"encoding":"inplace","label":"struct IRegistry.Profile","numberOfBytes":"224","members":[{"astId":2617,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"id","offset":0,"slot":"0","type":"t_bytes32"},{"astId":2619,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"nonce","offset":0,"slot":"1","type":"t_uint256"},{"astId":2621,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"name","offset":0,"slot":"2","type":"t_string_storage"},{"astId":2624,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"metadata","offset":0,"slot":"3","type":"t_struct(Metadata)3098_storage"},{"astId":2626,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"owner","offset":0,"slot":"5","type":"t_address"},{"astId":2628,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"anchor","offset":0,"slot":"6","type":"t_address"}]},"t_struct(RoleData)52384_storage":{"encoding":"inplace","label":"struct AccessControlUpgradeable.RoleData","numberOfBytes":"64","members":[{"astId":52381,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"members","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":52383,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"adminRole","offset":0,"slot":"1","type":"t_bytes32"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","id":2296,"exportedSymbols":{"AccessControlUpgradeable":[52697],"AddressUpgradeable":[53645],"Anchor":[1492],"ContextUpgradeable":[53696],"ERC165Upgradeable":[53970],"ERC20":[4491],"Errors":[3089],"IAccessControlUpgradeable":[52770],"IERC165Upgradeable":[53982],"IRegistry":[2802],"Initializable":[53152],"MathUpgradeable":[54848],"Metadata":[3098],"Native":[3106],"Registry":[2295],"SafeTransferLib":[4649],"SignedMathUpgradeable":[54953],"StringsUpgradeable":[53925],"Transfer":[3317]},"nodeType":"SourceUnit","src":"42:21126:2","nodes":[{"id":1494,"nodeType":"PragmaDirective","src":"42:23:2","nodes":[],"literals":["solidity","0.8",".19"]},{"id":1495,"nodeType":"ImportDirective","src":"89:90:2","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":52698,"symbolAliases":[],"unitAlias":""},{"id":1496,"nodeType":"ImportDirective","src":"180:84:2","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":53153,"symbolAliases":[],"unitAlias":""},{"id":1498,"nodeType":"ImportDirective","src":"265:50:2","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/tokens/ERC20.sol","file":"solady/src/tokens/ERC20.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":4492,"symbolAliases":[{"foreign":{"id":1497,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4491,"src":"273:5:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1499,"nodeType":"ImportDirective","src":"330:36:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"./interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":2803,"symbolAliases":[],"unitAlias":""},{"id":1501,"nodeType":"ImportDirective","src":"389:36:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Anchor.sol","file":"./Anchor.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":1493,"symbolAliases":[{"foreign":{"id":1500,"name":"Anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1492,"src":"397:6:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1503,"nodeType":"ImportDirective","src":"426:46:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Errors.sol","file":"./libraries/Errors.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3090,"symbolAliases":[{"foreign":{"id":1502,"name":"Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3089,"src":"434:6:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1505,"nodeType":"ImportDirective","src":"473:50:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"./libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":1504,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"481:8:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1506,"nodeType":"ImportDirective","src":"524:32:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"./libraries/Native.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3107,"symbolAliases":[],"unitAlias":""},{"id":1507,"nodeType":"ImportDirective","src":"557:34:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Transfer.sol","file":"./libraries/Transfer.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3318,"symbolAliases":[],"unitAlias":""},{"id":2295,"nodeType":"ContractDefinition","src":"5237:15930:2","nodes":[{"id":1525,"nodeType":"VariableDeclaration","src":"5544:52:2","nodes":[],"constant":false,"documentation":{"id":1521,"nodeType":"StructuredDocumentation","src":"5447:92:2","text":"@notice This maps the anchor address to the profile ID\n @dev anchor -> Profile.id"},"functionSelector":"4756487f","mutability":"mutable","name":"anchorToProfileId","nameLocation":"5579:17:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"},"typeName":{"id":1524,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1522,"name":"address","nodeType":"ElementaryTypeName","src":"5552:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"5544:27:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":1523,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5563:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},"visibility":"public"},{"id":1531,"nodeType":"VariableDeclaration","src":"5702:47:2","nodes":[],"constant":false,"documentation":{"id":1526,"nodeType":"StructuredDocumentation","src":"5603:94:2","text":"@notice This maps the profile ID to the profile details\n @dev Profile.id -> Profile"},"functionSelector":"ee888196","mutability":"mutable","name":"profilesById","nameLocation":"5737:12:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile)"},"typeName":{"id":1530,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1527,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5710:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"5702:27:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":1529,"nodeType":"UserDefinedTypeName","pathNode":{"id":1528,"name":"Profile","nameLocations":["5721:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"5721:7:2"},"referencedDeclaration":2629,"src":"5721:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}}},"visibility":"public"},{"id":1536,"nodeType":"VariableDeclaration","src":"5859:58:2","nodes":[],"constant":false,"documentation":{"id":1532,"nodeType":"StructuredDocumentation","src":"5756:98:2","text":"@notice This maps the profile ID to the pending owner\n @dev Profile.id -> pending owner"},"functionSelector":"50d005e0","mutability":"mutable","name":"profileIdToPendingOwner","nameLocation":"5894:23:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"},"typeName":{"id":1535,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1533,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5867:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"5859:27:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":1534,"name":"address","nodeType":"ElementaryTypeName","src":"5878:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"public"},{"id":1542,"nodeType":"VariableDeclaration","src":"5974:60:2","nodes":[],"constant":true,"documentation":{"id":1537,"nodeType":"StructuredDocumentation","src":"5924:45:2","text":"@notice Allo Owner Role for fund recovery"},"functionSelector":"cfda7e0a","mutability":"constant","name":"ALLO_OWNER","nameLocation":"5998:10:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1538,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5974:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"414c4c4f5f4f574e4552","id":1540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6021:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747","typeString":"literal_string \"ALLO_OWNER\""},"value":"ALLO_OWNER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747","typeString":"literal_string \"ALLO_OWNER\""}],"id":1539,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6011:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6011:23:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":1553,"nodeType":"ModifierDefinition","src":"6360:108:2","nodes":[],"body":{"id":1552,"nodeType":"Block","src":"6406:62:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1548,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1545,"src":"6439:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1547,"name":"_checkOnlyProfileOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2071,"src":"6416:22:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$__$","typeString":"function (bytes32) view"}},"id":1549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6416:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1550,"nodeType":"ExpressionStatement","src":"6416:34:2"},{"id":1551,"nodeType":"PlaceholderStatement","src":"6460:1:2"}]},"documentation":{"id":1543,"nodeType":"StructuredDocumentation","src":"6177:178:2","text":"@notice Checks if the caller is the profile owner\n @dev Reverts `UNAUTHORIZED()` if the caller is not the profile owner\n @param _profileId The ID of the profile"},"name":"onlyProfileOwner","nameLocation":"6369:16:2","parameters":{"id":1546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1545,"mutability":"mutable","name":"_profileId","nameLocation":"6394:10:2","nodeType":"VariableDeclaration","scope":1553,"src":"6386:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1544,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6386:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6385:20:2"},"virtual":false,"visibility":"internal"},{"id":1578,"nodeType":"FunctionDefinition","src":"6841:257:2","nodes":[],"body":{"id":1577,"nodeType":"Block","src":"6903:195:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1562,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"6968:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6986:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1564,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6978:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1563,"name":"address","nodeType":"ElementaryTypeName","src":"6978:7:2","typeDescriptions":{}}},"id":1566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6978:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6968:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1571,"nodeType":"IfStatement","src":"6964:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1568,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"6997:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6997:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1570,"nodeType":"RevertStatement","src":"6990:21:2"}},{"expression":{"arguments":[{"id":1573,"name":"ALLO_OWNER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1542,"src":"7072:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1574,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"7084:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1572,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52660,"src":"7061:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7061:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1576,"nodeType":"ExpressionStatement","src":"7061:30:2"}]},"documentation":{"id":1554,"nodeType":"StructuredDocumentation","src":"6608:228:2","text":"@notice Initializes the contract after an upgrade\n @dev During upgrade -> a higher version should be passed to reinitializer. Reverts if the '_owner' is the 'address(0)'\n @param _owner The owner of the contract"},"functionSelector":"c4d66de8","implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"31","id":1559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6900:1:2","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"id":1560,"kind":"modifierInvocation","modifierName":{"id":1558,"name":"reinitializer","nameLocations":["6886:13:2"],"nodeType":"IdentifierPath","referencedDeclaration":53087,"src":"6886:13:2"},"nodeType":"ModifierInvocation","src":"6886:16:2"}],"name":"initialize","nameLocation":"6850:10:2","parameters":{"id":1557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1556,"mutability":"mutable","name":"_owner","nameLocation":"6869:6:2","nodeType":"VariableDeclaration","scope":1578,"src":"6861:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1555,"name":"address","nodeType":"ElementaryTypeName","src":"6861:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6860:16:2"},"returnParameters":{"id":1561,"nodeType":"ParameterList","parameters":[],"src":"6903:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1592,"nodeType":"FunctionDefinition","src":"7472:131:2","nodes":[],"body":{"id":1591,"nodeType":"Block","src":"7555:48:2","nodes":[],"statements":[{"expression":{"baseExpression":{"id":1587,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"7572:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1589,"indexExpression":{"id":1588,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1581,"src":"7585:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7572:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"functionReturnParameters":1586,"id":1590,"nodeType":"Return","src":"7565:31:2"}]},"baseFunctions":[2685],"documentation":{"id":1579,"nodeType":"StructuredDocumentation","src":"7240:227:2","text":"@notice Retrieve profile by profileId\n @dev Used when you have the 'profileId' and want to retrieve the profile\n @param _profileId The ID of the profile\n @return The Profile details for the `_profileId`"},"functionSelector":"0114cf0a","implemented":true,"kind":"function","modifiers":[],"name":"getProfileById","nameLocation":"7481:14:2","parameters":{"id":1582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1581,"mutability":"mutable","name":"_profileId","nameLocation":"7504:10:2","nodeType":"VariableDeclaration","scope":1592,"src":"7496:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1580,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7496:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7495:20:2"},"returnParameters":{"id":1586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1585,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1592,"src":"7539:14:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1584,"nodeType":"UserDefinedTypeName","pathNode":{"id":1583,"name":"Profile","nameLocations":["7539:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"7539:7:2"},"referencedDeclaration":2629,"src":"7539:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"7538:16:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1612,"nodeType":"FunctionDefinition","src":"7837:187:2","nodes":[],"body":{"id":1611,"nodeType":"Block","src":"7921:103:2","nodes":[],"statements":[{"assignments":[1602],"declarations":[{"constant":false,"id":1602,"mutability":"mutable","name":"profileId","nameLocation":"7939:9:2","nodeType":"VariableDeclaration","scope":1611,"src":"7931:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1601,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7931:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":1606,"initialValue":{"baseExpression":{"id":1603,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"7951:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1605,"indexExpression":{"id":1604,"name":"_anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"src":"7969:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7951:26:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"7931:46:2"},{"expression":{"baseExpression":{"id":1607,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"7994:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1609,"indexExpression":{"id":1608,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1602,"src":"8007:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7994:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"functionReturnParameters":1600,"id":1610,"nodeType":"Return","src":"7987:30:2"}]},"baseFunctions":[2694],"documentation":{"id":1593,"nodeType":"StructuredDocumentation","src":"7609:223:2","text":"@notice Retrieve profile by anchor\n @dev Used when you have the 'anchor' address and want to retrieve the profile\n @param _anchor The anchor of the profile\n @return Profile details for the `_anchor`"},"functionSelector":"dd93da43","implemented":true,"kind":"function","modifiers":[],"name":"getProfileByAnchor","nameLocation":"7846:18:2","parameters":{"id":1596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1595,"mutability":"mutable","name":"_anchor","nameLocation":"7873:7:2","nodeType":"VariableDeclaration","scope":1612,"src":"7865:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1594,"name":"address","nodeType":"ElementaryTypeName","src":"7865:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7864:17:2"},"returnParameters":{"id":1600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1599,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1612,"src":"7905:14:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1598,"nodeType":"UserDefinedTypeName","pathNode":{"id":1597,"name":"Profile","nameLocations":["7905:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"7905:7:2"},"referencedDeclaration":2629,"src":"7905:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"7904:16:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1756,"nodeType":"FunctionDefinition","src":"8781:1901:2","nodes":[],"body":{"id":1755,"nodeType":"Block","src":"8984:1698:2","nodes":[],"statements":[{"assignments":[1631],"declarations":[{"constant":false,"id":1631,"mutability":"mutable","name":"profileId","nameLocation":"9068:9:2","nodeType":"VariableDeclaration","scope":1755,"src":"9060:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1630,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9060:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":1636,"initialValue":{"arguments":[{"id":1633,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1615,"src":"9099:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1634,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9107:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1632,"name":"_generateProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2211,"src":"9080:18:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_address_$returns$_t_bytes32_$","typeString":"function (uint256,address) pure returns (bytes32)"}},"id":1635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9080:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"9060:54:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":1637,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"9173:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1639,"indexExpression":{"id":1638,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9186:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9173:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":1640,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9197:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"9173:30:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":1643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9215:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1642,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9207:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1641,"name":"address","nodeType":"ElementaryTypeName","src":"9207:7:2","typeDescriptions":{}}},"id":1644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9207:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9173:44:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1649,"nodeType":"IfStatement","src":"9169:78:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1646,"name":"NONCE_NOT_AVAILABLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3026,"src":"9226:19:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9226:21:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1648,"nodeType":"RevertStatement","src":"9219:28:2"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1650,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9317:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9335:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1652,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9327:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1651,"name":"address","nodeType":"ElementaryTypeName","src":"9327:7:2","typeDescriptions":{}}},"id":1654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9327:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9317:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1659,"nodeType":"IfStatement","src":"9313:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1656,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"9346:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9346:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1658,"nodeType":"RevertStatement","src":"9339:21:2"}},{"assignments":[1662],"declarations":[{"constant":false,"id":1662,"mutability":"mutable","name":"profile","nameLocation":"9462:7:2","nodeType":"VariableDeclaration","scope":1755,"src":"9447:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1661,"nodeType":"UserDefinedTypeName","pathNode":{"id":1660,"name":"Profile","nameLocations":["9447:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"9447:7:2"},"referencedDeclaration":2629,"src":"9447:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"id":1674,"initialValue":{"arguments":[{"id":1664,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9498:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1665,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1615,"src":"9528:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1666,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1617,"src":"9554:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1667,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1620,"src":"9583:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":1668,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9613:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1670,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9657:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1671,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1617,"src":"9668:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1669,"name":"_generateAnchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2192,"src":"9641:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (bytes32,string memory) returns (address)"}},"id":1672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9641:33:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1663,"name":"Profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2629,"src":"9472:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Profile_$2629_storage_ptr_$","typeString":"type(struct IRegistry.Profile storage pointer)"}},"id":1673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["9494:2:2","9521:5:2","9548:4:2","9573:8:2","9606:5:2","9633:6:2"],"names":["id","nonce","name","metadata","owner","anchor"],"nodeType":"FunctionCall","src":"9472:213:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"nodeType":"VariableDeclarationStatement","src":"9447:238:2"},{"expression":{"id":1679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1675,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"9696:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1677,"indexExpression":{"id":1676,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9709:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9696:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1678,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"9722:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"src":"9696:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":1680,"nodeType":"ExpressionStatement","src":"9696:33:2"},{"expression":{"id":1686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1681,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"9739:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1684,"indexExpression":{"expression":{"id":1682,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"9757:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1683,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9765:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"9757:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9739:33:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1685,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9775:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"9739:45:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1687,"nodeType":"ExpressionStatement","src":"9739:45:2"},{"assignments":[1689],"declarations":[{"constant":false,"id":1689,"mutability":"mutable","name":"memberLength","nameLocation":"9851:12:2","nodeType":"VariableDeclaration","scope":1755,"src":"9843:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1688,"name":"uint256","nodeType":"ElementaryTypeName","src":"9843:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1692,"initialValue":{"expression":{"id":1690,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1625,"src":"9866:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9875:6:2","memberName":"length","nodeType":"MemberAccess","src":"9866:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9843:38:2"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1693,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1689,"src":"9942:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9957:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9942:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1696,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9962:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":1697,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9972:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9976:6:2","memberName":"sender","nodeType":"MemberAccess","src":"9972:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9962:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9942:40:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1705,"nodeType":"IfStatement","src":"9938:92:2","trueBody":{"id":1704,"nodeType":"Block","src":"9984:46:2","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1701,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"10005:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10005:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1703,"nodeType":"RevertStatement","src":"9998:21:2"}]}},{"body":{"id":1737,"nodeType":"Block","src":"10075:367:2","statements":[{"assignments":[1713],"declarations":[{"constant":false,"id":1713,"mutability":"mutable","name":"member","nameLocation":"10097:6:2","nodeType":"VariableDeclaration","scope":1737,"src":"10089:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1712,"name":"address","nodeType":"ElementaryTypeName","src":"10089:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1717,"initialValue":{"baseExpression":{"id":1714,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1625,"src":"10106:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1716,"indexExpression":{"id":1715,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1707,"src":"10115:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10106:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10089:28:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1718,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1713,"src":"10206:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10224:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1720,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10216:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1719,"name":"address","nodeType":"ElementaryTypeName","src":"10216:7:2","typeDescriptions":{}}},"id":1722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10216:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10206:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1727,"nodeType":"IfStatement","src":"10202:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1724,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"10235:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10235:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1726,"nodeType":"RevertStatement","src":"10228:21:2"}},{"expression":{"arguments":[{"id":1729,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"10354:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1730,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1713,"src":"10365:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1728,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52660,"src":"10343:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10343:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1732,"nodeType":"ExpressionStatement","src":"10343:29:2"},{"id":1736,"nodeType":"UncheckedBlock","src":"10386:46:2","statements":[{"expression":{"id":1734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"10414:3:2","subExpression":{"id":1733,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1707,"src":"10416:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1735,"nodeType":"ExpressionStatement","src":"10414:3:2"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1709,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1707,"src":"10056:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1710,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1689,"src":"10060:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10056:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1738,"initializationExpression":{"assignments":[1707],"declarations":[{"constant":false,"id":1707,"mutability":"mutable","name":"i","nameLocation":"10053:1:2","nodeType":"VariableDeclaration","scope":1738,"src":"10045:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1706,"name":"uint256","nodeType":"ElementaryTypeName","src":"10045:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1708,"nodeType":"VariableDeclarationStatement","src":"10045:9:2"},"nodeType":"ForStatement","src":"10040:402:2"},{"eventCall":{"arguments":[{"id":1740,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"10527:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":1741,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10538:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1742,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10546:5:2","memberName":"nonce","nodeType":"MemberAccess","referencedDeclaration":2619,"src":"10538:13:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1743,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10553:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1744,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10561:4:2","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":2621,"src":"10553:12:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":1745,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10567:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1746,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10575:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":2624,"src":"10567:16:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"expression":{"id":1747,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10585:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1748,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10593:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"10585:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":1749,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10600:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1750,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10608:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"10600:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1739,"name":"ProfileCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2645,"src":"10512:14:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_address_$returns$__$","typeString":"function (bytes32,uint256,string memory,struct Metadata memory,address,address)"}},"id":1751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10512:103:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1752,"nodeType":"EmitStatement","src":"10507:108:2"},{"expression":{"id":1753,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"10666:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":1629,"id":1754,"nodeType":"Return","src":"10659:16:2"}]},"baseFunctions":[2742],"documentation":{"id":1613,"nodeType":"StructuredDocumentation","src":"8030:746:2","text":"@notice Creates a new profile\n @dev This will also generate the 'profileId' and 'anchor' address, emits a 'ProfileCreated()' event\n Note: The 'nonce' is used to generate the 'profileId' and should be unique for each profile\n Note: The 'name' and 'profileId' are used to generate the 'anchor' address\n @param _nonce Nonce used to generate profileId. Can be any integer, but should be unique\n for each profile.\n @param _name The name of the profile\n @param _metadata The metadata of the profile\n @param _owner The owner of the profile\n @param _members The members of the profile (can be set only if msg.sender == _owner)\n @return The ID for the created profile"},"functionSelector":"3a92f65f","implemented":true,"kind":"function","modifiers":[],"name":"createProfile","nameLocation":"8790:13:2","parameters":{"id":1626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1615,"mutability":"mutable","name":"_nonce","nameLocation":"8821:6:2","nodeType":"VariableDeclaration","scope":1756,"src":"8813:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1614,"name":"uint256","nodeType":"ElementaryTypeName","src":"8813:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1617,"mutability":"mutable","name":"_name","nameLocation":"8851:5:2","nodeType":"VariableDeclaration","scope":1756,"src":"8837:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1616,"name":"string","nodeType":"ElementaryTypeName","src":"8837:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1620,"mutability":"mutable","name":"_metadata","nameLocation":"8882:9:2","nodeType":"VariableDeclaration","scope":1756,"src":"8866:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":1619,"nodeType":"UserDefinedTypeName","pathNode":{"id":1618,"name":"Metadata","nameLocations":["8866:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"8866:8:2"},"referencedDeclaration":3098,"src":"8866:8:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":1622,"mutability":"mutable","name":"_owner","nameLocation":"8909:6:2","nodeType":"VariableDeclaration","scope":1756,"src":"8901:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1621,"name":"address","nodeType":"ElementaryTypeName","src":"8901:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1625,"mutability":"mutable","name":"_members","nameLocation":"8942:8:2","nodeType":"VariableDeclaration","scope":1756,"src":"8925:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1623,"name":"address","nodeType":"ElementaryTypeName","src":"8925:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1624,"nodeType":"ArrayTypeName","src":"8925:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"8803:153:2"},"returnParameters":{"id":1629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1628,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1756,"src":"8975:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1627,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8975:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8974:9:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1820,"nodeType":"FunctionDefinition","src":"11210:830:2","nodes":[],"body":{"id":1819,"nodeType":"Block","src":"11369:671:2","nodes":[],"statements":[{"expression":{"id":1774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1769,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11420:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":1771,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11445:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1772,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1761,"src":"11457:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1770,"name":"_generateAnchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2192,"src":"11429:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (bytes32,string memory) returns (address)"}},"id":1773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11429:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11420:43:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1775,"nodeType":"ExpressionStatement","src":"11420:43:2"},{"assignments":[1778],"declarations":[{"constant":false,"id":1778,"mutability":"mutable","name":"profile","nameLocation":"11554:7:2","nodeType":"VariableDeclaration","scope":1819,"src":"11538:23:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1777,"nodeType":"UserDefinedTypeName","pathNode":{"id":1776,"name":"Profile","nameLocations":["11538:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"11538:7:2"},"referencedDeclaration":2629,"src":"11538:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"id":1782,"initialValue":{"baseExpression":{"id":1779,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"11564:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1781,"indexExpression":{"id":1780,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11577:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11564:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"nodeType":"VariableDeclarationStatement","src":"11538:50:2"},{"expression":{"id":1787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1783,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1778,"src":"11627:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1785,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11635:4:2","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":2621,"src":"11627:12:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1786,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1761,"src":"11642:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"11627:20:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":1788,"nodeType":"ExpressionStatement","src":"11627:20:2"},{"expression":{"id":1797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1789,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"11687:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1792,"indexExpression":{"expression":{"id":1790,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1778,"src":"11705:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1791,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11713:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"11705:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11687:33:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":1795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11731:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1794,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11723:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":1793,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11723:7:2","typeDescriptions":{}}},"id":1796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11723:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11687:46:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1798,"nodeType":"ExpressionStatement","src":"11687:46:2"},{"expression":{"id":1803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1799,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1778,"src":"11774:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1801,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11782:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"11774:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1802,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11791:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11774:23:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1804,"nodeType":"ExpressionStatement","src":"11774:23:2"},{"expression":{"id":1809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1805,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"11807:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1807,"indexExpression":{"id":1806,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11825:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11807:25:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1808,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11835:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11807:38:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1810,"nodeType":"ExpressionStatement","src":"11807:38:2"},{"eventCall":{"arguments":[{"id":1812,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11950:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1813,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1761,"src":"11962:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1814,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11969:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1811,"name":"ProfileNameUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2654,"src":"11931:18:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (bytes32,string memory,address)"}},"id":1815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11931:45:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1816,"nodeType":"EmitStatement","src":"11926:50:2"},{"expression":{"id":1817,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"12027:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1768,"id":1818,"nodeType":"Return","src":"12020:13:2"}]},"baseFunctions":[2752],"documentation":{"id":1757,"nodeType":"StructuredDocumentation","src":"10688:517:2","text":"@notice Updates the name of the profile and generates new anchor.\n Emits a 'ProfileNameUpdated()' event.\n @dev Use caution when updating your profile name as it will generate a new anchor address. You can always update the name\n back to the original name to get the original anchor address. 'msg.sender' must be the owner of the profile.\n @param _profileId The profileId of the profile\n @param _name The new name of the profile\n @return anchor The new anchor"},"functionSelector":"cf189ff2","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1764,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11320:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1765,"kind":"modifierInvocation","modifierName":{"id":1763,"name":"onlyProfileOwner","nameLocations":["11303:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"11303:16:2"},"nodeType":"ModifierInvocation","src":"11303:28:2"}],"name":"updateProfileName","nameLocation":"11219:17:2","parameters":{"id":1762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1759,"mutability":"mutable","name":"_profileId","nameLocation":"11245:10:2","nodeType":"VariableDeclaration","scope":1820,"src":"11237:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1758,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11237:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1761,"mutability":"mutable","name":"_name","nameLocation":"11271:5:2","nodeType":"VariableDeclaration","scope":1820,"src":"11257:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1760,"name":"string","nodeType":"ElementaryTypeName","src":"11257:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11236:41:2"},"returnParameters":{"id":1768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1767,"mutability":"mutable","name":"anchor","nameLocation":"11357:6:2","nodeType":"VariableDeclaration","scope":1820,"src":"11349:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1766,"name":"address","nodeType":"ElementaryTypeName","src":"11349:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11348:16:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1845,"nodeType":"FunctionDefinition","src":"12309:415:2","nodes":[],"body":{"id":1844,"nodeType":"Block","src":"12445:279:2","nodes":[],"statements":[{"expression":{"id":1837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":1832,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"12553:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1834,"indexExpression":{"id":1833,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1823,"src":"12566:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12553:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":1835,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12578:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":2624,"src":"12553:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1836,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1826,"src":"12589:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"12553:45:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":1838,"nodeType":"ExpressionStatement","src":"12553:45:2"},{"eventCall":{"arguments":[{"id":1840,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1823,"src":"12695:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1841,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1826,"src":"12707:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":1839,"name":"ProfileMetadataUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2662,"src":"12672:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (bytes32,struct Metadata memory)"}},"id":1842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12672:45:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1843,"nodeType":"EmitStatement","src":"12667:50:2"}]},"baseFunctions":[2761],"documentation":{"id":1821,"nodeType":"StructuredDocumentation","src":"12046:258:2","text":"@notice Update the 'Metadata' of the profile. Emits a 'ProfileMetadataUpdated()' event.\n @dev 'msg.sender' must be the owner of the profile.\n @param _profileId The ID of the profile\n @param _metadata The new 'Metadata' of the profile"},"functionSelector":"ac402839","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1829,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1823,"src":"12429:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1830,"kind":"modifierInvocation","modifierName":{"id":1828,"name":"onlyProfileOwner","nameLocations":["12412:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"12412:16:2"},"nodeType":"ModifierInvocation","src":"12412:28:2"}],"name":"updateProfileMetadata","nameLocation":"12318:21:2","parameters":{"id":1827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1823,"mutability":"mutable","name":"_profileId","nameLocation":"12348:10:2","nodeType":"VariableDeclaration","scope":1845,"src":"12340:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1822,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12340:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1826,"mutability":"mutable","name":"_metadata","nameLocation":"12376:9:2","nodeType":"VariableDeclaration","scope":1845,"src":"12360:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":1825,"nodeType":"UserDefinedTypeName","pathNode":{"id":1824,"name":"Metadata","nameLocations":["12360:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12360:8:2"},"referencedDeclaration":3098,"src":"12360:8:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"12339:47:2"},"returnParameters":{"id":1831,"nodeType":"ParameterList","parameters":[],"src":"12445:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1866,"nodeType":"FunctionDefinition","src":"12992:208:2","nodes":[],"body":{"id":1865,"nodeType":"Block","src":"13093:107:2","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":1856,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1848,"src":"13128:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1857,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1850,"src":"13140:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1855,"name":"_isOwnerOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2229,"src":"13110:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13110:39:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":1860,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1848,"src":"13172:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1861,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1850,"src":"13184:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1859,"name":"_isMemberOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2245,"src":"13153:18:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13153:40:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13110:83:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1854,"id":1864,"nodeType":"Return","src":"13103:90:2"}]},"baseFunctions":[2704],"documentation":{"id":1846,"nodeType":"StructuredDocumentation","src":"12730:257:2","text":"@notice Checks if the address is an owner or member of the profile\n @param _profileId The ID of the profile\n @param _account The address to check\n @return 'true' if the address is an owner or member of the profile, otherwise 'false'"},"functionSelector":"5e8a7915","implemented":true,"kind":"function","modifiers":[],"name":"isOwnerOrMemberOfProfile","nameLocation":"13001:24:2","parameters":{"id":1851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1848,"mutability":"mutable","name":"_profileId","nameLocation":"13034:10:2","nodeType":"VariableDeclaration","scope":1866,"src":"13026:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1847,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13026:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1850,"mutability":"mutable","name":"_account","nameLocation":"13054:8:2","nodeType":"VariableDeclaration","scope":1866,"src":"13046:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1849,"name":"address","nodeType":"ElementaryTypeName","src":"13046:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13025:38:2"},"returnParameters":{"id":1854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1853,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1866,"src":"13087:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1852,"name":"bool","nodeType":"ElementaryTypeName","src":"13087:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13086:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1882,"nodeType":"FunctionDefinition","src":"13452:152:2","nodes":[],"body":{"id":1881,"nodeType":"Block","src":"13543:61:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1877,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1869,"src":"13578:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1878,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1871,"src":"13590:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1876,"name":"_isOwnerOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2229,"src":"13560:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13560:37:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1875,"id":1880,"nodeType":"Return","src":"13553:44:2"}]},"baseFunctions":[2714],"documentation":{"id":1867,"nodeType":"StructuredDocumentation","src":"13206:241:2","text":"@notice Checks if the given address is an owner of the profile\n @param _profileId The ID of the profile\n @param _owner The address to check\n @return 'true' if the address is an owner of the profile, otherwise 'false'"},"functionSelector":"39b86b8c","implemented":true,"kind":"function","modifiers":[],"name":"isOwnerOfProfile","nameLocation":"13461:16:2","parameters":{"id":1872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1869,"mutability":"mutable","name":"_profileId","nameLocation":"13486:10:2","nodeType":"VariableDeclaration","scope":1882,"src":"13478:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1868,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13478:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1871,"mutability":"mutable","name":"_owner","nameLocation":"13506:6:2","nodeType":"VariableDeclaration","scope":1882,"src":"13498:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1870,"name":"address","nodeType":"ElementaryTypeName","src":"13498:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13477:36:2"},"returnParameters":{"id":1875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1874,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1882,"src":"13537:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1873,"name":"bool","nodeType":"ElementaryTypeName","src":"13537:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13536:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1898,"nodeType":"FunctionDefinition","src":"13857:156:2","nodes":[],"body":{"id":1897,"nodeType":"Block","src":"13950:63:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1893,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1885,"src":"13986:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1894,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1887,"src":"13998:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1892,"name":"_isMemberOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2245,"src":"13967:18:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13967:39:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1891,"id":1896,"nodeType":"Return","src":"13960:46:2"}]},"baseFunctions":[2724],"documentation":{"id":1883,"nodeType":"StructuredDocumentation","src":"13610:242:2","text":"@notice Checks if the given address is a member of the profile\n @param _profileId The ID of the profile\n @param _member The address to check\n @return 'true' if the address is a member of the profile, otherwise 'false'"},"functionSelector":"0ec1fbac","implemented":true,"kind":"function","modifiers":[],"name":"isMemberOfProfile","nameLocation":"13866:17:2","parameters":{"id":1888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1885,"mutability":"mutable","name":"_profileId","nameLocation":"13892:10:2","nodeType":"VariableDeclaration","scope":1898,"src":"13884:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1884,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13884:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1887,"mutability":"mutable","name":"_member","nameLocation":"13912:7:2","nodeType":"VariableDeclaration","scope":1898,"src":"13904:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1886,"name":"address","nodeType":"ElementaryTypeName","src":"13904:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13883:37:2"},"returnParameters":{"id":1891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1890,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1898,"src":"13944:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1889,"name":"bool","nodeType":"ElementaryTypeName","src":"13944:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13943:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1921,"nodeType":"FunctionDefinition","src":"14336:382:2","nodes":[],"body":{"id":1920,"nodeType":"Block","src":"14472:246:2","nodes":[],"statements":[{"expression":{"id":1913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1909,"name":"profileIdToPendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1536,"src":"14530:23:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":1911,"indexExpression":{"id":1910,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1901,"src":"14554:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14530:35:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1912,"name":"_pendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1903,"src":"14568:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14530:51:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1914,"nodeType":"ExpressionStatement","src":"14530:51:2"},{"eventCall":{"arguments":[{"id":1916,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1901,"src":"14685:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1917,"name":"_pendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1903,"src":"14697:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1915,"name":"ProfilePendingOwnerUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2676,"src":"14658:26:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14658:53:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1919,"nodeType":"EmitStatement","src":"14653:58:2"}]},"baseFunctions":[2769],"documentation":{"id":1899,"nodeType":"StructuredDocumentation","src":"14019:312:2","text":"@notice Updates the pending owner of the profile. Emits a 'ProfilePendingOwnership()' event.\n @dev 'msg.sender' must be the owner of the profile. [1]*This is step one of two when transferring ownership.\n @param _profileId The ID of the profile\n @param _pendingOwner The new pending owner"},"functionSelector":"3b66dacd","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1906,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1901,"src":"14456:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1907,"kind":"modifierInvocation","modifierName":{"id":1905,"name":"onlyProfileOwner","nameLocations":["14439:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"14439:16:2"},"nodeType":"ModifierInvocation","src":"14439:28:2"}],"name":"updateProfilePendingOwner","nameLocation":"14345:25:2","parameters":{"id":1904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1901,"mutability":"mutable","name":"_profileId","nameLocation":"14379:10:2","nodeType":"VariableDeclaration","scope":1921,"src":"14371:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1900,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14371:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1903,"mutability":"mutable","name":"_pendingOwner","nameLocation":"14399:13:2","nodeType":"VariableDeclaration","scope":1921,"src":"14391:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1902,"name":"address","nodeType":"ElementaryTypeName","src":"14391:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14370:43:2"},"returnParameters":{"id":1908,"nodeType":"ParameterList","parameters":[],"src":"14472:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1966,"nodeType":"FunctionDefinition","src":"15016:745:2","nodes":[],"body":{"id":1965,"nodeType":"Block","src":"15077:684:2","nodes":[],"statements":[{"assignments":[1929],"declarations":[{"constant":false,"id":1929,"mutability":"mutable","name":"profile","nameLocation":"15147:7:2","nodeType":"VariableDeclaration","scope":1965,"src":"15131:23:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1928,"nodeType":"UserDefinedTypeName","pathNode":{"id":1927,"name":"Profile","nameLocations":["15131:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"15131:7:2"},"referencedDeclaration":2629,"src":"15131:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"id":1933,"initialValue":{"baseExpression":{"id":1930,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"15157:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1932,"indexExpression":{"id":1931,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15170:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15157:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15131:50:2"},{"assignments":[1935],"declarations":[{"constant":false,"id":1935,"mutability":"mutable","name":"newOwner","nameLocation":"15290:8:2","nodeType":"VariableDeclaration","scope":1965,"src":"15282:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1934,"name":"address","nodeType":"ElementaryTypeName","src":"15282:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1939,"initialValue":{"baseExpression":{"id":1936,"name":"profileIdToPendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1536,"src":"15301:23:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":1938,"indexExpression":{"id":1937,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15325:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15301:35:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"15282:54:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1940,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15414:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15418:6:2","memberName":"sender","nodeType":"MemberAccess","src":"15414:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":1942,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1935,"src":"15428:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15414:22:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1947,"nodeType":"IfStatement","src":"15410:54:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1944,"name":"NOT_PENDING_OWNER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3029,"src":"15445:17:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15445:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1946,"nodeType":"RevertStatement","src":"15438:26:2"}},{"expression":{"id":1952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1948,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1929,"src":"15550:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1950,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15558:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"15550:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1951,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1935,"src":"15566:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15550:24:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1953,"nodeType":"ExpressionStatement","src":"15550:24:2"},{"expression":{"id":1957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"15584:42:2","subExpression":{"baseExpression":{"id":1954,"name":"profileIdToPendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1536,"src":"15591:23:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":1956,"indexExpression":{"id":1955,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15615:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15591:35:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1958,"nodeType":"ExpressionStatement","src":"15584:42:2"},{"eventCall":{"arguments":[{"id":1960,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15728:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":1961,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1929,"src":"15740:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1962,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15748:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"15740:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1959,"name":"ProfileOwnerUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2669,"src":"15708:19:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15708:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1964,"nodeType":"EmitStatement","src":"15703:51:2"}]},"baseFunctions":[2775],"documentation":{"id":1922,"nodeType":"StructuredDocumentation","src":"14724:287:2","text":"@notice Transfers the ownership of the profile to the pending owner and Emits a 'ProfileOwnerUdpated()' event.\n @dev 'msg.sender' must be the pending owner of the profile. [2]*This is step two of two when transferring ownership.\n @param _profileId The ID of the profile"},"functionSelector":"2497f3c6","implemented":true,"kind":"function","modifiers":[],"name":"acceptProfileOwnership","nameLocation":"15025:22:2","parameters":{"id":1925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1924,"mutability":"mutable","name":"_profileId","nameLocation":"15056:10:2","nodeType":"VariableDeclaration","scope":1966,"src":"15048:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1923,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15048:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15047:20:2"},"returnParameters":{"id":1926,"nodeType":"ParameterList","parameters":[],"src":"15077:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2017,"nodeType":"FunctionDefinition","src":"15962:658:2","nodes":[],"body":{"id":2016,"nodeType":"Block","src":"16067:553:2","nodes":[],"statements":[{"assignments":[1979],"declarations":[{"constant":false,"id":1979,"mutability":"mutable","name":"memberLength","nameLocation":"16085:12:2","nodeType":"VariableDeclaration","scope":2016,"src":"16077:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1978,"name":"uint256","nodeType":"ElementaryTypeName","src":"16077:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1982,"initialValue":{"expression":{"id":1980,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1972,"src":"16100:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16109:6:2","memberName":"length","nodeType":"MemberAccess","src":"16100:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16077:38:2"},{"body":{"id":2014,"nodeType":"Block","src":"16246:368:2","statements":[{"assignments":[1990],"declarations":[{"constant":false,"id":1990,"mutability":"mutable","name":"member","nameLocation":"16268:6:2","nodeType":"VariableDeclaration","scope":2014,"src":"16260:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1989,"name":"address","nodeType":"ElementaryTypeName","src":"16260:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1994,"initialValue":{"baseExpression":{"id":1991,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1972,"src":"16277:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1993,"indexExpression":{"id":1992,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1984,"src":"16286:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16277:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16260:28:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1995,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1990,"src":"16377:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16395:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16387:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1996,"name":"address","nodeType":"ElementaryTypeName","src":"16387:7:2","typeDescriptions":{}}},"id":1999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16387:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16377:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2004,"nodeType":"IfStatement","src":"16373:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2001,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"16406:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16406:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2003,"nodeType":"RevertStatement","src":"16399:21:2"}},{"expression":{"arguments":[{"id":2006,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1969,"src":"16525:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2007,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1990,"src":"16537:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2005,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52660,"src":"16514:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":2008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16514:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2009,"nodeType":"ExpressionStatement","src":"16514:30:2"},{"id":2013,"nodeType":"UncheckedBlock","src":"16558:46:2","statements":[{"expression":{"id":2011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"16586:3:2","subExpression":{"id":2010,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1984,"src":"16588:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2012,"nodeType":"ExpressionStatement","src":"16586:3:2"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1986,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1984,"src":"16227:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1987,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1979,"src":"16231:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16227:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2015,"initializationExpression":{"assignments":[1984],"declarations":[{"constant":false,"id":1984,"mutability":"mutable","name":"i","nameLocation":"16224:1:2","nodeType":"VariableDeclaration","scope":2015,"src":"16216:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1983,"name":"uint256","nodeType":"ElementaryTypeName","src":"16216:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1985,"nodeType":"VariableDeclarationStatement","src":"16216:9:2"},"nodeType":"ForStatement","src":"16211:403:2"}]},"baseFunctions":[2784],"documentation":{"id":1967,"nodeType":"StructuredDocumentation","src":"15767:190:2","text":"@notice Adds members to the profile\n @dev 'msg.sender' must be the owner of the profile.\n @param _profileId The ID of the profile\n @param _members The members to add"},"functionSelector":"5063f361","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1975,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1969,"src":"16055:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1976,"kind":"modifierInvocation","modifierName":{"id":1974,"name":"onlyProfileOwner","nameLocations":["16038:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"16038:16:2"},"nodeType":"ModifierInvocation","src":"16038:28:2"}],"name":"addMembers","nameLocation":"15971:10:2","parameters":{"id":1973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1969,"mutability":"mutable","name":"_profileId","nameLocation":"15990:10:2","nodeType":"VariableDeclaration","scope":2017,"src":"15982:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1968,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15982:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1972,"mutability":"mutable","name":"_members","nameLocation":"16019:8:2","nodeType":"VariableDeclaration","scope":2017,"src":"16002:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1970,"name":"address","nodeType":"ElementaryTypeName","src":"16002:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1971,"nodeType":"ArrayTypeName","src":"16002:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"15981:47:2"},"returnParameters":{"id":1977,"nodeType":"ParameterList","parameters":[],"src":"16067:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2054,"nodeType":"FunctionDefinition","src":"16837:500:2","nodes":[],"body":{"id":2053,"nodeType":"Block","src":"16945:392:2","nodes":[],"statements":[{"assignments":[2030],"declarations":[{"constant":false,"id":2030,"mutability":"mutable","name":"memberLength","nameLocation":"16963:12:2","nodeType":"VariableDeclaration","scope":2053,"src":"16955:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2029,"name":"uint256","nodeType":"ElementaryTypeName","src":"16955:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2033,"initialValue":{"expression":{"id":2031,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2023,"src":"16978:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":2032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16987:6:2","memberName":"length","nodeType":"MemberAccess","src":"16978:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16955:38:2"},{"body":{"id":2051,"nodeType":"Block","src":"17129:202:2","statements":[{"expression":{"arguments":[{"id":2041,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2020,"src":"17237:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":2042,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2023,"src":"17249:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":2044,"indexExpression":{"id":2043,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2035,"src":"17258:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17249:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2040,"name":"_revokeRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52691,"src":"17225:11:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":2045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17225:36:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2046,"nodeType":"ExpressionStatement","src":"17225:36:2"},{"id":2050,"nodeType":"UncheckedBlock","src":"17275:46:2","statements":[{"expression":{"id":2048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"17303:3:2","subExpression":{"id":2047,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2035,"src":"17305:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2049,"nodeType":"ExpressionStatement","src":"17303:3:2"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2037,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2035,"src":"17110:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":2038,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2030,"src":"17114:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17110:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2052,"initializationExpression":{"assignments":[2035],"declarations":[{"constant":false,"id":2035,"mutability":"mutable","name":"i","nameLocation":"17107:1:2","nodeType":"VariableDeclaration","scope":2052,"src":"17099:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2034,"name":"uint256","nodeType":"ElementaryTypeName","src":"17099:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2036,"nodeType":"VariableDeclarationStatement","src":"17099:9:2"},"nodeType":"ForStatement","src":"17094:237:2"}]},"baseFunctions":[2793],"documentation":{"id":2018,"nodeType":"StructuredDocumentation","src":"16626:206:2","text":"@notice Removes members from the profile\n @dev 'msg.sender' must be the pending owner of the profile.\n @param _profileId The ID of the profile\n @param _members The members to remove"},"functionSelector":"e0cf1e4c","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":2026,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2020,"src":"16933:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":2027,"kind":"modifierInvocation","modifierName":{"id":2025,"name":"onlyProfileOwner","nameLocations":["16916:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"16916:16:2"},"nodeType":"ModifierInvocation","src":"16916:28:2"}],"name":"removeMembers","nameLocation":"16846:13:2","parameters":{"id":2024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2020,"mutability":"mutable","name":"_profileId","nameLocation":"16868:10:2","nodeType":"VariableDeclaration","scope":2054,"src":"16860:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2019,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16860:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2023,"mutability":"mutable","name":"_members","nameLocation":"16897:8:2","nodeType":"VariableDeclaration","scope":2054,"src":"16880:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2021,"name":"address","nodeType":"ElementaryTypeName","src":"16880:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2022,"nodeType":"ArrayTypeName","src":"16880:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"16859:47:2"},"returnParameters":{"id":2028,"nodeType":"ParameterList","parameters":[],"src":"16945:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2071,"nodeType":"FunctionDefinition","src":"17659:152:2","nodes":[],"body":{"id":2070,"nodeType":"Block","src":"17725:86:2","nodes":[],"statements":[{"condition":{"id":2065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17739:42:2","subExpression":{"arguments":[{"id":2061,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2057,"src":"17758:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":2062,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17770:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17774:6:2","memberName":"sender","nodeType":"MemberAccess","src":"17770:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2060,"name":"_isOwnerOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2229,"src":"17740:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":2064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17740:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2069,"nodeType":"IfStatement","src":"17735:69:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2066,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"17790:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17790:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2068,"nodeType":"RevertStatement","src":"17783:21:2"}}]},"documentation":{"id":2055,"nodeType":"StructuredDocumentation","src":"17479:175:2","text":"@notice Checks if the caller is the owner of the profile\n @dev Internal function used by modifier 'onlyProfileOwner'\n @param _profileId The ID of the profile"},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnlyProfileOwner","nameLocation":"17668:22:2","parameters":{"id":2058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2057,"mutability":"mutable","name":"_profileId","nameLocation":"17699:10:2","nodeType":"VariableDeclaration","scope":2071,"src":"17691:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2056,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17691:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17690:20:2"},"returnParameters":{"id":2059,"nodeType":"ParameterList","parameters":[],"src":"17725:0:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":2192,"nodeType":"FunctionDefinition","src":"18166:969:2","nodes":[],"body":{"id":2191,"nodeType":"Block","src":"18266:869:2","nodes":[],"statements":[{"assignments":[2082],"declarations":[{"constant":false,"id":2082,"mutability":"mutable","name":"encodedData","nameLocation":"18289:11:2","nodeType":"VariableDeclaration","scope":2191,"src":"18276:24:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2081,"name":"bytes","nodeType":"ElementaryTypeName","src":"18276:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2088,"initialValue":{"arguments":[{"id":2085,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"18314:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2086,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2076,"src":"18326:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2083,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18303:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18307:6:2","memberName":"encode","nodeType":"MemberAccess","src":"18303:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18303:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18276:56:2"},{"assignments":[2090],"declarations":[{"constant":false,"id":2090,"mutability":"mutable","name":"encodedConstructorArgs","nameLocation":"18355:22:2","nodeType":"VariableDeclaration","scope":2191,"src":"18342:35:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2089,"name":"bytes","nodeType":"ElementaryTypeName","src":"18342:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2099,"initialValue":{"arguments":[{"id":2093,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"18391:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":2096,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18411:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2095,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18403:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2094,"name":"address","nodeType":"ElementaryTypeName","src":"18403:7:2","typeDescriptions":{}}},"id":2097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18403:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2091,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18380:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18384:6:2","memberName":"encode","nodeType":"MemberAccess","src":"18380:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18380:37:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18342:75:2"},{"assignments":[2101],"declarations":[{"constant":false,"id":2101,"mutability":"mutable","name":"bytecode","nameLocation":"18441:8:2","nodeType":"VariableDeclaration","scope":2191,"src":"18428:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2100,"name":"bytes","nodeType":"ElementaryTypeName","src":"18428:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2110,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":2105,"name":"Anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1492,"src":"18474:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Anchor_$1492_$","typeString":"type(contract Anchor)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_Anchor_$1492_$","typeString":"type(contract Anchor)"}],"id":2104,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"18469:4:2","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":2106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18469:12:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_Anchor_$1492","typeString":"type(contract Anchor)"}},"id":2107,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18482:12:2","memberName":"creationCode","nodeType":"MemberAccess","src":"18469:25:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2108,"name":"encodedConstructorArgs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2090,"src":"18496:22:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2102,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18452:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18456:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"18452:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18452:67:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18428:91:2"},{"assignments":[2112],"declarations":[{"constant":false,"id":2112,"mutability":"mutable","name":"salt","nameLocation":"18538:4:2","nodeType":"VariableDeclaration","scope":2191,"src":"18530:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2111,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18530:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2116,"initialValue":{"arguments":[{"id":2114,"name":"encodedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2082,"src":"18555:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2113,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18545:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18545:22:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"18530:37:2"},{"assignments":[2118],"declarations":[{"constant":false,"id":2118,"mutability":"mutable","name":"preComputedAddress","nameLocation":"18586:18:2","nodeType":"VariableDeclaration","scope":2191,"src":"18578:26:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2117,"name":"address","nodeType":"ElementaryTypeName","src":"18578:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":2145,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786666","id":2130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18678:4:2","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}],"id":2129,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18671:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":2128,"name":"bytes1","nodeType":"ElementaryTypeName","src":"18671:6:2","typeDescriptions":{}}},"id":2131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18671:12:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"id":2134,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18693:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2133,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18685:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2132,"name":"address","nodeType":"ElementaryTypeName","src":"18685:7:2","typeDescriptions":{}}},"id":2135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18685:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2136,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2112,"src":"18700:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":2138,"name":"bytecode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2101,"src":"18716:8:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2137,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18706:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18706:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":2126,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18654:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2127,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18658:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"18654:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18654:72:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2125,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18644:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18644:83:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18636:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2123,"name":"uint256","nodeType":"ElementaryTypeName","src":"18636:7:2","typeDescriptions":{}}},"id":2142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18636:92:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18628:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":2121,"name":"uint160","nodeType":"ElementaryTypeName","src":"18628:7:2","typeDescriptions":{}}},"id":2143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18628:101:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":2120,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18607:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2119,"name":"address","nodeType":"ElementaryTypeName","src":"18607:7:2","typeDescriptions":{}}},"id":2144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18607:132:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"18578:161:2"},{"clauses":[{"block":{"id":2168,"nodeType":"Block","src":"18918:50:2","statements":[{"expression":{"id":2166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2161,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2079,"src":"18932:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":2164,"name":"_anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2159,"src":"18949:7:2","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}],"id":2163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18941:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2162,"name":"address","nodeType":"ElementaryTypeName","src":"18941:7:2","typeDescriptions":{}}},"id":2165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18941:16:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18932:25:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2167,"nodeType":"ExpressionStatement","src":"18932:25:2"}]},"errorName":"","id":2169,"nodeType":"TryCatchClause","parameters":{"id":2160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2159,"mutability":"mutable","name":"_anchor","nameLocation":"18909:7:2","nodeType":"VariableDeclaration","scope":2169,"src":"18902:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"},"typeName":{"id":2158,"nodeType":"UserDefinedTypeName","pathNode":{"id":2157,"name":"Anchor","nameLocations":["18902:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":1492,"src":"18902:6:2"},"referencedDeclaration":1492,"src":"18902:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}},"visibility":"internal"}],"src":"18901:16:2"},"src":"18893:75:2"},{"block":{"id":2188,"nodeType":"Block","src":"18975:154:2","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"id":2173,"name":"preComputedAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2118,"src":"19008:18:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19000:8:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":2171,"name":"address","nodeType":"ElementaryTypeName","src":"19000:8:2","stateMutability":"payable","typeDescriptions":{}}},"id":2174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19000:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":2170,"name":"Anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1492,"src":"18993:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Anchor_$1492_$","typeString":"type(contract Anchor)"}},"id":2175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18993:35:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}},"id":2176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19029:9:2","memberName":"profileId","nodeType":"MemberAccess","referencedDeclaration":1408,"src":"18993:45:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":2177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18993:47:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":2178,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"19044:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"18993:61:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2183,"nodeType":"IfStatement","src":"18989:88:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2180,"name":"ANCHOR_ERROR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3032,"src":"19063:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19063:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2182,"nodeType":"RevertStatement","src":"19056:21:2"}},{"expression":{"id":2186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2184,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2079,"src":"19091:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":2185,"name":"preComputedAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2118,"src":"19100:18:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19091:27:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2187,"nodeType":"ExpressionStatement","src":"19091:27:2"}]},"errorName":"","id":2189,"nodeType":"TryCatchClause","src":"18969:160:2"}],"externalCall":{"arguments":[{"id":2151,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"18866:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":2154,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18886:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2153,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18878:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2152,"name":"address","nodeType":"ElementaryTypeName","src":"18878:7:2","typeDescriptions":{}}},"id":2155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18878:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"18843:10:2","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_bytes32_$_t_address_$returns$_t_contract$_Anchor_$1492_$","typeString":"function (bytes32,address) returns (contract Anchor)"},"typeName":{"id":2147,"nodeType":"UserDefinedTypeName","pathNode":{"id":2146,"name":"Anchor","nameLocations":["18847:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":1492,"src":"18847:6:2"},"referencedDeclaration":1492,"src":"18847:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}}},"id":2150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["salt"],"nodeType":"FunctionCallOptions","options":[{"id":2149,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2112,"src":"18860:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"src":"18843:22:2","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_bytes32_$_t_address_$returns$_t_contract$_Anchor_$1492_$salt","typeString":"function (bytes32,address) returns (contract Anchor)"}},"id":2156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18843:49:2","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}},"id":2190,"nodeType":"TryStatement","src":"18839:290:2"}]},"documentation":{"id":2072,"nodeType":"StructuredDocumentation","src":"17817:344:2","text":"@notice Generates and deploys the anchor for the given 'profileId' and name\n @dev Internal function used by 'createProfile()' and 'updateProfileName()' to create and anchor.\n @param _profileId The ID of the profile\n @param _name The name of the profile\n @return anchor The address of the deployed anchor contract"},"implemented":true,"kind":"function","modifiers":[],"name":"_generateAnchor","nameLocation":"18175:15:2","parameters":{"id":2077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2074,"mutability":"mutable","name":"_profileId","nameLocation":"18199:10:2","nodeType":"VariableDeclaration","scope":2192,"src":"18191:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2073,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18191:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2076,"mutability":"mutable","name":"_name","nameLocation":"18225:5:2","nodeType":"VariableDeclaration","scope":2192,"src":"18211:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2075,"name":"string","nodeType":"ElementaryTypeName","src":"18211:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18190:41:2"},"returnParameters":{"id":2080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2079,"mutability":"mutable","name":"anchor","nameLocation":"18258:6:2","nodeType":"VariableDeclaration","scope":2192,"src":"18250:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2078,"name":"address","nodeType":"ElementaryTypeName","src":"18250:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18249:16:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":2211,"nodeType":"FunctionDefinition","src":"19465:159:2","nodes":[],"body":{"id":2210,"nodeType":"Block","src":"19557:67:2","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":2205,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2195,"src":"19601:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2206,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2197,"src":"19609:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2203,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19584:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2204,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19588:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"19584:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19584:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2202,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"19574:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19574:43:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":2201,"id":2209,"nodeType":"Return","src":"19567:50:2"}]},"documentation":{"id":2193,"nodeType":"StructuredDocumentation","src":"19141:319:2","text":"@notice Generates the 'profileId' based on msg.sender and nonce\n @dev Internal function used by 'createProfile()' to generate profileId.\n @param _nonce Nonce provided by the caller to generate 'profileId'\n @param _owner The owner of the profile\n @return 'profileId' The ID of the profile"},"implemented":true,"kind":"function","modifiers":[],"name":"_generateProfileId","nameLocation":"19474:18:2","parameters":{"id":2198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2195,"mutability":"mutable","name":"_nonce","nameLocation":"19501:6:2","nodeType":"VariableDeclaration","scope":2211,"src":"19493:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2194,"name":"uint256","nodeType":"ElementaryTypeName","src":"19493:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2197,"mutability":"mutable","name":"_owner","nameLocation":"19517:6:2","nodeType":"VariableDeclaration","scope":2211,"src":"19509:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2196,"name":"address","nodeType":"ElementaryTypeName","src":"19509:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19492:32:2"},"returnParameters":{"id":2201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2200,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2211,"src":"19548:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2199,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19548:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19547:9:2"},"scope":2295,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":2229,"nodeType":"FunctionDefinition","src":"19963:156:2","nodes":[],"body":{"id":2228,"nodeType":"Block","src":"20055:64:2","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":2221,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"20072:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":2223,"indexExpression":{"id":2222,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2214,"src":"20085:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20072:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":2224,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20097:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"20072:30:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":2225,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2216,"src":"20106:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20072:40:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2220,"id":2227,"nodeType":"Return","src":"20065:47:2"}]},"documentation":{"id":2212,"nodeType":"StructuredDocumentation","src":"19630:328:2","text":"@notice Checks if an address is the owner of the profile\n @dev Internal function used to determine if an address is the profile owner\n @param _profileId The 'profileId' of the profile\n @param _owner The address to check\n @return 'true' if the address is an owner of the profile, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isOwnerOfProfile","nameLocation":"19972:17:2","parameters":{"id":2217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2214,"mutability":"mutable","name":"_profileId","nameLocation":"19998:10:2","nodeType":"VariableDeclaration","scope":2229,"src":"19990:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2213,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19990:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2216,"mutability":"mutable","name":"_owner","nameLocation":"20018:6:2","nodeType":"VariableDeclaration","scope":2229,"src":"20010:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2215,"name":"address","nodeType":"ElementaryTypeName","src":"20010:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19989:36:2"},"returnParameters":{"id":2220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2219,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2229,"src":"20049:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2218,"name":"bool","nodeType":"ElementaryTypeName","src":"20049:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20048:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":2245,"nodeType":"FunctionDefinition","src":"20464:146:2","nodes":[],"body":{"id":2244,"nodeType":"Block","src":"20558:52:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2240,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2232,"src":"20583:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2241,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2234,"src":"20595:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2239,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52456,"src":"20575:7:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":2242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20575:28:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2238,"id":2243,"nodeType":"Return","src":"20568:35:2"}]},"documentation":{"id":2230,"nodeType":"StructuredDocumentation","src":"20125:334:2","text":"@notice Checks if an address is a member of the profile\n @dev Internal function used to determine if an address is a member of the profile\n @param _profileId The 'profileId' of the profile\n @param _member The address to check\n @return 'true' if the address is a member of the profile, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isMemberOfProfile","nameLocation":"20473:18:2","parameters":{"id":2235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2232,"mutability":"mutable","name":"_profileId","nameLocation":"20500:10:2","nodeType":"VariableDeclaration","scope":2245,"src":"20492:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2231,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20492:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2234,"mutability":"mutable","name":"_member","nameLocation":"20520:7:2","nodeType":"VariableDeclaration","scope":2245,"src":"20512:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2233,"name":"address","nodeType":"ElementaryTypeName","src":"20512:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20491:37:2"},"returnParameters":{"id":2238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2237,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2245,"src":"20552:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2236,"name":"bool","nodeType":"ElementaryTypeName","src":"20552:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20551:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":2294,"nodeType":"FunctionDefinition","src":"20847:318:2","nodes":[],"body":{"id":2293,"nodeType":"Block","src":"20935:230:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2256,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2250,"src":"20949:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":2259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20971:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":2258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20963:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2257,"name":"address","nodeType":"ElementaryTypeName","src":"20963:7:2","typeDescriptions":{}}},"id":2260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20963:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20949:24:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2265,"nodeType":"IfStatement","src":"20945:51:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2262,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"20982:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20982:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2264,"nodeType":"RevertStatement","src":"20975:21:2"}},{"assignments":[2267],"declarations":[{"constant":false,"id":2267,"mutability":"mutable","name":"amount","nameLocation":"21015:6:2","nodeType":"VariableDeclaration","scope":2293,"src":"21007:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2266,"name":"uint256","nodeType":"ElementaryTypeName","src":"21007:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2286,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2268,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2248,"src":"21024:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":2269,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"21034:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"21024:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"arguments":[{"id":2282,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21099:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2281,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21091:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2280,"name":"address","nodeType":"ElementaryTypeName","src":"21091:7:2","typeDescriptions":{}}},"id":2283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21091:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":2277,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2248,"src":"21073:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2276,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4491,"src":"21067:5:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$4491_$","typeString":"type(contract ERC20)"}},"id":2278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21067:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$4491","typeString":"contract ERC20"}},"id":2279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21081:9:2","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":4200,"src":"21067:23:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":2284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21067:38:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"21024:81:2","trueExpression":{"expression":{"arguments":[{"id":2273,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21051:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2272,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21043:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2271,"name":"address","nodeType":"ElementaryTypeName","src":"21043:7:2","typeDescriptions":{}}},"id":2274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21043:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21057:7:2","memberName":"balance","nodeType":"MemberAccess","src":"21043:21:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21007:98:2"},{"expression":{"arguments":[{"id":2288,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2248,"src":"21131:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2289,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2250,"src":"21139:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2290,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2267,"src":"21151:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2287,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"21115:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":2291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21115:43:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2292,"nodeType":"ExpressionStatement","src":"21115:43:2"}]},"baseFunctions":[2801],"documentation":{"id":2246,"nodeType":"StructuredDocumentation","src":"20616:226:2","text":"@notice Transfers any fund balance in Allo to the recipient\n @dev 'msg.sender' must be the Allo owner\n @param _token The address of the token to transfer\n @param _recipient The address of the recipient"},"functionSelector":"24ae6a27","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":2253,"name":"ALLO_OWNER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1542,"src":"20923:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":2254,"kind":"modifierInvocation","modifierName":{"id":2252,"name":"onlyRole","nameLocations":["20914:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":52403,"src":"20914:8:2"},"nodeType":"ModifierInvocation","src":"20914:20:2"}],"name":"recoverFunds","nameLocation":"20856:12:2","parameters":{"id":2251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2248,"mutability":"mutable","name":"_token","nameLocation":"20877:6:2","nodeType":"VariableDeclaration","scope":2294,"src":"20869:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2247,"name":"address","nodeType":"ElementaryTypeName","src":"20869:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2250,"mutability":"mutable","name":"_recipient","nameLocation":"20893:10:2","nodeType":"VariableDeclaration","scope":2294,"src":"20885:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2249,"name":"address","nodeType":"ElementaryTypeName","src":"20885:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20868:36:2"},"returnParameters":{"id":2255,"nodeType":"ParameterList","parameters":[],"src":"20935:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":1509,"name":"IRegistry","nameLocations":["5258:9:2"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"5258:9:2"},"id":1510,"nodeType":"InheritanceSpecifier","src":"5258:9:2"},{"baseName":{"id":1511,"name":"Initializable","nameLocations":["5269:13:2"],"nodeType":"IdentifierPath","referencedDeclaration":53152,"src":"5269:13:2"},"id":1512,"nodeType":"InheritanceSpecifier","src":"5269:13:2"},{"baseName":{"id":1513,"name":"Native","nameLocations":["5284:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"5284:6:2"},"id":1514,"nodeType":"InheritanceSpecifier","src":"5284:6:2"},{"baseName":{"id":1515,"name":"AccessControlUpgradeable","nameLocations":["5292:24:2"],"nodeType":"IdentifierPath","referencedDeclaration":52697,"src":"5292:24:2"},"id":1516,"nodeType":"InheritanceSpecifier","src":"5292:24:2"},{"baseName":{"id":1517,"name":"Transfer","nameLocations":["5318:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":3317,"src":"5318:8:2"},"id":1518,"nodeType":"InheritanceSpecifier","src":"5318:8:2"},{"baseName":{"id":1519,"name":"Errors","nameLocations":["5328:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":3089,"src":"5328:6:2"},"id":1520,"nodeType":"InheritanceSpecifier","src":"5328:6:2"}],"canonicalName":"Registry","contractDependencies":[1492],"contractKind":"contract","documentation":{"id":1508,"nodeType":"StructuredDocumentation","src":"4584:653:2","text":"@title Registry Contract\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice Registry contract for creating and managing profiles\n @dev This contract is used to create and manage profiles for the Allo protocol\n It is also used to deploy the anchor contract for each profile which acts as a proxy\n for the profile and is used to receive funds and execute transactions on behalf of the profile\n The Registry is also used to add and remove members from a profile and update the profile 'Metadata'"},"fullyImplemented":true,"linearizedBaseContracts":[2295,3089,3317,52697,3106,53970,53982,52770,53696,53152,2802],"name":"Registry","nameLocation":"5246:8:2","scope":2296,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117]}],"license":"AGPL-3.0-only"},"id":2} \ No newline at end of file +{"abi":[{"type":"function","name":"ALLO_OWNER","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"acceptProfileOwnership","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"anchorToProfileId","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"createProfile","inputs":[{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_name","type":"string","internalType":"string"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_owner","type":"address","internalType":"address"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"getProfileByAnchor","inputs":[{"name":"_anchor","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getProfileById","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOrMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"profileIdToPendingOwner","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profilesById","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"updateProfileMetadata","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfileName","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_name","type":"string","internalType":"string"}],"outputs":[{"name":"anchor","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfilePendingOwner","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_pendingOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"ProfileCreated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","indexed":false,"internalType":"address"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileMetadataUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"ProfileNameUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfilePendingOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"pendingOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"AMOUNT_MISMATCH","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50612b10806100206000396000f3fe60806040523480156200001157600080fd5b50600436106200015a5760003560e01c80630114cf0a146200015f57806301ffc9a7146200018e5780630ec1fbac14620001b6578063248a9ca314620001cd5780632497f3c614620001f357806324ae6a27146200020c5780632f2ff15d146200022357806336568abe146200023a57806339b86b8c14620002515780633a92f65f14620002685780633b66dacd146200027f5780634756487f14620002965780635063f36114620002b957806350d005e014620002d05780635e8a7915146200030b57806391d148541462000322578063a0cf0aea1462000339578063a217fddf1462000355578063ac402839146200035e578063c4d66de81462000375578063cf189ff2146200038c578063cfda7e0a14620003a3578063d547741f14620003ba578063dd93da4314620003d1578063e0cf1e4c14620003e8578063ee88819614620003ff575b600080fd5b620001766200017036600462001948565b6200042a565b604051620001859190620019df565b60405180910390f35b620001a56200019f36600462001a61565b620005e1565b604051901515815260200162000185565b620001a5620001c736600462001aaa565b62000619565b620001e4620001de36600462001948565b6200062e565b60405190815260200162000185565b6200020a6200020436600462001948565b62000643565b005b6200020a6200021d36600462001ad9565b62000702565b6200020a6200023436600462001aaa565b620007fb565b6200020a6200024b36600462001aaa565b62000822565b620001a56200026236600462001aaa565b620008a8565b620001e46200027936600462001ccd565b620008b6565b6200020a6200029036600462001aaa565b62000b41565b620001e4620002a736600462001d7b565b60976020526000908152604090205481565b6200020a620002ca36600462001d99565b62000ba8565b620002fc620002e136600462001948565b6099602052600090815260409020546001600160a01b031681565b60405162000185919062001de3565b620001a56200031c36600462001aaa565b62000c34565b620001a56200033336600462001aaa565b62000c55565b620002fc73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b620001e4600081565b6200020a6200036f36600462001df7565b62000c80565b6200020a6200038636600462001d7b565b62000cf3565b620002fc6200039d36600462001e37565b62000e17565b620001e460008051602062002abb83398151915281565b6200020a620003cb36600462001aaa565b62000ed8565b62000176620003e236600462001d7b565b62000efa565b6200020a620003f936600462001d99565b620010c3565b620004166200041036600462001948565b6200110e565b604051620001859695949392919062001e77565b62000434620018e5565b609860008381526020019081526020016000206040518060c00160405290816000820154815260200160018201548152602001600282018054620004789062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620004a69062001ed3565b8015620004f75780601f10620004cb57610100808354040283529160200191620004f7565b820191906000526020600020905b815481529060010190602001808311620004d957829003601f168201915b5050505050815260200160038201604051806040016040529081600082015481526020016001820180546200052c9062001ed3565b80601f01602080910402602001604051908101604052809291908181526020018280546200055a9062001ed3565b8015620005ab5780601f106200057f57610100808354040283529160200191620005ab565b820191906000526020600020905b8154815290600101906020018083116200058d57829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60006001600160e01b03198216637965db0b60e01b14806200061357506301ffc9a760e01b6001600160e01b03198316145b92915050565b60006200062783836200128e565b9392505050565b60009081526065602052604090206001015490565b60008181526098602090815260408083206099909252909120546001600160a01b03163381146200068757604051630b4d48c160e41b815260040160405180910390fd5b6005820180546001600160a01b038084166001600160a01b03199283161783556000868152609960205260409081902080549093169092559154905185927ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d92620006f59291169062001de3565b60405180910390a2505050565b60008051602062002abb8339815191526200071d816200129c565b6001600160a01b038216620007455760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14620007e4576040516370a0823160e01b81526001600160a01b038516906370a08231906200079a90309060040162001de3565b602060405180830381865afa158015620007b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007de919062001f0f565b620007e6565b475b9050620007f5848483620012ab565b50505050565b62000806826200062e565b62000811816200129c565b6200081d8383620012ea565b505050565b6001600160a01b0381163314620008985760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b620008a4828262001374565b5050565b6000620006278383620013de565b600080620008c5878562001402565b6000818152609860205260409020600601549091506001600160a01b0316156200090257604051630527e05960e41b815260040160405180910390fd5b6001600160a01b0384166200092a5760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b031681526020016200096a848a6200144c565b6001600160a01b03169052600083815260986020908152604091829020835181559083015160018201559082015191925082916002820190620009ae908262001f7b565b50606082015180516003830190815560208201516004840190620009d3908262001f7b565b50505060808201516005820180546001600160a01b03199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000a4757506001600160a01b0386163314155b1562000a665760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000add57600086828151811062000a895762000a8962002047565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000ac75760405163538ba4f960e01b815260040160405180910390fd5b62000ad38582620012ea565b5060010162000a69565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000b2c9594939291906200205d565b60405180910390a25090979650505050505050565b8162000b4d8162001627565b6000838152609960205260409081902080546001600160a01b0319166001600160a01b0385161790555183907f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c890620006f590859062001de3565b8162000bb48162001627565b815160005b8181101562000c2d57600084828151811062000bd95762000bd962002047565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c175760405163538ba4f960e01b815260040160405180910390fd5b62000c238682620012ea565b5060010162000bb9565b5050505050565b600062000c428383620013de565b806200062757506200062783836200128e565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b8162000c8c8162001627565b6000838152609860209081526040909120835160038201908155918401518492916004019062000cbd908262001f7b565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f383604051620006f59190620020b2565b600054600190610100900460ff1615801562000d16575060005460ff8083169116105b62000d7b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200088f565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000db75760405163538ba4f960e01b815260040160405180910390fd5b62000dd260008051602062002abb83398151915283620012ea565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000e258162001627565b62000e3184846200144c565b60008581526098602052604090209092506002810162000e52858262001f7b565b506006810180546001600160a01b0390811660009081526097602052604080822082905583546001600160a01b0319169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062000ec89087908790620020c7565b60405180910390a2505092915050565b62000ee3826200062e565b62000eee816200129c565b6200081d838362001374565b62000f04620018e5565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c08101835281548152600182015493810193909352600281018054919284019162000f599062001ed3565b80601f016020809104026020016040519081016040528092919081815260200182805462000f879062001ed3565b801562000fd85780601f1062000fac5761010080835404028352916020019162000fd8565b820191906000526020600020905b81548152906001019060200180831162000fba57829003601f168201915b5050505050815260200160038201604051806040016040529081600082015481526020016001820180546200100d9062001ed3565b80601f01602080910402602001604051908101604052809291908181526020018280546200103b9062001ed3565b80156200108c5780601f1062001060576101008083540402835291602001916200108c565b820191906000526020600020905b8154815290600101906020018083116200106e57829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620010cf8162001627565b815160005b8181101562000c2d576200110585858381518110620010f757620010f762002047565b602002602001015162001374565b600101620010d4565b60986020526000908152604090208054600182015460028301805492939192620011389062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620011669062001ed3565b8015620011b75780601f106200118b57610100808354040283529160200191620011b7565b820191906000526020600020905b8154815290600101906020018083116200119957829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620011e89062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620012169062001ed3565b8015620012675780601f106200123b5761010080835404028352916020019162001267565b820191906000526020600020905b8154815290600101906020018083116200124957829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b600062000627838362000c55565b620012a8813362001651565b50565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03841601620012dd576200081d8282620016b5565b6200081d838383620016d2565b620012f6828262000c55565b620008a45760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620013303390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b62001380828262000c55565b15620008a45760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600091825260986020526040909120600501546001600160a01b0391821691161490565b600082826040516020016200142e92919091825260601b6001600160601b031916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001464929190620020f3565b6040516020818303038152906040529050600084306040516020016200148c9291906200210e565b6040516020818303038152906040529050600060405180602001620014b1906200193a565b601f1982820381018352601f909101166040819052620014d79190849060200162002125565b60408051601f198184030181529082905284516020868101919091208251828401206001600160f81b0319928501929092526001600160601b03193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c905081883060405162001561906200193a565b6200156e9291906200210e565b8190604051809103906000f590508015620015865760015b620016195787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620015cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015f1919062001f0f565b146200161057604051630113b81f60e41b815260040160405180910390fd5b8095506200161c565b95505b505050505092915050565b620016338133620013de565b620012a85760405163075fd2b160e01b815260040160405180910390fd5b6200165d828262000c55565b620008a4576200166d8162001719565b6200167a8360206200172c565b6040516020016200168d92919062002158565b60408051601f198184030181529082905262461bcd60e51b82526200088f91600401620021cb565b60008060008084865af1620008a45763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d1560016000511417166200170f576390b8ec186000526004601cfd5b6000603452505050565b6060620006136001600160a01b03831660145b606060006200173d836002620021f6565b6200174a90600262002210565b6001600160401b0381111562001764576200176462001b08565b6040519080825280601f01601f1916602001820160405280156200178f576020820181803683370190505b509050600360fc1b81600081518110620017ad57620017ad62002047565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110620017df57620017df62002047565b60200101906001600160f81b031916908160001a905350600062001805846002620021f6565b6200181290600162002210565b90505b600181111562001894576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106200184a576200184a62002047565b1a60f81b82828151811062001863576200186362002047565b60200101906001600160f81b031916908160001a90535060049490941c936200188c8162002226565b905062001815565b508315620006275760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200088f565b6040518060c0016040528060008019168152602001600081526020016060815260200162001926604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b61087a806200224183390190565b6000602082840312156200195b57600080fd5b5035919050565b60005b838110156200197f57818101518382015260200162001965565b50506000910152565b60008151808452620019a281602086016020860162001962565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152620019d7604085018262001988565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001a1160e084018262001988565b90506060840151601f1984830301608085015262001a308282620019b6565b60808601516001600160a01b0390811660a0878101919091529096015190951660c090940193909352509192915050565b60006020828403121562001a7457600080fd5b81356001600160e01b0319811681146200062757600080fd5b80356001600160a01b038116811462001aa557600080fd5b919050565b6000806040838503121562001abe57600080fd5b8235915062001ad06020840162001a8d565b90509250929050565b6000806040838503121562001aed57600080fd5b62001af88362001a8d565b915062001ad06020840162001a8d565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171562001b495762001b4962001b08565b604052919050565b600082601f83011262001b6357600080fd5b81356001600160401b0381111562001b7f5762001b7f62001b08565b62001b94601f8201601f191660200162001b1e565b81815284602083860101111562001baa57600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001bda57600080fd5b604080519081016001600160401b03808211838310171562001c005762001c0062001b08565b8160405282935084358352602085013591508082111562001c2057600080fd5b5062001c2f8582860162001b51565b6020830152505092915050565b600082601f83011262001c4e57600080fd5b813560206001600160401b0382111562001c6c5762001c6c62001b08565b8160051b62001c7d82820162001b1e565b928352848101820192828101908785111562001c9857600080fd5b83870192505b8483101562001cc25762001cb28362001a8d565b8252918301919083019062001c9e565b979650505050505050565b600080600080600060a0868803121562001ce657600080fd5b8535945060208601356001600160401b038082111562001d0557600080fd5b62001d1389838a0162001b51565b9550604088013591508082111562001d2a57600080fd5b62001d3889838a0162001bc7565b945062001d486060890162001a8d565b9350608088013591508082111562001d5f57600080fd5b5062001d6e8882890162001c3c565b9150509295509295909350565b60006020828403121562001d8e57600080fd5b620006278262001a8d565b6000806040838503121562001dad57600080fd5b8235915060208301356001600160401b0381111562001dcb57600080fd5b62001dd98582860162001c3c565b9150509250929050565b6001600160a01b0391909116815260200190565b6000806040838503121562001e0b57600080fd5b8235915060208301356001600160401b0381111562001e2957600080fd5b62001dd98582860162001bc7565b6000806040838503121562001e4b57600080fd5b8235915060208301356001600160401b0381111562001e6957600080fd5b62001dd98582860162001b51565b86815285602082015260c06040820152600062001e9860c083018762001988565b828103606084015262001eac8187620019b6565b6001600160a01b0395861660808501529390941660a0909201919091525095945050505050565b600181811c9082168062001ee857607f821691505b60208210810362001f0957634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121562001f2257600080fd5b5051919050565b601f8211156200081d57600081815260208120601f850160051c8101602086101562001f525750805b601f850160051c820191505b8181101562001f735782815560010162001f5e565b505050505050565b81516001600160401b0381111562001f975762001f9762001b08565b62001faf8162001fa8845462001ed3565b8462001f29565b602080601f83116001811462001fe7576000841562001fce5750858301515b600019600386901b1c1916600185901b17855562001f73565b600085815260208120601f198616915b82811015620020185788860151825594840194600190910190840162001ff7565b5085821015620020375787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200207860a083018762001988565b82810360408401526200208c8187620019b6565b6001600160a01b0395861660608501529390941660809092019190915250949350505050565b602081526000620006276020830184620019b6565b604081526000620020dc604083018562001988565b905060018060a01b03831660208301529392505050565b828152604060208201526000620019d7604083018462001988565b9182526001600160a01b0316602082015260400190565b600083516200213981846020880162001962565b8351908301906200214f81836020880162001962565b01949350505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516200218c81601785016020880162001962565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351620021bf81602884016020880162001962565b01602801949350505050565b60208152600062000627602083018462001988565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620006135762000613620021e0565b80820180821115620006135762000613620021e0565b600081620022385762002238620021e0565b50600019019056fe60c060405234801561001057600080fd5b5060405161087a38038061087a83398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516107c86100b26000396000818160b7015261024201526000818161013d015261027101526107c86000f3fe6080604052600436106100645760003560e01c806301ffc9a71461007057806308386eba146100a5578063150b7a02146100e75780637b1039991461012b578063b61d27f614610177578063bc197c81146101a4578063f23a6e61146101d057600080fd5b3661006b57005b600080fd5b34801561007c57600080fd5b5061009061008b3660046103b2565b6101fc565b60405190151581526020015b60405180910390f35b3480156100b157600080fd5b506100d97f000000000000000000000000000000000000000000000000000000000000000081565b60405190815260200161009c565b3480156100f357600080fd5b506101126101023660046104b4565b630a85bd0160e11b949350505050565b6040516001600160e01b0319909116815260200161009c565b34801561013757600080fd5b5061015f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161009c565b34801561018357600080fd5b5061019761019236600461051b565b610233565b60405161009c9190610595565b3480156101b057600080fd5b506101126101bf366004610647565b63bc197c8160e01b95945050505050565b3480156101dc57600080fd5b506101126101eb3660046106f0565b63f23a6e6160e01b95945050505050565b60006001600160e01b03198216630271189760e51b148061022d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b604051630e6e1ae360e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa1580156102c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e49190610754565b6103015760405163075fd2b160e01b815260040160405180910390fd5b6001600160a01b038416610328576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516103449190610776565b60006040518083038185875af1925050503d8060008114610381576040519150601f19603f3d011682016040523d82523d6000602084013e610386565b606091505b5091509150816103a9576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b6000602082840312156103c457600080fd5b81356001600160e01b0319811681146103dc57600080fd5b9392505050565b80356001600160a01b03811681146103fa57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561043d5761043d6103ff565b604052919050565b600082601f83011261045657600080fd5b81356001600160401b0381111561046f5761046f6103ff565b610482601f8201601f1916602001610415565b81815284602083860101111561049757600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156104ca57600080fd5b6104d3856103e3565b93506104e1602086016103e3565b92506040850135915060608501356001600160401b0381111561050357600080fd5b61050f87828801610445565b91505092959194509250565b60008060006060848603121561053057600080fd5b610539846103e3565b92506020840135915060408401356001600160401b0381111561055b57600080fd5b61056786828701610445565b9150509250925092565b60005b8381101561058c578181015183820152602001610574565b50506000910152565b60208152600082518060208401526105b4816040850160208701610571565b601f01601f19169190910160400192915050565b600082601f8301126105d957600080fd5b813560206001600160401b038211156105f4576105f46103ff565b8160051b610603828201610415565b928352848101820192828101908785111561061d57600080fd5b83870192505b8483101561063c57823582529183019190830190610623565b979650505050505050565b600080600080600060a0868803121561065f57600080fd5b610668866103e3565b9450610676602087016103e3565b935060408601356001600160401b038082111561069257600080fd5b61069e89838a016105c8565b945060608801359150808211156106b457600080fd5b6106c089838a016105c8565b935060808801359150808211156106d657600080fd5b506106e388828901610445565b9150509295509295909350565b600080600080600060a0868803121561070857600080fd5b610711866103e3565b945061071f602087016103e3565b9350604086013592506060860135915060808601356001600160401b0381111561074857600080fd5b6106e388828901610445565b60006020828403121561076657600080fd5b815180151581146103dc57600080fd5b60008251610788818460208701610571565b919091019291505056fea26469706673582212205e3806c2a117c2146e4e851a010892cfbb5ee87635e44cb0a7b5064807c3df1a64736f6c63430008130033815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747a2646970667358221220ae5632e73648f59943334474be759cf88ca6f5bf7fe902a67aa011f1732105f864736f6c63430008130033","sourceMap":"5237:15930:2:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b50600436106200015a5760003560e01c80630114cf0a146200015f57806301ffc9a7146200018e5780630ec1fbac14620001b6578063248a9ca314620001cd5780632497f3c614620001f357806324ae6a27146200020c5780632f2ff15d146200022357806336568abe146200023a57806339b86b8c14620002515780633a92f65f14620002685780633b66dacd146200027f5780634756487f14620002965780635063f36114620002b957806350d005e014620002d05780635e8a7915146200030b57806391d148541462000322578063a0cf0aea1462000339578063a217fddf1462000355578063ac402839146200035e578063c4d66de81462000375578063cf189ff2146200038c578063cfda7e0a14620003a3578063d547741f14620003ba578063dd93da4314620003d1578063e0cf1e4c14620003e8578063ee88819614620003ff575b600080fd5b620001766200017036600462001948565b6200042a565b604051620001859190620019df565b60405180910390f35b620001a56200019f36600462001a61565b620005e1565b604051901515815260200162000185565b620001a5620001c736600462001aaa565b62000619565b620001e4620001de36600462001948565b6200062e565b60405190815260200162000185565b6200020a6200020436600462001948565b62000643565b005b6200020a6200021d36600462001ad9565b62000702565b6200020a6200023436600462001aaa565b620007fb565b6200020a6200024b36600462001aaa565b62000822565b620001a56200026236600462001aaa565b620008a8565b620001e46200027936600462001ccd565b620008b6565b6200020a6200029036600462001aaa565b62000b41565b620001e4620002a736600462001d7b565b60976020526000908152604090205481565b6200020a620002ca36600462001d99565b62000ba8565b620002fc620002e136600462001948565b6099602052600090815260409020546001600160a01b031681565b60405162000185919062001de3565b620001a56200031c36600462001aaa565b62000c34565b620001a56200033336600462001aaa565b62000c55565b620002fc73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b620001e4600081565b6200020a6200036f36600462001df7565b62000c80565b6200020a6200038636600462001d7b565b62000cf3565b620002fc6200039d36600462001e37565b62000e17565b620001e460008051602062002abb83398151915281565b6200020a620003cb36600462001aaa565b62000ed8565b62000176620003e236600462001d7b565b62000efa565b6200020a620003f936600462001d99565b620010c3565b620004166200041036600462001948565b6200110e565b604051620001859695949392919062001e77565b62000434620018e5565b609860008381526020019081526020016000206040518060c00160405290816000820154815260200160018201548152602001600282018054620004789062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620004a69062001ed3565b8015620004f75780601f10620004cb57610100808354040283529160200191620004f7565b820191906000526020600020905b815481529060010190602001808311620004d957829003601f168201915b5050505050815260200160038201604051806040016040529081600082015481526020016001820180546200052c9062001ed3565b80601f01602080910402602001604051908101604052809291908181526020018280546200055a9062001ed3565b8015620005ab5780601f106200057f57610100808354040283529160200191620005ab565b820191906000526020600020905b8154815290600101906020018083116200058d57829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60006001600160e01b03198216637965db0b60e01b14806200061357506301ffc9a760e01b6001600160e01b03198316145b92915050565b60006200062783836200128e565b9392505050565b60009081526065602052604090206001015490565b60008181526098602090815260408083206099909252909120546001600160a01b03163381146200068757604051630b4d48c160e41b815260040160405180910390fd5b6005820180546001600160a01b038084166001600160a01b03199283161783556000868152609960205260409081902080549093169092559154905185927ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d92620006f59291169062001de3565b60405180910390a2505050565b60008051602062002abb8339815191526200071d816200129c565b6001600160a01b038216620007455760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14620007e4576040516370a0823160e01b81526001600160a01b038516906370a08231906200079a90309060040162001de3565b602060405180830381865afa158015620007b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007de919062001f0f565b620007e6565b475b9050620007f5848483620012ab565b50505050565b62000806826200062e565b62000811816200129c565b6200081d8383620012ea565b505050565b6001600160a01b0381163314620008985760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b620008a4828262001374565b5050565b6000620006278383620013de565b600080620008c5878562001402565b6000818152609860205260409020600601549091506001600160a01b0316156200090257604051630527e05960e41b815260040160405180910390fd5b6001600160a01b0384166200092a5760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b031681526020016200096a848a6200144c565b6001600160a01b03169052600083815260986020908152604091829020835181559083015160018201559082015191925082916002820190620009ae908262001f7b565b50606082015180516003830190815560208201516004840190620009d3908262001f7b565b50505060808201516005820180546001600160a01b03199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000a4757506001600160a01b0386163314155b1562000a665760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000add57600086828151811062000a895762000a8962002047565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000ac75760405163538ba4f960e01b815260040160405180910390fd5b62000ad38582620012ea565b5060010162000a69565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000b2c9594939291906200205d565b60405180910390a25090979650505050505050565b8162000b4d8162001627565b6000838152609960205260409081902080546001600160a01b0319166001600160a01b0385161790555183907f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c890620006f590859062001de3565b8162000bb48162001627565b815160005b8181101562000c2d57600084828151811062000bd95762000bd962002047565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c175760405163538ba4f960e01b815260040160405180910390fd5b62000c238682620012ea565b5060010162000bb9565b5050505050565b600062000c428383620013de565b806200062757506200062783836200128e565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b8162000c8c8162001627565b6000838152609860209081526040909120835160038201908155918401518492916004019062000cbd908262001f7b565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f383604051620006f59190620020b2565b600054600190610100900460ff1615801562000d16575060005460ff8083169116105b62000d7b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200088f565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000db75760405163538ba4f960e01b815260040160405180910390fd5b62000dd260008051602062002abb83398151915283620012ea565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000e258162001627565b62000e3184846200144c565b60008581526098602052604090209092506002810162000e52858262001f7b565b506006810180546001600160a01b0390811660009081526097602052604080822082905583546001600160a01b0319169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062000ec89087908790620020c7565b60405180910390a2505092915050565b62000ee3826200062e565b62000eee816200129c565b6200081d838362001374565b62000f04620018e5565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c08101835281548152600182015493810193909352600281018054919284019162000f599062001ed3565b80601f016020809104026020016040519081016040528092919081815260200182805462000f879062001ed3565b801562000fd85780601f1062000fac5761010080835404028352916020019162000fd8565b820191906000526020600020905b81548152906001019060200180831162000fba57829003601f168201915b5050505050815260200160038201604051806040016040529081600082015481526020016001820180546200100d9062001ed3565b80601f01602080910402602001604051908101604052809291908181526020018280546200103b9062001ed3565b80156200108c5780601f1062001060576101008083540402835291602001916200108c565b820191906000526020600020905b8154815290600101906020018083116200106e57829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620010cf8162001627565b815160005b8181101562000c2d576200110585858381518110620010f757620010f762002047565b602002602001015162001374565b600101620010d4565b60986020526000908152604090208054600182015460028301805492939192620011389062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620011669062001ed3565b8015620011b75780601f106200118b57610100808354040283529160200191620011b7565b820191906000526020600020905b8154815290600101906020018083116200119957829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620011e89062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620012169062001ed3565b8015620012675780601f106200123b5761010080835404028352916020019162001267565b820191906000526020600020905b8154815290600101906020018083116200124957829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b600062000627838362000c55565b620012a8813362001651565b50565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03841601620012dd576200081d8282620016b5565b6200081d838383620016d2565b620012f6828262000c55565b620008a45760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620013303390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b62001380828262000c55565b15620008a45760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600091825260986020526040909120600501546001600160a01b0391821691161490565b600082826040516020016200142e92919091825260601b6001600160601b031916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001464929190620020f3565b6040516020818303038152906040529050600084306040516020016200148c9291906200210e565b6040516020818303038152906040529050600060405180602001620014b1906200193a565b601f1982820381018352601f909101166040819052620014d79190849060200162002125565b60408051601f198184030181529082905284516020868101919091208251828401206001600160f81b0319928501929092526001600160601b03193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c905081883060405162001561906200193a565b6200156e9291906200210e565b8190604051809103906000f590508015620015865760015b620016195787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620015cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015f1919062001f0f565b146200161057604051630113b81f60e41b815260040160405180910390fd5b8095506200161c565b95505b505050505092915050565b620016338133620013de565b620012a85760405163075fd2b160e01b815260040160405180910390fd5b6200165d828262000c55565b620008a4576200166d8162001719565b6200167a8360206200172c565b6040516020016200168d92919062002158565b60408051601f198184030181529082905262461bcd60e51b82526200088f91600401620021cb565b60008060008084865af1620008a45763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d1560016000511417166200170f576390b8ec186000526004601cfd5b6000603452505050565b6060620006136001600160a01b03831660145b606060006200173d836002620021f6565b6200174a90600262002210565b6001600160401b0381111562001764576200176462001b08565b6040519080825280601f01601f1916602001820160405280156200178f576020820181803683370190505b509050600360fc1b81600081518110620017ad57620017ad62002047565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110620017df57620017df62002047565b60200101906001600160f81b031916908160001a905350600062001805846002620021f6565b6200181290600162002210565b90505b600181111562001894576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106200184a576200184a62002047565b1a60f81b82828151811062001863576200186362002047565b60200101906001600160f81b031916908160001a90535060049490941c936200188c8162002226565b905062001815565b508315620006275760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200088f565b6040518060c0016040528060008019168152602001600081526020016060815260200162001926604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b61087a806200224183390190565b6000602082840312156200195b57600080fd5b5035919050565b60005b838110156200197f57818101518382015260200162001965565b50506000910152565b60008151808452620019a281602086016020860162001962565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152620019d7604085018262001988565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001a1160e084018262001988565b90506060840151601f1984830301608085015262001a308282620019b6565b60808601516001600160a01b0390811660a0878101919091529096015190951660c090940193909352509192915050565b60006020828403121562001a7457600080fd5b81356001600160e01b0319811681146200062757600080fd5b80356001600160a01b038116811462001aa557600080fd5b919050565b6000806040838503121562001abe57600080fd5b8235915062001ad06020840162001a8d565b90509250929050565b6000806040838503121562001aed57600080fd5b62001af88362001a8d565b915062001ad06020840162001a8d565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171562001b495762001b4962001b08565b604052919050565b600082601f83011262001b6357600080fd5b81356001600160401b0381111562001b7f5762001b7f62001b08565b62001b94601f8201601f191660200162001b1e565b81815284602083860101111562001baa57600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001bda57600080fd5b604080519081016001600160401b03808211838310171562001c005762001c0062001b08565b8160405282935084358352602085013591508082111562001c2057600080fd5b5062001c2f8582860162001b51565b6020830152505092915050565b600082601f83011262001c4e57600080fd5b813560206001600160401b0382111562001c6c5762001c6c62001b08565b8160051b62001c7d82820162001b1e565b928352848101820192828101908785111562001c9857600080fd5b83870192505b8483101562001cc25762001cb28362001a8d565b8252918301919083019062001c9e565b979650505050505050565b600080600080600060a0868803121562001ce657600080fd5b8535945060208601356001600160401b038082111562001d0557600080fd5b62001d1389838a0162001b51565b9550604088013591508082111562001d2a57600080fd5b62001d3889838a0162001bc7565b945062001d486060890162001a8d565b9350608088013591508082111562001d5f57600080fd5b5062001d6e8882890162001c3c565b9150509295509295909350565b60006020828403121562001d8e57600080fd5b620006278262001a8d565b6000806040838503121562001dad57600080fd5b8235915060208301356001600160401b0381111562001dcb57600080fd5b62001dd98582860162001c3c565b9150509250929050565b6001600160a01b0391909116815260200190565b6000806040838503121562001e0b57600080fd5b8235915060208301356001600160401b0381111562001e2957600080fd5b62001dd98582860162001bc7565b6000806040838503121562001e4b57600080fd5b8235915060208301356001600160401b0381111562001e6957600080fd5b62001dd98582860162001b51565b86815285602082015260c06040820152600062001e9860c083018762001988565b828103606084015262001eac8187620019b6565b6001600160a01b0395861660808501529390941660a0909201919091525095945050505050565b600181811c9082168062001ee857607f821691505b60208210810362001f0957634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121562001f2257600080fd5b5051919050565b601f8211156200081d57600081815260208120601f850160051c8101602086101562001f525750805b601f850160051c820191505b8181101562001f735782815560010162001f5e565b505050505050565b81516001600160401b0381111562001f975762001f9762001b08565b62001faf8162001fa8845462001ed3565b8462001f29565b602080601f83116001811462001fe7576000841562001fce5750858301515b600019600386901b1c1916600185901b17855562001f73565b600085815260208120601f198616915b82811015620020185788860151825594840194600190910190840162001ff7565b5085821015620020375787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200207860a083018762001988565b82810360408401526200208c8187620019b6565b6001600160a01b0395861660608501529390941660809092019190915250949350505050565b602081526000620006276020830184620019b6565b604081526000620020dc604083018562001988565b905060018060a01b03831660208301529392505050565b828152604060208201526000620019d7604083018462001988565b9182526001600160a01b0316602082015260400190565b600083516200213981846020880162001962565b8351908301906200214f81836020880162001962565b01949350505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516200218c81601785016020880162001962565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351620021bf81602884016020880162001962565b01602801949350505050565b60208152600062000627602083018462001988565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620006135762000613620021e0565b80820180821115620006135762000613620021e0565b600081620022385762002238620021e0565b50600019019056fe60c060405234801561001057600080fd5b5060405161087a38038061087a83398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516107c86100b26000396000818160b7015261024201526000818161013d015261027101526107c86000f3fe6080604052600436106100645760003560e01c806301ffc9a71461007057806308386eba146100a5578063150b7a02146100e75780637b1039991461012b578063b61d27f614610177578063bc197c81146101a4578063f23a6e61146101d057600080fd5b3661006b57005b600080fd5b34801561007c57600080fd5b5061009061008b3660046103b2565b6101fc565b60405190151581526020015b60405180910390f35b3480156100b157600080fd5b506100d97f000000000000000000000000000000000000000000000000000000000000000081565b60405190815260200161009c565b3480156100f357600080fd5b506101126101023660046104b4565b630a85bd0160e11b949350505050565b6040516001600160e01b0319909116815260200161009c565b34801561013757600080fd5b5061015f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161009c565b34801561018357600080fd5b5061019761019236600461051b565b610233565b60405161009c9190610595565b3480156101b057600080fd5b506101126101bf366004610647565b63bc197c8160e01b95945050505050565b3480156101dc57600080fd5b506101126101eb3660046106f0565b63f23a6e6160e01b95945050505050565b60006001600160e01b03198216630271189760e51b148061022d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b604051630e6e1ae360e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa1580156102c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e49190610754565b6103015760405163075fd2b160e01b815260040160405180910390fd5b6001600160a01b038416610328576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516103449190610776565b60006040518083038185875af1925050503d8060008114610381576040519150601f19603f3d011682016040523d82523d6000602084013e610386565b606091505b5091509150816103a9576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b6000602082840312156103c457600080fd5b81356001600160e01b0319811681146103dc57600080fd5b9392505050565b80356001600160a01b03811681146103fa57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561043d5761043d6103ff565b604052919050565b600082601f83011261045657600080fd5b81356001600160401b0381111561046f5761046f6103ff565b610482601f8201601f1916602001610415565b81815284602083860101111561049757600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156104ca57600080fd5b6104d3856103e3565b93506104e1602086016103e3565b92506040850135915060608501356001600160401b0381111561050357600080fd5b61050f87828801610445565b91505092959194509250565b60008060006060848603121561053057600080fd5b610539846103e3565b92506020840135915060408401356001600160401b0381111561055b57600080fd5b61056786828701610445565b9150509250925092565b60005b8381101561058c578181015183820152602001610574565b50506000910152565b60208152600082518060208401526105b4816040850160208701610571565b601f01601f19169190910160400192915050565b600082601f8301126105d957600080fd5b813560206001600160401b038211156105f4576105f46103ff565b8160051b610603828201610415565b928352848101820192828101908785111561061d57600080fd5b83870192505b8483101561063c57823582529183019190830190610623565b979650505050505050565b600080600080600060a0868803121561065f57600080fd5b610668866103e3565b9450610676602087016103e3565b935060408601356001600160401b038082111561069257600080fd5b61069e89838a016105c8565b945060608801359150808211156106b457600080fd5b6106c089838a016105c8565b935060808801359150808211156106d657600080fd5b506106e388828901610445565b9150509295509295909350565b600080600080600060a0868803121561070857600080fd5b610711866103e3565b945061071f602087016103e3565b9350604086013592506060860135915060808601356001600160401b0381111561074857600080fd5b6106e388828901610445565b60006020828403121561076657600080fd5b815180151581146103dc57600080fd5b60008251610788818460208701610571565b919091019291505056fea26469706673582212205e3806c2a117c2146e4e851a010892cfbb5ee87635e44cb0a7b5064807c3df1a64736f6c63430008130033815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747a2646970667358221220ae5632e73648f59943334474be759cf88ca6f5bf7fe902a67aa011f1732105f864736f6c63430008130033","sourceMap":"5237:15930:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7472:131;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3050:213:43;;;;;;:::i;:::-;;:::i;:::-;;;2359:14:142;;2352:22;2334:41;;2322:2;2307:18;3050:213:43;2194:187:142;13857:156:2;;;;;;:::i;:::-;;:::i;4855:129:43:-;;;;;;:::i;:::-;;:::i;:::-;;;2969:25:142;;;2957:2;2942:18;4855:129:43;2823:177:142;15016:745:2;;;;;;:::i;:::-;;:::i;:::-;;20847:318;;;;;;:::i;:::-;;:::i;5280:145:43:-;;;;;;:::i;:::-;;:::i;6389:214::-;;;;;;:::i;:::-;;:::i;13452:152:2:-;;;;;;:::i;:::-;;:::i;8781:1901::-;;;;;;:::i;:::-;;:::i;14336:382::-;;;;;;:::i;:::-;;:::i;5544:52::-;;;;;;:::i;:::-;;;;;;;;;;;;;;15962:658;;;;;;:::i;:::-;;:::i;5859:58::-;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;5859:58:2;;;;;;;;;;:::i;12992:208::-;;;;;;:::i;:::-;;:::i;3350:145:43:-;;;;;;:::i;:::-;;:::i;4412:75:9:-;;4445:42;4412:75;;2320:49:43;;2365:4;2320:49;;12309:415:2;;;;;;:::i;:::-;;:::i;6841:257::-;;;;;;:::i;:::-;;:::i;11210:830::-;;;;;;:::i;:::-;;:::i;5974:60::-;;-1:-1:-1;;;;;;;;;;;5974:60:2;;5705:147:43;;;;;;:::i;:::-;;:::i;7837:187:2:-;;;;;;:::i;:::-;;:::i;16837:500::-;;;;;;:::i;:::-;;:::i;5702:47::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;7472:131::-;7539:14;;:::i;:::-;7572:12;:24;7585:10;7572:24;;;;;;;;;;;7565:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7565:31:2;;;;-1:-1:-1;;;7565:31:2;;;;;;-1:-1:-1;;;;;7565:31:2;;;;;;;;;;;;;;;;;;;;;7472:131;-1:-1:-1;;7472:131:2:o;3050:213:43:-;3135:4;-1:-1:-1;;;;;;3158:58:43;;-1:-1:-1;;;3158:58:43;;:98;;-1:-1:-1;;;;;;;;;;1189:51:53;;;3220:36:43;3151:105;3050:213;-1:-1:-1;;3050:213:43:o;13857:156:2:-;13944:4;13967:39;13986:10;13998:7;13967:18;:39::i;:::-;13960:46;13857:156;-1:-1:-1;;;13857:156:2:o;4855:129:43:-;4929:7;4955:12;;;:6;:12;;;;;:22;;;;4855:129::o;15016:745:2:-;15131:23;15157:24;;;:12;:24;;;;;;;;15301:23;:35;;;;;;;-1:-1:-1;;;;;15301:35:2;15414:10;:22;;15410:54;;15445:19;;-1:-1:-1;;;15445:19:2;;;;;;;;;;;15410:54;15550:13;;;:24;;-1:-1:-1;;;;;15550:24:2;;;-1:-1:-1;;;;;;15550:24:2;;;;;;:13;15591:35;;;:23;:35;;;;;;;15584:42;;;;;;;;15740:13;;15708:46;;15615:10;;15708:46;;;;15740:13;;;15708:46;:::i;:::-;;;;;;;;15077:684;;15016:745;:::o;20847:318::-;-1:-1:-1;;;;;;;;;;;2798:16:43;2809:4;2798:10;:16::i;:::-;-1:-1:-1;;;;;20949:24:2;::::1;20945:51;;20982:14;;-1:-1:-1::0;;;20982:14:2::1;;;;;;;;;;;20945:51;21007:14;-1:-1:-1::0;;;;;21024:16:2;::::1;4445:42:9;21024:16:2;:81;;21067:38;::::0;-1:-1:-1;;;21067:38:2;;-1:-1:-1;;;;;21067:23:2;::::1;::::0;::::1;::::0;:38:::1;::::0;21099:4:::1;::::0;21067:38:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21024:81;;;21043:21;21024:81;21007:98;;21115:43;21131:6;21139:10;21151:6;21115:15;:43::i;:::-;20935:230;20847:318:::0;;;:::o;5280:145:43:-;5363:18;5376:4;5363:12;:18::i;:::-;2798:16;2809:4;2798:10;:16::i;:::-;5393:25:::1;5404:4;5410:7;5393:10;:25::i;:::-;5280:145:::0;;;:::o;6389:214::-;-1:-1:-1;;;;;6484:23:43;;965:10:51;6484:23:43;6476:83;;;;-1:-1:-1;;;6476:83:43;;9683:2:142;6476:83:43;;;9665:21:142;9722:2;9702:18;;;9695:30;9761:34;9741:18;;;9734:62;-1:-1:-1;;;9812:18:142;;;9805:45;9867:19;;6476:83:43;;;;;;;;;6570:26;6582:4;6588:7;6570:11;:26::i;:::-;6389:214;;:::o;13452:152:2:-;13537:4;13560:37;13578:10;13590:6;13560:17;:37::i;8781:1901::-;8975:7;9060:17;9080:34;9099:6;9107;9080:18;:34::i;:::-;9215:1;9173:23;;;:12;:23;;;;;:30;;;9060:54;;-1:-1:-1;;;;;;9173:30:2;:44;9169:78;;9226:21;;-1:-1:-1;;;9226:21:2;;;;;;;;;;;9169:78;-1:-1:-1;;;;;9317:20:2;;9313:47;;9346:14;;-1:-1:-1;;;9346:14:2;;;;;;;;;;;9313:47;9447:22;9472:213;;;;;;;;9498:9;9472:213;;;;9528:6;9472:213;;;;9554:5;9472:213;;;;9583:9;9472:213;;;;9613:6;-1:-1:-1;;;;;9472:213:2;;;;;9641:33;9657:9;9668:5;9641:15;:33::i;:::-;-1:-1:-1;;;;;9472:213:2;;;9696:23;;;;:12;:23;;;;;;;;;:33;;;;;;;;;;;;;;;;9447:238;;-1:-1:-1;9447:238:2;;9696:33;;;;;;;;:::i;:::-;-1:-1:-1;9696:33:2;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;9696:33:2;;;;;;;;;-1:-1:-1;;;;;;9696:33:2;;;-1:-1:-1;;;;;9696:33:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9757:14;;;;9739:33;-1:-1:-1;9739:33:2;;;:17;:33;;;;;:45;;;9866:15;;9942:16;;;;;:40;;-1:-1:-1;;;;;;9962:20:2;;9972:10;9962:20;;9942:40;9938:92;;;10005:14;;-1:-1:-1;;;10005:14:2;;;;;;;;;;;9938:92;10045:9;10040:402;10060:12;10056:1;:16;10040:402;;;10089:14;10106:8;10115:1;10106:11;;;;;;;;:::i;:::-;;;;;;;10089:28;;10224:1;-1:-1:-1;;;;;10206:20:2;:6;-1:-1:-1;;;;;10206:20:2;;10202:47;;10235:14;;-1:-1:-1;;;10235:14:2;;;;;;;;;;;10202:47;10343:29;10354:9;10365:6;10343:10;:29::i;:::-;-1:-1:-1;10414:3:2;;10040:402;;;;10527:9;10512:103;10538:7;:13;;;10553:7;:12;;;10567:7;:16;;;10585:7;:13;;;10600:7;:14;;;10512:103;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;10666:9:2;;8781:1901;-1:-1:-1;;;;;;;8781:1901:2:o;14336:382::-;14456:10;6416:34;6439:10;6416:22;:34::i;:::-;14530:35:::1;::::0;;;:23:::1;:35;::::0;;;;;;:51;;-1:-1:-1;;;;;;14530:51:2::1;-1:-1:-1::0;;;;;14530:51:2;::::1;;::::0;;14658:53;14530:35;;14658:53:::1;::::0;::::1;::::0;14530:51;;14658:53:::1;:::i;15962:658::-:0;16055:10;6416:34;6439:10;6416:22;:34::i;:::-;16100:15;;16077:20:::1;16211:403;16231:12;16227:1;:16;16211:403;;;16260:14;16277:8;16286:1;16277:11;;;;;;;;:::i;:::-;;;;;;;16260:28;;16395:1;-1:-1:-1::0;;;;;16377:20:2::1;:6;-1:-1:-1::0;;;;;16377:20:2::1;::::0;16373:47:::1;;16406:14;;-1:-1:-1::0;;;16406:14:2::1;;;;;;;;;;;16373:47;16514:30;16525:10;16537:6;16514:10;:30::i;:::-;-1:-1:-1::0;16586:3:2::1;;16211:403;;;;16067:553;15962:658:::0;;;:::o;12992:208::-;13087:4;13110:39;13128:10;13140:8;13110:17;:39::i;:::-;:83;;;;13153:40;13172:10;13184:8;13153:18;:40::i;3350:145:43:-;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:43;;;;;;;;;;;;;;;3350:145::o;12309:415:2:-;12429:10;6416:34;6439:10;6416:22;:34::i;:::-;12553:24:::1;::::0;;;:12:::1;:24;::::0;;;;;;;:45;;:33:::1;::::0;::::1;:45:::0;;;;;::::1;::::0;12589:9;;12553:33;:45;;;::::1;::::0;;::::1;:::i;:::-;;;;;12695:10;12672:45;12707:9;12672:45;;;;;;:::i;6841:257::-:0;4882:13:47;;6900:1:2;;4882:13:47;;;;;4881:14;:40;;;;-1:-1:-1;4899:12:47;;:22;;;;:12;;:22;4881:40;4873:99;;;;-1:-1:-1;;;4873:99:47;;13402:2:142;4873:99:47;;;13384:21:142;13441:2;13421:18;;;13414:30;13480:34;13460:18;;;13453:62;-1:-1:-1;;;13531:18:142;;;13524:44;13585:19;;4873:99:47;13200:410:142;4873:99:47;4982:12;:22;;-1:-1:-1;;5014:20:47;4982:22;;;5014:20;4982:22;5014:20;;;-1:-1:-1;;;;;6968:20:2;::::1;6964:47;;6997:14;;-1:-1:-1::0;;;6997:14:2::1;;;;;;;;;;;6964:47;7061:30;-1:-1:-1::0;;;;;;;;;;;7084:6:2::1;7061:10;:30::i;:::-;5071:5:47::0;5055:21;;-1:-1:-1;;5055:21:47;;;5091:20;;13787:4:142;13775:17;;13757:36;;5091:20:47;;13745:2:142;13730:18;5091:20:47;;;;;;;6841:257:2;;:::o;11210:830::-;11349:14;11320:10;6416:34;6439:10;6416:22;:34::i;:::-;11429::::1;11445:10;11457:5;11429:15;:34::i;:::-;11538:23;11564:24:::0;;;:12:::1;:24;::::0;;;;11420:43;;-1:-1:-1;11627:12:2::1;::::0;::::1;:20;11642:5:::0;11627:12;:20:::1;:::i;:::-;-1:-1:-1::0;11705:14:2::1;::::0;::::1;::::0;;-1:-1:-1;;;;;11705:14:2;;::::1;11731:1;11687:33:::0;;;:17:::1;:33;::::0;;;;;:46;;;11774:23;;-1:-1:-1;;;;;;11774:23:2::1;::::0;;::::1;::::0;;::::1;::::0;;;11807:25;;;;;;:38;;;11931:45;11807:38;;11931:45:::1;::::0;::::1;::::0;11962:5;;11774:23;;11931:45:::1;:::i;:::-;;;;;;;;12020:13;11210:830:::0;;;;;:::o;5705:147:43:-;5789:18;5802:4;5789:12;:18::i;:::-;2798:16;2809:4;2798:10;:16::i;:::-;5819:26:::1;5831:4;5837:7;5819:11;:26::i;7837:187:2:-:0;7905:14;;:::i;:::-;-1:-1:-1;;;;;7951:26:2;;7931:17;7951:26;;;:17;:26;;;;;;;;;7994:23;;;:12;:23;;;;;;7987:30;;;;;;;;;;;;;;;;;;;;;;;;;;;7994:23;;7987:30;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7987:30:2;;;;-1:-1:-1;;;7987:30:2;;;;;;-1:-1:-1;;;;;7987:30:2;;;;;;;;;;;;;;;;;;;;;7837:187;-1:-1:-1;;;7837:187:2:o;16837:500::-;16933:10;6416:34;6439:10;6416:22;:34::i;:::-;16978:15;;16955:20:::1;17094:237;17114:12;17110:1;:16;17094:237;;;17225:36;17237:10;17249:8;17258:1;17249:11;;;;;;;;:::i;:::-;;;;;;;17225;:36::i;:::-;17303:3;;17094:237;;5702:47:::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5702:47:2;;;;-1:-1:-1;;;5702:47:2;;;;;;;;;;;-1:-1:-1;;;;;5702:47:2;;;;;;:::o;20464:146::-;20552:4;20575:28;20583:10;20595:7;20575;:28::i;3789:103:43:-;3855:30;3866:4;965:10:51;3855::43;:30::i;:::-;3789:103;:::o;6721:269:10:-;-1:-1:-1;;;;;;;6815:16:10;;;6811:173;;6847:45;6879:3;6884:7;6847:31;:45::i;6811:173::-;6923:50;6952:6;6960:3;6965:7;6923:28;:50::i;7938:233:43:-;8021:22;8029:4;8035:7;8021;:22::i;:::-;8016:149;;8059:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8059:29:43;;;;;;;;;:36;;-1:-1:-1;;8059:36:43;8091:4;8059:36;;;8141:12;965:10:51;;886:96;8141:12:43;-1:-1:-1;;;;;8114:40:43;8132:7;-1:-1:-1;;;;;8114:40:43;8126:4;8114:40;;;;;;;;;;7938:233;;:::o;8342:234::-;8425:22;8433:4;8439:7;8425;:22::i;:::-;8421:149;;;8495:5;8463:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8463:29:43;;;;;;;;;;:37;;-1:-1:-1;;8463:37:43;;;8519:40;965:10:51;;8463:12:43;;8519:40;;8495:5;8519:40;8342:234;;:::o;19963:156:2:-;20049:4;20072:24;;;:12;:24;;;;;;:30;;;-1:-1:-1;;;;;20072:40:2;;;:30;;:40;;19963:156::o;19465:159::-;19548:7;19601:6;19609;19584:32;;;;;;;;14283:19:142;;;14365:2;14336:15;-1:-1:-1;;;;;;14332:45:142;14327:2;14318:12;;14311:67;14403:2;14394:12;;14126:286;19584:32:2;;;;;;;;;;;;;19574:43;;;;;;19567:50;;19465:159;;;;:::o;18166:969::-;18250:14;18276:24;18314:10;18326:5;18303:29;;;;;;;;;:::i;:::-;;;;;;;;;;;;;18276:56;;18342:35;18391:10;18411:4;18380:37;;;;;;;;;:::i;:::-;;;;;;;;;;;;;18342:75;;18428:21;18469:25;;;;;;;;:::i;:::-;-1:-1:-1;;18469:25:2;;;;;;;;;;;;;;;;18452:67;;18469:25;18496:22;;18469:25;18452:67;;:::i;:::-;;;;-1:-1:-1;;18452:67:2;;;;;;;;;;18545:22;;18452:67;18545:22;;;;;;;18706:19;;;;;;-1:-1:-1;;;;;;18654:72:2;;;15700:39:142;;;;-1:-1:-1;;;;;;18693:4:2;15801:2:142;15772:15;15768:45;15755:11;;;15748:66;15830:12;;;15823:28;;;15867:12;;;15860:28;;;;18452:67:2;;-1:-1:-1;18545:22:2;18530:12;;15904::142;;18654:72:2;;;;;;;;;;;;18644:83;;;;;;18636:92;;18578:161;;18860:4;18866:10;18886:4;18843:49;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18839:290;;19044:10;19008:18;-1:-1:-1;;;;;18993:45:2;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:61;18989:88;;19063:14;;-1:-1:-1;;;19063:14:2;;;;;;;;;;;18989:88;19100:18;19091:27;;18839:290;;;18949:7;-1:-1:-1;18839:290:2;18266:869;;;;;18166:969;;;;:::o;17659:152::-;17740:41;17758:10;17770;17740:17;:41::i;:::-;17735:69;;17790:14;;-1:-1:-1;;;17790:14:2;;;;;;;;;;;4173:501:43;4261:22;4269:4;4275:7;4261;:22::i;:::-;4256:412;;4444:39;4475:7;4444:30;:39::i;:::-;4554:49;4593:4;4600:2;4554:30;:49::i;:::-;4351:274;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4351:274:43;;;;;;;;;;-1:-1:-1;;;4299:358:43;;;;;;;:::i;2455:490:14:-;2711:4;2705;2699;2693;2685:6;2681:2;2674:5;2669:47;2659:270;;2822:10;2816:4;2809:24;2910:4;2904;2897:18;11454:1189;11617:2;11611:4;11604:16;11674:6;11668:4;11661:20;-1:-1:-1;;;11808:4:14;11801:48;12272:4;12266;12260;12254;12251:1;12244:5;12237;12232:45;12192:16;12185:24;12181:1;12174:4;12168:11;12165:18;12162:48;11890:405;11863:655;;12411:10;12405:4;12398:24;12499:4;12493;12486:18;11863:655;12625:1;12619:4;12612:15;11454:1189;;;:::o;2473:149:52:-;2531:13;2563:52;-1:-1:-1;;;;;2575:22:52;;376:2;1884:437;1959:13;1984:19;2016:10;2020:6;2016:1;:10;:::i;:::-;:14;;2029:1;2016:14;:::i;:::-;-1:-1:-1;;;;;2006:25:52;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2006:25:52;;1984:47;;-1:-1:-1;;;2041:6:52;2048:1;2041:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2041:15:52;;;;;;;;;-1:-1:-1;;;2066:6:52;2073:1;2066:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2066:15:52;;;;;;;;-1:-1:-1;2096:9:52;2108:10;2112:6;2108:1;:10;:::i;:::-;:14;;2121:1;2108:14;:::i;:::-;2096:26;;2091:128;2128:1;2124;:5;2091:128;;;-1:-1:-1;;;2171:5:52;2179:3;2171:11;2162:21;;;;;;;:::i;:::-;;;;2150:6;2157:1;2150:9;;;;;;;;:::i;:::-;;;;:33;-1:-1:-1;;;;;2150:33:52;;;;;;;;-1:-1:-1;2207:1:52;2197:11;;;;;2131:3;;;:::i;:::-;;;2091:128;;;-1:-1:-1;2236:10:52;;2228:55;;;;-1:-1:-1;;;2228:55:52;;17936:2:142;2228:55:52;;;17918:21:142;;;17955:18;;;17948:30;18014:34;17994:18;;;17987:62;18066:18;;2228:55:52;17734:356:142;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;14:180:142:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:142;;14:180;-1:-1:-1;14:180:142:o;199:250::-;284:1;294:113;308:6;305:1;302:13;294:113;;;384:11;;;378:18;365:11;;;358:39;330:2;323:10;294:113;;;-1:-1:-1;;441:1:142;423:16;;416:27;199:250::o;454:271::-;496:3;534:5;528:12;561:6;556:3;549:19;577:76;646:6;639:4;634:3;630:14;623:4;616:5;612:16;577:76;:::i;:::-;707:2;686:15;-1:-1:-1;;682:29:142;673:39;;;;714:4;669:50;;454:271;-1:-1:-1;;454:271:142:o;730:252::-;817:5;811:12;806:3;799:25;781:3;870:4;863:5;859:16;853:23;908:4;901;896:3;892:14;885:28;929:47;970:4;965:3;961:14;947:12;929:47;:::i;:::-;922:54;730:252;-1:-1:-1;;;;730:252:142:o;987:911::-;1166:2;1155:9;1148:21;1211:6;1205:13;1200:2;1189:9;1185:18;1178:41;1273:2;1265:6;1261:15;1255:22;1250:2;1239:9;1235:18;1228:50;1129:4;1325:2;1317:6;1313:15;1307:22;1365:4;1360:2;1349:9;1345:18;1338:32;1393:52;1440:3;1429:9;1425:19;1411:12;1393:52;:::i;:::-;1379:66;;1494:2;1486:6;1482:15;1476:22;1567:2;1563:7;1551:9;1543:6;1539:22;1535:36;1529:3;1518:9;1514:19;1507:65;1595:50;1638:6;1622:14;1595:50;:::i;:::-;1694:3;1682:16;;1676:23;-1:-1:-1;;;;;1774:23:142;;;1726:3;1753:19;;;1746:52;;;;1846:16;;;1840:23;1836:32;;;1829:4;1814:20;;;1807:62;;;;-1:-1:-1;1581:64:142;;987:911;-1:-1:-1;;987:911:142:o;1903:286::-;1961:6;2014:2;2002:9;1993:7;1989:23;1985:32;1982:52;;;2030:1;2027;2020:12;1982:52;2056:23;;-1:-1:-1;;;;;;2108:32:142;;2098:43;;2088:71;;2155:1;2152;2145:12;2386:173;2454:20;;-1:-1:-1;;;;;2503:31:142;;2493:42;;2483:70;;2549:1;2546;2539:12;2483:70;2386:173;;;:::o;2564:254::-;2632:6;2640;2693:2;2681:9;2672:7;2668:23;2664:32;2661:52;;;2709:1;2706;2699:12;2661:52;2745:9;2732:23;2722:33;;2774:38;2808:2;2797:9;2793:18;2774:38;:::i;:::-;2764:48;;2564:254;;;;;:::o;3005:260::-;3073:6;3081;3134:2;3122:9;3113:7;3109:23;3105:32;3102:52;;;3150:1;3147;3140:12;3102:52;3173:29;3192:9;3173:29;:::i;:::-;3163:39;;3221:38;3255:2;3244:9;3240:18;3221:38;:::i;3270:127::-;3331:10;3326:3;3322:20;3319:1;3312:31;3362:4;3359:1;3352:15;3386:4;3383:1;3376:15;3402:275;3473:2;3467:9;3538:2;3519:13;;-1:-1:-1;;3515:27:142;3503:40;;-1:-1:-1;;;;;3558:34:142;;3594:22;;;3555:62;3552:88;;;3620:18;;:::i;:::-;3656:2;3649:22;3402:275;;-1:-1:-1;3402:275:142:o;3682:531::-;3725:5;3778:3;3771:4;3763:6;3759:17;3755:27;3745:55;;3796:1;3793;3786:12;3745:55;3819:20;;-1:-1:-1;;;;;3851:26:142;;3848:52;;;3880:18;;:::i;:::-;3924:55;3967:2;3948:13;;-1:-1:-1;;3944:27:142;3973:4;3940:38;3924:55;:::i;:::-;4004:2;3995:7;3988:19;4050:3;4043:4;4038:2;4030:6;4026:15;4022:26;4019:35;4016:55;;;4067:1;4064;4057:12;4016:55;4132:2;4125:4;4117:6;4113:17;4106:4;4097:7;4093:18;4080:55;4180:1;4155:16;;;4173:4;4151:27;4144:38;;;;4159:7;3682:531;-1:-1:-1;;;3682:531:142:o;4218:610::-;4273:5;4321:4;4309:9;4304:3;4300:19;4296:30;4293:50;;;4339:1;4336;4329:12;4293:50;4372:4;4366:11;;;4404:17;;-1:-1:-1;;;;;4473:18:142;;;4493:22;;;4470:46;4467:72;;;4519:18;;:::i;:::-;4561:10;4555:4;4548:24;4590:6;4581:15;;4633:9;4620:23;4612:6;4605:39;4695:2;4684:9;4680:18;4667:32;4653:46;;4722:2;4714:6;4711:14;4708:34;;;4738:1;4735;4728:12;4708:34;;4775:46;4817:3;4808:6;4797:9;4793:22;4775:46;:::i;:::-;4770:2;4762:6;4758:15;4751:71;;;4218:610;;;;:::o;4833:718::-;4887:5;4940:3;4933:4;4925:6;4921:17;4917:27;4907:55;;4958:1;4955;4948:12;4907:55;4981:20;;5020:4;-1:-1:-1;;;;;5036:26:142;;5033:52;;;5065:18;;:::i;:::-;5111:2;5108:1;5104:10;5134:28;5158:2;5154;5150:11;5134:28;:::i;:::-;5196:15;;;5266;;;5262:24;;;5227:12;;;;5298:15;;;5295:35;;;5326:1;5323;5316:12;5295:35;5362:2;5354:6;5350:15;5339:26;;5374:148;5390:6;5385:3;5382:15;5374:148;;;5456:23;5475:3;5456:23;:::i;:::-;5444:36;;5407:12;;;;5500;;;;5374:148;;;5540:5;4833:718;-1:-1:-1;;;;;;;4833:718:142:o;5556:938::-;5712:6;5720;5728;5736;5744;5797:3;5785:9;5776:7;5772:23;5768:33;5765:53;;;5814:1;5811;5804:12;5765:53;5837:23;;;-1:-1:-1;5911:2:142;5896:18;;5883:32;-1:-1:-1;;;;;5964:14:142;;;5961:34;;;5991:1;5988;5981:12;5961:34;6014:50;6056:7;6047:6;6036:9;6032:22;6014:50;:::i;:::-;6004:60;;6117:2;6106:9;6102:18;6089:32;6073:48;;6146:2;6136:8;6133:16;6130:36;;;6162:1;6159;6152:12;6130:36;6185:61;6238:7;6227:8;6216:9;6212:24;6185:61;:::i;:::-;6175:71;;6265:38;6299:2;6288:9;6284:18;6265:38;:::i;:::-;6255:48;;6356:3;6345:9;6341:19;6328:33;6312:49;;6386:2;6376:8;6373:16;6370:36;;;6402:1;6399;6392:12;6370:36;;6425:63;6480:7;6469:8;6458:9;6454:24;6425:63;:::i;:::-;6415:73;;;5556:938;;;;;;;;:::o;6499:186::-;6558:6;6611:2;6599:9;6590:7;6586:23;6582:32;6579:52;;;6627:1;6624;6617:12;6579:52;6650:29;6669:9;6650:29;:::i;6690:416::-;6783:6;6791;6844:2;6832:9;6823:7;6819:23;6815:32;6812:52;;;6860:1;6857;6850:12;6812:52;6883:23;;;-1:-1:-1;6957:2:142;6942:18;;6929:32;-1:-1:-1;;;;;6973:30:142;;6970:50;;;7016:1;7013;7006:12;6970:50;7039:61;7092:7;7083:6;7072:9;7068:22;7039:61;:::i;:::-;7029:71;;;6690:416;;;;;:::o;7111:203::-;-1:-1:-1;;;;;7275:32:142;;;;7257:51;;7245:2;7230:18;;7111:203::o;7319:415::-;7413:6;7421;7474:2;7462:9;7453:7;7449:23;7445:32;7442:52;;;7490:1;7487;7480:12;7442:52;7513:23;;;-1:-1:-1;7587:2:142;7572:18;;7559:32;-1:-1:-1;;;;;7603:30:142;;7600:50;;;7646:1;7643;7636:12;7600:50;7669:59;7720:7;7711:6;7700:9;7696:22;7669:59;:::i;7739:390::-;7817:6;7825;7878:2;7866:9;7857:7;7853:23;7849:32;7846:52;;;7894:1;7891;7884:12;7846:52;7917:23;;;-1:-1:-1;7991:2:142;7976:18;;7963:32;-1:-1:-1;;;;;8007:30:142;;8004:50;;;8050:1;8047;8040:12;8004:50;8073;8115:7;8106:6;8095:9;8091:22;8073:50;:::i;8134:768::-;8475:6;8464:9;8457:25;8518:6;8513:2;8502:9;8498:18;8491:34;8561:3;8556:2;8545:9;8541:18;8534:31;8438:4;8588:46;8629:3;8618:9;8614:19;8606:6;8588:46;:::i;:::-;8682:9;8674:6;8670:22;8665:2;8654:9;8650:18;8643:50;8710:42;8745:6;8737;8710:42;:::i;:::-;-1:-1:-1;;;;;8827:15:142;;;8821:3;8806:19;;8799:44;8880:15;;;;8779:3;8859:19;;;8852:44;;;;-1:-1:-1;8880:15:142;8702:50;-1:-1:-1;;;;;8134:768:142:o;8907:380::-;8986:1;8982:12;;;;9029;;;9050:61;;9104:4;9096:6;9092:17;9082:27;;9050:61;9157:2;9149:6;9146:14;9126:18;9123:38;9120:161;;9203:10;9198:3;9194:20;9191:1;9184:31;9238:4;9235:1;9228:15;9266:4;9263:1;9256:15;9120:161;;8907:380;;;:::o;9292:184::-;9362:6;9415:2;9403:9;9394:7;9390:23;9386:32;9383:52;;;9431:1;9428;9421:12;9383:52;-1:-1:-1;9454:16:142;;9292:184;-1:-1:-1;9292:184:142:o;10023:545::-;10125:2;10120:3;10117:11;10114:448;;;10161:1;10186:5;10182:2;10175:17;10231:4;10227:2;10217:19;10301:2;10289:10;10285:19;10282:1;10278:27;10272:4;10268:38;10337:4;10325:10;10322:20;10319:47;;;-1:-1:-1;10360:4:142;10319:47;10415:2;10410:3;10406:12;10403:1;10399:20;10393:4;10389:31;10379:41;;10470:82;10488:2;10481:5;10478:13;10470:82;;;10533:17;;;10514:1;10503:13;10470:82;;;10474:3;;;10023:545;;;:::o;10744:1352::-;10864:10;;-1:-1:-1;;;;;10886:30:142;;10883:56;;;10919:18;;:::i;:::-;10948:97;11038:6;10998:38;11030:4;11024:11;10998:38;:::i;:::-;10992:4;10948:97;:::i;:::-;11100:4;;11164:2;11153:14;;11181:1;11176:663;;;;11883:1;11900:6;11897:89;;;-1:-1:-1;11952:19:142;;;11946:26;11897:89;-1:-1:-1;;10701:1:142;10697:11;;;10693:24;10689:29;10679:40;10725:1;10721:11;;;10676:57;11999:81;;11146:944;;11176:663;9970:1;9963:14;;;10007:4;9994:18;;-1:-1:-1;;11212:20:142;;;11330:236;11344:7;11341:1;11338:14;11330:236;;;11433:19;;;11427:26;11412:42;;11525:27;;;;11493:1;11481:14;;;;11360:19;;11330:236;;;11334:3;11594:6;11585:7;11582:19;11579:201;;;11655:19;;;11649:26;-1:-1:-1;;11738:1:142;11734:14;;;11750:3;11730:24;11726:37;11722:42;11707:58;11692:74;;11579:201;-1:-1:-1;;;;;11826:1:142;11810:14;;;11806:22;11793:36;;-1:-1:-1;10744:1352:142:o;12101:127::-;12162:10;12157:3;12153:20;12150:1;12143:31;12193:4;12190:1;12183:15;12217:4;12214:1;12207:15;12233:696;12546:6;12535:9;12528:25;12589:3;12584:2;12573:9;12569:18;12562:31;12509:4;12616:46;12657:3;12646:9;12642:19;12634:6;12616:46;:::i;:::-;12710:9;12702:6;12698:22;12693:2;12682:9;12678:18;12671:50;12738:42;12773:6;12765;12738:42;:::i;:::-;-1:-1:-1;;;;;12854:15:142;;;12849:2;12834:18;;12827:43;12907:15;;;;12901:3;12886:19;;;12879:44;;;;-1:-1:-1;12730:50:142;12233:696;-1:-1:-1;;;;12233:696:142:o;12934:261::-;13115:2;13104:9;13097:21;13078:4;13135:54;13185:2;13174:9;13170:18;13162:6;13135:54;:::i;13804:317::-;13981:2;13970:9;13963:21;13944:4;14001:45;14042:2;14031:9;14027:18;14019:6;14001:45;:::i;:::-;13993:53;;14111:1;14107;14102:3;14098:11;14094:19;14086:6;14082:32;14077:2;14066:9;14062:18;14055:60;13804:317;;;;;:::o;14417:291::-;14594:6;14583:9;14576:25;14637:2;14632;14621:9;14617:18;14610:30;14557:4;14657:45;14698:2;14687:9;14683:18;14675:6;14657:45;:::i;14713:274::-;14887:25;;;-1:-1:-1;;;;;14948:32:142;14943:2;14928:18;;14921:60;14875:2;14860:18;;14713:274::o;14992:492::-;15167:3;15205:6;15199:13;15221:66;15280:6;15275:3;15268:4;15260:6;15256:17;15221:66;:::i;:::-;15350:13;;15309:16;;;;15372:70;15350:13;15309:16;15419:4;15407:17;;15372:70;:::i;:::-;15458:20;;14992:492;-1:-1:-1;;;;14992:492:142:o;16116:812::-;-1:-1:-1;;;16522:3:142;16515:38;16497:3;16582:6;16576:13;16598:75;16666:6;16661:2;16656:3;16652:12;16645:4;16637:6;16633:17;16598:75;:::i;:::-;-1:-1:-1;;;16732:2:142;16692:16;;;16724:11;;;16717:40;16782:13;;16804:76;16782:13;16866:2;16858:11;;16851:4;16839:17;;16804:76;:::i;:::-;16900:17;16919:2;16896:26;;16116:812;-1:-1:-1;;;;16116:812:142:o;16933:220::-;17082:2;17071:9;17064:21;17045:4;17102:45;17143:2;17132:9;17128:18;17120:6;17102:45;:::i;17158:127::-;17219:10;17214:3;17210:20;17207:1;17200:31;17250:4;17247:1;17240:15;17274:4;17271:1;17264:15;17290:168;17363:9;;;17394;;17411:15;;;17405:22;;17391:37;17381:71;;17432:18;;:::i;17463:125::-;17528:9;;;17549:10;;;17546:36;;;17562:18;;:::i;17593:136::-;17632:3;17660:5;17650:39;;17669:18;;:::i;:::-;-1:-1:-1;;;17705:18:142;;17593:136::o","linkReferences":{}},"methodIdentifiers":{"ALLO_OWNER()":"cfda7e0a","DEFAULT_ADMIN_ROLE()":"a217fddf","NATIVE()":"a0cf0aea","acceptProfileOwnership(bytes32)":"2497f3c6","addMembers(bytes32,address[])":"5063f361","anchorToProfileId(address)":"4756487f","createProfile(uint256,string,(uint256,string),address,address[])":"3a92f65f","getProfileByAnchor(address)":"dd93da43","getProfileById(bytes32)":"0114cf0a","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(address)":"c4d66de8","isMemberOfProfile(bytes32,address)":"0ec1fbac","isOwnerOfProfile(bytes32,address)":"39b86b8c","isOwnerOrMemberOfProfile(bytes32,address)":"5e8a7915","profileIdToPendingOwner(bytes32)":"50d005e0","profilesById(bytes32)":"ee888196","recoverFunds(address,address)":"24ae6a27","removeMembers(bytes32,address[])":"e0cf1e4c","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7","updateProfileMetadata(bytes32,(uint256,string))":"ac402839","updateProfileName(bytes32,string)":"cf189ff2","updateProfilePendingOwner(bytes32,address)":"3b66dacd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AMOUNT_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"ProfileMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileNameUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ProfileOwnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"ProfilePendingOwnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ALLO_OWNER\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"acceptProfileOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"addMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"anchorToProfileId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"createProfile\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_anchor\",\"type\":\"address\"}],\"name\":\"getProfileByAnchor\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"getProfileById\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"isOwnerOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isOwnerOrMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"profileIdToPendingOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"profilesById\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"removeMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updateProfileMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"updateProfileName\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_pendingOwner\",\"type\":\"address\"}],\"name\":\"updateProfilePendingOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"details\":\"This contract is used to create and manage profiles for the Allo protocol It is also used to deploy the anchor contract for each profile which acts as a proxy for the profile and is used to receive funds and execute transactions on behalf of the profile The Registry is also used to add and remove members from a profile and update the profile 'Metadata'\",\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}]},\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"ProfileCreated(bytes32,uint256,string,(uint256,string),address,address)\":{\"details\":\"Emitted when a profile is created. This will return your anchor address.\"},\"ProfileMetadataUpdated(bytes32,(uint256,string))\":{\"details\":\"Emitted when a profile's metadata is updated.\"},\"ProfileNameUpdated(bytes32,string,address)\":{\"details\":\"Emitted when a profile name is updated. This will update the anchor when the name is updated and return it.\"},\"ProfileOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile owner is updated.\"},\"ProfilePendingOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile pending owner is updated.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"acceptProfileOwnership(bytes32)\":{\"details\":\"'msg.sender' must be the pending owner of the profile. [2]*This is step two of two when transferring ownership.\",\"params\":{\"_profileId\":\"The ID of the profile\"}},\"addMembers(bytes32,address[])\":{\"details\":\"'msg.sender' must be the owner of the profile.\",\"params\":{\"_members\":\"The members to add\",\"_profileId\":\"The ID of the profile\"}},\"createProfile(uint256,string,(uint256,string),address,address[])\":{\"details\":\"This will also generate the 'profileId' and 'anchor' address, emits a 'ProfileCreated()' event Note: The 'nonce' is used to generate the 'profileId' and should be unique for each profile Note: The 'name' and 'profileId' are used to generate the 'anchor' address\",\"params\":{\"_members\":\"The members of the profile (can be set only if msg.sender == _owner)\",\"_metadata\":\"The metadata of the profile\",\"_name\":\"The name of the profile\",\"_nonce\":\"Nonce used to generate profileId. Can be any integer, but should be unique for each profile.\",\"_owner\":\"The owner of the profile\"},\"returns\":{\"_0\":\"The ID for the created profile\"}},\"getProfileByAnchor(address)\":{\"details\":\"Used when you have the 'anchor' address and want to retrieve the profile\",\"params\":{\"_anchor\":\"The anchor of the profile\"},\"returns\":{\"_0\":\"Profile details for the `_anchor`\"}},\"getProfileById(bytes32)\":{\"details\":\"Used when you have the 'profileId' and want to retrieve the profile\",\"params\":{\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"The Profile details for the `_profileId`\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(address)\":{\"details\":\"During upgrade -> a higher version should be passed to reinitializer. Reverts if the '_owner' is the 'address(0)'\",\"params\":{\"_owner\":\"The owner of the contract\"}},\"isMemberOfProfile(bytes32,address)\":{\"params\":{\"_member\":\"The address to check\",\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"'true' if the address is a member of the profile, otherwise 'false'\"}},\"isOwnerOfProfile(bytes32,address)\":{\"params\":{\"_owner\":\"The address to check\",\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"'true' if the address is an owner of the profile, otherwise 'false'\"}},\"isOwnerOrMemberOfProfile(bytes32,address)\":{\"params\":{\"_account\":\"The address to check\",\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"'true' if the address is an owner or member of the profile, otherwise 'false'\"}},\"recoverFunds(address,address)\":{\"details\":\"'msg.sender' must be the Allo owner\",\"params\":{\"_recipient\":\"The address of the recipient\",\"_token\":\"The address of the token to transfer\"}},\"removeMembers(bytes32,address[])\":{\"details\":\"'msg.sender' must be the pending owner of the profile.\",\"params\":{\"_members\":\"The members to remove\",\"_profileId\":\"The ID of the profile\"}},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"updateProfileMetadata(bytes32,(uint256,string))\":{\"details\":\"'msg.sender' must be the owner of the profile.\",\"params\":{\"_metadata\":\"The new 'Metadata' of the profile\",\"_profileId\":\"The ID of the profile\"}},\"updateProfileName(bytes32,string)\":{\"details\":\"Use caution when updating your profile name as it will generate a new anchor address. You can always update the name back to the original name to get the original anchor address. 'msg.sender' must be the owner of the profile.\",\"params\":{\"_name\":\"The new name of the profile\",\"_profileId\":\"The profileId of the profile\"},\"returns\":{\"anchor\":\"The new anchor\"}},\"updateProfilePendingOwner(bytes32,address)\":{\"details\":\"'msg.sender' must be the owner of the profile. [1]*This is step one of two when transferring ownership.\",\"params\":{\"_pendingOwner\":\"The new pending owner\",\"_profileId\":\"The ID of the profile\"}}},\"stateVariables\":{\"anchorToProfileId\":{\"details\":\"anchor -> Profile.id\"},\"profileIdToPendingOwner\":{\"details\":\"Profile.id -> pending owner\"},\"profilesById\":{\"details\":\"Profile.id -> Profile\"}},\"title\":\"Registry Contract\",\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"AMOUNT_MISMATCH()\":[{\"notice\":\"Thrown when the amount of tokens sent does not match the amount of tokens expected\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"kind\":\"user\",\"methods\":{\"ALLO_OWNER()\":{\"notice\":\"Allo Owner Role for fund recovery\"},\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"acceptProfileOwnership(bytes32)\":{\"notice\":\"Transfers the ownership of the profile to the pending owner and Emits a 'ProfileOwnerUdpated()' event.\"},\"addMembers(bytes32,address[])\":{\"notice\":\"Adds members to the profile\"},\"anchorToProfileId(address)\":{\"notice\":\"This maps the anchor address to the profile ID\"},\"createProfile(uint256,string,(uint256,string),address,address[])\":{\"notice\":\"Creates a new profile\"},\"getProfileByAnchor(address)\":{\"notice\":\"Retrieve profile by anchor\"},\"getProfileById(bytes32)\":{\"notice\":\"Retrieve profile by profileId\"},\"initialize(address)\":{\"notice\":\"Initializes the contract after an upgrade\"},\"isMemberOfProfile(bytes32,address)\":{\"notice\":\"Checks if the given address is a member of the profile\"},\"isOwnerOfProfile(bytes32,address)\":{\"notice\":\"Checks if the given address is an owner of the profile\"},\"isOwnerOrMemberOfProfile(bytes32,address)\":{\"notice\":\"Checks if the address is an owner or member of the profile\"},\"profileIdToPendingOwner(bytes32)\":{\"notice\":\"This maps the profile ID to the pending owner\"},\"profilesById(bytes32)\":{\"notice\":\"This maps the profile ID to the profile details\"},\"recoverFunds(address,address)\":{\"notice\":\"Transfers any fund balance in Allo to the recipient\"},\"removeMembers(bytes32,address[])\":{\"notice\":\"Removes members from the profile\"},\"updateProfileMetadata(bytes32,(uint256,string))\":{\"notice\":\"Update the 'Metadata' of the profile. Emits a 'ProfileMetadataUpdated()' event.\"},\"updateProfileName(bytes32,string)\":{\"notice\":\"Updates the name of the profile and generates new anchor. Emits a 'ProfileNameUpdated()' event.\"},\"updateProfilePendingOwner(bytes32,address)\":{\"notice\":\"Updates the pending owner of the profile. Emits a 'ProfilePendingOwnership()' event.\"}},\"notice\":\"Registry contract for creating and managing profiles\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/Registry.sol\":\"Registry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"AMOUNT_MISMATCH"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false},{"internalType":"address","name":"owner","type":"address","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileCreated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"ProfileMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileNameUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":false}],"type":"event","name":"ProfileOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"pendingOwner","type":"address","indexed":false}],"type":"event","name":"ProfilePendingOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"ALLO_OWNER","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"acceptProfileOwnership"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"addMembers"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"anchorToProfileId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"createProfile","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_anchor","type":"address"}],"stateMutability":"view","type":"function","name":"getProfileByAnchor","outputs":[{"internalType":"struct IRegistry.Profile","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getProfileById","outputs":[{"internalType":"struct IRegistry.Profile","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isMemberOfProfile","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOfProfile","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_account","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOrMemberOfProfile","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"profileIdToPendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"profilesById","outputs":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"removeMembers"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updateProfileMetadata"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateProfileName","outputs":[{"internalType":"address","name":"anchor","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_pendingOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateProfilePendingOwner"}],"devdoc":{"kind":"dev","methods":{"acceptProfileOwnership(bytes32)":{"details":"'msg.sender' must be the pending owner of the profile. [2]*This is step two of two when transferring ownership.","params":{"_profileId":"The ID of the profile"}},"addMembers(bytes32,address[])":{"details":"'msg.sender' must be the owner of the profile.","params":{"_members":"The members to add","_profileId":"The ID of the profile"}},"createProfile(uint256,string,(uint256,string),address,address[])":{"details":"This will also generate the 'profileId' and 'anchor' address, emits a 'ProfileCreated()' event Note: The 'nonce' is used to generate the 'profileId' and should be unique for each profile Note: The 'name' and 'profileId' are used to generate the 'anchor' address","params":{"_members":"The members of the profile (can be set only if msg.sender == _owner)","_metadata":"The metadata of the profile","_name":"The name of the profile","_nonce":"Nonce used to generate profileId. Can be any integer, but should be unique for each profile.","_owner":"The owner of the profile"},"returns":{"_0":"The ID for the created profile"}},"getProfileByAnchor(address)":{"details":"Used when you have the 'anchor' address and want to retrieve the profile","params":{"_anchor":"The anchor of the profile"},"returns":{"_0":"Profile details for the `_anchor`"}},"getProfileById(bytes32)":{"details":"Used when you have the 'profileId' and want to retrieve the profile","params":{"_profileId":"The ID of the profile"},"returns":{"_0":"The Profile details for the `_profileId`"}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"initialize(address)":{"details":"During upgrade -> a higher version should be passed to reinitializer. Reverts if the '_owner' is the 'address(0)'","params":{"_owner":"The owner of the contract"}},"isMemberOfProfile(bytes32,address)":{"params":{"_member":"The address to check","_profileId":"The ID of the profile"},"returns":{"_0":"'true' if the address is a member of the profile, otherwise 'false'"}},"isOwnerOfProfile(bytes32,address)":{"params":{"_owner":"The address to check","_profileId":"The ID of the profile"},"returns":{"_0":"'true' if the address is an owner of the profile, otherwise 'false'"}},"isOwnerOrMemberOfProfile(bytes32,address)":{"params":{"_account":"The address to check","_profileId":"The ID of the profile"},"returns":{"_0":"'true' if the address is an owner or member of the profile, otherwise 'false'"}},"recoverFunds(address,address)":{"details":"'msg.sender' must be the Allo owner","params":{"_recipient":"The address of the recipient","_token":"The address of the token to transfer"}},"removeMembers(bytes32,address[])":{"details":"'msg.sender' must be the pending owner of the profile.","params":{"_members":"The members to remove","_profileId":"The ID of the profile"}},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"updateProfileMetadata(bytes32,(uint256,string))":{"details":"'msg.sender' must be the owner of the profile.","params":{"_metadata":"The new 'Metadata' of the profile","_profileId":"The ID of the profile"}},"updateProfileName(bytes32,string)":{"details":"Use caution when updating your profile name as it will generate a new anchor address. You can always update the name back to the original name to get the original anchor address. 'msg.sender' must be the owner of the profile.","params":{"_name":"The new name of the profile","_profileId":"The profileId of the profile"},"returns":{"anchor":"The new anchor"}},"updateProfilePendingOwner(bytes32,address)":{"details":"'msg.sender' must be the owner of the profile. [1]*This is step one of two when transferring ownership.","params":{"_pendingOwner":"The new pending owner","_profileId":"The ID of the profile"}}},"version":1},"userdoc":{"kind":"user","methods":{"ALLO_OWNER()":{"notice":"Allo Owner Role for fund recovery"},"NATIVE()":{"notice":"Address of the native token"},"acceptProfileOwnership(bytes32)":{"notice":"Transfers the ownership of the profile to the pending owner and Emits a 'ProfileOwnerUdpated()' event."},"addMembers(bytes32,address[])":{"notice":"Adds members to the profile"},"anchorToProfileId(address)":{"notice":"This maps the anchor address to the profile ID"},"createProfile(uint256,string,(uint256,string),address,address[])":{"notice":"Creates a new profile"},"getProfileByAnchor(address)":{"notice":"Retrieve profile by anchor"},"getProfileById(bytes32)":{"notice":"Retrieve profile by profileId"},"initialize(address)":{"notice":"Initializes the contract after an upgrade"},"isMemberOfProfile(bytes32,address)":{"notice":"Checks if the given address is a member of the profile"},"isOwnerOfProfile(bytes32,address)":{"notice":"Checks if the given address is an owner of the profile"},"isOwnerOrMemberOfProfile(bytes32,address)":{"notice":"Checks if the address is an owner or member of the profile"},"profileIdToPendingOwner(bytes32)":{"notice":"This maps the profile ID to the pending owner"},"profilesById(bytes32)":{"notice":"This maps the profile ID to the profile details"},"recoverFunds(address,address)":{"notice":"Transfers any fund balance in Allo to the recipient"},"removeMembers(bytes32,address[])":{"notice":"Removes members from the profile"},"updateProfileMetadata(bytes32,(uint256,string))":{"notice":"Update the 'Metadata' of the profile. Emits a 'ProfileMetadataUpdated()' event."},"updateProfileName(bytes32,string)":{"notice":"Updates the name of the profile and generates new anchor. Emits a 'ProfileNameUpdated()' event."},"updateProfilePendingOwner(bytes32,address)":{"notice":"Updates the pending owner of the profile. Emits a 'ProfilePendingOwnership()' event."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/Registry.sol":"Registry"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":52990,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52993,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53695,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":53969,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"__gap","offset":0,"slot":"51","type":"t_array(t_uint256)50_storage"},{"astId":52389,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"_roles","offset":0,"slot":"101","type":"t_mapping(t_bytes32,t_struct(RoleData)52384_storage)"},{"astId":52696,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":1525,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"anchorToProfileId","offset":0,"slot":"151","type":"t_mapping(t_address,t_bytes32)"},{"astId":1531,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"profilesById","offset":0,"slot":"152","type":"t_mapping(t_bytes32,t_struct(Profile)2629_storage)"},{"astId":1536,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"profileIdToPendingOwner","offset":0,"slot":"153","type":"t_mapping(t_bytes32,t_address)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_bytes32)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bytes32)","numberOfBytes":"32","value":"t_bytes32"},"t_mapping(t_bytes32,t_address)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => address)","numberOfBytes":"32","value":"t_address"},"t_mapping(t_bytes32,t_struct(Profile)2629_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct IRegistry.Profile)","numberOfBytes":"32","value":"t_struct(Profile)2629_storage"},"t_mapping(t_bytes32,t_struct(RoleData)52384_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)52384_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(Profile)2629_storage":{"encoding":"inplace","label":"struct IRegistry.Profile","numberOfBytes":"224","members":[{"astId":2617,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"id","offset":0,"slot":"0","type":"t_bytes32"},{"astId":2619,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"nonce","offset":0,"slot":"1","type":"t_uint256"},{"astId":2621,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"name","offset":0,"slot":"2","type":"t_string_storage"},{"astId":2624,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"metadata","offset":0,"slot":"3","type":"t_struct(Metadata)3098_storage"},{"astId":2626,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"owner","offset":0,"slot":"5","type":"t_address"},{"astId":2628,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"anchor","offset":0,"slot":"6","type":"t_address"}]},"t_struct(RoleData)52384_storage":{"encoding":"inplace","label":"struct AccessControlUpgradeable.RoleData","numberOfBytes":"64","members":[{"astId":52381,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"members","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":52383,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"adminRole","offset":0,"slot":"1","type":"t_bytes32"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","id":2296,"exportedSymbols":{"AccessControlUpgradeable":[52697],"AddressUpgradeable":[53645],"Anchor":[1492],"ContextUpgradeable":[53696],"ERC165Upgradeable":[53970],"ERC20":[4491],"Errors":[3089],"IAccessControlUpgradeable":[52770],"IERC165Upgradeable":[53982],"IRegistry":[2802],"Initializable":[53152],"MathUpgradeable":[54848],"Metadata":[3098],"Native":[3106],"Registry":[2295],"SafeTransferLib":[4649],"SignedMathUpgradeable":[54953],"StringsUpgradeable":[53925],"Transfer":[3317]},"nodeType":"SourceUnit","src":"42:21126:2","nodes":[{"id":1494,"nodeType":"PragmaDirective","src":"42:23:2","nodes":[],"literals":["solidity","0.8",".19"]},{"id":1495,"nodeType":"ImportDirective","src":"89:90:2","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":52698,"symbolAliases":[],"unitAlias":""},{"id":1496,"nodeType":"ImportDirective","src":"180:84:2","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":53153,"symbolAliases":[],"unitAlias":""},{"id":1498,"nodeType":"ImportDirective","src":"265:50:2","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/tokens/ERC20.sol","file":"solady/src/tokens/ERC20.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":4492,"symbolAliases":[{"foreign":{"id":1497,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4491,"src":"273:5:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1499,"nodeType":"ImportDirective","src":"330:36:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"./interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":2803,"symbolAliases":[],"unitAlias":""},{"id":1501,"nodeType":"ImportDirective","src":"389:36:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Anchor.sol","file":"./Anchor.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":1493,"symbolAliases":[{"foreign":{"id":1500,"name":"Anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1492,"src":"397:6:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1503,"nodeType":"ImportDirective","src":"426:46:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Errors.sol","file":"./libraries/Errors.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3090,"symbolAliases":[{"foreign":{"id":1502,"name":"Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3089,"src":"434:6:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1505,"nodeType":"ImportDirective","src":"473:50:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"./libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":1504,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"481:8:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1506,"nodeType":"ImportDirective","src":"524:32:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"./libraries/Native.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3107,"symbolAliases":[],"unitAlias":""},{"id":1507,"nodeType":"ImportDirective","src":"557:34:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Transfer.sol","file":"./libraries/Transfer.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3318,"symbolAliases":[],"unitAlias":""},{"id":2295,"nodeType":"ContractDefinition","src":"5237:15930:2","nodes":[{"id":1525,"nodeType":"VariableDeclaration","src":"5544:52:2","nodes":[],"constant":false,"documentation":{"id":1521,"nodeType":"StructuredDocumentation","src":"5447:92:2","text":"@notice This maps the anchor address to the profile ID\n @dev anchor -> Profile.id"},"functionSelector":"4756487f","mutability":"mutable","name":"anchorToProfileId","nameLocation":"5579:17:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"},"typeName":{"id":1524,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1522,"name":"address","nodeType":"ElementaryTypeName","src":"5552:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"5544:27:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":1523,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5563:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},"visibility":"public"},{"id":1531,"nodeType":"VariableDeclaration","src":"5702:47:2","nodes":[],"constant":false,"documentation":{"id":1526,"nodeType":"StructuredDocumentation","src":"5603:94:2","text":"@notice This maps the profile ID to the profile details\n @dev Profile.id -> Profile"},"functionSelector":"ee888196","mutability":"mutable","name":"profilesById","nameLocation":"5737:12:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile)"},"typeName":{"id":1530,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1527,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5710:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"5702:27:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":1529,"nodeType":"UserDefinedTypeName","pathNode":{"id":1528,"name":"Profile","nameLocations":["5721:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"5721:7:2"},"referencedDeclaration":2629,"src":"5721:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}}},"visibility":"public"},{"id":1536,"nodeType":"VariableDeclaration","src":"5859:58:2","nodes":[],"constant":false,"documentation":{"id":1532,"nodeType":"StructuredDocumentation","src":"5756:98:2","text":"@notice This maps the profile ID to the pending owner\n @dev Profile.id -> pending owner"},"functionSelector":"50d005e0","mutability":"mutable","name":"profileIdToPendingOwner","nameLocation":"5894:23:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"},"typeName":{"id":1535,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1533,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5867:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"5859:27:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":1534,"name":"address","nodeType":"ElementaryTypeName","src":"5878:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"public"},{"id":1542,"nodeType":"VariableDeclaration","src":"5974:60:2","nodes":[],"constant":true,"documentation":{"id":1537,"nodeType":"StructuredDocumentation","src":"5924:45:2","text":"@notice Allo Owner Role for fund recovery"},"functionSelector":"cfda7e0a","mutability":"constant","name":"ALLO_OWNER","nameLocation":"5998:10:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1538,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5974:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"414c4c4f5f4f574e4552","id":1540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6021:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747","typeString":"literal_string \"ALLO_OWNER\""},"value":"ALLO_OWNER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747","typeString":"literal_string \"ALLO_OWNER\""}],"id":1539,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6011:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6011:23:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":1553,"nodeType":"ModifierDefinition","src":"6360:108:2","nodes":[],"body":{"id":1552,"nodeType":"Block","src":"6406:62:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1548,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1545,"src":"6439:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1547,"name":"_checkOnlyProfileOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2071,"src":"6416:22:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$__$","typeString":"function (bytes32) view"}},"id":1549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6416:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1550,"nodeType":"ExpressionStatement","src":"6416:34:2"},{"id":1551,"nodeType":"PlaceholderStatement","src":"6460:1:2"}]},"documentation":{"id":1543,"nodeType":"StructuredDocumentation","src":"6177:178:2","text":"@notice Checks if the caller is the profile owner\n @dev Reverts `UNAUTHORIZED()` if the caller is not the profile owner\n @param _profileId The ID of the profile"},"name":"onlyProfileOwner","nameLocation":"6369:16:2","parameters":{"id":1546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1545,"mutability":"mutable","name":"_profileId","nameLocation":"6394:10:2","nodeType":"VariableDeclaration","scope":1553,"src":"6386:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1544,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6386:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6385:20:2"},"virtual":false,"visibility":"internal"},{"id":1578,"nodeType":"FunctionDefinition","src":"6841:257:2","nodes":[],"body":{"id":1577,"nodeType":"Block","src":"6903:195:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1562,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"6968:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6986:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1564,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6978:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1563,"name":"address","nodeType":"ElementaryTypeName","src":"6978:7:2","typeDescriptions":{}}},"id":1566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6978:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6968:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1571,"nodeType":"IfStatement","src":"6964:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1568,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"6997:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6997:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1570,"nodeType":"RevertStatement","src":"6990:21:2"}},{"expression":{"arguments":[{"id":1573,"name":"ALLO_OWNER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1542,"src":"7072:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1574,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"7084:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1572,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52660,"src":"7061:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7061:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1576,"nodeType":"ExpressionStatement","src":"7061:30:2"}]},"documentation":{"id":1554,"nodeType":"StructuredDocumentation","src":"6608:228:2","text":"@notice Initializes the contract after an upgrade\n @dev During upgrade -> a higher version should be passed to reinitializer. Reverts if the '_owner' is the 'address(0)'\n @param _owner The owner of the contract"},"functionSelector":"c4d66de8","implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"31","id":1559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6900:1:2","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"id":1560,"kind":"modifierInvocation","modifierName":{"id":1558,"name":"reinitializer","nameLocations":["6886:13:2"],"nodeType":"IdentifierPath","referencedDeclaration":53087,"src":"6886:13:2"},"nodeType":"ModifierInvocation","src":"6886:16:2"}],"name":"initialize","nameLocation":"6850:10:2","parameters":{"id":1557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1556,"mutability":"mutable","name":"_owner","nameLocation":"6869:6:2","nodeType":"VariableDeclaration","scope":1578,"src":"6861:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1555,"name":"address","nodeType":"ElementaryTypeName","src":"6861:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6860:16:2"},"returnParameters":{"id":1561,"nodeType":"ParameterList","parameters":[],"src":"6903:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1592,"nodeType":"FunctionDefinition","src":"7472:131:2","nodes":[],"body":{"id":1591,"nodeType":"Block","src":"7555:48:2","nodes":[],"statements":[{"expression":{"baseExpression":{"id":1587,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"7572:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1589,"indexExpression":{"id":1588,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1581,"src":"7585:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7572:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"functionReturnParameters":1586,"id":1590,"nodeType":"Return","src":"7565:31:2"}]},"baseFunctions":[2685],"documentation":{"id":1579,"nodeType":"StructuredDocumentation","src":"7240:227:2","text":"@notice Retrieve profile by profileId\n @dev Used when you have the 'profileId' and want to retrieve the profile\n @param _profileId The ID of the profile\n @return The Profile details for the `_profileId`"},"functionSelector":"0114cf0a","implemented":true,"kind":"function","modifiers":[],"name":"getProfileById","nameLocation":"7481:14:2","parameters":{"id":1582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1581,"mutability":"mutable","name":"_profileId","nameLocation":"7504:10:2","nodeType":"VariableDeclaration","scope":1592,"src":"7496:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1580,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7496:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7495:20:2"},"returnParameters":{"id":1586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1585,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1592,"src":"7539:14:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1584,"nodeType":"UserDefinedTypeName","pathNode":{"id":1583,"name":"Profile","nameLocations":["7539:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"7539:7:2"},"referencedDeclaration":2629,"src":"7539:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"7538:16:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1612,"nodeType":"FunctionDefinition","src":"7837:187:2","nodes":[],"body":{"id":1611,"nodeType":"Block","src":"7921:103:2","nodes":[],"statements":[{"assignments":[1602],"declarations":[{"constant":false,"id":1602,"mutability":"mutable","name":"profileId","nameLocation":"7939:9:2","nodeType":"VariableDeclaration","scope":1611,"src":"7931:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1601,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7931:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":1606,"initialValue":{"baseExpression":{"id":1603,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"7951:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1605,"indexExpression":{"id":1604,"name":"_anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"src":"7969:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7951:26:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"7931:46:2"},{"expression":{"baseExpression":{"id":1607,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"7994:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1609,"indexExpression":{"id":1608,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1602,"src":"8007:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7994:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"functionReturnParameters":1600,"id":1610,"nodeType":"Return","src":"7987:30:2"}]},"baseFunctions":[2694],"documentation":{"id":1593,"nodeType":"StructuredDocumentation","src":"7609:223:2","text":"@notice Retrieve profile by anchor\n @dev Used when you have the 'anchor' address and want to retrieve the profile\n @param _anchor The anchor of the profile\n @return Profile details for the `_anchor`"},"functionSelector":"dd93da43","implemented":true,"kind":"function","modifiers":[],"name":"getProfileByAnchor","nameLocation":"7846:18:2","parameters":{"id":1596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1595,"mutability":"mutable","name":"_anchor","nameLocation":"7873:7:2","nodeType":"VariableDeclaration","scope":1612,"src":"7865:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1594,"name":"address","nodeType":"ElementaryTypeName","src":"7865:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7864:17:2"},"returnParameters":{"id":1600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1599,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1612,"src":"7905:14:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1598,"nodeType":"UserDefinedTypeName","pathNode":{"id":1597,"name":"Profile","nameLocations":["7905:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"7905:7:2"},"referencedDeclaration":2629,"src":"7905:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"7904:16:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1756,"nodeType":"FunctionDefinition","src":"8781:1901:2","nodes":[],"body":{"id":1755,"nodeType":"Block","src":"8984:1698:2","nodes":[],"statements":[{"assignments":[1631],"declarations":[{"constant":false,"id":1631,"mutability":"mutable","name":"profileId","nameLocation":"9068:9:2","nodeType":"VariableDeclaration","scope":1755,"src":"9060:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1630,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9060:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":1636,"initialValue":{"arguments":[{"id":1633,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1615,"src":"9099:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1634,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9107:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1632,"name":"_generateProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2211,"src":"9080:18:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_address_$returns$_t_bytes32_$","typeString":"function (uint256,address) pure returns (bytes32)"}},"id":1635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9080:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"9060:54:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":1637,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"9173:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1639,"indexExpression":{"id":1638,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9186:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9173:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":1640,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9197:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"9173:30:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":1643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9215:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1642,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9207:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1641,"name":"address","nodeType":"ElementaryTypeName","src":"9207:7:2","typeDescriptions":{}}},"id":1644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9207:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9173:44:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1649,"nodeType":"IfStatement","src":"9169:78:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1646,"name":"NONCE_NOT_AVAILABLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3026,"src":"9226:19:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9226:21:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1648,"nodeType":"RevertStatement","src":"9219:28:2"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1650,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9317:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9335:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1652,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9327:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1651,"name":"address","nodeType":"ElementaryTypeName","src":"9327:7:2","typeDescriptions":{}}},"id":1654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9327:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9317:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1659,"nodeType":"IfStatement","src":"9313:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1656,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"9346:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9346:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1658,"nodeType":"RevertStatement","src":"9339:21:2"}},{"assignments":[1662],"declarations":[{"constant":false,"id":1662,"mutability":"mutable","name":"profile","nameLocation":"9462:7:2","nodeType":"VariableDeclaration","scope":1755,"src":"9447:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1661,"nodeType":"UserDefinedTypeName","pathNode":{"id":1660,"name":"Profile","nameLocations":["9447:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"9447:7:2"},"referencedDeclaration":2629,"src":"9447:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"id":1674,"initialValue":{"arguments":[{"id":1664,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9498:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1665,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1615,"src":"9528:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1666,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1617,"src":"9554:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1667,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1620,"src":"9583:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":1668,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9613:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1670,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9657:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1671,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1617,"src":"9668:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1669,"name":"_generateAnchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2192,"src":"9641:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (bytes32,string memory) returns (address)"}},"id":1672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9641:33:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1663,"name":"Profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2629,"src":"9472:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Profile_$2629_storage_ptr_$","typeString":"type(struct IRegistry.Profile storage pointer)"}},"id":1673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["9494:2:2","9521:5:2","9548:4:2","9573:8:2","9606:5:2","9633:6:2"],"names":["id","nonce","name","metadata","owner","anchor"],"nodeType":"FunctionCall","src":"9472:213:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"nodeType":"VariableDeclarationStatement","src":"9447:238:2"},{"expression":{"id":1679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1675,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"9696:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1677,"indexExpression":{"id":1676,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9709:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9696:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1678,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"9722:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"src":"9696:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":1680,"nodeType":"ExpressionStatement","src":"9696:33:2"},{"expression":{"id":1686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1681,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"9739:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1684,"indexExpression":{"expression":{"id":1682,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"9757:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1683,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9765:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"9757:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9739:33:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1685,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9775:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"9739:45:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1687,"nodeType":"ExpressionStatement","src":"9739:45:2"},{"assignments":[1689],"declarations":[{"constant":false,"id":1689,"mutability":"mutable","name":"memberLength","nameLocation":"9851:12:2","nodeType":"VariableDeclaration","scope":1755,"src":"9843:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1688,"name":"uint256","nodeType":"ElementaryTypeName","src":"9843:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1692,"initialValue":{"expression":{"id":1690,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1625,"src":"9866:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9875:6:2","memberName":"length","nodeType":"MemberAccess","src":"9866:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9843:38:2"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1693,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1689,"src":"9942:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9957:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9942:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1696,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9962:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":1697,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9972:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9976:6:2","memberName":"sender","nodeType":"MemberAccess","src":"9972:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9962:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9942:40:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1705,"nodeType":"IfStatement","src":"9938:92:2","trueBody":{"id":1704,"nodeType":"Block","src":"9984:46:2","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1701,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"10005:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10005:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1703,"nodeType":"RevertStatement","src":"9998:21:2"}]}},{"body":{"id":1737,"nodeType":"Block","src":"10075:367:2","statements":[{"assignments":[1713],"declarations":[{"constant":false,"id":1713,"mutability":"mutable","name":"member","nameLocation":"10097:6:2","nodeType":"VariableDeclaration","scope":1737,"src":"10089:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1712,"name":"address","nodeType":"ElementaryTypeName","src":"10089:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1717,"initialValue":{"baseExpression":{"id":1714,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1625,"src":"10106:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1716,"indexExpression":{"id":1715,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1707,"src":"10115:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10106:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10089:28:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1718,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1713,"src":"10206:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10224:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1720,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10216:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1719,"name":"address","nodeType":"ElementaryTypeName","src":"10216:7:2","typeDescriptions":{}}},"id":1722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10216:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10206:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1727,"nodeType":"IfStatement","src":"10202:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1724,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"10235:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10235:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1726,"nodeType":"RevertStatement","src":"10228:21:2"}},{"expression":{"arguments":[{"id":1729,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"10354:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1730,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1713,"src":"10365:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1728,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52660,"src":"10343:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10343:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1732,"nodeType":"ExpressionStatement","src":"10343:29:2"},{"id":1736,"nodeType":"UncheckedBlock","src":"10386:46:2","statements":[{"expression":{"id":1734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"10414:3:2","subExpression":{"id":1733,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1707,"src":"10416:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1735,"nodeType":"ExpressionStatement","src":"10414:3:2"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1709,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1707,"src":"10056:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1710,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1689,"src":"10060:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10056:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1738,"initializationExpression":{"assignments":[1707],"declarations":[{"constant":false,"id":1707,"mutability":"mutable","name":"i","nameLocation":"10053:1:2","nodeType":"VariableDeclaration","scope":1738,"src":"10045:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1706,"name":"uint256","nodeType":"ElementaryTypeName","src":"10045:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1708,"nodeType":"VariableDeclarationStatement","src":"10045:9:2"},"nodeType":"ForStatement","src":"10040:402:2"},{"eventCall":{"arguments":[{"id":1740,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"10527:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":1741,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10538:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1742,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10546:5:2","memberName":"nonce","nodeType":"MemberAccess","referencedDeclaration":2619,"src":"10538:13:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1743,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10553:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1744,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10561:4:2","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":2621,"src":"10553:12:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":1745,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10567:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1746,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10575:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":2624,"src":"10567:16:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"expression":{"id":1747,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10585:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1748,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10593:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"10585:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":1749,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10600:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1750,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10608:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"10600:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1739,"name":"ProfileCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2645,"src":"10512:14:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_address_$returns$__$","typeString":"function (bytes32,uint256,string memory,struct Metadata memory,address,address)"}},"id":1751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10512:103:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1752,"nodeType":"EmitStatement","src":"10507:108:2"},{"expression":{"id":1753,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"10666:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":1629,"id":1754,"nodeType":"Return","src":"10659:16:2"}]},"baseFunctions":[2742],"documentation":{"id":1613,"nodeType":"StructuredDocumentation","src":"8030:746:2","text":"@notice Creates a new profile\n @dev This will also generate the 'profileId' and 'anchor' address, emits a 'ProfileCreated()' event\n Note: The 'nonce' is used to generate the 'profileId' and should be unique for each profile\n Note: The 'name' and 'profileId' are used to generate the 'anchor' address\n @param _nonce Nonce used to generate profileId. Can be any integer, but should be unique\n for each profile.\n @param _name The name of the profile\n @param _metadata The metadata of the profile\n @param _owner The owner of the profile\n @param _members The members of the profile (can be set only if msg.sender == _owner)\n @return The ID for the created profile"},"functionSelector":"3a92f65f","implemented":true,"kind":"function","modifiers":[],"name":"createProfile","nameLocation":"8790:13:2","parameters":{"id":1626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1615,"mutability":"mutable","name":"_nonce","nameLocation":"8821:6:2","nodeType":"VariableDeclaration","scope":1756,"src":"8813:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1614,"name":"uint256","nodeType":"ElementaryTypeName","src":"8813:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1617,"mutability":"mutable","name":"_name","nameLocation":"8851:5:2","nodeType":"VariableDeclaration","scope":1756,"src":"8837:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1616,"name":"string","nodeType":"ElementaryTypeName","src":"8837:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1620,"mutability":"mutable","name":"_metadata","nameLocation":"8882:9:2","nodeType":"VariableDeclaration","scope":1756,"src":"8866:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":1619,"nodeType":"UserDefinedTypeName","pathNode":{"id":1618,"name":"Metadata","nameLocations":["8866:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"8866:8:2"},"referencedDeclaration":3098,"src":"8866:8:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":1622,"mutability":"mutable","name":"_owner","nameLocation":"8909:6:2","nodeType":"VariableDeclaration","scope":1756,"src":"8901:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1621,"name":"address","nodeType":"ElementaryTypeName","src":"8901:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1625,"mutability":"mutable","name":"_members","nameLocation":"8942:8:2","nodeType":"VariableDeclaration","scope":1756,"src":"8925:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1623,"name":"address","nodeType":"ElementaryTypeName","src":"8925:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1624,"nodeType":"ArrayTypeName","src":"8925:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"8803:153:2"},"returnParameters":{"id":1629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1628,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1756,"src":"8975:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1627,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8975:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8974:9:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1820,"nodeType":"FunctionDefinition","src":"11210:830:2","nodes":[],"body":{"id":1819,"nodeType":"Block","src":"11369:671:2","nodes":[],"statements":[{"expression":{"id":1774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1769,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11420:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":1771,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11445:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1772,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1761,"src":"11457:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1770,"name":"_generateAnchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2192,"src":"11429:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (bytes32,string memory) returns (address)"}},"id":1773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11429:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11420:43:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1775,"nodeType":"ExpressionStatement","src":"11420:43:2"},{"assignments":[1778],"declarations":[{"constant":false,"id":1778,"mutability":"mutable","name":"profile","nameLocation":"11554:7:2","nodeType":"VariableDeclaration","scope":1819,"src":"11538:23:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1777,"nodeType":"UserDefinedTypeName","pathNode":{"id":1776,"name":"Profile","nameLocations":["11538:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"11538:7:2"},"referencedDeclaration":2629,"src":"11538:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"id":1782,"initialValue":{"baseExpression":{"id":1779,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"11564:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1781,"indexExpression":{"id":1780,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11577:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11564:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"nodeType":"VariableDeclarationStatement","src":"11538:50:2"},{"expression":{"id":1787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1783,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1778,"src":"11627:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1785,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11635:4:2","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":2621,"src":"11627:12:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1786,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1761,"src":"11642:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"11627:20:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":1788,"nodeType":"ExpressionStatement","src":"11627:20:2"},{"expression":{"id":1797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1789,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"11687:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1792,"indexExpression":{"expression":{"id":1790,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1778,"src":"11705:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1791,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11713:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"11705:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11687:33:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":1795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11731:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1794,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11723:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":1793,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11723:7:2","typeDescriptions":{}}},"id":1796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11723:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11687:46:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1798,"nodeType":"ExpressionStatement","src":"11687:46:2"},{"expression":{"id":1803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1799,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1778,"src":"11774:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1801,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11782:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"11774:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1802,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11791:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11774:23:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1804,"nodeType":"ExpressionStatement","src":"11774:23:2"},{"expression":{"id":1809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1805,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"11807:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1807,"indexExpression":{"id":1806,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11825:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11807:25:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1808,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11835:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11807:38:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1810,"nodeType":"ExpressionStatement","src":"11807:38:2"},{"eventCall":{"arguments":[{"id":1812,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11950:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1813,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1761,"src":"11962:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1814,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11969:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1811,"name":"ProfileNameUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2654,"src":"11931:18:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (bytes32,string memory,address)"}},"id":1815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11931:45:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1816,"nodeType":"EmitStatement","src":"11926:50:2"},{"expression":{"id":1817,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"12027:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1768,"id":1818,"nodeType":"Return","src":"12020:13:2"}]},"baseFunctions":[2752],"documentation":{"id":1757,"nodeType":"StructuredDocumentation","src":"10688:517:2","text":"@notice Updates the name of the profile and generates new anchor.\n Emits a 'ProfileNameUpdated()' event.\n @dev Use caution when updating your profile name as it will generate a new anchor address. You can always update the name\n back to the original name to get the original anchor address. 'msg.sender' must be the owner of the profile.\n @param _profileId The profileId of the profile\n @param _name The new name of the profile\n @return anchor The new anchor"},"functionSelector":"cf189ff2","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1764,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11320:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1765,"kind":"modifierInvocation","modifierName":{"id":1763,"name":"onlyProfileOwner","nameLocations":["11303:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"11303:16:2"},"nodeType":"ModifierInvocation","src":"11303:28:2"}],"name":"updateProfileName","nameLocation":"11219:17:2","parameters":{"id":1762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1759,"mutability":"mutable","name":"_profileId","nameLocation":"11245:10:2","nodeType":"VariableDeclaration","scope":1820,"src":"11237:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1758,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11237:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1761,"mutability":"mutable","name":"_name","nameLocation":"11271:5:2","nodeType":"VariableDeclaration","scope":1820,"src":"11257:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1760,"name":"string","nodeType":"ElementaryTypeName","src":"11257:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11236:41:2"},"returnParameters":{"id":1768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1767,"mutability":"mutable","name":"anchor","nameLocation":"11357:6:2","nodeType":"VariableDeclaration","scope":1820,"src":"11349:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1766,"name":"address","nodeType":"ElementaryTypeName","src":"11349:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11348:16:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1845,"nodeType":"FunctionDefinition","src":"12309:415:2","nodes":[],"body":{"id":1844,"nodeType":"Block","src":"12445:279:2","nodes":[],"statements":[{"expression":{"id":1837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":1832,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"12553:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1834,"indexExpression":{"id":1833,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1823,"src":"12566:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12553:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":1835,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12578:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":2624,"src":"12553:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1836,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1826,"src":"12589:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"12553:45:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":1838,"nodeType":"ExpressionStatement","src":"12553:45:2"},{"eventCall":{"arguments":[{"id":1840,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1823,"src":"12695:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1841,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1826,"src":"12707:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":1839,"name":"ProfileMetadataUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2662,"src":"12672:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (bytes32,struct Metadata memory)"}},"id":1842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12672:45:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1843,"nodeType":"EmitStatement","src":"12667:50:2"}]},"baseFunctions":[2761],"documentation":{"id":1821,"nodeType":"StructuredDocumentation","src":"12046:258:2","text":"@notice Update the 'Metadata' of the profile. Emits a 'ProfileMetadataUpdated()' event.\n @dev 'msg.sender' must be the owner of the profile.\n @param _profileId The ID of the profile\n @param _metadata The new 'Metadata' of the profile"},"functionSelector":"ac402839","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1829,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1823,"src":"12429:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1830,"kind":"modifierInvocation","modifierName":{"id":1828,"name":"onlyProfileOwner","nameLocations":["12412:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"12412:16:2"},"nodeType":"ModifierInvocation","src":"12412:28:2"}],"name":"updateProfileMetadata","nameLocation":"12318:21:2","parameters":{"id":1827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1823,"mutability":"mutable","name":"_profileId","nameLocation":"12348:10:2","nodeType":"VariableDeclaration","scope":1845,"src":"12340:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1822,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12340:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1826,"mutability":"mutable","name":"_metadata","nameLocation":"12376:9:2","nodeType":"VariableDeclaration","scope":1845,"src":"12360:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":1825,"nodeType":"UserDefinedTypeName","pathNode":{"id":1824,"name":"Metadata","nameLocations":["12360:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12360:8:2"},"referencedDeclaration":3098,"src":"12360:8:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"12339:47:2"},"returnParameters":{"id":1831,"nodeType":"ParameterList","parameters":[],"src":"12445:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1866,"nodeType":"FunctionDefinition","src":"12992:208:2","nodes":[],"body":{"id":1865,"nodeType":"Block","src":"13093:107:2","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":1856,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1848,"src":"13128:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1857,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1850,"src":"13140:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1855,"name":"_isOwnerOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2229,"src":"13110:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13110:39:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":1860,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1848,"src":"13172:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1861,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1850,"src":"13184:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1859,"name":"_isMemberOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2245,"src":"13153:18:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13153:40:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13110:83:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1854,"id":1864,"nodeType":"Return","src":"13103:90:2"}]},"baseFunctions":[2704],"documentation":{"id":1846,"nodeType":"StructuredDocumentation","src":"12730:257:2","text":"@notice Checks if the address is an owner or member of the profile\n @param _profileId The ID of the profile\n @param _account The address to check\n @return 'true' if the address is an owner or member of the profile, otherwise 'false'"},"functionSelector":"5e8a7915","implemented":true,"kind":"function","modifiers":[],"name":"isOwnerOrMemberOfProfile","nameLocation":"13001:24:2","parameters":{"id":1851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1848,"mutability":"mutable","name":"_profileId","nameLocation":"13034:10:2","nodeType":"VariableDeclaration","scope":1866,"src":"13026:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1847,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13026:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1850,"mutability":"mutable","name":"_account","nameLocation":"13054:8:2","nodeType":"VariableDeclaration","scope":1866,"src":"13046:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1849,"name":"address","nodeType":"ElementaryTypeName","src":"13046:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13025:38:2"},"returnParameters":{"id":1854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1853,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1866,"src":"13087:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1852,"name":"bool","nodeType":"ElementaryTypeName","src":"13087:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13086:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1882,"nodeType":"FunctionDefinition","src":"13452:152:2","nodes":[],"body":{"id":1881,"nodeType":"Block","src":"13543:61:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1877,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1869,"src":"13578:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1878,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1871,"src":"13590:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1876,"name":"_isOwnerOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2229,"src":"13560:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13560:37:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1875,"id":1880,"nodeType":"Return","src":"13553:44:2"}]},"baseFunctions":[2714],"documentation":{"id":1867,"nodeType":"StructuredDocumentation","src":"13206:241:2","text":"@notice Checks if the given address is an owner of the profile\n @param _profileId The ID of the profile\n @param _owner The address to check\n @return 'true' if the address is an owner of the profile, otherwise 'false'"},"functionSelector":"39b86b8c","implemented":true,"kind":"function","modifiers":[],"name":"isOwnerOfProfile","nameLocation":"13461:16:2","parameters":{"id":1872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1869,"mutability":"mutable","name":"_profileId","nameLocation":"13486:10:2","nodeType":"VariableDeclaration","scope":1882,"src":"13478:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1868,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13478:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1871,"mutability":"mutable","name":"_owner","nameLocation":"13506:6:2","nodeType":"VariableDeclaration","scope":1882,"src":"13498:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1870,"name":"address","nodeType":"ElementaryTypeName","src":"13498:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13477:36:2"},"returnParameters":{"id":1875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1874,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1882,"src":"13537:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1873,"name":"bool","nodeType":"ElementaryTypeName","src":"13537:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13536:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1898,"nodeType":"FunctionDefinition","src":"13857:156:2","nodes":[],"body":{"id":1897,"nodeType":"Block","src":"13950:63:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1893,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1885,"src":"13986:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1894,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1887,"src":"13998:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1892,"name":"_isMemberOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2245,"src":"13967:18:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13967:39:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1891,"id":1896,"nodeType":"Return","src":"13960:46:2"}]},"baseFunctions":[2724],"documentation":{"id":1883,"nodeType":"StructuredDocumentation","src":"13610:242:2","text":"@notice Checks if the given address is a member of the profile\n @param _profileId The ID of the profile\n @param _member The address to check\n @return 'true' if the address is a member of the profile, otherwise 'false'"},"functionSelector":"0ec1fbac","implemented":true,"kind":"function","modifiers":[],"name":"isMemberOfProfile","nameLocation":"13866:17:2","parameters":{"id":1888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1885,"mutability":"mutable","name":"_profileId","nameLocation":"13892:10:2","nodeType":"VariableDeclaration","scope":1898,"src":"13884:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1884,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13884:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1887,"mutability":"mutable","name":"_member","nameLocation":"13912:7:2","nodeType":"VariableDeclaration","scope":1898,"src":"13904:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1886,"name":"address","nodeType":"ElementaryTypeName","src":"13904:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13883:37:2"},"returnParameters":{"id":1891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1890,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1898,"src":"13944:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1889,"name":"bool","nodeType":"ElementaryTypeName","src":"13944:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13943:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1921,"nodeType":"FunctionDefinition","src":"14336:382:2","nodes":[],"body":{"id":1920,"nodeType":"Block","src":"14472:246:2","nodes":[],"statements":[{"expression":{"id":1913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1909,"name":"profileIdToPendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1536,"src":"14530:23:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":1911,"indexExpression":{"id":1910,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1901,"src":"14554:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14530:35:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1912,"name":"_pendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1903,"src":"14568:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14530:51:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1914,"nodeType":"ExpressionStatement","src":"14530:51:2"},{"eventCall":{"arguments":[{"id":1916,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1901,"src":"14685:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1917,"name":"_pendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1903,"src":"14697:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1915,"name":"ProfilePendingOwnerUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2676,"src":"14658:26:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14658:53:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1919,"nodeType":"EmitStatement","src":"14653:58:2"}]},"baseFunctions":[2769],"documentation":{"id":1899,"nodeType":"StructuredDocumentation","src":"14019:312:2","text":"@notice Updates the pending owner of the profile. Emits a 'ProfilePendingOwnership()' event.\n @dev 'msg.sender' must be the owner of the profile. [1]*This is step one of two when transferring ownership.\n @param _profileId The ID of the profile\n @param _pendingOwner The new pending owner"},"functionSelector":"3b66dacd","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1906,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1901,"src":"14456:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1907,"kind":"modifierInvocation","modifierName":{"id":1905,"name":"onlyProfileOwner","nameLocations":["14439:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"14439:16:2"},"nodeType":"ModifierInvocation","src":"14439:28:2"}],"name":"updateProfilePendingOwner","nameLocation":"14345:25:2","parameters":{"id":1904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1901,"mutability":"mutable","name":"_profileId","nameLocation":"14379:10:2","nodeType":"VariableDeclaration","scope":1921,"src":"14371:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1900,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14371:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1903,"mutability":"mutable","name":"_pendingOwner","nameLocation":"14399:13:2","nodeType":"VariableDeclaration","scope":1921,"src":"14391:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1902,"name":"address","nodeType":"ElementaryTypeName","src":"14391:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14370:43:2"},"returnParameters":{"id":1908,"nodeType":"ParameterList","parameters":[],"src":"14472:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1966,"nodeType":"FunctionDefinition","src":"15016:745:2","nodes":[],"body":{"id":1965,"nodeType":"Block","src":"15077:684:2","nodes":[],"statements":[{"assignments":[1929],"declarations":[{"constant":false,"id":1929,"mutability":"mutable","name":"profile","nameLocation":"15147:7:2","nodeType":"VariableDeclaration","scope":1965,"src":"15131:23:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1928,"nodeType":"UserDefinedTypeName","pathNode":{"id":1927,"name":"Profile","nameLocations":["15131:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"15131:7:2"},"referencedDeclaration":2629,"src":"15131:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"id":1933,"initialValue":{"baseExpression":{"id":1930,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"15157:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1932,"indexExpression":{"id":1931,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15170:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15157:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15131:50:2"},{"assignments":[1935],"declarations":[{"constant":false,"id":1935,"mutability":"mutable","name":"newOwner","nameLocation":"15290:8:2","nodeType":"VariableDeclaration","scope":1965,"src":"15282:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1934,"name":"address","nodeType":"ElementaryTypeName","src":"15282:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1939,"initialValue":{"baseExpression":{"id":1936,"name":"profileIdToPendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1536,"src":"15301:23:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":1938,"indexExpression":{"id":1937,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15325:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15301:35:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"15282:54:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1940,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15414:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15418:6:2","memberName":"sender","nodeType":"MemberAccess","src":"15414:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":1942,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1935,"src":"15428:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15414:22:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1947,"nodeType":"IfStatement","src":"15410:54:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1944,"name":"NOT_PENDING_OWNER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3029,"src":"15445:17:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15445:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1946,"nodeType":"RevertStatement","src":"15438:26:2"}},{"expression":{"id":1952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1948,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1929,"src":"15550:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1950,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15558:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"15550:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1951,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1935,"src":"15566:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15550:24:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1953,"nodeType":"ExpressionStatement","src":"15550:24:2"},{"expression":{"id":1957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"15584:42:2","subExpression":{"baseExpression":{"id":1954,"name":"profileIdToPendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1536,"src":"15591:23:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":1956,"indexExpression":{"id":1955,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15615:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15591:35:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1958,"nodeType":"ExpressionStatement","src":"15584:42:2"},{"eventCall":{"arguments":[{"id":1960,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15728:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":1961,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1929,"src":"15740:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1962,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15748:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"15740:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1959,"name":"ProfileOwnerUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2669,"src":"15708:19:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15708:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1964,"nodeType":"EmitStatement","src":"15703:51:2"}]},"baseFunctions":[2775],"documentation":{"id":1922,"nodeType":"StructuredDocumentation","src":"14724:287:2","text":"@notice Transfers the ownership of the profile to the pending owner and Emits a 'ProfileOwnerUdpated()' event.\n @dev 'msg.sender' must be the pending owner of the profile. [2]*This is step two of two when transferring ownership.\n @param _profileId The ID of the profile"},"functionSelector":"2497f3c6","implemented":true,"kind":"function","modifiers":[],"name":"acceptProfileOwnership","nameLocation":"15025:22:2","parameters":{"id":1925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1924,"mutability":"mutable","name":"_profileId","nameLocation":"15056:10:2","nodeType":"VariableDeclaration","scope":1966,"src":"15048:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1923,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15048:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15047:20:2"},"returnParameters":{"id":1926,"nodeType":"ParameterList","parameters":[],"src":"15077:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2017,"nodeType":"FunctionDefinition","src":"15962:658:2","nodes":[],"body":{"id":2016,"nodeType":"Block","src":"16067:553:2","nodes":[],"statements":[{"assignments":[1979],"declarations":[{"constant":false,"id":1979,"mutability":"mutable","name":"memberLength","nameLocation":"16085:12:2","nodeType":"VariableDeclaration","scope":2016,"src":"16077:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1978,"name":"uint256","nodeType":"ElementaryTypeName","src":"16077:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1982,"initialValue":{"expression":{"id":1980,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1972,"src":"16100:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16109:6:2","memberName":"length","nodeType":"MemberAccess","src":"16100:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16077:38:2"},{"body":{"id":2014,"nodeType":"Block","src":"16246:368:2","statements":[{"assignments":[1990],"declarations":[{"constant":false,"id":1990,"mutability":"mutable","name":"member","nameLocation":"16268:6:2","nodeType":"VariableDeclaration","scope":2014,"src":"16260:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1989,"name":"address","nodeType":"ElementaryTypeName","src":"16260:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1994,"initialValue":{"baseExpression":{"id":1991,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1972,"src":"16277:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1993,"indexExpression":{"id":1992,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1984,"src":"16286:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16277:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16260:28:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1995,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1990,"src":"16377:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16395:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16387:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1996,"name":"address","nodeType":"ElementaryTypeName","src":"16387:7:2","typeDescriptions":{}}},"id":1999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16387:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16377:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2004,"nodeType":"IfStatement","src":"16373:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2001,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"16406:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16406:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2003,"nodeType":"RevertStatement","src":"16399:21:2"}},{"expression":{"arguments":[{"id":2006,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1969,"src":"16525:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2007,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1990,"src":"16537:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2005,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52660,"src":"16514:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":2008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16514:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2009,"nodeType":"ExpressionStatement","src":"16514:30:2"},{"id":2013,"nodeType":"UncheckedBlock","src":"16558:46:2","statements":[{"expression":{"id":2011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"16586:3:2","subExpression":{"id":2010,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1984,"src":"16588:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2012,"nodeType":"ExpressionStatement","src":"16586:3:2"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1986,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1984,"src":"16227:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1987,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1979,"src":"16231:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16227:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2015,"initializationExpression":{"assignments":[1984],"declarations":[{"constant":false,"id":1984,"mutability":"mutable","name":"i","nameLocation":"16224:1:2","nodeType":"VariableDeclaration","scope":2015,"src":"16216:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1983,"name":"uint256","nodeType":"ElementaryTypeName","src":"16216:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1985,"nodeType":"VariableDeclarationStatement","src":"16216:9:2"},"nodeType":"ForStatement","src":"16211:403:2"}]},"baseFunctions":[2784],"documentation":{"id":1967,"nodeType":"StructuredDocumentation","src":"15767:190:2","text":"@notice Adds members to the profile\n @dev 'msg.sender' must be the owner of the profile.\n @param _profileId The ID of the profile\n @param _members The members to add"},"functionSelector":"5063f361","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1975,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1969,"src":"16055:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1976,"kind":"modifierInvocation","modifierName":{"id":1974,"name":"onlyProfileOwner","nameLocations":["16038:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"16038:16:2"},"nodeType":"ModifierInvocation","src":"16038:28:2"}],"name":"addMembers","nameLocation":"15971:10:2","parameters":{"id":1973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1969,"mutability":"mutable","name":"_profileId","nameLocation":"15990:10:2","nodeType":"VariableDeclaration","scope":2017,"src":"15982:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1968,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15982:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1972,"mutability":"mutable","name":"_members","nameLocation":"16019:8:2","nodeType":"VariableDeclaration","scope":2017,"src":"16002:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1970,"name":"address","nodeType":"ElementaryTypeName","src":"16002:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1971,"nodeType":"ArrayTypeName","src":"16002:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"15981:47:2"},"returnParameters":{"id":1977,"nodeType":"ParameterList","parameters":[],"src":"16067:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2054,"nodeType":"FunctionDefinition","src":"16837:500:2","nodes":[],"body":{"id":2053,"nodeType":"Block","src":"16945:392:2","nodes":[],"statements":[{"assignments":[2030],"declarations":[{"constant":false,"id":2030,"mutability":"mutable","name":"memberLength","nameLocation":"16963:12:2","nodeType":"VariableDeclaration","scope":2053,"src":"16955:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2029,"name":"uint256","nodeType":"ElementaryTypeName","src":"16955:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2033,"initialValue":{"expression":{"id":2031,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2023,"src":"16978:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":2032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16987:6:2","memberName":"length","nodeType":"MemberAccess","src":"16978:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16955:38:2"},{"body":{"id":2051,"nodeType":"Block","src":"17129:202:2","statements":[{"expression":{"arguments":[{"id":2041,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2020,"src":"17237:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":2042,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2023,"src":"17249:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":2044,"indexExpression":{"id":2043,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2035,"src":"17258:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17249:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2040,"name":"_revokeRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52691,"src":"17225:11:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":2045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17225:36:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2046,"nodeType":"ExpressionStatement","src":"17225:36:2"},{"id":2050,"nodeType":"UncheckedBlock","src":"17275:46:2","statements":[{"expression":{"id":2048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"17303:3:2","subExpression":{"id":2047,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2035,"src":"17305:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2049,"nodeType":"ExpressionStatement","src":"17303:3:2"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2037,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2035,"src":"17110:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":2038,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2030,"src":"17114:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17110:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2052,"initializationExpression":{"assignments":[2035],"declarations":[{"constant":false,"id":2035,"mutability":"mutable","name":"i","nameLocation":"17107:1:2","nodeType":"VariableDeclaration","scope":2052,"src":"17099:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2034,"name":"uint256","nodeType":"ElementaryTypeName","src":"17099:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2036,"nodeType":"VariableDeclarationStatement","src":"17099:9:2"},"nodeType":"ForStatement","src":"17094:237:2"}]},"baseFunctions":[2793],"documentation":{"id":2018,"nodeType":"StructuredDocumentation","src":"16626:206:2","text":"@notice Removes members from the profile\n @dev 'msg.sender' must be the pending owner of the profile.\n @param _profileId The ID of the profile\n @param _members The members to remove"},"functionSelector":"e0cf1e4c","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":2026,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2020,"src":"16933:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":2027,"kind":"modifierInvocation","modifierName":{"id":2025,"name":"onlyProfileOwner","nameLocations":["16916:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"16916:16:2"},"nodeType":"ModifierInvocation","src":"16916:28:2"}],"name":"removeMembers","nameLocation":"16846:13:2","parameters":{"id":2024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2020,"mutability":"mutable","name":"_profileId","nameLocation":"16868:10:2","nodeType":"VariableDeclaration","scope":2054,"src":"16860:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2019,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16860:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2023,"mutability":"mutable","name":"_members","nameLocation":"16897:8:2","nodeType":"VariableDeclaration","scope":2054,"src":"16880:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2021,"name":"address","nodeType":"ElementaryTypeName","src":"16880:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2022,"nodeType":"ArrayTypeName","src":"16880:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"16859:47:2"},"returnParameters":{"id":2028,"nodeType":"ParameterList","parameters":[],"src":"16945:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2071,"nodeType":"FunctionDefinition","src":"17659:152:2","nodes":[],"body":{"id":2070,"nodeType":"Block","src":"17725:86:2","nodes":[],"statements":[{"condition":{"id":2065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17739:42:2","subExpression":{"arguments":[{"id":2061,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2057,"src":"17758:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":2062,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17770:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17774:6:2","memberName":"sender","nodeType":"MemberAccess","src":"17770:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2060,"name":"_isOwnerOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2229,"src":"17740:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":2064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17740:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2069,"nodeType":"IfStatement","src":"17735:69:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2066,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"17790:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17790:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2068,"nodeType":"RevertStatement","src":"17783:21:2"}}]},"documentation":{"id":2055,"nodeType":"StructuredDocumentation","src":"17479:175:2","text":"@notice Checks if the caller is the owner of the profile\n @dev Internal function used by modifier 'onlyProfileOwner'\n @param _profileId The ID of the profile"},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnlyProfileOwner","nameLocation":"17668:22:2","parameters":{"id":2058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2057,"mutability":"mutable","name":"_profileId","nameLocation":"17699:10:2","nodeType":"VariableDeclaration","scope":2071,"src":"17691:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2056,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17691:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17690:20:2"},"returnParameters":{"id":2059,"nodeType":"ParameterList","parameters":[],"src":"17725:0:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":2192,"nodeType":"FunctionDefinition","src":"18166:969:2","nodes":[],"body":{"id":2191,"nodeType":"Block","src":"18266:869:2","nodes":[],"statements":[{"assignments":[2082],"declarations":[{"constant":false,"id":2082,"mutability":"mutable","name":"encodedData","nameLocation":"18289:11:2","nodeType":"VariableDeclaration","scope":2191,"src":"18276:24:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2081,"name":"bytes","nodeType":"ElementaryTypeName","src":"18276:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2088,"initialValue":{"arguments":[{"id":2085,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"18314:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2086,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2076,"src":"18326:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2083,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18303:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18307:6:2","memberName":"encode","nodeType":"MemberAccess","src":"18303:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18303:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18276:56:2"},{"assignments":[2090],"declarations":[{"constant":false,"id":2090,"mutability":"mutable","name":"encodedConstructorArgs","nameLocation":"18355:22:2","nodeType":"VariableDeclaration","scope":2191,"src":"18342:35:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2089,"name":"bytes","nodeType":"ElementaryTypeName","src":"18342:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2099,"initialValue":{"arguments":[{"id":2093,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"18391:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":2096,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18411:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2095,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18403:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2094,"name":"address","nodeType":"ElementaryTypeName","src":"18403:7:2","typeDescriptions":{}}},"id":2097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18403:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2091,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18380:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18384:6:2","memberName":"encode","nodeType":"MemberAccess","src":"18380:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18380:37:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18342:75:2"},{"assignments":[2101],"declarations":[{"constant":false,"id":2101,"mutability":"mutable","name":"bytecode","nameLocation":"18441:8:2","nodeType":"VariableDeclaration","scope":2191,"src":"18428:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2100,"name":"bytes","nodeType":"ElementaryTypeName","src":"18428:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2110,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":2105,"name":"Anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1492,"src":"18474:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Anchor_$1492_$","typeString":"type(contract Anchor)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_Anchor_$1492_$","typeString":"type(contract Anchor)"}],"id":2104,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"18469:4:2","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":2106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18469:12:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_Anchor_$1492","typeString":"type(contract Anchor)"}},"id":2107,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18482:12:2","memberName":"creationCode","nodeType":"MemberAccess","src":"18469:25:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2108,"name":"encodedConstructorArgs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2090,"src":"18496:22:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2102,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18452:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18456:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"18452:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18452:67:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18428:91:2"},{"assignments":[2112],"declarations":[{"constant":false,"id":2112,"mutability":"mutable","name":"salt","nameLocation":"18538:4:2","nodeType":"VariableDeclaration","scope":2191,"src":"18530:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2111,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18530:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2116,"initialValue":{"arguments":[{"id":2114,"name":"encodedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2082,"src":"18555:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2113,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18545:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18545:22:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"18530:37:2"},{"assignments":[2118],"declarations":[{"constant":false,"id":2118,"mutability":"mutable","name":"preComputedAddress","nameLocation":"18586:18:2","nodeType":"VariableDeclaration","scope":2191,"src":"18578:26:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2117,"name":"address","nodeType":"ElementaryTypeName","src":"18578:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":2145,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786666","id":2130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18678:4:2","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}],"id":2129,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18671:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":2128,"name":"bytes1","nodeType":"ElementaryTypeName","src":"18671:6:2","typeDescriptions":{}}},"id":2131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18671:12:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"id":2134,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18693:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2133,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18685:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2132,"name":"address","nodeType":"ElementaryTypeName","src":"18685:7:2","typeDescriptions":{}}},"id":2135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18685:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2136,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2112,"src":"18700:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":2138,"name":"bytecode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2101,"src":"18716:8:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2137,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18706:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18706:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":2126,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18654:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2127,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18658:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"18654:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18654:72:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2125,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18644:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18644:83:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18636:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2123,"name":"uint256","nodeType":"ElementaryTypeName","src":"18636:7:2","typeDescriptions":{}}},"id":2142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18636:92:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18628:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":2121,"name":"uint160","nodeType":"ElementaryTypeName","src":"18628:7:2","typeDescriptions":{}}},"id":2143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18628:101:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":2120,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18607:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2119,"name":"address","nodeType":"ElementaryTypeName","src":"18607:7:2","typeDescriptions":{}}},"id":2144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18607:132:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"18578:161:2"},{"clauses":[{"block":{"id":2168,"nodeType":"Block","src":"18918:50:2","statements":[{"expression":{"id":2166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2161,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2079,"src":"18932:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":2164,"name":"_anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2159,"src":"18949:7:2","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}],"id":2163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18941:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2162,"name":"address","nodeType":"ElementaryTypeName","src":"18941:7:2","typeDescriptions":{}}},"id":2165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18941:16:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18932:25:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2167,"nodeType":"ExpressionStatement","src":"18932:25:2"}]},"errorName":"","id":2169,"nodeType":"TryCatchClause","parameters":{"id":2160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2159,"mutability":"mutable","name":"_anchor","nameLocation":"18909:7:2","nodeType":"VariableDeclaration","scope":2169,"src":"18902:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"},"typeName":{"id":2158,"nodeType":"UserDefinedTypeName","pathNode":{"id":2157,"name":"Anchor","nameLocations":["18902:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":1492,"src":"18902:6:2"},"referencedDeclaration":1492,"src":"18902:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}},"visibility":"internal"}],"src":"18901:16:2"},"src":"18893:75:2"},{"block":{"id":2188,"nodeType":"Block","src":"18975:154:2","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"id":2173,"name":"preComputedAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2118,"src":"19008:18:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19000:8:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":2171,"name":"address","nodeType":"ElementaryTypeName","src":"19000:8:2","stateMutability":"payable","typeDescriptions":{}}},"id":2174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19000:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":2170,"name":"Anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1492,"src":"18993:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Anchor_$1492_$","typeString":"type(contract Anchor)"}},"id":2175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18993:35:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}},"id":2176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19029:9:2","memberName":"profileId","nodeType":"MemberAccess","referencedDeclaration":1408,"src":"18993:45:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":2177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18993:47:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":2178,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"19044:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"18993:61:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2183,"nodeType":"IfStatement","src":"18989:88:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2180,"name":"ANCHOR_ERROR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3032,"src":"19063:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19063:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2182,"nodeType":"RevertStatement","src":"19056:21:2"}},{"expression":{"id":2186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2184,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2079,"src":"19091:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":2185,"name":"preComputedAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2118,"src":"19100:18:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19091:27:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2187,"nodeType":"ExpressionStatement","src":"19091:27:2"}]},"errorName":"","id":2189,"nodeType":"TryCatchClause","src":"18969:160:2"}],"externalCall":{"arguments":[{"id":2151,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"18866:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":2154,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18886:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2153,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18878:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2152,"name":"address","nodeType":"ElementaryTypeName","src":"18878:7:2","typeDescriptions":{}}},"id":2155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18878:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"18843:10:2","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_bytes32_$_t_address_$returns$_t_contract$_Anchor_$1492_$","typeString":"function (bytes32,address) returns (contract Anchor)"},"typeName":{"id":2147,"nodeType":"UserDefinedTypeName","pathNode":{"id":2146,"name":"Anchor","nameLocations":["18847:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":1492,"src":"18847:6:2"},"referencedDeclaration":1492,"src":"18847:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}}},"id":2150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["salt"],"nodeType":"FunctionCallOptions","options":[{"id":2149,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2112,"src":"18860:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"src":"18843:22:2","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_bytes32_$_t_address_$returns$_t_contract$_Anchor_$1492_$salt","typeString":"function (bytes32,address) returns (contract Anchor)"}},"id":2156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18843:49:2","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}},"id":2190,"nodeType":"TryStatement","src":"18839:290:2"}]},"documentation":{"id":2072,"nodeType":"StructuredDocumentation","src":"17817:344:2","text":"@notice Generates and deploys the anchor for the given 'profileId' and name\n @dev Internal function used by 'createProfile()' and 'updateProfileName()' to create and anchor.\n @param _profileId The ID of the profile\n @param _name The name of the profile\n @return anchor The address of the deployed anchor contract"},"implemented":true,"kind":"function","modifiers":[],"name":"_generateAnchor","nameLocation":"18175:15:2","parameters":{"id":2077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2074,"mutability":"mutable","name":"_profileId","nameLocation":"18199:10:2","nodeType":"VariableDeclaration","scope":2192,"src":"18191:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2073,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18191:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2076,"mutability":"mutable","name":"_name","nameLocation":"18225:5:2","nodeType":"VariableDeclaration","scope":2192,"src":"18211:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2075,"name":"string","nodeType":"ElementaryTypeName","src":"18211:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18190:41:2"},"returnParameters":{"id":2080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2079,"mutability":"mutable","name":"anchor","nameLocation":"18258:6:2","nodeType":"VariableDeclaration","scope":2192,"src":"18250:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2078,"name":"address","nodeType":"ElementaryTypeName","src":"18250:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18249:16:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":2211,"nodeType":"FunctionDefinition","src":"19465:159:2","nodes":[],"body":{"id":2210,"nodeType":"Block","src":"19557:67:2","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":2205,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2195,"src":"19601:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2206,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2197,"src":"19609:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2203,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19584:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2204,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19588:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"19584:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19584:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2202,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"19574:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19574:43:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":2201,"id":2209,"nodeType":"Return","src":"19567:50:2"}]},"documentation":{"id":2193,"nodeType":"StructuredDocumentation","src":"19141:319:2","text":"@notice Generates the 'profileId' based on msg.sender and nonce\n @dev Internal function used by 'createProfile()' to generate profileId.\n @param _nonce Nonce provided by the caller to generate 'profileId'\n @param _owner The owner of the profile\n @return 'profileId' The ID of the profile"},"implemented":true,"kind":"function","modifiers":[],"name":"_generateProfileId","nameLocation":"19474:18:2","parameters":{"id":2198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2195,"mutability":"mutable","name":"_nonce","nameLocation":"19501:6:2","nodeType":"VariableDeclaration","scope":2211,"src":"19493:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2194,"name":"uint256","nodeType":"ElementaryTypeName","src":"19493:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2197,"mutability":"mutable","name":"_owner","nameLocation":"19517:6:2","nodeType":"VariableDeclaration","scope":2211,"src":"19509:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2196,"name":"address","nodeType":"ElementaryTypeName","src":"19509:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19492:32:2"},"returnParameters":{"id":2201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2200,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2211,"src":"19548:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2199,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19548:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19547:9:2"},"scope":2295,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":2229,"nodeType":"FunctionDefinition","src":"19963:156:2","nodes":[],"body":{"id":2228,"nodeType":"Block","src":"20055:64:2","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":2221,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"20072:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":2223,"indexExpression":{"id":2222,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2214,"src":"20085:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20072:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":2224,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20097:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"20072:30:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":2225,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2216,"src":"20106:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20072:40:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2220,"id":2227,"nodeType":"Return","src":"20065:47:2"}]},"documentation":{"id":2212,"nodeType":"StructuredDocumentation","src":"19630:328:2","text":"@notice Checks if an address is the owner of the profile\n @dev Internal function used to determine if an address is the profile owner\n @param _profileId The 'profileId' of the profile\n @param _owner The address to check\n @return 'true' if the address is an owner of the profile, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isOwnerOfProfile","nameLocation":"19972:17:2","parameters":{"id":2217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2214,"mutability":"mutable","name":"_profileId","nameLocation":"19998:10:2","nodeType":"VariableDeclaration","scope":2229,"src":"19990:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2213,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19990:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2216,"mutability":"mutable","name":"_owner","nameLocation":"20018:6:2","nodeType":"VariableDeclaration","scope":2229,"src":"20010:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2215,"name":"address","nodeType":"ElementaryTypeName","src":"20010:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19989:36:2"},"returnParameters":{"id":2220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2219,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2229,"src":"20049:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2218,"name":"bool","nodeType":"ElementaryTypeName","src":"20049:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20048:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":2245,"nodeType":"FunctionDefinition","src":"20464:146:2","nodes":[],"body":{"id":2244,"nodeType":"Block","src":"20558:52:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2240,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2232,"src":"20583:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2241,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2234,"src":"20595:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2239,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52456,"src":"20575:7:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":2242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20575:28:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2238,"id":2243,"nodeType":"Return","src":"20568:35:2"}]},"documentation":{"id":2230,"nodeType":"StructuredDocumentation","src":"20125:334:2","text":"@notice Checks if an address is a member of the profile\n @dev Internal function used to determine if an address is a member of the profile\n @param _profileId The 'profileId' of the profile\n @param _member The address to check\n @return 'true' if the address is a member of the profile, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isMemberOfProfile","nameLocation":"20473:18:2","parameters":{"id":2235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2232,"mutability":"mutable","name":"_profileId","nameLocation":"20500:10:2","nodeType":"VariableDeclaration","scope":2245,"src":"20492:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2231,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20492:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2234,"mutability":"mutable","name":"_member","nameLocation":"20520:7:2","nodeType":"VariableDeclaration","scope":2245,"src":"20512:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2233,"name":"address","nodeType":"ElementaryTypeName","src":"20512:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20491:37:2"},"returnParameters":{"id":2238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2237,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2245,"src":"20552:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2236,"name":"bool","nodeType":"ElementaryTypeName","src":"20552:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20551:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":2294,"nodeType":"FunctionDefinition","src":"20847:318:2","nodes":[],"body":{"id":2293,"nodeType":"Block","src":"20935:230:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2256,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2250,"src":"20949:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":2259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20971:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":2258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20963:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2257,"name":"address","nodeType":"ElementaryTypeName","src":"20963:7:2","typeDescriptions":{}}},"id":2260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20963:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20949:24:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2265,"nodeType":"IfStatement","src":"20945:51:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2262,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"20982:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20982:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2264,"nodeType":"RevertStatement","src":"20975:21:2"}},{"assignments":[2267],"declarations":[{"constant":false,"id":2267,"mutability":"mutable","name":"amount","nameLocation":"21015:6:2","nodeType":"VariableDeclaration","scope":2293,"src":"21007:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2266,"name":"uint256","nodeType":"ElementaryTypeName","src":"21007:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2286,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2268,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2248,"src":"21024:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":2269,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"21034:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"21024:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"arguments":[{"id":2282,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21099:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2281,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21091:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2280,"name":"address","nodeType":"ElementaryTypeName","src":"21091:7:2","typeDescriptions":{}}},"id":2283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21091:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":2277,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2248,"src":"21073:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2276,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4491,"src":"21067:5:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$4491_$","typeString":"type(contract ERC20)"}},"id":2278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21067:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$4491","typeString":"contract ERC20"}},"id":2279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21081:9:2","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":4200,"src":"21067:23:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":2284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21067:38:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"21024:81:2","trueExpression":{"expression":{"arguments":[{"id":2273,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21051:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2272,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21043:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2271,"name":"address","nodeType":"ElementaryTypeName","src":"21043:7:2","typeDescriptions":{}}},"id":2274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21043:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21057:7:2","memberName":"balance","nodeType":"MemberAccess","src":"21043:21:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21007:98:2"},{"expression":{"arguments":[{"id":2288,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2248,"src":"21131:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2289,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2250,"src":"21139:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2290,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2267,"src":"21151:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2287,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"21115:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":2291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21115:43:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2292,"nodeType":"ExpressionStatement","src":"21115:43:2"}]},"baseFunctions":[2801],"documentation":{"id":2246,"nodeType":"StructuredDocumentation","src":"20616:226:2","text":"@notice Transfers any fund balance in Allo to the recipient\n @dev 'msg.sender' must be the Allo owner\n @param _token The address of the token to transfer\n @param _recipient The address of the recipient"},"functionSelector":"24ae6a27","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":2253,"name":"ALLO_OWNER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1542,"src":"20923:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":2254,"kind":"modifierInvocation","modifierName":{"id":2252,"name":"onlyRole","nameLocations":["20914:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":52403,"src":"20914:8:2"},"nodeType":"ModifierInvocation","src":"20914:20:2"}],"name":"recoverFunds","nameLocation":"20856:12:2","parameters":{"id":2251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2248,"mutability":"mutable","name":"_token","nameLocation":"20877:6:2","nodeType":"VariableDeclaration","scope":2294,"src":"20869:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2247,"name":"address","nodeType":"ElementaryTypeName","src":"20869:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2250,"mutability":"mutable","name":"_recipient","nameLocation":"20893:10:2","nodeType":"VariableDeclaration","scope":2294,"src":"20885:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2249,"name":"address","nodeType":"ElementaryTypeName","src":"20885:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20868:36:2"},"returnParameters":{"id":2255,"nodeType":"ParameterList","parameters":[],"src":"20935:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":1509,"name":"IRegistry","nameLocations":["5258:9:2"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"5258:9:2"},"id":1510,"nodeType":"InheritanceSpecifier","src":"5258:9:2"},{"baseName":{"id":1511,"name":"Initializable","nameLocations":["5269:13:2"],"nodeType":"IdentifierPath","referencedDeclaration":53152,"src":"5269:13:2"},"id":1512,"nodeType":"InheritanceSpecifier","src":"5269:13:2"},{"baseName":{"id":1513,"name":"Native","nameLocations":["5284:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"5284:6:2"},"id":1514,"nodeType":"InheritanceSpecifier","src":"5284:6:2"},{"baseName":{"id":1515,"name":"AccessControlUpgradeable","nameLocations":["5292:24:2"],"nodeType":"IdentifierPath","referencedDeclaration":52697,"src":"5292:24:2"},"id":1516,"nodeType":"InheritanceSpecifier","src":"5292:24:2"},{"baseName":{"id":1517,"name":"Transfer","nameLocations":["5318:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":3317,"src":"5318:8:2"},"id":1518,"nodeType":"InheritanceSpecifier","src":"5318:8:2"},{"baseName":{"id":1519,"name":"Errors","nameLocations":["5328:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":3089,"src":"5328:6:2"},"id":1520,"nodeType":"InheritanceSpecifier","src":"5328:6:2"}],"canonicalName":"Registry","contractDependencies":[1492],"contractKind":"contract","documentation":{"id":1508,"nodeType":"StructuredDocumentation","src":"4584:653:2","text":"@title Registry Contract\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice Registry contract for creating and managing profiles\n @dev This contract is used to create and manage profiles for the Allo protocol\n It is also used to deploy the anchor contract for each profile which acts as a proxy\n for the profile and is used to receive funds and execute transactions on behalf of the profile\n The Registry is also used to add and remove members from a profile and update the profile 'Metadata'"},"fullyImplemented":true,"linearizedBaseContracts":[2295,3089,3317,52697,3106,53970,53982,52770,53696,53152,2802],"name":"Registry","nameLocation":"5246:8:2","scope":2296,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117]}],"license":"AGPL-3.0-only"},"id":2} \ No newline at end of file diff --git a/pkg/contracts/out/RegistryCommunityV0_0.sol/RegistryCommunityV0_0.json b/pkg/contracts/out/RegistryCommunityV0_0.sol/RegistryCommunityV0_0.json index 748423c00..b5681a287 100644 --- a/pkg/contracts/out/RegistryCommunityV0_0.sol/RegistryCommunityV0_0.json +++ b/pkg/contracts/out/RegistryCommunityV0_0.sol/RegistryCommunityV0_0.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"COUNCIL_MEMBER","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MAX_FEE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"PRECISION_SCALE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"acceptCouncilSafe","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"activateMemberInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategy","inputs":[{"name":"_newStrategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategyByPoolId","inputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addressToMemberInfo","inputs":[{"name":"member","type":"address","internalType":"address"}],"outputs":[{"name":"member","type":"address","internalType":"address"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"isRegistered","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract FAllo"}],"stateMutability":"view"},{"type":"function","name":"cloneNonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"collateralVaultTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"communityFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"communityName","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"view"},{"type":"function","name":"covenantIpfsHash","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"createPool","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"},{"name":"strategy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"_strategy","type":"address","internalType":"address"},{"name":"_token","type":"address","internalType":"address"},{"name":"_params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"},{"name":"strategy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deactivateMemberInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_amountUnstaked","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"enabledStrategies","inputs":[{"name":"strategy","type":"address","internalType":"address"}],"outputs":[{"name":"isEnabled","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"feeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"gardenToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IERC20"}],"stateMutability":"view"},{"type":"function","name":"getBasisStakedAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMemberPowerInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMemberStakedAmount","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStakeAmountWithFees","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"increasePower","inputs":[{"name":"_amountStaked","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunityV0_0.InitializeParams","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"}]},{"name":"_strategyTemplate","type":"address","internalType":"address"},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initialOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCouncilMember","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isKickEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isMember","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"_isMember","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"kickMember","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_transferAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"memberActivatedInStrategies","inputs":[{"name":"member","type":"address","internalType":"address"},{"name":"strategy","type":"address","internalType":"address"}],"outputs":[{"name":"isActivated","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"memberPowerInStrategy","inputs":[{"name":"strategy","type":"address","internalType":"address"},{"name":"member","type":"address","internalType":"address"}],"outputs":[{"name":"power","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingCouncilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"profileId","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerStakeAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"registryFactory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"removeStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeStrategyByPoolId","inputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setBasisStakedAmount","inputs":[{"name":"_newAmount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCollateralVaultTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityFee","inputs":[{"name":"_newCommunityFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCouncilSafe","inputs":[{"name":"_safe","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStrategyTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stakeAndRegisterMember","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategiesByMember","inputs":[{"name":"member","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"strategiesAddresses","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"strategyTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterMember","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AlloSet","inputs":[{"name":"_allo","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BasisStakedAmountSet","inputs":[{"name":"_newAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityFeeUpdated","inputs":[{"name":"_newFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CouncilSafeChangeStarted","inputs":[{"name":"_safeOwner","type":"address","indexed":false,"internalType":"address"},{"name":"_newSafeOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CouncilSafeSet","inputs":[{"name":"_safe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"MemberActivatedStrategy","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"},{"name":"_pointsToIncrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberDeactivatedStrategy","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MemberKicked","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_transferAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amountReturned","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberPowerDecreased","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_unstakedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberPowerIncreased","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_stakedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberRegistered","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_amountStaked","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberUnregistered","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_amountReturned","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PoolCreated","inputs":[{"name":"_poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"},{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_token","type":"address","indexed":false,"internalType":"address"},{"name":"_metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RegistryInitialized","inputs":[{"name":"_profileId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"_communityName","type":"string","indexed":false,"internalType":"string"},{"name":"_metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyAdded","inputs":[{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CallerNotOwner","inputs":[{"name":"_caller","type":"address","internalType":"address"},{"name":"_owner","type":"address","internalType":"address"}]},{"type":"error","name":"CantDecreaseMoreThanPower","inputs":[{"name":"_decreaseAmount","type":"uint256","internalType":"uint256"},{"name":"_currentPower","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"DecreaseUnderMinimum","inputs":[]},{"type":"error","name":"KickNotEnabled","inputs":[]},{"type":"error","name":"NewFeeGreaterThanMax","inputs":[]},{"type":"error","name":"PointsDeactivated","inputs":[]},{"type":"error","name":"RegistryCannotBeZero","inputs":[]},{"type":"error","name":"SenderNotNewOwner","inputs":[]},{"type":"error","name":"SenderNotStrategy","inputs":[]},{"type":"error","name":"StrategyDisabled","inputs":[]},{"type":"error","name":"StrategyExists","inputs":[]},{"type":"error","name":"UserAlreadyActivated","inputs":[]},{"type":"error","name":"UserAlreadyDeactivated","inputs":[]},{"type":"error","name":"UserAlreadyRegistered","inputs":[]},{"type":"error","name":"UserNotGardenOwner","inputs":[]},{"type":"error","name":"UserNotInCouncil","inputs":[{"name":"_user","type":"address","internalType":"address"}]},{"type":"error","name":"UserNotInRegistry","inputs":[]},{"type":"error","name":"ValueCannotBeZero","inputs":[]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b5060805161597d6200004d60003960008181611de101528181611e2401528181611f1f01528181611f6201526120c6015261597d6000f3fe6080604052600436106200032c5760003560e01c806301ffc9a714620003315780630331383c146200036b57806308386eba146200038c5780630d12bbdb14620003a45780630d4a8b4914620003cb578063175188e814620003f05780631b71f0e414620004155780631f787d28146200043a578063223e5479146200045557806322bcf999146200047a578063248a9ca3146200049f57806328c309e914620004c45780632b38c69c14620004dc5780632c611c4a14620005105780632f2ff15d146200054e57806331f61bca14620005735780633396045914620005985780633419635514620005b05780633517aa7d14620005d557806336568abe14620005ed5780633659cfe61462000612578063397e254314620006375780633a871fe1146200065c578063477a5cc014620006915780634f1ef28614620006d1578063524e59e814620006e857806352d1902d146200072b578063559de05d14620007435780635c94e4d214620007685780635ecf71c5146200078b57806365e3864c14620007b05780636871eb4d14620007ed57806368decabb14620008125780636c53db9a1462000835578063715018a6146200085857806373265c371462000870578063733a2d1f146200089557806377122d5614620008ba5780637817ee4f14620008dd57806378a0b8a914620009285780637b103999146200094057806382d6a1e7146200096357806388cfe68414620009885780638961be6b14620009fe5780638da5cb5b1462000a1657806391d148541462000a2e578063a0cf0aea1462000a53578063a217fddf1462000a7d578063a230c5241462000a94578063b0d3713a1462000ab9578063b3f006741462000ade578063b5058c501462000b05578063b64e39af1462000b1d578063b99b43701462000b44578063bc063e1a1462000b5c578063c4d66de81462000b74578063c6d572ae1462000b99578063d547741f1462000bb1578063d6d8428d1462000bd6578063d7050f071462000bf9578063db61d65c1462000c11578063e16d0e321462000c34578063ebd7dc521462000c59578063f2fde38b1462000c7e578063f86c5f891462000ca3578063ffa1ad741462000cc6575b600080fd5b3480156200033e57600080fd5b506200035662000350366004620041bf565b62000cf7565b60405190151581526020015b60405180910390f35b3480156200037857600080fd5b5060fb545b60405190815260200162000362565b3480156200039957600080fd5b506200037d60fe5481565b348015620003b157600080fd5b50620003c9620003c3366004620041eb565b62000d2f565b005b348015620003d857600080fd5b50620003c9620003ea3660046200422d565b62000da5565b348015620003fd57600080fd5b50620003c96200040f3660046200426b565b62001128565b3480156200042257600080fd5b50620003c9620004343660046200426b565b62001140565b3480156200044757600080fd5b5060ff805462000356911681565b3480156200046257600080fd5b50620003c9620004743660046200426b565b6200116d565b3480156200048757600080fd5b50620003c9620004993660046200422d565b62001182565b348015620004ac57600080fd5b506200037d620004be366004620041eb565b6200127c565b348015620004d157600080fd5b506200037d62001291565b348015620004e957600080fd5b5062000501620004fb3660046200428b565b62001396565b604051620003629190620042c7565b3480156200051d57600080fd5b506200037d6200052f3660046200426b565b6001600160a01b0316600090815261010c602052604090206001015490565b3480156200055b57600080fd5b50620003c96200056d366004620042db565b620013d0565b3480156200058057600080fd5b50620003c962000592366004620041eb565b620013f7565b348015620005a557600080fd5b506200037d60fd5481565b348015620005bd57600080fd5b50620003c9620005cf3660046200450f565b62001437565b348015620005e257600080fd5b50620003c962001af7565b348015620005fa57600080fd5b50620003c96200060c366004620042db565b62001d59565b3480156200061f57600080fd5b50620003c9620006313660046200426b565b62001dd7565b3480156200064457600080fd5b50620003c9620006563660046200426b565b62001ea8565b3480156200066957600080fd5b50620003566200067b3660046200426b565b61010a6020526000908152604090205460ff1681565b3480156200069e57600080fd5b5062000356620006b03660046200422d565b61010e60209081526000928352604080842090915290825290205460ff1681565b620003c9620006e2366004620046a2565b62001f15565b348015620006f557600080fd5b506200070d62000707366004620048cc565b62001fd6565b604080519283526001600160a01b0390911660208301520162000362565b3480156200073857600080fd5b506200037d620020b9565b3480156200075057600080fd5b50620003c962000762366004620041eb565b6200216a565b3480156200077557600080fd5b506101025462000501906001600160a01b031681565b3480156200079857600080fd5b50620003c9620007aa366004620041eb565b620023b6565b348015620007bd57600080fd5b506200037d620007cf3660046200422d565b61010b60209081526000928352604080842090915290825290205481565b348015620007fa57600080fd5b50620003c96200080c3660046200422d565b62002750565b3480156200081f57600080fd5b506101035462000501906001600160a01b031681565b3480156200084257600080fd5b506101065462000501906001600160a01b031681565b3480156200086557600080fd5b50620003c9620028a3565b3480156200087d57600080fd5b50620003c96200088f366004620041eb565b620028b9565b348015620008a257600080fd5b506200037d600080516020620058c183398151915281565b348015620008c757600080fd5b506101015462000501906001600160a01b031681565b348015620008ea57600080fd5b506200037d620008fc3660046200422d565b6001600160a01b03918216600090815261010b6020908152604080832093909416825291909152205490565b3480156200093557600080fd5b506200037d60fb5481565b3480156200094d57600080fd5b506101045462000501906001600160a01b031681565b3480156200097057600080fd5b50620003c962000982366004620041eb565b62002955565b3480156200099557600080fd5b50620009d6620009a73660046200426b565b61010c602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b039094168452602084019290925215159082015260600162000362565b34801562000a0b57600080fd5b506200037d60fc5481565b34801562000a2357600080fd5b506200050162002a13565b34801562000a3b57600080fd5b506200035662000a4d366004620042db565b62002aae565b34801562000a6057600080fd5b506200050173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801562000a8a57600080fd5b506200037d600081565b34801562000aa157600080fd5b506200035662000ab33660046200426b565b62002ad9565b34801562000ac657600080fd5b50620003c962000ad83660046200426b565b62002b23565b34801562000aeb57600080fd5b5060ff54620005019061010090046001600160a01b031681565b34801562000b1257600080fd5b50620003c962002b50565b34801562000b2a57600080fd5b5062000b3562002b87565b6040516200036291906200498a565b34801562000b5157600080fd5b50620003c962002c1e565b34801562000b6957600080fd5b506200037d62002d28565b34801562000b8157600080fd5b50620003c962000b933660046200426b565b62002d3a565b34801562000ba657600080fd5b5062000b3562002d6f565b34801562000bbe57600080fd5b50620003c962000bd0366004620042db565b62002d7f565b34801562000be357600080fd5b506101075462000501906001600160a01b031681565b34801562000c0657600080fd5b506200037d61271081565b34801562000c1e57600080fd5b506101055462000501906001600160a01b031681565b34801562000c4157600080fd5b506200070d62000c533660046200499f565b62002da1565b34801562000c6657600080fd5b506200035662000c783660046200426b565b62002f2e565b34801562000c8b57600080fd5b50620003c962000c9d3660046200426b565b62002f4b565b34801562000cb057600080fd5b506101005462000501906001600160a01b031681565b34801562000cd357600080fd5b5062000b35604051806040016040528060038152602001620302e360ec1b81525081565b60006001600160e01b03198216637965db0b60e01b148062000d2957506301ffc9a760e01b6001600160e01b03198316145b92915050565b62000d3962002fbc565b62000d48612710600a62004a34565b81111562000d695760405163fe925f7d60e01b815260040160405180910390fd5b60fc8190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b62000daf62002ff9565b62000dba8262003054565b62000dc5816200307d565b62000dd081620030b8565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff161562000e1957604051636adcde4b60e11b815260040160405180910390fd5b6001600160a01b03808316600090815261010c602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff1615159183019190915260fb546003846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000ea7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ecd919062004a64565b600381111562000ee15762000ee162004a4e565b0362000f665760405163782aadff60e01b81526001600160a01b0385169063782aadff9062000f1890889060009060040162004a84565b6020604051808303816000875af115801562000f38573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f5e919062004a9d565b905062001062565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000fa9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fcf919062004a64565b600381111562000fe35762000fe362004a4e565b14620010625760405163782aadff60e01b81526001600160a01b0385169063782aadff9062001019908890869060040162004a84565b6020604051808303816000875af115801562001039573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200105f919062004a9d565b90505b6001600160a01b03808616600081815261010b6020908152604080832094891680845294825280832086905583835261010e82528083208584528252808320805460ff1916600190811790915593835261010d8252808320805494850181558352912090910180546001600160a01b031916909217909155517ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec906200110e9087908790859062004ab7565b60405180910390a1505050620011246001606555565b5050565b6200113262002fbc565b6200113d81620030e7565b50565b6200114a62003145565b61010280546001600160a01b0319166001600160a01b0392909216919091179055565b6200117762002fbc565b6200113d81620031a8565b6200118d8262003054565b6200119881620030b8565b620011a433826200323a565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff16620011ec57604051633048da7760e21b815260040160405180910390fd5b6001600160a01b03808316600081815261010e60209081526040808320948616808452948252808320805460ff1916905592825261010b8152828220938252929092528120556200123e82826200326d565b7ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b82826040516200127092919062004adb565b60405180910390a15050565b600090815260c9602052604090206001015490565b610100546000906001600160a01b031681620012b1612710606462004a34565b60fc5460fb54620012c3919062004a34565b620012cf919062004af5565b90506000620012e2612710606462004a34565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c9062001310903090600401620042c7565b602060405180830381865afa1580156200132e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001354919062004a9d565b60fb5462001363919062004a34565b6200136f919062004af5565b9050808260fb5462001382919062004b18565b6200138e919062004b18565b935050505090565b61010d6020528160005260406000208181548110620013b457600080fd5b6000918252602090912001546001600160a01b03169150829050565b620013db826200127c565b620013e681620033a3565b620013f28383620033af565b505050565b6200140162002fbc565b60fb8190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f9060200162000d9a565b600054610100900460ff1615808015620014585750600054600160ff909116105b806200147d57506200146a3062003439565b1580156200147d575060005460ff166001145b620014e65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156200150a576000805461ff0019166101001790555b620015158262002d3a565b6200151f62003448565b620015296200347c565b62001545600080516020620058c18339815191526000620034a6565b620015548560200151620030b8565b62001564856101000151620030b8565b84516200157190620030b8565b620015808560a00151620030b8565b6060850151156200159a576200159a8560c00151620030b8565b845161010780546001600160a01b039283166001600160a01b031991821617909155602087015161010580549190931691161790556040850151600003620015f5576040516363868c5560e11b815260040160405180910390fd5b604085015160fb55606085015160fc5561014085015160ff805460ff19169115159190911790556101208501516101089062001632908262004bbc565b506101608501516101099062001649908262004bbc565b5060a085015161010080546001600160a01b03199081166001600160a01b0393841617825560c088015160ff8054610100600160a81b0319169185168402919091179055908701516101068054909216928116929092179055620016be90600080516020620058c183398151915290620033af565b61010760009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001713573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001739919062004c88565b61010480546001600160a01b0319166001600160a01b0392831617905561010654606091163b600003620017c55760408051600380825260808201909252906020820160608036833701905050905033816000815181106200179f576200179f62004ca8565b60200260200101906001600160a01b031690816001600160a01b03168152505062001902565b610106546040805163a0e67e2b60e01b815290516000926001600160a01b03169163a0e67e2b91600480830192869291908290030181865afa15801562001810573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200183a919081019062004cbe565b9050805160026200184c919062004b18565b6001600160401b0381111562001866576200186662004303565b60405190808252806020026020018201604052801562001890578160200160208202803683370190505b50915060005b8151811015620018ff57818181518110620018b557620018b562004ca8565b6020026020010151838281518110620018d257620018d262004ca8565b6001600160a01b039092166020928302919091019091015280620018f68162004d7c565b91505062001896565b50505b6101065481516001600160a01b03909116908290620019249060019062004d98565b8151811062001937576200193762004ca8565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835162001969919062004d98565b815181106200197c576200197c62004ca8565b6001600160a01b03928316602091820292909201015261010454608088015160e0890151604051633a92f65f60e01b81529290931692633a92f65f92620019cf9291610108913090889060040162004e9a565b6020604051808303816000875af1158015620019ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001a15919062004a9d565b60fe55805162001a2e9061010f90602084019062004119565b5061010280546001600160a01b038088166001600160a01b03199283161790925561010180549287169290911691909117905560fe5460e08701516040517f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed032059262001aa0929091610108919062004eee565b60405180910390a150801562001af0576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b62001b0162002ff9565b33600081815261010c602052604081206101005490916001600160a01b039091169062001b32612710606462004a34565b60fc5460fb5462001b44919062004a34565b62001b50919062004af5565b9050600062001b63612710606462004a34565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c9062001b91903090600401620042c7565b602060405180830381865afa15801562001baf573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001bd5919062004a9d565b60fb5462001be4919062004a34565b62001bf0919062004af5565b905062001bfd8562002ad9565b62001d475760028401805460ff1916600190811790915560fb5490850181905562001c579086903090849062001c3590879062004b18565b62001c41919062004b18565b610105546001600160a01b0316929190620034fb565b811562001c845760ff546101055462001c84916001600160a01b0391821691610100909104168462003557565b801562001d095762001d09836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001cce573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001cf4919062004c88565b610105546001600160a01b0316908362003557565b7f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f76898560fb5460405162001d3e92919062004a84565b60405180910390a15b505050505062001d576001606555565b565b6001600160a01b038116331462001dcb5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401620014dd565b62001124828262003579565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001e225760405162461bcd60e51b8152600401620014dd9062004f1d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001e56620035e3565b6001600160a01b03161462001e7f5760405162461bcd60e51b8152600401620014dd9062004f58565b62001e8a8162003600565b604080516000808252602082019092526200113d9183919062003642565b62001eb262002fbc565b62001ebd81620030b8565b61010380546001600160a01b0319166001600160a01b03838116918217909255610106546040517f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89362000d9a939216919062004adb565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001f605760405162461bcd60e51b8152600401620014dd9062004f1d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001f94620035e3565b6001600160a01b03161462001fbd5760405162461bcd60e51b8152600401620014dd9062004f58565b62001fc88262003600565b620011248282600162003642565b610102546101075461010154600092839283926001600160a01b039283169263184b955960e01b92811691166200200c62002a13565b6040516001600160a01b0393841660248201529183166044830152909116606482015260840160408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905162002071906200417f565b6200207e92919062004f93565b604051809103906000f0801580156200209b573d6000803e3d6000fd5b509050620020ac8187878762002da1565b9250925050935093915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620021565760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401620014dd565b506000805160206200590183398151915290565b6200217462002ff9565b6200217e620037ba565b33600081815261010d6020908152604080832080548251818502810185019093528083529192909190830182828015620021e257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620021c3575b50505050509050600080600090505b82518110156200231d5782818151811062002210576200221062004ca8565b60200260200101516001600160a01b031663782aadff85876040518363ffffffff1660e01b81526004016200224792919062004a84565b6020604051808303816000875af115801562002267573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200228d919062004a9d565b9150811562002308576001600160a01b038416600090815261010b602052604081208451849290869085908110620022c957620022c962004ca8565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600082825462002302919062004b18565b90915550505b80620023148162004d7c565b915050620021f1565b506101055462002339906001600160a01b0316843087620034fb565b6001600160a01b038316600090815261010c6020526040812060010180548692906200236790849062004b18565b90915550506040517f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f90620023a0908590879062004a84565b60405180910390a15050506200113d6001606555565b620023c062002ff9565b620023ca620037ba565b33600081815261010d6020908152604080832060fb5461010c9093529083206001015490929190620023fe90869062004d98565b10156200241e57604051634e23e81760e11b815260040160405180910390fd5b6101055462002438906001600160a01b0316848662003557565b60005b8254811015620026e85760008382815481106200245c576200245c62004ca8565b6000918252602090912001546001600160a01b03169050620024868163f1801e6160e01b620037e3565b156200260c57604051632ed04b2b60e01b81526001600160a01b03821690632ed04b2b90620024bc9088908a9060040162004a84565b6020604051808303816000875af1158015620024dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002502919062004a9d565b9250600061010b6000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858154811062002543576200254362004ca8565b60009182526020808320909101546001600160a01b0316835282019290925260400190205490508084111562002597576040516311423e6360e31b81526004810185905260248101829052604401620014dd565b6001600160a01b038616600090815261010b602052604081208654869290889087908110620025ca57620025ca62004ca8565b60009182526020808320909101546001600160a01b03168352820192909252604001812080549091906200260090849062004d98565b909155505050620026d2565b835484906200261e9060019062004d98565b8154811062002631576200263162004ca8565b9060005260206000200160009054906101000a90046001600160a01b031684838154811062002664576200266462004ca8565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480620026a557620026a562004fb9565b600082815260209020810160001990810180546001600160a01b0319169055019055620026d281620030e7565b5080620026df8162004d7c565b9150506200243b565b506001600160a01b038316600090815261010c6020526040812060010180548692906200271790849062004d98565b90915550506040517f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff890620023a0908590879062004a84565b6200275a62002ff9565b6200276462002fbc565b60ff80541662002787576040516365b1ee3960e11b815260040160405180910390fd5b620027928262002ad9565b620027b057604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159082015262002801836200380b565b6001600160a01b03808416600090815261010c60209081526040822080546001600160a01b031916815560018101929092556002909101805460ff191690558201516101055462002856921690849062003557565b7fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a3838383602001516040516200288f9392919062004ab7565b60405180910390a150620011246001606555565b620028ad62003145565b62001d57600062003920565b620028c362002fbc565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa1580156200290f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002939919081019062004fcf565b6020015190506200294a81620030b8565b6200112481620030e7565b6200295f62002fbc565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015620029ab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620029d5919081019062004fcf565b602001519050620029e681620030b8565b62002a026001600160a01b03821663f1801e6160e01b620037e3565b1562001124576200112481620031a8565b60008062002a296033546001600160a01b031690565b9050806001600160a01b03163b60000362002a4357919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562002aa0575060408051601f3d908101601f1916820190925262002a9d9181019062004c88565b60015b62000d2957919050565b5090565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6001600160a01b03908116600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b62002b2d62003145565b61010180546001600160a01b0319166001600160a01b0392909216919091179055565b610103546001600160a01b0316331462002b7d576040516375e686b760e11b815260040160405180910390fd5b62001d5762003972565b610109805462002b979062004b2e565b80601f016020809104026020016040519081016040528092919081815260200182805462002bc59062004b2e565b801562002c165780601f1062002bea5761010080835404028352916020019162002c16565b820191906000526020600020905b81548152906001019060200180831162002bf857829003601f168201915b505050505081565b62002c2862002ff9565b3362002c348162003054565b62002c3f816200380b565b6001600160a01b03808216600081815261010c602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945561010d9052918220909162002cba91906200418d565b60208101516101055462002cdc916001600160a01b0390911690849062003557565b7fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f482826020015160405162002d1392919062004a84565b60405180910390a1505062001d576001606555565b62002d37612710600a62004a34565b81565b600054610100900460ff1662002d645760405162461bcd60e51b8152600401620014dd9062005105565b6200113d8162003920565b610108805462002b979062004b2e565b62002d8a826200127c565b62002d9581620033a3565b620013f2838362003579565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0386161562002dcc5750845b869150600061010f80548060200260200160405190810160405280929190818152602001828054801562002e2a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162002e0b575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062002e62908b906020016200517a565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b815260040162002e9a97969594939291906200525c565b6020604051808303816000875af115801562002eba573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002ee0919062004a9d565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a8960405162002f1b959493929190620052cd565b60405180910390a1505094509492505050565b600062000d29600080516020620058c18339815191528362002aae565b62002f5562003145565b6001600160a01b03811662002d645760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620014dd565b62002fd7600080516020620058c18339815191523362002aae565b62001d57573360405163fc4be72f60e01b8152600401620014dd9190620042c7565b6002606554036200304d5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401620014dd565b6002606555565b6200305f8162002ad9565b6200113d57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090205460ff166200113d576040516346c26e4b60e01b815260040160405180910390fd5b6001600160a01b0381166200113d576040516303988b8160e61b815260040160405180910390fd5b6001606555565b620030f281620030b8565b6001600160a01b038116600090815261010a602052604090819020805460ff19169055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49062000d9a908390620042c7565b336200315062002a13565b6001600160a01b03161462001d575760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620014dd565b6001600160a01b038116600090815261010a602052604090205460ff1615620031e4576040516325a2934b60e21b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090819020805460ff19166001179055517f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19062000d9a908390620042c7565b806001600160a01b0316826001600160a01b031614620011245760405163bbe7961160e01b815260040160405180910390fd5b6001600160a01b038216600090815261010d60205260408120905b81548110156200339d57826001600160a01b0316828281548110620032b157620032b162004ca8565b6000918252602090912001546001600160a01b031603620033885781548290620032de9060019062004d98565b81548110620032f157620032f162004ca8565b9060005260206000200160009054906101000a90046001600160a01b031682828154811062003324576200332462004ca8565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508180548062003365576200336562004fb9565b600082815260209020810160001990810180546001600160a01b03191690550190555b80620033948162004d7c565b91505062003288565b50505050565b6200113d8133620039d6565b620033bb828262002aae565b6200112457600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620033f53390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6001600160a01b03163b151590565b600054610100900460ff16620034725760405162461bcd60e51b8152600401620014dd9062005105565b62001d5762003a3a565b600054610100900460ff1662001d575760405162461bcd60e51b8152600401620014dd9062005105565b6000620034b3836200127c565b600084815260c96020526040808220600101859055519192508391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6200339d846323b872dd60e01b8585856040516024016200351f9392919062004ab7565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003a64565b620013f28363a9059cbb60e01b84846040516024016200351f92919062004a84565b62003585828262002aae565b156200112457600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008051602062005901833981519152546001600160a01b031690565b336200360b62002a13565b6001600160a01b0316146200113d57336200362562002a13565b60405163163678e960e01b8152600401620014dd92919062004adb565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156200367857620013f28362003b40565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015620036d5575060408051601f3d908101601f19168201909252620036d29181019062004a9d565b60015b6200373a5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401620014dd565b600080516020620059018339815191528114620037ac5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401620014dd565b50620013f283838362003bdf565b620037c53362002ad9565b62001d5757604051636a5cfb6d60e01b815260040160405180910390fd5b6000620037f08362003c0a565b801562003804575062003804838362003c42565b9392505050565b6001600160a01b038116600090815261010d60209081526040808320805482518185028101850190935280835291929091908301828280156200387857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003859575b5050505050905060005b8151811015620013f257818181518110620038a157620038a162004ca8565b60200260200101516001600160a01b0316636453d9c4846040518263ffffffff1660e01b8152600401620038d69190620042c7565b600060405180830381600087803b158015620038f157600080fd5b505af115801562003906573d6000803e3d6000fd5b505050508080620039179062004d7c565b91505062003882565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610103805461010680546001600160a01b03199081166001600160a01b038416179091551690556040517fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb6887290620039cc90600090620042c7565b60405180910390a1565b620039e2828262002aae565b6200112457620039f28162003ccd565b620039ff83602062003ce0565b60405160200162003a1292919062005309565b60408051601f198184030181529082905262461bcd60e51b8252620014dd916004016200498a565b600054610100900460ff16620030e05760405162461bcd60e51b8152600401620014dd9062005105565b600062003abb826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031662003e999092919063ffffffff16565b905080516000148062003adf57508080602001905181019062003adf91906200537c565b620013f25760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401620014dd565b62003b4b8162003439565b62003baf5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401620014dd565b6000805160206200590183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b62003bea8362003eb2565b60008251118062003bf85750805b15620013f2576200339d838362003ef4565b600062003c1f826301ffc9a760e01b62003c42565b801562000d29575062003c3b826001600160e01b031962003c42565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562003cb5575060208210155b801562003cc25750600081115b979650505050505050565b606062000d296001600160a01b03831660145b6060600062003cf183600262004a34565b62003cfe90600262004b18565b6001600160401b0381111562003d185762003d1862004303565b6040519080825280601f01601f19166020018201604052801562003d43576020820181803683370190505b509050600360fc1b8160008151811062003d615762003d6162004ca8565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811062003d935762003d9362004ca8565b60200101906001600160f81b031916908160001a905350600062003db984600262004a34565b62003dc690600162004b18565b90505b600181111562003e48576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811062003dfe5762003dfe62004ca8565b1a60f81b82828151811062003e175762003e1762004ca8565b60200101906001600160f81b031916908160001a90535060049490941c9362003e40816200539c565b905062003dc9565b508315620038045760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620014dd565b606062003eaa848460008562003f1c565b949350505050565b62003ebd8162003b40565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620038048383604051806060016040528060278152602001620059216027913962003ff4565b60608247101562003f7f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401620014dd565b600080866001600160a01b0316858760405162003f9d9190620053b6565b60006040518083038185875af1925050503d806000811462003fdc576040519150601f19603f3d011682016040523d82523d6000602084013e62003fe1565b606091505b509150915062003cc28783838762004072565b6060600080856001600160a01b031685604051620040139190620053b6565b600060405180830381855af49150503d806000811462004050576040519150601f19603f3d011682016040523d82523d6000602084013e62004055565b606091505b5091509150620040688683838762004072565b9695505050505050565b60608315620040e6578251600003620040de57620040908562003439565b620040de5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620014dd565b508162003eaa565b62003eaa8383815115620040fd5781518083602001fd5b8060405162461bcd60e51b8152600401620014dd91906200498a565b82805482825590600052602060002090810192821562004171579160200282015b828111156200417157825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906200413a565b5062002aaa929150620041a8565b6104ec80620053d583390190565b50805460008255906000526020600020908101906200113d91905b5b8082111562002aaa5760008155600101620041a9565b600060208284031215620041d257600080fd5b81356001600160e01b0319811681146200380457600080fd5b600060208284031215620041fe57600080fd5b5035919050565b6001600160a01b03811681146200113d57600080fd5b8035620042288162004205565b919050565b600080604083850312156200424157600080fd5b82356200424e8162004205565b91506020830135620042608162004205565b809150509250929050565b6000602082840312156200427e57600080fd5b8135620038048162004205565b600080604083850312156200429f57600080fd5b8235620042ac8162004205565b946020939093013593505050565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b60008060408385031215620042ef57600080fd5b823591506020830135620042608162004205565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156200433e576200433e62004303565b60405290565b60405161018081016001600160401b03811182821017156200433e576200433e62004303565b60405160c081016001600160401b03811182821017156200433e576200433e62004303565b60405160e081016001600160401b03811182821017156200433e576200433e62004303565b604051608081016001600160401b03811182821017156200433e576200433e62004303565b604051601f8201601f191681016001600160401b038111828210171562004404576200440462004303565b604052919050565b60006001600160401b0382111562004428576200442862004303565b50601f01601f191660200190565b60006200444d62004447846200440c565b620043d9565b90508281528383830111156200446257600080fd5b828260208301376000602084830101529392505050565b600082601f8301126200448b57600080fd5b620038048383356020850162004436565b600060408284031215620044af57600080fd5b620044b962004319565b82358152905060208201356001600160401b03811115620044d957600080fd5b620044e78482850162004479565b60208301525092915050565b80151581146200113d57600080fd5b80356200422881620044f3565b600080600080608085870312156200452657600080fd5b84356001600160401b03808211156200453e57600080fd5b9086019061018082890312156200455457600080fd5b6200455e62004344565b62004569836200421b565b815262004579602084016200421b565b6020820152604083013560408201526060830135606082015260808301356080820152620045aa60a084016200421b565b60a0820152620045bd60c084016200421b565b60c082015260e083013582811115620045d557600080fd5b620045e38a8286016200449c565b60e083015250610100620045f98185016200421b565b9082015261012083810135838111156200461257600080fd5b620046208b82870162004479565b8284015250506101406200463681850162004502565b9082015261016083810135838111156200464f57600080fd5b6200465d8b82870162004479565b82840152505080965050505062004677602086016200421b565b925062004687604086016200421b565b915062004697606086016200421b565b905092959194509250565b60008060408385031215620046b657600080fd5b8235620046c38162004205565b915060208301356001600160401b03811115620046df57600080fd5b8301601f81018513620046f157600080fd5b620047028582356020840162004436565b9150509250929050565b8035600381106200422857600080fd5b600481106200113d57600080fd5b803562004228816200471c565b6000602082840312156200474a57600080fd5b604051602081016001600160401b03811182821017156200476f576200476f62004303565b6040529135825250919050565b600060c082840312156200478f57600080fd5b620047996200436a565b90508135620047a88162004205565b81526020820135620047ba8162004205565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b60008183036101e08112156200480457600080fd5b6200480e6200438f565b915060808112156200481f57600080fd5b506200482a620043b4565b82358152602083013560208201526040830135604082015260608301356060820152808252506200485e608083016200470c565b60208201526200487160a083016200472a565b6040820152620048858360c0840162004737565b6060820152620048998360e084016200477c565b6080820152620048ad6101a083016200421b565b60a0820152620048c16101c083016200421b565b60c082015292915050565b60008060006102208486031215620048e357600080fd5b8335620048f08162004205565b9250620049018560208601620047ef565b91506102008401356001600160401b038111156200491e57600080fd5b6200492c868287016200449c565b9150509250925092565b60005b838110156200495357818101518382015260200162004939565b50506000910152565b600081518084526200497681602086016020860162004936565b601f01601f19169290920160200192915050565b6020815260006200380460208301846200495c565b6000806000806102408587031215620049b757600080fd5b8435620049c48162004205565b93506020850135620049d68162004205565b9250620049e78660408701620047ef565b91506102208501356001600160401b0381111562004a0457600080fd5b62004a12878288016200449c565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000d295762000d2962004a1e565b634e487b7160e01b600052602160045260246000fd5b60006020828403121562004a7757600080fd5b815162003804816200471c565b6001600160a01b03929092168252602082015260400190565b60006020828403121562004ab057600080fd5b5051919050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0392831681529116602082015260400190565b60008262004b1357634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000d295762000d2962004a1e565b600181811c9082168062004b4357607f821691505b60208210810362004b6457634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620013f257600081815260208120601f850160051c8101602086101562004b935750805b601f850160051c820191505b8181101562004bb45782815560010162004b9f565b505050505050565b81516001600160401b0381111562004bd85762004bd862004303565b62004bf08162004be9845462004b2e565b8462004b6a565b602080601f83116001811462004c28576000841562004c0f5750858301515b600019600386901b1c1916600185901b17855562004bb4565b600085815260208120601f198616915b8281101562004c595788860151825594840194600190910190840162004c38565b508582101562004c785787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121562004c9b57600080fd5b8151620038048162004205565b634e487b7160e01b600052603260045260246000fd5b6000602080838503121562004cd257600080fd5b82516001600160401b038082111562004cea57600080fd5b818501915085601f83011262004cff57600080fd5b81518181111562004d145762004d1462004303565b8060051b915062004d27848301620043d9565b818152918301840191848101908884111562004d4257600080fd5b938501935b8385101562004d70578451925062004d5f8362004205565b828252938501939085019062004d47565b98975050505050505050565b60006001820162004d915762004d9162004a1e565b5060010190565b8181038181111562000d295762000d2962004a1e565b6000815462004dbd8162004b2e565b80855260206001838116801562004ddd576001811462004df85762004e28565b60ff1985168884015283151560051b88018301955062004e28565b866000528260002060005b8581101562004e205781548a820186015290830190840162004e03565b890184019650505b505050505092915050565b80518252600060208201516040602085015262003eaa60408501826200495c565b600081518084526020808501945080840160005b8381101562004e8f5781516001600160a01b03168752958201959082019060010162004e68565b509495945050505050565b85815260a06020820152600062004eb560a083018762004dae565b828103604084015262004ec9818762004e33565b6001600160a01b03861660608501528381036080850152905062004d70818562004e54565b83815260606020820152600062004f09606083018562004dae565b828103604084015262004068818562004e33565b6020808252602c90820152600080516020620058e183398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020620058e183398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6001600160a01b038316815260406020820181905260009062003eaa908301846200495c565b634e487b7160e01b600052603160045260246000fd5b6000602080838503121562004fe357600080fd5b82516001600160401b038082111562004ffb57600080fd5b9084019060c082870312156200501057600080fd5b6200501a6200436a565b82518152838301516200502d8162004205565b818501526040830151620050418162004205565b60408201526060830151828111156200505957600080fd5b8301604081890312156200506c57600080fd5b6200507662004319565b8151815285820151848111156200508c57600080fd5b82019350601f84018913620050a057600080fd5b83519150620050b362004447836200440c565b8281528987848701011115620050c857600080fd5b620050d98388830189880162004936565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6003811062005163576200516362004a4e565b9052565b6004811062005163576200516362004a4e565b60006101e082019050825180518352602081015160208401526040810151604084015260608101516060840152506020830151620051bc608084018262005150565b506040830151620051d160a084018262005167565b506060838101515160c084015260808085015180516001600160a01b0390811660e087015260208201511661010086015260408101516101208601529182015161014085015281015161016084015260a0908101516101808401528301516200523f6101a0840182620042ba565b5060c0830151620052556101c0840182620042ba565b5092915050565b878152600060018060a01b03808916602084015260e060408401526200528660e08401896200495c565b818816606085015286608085015283810360a0850152620052a8818762004e33565b91505082810360c0840152620052bf818562004e54565b9a9950505050505050505050565b8581526001600160a01b03858116602083015284811660408301528316606082015260a06080820181905260009062003cc29083018462004e33565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516200533d81601785016020880162004936565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516200537081602884016020880162004936565b01602801949350505050565b6000602082840312156200538f57600080fd5b81516200380481620044f3565b600081620053ae57620053ae62004a1e565b506000190190565b60008251620053ca81846020870162004936565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212206e93027ee8ff60c4973ac058d4e8a46f5d5981513eccfc75ff619ec5718959a664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656403be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b76c04d207430ed4d6bb1c7c0748fe037392cbbac61f571c674895568446d42764736f6c63430008130033","sourceMap":"1403:24899:107:-:0;;;1088:4:64;1045:48;;1403:24899:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106200032c5760003560e01c806301ffc9a714620003315780630331383c146200036b57806308386eba146200038c5780630d12bbdb14620003a45780630d4a8b4914620003cb578063175188e814620003f05780631b71f0e414620004155780631f787d28146200043a578063223e5479146200045557806322bcf999146200047a578063248a9ca3146200049f57806328c309e914620004c45780632b38c69c14620004dc5780632c611c4a14620005105780632f2ff15d146200054e57806331f61bca14620005735780633396045914620005985780633419635514620005b05780633517aa7d14620005d557806336568abe14620005ed5780633659cfe61462000612578063397e254314620006375780633a871fe1146200065c578063477a5cc014620006915780634f1ef28614620006d1578063524e59e814620006e857806352d1902d146200072b578063559de05d14620007435780635c94e4d214620007685780635ecf71c5146200078b57806365e3864c14620007b05780636871eb4d14620007ed57806368decabb14620008125780636c53db9a1462000835578063715018a6146200085857806373265c371462000870578063733a2d1f146200089557806377122d5614620008ba5780637817ee4f14620008dd57806378a0b8a914620009285780637b103999146200094057806382d6a1e7146200096357806388cfe68414620009885780638961be6b14620009fe5780638da5cb5b1462000a1657806391d148541462000a2e578063a0cf0aea1462000a53578063a217fddf1462000a7d578063a230c5241462000a94578063b0d3713a1462000ab9578063b3f006741462000ade578063b5058c501462000b05578063b64e39af1462000b1d578063b99b43701462000b44578063bc063e1a1462000b5c578063c4d66de81462000b74578063c6d572ae1462000b99578063d547741f1462000bb1578063d6d8428d1462000bd6578063d7050f071462000bf9578063db61d65c1462000c11578063e16d0e321462000c34578063ebd7dc521462000c59578063f2fde38b1462000c7e578063f86c5f891462000ca3578063ffa1ad741462000cc6575b600080fd5b3480156200033e57600080fd5b506200035662000350366004620041bf565b62000cf7565b60405190151581526020015b60405180910390f35b3480156200037857600080fd5b5060fb545b60405190815260200162000362565b3480156200039957600080fd5b506200037d60fe5481565b348015620003b157600080fd5b50620003c9620003c3366004620041eb565b62000d2f565b005b348015620003d857600080fd5b50620003c9620003ea3660046200422d565b62000da5565b348015620003fd57600080fd5b50620003c96200040f3660046200426b565b62001128565b3480156200042257600080fd5b50620003c9620004343660046200426b565b62001140565b3480156200044757600080fd5b5060ff805462000356911681565b3480156200046257600080fd5b50620003c9620004743660046200426b565b6200116d565b3480156200048757600080fd5b50620003c9620004993660046200422d565b62001182565b348015620004ac57600080fd5b506200037d620004be366004620041eb565b6200127c565b348015620004d157600080fd5b506200037d62001291565b348015620004e957600080fd5b5062000501620004fb3660046200428b565b62001396565b604051620003629190620042c7565b3480156200051d57600080fd5b506200037d6200052f3660046200426b565b6001600160a01b0316600090815261010c602052604090206001015490565b3480156200055b57600080fd5b50620003c96200056d366004620042db565b620013d0565b3480156200058057600080fd5b50620003c962000592366004620041eb565b620013f7565b348015620005a557600080fd5b506200037d60fd5481565b348015620005bd57600080fd5b50620003c9620005cf3660046200450f565b62001437565b348015620005e257600080fd5b50620003c962001af7565b348015620005fa57600080fd5b50620003c96200060c366004620042db565b62001d59565b3480156200061f57600080fd5b50620003c9620006313660046200426b565b62001dd7565b3480156200064457600080fd5b50620003c9620006563660046200426b565b62001ea8565b3480156200066957600080fd5b50620003566200067b3660046200426b565b61010a6020526000908152604090205460ff1681565b3480156200069e57600080fd5b5062000356620006b03660046200422d565b61010e60209081526000928352604080842090915290825290205460ff1681565b620003c9620006e2366004620046a2565b62001f15565b348015620006f557600080fd5b506200070d62000707366004620048cc565b62001fd6565b604080519283526001600160a01b0390911660208301520162000362565b3480156200073857600080fd5b506200037d620020b9565b3480156200075057600080fd5b50620003c962000762366004620041eb565b6200216a565b3480156200077557600080fd5b506101025462000501906001600160a01b031681565b3480156200079857600080fd5b50620003c9620007aa366004620041eb565b620023b6565b348015620007bd57600080fd5b506200037d620007cf3660046200422d565b61010b60209081526000928352604080842090915290825290205481565b348015620007fa57600080fd5b50620003c96200080c3660046200422d565b62002750565b3480156200081f57600080fd5b506101035462000501906001600160a01b031681565b3480156200084257600080fd5b506101065462000501906001600160a01b031681565b3480156200086557600080fd5b50620003c9620028a3565b3480156200087d57600080fd5b50620003c96200088f366004620041eb565b620028b9565b348015620008a257600080fd5b506200037d600080516020620058c183398151915281565b348015620008c757600080fd5b506101015462000501906001600160a01b031681565b348015620008ea57600080fd5b506200037d620008fc3660046200422d565b6001600160a01b03918216600090815261010b6020908152604080832093909416825291909152205490565b3480156200093557600080fd5b506200037d60fb5481565b3480156200094d57600080fd5b506101045462000501906001600160a01b031681565b3480156200097057600080fd5b50620003c962000982366004620041eb565b62002955565b3480156200099557600080fd5b50620009d6620009a73660046200426b565b61010c602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b039094168452602084019290925215159082015260600162000362565b34801562000a0b57600080fd5b506200037d60fc5481565b34801562000a2357600080fd5b506200050162002a13565b34801562000a3b57600080fd5b506200035662000a4d366004620042db565b62002aae565b34801562000a6057600080fd5b506200050173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801562000a8a57600080fd5b506200037d600081565b34801562000aa157600080fd5b506200035662000ab33660046200426b565b62002ad9565b34801562000ac657600080fd5b50620003c962000ad83660046200426b565b62002b23565b34801562000aeb57600080fd5b5060ff54620005019061010090046001600160a01b031681565b34801562000b1257600080fd5b50620003c962002b50565b34801562000b2a57600080fd5b5062000b3562002b87565b6040516200036291906200498a565b34801562000b5157600080fd5b50620003c962002c1e565b34801562000b6957600080fd5b506200037d62002d28565b34801562000b8157600080fd5b50620003c962000b933660046200426b565b62002d3a565b34801562000ba657600080fd5b5062000b3562002d6f565b34801562000bbe57600080fd5b50620003c962000bd0366004620042db565b62002d7f565b34801562000be357600080fd5b506101075462000501906001600160a01b031681565b34801562000c0657600080fd5b506200037d61271081565b34801562000c1e57600080fd5b506101055462000501906001600160a01b031681565b34801562000c4157600080fd5b506200070d62000c533660046200499f565b62002da1565b34801562000c6657600080fd5b506200035662000c783660046200426b565b62002f2e565b34801562000c8b57600080fd5b50620003c962000c9d3660046200426b565b62002f4b565b34801562000cb057600080fd5b506101005462000501906001600160a01b031681565b34801562000cd357600080fd5b5062000b35604051806040016040528060038152602001620302e360ec1b81525081565b60006001600160e01b03198216637965db0b60e01b148062000d2957506301ffc9a760e01b6001600160e01b03198316145b92915050565b62000d3962002fbc565b62000d48612710600a62004a34565b81111562000d695760405163fe925f7d60e01b815260040160405180910390fd5b60fc8190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b62000daf62002ff9565b62000dba8262003054565b62000dc5816200307d565b62000dd081620030b8565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff161562000e1957604051636adcde4b60e11b815260040160405180910390fd5b6001600160a01b03808316600090815261010c602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff1615159183019190915260fb546003846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000ea7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ecd919062004a64565b600381111562000ee15762000ee162004a4e565b0362000f665760405163782aadff60e01b81526001600160a01b0385169063782aadff9062000f1890889060009060040162004a84565b6020604051808303816000875af115801562000f38573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f5e919062004a9d565b905062001062565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000fa9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fcf919062004a64565b600381111562000fe35762000fe362004a4e565b14620010625760405163782aadff60e01b81526001600160a01b0385169063782aadff9062001019908890869060040162004a84565b6020604051808303816000875af115801562001039573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200105f919062004a9d565b90505b6001600160a01b03808616600081815261010b6020908152604080832094891680845294825280832086905583835261010e82528083208584528252808320805460ff1916600190811790915593835261010d8252808320805494850181558352912090910180546001600160a01b031916909217909155517ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec906200110e9087908790859062004ab7565b60405180910390a1505050620011246001606555565b5050565b6200113262002fbc565b6200113d81620030e7565b50565b6200114a62003145565b61010280546001600160a01b0319166001600160a01b0392909216919091179055565b6200117762002fbc565b6200113d81620031a8565b6200118d8262003054565b6200119881620030b8565b620011a433826200323a565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff16620011ec57604051633048da7760e21b815260040160405180910390fd5b6001600160a01b03808316600081815261010e60209081526040808320948616808452948252808320805460ff1916905592825261010b8152828220938252929092528120556200123e82826200326d565b7ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b82826040516200127092919062004adb565b60405180910390a15050565b600090815260c9602052604090206001015490565b610100546000906001600160a01b031681620012b1612710606462004a34565b60fc5460fb54620012c3919062004a34565b620012cf919062004af5565b90506000620012e2612710606462004a34565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c9062001310903090600401620042c7565b602060405180830381865afa1580156200132e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001354919062004a9d565b60fb5462001363919062004a34565b6200136f919062004af5565b9050808260fb5462001382919062004b18565b6200138e919062004b18565b935050505090565b61010d6020528160005260406000208181548110620013b457600080fd5b6000918252602090912001546001600160a01b03169150829050565b620013db826200127c565b620013e681620033a3565b620013f28383620033af565b505050565b6200140162002fbc565b60fb8190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f9060200162000d9a565b600054610100900460ff1615808015620014585750600054600160ff909116105b806200147d57506200146a3062003439565b1580156200147d575060005460ff166001145b620014e65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156200150a576000805461ff0019166101001790555b620015158262002d3a565b6200151f62003448565b620015296200347c565b62001545600080516020620058c18339815191526000620034a6565b620015548560200151620030b8565b62001564856101000151620030b8565b84516200157190620030b8565b620015808560a00151620030b8565b6060850151156200159a576200159a8560c00151620030b8565b845161010780546001600160a01b039283166001600160a01b031991821617909155602087015161010580549190931691161790556040850151600003620015f5576040516363868c5560e11b815260040160405180910390fd5b604085015160fb55606085015160fc5561014085015160ff805460ff19169115159190911790556101208501516101089062001632908262004bbc565b506101608501516101099062001649908262004bbc565b5060a085015161010080546001600160a01b03199081166001600160a01b0393841617825560c088015160ff8054610100600160a81b0319169185168402919091179055908701516101068054909216928116929092179055620016be90600080516020620058c183398151915290620033af565b61010760009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001713573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001739919062004c88565b61010480546001600160a01b0319166001600160a01b0392831617905561010654606091163b600003620017c55760408051600380825260808201909252906020820160608036833701905050905033816000815181106200179f576200179f62004ca8565b60200260200101906001600160a01b031690816001600160a01b03168152505062001902565b610106546040805163a0e67e2b60e01b815290516000926001600160a01b03169163a0e67e2b91600480830192869291908290030181865afa15801562001810573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200183a919081019062004cbe565b9050805160026200184c919062004b18565b6001600160401b0381111562001866576200186662004303565b60405190808252806020026020018201604052801562001890578160200160208202803683370190505b50915060005b8151811015620018ff57818181518110620018b557620018b562004ca8565b6020026020010151838281518110620018d257620018d262004ca8565b6001600160a01b039092166020928302919091019091015280620018f68162004d7c565b91505062001896565b50505b6101065481516001600160a01b03909116908290620019249060019062004d98565b8151811062001937576200193762004ca8565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835162001969919062004d98565b815181106200197c576200197c62004ca8565b6001600160a01b03928316602091820292909201015261010454608088015160e0890151604051633a92f65f60e01b81529290931692633a92f65f92620019cf9291610108913090889060040162004e9a565b6020604051808303816000875af1158015620019ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001a15919062004a9d565b60fe55805162001a2e9061010f90602084019062004119565b5061010280546001600160a01b038088166001600160a01b03199283161790925561010180549287169290911691909117905560fe5460e08701516040517f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed032059262001aa0929091610108919062004eee565b60405180910390a150801562001af0576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b62001b0162002ff9565b33600081815261010c602052604081206101005490916001600160a01b039091169062001b32612710606462004a34565b60fc5460fb5462001b44919062004a34565b62001b50919062004af5565b9050600062001b63612710606462004a34565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c9062001b91903090600401620042c7565b602060405180830381865afa15801562001baf573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001bd5919062004a9d565b60fb5462001be4919062004a34565b62001bf0919062004af5565b905062001bfd8562002ad9565b62001d475760028401805460ff1916600190811790915560fb5490850181905562001c579086903090849062001c3590879062004b18565b62001c41919062004b18565b610105546001600160a01b0316929190620034fb565b811562001c845760ff546101055462001c84916001600160a01b0391821691610100909104168462003557565b801562001d095762001d09836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001cce573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001cf4919062004c88565b610105546001600160a01b0316908362003557565b7f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f76898560fb5460405162001d3e92919062004a84565b60405180910390a15b505050505062001d576001606555565b565b6001600160a01b038116331462001dcb5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401620014dd565b62001124828262003579565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001e225760405162461bcd60e51b8152600401620014dd9062004f1d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001e56620035e3565b6001600160a01b03161462001e7f5760405162461bcd60e51b8152600401620014dd9062004f58565b62001e8a8162003600565b604080516000808252602082019092526200113d9183919062003642565b62001eb262002fbc565b62001ebd81620030b8565b61010380546001600160a01b0319166001600160a01b03838116918217909255610106546040517f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89362000d9a939216919062004adb565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001f605760405162461bcd60e51b8152600401620014dd9062004f1d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001f94620035e3565b6001600160a01b03161462001fbd5760405162461bcd60e51b8152600401620014dd9062004f58565b62001fc88262003600565b620011248282600162003642565b610102546101075461010154600092839283926001600160a01b039283169263184b955960e01b92811691166200200c62002a13565b6040516001600160a01b0393841660248201529183166044830152909116606482015260840160408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905162002071906200417f565b6200207e92919062004f93565b604051809103906000f0801580156200209b573d6000803e3d6000fd5b509050620020ac8187878762002da1565b9250925050935093915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620021565760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401620014dd565b506000805160206200590183398151915290565b6200217462002ff9565b6200217e620037ba565b33600081815261010d6020908152604080832080548251818502810185019093528083529192909190830182828015620021e257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620021c3575b50505050509050600080600090505b82518110156200231d5782818151811062002210576200221062004ca8565b60200260200101516001600160a01b031663782aadff85876040518363ffffffff1660e01b81526004016200224792919062004a84565b6020604051808303816000875af115801562002267573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200228d919062004a9d565b9150811562002308576001600160a01b038416600090815261010b602052604081208451849290869085908110620022c957620022c962004ca8565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600082825462002302919062004b18565b90915550505b80620023148162004d7c565b915050620021f1565b506101055462002339906001600160a01b0316843087620034fb565b6001600160a01b038316600090815261010c6020526040812060010180548692906200236790849062004b18565b90915550506040517f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f90620023a0908590879062004a84565b60405180910390a15050506200113d6001606555565b620023c062002ff9565b620023ca620037ba565b33600081815261010d6020908152604080832060fb5461010c9093529083206001015490929190620023fe90869062004d98565b10156200241e57604051634e23e81760e11b815260040160405180910390fd5b6101055462002438906001600160a01b0316848662003557565b60005b8254811015620026e85760008382815481106200245c576200245c62004ca8565b6000918252602090912001546001600160a01b03169050620024868163f1801e6160e01b620037e3565b156200260c57604051632ed04b2b60e01b81526001600160a01b03821690632ed04b2b90620024bc9088908a9060040162004a84565b6020604051808303816000875af1158015620024dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002502919062004a9d565b9250600061010b6000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858154811062002543576200254362004ca8565b60009182526020808320909101546001600160a01b0316835282019290925260400190205490508084111562002597576040516311423e6360e31b81526004810185905260248101829052604401620014dd565b6001600160a01b038616600090815261010b602052604081208654869290889087908110620025ca57620025ca62004ca8565b60009182526020808320909101546001600160a01b03168352820192909252604001812080549091906200260090849062004d98565b909155505050620026d2565b835484906200261e9060019062004d98565b8154811062002631576200263162004ca8565b9060005260206000200160009054906101000a90046001600160a01b031684838154811062002664576200266462004ca8565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480620026a557620026a562004fb9565b600082815260209020810160001990810180546001600160a01b0319169055019055620026d281620030e7565b5080620026df8162004d7c565b9150506200243b565b506001600160a01b038316600090815261010c6020526040812060010180548692906200271790849062004d98565b90915550506040517f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff890620023a0908590879062004a84565b6200275a62002ff9565b6200276462002fbc565b60ff80541662002787576040516365b1ee3960e11b815260040160405180910390fd5b620027928262002ad9565b620027b057604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159082015262002801836200380b565b6001600160a01b03808416600090815261010c60209081526040822080546001600160a01b031916815560018101929092556002909101805460ff191690558201516101055462002856921690849062003557565b7fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a3838383602001516040516200288f9392919062004ab7565b60405180910390a150620011246001606555565b620028ad62003145565b62001d57600062003920565b620028c362002fbc565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa1580156200290f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002939919081019062004fcf565b6020015190506200294a81620030b8565b6200112481620030e7565b6200295f62002fbc565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015620029ab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620029d5919081019062004fcf565b602001519050620029e681620030b8565b62002a026001600160a01b03821663f1801e6160e01b620037e3565b1562001124576200112481620031a8565b60008062002a296033546001600160a01b031690565b9050806001600160a01b03163b60000362002a4357919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562002aa0575060408051601f3d908101601f1916820190925262002a9d9181019062004c88565b60015b62000d2957919050565b5090565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6001600160a01b03908116600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b62002b2d62003145565b61010180546001600160a01b0319166001600160a01b0392909216919091179055565b610103546001600160a01b0316331462002b7d576040516375e686b760e11b815260040160405180910390fd5b62001d5762003972565b610109805462002b979062004b2e565b80601f016020809104026020016040519081016040528092919081815260200182805462002bc59062004b2e565b801562002c165780601f1062002bea5761010080835404028352916020019162002c16565b820191906000526020600020905b81548152906001019060200180831162002bf857829003601f168201915b505050505081565b62002c2862002ff9565b3362002c348162003054565b62002c3f816200380b565b6001600160a01b03808216600081815261010c602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945561010d9052918220909162002cba91906200418d565b60208101516101055462002cdc916001600160a01b0390911690849062003557565b7fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f482826020015160405162002d1392919062004a84565b60405180910390a1505062001d576001606555565b62002d37612710600a62004a34565b81565b600054610100900460ff1662002d645760405162461bcd60e51b8152600401620014dd9062005105565b6200113d8162003920565b610108805462002b979062004b2e565b62002d8a826200127c565b62002d9581620033a3565b620013f2838362003579565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0386161562002dcc5750845b869150600061010f80548060200260200160405190810160405280929190818152602001828054801562002e2a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162002e0b575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062002e62908b906020016200517a565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b815260040162002e9a97969594939291906200525c565b6020604051808303816000875af115801562002eba573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002ee0919062004a9d565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a8960405162002f1b959493929190620052cd565b60405180910390a1505094509492505050565b600062000d29600080516020620058c18339815191528362002aae565b62002f5562003145565b6001600160a01b03811662002d645760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620014dd565b62002fd7600080516020620058c18339815191523362002aae565b62001d57573360405163fc4be72f60e01b8152600401620014dd9190620042c7565b6002606554036200304d5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401620014dd565b6002606555565b6200305f8162002ad9565b6200113d57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090205460ff166200113d576040516346c26e4b60e01b815260040160405180910390fd5b6001600160a01b0381166200113d576040516303988b8160e61b815260040160405180910390fd5b6001606555565b620030f281620030b8565b6001600160a01b038116600090815261010a602052604090819020805460ff19169055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49062000d9a908390620042c7565b336200315062002a13565b6001600160a01b03161462001d575760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620014dd565b6001600160a01b038116600090815261010a602052604090205460ff1615620031e4576040516325a2934b60e21b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090819020805460ff19166001179055517f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19062000d9a908390620042c7565b806001600160a01b0316826001600160a01b031614620011245760405163bbe7961160e01b815260040160405180910390fd5b6001600160a01b038216600090815261010d60205260408120905b81548110156200339d57826001600160a01b0316828281548110620032b157620032b162004ca8565b6000918252602090912001546001600160a01b031603620033885781548290620032de9060019062004d98565b81548110620032f157620032f162004ca8565b9060005260206000200160009054906101000a90046001600160a01b031682828154811062003324576200332462004ca8565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508180548062003365576200336562004fb9565b600082815260209020810160001990810180546001600160a01b03191690550190555b80620033948162004d7c565b91505062003288565b50505050565b6200113d8133620039d6565b620033bb828262002aae565b6200112457600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620033f53390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6001600160a01b03163b151590565b600054610100900460ff16620034725760405162461bcd60e51b8152600401620014dd9062005105565b62001d5762003a3a565b600054610100900460ff1662001d575760405162461bcd60e51b8152600401620014dd9062005105565b6000620034b3836200127c565b600084815260c96020526040808220600101859055519192508391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6200339d846323b872dd60e01b8585856040516024016200351f9392919062004ab7565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003a64565b620013f28363a9059cbb60e01b84846040516024016200351f92919062004a84565b62003585828262002aae565b156200112457600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008051602062005901833981519152546001600160a01b031690565b336200360b62002a13565b6001600160a01b0316146200113d57336200362562002a13565b60405163163678e960e01b8152600401620014dd92919062004adb565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156200367857620013f28362003b40565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015620036d5575060408051601f3d908101601f19168201909252620036d29181019062004a9d565b60015b6200373a5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401620014dd565b600080516020620059018339815191528114620037ac5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401620014dd565b50620013f283838362003bdf565b620037c53362002ad9565b62001d5757604051636a5cfb6d60e01b815260040160405180910390fd5b6000620037f08362003c0a565b801562003804575062003804838362003c42565b9392505050565b6001600160a01b038116600090815261010d60209081526040808320805482518185028101850190935280835291929091908301828280156200387857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003859575b5050505050905060005b8151811015620013f257818181518110620038a157620038a162004ca8565b60200260200101516001600160a01b0316636453d9c4846040518263ffffffff1660e01b8152600401620038d69190620042c7565b600060405180830381600087803b158015620038f157600080fd5b505af115801562003906573d6000803e3d6000fd5b505050508080620039179062004d7c565b91505062003882565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610103805461010680546001600160a01b03199081166001600160a01b038416179091551690556040517fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb6887290620039cc90600090620042c7565b60405180910390a1565b620039e2828262002aae565b6200112457620039f28162003ccd565b620039ff83602062003ce0565b60405160200162003a1292919062005309565b60408051601f198184030181529082905262461bcd60e51b8252620014dd916004016200498a565b600054610100900460ff16620030e05760405162461bcd60e51b8152600401620014dd9062005105565b600062003abb826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031662003e999092919063ffffffff16565b905080516000148062003adf57508080602001905181019062003adf91906200537c565b620013f25760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401620014dd565b62003b4b8162003439565b62003baf5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401620014dd565b6000805160206200590183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b62003bea8362003eb2565b60008251118062003bf85750805b15620013f2576200339d838362003ef4565b600062003c1f826301ffc9a760e01b62003c42565b801562000d29575062003c3b826001600160e01b031962003c42565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562003cb5575060208210155b801562003cc25750600081115b979650505050505050565b606062000d296001600160a01b03831660145b6060600062003cf183600262004a34565b62003cfe90600262004b18565b6001600160401b0381111562003d185762003d1862004303565b6040519080825280601f01601f19166020018201604052801562003d43576020820181803683370190505b509050600360fc1b8160008151811062003d615762003d6162004ca8565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811062003d935762003d9362004ca8565b60200101906001600160f81b031916908160001a905350600062003db984600262004a34565b62003dc690600162004b18565b90505b600181111562003e48576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811062003dfe5762003dfe62004ca8565b1a60f81b82828151811062003e175762003e1762004ca8565b60200101906001600160f81b031916908160001a90535060049490941c9362003e40816200539c565b905062003dc9565b508315620038045760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620014dd565b606062003eaa848460008562003f1c565b949350505050565b62003ebd8162003b40565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620038048383604051806060016040528060278152602001620059216027913962003ff4565b60608247101562003f7f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401620014dd565b600080866001600160a01b0316858760405162003f9d9190620053b6565b60006040518083038185875af1925050503d806000811462003fdc576040519150601f19603f3d011682016040523d82523d6000602084013e62003fe1565b606091505b509150915062003cc28783838762004072565b6060600080856001600160a01b031685604051620040139190620053b6565b600060405180830381855af49150503d806000811462004050576040519150601f19603f3d011682016040523d82523d6000602084013e62004055565b606091505b5091509150620040688683838762004072565b9695505050505050565b60608315620040e6578251600003620040de57620040908562003439565b620040de5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620014dd565b508162003eaa565b62003eaa8383815115620040fd5781518083602001fd5b8060405162461bcd60e51b8152600401620014dd91906200498a565b82805482825590600052602060002090810192821562004171579160200282015b828111156200417157825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906200413a565b5062002aaa929150620041a8565b6104ec80620053d583390190565b50805460008255906000526020600020908101906200113d91905b5b8082111562002aaa5760008155600101620041a9565b600060208284031215620041d257600080fd5b81356001600160e01b0319811681146200380457600080fd5b600060208284031215620041fe57600080fd5b5035919050565b6001600160a01b03811681146200113d57600080fd5b8035620042288162004205565b919050565b600080604083850312156200424157600080fd5b82356200424e8162004205565b91506020830135620042608162004205565b809150509250929050565b6000602082840312156200427e57600080fd5b8135620038048162004205565b600080604083850312156200429f57600080fd5b8235620042ac8162004205565b946020939093013593505050565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b60008060408385031215620042ef57600080fd5b823591506020830135620042608162004205565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156200433e576200433e62004303565b60405290565b60405161018081016001600160401b03811182821017156200433e576200433e62004303565b60405160c081016001600160401b03811182821017156200433e576200433e62004303565b60405160e081016001600160401b03811182821017156200433e576200433e62004303565b604051608081016001600160401b03811182821017156200433e576200433e62004303565b604051601f8201601f191681016001600160401b038111828210171562004404576200440462004303565b604052919050565b60006001600160401b0382111562004428576200442862004303565b50601f01601f191660200190565b60006200444d62004447846200440c565b620043d9565b90508281528383830111156200446257600080fd5b828260208301376000602084830101529392505050565b600082601f8301126200448b57600080fd5b620038048383356020850162004436565b600060408284031215620044af57600080fd5b620044b962004319565b82358152905060208201356001600160401b03811115620044d957600080fd5b620044e78482850162004479565b60208301525092915050565b80151581146200113d57600080fd5b80356200422881620044f3565b600080600080608085870312156200452657600080fd5b84356001600160401b03808211156200453e57600080fd5b9086019061018082890312156200455457600080fd5b6200455e62004344565b62004569836200421b565b815262004579602084016200421b565b6020820152604083013560408201526060830135606082015260808301356080820152620045aa60a084016200421b565b60a0820152620045bd60c084016200421b565b60c082015260e083013582811115620045d557600080fd5b620045e38a8286016200449c565b60e083015250610100620045f98185016200421b565b9082015261012083810135838111156200461257600080fd5b620046208b82870162004479565b8284015250506101406200463681850162004502565b9082015261016083810135838111156200464f57600080fd5b6200465d8b82870162004479565b82840152505080965050505062004677602086016200421b565b925062004687604086016200421b565b915062004697606086016200421b565b905092959194509250565b60008060408385031215620046b657600080fd5b8235620046c38162004205565b915060208301356001600160401b03811115620046df57600080fd5b8301601f81018513620046f157600080fd5b620047028582356020840162004436565b9150509250929050565b8035600381106200422857600080fd5b600481106200113d57600080fd5b803562004228816200471c565b6000602082840312156200474a57600080fd5b604051602081016001600160401b03811182821017156200476f576200476f62004303565b6040529135825250919050565b600060c082840312156200478f57600080fd5b620047996200436a565b90508135620047a88162004205565b81526020820135620047ba8162004205565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b60008183036101e08112156200480457600080fd5b6200480e6200438f565b915060808112156200481f57600080fd5b506200482a620043b4565b82358152602083013560208201526040830135604082015260608301356060820152808252506200485e608083016200470c565b60208201526200487160a083016200472a565b6040820152620048858360c0840162004737565b6060820152620048998360e084016200477c565b6080820152620048ad6101a083016200421b565b60a0820152620048c16101c083016200421b565b60c082015292915050565b60008060006102208486031215620048e357600080fd5b8335620048f08162004205565b9250620049018560208601620047ef565b91506102008401356001600160401b038111156200491e57600080fd5b6200492c868287016200449c565b9150509250925092565b60005b838110156200495357818101518382015260200162004939565b50506000910152565b600081518084526200497681602086016020860162004936565b601f01601f19169290920160200192915050565b6020815260006200380460208301846200495c565b6000806000806102408587031215620049b757600080fd5b8435620049c48162004205565b93506020850135620049d68162004205565b9250620049e78660408701620047ef565b91506102208501356001600160401b0381111562004a0457600080fd5b62004a12878288016200449c565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000d295762000d2962004a1e565b634e487b7160e01b600052602160045260246000fd5b60006020828403121562004a7757600080fd5b815162003804816200471c565b6001600160a01b03929092168252602082015260400190565b60006020828403121562004ab057600080fd5b5051919050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0392831681529116602082015260400190565b60008262004b1357634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000d295762000d2962004a1e565b600181811c9082168062004b4357607f821691505b60208210810362004b6457634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620013f257600081815260208120601f850160051c8101602086101562004b935750805b601f850160051c820191505b8181101562004bb45782815560010162004b9f565b505050505050565b81516001600160401b0381111562004bd85762004bd862004303565b62004bf08162004be9845462004b2e565b8462004b6a565b602080601f83116001811462004c28576000841562004c0f5750858301515b600019600386901b1c1916600185901b17855562004bb4565b600085815260208120601f198616915b8281101562004c595788860151825594840194600190910190840162004c38565b508582101562004c785787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121562004c9b57600080fd5b8151620038048162004205565b634e487b7160e01b600052603260045260246000fd5b6000602080838503121562004cd257600080fd5b82516001600160401b038082111562004cea57600080fd5b818501915085601f83011262004cff57600080fd5b81518181111562004d145762004d1462004303565b8060051b915062004d27848301620043d9565b818152918301840191848101908884111562004d4257600080fd5b938501935b8385101562004d70578451925062004d5f8362004205565b828252938501939085019062004d47565b98975050505050505050565b60006001820162004d915762004d9162004a1e565b5060010190565b8181038181111562000d295762000d2962004a1e565b6000815462004dbd8162004b2e565b80855260206001838116801562004ddd576001811462004df85762004e28565b60ff1985168884015283151560051b88018301955062004e28565b866000528260002060005b8581101562004e205781548a820186015290830190840162004e03565b890184019650505b505050505092915050565b80518252600060208201516040602085015262003eaa60408501826200495c565b600081518084526020808501945080840160005b8381101562004e8f5781516001600160a01b03168752958201959082019060010162004e68565b509495945050505050565b85815260a06020820152600062004eb560a083018762004dae565b828103604084015262004ec9818762004e33565b6001600160a01b03861660608501528381036080850152905062004d70818562004e54565b83815260606020820152600062004f09606083018562004dae565b828103604084015262004068818562004e33565b6020808252602c90820152600080516020620058e183398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020620058e183398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6001600160a01b038316815260406020820181905260009062003eaa908301846200495c565b634e487b7160e01b600052603160045260246000fd5b6000602080838503121562004fe357600080fd5b82516001600160401b038082111562004ffb57600080fd5b9084019060c082870312156200501057600080fd5b6200501a6200436a565b82518152838301516200502d8162004205565b818501526040830151620050418162004205565b60408201526060830151828111156200505957600080fd5b8301604081890312156200506c57600080fd5b6200507662004319565b8151815285820151848111156200508c57600080fd5b82019350601f84018913620050a057600080fd5b83519150620050b362004447836200440c565b8281528987848701011115620050c857600080fd5b620050d98388830189880162004936565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6003811062005163576200516362004a4e565b9052565b6004811062005163576200516362004a4e565b60006101e082019050825180518352602081015160208401526040810151604084015260608101516060840152506020830151620051bc608084018262005150565b506040830151620051d160a084018262005167565b506060838101515160c084015260808085015180516001600160a01b0390811660e087015260208201511661010086015260408101516101208601529182015161014085015281015161016084015260a0908101516101808401528301516200523f6101a0840182620042ba565b5060c0830151620052556101c0840182620042ba565b5092915050565b878152600060018060a01b03808916602084015260e060408401526200528660e08401896200495c565b818816606085015286608085015283810360a0850152620052a8818762004e33565b91505082810360c0840152620052bf818562004e54565b9a9950505050505050505050565b8581526001600160a01b03858116602083015284811660408301528316606082015260a06080820181905260009062003cc29083018462004e33565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516200533d81601785016020880162004936565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516200537081602884016020880162004936565b01602801949350505050565b6000602082840312156200538f57600080fd5b81516200380481620044f3565b600081620053ae57620053ae62004a1e565b506000190190565b60008251620053ca81846020870162004936565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212206e93027ee8ff60c4973ac058d4e8a46f5d5981513eccfc75ff619ec5718959a664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656403be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b76c04d207430ed4d6bb1c7c0748fe037392cbbac61f571c674895568446d42764736f6c63430008130033","sourceMap":"1403:24899:107:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3050:213:43;;;;;;;;;;-1:-1:-1;3050:213:43;;;;;:::i;:::-;;:::i;:::-;;;470:14:126;;463:22;445:41;;433:2;418:18;3050:213:43;;;;;;;;23947:115:107;;;;;;;;;;-1:-1:-1;24036:19:107;;23947:115;;;643:25:126;;;631:2;616:18;23947:115:107;497:177:126;5910:24:107;;;;;;;;;;;;;;;;24264:288;;;;;;;;;;-1:-1:-1;24264:288:107;;;;;:::i;:::-;;:::i;:::-;;13996:1200;;;;;;;;;;-1:-1:-1;13996:1200:107;;;;;:::i;:::-;;:::i;20564:128::-;;;;;;;;;;-1:-1:-1;20564:128:107;;;;;:::i;:::-;;:::i;9899:110::-;;;;;;;;;;-1:-1:-1;9899:110:107;;;;;:::i;:::-;;:::i;5991:25::-;;;;;;;;;;-1:-1:-1;5991:25:107;;;;;;;;19729:128;;;;;;;;;;-1:-1:-1;19729:128:107;;;;;:::i;:::-;;:::i;15202:699::-;;;;;;;;;;-1:-1:-1;15202:699:107;;;;;:::i;:::-;;:::i;4855:129:43:-;;;;;;;;;;-1:-1:-1;4855:129:43;;;;;:::i;:::-;;:::i;23464:477:107:-;;;;;;;;;;;;;:::i;7547:82::-;;;;;;;;;;-1:-1:-1;7547:82:107;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;19245:151::-;;;;;;;;;;-1:-1:-1;19245:151:107;;;;;:::i;:::-;-1:-1:-1;;;;;19348:28:107;19322:7;19348:28;;;:19;:28;;;;;:41;;;;19245:151;5280:145:43;;;;;;;;;;-1:-1:-1;5280:145:43;;;;;:::i;:::-;;:::i;24068:190:107:-;;;;;;;;;;-1:-1:-1;24068:190:107;;;;;:::i;:::-;;:::i;5811:25::-;;;;;;;;;;;;;;;;10289:2496;;;;;;;;;;-1:-1:-1;10289:2496:107;;;;;:::i;:::-;;:::i;21526:1932::-;;;;;;;;;;;;;:::i;6389:214:43:-;;;;;;;;;;-1:-1:-1;6389:214:43;;;;;:::i;:::-;;:::i;3143:195:64:-;;;;;;;;;;-1:-1:-1;3143:195:64;;;;;:::i;:::-;;:::i;20698:248:107:-;;;;;;;;;;-1:-1:-1;20698:248:107;;;;;:::i;:::-;;:::i;7082:68::-;;;;;;;;;;-1:-1:-1;7082:68:107;;;;;:::i;:::-;;;;;;;;;;;;;;;;7707:107;;;;;;;;;;-1:-1:-1;7707:107:107;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;3657:220:64;;;;;;:::i;:::-;;:::i;12791:532:107:-;;;;;;;;;;-1:-1:-1;12791:532:107;;;;;:::i;:::-;;:::i;:::-;;;;12385:25:126;;;-1:-1:-1;;;;;12446:32:126;;;12441:2;12426:18;;12419:60;12358:18;12791:532:107;12211:274:126;2762:131:64;;;;;;;;;;;;;:::i;16346:1009:107:-;;;;;;;;;;-1:-1:-1;16346:1009:107;;;;;:::i;:::-;;:::i;6361:31::-;;;;;;;;;;-1:-1:-1;6361:31:107;;;;-1:-1:-1;;;;;6361:31:107;;;17498:1562;;;;;;;;;;-1:-1:-1;17498:1562:107;;;;;:::i;:::-;;:::i;7218:98::-;;;;;;;;;;-1:-1:-1;7218:98:107;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;25685:583;;;;;;;;;;-1:-1:-1;25685:583:107;;;;;:::i;:::-;;:::i;6460:41::-;;;;;;;;;;-1:-1:-1;6460:41:107;;;;-1:-1:-1;;;;;6460:41:107;;;6720:24;;;;;;;;;;-1:-1:-1;6720:24:107;;;;-1:-1:-1;;;;;6720:24:107;;;2085:101:45;;;;;;;;;;;;;:::i;20121:237:107:-;;;;;;;;;;-1:-1:-1;20121:237:107;;;;;:::i;:::-;;:::i;8148:68::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8148:68:107;;6264:38;;;;;;;;;;-1:-1:-1;6264:38:107;;;;-1:-1:-1;;;;;6264:38:107;;;19066:173;;;;;;;;;;-1:-1:-1;19066:173:107;;;;;:::i;:::-;-1:-1:-1;;;;;19191:30:107;;;19165:7;19191:30;;;:21;:30;;;;;;;;:41;;;;;;;;;;;;;19066:173;5606:34;;;;;;;;;;;;;;;;6551:25;;;;;;;;;;-1:-1:-1;6551:25:107;;;;-1:-1:-1;;;;;6551:25:107;;;19402:321;;;;;;;;;;-1:-1:-1;19402:321:107;;;;;:::i;:::-;;:::i;7416:60::-;;;;;;;;;;-1:-1:-1;7416:60:107;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7416:60:107;;;;;;;;;;;;;-1:-1:-1;;;;;13377:32:126;;;13359:51;;13441:2;13426:18;;13419:34;;;;13496:14;13489:22;13469:18;;;13462:50;13347:2;13332:18;7416:60:107;13163:355:126;5717:27:107;;;;;;;;;;;;;;;;525:604:105;;;;;;;;;;;;;:::i;3350:145:43:-;;;;;;;;;;-1:-1:-1;3350:145:43;;;;;:::i;:::-;;:::i;5190:75:107:-;;;;;;;;;;;;5223:42;5190:75;;2320:49:43;;;;;;;;;;-1:-1:-1;2320:49:43;2365:4;2320:49;;21330:190:107;;;;;;;;;;-1:-1:-1;21330:190:107;;;;;:::i;:::-;;:::i;10015:124::-;;;;;;;;;;-1:-1:-1;10015:124:107;;;;;:::i;:::-;;:::i;6083:26::-;;;;;;;;;;-1:-1:-1;6083:26:107;;;;;;;-1:-1:-1;;;;;6083:26:107;;;21145:179;;;;;;;;;;;;;:::i;6936:30::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;24734:465::-;;;;;;;;;;;;;:::i;5479:54::-;;;;;;;;;;;;;:::i;404:115:105:-;;;;;;;;;;-1:-1:-1;404:115:105;;;;;:::i;:::-;;:::i;6851:27:107:-;;;;;;;;;;;;;:::i;5705:147:43:-;;;;;;;;;;-1:-1:-1;5705:147:43;;;;;:::i;:::-;;:::i;6792:17:107:-;;;;;;;;;;-1:-1:-1;6792:17:107;;;;-1:-1:-1;;;;;6792:17:107;;;5355:49;;;;;;;;;;;;5397:7;5355:49;;6639:25;;;;;;;;;;-1:-1:-1;6639:25:107;;;;-1:-1:-1;;;;;6639:25:107;;;13329:661;;;;;;;;;;-1:-1:-1;13329:661:107;;;;;:::i;:::-;;:::i;24595:133::-;;;;;;;;;;-1:-1:-1;24595:133:107;;;;;:::i;:::-;;:::i;2335:198:45:-;;;;;;;;;;-1:-1:-1;2335:198:45;;;;;:::i;:::-;;:::i;6167:30:107:-;;;;;;;;;;-1:-1:-1;6167:30:107;;;;-1:-1:-1;;;;;6167:30:107;;;5066:38;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5066:38:107;;;;;3050:213:43;3135:4;-1:-1:-1;;;;;;3158:58:43;;-1:-1:-1;;;3158:58:43;;:98;;-1:-1:-1;;;;;;;;;;1189:51:53;;;3220:36:43;3151:105;3050:213;-1:-1:-1;;3050:213:43:o;24264:288:107:-;24340:17;:15;:17::i;:::-;5513:20;5397:7;5513:2;:20;:::i;:::-;24371:16;:26;24367:86;;;24420:22;;-1:-1:-1;;;24420:22:107;;;;;;;;;;;24367:86;24462:12;:31;;;24508:37;;643:25:126;;;24508:37:107;;631:2:126;616:18;24508:37:107;;;;;;;;24264:288;:::o;13996:1200::-;2526:21:48;:19;:21::i;:::-;14104:34:107::1;14130:7;14104:25;:34::i;:::-;14148:30;14168:9;14148:19;:30::i;:::-;14188:29;14207:9;14188:18;:29::i;:::-;-1:-1:-1::0;;;;;14232:36:107;;::::1;;::::0;;;:27:::1;:36;::::0;;;;;;;:47;;::::1;::::0;;;;;;;::::1;;14228:107;;;14302:22;;-1:-1:-1::0;;;14302:22:107::1;;;;;;;;;;;14228:107;-1:-1:-1::0;;;;;14368:28:107;;::::1;14345:20;14368:28:::0;;;:19:::1;:28;::::0;;;;;;;;14345:51;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;;::::0;::::1;;;;::::0;;;;;;;14491:19:::1;::::0;14571:36:::1;14540:9;-1:-1:-1::0;;;;;14525:40:107::1;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:82;;;;;;;;:::i;:::-;::::0;14521:384:::1;;14642:51;::::0;-1:-1:-1;;;14642:51:107;;-1:-1:-1;;;;;14642:39:107;::::1;::::0;::::1;::::0;:51:::1;::::0;14682:7;;14691:1:::1;::::0;14642:51:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14623:70;;14521:384;;;14760:32;14729:9;-1:-1:-1::0;;;;;14714:40:107::1;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:78;;;;;;;;:::i;:::-;;14710:195;;14827:67;::::0;-1:-1:-1;;;14827:67:107;;-1:-1:-1;;;;;14827:39:107;::::1;::::0;::::1;::::0;:67:::1;::::0;14867:7;;14876:17;;14827:67:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14808:86;;14710:195;-1:-1:-1::0;;;;;14915:30:107;;::::1;;::::0;;;:21:::1;:30;::::0;;;;;;;:41;;::::1;::::0;;;;;;;;;:60;;;15004:36;;;:27:::1;:36:::0;;;;;:47;;;;;;;;:54;;-1:-1:-1;;15004:54:107::1;15054:4;15004:54:::0;;::::1;::::0;;;15069:27;;;:18:::1;:27:::0;;;;;:43;;;;::::1;::::0;;;;;;;;::::1;::::0;;-1:-1:-1;;;;;;15069:43:107::1;::::0;;::::1;::::0;;;15128:61;::::1;::::0;::::1;::::0;14937:7;;14946:9;;14959:16;;15128:61:::1;:::i;:::-;;;;;;;;14094:1102;;;2568:20:48::0;1808:1;3074:7;:22;2894:209;2568:20;13996:1200:107;;:::o;20564:128::-;20632:17;:15;:17::i;:::-;20659:26;20675:9;20659:15;:26::i;:::-;20564:128;:::o;9899:110::-;1355:13:45;:11;:13::i;:::-;9975:16:107::1;:27:::0;;-1:-1:-1;;;;;;9975:27:107::1;-1:-1:-1::0;;;;;9975:27:107;;;::::1;::::0;;;::::1;::::0;;9899:110::o;19729:128::-;19797:17;:15;:17::i;:::-;19824:26;19837:12;19824;:26::i;15202:699::-;15299:34;15325:7;15299:25;:34::i;:::-;15343:29;15362:9;15343:18;:29::i;:::-;15382:42;15402:10;15414:9;15382:19;:42::i;:::-;-1:-1:-1;;;;;15440:36:107;;;;;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;15435:110;;15510:24;;-1:-1:-1;;;15510:24:107;;;;;;;;;;;15435:110;-1:-1:-1;;;;;15555:36:107;;;15605:5;15555:36;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;:55;;-1:-1:-1;;15555:55:107;;;15620:30;;;:21;:30;;;;;:41;;;;;;;;;:45;15675:44;15583:7;15592:9;15675:24;:44::i;:::-;15849:45;15875:7;15884:9;15849:45;;;;;;;:::i;:::-;;;;;;;;15202:699;;:::o;4855:129:43:-;4929:7;4955:12;;;:6;:12;;;;;:22;;;;4855:129::o;23464:477:107:-;23597:15;;23527:7;;-1:-1:-1;;;;;23597:15:107;23527:7;23692:21;5397:7;23692:3;:21;:::i;:::-;23675:12;;23653:19;;:34;;;;:::i;:::-;23652:62;;;;:::i;:::-;23623:91;-1:-1:-1;23724:24:107;23835:21;5397:7;23835:3;:21;:::i;:::-;23786:44;;-1:-1:-1;;;23786:44:107;;-1:-1:-1;;;;;23786:29:107;;;;;:44;;23824:4;;23786:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23764:19;;:66;;;;:::i;:::-;23763:94;;;;:::i;:::-;23724:133;;23918:16;23897:18;23875:19;;:40;;;;:::i;:::-;:59;;;;:::i;:::-;23868:66;;;;;23464:477;:::o;7547:82::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7547:82:107;;-1:-1:-1;7547:82:107;;-1:-1:-1;7547:82:107:o;5280:145:43:-;5363:18;5376:4;5363:12;:18::i;:::-;2798:16;2809:4;2798:10;:16::i;:::-;5393:25:::1;5404:4;5410:7;5393:10;:25::i;:::-;5280:145:::0;;;:::o;24068:190:107:-;24145:17;:15;:17::i;:::-;24172:19;:32;;;24219;;643:25:126;;;24219:32:107;;631:2:126;616:18;24219:32:107;497:177:126;10289:2496:107;3279:19:47;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:47;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;;3388:44;3426:4;3388:29;:44::i;:::-;3387:45;:66;;;;-1:-1:-1;3436:12:47;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:47;;18207:2:126;3325:201:47;;;18189:21:126;18246:2;18226:18;;;18219:30;18285:34;18265:18;;;18258:62;-1:-1:-1;;;18336:18:126;;;18329:44;18390:19;;3325:201:47;;;;;;;;;3536:12;:16;;-1:-1:-1;;3536:16:47;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:47;;;;;3562:65;10506:23:107::1;10523:5;10506:16;:23::i;:::-;10539:24;:22;:24::i;:::-;10573:22;:20;:22::i;:::-;10606:49;-1:-1:-1::0;;;;;;;;;;;2365:4:43::1;10606:13:107;:49::i;:::-;10666:48;10693:6;:19;;;10666:18;:48::i;:::-;10724:39;10743:6;:19;;;10724:18;:39::i;:::-;10792:12:::0;;10773:32:::1;::::0;:18:::1;:32::i;:::-;10815:43;10834:6;:23;;;10815:18;:43::i;:::-;10873:20;::::0;::::1;::::0;:25;10869:95:::1;;10914:39;10933:6;:19;;;10914:18;:39::i;:::-;10986:12:::0;;10973:4:::1;:26:::0;;-1:-1:-1;;;;;10973:26:107;;::::1;-1:-1:-1::0;;;;;;10973:26:107;;::::1;;::::0;;;11023:19:::1;::::0;::::1;::::0;11009:11:::1;:33:::0;;;;;::::1;::::0;::::1;;::::0;;11056:27:::1;::::0;::::1;::::0;10986:12:::1;11056:32:::0;11052:89:::1;;11111:19;;-1:-1:-1::0;;;11111:19:107::1;;;;;;;;;;;11052:89;11172:27;::::0;::::1;::::0;11150:19:::1;:49:::0;11224:20:::1;::::0;::::1;::::0;11209:12:::1;:35:::0;11270:21:::1;::::0;::::1;::::0;11254:13:::1;:37:::0;;-1:-1:-1;;11254:37:107::1;::::0;::::1;;::::0;;;::::1;::::0;;11317:21:::1;::::0;::::1;::::0;11301:13:::1;::::0;:37:::1;::::0;:13;:37:::1;:::i;:::-;-1:-1:-1::0;11367:23:107::1;::::0;::::1;::::0;11348:16:::1;::::0;:42:::1;::::0;:16;:42:::1;:::i;:::-;-1:-1:-1::0;11419:23:107::1;::::0;::::1;::::0;11401:15:::1;:41:::0;;-1:-1:-1;;;;;;11401:41:107;;::::1;-1:-1:-1::0;;;;;11401:41:107;;::::1;;::::0;;11466:19:::1;::::0;::::1;::::0;11452:11:::1;:33:::0;;-1:-1:-1;;;;;;11452:33:107::1;::::0;;::::1;::::0;::::1;::::0;;;::::1;::::0;;11515:19;;::::1;::::0;11495:11:::1;:40:::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;11546:47:::1;::::0;-1:-1:-1;;;;;;;;;;;8189:27:107;11546:10:::1;:47::i;:::-;11625:4;;;;;;;;;-1:-1:-1::0;;;;;11625:4:107::1;-1:-1:-1::0;;;;;11625:16:107::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11604:8;:40:::0;;-1:-1:-1;;;;;;11604:40:107::1;-1:-1:-1::0;;;;;11604:40:107;;::::1;;::::0;;11751:11:::1;::::0;11655:36:::1;::::0;11751:11:::1;11743:32;-1:-1:-1::0;11743:37:107;11739:427:::1;;11818:16;::::0;;11832:1:::1;11818:16:::0;;;;;::::1;::::0;;;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11818:16:107::1;11796:38;;11873:10;11848:19;11868:1;11848:22;;;;;;;;:::i;:::-;;;;;;:35;-1:-1:-1::0;;;;;11848:35:107::1;;;-1:-1:-1::0;;;;;11848:35:107::1;;;::::0;::::1;11739:427;;;11940:11;::::0;:23:::1;::::0;;-1:-1:-1;;;11940:23:107;;;;11914::::1;::::0;-1:-1:-1;;;;;11940:11:107::1;::::0;:21:::1;::::0;:23:::1;::::0;;::::1;::::0;11914;;11940;;;;;;;:11;:23:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;11940:23:107::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;11914:49;;12013:6;:13;12029:1;12013:17;;;;:::i;:::-;-1:-1:-1::0;;;;;11999:32:107::1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;-1:-1:-1;11999:32:107::1;;11977:54;;12050:9;12045:111;12069:6;:13;12065:1;:17;12045:111;;;12132:6;12139:1;12132:9;;;;;;;;:::i;:::-;;;;;;;12107:19;12127:1;12107:22;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12107:34:107;;::::1;:22;::::0;;::::1;::::0;;;;;;;:34;12084:3;::::1;::::0;::::1;:::i;:::-;;;;12045:111;;;;11900:266;11739:427;12238:11;::::0;12196:26;;-1:-1:-1;;;;;12238:11:107;;::::1;::::0;12176:19;;12196:30:::1;::::0;12238:11;;12196:30:::1;:::i;:::-;12176:51;;;;;;;;:::i;:::-;;;;;;:74;-1:-1:-1::0;;;;;12176:74:107::1;;;-1:-1:-1::0;;;;;12176:74:107::1;;;::::0;::::1;12322:4;12260:19;12309:1;12280:19;:26;:30;;;;:::i;:::-;12260:51;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12260:67:107;;::::1;:51;::::0;;::::1;::::0;;;;;:67;12439:8:::1;::::0;12462:13:::1;::::0;::::1;::::0;12492:16:::1;::::0;::::1;::::0;12439:106:::1;::::0;-1:-1:-1;;;12439:106:107;;:8;;;::::1;::::0;:22:::1;::::0;:106:::1;::::0;12462:13;12477::::1;::::0;12518:4:::1;::::0;12525:19;;12439:106:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12415:9;:130:::0;12556:36;;::::1;::::0;:14:::1;::::0;:36:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;12603:16:107::1;:36:::0;;-1:-1:-1;;;;;12603:36:107;;::::1;-1:-1:-1::0;;;;;;12603:36:107;;::::1;;::::0;;;12649:23:::1;:50:::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;12735:9:::1;::::0;12761:16:::1;::::0;::::1;::::0;12715:63:::1;::::0;::::1;::::0;::::1;::::0;12735:9;;12746:13:::1;::::0;12761:16;12715:63:::1;:::i;:::-;;;;;;;;10496:2289;3651:14:47::0;3647:99;;;3697:5;3681:21;;-1:-1:-1;;3681:21:47;;;3721:14;;-1:-1:-1;25841:36:126;;3721:14:47;;25829:2:126;25814:18;3721:14:47;;;;;;;3647:99;3269:483;10289:2496:107;;;;:::o;21526:1932::-;2526:21:48;:19;:21::i;:::-;21616:10:107::1;21598:15;21663:28:::0;;;:19:::1;:28;::::0;;;;21752:15:::1;::::0;21663:28;;-1:-1:-1;;;;;21752:15:107;;::::1;::::0;21847:21:::1;5397:7;21847:3;:21;:::i;:::-;21830:12;;21808:19;;:34;;;;:::i;:::-;21807:62;;;;:::i;:::-;21778:91:::0;-1:-1:-1;21879:24:107::1;21990:21;5397:7;21990:3;:21;:::i;:::-;21941:44;::::0;-1:-1:-1;;;21941:44:107;;-1:-1:-1;;;;;21941:29:107;::::1;::::0;::::1;::::0;:44:::1;::::0;21979:4:::1;::::0;21941:44:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21919:19;;:66;;;;:::i;:::-;21918:94;;;;:::i;:::-;21879:133;;22027:17;22036:7;22027:8;:17::i;:::-;22022:1430;;22060:22;::::0;::::1;:29:::0;;-1:-1:-1;;22060:29:107::1;22085:4;22060:29:::0;;::::1;::::0;;;22129:19:::1;::::0;22104:22;;::::1;:44:::0;;;22300:143:::1;::::0;22346:7;;22363:4:::1;::::0;22413:16;;22370:40:::1;::::0;22392:18;;22370:40:::1;:::i;:::-;:59;;;;:::i;:::-;22300:11;::::0;-1:-1:-1;;;;;22300:11:107::1;::::0;:143;;:28:::1;:143::i;:::-;22868:22:::0;;22864:178:::1;;22995:11;::::0;22970::::1;::::0;:57:::1;::::0;-1:-1:-1;;;;;22970:11:107;;::::1;::::0;22995::::1;::::0;;::::1;;23008:18:::0;22970:24:::1;:57::i;:::-;23125:20:::0;;23121:255:::1;;23279:82;23304:14;-1:-1:-1::0;;;;;23304:36:107::1;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23279:11;::::0;-1:-1:-1;;;;;23279:11:107::1;::::0;23344:16;23279:24:::1;:82::i;:::-;23395:46;23412:7;23421:19;;23395:46;;;;;;;:::i;:::-;;;;;;;;22022:1430;21588:1870;;;;;2568:20:48::0;1808:1;3074:7;:22;2894:209;2568:20;21526:1932:107:o;6389:214:43:-;-1:-1:-1;;;;;6484:23:43;;965:10:51;6484:23:43;6476:83;;;;-1:-1:-1;;;6476:83:43;;26090:2:126;6476:83:43;;;26072:21:126;26129:2;26109:18;;;26102:30;26168:34;26148:18;;;26141:62;-1:-1:-1;;;26219:18:126;;;26212:45;26274:19;;6476:83:43;25888:411:126;6476:83:43;6570:26;6582:4;6588:7;6570:11;:26::i;3143:195:64:-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3224:36:::1;3242:17;3224;:36::i;:::-;3311:12;::::0;;3321:1:::1;3311:12:::0;;;::::1;::::0;::::1;::::0;;;3270:61:::1;::::0;3292:17;;3311:12;3270:21:::1;:61::i;20698:248:107:-:0;20770:17;:15;:17::i;:::-;20797:25;20816:5;20797:18;:25::i;:::-;20832:18;:26;;-1:-1:-1;;;;;;20832:26:107;-1:-1:-1;;;;;20832:26:107;;;;;;;;;20906:11;;20873:66;;;;;;20906:11;;;20832:26;20873:66;:::i;3657:220:64:-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3772:36:::1;3790:17;3772;:36::i;:::-;3818:52;3840:17;3859:4;3865;3818:21;:52::i;12791:532:107:-:0;13085:16;;13181:4;;13188:23;;12950:14;;;;;;-1:-1:-1;;;;;13085:16:107;;;;-1:-1:-1;;;13143:28:107;13181:4;;;13188:23;13213:7;:5;:7::i;:::-;13120:101;;-1:-1:-1;;;;;27705:15:126;;;13120:101:107;;;27687:34:126;27757:15;;;27737:18;;;27730:43;27809:15;;;27789:18;;;27782:43;27622:18;;13120:101:107;;;-1:-1:-1;;13120:101:107;;;;;;;;;;;;;;-1:-1:-1;;;;;13120:101:107;-1:-1:-1;;;;;;13120:101:107;;;;;;;;;;13043:192;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;12998:247;;13263:53;13274:13;13289:6;13297:7;13306:9;13263:10;:53::i;:::-;13256:60;;;;;12791:532;;;;;;:::o;2762:131:64:-;2840:7;2080:4;-1:-1:-1;;;;;2089:6:64;2072:23;;2064:92;;;;-1:-1:-1;;;2064:92:64;;28358:2:126;2064:92:64;;;28340:21:126;28397:2;28377:18;;;28370:30;28436:34;28416:18;;;28409:62;-1:-1:-1;;;28487:18:126;;;28480:54;28551:19;;2064:92:64;28156:420:126;2064:92:64;-1:-1:-1;;;;;;;;;;;;2762:131:64;:::o;16346:1009:107:-;2526:21:48;:19;:21::i;:::-;16430:26:107::1;:24;:26::i;:::-;16483:10;16466:14;16539:26:::0;;;:18:::1;:26;::::0;;;;;;;16503:62;;;;;;::::1;::::0;;;;;;;;;;;;16539:26;;16503:62;;::::1;16539:26:::0;16503:62;;::::1;;;;;;;;;;;;;;;;::::0;;-1:-1:-1;;;;;16503:62:107::1;::::0;;;;;::::1;::::0;::::1;;::::0;;::::1;;;;;;;;;;;16576:24;16616:9:::0;16628:1:::1;16616:13;;16611:536;16635:16;:23;16631:1;:27;16611:536;;;16818:16;16835:1;16818:19;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;16803:49:107::1;;16853:6;16861:13;16803:72;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16784:91:::0;-1:-1:-1;16893:21:107;;16889:232:::1;;-1:-1:-1::0;;;;;16934:29:107;::::1;;::::0;;;:21:::1;:29;::::0;;;;16964:19;;16988:16;;16934:29;16964:16;;16981:1;;16964:19;::::1;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;16934:50:107::1;-1:-1:-1::0;;;;;16934:50:107::1;;;;;;;;;;;;;:70;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;16889:232:107::1;16660:3:::0;::::1;::::0;::::1;:::i;:::-;;;;16611:536;;;-1:-1:-1::0;17157:11:107::1;::::0;:66:::1;::::0;-1:-1:-1;;;;;17157:11:107::1;17186:6:::0;17202:4:::1;17209:13:::0;17157:28:::1;:66::i;:::-;-1:-1:-1::0;;;;;17233:27:107;::::1;;::::0;;;:19:::1;:27;::::0;;;;:40:::1;;:57:::0;;17277:13;;17233:27;:57:::1;::::0;17277:13;;17233:57:::1;:::i;:::-;::::0;;;-1:-1:-1;;17305:43:107::1;::::0;::::1;::::0;::::1;::::0;17326:6;;17334:13;;17305:43:::1;:::i;:::-;;;;;;;;16420:935;;;2568:20:48::0;1808:1;3074:7;:22;2894:209;17498:1562:107;2526:21:48;:19;:21::i;:::-;17584:26:107::1;:24;:26::i;:::-;17637:10;17620:14;17694:26:::0;;;:18:::1;:26;::::0;;;;;;;17831:19:::1;::::0;17770::::1;:27:::0;;;;;;:40:::1;;::::0;17694:26;;17620:14;17831:19;17770:58:::1;::::0;17813:15;;17770:58:::1;:::i;:::-;:80;17766:140;;;17873:22;;-1:-1:-1::0;;;17873:22:107::1;;;;;;;;;;;17766:140;17915:11;::::0;:49:::1;::::0;-1:-1:-1;;;;;17915:11:107::1;17940:6:::0;17948:15;17915:24:::1;:49::i;:::-;17979:9;17974:951;17998:23:::0;;17994:27;::::1;17974:951;;;18042:16;18061;18078:1;18061:19;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;18061:19:107::1;::::0;-1:-1:-1;18098:60:107::1;18061:19:::0;-1:-1:-1;;;18098:26:107::1;:60::i;:::-;18094:804;;;18197:63;::::0;-1:-1:-1;;;18197:63:107;;-1:-1:-1;;;;;18197:38:107;::::1;::::0;::::1;::::0;:63:::1;::::0;18236:6;;18244:15;;18197:63:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18178:82;;18278:20;18301:21;:29;18323:6;-1:-1:-1::0;;;;;18301:29:107::1;-1:-1:-1::0;;;;;18301:29:107::1;;;;;;;;;;;;:50;18331:16;18348:1;18331:19;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;::::1;::::0;-1:-1:-1;;;;;18331:19:107::1;18301:50:::0;;;::::1;::::0;;;;;;;;;;-1:-1:-1;18373:31:107;;::::1;18369:259;;;18435:57;::::0;-1:-1:-1;;;18435:57:107;;::::1;::::0;::::1;28755:25:126::0;;;28796:18;;;28789:34;;;28728:18;;18435:57:107::1;28581:248:126::0;18369:259:107::1;-1:-1:-1::0;;;;;18539:29:107;::::1;;::::0;;;:21:::1;:29;::::0;;;;18569:19;;18593:16;;18539:29;18569:16;;18586:1;;18569:19;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;::::1;::::0;-1:-1:-1;;;;;18569:19:107::1;18539:50:::0;;;::::1;::::0;;;;;;;;:70;;:50;;18569:19;18539:70:::1;::::0;;;::::1;:::i;:::-;::::0;;;-1:-1:-1;;18160:482:107::1;18094:804;;;18772:23:::0;;18755:16;;18772:27:::1;::::0;18798:1:::1;::::0;18772:27:::1;:::i;:::-;18755:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;18755:45:107::1;18733:16;18750:1;18733:19;;;;;;;;:::i;:::-;;;;;;;;;:67;;;;;-1:-1:-1::0;;;;;18733:67:107::1;;;;;-1:-1:-1::0;;;;;18733:67:107::1;;;;;;18818:16;:22;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;18818:22:107;;;;;-1:-1:-1;;;;;;18818:22:107::1;::::0;;;;;18858:25:::1;18874:8:::0;18858:15:::1;:25::i;:::-;-1:-1:-1::0;18023:3:107;::::1;::::0;::::1;:::i;:::-;;;;17974:951;;;-1:-1:-1::0;;;;;;18934:27:107;::::1;;::::0;;;:19:::1;:27;::::0;;;;:40:::1;;:59:::0;;18978:15;;18934:27;:59:::1;::::0;18978:15;;18934:59:::1;:::i;:::-;::::0;;;-1:-1:-1;;19008:45:107::1;::::0;::::1;::::0;::::1;::::0;19029:6;;19037:15;;19008:45:::1;:::i;25685:583::-:0;2526:21:48;:19;:21::i;:::-;25786:17:107::1;:15;:17::i;:::-;25818:13;::::0;;::::1;25813:68;;25854:16;;-1:-1:-1::0;;;25854:16:107::1;;;;;;;;;;;25813:68;25895:17;25904:7;25895:8;:17::i;:::-;25890:75;;25935:19;;-1:-1:-1::0;;;25935:19:107::1;;;;;;;;;;;25890:75;-1:-1:-1::0;;;;;25997:28:107;;::::1;25974:20;25997:28:::0;;;:19:::1;:28;::::0;;;;;;;;25974:51;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;;::::1;::::0;;;;::::1;;::::0;::::1;;;;::::0;;;;26035:32:::1;26017:7:::0;26035:23:::1;:32::i;:::-;-1:-1:-1::0;;;;;26084:28:107;;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;26077:35;;-1:-1:-1;;;;;;26077:35:107::1;::::0;;;;::::1;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;26077:35:107::1;::::0;;26166:19;::::1;::::0;26123:11:::1;::::0;:63:::1;::::0;:11:::1;::::0;26148:16;;26123:24:::1;:63::i;:::-;26201:60;26214:7;26223:16;26241:6;:19;;;26201:60;;;;;;;;:::i;:::-;;;;;;;;25776:492;2568:20:48::0;1808:1;3074:7;:22;2894:209;2085:101:45;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;20121:237:107:-:0;20194:17;:15;:17::i;:::-;20248:4;;:20;;-1:-1:-1;;;20248:20:107;;;;;643:25:126;;;20221:16:107;;-1:-1:-1;;;;;20248:4:107;;:12;;616:18:126;;20248:20:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20248:20:107;;;;;;;;;;;;:::i;:::-;:29;;;20221:57;;20288:28;20307:8;20288:18;:28::i;:::-;20326:25;20342:8;20326:15;:25::i;19402:321::-;19472:17;:15;:17::i;:::-;19526:4;;:20;;-1:-1:-1;;;19526:20:107;;;;;643:25:126;;;19499:16:107;;-1:-1:-1;;;;;19526:4:107;;:12;;616:18:126;;19526:20:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19526:20:107;;;;;;;;;;;;:::i;:::-;:29;;;19499:57;;19566:28;19585:8;19566:18;:28::i;:::-;19608:60;-1:-1:-1;;;;;19608:26:107;;-1:-1:-1;;;19608:26:107;:60::i;:::-;19604:113;;;19684:22;19697:8;19684:12;:22::i;525:604:105:-;572:7;591:20;614:26;1534:6:45;;-1:-1:-1;;;;;1534:6:45;;1462:85;614:26:105;591:49;;715:12;-1:-1:-1;;;;;707:33:105;;744:1;707:38;703:420;;829:12;525:604;-1:-1:-1;525:604:105:o;703:420::-;895:12;-1:-1:-1;;;;;876:38:105;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;876:40:105;;;;;;;;-1:-1:-1;;876:40:105;;;;;;;;;;;;:::i;:::-;;;872:241;;1086:12;525:604;-1:-1:-1;525:604:105:o;872:241::-;581:548;525:604;:::o;3350:145:43:-;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:43;;;;;;;;;;;;;;;3350:145::o;21330:190:107:-;-1:-1:-1;;;;;21446:28:107;;;21394:14;21446:28;;;:19;:28;;;;;;;;;21420:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21330:190::o;10015:124::-;1355:13:45;:11;:13::i;:::-;10098:23:107::1;:34:::0;;-1:-1:-1;;;;;;10098:34:107::1;-1:-1:-1::0;;;;;10098:34:107;;;::::1;::::0;;;::::1;::::0;;10015:124::o;21145:179::-;21217:18;;-1:-1:-1;;;;;21217:18:107;21203:10;:32;21199:89;;21258:19;;-1:-1:-1;;;21258:19:107;;;;;;;;;;;21199:89;21297:20;:18;:20::i;6936:30::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;24734:465::-;2526:21:48;:19;:21::i;:::-;24818:10:107::1;24838:34;24818:10:::0;24838:25:::1;:34::i;:::-;24882:32;24906:7;24882:23;:32::i;:::-;-1:-1:-1::0;;;;;24947:28:107;;::::1;24924:20;24947:28:::0;;;:19:::1;:28;::::0;;;;;;;24924:51;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;;::::0;;;;24992:28;;;-1:-1:-1;;;;;;24985:35:107;;::::1;::::0;;;;;;;-1:-1:-1;;24985:35:107;;::::1;::::0;;;25037:18:::1;:27:::0;;;;;24924:51;;25030:34:::1;::::0;25037:27;25030:34:::1;:::i;:::-;25109:19;::::0;::::1;::::0;25075:11:::1;::::0;:54:::1;::::0;-1:-1:-1;;;;;25075:11:107;;::::1;::::0;25100:7;;25075:24:::1;:54::i;:::-;25144:48;25163:7;25172:6;:19;;;25144:48;;;;;;;:::i;:::-;;;;;;;;24790:409;;2568:20:48::0;1808:1;3074:7;:22;2894:209;5479:54:107;5513:20;5397:7;5513:2;:20;:::i;:::-;5479:54;:::o;404:115:105:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;:::-;480:32:105::1;499:12;480:18;:32::i;6851:27:107:-:0;;;;;;;:::i;5705:147:43:-;5789:18;5802:4;5789:12;:18::i;:::-;2798:16;2809:4;2798:10;:16::i;:::-;5819:26:::1;5831:4;5837:7;5819:11;:26::i;13329:661:107:-:0;13521:14;;5223:42;-1:-1:-1;;;;;13601:20:107;;;13597:65;;-1:-1:-1;13645:6:107;13597:65;13682:9;13671:20;;13702:31;13736:14;13702:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13702:48:107;;;;;;;;;;;;;;;;-1:-1:-1;;13770:4:107;;13817:9;;13838:19;;13702:48;;-1:-1:-1;;;;;;13770:4:107;;;;:33;;-1:-1:-1;13817:9:107;;-1:-1:-1;13828:8:107;;-1:-1:-1;13838:19:107;;13849:7;;13838:19;;;:::i;:::-;;;;;;;;;;;;;13859:5;13866:1;13869:9;13880:14;13770:134;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13761:143;;13920:63;13932:6;13940:8;13958:4;13965:6;13973:9;13920:63;;;;;;;;;;:::i;:::-;;;;;;;;13555:435;;13329:661;;;;;;;:::o;24595:133::-;24666:4;24689:32;-1:-1:-1;;;;;;;;;;;24713:7:107;24689;:32::i;2335:198:45:-;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:45;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:45;;34909:2:126;2415:73:45::1;::::0;::::1;34891:21:126::0;34948:2;34928:18;;;34921:30;34987:34;34967:18;;;34960:62;-1:-1:-1;;;35038:18:126;;;35031:36;35084:19;;2415:73:45::1;34707:402:126::0;8389:167:107;8453:35;-1:-1:-1;;;;;;;;;;;8477:10:107;8453:7;:35::i;:::-;8448:102;;8528:10;8511:28;;-1:-1:-1;;;8511:28:107;;;;;;;;:::i;2601:287:48:-;1851:1;2733:7;;:19;2725:63;;;;-1:-1:-1;;;2725:63:48;;35316:2:126;2725:63:48;;;35298:21:126;35355:2;35335:18;;;35328:30;35394:33;35374:18;;;35367:61;35445:18;;2725:63:48;35114:355:126;2725:63:48;1851:1;2863:7;:18;2601:287::o;8720:157:107:-;8801:17;8810:7;8801:8;:17::i;:::-;8796:75;;8841:19;;-1:-1:-1;;;8841:19:107;;;;;;;;;;;8883:163;-1:-1:-1;;;;;8960:28:107;;;;;;:17;:28;;;;;;;;8955:85;;9011:18;;-1:-1:-1;;;9011:18:107;;;;;;;;;;;9426:133;-1:-1:-1;;;;;9500:22:107;;9496:56;;9531:21;;-1:-1:-1;;;9531:21:107;;;;;;;;;;;2894:209:48;1808:1;3074:7;:22;2894:209::o;20364:194:107:-;20435:29;20454:9;20435:18;:29::i;:::-;-1:-1:-1;;;;;20474:28:107;;20505:5;20474:28;;;:17;:28;;;;;;;:36;;-1:-1:-1;;20474:36:107;;;20525:26;;;;;20492:9;;20525:26;:::i;1620:130:45:-;965:10:51;1683:7:45;:5;:7::i;:::-;-1:-1:-1;;;;;1683:23:45;;1675:68;;;;-1:-1:-1;;;1675:68:45;;35676:2:126;1675:68:45;;;35658:21:126;;;35695:18;;;35688:30;35754:34;35734:18;;;35727:62;35806:18;;1675:68:45;35474:356:126;19863:252:107;-1:-1:-1;;;;;19938:31:107;;;;;;:17;:31;;;;;;;;19934:85;;;19992:16;;-1:-1:-1;;;19992:16:107;;;;;;;;;;;19934:85;-1:-1:-1;;;;;20028:31:107;;;;;;:17;:31;;;;;;;:38;;-1:-1:-1;;20028:38:107;20062:4;20028:38;;;20081:27;;;;;20046:12;;20081:27;:::i;9052:172::-;9156:9;-1:-1:-1;;;;;9145:20:107;:7;-1:-1:-1;;;;;9145:20:107;;9141:77;;9188:19;;-1:-1:-1;;;9188:19:107;;;;;;;;;;;15907:433;-1:-1:-1;;;;;16041:27:107;;16004:34;16041:27;;;:18;:27;;;;;;16078:256;16102:23;;16098:27;;16078:256;;;16173:9;-1:-1:-1;;;;;16150:32:107;:16;16167:1;16150:19;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;16150:19:107;:32;16146:178;;16241:23;;16224:16;;16241:27;;16267:1;;16241:27;:::i;:::-;16224:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16224:45:107;16202:16;16219:1;16202:19;;;;;;;;:::i;:::-;;;;;;;;;:67;;;;;-1:-1:-1;;;;;16202:67:107;;;;;-1:-1:-1;;;;;16202:67:107;;;;;;16287:16;:22;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;16287:22:107;;;;;-1:-1:-1;;;;;;16287:22:107;;;;;;16146:178;16127:3;;;;:::i;:::-;;;;16078:256;;;;15994:346;15907:433;;:::o;3789:103:43:-;3855:30;3866:4;965:10:51;3855::43;:30::i;7938:233::-;8021:22;8029:4;8035:7;8021;:22::i;:::-;8016:149;;8059:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8059:29:43;;;;;;;;;:36;;-1:-1:-1;;8059:36:43;8091:4;8059:36;;;8141:12;965:10:51;;886:96;8141:12:43;-1:-1:-1;;;;;8114:40:43;8132:7;-1:-1:-1;;;;;8114:40:43;8126:4;8114:40;;;;;;;;;;7938:233;;:::o;1423:320:50:-;-1:-1:-1;;;;;1713:19:50;;:23;;;1423:320::o;1889:111:48:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;:::-;1959:34:48::1;:32;:34::i;2838:65:43:-:0;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;7523:247:43:-;7606:25;7634:18;7647:4;7634:12;:18::i;:::-;7662:12;;;;:6;:12;;;;;;:22;;:34;;;7711:52;7606:46;;-1:-1:-1;7687:9:43;;7606:46;;7669:4;;7711:52;;7662:12;7711:52;7596:174;7523:247;;:::o;1355:203:73:-;1455:96;1475:5;1505:27;;;1534:4;1540:2;1544:5;1482:68;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1482:68:73;;;;;;;;;;;;;;-1:-1:-1;;;;;1482:68:73;-1:-1:-1;;;;;;1482:68:73;;;;;;;;;;1455:19;:96::i;941:175::-;1023:86;1043:5;1073:23;;;1098:2;1102:5;1050:58;;;;;;;;;:::i;8342:234:43:-;8425:22;8433:4;8439:7;8425;:22::i;:::-;8421:149;;;8495:5;8463:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8463:29:43;;;;;;;;;;:37;;-1:-1:-1;;8463:37:43;;;8519:40;965:10:51;;8463:12:43;;8519:40;;8495:5;8519:40;8342:234;;:::o;1175:140:60:-;-1:-1:-1;;;;;;;;;;;1254:54:60;-1:-1:-1;;;;;1254:54:60;;1175:140::o;1135:169:105:-;1219:10;1208:7;:5;:7::i;:::-;-1:-1:-1;;;;;1208:21:105;;1204:94;;1267:10;1279:7;:5;:7::i;:::-;1252:35;;-1:-1:-1;;;1252:35:105;;;;;;;;;:::i;2494:922:60:-;689:66;2910:48;;;2906:504;;;2974:37;2993:17;2974:18;:37::i;2906:504::-;3064:17;-1:-1:-1;;;;;3046:50:60;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3046:52:60;;;;;;;;-1:-1:-1;;3046:52:60;;;;;;;;;;;;:::i;:::-;;;3042:291;;3262:56;;-1:-1:-1;;;3262:56:60;;36037:2:126;3262:56:60;;;36019:21:126;36076:2;36056:18;;;36049:30;36115:34;36095:18;;;36088:62;-1:-1:-1;;;36166:18:126;;;36159:44;36220:19;;3262:56:60;35835:410:126;3042:291:60;-1:-1:-1;;;;;;;;;;;3148:28:60;;3140:82;;;;-1:-1:-1;;;3140:82:60;;36452:2:126;3140:82:60;;;36434:21:126;36491:2;36471:18;;;36464:30;36530:34;36510:18;;;36503:62;-1:-1:-1;;;36581:18:126;;;36574:39;36630:19;;3140:82:60;36250:405:126;3140:82:60;3099:138;3346:53;3364:17;3383:4;3389:9;3346:17;:53::i;8562:152:107:-;8635:20;8644:10;8635:8;:20::i;:::-;8630:78;;8678:19;;-1:-1:-1;;;8678:19:107;;;;;;;;;;;1349:282:81;1436:4;1543:23;1558:7;1543:14;:23::i;:::-;:81;;;;;1570:54;1603:7;1612:11;1570:32;:54::i;:::-;1536:88;1349:282;-1:-1:-1;;;1349:282:81:o;25205:474:107:-;-1:-1:-1;;;;;25318:27:107;;25282:33;25318:27;;;:18;:27;;;;;;;;25282:63;;;;;;;;;;;;;;;;;;;25318:27;;25282:63;;;25318:27;25282:63;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25282:63:107;;;;;;;;;;;;;;;;;;;;;;;25426:9;25421:252;25445:16;:23;25441:1;:27;25421:252;;;25616:16;25633:1;25616:19;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;25601:52:107;;25654:7;25601:61;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25470:3;;;;;:::i;:::-;;;;25421:252;;2687:187:45;2779:6;;;-1:-1:-1;;;;;2795:17:45;;;-1:-1:-1;;;;;;2795:17:45;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;20952::107:-;21029:18;;;21009:11;:39;;-1:-1:-1;;;;;;21009:39:107;;;-1:-1:-1;;;;;21029:18:107;;21009:39;;;;21058:25;;;21098:34;;;;;;21029:18;;21098:34;:::i;:::-;;;;;;;;20952:187::o;4173:501:43:-;4261:22;4269:4;4275:7;4261;:22::i;:::-;4256:412;;4444:39;4475:7;4444:30;:39::i;:::-;4554:49;4593:4;4600:2;4554:30;:49::i;:::-;4351:274;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4351:274:43;;;;;;;;;;-1:-1:-1;;;4299:358:43;;;;;;;:::i;2006:109:48:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;5173:642:73:-;5592:23;5618:69;5646:4;5618:69;;;;;;;;;;;;;;;;;5626:5;-1:-1:-1;;;;;5618:27:73;;;:69;;;;;:::i;:::-;5592:95;;5705:10;:17;5726:1;5705:22;:56;;;;5742:10;5731:30;;;;;;;;;;;;:::i;:::-;5697:111;;;;-1:-1:-1;;;5697:111:73;;38145:2:126;5697:111:73;;;38127:21:126;38184:2;38164:18;;;38157:30;38223:34;38203:18;;;38196:62;-1:-1:-1;;;38274:18:126;;;38267:40;38324:19;;5697:111:73;37943:406:126;1406:259:60;1487:37;1506:17;1487:18;:37::i;:::-;1479:95;;;;-1:-1:-1;;;1479:95:60;;38556:2:126;1479:95:60;;;38538:21:126;38595:2;38575:18;;;38568:30;38634:34;38614:18;;;38607:62;-1:-1:-1;;;38685:18:126;;;38678:43;38738:19;;1479:95:60;38354:409:126;1479:95:60;-1:-1:-1;;;;;;;;;;;1584:74:60;;-1:-1:-1;;;;;;1584:74:60;-1:-1:-1;;;;;1584:74:60;;;;;;;;;;1406:259::o;2057:265::-;2165:29;2176:17;2165:10;:29::i;:::-;2222:1;2208:4;:11;:15;:28;;;;2227:9;2208:28;2204:112;;;2252:53;2281:17;2300:4;2252:28;:53::i;704:427:81:-;768:4;975:68;1008:7;-1:-1:-1;;;975:32:81;:68::i;:::-;:149;;;;-1:-1:-1;1060:64:81;1093:7;-1:-1:-1;;;;;;1060:32:81;:64::i;:::-;1059:65;956:168;704:427;-1:-1:-1;;704:427:81:o;4421:647::-;4592:71;;;-1:-1:-1;;;;;;38930:33:126;;4592:71:81;;;;38912:52:126;;;;4592:71:81;;;;;;;;;;38885:18:126;;;;4592:71:81;;;;;;;;;-1:-1:-1;;;;;4592:71:81;-1:-1:-1;;;4592:71:81;;;4871:20;;4523:4;;4592:71;4523:4;;;;;;4592:71;4523:4;;4871:20;4836:7;4829:5;4818:86;4807:97;;4931:16;4917:30;;4981:4;4975:11;4960:26;;5013:7;:29;;;;;5038:4;5024:10;:18;;5013:29;:48;;;;;5060:1;5046:11;:15;5013:48;5006:55;4421:647;-1:-1:-1;;;;;;;4421:647:81:o;2473:149:52:-;2531:13;2563:52;-1:-1:-1;;;;;2575:22:52;;376:2;1884:437;1959:13;1984:19;2016:10;2020:6;2016:1;:10;:::i;:::-;:14;;2029:1;2016:14;:::i;:::-;-1:-1:-1;;;;;2006:25:52;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2006:25:52;;1984:47;;-1:-1:-1;;;2041:6:52;2048:1;2041:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2041:15:52;;;;;;;;;-1:-1:-1;;;2066:6:52;2073:1;2066:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2066:15:52;;;;;;;;-1:-1:-1;2096:9:52;2108:10;2112:6;2108:1;:10;:::i;:::-;:14;;2121:1;2108:14;:::i;:::-;2096:26;;2091:128;2128:1;2124;:5;2091:128;;;-1:-1:-1;;;2171:5:52;2179:3;2171:11;2162:21;;;;;;;:::i;:::-;;;;2150:6;2157:1;2150:9;;;;;;;;:::i;:::-;;;;:33;-1:-1:-1;;;;;2150:33:52;;;;;;;;-1:-1:-1;2207:1:52;2197:11;;;;;2131:3;;;:::i;:::-;;;2091:128;;;-1:-1:-1;2236:10:52;;2228:55;;;;-1:-1:-1;;;2228:55:52;;39318:2:126;2228:55:52;;;39300:21:126;;;39337:18;;;39330:30;39396:34;39376:18;;;39369:62;39448:18;;2228:55:52;39116:356:126;4108:223:76;4241:12;4272:52;4294:6;4302:4;4308:1;4311:12;4272:21;:52::i;:::-;4265:59;4108:223;-1:-1:-1;;;;4108:223:76:o;1771:152:60:-;1837:37;1856:17;1837:18;:37::i;:::-;1889:27;;-1:-1:-1;;;;;1889:27:60;;;;;;;;1771:152;:::o;6674:198:76:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;5165:446::-;5330:12;5387:5;5362:21;:30;;5354:81;;;;-1:-1:-1;;;5354:81:76;;39679:2:126;5354:81:76;;;39661:21:126;39718:2;39698:18;;;39691:30;39757:34;39737:18;;;39730:62;-1:-1:-1;;;39808:18:126;;;39801:36;39854:19;;5354:81:76;39477:402:126;5354:81:76;5446:12;5460:23;5487:6;-1:-1:-1;;;;;5487:11:76;5506:5;5513:4;5487:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:73;;;;5535:69;5562:6;5570:7;5579:10;5591:12;5535:26;:69::i;7058:325::-;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:76;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:76:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;8121:18;8132:6;8121:10;:18::i;:::-;8113:60;;;;-1:-1:-1;;;8113:60:76;;40378:2:126;8113:60:76;;;40360:21:126;40417:2;40397:18;;;40390:30;40456:31;40436:18;;;40429:59;40505:18;;8113:60:76;40176:353:126;8113:60:76;-1:-1:-1;8208:10:76;8201:17;;7875:418;8249:33;8257:10;8269:12;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:76;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:286:126;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:126;;209:43;;199:71;;266:1;263;256:12;861:180;920:6;973:2;961:9;952:7;948:23;944:32;941:52;;;989:1;986;979:12;941:52;-1:-1:-1;1012:23:126;;861:180;-1:-1:-1;861:180:126:o;1046:131::-;-1:-1:-1;;;;;1121:31:126;;1111:42;;1101:70;;1167:1;1164;1157:12;1182:134;1250:20;;1279:31;1250:20;1279:31;:::i;:::-;1182:134;;;:::o;1321:388::-;1389:6;1397;1450:2;1438:9;1429:7;1425:23;1421:32;1418:52;;;1466:1;1463;1456:12;1418:52;1505:9;1492:23;1524:31;1549:5;1524:31;:::i;:::-;1574:5;-1:-1:-1;1631:2:126;1616:18;;1603:32;1644:33;1603:32;1644:33;:::i;:::-;1696:7;1686:17;;;1321:388;;;;;:::o;1714:247::-;1773:6;1826:2;1814:9;1805:7;1801:23;1797:32;1794:52;;;1842:1;1839;1832:12;1794:52;1881:9;1868:23;1900:31;1925:5;1900:31;:::i;2151:315::-;2219:6;2227;2280:2;2268:9;2259:7;2255:23;2251:32;2248:52;;;2296:1;2293;2286:12;2248:52;2335:9;2322:23;2354:31;2379:5;2354:31;:::i;:::-;2404:5;2456:2;2441:18;;;;2428:32;;-1:-1:-1;;;2151:315:126:o;2471:104::-;-1:-1:-1;;;;;2537:31:126;2525:44;;2471:104::o;2580:203::-;-1:-1:-1;;;;;2744:32:126;;;;2726:51;;2714:2;2699:18;;2580:203::o;2788:315::-;2856:6;2864;2917:2;2905:9;2896:7;2892:23;2888:32;2885:52;;;2933:1;2930;2923:12;2885:52;2969:9;2956:23;2946:33;;3029:2;3018:9;3014:18;3001:32;3042:31;3067:5;3042:31;:::i;3108:127::-;3169:10;3164:3;3160:20;3157:1;3150:31;3200:4;3197:1;3190:15;3224:4;3221:1;3214:15;3240:257;3312:4;3306:11;;;3344:17;;-1:-1:-1;;;;;3376:34:126;;3412:22;;;3373:62;3370:88;;;3438:18;;:::i;:::-;3474:4;3467:24;3240:257;:::o;3502:255::-;3574:2;3568:9;3616:6;3604:19;;-1:-1:-1;;;;;3638:34:126;;3674:22;;;3635:62;3632:88;;;3700:18;;:::i;3762:253::-;3834:2;3828:9;3876:4;3864:17;;-1:-1:-1;;;;;3896:34:126;;3932:22;;;3893:62;3890:88;;;3958:18;;:::i;4020:253::-;4092:2;4086:9;4134:4;4122:17;;-1:-1:-1;;;;;4154:34:126;;4190:22;;;4151:62;4148:88;;;4216:18;;:::i;4278:253::-;4350:2;4344:9;4392:4;4380:17;;-1:-1:-1;;;;;4412:34:126;;4448:22;;;4409:62;4406:88;;;4474:18;;:::i;4536:275::-;4607:2;4601:9;4672:2;4653:13;;-1:-1:-1;;4649:27:126;4637:40;;-1:-1:-1;;;;;4692:34:126;;4728:22;;;4689:62;4686:88;;;4754:18;;:::i;:::-;4790:2;4783:22;4536:275;;-1:-1:-1;4536:275:126:o;4816:187::-;4865:4;-1:-1:-1;;;;;4887:30:126;;4884:56;;;4920:18;;:::i;:::-;-1:-1:-1;4986:2:126;4965:15;-1:-1:-1;;4961:29:126;4992:4;4957:40;;4816:187::o;5008:338::-;5073:5;5102:53;5118:36;5147:6;5118:36;:::i;:::-;5102:53;:::i;:::-;5093:62;;5178:6;5171:5;5164:21;5218:3;5209:6;5204:3;5200:16;5197:25;5194:45;;;5235:1;5232;5225:12;5194:45;5284:6;5279:3;5272:4;5265:5;5261:16;5248:43;5338:1;5331:4;5322:6;5315:5;5311:18;5307:29;5300:40;5008:338;;;;;:::o;5351:222::-;5394:5;5447:3;5440:4;5432:6;5428:17;5424:27;5414:55;;5465:1;5462;5455:12;5414:55;5487:80;5563:3;5554:6;5541:20;5534:4;5526:6;5522:17;5487:80;:::i;5578:411::-;5633:5;5681:4;5669:9;5664:3;5660:19;5656:30;5653:50;;;5699:1;5696;5689:12;5653:50;5721:22;;:::i;:::-;5766:23;;5752:38;;5712:31;-1:-1:-1;5841:2:126;5826:18;;5813:32;-1:-1:-1;;;;;5857:30:126;;5854:50;;;5900:1;5897;5890:12;5854:50;5936:46;5978:3;5969:6;5958:9;5954:22;5936:46;:::i;:::-;5931:2;5924:5;5920:14;5913:70;;5578:411;;;;:::o;5994:118::-;6080:5;6073:13;6066:21;6059:5;6056:32;6046:60;;6102:1;6099;6092:12;6117:128;6182:20;;6211:28;6182:20;6211:28;:::i;6250:1850::-;6371:6;6379;6387;6395;6448:3;6436:9;6427:7;6423:23;6419:33;6416:53;;;6465:1;6462;6455:12;6416:53;6492:23;;-1:-1:-1;;;;;6564:14:126;;;6561:34;;;6591:1;6588;6581:12;6561:34;6614:22;;;;6670:6;6652:16;;;6648:29;6645:49;;;6690:1;6687;6680:12;6645:49;6716:22;;:::i;:::-;6761;6780:2;6761:22;:::i;:::-;6754:5;6747:37;6816:31;6843:2;6839;6835:11;6816:31;:::i;:::-;6811:2;6804:5;6800:14;6793:55;6901:2;6897;6893:11;6880:25;6875:2;6868:5;6864:14;6857:49;6959:2;6955;6951:11;6938:25;6933:2;6926:5;6922:14;6915:49;7018:3;7014:2;7010:12;6997:26;6991:3;6984:5;6980:15;6973:51;7057:32;7084:3;7080:2;7076:12;7057:32;:::i;:::-;7051:3;7044:5;7040:15;7033:57;7123:32;7150:3;7146:2;7142:12;7123:32;:::i;:::-;7117:3;7110:5;7106:15;7099:57;7202:3;7198:2;7194:12;7181:26;7232:2;7222:8;7219:16;7216:36;;;7248:1;7245;7238:12;7216:36;7285:54;7331:7;7320:8;7316:2;7312:17;7285:54;:::i;:::-;7279:3;7272:5;7268:15;7261:79;;7359:3;7394:31;7421:2;7417;7413:11;7394:31;:::i;:::-;7378:14;;;7371:55;7445:3;7486:11;;;7473:25;7510:16;;;7507:36;;;7539:1;7536;7529:12;7507:36;7575:45;7612:7;7601:8;7597:2;7593:17;7575:45;:::i;:::-;7570:2;7563:5;7559:14;7552:69;;;7640:3;7675:28;7699:2;7695;7691:11;7675:28;:::i;:::-;7659:14;;;7652:52;7723:3;7764:11;;;7751:25;7788:16;;;7785:36;;;7817:1;7814;7807:12;7785:36;7853:45;7890:7;7879:8;7875:2;7871:17;7853:45;:::i;:::-;7848:2;7841:5;7837:14;7830:69;;;7918:5;7908:15;;;;;7942:38;7976:2;7965:9;7961:18;7942:38;:::i;:::-;7932:48;;7999:38;8033:2;8022:9;8018:18;7999:38;:::i;:::-;7989:48;;8056:38;8090:2;8079:9;8075:18;8056:38;:::i;:::-;8046:48;;6250:1850;;;;;;;:::o;8365:585::-;8442:6;8450;8503:2;8491:9;8482:7;8478:23;8474:32;8471:52;;;8519:1;8516;8509:12;8471:52;8558:9;8545:23;8577:31;8602:5;8577:31;:::i;:::-;8627:5;-1:-1:-1;8683:2:126;8668:18;;8655:32;-1:-1:-1;;;;;8699:30:126;;8696:50;;;8742:1;8739;8732:12;8696:50;8765:22;;8818:4;8810:13;;8806:27;-1:-1:-1;8796:55:126;;8847:1;8844;8837:12;8796:55;8870:74;8936:7;8931:2;8918:16;8913:2;8909;8905:11;8870:74;:::i;:::-;8860:84;;;8365:585;;;;;:::o;8955:153::-;9033:20;;9082:1;9072:12;;9062:40;;9098:1;9095;9088:12;9113:110;9197:1;9190:5;9187:12;9177:40;;9213:1;9210;9203:12;9228:152;9305:20;;9334:40;9305:20;9334:40;:::i;9385:416::-;9449:5;9497:4;9485:9;9480:3;9476:19;9472:30;9469:50;;;9515:1;9512;9505:12;9469:50;9548:2;9542:9;9590:4;9578:17;;-1:-1:-1;;;;;9610:34:126;;9646:22;;;9607:62;9604:88;;;9672:18;;:::i;:::-;9708:2;9701:22;9771:23;;9756:39;;-1:-1:-1;9741:6:126;9385:416;-1:-1:-1;9385:416:126:o;9806:701::-;9869:5;9917:4;9905:9;9900:3;9896:19;9892:30;9889:50;;;9935:1;9932;9925:12;9889:50;9957:22;;:::i;:::-;9948:31;;10016:9;10003:23;10035:33;10060:7;10035:33;:::i;:::-;10077:22;;10151:2;10136:18;;10123:32;10164:33;10123:32;10164:33;:::i;:::-;10229:7;10224:2;10217:5;10213:14;10206:31;;10297:2;10286:9;10282:18;10269:32;10264:2;10257:5;10253:14;10246:56;10362:2;10351:9;10347:18;10334:32;10329:2;10322:5;10318:14;10311:56;10428:3;10417:9;10413:19;10400:33;10394:3;10387:5;10383:15;10376:58;10495:3;10484:9;10480:19;10467:33;10461:3;10454:5;10450:15;10443:58;9806:701;;;;:::o;10512:1071::-;10575:5;10614:9;10609:3;10605:19;10644:6;10640:2;10636:15;10633:35;;;10664:1;10661;10654:12;10633:35;10686:22;;:::i;:::-;10677:31;;10728:4;10724:2;10720:13;10717:33;;;10746:1;10743;10736:12;10717:33;;10774:22;;:::i;:::-;10834:9;10821:23;10812:7;10805:40;10907:2;10896:9;10892:18;10879:32;10874:2;10865:7;10861:16;10854:58;10974:2;10963:9;10959:18;10946:32;10941:2;10932:7;10928:16;10921:58;11041:2;11030:9;11026:18;11013:32;11008:2;10999:7;10995:16;10988:58;11069:7;11062:5;11055:22;;11109:50;11153:4;11142:9;11138:20;11109:50;:::i;:::-;11104:2;11097:5;11093:14;11086:74;11192:48;11235:3;11224:9;11220:19;11192:48;:::i;:::-;11187:2;11180:5;11176:14;11169:72;11273:61;11330:3;11324;11313:9;11309:19;11273:61;:::i;:::-;11268:2;11261:5;11257:14;11250:85;11369:61;11426:3;11419:4;11408:9;11404:20;11369:61;:::i;:::-;11362:4;11355:5;11351:16;11344:87;11464:39;11498:3;11487:9;11483:19;11464:39;:::i;:::-;11458:3;11451:5;11447:15;11440:64;11537:39;11571:3;11560:9;11556:19;11537:39;:::i;:::-;11531:3;11524:5;11520:15;11513:64;10512:1071;;;;:::o;11588:618::-;11726:6;11734;11742;11795:3;11783:9;11774:7;11770:23;11766:33;11763:53;;;11812:1;11809;11802:12;11763:53;11851:9;11838:23;11870:31;11895:5;11870:31;:::i;:::-;11920:5;-1:-1:-1;11944:63:126;11999:7;11994:2;11979:18;;11944:63;:::i;:::-;11934:73;-1:-1:-1;12058:3:126;12043:19;;12030:33;-1:-1:-1;;;;;12075:30:126;;12072:50;;;12118:1;12115;12108:12;12072:50;12141:59;12192:7;12183:6;12172:9;12168:22;12141:59;:::i;:::-;12131:69;;;11588:618;;;;;:::o;13523:250::-;13608:1;13618:113;13632:6;13629:1;13626:13;13618:113;;;13708:11;;;13702:18;13689:11;;;13682:39;13654:2;13647:10;13618:113;;;-1:-1:-1;;13765:1:126;13747:16;;13740:27;13523:250::o;13778:271::-;13820:3;13858:5;13852:12;13885:6;13880:3;13873:19;13901:76;13970:6;13963:4;13958:3;13954:14;13947:4;13940:5;13936:16;13901:76;:::i;:::-;14031:2;14010:15;-1:-1:-1;;14006:29:126;13997:39;;;;14038:4;13993:50;;13778:271;-1:-1:-1;;13778:271:126:o;14054:220::-;14203:2;14192:9;14185:21;14166:4;14223:45;14264:2;14253:9;14249:18;14241:6;14223:45;:::i;14726:759::-;14873:6;14881;14889;14897;14950:3;14938:9;14929:7;14925:23;14921:33;14918:53;;;14967:1;14964;14957:12;14918:53;15006:9;14993:23;15025:31;15050:5;15025:31;:::i;:::-;15075:5;-1:-1:-1;15132:2:126;15117:18;;15104:32;15145:33;15104:32;15145:33;:::i;:::-;15197:7;-1:-1:-1;15223:63:126;15278:7;15273:2;15258:18;;15223:63;:::i;:::-;15213:73;-1:-1:-1;15337:3:126;15322:19;;15309:33;-1:-1:-1;;;;;15354:30:126;;15351:50;;;15397:1;15394;15387:12;15351:50;15420:59;15471:7;15462:6;15451:9;15447:22;15420:59;:::i;:::-;15410:69;;;14726:759;;;;;;;:::o;15490:127::-;15551:10;15546:3;15542:20;15539:1;15532:31;15582:4;15579:1;15572:15;15606:4;15603:1;15596:15;15622:168;15695:9;;;15726;;15743:15;;;15737:22;;15723:37;15713:71;;15764:18;;:::i;15795:127::-;15856:10;15851:3;15847:20;15844:1;15837:31;15887:4;15884:1;15877:15;15911:4;15908:1;15901:15;15927:277;16014:6;16067:2;16055:9;16046:7;16042:23;16038:32;16035:52;;;16083:1;16080;16073:12;16035:52;16115:9;16109:16;16134:40;16168:5;16134:40;:::i;16209:282::-;-1:-1:-1;;;;;16409:32:126;;;;16391:51;;16473:2;16458:18;;16451:34;16379:2;16364:18;;16209:282::o;16496:184::-;16566:6;16619:2;16607:9;16598:7;16594:23;16590:32;16587:52;;;16635:1;16632;16625:12;16587:52;-1:-1:-1;16658:16:126;;16496:184;-1:-1:-1;16496:184:126:o;16964:375::-;-1:-1:-1;;;;;17222:15:126;;;17204:34;;17274:15;;;;17269:2;17254:18;;17247:43;17321:2;17306:18;;17299:34;;;;17154:2;17139:18;;16964:375::o;17344:304::-;-1:-1:-1;;;;;17574:15:126;;;17556:34;;17626:15;;17621:2;17606:18;;17599:43;17506:2;17491:18;;17344:304::o;17653:217::-;17693:1;17719;17709:132;;17763:10;17758:3;17754:20;17751:1;17744:31;17798:4;17795:1;17788:15;17826:4;17823:1;17816:15;17709:132;-1:-1:-1;17855:9:126;;17653:217::o;17875:125::-;17940:9;;;17961:10;;;17958:36;;;17974:18;;:::i;18420:380::-;18499:1;18495:12;;;;18542;;;18563:61;;18617:4;18609:6;18605:17;18595:27;;18563:61;18670:2;18662:6;18659:14;18639:18;18636:38;18633:161;;18716:10;18711:3;18707:20;18704:1;18697:31;18751:4;18748:1;18741:15;18779:4;18776:1;18769:15;18633:161;;18420:380;;;:::o;18931:545::-;19033:2;19028:3;19025:11;19022:448;;;19069:1;19094:5;19090:2;19083:17;19139:4;19135:2;19125:19;19209:2;19197:10;19193:19;19190:1;19186:27;19180:4;19176:38;19245:4;19233:10;19230:20;19227:47;;;-1:-1:-1;19268:4:126;19227:47;19323:2;19318:3;19314:12;19311:1;19307:20;19301:4;19297:31;19287:41;;19378:82;19396:2;19389:5;19386:13;19378:82;;;19441:17;;;19422:1;19411:13;19378:82;;;19382:3;;;18931:545;;;:::o;19652:1352::-;19772:10;;-1:-1:-1;;;;;19794:30:126;;19791:56;;;19827:18;;:::i;:::-;19856:97;19946:6;19906:38;19938:4;19932:11;19906:38;:::i;:::-;19900:4;19856:97;:::i;:::-;20008:4;;20072:2;20061:14;;20089:1;20084:663;;;;20791:1;20808:6;20805:89;;;-1:-1:-1;20860:19:126;;;20854:26;20805:89;-1:-1:-1;;19609:1:126;19605:11;;;19601:24;19597:29;19587:40;19633:1;19629:11;;;19584:57;20907:81;;20054:944;;20084:663;18878:1;18871:14;;;18915:4;18902:18;;-1:-1:-1;;20120:20:126;;;20238:236;20252:7;20249:1;20246:14;20238:236;;;20341:19;;;20335:26;20320:42;;20433:27;;;;20401:1;20389:14;;;;20268:19;;20238:236;;;20242:3;20502:6;20493:7;20490:19;20487:201;;;20563:19;;;20557:26;-1:-1:-1;;20646:1:126;20642:14;;;20658:3;20638:24;20634:37;20630:42;20615:58;20600:74;;20487:201;-1:-1:-1;;;;;20734:1:126;20718:14;;;20714:22;20701:36;;-1:-1:-1;19652:1352:126:o;21009:251::-;21079:6;21132:2;21120:9;21111:7;21107:23;21103:32;21100:52;;;21148:1;21145;21138:12;21100:52;21180:9;21174:16;21199:31;21224:5;21199:31;:::i;21265:127::-;21326:10;21321:3;21317:20;21314:1;21307:31;21357:4;21354:1;21347:15;21381:4;21378:1;21371:15;21397:1011;21492:6;21523:2;21566;21554:9;21545:7;21541:23;21537:32;21534:52;;;21582:1;21579;21572:12;21534:52;21609:16;;-1:-1:-1;;;;;21674:14:126;;;21671:34;;;21701:1;21698;21691:12;21671:34;21739:6;21728:9;21724:22;21714:32;;21784:7;21777:4;21773:2;21769:13;21765:27;21755:55;;21806:1;21803;21796:12;21755:55;21835:2;21829:9;21857:2;21853;21850:10;21847:36;;;21863:18;;:::i;:::-;21909:2;21906:1;21902:10;21892:20;;21932:28;21956:2;21952;21948:11;21932:28;:::i;:::-;21994:15;;;22064:11;;;22060:20;;;22025:12;;;;22092:19;;;22089:39;;;22124:1;22121;22114:12;22089:39;22148:11;;;;22168:210;22184:6;22179:3;22176:15;22168:210;;;22257:3;22251:10;22238:23;;22274:31;22299:5;22274:31;:::i;:::-;22318:18;;;22201:12;;;;22356;;;;22168:210;;;22397:5;21397:1011;-1:-1:-1;;;;;;;;21397:1011:126:o;22413:135::-;22452:3;22473:17;;;22470:43;;22493:18;;:::i;:::-;-1:-1:-1;22540:1:126;22529:13;;22413:135::o;22553:128::-;22620:9;;;22641:11;;;22638:37;;;22655:18;;:::i;22686:772::-;22736:3;22777:5;22771:12;22806:36;22832:9;22806:36;:::i;:::-;22851:19;;;22889:4;22912:1;22929:18;;;22956:146;;;;23116:1;23111:341;;;;22922:530;;22956:146;-1:-1:-1;;22998:24:126;;22984:12;;;22977:46;23070:14;;23063:22;23060:1;23056:30;23047:40;;23043:49;;;-1:-1:-1;22956:146:126;;23111:341;23142:5;23139:1;23132:16;23189:2;23186:1;23176:16;23214:1;23228:174;23242:6;23239:1;23236:13;23228:174;;;23329:14;;23311:11;;;23307:20;;23300:44;23372:16;;;;23257:10;;23228:174;;;23426:11;;23422:20;;;-1:-1:-1;;22922:530:126;;;;;;22686:772;;;;:::o;23463:252::-;23550:5;23544:12;23539:3;23532:25;23514:3;23603:4;23596:5;23592:16;23586:23;23641:4;23634;23629:3;23625:14;23618:28;23662:47;23703:4;23698:3;23694:14;23680:12;23662:47;:::i;23720:461::-;23773:3;23811:5;23805:12;23838:6;23833:3;23826:19;23864:4;23893:2;23888:3;23884:12;23877:19;;23930:2;23923:5;23919:14;23951:1;23961:195;23975:6;23972:1;23969:13;23961:195;;;24040:13;;-1:-1:-1;;;;;24036:39:126;24024:52;;24096:12;;;;24131:15;;;;24072:1;23990:9;23961:195;;;-1:-1:-1;24172:3:126;;23720:461;-1:-1:-1;;;;;23720:461:126:o;24186:804::-;24546:6;24535:9;24528:25;24589:3;24584:2;24573:9;24569:18;24562:31;24509:4;24616:54;24665:3;24654:9;24650:19;24642:6;24616:54;:::i;:::-;24718:9;24710:6;24706:22;24701:2;24690:9;24686:18;24679:50;24752:42;24787:6;24779;24752:42;:::i;:::-;-1:-1:-1;;;;;24830:32:126;;24825:2;24810:18;;24803:60;24900:22;;;24894:3;24879:19;;24872:51;24738:56;-1:-1:-1;24940:44:126;24738:56;24969:6;24940:44;:::i;25184:500::-;25438:6;25427:9;25420:25;25481:2;25476;25465:9;25461:18;25454:30;25401:4;25507:53;25556:2;25545:9;25541:18;25533:6;25507:53;:::i;:::-;25608:9;25600:6;25596:22;25591:2;25580:9;25576:18;25569:50;25636:42;25671:6;25663;25636:42;:::i;26304:408::-;26506:2;26488:21;;;26545:2;26525:18;;;26518:30;-1:-1:-1;;;;;;;;;;;26579:2:126;26564:18;;26557:62;-1:-1:-1;;;26650:2:126;26635:18;;26628:42;26702:3;26687:19;;26304:408::o;26717:::-;26919:2;26901:21;;;26958:2;26938:18;;;26931:30;-1:-1:-1;;;;;;;;;;;26992:2:126;26977:18;;26970:62;-1:-1:-1;;;27063:2:126;27048:18;;27041:42;27115:3;27100:19;;26717:408::o;27836:315::-;-1:-1:-1;;;;;28011:32:126;;27993:51;;28080:2;28075;28060:18;;28053:30;;;-1:-1:-1;;28100:45:126;;28126:18;;28118:6;28100:45;:::i;28834:127::-;28895:10;28890:3;28886:20;28883:1;28876:31;28926:4;28923:1;28916:15;28950:4;28947:1;28940:15;28966:1653;29058:6;29089:2;29132;29120:9;29111:7;29107:23;29103:32;29100:52;;;29148:1;29145;29138:12;29100:52;29175:16;;-1:-1:-1;;;;;29240:14:126;;;29237:34;;;29267:1;29264;29257:12;29237:34;29290:22;;;;29346:4;29328:16;;;29324:27;29321:47;;;29364:1;29361;29354:12;29321:47;29390:22;;:::i;:::-;29441:2;29435:9;29428:5;29421:24;29483:2;29479;29475:11;29469:18;29496:33;29521:7;29496:33;:::i;:::-;29545:14;;;29538:31;29607:2;29599:11;;29593:18;29620:33;29593:18;29620:33;:::i;:::-;29680:2;29669:14;;29662:31;29732:2;29724:11;;29718:18;29748:16;;;29745:36;;;29777:1;29774;29767:12;29745:36;29800:17;;29851:2;29833:16;;;29829:25;29826:45;;;29867:1;29864;29857:12;29826:45;29895:22;;:::i;:::-;29948:2;29942:9;29933:7;29926:26;29991:2;29987;29983:11;29977:18;30020:2;30010:8;30007:16;30004:36;;;30036:1;30033;30026:12;30004:36;30059:17;;;-1:-1:-1;30107:4:126;30099:13;;30095:27;-1:-1:-1;30085:55:126;;30136:1;30133;30126:12;30085:55;30165:2;30159:9;30149:19;;30190:49;30206:32;30235:2;30206:32;:::i;30190:49::-;30262:2;30255:5;30248:17;30302:7;30297:2;30292;30288;30284:11;30280:20;30277:33;30274:53;;;30323:1;30320;30313:12;30274:53;30336:67;30400:2;30395;30388:5;30384:14;30379:2;30375;30371:11;30336:67;:::i;:::-;30419:16;;;30412:31;;;;-1:-1:-1;30470:2:126;30459:14;;30452:31;;;;-1:-1:-1;30530:3:126;30522:12;;;30516:19;30499:15;;;30492:44;30583:3;30575:12;;;30569:19;30552:15;;;30545:44;30463:5;28966:1653;-1:-1:-1;;;28966:1653:126:o;30624:407::-;30826:2;30808:21;;;30865:2;30845:18;;;30838:30;30904:34;30899:2;30884:18;;30877:62;-1:-1:-1;;;30970:2:126;30955:18;;30948:41;31021:3;31006:19;;30624:407::o;31036:143::-;31120:1;31113:5;31110:12;31100:46;;31126:18;;:::i;:::-;31155;;31036:143::o;31184:142::-;31267:1;31260:5;31257:12;31247:46;;31273:18;;:::i;31868:1232::-;32030:4;32072:3;32061:9;32057:19;32049:27;;32101:6;32095:13;32141:2;32135:9;32124;32117:28;32197:4;32193:2;32189:13;32183:20;32176:4;32165:9;32161:20;32154:50;32256:4;32252:2;32248:13;32242:20;32235:4;32224:9;32220:20;32213:50;32315:4;32311:2;32307:13;32301:20;32294:4;32283:9;32279:20;32272:50;;32369:4;32361:6;32357:17;32351:24;32384:64;32442:4;32431:9;32427:20;32413:12;32384:64;:::i;:::-;;32497:4;32489:6;32485:17;32479:24;32512:65;32571:4;32560:9;32556:20;32540:14;32512:65;:::i;:::-;-1:-1:-1;32626:4:126;32614:17;;;32608:24;31406:12;32708:4;32693:20;;31394:25;32763:4;32751:17;;;32745:24;31550:12;;-1:-1:-1;;;;;31546:21:126;;;32844:4;32829:20;;31534:34;31621:4;31610:16;;31604:23;31600:32;31584:14;;;31577:56;31682:4;31671:16;;31665:23;31649:14;;;31642:47;31727:16;;;31721:23;31705:14;;;31698:47;31783:16;;31777:23;31761:14;;;31754:47;31514:3;31839:16;;;31833:23;31817:14;;;31810:47;32887:17;;32881:24;32914:58;32964:6;32949:22;;32881:24;32914:58;:::i;:::-;;33021:4;33013:6;33009:17;33003:24;33036:58;33086:6;33075:9;33071:22;33055:14;33036:58;:::i;:::-;;31868:1232;;;;:::o;33105:979::-;33530:6;33519:9;33512:25;33493:4;33573:1;33569;33564:3;33560:11;33556:19;33623:2;33615:6;33611:15;33606:2;33595:9;33591:18;33584:43;33663:3;33658:2;33647:9;33643:18;33636:31;33690:46;33731:3;33720:9;33716:19;33708:6;33690:46;:::i;:::-;33784:2;33776:6;33772:15;33767:2;33756:9;33752:18;33745:43;33825:6;33819:3;33808:9;33804:19;33797:35;33881:9;33873:6;33869:22;33863:3;33852:9;33848:19;33841:51;33915:42;33950:6;33942;33915:42;:::i;:::-;33901:56;;;34006:9;33998:6;33994:22;33988:3;33977:9;33973:19;33966:51;34034:44;34071:6;34063;34034:44;:::i;:::-;34026:52;33105:979;-1:-1:-1;;;;;;;;;;33105:979:126:o;34089:613::-;34364:25;;;-1:-1:-1;;;;;34463:15:126;;;34458:2;34443:18;;34436:43;34515:15;;;34510:2;34495:18;;34488:43;34567:15;;34562:2;34547:18;;34540:43;34416:3;34614;34599:19;;34592:32;;;34345:4;;34641:55;;34676:19;;34668:6;34641:55;:::i;36876:812::-;-1:-1:-1;;;37282:3:126;37275:38;37257:3;37342:6;37336:13;37358:75;37426:6;37421:2;37416:3;37412:12;37405:4;37397:6;37393:17;37358:75;:::i;:::-;-1:-1:-1;;;37492:2:126;37452:16;;;37484:11;;;37477:40;37542:13;;37564:76;37542:13;37626:2;37618:11;;37611:4;37599:17;;37564:76;:::i;:::-;37660:17;37679:2;37656:26;;36876:812;-1:-1:-1;;;;36876:812:126:o;37693:245::-;37760:6;37813:2;37801:9;37792:7;37788:23;37784:32;37781:52;;;37829:1;37826;37819:12;37781:52;37861:9;37855:16;37880:28;37902:5;37880:28;:::i;38975:136::-;39014:3;39042:5;39032:39;;39051:18;;:::i;:::-;-1:-1:-1;;;39087:18:126;;38975:136::o;39884:287::-;40013:3;40051:6;40045:13;40067:66;40126:6;40121:3;40114:4;40106:6;40102:17;40067:66;:::i;:::-;40149:16;;;;;39884:287;-1:-1:-1;;39884:287:126:o","linkReferences":{},"immutableReferences":{"55572":[{"start":7649,"length":32},{"start":7716,"length":32},{"start":7967,"length":32},{"start":8034,"length":32},{"start":8390,"length":32}]}},"methodIdentifiers":{"COUNCIL_MEMBER()":"733a2d1f","DEFAULT_ADMIN_ROLE()":"a217fddf","MAX_FEE()":"bc063e1a","NATIVE()":"a0cf0aea","PRECISION_SCALE()":"d7050f07","VERSION()":"ffa1ad74","acceptCouncilSafe()":"b5058c50","activateMemberInStrategy(address,address)":"0d4a8b49","addStrategy(address)":"223e5479","addStrategyByPoolId(uint256)":"82d6a1e7","addressToMemberInfo(address)":"88cfe684","allo()":"d6d8428d","cloneNonce()":"33960459","collateralVaultTemplate()":"77122d56","communityFee()":"8961be6b","communityName()":"c6d572ae","councilSafe()":"6c53db9a","covenantIpfsHash()":"b64e39af","createPool(address,((uint256,uint256,uint256,uint256),uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256),address,address),(uint256,string))":"524e59e8","createPool(address,address,((uint256,uint256,uint256,uint256),uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256),address,address),(uint256,string))":"e16d0e32","deactivateMemberInStrategy(address,address)":"22bcf999","decreasePower(uint256)":"5ecf71c5","enabledStrategies(address)":"3a871fe1","feeReceiver()":"b3f00674","gardenToken()":"db61d65c","getBasisStakedAmount()":"0331383c","getMemberPowerInStrategy(address,address)":"7817ee4f","getMemberStakedAmount(address)":"2c611c4a","getRoleAdmin(bytes32)":"248a9ca3","getStakeAmountWithFees()":"28c309e9","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","increasePower(uint256)":"559de05d","initialize((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string),address,address,address)":"34196355","initialize(address)":"c4d66de8","isCouncilMember(address)":"ebd7dc52","isKickEnabled()":"1f787d28","isMember(address)":"a230c524","kickMember(address,address)":"6871eb4d","memberActivatedInStrategies(address,address)":"477a5cc0","memberPowerInStrategy(address,address)":"65e3864c","owner()":"8da5cb5b","pendingCouncilSafe()":"68decabb","profileId()":"08386eba","proxiableUUID()":"52d1902d","registerStakeAmount()":"78a0b8a9","registry()":"7b103999","registryFactory()":"f86c5f89","removeStrategy(address)":"175188e8","removeStrategyByPoolId(uint256)":"73265c37","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setBasisStakedAmount(uint256)":"31f61bca","setCollateralVaultTemplate(address)":"b0d3713a","setCommunityFee(uint256)":"0d12bbdb","setCouncilSafe(address)":"397e2543","setStrategyTemplate(address)":"1b71f0e4","stakeAndRegisterMember()":"3517aa7d","strategiesByMember(address,uint256)":"2b38c69c","strategyTemplate()":"5c94e4d2","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","unregisterMember()":"b99b4370","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"CallerNotOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_decreaseAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_currentPower\",\"type\":\"uint256\"}],\"name\":\"CantDecreaseMoreThanPower\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DecreaseUnderMinimum\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"KickNotEnabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewFeeGreaterThanMax\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PointsDeactivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RegistryCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderNotNewOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderNotStrategy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyDisabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyActivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyDeactivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotGardenOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"UserNotInCouncil\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ValueCannotBeZero\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"}],\"name\":\"AlloSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newAmount\",\"type\":\"uint256\"}],\"name\":\"BasisStakedAmountSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newFee\",\"type\":\"uint256\"}],\"name\":\"CommunityFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safeOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newSafeOwner\",\"type\":\"address\"}],\"name\":\"CouncilSafeChangeStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"CouncilSafeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_pointsToIncrease\",\"type\":\"uint256\"}],\"name\":\"MemberActivatedStrategy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"MemberDeactivatedStrategy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_transferAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountReturned\",\"type\":\"uint256\"}],\"name\":\"MemberKicked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_unstakedAmount\",\"type\":\"uint256\"}],\"name\":\"MemberPowerDecreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_stakedAmount\",\"type\":\"uint256\"}],\"name\":\"MemberPowerIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountStaked\",\"type\":\"uint256\"}],\"name\":\"MemberRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountReturned\",\"type\":\"uint256\"}],\"name\":\"MemberUnregistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"RegistryInitialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"StrategyAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COUNCIL_MEMBER\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_FEE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PRECISION_SCALE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"acceptCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"activateMemberInStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newStrategy\",\"type\":\"address\"}],\"name\":\"addStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"name\":\"addStrategyByPoolId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"addressToMemberInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isRegistered\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo\",\"outputs\":[{\"internalType\":\"contract FAllo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloneNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateralVaultTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"communityFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"communityName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"covenantIpfsHash\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"deactivateMemberInStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountUnstaked\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"enabledStrategies\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardenToken\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasisStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"getMemberPowerInStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"getMemberStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStakeAmountWithFees\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountStaked\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"}],\"internalType\":\"struct RegistryCommunityV0_0.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isCouncilMember\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isKickEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMember\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isMember\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_transferAddress\",\"type\":\"address\"}],\"name\":\"kickMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"memberActivatedInStrategies\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isActivated\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"memberPowerInStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingCouncilSafe\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profileId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registerStakeAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"name\":\"removeStrategyByPoolId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newAmount\",\"type\":\"uint256\"}],\"name\":\"setBasisStakedAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setCollateralVaultTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newCommunityFee\",\"type\":\"uint256\"}],\"name\":\"setCommunityFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"setCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setStrategyTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stakeAndRegisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"strategiesByMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"strategiesAddresses\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategyTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unregisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"RegistryCommunityV0_0\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"COUNCIL_MEMBER()\":{\"notice\":\"Role to council safe members\"},\"MAX_FEE()\":{\"notice\":\"The maximum fee that can be charged to the community\"},\"NATIVE()\":{\"notice\":\"The native address to represent native token eg: ETH in mainnet\"},\"PRECISION_SCALE()\":{\"notice\":\"The precision scale used in the contract to avoid loss of precision\"},\"addressToMemberInfo(address)\":{\"notice\":\"Member information as the staked amount and if is registered in the community\"},\"allo()\":{\"notice\":\"The Allo contract address\"},\"cloneNonce()\":{\"notice\":\"The nonce used to create new strategy clones\"},\"collateralVaultTemplate()\":{\"notice\":\"The address of the collateral vault template\"},\"communityFee()\":{\"notice\":\"The fee charged to the community for each registration\"},\"communityName()\":{\"notice\":\"The community name\"},\"councilSafe()\":{\"notice\":\"The council safe contract address\"},\"covenantIpfsHash()\":{\"notice\":\"The covenant IPFS hash of community\"},\"enabledStrategies(address)\":{\"notice\":\"List of enabled/disabled strategies\"},\"feeReceiver()\":{\"notice\":\"The address that receives the community fee\"},\"gardenToken()\":{\"notice\":\"The token used to stake in the community\"},\"isKickEnabled()\":{\"notice\":\"Enable or disable the kick feature\"},\"memberActivatedInStrategies(address,address)\":{\"notice\":\"Mapping to check if a member is activated in a strategy\"},\"memberPowerInStrategy(address,address)\":{\"notice\":\"Power points for each member in each strategy\"},\"pendingCouncilSafe()\":{\"notice\":\"The address of the pending council safe owner\"},\"profileId()\":{\"notice\":\"The profileId of the community in the Allo Registry\"},\"registerStakeAmount()\":{\"notice\":\"The amount of tokens required to register a member\"},\"registry()\":{\"notice\":\"The Registry Allo contract\"},\"registryFactory()\":{\"notice\":\"The address of the registry factory\"},\"strategiesByMember(address,uint256)\":{\"notice\":\"List of strategies for each member are activated\"},\"strategyTemplate()\":{\"notice\":\"The address of the strategy template\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":\"RegistryCommunityV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293\",\"dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x4301751ea11db320804edf82deeb83d694240d4ab92e96fd75272823a0e68cbe\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://17eb861b8e0b13b4fc31136dbb817f5bf9b0637dc1c0484b090e1e2121fc2595\",\"dweb:/ipfs/QmbYz9fngCp4FmvAJyP2NqSpxBJRJa573mTQ5R9nVsCJAg\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xaea628cb12b8c0dd868c04c935f99ab50c88372f130ce2ced0c7b2b3ce780381\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://22eb93eaf9fc1a9f591ed87dc478e8aabafb46e22ef870bba1345a799c44ba3d\",\"dweb:/ipfs/QmSAXa8UmtGNXNtVbmqPMyEpA3RZYqWjZvPoVFHCvjHjwj\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"type":"error","name":"CallerNotOwner"},{"inputs":[{"internalType":"uint256","name":"_decreaseAmount","type":"uint256"},{"internalType":"uint256","name":"_currentPower","type":"uint256"}],"type":"error","name":"CantDecreaseMoreThanPower"},{"inputs":[],"type":"error","name":"DecreaseUnderMinimum"},{"inputs":[],"type":"error","name":"KickNotEnabled"},{"inputs":[],"type":"error","name":"NewFeeGreaterThanMax"},{"inputs":[],"type":"error","name":"PointsDeactivated"},{"inputs":[],"type":"error","name":"RegistryCannotBeZero"},{"inputs":[],"type":"error","name":"SenderNotNewOwner"},{"inputs":[],"type":"error","name":"SenderNotStrategy"},{"inputs":[],"type":"error","name":"StrategyDisabled"},{"inputs":[],"type":"error","name":"StrategyExists"},{"inputs":[],"type":"error","name":"UserAlreadyActivated"},{"inputs":[],"type":"error","name":"UserAlreadyDeactivated"},{"inputs":[],"type":"error","name":"UserAlreadyRegistered"},{"inputs":[],"type":"error","name":"UserNotGardenOwner"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"type":"error","name":"UserNotInCouncil"},{"inputs":[],"type":"error","name":"UserNotInRegistry"},{"inputs":[],"type":"error","name":"ValueCannotBeZero"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"_allo","type":"address","indexed":false}],"type":"event","name":"AlloSet","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_newAmount","type":"uint256","indexed":false}],"type":"event","name":"BasisStakedAmountSet","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256","indexed":false}],"type":"event","name":"CommunityFeeUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_safeOwner","type":"address","indexed":false},{"internalType":"address","name":"_newSafeOwner","type":"address","indexed":false}],"type":"event","name":"CouncilSafeChangeStarted","anonymous":false},{"inputs":[{"internalType":"address","name":"_safe","type":"address","indexed":false}],"type":"event","name":"CouncilSafeSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false},{"internalType":"uint256","name":"_pointsToIncrease","type":"uint256","indexed":false}],"type":"event","name":"MemberActivatedStrategy","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"MemberDeactivatedStrategy","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_transferAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amountReturned","type":"uint256","indexed":false}],"type":"event","name":"MemberKicked","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_unstakedAmount","type":"uint256","indexed":false}],"type":"event","name":"MemberPowerDecreased","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_stakedAmount","type":"uint256","indexed":false}],"type":"event","name":"MemberPowerIncreased","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_amountStaked","type":"uint256","indexed":false}],"type":"event","name":"MemberRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_amountReturned","type":"uint256","indexed":false}],"type":"event","name":"MemberUnregistered","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false},{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"address","name":"_token","type":"address","indexed":false},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolCreated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32","indexed":false},{"internalType":"string","name":"_communityName","type":"string","indexed":false},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"RegistryInitialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"StrategyAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"COUNCIL_MEMBER","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PRECISION_SCALE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"acceptCouncilSafe"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"activateMemberInStrategy"},{"inputs":[{"internalType":"address","name":"_newStrategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addStrategy"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"addStrategyByPoolId"},{"inputs":[{"internalType":"address","name":"member","type":"address"}],"stateMutability":"view","type":"function","name":"addressToMemberInfo","outputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"bool","name":"isRegistered","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"allo","outputs":[{"internalType":"contract FAllo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"cloneNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVaultTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"communityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"communityName","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"covenantIpfsHash","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"struct StrategyStruct.InitializeParams","name":"_params","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}]},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"struct StrategyStruct.InitializeParams","name":"_params","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}]},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivateMemberInStrategy"},{"inputs":[{"internalType":"uint256","name":"_amountUnstaked","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower"},{"inputs":[{"internalType":"address","name":"strategy","type":"address"}],"stateMutability":"view","type":"function","name":"enabledStrategies","outputs":[{"internalType":"bool","name":"isEnabled","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"feeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardenToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBasisStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"getMemberPowerInStrategy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"getMemberStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStakeAmountWithFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_amountStaked","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower"},{"inputs":[{"internalType":"struct RegistryCommunityV0_0.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"}]},{"internalType":"address","name":"_strategyTemplate","type":"address"},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isCouncilMember","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isKickEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isMember","outputs":[{"internalType":"bool","name":"_isMember","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_transferAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"kickMember"},{"inputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"address","name":"strategy","type":"address"}],"stateMutability":"view","type":"function","name":"memberActivatedInStrategies","outputs":[{"internalType":"bool","name":"isActivated","type":"bool"}]},{"inputs":[{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"member","type":"address"}],"stateMutability":"view","type":"function","name":"memberPowerInStrategy","outputs":[{"internalType":"uint256","name":"power","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pendingCouncilSafe","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profileId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registerStakeAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryFactory","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategy"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategyByPoolId"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"uint256","name":"_newAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setBasisStakedAmount"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCollateralVaultTemplate"},{"inputs":[{"internalType":"uint256","name":"_newCommunityFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityFee"},{"inputs":[{"internalType":"address payable","name":"_safe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCouncilSafe"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setStrategyTemplate"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stakeAndRegisterMember"},{"inputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"strategiesByMember","outputs":[{"internalType":"address","name":"strategiesAddresses","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"strategyTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"unregisterMember"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"COUNCIL_MEMBER()":{"notice":"Role to council safe members"},"MAX_FEE()":{"notice":"The maximum fee that can be charged to the community"},"NATIVE()":{"notice":"The native address to represent native token eg: ETH in mainnet"},"PRECISION_SCALE()":{"notice":"The precision scale used in the contract to avoid loss of precision"},"addressToMemberInfo(address)":{"notice":"Member information as the staked amount and if is registered in the community"},"allo()":{"notice":"The Allo contract address"},"cloneNonce()":{"notice":"The nonce used to create new strategy clones"},"collateralVaultTemplate()":{"notice":"The address of the collateral vault template"},"communityFee()":{"notice":"The fee charged to the community for each registration"},"communityName()":{"notice":"The community name"},"councilSafe()":{"notice":"The council safe contract address"},"covenantIpfsHash()":{"notice":"The covenant IPFS hash of community"},"enabledStrategies(address)":{"notice":"List of enabled/disabled strategies"},"feeReceiver()":{"notice":"The address that receives the community fee"},"gardenToken()":{"notice":"The token used to stake in the community"},"isKickEnabled()":{"notice":"Enable or disable the kick feature"},"memberActivatedInStrategies(address,address)":{"notice":"Mapping to check if a member is activated in a strategy"},"memberPowerInStrategy(address,address)":{"notice":"Power points for each member in each strategy"},"pendingCouncilSafe()":{"notice":"The address of the pending council safe owner"},"profileId()":{"notice":"The profileId of the community in the Allo Registry"},"registerStakeAmount()":{"notice":"The amount of tokens required to register a member"},"registry()":{"notice":"The Registry Allo contract"},"registryFactory()":{"notice":"The address of the registry factory"},"strategiesByMember(address,uint256)":{"notice":"List of strategies for each member are activated"},"strategyTemplate()":{"notice":"The address of the strategy template"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":"RegistryCommunityV0_0"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2","urls":["bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293","dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x4301751ea11db320804edf82deeb83d694240d4ab92e96fd75272823a0e68cbe","urls":["bzz-raw://17eb861b8e0b13b4fc31136dbb817f5bf9b0637dc1c0484b090e1e2121fc2595","dweb:/ipfs/QmbYz9fngCp4FmvAJyP2NqSpxBJRJa573mTQ5R9nVsCJAg"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xaea628cb12b8c0dd868c04c935f99ab50c88372f130ce2ced0c7b2b3ce780381","urls":["bzz-raw://22eb93eaf9fc1a9f591ed87dc478e8aabafb46e22ef870bba1345a799c44ba3d","dweb:/ipfs/QmSAXa8UmtGNXNtVbmqPMyEpA3RZYqWjZvPoVFHCvjHjwj"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":52990,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52993,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53695,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52782,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52902,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":53167,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_status","offset":0,"slot":"101","type":"t_uint256"},{"astId":53236,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":53969,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"151","type":"t_array(t_uint256)50_storage"},{"astId":52389,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_roles","offset":0,"slot":"201","type":"t_mapping(t_bytes32,t_struct(RoleData)52384_storage)"},{"astId":52696,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"202","type":"t_array(t_uint256)49_storage"},{"astId":71016,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"registerStakeAmount","offset":0,"slot":"251","type":"t_uint256"},{"astId":71019,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"communityFee","offset":0,"slot":"252","type":"t_uint256"},{"astId":71022,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"cloneNonce","offset":0,"slot":"253","type":"t_uint256"},{"astId":71025,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"profileId","offset":0,"slot":"254","type":"t_bytes32"},{"astId":71028,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"isKickEnabled","offset":0,"slot":"255","type":"t_bool"},{"astId":71031,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"feeReceiver","offset":1,"slot":"255","type":"t_address"},{"astId":71034,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"registryFactory","offset":0,"slot":"256","type":"t_address"},{"astId":71037,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"collateralVaultTemplate","offset":0,"slot":"257","type":"t_address"},{"astId":71040,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"strategyTemplate","offset":0,"slot":"258","type":"t_address"},{"astId":71043,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"pendingCouncilSafe","offset":0,"slot":"259","type":"t_address_payable"},{"astId":71047,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"registry","offset":0,"slot":"260","type":"t_contract(IRegistry)2802"},{"astId":71051,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"gardenToken","offset":0,"slot":"261","type":"t_contract(IERC20)56528"},{"astId":71055,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"councilSafe","offset":0,"slot":"262","type":"t_contract(ISafe)74170"},{"astId":71059,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"allo","offset":0,"slot":"263","type":"t_contract(FAllo)73903"},{"astId":71062,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"communityName","offset":0,"slot":"264","type":"t_string_storage"},{"astId":71065,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"covenantIpfsHash","offset":0,"slot":"265","type":"t_string_storage"},{"astId":71070,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"enabledStrategies","offset":0,"slot":"266","type":"t_mapping(t_address,t_bool)"},{"astId":71077,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"memberPowerInStrategy","offset":0,"slot":"267","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":71083,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"addressToMemberInfo","offset":0,"slot":"268","type":"t_mapping(t_address,t_struct(Member)71224_storage)"},{"astId":71089,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"strategiesByMember","offset":0,"slot":"269","type":"t_mapping(t_address,t_array(t_address)dyn_storage)"},{"astId":71096,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"memberActivatedInStrategies","offset":0,"slot":"270","type":"t_mapping(t_address,t_mapping(t_address,t_bool))"},{"astId":71100,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"initialMembers","offset":0,"slot":"271","type":"t_array(t_address)dyn_storage"},{"astId":72743,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"272","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_address_payable":{"encoding":"inplace","label":"address payable","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(FAllo)73903":{"encoding":"inplace","label":"contract FAllo","numberOfBytes":"20"},"t_contract(IERC20)56528":{"encoding":"inplace","label":"contract IERC20","numberOfBytes":"20"},"t_contract(IRegistry)2802":{"encoding":"inplace","label":"contract IRegistry","numberOfBytes":"20"},"t_contract(ISafe)74170":{"encoding":"inplace","label":"contract ISafe","numberOfBytes":"20"},"t_mapping(t_address,t_array(t_address)dyn_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => address[])","numberOfBytes":"32","value":"t_array(t_address)dyn_storage"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_mapping(t_address,t_bool))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => bool))","numberOfBytes":"32","value":"t_mapping(t_address,t_bool)"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_struct(Member)71224_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct RegistryCommunityV0_0.Member)","numberOfBytes":"32","value":"t_struct(Member)71224_storage"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_bytes32,t_struct(RoleData)52384_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)52384_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Member)71224_storage":{"encoding":"inplace","label":"struct RegistryCommunityV0_0.Member","numberOfBytes":"96","members":[{"astId":71219,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"member","offset":0,"slot":"0","type":"t_address"},{"astId":71221,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"stakedAmount","offset":0,"slot":"1","type":"t_uint256"},{"astId":71223,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"isRegistered","offset":0,"slot":"2","type":"t_bool"}]},"t_struct(RoleData)52384_storage":{"encoding":"inplace","label":"struct AccessControlUpgradeable.RoleData","numberOfBytes":"64","members":[{"astId":52381,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"members","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":52383,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"adminRole","offset":0,"slot":"1","type":"t_bytes32"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol","id":72745,"exportedSymbols":{"AccessControlUpgradeable":[52697],"CVStrategyV0_0":[69234],"Clone":[3002],"ERC165Checker":[57919],"ERC1967Proxy":[55021],"FAllo":[73903],"IAllo":[2610],"IERC20":[56528],"IPointStrategy":[65534],"IRegistry":[2802],"IRegistryFactory":[70060],"ISafe":[74170],"Metadata":[3098],"ProxyOwnableUpgrader":[70754],"ReentrancyGuardUpgradeable":[53237],"RegistryCommunityV0_0":[72744],"SafeERC20":[56965],"StrategyStruct":[65656],"UUPSUpgradeable":[55672],"Upgrades":[61176]},"nodeType":"SourceUnit","src":"42:26261:107","nodes":[{"id":70775,"nodeType":"PragmaDirective","src":"42:24:107","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":70777,"nodeType":"ImportDirective","src":"68:70:107","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":72745,"sourceUnit":56529,"symbolAliases":[{"foreign":{"id":70776,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56528,"src":"76:6:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70779,"nodeType":"ImportDirective","src":"139:82:107","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","file":"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","nameLocation":"-1:-1:-1","scope":72745,"sourceUnit":56966,"symbolAliases":[{"foreign":{"id":70778,"name":"SafeERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56965,"src":"147:9:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70781,"nodeType":"ImportDirective","src":"222:92:107","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165Checker.sol","nameLocation":"-1:-1:-1","scope":72745,"sourceUnit":57920,"symbolAliases":[{"foreign":{"id":70780,"name":"ERC165Checker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57919,"src":"230:13:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70783,"nodeType":"ImportDirective","src":"315:88:107","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":72745,"sourceUnit":55673,"symbolAliases":[{"foreign":{"id":70782,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55672,"src":"323:15:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70785,"nodeType":"ImportDirective","src":"405:132:107","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","nameLocation":"-1:-1:-1","scope":72745,"sourceUnit":53238,"symbolAliases":[{"foreign":{"id":70784,"name":"ReentrancyGuardUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53237,"src":"413:26:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70787,"nodeType":"ImportDirective","src":"538:126:107","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","nameLocation":"-1:-1:-1","scope":72745,"sourceUnit":52698,"symbolAliases":[{"foreign":{"id":70786,"name":"AccessControlUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52697,"src":"546:24:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70789,"nodeType":"ImportDirective","src":"666:66:107","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":72745,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":70788,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"674:5:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70791,"nodeType":"ImportDirective","src":"733:65:107","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":72745,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":70790,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"741:5:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70794,"nodeType":"ImportDirective","src":"799:84:107","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":72745,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":70792,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"807:9:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":70793,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"818:8:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70796,"nodeType":"ImportDirective","src":"884:46:107","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/FAllo.sol","file":"../interfaces/FAllo.sol","nameLocation":"-1:-1:-1","scope":72745,"sourceUnit":73904,"symbolAliases":[{"foreign":{"id":70795,"name":"FAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73903,"src":"892:5:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70798,"nodeType":"ImportDirective","src":"931:46:107","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ISafe.sol","file":"../interfaces/ISafe.sol","nameLocation":"-1:-1:-1","scope":72745,"sourceUnit":74187,"symbolAliases":[{"foreign":{"id":70797,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74170,"src":"939:5:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70800,"nodeType":"ImportDirective","src":"978:57:107","nodes":[],"absolutePath":"pkg/contracts/src/IRegistryFactory.sol","file":"../IRegistryFactory.sol","nameLocation":"-1:-1:-1","scope":72745,"sourceUnit":70061,"symbolAliases":[{"foreign":{"id":70799,"name":"IRegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70060,"src":"986:16:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70804,"nodeType":"ImportDirective","src":"1036:96:107","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol","file":"../CVStrategy/CVStrategyV0_0.sol","nameLocation":"-1:-1:-1","scope":72745,"sourceUnit":69235,"symbolAliases":[{"foreign":{"id":70801,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69234,"src":"1044:14:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":70802,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"1060:14:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":70803,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65534,"src":"1076:14:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70806,"nodeType":"ImportDirective","src":"1133:66:107","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol","file":"@openzeppelin/foundry/LegacyUpgrades.sol","nameLocation":"-1:-1:-1","scope":72745,"sourceUnit":61297,"symbolAliases":[{"foreign":{"id":70805,"name":"Upgrades","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61176,"src":"1141:8:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70808,"nodeType":"ImportDirective","src":"1200:84:107","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":72745,"sourceUnit":55022,"symbolAliases":[{"foreign":{"id":70807,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55021,"src":"1208:12:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70810,"nodeType":"ImportDirective","src":"1285:65:107","nodes":[],"absolutePath":"pkg/contracts/src/ProxyOwnableUpgrader.sol","file":"../ProxyOwnableUpgrader.sol","nameLocation":"-1:-1:-1","scope":72745,"sourceUnit":70755,"symbolAliases":[{"foreign":{"id":70809,"name":"ProxyOwnableUpgrader","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70754,"src":"1293:20:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72744,"nodeType":"ContractDefinition","src":"1403:24899:107","nodes":[{"id":70821,"nodeType":"EventDefinition","src":"1684:29:107","nodes":[],"anonymous":false,"eventSelector":"aaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d2","name":"AlloSet","nameLocation":"1690:7:107","parameters":{"id":70820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70819,"indexed":false,"mutability":"mutable","name":"_allo","nameLocation":"1706:5:107","nodeType":"VariableDeclaration","scope":70821,"src":"1698:13:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70818,"name":"address","nodeType":"ElementaryTypeName","src":"1698:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1697:15:107"}},{"id":70825,"nodeType":"EventDefinition","src":"1718:36:107","nodes":[],"anonymous":false,"eventSelector":"ad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb68872","name":"CouncilSafeSet","nameLocation":"1724:14:107","parameters":{"id":70824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70823,"indexed":false,"mutability":"mutable","name":"_safe","nameLocation":"1747:5:107","nodeType":"VariableDeclaration","scope":70825,"src":"1739:13:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70822,"name":"address","nodeType":"ElementaryTypeName","src":"1739:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1738:15:107"}},{"id":70831,"nodeType":"EventDefinition","src":"1759:74:107","nodes":[],"anonymous":false,"eventSelector":"83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf8","name":"CouncilSafeChangeStarted","nameLocation":"1765:24:107","parameters":{"id":70830,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70827,"indexed":false,"mutability":"mutable","name":"_safeOwner","nameLocation":"1798:10:107","nodeType":"VariableDeclaration","scope":70831,"src":"1790:18:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70826,"name":"address","nodeType":"ElementaryTypeName","src":"1790:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70829,"indexed":false,"mutability":"mutable","name":"_newSafeOwner","nameLocation":"1818:13:107","nodeType":"VariableDeclaration","scope":70831,"src":"1810:21:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70828,"name":"address","nodeType":"ElementaryTypeName","src":"1810:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1789:43:107"}},{"id":70837,"nodeType":"EventDefinition","src":"1838:63:107","nodes":[],"anonymous":false,"eventSelector":"67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689","name":"MemberRegistered","nameLocation":"1844:16:107","parameters":{"id":70836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70833,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"1869:7:107","nodeType":"VariableDeclaration","scope":70837,"src":"1861:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70832,"name":"address","nodeType":"ElementaryTypeName","src":"1861:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70835,"indexed":false,"mutability":"mutable","name":"_amountStaked","nameLocation":"1886:13:107","nodeType":"VariableDeclaration","scope":70837,"src":"1878:21:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70834,"name":"uint256","nodeType":"ElementaryTypeName","src":"1878:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1860:40:107"}},{"id":70843,"nodeType":"EventDefinition","src":"1906:67:107","nodes":[],"anonymous":false,"eventSelector":"a13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4","name":"MemberUnregistered","nameLocation":"1912:18:107","parameters":{"id":70842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70839,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"1939:7:107","nodeType":"VariableDeclaration","scope":70843,"src":"1931:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70838,"name":"address","nodeType":"ElementaryTypeName","src":"1931:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70841,"indexed":false,"mutability":"mutable","name":"_amountReturned","nameLocation":"1956:15:107","nodeType":"VariableDeclaration","scope":70843,"src":"1948:23:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70840,"name":"uint256","nodeType":"ElementaryTypeName","src":"1948:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1930:42:107"}},{"id":70851,"nodeType":"EventDefinition","src":"1978:87:107","nodes":[],"anonymous":false,"eventSelector":"b5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a3","name":"MemberKicked","nameLocation":"1984:12:107","parameters":{"id":70850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70845,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2005:7:107","nodeType":"VariableDeclaration","scope":70851,"src":"1997:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70844,"name":"address","nodeType":"ElementaryTypeName","src":"1997:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70847,"indexed":false,"mutability":"mutable","name":"_transferAddress","nameLocation":"2022:16:107","nodeType":"VariableDeclaration","scope":70851,"src":"2014:24:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70846,"name":"address","nodeType":"ElementaryTypeName","src":"2014:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70849,"indexed":false,"mutability":"mutable","name":"_amountReturned","nameLocation":"2048:15:107","nodeType":"VariableDeclaration","scope":70851,"src":"2040:23:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70848,"name":"uint256","nodeType":"ElementaryTypeName","src":"2040:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1996:68:107"}},{"id":70855,"nodeType":"EventDefinition","src":"2070:43:107","nodes":[],"anonymous":false,"eventSelector":"611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6","name":"CommunityFeeUpdated","nameLocation":"2076:19:107","parameters":{"id":70854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70853,"indexed":false,"mutability":"mutable","name":"_newFee","nameLocation":"2104:7:107","nodeType":"VariableDeclaration","scope":70855,"src":"2096:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70852,"name":"uint256","nodeType":"ElementaryTypeName","src":"2096:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2095:17:107"}},{"id":70864,"nodeType":"EventDefinition","src":"2118:89:107","nodes":[],"anonymous":false,"eventSelector":"2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205","name":"RegistryInitialized","nameLocation":"2124:19:107","parameters":{"id":70863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70857,"indexed":false,"mutability":"mutable","name":"_profileId","nameLocation":"2152:10:107","nodeType":"VariableDeclaration","scope":70864,"src":"2144:18:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70856,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2144:7:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":70859,"indexed":false,"mutability":"mutable","name":"_communityName","nameLocation":"2171:14:107","nodeType":"VariableDeclaration","scope":70864,"src":"2164:21:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70858,"name":"string","nodeType":"ElementaryTypeName","src":"2164:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":70862,"indexed":false,"mutability":"mutable","name":"_metadata","nameLocation":"2196:9:107","nodeType":"VariableDeclaration","scope":70864,"src":"2187:18:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":70861,"nodeType":"UserDefinedTypeName","pathNode":{"id":70860,"name":"Metadata","nameLocations":["2187:8:107"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2187:8:107"},"referencedDeclaration":3098,"src":"2187:8:107","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"2143:63:107"}},{"id":70868,"nodeType":"EventDefinition","src":"2212:39:107","nodes":[],"anonymous":false,"eventSelector":"3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1","name":"StrategyAdded","nameLocation":"2218:13:107","parameters":{"id":70867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70866,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2240:9:107","nodeType":"VariableDeclaration","scope":70868,"src":"2232:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70865,"name":"address","nodeType":"ElementaryTypeName","src":"2232:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2231:19:107"}},{"id":70872,"nodeType":"EventDefinition","src":"2256:41:107","nodes":[],"anonymous":false,"eventSelector":"09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4","name":"StrategyRemoved","nameLocation":"2262:15:107","parameters":{"id":70871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70870,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2286:9:107","nodeType":"VariableDeclaration","scope":70872,"src":"2278:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70869,"name":"address","nodeType":"ElementaryTypeName","src":"2278:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2277:19:107"}},{"id":70880,"nodeType":"EventDefinition","src":"2302:93:107","nodes":[],"anonymous":false,"eventSelector":"f56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec","name":"MemberActivatedStrategy","nameLocation":"2308:23:107","parameters":{"id":70879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70874,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2340:7:107","nodeType":"VariableDeclaration","scope":70880,"src":"2332:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70873,"name":"address","nodeType":"ElementaryTypeName","src":"2332:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70876,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2357:9:107","nodeType":"VariableDeclaration","scope":70880,"src":"2349:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70875,"name":"address","nodeType":"ElementaryTypeName","src":"2349:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70878,"indexed":false,"mutability":"mutable","name":"_pointsToIncrease","nameLocation":"2376:17:107","nodeType":"VariableDeclaration","scope":70880,"src":"2368:25:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70877,"name":"uint256","nodeType":"ElementaryTypeName","src":"2368:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2331:63:107"}},{"id":70886,"nodeType":"EventDefinition","src":"2400:68:107","nodes":[],"anonymous":false,"eventSelector":"00de109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b","name":"MemberDeactivatedStrategy","nameLocation":"2406:25:107","parameters":{"id":70885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70882,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2440:7:107","nodeType":"VariableDeclaration","scope":70886,"src":"2432:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70881,"name":"address","nodeType":"ElementaryTypeName","src":"2432:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70884,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2457:9:107","nodeType":"VariableDeclaration","scope":70886,"src":"2449:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70883,"name":"address","nodeType":"ElementaryTypeName","src":"2449:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2431:36:107"}},{"id":70890,"nodeType":"EventDefinition","src":"2473:47:107","nodes":[],"anonymous":false,"eventSelector":"5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f","name":"BasisStakedAmountSet","nameLocation":"2479:20:107","parameters":{"id":70889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70888,"indexed":false,"mutability":"mutable","name":"_newAmount","nameLocation":"2508:10:107","nodeType":"VariableDeclaration","scope":70890,"src":"2500:18:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70887,"name":"uint256","nodeType":"ElementaryTypeName","src":"2500:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2499:20:107"}},{"id":70896,"nodeType":"EventDefinition","src":"2525:67:107","nodes":[],"anonymous":false,"eventSelector":"576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f","name":"MemberPowerIncreased","nameLocation":"2531:20:107","parameters":{"id":70895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70892,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2560:7:107","nodeType":"VariableDeclaration","scope":70896,"src":"2552:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70891,"name":"address","nodeType":"ElementaryTypeName","src":"2552:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70894,"indexed":false,"mutability":"mutable","name":"_stakedAmount","nameLocation":"2577:13:107","nodeType":"VariableDeclaration","scope":70896,"src":"2569:21:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70893,"name":"uint256","nodeType":"ElementaryTypeName","src":"2569:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2551:40:107"}},{"id":70902,"nodeType":"EventDefinition","src":"2597:69:107","nodes":[],"anonymous":false,"eventSelector":"6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8","name":"MemberPowerDecreased","nameLocation":"2603:20:107","parameters":{"id":70901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70898,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2632:7:107","nodeType":"VariableDeclaration","scope":70902,"src":"2624:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70897,"name":"address","nodeType":"ElementaryTypeName","src":"2624:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70900,"indexed":false,"mutability":"mutable","name":"_unstakedAmount","nameLocation":"2649:15:107","nodeType":"VariableDeclaration","scope":70902,"src":"2641:23:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70899,"name":"uint256","nodeType":"ElementaryTypeName","src":"2641:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2623:42:107"}},{"id":70915,"nodeType":"EventDefinition","src":"2671:110:107","nodes":[],"anonymous":false,"eventSelector":"778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d283","name":"PoolCreated","nameLocation":"2677:11:107","parameters":{"id":70914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70904,"indexed":false,"mutability":"mutable","name":"_poolId","nameLocation":"2697:7:107","nodeType":"VariableDeclaration","scope":70915,"src":"2689:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70903,"name":"uint256","nodeType":"ElementaryTypeName","src":"2689:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70906,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2714:9:107","nodeType":"VariableDeclaration","scope":70915,"src":"2706:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70905,"name":"address","nodeType":"ElementaryTypeName","src":"2706:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70908,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"2733:10:107","nodeType":"VariableDeclaration","scope":70915,"src":"2725:18:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70907,"name":"address","nodeType":"ElementaryTypeName","src":"2725:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70910,"indexed":false,"mutability":"mutable","name":"_token","nameLocation":"2753:6:107","nodeType":"VariableDeclaration","scope":70915,"src":"2745:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70909,"name":"address","nodeType":"ElementaryTypeName","src":"2745:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70913,"indexed":false,"mutability":"mutable","name":"_metadata","nameLocation":"2770:9:107","nodeType":"VariableDeclaration","scope":70915,"src":"2761:18:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":70912,"nodeType":"UserDefinedTypeName","pathNode":{"id":70911,"name":"Metadata","nameLocations":["2761:8:107"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2761:8:107"},"referencedDeclaration":3098,"src":"2761:8:107","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"2688:92:107"}},{"id":70917,"nodeType":"ErrorDefinition","src":"2967:28:107","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"2973:19:107","parameters":{"id":70916,"nodeType":"ParameterList","parameters":[],"src":"2992:2:107"}},{"id":70919,"nodeType":"ErrorDefinition","src":"3000:29:107","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"3006:20:107","parameters":{"id":70918,"nodeType":"ParameterList","parameters":[],"src":"3026:2:107"}},{"id":70923,"nodeType":"ErrorDefinition","src":"3034:38:107","nodes":[],"errorSelector":"fc4be72f","name":"UserNotInCouncil","nameLocation":"3040:16:107","parameters":{"id":70922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70921,"mutability":"mutable","name":"_user","nameLocation":"3065:5:107","nodeType":"VariableDeclaration","scope":70923,"src":"3057:13:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70920,"name":"address","nodeType":"ElementaryTypeName","src":"3057:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3056:15:107"}},{"id":70925,"nodeType":"ErrorDefinition","src":"3077:26:107","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"3083:17:107","parameters":{"id":70924,"nodeType":"ParameterList","parameters":[],"src":"3100:2:107"}},{"id":70927,"nodeType":"ErrorDefinition","src":"3108:30:107","nodes":[],"errorSelector":"9e4a65f6","name":"UserAlreadyRegistered","nameLocation":"3114:21:107","parameters":{"id":70926,"nodeType":"ParameterList","parameters":[],"src":"3135:2:107"}},{"id":70929,"nodeType":"ErrorDefinition","src":"3143:27:107","nodes":[],"errorSelector":"e9a644b8","name":"UserNotGardenOwner","nameLocation":"3149:18:107","parameters":{"id":70928,"nodeType":"ParameterList","parameters":[],"src":"3167:2:107"}},{"id":70931,"nodeType":"ErrorDefinition","src":"3175:29:107","nodes":[],"errorSelector":"d5b9bc96","name":"UserAlreadyActivated","nameLocation":"3181:20:107","parameters":{"id":70930,"nodeType":"ParameterList","parameters":[],"src":"3201:2:107"}},{"id":70933,"nodeType":"ErrorDefinition","src":"3209:31:107","nodes":[],"errorSelector":"c12369dc","name":"UserAlreadyDeactivated","nameLocation":"3215:22:107","parameters":{"id":70932,"nodeType":"ParameterList","parameters":[],"src":"3237:2:107"}},{"id":70935,"nodeType":"ErrorDefinition","src":"3245:23:107","nodes":[],"errorSelector":"968a4d2c","name":"StrategyExists","nameLocation":"3251:14:107","parameters":{"id":70934,"nodeType":"ParameterList","parameters":[],"src":"3265:2:107"}},{"id":70937,"nodeType":"ErrorDefinition","src":"3273:25:107","nodes":[],"errorSelector":"46c26e4b","name":"StrategyDisabled","nameLocation":"3279:16:107","parameters":{"id":70936,"nodeType":"ParameterList","parameters":[],"src":"3295:2:107"}},{"id":70939,"nodeType":"ErrorDefinition","src":"3303:26:107","nodes":[],"errorSelector":"ebcd0d6e","name":"SenderNotNewOwner","nameLocation":"3309:17:107","parameters":{"id":70938,"nodeType":"ParameterList","parameters":[],"src":"3326:2:107"}},{"id":70941,"nodeType":"ErrorDefinition","src":"3334:26:107","nodes":[],"errorSelector":"bbe79611","name":"SenderNotStrategy","nameLocation":"3340:17:107","parameters":{"id":70940,"nodeType":"ParameterList","parameters":[],"src":"3357:2:107"}},{"id":70943,"nodeType":"ErrorDefinition","src":"3365:26:107","nodes":[],"errorSelector":"c70d18aa","name":"ValueCannotBeZero","nameLocation":"3371:17:107","parameters":{"id":70942,"nodeType":"ParameterList","parameters":[],"src":"3388:2:107"}},{"id":70945,"nodeType":"ErrorDefinition","src":"3396:29:107","nodes":[],"errorSelector":"fe925f7d","name":"NewFeeGreaterThanMax","nameLocation":"3402:20:107","parameters":{"id":70944,"nodeType":"ParameterList","parameters":[],"src":"3422:2:107"}},{"id":70947,"nodeType":"ErrorDefinition","src":"3430:23:107","nodes":[],"errorSelector":"cb63dc72","name":"KickNotEnabled","nameLocation":"3436:14:107","parameters":{"id":70946,"nodeType":"ParameterList","parameters":[],"src":"3450:2:107"}},{"id":70949,"nodeType":"ErrorDefinition","src":"3458:26:107","nodes":[],"errorSelector":"d4d3290e","name":"PointsDeactivated","nameLocation":"3464:17:107","parameters":{"id":70948,"nodeType":"ParameterList","parameters":[],"src":"3481:2:107"}},{"id":70951,"nodeType":"ErrorDefinition","src":"3489:29:107","nodes":[],"errorSelector":"9c47d02e","name":"DecreaseUnderMinimum","nameLocation":"3495:20:107","parameters":{"id":70950,"nodeType":"ParameterList","parameters":[],"src":"3515:2:107"}},{"id":70957,"nodeType":"ErrorDefinition","src":"3523:80:107","nodes":[],"errorSelector":"8a11f318","name":"CantDecreaseMoreThanPower","nameLocation":"3529:25:107","parameters":{"id":70956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70953,"mutability":"mutable","name":"_decreaseAmount","nameLocation":"3563:15:107","nodeType":"VariableDeclaration","scope":70957,"src":"3555:23:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70952,"name":"uint256","nodeType":"ElementaryTypeName","src":"3555:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70955,"mutability":"mutable","name":"_currentPower","nameLocation":"3588:13:107","nodeType":"VariableDeclaration","scope":70957,"src":"3580:21:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70954,"name":"uint256","nodeType":"ElementaryTypeName","src":"3580:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3554:48:107"}},{"id":70984,"nodeType":"StructDefinition","src":"4562:399:107","nodes":[],"canonicalName":"RegistryCommunityV0_0.InitializeParams","members":[{"constant":false,"id":70959,"mutability":"mutable","name":"_allo","nameLocation":"4604:5:107","nodeType":"VariableDeclaration","scope":70984,"src":"4596:13:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70958,"name":"address","nodeType":"ElementaryTypeName","src":"4596:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70962,"mutability":"mutable","name":"_gardenToken","nameLocation":"4626:12:107","nodeType":"VariableDeclaration","scope":70984,"src":"4619:19:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":70961,"nodeType":"UserDefinedTypeName","pathNode":{"id":70960,"name":"IERC20","nameLocations":["4619:6:107"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"4619:6:107"},"referencedDeclaration":56528,"src":"4619:6:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":70964,"mutability":"mutable","name":"_registerStakeAmount","nameLocation":"4656:20:107","nodeType":"VariableDeclaration","scope":70984,"src":"4648:28:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70963,"name":"uint256","nodeType":"ElementaryTypeName","src":"4648:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70966,"mutability":"mutable","name":"_communityFee","nameLocation":"4694:13:107","nodeType":"VariableDeclaration","scope":70984,"src":"4686:21:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70965,"name":"uint256","nodeType":"ElementaryTypeName","src":"4686:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70968,"mutability":"mutable","name":"_nonce","nameLocation":"4725:6:107","nodeType":"VariableDeclaration","scope":70984,"src":"4717:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70967,"name":"uint256","nodeType":"ElementaryTypeName","src":"4717:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70970,"mutability":"mutable","name":"_registryFactory","nameLocation":"4749:16:107","nodeType":"VariableDeclaration","scope":70984,"src":"4741:24:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70969,"name":"address","nodeType":"ElementaryTypeName","src":"4741:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70972,"mutability":"mutable","name":"_feeReceiver","nameLocation":"4783:12:107","nodeType":"VariableDeclaration","scope":70984,"src":"4775:20:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70971,"name":"address","nodeType":"ElementaryTypeName","src":"4775:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70975,"mutability":"mutable","name":"_metadata","nameLocation":"4814:9:107","nodeType":"VariableDeclaration","scope":70984,"src":"4805:18:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":70974,"nodeType":"UserDefinedTypeName","pathNode":{"id":70973,"name":"Metadata","nameLocations":["4805:8:107"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"4805:8:107"},"referencedDeclaration":3098,"src":"4805:8:107","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":70977,"mutability":"mutable","name":"_councilSafe","nameLocation":"4849:12:107","nodeType":"VariableDeclaration","scope":70984,"src":"4833:28:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":70976,"name":"address","nodeType":"ElementaryTypeName","src":"4833:15:107","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":70979,"mutability":"mutable","name":"_communityName","nameLocation":"4878:14:107","nodeType":"VariableDeclaration","scope":70984,"src":"4871:21:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":70978,"name":"string","nodeType":"ElementaryTypeName","src":"4871:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":70981,"mutability":"mutable","name":"_isKickEnabled","nameLocation":"4907:14:107","nodeType":"VariableDeclaration","scope":70984,"src":"4902:19:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70980,"name":"bool","nodeType":"ElementaryTypeName","src":"4902:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":70983,"mutability":"mutable","name":"covenantIpfsHash","nameLocation":"4938:16:107","nodeType":"VariableDeclaration","scope":70984,"src":"4931:23:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":70982,"name":"string","nodeType":"ElementaryTypeName","src":"4931:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"4569:16:107","scope":72744,"visibility":"public"},{"id":70987,"nodeType":"UsingForDirective","src":"4967:32:107","nodes":[],"global":false,"libraryName":{"id":70985,"name":"ERC165Checker","nameLocations":["4973:13:107"],"nodeType":"IdentifierPath","referencedDeclaration":57919,"src":"4973:13:107"},"typeName":{"id":70986,"name":"address","nodeType":"ElementaryTypeName","src":"4991:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":70991,"nodeType":"UsingForDirective","src":"5004:27:107","nodes":[],"global":false,"libraryName":{"id":70988,"name":"SafeERC20","nameLocations":["5010:9:107"],"nodeType":"IdentifierPath","referencedDeclaration":56965,"src":"5010:9:107"},"typeName":{"id":70990,"nodeType":"UserDefinedTypeName","pathNode":{"id":70989,"name":"IERC20","nameLocations":["5024:6:107"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"5024:6:107"},"referencedDeclaration":56528,"src":"5024:6:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}}},{"id":70994,"nodeType":"UsingForDirective","src":"5036:24:107","nodes":[],"global":false,"libraryName":{"id":70992,"name":"Clone","nameLocations":["5042:5:107"],"nodeType":"IdentifierPath","referencedDeclaration":3002,"src":"5042:5:107"},"typeName":{"id":70993,"name":"address","nodeType":"ElementaryTypeName","src":"5052:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":70997,"nodeType":"VariableDeclaration","src":"5066:38:107","nodes":[],"constant":true,"functionSelector":"ffa1ad74","mutability":"constant","name":"VERSION","nameLocation":"5089:7:107","scope":72744,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70995,"name":"string","nodeType":"ElementaryTypeName","src":"5066:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"302e30","id":70996,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5099:5:107","typeDescriptions":{"typeIdentifier":"t_stringliteral_7be32719f3172a4c9a8d1f020e88b7d75f936a7394cfbfe03d409404e58cbdc3","typeString":"literal_string \"0.0\""},"value":"0.0"},"visibility":"public"},{"id":71001,"nodeType":"VariableDeclaration","src":"5190:75:107","nodes":[],"constant":true,"documentation":{"id":70998,"nodeType":"StructuredDocumentation","src":"5110:75:107","text":"@notice The native address to represent native token eg: ETH in mainnet"},"functionSelector":"a0cf0aea","mutability":"constant","name":"NATIVE","nameLocation":"5214:6:107","scope":72744,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70999,"name":"address","nodeType":"ElementaryTypeName","src":"5190:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307845656565654565656545654565654565456545656545454565656565456565656565656545456545","id":71000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5223:42:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},"visibility":"public"},{"id":71007,"nodeType":"VariableDeclaration","src":"5355:49:107","nodes":[],"constant":true,"documentation":{"id":71002,"nodeType":"StructuredDocumentation","src":"5271:79:107","text":"@notice The precision scale used in the contract to avoid loss of precision"},"functionSelector":"d7050f07","mutability":"constant","name":"PRECISION_SCALE","nameLocation":"5379:15:107","scope":72744,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71003,"name":"uint256","nodeType":"ElementaryTypeName","src":"5355:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":71006,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":71004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5397:2:107","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":71005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5403:1:107","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"5397:7:107","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"visibility":"public"},{"id":71013,"nodeType":"VariableDeclaration","src":"5479:54:107","nodes":[],"constant":true,"documentation":{"id":71008,"nodeType":"StructuredDocumentation","src":"5410:64:107","text":"@notice The maximum fee that can be charged to the community"},"functionSelector":"bc063e1a","mutability":"constant","name":"MAX_FEE","nameLocation":"5503:7:107","scope":72744,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71009,"name":"uint256","nodeType":"ElementaryTypeName","src":"5479:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71012,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":71010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5513:2:107","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":71011,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71007,"src":"5518:15:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5513:20:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":71016,"nodeType":"VariableDeclaration","src":"5606:34:107","nodes":[],"constant":false,"documentation":{"id":71014,"nodeType":"StructuredDocumentation","src":"5539:62:107","text":"@notice The amount of tokens required to register a member"},"functionSelector":"78a0b8a9","mutability":"mutable","name":"registerStakeAmount","nameLocation":"5621:19:107","scope":72744,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71015,"name":"uint256","nodeType":"ElementaryTypeName","src":"5606:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":71019,"nodeType":"VariableDeclaration","src":"5717:27:107","nodes":[],"constant":false,"documentation":{"id":71017,"nodeType":"StructuredDocumentation","src":"5646:66:107","text":"@notice The fee charged to the community for each registration"},"functionSelector":"8961be6b","mutability":"mutable","name":"communityFee","nameLocation":"5732:12:107","scope":72744,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71018,"name":"uint256","nodeType":"ElementaryTypeName","src":"5717:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":71022,"nodeType":"VariableDeclaration","src":"5811:25:107","nodes":[],"constant":false,"documentation":{"id":71020,"nodeType":"StructuredDocumentation","src":"5750:56:107","text":"@notice The nonce used to create new strategy clones"},"functionSelector":"33960459","mutability":"mutable","name":"cloneNonce","nameLocation":"5826:10:107","scope":72744,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71021,"name":"uint256","nodeType":"ElementaryTypeName","src":"5811:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":71025,"nodeType":"VariableDeclaration","src":"5910:24:107","nodes":[],"constant":false,"documentation":{"id":71023,"nodeType":"StructuredDocumentation","src":"5842:63:107","text":"@notice The profileId of the community in the Allo Registry"},"functionSelector":"08386eba","mutability":"mutable","name":"profileId","nameLocation":"5925:9:107","scope":72744,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":71024,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5910:7:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":71028,"nodeType":"VariableDeclaration","src":"5991:25:107","nodes":[],"constant":false,"documentation":{"id":71026,"nodeType":"StructuredDocumentation","src":"5940:46:107","text":"@notice Enable or disable the kick feature"},"functionSelector":"1f787d28","mutability":"mutable","name":"isKickEnabled","nameLocation":"6003:13:107","scope":72744,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71027,"name":"bool","nodeType":"ElementaryTypeName","src":"5991:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"public"},{"id":71031,"nodeType":"VariableDeclaration","src":"6083:26:107","nodes":[],"constant":false,"documentation":{"id":71029,"nodeType":"StructuredDocumentation","src":"6023:55:107","text":"@notice The address that receives the community fee"},"functionSelector":"b3f00674","mutability":"mutable","name":"feeReceiver","nameLocation":"6098:11:107","scope":72744,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71030,"name":"address","nodeType":"ElementaryTypeName","src":"6083:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":71034,"nodeType":"VariableDeclaration","src":"6167:30:107","nodes":[],"constant":false,"documentation":{"id":71032,"nodeType":"StructuredDocumentation","src":"6115:47:107","text":"@notice The address of the registry factory"},"functionSelector":"f86c5f89","mutability":"mutable","name":"registryFactory","nameLocation":"6182:15:107","scope":72744,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71033,"name":"address","nodeType":"ElementaryTypeName","src":"6167:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":71037,"nodeType":"VariableDeclaration","src":"6264:38:107","nodes":[],"constant":false,"documentation":{"id":71035,"nodeType":"StructuredDocumentation","src":"6203:56:107","text":"@notice The address of the collateral vault template"},"functionSelector":"77122d56","mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"6279:23:107","scope":72744,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71036,"name":"address","nodeType":"ElementaryTypeName","src":"6264:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":71040,"nodeType":"VariableDeclaration","src":"6361:31:107","nodes":[],"constant":false,"documentation":{"id":71038,"nodeType":"StructuredDocumentation","src":"6308:48:107","text":"@notice The address of the strategy template"},"functionSelector":"5c94e4d2","mutability":"mutable","name":"strategyTemplate","nameLocation":"6376:16:107","scope":72744,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71039,"name":"address","nodeType":"ElementaryTypeName","src":"6361:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":71043,"nodeType":"VariableDeclaration","src":"6460:41:107","nodes":[],"constant":false,"documentation":{"id":71041,"nodeType":"StructuredDocumentation","src":"6398:57:107","text":"@notice The address of the pending council safe owner"},"functionSelector":"68decabb","mutability":"mutable","name":"pendingCouncilSafe","nameLocation":"6483:18:107","scope":72744,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":71042,"name":"address","nodeType":"ElementaryTypeName","src":"6460:15:107","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"public"},{"id":71047,"nodeType":"VariableDeclaration","src":"6551:25:107","nodes":[],"constant":false,"documentation":{"id":71044,"nodeType":"StructuredDocumentation","src":"6508:38:107","text":"@notice The Registry Allo contract"},"functionSelector":"7b103999","mutability":"mutable","name":"registry","nameLocation":"6568:8:107","scope":72744,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":71046,"nodeType":"UserDefinedTypeName","pathNode":{"id":71045,"name":"IRegistry","nameLocations":["6551:9:107"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"6551:9:107"},"referencedDeclaration":2802,"src":"6551:9:107","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"public"},{"id":71051,"nodeType":"VariableDeclaration","src":"6639:25:107","nodes":[],"constant":false,"documentation":{"id":71048,"nodeType":"StructuredDocumentation","src":"6582:52:107","text":"@notice The token used to stake in the community"},"functionSelector":"db61d65c","mutability":"mutable","name":"gardenToken","nameLocation":"6653:11:107","scope":72744,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":71050,"nodeType":"UserDefinedTypeName","pathNode":{"id":71049,"name":"IERC20","nameLocations":["6639:6:107"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"6639:6:107"},"referencedDeclaration":56528,"src":"6639:6:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"public"},{"id":71055,"nodeType":"VariableDeclaration","src":"6720:24:107","nodes":[],"constant":false,"documentation":{"id":71052,"nodeType":"StructuredDocumentation","src":"6670:45:107","text":"@notice The council safe contract address"},"functionSelector":"6c53db9a","mutability":"mutable","name":"councilSafe","nameLocation":"6733:11:107","scope":72744,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"},"typeName":{"id":71054,"nodeType":"UserDefinedTypeName","pathNode":{"id":71053,"name":"ISafe","nameLocations":["6720:5:107"],"nodeType":"IdentifierPath","referencedDeclaration":74170,"src":"6720:5:107"},"referencedDeclaration":74170,"src":"6720:5:107","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}},"visibility":"public"},{"id":71059,"nodeType":"VariableDeclaration","src":"6792:17:107","nodes":[],"constant":false,"documentation":{"id":71056,"nodeType":"StructuredDocumentation","src":"6750:37:107","text":"@notice The Allo contract address"},"functionSelector":"d6d8428d","mutability":"mutable","name":"allo","nameLocation":"6805:4:107","scope":72744,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$73903","typeString":"contract FAllo"},"typeName":{"id":71058,"nodeType":"UserDefinedTypeName","pathNode":{"id":71057,"name":"FAllo","nameLocations":["6792:5:107"],"nodeType":"IdentifierPath","referencedDeclaration":73903,"src":"6792:5:107"},"referencedDeclaration":73903,"src":"6792:5:107","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$73903","typeString":"contract FAllo"}},"visibility":"public"},{"id":71062,"nodeType":"VariableDeclaration","src":"6851:27:107","nodes":[],"constant":false,"documentation":{"id":71060,"nodeType":"StructuredDocumentation","src":"6816:30:107","text":"@notice The community name"},"functionSelector":"c6d572ae","mutability":"mutable","name":"communityName","nameLocation":"6865:13:107","scope":72744,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":71061,"name":"string","nodeType":"ElementaryTypeName","src":"6851:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"id":71065,"nodeType":"VariableDeclaration","src":"6936:30:107","nodes":[],"constant":false,"documentation":{"id":71063,"nodeType":"StructuredDocumentation","src":"6884:47:107","text":"@notice The covenant IPFS hash of community"},"functionSelector":"b64e39af","mutability":"mutable","name":"covenantIpfsHash","nameLocation":"6950:16:107","scope":72744,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":71064,"name":"string","nodeType":"ElementaryTypeName","src":"6936:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"id":71070,"nodeType":"VariableDeclaration","src":"7082:68:107","nodes":[],"constant":false,"documentation":{"id":71066,"nodeType":"StructuredDocumentation","src":"7030:47:107","text":"@notice List of enabled/disabled strategies"},"functionSelector":"3a871fe1","mutability":"mutable","name":"enabledStrategies","nameLocation":"7133:17:107","scope":72744,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":71069,"keyName":"strategy","keyNameLocation":"7098:8:107","keyType":{"id":71067,"name":"address","nodeType":"ElementaryTypeName","src":"7090:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7082:43:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"isEnabled","valueNameLocation":"7115:9:107","valueType":{"id":71068,"name":"bool","nodeType":"ElementaryTypeName","src":"7110:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"public"},{"id":71077,"nodeType":"VariableDeclaration","src":"7218:98:107","nodes":[],"constant":false,"documentation":{"id":71071,"nodeType":"StructuredDocumentation","src":"7156:57:107","text":"@notice Power points for each member in each strategy"},"functionSelector":"65e3864c","mutability":"mutable","name":"memberPowerInStrategy","nameLocation":"7295:21:107","scope":72744,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":71076,"keyName":"strategy","keyNameLocation":"7234:8:107","keyType":{"id":71072,"name":"address","nodeType":"ElementaryTypeName","src":"7226:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7218:69:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":71075,"keyName":"member","keyNameLocation":"7262:6:107","keyType":{"id":71073,"name":"address","nodeType":"ElementaryTypeName","src":"7254:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7246:40:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"power","valueNameLocation":"7280:5:107","valueType":{"id":71074,"name":"uint256","nodeType":"ElementaryTypeName","src":"7272:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"public"},{"id":71083,"nodeType":"VariableDeclaration","src":"7416:60:107","nodes":[],"constant":false,"documentation":{"id":71078,"nodeType":"StructuredDocumentation","src":"7322:89:107","text":"@notice Member information as the staked amount and if is registered in the community"},"functionSelector":"88cfe684","mutability":"mutable","name":"addressToMemberInfo","nameLocation":"7457:19:107","scope":72744,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$71224_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member)"},"typeName":{"id":71082,"keyName":"member","keyNameLocation":"7432:6:107","keyType":{"id":71079,"name":"address","nodeType":"ElementaryTypeName","src":"7424:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7416:33:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$71224_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":71081,"nodeType":"UserDefinedTypeName","pathNode":{"id":71080,"name":"Member","nameLocations":["7442:6:107"],"nodeType":"IdentifierPath","referencedDeclaration":71224,"src":"7442:6:107"},"referencedDeclaration":71224,"src":"7442:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}}},"visibility":"public"},{"id":71089,"nodeType":"VariableDeclaration","src":"7547:82:107","nodes":[],"constant":false,"documentation":{"id":71084,"nodeType":"StructuredDocumentation","src":"7482:60:107","text":"@notice List of strategies for each member are activated"},"functionSelector":"2b38c69c","mutability":"mutable","name":"strategiesByMember","nameLocation":"7611:18:107","scope":72744,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[])"},"typeName":{"id":71088,"keyName":"member","keyNameLocation":"7563:6:107","keyType":{"id":71085,"name":"address","nodeType":"ElementaryTypeName","src":"7555:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7547:56:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[])"},"valueName":"strategiesAddresses","valueNameLocation":"7583:19:107","valueType":{"baseType":{"id":71086,"name":"address","nodeType":"ElementaryTypeName","src":"7573:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71087,"nodeType":"ArrayTypeName","src":"7573:9:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"visibility":"public"},{"id":71096,"nodeType":"VariableDeclaration","src":"7707:107:107","nodes":[],"constant":false,"documentation":{"id":71090,"nodeType":"StructuredDocumentation","src":"7635:67:107","text":"@notice Mapping to check if a member is activated in a strategy"},"functionSelector":"477a5cc0","mutability":"mutable","name":"memberActivatedInStrategies","nameLocation":"7787:27:107","scope":72744,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"typeName":{"id":71095,"keyName":"member","keyNameLocation":"7723:6:107","keyType":{"id":71091,"name":"address","nodeType":"ElementaryTypeName","src":"7715:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7707:72:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":71094,"keyName":"strategy","keyNameLocation":"7749:8:107","keyType":{"id":71092,"name":"address","nodeType":"ElementaryTypeName","src":"7741:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7733:45:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"isActivated","valueNameLocation":"7766:11:107","valueType":{"id":71093,"name":"bool","nodeType":"ElementaryTypeName","src":"7761:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"public"},{"id":71100,"nodeType":"VariableDeclaration","src":"7907:24:107","nodes":[],"constant":false,"documentation":{"id":71097,"nodeType":"StructuredDocumentation","src":"7821:81:107","text":"@notice List of initial members to be added as pool managers in the Allo Pool"},"mutability":"mutable","name":"initialMembers","nameLocation":"7917:14:107","scope":72744,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":71098,"name":"address","nodeType":"ElementaryTypeName","src":"7907:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71099,"nodeType":"ArrayTypeName","src":"7907:9:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"id":71106,"nodeType":"VariableDeclaration","src":"8148:68:107","nodes":[],"constant":true,"documentation":{"id":71101,"nodeType":"StructuredDocumentation","src":"8103:40:107","text":"@notice Role to council safe members"},"functionSelector":"733a2d1f","mutability":"constant","name":"COUNCIL_MEMBER","nameLocation":"8172:14:107","scope":72744,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":71102,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8148:7:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"434f554e43494c5f4d454d424552","id":71104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8199:16:107","typeDescriptions":{"typeIdentifier":"t_stringliteral_03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa","typeString":"literal_string \"COUNCIL_MEMBER\""},"value":"COUNCIL_MEMBER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa","typeString":"literal_string \"COUNCIL_MEMBER\""}],"id":71103,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"8189:9:107","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":71105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8189:27:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":71123,"nodeType":"FunctionDefinition","src":"8389:167:107","nodes":[],"body":{"id":71122,"nodeType":"Block","src":"8438:118:107","nodes":[],"statements":[{"condition":{"id":71114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8452:36:107","subExpression":{"arguments":[{"id":71110,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71106,"src":"8461:14:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":71111,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8477:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":71112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8481:6:107","memberName":"sender","nodeType":"MemberAccess","src":"8477:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":71109,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52456,"src":"8453:7:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":71113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8453:35:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71121,"nodeType":"IfStatement","src":"8448:102:107","trueBody":{"id":71120,"nodeType":"Block","src":"8490:60:107","statements":[{"errorCall":{"arguments":[{"expression":{"id":71116,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8528:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":71117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8532:6:107","memberName":"sender","nodeType":"MemberAccess","src":"8528:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71115,"name":"UserNotInCouncil","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70923,"src":"8511:16:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":71118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8511:28:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71119,"nodeType":"RevertStatement","src":"8504:35:107"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyCouncilSafe","nameLocation":"8398:15:107","parameters":{"id":71107,"nodeType":"ParameterList","parameters":[],"src":"8413:2:107"},"returnParameters":{"id":71108,"nodeType":"ParameterList","parameters":[],"src":"8438:0:107"},"scope":72744,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":71137,"nodeType":"FunctionDefinition","src":"8562:152:107","nodes":[],"body":{"id":71136,"nodeType":"Block","src":"8620:94:107","nodes":[],"statements":[{"condition":{"id":71130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8634:21:107","subExpression":{"arguments":[{"expression":{"id":71127,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8644:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":71128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8648:6:107","memberName":"sender","nodeType":"MemberAccess","src":"8644:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71126,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72361,"src":"8635:8:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":71129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8635:20:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71135,"nodeType":"IfStatement","src":"8630:78:107","trueBody":{"id":71134,"nodeType":"Block","src":"8657:51:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71131,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70925,"src":"8678:17:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8678:19:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71133,"nodeType":"RevertStatement","src":"8671:26:107"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryMemberSender","nameLocation":"8571:24:107","parameters":{"id":71124,"nodeType":"ParameterList","parameters":[],"src":"8595:2:107"},"returnParameters":{"id":71125,"nodeType":"ParameterList","parameters":[],"src":"8620:0:107"},"scope":72744,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":71152,"nodeType":"FunctionDefinition","src":"8720:157:107","nodes":[],"body":{"id":71151,"nodeType":"Block","src":"8786:91:107","nodes":[],"statements":[{"condition":{"id":71145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8800:18:107","subExpression":{"arguments":[{"id":71143,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71139,"src":"8810:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71142,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72361,"src":"8801:8:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":71144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8801:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71150,"nodeType":"IfStatement","src":"8796:75:107","trueBody":{"id":71149,"nodeType":"Block","src":"8820:51:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71146,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70925,"src":"8841:17:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8841:19:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71148,"nodeType":"RevertStatement","src":"8834:26:107"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryMemberAddress","nameLocation":"8729:25:107","parameters":{"id":71140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71139,"mutability":"mutable","name":"_sender","nameLocation":"8763:7:107","nodeType":"VariableDeclaration","scope":71152,"src":"8755:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71138,"name":"address","nodeType":"ElementaryTypeName","src":"8755:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8754:17:107"},"returnParameters":{"id":71141,"nodeType":"ParameterList","parameters":[],"src":"8786:0:107"},"scope":72744,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":71167,"nodeType":"FunctionDefinition","src":"8883:163:107","nodes":[],"body":{"id":71166,"nodeType":"Block","src":"8945:101:107","nodes":[],"statements":[{"condition":{"id":71160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8959:29:107","subExpression":{"baseExpression":{"id":71157,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71070,"src":"8960:17:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":71159,"indexExpression":{"id":71158,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71154,"src":"8978:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8960:28:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71165,"nodeType":"IfStatement","src":"8955:85:107","trueBody":{"id":71164,"nodeType":"Block","src":"8990:50:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71161,"name":"StrategyDisabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70937,"src":"9011:16:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9011:18:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71163,"nodeType":"RevertStatement","src":"9004:25:107"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyStrategyEnabled","nameLocation":"8892:19:107","parameters":{"id":71155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71154,"mutability":"mutable","name":"_strategy","nameLocation":"8920:9:107","nodeType":"VariableDeclaration","scope":71167,"src":"8912:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71153,"name":"address","nodeType":"ElementaryTypeName","src":"8912:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8911:19:107"},"returnParameters":{"id":71156,"nodeType":"ParameterList","parameters":[],"src":"8945:0:107"},"scope":72744,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":71183,"nodeType":"FunctionDefinition","src":"9052:172:107","nodes":[],"body":{"id":71182,"nodeType":"Block","src":"9131:93:107","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":71176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71174,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71169,"src":"9145:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":71175,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71171,"src":"9156:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9145:20:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71181,"nodeType":"IfStatement","src":"9141:77:107","trueBody":{"id":71180,"nodeType":"Block","src":"9167:51:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71177,"name":"SenderNotStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70941,"src":"9188:17:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9188:19:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71179,"nodeType":"RevertStatement","src":"9181:26:107"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyStrategyAddress","nameLocation":"9061:19:107","parameters":{"id":71172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71169,"mutability":"mutable","name":"_sender","nameLocation":"9089:7:107","nodeType":"VariableDeclaration","scope":71183,"src":"9081:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71168,"name":"address","nodeType":"ElementaryTypeName","src":"9081:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71171,"mutability":"mutable","name":"_strategy","nameLocation":"9106:9:107","nodeType":"VariableDeclaration","scope":71183,"src":"9098:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71170,"name":"address","nodeType":"ElementaryTypeName","src":"9098:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9080:36:107"},"returnParameters":{"id":71173,"nodeType":"ParameterList","parameters":[],"src":"9131:0:107"},"scope":72744,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":71201,"nodeType":"FunctionDefinition","src":"9230:190:107","nodes":[],"body":{"id":71200,"nodeType":"Block","src":"9296:124:107","nodes":[],"statements":[{"condition":{"id":71194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9310:51:107","subExpression":{"baseExpression":{"baseExpression":{"id":71188,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71096,"src":"9311:27:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":71191,"indexExpression":{"expression":{"id":71189,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9339:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":71190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9343:6:107","memberName":"sender","nodeType":"MemberAccess","src":"9339:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9311:39:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":71193,"indexExpression":{"id":71192,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71185,"src":"9351:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9311:50:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71199,"nodeType":"IfStatement","src":"9306:108:107","trueBody":{"id":71198,"nodeType":"Block","src":"9363:51:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71195,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70949,"src":"9384:17:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9384:19:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71197,"nodeType":"RevertStatement","src":"9377:26:107"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyActivatedInStrategy","nameLocation":"9239:23:107","parameters":{"id":71186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71185,"mutability":"mutable","name":"_strategy","nameLocation":"9271:9:107","nodeType":"VariableDeclaration","scope":71201,"src":"9263:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71184,"name":"address","nodeType":"ElementaryTypeName","src":"9263:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9262:19:107"},"returnParameters":{"id":71187,"nodeType":"ParameterList","parameters":[],"src":"9296:0:107"},"scope":72744,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":71217,"nodeType":"FunctionDefinition","src":"9426:133:107","nodes":[],"body":{"id":71216,"nodeType":"Block","src":"9486:73:107","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":71211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71206,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71203,"src":"9500:8:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":71209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9520:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":71208,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9512:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71207,"name":"address","nodeType":"ElementaryTypeName","src":"9512:7:107","typeDescriptions":{}}},"id":71210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9512:10:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9500:22:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71215,"nodeType":"IfStatement","src":"9496:56:107","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71212,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70917,"src":"9531:19:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9531:21:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71214,"nodeType":"RevertStatement","src":"9524:28:107"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"9435:18:107","parameters":{"id":71204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71203,"mutability":"mutable","name":"_address","nameLocation":"9462:8:107","nodeType":"VariableDeclaration","scope":71217,"src":"9454:16:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71202,"name":"address","nodeType":"ElementaryTypeName","src":"9454:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9453:18:107"},"returnParameters":{"id":71205,"nodeType":"ParameterList","parameters":[],"src":"9486:0:107"},"scope":72744,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":71224,"nodeType":"StructDefinition","src":"9730:102:107","nodes":[],"canonicalName":"RegistryCommunityV0_0.Member","members":[{"constant":false,"id":71219,"mutability":"mutable","name":"member","nameLocation":"9762:6:107","nodeType":"VariableDeclaration","scope":71224,"src":"9754:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71218,"name":"address","nodeType":"ElementaryTypeName","src":"9754:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71221,"mutability":"mutable","name":"stakedAmount","nameLocation":"9786:12:107","nodeType":"VariableDeclaration","scope":71224,"src":"9778:20:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71220,"name":"uint256","nodeType":"ElementaryTypeName","src":"9778:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71223,"mutability":"mutable","name":"isRegistered","nameLocation":"9813:12:107","nodeType":"VariableDeclaration","scope":71224,"src":"9808:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":71222,"name":"bool","nodeType":"ElementaryTypeName","src":"9808:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"Member","nameLocation":"9737:6:107","scope":72744,"visibility":"public"},{"id":71228,"nodeType":"StructDefinition","src":"9838:55:107","nodes":[],"canonicalName":"RegistryCommunityV0_0.Strategies","members":[{"constant":false,"id":71227,"mutability":"mutable","name":"strategies","nameLocation":"9876:10:107","nodeType":"VariableDeclaration","scope":71228,"src":"9866:20:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":71225,"name":"address","nodeType":"ElementaryTypeName","src":"9866:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71226,"nodeType":"ArrayTypeName","src":"9866:9:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"name":"Strategies","nameLocation":"9845:10:107","scope":72744,"visibility":"public"},{"id":71240,"nodeType":"FunctionDefinition","src":"9899:110:107","nodes":[],"body":{"id":71239,"nodeType":"Block","src":"9965:44:107","nodes":[],"statements":[{"expression":{"id":71237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71235,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71040,"src":"9975:16:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71236,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71230,"src":"9994:8:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9975:27:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71238,"nodeType":"ExpressionStatement","src":"9975:27:107"}]},"functionSelector":"1b71f0e4","implemented":true,"kind":"function","modifiers":[{"id":71233,"kind":"modifierInvocation","modifierName":{"id":71232,"name":"onlyOwner","nameLocations":["9955:9:107"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"9955:9:107"},"nodeType":"ModifierInvocation","src":"9955:9:107"}],"name":"setStrategyTemplate","nameLocation":"9908:19:107","parameters":{"id":71231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71230,"mutability":"mutable","name":"template","nameLocation":"9936:8:107","nodeType":"VariableDeclaration","scope":71240,"src":"9928:16:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71229,"name":"address","nodeType":"ElementaryTypeName","src":"9928:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9927:18:107"},"returnParameters":{"id":71234,"nodeType":"ParameterList","parameters":[],"src":"9965:0:107"},"scope":72744,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":71252,"nodeType":"FunctionDefinition","src":"10015:124:107","nodes":[],"body":{"id":71251,"nodeType":"Block","src":"10088:51:107","nodes":[],"statements":[{"expression":{"id":71249,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71247,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71037,"src":"10098:23:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71248,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71242,"src":"10124:8:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10098:34:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71250,"nodeType":"ExpressionStatement","src":"10098:34:107"}]},"functionSelector":"b0d3713a","implemented":true,"kind":"function","modifiers":[{"id":71245,"kind":"modifierInvocation","modifierName":{"id":71244,"name":"onlyOwner","nameLocations":["10078:9:107"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"10078:9:107"},"nodeType":"ModifierInvocation","src":"10078:9:107"}],"name":"setCollateralVaultTemplate","nameLocation":"10024:26:107","parameters":{"id":71243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71242,"mutability":"mutable","name":"template","nameLocation":"10059:8:107","nodeType":"VariableDeclaration","scope":71252,"src":"10051:16:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71241,"name":"address","nodeType":"ElementaryTypeName","src":"10051:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10050:18:107"},"returnParameters":{"id":71246,"nodeType":"ParameterList","parameters":[],"src":"10088:0:107"},"scope":72744,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":71527,"nodeType":"FunctionDefinition","src":"10289:2496:107","nodes":[],"body":{"id":71526,"nodeType":"Block","src":"10496:2289:107","nodes":[],"statements":[{"expression":{"arguments":[{"id":71269,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71261,"src":"10523:5:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":71266,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"10506:5:107","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_RegistryCommunityV0_0_$72744_$","typeString":"type(contract super RegistryCommunityV0_0)"}},"id":71268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10512:10:107","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":70689,"src":"10506:16:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":71270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10506:23:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71271,"nodeType":"ExpressionStatement","src":"10506:23:107"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":71272,"name":"__ReentrancyGuard_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53176,"src":"10539:22:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":71273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10539:24:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71274,"nodeType":"ExpressionStatement","src":"10539:24:107"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":71275,"name":"__AccessControl_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52409,"src":"10573:20:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":71276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10573:22:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71277,"nodeType":"ExpressionStatement","src":"10573:22:107"},{"expression":{"arguments":[{"id":71279,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71106,"src":"10620:14:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":71280,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52392,"src":"10636:18:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":71278,"name":"_setRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52628,"src":"10606:13:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":71281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10606:49:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71282,"nodeType":"ExpressionStatement","src":"10606:49:107"},{"expression":{"arguments":[{"arguments":[{"expression":{"id":71286,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71255,"src":"10693:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71287,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10700:12:107","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":70962,"src":"10693:19:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}],"id":71285,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10685:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71284,"name":"address","nodeType":"ElementaryTypeName","src":"10685:7:107","typeDescriptions":{}}},"id":71288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10685:28:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71283,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71217,"src":"10666:18:107","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":71289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10666:48:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71290,"nodeType":"ExpressionStatement","src":"10666:48:107"},{"expression":{"arguments":[{"expression":{"id":71292,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71255,"src":"10743:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71293,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10750:12:107","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":70977,"src":"10743:19:107","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":71291,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71217,"src":"10724:18:107","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":71294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10724:39:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71295,"nodeType":"ExpressionStatement","src":"10724:39:107"},{"expression":{"arguments":[{"expression":{"id":71297,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71255,"src":"10792:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71298,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10799:5:107","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":70959,"src":"10792:12:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71296,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71217,"src":"10773:18:107","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":71299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10773:32:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71300,"nodeType":"ExpressionStatement","src":"10773:32:107"},{"expression":{"arguments":[{"expression":{"id":71302,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71255,"src":"10834:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71303,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10841:16:107","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":70970,"src":"10834:23:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71301,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71217,"src":"10815:18:107","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":71304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10815:43:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71305,"nodeType":"ExpressionStatement","src":"10815:43:107"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":71306,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71255,"src":"10873:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71307,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10880:13:107","memberName":"_communityFee","nodeType":"MemberAccess","referencedDeclaration":70966,"src":"10873:20:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":71308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10897:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10873:25:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71316,"nodeType":"IfStatement","src":"10869:95:107","trueBody":{"id":71315,"nodeType":"Block","src":"10900:64:107","statements":[{"expression":{"arguments":[{"expression":{"id":71311,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71255,"src":"10933:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71312,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10940:12:107","memberName":"_feeReceiver","nodeType":"MemberAccess","referencedDeclaration":70972,"src":"10933:19:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71310,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71217,"src":"10914:18:107","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":71313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10914:39:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71314,"nodeType":"ExpressionStatement","src":"10914:39:107"}]}},{"expression":{"id":71322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71317,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71059,"src":"10973:4:107","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$73903","typeString":"contract FAllo"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":71319,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71255,"src":"10986:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71320,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10993:5:107","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":70959,"src":"10986:12:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71318,"name":"FAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73903,"src":"10980:5:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FAllo_$73903_$","typeString":"type(contract FAllo)"}},"id":71321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10980:19:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$73903","typeString":"contract FAllo"}},"src":"10973:26:107","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$73903","typeString":"contract FAllo"}},"id":71323,"nodeType":"ExpressionStatement","src":"10973:26:107"},{"expression":{"id":71327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71324,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71051,"src":"11009:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":71325,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71255,"src":"11023:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71326,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11030:12:107","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":70962,"src":"11023:19:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"src":"11009:33:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":71328,"nodeType":"ExpressionStatement","src":"11009:33:107"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":71329,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71255,"src":"11056:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71330,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11063:20:107","memberName":"_registerStakeAmount","nodeType":"MemberAccess","referencedDeclaration":70964,"src":"11056:27:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":71331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11087:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11056:32:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71337,"nodeType":"IfStatement","src":"11052:89:107","trueBody":{"id":71336,"nodeType":"Block","src":"11090:51:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71333,"name":"ValueCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70943,"src":"11111:17:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11111:19:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71335,"nodeType":"RevertStatement","src":"11104:26:107"}]}},{"expression":{"id":71341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71338,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71016,"src":"11150:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":71339,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71255,"src":"11172:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71340,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11179:20:107","memberName":"_registerStakeAmount","nodeType":"MemberAccess","referencedDeclaration":70964,"src":"11172:27:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11150:49:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71342,"nodeType":"ExpressionStatement","src":"11150:49:107"},{"expression":{"id":71346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71343,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71019,"src":"11209:12:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":71344,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71255,"src":"11224:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71345,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11231:13:107","memberName":"_communityFee","nodeType":"MemberAccess","referencedDeclaration":70966,"src":"11224:20:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11209:35:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71347,"nodeType":"ExpressionStatement","src":"11209:35:107"},{"expression":{"id":71351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71348,"name":"isKickEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71028,"src":"11254:13:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":71349,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71255,"src":"11270:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71350,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11277:14:107","memberName":"_isKickEnabled","nodeType":"MemberAccess","referencedDeclaration":70981,"src":"11270:21:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11254:37:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71352,"nodeType":"ExpressionStatement","src":"11254:37:107"},{"expression":{"id":71356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71353,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71062,"src":"11301:13:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":71354,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71255,"src":"11317:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71355,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11324:14:107","memberName":"_communityName","nodeType":"MemberAccess","referencedDeclaration":70979,"src":"11317:21:107","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"11301:37:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":71357,"nodeType":"ExpressionStatement","src":"11301:37:107"},{"expression":{"id":71361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71358,"name":"covenantIpfsHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71065,"src":"11348:16:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":71359,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71255,"src":"11367:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71360,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11374:16:107","memberName":"covenantIpfsHash","nodeType":"MemberAccess","referencedDeclaration":70983,"src":"11367:23:107","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"11348:42:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":71362,"nodeType":"ExpressionStatement","src":"11348:42:107"},{"expression":{"id":71366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71363,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71034,"src":"11401:15:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":71364,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71255,"src":"11419:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71365,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11426:16:107","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":70970,"src":"11419:23:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11401:41:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71367,"nodeType":"ExpressionStatement","src":"11401:41:107"},{"expression":{"id":71371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71368,"name":"feeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71031,"src":"11452:11:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":71369,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71255,"src":"11466:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71370,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11473:12:107","memberName":"_feeReceiver","nodeType":"MemberAccess","referencedDeclaration":70972,"src":"11466:19:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11452:33:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71372,"nodeType":"ExpressionStatement","src":"11452:33:107"},{"expression":{"id":71378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71373,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71055,"src":"11495:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":71375,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71255,"src":"11515:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71376,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11522:12:107","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":70977,"src":"11515:19:107","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":71374,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74170,"src":"11509:5:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISafe_$74170_$","typeString":"type(contract ISafe)"}},"id":71377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11509:26:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}},"src":"11495:40:107","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}},"id":71379,"nodeType":"ExpressionStatement","src":"11495:40:107"},{"expression":{"arguments":[{"id":71381,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71106,"src":"11557:14:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":71382,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71255,"src":"11573:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71383,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11580:12:107","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":70977,"src":"11573:19:107","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":71380,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52660,"src":"11546:10:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":71384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11546:47:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71385,"nodeType":"ExpressionStatement","src":"11546:47:107"},{"expression":{"id":71392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71386,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71047,"src":"11604:8:107","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":71388,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71059,"src":"11625:4:107","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$73903","typeString":"contract FAllo"}},"id":71389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11630:11:107","memberName":"getRegistry","nodeType":"MemberAccess","referencedDeclaration":73894,"src":"11625:16:107","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":71390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11625:18:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71387,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"11615:9:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistry_$2802_$","typeString":"type(contract IRegistry)"}},"id":71391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11615:29:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"src":"11604:40:107","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":71393,"nodeType":"ExpressionStatement","src":"11604:40:107"},{"assignments":[71398],"declarations":[{"constant":false,"id":71398,"mutability":"mutable","name":"pool_initialMembers","nameLocation":"11672:19:107","nodeType":"VariableDeclaration","scope":71526,"src":"11655:36:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":71396,"name":"address","nodeType":"ElementaryTypeName","src":"11655:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71397,"nodeType":"ArrayTypeName","src":"11655:9:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":71399,"nodeType":"VariableDeclarationStatement","src":"11655:36:107"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"arguments":[{"id":71402,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71055,"src":"11751:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}],"id":71401,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11743:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71400,"name":"address","nodeType":"ElementaryTypeName","src":"11743:7:107","typeDescriptions":{}}},"id":71403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11743:20:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11764:4:107","memberName":"code","nodeType":"MemberAccess","src":"11743:25:107","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":71405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11769:6:107","memberName":"length","nodeType":"MemberAccess","src":"11743:32:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":71406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11779:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11743:37:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":71465,"nodeType":"Block","src":"11900:266:107","statements":[{"assignments":[71428],"declarations":[{"constant":false,"id":71428,"mutability":"mutable","name":"owners","nameLocation":"11931:6:107","nodeType":"VariableDeclaration","scope":71465,"src":"11914:23:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":71426,"name":"address","nodeType":"ElementaryTypeName","src":"11914:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71427,"nodeType":"ArrayTypeName","src":"11914:9:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":71432,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":71429,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71055,"src":"11940:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}},"id":71430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11952:9:107","memberName":"getOwners","nodeType":"MemberAccess","referencedDeclaration":74085,"src":"11940:21:107","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () view external returns (address[] memory)"}},"id":71431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11940:23:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"11914:49:107"},{"expression":{"id":71442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71433,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71398,"src":"11977:19:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":71437,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71428,"src":"12013:6:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12020:6:107","memberName":"length","nodeType":"MemberAccess","src":"12013:13:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":71439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12029:1:107","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"12013:17:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":71436,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"11999:13:107","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":71434,"name":"address","nodeType":"ElementaryTypeName","src":"12003:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71435,"nodeType":"ArrayTypeName","src":"12003:9:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":71441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11999:32:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"11977:54:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71443,"nodeType":"ExpressionStatement","src":"11977:54:107"},{"body":{"id":71463,"nodeType":"Block","src":"12089:67:107","statements":[{"expression":{"id":71461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":71455,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71398,"src":"12107:19:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71457,"indexExpression":{"id":71456,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71445,"src":"12127:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12107:22:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":71458,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71428,"src":"12132:6:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71460,"indexExpression":{"id":71459,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71445,"src":"12139:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12132:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12107:34:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71462,"nodeType":"ExpressionStatement","src":"12107:34:107"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71448,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71445,"src":"12065:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":71449,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71428,"src":"12069:6:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12076:6:107","memberName":"length","nodeType":"MemberAccess","src":"12069:13:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12065:17:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71464,"initializationExpression":{"assignments":[71445],"declarations":[{"constant":false,"id":71445,"mutability":"mutable","name":"i","nameLocation":"12058:1:107","nodeType":"VariableDeclaration","scope":71464,"src":"12050:9:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71444,"name":"uint256","nodeType":"ElementaryTypeName","src":"12050:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":71447,"initialValue":{"hexValue":"30","id":71446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12062:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"12050:13:107"},"loopExpression":{"expression":{"id":71453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12084:3:107","subExpression":{"id":71452,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71445,"src":"12084:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71454,"nodeType":"ExpressionStatement","src":"12084:3:107"},"nodeType":"ForStatement","src":"12045:111:107"}]},"id":71466,"nodeType":"IfStatement","src":"11739:427:107","trueBody":{"id":71423,"nodeType":"Block","src":"11782:112:107","statements":[{"expression":{"id":71414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71408,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71398,"src":"11796:19:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"33","id":71412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11832:1:107","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":71411,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"11818:13:107","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":71409,"name":"address","nodeType":"ElementaryTypeName","src":"11822:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71410,"nodeType":"ArrayTypeName","src":"11822:9:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":71413,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11818:16:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"11796:38:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71415,"nodeType":"ExpressionStatement","src":"11796:38:107"},{"expression":{"id":71421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":71416,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71398,"src":"11848:19:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71418,"indexExpression":{"hexValue":"30","id":71417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11868:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11848:22:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":71419,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"11873:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":71420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11877:6:107","memberName":"sender","nodeType":"MemberAccess","src":"11873:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11848:35:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71422,"nodeType":"ExpressionStatement","src":"11848:35:107"}]}},{"expression":{"id":71477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":71467,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71398,"src":"12176:19:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71472,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":71468,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71398,"src":"12196:19:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12216:6:107","memberName":"length","nodeType":"MemberAccess","src":"12196:26:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":71470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12225:1:107","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"12196:30:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12176:51:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":71475,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71055,"src":"12238:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}],"id":71474,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12230:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71473,"name":"address","nodeType":"ElementaryTypeName","src":"12230:7:107","typeDescriptions":{}}},"id":71476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12230:20:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12176:74:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71478,"nodeType":"ExpressionStatement","src":"12176:74:107"},{"expression":{"id":71489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":71479,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71398,"src":"12260:19:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71484,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":71480,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71398,"src":"12280:19:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12300:6:107","memberName":"length","nodeType":"MemberAccess","src":"12280:26:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"32","id":71482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12309:1:107","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"12280:30:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12260:51:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":71487,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12322:4:107","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}],"id":71486,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12314:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71485,"name":"address","nodeType":"ElementaryTypeName","src":"12314:7:107","typeDescriptions":{}}},"id":71488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12314:13:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12260:67:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71490,"nodeType":"ExpressionStatement","src":"12260:67:107"},{"expression":{"id":71505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71491,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71025,"src":"12415:9:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":71494,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71255,"src":"12462:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71495,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12469:6:107","memberName":"_nonce","nodeType":"MemberAccess","referencedDeclaration":70968,"src":"12462:13:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":71496,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71062,"src":"12477:13:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"expression":{"id":71497,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71255,"src":"12492:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71498,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12499:9:107","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":70975,"src":"12492:16:107","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[{"id":71501,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12518:4:107","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}],"id":71500,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12510:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71499,"name":"address","nodeType":"ElementaryTypeName","src":"12510:7:107","typeDescriptions":{}}},"id":71502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12510:13:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71503,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71398,"src":"12525:19:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":71492,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71047,"src":"12439:8:107","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":71493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12448:13:107","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":2742,"src":"12439:22:107","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":71504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12439:106:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"12415:130:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":71506,"nodeType":"ExpressionStatement","src":"12415:130:107"},{"expression":{"id":71509,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71507,"name":"initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71100,"src":"12556:14:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71508,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71398,"src":"12573:19:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"12556:36:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":71510,"nodeType":"ExpressionStatement","src":"12556:36:107"},{"expression":{"id":71513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71511,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71040,"src":"12603:16:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71512,"name":"_strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71257,"src":"12622:17:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12603:36:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71514,"nodeType":"ExpressionStatement","src":"12603:36:107"},{"expression":{"id":71517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71515,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71037,"src":"12649:23:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71516,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71259,"src":"12675:24:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12649:50:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71518,"nodeType":"ExpressionStatement","src":"12649:50:107"},{"eventCall":{"arguments":[{"id":71520,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71025,"src":"12735:9:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":71521,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71062,"src":"12746:13:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"expression":{"id":71522,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71255,"src":"12761:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":71523,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12768:9:107","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":70975,"src":"12761:16:107","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":71519,"name":"RegistryInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70864,"src":"12715:19:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (bytes32,string memory,struct Metadata memory)"}},"id":71524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12715:63:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71525,"nodeType":"EmitStatement","src":"12710:68:107"}]},"functionSelector":"34196355","implemented":true,"kind":"function","modifiers":[{"id":71264,"kind":"modifierInvocation","modifierName":{"id":71263,"name":"initializer","nameLocations":["10484:11:107"],"nodeType":"IdentifierPath","referencedDeclaration":53054,"src":"10484:11:107"},"nodeType":"ModifierInvocation","src":"10484:11:107"}],"name":"initialize","nameLocation":"10298:10:107","parameters":{"id":71262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71255,"mutability":"mutable","name":"params","nameLocation":"10364:6:107","nodeType":"VariableDeclaration","scope":71527,"src":"10318:52:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"},"typeName":{"id":71254,"nodeType":"UserDefinedTypeName","pathNode":{"id":71253,"name":"RegistryCommunityV0_0.InitializeParams","nameLocations":["10318:21:107","10340:16:107"],"nodeType":"IdentifierPath","referencedDeclaration":70984,"src":"10318:38:107"},"referencedDeclaration":70984,"src":"10318:38:107","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_storage_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"}},"visibility":"internal"},{"constant":false,"id":71257,"mutability":"mutable","name":"_strategyTemplate","nameLocation":"10388:17:107","nodeType":"VariableDeclaration","scope":71527,"src":"10380:25:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71256,"name":"address","nodeType":"ElementaryTypeName","src":"10380:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71259,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"10423:24:107","nodeType":"VariableDeclaration","scope":71527,"src":"10415:32:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71258,"name":"address","nodeType":"ElementaryTypeName","src":"10415:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71261,"mutability":"mutable","name":"owner","nameLocation":"10465:5:107","nodeType":"VariableDeclaration","scope":71527,"src":"10457:13:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71260,"name":"address","nodeType":"ElementaryTypeName","src":"10457:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10308:168:107"},"returnParameters":{"id":71265,"nodeType":"ParameterList","parameters":[],"src":"10496:0:107"},"scope":72744,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":71577,"nodeType":"FunctionDefinition","src":"12791:532:107","nodes":[],"body":{"id":71576,"nodeType":"Block","src":"12988:335:107","nodes":[],"statements":[{"assignments":[71543],"declarations":[{"constant":false,"id":71543,"mutability":"mutable","name":"strategyProxy","nameLocation":"13006:13:107","nodeType":"VariableDeclaration","scope":71576,"src":"12998:21:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71542,"name":"address","nodeType":"ElementaryTypeName","src":"12998:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":71568,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":71551,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71040,"src":"13085:16:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71550,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13077:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71549,"name":"address","nodeType":"ElementaryTypeName","src":"13077:7:107","typeDescriptions":{}}},"id":71552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13077:25:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":71555,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69234,"src":"13143:14:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategyV0_0_$69234_$","typeString":"type(contract CVStrategyV0_0)"}},"id":71556,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13158:4:107","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":66001,"src":"13143:19:107","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function CVStrategyV0_0.init(address,address,address)"}},"id":71557,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13163:8:107","memberName":"selector","nodeType":"MemberAccess","src":"13143:28:107","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":71560,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71059,"src":"13181:4:107","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$73903","typeString":"contract FAllo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_FAllo_$73903","typeString":"contract FAllo"}],"id":71559,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13173:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71558,"name":"address","nodeType":"ElementaryTypeName","src":"13173:7:107","typeDescriptions":{}}},"id":71561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13173:13:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71562,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71037,"src":"13188:23:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":71563,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[70732],"referencedDeclaration":70732,"src":"13213:5:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":71564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13213:7:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":71553,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13120:3:107","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":71554,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13124:18:107","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"13120:22:107","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":71565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13120:101:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":71548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"13043:16:107","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55021_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":71547,"nodeType":"UserDefinedTypeName","pathNode":{"id":71546,"name":"ERC1967Proxy","nameLocations":["13047:12:107"],"nodeType":"IdentifierPath","referencedDeclaration":55021,"src":"13047:12:107"},"referencedDeclaration":55021,"src":"13047:12:107","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}},"id":71566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13043:192:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}],"id":71545,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13022:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71544,"name":"address","nodeType":"ElementaryTypeName","src":"13022:7:107","typeDescriptions":{}}},"id":71567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13022:223:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"12998:247:107"},{"expression":{"arguments":[{"id":71570,"name":"strategyProxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71543,"src":"13274:13:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71571,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71529,"src":"13289:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71572,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71532,"src":"13297:7:107","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},{"id":71573,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71535,"src":"13306:9:107","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":71569,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[71577,71649],"referencedDeclaration":71649,"src":"13263:10:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_struct$_InitializeParams_$65655_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$_t_uint256_$_t_address_$","typeString":"function (address,address,struct StrategyStruct.InitializeParams memory,struct Metadata memory) returns (uint256,address)"}},"id":71574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13263:53:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_address_$","typeString":"tuple(uint256,address)"}},"functionReturnParameters":71541,"id":71575,"nodeType":"Return","src":"13256:60:107"}]},"functionSelector":"524e59e8","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"12800:10:107","parameters":{"id":71536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71529,"mutability":"mutable","name":"_token","nameLocation":"12819:6:107","nodeType":"VariableDeclaration","scope":71577,"src":"12811:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71528,"name":"address","nodeType":"ElementaryTypeName","src":"12811:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71532,"mutability":"mutable","name":"_params","nameLocation":"12866:7:107","nodeType":"VariableDeclaration","scope":71577,"src":"12827:46:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":71531,"nodeType":"UserDefinedTypeName","pathNode":{"id":71530,"name":"StrategyStruct.InitializeParams","nameLocations":["12827:14:107","12842:16:107"],"nodeType":"IdentifierPath","referencedDeclaration":65655,"src":"12827:31:107"},"referencedDeclaration":65655,"src":"12827:31:107","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"},{"constant":false,"id":71535,"mutability":"mutable","name":"_metadata","nameLocation":"12891:9:107","nodeType":"VariableDeclaration","scope":71577,"src":"12875:25:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":71534,"nodeType":"UserDefinedTypeName","pathNode":{"id":71533,"name":"Metadata","nameLocations":["12875:8:107"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12875:8:107"},"referencedDeclaration":3098,"src":"12875:8:107","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"12810:91:107"},"returnParameters":{"id":71541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71538,"mutability":"mutable","name":"poolId","nameLocation":"12958:6:107","nodeType":"VariableDeclaration","scope":71577,"src":"12950:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71537,"name":"uint256","nodeType":"ElementaryTypeName","src":"12950:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71540,"mutability":"mutable","name":"strategy","nameLocation":"12974:8:107","nodeType":"VariableDeclaration","scope":71577,"src":"12966:16:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71539,"name":"address","nodeType":"ElementaryTypeName","src":"12966:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12949:34:107"},"scope":72744,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71649,"nodeType":"FunctionDefinition","src":"13329:661:107","nodes":[],"body":{"id":71648,"nodeType":"Block","src":"13555:435:107","nodes":[],"statements":[{"assignments":[71595],"declarations":[{"constant":false,"id":71595,"mutability":"mutable","name":"token","nameLocation":"13573:5:107","nodeType":"VariableDeclaration","scope":71648,"src":"13565:13:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71594,"name":"address","nodeType":"ElementaryTypeName","src":"13565:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":71597,"initialValue":{"id":71596,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71001,"src":"13581:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"13565:22:107"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":71603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71598,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71581,"src":"13601:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":71601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13619:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":71600,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13611:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71599,"name":"address","nodeType":"ElementaryTypeName","src":"13611:7:107","typeDescriptions":{}}},"id":71602,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13611:10:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13601:20:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71609,"nodeType":"IfStatement","src":"13597:65:107","trueBody":{"id":71608,"nodeType":"Block","src":"13623:39:107","statements":[{"expression":{"id":71606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71604,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71595,"src":"13637:5:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71605,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71581,"src":"13645:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13637:14:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71607,"nodeType":"ExpressionStatement","src":"13637:14:107"}]}},{"expression":{"id":71612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71610,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71592,"src":"13671:8:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71611,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71579,"src":"13682:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13671:20:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71613,"nodeType":"ExpressionStatement","src":"13671:20:107"},{"assignments":[71618],"declarations":[{"constant":false,"id":71618,"mutability":"mutable","name":"_pool_managers","nameLocation":"13719:14:107","nodeType":"VariableDeclaration","scope":71648,"src":"13702:31:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":71616,"name":"address","nodeType":"ElementaryTypeName","src":"13702:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71617,"nodeType":"ArrayTypeName","src":"13702:9:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":71620,"initialValue":{"id":71619,"name":"initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71100,"src":"13736:14:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"13702:48:107"},{"expression":{"id":71635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71621,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71590,"src":"13761:6:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":71624,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71025,"src":"13817:9:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":71625,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71592,"src":"13828:8:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":71628,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71584,"src":"13849:7:107","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"expression":{"id":71626,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13838:3:107","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":71627,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13842:6:107","memberName":"encode","nodeType":"MemberAccess","src":"13838:10:107","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":71629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13838:19:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":71630,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71595,"src":"13859:5:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":71631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13866:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":71632,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71587,"src":"13869:9:107","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":71633,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71618,"src":"13880:14:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":71622,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71059,"src":"13770:4:107","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$73903","typeString":"contract FAllo"}},"id":71623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13775:28:107","memberName":"createPoolWithCustomStrategy","nodeType":"MemberAccess","referencedDeclaration":73889,"src":"13770:33:107","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,address,bytes memory,address,uint256,struct Metadata memory,address[] memory) payable external returns (uint256)"}},"id":71634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13770:134:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13761:143:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71636,"nodeType":"ExpressionStatement","src":"13761:143:107"},{"eventCall":{"arguments":[{"id":71638,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71590,"src":"13932:6:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":71639,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71592,"src":"13940:8:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":71642,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13958:4:107","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}],"id":71641,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13950:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71640,"name":"address","nodeType":"ElementaryTypeName","src":"13950:7:107","typeDescriptions":{}}},"id":71643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13950:13:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71644,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71581,"src":"13965:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71645,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71587,"src":"13973:9:107","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":71637,"name":"PoolCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70915,"src":"13920:11:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (uint256,address,address,address,struct Metadata memory)"}},"id":71646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13920:63:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71647,"nodeType":"EmitStatement","src":"13915:68:107"}]},"functionSelector":"e16d0e32","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"13338:10:107","parameters":{"id":71588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71579,"mutability":"mutable","name":"_strategy","nameLocation":"13366:9:107","nodeType":"VariableDeclaration","scope":71649,"src":"13358:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71578,"name":"address","nodeType":"ElementaryTypeName","src":"13358:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71581,"mutability":"mutable","name":"_token","nameLocation":"13393:6:107","nodeType":"VariableDeclaration","scope":71649,"src":"13385:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71580,"name":"address","nodeType":"ElementaryTypeName","src":"13385:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71584,"mutability":"mutable","name":"_params","nameLocation":"13448:7:107","nodeType":"VariableDeclaration","scope":71649,"src":"13409:46:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":71583,"nodeType":"UserDefinedTypeName","pathNode":{"id":71582,"name":"StrategyStruct.InitializeParams","nameLocations":["13409:14:107","13424:16:107"],"nodeType":"IdentifierPath","referencedDeclaration":65655,"src":"13409:31:107"},"referencedDeclaration":65655,"src":"13409:31:107","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$65655_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"},{"constant":false,"id":71587,"mutability":"mutable","name":"_metadata","nameLocation":"13481:9:107","nodeType":"VariableDeclaration","scope":71649,"src":"13465:25:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":71586,"nodeType":"UserDefinedTypeName","pathNode":{"id":71585,"name":"Metadata","nameLocations":["13465:8:107"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"13465:8:107"},"referencedDeclaration":3098,"src":"13465:8:107","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"13348:148:107"},"returnParameters":{"id":71593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71590,"mutability":"mutable","name":"poolId","nameLocation":"13529:6:107","nodeType":"VariableDeclaration","scope":71649,"src":"13521:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71589,"name":"uint256","nodeType":"ElementaryTypeName","src":"13521:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71592,"mutability":"mutable","name":"strategy","nameLocation":"13545:8:107","nodeType":"VariableDeclaration","scope":71649,"src":"13537:16:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71591,"name":"address","nodeType":"ElementaryTypeName","src":"13537:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13520:34:107"},"scope":72744,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71768,"nodeType":"FunctionDefinition","src":"13996:1200:107","nodes":[],"body":{"id":71767,"nodeType":"Block","src":"14094:1102:107","nodes":[],"statements":[{"expression":{"arguments":[{"id":71659,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71651,"src":"14130:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71658,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71152,"src":"14104:25:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":71660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14104:34:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71661,"nodeType":"ExpressionStatement","src":"14104:34:107"},{"expression":{"arguments":[{"id":71663,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71653,"src":"14168:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71662,"name":"onlyStrategyEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71167,"src":"14148:19:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":71664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14148:30:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71665,"nodeType":"ExpressionStatement","src":"14148:30:107"},{"expression":{"arguments":[{"id":71667,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71653,"src":"14207:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71666,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71217,"src":"14188:18:107","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":71668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14188:29:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71669,"nodeType":"ExpressionStatement","src":"14188:29:107"},{"condition":{"baseExpression":{"baseExpression":{"id":71670,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71096,"src":"14232:27:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":71672,"indexExpression":{"id":71671,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71651,"src":"14260:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14232:36:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":71674,"indexExpression":{"id":71673,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71653,"src":"14269:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14232:47:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71679,"nodeType":"IfStatement","src":"14228:107:107","trueBody":{"id":71678,"nodeType":"Block","src":"14281:54:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71675,"name":"UserAlreadyActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70931,"src":"14302:20:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14302:22:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71677,"nodeType":"RevertStatement","src":"14295:29:107"}]}},{"assignments":[71682],"declarations":[{"constant":false,"id":71682,"mutability":"mutable","name":"member","nameLocation":"14359:6:107","nodeType":"VariableDeclaration","scope":71767,"src":"14345:20:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":71681,"nodeType":"UserDefinedTypeName","pathNode":{"id":71680,"name":"Member","nameLocations":["14345:6:107"],"nodeType":"IdentifierPath","referencedDeclaration":71224,"src":"14345:6:107"},"referencedDeclaration":71224,"src":"14345:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":71686,"initialValue":{"baseExpression":{"id":71683,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71083,"src":"14368:19:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$71224_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":71685,"indexExpression":{"id":71684,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71651,"src":"14388:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14368:28:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"14345:51:107"},{"assignments":[71688],"declarations":[{"constant":false,"id":71688,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"14415:17:107","nodeType":"VariableDeclaration","scope":71767,"src":"14407:25:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71687,"name":"uint256","nodeType":"ElementaryTypeName","src":"14407:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":71691,"initialValue":{"expression":{"id":71689,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71682,"src":"14435:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":71690,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14442:12:107","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":71221,"src":"14435:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14407:47:107"},{"assignments":[71693],"declarations":[{"constant":false,"id":71693,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"14472:16:107","nodeType":"VariableDeclaration","scope":71767,"src":"14464:24:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71692,"name":"uint256","nodeType":"ElementaryTypeName","src":"14464:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":71695,"initialValue":{"id":71694,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71016,"src":"14491:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14464:46:107"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"id":71704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":71697,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71653,"src":"14540:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71696,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65534,"src":"14525:14:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65534_$","typeString":"type(contract IPointStrategy)"}},"id":71698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14525:25:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$65534","typeString":"contract IPointStrategy"}},"id":71699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14551:14:107","memberName":"getPointSystem","nodeType":"MemberAccess","referencedDeclaration":65533,"src":"14525:40:107","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$_t_enum$_PointSystem_$65543_$","typeString":"function () external returns (enum StrategyStruct.PointSystem)"}},"id":71700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14525:42:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":71701,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"14571:14:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":71702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14586:11:107","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65543,"src":"14571:26:107","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65543_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":71703,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14598:9:107","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":65542,"src":"14571:36:107","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"src":"14525:82:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},"id":71724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":71717,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71653,"src":"14729:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71716,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65534,"src":"14714:14:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65534_$","typeString":"type(contract IPointStrategy)"}},"id":71718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14714:25:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$65534","typeString":"contract IPointStrategy"}},"id":71719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14740:14:107","memberName":"getPointSystem","nodeType":"MemberAccess","referencedDeclaration":65533,"src":"14714:40:107","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$_t_enum$_PointSystem_$65543_$","typeString":"function () external returns (enum StrategyStruct.PointSystem)"}},"id":71720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14714:42:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":71721,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"14760:14:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":71722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14775:11:107","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65543,"src":"14760:26:107","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65543_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":71723,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14787:5:107","memberName":"Fixed","nodeType":"MemberAccess","referencedDeclaration":65539,"src":"14760:32:107","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},"src":"14714:78:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71736,"nodeType":"IfStatement","src":"14710:195:107","trueBody":{"id":71735,"nodeType":"Block","src":"14794:111:107","statements":[{"expression":{"id":71733,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71725,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71693,"src":"14808:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":71730,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71651,"src":"14867:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71731,"name":"totalStakedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71688,"src":"14876:17:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":71727,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71653,"src":"14842:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71726,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65534,"src":"14827:14:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65534_$","typeString":"type(contract IPointStrategy)"}},"id":71728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14827:25:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$65534","typeString":"contract IPointStrategy"}},"id":71729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14853:13:107","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":65518,"src":"14827:39:107","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":71732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14827:67:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14808:86:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71734,"nodeType":"ExpressionStatement","src":"14808:86:107"}]}},"id":71737,"nodeType":"IfStatement","src":"14521:384:107","trueBody":{"id":71715,"nodeType":"Block","src":"14609:95:107","statements":[{"expression":{"id":71713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71705,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71693,"src":"14623:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":71710,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71651,"src":"14682:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":71711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14691:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[{"id":71707,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71653,"src":"14657:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71706,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65534,"src":"14642:14:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65534_$","typeString":"type(contract IPointStrategy)"}},"id":71708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14642:25:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$65534","typeString":"contract IPointStrategy"}},"id":71709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14668:13:107","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":65518,"src":"14642:39:107","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":71712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14642:51:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14623:70:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71714,"nodeType":"ExpressionStatement","src":"14623:70:107"}]}},{"expression":{"id":71744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":71738,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71077,"src":"14915:21:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":71741,"indexExpression":{"id":71739,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71651,"src":"14937:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14915:30:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":71742,"indexExpression":{"id":71740,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71653,"src":"14946:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14915:41:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71743,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71693,"src":"14959:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14915:60:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71745,"nodeType":"ExpressionStatement","src":"14915:60:107"},{"expression":{"id":71752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":71746,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71096,"src":"15004:27:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":71749,"indexExpression":{"id":71747,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71651,"src":"15032:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15004:36:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":71750,"indexExpression":{"id":71748,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71653,"src":"15041:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15004:47:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":71751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15054:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"15004:54:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71753,"nodeType":"ExpressionStatement","src":"15004:54:107"},{"expression":{"arguments":[{"id":71758,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71653,"src":"15102:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"baseExpression":{"id":71754,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71089,"src":"15069:18:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":71756,"indexExpression":{"id":71755,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71651,"src":"15088:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15069:27:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":71757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15097:4:107","memberName":"push","nodeType":"MemberAccess","src":"15069:32:107","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":71759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15069:43:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71760,"nodeType":"ExpressionStatement","src":"15069:43:107"},{"eventCall":{"arguments":[{"id":71762,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71651,"src":"15152:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71763,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71653,"src":"15161:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71764,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71693,"src":"15172:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":71761,"name":"MemberActivatedStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70880,"src":"15128:23:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":71765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15128:61:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71766,"nodeType":"EmitStatement","src":"15123:66:107"}]},"functionSelector":"0d4a8b49","implemented":true,"kind":"function","modifiers":[{"id":71656,"kind":"modifierInvocation","modifierName":{"id":71655,"name":"nonReentrant","nameLocations":["14081:12:107"],"nodeType":"IdentifierPath","referencedDeclaration":53197,"src":"14081:12:107"},"nodeType":"ModifierInvocation","src":"14081:12:107"}],"name":"activateMemberInStrategy","nameLocation":"14005:24:107","parameters":{"id":71654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71651,"mutability":"mutable","name":"_member","nameLocation":"14038:7:107","nodeType":"VariableDeclaration","scope":71768,"src":"14030:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71650,"name":"address","nodeType":"ElementaryTypeName","src":"14030:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71653,"mutability":"mutable","name":"_strategy","nameLocation":"14055:9:107","nodeType":"VariableDeclaration","scope":71768,"src":"14047:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71652,"name":"address","nodeType":"ElementaryTypeName","src":"14047:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14029:36:107"},"returnParameters":{"id":71657,"nodeType":"ParameterList","parameters":[],"src":"14094:0:107"},"scope":72744,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71827,"nodeType":"FunctionDefinition","src":"15202:699:107","nodes":[],"body":{"id":71826,"nodeType":"Block","src":"15289:612:107","nodes":[],"statements":[{"expression":{"arguments":[{"id":71776,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71770,"src":"15325:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71775,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71152,"src":"15299:25:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":71777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15299:34:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71778,"nodeType":"ExpressionStatement","src":"15299:34:107"},{"expression":{"arguments":[{"id":71780,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71772,"src":"15362:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71779,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71217,"src":"15343:18:107","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":71781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15343:29:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71782,"nodeType":"ExpressionStatement","src":"15343:29:107"},{"expression":{"arguments":[{"expression":{"id":71784,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15402:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":71785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15406:6:107","memberName":"sender","nodeType":"MemberAccess","src":"15402:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71786,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71772,"src":"15414:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":71783,"name":"onlyStrategyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71183,"src":"15382:19:107","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":71787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15382:42:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71788,"nodeType":"ExpressionStatement","src":"15382:42:107"},{"condition":{"id":71794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"15439:48:107","subExpression":{"baseExpression":{"baseExpression":{"id":71789,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71096,"src":"15440:27:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":71791,"indexExpression":{"id":71790,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71770,"src":"15468:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15440:36:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":71793,"indexExpression":{"id":71792,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71772,"src":"15477:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15440:47:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71799,"nodeType":"IfStatement","src":"15435:110:107","trueBody":{"id":71798,"nodeType":"Block","src":"15489:56:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71795,"name":"UserAlreadyDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70933,"src":"15510:22:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15510:24:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71797,"nodeType":"RevertStatement","src":"15503:31:107"}]}},{"expression":{"id":71806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":71800,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71096,"src":"15555:27:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":71803,"indexExpression":{"id":71801,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71770,"src":"15583:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15555:36:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":71804,"indexExpression":{"id":71802,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71772,"src":"15592:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15555:47:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":71805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15605:5:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"15555:55:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71807,"nodeType":"ExpressionStatement","src":"15555:55:107"},{"expression":{"id":71814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":71808,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71077,"src":"15620:21:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":71811,"indexExpression":{"id":71809,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71770,"src":"15642:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15620:30:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":71812,"indexExpression":{"id":71810,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71772,"src":"15651:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15620:41:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":71813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15664:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15620:45:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71815,"nodeType":"ExpressionStatement","src":"15620:45:107"},{"expression":{"arguments":[{"id":71817,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71770,"src":"15700:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71818,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71772,"src":"15709:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":71816,"name":"removeStrategyFromMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71880,"src":"15675:24:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":71819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15675:44:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71820,"nodeType":"ExpressionStatement","src":"15675:44:107"},{"eventCall":{"arguments":[{"id":71822,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71770,"src":"15875:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71823,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71772,"src":"15884:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":71821,"name":"MemberDeactivatedStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70886,"src":"15849:25:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":71824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15849:45:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71825,"nodeType":"EmitStatement","src":"15844:50:107"}]},"functionSelector":"22bcf999","implemented":true,"kind":"function","modifiers":[],"name":"deactivateMemberInStrategy","nameLocation":"15211:26:107","parameters":{"id":71773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71770,"mutability":"mutable","name":"_member","nameLocation":"15246:7:107","nodeType":"VariableDeclaration","scope":71827,"src":"15238:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71769,"name":"address","nodeType":"ElementaryTypeName","src":"15238:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71772,"mutability":"mutable","name":"_strategy","nameLocation":"15263:9:107","nodeType":"VariableDeclaration","scope":71827,"src":"15255:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71771,"name":"address","nodeType":"ElementaryTypeName","src":"15255:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15237:36:107"},"returnParameters":{"id":71774,"nodeType":"ParameterList","parameters":[],"src":"15289:0:107"},"scope":72744,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71880,"nodeType":"FunctionDefinition","src":"15907:433:107","nodes":[],"body":{"id":71879,"nodeType":"Block","src":"15994:346:107","nodes":[],"statements":[{"assignments":[71838],"declarations":[{"constant":false,"id":71838,"mutability":"mutable","name":"memberStrategies","nameLocation":"16022:16:107","nodeType":"VariableDeclaration","scope":71879,"src":"16004:34:107","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":71836,"name":"address","nodeType":"ElementaryTypeName","src":"16004:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71837,"nodeType":"ArrayTypeName","src":"16004:9:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":71842,"initialValue":{"baseExpression":{"id":71839,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71089,"src":"16041:18:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":71841,"indexExpression":{"id":71840,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71829,"src":"16060:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16041:27:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"16004:64:107"},{"body":{"id":71877,"nodeType":"Block","src":"16132:202:107","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":71858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":71854,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71838,"src":"16150:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":71856,"indexExpression":{"id":71855,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71844,"src":"16167:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16150:19:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":71857,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71831,"src":"16173:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16150:32:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71876,"nodeType":"IfStatement","src":"16146:178:107","trueBody":{"id":71875,"nodeType":"Block","src":"16184:140:107","statements":[{"expression":{"id":71868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":71859,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71838,"src":"16202:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":71861,"indexExpression":{"id":71860,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71844,"src":"16219:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16202:19:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":71862,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71838,"src":"16224:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":71867,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":71863,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71838,"src":"16241:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":71864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16258:6:107","memberName":"length","nodeType":"MemberAccess","src":"16241:23:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":71865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16267:1:107","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"16241:27:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16224:45:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16202:67:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71869,"nodeType":"ExpressionStatement","src":"16202:67:107"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":71870,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71838,"src":"16287:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":71872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16304:3:107","memberName":"pop","nodeType":"MemberAccess","src":"16287:20:107","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer)"}},"id":71873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16287:22:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71874,"nodeType":"ExpressionStatement","src":"16287:22:107"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71847,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71844,"src":"16098:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":71848,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71838,"src":"16102:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":71849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16119:6:107","memberName":"length","nodeType":"MemberAccess","src":"16102:23:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16098:27:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71878,"initializationExpression":{"assignments":[71844],"declarations":[{"constant":false,"id":71844,"mutability":"mutable","name":"i","nameLocation":"16091:1:107","nodeType":"VariableDeclaration","scope":71878,"src":"16083:9:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71843,"name":"uint256","nodeType":"ElementaryTypeName","src":"16083:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":71846,"initialValue":{"hexValue":"30","id":71845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16095:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"16083:13:107"},"loopExpression":{"expression":{"id":71852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"16127:3:107","subExpression":{"id":71851,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71844,"src":"16127:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71853,"nodeType":"ExpressionStatement","src":"16127:3:107"},"nodeType":"ForStatement","src":"16078:256:107"}]},"implemented":true,"kind":"function","modifiers":[],"name":"removeStrategyFromMember","nameLocation":"15916:24:107","parameters":{"id":71832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71829,"mutability":"mutable","name":"_member","nameLocation":"15949:7:107","nodeType":"VariableDeclaration","scope":71880,"src":"15941:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71828,"name":"address","nodeType":"ElementaryTypeName","src":"15941:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71831,"mutability":"mutable","name":"_strategy","nameLocation":"15966:9:107","nodeType":"VariableDeclaration","scope":71880,"src":"15958:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71830,"name":"address","nodeType":"ElementaryTypeName","src":"15958:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15940:36:107"},"returnParameters":{"id":71833,"nodeType":"ParameterList","parameters":[],"src":"15994:0:107"},"scope":72744,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":71971,"nodeType":"FunctionDefinition","src":"16346:1009:107","nodes":[],"body":{"id":71970,"nodeType":"Block","src":"16420:935:107","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":71887,"name":"onlyRegistryMemberSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71137,"src":"16430:24:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":71888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16430:26:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71889,"nodeType":"ExpressionStatement","src":"16430:26:107"},{"assignments":[71891],"declarations":[{"constant":false,"id":71891,"mutability":"mutable","name":"member","nameLocation":"16474:6:107","nodeType":"VariableDeclaration","scope":71970,"src":"16466:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71890,"name":"address","nodeType":"ElementaryTypeName","src":"16466:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":71894,"initialValue":{"expression":{"id":71892,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16483:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":71893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16487:6:107","memberName":"sender","nodeType":"MemberAccess","src":"16483:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16466:27:107"},{"assignments":[71899],"declarations":[{"constant":false,"id":71899,"mutability":"mutable","name":"memberStrategies","nameLocation":"16520:16:107","nodeType":"VariableDeclaration","scope":71970,"src":"16503:33:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":71897,"name":"address","nodeType":"ElementaryTypeName","src":"16503:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71898,"nodeType":"ArrayTypeName","src":"16503:9:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":71903,"initialValue":{"baseExpression":{"id":71900,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71089,"src":"16539:18:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":71902,"indexExpression":{"id":71901,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71891,"src":"16558:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16539:26:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"16503:62:107"},{"assignments":[71905],"declarations":[{"constant":false,"id":71905,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"16584:16:107","nodeType":"VariableDeclaration","scope":71970,"src":"16576:24:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71904,"name":"uint256","nodeType":"ElementaryTypeName","src":"16576:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":71906,"nodeType":"VariableDeclarationStatement","src":"16576:24:107"},{"body":{"id":71945,"nodeType":"Block","src":"16665:482:107","statements":[{"expression":{"id":71928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71918,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71905,"src":"16784:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":71925,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71891,"src":"16853:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71926,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71882,"src":"16861:13:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"baseExpression":{"id":71920,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71899,"src":"16818:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71922,"indexExpression":{"id":71921,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71908,"src":"16835:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16818:19:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71919,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65534,"src":"16803:14:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65534_$","typeString":"type(contract IPointStrategy)"}},"id":71923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16803:35:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$65534","typeString":"contract IPointStrategy"}},"id":71924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16839:13:107","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":65518,"src":"16803:49:107","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":71927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16803:72:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16784:91:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71929,"nodeType":"ExpressionStatement","src":"16784:91:107"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71930,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71905,"src":"16893:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":71931,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16913:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16893:21:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71944,"nodeType":"IfStatement","src":"16889:232:107","trueBody":{"id":71943,"nodeType":"Block","src":"16916:205:107","statements":[{"expression":{"id":71941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":71933,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71077,"src":"16934:21:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":71938,"indexExpression":{"id":71934,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71891,"src":"16956:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16934:29:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":71939,"indexExpression":{"baseExpression":{"id":71935,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71899,"src":"16964:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71937,"indexExpression":{"id":71936,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71908,"src":"16981:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16964:19:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16934:50:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":71940,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71905,"src":"16988:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16934:70:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71942,"nodeType":"ExpressionStatement","src":"16934:70:107"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71911,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71908,"src":"16631:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":71912,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71899,"src":"16635:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16652:6:107","memberName":"length","nodeType":"MemberAccess","src":"16635:23:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16631:27:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71946,"initializationExpression":{"assignments":[71908],"declarations":[{"constant":false,"id":71908,"mutability":"mutable","name":"i","nameLocation":"16624:1:107","nodeType":"VariableDeclaration","scope":71946,"src":"16616:9:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71907,"name":"uint256","nodeType":"ElementaryTypeName","src":"16616:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":71910,"initialValue":{"hexValue":"30","id":71909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16628:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"16616:13:107"},"loopExpression":{"expression":{"id":71916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"16660:3:107","subExpression":{"id":71915,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71908,"src":"16660:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71917,"nodeType":"ExpressionStatement","src":"16660:3:107"},"nodeType":"ForStatement","src":"16611:536:107"},{"expression":{"arguments":[{"id":71950,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71891,"src":"17186:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":71953,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17202:4:107","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}],"id":71952,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17194:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71951,"name":"address","nodeType":"ElementaryTypeName","src":"17194:7:107","typeDescriptions":{}}},"id":71954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17194:13:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71955,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71882,"src":"17209:13:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":71947,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71051,"src":"17157:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":71949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17169:16:107","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":56649,"src":"17157:28:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$56528_$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":71956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17157:66:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71957,"nodeType":"ExpressionStatement","src":"17157:66:107"},{"expression":{"id":71963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":71958,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71083,"src":"17233:19:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$71224_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":71960,"indexExpression":{"id":71959,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71891,"src":"17253:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17233:27:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"id":71961,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17261:12:107","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":71221,"src":"17233:40:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":71962,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71882,"src":"17277:13:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17233:57:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71964,"nodeType":"ExpressionStatement","src":"17233:57:107"},{"eventCall":{"arguments":[{"id":71966,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71891,"src":"17326:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71967,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71882,"src":"17334:13:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":71965,"name":"MemberPowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70896,"src":"17305:20:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":71968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17305:43:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71969,"nodeType":"EmitStatement","src":"17300:48:107"}]},"functionSelector":"559de05d","implemented":true,"kind":"function","modifiers":[{"id":71885,"kind":"modifierInvocation","modifierName":{"id":71884,"name":"nonReentrant","nameLocations":["16407:12:107"],"nodeType":"IdentifierPath","referencedDeclaration":53197,"src":"16407:12:107"},"nodeType":"ModifierInvocation","src":"16407:12:107"}],"name":"increasePower","nameLocation":"16355:13:107","parameters":{"id":71883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71882,"mutability":"mutable","name":"_amountStaked","nameLocation":"16377:13:107","nodeType":"VariableDeclaration","scope":71971,"src":"16369:21:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71881,"name":"uint256","nodeType":"ElementaryTypeName","src":"16369:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16368:23:107"},"returnParameters":{"id":71886,"nodeType":"ParameterList","parameters":[],"src":"16420:0:107"},"scope":72744,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72121,"nodeType":"FunctionDefinition","src":"17498:1562:107","nodes":[],"body":{"id":72120,"nodeType":"Block","src":"17574:1486:107","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":71978,"name":"onlyRegistryMemberSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71137,"src":"17584:24:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":71979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17584:26:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71980,"nodeType":"ExpressionStatement","src":"17584:26:107"},{"assignments":[71982],"declarations":[{"constant":false,"id":71982,"mutability":"mutable","name":"member","nameLocation":"17628:6:107","nodeType":"VariableDeclaration","scope":72120,"src":"17620:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71981,"name":"address","nodeType":"ElementaryTypeName","src":"17620:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":71985,"initialValue":{"expression":{"id":71983,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17637:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":71984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17641:6:107","memberName":"sender","nodeType":"MemberAccess","src":"17637:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"17620:27:107"},{"assignments":[71990],"declarations":[{"constant":false,"id":71990,"mutability":"mutable","name":"memberStrategies","nameLocation":"17675:16:107","nodeType":"VariableDeclaration","scope":72120,"src":"17657:34:107","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":71988,"name":"address","nodeType":"ElementaryTypeName","src":"17657:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71989,"nodeType":"ArrayTypeName","src":"17657:9:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":71994,"initialValue":{"baseExpression":{"id":71991,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71089,"src":"17694:18:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":71993,"indexExpression":{"id":71992,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71982,"src":"17713:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17694:26:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"17657:63:107"},{"assignments":[71996],"declarations":[{"constant":false,"id":71996,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"17739:16:107","nodeType":"VariableDeclaration","scope":72120,"src":"17731:24:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71995,"name":"uint256","nodeType":"ElementaryTypeName","src":"17731:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":71997,"nodeType":"VariableDeclarationStatement","src":"17731:24:107"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":71998,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71083,"src":"17770:19:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$71224_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":72000,"indexExpression":{"id":71999,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71982,"src":"17790:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17770:27:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"id":72001,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17798:12:107","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":71221,"src":"17770:40:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":72002,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71973,"src":"17813:15:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17770:58:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":72004,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71016,"src":"17831:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17770:80:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72010,"nodeType":"IfStatement","src":"17766:140:107","trueBody":{"id":72009,"nodeType":"Block","src":"17852:54:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72006,"name":"DecreaseUnderMinimum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70951,"src":"17873:20:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17873:22:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72008,"nodeType":"RevertStatement","src":"17866:29:107"}]}},{"expression":{"arguments":[{"id":72014,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71982,"src":"17940:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72015,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71973,"src":"17948:15:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72011,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71051,"src":"17915:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":72013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17927:12:107","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":56622,"src":"17915:24:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$56528_$","typeString":"function (contract IERC20,address,uint256)"}},"id":72016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17915:49:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72017,"nodeType":"ExpressionStatement","src":"17915:49:107"},{"body":{"id":72106,"nodeType":"Block","src":"18028:897:107","statements":[{"assignments":[72030],"declarations":[{"constant":false,"id":72030,"mutability":"mutable","name":"strategy","nameLocation":"18050:8:107","nodeType":"VariableDeclaration","scope":72106,"src":"18042:16:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72029,"name":"address","nodeType":"ElementaryTypeName","src":"18042:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":72034,"initialValue":{"baseExpression":{"id":72031,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71990,"src":"18061:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":72033,"indexExpression":{"id":72032,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72019,"src":"18078:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18061:19:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"18042:38:107"},{"condition":{"arguments":[{"expression":{"arguments":[{"id":72038,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65534,"src":"18130:14:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65534_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65534_$","typeString":"type(contract IPointStrategy)"}],"id":72037,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"18125:4:107","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":72039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18125:20:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$65534","typeString":"type(contract IPointStrategy)"}},"id":72040,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18146:11:107","memberName":"interfaceId","nodeType":"MemberAccess","src":"18125:32:107","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":72035,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72030,"src":"18098:8:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18107:17:107","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57775,"src":"18098:26:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$attached_to$_t_address_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":72041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18098:60:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":72104,"nodeType":"Block","src":"18648:250:107","statements":[{"expression":{"id":72093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":72084,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71990,"src":"18733:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":72086,"indexExpression":{"id":72085,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72019,"src":"18750:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18733:19:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":72087,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71990,"src":"18755:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":72092,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":72088,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71990,"src":"18772:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":72089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18789:6:107","memberName":"length","nodeType":"MemberAccess","src":"18772:23:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":72090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18798:1:107","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"18772:27:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18755:45:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18733:67:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72094,"nodeType":"ExpressionStatement","src":"18733:67:107"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":72095,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71990,"src":"18818:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":72097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18835:3:107","memberName":"pop","nodeType":"MemberAccess","src":"18818:20:107","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer)"}},"id":72098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18818:22:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72099,"nodeType":"ExpressionStatement","src":"18818:22:107"},{"expression":{"arguments":[{"id":72101,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72030,"src":"18874:8:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72100,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72272,"src":"18858:15:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18858:25:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72103,"nodeType":"ExpressionStatement","src":"18858:25:107"}]},"id":72105,"nodeType":"IfStatement","src":"18094:804:107","trueBody":{"id":72083,"nodeType":"Block","src":"18160:482:107","statements":[{"expression":{"id":72050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72042,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71996,"src":"18178:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":72047,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71982,"src":"18236:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72048,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71973,"src":"18244:15:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":72044,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72030,"src":"18212:8:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72043,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65534,"src":"18197:14:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65534_$","typeString":"type(contract IPointStrategy)"}},"id":72045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18197:24:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$65534","typeString":"contract IPointStrategy"}},"id":72046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18222:13:107","memberName":"decreasePower","nodeType":"MemberAccess","referencedDeclaration":65527,"src":"18197:38:107","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":72049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18197:63:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18178:82:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72051,"nodeType":"ExpressionStatement","src":"18178:82:107"},{"assignments":[72053],"declarations":[{"constant":false,"id":72053,"mutability":"mutable","name":"currentPower","nameLocation":"18286:12:107","nodeType":"VariableDeclaration","scope":72083,"src":"18278:20:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72052,"name":"uint256","nodeType":"ElementaryTypeName","src":"18278:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":72061,"initialValue":{"baseExpression":{"baseExpression":{"id":72054,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71077,"src":"18301:21:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":72056,"indexExpression":{"id":72055,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71982,"src":"18323:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18301:29:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":72060,"indexExpression":{"baseExpression":{"id":72057,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71990,"src":"18331:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":72059,"indexExpression":{"id":72058,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72019,"src":"18348:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18331:19:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18301:50:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18278:73:107"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72062,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71996,"src":"18373:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":72063,"name":"currentPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72053,"src":"18392:12:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18373:31:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":72081,"nodeType":"Block","src":"18517:111:107","statements":[{"expression":{"id":72079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":72071,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71077,"src":"18539:21:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":72076,"indexExpression":{"id":72072,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71982,"src":"18561:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18539:29:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":72077,"indexExpression":{"baseExpression":{"id":72073,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71990,"src":"18569:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":72075,"indexExpression":{"id":72074,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72019,"src":"18586:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18569:19:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18539:50:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":72078,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71996,"src":"18593:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18539:70:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72080,"nodeType":"ExpressionStatement","src":"18539:70:107"}]},"id":72082,"nodeType":"IfStatement","src":"18369:259:107","trueBody":{"id":72070,"nodeType":"Block","src":"18406:105:107","statements":[{"errorCall":{"arguments":[{"id":72066,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71996,"src":"18461:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":72067,"name":"currentPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72053,"src":"18479:12:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72065,"name":"CantDecreaseMoreThanPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70957,"src":"18435:25:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":72068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18435:57:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72069,"nodeType":"RevertStatement","src":"18428:64:107"}]}}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72022,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72019,"src":"17994:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":72023,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71990,"src":"17998:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":72024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18015:6:107","memberName":"length","nodeType":"MemberAccess","src":"17998:23:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17994:27:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72107,"initializationExpression":{"assignments":[72019],"declarations":[{"constant":false,"id":72019,"mutability":"mutable","name":"i","nameLocation":"17987:1:107","nodeType":"VariableDeclaration","scope":72107,"src":"17979:9:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72018,"name":"uint256","nodeType":"ElementaryTypeName","src":"17979:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":72021,"initialValue":{"hexValue":"30","id":72020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17991:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"17979:13:107"},"loopExpression":{"expression":{"id":72027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18023:3:107","subExpression":{"id":72026,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72019,"src":"18023:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72028,"nodeType":"ExpressionStatement","src":"18023:3:107"},"nodeType":"ForStatement","src":"17974:951:107"},{"expression":{"id":72113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":72108,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71083,"src":"18934:19:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$71224_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":72110,"indexExpression":{"id":72109,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71982,"src":"18954:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18934:27:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"id":72111,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18962:12:107","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":71221,"src":"18934:40:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":72112,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71973,"src":"18978:15:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18934:59:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72114,"nodeType":"ExpressionStatement","src":"18934:59:107"},{"eventCall":{"arguments":[{"id":72116,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71982,"src":"19029:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72117,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71973,"src":"19037:15:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72115,"name":"MemberPowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70902,"src":"19008:20:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":72118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19008:45:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72119,"nodeType":"EmitStatement","src":"19003:50:107"}]},"functionSelector":"5ecf71c5","implemented":true,"kind":"function","modifiers":[{"id":71976,"kind":"modifierInvocation","modifierName":{"id":71975,"name":"nonReentrant","nameLocations":["17561:12:107"],"nodeType":"IdentifierPath","referencedDeclaration":53197,"src":"17561:12:107"},"nodeType":"ModifierInvocation","src":"17561:12:107"}],"name":"decreasePower","nameLocation":"17507:13:107","parameters":{"id":71974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71973,"mutability":"mutable","name":"_amountUnstaked","nameLocation":"17529:15:107","nodeType":"VariableDeclaration","scope":72121,"src":"17521:23:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71972,"name":"uint256","nodeType":"ElementaryTypeName","src":"17521:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17520:25:107"},"returnParameters":{"id":71977,"nodeType":"ParameterList","parameters":[],"src":"17574:0:107"},"scope":72744,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72137,"nodeType":"FunctionDefinition","src":"19066:173:107","nodes":[],"body":{"id":72136,"nodeType":"Block","src":"19174:65:107","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":72130,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71077,"src":"19191:21:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":72132,"indexExpression":{"id":72131,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72123,"src":"19213:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19191:30:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":72134,"indexExpression":{"id":72133,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72125,"src":"19222:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19191:41:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":72129,"id":72135,"nodeType":"Return","src":"19184:48:107"}]},"functionSelector":"7817ee4f","implemented":true,"kind":"function","modifiers":[],"name":"getMemberPowerInStrategy","nameLocation":"19075:24:107","parameters":{"id":72126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72123,"mutability":"mutable","name":"_member","nameLocation":"19108:7:107","nodeType":"VariableDeclaration","scope":72137,"src":"19100:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72122,"name":"address","nodeType":"ElementaryTypeName","src":"19100:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72125,"mutability":"mutable","name":"_strategy","nameLocation":"19125:9:107","nodeType":"VariableDeclaration","scope":72137,"src":"19117:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72124,"name":"address","nodeType":"ElementaryTypeName","src":"19117:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19099:36:107"},"returnParameters":{"id":72129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72128,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72137,"src":"19165:7:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72127,"name":"uint256","nodeType":"ElementaryTypeName","src":"19165:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19164:9:107"},"scope":72744,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":72150,"nodeType":"FunctionDefinition","src":"19245:151:107","nodes":[],"body":{"id":72149,"nodeType":"Block","src":"19331:65:107","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":72144,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71083,"src":"19348:19:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$71224_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":72146,"indexExpression":{"id":72145,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72139,"src":"19368:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19348:28:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"id":72147,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19377:12:107","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":71221,"src":"19348:41:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":72143,"id":72148,"nodeType":"Return","src":"19341:48:107"}]},"functionSelector":"2c611c4a","implemented":true,"kind":"function","modifiers":[],"name":"getMemberStakedAmount","nameLocation":"19254:21:107","parameters":{"id":72140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72139,"mutability":"mutable","name":"_member","nameLocation":"19284:7:107","nodeType":"VariableDeclaration","scope":72150,"src":"19276:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72138,"name":"address","nodeType":"ElementaryTypeName","src":"19276:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19275:17:107"},"returnParameters":{"id":72143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72142,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72150,"src":"19322:7:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72141,"name":"uint256","nodeType":"ElementaryTypeName","src":"19322:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19321:9:107"},"scope":72744,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":72187,"nodeType":"FunctionDefinition","src":"19402:321:107","nodes":[],"body":{"id":72186,"nodeType":"Block","src":"19462:261:107","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72155,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71123,"src":"19472:15:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":72156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19472:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72157,"nodeType":"ExpressionStatement","src":"19472:17:107"},{"assignments":[72159],"declarations":[{"constant":false,"id":72159,"mutability":"mutable","name":"strategy","nameLocation":"19507:8:107","nodeType":"VariableDeclaration","scope":72186,"src":"19499:16:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72158,"name":"address","nodeType":"ElementaryTypeName","src":"19499:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":72168,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":72164,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72152,"src":"19539:6:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72162,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71059,"src":"19526:4:107","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$73903","typeString":"contract FAllo"}},"id":72163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19531:7:107","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":73902,"src":"19526:12:107","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":72165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19526:20:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":72166,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19547:8:107","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"19526:29:107","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":72161,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19518:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72160,"name":"address","nodeType":"ElementaryTypeName","src":"19518:7:107","typeDescriptions":{}}},"id":72167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19518:38:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"19499:57:107"},{"expression":{"arguments":[{"id":72170,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72159,"src":"19585:8:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72169,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71217,"src":"19566:18:107","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":72171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19566:28:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72172,"nodeType":"ExpressionStatement","src":"19566:28:107"},{"condition":{"arguments":[{"expression":{"arguments":[{"id":72176,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65534,"src":"19640:14:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65534_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65534_$","typeString":"type(contract IPointStrategy)"}],"id":72175,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"19635:4:107","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":72177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19635:20:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$65534","typeString":"type(contract IPointStrategy)"}},"id":72178,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19656:11:107","memberName":"interfaceId","nodeType":"MemberAccess","src":"19635:32:107","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":72173,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72159,"src":"19608:8:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19617:17:107","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57775,"src":"19608:26:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$attached_to$_t_address_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":72179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19608:60:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72185,"nodeType":"IfStatement","src":"19604:113:107","trueBody":{"id":72184,"nodeType":"Block","src":"19670:47:107","statements":[{"expression":{"arguments":[{"id":72181,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72159,"src":"19697:8:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72180,"name":"_addStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72224,"src":"19684:12:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19684:22:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72183,"nodeType":"ExpressionStatement","src":"19684:22:107"}]}}]},"functionSelector":"82d6a1e7","implemented":true,"kind":"function","modifiers":[],"name":"addStrategyByPoolId","nameLocation":"19411:19:107","parameters":{"id":72153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72152,"mutability":"mutable","name":"poolId","nameLocation":"19439:6:107","nodeType":"VariableDeclaration","scope":72187,"src":"19431:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72151,"name":"uint256","nodeType":"ElementaryTypeName","src":"19431:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19430:16:107"},"returnParameters":{"id":72154,"nodeType":"ParameterList","parameters":[],"src":"19462:0:107"},"scope":72744,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72200,"nodeType":"FunctionDefinition","src":"19729:128:107","nodes":[],"body":{"id":72199,"nodeType":"Block","src":"19787:70:107","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72192,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71123,"src":"19797:15:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":72193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19797:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72194,"nodeType":"ExpressionStatement","src":"19797:17:107"},{"expression":{"arguments":[{"id":72196,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72189,"src":"19837:12:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72195,"name":"_addStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72224,"src":"19824:12:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19824:26:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72198,"nodeType":"ExpressionStatement","src":"19824:26:107"}]},"functionSelector":"223e5479","implemented":true,"kind":"function","modifiers":[],"name":"addStrategy","nameLocation":"19738:11:107","parameters":{"id":72190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72189,"mutability":"mutable","name":"_newStrategy","nameLocation":"19758:12:107","nodeType":"VariableDeclaration","scope":72200,"src":"19750:20:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72188,"name":"address","nodeType":"ElementaryTypeName","src":"19750:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19749:22:107"},"returnParameters":{"id":72191,"nodeType":"ParameterList","parameters":[],"src":"19787:0:107"},"scope":72744,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72224,"nodeType":"FunctionDefinition","src":"19863:252:107","nodes":[],"body":{"id":72223,"nodeType":"Block","src":"19924:191:107","nodes":[],"statements":[{"condition":{"baseExpression":{"id":72205,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71070,"src":"19938:17:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":72207,"indexExpression":{"id":72206,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72202,"src":"19956:12:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19938:31:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72212,"nodeType":"IfStatement","src":"19934:85:107","trueBody":{"id":72211,"nodeType":"Block","src":"19971:48:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72208,"name":"StrategyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70935,"src":"19992:14:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19992:16:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72210,"nodeType":"RevertStatement","src":"19985:23:107"}]}},{"expression":{"id":72217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":72213,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71070,"src":"20028:17:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":72215,"indexExpression":{"id":72214,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72202,"src":"20046:12:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"20028:31:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":72216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"20062:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"20028:38:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72218,"nodeType":"ExpressionStatement","src":"20028:38:107"},{"eventCall":{"arguments":[{"id":72220,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72202,"src":"20095:12:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72219,"name":"StrategyAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70868,"src":"20081:13:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20081:27:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72222,"nodeType":"EmitStatement","src":"20076:32:107"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addStrategy","nameLocation":"19872:12:107","parameters":{"id":72203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72202,"mutability":"mutable","name":"_newStrategy","nameLocation":"19893:12:107","nodeType":"VariableDeclaration","scope":72224,"src":"19885:20:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72201,"name":"address","nodeType":"ElementaryTypeName","src":"19885:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19884:22:107"},"returnParameters":{"id":72204,"nodeType":"ParameterList","parameters":[],"src":"19924:0:107"},"scope":72744,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":72252,"nodeType":"FunctionDefinition","src":"20121:237:107","nodes":[],"body":{"id":72251,"nodeType":"Block","src":"20184:174:107","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72229,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71123,"src":"20194:15:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":72230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20194:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72231,"nodeType":"ExpressionStatement","src":"20194:17:107"},{"assignments":[72233],"declarations":[{"constant":false,"id":72233,"mutability":"mutable","name":"strategy","nameLocation":"20229:8:107","nodeType":"VariableDeclaration","scope":72251,"src":"20221:16:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72232,"name":"address","nodeType":"ElementaryTypeName","src":"20221:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":72242,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":72238,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72226,"src":"20261:6:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72236,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71059,"src":"20248:4:107","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$73903","typeString":"contract FAllo"}},"id":72237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20253:7:107","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":73902,"src":"20248:12:107","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":72239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20248:20:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":72240,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20269:8:107","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"20248:29:107","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":72235,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20240:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72234,"name":"address","nodeType":"ElementaryTypeName","src":"20240:7:107","typeDescriptions":{}}},"id":72241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20240:38:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"20221:57:107"},{"expression":{"arguments":[{"id":72244,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72233,"src":"20307:8:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72243,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71217,"src":"20288:18:107","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":72245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20288:28:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72246,"nodeType":"ExpressionStatement","src":"20288:28:107"},{"expression":{"arguments":[{"id":72248,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72233,"src":"20342:8:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72247,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72272,"src":"20326:15:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20326:25:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72250,"nodeType":"ExpressionStatement","src":"20326:25:107"}]},"functionSelector":"73265c37","implemented":true,"kind":"function","modifiers":[],"name":"removeStrategyByPoolId","nameLocation":"20130:22:107","parameters":{"id":72227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72226,"mutability":"mutable","name":"poolId","nameLocation":"20161:6:107","nodeType":"VariableDeclaration","scope":72252,"src":"20153:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72225,"name":"uint256","nodeType":"ElementaryTypeName","src":"20153:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20152:16:107"},"returnParameters":{"id":72228,"nodeType":"ParameterList","parameters":[],"src":"20184:0:107"},"scope":72744,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72272,"nodeType":"FunctionDefinition","src":"20364:194:107","nodes":[],"body":{"id":72271,"nodeType":"Block","src":"20425:133:107","nodes":[],"statements":[{"expression":{"arguments":[{"id":72258,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72254,"src":"20454:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72257,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71217,"src":"20435:18:107","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":72259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20435:29:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72260,"nodeType":"ExpressionStatement","src":"20435:29:107"},{"expression":{"id":72265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":72261,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71070,"src":"20474:17:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":72263,"indexExpression":{"id":72262,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72254,"src":"20492:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"20474:28:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":72264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"20505:5:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"20474:36:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72266,"nodeType":"ExpressionStatement","src":"20474:36:107"},{"eventCall":{"arguments":[{"id":72268,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72254,"src":"20541:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72267,"name":"StrategyRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70872,"src":"20525:15:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20525:26:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72270,"nodeType":"EmitStatement","src":"20520:31:107"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_removeStrategy","nameLocation":"20373:15:107","parameters":{"id":72255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72254,"mutability":"mutable","name":"_strategy","nameLocation":"20397:9:107","nodeType":"VariableDeclaration","scope":72272,"src":"20389:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72253,"name":"address","nodeType":"ElementaryTypeName","src":"20389:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20388:19:107"},"returnParameters":{"id":72256,"nodeType":"ParameterList","parameters":[],"src":"20425:0:107"},"scope":72744,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":72285,"nodeType":"FunctionDefinition","src":"20564:128:107","nodes":[],"body":{"id":72284,"nodeType":"Block","src":"20622:70:107","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72277,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71123,"src":"20632:15:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":72278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20632:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72279,"nodeType":"ExpressionStatement","src":"20632:17:107"},{"expression":{"arguments":[{"id":72281,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72274,"src":"20675:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72280,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72272,"src":"20659:15:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20659:26:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72283,"nodeType":"ExpressionStatement","src":"20659:26:107"}]},"functionSelector":"175188e8","implemented":true,"kind":"function","modifiers":[],"name":"removeStrategy","nameLocation":"20573:14:107","parameters":{"id":72275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72274,"mutability":"mutable","name":"_strategy","nameLocation":"20596:9:107","nodeType":"VariableDeclaration","scope":72285,"src":"20588:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72273,"name":"address","nodeType":"ElementaryTypeName","src":"20588:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20587:19:107"},"returnParameters":{"id":72276,"nodeType":"ParameterList","parameters":[],"src":"20622:0:107"},"scope":72744,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72310,"nodeType":"FunctionDefinition","src":"20698:248:107","nodes":[],"body":{"id":72309,"nodeType":"Block","src":"20760:186:107","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72290,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71123,"src":"20770:15:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":72291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20770:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72292,"nodeType":"ExpressionStatement","src":"20770:17:107"},{"expression":{"arguments":[{"id":72294,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72287,"src":"20816:5:107","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":72293,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71217,"src":"20797:18:107","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":72295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20797:25:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72296,"nodeType":"ExpressionStatement","src":"20797:25:107"},{"expression":{"id":72299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72297,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71043,"src":"20832:18:107","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72298,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72287,"src":"20853:5:107","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"20832:26:107","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":72300,"nodeType":"ExpressionStatement","src":"20832:26:107"},{"eventCall":{"arguments":[{"arguments":[{"id":72304,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71055,"src":"20906:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}],"id":72303,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20898:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72302,"name":"address","nodeType":"ElementaryTypeName","src":"20898:7:107","typeDescriptions":{}}},"id":72305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20898:20:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72306,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71043,"src":"20920:18:107","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":72301,"name":"CouncilSafeChangeStarted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70831,"src":"20873:24:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":72307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20873:66:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72308,"nodeType":"EmitStatement","src":"20868:71:107"}]},"functionSelector":"397e2543","implemented":true,"kind":"function","modifiers":[],"name":"setCouncilSafe","nameLocation":"20707:14:107","parameters":{"id":72288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72287,"mutability":"mutable","name":"_safe","nameLocation":"20738:5:107","nodeType":"VariableDeclaration","scope":72310,"src":"20722:21:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":72286,"name":"address","nodeType":"ElementaryTypeName","src":"20722:15:107","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"20721:23:107"},"returnParameters":{"id":72289,"nodeType":"ParameterList","parameters":[],"src":"20760:0:107"},"scope":72744,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72327,"nodeType":"FunctionDefinition","src":"20952:187:107","nodes":[],"body":{"id":72326,"nodeType":"Block","src":"20999:140:107","nodes":[],"statements":[{"expression":{"id":72317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72313,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71055,"src":"21009:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":72315,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71043,"src":"21029:18:107","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":72314,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74170,"src":"21023:5:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISafe_$74170_$","typeString":"type(contract ISafe)"}},"id":72316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21023:25:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}},"src":"21009:39:107","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}},"id":72318,"nodeType":"ExpressionStatement","src":"21009:39:107"},{"expression":{"id":72320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"21058:25:107","subExpression":{"id":72319,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71043,"src":"21065:18:107","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72321,"nodeType":"ExpressionStatement","src":"21058:25:107"},{"eventCall":{"arguments":[{"id":72323,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71043,"src":"21113:18:107","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":72322,"name":"CouncilSafeSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70825,"src":"21098:14:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21098:34:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72325,"nodeType":"EmitStatement","src":"21093:39:107"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_changeCouncilSafe","nameLocation":"20961:18:107","parameters":{"id":72311,"nodeType":"ParameterList","parameters":[],"src":"20979:2:107"},"returnParameters":{"id":72312,"nodeType":"ParameterList","parameters":[],"src":"20999:0:107"},"scope":72744,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":72343,"nodeType":"FunctionDefinition","src":"21145:179:107","nodes":[],"body":{"id":72342,"nodeType":"Block","src":"21189:135:107","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":72333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":72330,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"21203:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":72331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21207:6:107","memberName":"sender","nodeType":"MemberAccess","src":"21203:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":72332,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71043,"src":"21217:18:107","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"21203:32:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72338,"nodeType":"IfStatement","src":"21199:89:107","trueBody":{"id":72337,"nodeType":"Block","src":"21237:51:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72334,"name":"SenderNotNewOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70939,"src":"21258:17:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21258:19:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72336,"nodeType":"RevertStatement","src":"21251:26:107"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72339,"name":"_changeCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72327,"src":"21297:18:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":72340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21297:20:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72341,"nodeType":"ExpressionStatement","src":"21297:20:107"}]},"functionSelector":"b5058c50","implemented":true,"kind":"function","modifiers":[],"name":"acceptCouncilSafe","nameLocation":"21154:17:107","parameters":{"id":72328,"nodeType":"ParameterList","parameters":[],"src":"21171:2:107"},"returnParameters":{"id":72329,"nodeType":"ParameterList","parameters":[],"src":"21189:0:107"},"scope":72744,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72361,"nodeType":"FunctionDefinition","src":"21330:190:107","nodes":[],"body":{"id":72360,"nodeType":"Block","src":"21410:110:107","nodes":[],"statements":[{"assignments":[72352],"declarations":[{"constant":false,"id":72352,"mutability":"mutable","name":"newMember","nameLocation":"21434:9:107","nodeType":"VariableDeclaration","scope":72360,"src":"21420:23:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":72351,"nodeType":"UserDefinedTypeName","pathNode":{"id":72350,"name":"Member","nameLocations":["21420:6:107"],"nodeType":"IdentifierPath","referencedDeclaration":71224,"src":"21420:6:107"},"referencedDeclaration":71224,"src":"21420:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":72356,"initialValue":{"baseExpression":{"id":72353,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71083,"src":"21446:19:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$71224_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":72355,"indexExpression":{"id":72354,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72345,"src":"21466:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21446:28:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"21420:54:107"},{"expression":{"expression":{"id":72357,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72352,"src":"21491:9:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":72358,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21501:12:107","memberName":"isRegistered","nodeType":"MemberAccess","referencedDeclaration":71223,"src":"21491:22:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":72349,"id":72359,"nodeType":"Return","src":"21484:29:107"}]},"functionSelector":"a230c524","implemented":true,"kind":"function","modifiers":[],"name":"isMember","nameLocation":"21339:8:107","parameters":{"id":72346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72345,"mutability":"mutable","name":"_member","nameLocation":"21356:7:107","nodeType":"VariableDeclaration","scope":72361,"src":"21348:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72344,"name":"address","nodeType":"ElementaryTypeName","src":"21348:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21347:17:107"},"returnParameters":{"id":72349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72348,"mutability":"mutable","name":"_isMember","nameLocation":"21399:9:107","nodeType":"VariableDeclaration","scope":72361,"src":"21394:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72347,"name":"bool","nodeType":"ElementaryTypeName","src":"21394:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21393:16:107"},"scope":72744,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":72480,"nodeType":"FunctionDefinition","src":"21526:1932:107","nodes":[],"body":{"id":72479,"nodeType":"Block","src":"21588:1870:107","nodes":[],"statements":[{"assignments":[72367],"declarations":[{"constant":false,"id":72367,"mutability":"mutable","name":"_member","nameLocation":"21606:7:107","nodeType":"VariableDeclaration","scope":72479,"src":"21598:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72366,"name":"address","nodeType":"ElementaryTypeName","src":"21598:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":72370,"initialValue":{"expression":{"id":72368,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"21616:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":72369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21620:6:107","memberName":"sender","nodeType":"MemberAccess","src":"21616:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"21598:28:107"},{"assignments":[72373],"declarations":[{"constant":false,"id":72373,"mutability":"mutable","name":"newMember","nameLocation":"21651:9:107","nodeType":"VariableDeclaration","scope":72479,"src":"21636:24:107","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":72372,"nodeType":"UserDefinedTypeName","pathNode":{"id":72371,"name":"Member","nameLocations":["21636:6:107"],"nodeType":"IdentifierPath","referencedDeclaration":71224,"src":"21636:6:107"},"referencedDeclaration":71224,"src":"21636:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":72377,"initialValue":{"baseExpression":{"id":72374,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71083,"src":"21663:19:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$71224_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":72376,"indexExpression":{"id":72375,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72367,"src":"21683:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21663:28:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"21636:55:107"},{"assignments":[72380],"declarations":[{"constant":false,"id":72380,"mutability":"mutable","name":"gardensFactory","nameLocation":"21718:14:107","nodeType":"VariableDeclaration","scope":72479,"src":"21701:31:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$70060","typeString":"contract IRegistryFactory"},"typeName":{"id":72379,"nodeType":"UserDefinedTypeName","pathNode":{"id":72378,"name":"IRegistryFactory","nameLocations":["21701:16:107"],"nodeType":"IdentifierPath","referencedDeclaration":70060,"src":"21701:16:107"},"referencedDeclaration":70060,"src":"21701:16:107","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$70060","typeString":"contract IRegistryFactory"}},"visibility":"internal"}],"id":72384,"initialValue":{"arguments":[{"id":72382,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71034,"src":"21752:15:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72381,"name":"IRegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70060,"src":"21735:16:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistryFactory_$70060_$","typeString":"type(contract IRegistryFactory)"}},"id":72383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21735:33:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$70060","typeString":"contract IRegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"21701:67:107"},{"assignments":[72386],"declarations":[{"constant":false,"id":72386,"mutability":"mutable","name":"communityFeeAmount","nameLocation":"21786:18:107","nodeType":"VariableDeclaration","scope":72479,"src":"21778:26:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72385,"name":"uint256","nodeType":"ElementaryTypeName","src":"21778:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":72396,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72387,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71016,"src":"21808:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":72388,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71019,"src":"21830:12:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21808:34:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":72390,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"21807:36:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72393,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":72391,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21847:3:107","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":72392,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71007,"src":"21853:15:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21847:21:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":72394,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"21846:23:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21807:62:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21778:91:107"},{"assignments":[72398],"declarations":[{"constant":false,"id":72398,"mutability":"mutable","name":"gardensFeeAmount","nameLocation":"21887:16:107","nodeType":"VariableDeclaration","scope":72479,"src":"21879:24:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72397,"name":"uint256","nodeType":"ElementaryTypeName","src":"21879:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":72414,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72399,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71016,"src":"21919:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"arguments":[{"id":72404,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21979:4:107","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}],"id":72403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21971:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72402,"name":"address","nodeType":"ElementaryTypeName","src":"21971:7:107","typeDescriptions":{}}},"id":72405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21971:13:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":72400,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72380,"src":"21941:14:107","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$70060","typeString":"contract IRegistryFactory"}},"id":72401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21956:14:107","memberName":"getProtocolFee","nodeType":"MemberAccess","referencedDeclaration":70059,"src":"21941:29:107","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":72406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21941:44:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21919:66:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":72408,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"21918:68:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72411,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":72409,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21990:3:107","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":72410,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71007,"src":"21996:15:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21990:21:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":72412,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"21989:23:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21918:94:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21879:133:107"},{"condition":{"id":72418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22026:18:107","subExpression":{"arguments":[{"id":72416,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72367,"src":"22036:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72415,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72361,"src":"22027:8:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":72417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22027:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72478,"nodeType":"IfStatement","src":"22022:1430:107","trueBody":{"id":72477,"nodeType":"Block","src":"22046:1406:107","statements":[{"expression":{"id":72423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":72419,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72373,"src":"22060:9:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member storage pointer"}},"id":72421,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"22070:12:107","memberName":"isRegistered","nodeType":"MemberAccess","referencedDeclaration":71223,"src":"22060:22:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":72422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"22085:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"22060:29:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72424,"nodeType":"ExpressionStatement","src":"22060:29:107"},{"expression":{"id":72429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":72425,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72373,"src":"22104:9:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member storage pointer"}},"id":72427,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"22114:12:107","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":71221,"src":"22104:22:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72428,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71016,"src":"22129:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22104:44:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72430,"nodeType":"ExpressionStatement","src":"22104:44:107"},{"expression":{"arguments":[{"id":72434,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72367,"src":"22346:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":72437,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22363:4:107","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}],"id":72436,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22355:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72435,"name":"address","nodeType":"ElementaryTypeName","src":"22355:7:107","typeDescriptions":{}}},"id":72438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22355:13:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72439,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71016,"src":"22370:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":72440,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72386,"src":"22392:18:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22370:40:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":72442,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72398,"src":"22413:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22370:59:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72431,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71051,"src":"22300:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":72433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22312:16:107","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":56649,"src":"22300:28:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$56528_$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":72444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22300:143:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72445,"nodeType":"ExpressionStatement","src":"22300:143:107"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72446,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72386,"src":"22868:18:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":72447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22889:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22868:22:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72457,"nodeType":"IfStatement","src":"22864:178:107","trueBody":{"id":72456,"nodeType":"Block","src":"22892:150:107","statements":[{"expression":{"arguments":[{"id":72452,"name":"feeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71031,"src":"22995:11:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72453,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72386,"src":"23008:18:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72449,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71051,"src":"22970:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":72451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22982:12:107","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":56622,"src":"22970:24:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$56528_$","typeString":"function (contract IERC20,address,uint256)"}},"id":72454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22970:57:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72455,"nodeType":"ExpressionStatement","src":"22970:57:107"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72458,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72398,"src":"23125:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":72459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23144:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23125:20:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72471,"nodeType":"IfStatement","src":"23121:255:107","trueBody":{"id":72470,"nodeType":"Block","src":"23147:229:107","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":72464,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72380,"src":"23304:14:107","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$70060","typeString":"contract IRegistryFactory"}},"id":72465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23319:21:107","memberName":"getGardensFeeReceiver","nodeType":"MemberAccess","referencedDeclaration":70052,"src":"23304:36:107","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":72466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23304:38:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72467,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72398,"src":"23344:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72461,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71051,"src":"23279:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":72463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23291:12:107","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":56622,"src":"23279:24:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$56528_$","typeString":"function (contract IERC20,address,uint256)"}},"id":72468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23279:82:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72469,"nodeType":"ExpressionStatement","src":"23279:82:107"}]}},{"eventCall":{"arguments":[{"id":72473,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72367,"src":"23412:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72474,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71016,"src":"23421:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72472,"name":"MemberRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70837,"src":"23395:16:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":72475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23395:46:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72476,"nodeType":"EmitStatement","src":"23390:51:107"}]}}]},"functionSelector":"3517aa7d","implemented":true,"kind":"function","modifiers":[{"id":72364,"kind":"modifierInvocation","modifierName":{"id":72363,"name":"nonReentrant","nameLocations":["21575:12:107"],"nodeType":"IdentifierPath","referencedDeclaration":53197,"src":"21575:12:107"},"nodeType":"ModifierInvocation","src":"21575:12:107"}],"name":"stakeAndRegisterMember","nameLocation":"21535:22:107","parameters":{"id":72362,"nodeType":"ParameterList","parameters":[],"src":"21557:2:107"},"returnParameters":{"id":72365,"nodeType":"ParameterList","parameters":[],"src":"21588:0:107"},"scope":72744,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72529,"nodeType":"FunctionDefinition","src":"23464:477:107","nodes":[],"body":{"id":72528,"nodeType":"Block","src":"23536:405:107","nodes":[],"statements":[{"assignments":[72487],"declarations":[{"constant":false,"id":72487,"mutability":"mutable","name":"gardensFactory","nameLocation":"23563:14:107","nodeType":"VariableDeclaration","scope":72528,"src":"23546:31:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$70060","typeString":"contract IRegistryFactory"},"typeName":{"id":72486,"nodeType":"UserDefinedTypeName","pathNode":{"id":72485,"name":"IRegistryFactory","nameLocations":["23546:16:107"],"nodeType":"IdentifierPath","referencedDeclaration":70060,"src":"23546:16:107"},"referencedDeclaration":70060,"src":"23546:16:107","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$70060","typeString":"contract IRegistryFactory"}},"visibility":"internal"}],"id":72491,"initialValue":{"arguments":[{"id":72489,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71034,"src":"23597:15:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72488,"name":"IRegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70060,"src":"23580:16:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistryFactory_$70060_$","typeString":"type(contract IRegistryFactory)"}},"id":72490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23580:33:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$70060","typeString":"contract IRegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"23546:67:107"},{"assignments":[72493],"declarations":[{"constant":false,"id":72493,"mutability":"mutable","name":"communityFeeAmount","nameLocation":"23631:18:107","nodeType":"VariableDeclaration","scope":72528,"src":"23623:26:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72492,"name":"uint256","nodeType":"ElementaryTypeName","src":"23623:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":72503,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72494,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71016,"src":"23653:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":72495,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71019,"src":"23675:12:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23653:34:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":72497,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"23652:36:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72500,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":72498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23692:3:107","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":72499,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71007,"src":"23698:15:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23692:21:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":72501,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"23691:23:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23652:62:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23623:91:107"},{"assignments":[72505],"declarations":[{"constant":false,"id":72505,"mutability":"mutable","name":"gardensFeeAmount","nameLocation":"23732:16:107","nodeType":"VariableDeclaration","scope":72528,"src":"23724:24:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72504,"name":"uint256","nodeType":"ElementaryTypeName","src":"23724:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":72521,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72506,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71016,"src":"23764:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"arguments":[{"id":72511,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"23824:4:107","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}],"id":72510,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23816:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72509,"name":"address","nodeType":"ElementaryTypeName","src":"23816:7:107","typeDescriptions":{}}},"id":72512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23816:13:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":72507,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72487,"src":"23786:14:107","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$70060","typeString":"contract IRegistryFactory"}},"id":72508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23801:14:107","memberName":"getProtocolFee","nodeType":"MemberAccess","referencedDeclaration":70059,"src":"23786:29:107","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":72513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23786:44:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23764:66:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":72515,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"23763:68:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72518,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":72516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23835:3:107","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":72517,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71007,"src":"23841:15:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23835:21:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":72519,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"23834:23:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23763:94:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23724:133:107"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72522,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71016,"src":"23875:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":72523,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72493,"src":"23897:18:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23875:40:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":72525,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72505,"src":"23918:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23875:59:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":72484,"id":72527,"nodeType":"Return","src":"23868:66:107"}]},"functionSelector":"28c309e9","implemented":true,"kind":"function","modifiers":[],"name":"getStakeAmountWithFees","nameLocation":"23473:22:107","parameters":{"id":72481,"nodeType":"ParameterList","parameters":[],"src":"23495:2:107"},"returnParameters":{"id":72484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72483,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72529,"src":"23527:7:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72482,"name":"uint256","nodeType":"ElementaryTypeName","src":"23527:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23526:9:107"},"scope":72744,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":72537,"nodeType":"FunctionDefinition","src":"23947:115:107","nodes":[],"body":{"id":72536,"nodeType":"Block","src":"24019:43:107","nodes":[],"statements":[{"expression":{"id":72534,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71016,"src":"24036:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":72533,"id":72535,"nodeType":"Return","src":"24029:26:107"}]},"functionSelector":"0331383c","implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"23956:20:107","parameters":{"id":72530,"nodeType":"ParameterList","parameters":[],"src":"23976:2:107"},"returnParameters":{"id":72533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72532,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72537,"src":"24010:7:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72531,"name":"uint256","nodeType":"ElementaryTypeName","src":"24010:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24009:9:107"},"scope":72744,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":72554,"nodeType":"FunctionDefinition","src":"24068:190:107","nodes":[],"body":{"id":72553,"nodeType":"Block","src":"24135:123:107","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72542,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71123,"src":"24145:15:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":72543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24145:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72544,"nodeType":"ExpressionStatement","src":"24145:17:107"},{"expression":{"id":72547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72545,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71016,"src":"24172:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72546,"name":"_newAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72539,"src":"24194:10:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24172:32:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72548,"nodeType":"ExpressionStatement","src":"24172:32:107"},{"eventCall":{"arguments":[{"id":72550,"name":"_newAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72539,"src":"24240:10:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72549,"name":"BasisStakedAmountSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70890,"src":"24219:20:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":72551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24219:32:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72552,"nodeType":"EmitStatement","src":"24214:37:107"}]},"functionSelector":"31f61bca","implemented":true,"kind":"function","modifiers":[],"name":"setBasisStakedAmount","nameLocation":"24077:20:107","parameters":{"id":72540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72539,"mutability":"mutable","name":"_newAmount","nameLocation":"24106:10:107","nodeType":"VariableDeclaration","scope":72554,"src":"24098:18:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72538,"name":"uint256","nodeType":"ElementaryTypeName","src":"24098:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24097:20:107"},"returnParameters":{"id":72541,"nodeType":"ParameterList","parameters":[],"src":"24135:0:107"},"scope":72744,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":72579,"nodeType":"FunctionDefinition","src":"24264:288:107","nodes":[],"body":{"id":72578,"nodeType":"Block","src":"24330:222:107","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72559,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71123,"src":"24340:15:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":72560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24340:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72561,"nodeType":"ExpressionStatement","src":"24340:17:107"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72562,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72556,"src":"24371:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":72563,"name":"MAX_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71013,"src":"24390:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24371:26:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72569,"nodeType":"IfStatement","src":"24367:86:107","trueBody":{"id":72568,"nodeType":"Block","src":"24399:54:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72565,"name":"NewFeeGreaterThanMax","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70945,"src":"24420:20:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24420:22:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72567,"nodeType":"RevertStatement","src":"24413:29:107"}]}},{"expression":{"id":72572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72570,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71019,"src":"24462:12:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72571,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72556,"src":"24477:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24462:31:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72573,"nodeType":"ExpressionStatement","src":"24462:31:107"},{"eventCall":{"arguments":[{"id":72575,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72556,"src":"24528:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72574,"name":"CommunityFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70855,"src":"24508:19:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":72576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24508:37:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72577,"nodeType":"EmitStatement","src":"24503:42:107"}]},"functionSelector":"0d12bbdb","implemented":true,"kind":"function","modifiers":[],"name":"setCommunityFee","nameLocation":"24273:15:107","parameters":{"id":72557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72556,"mutability":"mutable","name":"_newCommunityFee","nameLocation":"24297:16:107","nodeType":"VariableDeclaration","scope":72579,"src":"24289:24:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72555,"name":"uint256","nodeType":"ElementaryTypeName","src":"24289:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24288:26:107"},"returnParameters":{"id":72558,"nodeType":"ParameterList","parameters":[],"src":"24330:0:107"},"scope":72744,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72592,"nodeType":"FunctionDefinition","src":"24595:133:107","nodes":[],"body":{"id":72591,"nodeType":"Block","src":"24672:56:107","nodes":[],"statements":[{"expression":{"arguments":[{"id":72587,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71106,"src":"24697:14:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":72588,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72581,"src":"24713:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":72586,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52456,"src":"24689:7:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":72589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24689:32:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":72585,"id":72590,"nodeType":"Return","src":"24682:39:107"}]},"functionSelector":"ebd7dc52","implemented":true,"kind":"function","modifiers":[],"name":"isCouncilMember","nameLocation":"24604:15:107","parameters":{"id":72582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72581,"mutability":"mutable","name":"_member","nameLocation":"24628:7:107","nodeType":"VariableDeclaration","scope":72592,"src":"24620:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72580,"name":"address","nodeType":"ElementaryTypeName","src":"24620:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24619:17:107"},"returnParameters":{"id":72585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72584,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72592,"src":"24666:4:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72583,"name":"bool","nodeType":"ElementaryTypeName","src":"24666:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24665:6:107"},"scope":72744,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":72642,"nodeType":"FunctionDefinition","src":"24734:465:107","nodes":[],"body":{"id":72641,"nodeType":"Block","src":"24790:409:107","nodes":[],"statements":[{"assignments":[72598],"declarations":[{"constant":false,"id":72598,"mutability":"mutable","name":"_member","nameLocation":"24808:7:107","nodeType":"VariableDeclaration","scope":72641,"src":"24800:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72597,"name":"address","nodeType":"ElementaryTypeName","src":"24800:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":72601,"initialValue":{"expression":{"id":72599,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"24818:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":72600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24822:6:107","memberName":"sender","nodeType":"MemberAccess","src":"24818:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"24800:28:107"},{"expression":{"arguments":[{"id":72603,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72598,"src":"24864:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72602,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71152,"src":"24838:25:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":72604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24838:34:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72605,"nodeType":"ExpressionStatement","src":"24838:34:107"},{"expression":{"arguments":[{"id":72607,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72598,"src":"24906:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72606,"name":"deactivateAllStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72679,"src":"24882:23:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24882:32:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72609,"nodeType":"ExpressionStatement","src":"24882:32:107"},{"assignments":[72612],"declarations":[{"constant":false,"id":72612,"mutability":"mutable","name":"member","nameLocation":"24938:6:107","nodeType":"VariableDeclaration","scope":72641,"src":"24924:20:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":72611,"nodeType":"UserDefinedTypeName","pathNode":{"id":72610,"name":"Member","nameLocations":["24924:6:107"],"nodeType":"IdentifierPath","referencedDeclaration":71224,"src":"24924:6:107"},"referencedDeclaration":71224,"src":"24924:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":72616,"initialValue":{"baseExpression":{"id":72613,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71083,"src":"24947:19:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$71224_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":72615,"indexExpression":{"id":72614,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72598,"src":"24967:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24947:28:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24924:51:107"},{"expression":{"id":72620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"24985:35:107","subExpression":{"baseExpression":{"id":72617,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71083,"src":"24992:19:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$71224_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":72619,"indexExpression":{"id":72618,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72598,"src":"25012:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24992:28:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72621,"nodeType":"ExpressionStatement","src":"24985:35:107"},{"expression":{"id":72625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"25030:34:107","subExpression":{"baseExpression":{"id":72622,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71089,"src":"25037:18:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":72624,"indexExpression":{"id":72623,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72598,"src":"25056:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"25037:27:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72626,"nodeType":"ExpressionStatement","src":"25030:34:107"},{"expression":{"arguments":[{"id":72630,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72598,"src":"25100:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":72631,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72612,"src":"25109:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":72632,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25116:12:107","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":71221,"src":"25109:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72627,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71051,"src":"25075:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":72629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25087:12:107","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":56622,"src":"25075:24:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$56528_$","typeString":"function (contract IERC20,address,uint256)"}},"id":72633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25075:54:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72634,"nodeType":"ExpressionStatement","src":"25075:54:107"},{"eventCall":{"arguments":[{"id":72636,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72598,"src":"25163:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":72637,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72612,"src":"25172:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":72638,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25179:12:107","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":71221,"src":"25172:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72635,"name":"MemberUnregistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70843,"src":"25144:18:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":72639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25144:48:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72640,"nodeType":"EmitStatement","src":"25139:53:107"}]},"functionSelector":"b99b4370","implemented":true,"kind":"function","modifiers":[{"id":72595,"kind":"modifierInvocation","modifierName":{"id":72594,"name":"nonReentrant","nameLocations":["24777:12:107"],"nodeType":"IdentifierPath","referencedDeclaration":53197,"src":"24777:12:107"},"nodeType":"ModifierInvocation","src":"24777:12:107"}],"name":"unregisterMember","nameLocation":"24743:16:107","parameters":{"id":72593,"nodeType":"ParameterList","parameters":[],"src":"24759:2:107"},"returnParameters":{"id":72596,"nodeType":"ParameterList","parameters":[],"src":"24790:0:107"},"scope":72744,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72679,"nodeType":"FunctionDefinition","src":"25205:474:107","nodes":[],"body":{"id":72678,"nodeType":"Block","src":"25272:407:107","nodes":[],"statements":[{"assignments":[72651],"declarations":[{"constant":false,"id":72651,"mutability":"mutable","name":"memberStrategies","nameLocation":"25299:16:107","nodeType":"VariableDeclaration","scope":72678,"src":"25282:33:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":72649,"name":"address","nodeType":"ElementaryTypeName","src":"25282:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72650,"nodeType":"ArrayTypeName","src":"25282:9:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":72655,"initialValue":{"baseExpression":{"id":72652,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71089,"src":"25318:18:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":72654,"indexExpression":{"id":72653,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72644,"src":"25337:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25318:27:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25282:63:107"},{"body":{"id":72676,"nodeType":"Block","src":"25475:198:107","statements":[{"expression":{"arguments":[{"id":72673,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72644,"src":"25654:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"baseExpression":{"id":72668,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72651,"src":"25616:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":72670,"indexExpression":{"id":72669,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72657,"src":"25633:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25616:19:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72667,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65534,"src":"25601:14:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65534_$","typeString":"type(contract IPointStrategy)"}},"id":72671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25601:35:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$65534","typeString":"contract IPointStrategy"}},"id":72672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25637:16:107","memberName":"deactivatePoints","nodeType":"MemberAccess","referencedDeclaration":65509,"src":"25601:52:107","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":72674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25601:61:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72675,"nodeType":"ExpressionStatement","src":"25601:61:107"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72660,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72657,"src":"25441:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":72661,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72651,"src":"25445:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":72662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25462:6:107","memberName":"length","nodeType":"MemberAccess","src":"25445:23:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25441:27:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72677,"initializationExpression":{"assignments":[72657],"declarations":[{"constant":false,"id":72657,"mutability":"mutable","name":"i","nameLocation":"25434:1:107","nodeType":"VariableDeclaration","scope":72677,"src":"25426:9:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72656,"name":"uint256","nodeType":"ElementaryTypeName","src":"25426:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":72659,"initialValue":{"hexValue":"30","id":72658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25438:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"25426:13:107"},"loopExpression":{"expression":{"id":72665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"25470:3:107","subExpression":{"id":72664,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72657,"src":"25470:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72666,"nodeType":"ExpressionStatement","src":"25470:3:107"},"nodeType":"ForStatement","src":"25421:252:107"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deactivateAllStrategies","nameLocation":"25214:23:107","parameters":{"id":72645,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72644,"mutability":"mutable","name":"_member","nameLocation":"25246:7:107","nodeType":"VariableDeclaration","scope":72679,"src":"25238:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72643,"name":"address","nodeType":"ElementaryTypeName","src":"25238:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25237:17:107"},"returnParameters":{"id":72646,"nodeType":"ParameterList","parameters":[],"src":"25272:0:107"},"scope":72744,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":72739,"nodeType":"FunctionDefinition","src":"25685:583:107","nodes":[],"body":{"id":72738,"nodeType":"Block","src":"25776:492:107","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72688,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71123,"src":"25786:15:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":72689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25786:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72690,"nodeType":"ExpressionStatement","src":"25786:17:107"},{"condition":{"id":72692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"25817:14:107","subExpression":{"id":72691,"name":"isKickEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71028,"src":"25818:13:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72697,"nodeType":"IfStatement","src":"25813:68:107","trueBody":{"id":72696,"nodeType":"Block","src":"25833:48:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72693,"name":"KickNotEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70947,"src":"25854:14:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25854:16:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72695,"nodeType":"RevertStatement","src":"25847:23:107"}]}},{"condition":{"id":72701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"25894:18:107","subExpression":{"arguments":[{"id":72699,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72681,"src":"25904:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72698,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72361,"src":"25895:8:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":72700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25895:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72706,"nodeType":"IfStatement","src":"25890:75:107","trueBody":{"id":72705,"nodeType":"Block","src":"25914:51:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72702,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70925,"src":"25935:17:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25935:19:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72704,"nodeType":"RevertStatement","src":"25928:26:107"}]}},{"assignments":[72709],"declarations":[{"constant":false,"id":72709,"mutability":"mutable","name":"member","nameLocation":"25988:6:107","nodeType":"VariableDeclaration","scope":72738,"src":"25974:20:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":72708,"nodeType":"UserDefinedTypeName","pathNode":{"id":72707,"name":"Member","nameLocations":["25974:6:107"],"nodeType":"IdentifierPath","referencedDeclaration":71224,"src":"25974:6:107"},"referencedDeclaration":71224,"src":"25974:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":72713,"initialValue":{"baseExpression":{"id":72710,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71083,"src":"25997:19:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$71224_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":72712,"indexExpression":{"id":72711,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72681,"src":"26017:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25997:28:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25974:51:107"},{"expression":{"arguments":[{"id":72715,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72681,"src":"26059:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72714,"name":"deactivateAllStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72679,"src":"26035:23:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26035:32:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72717,"nodeType":"ExpressionStatement","src":"26035:32:107"},{"expression":{"id":72721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"26077:35:107","subExpression":{"baseExpression":{"id":72718,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71083,"src":"26084:19:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$71224_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":72720,"indexExpression":{"id":72719,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72681,"src":"26104:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"26084:28:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72722,"nodeType":"ExpressionStatement","src":"26077:35:107"},{"expression":{"arguments":[{"id":72726,"name":"_transferAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72683,"src":"26148:16:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":72727,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72709,"src":"26166:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":72728,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26173:12:107","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":71221,"src":"26166:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72723,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71051,"src":"26123:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":72725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26135:12:107","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":56622,"src":"26123:24:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$56528_$","typeString":"function (contract IERC20,address,uint256)"}},"id":72729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26123:63:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72730,"nodeType":"ExpressionStatement","src":"26123:63:107"},{"eventCall":{"arguments":[{"id":72732,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72681,"src":"26214:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72733,"name":"_transferAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72683,"src":"26223:16:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":72734,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72709,"src":"26241:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$71224_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":72735,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26248:12:107","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":71221,"src":"26241:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72731,"name":"MemberKicked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70851,"src":"26201:12:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":72736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26201:60:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72737,"nodeType":"EmitStatement","src":"26196:65:107"}]},"functionSelector":"6871eb4d","implemented":true,"kind":"function","modifiers":[{"id":72686,"kind":"modifierInvocation","modifierName":{"id":72685,"name":"nonReentrant","nameLocations":["25763:12:107"],"nodeType":"IdentifierPath","referencedDeclaration":53197,"src":"25763:12:107"},"nodeType":"ModifierInvocation","src":"25763:12:107"}],"name":"kickMember","nameLocation":"25694:10:107","parameters":{"id":72684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72681,"mutability":"mutable","name":"_member","nameLocation":"25713:7:107","nodeType":"VariableDeclaration","scope":72739,"src":"25705:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72680,"name":"address","nodeType":"ElementaryTypeName","src":"25705:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72683,"mutability":"mutable","name":"_transferAddress","nameLocation":"25730:16:107","nodeType":"VariableDeclaration","scope":72739,"src":"25722:24:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72682,"name":"address","nodeType":"ElementaryTypeName","src":"25722:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25704:43:107"},"returnParameters":{"id":72687,"nodeType":"ParameterList","parameters":[],"src":"25776:0:107"},"scope":72744,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72743,"nodeType":"VariableDeclaration","src":"26274:25:107","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"26294:5:107","scope":72744,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":72740,"name":"uint256","nodeType":"ElementaryTypeName","src":"26274:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72742,"length":{"hexValue":"3530","id":72741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26282:2:107","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"26274:11:107","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":70812,"name":"ProxyOwnableUpgrader","nameLocations":["1437:20:107"],"nodeType":"IdentifierPath","referencedDeclaration":70754,"src":"1437:20:107"},"id":70813,"nodeType":"InheritanceSpecifier","src":"1437:20:107"},{"baseName":{"id":70814,"name":"ReentrancyGuardUpgradeable","nameLocations":["1459:26:107"],"nodeType":"IdentifierPath","referencedDeclaration":53237,"src":"1459:26:107"},"id":70815,"nodeType":"InheritanceSpecifier","src":"1459:26:107"},{"baseName":{"id":70816,"name":"AccessControlUpgradeable","nameLocations":["1487:24:107"],"nodeType":"IdentifierPath","referencedDeclaration":52697,"src":"1487:24:107"},"id":70817,"nodeType":"InheritanceSpecifier","src":"1487:24:107"}],"canonicalName":"RegistryCommunityV0_0","contractDependencies":[55021],"contractKind":"contract","documentation":{"id":70811,"nodeType":"StructuredDocumentation","src":"1352:51:107","text":"@custom:oz-upgrades-from RegistryCommunityV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[72744,52697,53970,53982,52770,53237,70754,55672,55325,54974,54984,52903,53696,53152],"name":"RegistryCommunityV0_0","nameLocation":"1412:21:107","scope":72745,"usedErrors":[70677,70917,70919,70923,70925,70927,70929,70931,70933,70935,70937,70939,70941,70943,70945,70947,70949,70951,70957]}],"license":"AGPL-3.0-only"},"id":107} \ No newline at end of file +{"abi":[{"type":"function","name":"COUNCIL_MEMBER","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MAX_FEE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"PRECISION_SCALE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"acceptCouncilSafe","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"activateMemberInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategy","inputs":[{"name":"_newStrategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategyByPoolId","inputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addressToMemberInfo","inputs":[{"name":"member","type":"address","internalType":"address"}],"outputs":[{"name":"member","type":"address","internalType":"address"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"isRegistered","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract FAllo"}],"stateMutability":"view"},{"type":"function","name":"cloneNonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"collateralVaultTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"communityFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"communityName","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"view"},{"type":"function","name":"covenantIpfsHash","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"createPool","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_params","type":"tuple","internalType":"struct CVStrategyInitializeParamsV0_0","components":[{"name":"cvParams","type":"tuple","internalType":"struct CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"},{"name":"strategy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"_strategy","type":"address","internalType":"address"},{"name":"_token","type":"address","internalType":"address"},{"name":"_params","type":"tuple","internalType":"struct CVStrategyInitializeParamsV0_0","components":[{"name":"cvParams","type":"tuple","internalType":"struct CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"},{"name":"strategy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deactivateMemberInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_amountUnstaked","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"enabledStrategies","inputs":[{"name":"strategy","type":"address","internalType":"address"}],"outputs":[{"name":"isEnabled","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"feeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"gardenToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IERC20"}],"stateMutability":"view"},{"type":"function","name":"getBasisStakedAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMemberPowerInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMemberStakedAmount","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStakeAmountWithFees","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"increasePower","inputs":[{"name":"_amountStaked","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunityInitializeParamsV0_0","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"}]},{"name":"_strategyTemplate","type":"address","internalType":"address"},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"},{"name":"_owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initialOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCouncilMember","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isKickEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isMember","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"_isMember","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"kickMember","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_transferAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"memberActivatedInStrategies","inputs":[{"name":"member","type":"address","internalType":"address"},{"name":"strategy","type":"address","internalType":"address"}],"outputs":[{"name":"isActivated","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"memberPowerInStrategy","inputs":[{"name":"strategy","type":"address","internalType":"address"},{"name":"member","type":"address","internalType":"address"}],"outputs":[{"name":"power","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingCouncilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"profileId","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerStakeAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"registryFactory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"removeStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeStrategyByPoolId","inputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setBasisStakedAmount","inputs":[{"name":"_newAmount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCollateralVaultTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityFee","inputs":[{"name":"_newCommunityFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCouncilSafe","inputs":[{"name":"_safe","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStrategyTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stakeAndRegisterMember","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategiesByMember","inputs":[{"name":"member","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"strategiesAddresses","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"strategyTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterMember","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AlloSet","inputs":[{"name":"_allo","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BasisStakedAmountSet","inputs":[{"name":"_newAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityFeeUpdated","inputs":[{"name":"_newFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CouncilSafeChangeStarted","inputs":[{"name":"_safeOwner","type":"address","indexed":false,"internalType":"address"},{"name":"_newSafeOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CouncilSafeSet","inputs":[{"name":"_safe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"MemberActivatedStrategy","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"},{"name":"_pointsToIncrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberDeactivatedStrategy","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MemberKicked","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_transferAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amountReturned","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberPowerDecreased","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_unstakedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberPowerIncreased","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_stakedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberRegistered","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_amountStaked","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberUnregistered","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_amountReturned","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PoolCreated","inputs":[{"name":"_poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"},{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_token","type":"address","indexed":false,"internalType":"address"},{"name":"_metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RegistryInitialized","inputs":[{"name":"_profileId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"_communityName","type":"string","indexed":false,"internalType":"string"},{"name":"_metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyAdded","inputs":[{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CallerNotOwner","inputs":[{"name":"_caller","type":"address","internalType":"address"},{"name":"_owner","type":"address","internalType":"address"}]},{"type":"error","name":"CantDecreaseMoreThanPower","inputs":[{"name":"_decreaseAmount","type":"uint256","internalType":"uint256"},{"name":"_currentPower","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"DecreaseUnderMinimum","inputs":[]},{"type":"error","name":"KickNotEnabled","inputs":[]},{"type":"error","name":"NewFeeGreaterThanMax","inputs":[]},{"type":"error","name":"PointsDeactivated","inputs":[]},{"type":"error","name":"RegistryCannotBeZero","inputs":[]},{"type":"error","name":"SenderNotNewOwner","inputs":[]},{"type":"error","name":"SenderNotStrategy","inputs":[]},{"type":"error","name":"StrategyDisabled","inputs":[]},{"type":"error","name":"StrategyExists","inputs":[]},{"type":"error","name":"UserAlreadyActivated","inputs":[]},{"type":"error","name":"UserAlreadyDeactivated","inputs":[]},{"type":"error","name":"UserAlreadyRegistered","inputs":[]},{"type":"error","name":"UserNotGardenOwner","inputs":[]},{"type":"error","name":"UserNotInCouncil","inputs":[{"name":"_user","type":"address","internalType":"address"}]},{"type":"error","name":"UserNotInRegistry","inputs":[]},{"type":"error","name":"ValueCannotBeZero","inputs":[]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b5060805161597d6200004d60003960008181611de101528181611e2401528181611f1f01528181611f6201526120c6015261597d6000f3fe6080604052600436106200032c5760003560e01c806301ffc9a714620003315780630331383c146200036b57806308386eba146200038c5780630d12bbdb14620003a45780630d4a8b4914620003cb578063175188e814620003f05780631b71f0e414620004155780631f787d28146200043a578063223e5479146200045557806322bcf999146200047a578063248a9ca3146200049f57806328c309e914620004c45780632b38c69c14620004dc5780632c611c4a14620005105780632f2ff15d146200054e57806331f61bca14620005735780633396045914620005985780633419635514620005b05780633517aa7d14620005d557806336568abe14620005ed5780633659cfe61462000612578063397e254314620006375780633a871fe1146200065c578063477a5cc014620006915780634f1ef28614620006d1578063524e59e814620006e857806352d1902d146200072b578063559de05d14620007435780635c94e4d214620007685780635ecf71c5146200078b57806365e3864c14620007b05780636871eb4d14620007ed57806368decabb14620008125780636c53db9a1462000835578063715018a6146200085857806373265c371462000870578063733a2d1f146200089557806377122d5614620008ba5780637817ee4f14620008dd57806378a0b8a914620009285780637b103999146200094057806382d6a1e7146200096357806388cfe68414620009885780638961be6b14620009fe5780638da5cb5b1462000a1657806391d148541462000a2e578063a0cf0aea1462000a53578063a217fddf1462000a7d578063a230c5241462000a94578063b0d3713a1462000ab9578063b3f006741462000ade578063b5058c501462000b05578063b64e39af1462000b1d578063b99b43701462000b44578063bc063e1a1462000b5c578063c4d66de81462000b74578063c6d572ae1462000b99578063d547741f1462000bb1578063d6d8428d1462000bd6578063d7050f071462000bf9578063db61d65c1462000c11578063e16d0e321462000c34578063ebd7dc521462000c59578063f2fde38b1462000c7e578063f86c5f891462000ca3578063ffa1ad741462000cc6575b600080fd5b3480156200033e57600080fd5b506200035662000350366004620041bf565b62000cf7565b60405190151581526020015b60405180910390f35b3480156200037857600080fd5b5060fb545b60405190815260200162000362565b3480156200039957600080fd5b506200037d60fe5481565b348015620003b157600080fd5b50620003c9620003c3366004620041eb565b62000d2f565b005b348015620003d857600080fd5b50620003c9620003ea3660046200422d565b62000da5565b348015620003fd57600080fd5b50620003c96200040f3660046200426b565b62001128565b3480156200042257600080fd5b50620003c9620004343660046200426b565b62001140565b3480156200044757600080fd5b5060ff805462000356911681565b3480156200046257600080fd5b50620003c9620004743660046200426b565b6200116d565b3480156200048757600080fd5b50620003c9620004993660046200422d565b62001182565b348015620004ac57600080fd5b506200037d620004be366004620041eb565b6200127c565b348015620004d157600080fd5b506200037d62001291565b348015620004e957600080fd5b5062000501620004fb3660046200428b565b62001396565b604051620003629190620042c7565b3480156200051d57600080fd5b506200037d6200052f3660046200426b565b6001600160a01b0316600090815261010c602052604090206001015490565b3480156200055b57600080fd5b50620003c96200056d366004620042db565b620013d0565b3480156200058057600080fd5b50620003c962000592366004620041eb565b620013f7565b348015620005a557600080fd5b506200037d60fd5481565b348015620005bd57600080fd5b50620003c9620005cf3660046200450f565b62001437565b348015620005e257600080fd5b50620003c962001af7565b348015620005fa57600080fd5b50620003c96200060c366004620042db565b62001d59565b3480156200061f57600080fd5b50620003c9620006313660046200426b565b62001dd7565b3480156200064457600080fd5b50620003c9620006563660046200426b565b62001ea8565b3480156200066957600080fd5b50620003566200067b3660046200426b565b61010a6020526000908152604090205460ff1681565b3480156200069e57600080fd5b5062000356620006b03660046200422d565b61010e60209081526000928352604080842090915290825290205460ff1681565b620003c9620006e2366004620046a2565b62001f15565b348015620006f557600080fd5b506200070d62000707366004620048cc565b62001fd6565b604080519283526001600160a01b0390911660208301520162000362565b3480156200073857600080fd5b506200037d620020b9565b3480156200075057600080fd5b50620003c962000762366004620041eb565b6200216a565b3480156200077557600080fd5b506101025462000501906001600160a01b031681565b3480156200079857600080fd5b50620003c9620007aa366004620041eb565b620023b6565b348015620007bd57600080fd5b506200037d620007cf3660046200422d565b61010b60209081526000928352604080842090915290825290205481565b348015620007fa57600080fd5b50620003c96200080c3660046200422d565b62002750565b3480156200081f57600080fd5b506101035462000501906001600160a01b031681565b3480156200084257600080fd5b506101065462000501906001600160a01b031681565b3480156200086557600080fd5b50620003c9620028a3565b3480156200087d57600080fd5b50620003c96200088f366004620041eb565b620028b9565b348015620008a257600080fd5b506200037d600080516020620058c183398151915281565b348015620008c757600080fd5b506101015462000501906001600160a01b031681565b348015620008ea57600080fd5b506200037d620008fc3660046200422d565b6001600160a01b03918216600090815261010b6020908152604080832093909416825291909152205490565b3480156200093557600080fd5b506200037d60fb5481565b3480156200094d57600080fd5b506101045462000501906001600160a01b031681565b3480156200097057600080fd5b50620003c962000982366004620041eb565b62002955565b3480156200099557600080fd5b50620009d6620009a73660046200426b565b61010c602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b039094168452602084019290925215159082015260600162000362565b34801562000a0b57600080fd5b506200037d60fc5481565b34801562000a2357600080fd5b506200050162002a13565b34801562000a3b57600080fd5b506200035662000a4d366004620042db565b62002aae565b34801562000a6057600080fd5b506200050173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801562000a8a57600080fd5b506200037d600081565b34801562000aa157600080fd5b506200035662000ab33660046200426b565b62002ad9565b34801562000ac657600080fd5b50620003c962000ad83660046200426b565b62002b23565b34801562000aeb57600080fd5b5060ff54620005019061010090046001600160a01b031681565b34801562000b1257600080fd5b50620003c962002b50565b34801562000b2a57600080fd5b5062000b3562002b87565b6040516200036291906200498a565b34801562000b5157600080fd5b50620003c962002c1e565b34801562000b6957600080fd5b506200037d62002d28565b34801562000b8157600080fd5b50620003c962000b933660046200426b565b62002d3a565b34801562000ba657600080fd5b5062000b3562002d6f565b34801562000bbe57600080fd5b50620003c962000bd0366004620042db565b62002d7f565b34801562000be357600080fd5b506101075462000501906001600160a01b031681565b34801562000c0657600080fd5b506200037d61271081565b34801562000c1e57600080fd5b506101055462000501906001600160a01b031681565b34801562000c4157600080fd5b506200070d62000c533660046200499f565b62002da1565b34801562000c6657600080fd5b506200035662000c783660046200426b565b62002f2e565b34801562000c8b57600080fd5b50620003c962000c9d3660046200426b565b62002f4b565b34801562000cb057600080fd5b506101005462000501906001600160a01b031681565b34801562000cd357600080fd5b5062000b35604051806040016040528060038152602001620302e360ec1b81525081565b60006001600160e01b03198216637965db0b60e01b148062000d2957506301ffc9a760e01b6001600160e01b03198316145b92915050565b62000d3962002fbc565b62000d48612710600a62004a34565b81111562000d695760405163fe925f7d60e01b815260040160405180910390fd5b60fc8190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b62000daf62002ff9565b62000dba8262003054565b62000dc5816200307d565b62000dd081620030b8565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff161562000e1957604051636adcde4b60e11b815260040160405180910390fd5b6001600160a01b03808316600090815261010c602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff1615159183019190915260fb546003846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000ea7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ecd919062004a64565b600381111562000ee15762000ee162004a4e565b0362000f665760405163782aadff60e01b81526001600160a01b0385169063782aadff9062000f1890889060009060040162004a84565b6020604051808303816000875af115801562000f38573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f5e919062004a9d565b905062001062565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000fa9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fcf919062004a64565b600381111562000fe35762000fe362004a4e565b14620010625760405163782aadff60e01b81526001600160a01b0385169063782aadff9062001019908890869060040162004a84565b6020604051808303816000875af115801562001039573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200105f919062004a9d565b90505b6001600160a01b03808616600081815261010b6020908152604080832094891680845294825280832086905583835261010e82528083208584528252808320805460ff1916600190811790915593835261010d8252808320805494850181558352912090910180546001600160a01b031916909217909155517ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec906200110e9087908790859062004ab7565b60405180910390a1505050620011246001606555565b5050565b6200113262002fbc565b6200113d81620030e7565b50565b6200114a62003145565b61010280546001600160a01b0319166001600160a01b0392909216919091179055565b6200117762002fbc565b6200113d81620031a8565b6200118d8262003054565b6200119881620030b8565b620011a433826200323a565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff16620011ec57604051633048da7760e21b815260040160405180910390fd5b6001600160a01b03808316600081815261010e60209081526040808320948616808452948252808320805460ff1916905592825261010b8152828220938252929092528120556200123e82826200326d565b7ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b82826040516200127092919062004adb565b60405180910390a15050565b600090815260c9602052604090206001015490565b610100546000906001600160a01b031681620012b1612710606462004a34565b60fc5460fb54620012c3919062004a34565b620012cf919062004af5565b90506000620012e2612710606462004a34565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c9062001310903090600401620042c7565b602060405180830381865afa1580156200132e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001354919062004a9d565b60fb5462001363919062004a34565b6200136f919062004af5565b9050808260fb5462001382919062004b18565b6200138e919062004b18565b935050505090565b61010d6020528160005260406000208181548110620013b457600080fd5b6000918252602090912001546001600160a01b03169150829050565b620013db826200127c565b620013e681620033a3565b620013f28383620033af565b505050565b6200140162002fbc565b60fb8190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f9060200162000d9a565b600054610100900460ff1615808015620014585750600054600160ff909116105b806200147d57506200146a3062003439565b1580156200147d575060005460ff166001145b620014e65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156200150a576000805461ff0019166101001790555b620015158262002d3a565b6200151f62003448565b620015296200347c565b62001545600080516020620058c18339815191526000620034a6565b620015548560200151620030b8565b62001564856101000151620030b8565b84516200157190620030b8565b620015808560a00151620030b8565b6060850151156200159a576200159a8560c00151620030b8565b845161010780546001600160a01b039283166001600160a01b031991821617909155602087015161010580549190931691161790556040850151600003620015f5576040516363868c5560e11b815260040160405180910390fd5b604085015160fb55606085015160fc5561014085015160ff805460ff19169115159190911790556101208501516101089062001632908262004bbc565b506101608501516101099062001649908262004bbc565b5060a085015161010080546001600160a01b03199081166001600160a01b0393841617825560c088015160ff8054610100600160a81b0319169185168402919091179055908701516101068054909216928116929092179055620016be90600080516020620058c183398151915290620033af565b61010760009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001713573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001739919062004c88565b61010480546001600160a01b0319166001600160a01b0392831617905561010654606091163b600003620017c55760408051600380825260808201909252906020820160608036833701905050905033816000815181106200179f576200179f62004ca8565b60200260200101906001600160a01b031690816001600160a01b03168152505062001902565b610106546040805163a0e67e2b60e01b815290516000926001600160a01b03169163a0e67e2b91600480830192869291908290030181865afa15801562001810573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200183a919081019062004cbe565b9050805160026200184c919062004b18565b6001600160401b0381111562001866576200186662004303565b60405190808252806020026020018201604052801562001890578160200160208202803683370190505b50915060005b8151811015620018ff57818181518110620018b557620018b562004ca8565b6020026020010151838281518110620018d257620018d262004ca8565b6001600160a01b039092166020928302919091019091015280620018f68162004d7c565b91505062001896565b50505b6101065481516001600160a01b03909116908290620019249060019062004d98565b8151811062001937576200193762004ca8565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835162001969919062004d98565b815181106200197c576200197c62004ca8565b6001600160a01b03928316602091820292909201015261010454608088015160e0890151604051633a92f65f60e01b81529290931692633a92f65f92620019cf9291610108913090889060040162004e9a565b6020604051808303816000875af1158015620019ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001a15919062004a9d565b60fe55805162001a2e9061010f90602084019062004119565b5061010280546001600160a01b038088166001600160a01b03199283161790925561010180549287169290911691909117905560fe5460e08701516040517f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed032059262001aa0929091610108919062004eee565b60405180910390a150801562001af0576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b62001b0162002ff9565b33600081815261010c602052604081206101005490916001600160a01b039091169062001b32612710606462004a34565b60fc5460fb5462001b44919062004a34565b62001b50919062004af5565b9050600062001b63612710606462004a34565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c9062001b91903090600401620042c7565b602060405180830381865afa15801562001baf573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001bd5919062004a9d565b60fb5462001be4919062004a34565b62001bf0919062004af5565b905062001bfd8562002ad9565b62001d475760028401805460ff1916600190811790915560fb5490850181905562001c579086903090849062001c3590879062004b18565b62001c41919062004b18565b610105546001600160a01b0316929190620034fb565b811562001c845760ff546101055462001c84916001600160a01b0391821691610100909104168462003557565b801562001d095762001d09836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001cce573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001cf4919062004c88565b610105546001600160a01b0316908362003557565b7f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f76898560fb5460405162001d3e92919062004a84565b60405180910390a15b505050505062001d576001606555565b565b6001600160a01b038116331462001dcb5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401620014dd565b62001124828262003579565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001e225760405162461bcd60e51b8152600401620014dd9062004f1d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001e56620035e3565b6001600160a01b03161462001e7f5760405162461bcd60e51b8152600401620014dd9062004f58565b62001e8a8162003600565b604080516000808252602082019092526200113d9183919062003642565b62001eb262002fbc565b62001ebd81620030b8565b61010380546001600160a01b0319166001600160a01b03838116918217909255610106546040517f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89362000d9a939216919062004adb565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001f605760405162461bcd60e51b8152600401620014dd9062004f1d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001f94620035e3565b6001600160a01b03161462001fbd5760405162461bcd60e51b8152600401620014dd9062004f58565b62001fc88262003600565b620011248282600162003642565b610102546101075461010154600092839283926001600160a01b039283169263184b955960e01b92811691166200200c62002a13565b6040516001600160a01b0393841660248201529183166044830152909116606482015260840160408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905162002071906200417f565b6200207e92919062004f93565b604051809103906000f0801580156200209b573d6000803e3d6000fd5b509050620020ac8187878762002da1565b9250925050935093915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620021565760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401620014dd565b506000805160206200590183398151915290565b6200217462002ff9565b6200217e620037ba565b33600081815261010d6020908152604080832080548251818502810185019093528083529192909190830182828015620021e257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620021c3575b50505050509050600080600090505b82518110156200231d5782818151811062002210576200221062004ca8565b60200260200101516001600160a01b031663782aadff85876040518363ffffffff1660e01b81526004016200224792919062004a84565b6020604051808303816000875af115801562002267573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200228d919062004a9d565b9150811562002308576001600160a01b038416600090815261010b602052604081208451849290869085908110620022c957620022c962004ca8565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600082825462002302919062004b18565b90915550505b80620023148162004d7c565b915050620021f1565b506101055462002339906001600160a01b0316843087620034fb565b6001600160a01b038316600090815261010c6020526040812060010180548692906200236790849062004b18565b90915550506040517f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f90620023a0908590879062004a84565b60405180910390a15050506200113d6001606555565b620023c062002ff9565b620023ca620037ba565b33600081815261010d6020908152604080832060fb5461010c9093529083206001015490929190620023fe90869062004d98565b10156200241e57604051634e23e81760e11b815260040160405180910390fd5b6101055462002438906001600160a01b0316848662003557565b60005b8254811015620026e85760008382815481106200245c576200245c62004ca8565b6000918252602090912001546001600160a01b03169050620024868163f1801e6160e01b620037e3565b156200260c57604051632ed04b2b60e01b81526001600160a01b03821690632ed04b2b90620024bc9088908a9060040162004a84565b6020604051808303816000875af1158015620024dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002502919062004a9d565b9250600061010b6000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858154811062002543576200254362004ca8565b60009182526020808320909101546001600160a01b0316835282019290925260400190205490508084111562002597576040516311423e6360e31b81526004810185905260248101829052604401620014dd565b6001600160a01b038616600090815261010b602052604081208654869290889087908110620025ca57620025ca62004ca8565b60009182526020808320909101546001600160a01b03168352820192909252604001812080549091906200260090849062004d98565b909155505050620026d2565b835484906200261e9060019062004d98565b8154811062002631576200263162004ca8565b9060005260206000200160009054906101000a90046001600160a01b031684838154811062002664576200266462004ca8565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480620026a557620026a562004fb9565b600082815260209020810160001990810180546001600160a01b0319169055019055620026d281620030e7565b5080620026df8162004d7c565b9150506200243b565b506001600160a01b038316600090815261010c6020526040812060010180548692906200271790849062004d98565b90915550506040517f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff890620023a0908590879062004a84565b6200275a62002ff9565b6200276462002fbc565b60ff80541662002787576040516365b1ee3960e11b815260040160405180910390fd5b620027928262002ad9565b620027b057604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159082015262002801836200380b565b6001600160a01b03808416600090815261010c60209081526040822080546001600160a01b031916815560018101929092556002909101805460ff191690558201516101055462002856921690849062003557565b7fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a3838383602001516040516200288f9392919062004ab7565b60405180910390a150620011246001606555565b620028ad62003145565b62001d57600062003920565b620028c362002fbc565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa1580156200290f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002939919081019062004fcf565b6020015190506200294a81620030b8565b6200112481620030e7565b6200295f62002fbc565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015620029ab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620029d5919081019062004fcf565b602001519050620029e681620030b8565b62002a026001600160a01b03821663f1801e6160e01b620037e3565b1562001124576200112481620031a8565b60008062002a296033546001600160a01b031690565b9050806001600160a01b03163b60000362002a4357919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562002aa0575060408051601f3d908101601f1916820190925262002a9d9181019062004c88565b60015b62000d2957919050565b5090565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6001600160a01b03908116600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b62002b2d62003145565b61010180546001600160a01b0319166001600160a01b0392909216919091179055565b610103546001600160a01b0316331462002b7d576040516375e686b760e11b815260040160405180910390fd5b62001d5762003972565b610109805462002b979062004b2e565b80601f016020809104026020016040519081016040528092919081815260200182805462002bc59062004b2e565b801562002c165780601f1062002bea5761010080835404028352916020019162002c16565b820191906000526020600020905b81548152906001019060200180831162002bf857829003601f168201915b505050505081565b62002c2862002ff9565b3362002c348162003054565b62002c3f816200380b565b6001600160a01b03808216600081815261010c602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945561010d9052918220909162002cba91906200418d565b60208101516101055462002cdc916001600160a01b0390911690849062003557565b7fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f482826020015160405162002d1392919062004a84565b60405180910390a1505062001d576001606555565b62002d37612710600a62004a34565b81565b600054610100900460ff1662002d645760405162461bcd60e51b8152600401620014dd9062005105565b6200113d8162003920565b610108805462002b979062004b2e565b62002d8a826200127c565b62002d9581620033a3565b620013f2838362003579565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0386161562002dcc5750845b869150600061010f80548060200260200160405190810160405280929190818152602001828054801562002e2a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162002e0b575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062002e62908b906020016200517a565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b815260040162002e9a97969594939291906200525c565b6020604051808303816000875af115801562002eba573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002ee0919062004a9d565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a8960405162002f1b959493929190620052cd565b60405180910390a1505094509492505050565b600062000d29600080516020620058c18339815191528362002aae565b62002f5562003145565b6001600160a01b03811662002d645760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620014dd565b62002fd7600080516020620058c18339815191523362002aae565b62001d57573360405163fc4be72f60e01b8152600401620014dd9190620042c7565b6002606554036200304d5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401620014dd565b6002606555565b6200305f8162002ad9565b6200113d57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090205460ff166200113d576040516346c26e4b60e01b815260040160405180910390fd5b6001600160a01b0381166200113d576040516303988b8160e61b815260040160405180910390fd5b6001606555565b620030f281620030b8565b6001600160a01b038116600090815261010a602052604090819020805460ff19169055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49062000d9a908390620042c7565b336200315062002a13565b6001600160a01b03161462001d575760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620014dd565b6001600160a01b038116600090815261010a602052604090205460ff1615620031e4576040516325a2934b60e21b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090819020805460ff19166001179055517f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19062000d9a908390620042c7565b806001600160a01b0316826001600160a01b031614620011245760405163bbe7961160e01b815260040160405180910390fd5b6001600160a01b038216600090815261010d60205260408120905b81548110156200339d57826001600160a01b0316828281548110620032b157620032b162004ca8565b6000918252602090912001546001600160a01b031603620033885781548290620032de9060019062004d98565b81548110620032f157620032f162004ca8565b9060005260206000200160009054906101000a90046001600160a01b031682828154811062003324576200332462004ca8565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508180548062003365576200336562004fb9565b600082815260209020810160001990810180546001600160a01b03191690550190555b80620033948162004d7c565b91505062003288565b50505050565b6200113d8133620039d6565b620033bb828262002aae565b6200112457600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620033f53390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6001600160a01b03163b151590565b600054610100900460ff16620034725760405162461bcd60e51b8152600401620014dd9062005105565b62001d5762003a3a565b600054610100900460ff1662001d575760405162461bcd60e51b8152600401620014dd9062005105565b6000620034b3836200127c565b600084815260c96020526040808220600101859055519192508391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6200339d846323b872dd60e01b8585856040516024016200351f9392919062004ab7565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003a64565b620013f28363a9059cbb60e01b84846040516024016200351f92919062004a84565b62003585828262002aae565b156200112457600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008051602062005901833981519152546001600160a01b031690565b336200360b62002a13565b6001600160a01b0316146200113d57336200362562002a13565b60405163163678e960e01b8152600401620014dd92919062004adb565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156200367857620013f28362003b40565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015620036d5575060408051601f3d908101601f19168201909252620036d29181019062004a9d565b60015b6200373a5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401620014dd565b600080516020620059018339815191528114620037ac5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401620014dd565b50620013f283838362003bdf565b620037c53362002ad9565b62001d5757604051636a5cfb6d60e01b815260040160405180910390fd5b6000620037f08362003c0a565b801562003804575062003804838362003c42565b9392505050565b6001600160a01b038116600090815261010d60209081526040808320805482518185028101850190935280835291929091908301828280156200387857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003859575b5050505050905060005b8151811015620013f257818181518110620038a157620038a162004ca8565b60200260200101516001600160a01b0316636453d9c4846040518263ffffffff1660e01b8152600401620038d69190620042c7565b600060405180830381600087803b158015620038f157600080fd5b505af115801562003906573d6000803e3d6000fd5b505050508080620039179062004d7c565b91505062003882565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610103805461010680546001600160a01b03199081166001600160a01b038416179091551690556040517fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb6887290620039cc90600090620042c7565b60405180910390a1565b620039e2828262002aae565b6200112457620039f28162003ccd565b620039ff83602062003ce0565b60405160200162003a1292919062005309565b60408051601f198184030181529082905262461bcd60e51b8252620014dd916004016200498a565b600054610100900460ff16620030e05760405162461bcd60e51b8152600401620014dd9062005105565b600062003abb826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031662003e999092919063ffffffff16565b905080516000148062003adf57508080602001905181019062003adf91906200537c565b620013f25760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401620014dd565b62003b4b8162003439565b62003baf5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401620014dd565b6000805160206200590183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b62003bea8362003eb2565b60008251118062003bf85750805b15620013f2576200339d838362003ef4565b600062003c1f826301ffc9a760e01b62003c42565b801562000d29575062003c3b826001600160e01b031962003c42565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562003cb5575060208210155b801562003cc25750600081115b979650505050505050565b606062000d296001600160a01b03831660145b6060600062003cf183600262004a34565b62003cfe90600262004b18565b6001600160401b0381111562003d185762003d1862004303565b6040519080825280601f01601f19166020018201604052801562003d43576020820181803683370190505b509050600360fc1b8160008151811062003d615762003d6162004ca8565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811062003d935762003d9362004ca8565b60200101906001600160f81b031916908160001a905350600062003db984600262004a34565b62003dc690600162004b18565b90505b600181111562003e48576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811062003dfe5762003dfe62004ca8565b1a60f81b82828151811062003e175762003e1762004ca8565b60200101906001600160f81b031916908160001a90535060049490941c9362003e40816200539c565b905062003dc9565b508315620038045760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620014dd565b606062003eaa848460008562003f1c565b949350505050565b62003ebd8162003b40565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620038048383604051806060016040528060278152602001620059216027913962003ff4565b60608247101562003f7f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401620014dd565b600080866001600160a01b0316858760405162003f9d9190620053b6565b60006040518083038185875af1925050503d806000811462003fdc576040519150601f19603f3d011682016040523d82523d6000602084013e62003fe1565b606091505b509150915062003cc28783838762004072565b6060600080856001600160a01b031685604051620040139190620053b6565b600060405180830381855af49150503d806000811462004050576040519150601f19603f3d011682016040523d82523d6000602084013e62004055565b606091505b5091509150620040688683838762004072565b9695505050505050565b60608315620040e6578251600003620040de57620040908562003439565b620040de5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620014dd565b508162003eaa565b62003eaa8383815115620040fd5781518083602001fd5b8060405162461bcd60e51b8152600401620014dd91906200498a565b82805482825590600052602060002090810192821562004171579160200282015b828111156200417157825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906200413a565b5062002aaa929150620041a8565b6104ec80620053d583390190565b50805460008255906000526020600020908101906200113d91905b5b8082111562002aaa5760008155600101620041a9565b600060208284031215620041d257600080fd5b81356001600160e01b0319811681146200380457600080fd5b600060208284031215620041fe57600080fd5b5035919050565b6001600160a01b03811681146200113d57600080fd5b8035620042288162004205565b919050565b600080604083850312156200424157600080fd5b82356200424e8162004205565b91506020830135620042608162004205565b809150509250929050565b6000602082840312156200427e57600080fd5b8135620038048162004205565b600080604083850312156200429f57600080fd5b8235620042ac8162004205565b946020939093013593505050565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b60008060408385031215620042ef57600080fd5b823591506020830135620042608162004205565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156200433e576200433e62004303565b60405290565b60405161018081016001600160401b03811182821017156200433e576200433e62004303565b60405160c081016001600160401b03811182821017156200433e576200433e62004303565b60405160e081016001600160401b03811182821017156200433e576200433e62004303565b604051608081016001600160401b03811182821017156200433e576200433e62004303565b604051601f8201601f191681016001600160401b038111828210171562004404576200440462004303565b604052919050565b60006001600160401b0382111562004428576200442862004303565b50601f01601f191660200190565b60006200444d62004447846200440c565b620043d9565b90508281528383830111156200446257600080fd5b828260208301376000602084830101529392505050565b600082601f8301126200448b57600080fd5b620038048383356020850162004436565b600060408284031215620044af57600080fd5b620044b962004319565b82358152905060208201356001600160401b03811115620044d957600080fd5b620044e78482850162004479565b60208301525092915050565b80151581146200113d57600080fd5b80356200422881620044f3565b600080600080608085870312156200452657600080fd5b84356001600160401b03808211156200453e57600080fd5b9086019061018082890312156200455457600080fd5b6200455e62004344565b62004569836200421b565b815262004579602084016200421b565b6020820152604083013560408201526060830135606082015260808301356080820152620045aa60a084016200421b565b60a0820152620045bd60c084016200421b565b60c082015260e083013582811115620045d557600080fd5b620045e38a8286016200449c565b60e083015250610100620045f98185016200421b565b9082015261012083810135838111156200461257600080fd5b620046208b82870162004479565b8284015250506101406200463681850162004502565b9082015261016083810135838111156200464f57600080fd5b6200465d8b82870162004479565b82840152505080965050505062004677602086016200421b565b925062004687604086016200421b565b915062004697606086016200421b565b905092959194509250565b60008060408385031215620046b657600080fd5b8235620046c38162004205565b915060208301356001600160401b03811115620046df57600080fd5b8301601f81018513620046f157600080fd5b620047028582356020840162004436565b9150509250929050565b8035600381106200422857600080fd5b600481106200113d57600080fd5b803562004228816200471c565b6000602082840312156200474a57600080fd5b604051602081016001600160401b03811182821017156200476f576200476f62004303565b6040529135825250919050565b600060c082840312156200478f57600080fd5b620047996200436a565b90508135620047a88162004205565b81526020820135620047ba8162004205565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b60008183036101e08112156200480457600080fd5b6200480e6200438f565b915060808112156200481f57600080fd5b506200482a620043b4565b82358152602083013560208201526040830135604082015260608301356060820152808252506200485e608083016200470c565b60208201526200487160a083016200472a565b6040820152620048858360c0840162004737565b6060820152620048998360e084016200477c565b6080820152620048ad6101a083016200421b565b60a0820152620048c16101c083016200421b565b60c082015292915050565b60008060006102208486031215620048e357600080fd5b8335620048f08162004205565b9250620049018560208601620047ef565b91506102008401356001600160401b038111156200491e57600080fd5b6200492c868287016200449c565b9150509250925092565b60005b838110156200495357818101518382015260200162004939565b50506000910152565b600081518084526200497681602086016020860162004936565b601f01601f19169290920160200192915050565b6020815260006200380460208301846200495c565b6000806000806102408587031215620049b757600080fd5b8435620049c48162004205565b93506020850135620049d68162004205565b9250620049e78660408701620047ef565b91506102208501356001600160401b0381111562004a0457600080fd5b62004a12878288016200449c565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000d295762000d2962004a1e565b634e487b7160e01b600052602160045260246000fd5b60006020828403121562004a7757600080fd5b815162003804816200471c565b6001600160a01b03929092168252602082015260400190565b60006020828403121562004ab057600080fd5b5051919050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0392831681529116602082015260400190565b60008262004b1357634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000d295762000d2962004a1e565b600181811c9082168062004b4357607f821691505b60208210810362004b6457634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620013f257600081815260208120601f850160051c8101602086101562004b935750805b601f850160051c820191505b8181101562004bb45782815560010162004b9f565b505050505050565b81516001600160401b0381111562004bd85762004bd862004303565b62004bf08162004be9845462004b2e565b8462004b6a565b602080601f83116001811462004c28576000841562004c0f5750858301515b600019600386901b1c1916600185901b17855562004bb4565b600085815260208120601f198616915b8281101562004c595788860151825594840194600190910190840162004c38565b508582101562004c785787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121562004c9b57600080fd5b8151620038048162004205565b634e487b7160e01b600052603260045260246000fd5b6000602080838503121562004cd257600080fd5b82516001600160401b038082111562004cea57600080fd5b818501915085601f83011262004cff57600080fd5b81518181111562004d145762004d1462004303565b8060051b915062004d27848301620043d9565b818152918301840191848101908884111562004d4257600080fd5b938501935b8385101562004d70578451925062004d5f8362004205565b828252938501939085019062004d47565b98975050505050505050565b60006001820162004d915762004d9162004a1e565b5060010190565b8181038181111562000d295762000d2962004a1e565b6000815462004dbd8162004b2e565b80855260206001838116801562004ddd576001811462004df85762004e28565b60ff1985168884015283151560051b88018301955062004e28565b866000528260002060005b8581101562004e205781548a820186015290830190840162004e03565b890184019650505b505050505092915050565b80518252600060208201516040602085015262003eaa60408501826200495c565b600081518084526020808501945080840160005b8381101562004e8f5781516001600160a01b03168752958201959082019060010162004e68565b509495945050505050565b85815260a06020820152600062004eb560a083018762004dae565b828103604084015262004ec9818762004e33565b6001600160a01b03861660608501528381036080850152905062004d70818562004e54565b83815260606020820152600062004f09606083018562004dae565b828103604084015262004068818562004e33565b6020808252602c90820152600080516020620058e183398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020620058e183398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6001600160a01b038316815260406020820181905260009062003eaa908301846200495c565b634e487b7160e01b600052603160045260246000fd5b6000602080838503121562004fe357600080fd5b82516001600160401b038082111562004ffb57600080fd5b9084019060c082870312156200501057600080fd5b6200501a6200436a565b82518152838301516200502d8162004205565b818501526040830151620050418162004205565b60408201526060830151828111156200505957600080fd5b8301604081890312156200506c57600080fd5b6200507662004319565b8151815285820151848111156200508c57600080fd5b82019350601f84018913620050a057600080fd5b83519150620050b362004447836200440c565b8281528987848701011115620050c857600080fd5b620050d98388830189880162004936565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6003811062005163576200516362004a4e565b9052565b6004811062005163576200516362004a4e565b60006101e082019050825180518352602081015160208401526040810151604084015260608101516060840152506020830151620051bc608084018262005150565b506040830151620051d160a084018262005167565b506060838101515160c084015260808085015180516001600160a01b0390811660e087015260208201511661010086015260408101516101208601529182015161014085015281015161016084015260a0908101516101808401528301516200523f6101a0840182620042ba565b5060c0830151620052556101c0840182620042ba565b5092915050565b878152600060018060a01b03808916602084015260e060408401526200528660e08401896200495c565b818816606085015286608085015283810360a0850152620052a8818762004e33565b91505082810360c0840152620052bf818562004e54565b9a9950505050505050505050565b8581526001600160a01b03858116602083015284811660408301528316606082015260a06080820181905260009062003cc29083018462004e33565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516200533d81601785016020880162004936565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516200537081602884016020880162004936565b01602801949350505050565b6000602082840312156200538f57600080fd5b81516200380481620044f3565b600081620053ae57620053ae62004a1e565b506000190190565b60008251620053ca81846020870162004936565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212204fe6c3c3dccfaea0fd10fdd343631403db3c1555c6576ad816deaaa45c9f926764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656403be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220034884d1bfa2a70a12f4920b27af543b9251f0f29311755279fbfe124bd748dc64736f6c63430008130033","sourceMap":"2850:23176:107:-:0;;;1088:4:64;1045:48;;2850:23176:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106200032c5760003560e01c806301ffc9a714620003315780630331383c146200036b57806308386eba146200038c5780630d12bbdb14620003a45780630d4a8b4914620003cb578063175188e814620003f05780631b71f0e414620004155780631f787d28146200043a578063223e5479146200045557806322bcf999146200047a578063248a9ca3146200049f57806328c309e914620004c45780632b38c69c14620004dc5780632c611c4a14620005105780632f2ff15d146200054e57806331f61bca14620005735780633396045914620005985780633419635514620005b05780633517aa7d14620005d557806336568abe14620005ed5780633659cfe61462000612578063397e254314620006375780633a871fe1146200065c578063477a5cc014620006915780634f1ef28614620006d1578063524e59e814620006e857806352d1902d146200072b578063559de05d14620007435780635c94e4d214620007685780635ecf71c5146200078b57806365e3864c14620007b05780636871eb4d14620007ed57806368decabb14620008125780636c53db9a1462000835578063715018a6146200085857806373265c371462000870578063733a2d1f146200089557806377122d5614620008ba5780637817ee4f14620008dd57806378a0b8a914620009285780637b103999146200094057806382d6a1e7146200096357806388cfe68414620009885780638961be6b14620009fe5780638da5cb5b1462000a1657806391d148541462000a2e578063a0cf0aea1462000a53578063a217fddf1462000a7d578063a230c5241462000a94578063b0d3713a1462000ab9578063b3f006741462000ade578063b5058c501462000b05578063b64e39af1462000b1d578063b99b43701462000b44578063bc063e1a1462000b5c578063c4d66de81462000b74578063c6d572ae1462000b99578063d547741f1462000bb1578063d6d8428d1462000bd6578063d7050f071462000bf9578063db61d65c1462000c11578063e16d0e321462000c34578063ebd7dc521462000c59578063f2fde38b1462000c7e578063f86c5f891462000ca3578063ffa1ad741462000cc6575b600080fd5b3480156200033e57600080fd5b506200035662000350366004620041bf565b62000cf7565b60405190151581526020015b60405180910390f35b3480156200037857600080fd5b5060fb545b60405190815260200162000362565b3480156200039957600080fd5b506200037d60fe5481565b348015620003b157600080fd5b50620003c9620003c3366004620041eb565b62000d2f565b005b348015620003d857600080fd5b50620003c9620003ea3660046200422d565b62000da5565b348015620003fd57600080fd5b50620003c96200040f3660046200426b565b62001128565b3480156200042257600080fd5b50620003c9620004343660046200426b565b62001140565b3480156200044757600080fd5b5060ff805462000356911681565b3480156200046257600080fd5b50620003c9620004743660046200426b565b6200116d565b3480156200048757600080fd5b50620003c9620004993660046200422d565b62001182565b348015620004ac57600080fd5b506200037d620004be366004620041eb565b6200127c565b348015620004d157600080fd5b506200037d62001291565b348015620004e957600080fd5b5062000501620004fb3660046200428b565b62001396565b604051620003629190620042c7565b3480156200051d57600080fd5b506200037d6200052f3660046200426b565b6001600160a01b0316600090815261010c602052604090206001015490565b3480156200055b57600080fd5b50620003c96200056d366004620042db565b620013d0565b3480156200058057600080fd5b50620003c962000592366004620041eb565b620013f7565b348015620005a557600080fd5b506200037d60fd5481565b348015620005bd57600080fd5b50620003c9620005cf3660046200450f565b62001437565b348015620005e257600080fd5b50620003c962001af7565b348015620005fa57600080fd5b50620003c96200060c366004620042db565b62001d59565b3480156200061f57600080fd5b50620003c9620006313660046200426b565b62001dd7565b3480156200064457600080fd5b50620003c9620006563660046200426b565b62001ea8565b3480156200066957600080fd5b50620003566200067b3660046200426b565b61010a6020526000908152604090205460ff1681565b3480156200069e57600080fd5b5062000356620006b03660046200422d565b61010e60209081526000928352604080842090915290825290205460ff1681565b620003c9620006e2366004620046a2565b62001f15565b348015620006f557600080fd5b506200070d62000707366004620048cc565b62001fd6565b604080519283526001600160a01b0390911660208301520162000362565b3480156200073857600080fd5b506200037d620020b9565b3480156200075057600080fd5b50620003c962000762366004620041eb565b6200216a565b3480156200077557600080fd5b506101025462000501906001600160a01b031681565b3480156200079857600080fd5b50620003c9620007aa366004620041eb565b620023b6565b348015620007bd57600080fd5b506200037d620007cf3660046200422d565b61010b60209081526000928352604080842090915290825290205481565b348015620007fa57600080fd5b50620003c96200080c3660046200422d565b62002750565b3480156200081f57600080fd5b506101035462000501906001600160a01b031681565b3480156200084257600080fd5b506101065462000501906001600160a01b031681565b3480156200086557600080fd5b50620003c9620028a3565b3480156200087d57600080fd5b50620003c96200088f366004620041eb565b620028b9565b348015620008a257600080fd5b506200037d600080516020620058c183398151915281565b348015620008c757600080fd5b506101015462000501906001600160a01b031681565b348015620008ea57600080fd5b506200037d620008fc3660046200422d565b6001600160a01b03918216600090815261010b6020908152604080832093909416825291909152205490565b3480156200093557600080fd5b506200037d60fb5481565b3480156200094d57600080fd5b506101045462000501906001600160a01b031681565b3480156200097057600080fd5b50620003c962000982366004620041eb565b62002955565b3480156200099557600080fd5b50620009d6620009a73660046200426b565b61010c602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b039094168452602084019290925215159082015260600162000362565b34801562000a0b57600080fd5b506200037d60fc5481565b34801562000a2357600080fd5b506200050162002a13565b34801562000a3b57600080fd5b506200035662000a4d366004620042db565b62002aae565b34801562000a6057600080fd5b506200050173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801562000a8a57600080fd5b506200037d600081565b34801562000aa157600080fd5b506200035662000ab33660046200426b565b62002ad9565b34801562000ac657600080fd5b50620003c962000ad83660046200426b565b62002b23565b34801562000aeb57600080fd5b5060ff54620005019061010090046001600160a01b031681565b34801562000b1257600080fd5b50620003c962002b50565b34801562000b2a57600080fd5b5062000b3562002b87565b6040516200036291906200498a565b34801562000b5157600080fd5b50620003c962002c1e565b34801562000b6957600080fd5b506200037d62002d28565b34801562000b8157600080fd5b50620003c962000b933660046200426b565b62002d3a565b34801562000ba657600080fd5b5062000b3562002d6f565b34801562000bbe57600080fd5b50620003c962000bd0366004620042db565b62002d7f565b34801562000be357600080fd5b506101075462000501906001600160a01b031681565b34801562000c0657600080fd5b506200037d61271081565b34801562000c1e57600080fd5b506101055462000501906001600160a01b031681565b34801562000c4157600080fd5b506200070d62000c533660046200499f565b62002da1565b34801562000c6657600080fd5b506200035662000c783660046200426b565b62002f2e565b34801562000c8b57600080fd5b50620003c962000c9d3660046200426b565b62002f4b565b34801562000cb057600080fd5b506101005462000501906001600160a01b031681565b34801562000cd357600080fd5b5062000b35604051806040016040528060038152602001620302e360ec1b81525081565b60006001600160e01b03198216637965db0b60e01b148062000d2957506301ffc9a760e01b6001600160e01b03198316145b92915050565b62000d3962002fbc565b62000d48612710600a62004a34565b81111562000d695760405163fe925f7d60e01b815260040160405180910390fd5b60fc8190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b62000daf62002ff9565b62000dba8262003054565b62000dc5816200307d565b62000dd081620030b8565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff161562000e1957604051636adcde4b60e11b815260040160405180910390fd5b6001600160a01b03808316600090815261010c602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff1615159183019190915260fb546003846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000ea7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ecd919062004a64565b600381111562000ee15762000ee162004a4e565b0362000f665760405163782aadff60e01b81526001600160a01b0385169063782aadff9062000f1890889060009060040162004a84565b6020604051808303816000875af115801562000f38573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f5e919062004a9d565b905062001062565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000fa9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fcf919062004a64565b600381111562000fe35762000fe362004a4e565b14620010625760405163782aadff60e01b81526001600160a01b0385169063782aadff9062001019908890869060040162004a84565b6020604051808303816000875af115801562001039573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200105f919062004a9d565b90505b6001600160a01b03808616600081815261010b6020908152604080832094891680845294825280832086905583835261010e82528083208584528252808320805460ff1916600190811790915593835261010d8252808320805494850181558352912090910180546001600160a01b031916909217909155517ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec906200110e9087908790859062004ab7565b60405180910390a1505050620011246001606555565b5050565b6200113262002fbc565b6200113d81620030e7565b50565b6200114a62003145565b61010280546001600160a01b0319166001600160a01b0392909216919091179055565b6200117762002fbc565b6200113d81620031a8565b6200118d8262003054565b6200119881620030b8565b620011a433826200323a565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff16620011ec57604051633048da7760e21b815260040160405180910390fd5b6001600160a01b03808316600081815261010e60209081526040808320948616808452948252808320805460ff1916905592825261010b8152828220938252929092528120556200123e82826200326d565b7ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b82826040516200127092919062004adb565b60405180910390a15050565b600090815260c9602052604090206001015490565b610100546000906001600160a01b031681620012b1612710606462004a34565b60fc5460fb54620012c3919062004a34565b620012cf919062004af5565b90506000620012e2612710606462004a34565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c9062001310903090600401620042c7565b602060405180830381865afa1580156200132e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001354919062004a9d565b60fb5462001363919062004a34565b6200136f919062004af5565b9050808260fb5462001382919062004b18565b6200138e919062004b18565b935050505090565b61010d6020528160005260406000208181548110620013b457600080fd5b6000918252602090912001546001600160a01b03169150829050565b620013db826200127c565b620013e681620033a3565b620013f28383620033af565b505050565b6200140162002fbc565b60fb8190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f9060200162000d9a565b600054610100900460ff1615808015620014585750600054600160ff909116105b806200147d57506200146a3062003439565b1580156200147d575060005460ff166001145b620014e65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156200150a576000805461ff0019166101001790555b620015158262002d3a565b6200151f62003448565b620015296200347c565b62001545600080516020620058c18339815191526000620034a6565b620015548560200151620030b8565b62001564856101000151620030b8565b84516200157190620030b8565b620015808560a00151620030b8565b6060850151156200159a576200159a8560c00151620030b8565b845161010780546001600160a01b039283166001600160a01b031991821617909155602087015161010580549190931691161790556040850151600003620015f5576040516363868c5560e11b815260040160405180910390fd5b604085015160fb55606085015160fc5561014085015160ff805460ff19169115159190911790556101208501516101089062001632908262004bbc565b506101608501516101099062001649908262004bbc565b5060a085015161010080546001600160a01b03199081166001600160a01b0393841617825560c088015160ff8054610100600160a81b0319169185168402919091179055908701516101068054909216928116929092179055620016be90600080516020620058c183398151915290620033af565b61010760009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001713573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001739919062004c88565b61010480546001600160a01b0319166001600160a01b0392831617905561010654606091163b600003620017c55760408051600380825260808201909252906020820160608036833701905050905033816000815181106200179f576200179f62004ca8565b60200260200101906001600160a01b031690816001600160a01b03168152505062001902565b610106546040805163a0e67e2b60e01b815290516000926001600160a01b03169163a0e67e2b91600480830192869291908290030181865afa15801562001810573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200183a919081019062004cbe565b9050805160026200184c919062004b18565b6001600160401b0381111562001866576200186662004303565b60405190808252806020026020018201604052801562001890578160200160208202803683370190505b50915060005b8151811015620018ff57818181518110620018b557620018b562004ca8565b6020026020010151838281518110620018d257620018d262004ca8565b6001600160a01b039092166020928302919091019091015280620018f68162004d7c565b91505062001896565b50505b6101065481516001600160a01b03909116908290620019249060019062004d98565b8151811062001937576200193762004ca8565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835162001969919062004d98565b815181106200197c576200197c62004ca8565b6001600160a01b03928316602091820292909201015261010454608088015160e0890151604051633a92f65f60e01b81529290931692633a92f65f92620019cf9291610108913090889060040162004e9a565b6020604051808303816000875af1158015620019ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001a15919062004a9d565b60fe55805162001a2e9061010f90602084019062004119565b5061010280546001600160a01b038088166001600160a01b03199283161790925561010180549287169290911691909117905560fe5460e08701516040517f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed032059262001aa0929091610108919062004eee565b60405180910390a150801562001af0576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b62001b0162002ff9565b33600081815261010c602052604081206101005490916001600160a01b039091169062001b32612710606462004a34565b60fc5460fb5462001b44919062004a34565b62001b50919062004af5565b9050600062001b63612710606462004a34565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c9062001b91903090600401620042c7565b602060405180830381865afa15801562001baf573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001bd5919062004a9d565b60fb5462001be4919062004a34565b62001bf0919062004af5565b905062001bfd8562002ad9565b62001d475760028401805460ff1916600190811790915560fb5490850181905562001c579086903090849062001c3590879062004b18565b62001c41919062004b18565b610105546001600160a01b0316929190620034fb565b811562001c845760ff546101055462001c84916001600160a01b0391821691610100909104168462003557565b801562001d095762001d09836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001cce573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001cf4919062004c88565b610105546001600160a01b0316908362003557565b7f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f76898560fb5460405162001d3e92919062004a84565b60405180910390a15b505050505062001d576001606555565b565b6001600160a01b038116331462001dcb5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401620014dd565b62001124828262003579565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001e225760405162461bcd60e51b8152600401620014dd9062004f1d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001e56620035e3565b6001600160a01b03161462001e7f5760405162461bcd60e51b8152600401620014dd9062004f58565b62001e8a8162003600565b604080516000808252602082019092526200113d9183919062003642565b62001eb262002fbc565b62001ebd81620030b8565b61010380546001600160a01b0319166001600160a01b03838116918217909255610106546040517f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89362000d9a939216919062004adb565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001f605760405162461bcd60e51b8152600401620014dd9062004f1d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001f94620035e3565b6001600160a01b03161462001fbd5760405162461bcd60e51b8152600401620014dd9062004f58565b62001fc88262003600565b620011248282600162003642565b610102546101075461010154600092839283926001600160a01b039283169263184b955960e01b92811691166200200c62002a13565b6040516001600160a01b0393841660248201529183166044830152909116606482015260840160408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905162002071906200417f565b6200207e92919062004f93565b604051809103906000f0801580156200209b573d6000803e3d6000fd5b509050620020ac8187878762002da1565b9250925050935093915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620021565760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401620014dd565b506000805160206200590183398151915290565b6200217462002ff9565b6200217e620037ba565b33600081815261010d6020908152604080832080548251818502810185019093528083529192909190830182828015620021e257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620021c3575b50505050509050600080600090505b82518110156200231d5782818151811062002210576200221062004ca8565b60200260200101516001600160a01b031663782aadff85876040518363ffffffff1660e01b81526004016200224792919062004a84565b6020604051808303816000875af115801562002267573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200228d919062004a9d565b9150811562002308576001600160a01b038416600090815261010b602052604081208451849290869085908110620022c957620022c962004ca8565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600082825462002302919062004b18565b90915550505b80620023148162004d7c565b915050620021f1565b506101055462002339906001600160a01b0316843087620034fb565b6001600160a01b038316600090815261010c6020526040812060010180548692906200236790849062004b18565b90915550506040517f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f90620023a0908590879062004a84565b60405180910390a15050506200113d6001606555565b620023c062002ff9565b620023ca620037ba565b33600081815261010d6020908152604080832060fb5461010c9093529083206001015490929190620023fe90869062004d98565b10156200241e57604051634e23e81760e11b815260040160405180910390fd5b6101055462002438906001600160a01b0316848662003557565b60005b8254811015620026e85760008382815481106200245c576200245c62004ca8565b6000918252602090912001546001600160a01b03169050620024868163f1801e6160e01b620037e3565b156200260c57604051632ed04b2b60e01b81526001600160a01b03821690632ed04b2b90620024bc9088908a9060040162004a84565b6020604051808303816000875af1158015620024dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002502919062004a9d565b9250600061010b6000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858154811062002543576200254362004ca8565b60009182526020808320909101546001600160a01b0316835282019290925260400190205490508084111562002597576040516311423e6360e31b81526004810185905260248101829052604401620014dd565b6001600160a01b038616600090815261010b602052604081208654869290889087908110620025ca57620025ca62004ca8565b60009182526020808320909101546001600160a01b03168352820192909252604001812080549091906200260090849062004d98565b909155505050620026d2565b835484906200261e9060019062004d98565b8154811062002631576200263162004ca8565b9060005260206000200160009054906101000a90046001600160a01b031684838154811062002664576200266462004ca8565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480620026a557620026a562004fb9565b600082815260209020810160001990810180546001600160a01b0319169055019055620026d281620030e7565b5080620026df8162004d7c565b9150506200243b565b506001600160a01b038316600090815261010c6020526040812060010180548692906200271790849062004d98565b90915550506040517f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff890620023a0908590879062004a84565b6200275a62002ff9565b6200276462002fbc565b60ff80541662002787576040516365b1ee3960e11b815260040160405180910390fd5b620027928262002ad9565b620027b057604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159082015262002801836200380b565b6001600160a01b03808416600090815261010c60209081526040822080546001600160a01b031916815560018101929092556002909101805460ff191690558201516101055462002856921690849062003557565b7fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a3838383602001516040516200288f9392919062004ab7565b60405180910390a150620011246001606555565b620028ad62003145565b62001d57600062003920565b620028c362002fbc565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa1580156200290f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002939919081019062004fcf565b6020015190506200294a81620030b8565b6200112481620030e7565b6200295f62002fbc565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015620029ab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620029d5919081019062004fcf565b602001519050620029e681620030b8565b62002a026001600160a01b03821663f1801e6160e01b620037e3565b1562001124576200112481620031a8565b60008062002a296033546001600160a01b031690565b9050806001600160a01b03163b60000362002a4357919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562002aa0575060408051601f3d908101601f1916820190925262002a9d9181019062004c88565b60015b62000d2957919050565b5090565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6001600160a01b03908116600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b62002b2d62003145565b61010180546001600160a01b0319166001600160a01b0392909216919091179055565b610103546001600160a01b0316331462002b7d576040516375e686b760e11b815260040160405180910390fd5b62001d5762003972565b610109805462002b979062004b2e565b80601f016020809104026020016040519081016040528092919081815260200182805462002bc59062004b2e565b801562002c165780601f1062002bea5761010080835404028352916020019162002c16565b820191906000526020600020905b81548152906001019060200180831162002bf857829003601f168201915b505050505081565b62002c2862002ff9565b3362002c348162003054565b62002c3f816200380b565b6001600160a01b03808216600081815261010c602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945561010d9052918220909162002cba91906200418d565b60208101516101055462002cdc916001600160a01b0390911690849062003557565b7fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f482826020015160405162002d1392919062004a84565b60405180910390a1505062001d576001606555565b62002d37612710600a62004a34565b81565b600054610100900460ff1662002d645760405162461bcd60e51b8152600401620014dd9062005105565b6200113d8162003920565b610108805462002b979062004b2e565b62002d8a826200127c565b62002d9581620033a3565b620013f2838362003579565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0386161562002dcc5750845b869150600061010f80548060200260200160405190810160405280929190818152602001828054801562002e2a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162002e0b575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062002e62908b906020016200517a565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b815260040162002e9a97969594939291906200525c565b6020604051808303816000875af115801562002eba573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002ee0919062004a9d565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a8960405162002f1b959493929190620052cd565b60405180910390a1505094509492505050565b600062000d29600080516020620058c18339815191528362002aae565b62002f5562003145565b6001600160a01b03811662002d645760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620014dd565b62002fd7600080516020620058c18339815191523362002aae565b62001d57573360405163fc4be72f60e01b8152600401620014dd9190620042c7565b6002606554036200304d5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401620014dd565b6002606555565b6200305f8162002ad9565b6200113d57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090205460ff166200113d576040516346c26e4b60e01b815260040160405180910390fd5b6001600160a01b0381166200113d576040516303988b8160e61b815260040160405180910390fd5b6001606555565b620030f281620030b8565b6001600160a01b038116600090815261010a602052604090819020805460ff19169055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49062000d9a908390620042c7565b336200315062002a13565b6001600160a01b03161462001d575760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620014dd565b6001600160a01b038116600090815261010a602052604090205460ff1615620031e4576040516325a2934b60e21b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090819020805460ff19166001179055517f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19062000d9a908390620042c7565b806001600160a01b0316826001600160a01b031614620011245760405163bbe7961160e01b815260040160405180910390fd5b6001600160a01b038216600090815261010d60205260408120905b81548110156200339d57826001600160a01b0316828281548110620032b157620032b162004ca8565b6000918252602090912001546001600160a01b031603620033885781548290620032de9060019062004d98565b81548110620032f157620032f162004ca8565b9060005260206000200160009054906101000a90046001600160a01b031682828154811062003324576200332462004ca8565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508180548062003365576200336562004fb9565b600082815260209020810160001990810180546001600160a01b03191690550190555b80620033948162004d7c565b91505062003288565b50505050565b6200113d8133620039d6565b620033bb828262002aae565b6200112457600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620033f53390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6001600160a01b03163b151590565b600054610100900460ff16620034725760405162461bcd60e51b8152600401620014dd9062005105565b62001d5762003a3a565b600054610100900460ff1662001d575760405162461bcd60e51b8152600401620014dd9062005105565b6000620034b3836200127c565b600084815260c96020526040808220600101859055519192508391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6200339d846323b872dd60e01b8585856040516024016200351f9392919062004ab7565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003a64565b620013f28363a9059cbb60e01b84846040516024016200351f92919062004a84565b62003585828262002aae565b156200112457600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008051602062005901833981519152546001600160a01b031690565b336200360b62002a13565b6001600160a01b0316146200113d57336200362562002a13565b60405163163678e960e01b8152600401620014dd92919062004adb565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156200367857620013f28362003b40565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015620036d5575060408051601f3d908101601f19168201909252620036d29181019062004a9d565b60015b6200373a5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401620014dd565b600080516020620059018339815191528114620037ac5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401620014dd565b50620013f283838362003bdf565b620037c53362002ad9565b62001d5757604051636a5cfb6d60e01b815260040160405180910390fd5b6000620037f08362003c0a565b801562003804575062003804838362003c42565b9392505050565b6001600160a01b038116600090815261010d60209081526040808320805482518185028101850190935280835291929091908301828280156200387857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003859575b5050505050905060005b8151811015620013f257818181518110620038a157620038a162004ca8565b60200260200101516001600160a01b0316636453d9c4846040518263ffffffff1660e01b8152600401620038d69190620042c7565b600060405180830381600087803b158015620038f157600080fd5b505af115801562003906573d6000803e3d6000fd5b505050508080620039179062004d7c565b91505062003882565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610103805461010680546001600160a01b03199081166001600160a01b038416179091551690556040517fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb6887290620039cc90600090620042c7565b60405180910390a1565b620039e2828262002aae565b6200112457620039f28162003ccd565b620039ff83602062003ce0565b60405160200162003a1292919062005309565b60408051601f198184030181529082905262461bcd60e51b8252620014dd916004016200498a565b600054610100900460ff16620030e05760405162461bcd60e51b8152600401620014dd9062005105565b600062003abb826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031662003e999092919063ffffffff16565b905080516000148062003adf57508080602001905181019062003adf91906200537c565b620013f25760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401620014dd565b62003b4b8162003439565b62003baf5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401620014dd565b6000805160206200590183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b62003bea8362003eb2565b60008251118062003bf85750805b15620013f2576200339d838362003ef4565b600062003c1f826301ffc9a760e01b62003c42565b801562000d29575062003c3b826001600160e01b031962003c42565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562003cb5575060208210155b801562003cc25750600081115b979650505050505050565b606062000d296001600160a01b03831660145b6060600062003cf183600262004a34565b62003cfe90600262004b18565b6001600160401b0381111562003d185762003d1862004303565b6040519080825280601f01601f19166020018201604052801562003d43576020820181803683370190505b509050600360fc1b8160008151811062003d615762003d6162004ca8565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811062003d935762003d9362004ca8565b60200101906001600160f81b031916908160001a905350600062003db984600262004a34565b62003dc690600162004b18565b90505b600181111562003e48576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811062003dfe5762003dfe62004ca8565b1a60f81b82828151811062003e175762003e1762004ca8565b60200101906001600160f81b031916908160001a90535060049490941c9362003e40816200539c565b905062003dc9565b508315620038045760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620014dd565b606062003eaa848460008562003f1c565b949350505050565b62003ebd8162003b40565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620038048383604051806060016040528060278152602001620059216027913962003ff4565b60608247101562003f7f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401620014dd565b600080866001600160a01b0316858760405162003f9d9190620053b6565b60006040518083038185875af1925050503d806000811462003fdc576040519150601f19603f3d011682016040523d82523d6000602084013e62003fe1565b606091505b509150915062003cc28783838762004072565b6060600080856001600160a01b031685604051620040139190620053b6565b600060405180830381855af49150503d806000811462004050576040519150601f19603f3d011682016040523d82523d6000602084013e62004055565b606091505b5091509150620040688683838762004072565b9695505050505050565b60608315620040e6578251600003620040de57620040908562003439565b620040de5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620014dd565b508162003eaa565b62003eaa8383815115620040fd5781518083602001fd5b8060405162461bcd60e51b8152600401620014dd91906200498a565b82805482825590600052602060002090810192821562004171579160200282015b828111156200417157825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906200413a565b5062002aaa929150620041a8565b6104ec80620053d583390190565b50805460008255906000526020600020908101906200113d91905b5b8082111562002aaa5760008155600101620041a9565b600060208284031215620041d257600080fd5b81356001600160e01b0319811681146200380457600080fd5b600060208284031215620041fe57600080fd5b5035919050565b6001600160a01b03811681146200113d57600080fd5b8035620042288162004205565b919050565b600080604083850312156200424157600080fd5b82356200424e8162004205565b91506020830135620042608162004205565b809150509250929050565b6000602082840312156200427e57600080fd5b8135620038048162004205565b600080604083850312156200429f57600080fd5b8235620042ac8162004205565b946020939093013593505050565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b60008060408385031215620042ef57600080fd5b823591506020830135620042608162004205565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156200433e576200433e62004303565b60405290565b60405161018081016001600160401b03811182821017156200433e576200433e62004303565b60405160c081016001600160401b03811182821017156200433e576200433e62004303565b60405160e081016001600160401b03811182821017156200433e576200433e62004303565b604051608081016001600160401b03811182821017156200433e576200433e62004303565b604051601f8201601f191681016001600160401b038111828210171562004404576200440462004303565b604052919050565b60006001600160401b0382111562004428576200442862004303565b50601f01601f191660200190565b60006200444d62004447846200440c565b620043d9565b90508281528383830111156200446257600080fd5b828260208301376000602084830101529392505050565b600082601f8301126200448b57600080fd5b620038048383356020850162004436565b600060408284031215620044af57600080fd5b620044b962004319565b82358152905060208201356001600160401b03811115620044d957600080fd5b620044e78482850162004479565b60208301525092915050565b80151581146200113d57600080fd5b80356200422881620044f3565b600080600080608085870312156200452657600080fd5b84356001600160401b03808211156200453e57600080fd5b9086019061018082890312156200455457600080fd5b6200455e62004344565b62004569836200421b565b815262004579602084016200421b565b6020820152604083013560408201526060830135606082015260808301356080820152620045aa60a084016200421b565b60a0820152620045bd60c084016200421b565b60c082015260e083013582811115620045d557600080fd5b620045e38a8286016200449c565b60e083015250610100620045f98185016200421b565b9082015261012083810135838111156200461257600080fd5b620046208b82870162004479565b8284015250506101406200463681850162004502565b9082015261016083810135838111156200464f57600080fd5b6200465d8b82870162004479565b82840152505080965050505062004677602086016200421b565b925062004687604086016200421b565b915062004697606086016200421b565b905092959194509250565b60008060408385031215620046b657600080fd5b8235620046c38162004205565b915060208301356001600160401b03811115620046df57600080fd5b8301601f81018513620046f157600080fd5b620047028582356020840162004436565b9150509250929050565b8035600381106200422857600080fd5b600481106200113d57600080fd5b803562004228816200471c565b6000602082840312156200474a57600080fd5b604051602081016001600160401b03811182821017156200476f576200476f62004303565b6040529135825250919050565b600060c082840312156200478f57600080fd5b620047996200436a565b90508135620047a88162004205565b81526020820135620047ba8162004205565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b60008183036101e08112156200480457600080fd5b6200480e6200438f565b915060808112156200481f57600080fd5b506200482a620043b4565b82358152602083013560208201526040830135604082015260608301356060820152808252506200485e608083016200470c565b60208201526200487160a083016200472a565b6040820152620048858360c0840162004737565b6060820152620048998360e084016200477c565b6080820152620048ad6101a083016200421b565b60a0820152620048c16101c083016200421b565b60c082015292915050565b60008060006102208486031215620048e357600080fd5b8335620048f08162004205565b9250620049018560208601620047ef565b91506102008401356001600160401b038111156200491e57600080fd5b6200492c868287016200449c565b9150509250925092565b60005b838110156200495357818101518382015260200162004939565b50506000910152565b600081518084526200497681602086016020860162004936565b601f01601f19169290920160200192915050565b6020815260006200380460208301846200495c565b6000806000806102408587031215620049b757600080fd5b8435620049c48162004205565b93506020850135620049d68162004205565b9250620049e78660408701620047ef565b91506102208501356001600160401b0381111562004a0457600080fd5b62004a12878288016200449c565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000d295762000d2962004a1e565b634e487b7160e01b600052602160045260246000fd5b60006020828403121562004a7757600080fd5b815162003804816200471c565b6001600160a01b03929092168252602082015260400190565b60006020828403121562004ab057600080fd5b5051919050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0392831681529116602082015260400190565b60008262004b1357634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000d295762000d2962004a1e565b600181811c9082168062004b4357607f821691505b60208210810362004b6457634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620013f257600081815260208120601f850160051c8101602086101562004b935750805b601f850160051c820191505b8181101562004bb45782815560010162004b9f565b505050505050565b81516001600160401b0381111562004bd85762004bd862004303565b62004bf08162004be9845462004b2e565b8462004b6a565b602080601f83116001811462004c28576000841562004c0f5750858301515b600019600386901b1c1916600185901b17855562004bb4565b600085815260208120601f198616915b8281101562004c595788860151825594840194600190910190840162004c38565b508582101562004c785787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121562004c9b57600080fd5b8151620038048162004205565b634e487b7160e01b600052603260045260246000fd5b6000602080838503121562004cd257600080fd5b82516001600160401b038082111562004cea57600080fd5b818501915085601f83011262004cff57600080fd5b81518181111562004d145762004d1462004303565b8060051b915062004d27848301620043d9565b818152918301840191848101908884111562004d4257600080fd5b938501935b8385101562004d70578451925062004d5f8362004205565b828252938501939085019062004d47565b98975050505050505050565b60006001820162004d915762004d9162004a1e565b5060010190565b8181038181111562000d295762000d2962004a1e565b6000815462004dbd8162004b2e565b80855260206001838116801562004ddd576001811462004df85762004e28565b60ff1985168884015283151560051b88018301955062004e28565b866000528260002060005b8581101562004e205781548a820186015290830190840162004e03565b890184019650505b505050505092915050565b80518252600060208201516040602085015262003eaa60408501826200495c565b600081518084526020808501945080840160005b8381101562004e8f5781516001600160a01b03168752958201959082019060010162004e68565b509495945050505050565b85815260a06020820152600062004eb560a083018762004dae565b828103604084015262004ec9818762004e33565b6001600160a01b03861660608501528381036080850152905062004d70818562004e54565b83815260606020820152600062004f09606083018562004dae565b828103604084015262004068818562004e33565b6020808252602c90820152600080516020620058e183398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020620058e183398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6001600160a01b038316815260406020820181905260009062003eaa908301846200495c565b634e487b7160e01b600052603160045260246000fd5b6000602080838503121562004fe357600080fd5b82516001600160401b038082111562004ffb57600080fd5b9084019060c082870312156200501057600080fd5b6200501a6200436a565b82518152838301516200502d8162004205565b818501526040830151620050418162004205565b60408201526060830151828111156200505957600080fd5b8301604081890312156200506c57600080fd5b6200507662004319565b8151815285820151848111156200508c57600080fd5b82019350601f84018913620050a057600080fd5b83519150620050b362004447836200440c565b8281528987848701011115620050c857600080fd5b620050d98388830189880162004936565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6003811062005163576200516362004a4e565b9052565b6004811062005163576200516362004a4e565b60006101e082019050825180518352602081015160208401526040810151604084015260608101516060840152506020830151620051bc608084018262005150565b506040830151620051d160a084018262005167565b506060838101515160c084015260808085015180516001600160a01b0390811660e087015260208201511661010086015260408101516101208601529182015161014085015281015161016084015260a0908101516101808401528301516200523f6101a0840182620042ba565b5060c0830151620052556101c0840182620042ba565b5092915050565b878152600060018060a01b03808916602084015260e060408401526200528660e08401896200495c565b818816606085015286608085015283810360a0850152620052a8818762004e33565b91505082810360c0840152620052bf818562004e54565b9a9950505050505050505050565b8581526001600160a01b03858116602083015284811660408301528316606082015260a06080820181905260009062003cc29083018462004e33565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516200533d81601785016020880162004936565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516200537081602884016020880162004936565b01602801949350505050565b6000602082840312156200538f57600080fd5b81516200380481620044f3565b600081620053ae57620053ae62004a1e565b506000190190565b60008251620053ca81846020870162004936565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212204fe6c3c3dccfaea0fd10fdd343631403db3c1555c6576ad816deaaa45c9f926764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656403be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220034884d1bfa2a70a12f4920b27af543b9251f0f29311755279fbfe124bd748dc64736f6c63430008130033","sourceMap":"2850:23176:107:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3050:213:43;;;;;;;;;;-1:-1:-1;3050:213:43;;;;;:::i;:::-;;:::i;:::-;;;470:14:142;;463:22;445:41;;433:2;418:18;3050:213:43;;;;;;;;23671:115:107;;;;;;;;;;-1:-1:-1;23760:19:107;;23671:115;;;643:25:142;;;631:2;616:18;23671:115:107;497:177:142;5999:24:107;;;;;;;;;;;;;;;;23988:288;;;;;;;;;;-1:-1:-1;23988:288:107;;;;;:::i;:::-;;:::i;:::-;;13750:1170;;;;;;;;;;-1:-1:-1;13750:1170:107;;;;;:::i;:::-;;:::i;20288:128::-;;;;;;;;;;-1:-1:-1;20288:128:107;;;;;:::i;:::-;;:::i;9654:110::-;;;;;;;;;;-1:-1:-1;9654:110:107;;;;;:::i;:::-;;:::i;6080:25::-;;;;;;;;;;-1:-1:-1;6080:25:107;;;;;;;;19453:128;;;;;;;;;;-1:-1:-1;19453:128:107;;;;;:::i;:::-;;:::i;14926:699::-;;;;;;;;;;-1:-1:-1;14926:699:107;;;;;:::i;:::-;;:::i;4855:129:43:-;;;;;;;;;;-1:-1:-1;4855:129:43;;;;;:::i;:::-;;:::i;23188:477:107:-;;;;;;;;;;;;;:::i;7636:82::-;;;;;;;;;;-1:-1:-1;7636:82:107;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;18969:151::-;;;;;;;;;;-1:-1:-1;18969:151:107;;;;;:::i;:::-;-1:-1:-1;;;;;19072:28:107;19046:7;19072:28;;;:19;:28;;;;;:41;;;;18969:151;5280:145:43;;;;;;;;;;-1:-1:-1;5280:145:43;;;;;:::i;:::-;;:::i;23792:190:107:-;;;;;;;;;;-1:-1:-1;23792:190:107;;;;;:::i;:::-;;:::i;5900:25::-;;;;;;;;;;;;;;;;10044:2497;;;;;;;;;;-1:-1:-1;10044:2497:107;;;;;:::i;:::-;;:::i;21250:1932::-;;;;;;;;;;;;;:::i;6389:214:43:-;;;;;;;;;;-1:-1:-1;6389:214:43;;;;;:::i;:::-;;:::i;3143:195:64:-;;;;;;;;;;-1:-1:-1;3143:195:64;;;;;:::i;:::-;;:::i;20422:248:107:-;;;;;;;;;;-1:-1:-1;20422:248:107;;;;;:::i;:::-;;:::i;7171:68::-;;;;;;;;;;-1:-1:-1;7171:68:107;;;;;:::i;:::-;;;;;;;;;;;;;;;;7796:107;;;;;;;;;;-1:-1:-1;7796:107:107;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;3657:220:64;;;;;;:::i;:::-;;:::i;12547:531:107:-;;;;;;;;;;-1:-1:-1;12547:531:107;;;;;:::i;:::-;;:::i;:::-;;;;12444:25:142;;;-1:-1:-1;;;;;12505:32:142;;;12500:2;12485:18;;12478:60;12417:18;12547:531:107;12270:274:142;2762:131:64;;;;;;;;;;;;;:::i;16070:1009:107:-;;;;;;;;;;-1:-1:-1;16070:1009:107;;;;;:::i;:::-;;:::i;6450:31::-;;;;;;;;;;-1:-1:-1;6450:31:107;;;;-1:-1:-1;;;;;6450:31:107;;;17222:1562;;;;;;;;;;-1:-1:-1;17222:1562:107;;;;;:::i;:::-;;:::i;7307:98::-;;;;;;;;;;-1:-1:-1;7307:98:107;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;25409:583;;;;;;;;;;-1:-1:-1;25409:583:107;;;;;:::i;:::-;;:::i;6549:41::-;;;;;;;;;;-1:-1:-1;6549:41:107;;;;-1:-1:-1;;;;;6549:41:107;;;6809:24;;;;;;;;;;-1:-1:-1;6809:24:107;;;;-1:-1:-1;;;;;6809:24:107;;;2085:101:45;;;;;;;;;;;;;:::i;19845:237:107:-;;;;;;;;;;-1:-1:-1;19845:237:107;;;;;:::i;:::-;;:::i;8237:68::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8237:68:107;;6353:38;;;;;;;;;;-1:-1:-1;6353:38:107;;;;-1:-1:-1;;;;;6353:38:107;;;18790:173;;;;;;;;;;-1:-1:-1;18790:173:107;;;;;:::i;:::-;-1:-1:-1;;;;;18915:30:107;;;18889:7;18915:30;;;:21;:30;;;;;;;;:41;;;;;;;;;;;;;18790:173;5695:34;;;;;;;;;;;;;;;;6640:25;;;;;;;;;;-1:-1:-1;6640:25:107;;;;-1:-1:-1;;;;;6640:25:107;;;19126:321;;;;;;;;;;-1:-1:-1;19126:321:107;;;;;:::i;:::-;;:::i;7505:60::-;;;;;;;;;;-1:-1:-1;7505:60:107;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7505:60:107;;;;;;;;;;;;;-1:-1:-1;;;;;13436:32:142;;;13418:51;;13500:2;13485:18;;13478:34;;;;13555:14;13548:22;13528:18;;;13521:50;13406:2;13391:18;7505:60:107;13222:355:142;5806:27:107;;;;;;;;;;;;;;;;525:604:105;;;;;;;;;;;;;:::i;3350:145:43:-;;;;;;;;;;-1:-1:-1;3350:145:43;;;;;:::i;:::-;;:::i;5279:75:107:-;;;;;;;;;;;;5312:42;5279:75;;2320:49:43;;;;;;;;;;-1:-1:-1;2320:49:43;2365:4;2320:49;;21054:190:107;;;;;;;;;;-1:-1:-1;21054:190:107;;;;;:::i;:::-;;:::i;9770:124::-;;;;;;;;;;-1:-1:-1;9770:124:107;;;;;:::i;:::-;;:::i;6172:26::-;;;;;;;;;;-1:-1:-1;6172:26:107;;;;;;;-1:-1:-1;;;;;6172:26:107;;;20869:179;;;;;;;;;;;;;:::i;7025:30::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;24458:465::-;;;;;;;;;;;;;:::i;5568:54::-;;;;;;;;;;;;;:::i;404:115:105:-;;;;;;;;;;-1:-1:-1;404:115:105;;;;;:::i;:::-;;:::i;6940:27:107:-;;;;;;;;;;;;;:::i;5705:147:43:-;;;;;;;;;;-1:-1:-1;5705:147:43;;;;;:::i;:::-;;:::i;6881:17:107:-;;;;;;;;;;-1:-1:-1;6881:17:107;;;;-1:-1:-1;;;;;6881:17:107;;;5444:49;;;;;;;;;;;;5486:7;5444:49;;6728:25;;;;;;;;;;-1:-1:-1;6728:25:107;;;;-1:-1:-1;;;;;6728:25:107;;;13084:660;;;;;;;;;;-1:-1:-1;13084:660:107;;;;;:::i;:::-;;:::i;24319:133::-;;;;;;;;;;-1:-1:-1;24319:133:107;;;;;:::i;:::-;;:::i;2335:198:45:-;;;;;;;;;;-1:-1:-1;2335:198:45;;;;;:::i;:::-;;:::i;6256:30:107:-;;;;;;;;;;-1:-1:-1;6256:30:107;;;;-1:-1:-1;;;;;6256:30:107;;;5155:38;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5155:38:107;;;;;3050:213:43;3135:4;-1:-1:-1;;;;;;3158:58:43;;-1:-1:-1;;;3158:58:43;;:98;;-1:-1:-1;;;;;;;;;;1189:51:53;;;3220:36:43;3151:105;3050:213;-1:-1:-1;;3050:213:43:o;23988:288:107:-;24064:17;:15;:17::i;:::-;5602:20;5486:7;5602:2;:20;:::i;:::-;24095:16;:26;24091:86;;;24144:22;;-1:-1:-1;;;24144:22:107;;;;;;;;;;;24091:86;24186:12;:31;;;24232:37;;643:25:142;;;24232:37:107;;631:2:142;616:18;24232:37:107;;;;;;;;23988:288;:::o;13750:1170::-;2526:21:48;:19;:21::i;:::-;13858:34:107::1;13884:7;13858:25;:34::i;:::-;13902:30;13922:9;13902:19;:30::i;:::-;13942:29;13961:9;13942:18;:29::i;:::-;-1:-1:-1::0;;;;;13986:36:107;;::::1;;::::0;;;:27:::1;:36;::::0;;;;;;;:47;;::::1;::::0;;;;;;;::::1;;13982:107;;;14056:22;;-1:-1:-1::0;;;14056:22:107::1;;;;;;;;;;;13982:107;-1:-1:-1::0;;;;;14122:28:107;;::::1;14099:20;14122:28:::0;;;:19:::1;:28;::::0;;;;;;;;14099:51;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;;::::0;::::1;;;;::::0;;;;;;;14245:19:::1;::::0;14325:21:::1;14294:9;-1:-1:-1::0;;;;;14279:40:107::1;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:67;;;;;;;;:::i;:::-;::::0;14275:354:::1;;14381:51;::::0;-1:-1:-1;;;14381:51:107;;-1:-1:-1;;;;;14381:39:107;::::1;::::0;::::1;::::0;:51:::1;::::0;14421:7;;14430:1:::1;::::0;14381:51:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14362:70;;14275:354;;;14499:17;14468:9;-1:-1:-1::0;;;;;14453:40:107::1;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:63;;;;;;;;:::i;:::-;;14449:180;;14551:67;::::0;-1:-1:-1;;;14551:67:107;;-1:-1:-1;;;;;14551:39:107;::::1;::::0;::::1;::::0;:67:::1;::::0;14591:7;;14600:17;;14551:67:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14532:86;;14449:180;-1:-1:-1::0;;;;;14639:30:107;;::::1;;::::0;;;:21:::1;:30;::::0;;;;;;;:41;;::::1;::::0;;;;;;;;;:60;;;14728:36;;;:27:::1;:36:::0;;;;;:47;;;;;;;;:54;;-1:-1:-1;;14728:54:107::1;14778:4;14728:54:::0;;::::1;::::0;;;14793:27;;;:18:::1;:27:::0;;;;;:43;;;;::::1;::::0;;;;;;;;::::1;::::0;;-1:-1:-1;;;;;;14793:43:107::1;::::0;;::::1;::::0;;;14852:61;::::1;::::0;::::1;::::0;14661:7;;14670:9;;14683:16;;14852:61:::1;:::i;:::-;;;;;;;;13848:1072;;;2568:20:48::0;1808:1;3074:7;:22;2894:209;2568:20;13750:1170:107;;:::o;20288:128::-;20356:17;:15;:17::i;:::-;20383:26;20399:9;20383:15;:26::i;:::-;20288:128;:::o;9654:110::-;1355:13:45;:11;:13::i;:::-;9730:16:107::1;:27:::0;;-1:-1:-1;;;;;;9730:27:107::1;-1:-1:-1::0;;;;;9730:27:107;;;::::1;::::0;;;::::1;::::0;;9654:110::o;19453:128::-;19521:17;:15;:17::i;:::-;19548:26;19561:12;19548;:26::i;14926:699::-;15023:34;15049:7;15023:25;:34::i;:::-;15067:29;15086:9;15067:18;:29::i;:::-;15106:42;15126:10;15138:9;15106:19;:42::i;:::-;-1:-1:-1;;;;;15164:36:107;;;;;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;15159:110;;15234:24;;-1:-1:-1;;;15234:24:107;;;;;;;;;;;15159:110;-1:-1:-1;;;;;15279:36:107;;;15329:5;15279:36;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;:55;;-1:-1:-1;;15279:55:107;;;15344:30;;;:21;:30;;;;;:41;;;;;;;;;:45;15399:44;15307:7;15316:9;15399:24;:44::i;:::-;15573:45;15599:7;15608:9;15573:45;;;;;;;:::i;:::-;;;;;;;;14926:699;;:::o;4855:129:43:-;4929:7;4955:12;;;:6;:12;;;;;:22;;;;4855:129::o;23188:477:107:-;23321:15;;23251:7;;-1:-1:-1;;;;;23321:15:107;23251:7;23416:21;5486:7;23416:3;:21;:::i;:::-;23399:12;;23377:19;;:34;;;;:::i;:::-;23376:62;;;;:::i;:::-;23347:91;-1:-1:-1;23448:24:107;23559:21;5486:7;23559:3;:21;:::i;:::-;23510:44;;-1:-1:-1;;;23510:44:107;;-1:-1:-1;;;;;23510:29:107;;;;;:44;;23548:4;;23510:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23488:19;;:66;;;;:::i;:::-;23487:94;;;;:::i;:::-;23448:133;;23642:16;23621:18;23599:19;;:40;;;;:::i;:::-;:59;;;;:::i;:::-;23592:66;;;;;23188:477;:::o;7636:82::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7636:82:107;;-1:-1:-1;7636:82:107;;-1:-1:-1;7636:82:107:o;5280:145:43:-;5363:18;5376:4;5363:12;:18::i;:::-;2798:16;2809:4;2798:10;:16::i;:::-;5393:25:::1;5404:4;5410:7;5393:10;:25::i;:::-;5280:145:::0;;;:::o;23792:190:107:-;23869:17;:15;:17::i;:::-;23896:19;:32;;;23943;;643:25:142;;;23943:32:107;;631:2:142;616:18;23943:32:107;497:177:142;10044:2497:107;3279:19:47;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:47;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;;3388:44;3426:4;3388:29;:44::i;:::-;3387:45;:66;;;;-1:-1:-1;3436:12:47;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:47;;18292:2:142;3325:201:47;;;18274:21:142;18331:2;18311:18;;;18304:30;18370:34;18350:18;;;18343:62;-1:-1:-1;;;18421:18:142;;;18414:44;18475:19;;3325:201:47;;;;;;;;;3536:12;:16;;-1:-1:-1;;3536:16:47;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:47;;;;;3562:65;10261:24:107::1;10278:6;10261:16;:24::i;:::-;10295;:22;:24::i;:::-;10329:22;:20;:22::i;:::-;10362:49;-1:-1:-1::0;;;;;;;;;;;2365:4:43::1;10362:13:107;:49::i;:::-;10422:48;10449:6;:19;;;10422:18;:48::i;:::-;10480:39;10499:6;:19;;;10480:18;:39::i;:::-;10548:12:::0;;10529:32:::1;::::0;:18:::1;:32::i;:::-;10571:43;10590:6;:23;;;10571:18;:43::i;:::-;10629:20;::::0;::::1;::::0;:25;10625:95:::1;;10670:39;10689:6;:19;;;10670:18;:39::i;:::-;10742:12:::0;;10729:4:::1;:26:::0;;-1:-1:-1;;;;;10729:26:107;;::::1;-1:-1:-1::0;;;;;;10729:26:107;;::::1;;::::0;;;10779:19:::1;::::0;::::1;::::0;10765:11:::1;:33:::0;;;;;::::1;::::0;::::1;;::::0;;10812:27:::1;::::0;::::1;::::0;10742:12:::1;10812:32:::0;10808:89:::1;;10867:19;;-1:-1:-1::0;;;10867:19:107::1;;;;;;;;;;;10808:89;10928:27;::::0;::::1;::::0;10906:19:::1;:49:::0;10980:20:::1;::::0;::::1;::::0;10965:12:::1;:35:::0;11026:21:::1;::::0;::::1;::::0;11010:13:::1;:37:::0;;-1:-1:-1;;11010:37:107::1;::::0;::::1;;::::0;;;::::1;::::0;;11073:21:::1;::::0;::::1;::::0;11057:13:::1;::::0;:37:::1;::::0;:13;:37:::1;:::i;:::-;-1:-1:-1::0;11123:23:107::1;::::0;::::1;::::0;11104:16:::1;::::0;:42:::1;::::0;:16;:42:::1;:::i;:::-;-1:-1:-1::0;11175:23:107::1;::::0;::::1;::::0;11157:15:::1;:41:::0;;-1:-1:-1;;;;;;11157:41:107;;::::1;-1:-1:-1::0;;;;;11157:41:107;;::::1;;::::0;;11222:19:::1;::::0;::::1;::::0;11208:11:::1;:33:::0;;-1:-1:-1;;;;;;11208:33:107::1;::::0;;::::1;::::0;::::1;::::0;;;::::1;::::0;;11271:19;;::::1;::::0;11251:11:::1;:40:::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;11302:47:::1;::::0;-1:-1:-1;;;;;;;;;;;8278:27:107;11302:10:::1;:47::i;:::-;11381:4;;;;;;;;;-1:-1:-1::0;;;;;11381:4:107::1;-1:-1:-1::0;;;;;11381:16:107::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11360:8;:40:::0;;-1:-1:-1;;;;;;11360:40:107::1;-1:-1:-1::0;;;;;11360:40:107;;::::1;;::::0;;11507:11:::1;::::0;11411:36:::1;::::0;11507:11:::1;11499:32;-1:-1:-1::0;11499:37:107;11495:427:::1;;11574:16;::::0;;11588:1:::1;11574:16:::0;;;;;::::1;::::0;;;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11574:16:107::1;11552:38;;11629:10;11604:19;11624:1;11604:22;;;;;;;;:::i;:::-;;;;;;:35;-1:-1:-1::0;;;;;11604:35:107::1;;;-1:-1:-1::0;;;;;11604:35:107::1;;;::::0;::::1;11495:427;;;11696:11;::::0;:23:::1;::::0;;-1:-1:-1;;;11696:23:107;;;;11670::::1;::::0;-1:-1:-1;;;;;11696:11:107::1;::::0;:21:::1;::::0;:23:::1;::::0;;::::1;::::0;11670;;11696;;;;;;;:11;:23:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;11696:23:107::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;11670:49;;11769:6;:13;11785:1;11769:17;;;;:::i;:::-;-1:-1:-1::0;;;;;11755:32:107::1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;-1:-1:-1;11755:32:107::1;;11733:54;;11806:9;11801:111;11825:6;:13;11821:1;:17;11801:111;;;11888:6;11895:1;11888:9;;;;;;;;:::i;:::-;;;;;;;11863:19;11883:1;11863:22;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11863:34:107;;::::1;:22;::::0;;::::1;::::0;;;;;;;:34;11840:3;::::1;::::0;::::1;:::i;:::-;;;;11801:111;;;;11656:266;11495:427;11994:11;::::0;11952:26;;-1:-1:-1;;;;;11994:11:107;;::::1;::::0;11932:19;;11952:30:::1;::::0;11994:11;;11952:30:::1;:::i;:::-;11932:51;;;;;;;;:::i;:::-;;;;;;:74;-1:-1:-1::0;;;;;11932:74:107::1;;;-1:-1:-1::0;;;;;11932:74:107::1;;;::::0;::::1;12078:4;12016:19;12065:1;12036:19;:26;:30;;;;:::i;:::-;12016:51;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12016:67:107;;::::1;:51;::::0;;::::1;::::0;;;;;:67;12195:8:::1;::::0;12218:13:::1;::::0;::::1;::::0;12248:16:::1;::::0;::::1;::::0;12195:106:::1;::::0;-1:-1:-1;;;12195:106:107;;:8;;;::::1;::::0;:22:::1;::::0;:106:::1;::::0;12218:13;12233::::1;::::0;12274:4:::1;::::0;12281:19;;12195:106:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12171:9;:130:::0;12312:36;;::::1;::::0;:14:::1;::::0;:36:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;12359:16:107::1;:36:::0;;-1:-1:-1;;;;;12359:36:107;;::::1;-1:-1:-1::0;;;;;;12359:36:107;;::::1;;::::0;;;12405:23:::1;:50:::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;12491:9:::1;::::0;12517:16:::1;::::0;::::1;::::0;12471:63:::1;::::0;::::1;::::0;::::1;::::0;12491:9;;12502:13:::1;::::0;12517:16;12471:63:::1;:::i;:::-;;;;;;;;10251:2290;3651:14:47::0;3647:99;;;3697:5;3681:21;;-1:-1:-1;;3681:21:47;;;3721:14;;-1:-1:-1;25926:36:142;;3721:14:47;;25914:2:142;25899:18;3721:14:47;;;;;;;3647:99;3269:483;10044:2497:107;;;;:::o;21250:1932::-;2526:21:48;:19;:21::i;:::-;21340:10:107::1;21322:15;21387:28:::0;;;:19:::1;:28;::::0;;;;21476:15:::1;::::0;21387:28;;-1:-1:-1;;;;;21476:15:107;;::::1;::::0;21571:21:::1;5486:7;21571:3;:21;:::i;:::-;21554:12;;21532:19;;:34;;;;:::i;:::-;21531:62;;;;:::i;:::-;21502:91:::0;-1:-1:-1;21603:24:107::1;21714:21;5486:7;21714:3;:21;:::i;:::-;21665:44;::::0;-1:-1:-1;;;21665:44:107;;-1:-1:-1;;;;;21665:29:107;::::1;::::0;::::1;::::0;:44:::1;::::0;21703:4:::1;::::0;21665:44:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21643:19;;:66;;;;:::i;:::-;21642:94;;;;:::i;:::-;21603:133;;21751:17;21760:7;21751:8;:17::i;:::-;21746:1430;;21784:22;::::0;::::1;:29:::0;;-1:-1:-1;;21784:29:107::1;21809:4;21784:29:::0;;::::1;::::0;;;21853:19:::1;::::0;21828:22;;::::1;:44:::0;;;22024:143:::1;::::0;22070:7;;22087:4:::1;::::0;22137:16;;22094:40:::1;::::0;22116:18;;22094:40:::1;:::i;:::-;:59;;;;:::i;:::-;22024:11;::::0;-1:-1:-1;;;;;22024:11:107::1;::::0;:143;;:28:::1;:143::i;:::-;22592:22:::0;;22588:178:::1;;22719:11;::::0;22694::::1;::::0;:57:::1;::::0;-1:-1:-1;;;;;22694:11:107;;::::1;::::0;22719::::1;::::0;;::::1;;22732:18:::0;22694:24:::1;:57::i;:::-;22849:20:::0;;22845:255:::1;;23003:82;23028:14;-1:-1:-1::0;;;;;23028:36:107::1;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23003:11;::::0;-1:-1:-1;;;;;23003:11:107::1;::::0;23068:16;23003:24:::1;:82::i;:::-;23119:46;23136:7;23145:19;;23119:46;;;;;;;:::i;:::-;;;;;;;;21746:1430;21312:1870;;;;;2568:20:48::0;1808:1;3074:7;:22;2894:209;2568:20;21250:1932:107:o;6389:214:43:-;-1:-1:-1;;;;;6484:23:43;;965:10:51;6484:23:43;6476:83;;;;-1:-1:-1;;;6476:83:43;;26175:2:142;6476:83:43;;;26157:21:142;26214:2;26194:18;;;26187:30;26253:34;26233:18;;;26226:62;-1:-1:-1;;;26304:18:142;;;26297:45;26359:19;;6476:83:43;25973:411:142;6476:83:43;6570:26;6582:4;6588:7;6570:11;:26::i;3143:195:64:-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3224:36:::1;3242:17;3224;:36::i;:::-;3311:12;::::0;;3321:1:::1;3311:12:::0;;;::::1;::::0;::::1;::::0;;;3270:61:::1;::::0;3292:17;;3311:12;3270:21:::1;:61::i;20422:248:107:-:0;20494:17;:15;:17::i;:::-;20521:25;20540:5;20521:18;:25::i;:::-;20556:18;:26;;-1:-1:-1;;;;;;20556:26:107;-1:-1:-1;;;;;20556:26:107;;;;;;;;;20630:11;;20597:66;;;;;;20630:11;;;20556:26;20597:66;:::i;3657:220:64:-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3772:36:::1;3790:17;3772;:36::i;:::-;3818:52;3840:17;3859:4;3865;3818:21;:52::i;12547:531:107:-:0;12840:16;;12936:4;;12943:23;;12705:14;;;;;;-1:-1:-1;;;;;12840:16:107;;;;-1:-1:-1;;;12898:28:107;12936:4;;;12943:23;12968:7;:5;:7::i;:::-;12875:101;;-1:-1:-1;;;;;27790:15:142;;;12875:101:107;;;27772:34:142;27842:15;;;27822:18;;;27815:43;27894:15;;;27874:18;;;27867:43;27707:18;;12875:101:107;;;-1:-1:-1;;12875:101:107;;;;;;;;;;;;;;-1:-1:-1;;;;;12875:101:107;-1:-1:-1;;;;;;12875:101:107;;;;;;;;;;12798:192;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;12753:247;;13018:53;13029:13;13044:6;13052:7;13061:9;13018:10;:53::i;:::-;13011:60;;;;;12547:531;;;;;;:::o;2762:131:64:-;2840:7;2080:4;-1:-1:-1;;;;;2089:6:64;2072:23;;2064:92;;;;-1:-1:-1;;;2064:92:64;;28443:2:142;2064:92:64;;;28425:21:142;28482:2;28462:18;;;28455:30;28521:34;28501:18;;;28494:62;-1:-1:-1;;;28572:18:142;;;28565:54;28636:19;;2064:92:64;28241:420:142;2064:92:64;-1:-1:-1;;;;;;;;;;;;2762:131:64;:::o;16070:1009:107:-;2526:21:48;:19;:21::i;:::-;16154:26:107::1;:24;:26::i;:::-;16207:10;16190:14;16263:26:::0;;;:18:::1;:26;::::0;;;;;;;16227:62;;;;;;::::1;::::0;;;;;;;;;;;;16263:26;;16227:62;;::::1;16263:26:::0;16227:62;;::::1;;;;;;;;;;;;;;;;::::0;;-1:-1:-1;;;;;16227:62:107::1;::::0;;;;;::::1;::::0;::::1;;::::0;;::::1;;;;;;;;;;;16300:24;16340:9:::0;16352:1:::1;16340:13;;16335:536;16359:16;:23;16355:1;:27;16335:536;;;16542:16;16559:1;16542:19;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;16527:49:107::1;;16577:6;16585:13;16527:72;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16508:91:::0;-1:-1:-1;16617:21:107;;16613:232:::1;;-1:-1:-1::0;;;;;16658:29:107;::::1;;::::0;;;:21:::1;:29;::::0;;;;16688:19;;16712:16;;16658:29;16688:16;;16705:1;;16688:19;::::1;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;16658:50:107::1;-1:-1:-1::0;;;;;16658:50:107::1;;;;;;;;;;;;;:70;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;16613:232:107::1;16384:3:::0;::::1;::::0;::::1;:::i;:::-;;;;16335:536;;;-1:-1:-1::0;16881:11:107::1;::::0;:66:::1;::::0;-1:-1:-1;;;;;16881:11:107::1;16910:6:::0;16926:4:::1;16933:13:::0;16881:28:::1;:66::i;:::-;-1:-1:-1::0;;;;;16957:27:107;::::1;;::::0;;;:19:::1;:27;::::0;;;;:40:::1;;:57:::0;;17001:13;;16957:27;:57:::1;::::0;17001:13;;16957:57:::1;:::i;:::-;::::0;;;-1:-1:-1;;17029:43:107::1;::::0;::::1;::::0;::::1;::::0;17050:6;;17058:13;;17029:43:::1;:::i;:::-;;;;;;;;16144:935;;;2568:20:48::0;1808:1;3074:7;:22;2894:209;17222:1562:107;2526:21:48;:19;:21::i;:::-;17308:26:107::1;:24;:26::i;:::-;17361:10;17344:14;17418:26:::0;;;:18:::1;:26;::::0;;;;;;;17555:19:::1;::::0;17494::::1;:27:::0;;;;;;:40:::1;;::::0;17418:26;;17344:14;17555:19;17494:58:::1;::::0;17537:15;;17494:58:::1;:::i;:::-;:80;17490:140;;;17597:22;;-1:-1:-1::0;;;17597:22:107::1;;;;;;;;;;;17490:140;17639:11;::::0;:49:::1;::::0;-1:-1:-1;;;;;17639:11:107::1;17664:6:::0;17672:15;17639:24:::1;:49::i;:::-;17703:9;17698:951;17722:23:::0;;17718:27;::::1;17698:951;;;17766:16;17785;17802:1;17785:19;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;17785:19:107::1;::::0;-1:-1:-1;17822:60:107::1;17785:19:::0;-1:-1:-1;;;17822:26:107::1;:60::i;:::-;17818:804;;;17921:63;::::0;-1:-1:-1;;;17921:63:107;;-1:-1:-1;;;;;17921:38:107;::::1;::::0;::::1;::::0;:63:::1;::::0;17960:6;;17968:15;;17921:63:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17902:82;;18002:20;18025:21;:29;18047:6;-1:-1:-1::0;;;;;18025:29:107::1;-1:-1:-1::0;;;;;18025:29:107::1;;;;;;;;;;;;:50;18055:16;18072:1;18055:19;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;::::1;::::0;-1:-1:-1;;;;;18055:19:107::1;18025:50:::0;;;::::1;::::0;;;;;;;;;;-1:-1:-1;18097:31:107;;::::1;18093:259;;;18159:57;::::0;-1:-1:-1;;;18159:57:107;;::::1;::::0;::::1;28840:25:142::0;;;28881:18;;;28874:34;;;28813:18;;18159:57:107::1;28666:248:142::0;18093:259:107::1;-1:-1:-1::0;;;;;18263:29:107;::::1;;::::0;;;:21:::1;:29;::::0;;;;18293:19;;18317:16;;18263:29;18293:16;;18310:1;;18293:19;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;::::1;::::0;-1:-1:-1;;;;;18293:19:107::1;18263:50:::0;;;::::1;::::0;;;;;;;;:70;;:50;;18293:19;18263:70:::1;::::0;;;::::1;:::i;:::-;::::0;;;-1:-1:-1;;17884:482:107::1;17818:804;;;18496:23:::0;;18479:16;;18496:27:::1;::::0;18522:1:::1;::::0;18496:27:::1;:::i;:::-;18479:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;18479:45:107::1;18457:16;18474:1;18457:19;;;;;;;;:::i;:::-;;;;;;;;;:67;;;;;-1:-1:-1::0;;;;;18457:67:107::1;;;;;-1:-1:-1::0;;;;;18457:67:107::1;;;;;;18542:16;:22;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;18542:22:107;;;;;-1:-1:-1;;;;;;18542:22:107::1;::::0;;;;;18582:25:::1;18598:8:::0;18582:15:::1;:25::i;:::-;-1:-1:-1::0;17747:3:107;::::1;::::0;::::1;:::i;:::-;;;;17698:951;;;-1:-1:-1::0;;;;;;18658:27:107;::::1;;::::0;;;:19:::1;:27;::::0;;;;:40:::1;;:59:::0;;18702:15;;18658:27;:59:::1;::::0;18702:15;;18658:59:::1;:::i;:::-;::::0;;;-1:-1:-1;;18732:45:107::1;::::0;::::1;::::0;::::1;::::0;18753:6;;18761:15;;18732:45:::1;:::i;25409:583::-:0;2526:21:48;:19;:21::i;:::-;25510:17:107::1;:15;:17::i;:::-;25542:13;::::0;;::::1;25537:68;;25578:16;;-1:-1:-1::0;;;25578:16:107::1;;;;;;;;;;;25537:68;25619:17;25628:7;25619:8;:17::i;:::-;25614:75;;25659:19;;-1:-1:-1::0;;;25659:19:107::1;;;;;;;;;;;25614:75;-1:-1:-1::0;;;;;25721:28:107;;::::1;25698:20;25721:28:::0;;;:19:::1;:28;::::0;;;;;;;;25698:51;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;;::::1;::::0;;;;::::1;;::::0;::::1;;;;::::0;;;;25759:32:::1;25741:7:::0;25759:23:::1;:32::i;:::-;-1:-1:-1::0;;;;;25808:28:107;;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;25801:35;;-1:-1:-1;;;;;;25801:35:107::1;::::0;;;;::::1;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;25801:35:107::1;::::0;;25890:19;::::1;::::0;25847:11:::1;::::0;:63:::1;::::0;:11:::1;::::0;25872:16;;25847:24:::1;:63::i;:::-;25925:60;25938:7;25947:16;25965:6;:19;;;25925:60;;;;;;;;:::i;:::-;;;;;;;;25500:492;2568:20:48::0;1808:1;3074:7;:22;2894:209;2085:101:45;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;19845:237:107:-:0;19918:17;:15;:17::i;:::-;19972:4;;:20;;-1:-1:-1;;;19972:20:107;;;;;643:25:142;;;19945:16:107;;-1:-1:-1;;;;;19972:4:107;;:12;;616:18:142;;19972:20:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19972:20:107;;;;;;;;;;;;:::i;:::-;:29;;;19945:57;;20012:28;20031:8;20012:18;:28::i;:::-;20050:25;20066:8;20050:15;:25::i;19126:321::-;19196:17;:15;:17::i;:::-;19250:4;;:20;;-1:-1:-1;;;19250:20:107;;;;;643:25:142;;;19223:16:107;;-1:-1:-1;;;;;19250:4:107;;:12;;616:18:142;;19250:20:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19250:20:107;;;;;;;;;;;;:::i;:::-;:29;;;19223:57;;19290:28;19309:8;19290:18;:28::i;:::-;19332:60;-1:-1:-1;;;;;19332:26:107;;-1:-1:-1;;;19332:26:107;:60::i;:::-;19328:113;;;19408:22;19421:8;19408:12;:22::i;525:604:105:-;572:7;591:20;614:26;1534:6:45;;-1:-1:-1;;;;;1534:6:45;;1462:85;614:26:105;591:49;;715:12;-1:-1:-1;;;;;707:33:105;;744:1;707:38;703:420;;829:12;525:604;-1:-1:-1;525:604:105:o;703:420::-;895:12;-1:-1:-1;;;;;876:38:105;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;876:40:105;;;;;;;;-1:-1:-1;;876:40:105;;;;;;;;;;;;:::i;:::-;;;872:241;;1086:12;525:604;-1:-1:-1;525:604:105:o;872:241::-;581:548;525:604;:::o;3350:145:43:-;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:43;;;;;;;;;;;;;;;3350:145::o;21054:190:107:-;-1:-1:-1;;;;;21170:28:107;;;21118:14;21170:28;;;:19;:28;;;;;;;;;21144:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21054:190::o;9770:124::-;1355:13:45;:11;:13::i;:::-;9853:23:107::1;:34:::0;;-1:-1:-1;;;;;;9853:34:107::1;-1:-1:-1::0;;;;;9853:34:107;;;::::1;::::0;;;::::1;::::0;;9770:124::o;20869:179::-;20941:18;;-1:-1:-1;;;;;20941:18:107;20927:10;:32;20923:89;;20982:19;;-1:-1:-1;;;20982:19:107;;;;;;;;;;;20923:89;21021:20;:18;:20::i;7025:30::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;24458:465::-;2526:21:48;:19;:21::i;:::-;24542:10:107::1;24562:34;24542:10:::0;24562:25:::1;:34::i;:::-;24606:32;24630:7;24606:23;:32::i;:::-;-1:-1:-1::0;;;;;24671:28:107;;::::1;24648:20;24671:28:::0;;;:19:::1;:28;::::0;;;;;;;24648:51;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;;::::0;;;;24716:28;;;-1:-1:-1;;;;;;24709:35:107;;::::1;::::0;;;;;;;-1:-1:-1;;24709:35:107;;::::1;::::0;;;24761:18:::1;:27:::0;;;;;24648:51;;24754:34:::1;::::0;24761:27;24754:34:::1;:::i;:::-;24833:19;::::0;::::1;::::0;24799:11:::1;::::0;:54:::1;::::0;-1:-1:-1;;;;;24799:11:107;;::::1;::::0;24824:7;;24799:24:::1;:54::i;:::-;24868:48;24887:7;24896:6;:19;;;24868:48;;;;;;;:::i;:::-;;;;;;;;24514:409;;2568:20:48::0;1808:1;3074:7;:22;2894:209;5568:54:107;5602:20;5486:7;5602:2;:20;:::i;:::-;5568:54;:::o;404:115:105:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;:::-;480:32:105::1;499:12;480:18;:32::i;6940:27:107:-:0;;;;;;;:::i;5705:147:43:-;5789:18;5802:4;5789:12;:18::i;:::-;2798:16;2809:4;2798:10;:16::i;:::-;5819:26:::1;5831:4;5837:7;5819:11;:26::i;13084:660:107:-:0;13275:14;;5312:42;-1:-1:-1;;;;;13355:20:107;;;13351:65;;-1:-1:-1;13399:6:107;13351:65;13436:9;13425:20;;13456:31;13490:14;13456:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13456:48:107;;;;;;;;;;;;;;;;-1:-1:-1;;13524:4:107;;13571:9;;13592:19;;13456:48;;-1:-1:-1;;;;;;13524:4:107;;;;:33;;-1:-1:-1;13571:9:107;;-1:-1:-1;13582:8:107;;-1:-1:-1;13592:19:107;;13603:7;;13592:19;;;:::i;:::-;;;;;;;;;;;;;13613:5;13620:1;13623:9;13634:14;13524:134;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13515:143;;13674:63;13686:6;13694:8;13712:4;13719:6;13727:9;13674:63;;;;;;;;;;:::i;:::-;;;;;;;;13309:435;;13084:660;;;;;;;:::o;24319:133::-;24390:4;24413:32;-1:-1:-1;;;;;;;;;;;24437:7:107;24413;:32::i;2335:198:45:-;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:45;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:45;;35022:2:142;2415:73:45::1;::::0;::::1;35004:21:142::0;35061:2;35041:18;;;35034:30;35100:34;35080:18;;;35073:62;-1:-1:-1;;;35151:18:142;;;35144:36;35197:19;;2415:73:45::1;34820:402:142::0;8478:167:107;8542:35;-1:-1:-1;;;;;;;;;;;8566:10:107;8542:7;:35::i;:::-;8537:102;;8617:10;8600:28;;-1:-1:-1;;;8600:28:107;;;;;;;;:::i;2601:287:48:-;1851:1;2733:7;;:19;2725:63;;;;-1:-1:-1;;;2725:63:48;;35429:2:142;2725:63:48;;;35411:21:142;35468:2;35448:18;;;35441:30;35507:33;35487:18;;;35480:61;35558:18;;2725:63:48;35227:355:142;2725:63:48;1851:1;2863:7;:18;2601:287::o;8809:157:107:-;8890:17;8899:7;8890:8;:17::i;:::-;8885:75;;8930:19;;-1:-1:-1;;;8930:19:107;;;;;;;;;;;8972:163;-1:-1:-1;;;;;9049:28:107;;;;;;:17;:28;;;;;;;;9044:85;;9100:18;;-1:-1:-1;;;9100:18:107;;;;;;;;;;;9515:133;-1:-1:-1;;;;;9589:22:107;;9585:56;;9620:21;;-1:-1:-1;;;9620:21:107;;;;;;;;;;;2894:209:48;1808:1;3074:7;:22;2894:209::o;20088:194:107:-;20159:29;20178:9;20159:18;:29::i;:::-;-1:-1:-1;;;;;20198:28:107;;20229:5;20198:28;;;:17;:28;;;;;;;:36;;-1:-1:-1;;20198:36:107;;;20249:26;;;;;20216:9;;20249:26;:::i;1620:130:45:-;965:10:51;1683:7:45;:5;:7::i;:::-;-1:-1:-1;;;;;1683:23:45;;1675:68;;;;-1:-1:-1;;;1675:68:45;;35789:2:142;1675:68:45;;;35771:21:142;;;35808:18;;;35801:30;35867:34;35847:18;;;35840:62;35919:18;;1675:68:45;35587:356:142;19587:252:107;-1:-1:-1;;;;;19662:31:107;;;;;;:17;:31;;;;;;;;19658:85;;;19716:16;;-1:-1:-1;;;19716:16:107;;;;;;;;;;;19658:85;-1:-1:-1;;;;;19752:31:107;;;;;;:17;:31;;;;;;;:38;;-1:-1:-1;;19752:38:107;19786:4;19752:38;;;19805:27;;;;;19770:12;;19805:27;:::i;9141:172::-;9245:9;-1:-1:-1;;;;;9234:20:107;:7;-1:-1:-1;;;;;9234:20:107;;9230:77;;9277:19;;-1:-1:-1;;;9277:19:107;;;;;;;;;;;15631:433;-1:-1:-1;;;;;15765:27:107;;15728:34;15765:27;;;:18;:27;;;;;;15802:256;15826:23;;15822:27;;15802:256;;;15897:9;-1:-1:-1;;;;;15874:32:107;:16;15891:1;15874:19;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;15874:19:107;:32;15870:178;;15965:23;;15948:16;;15965:27;;15991:1;;15965:27;:::i;:::-;15948:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15948:45:107;15926:16;15943:1;15926:19;;;;;;;;:::i;:::-;;;;;;;;;:67;;;;;-1:-1:-1;;;;;15926:67:107;;;;;-1:-1:-1;;;;;15926:67:107;;;;;;16011:16;:22;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;16011:22:107;;;;;-1:-1:-1;;;;;;16011:22:107;;;;;;15870:178;15851:3;;;;:::i;:::-;;;;15802:256;;;;15718:346;15631:433;;:::o;3789:103:43:-;3855:30;3866:4;965:10:51;3855::43;:30::i;7938:233::-;8021:22;8029:4;8035:7;8021;:22::i;:::-;8016:149;;8059:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8059:29:43;;;;;;;;;:36;;-1:-1:-1;;8059:36:43;8091:4;8059:36;;;8141:12;965:10:51;;886:96;8141:12:43;-1:-1:-1;;;;;8114:40:43;8132:7;-1:-1:-1;;;;;8114:40:43;8126:4;8114:40;;;;;;;;;;7938:233;;:::o;1423:320:50:-;-1:-1:-1;;;;;1713:19:50;;:23;;;1423:320::o;1889:111:48:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;:::-;1959:34:48::1;:32;:34::i;2838:65:43:-:0;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;7523:247:43:-;7606:25;7634:18;7647:4;7634:12;:18::i;:::-;7662:12;;;;:6;:12;;;;;;:22;;:34;;;7711:52;7606:46;;-1:-1:-1;7687:9:43;;7606:46;;7669:4;;7711:52;;7662:12;7711:52;7596:174;7523:247;;:::o;1355:203:73:-;1455:96;1475:5;1505:27;;;1534:4;1540:2;1544:5;1482:68;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1482:68:73;;;;;;;;;;;;;;-1:-1:-1;;;;;1482:68:73;-1:-1:-1;;;;;;1482:68:73;;;;;;;;;;1455:19;:96::i;941:175::-;1023:86;1043:5;1073:23;;;1098:2;1102:5;1050:58;;;;;;;;;:::i;8342:234:43:-;8425:22;8433:4;8439:7;8425;:22::i;:::-;8421:149;;;8495:5;8463:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8463:29:43;;;;;;;;;;:37;;-1:-1:-1;;8463:37:43;;;8519:40;965:10:51;;8463:12:43;;8519:40;;8495:5;8519:40;8342:234;;:::o;1175:140:60:-;-1:-1:-1;;;;;;;;;;;1254:54:60;-1:-1:-1;;;;;1254:54:60;;1175:140::o;1135:169:105:-;1219:10;1208:7;:5;:7::i;:::-;-1:-1:-1;;;;;1208:21:105;;1204:94;;1267:10;1279:7;:5;:7::i;:::-;1252:35;;-1:-1:-1;;;1252:35:105;;;;;;;;;:::i;2494:922:60:-;689:66;2910:48;;;2906:504;;;2974:37;2993:17;2974:18;:37::i;2906:504::-;3064:17;-1:-1:-1;;;;;3046:50:60;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3046:52:60;;;;;;;;-1:-1:-1;;3046:52:60;;;;;;;;;;;;:::i;:::-;;;3042:291;;3262:56;;-1:-1:-1;;;3262:56:60;;36150:2:142;3262:56:60;;;36132:21:142;36189:2;36169:18;;;36162:30;36228:34;36208:18;;;36201:62;-1:-1:-1;;;36279:18:142;;;36272:44;36333:19;;3262:56:60;35948:410:142;3042:291:60;-1:-1:-1;;;;;;;;;;;3148:28:60;;3140:82;;;;-1:-1:-1;;;3140:82:60;;36565:2:142;3140:82:60;;;36547:21:142;36604:2;36584:18;;;36577:30;36643:34;36623:18;;;36616:62;-1:-1:-1;;;36694:18:142;;;36687:39;36743:19;;3140:82:60;36363:405:142;3140:82:60;3099:138;3346:53;3364:17;3383:4;3389:9;3346:17;:53::i;8651:152:107:-;8724:20;8733:10;8724:8;:20::i;:::-;8719:78;;8767:19;;-1:-1:-1;;;8767:19:107;;;;;;;;;;;1349:282:81;1436:4;1543:23;1558:7;1543:14;:23::i;:::-;:81;;;;;1570:54;1603:7;1612:11;1570:32;:54::i;:::-;1536:88;1349:282;-1:-1:-1;;;1349:282:81:o;24929:474:107:-;-1:-1:-1;;;;;25042:27:107;;25006:33;25042:27;;;:18;:27;;;;;;;;25006:63;;;;;;;;;;;;;;;;;;;25042:27;;25006:63;;;25042:27;25006:63;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25006:63:107;;;;;;;;;;;;;;;;;;;;;;;25150:9;25145:252;25169:16;:23;25165:1;:27;25145:252;;;25340:16;25357:1;25340:19;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;25325:52:107;;25378:7;25325:61;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25194:3;;;;;:::i;:::-;;;;25145:252;;2687:187:45;2779:6;;;-1:-1:-1;;;;;2795:17:45;;;-1:-1:-1;;;;;;2795:17:45;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;20676::107:-;20753:18;;;20733:11;:39;;-1:-1:-1;;;;;;20733:39:107;;;-1:-1:-1;;;;;20753:18:107;;20733:39;;;;20782:25;;;20822:34;;;;;;20753:18;;20822:34;:::i;:::-;;;;;;;;20676:187::o;4173:501:43:-;4261:22;4269:4;4275:7;4261;:22::i;:::-;4256:412;;4444:39;4475:7;4444:30;:39::i;:::-;4554:49;4593:4;4600:2;4554:30;:49::i;:::-;4351:274;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4351:274:43;;;;;;;;;;-1:-1:-1;;;4299:358:43;;;;;;;:::i;2006:109:48:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;5173:642:73:-;5592:23;5618:69;5646:4;5618:69;;;;;;;;;;;;;;;;;5626:5;-1:-1:-1;;;;;5618:27:73;;;:69;;;;;:::i;:::-;5592:95;;5705:10;:17;5726:1;5705:22;:56;;;;5742:10;5731:30;;;;;;;;;;;;:::i;:::-;5697:111;;;;-1:-1:-1;;;5697:111:73;;38258:2:142;5697:111:73;;;38240:21:142;38297:2;38277:18;;;38270:30;38336:34;38316:18;;;38309:62;-1:-1:-1;;;38387:18:142;;;38380:40;38437:19;;5697:111:73;38056:406:142;1406:259:60;1487:37;1506:17;1487:18;:37::i;:::-;1479:95;;;;-1:-1:-1;;;1479:95:60;;38669:2:142;1479:95:60;;;38651:21:142;38708:2;38688:18;;;38681:30;38747:34;38727:18;;;38720:62;-1:-1:-1;;;38798:18:142;;;38791:43;38851:19;;1479:95:60;38467:409:142;1479:95:60;-1:-1:-1;;;;;;;;;;;1584:74:60;;-1:-1:-1;;;;;;1584:74:60;-1:-1:-1;;;;;1584:74:60;;;;;;;;;;1406:259::o;2057:265::-;2165:29;2176:17;2165:10;:29::i;:::-;2222:1;2208:4;:11;:15;:28;;;;2227:9;2208:28;2204:112;;;2252:53;2281:17;2300:4;2252:28;:53::i;704:427:81:-;768:4;975:68;1008:7;-1:-1:-1;;;975:32:81;:68::i;:::-;:149;;;;-1:-1:-1;1060:64:81;1093:7;-1:-1:-1;;;;;;1060:32:81;:64::i;:::-;1059:65;956:168;704:427;-1:-1:-1;;704:427:81:o;4421:647::-;4592:71;;;-1:-1:-1;;;;;;39043:33:142;;4592:71:81;;;;39025:52:142;;;;4592:71:81;;;;;;;;;;38998:18:142;;;;4592:71:81;;;;;;;;;-1:-1:-1;;;;;4592:71:81;-1:-1:-1;;;4592:71:81;;;4871:20;;4523:4;;4592:71;4523:4;;;;;;4592:71;4523:4;;4871:20;4836:7;4829:5;4818:86;4807:97;;4931:16;4917:30;;4981:4;4975:11;4960:26;;5013:7;:29;;;;;5038:4;5024:10;:18;;5013:29;:48;;;;;5060:1;5046:11;:15;5013:48;5006:55;4421:647;-1:-1:-1;;;;;;;4421:647:81:o;2473:149:52:-;2531:13;2563:52;-1:-1:-1;;;;;2575:22:52;;376:2;1884:437;1959:13;1984:19;2016:10;2020:6;2016:1;:10;:::i;:::-;:14;;2029:1;2016:14;:::i;:::-;-1:-1:-1;;;;;2006:25:52;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2006:25:52;;1984:47;;-1:-1:-1;;;2041:6:52;2048:1;2041:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2041:15:52;;;;;;;;;-1:-1:-1;;;2066:6:52;2073:1;2066:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2066:15:52;;;;;;;;-1:-1:-1;2096:9:52;2108:10;2112:6;2108:1;:10;:::i;:::-;:14;;2121:1;2108:14;:::i;:::-;2096:26;;2091:128;2128:1;2124;:5;2091:128;;;-1:-1:-1;;;2171:5:52;2179:3;2171:11;2162:21;;;;;;;:::i;:::-;;;;2150:6;2157:1;2150:9;;;;;;;;:::i;:::-;;;;:33;-1:-1:-1;;;;;2150:33:52;;;;;;;;-1:-1:-1;2207:1:52;2197:11;;;;;2131:3;;;:::i;:::-;;;2091:128;;;-1:-1:-1;2236:10:52;;2228:55;;;;-1:-1:-1;;;2228:55:52;;39431:2:142;2228:55:52;;;39413:21:142;;;39450:18;;;39443:30;39509:34;39489:18;;;39482:62;39561:18;;2228:55:52;39229:356:142;4108:223:76;4241:12;4272:52;4294:6;4302:4;4308:1;4311:12;4272:21;:52::i;:::-;4265:59;4108:223;-1:-1:-1;;;;4108:223:76:o;1771:152:60:-;1837:37;1856:17;1837:18;:37::i;:::-;1889:27;;-1:-1:-1;;;;;1889:27:60;;;;;;;;1771:152;:::o;6674:198:76:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;5165:446::-;5330:12;5387:5;5362:21;:30;;5354:81;;;;-1:-1:-1;;;5354:81:76;;39792:2:142;5354:81:76;;;39774:21:142;39831:2;39811:18;;;39804:30;39870:34;39850:18;;;39843:62;-1:-1:-1;;;39921:18:142;;;39914:36;39967:19;;5354:81:76;39590:402:142;5354:81:76;5446:12;5460:23;5487:6;-1:-1:-1;;;;;5487:11:76;5506:5;5513:4;5487:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:73;;;;5535:69;5562:6;5570:7;5579:10;5591:12;5535:26;:69::i;7058:325::-;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:76;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:76:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;8121:18;8132:6;8121:10;:18::i;:::-;8113:60;;;;-1:-1:-1;;;8113:60:76;;40491:2:142;8113:60:76;;;40473:21:142;40530:2;40510:18;;;40503:30;40569:31;40549:18;;;40542:59;40618:18;;8113:60:76;40289:353:142;8113:60:76;-1:-1:-1;8208:10:76;8201:17;;7875:418;8249:33;8257:10;8269:12;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:76;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:286:142;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:142;;209:43;;199:71;;266:1;263;256:12;861:180;920:6;973:2;961:9;952:7;948:23;944:32;941:52;;;989:1;986;979:12;941:52;-1:-1:-1;1012:23:142;;861:180;-1:-1:-1;861:180:142:o;1046:131::-;-1:-1:-1;;;;;1121:31:142;;1111:42;;1101:70;;1167:1;1164;1157:12;1182:134;1250:20;;1279:31;1250:20;1279:31;:::i;:::-;1182:134;;;:::o;1321:388::-;1389:6;1397;1450:2;1438:9;1429:7;1425:23;1421:32;1418:52;;;1466:1;1463;1456:12;1418:52;1505:9;1492:23;1524:31;1549:5;1524:31;:::i;:::-;1574:5;-1:-1:-1;1631:2:142;1616:18;;1603:32;1644:33;1603:32;1644:33;:::i;:::-;1696:7;1686:17;;;1321:388;;;;;:::o;1714:247::-;1773:6;1826:2;1814:9;1805:7;1801:23;1797:32;1794:52;;;1842:1;1839;1832:12;1794:52;1881:9;1868:23;1900:31;1925:5;1900:31;:::i;2151:315::-;2219:6;2227;2280:2;2268:9;2259:7;2255:23;2251:32;2248:52;;;2296:1;2293;2286:12;2248:52;2335:9;2322:23;2354:31;2379:5;2354:31;:::i;:::-;2404:5;2456:2;2441:18;;;;2428:32;;-1:-1:-1;;;2151:315:142:o;2471:104::-;-1:-1:-1;;;;;2537:31:142;2525:44;;2471:104::o;2580:203::-;-1:-1:-1;;;;;2744:32:142;;;;2726:51;;2714:2;2699:18;;2580:203::o;2788:315::-;2856:6;2864;2917:2;2905:9;2896:7;2892:23;2888:32;2885:52;;;2933:1;2930;2923:12;2885:52;2969:9;2956:23;2946:33;;3029:2;3018:9;3014:18;3001:32;3042:31;3067:5;3042:31;:::i;3108:127::-;3169:10;3164:3;3160:20;3157:1;3150:31;3200:4;3197:1;3190:15;3224:4;3221:1;3214:15;3240:257;3312:4;3306:11;;;3344:17;;-1:-1:-1;;;;;3376:34:142;;3412:22;;;3373:62;3370:88;;;3438:18;;:::i;:::-;3474:4;3467:24;3240:257;:::o;3502:255::-;3574:2;3568:9;3616:6;3604:19;;-1:-1:-1;;;;;3638:34:142;;3674:22;;;3635:62;3632:88;;;3700:18;;:::i;3762:253::-;3834:2;3828:9;3876:4;3864:17;;-1:-1:-1;;;;;3896:34:142;;3932:22;;;3893:62;3890:88;;;3958:18;;:::i;4020:253::-;4092:2;4086:9;4134:4;4122:17;;-1:-1:-1;;;;;4154:34:142;;4190:22;;;4151:62;4148:88;;;4216:18;;:::i;4278:253::-;4350:2;4344:9;4392:4;4380:17;;-1:-1:-1;;;;;4412:34:142;;4448:22;;;4409:62;4406:88;;;4474:18;;:::i;4536:275::-;4607:2;4601:9;4672:2;4653:13;;-1:-1:-1;;4649:27:142;4637:40;;-1:-1:-1;;;;;4692:34:142;;4728:22;;;4689:62;4686:88;;;4754:18;;:::i;:::-;4790:2;4783:22;4536:275;;-1:-1:-1;4536:275:142:o;4816:187::-;4865:4;-1:-1:-1;;;;;4887:30:142;;4884:56;;;4920:18;;:::i;:::-;-1:-1:-1;4986:2:142;4965:15;-1:-1:-1;;4961:29:142;4992:4;4957:40;;4816:187::o;5008:338::-;5073:5;5102:53;5118:36;5147:6;5118:36;:::i;:::-;5102:53;:::i;:::-;5093:62;;5178:6;5171:5;5164:21;5218:3;5209:6;5204:3;5200:16;5197:25;5194:45;;;5235:1;5232;5225:12;5194:45;5284:6;5279:3;5272:4;5265:5;5261:16;5248:43;5338:1;5331:4;5322:6;5315:5;5311:18;5307:29;5300:40;5008:338;;;;;:::o;5351:222::-;5394:5;5447:3;5440:4;5432:6;5428:17;5424:27;5414:55;;5465:1;5462;5455:12;5414:55;5487:80;5563:3;5554:6;5541:20;5534:4;5526:6;5522:17;5487:80;:::i;5578:411::-;5633:5;5681:4;5669:9;5664:3;5660:19;5656:30;5653:50;;;5699:1;5696;5689:12;5653:50;5721:22;;:::i;:::-;5766:23;;5752:38;;5712:31;-1:-1:-1;5841:2:142;5826:18;;5813:32;-1:-1:-1;;;;;5857:30:142;;5854:50;;;5900:1;5897;5890:12;5854:50;5936:46;5978:3;5969:6;5958:9;5954:22;5936:46;:::i;:::-;5931:2;5924:5;5920:14;5913:70;;5578:411;;;;:::o;5994:118::-;6080:5;6073:13;6066:21;6059:5;6056:32;6046:60;;6102:1;6099;6092:12;6117:128;6182:20;;6211:28;6182:20;6211:28;:::i;6250:1871::-;6392:6;6400;6408;6416;6469:3;6457:9;6448:7;6444:23;6440:33;6437:53;;;6486:1;6483;6476:12;6437:53;6513:23;;-1:-1:-1;;;;;6585:14:142;;;6582:34;;;6612:1;6609;6602:12;6582:34;6635:22;;;;6691:6;6673:16;;;6669:29;6666:49;;;6711:1;6708;6701:12;6666:49;6737:22;;:::i;:::-;6782;6801:2;6782:22;:::i;:::-;6775:5;6768:37;6837:31;6864:2;6860;6856:11;6837:31;:::i;:::-;6832:2;6825:5;6821:14;6814:55;6922:2;6918;6914:11;6901:25;6896:2;6889:5;6885:14;6878:49;6980:2;6976;6972:11;6959:25;6954:2;6947:5;6943:14;6936:49;7039:3;7035:2;7031:12;7018:26;7012:3;7005:5;7001:15;6994:51;7078:32;7105:3;7101:2;7097:12;7078:32;:::i;:::-;7072:3;7065:5;7061:15;7054:57;7144:32;7171:3;7167:2;7163:12;7144:32;:::i;:::-;7138:3;7131:5;7127:15;7120:57;7223:3;7219:2;7215:12;7202:26;7253:2;7243:8;7240:16;7237:36;;;7269:1;7266;7259:12;7237:36;7306:54;7352:7;7341:8;7337:2;7333:17;7306:54;:::i;:::-;7300:3;7293:5;7289:15;7282:79;;7380:3;7415:31;7442:2;7438;7434:11;7415:31;:::i;:::-;7399:14;;;7392:55;7466:3;7507:11;;;7494:25;7531:16;;;7528:36;;;7560:1;7557;7550:12;7528:36;7596:45;7633:7;7622:8;7618:2;7614:17;7596:45;:::i;:::-;7591:2;7584:5;7580:14;7573:69;;;7661:3;7696:28;7720:2;7716;7712:11;7696:28;:::i;:::-;7680:14;;;7673:52;7744:3;7785:11;;;7772:25;7809:16;;;7806:36;;;7838:1;7835;7828:12;7806:36;7874:45;7911:7;7900:8;7896:2;7892:17;7874:45;:::i;:::-;7869:2;7862:5;7858:14;7851:69;;;7939:5;7929:15;;;;;7963:38;7997:2;7986:9;7982:18;7963:38;:::i;:::-;7953:48;;8020:38;8054:2;8043:9;8039:18;8020:38;:::i;:::-;8010:48;;8077:38;8111:2;8100:9;8096:18;8077:38;:::i;:::-;8067:48;;6250:1871;;;;;;;:::o;8386:585::-;8463:6;8471;8524:2;8512:9;8503:7;8499:23;8495:32;8492:52;;;8540:1;8537;8530:12;8492:52;8579:9;8566:23;8598:31;8623:5;8598:31;:::i;:::-;8648:5;-1:-1:-1;8704:2:142;8689:18;;8676:32;-1:-1:-1;;;;;8720:30:142;;8717:50;;;8763:1;8760;8753:12;8717:50;8786:22;;8839:4;8831:13;;8827:27;-1:-1:-1;8817:55:142;;8868:1;8865;8858:12;8817:55;8891:74;8957:7;8952:2;8939:16;8934:2;8930;8926:11;8891:74;:::i;:::-;8881:84;;;8386:585;;;;;:::o;8976:153::-;9054:20;;9103:1;9093:12;;9083:40;;9119:1;9116;9109:12;9134:110;9218:1;9211:5;9208:12;9198:40;;9234:1;9231;9224:12;9249:152;9326:20;;9355:40;9326:20;9355:40;:::i;9406:416::-;9470:5;9518:4;9506:9;9501:3;9497:19;9493:30;9490:50;;;9536:1;9533;9526:12;9490:50;9569:2;9563:9;9611:4;9599:17;;-1:-1:-1;;;;;9631:34:142;;9667:22;;;9628:62;9625:88;;;9693:18;;:::i;:::-;9729:2;9722:22;9792:23;;9777:39;;-1:-1:-1;9762:6:142;9406:416;-1:-1:-1;9406:416:142:o;9827:701::-;9890:5;9938:4;9926:9;9921:3;9917:19;9913:30;9910:50;;;9956:1;9953;9946:12;9910:50;9978:22;;:::i;:::-;9969:31;;10037:9;10024:23;10056:33;10081:7;10056:33;:::i;:::-;10098:22;;10172:2;10157:18;;10144:32;10185:33;10144:32;10185:33;:::i;:::-;10250:7;10245:2;10238:5;10234:14;10227:31;;10318:2;10307:9;10303:18;10290:32;10285:2;10278:5;10274:14;10267:56;10383:2;10372:9;10368:18;10355:32;10350:2;10343:5;10339:14;10332:56;10449:3;10438:9;10434:19;10421:33;10415:3;10408:5;10404:15;10397:58;10516:3;10505:9;10501:19;10488:33;10482:3;10475:5;10471:15;10464:58;9827:701;;;;:::o;10533:1083::-;10608:5;10647:9;10642:3;10638:19;10677:6;10673:2;10669:15;10666:35;;;10697:1;10694;10687:12;10666:35;10719:22;;:::i;:::-;10710:31;;10761:4;10757:2;10753:13;10750:33;;;10779:1;10776;10769:12;10750:33;;10807:22;;:::i;:::-;10867:9;10854:23;10845:7;10838:40;10940:2;10929:9;10925:18;10912:32;10907:2;10898:7;10894:16;10887:58;11007:2;10996:9;10992:18;10979:32;10974:2;10965:7;10961:16;10954:58;11074:2;11063:9;11059:18;11046:32;11041:2;11032:7;11028:16;11021:58;11102:7;11095:5;11088:22;;11142:50;11186:4;11175:9;11171:20;11142:50;:::i;:::-;11137:2;11130:5;11126:14;11119:74;11225:48;11268:3;11257:9;11253:19;11225:48;:::i;:::-;11220:2;11213:5;11209:14;11202:72;11306:61;11363:3;11357;11346:9;11342:19;11306:61;:::i;:::-;11301:2;11294:5;11290:14;11283:85;11402:61;11459:3;11452:4;11441:9;11437:20;11402:61;:::i;:::-;11395:4;11388:5;11384:16;11377:87;11497:39;11531:3;11520:9;11516:19;11497:39;:::i;:::-;11491:3;11484:5;11480:15;11473:64;11570:39;11604:3;11593:9;11589:19;11570:39;:::i;:::-;11564:3;11557:5;11553:15;11546:64;10533:1083;;;;:::o;11621:644::-;11773:6;11781;11789;11842:3;11830:9;11821:7;11817:23;11813:33;11810:53;;;11859:1;11856;11849:12;11810:53;11898:9;11885:23;11917:31;11942:5;11917:31;:::i;:::-;11967:5;-1:-1:-1;11991:75:142;12058:7;12053:2;12038:18;;11991:75;:::i;:::-;11981:85;-1:-1:-1;12117:3:142;12102:19;;12089:33;-1:-1:-1;;;;;12134:30:142;;12131:50;;;12177:1;12174;12167:12;12131:50;12200:59;12251:7;12242:6;12231:9;12227:22;12200:59;:::i;:::-;12190:69;;;11621:644;;;;;:::o;13582:250::-;13667:1;13677:113;13691:6;13688:1;13685:13;13677:113;;;13767:11;;;13761:18;13748:11;;;13741:39;13713:2;13706:10;13677:113;;;-1:-1:-1;;13824:1:142;13806:16;;13799:27;13582:250::o;13837:271::-;13879:3;13917:5;13911:12;13944:6;13939:3;13932:19;13960:76;14029:6;14022:4;14017:3;14013:14;14006:4;13999:5;13995:16;13960:76;:::i;:::-;14090:2;14069:15;-1:-1:-1;;14065:29:142;14056:39;;;;14097:4;14052:50;;13837:271;-1:-1:-1;;13837:271:142:o;14113:220::-;14262:2;14251:9;14244:21;14225:4;14282:45;14323:2;14312:9;14308:18;14300:6;14282:45;:::i;14785:785::-;14946:6;14954;14962;14970;15023:3;15011:9;15002:7;14998:23;14994:33;14991:53;;;15040:1;15037;15030:12;14991:53;15079:9;15066:23;15098:31;15123:5;15098:31;:::i;:::-;15148:5;-1:-1:-1;15205:2:142;15190:18;;15177:32;15218:33;15177:32;15218:33;:::i;:::-;15270:7;-1:-1:-1;15296:75:142;15363:7;15358:2;15343:18;;15296:75;:::i;:::-;15286:85;-1:-1:-1;15422:3:142;15407:19;;15394:33;-1:-1:-1;;;;;15439:30:142;;15436:50;;;15482:1;15479;15472:12;15436:50;15505:59;15556:7;15547:6;15536:9;15532:22;15505:59;:::i;:::-;15495:69;;;14785:785;;;;;;;:::o;15575:127::-;15636:10;15631:3;15627:20;15624:1;15617:31;15667:4;15664:1;15657:15;15691:4;15688:1;15681:15;15707:168;15780:9;;;15811;;15828:15;;;15822:22;;15808:37;15798:71;;15849:18;;:::i;15880:127::-;15941:10;15936:3;15932:20;15929:1;15922:31;15972:4;15969:1;15962:15;15996:4;15993:1;15986:15;16012:277;16099:6;16152:2;16140:9;16131:7;16127:23;16123:32;16120:52;;;16168:1;16165;16158:12;16120:52;16200:9;16194:16;16219:40;16253:5;16219:40;:::i;16294:282::-;-1:-1:-1;;;;;16494:32:142;;;;16476:51;;16558:2;16543:18;;16536:34;16464:2;16449:18;;16294:282::o;16581:184::-;16651:6;16704:2;16692:9;16683:7;16679:23;16675:32;16672:52;;;16720:1;16717;16710:12;16672:52;-1:-1:-1;16743:16:142;;16581:184;-1:-1:-1;16581:184:142:o;17049:375::-;-1:-1:-1;;;;;17307:15:142;;;17289:34;;17359:15;;;;17354:2;17339:18;;17332:43;17406:2;17391:18;;17384:34;;;;17239:2;17224:18;;17049:375::o;17429:304::-;-1:-1:-1;;;;;17659:15:142;;;17641:34;;17711:15;;17706:2;17691:18;;17684:43;17591:2;17576:18;;17429:304::o;17738:217::-;17778:1;17804;17794:132;;17848:10;17843:3;17839:20;17836:1;17829:31;17883:4;17880:1;17873:15;17911:4;17908:1;17901:15;17794:132;-1:-1:-1;17940:9:142;;17738:217::o;17960:125::-;18025:9;;;18046:10;;;18043:36;;;18059:18;;:::i;18505:380::-;18584:1;18580:12;;;;18627;;;18648:61;;18702:4;18694:6;18690:17;18680:27;;18648:61;18755:2;18747:6;18744:14;18724:18;18721:38;18718:161;;18801:10;18796:3;18792:20;18789:1;18782:31;18836:4;18833:1;18826:15;18864:4;18861:1;18854:15;18718:161;;18505:380;;;:::o;19016:545::-;19118:2;19113:3;19110:11;19107:448;;;19154:1;19179:5;19175:2;19168:17;19224:4;19220:2;19210:19;19294:2;19282:10;19278:19;19275:1;19271:27;19265:4;19261:38;19330:4;19318:10;19315:20;19312:47;;;-1:-1:-1;19353:4:142;19312:47;19408:2;19403:3;19399:12;19396:1;19392:20;19386:4;19382:31;19372:41;;19463:82;19481:2;19474:5;19471:13;19463:82;;;19526:17;;;19507:1;19496:13;19463:82;;;19467:3;;;19016:545;;;:::o;19737:1352::-;19857:10;;-1:-1:-1;;;;;19879:30:142;;19876:56;;;19912:18;;:::i;:::-;19941:97;20031:6;19991:38;20023:4;20017:11;19991:38;:::i;:::-;19985:4;19941:97;:::i;:::-;20093:4;;20157:2;20146:14;;20174:1;20169:663;;;;20876:1;20893:6;20890:89;;;-1:-1:-1;20945:19:142;;;20939:26;20890:89;-1:-1:-1;;19694:1:142;19690:11;;;19686:24;19682:29;19672:40;19718:1;19714:11;;;19669:57;20992:81;;20139:944;;20169:663;18963:1;18956:14;;;19000:4;18987:18;;-1:-1:-1;;20205:20:142;;;20323:236;20337:7;20334:1;20331:14;20323:236;;;20426:19;;;20420:26;20405:42;;20518:27;;;;20486:1;20474:14;;;;20353:19;;20323:236;;;20327:3;20587:6;20578:7;20575:19;20572:201;;;20648:19;;;20642:26;-1:-1:-1;;20731:1:142;20727:14;;;20743:3;20723:24;20719:37;20715:42;20700:58;20685:74;;20572:201;-1:-1:-1;;;;;20819:1:142;20803:14;;;20799:22;20786:36;;-1:-1:-1;19737:1352:142:o;21094:251::-;21164:6;21217:2;21205:9;21196:7;21192:23;21188:32;21185:52;;;21233:1;21230;21223:12;21185:52;21265:9;21259:16;21284:31;21309:5;21284:31;:::i;21350:127::-;21411:10;21406:3;21402:20;21399:1;21392:31;21442:4;21439:1;21432:15;21466:4;21463:1;21456:15;21482:1011;21577:6;21608:2;21651;21639:9;21630:7;21626:23;21622:32;21619:52;;;21667:1;21664;21657:12;21619:52;21694:16;;-1:-1:-1;;;;;21759:14:142;;;21756:34;;;21786:1;21783;21776:12;21756:34;21824:6;21813:9;21809:22;21799:32;;21869:7;21862:4;21858:2;21854:13;21850:27;21840:55;;21891:1;21888;21881:12;21840:55;21920:2;21914:9;21942:2;21938;21935:10;21932:36;;;21948:18;;:::i;:::-;21994:2;21991:1;21987:10;21977:20;;22017:28;22041:2;22037;22033:11;22017:28;:::i;:::-;22079:15;;;22149:11;;;22145:20;;;22110:12;;;;22177:19;;;22174:39;;;22209:1;22206;22199:12;22174:39;22233:11;;;;22253:210;22269:6;22264:3;22261:15;22253:210;;;22342:3;22336:10;22323:23;;22359:31;22384:5;22359:31;:::i;:::-;22403:18;;;22286:12;;;;22441;;;;22253:210;;;22482:5;21482:1011;-1:-1:-1;;;;;;;;21482:1011:142:o;22498:135::-;22537:3;22558:17;;;22555:43;;22578:18;;:::i;:::-;-1:-1:-1;22625:1:142;22614:13;;22498:135::o;22638:128::-;22705:9;;;22726:11;;;22723:37;;;22740:18;;:::i;22771:772::-;22821:3;22862:5;22856:12;22891:36;22917:9;22891:36;:::i;:::-;22936:19;;;22974:4;22997:1;23014:18;;;23041:146;;;;23201:1;23196:341;;;;23007:530;;23041:146;-1:-1:-1;;23083:24:142;;23069:12;;;23062:46;23155:14;;23148:22;23145:1;23141:30;23132:40;;23128:49;;;-1:-1:-1;23041:146:142;;23196:341;23227:5;23224:1;23217:16;23274:2;23271:1;23261:16;23299:1;23313:174;23327:6;23324:1;23321:13;23313:174;;;23414:14;;23396:11;;;23392:20;;23385:44;23457:16;;;;23342:10;;23313:174;;;23511:11;;23507:20;;;-1:-1:-1;;23007:530:142;;;;;;22771:772;;;;:::o;23548:252::-;23635:5;23629:12;23624:3;23617:25;23599:3;23688:4;23681:5;23677:16;23671:23;23726:4;23719;23714:3;23710:14;23703:28;23747:47;23788:4;23783:3;23779:14;23765:12;23747:47;:::i;23805:461::-;23858:3;23896:5;23890:12;23923:6;23918:3;23911:19;23949:4;23978:2;23973:3;23969:12;23962:19;;24015:2;24008:5;24004:14;24036:1;24046:195;24060:6;24057:1;24054:13;24046:195;;;24125:13;;-1:-1:-1;;;;;24121:39:142;24109:52;;24181:12;;;;24216:15;;;;24157:1;24075:9;24046:195;;;-1:-1:-1;24257:3:142;;23805:461;-1:-1:-1;;;;;23805:461:142:o;24271:804::-;24631:6;24620:9;24613:25;24674:3;24669:2;24658:9;24654:18;24647:31;24594:4;24701:54;24750:3;24739:9;24735:19;24727:6;24701:54;:::i;:::-;24803:9;24795:6;24791:22;24786:2;24775:9;24771:18;24764:50;24837:42;24872:6;24864;24837:42;:::i;:::-;-1:-1:-1;;;;;24915:32:142;;24910:2;24895:18;;24888:60;24985:22;;;24979:3;24964:19;;24957:51;24823:56;-1:-1:-1;25025:44:142;24823:56;25054:6;25025:44;:::i;25269:500::-;25523:6;25512:9;25505:25;25566:2;25561;25550:9;25546:18;25539:30;25486:4;25592:53;25641:2;25630:9;25626:18;25618:6;25592:53;:::i;:::-;25693:9;25685:6;25681:22;25676:2;25665:9;25661:18;25654:50;25721:42;25756:6;25748;25721:42;:::i;26389:408::-;26591:2;26573:21;;;26630:2;26610:18;;;26603:30;-1:-1:-1;;;;;;;;;;;26664:2:142;26649:18;;26642:62;-1:-1:-1;;;26735:2:142;26720:18;;26713:42;26787:3;26772:19;;26389:408::o;26802:::-;27004:2;26986:21;;;27043:2;27023:18;;;27016:30;-1:-1:-1;;;;;;;;;;;27077:2:142;27062:18;;27055:62;-1:-1:-1;;;27148:2:142;27133:18;;27126:42;27200:3;27185:19;;26802:408::o;27921:315::-;-1:-1:-1;;;;;28096:32:142;;28078:51;;28165:2;28160;28145:18;;28138:30;;;-1:-1:-1;;28185:45:142;;28211:18;;28203:6;28185:45;:::i;28919:127::-;28980:10;28975:3;28971:20;28968:1;28961:31;29011:4;29008:1;29001:15;29035:4;29032:1;29025:15;29051:1653;29143:6;29174:2;29217;29205:9;29196:7;29192:23;29188:32;29185:52;;;29233:1;29230;29223:12;29185:52;29260:16;;-1:-1:-1;;;;;29325:14:142;;;29322:34;;;29352:1;29349;29342:12;29322:34;29375:22;;;;29431:4;29413:16;;;29409:27;29406:47;;;29449:1;29446;29439:12;29406:47;29475:22;;:::i;:::-;29526:2;29520:9;29513:5;29506:24;29568:2;29564;29560:11;29554:18;29581:33;29606:7;29581:33;:::i;:::-;29630:14;;;29623:31;29692:2;29684:11;;29678:18;29705:33;29678:18;29705:33;:::i;:::-;29765:2;29754:14;;29747:31;29817:2;29809:11;;29803:18;29833:16;;;29830:36;;;29862:1;29859;29852:12;29830:36;29885:17;;29936:2;29918:16;;;29914:25;29911:45;;;29952:1;29949;29942:12;29911:45;29980:22;;:::i;:::-;30033:2;30027:9;30018:7;30011:26;30076:2;30072;30068:11;30062:18;30105:2;30095:8;30092:16;30089:36;;;30121:1;30118;30111:12;30089:36;30144:17;;;-1:-1:-1;30192:4:142;30184:13;;30180:27;-1:-1:-1;30170:55:142;;30221:1;30218;30211:12;30170:55;30250:2;30244:9;30234:19;;30275:49;30291:32;30320:2;30291:32;:::i;30275:49::-;30347:2;30340:5;30333:17;30387:7;30382:2;30377;30373;30369:11;30365:20;30362:33;30359:53;;;30408:1;30405;30398:12;30359:53;30421:67;30485:2;30480;30473:5;30469:14;30464:2;30460;30456:11;30421:67;:::i;:::-;30504:16;;;30497:31;;;;-1:-1:-1;30555:2:142;30544:14;;30537:31;;;;-1:-1:-1;30615:3:142;30607:12;;;30601:19;30584:15;;;30577:44;30668:3;30660:12;;;30654:19;30637:15;;;30630:44;30548:5;29051:1653;-1:-1:-1;;;29051:1653:142:o;30709:407::-;30911:2;30893:21;;;30950:2;30930:18;;;30923:30;30989:34;30984:2;30969:18;;30962:62;-1:-1:-1;;;31055:2:142;31040:18;;31033:41;31106:3;31091:19;;30709:407::o;31121:143::-;31205:1;31198:5;31195:12;31185:46;;31211:18;;:::i;:::-;31240;;31121:143::o;31269:142::-;31352:1;31345:5;31342:12;31332:46;;31358:18;;:::i;31953:1260::-;32143:4;32185:3;32174:9;32170:19;32162:27;;32214:6;32208:13;32254:2;32248:9;32237;32230:28;32310:4;32306:2;32302:13;32296:20;32289:4;32278:9;32274:20;32267:50;32369:4;32365:2;32361:13;32355:20;32348:4;32337:9;32333:20;32326:50;32428:4;32424:2;32420:13;32414:20;32407:4;32396:9;32392:20;32385:50;;32482:4;32474:6;32470:17;32464:24;32497:64;32555:4;32544:9;32540:20;32526:12;32497:64;:::i;:::-;;32610:4;32602:6;32598:17;32592:24;32625:65;32684:4;32673:9;32669:20;32653:14;32625:65;:::i;:::-;-1:-1:-1;32739:4:142;32727:17;;;32721:24;31491:12;32821:4;32806:20;;31479:25;32876:4;32864:17;;;32858:24;31635:12;;-1:-1:-1;;;;;31631:21:142;;;32957:4;32942:20;;31619:34;31706:4;31695:16;;31689:23;31685:32;31669:14;;;31662:56;31767:4;31756:16;;31750:23;31734:14;;;31727:47;31812:16;;;31806:23;31790:14;;;31783:47;31868:16;;31862:23;31846:14;;;31839:47;31599:3;31924:16;;;31918:23;31902:14;;;31895:47;33000:17;;32994:24;33027:58;33077:6;33062:22;;32994:24;33027:58;:::i;:::-;;33134:4;33126:6;33122:17;33116:24;33149:58;33199:6;33188:9;33184:22;33168:14;33149:58;:::i;:::-;;31953:1260;;;;:::o;33218:979::-;33643:6;33632:9;33625:25;33606:4;33686:1;33682;33677:3;33673:11;33669:19;33736:2;33728:6;33724:15;33719:2;33708:9;33704:18;33697:43;33776:3;33771:2;33760:9;33756:18;33749:31;33803:46;33844:3;33833:9;33829:19;33821:6;33803:46;:::i;:::-;33897:2;33889:6;33885:15;33880:2;33869:9;33865:18;33858:43;33938:6;33932:3;33921:9;33917:19;33910:35;33994:9;33986:6;33982:22;33976:3;33965:9;33961:19;33954:51;34028:42;34063:6;34055;34028:42;:::i;:::-;34014:56;;;34119:9;34111:6;34107:22;34101:3;34090:9;34086:19;34079:51;34147:44;34184:6;34176;34147:44;:::i;:::-;34139:52;33218:979;-1:-1:-1;;;;;;;;;;33218:979:142:o;34202:613::-;34477:25;;;-1:-1:-1;;;;;34576:15:142;;;34571:2;34556:18;;34549:43;34628:15;;;34623:2;34608:18;;34601:43;34680:15;;34675:2;34660:18;;34653:43;34529:3;34727;34712:19;;34705:32;;;34458:4;;34754:55;;34789:19;;34781:6;34754:55;:::i;36989:812::-;-1:-1:-1;;;37395:3:142;37388:38;37370:3;37455:6;37449:13;37471:75;37539:6;37534:2;37529:3;37525:12;37518:4;37510:6;37506:17;37471:75;:::i;:::-;-1:-1:-1;;;37605:2:142;37565:16;;;37597:11;;;37590:40;37655:13;;37677:76;37655:13;37739:2;37731:11;;37724:4;37712:17;;37677:76;:::i;:::-;37773:17;37792:2;37769:26;;36989:812;-1:-1:-1;;;;36989:812:142:o;37806:245::-;37873:6;37926:2;37914:9;37905:7;37901:23;37897:32;37894:52;;;37942:1;37939;37932:12;37894:52;37974:9;37968:16;37993:28;38015:5;37993:28;:::i;39088:136::-;39127:3;39155:5;39145:39;;39164:18;;:::i;:::-;-1:-1:-1;;;39200:18:142;;39088:136::o;39997:287::-;40126:3;40164:6;40158:13;40180:66;40239:6;40234:3;40227:4;40219:6;40215:17;40180:66;:::i;:::-;40262:16;;;;;39997:287;-1:-1:-1;;39997:287:142:o","linkReferences":{},"immutableReferences":{"55572":[{"start":7649,"length":32},{"start":7716,"length":32},{"start":7967,"length":32},{"start":8034,"length":32},{"start":8390,"length":32}]}},"methodIdentifiers":{"COUNCIL_MEMBER()":"733a2d1f","DEFAULT_ADMIN_ROLE()":"a217fddf","MAX_FEE()":"bc063e1a","NATIVE()":"a0cf0aea","PRECISION_SCALE()":"d7050f07","VERSION()":"ffa1ad74","acceptCouncilSafe()":"b5058c50","activateMemberInStrategy(address,address)":"0d4a8b49","addStrategy(address)":"223e5479","addStrategyByPoolId(uint256)":"82d6a1e7","addressToMemberInfo(address)":"88cfe684","allo()":"d6d8428d","cloneNonce()":"33960459","collateralVaultTemplate()":"77122d56","communityFee()":"8961be6b","communityName()":"c6d572ae","councilSafe()":"6c53db9a","covenantIpfsHash()":"b64e39af","createPool(address,((uint256,uint256,uint256,uint256),uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256),address,address),(uint256,string))":"524e59e8","createPool(address,address,((uint256,uint256,uint256,uint256),uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256),address,address),(uint256,string))":"e16d0e32","deactivateMemberInStrategy(address,address)":"22bcf999","decreasePower(uint256)":"5ecf71c5","enabledStrategies(address)":"3a871fe1","feeReceiver()":"b3f00674","gardenToken()":"db61d65c","getBasisStakedAmount()":"0331383c","getMemberPowerInStrategy(address,address)":"7817ee4f","getMemberStakedAmount(address)":"2c611c4a","getRoleAdmin(bytes32)":"248a9ca3","getStakeAmountWithFees()":"28c309e9","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","increasePower(uint256)":"559de05d","initialize((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string),address,address,address)":"34196355","initialize(address)":"c4d66de8","isCouncilMember(address)":"ebd7dc52","isKickEnabled()":"1f787d28","isMember(address)":"a230c524","kickMember(address,address)":"6871eb4d","memberActivatedInStrategies(address,address)":"477a5cc0","memberPowerInStrategy(address,address)":"65e3864c","owner()":"8da5cb5b","pendingCouncilSafe()":"68decabb","profileId()":"08386eba","proxiableUUID()":"52d1902d","registerStakeAmount()":"78a0b8a9","registry()":"7b103999","registryFactory()":"f86c5f89","removeStrategy(address)":"175188e8","removeStrategyByPoolId(uint256)":"73265c37","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setBasisStakedAmount(uint256)":"31f61bca","setCollateralVaultTemplate(address)":"b0d3713a","setCommunityFee(uint256)":"0d12bbdb","setCouncilSafe(address)":"397e2543","setStrategyTemplate(address)":"1b71f0e4","stakeAndRegisterMember()":"3517aa7d","strategiesByMember(address,uint256)":"2b38c69c","strategyTemplate()":"5c94e4d2","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","unregisterMember()":"b99b4370","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"CallerNotOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_decreaseAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_currentPower\",\"type\":\"uint256\"}],\"name\":\"CantDecreaseMoreThanPower\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DecreaseUnderMinimum\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"KickNotEnabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewFeeGreaterThanMax\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PointsDeactivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RegistryCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderNotNewOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderNotStrategy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyDisabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyActivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyDeactivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotGardenOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"UserNotInCouncil\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ValueCannotBeZero\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"}],\"name\":\"AlloSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newAmount\",\"type\":\"uint256\"}],\"name\":\"BasisStakedAmountSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newFee\",\"type\":\"uint256\"}],\"name\":\"CommunityFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safeOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newSafeOwner\",\"type\":\"address\"}],\"name\":\"CouncilSafeChangeStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"CouncilSafeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_pointsToIncrease\",\"type\":\"uint256\"}],\"name\":\"MemberActivatedStrategy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"MemberDeactivatedStrategy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_transferAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountReturned\",\"type\":\"uint256\"}],\"name\":\"MemberKicked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_unstakedAmount\",\"type\":\"uint256\"}],\"name\":\"MemberPowerDecreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_stakedAmount\",\"type\":\"uint256\"}],\"name\":\"MemberPowerIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountStaked\",\"type\":\"uint256\"}],\"name\":\"MemberRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountReturned\",\"type\":\"uint256\"}],\"name\":\"MemberUnregistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"RegistryInitialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"StrategyAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COUNCIL_MEMBER\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_FEE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PRECISION_SCALE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"acceptCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"activateMemberInStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newStrategy\",\"type\":\"address\"}],\"name\":\"addStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"name\":\"addStrategyByPoolId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"addressToMemberInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isRegistered\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo\",\"outputs\":[{\"internalType\":\"contract FAllo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloneNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateralVaultTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"communityFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"communityName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"covenantIpfsHash\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct CVStrategyInitializeParamsV0_0\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct CVStrategyInitializeParamsV0_0\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"deactivateMemberInStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountUnstaked\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"enabledStrategies\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardenToken\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasisStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"getMemberPowerInStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"getMemberStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStakeAmountWithFees\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountStaked\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"}],\"internalType\":\"struct RegistryCommunityInitializeParamsV0_0\",\"name\":\"params\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isCouncilMember\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isKickEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMember\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isMember\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_transferAddress\",\"type\":\"address\"}],\"name\":\"kickMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"memberActivatedInStrategies\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isActivated\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"memberPowerInStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingCouncilSafe\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profileId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registerStakeAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"name\":\"removeStrategyByPoolId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newAmount\",\"type\":\"uint256\"}],\"name\":\"setBasisStakedAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setCollateralVaultTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newCommunityFee\",\"type\":\"uint256\"}],\"name\":\"setCommunityFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"setCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setStrategyTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stakeAndRegisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"strategiesByMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"strategiesAddresses\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategyTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unregisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"RegistryCommunityV0_0\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"COUNCIL_MEMBER()\":{\"notice\":\"Role to council safe members\"},\"MAX_FEE()\":{\"notice\":\"The maximum fee that can be charged to the community\"},\"NATIVE()\":{\"notice\":\"The native address to represent native token eg: ETH in mainnet\"},\"PRECISION_SCALE()\":{\"notice\":\"The precision scale used in the contract to avoid loss of precision\"},\"addressToMemberInfo(address)\":{\"notice\":\"Member information as the staked amount and if is registered in the community\"},\"allo()\":{\"notice\":\"The Allo contract address\"},\"cloneNonce()\":{\"notice\":\"The nonce used to create new strategy clones\"},\"collateralVaultTemplate()\":{\"notice\":\"The address of the collateral vault template\"},\"communityFee()\":{\"notice\":\"The fee charged to the community for each registration\"},\"communityName()\":{\"notice\":\"The community name\"},\"councilSafe()\":{\"notice\":\"The council safe contract address\"},\"covenantIpfsHash()\":{\"notice\":\"The covenant IPFS hash of community\"},\"enabledStrategies(address)\":{\"notice\":\"List of enabled/disabled strategies\"},\"feeReceiver()\":{\"notice\":\"The address that receives the community fee\"},\"gardenToken()\":{\"notice\":\"The token used to stake in the community\"},\"isKickEnabled()\":{\"notice\":\"Enable or disable the kick feature\"},\"memberActivatedInStrategies(address,address)\":{\"notice\":\"Mapping to check if a member is activated in a strategy\"},\"memberPowerInStrategy(address,address)\":{\"notice\":\"Power points for each member in each strategy\"},\"pendingCouncilSafe()\":{\"notice\":\"The address of the pending council safe owner\"},\"profileId()\":{\"notice\":\"The profileId of the community in the Allo Registry\"},\"registerStakeAmount()\":{\"notice\":\"The amount of tokens required to register a member\"},\"registry()\":{\"notice\":\"The Registry Allo contract\"},\"registryFactory()\":{\"notice\":\"The address of the registry factory\"},\"strategiesByMember(address,uint256)\":{\"notice\":\"List of strategies for each member are activated\"},\"strategyTemplate()\":{\"notice\":\"The address of the strategy template\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":\"RegistryCommunityV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293\",\"dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0xc3aed28a3fec8dcc2e95c8569aa2c4323897a1685c63746822956fe995eddf28\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c4126fea7a0d30c76aab94605930ed01c7e53df2f4a7bba4773c097904d5eb39\",\"dweb:/ipfs/QmNsDu9G5JKCXdTs1HmEyVcR3S4DhuiZRt2bEPVNYGckgw\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x6b05f27573e30362ec808b4d79f8156550a8dd5090b107b46928ab8d87be3c87\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://134753f1a9a463e4193ffa2b2f6e32813b7a3d7603ddacaedf0f65a6a72c864a\",\"dweb:/ipfs/QmZnQa6a3aFUvxdT1yaj72DBQUShfq5okHshhHwGv85Mdq\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"type":"error","name":"CallerNotOwner"},{"inputs":[{"internalType":"uint256","name":"_decreaseAmount","type":"uint256"},{"internalType":"uint256","name":"_currentPower","type":"uint256"}],"type":"error","name":"CantDecreaseMoreThanPower"},{"inputs":[],"type":"error","name":"DecreaseUnderMinimum"},{"inputs":[],"type":"error","name":"KickNotEnabled"},{"inputs":[],"type":"error","name":"NewFeeGreaterThanMax"},{"inputs":[],"type":"error","name":"PointsDeactivated"},{"inputs":[],"type":"error","name":"RegistryCannotBeZero"},{"inputs":[],"type":"error","name":"SenderNotNewOwner"},{"inputs":[],"type":"error","name":"SenderNotStrategy"},{"inputs":[],"type":"error","name":"StrategyDisabled"},{"inputs":[],"type":"error","name":"StrategyExists"},{"inputs":[],"type":"error","name":"UserAlreadyActivated"},{"inputs":[],"type":"error","name":"UserAlreadyDeactivated"},{"inputs":[],"type":"error","name":"UserAlreadyRegistered"},{"inputs":[],"type":"error","name":"UserNotGardenOwner"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"type":"error","name":"UserNotInCouncil"},{"inputs":[],"type":"error","name":"UserNotInRegistry"},{"inputs":[],"type":"error","name":"ValueCannotBeZero"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"_allo","type":"address","indexed":false}],"type":"event","name":"AlloSet","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_newAmount","type":"uint256","indexed":false}],"type":"event","name":"BasisStakedAmountSet","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256","indexed":false}],"type":"event","name":"CommunityFeeUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_safeOwner","type":"address","indexed":false},{"internalType":"address","name":"_newSafeOwner","type":"address","indexed":false}],"type":"event","name":"CouncilSafeChangeStarted","anonymous":false},{"inputs":[{"internalType":"address","name":"_safe","type":"address","indexed":false}],"type":"event","name":"CouncilSafeSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false},{"internalType":"uint256","name":"_pointsToIncrease","type":"uint256","indexed":false}],"type":"event","name":"MemberActivatedStrategy","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"MemberDeactivatedStrategy","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_transferAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amountReturned","type":"uint256","indexed":false}],"type":"event","name":"MemberKicked","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_unstakedAmount","type":"uint256","indexed":false}],"type":"event","name":"MemberPowerDecreased","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_stakedAmount","type":"uint256","indexed":false}],"type":"event","name":"MemberPowerIncreased","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_amountStaked","type":"uint256","indexed":false}],"type":"event","name":"MemberRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_amountReturned","type":"uint256","indexed":false}],"type":"event","name":"MemberUnregistered","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false},{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"address","name":"_token","type":"address","indexed":false},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolCreated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32","indexed":false},{"internalType":"string","name":"_communityName","type":"string","indexed":false},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"RegistryInitialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"StrategyAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"COUNCIL_MEMBER","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PRECISION_SCALE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"acceptCouncilSafe"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"activateMemberInStrategy"},{"inputs":[{"internalType":"address","name":"_newStrategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addStrategy"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"addStrategyByPoolId"},{"inputs":[{"internalType":"address","name":"member","type":"address"}],"stateMutability":"view","type":"function","name":"addressToMemberInfo","outputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"bool","name":"isRegistered","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"allo","outputs":[{"internalType":"contract FAllo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"cloneNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVaultTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"communityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"communityName","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"covenantIpfsHash","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"struct CVStrategyInitializeParamsV0_0","name":"_params","type":"tuple","components":[{"internalType":"struct CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}]},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"struct CVStrategyInitializeParamsV0_0","name":"_params","type":"tuple","components":[{"internalType":"struct CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}]},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivateMemberInStrategy"},{"inputs":[{"internalType":"uint256","name":"_amountUnstaked","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower"},{"inputs":[{"internalType":"address","name":"strategy","type":"address"}],"stateMutability":"view","type":"function","name":"enabledStrategies","outputs":[{"internalType":"bool","name":"isEnabled","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"feeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardenToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBasisStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"getMemberPowerInStrategy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"getMemberStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStakeAmountWithFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_amountStaked","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower"},{"inputs":[{"internalType":"struct RegistryCommunityInitializeParamsV0_0","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"}]},{"internalType":"address","name":"_strategyTemplate","type":"address"},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isCouncilMember","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isKickEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isMember","outputs":[{"internalType":"bool","name":"_isMember","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_transferAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"kickMember"},{"inputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"address","name":"strategy","type":"address"}],"stateMutability":"view","type":"function","name":"memberActivatedInStrategies","outputs":[{"internalType":"bool","name":"isActivated","type":"bool"}]},{"inputs":[{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"member","type":"address"}],"stateMutability":"view","type":"function","name":"memberPowerInStrategy","outputs":[{"internalType":"uint256","name":"power","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pendingCouncilSafe","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profileId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registerStakeAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryFactory","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategy"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategyByPoolId"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"uint256","name":"_newAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setBasisStakedAmount"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCollateralVaultTemplate"},{"inputs":[{"internalType":"uint256","name":"_newCommunityFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityFee"},{"inputs":[{"internalType":"address payable","name":"_safe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCouncilSafe"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setStrategyTemplate"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stakeAndRegisterMember"},{"inputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"strategiesByMember","outputs":[{"internalType":"address","name":"strategiesAddresses","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"strategyTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"unregisterMember"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"COUNCIL_MEMBER()":{"notice":"Role to council safe members"},"MAX_FEE()":{"notice":"The maximum fee that can be charged to the community"},"NATIVE()":{"notice":"The native address to represent native token eg: ETH in mainnet"},"PRECISION_SCALE()":{"notice":"The precision scale used in the contract to avoid loss of precision"},"addressToMemberInfo(address)":{"notice":"Member information as the staked amount and if is registered in the community"},"allo()":{"notice":"The Allo contract address"},"cloneNonce()":{"notice":"The nonce used to create new strategy clones"},"collateralVaultTemplate()":{"notice":"The address of the collateral vault template"},"communityFee()":{"notice":"The fee charged to the community for each registration"},"communityName()":{"notice":"The community name"},"councilSafe()":{"notice":"The council safe contract address"},"covenantIpfsHash()":{"notice":"The covenant IPFS hash of community"},"enabledStrategies(address)":{"notice":"List of enabled/disabled strategies"},"feeReceiver()":{"notice":"The address that receives the community fee"},"gardenToken()":{"notice":"The token used to stake in the community"},"isKickEnabled()":{"notice":"Enable or disable the kick feature"},"memberActivatedInStrategies(address,address)":{"notice":"Mapping to check if a member is activated in a strategy"},"memberPowerInStrategy(address,address)":{"notice":"Power points for each member in each strategy"},"pendingCouncilSafe()":{"notice":"The address of the pending council safe owner"},"profileId()":{"notice":"The profileId of the community in the Allo Registry"},"registerStakeAmount()":{"notice":"The amount of tokens required to register a member"},"registry()":{"notice":"The Registry Allo contract"},"registryFactory()":{"notice":"The address of the registry factory"},"strategiesByMember(address,uint256)":{"notice":"List of strategies for each member are activated"},"strategyTemplate()":{"notice":"The address of the strategy template"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":"RegistryCommunityV0_0"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2","urls":["bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293","dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0xc3aed28a3fec8dcc2e95c8569aa2c4323897a1685c63746822956fe995eddf28","urls":["bzz-raw://c4126fea7a0d30c76aab94605930ed01c7e53df2f4a7bba4773c097904d5eb39","dweb:/ipfs/QmNsDu9G5JKCXdTs1HmEyVcR3S4DhuiZRt2bEPVNYGckgw"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0x6b05f27573e30362ec808b4d79f8156550a8dd5090b107b46928ab8d87be3c87","urls":["bzz-raw://134753f1a9a463e4193ffa2b2f6e32813b7a3d7603ddacaedf0f65a6a72c864a","dweb:/ipfs/QmZnQa6a3aFUvxdT1yaj72DBQUShfq5okHshhHwGv85Mdq"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":52990,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52993,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53695,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52782,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52902,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":53167,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_status","offset":0,"slot":"101","type":"t_uint256"},{"astId":53236,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":53969,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"151","type":"t_array(t_uint256)50_storage"},{"astId":52389,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_roles","offset":0,"slot":"201","type":"t_mapping(t_bytes32,t_struct(RoleData)52384_storage)"},{"astId":52696,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"202","type":"t_array(t_uint256)49_storage"},{"astId":70985,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"registerStakeAmount","offset":0,"slot":"251","type":"t_uint256"},{"astId":70988,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"communityFee","offset":0,"slot":"252","type":"t_uint256"},{"astId":70991,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"cloneNonce","offset":0,"slot":"253","type":"t_uint256"},{"astId":70994,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"profileId","offset":0,"slot":"254","type":"t_bytes32"},{"astId":70997,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"isKickEnabled","offset":0,"slot":"255","type":"t_bool"},{"astId":71000,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"feeReceiver","offset":1,"slot":"255","type":"t_address"},{"astId":71003,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"registryFactory","offset":0,"slot":"256","type":"t_address"},{"astId":71006,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"collateralVaultTemplate","offset":0,"slot":"257","type":"t_address"},{"astId":71009,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"strategyTemplate","offset":0,"slot":"258","type":"t_address"},{"astId":71012,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"pendingCouncilSafe","offset":0,"slot":"259","type":"t_address_payable"},{"astId":71016,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"registry","offset":0,"slot":"260","type":"t_contract(IRegistry)2802"},{"astId":71020,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"gardenToken","offset":0,"slot":"261","type":"t_contract(IERC20)56528"},{"astId":71024,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"councilSafe","offset":0,"slot":"262","type":"t_contract(ISafe)76451"},{"astId":71028,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"allo","offset":0,"slot":"263","type":"t_contract(FAllo)76184"},{"astId":71031,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"communityName","offset":0,"slot":"264","type":"t_string_storage"},{"astId":71034,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"covenantIpfsHash","offset":0,"slot":"265","type":"t_string_storage"},{"astId":71039,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"enabledStrategies","offset":0,"slot":"266","type":"t_mapping(t_address,t_bool)"},{"astId":71046,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"memberPowerInStrategy","offset":0,"slot":"267","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":71052,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"addressToMemberInfo","offset":0,"slot":"268","type":"t_mapping(t_address,t_struct(Member)70802_storage)"},{"astId":71058,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"strategiesByMember","offset":0,"slot":"269","type":"t_mapping(t_address,t_array(t_address)dyn_storage)"},{"astId":71065,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"memberActivatedInStrategies","offset":0,"slot":"270","type":"t_mapping(t_address,t_mapping(t_address,t_bool))"},{"astId":71069,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"initialMembers","offset":0,"slot":"271","type":"t_array(t_address)dyn_storage"},{"astId":72699,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"272","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_address_payable":{"encoding":"inplace","label":"address payable","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(FAllo)76184":{"encoding":"inplace","label":"contract FAllo","numberOfBytes":"20"},"t_contract(IERC20)56528":{"encoding":"inplace","label":"contract IERC20","numberOfBytes":"20"},"t_contract(IRegistry)2802":{"encoding":"inplace","label":"contract IRegistry","numberOfBytes":"20"},"t_contract(ISafe)76451":{"encoding":"inplace","label":"contract ISafe","numberOfBytes":"20"},"t_mapping(t_address,t_array(t_address)dyn_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => address[])","numberOfBytes":"32","value":"t_array(t_address)dyn_storage"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_mapping(t_address,t_bool))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => bool))","numberOfBytes":"32","value":"t_mapping(t_address,t_bool)"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_struct(Member)70802_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct Member)","numberOfBytes":"32","value":"t_struct(Member)70802_storage"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_bytes32,t_struct(RoleData)52384_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)52384_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Member)70802_storage":{"encoding":"inplace","label":"struct Member","numberOfBytes":"96","members":[{"astId":70797,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"member","offset":0,"slot":"0","type":"t_address"},{"astId":70799,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"stakedAmount","offset":0,"slot":"1","type":"t_uint256"},{"astId":70801,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"isRegistered","offset":0,"slot":"2","type":"t_bool"}]},"t_struct(RoleData)52384_storage":{"encoding":"inplace","label":"struct AccessControlUpgradeable.RoleData","numberOfBytes":"64","members":[{"astId":52381,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"members","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":52383,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"adminRole","offset":0,"slot":"1","type":"t_bytes32"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol","id":72701,"exportedSymbols":{"AccessControlUpgradeable":[52697],"CVStrategyInitializeParamsV0_0":[65657],"CVStrategyV0_0":[69194],"Clone":[3002],"ERC165Checker":[57919],"ERC1967Proxy":[55021],"FAllo":[76184],"IAllo":[2610],"IERC20":[56528],"IPointStrategy":[65536],"IRegistry":[2802],"IRegistryFactory":[70017],"ISafe":[76451],"Member":[70802],"Metadata":[3098],"PointSystem":[65545],"ProxyOwnableUpgrader":[70711],"ReentrancyGuardUpgradeable":[53237],"RegistryCommunityInitializeParamsV0_0":[70795],"RegistryCommunityV0_0":[72700],"SafeERC20":[56965],"Strategies":[70806],"UUPSUpgradeable":[55672],"Upgrades":[61176]},"nodeType":"SourceUnit","src":"42:25985:107","nodes":[{"id":70732,"nodeType":"PragmaDirective","src":"42:24:107","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":70734,"nodeType":"ImportDirective","src":"68:70:107","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":72701,"sourceUnit":56529,"symbolAliases":[{"foreign":{"id":70733,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56528,"src":"76:6:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70736,"nodeType":"ImportDirective","src":"139:82:107","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","file":"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","nameLocation":"-1:-1:-1","scope":72701,"sourceUnit":56966,"symbolAliases":[{"foreign":{"id":70735,"name":"SafeERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56965,"src":"147:9:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70738,"nodeType":"ImportDirective","src":"222:92:107","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165Checker.sol","nameLocation":"-1:-1:-1","scope":72701,"sourceUnit":57920,"symbolAliases":[{"foreign":{"id":70737,"name":"ERC165Checker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57919,"src":"230:13:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70740,"nodeType":"ImportDirective","src":"315:88:107","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":72701,"sourceUnit":55673,"symbolAliases":[{"foreign":{"id":70739,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55672,"src":"323:15:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70742,"nodeType":"ImportDirective","src":"405:132:107","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","nameLocation":"-1:-1:-1","scope":72701,"sourceUnit":53238,"symbolAliases":[{"foreign":{"id":70741,"name":"ReentrancyGuardUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53237,"src":"413:26:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70744,"nodeType":"ImportDirective","src":"538:126:107","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","nameLocation":"-1:-1:-1","scope":72701,"sourceUnit":52698,"symbolAliases":[{"foreign":{"id":70743,"name":"AccessControlUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52697,"src":"546:24:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70746,"nodeType":"ImportDirective","src":"666:66:107","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":72701,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":70745,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"674:5:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70748,"nodeType":"ImportDirective","src":"733:65:107","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":72701,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":70747,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"741:5:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70751,"nodeType":"ImportDirective","src":"799:84:107","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":72701,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":70749,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"807:9:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":70750,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"818:8:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70753,"nodeType":"ImportDirective","src":"884:46:107","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/FAllo.sol","file":"../interfaces/FAllo.sol","nameLocation":"-1:-1:-1","scope":72701,"sourceUnit":76185,"symbolAliases":[{"foreign":{"id":70752,"name":"FAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76184,"src":"892:5:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70755,"nodeType":"ImportDirective","src":"931:46:107","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ISafe.sol","file":"../interfaces/ISafe.sol","nameLocation":"-1:-1:-1","scope":72701,"sourceUnit":76468,"symbolAliases":[{"foreign":{"id":70754,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76451,"src":"939:5:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70757,"nodeType":"ImportDirective","src":"978:57:107","nodes":[],"absolutePath":"pkg/contracts/src/IRegistryFactory.sol","file":"../IRegistryFactory.sol","nameLocation":"-1:-1:-1","scope":72701,"sourceUnit":70018,"symbolAliases":[{"foreign":{"id":70756,"name":"IRegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70017,"src":"986:16:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70762,"nodeType":"ImportDirective","src":"1036:143:107","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol","file":"../CVStrategy/CVStrategyV0_0.sol","nameLocation":"-1:-1:-1","scope":72701,"sourceUnit":69195,"symbolAliases":[{"foreign":{"id":70758,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69194,"src":"1049:14:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":70759,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65536,"src":"1069:14:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":70760,"name":"CVStrategyInitializeParamsV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65657,"src":"1089:30:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":70761,"name":"PointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65545,"src":"1125:11:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70764,"nodeType":"ImportDirective","src":"1180:66:107","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol","file":"@openzeppelin/foundry/LegacyUpgrades.sol","nameLocation":"-1:-1:-1","scope":72701,"sourceUnit":61297,"symbolAliases":[{"foreign":{"id":70763,"name":"Upgrades","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61176,"src":"1188:8:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70766,"nodeType":"ImportDirective","src":"1247:84:107","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":72701,"sourceUnit":55022,"symbolAliases":[{"foreign":{"id":70765,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55021,"src":"1255:12:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70768,"nodeType":"ImportDirective","src":"1332:65:107","nodes":[],"absolutePath":"pkg/contracts/src/ProxyOwnableUpgrader.sol","file":"../ProxyOwnableUpgrader.sol","nameLocation":"-1:-1:-1","scope":72701,"sourceUnit":70712,"symbolAliases":[{"foreign":{"id":70767,"name":"ProxyOwnableUpgrader","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70711,"src":"1340:20:107","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":70795,"nodeType":"StructDefinition","src":"2292:368:107","nodes":[],"canonicalName":"RegistryCommunityInitializeParamsV0_0","members":[{"constant":false,"id":70770,"mutability":"mutable","name":"_allo","nameLocation":"2351:5:107","nodeType":"VariableDeclaration","scope":70795,"src":"2343:13:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70769,"name":"address","nodeType":"ElementaryTypeName","src":"2343:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70773,"mutability":"mutable","name":"_gardenToken","nameLocation":"2369:12:107","nodeType":"VariableDeclaration","scope":70795,"src":"2362:19:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":70772,"nodeType":"UserDefinedTypeName","pathNode":{"id":70771,"name":"IERC20","nameLocations":["2362:6:107"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"2362:6:107"},"referencedDeclaration":56528,"src":"2362:6:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":70775,"mutability":"mutable","name":"_registerStakeAmount","nameLocation":"2395:20:107","nodeType":"VariableDeclaration","scope":70795,"src":"2387:28:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70774,"name":"uint256","nodeType":"ElementaryTypeName","src":"2387:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70777,"mutability":"mutable","name":"_communityFee","nameLocation":"2429:13:107","nodeType":"VariableDeclaration","scope":70795,"src":"2421:21:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70776,"name":"uint256","nodeType":"ElementaryTypeName","src":"2421:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70779,"mutability":"mutable","name":"_nonce","nameLocation":"2456:6:107","nodeType":"VariableDeclaration","scope":70795,"src":"2448:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70778,"name":"uint256","nodeType":"ElementaryTypeName","src":"2448:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70781,"mutability":"mutable","name":"_registryFactory","nameLocation":"2476:16:107","nodeType":"VariableDeclaration","scope":70795,"src":"2468:24:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70780,"name":"address","nodeType":"ElementaryTypeName","src":"2468:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70783,"mutability":"mutable","name":"_feeReceiver","nameLocation":"2506:12:107","nodeType":"VariableDeclaration","scope":70795,"src":"2498:20:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70782,"name":"address","nodeType":"ElementaryTypeName","src":"2498:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70786,"mutability":"mutable","name":"_metadata","nameLocation":"2533:9:107","nodeType":"VariableDeclaration","scope":70795,"src":"2524:18:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":70785,"nodeType":"UserDefinedTypeName","pathNode":{"id":70784,"name":"Metadata","nameLocations":["2524:8:107"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2524:8:107"},"referencedDeclaration":3098,"src":"2524:8:107","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":70788,"mutability":"mutable","name":"_councilSafe","nameLocation":"2564:12:107","nodeType":"VariableDeclaration","scope":70795,"src":"2548:28:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":70787,"name":"address","nodeType":"ElementaryTypeName","src":"2548:15:107","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":70790,"mutability":"mutable","name":"_communityName","nameLocation":"2589:14:107","nodeType":"VariableDeclaration","scope":70795,"src":"2582:21:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":70789,"name":"string","nodeType":"ElementaryTypeName","src":"2582:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":70792,"mutability":"mutable","name":"_isKickEnabled","nameLocation":"2614:14:107","nodeType":"VariableDeclaration","scope":70795,"src":"2609:19:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70791,"name":"bool","nodeType":"ElementaryTypeName","src":"2609:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":70794,"mutability":"mutable","name":"covenantIpfsHash","nameLocation":"2641:16:107","nodeType":"VariableDeclaration","scope":70795,"src":"2634:23:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":70793,"name":"string","nodeType":"ElementaryTypeName","src":"2634:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"RegistryCommunityInitializeParamsV0_0","nameLocation":"2299:37:107","scope":72701,"visibility":"public"},{"id":70802,"nodeType":"StructDefinition","src":"2662:86:107","nodes":[],"canonicalName":"Member","members":[{"constant":false,"id":70797,"mutability":"mutable","name":"member","nameLocation":"2690:6:107","nodeType":"VariableDeclaration","scope":70802,"src":"2682:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70796,"name":"address","nodeType":"ElementaryTypeName","src":"2682:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70799,"mutability":"mutable","name":"stakedAmount","nameLocation":"2710:12:107","nodeType":"VariableDeclaration","scope":70802,"src":"2702:20:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70798,"name":"uint256","nodeType":"ElementaryTypeName","src":"2702:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70801,"mutability":"mutable","name":"isRegistered","nameLocation":"2733:12:107","nodeType":"VariableDeclaration","scope":70802,"src":"2728:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70800,"name":"bool","nodeType":"ElementaryTypeName","src":"2728:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"Member","nameLocation":"2669:6:107","scope":72701,"visibility":"public"},{"id":70806,"nodeType":"StructDefinition","src":"2750:47:107","nodes":[],"canonicalName":"Strategies","members":[{"constant":false,"id":70805,"mutability":"mutable","name":"strategies","nameLocation":"2784:10:107","nodeType":"VariableDeclaration","scope":70806,"src":"2774:20:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":70803,"name":"address","nodeType":"ElementaryTypeName","src":"2774:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":70804,"nodeType":"ArrayTypeName","src":"2774:9:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"name":"Strategies","nameLocation":"2757:10:107","scope":72701,"visibility":"public"},{"id":72700,"nodeType":"ContractDefinition","src":"2850:23176:107","nodes":[{"id":70817,"nodeType":"EventDefinition","src":"3131:29:107","nodes":[],"anonymous":false,"eventSelector":"aaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d2","name":"AlloSet","nameLocation":"3137:7:107","parameters":{"id":70816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70815,"indexed":false,"mutability":"mutable","name":"_allo","nameLocation":"3153:5:107","nodeType":"VariableDeclaration","scope":70817,"src":"3145:13:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70814,"name":"address","nodeType":"ElementaryTypeName","src":"3145:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3144:15:107"}},{"id":70821,"nodeType":"EventDefinition","src":"3165:36:107","nodes":[],"anonymous":false,"eventSelector":"ad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb68872","name":"CouncilSafeSet","nameLocation":"3171:14:107","parameters":{"id":70820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70819,"indexed":false,"mutability":"mutable","name":"_safe","nameLocation":"3194:5:107","nodeType":"VariableDeclaration","scope":70821,"src":"3186:13:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70818,"name":"address","nodeType":"ElementaryTypeName","src":"3186:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3185:15:107"}},{"id":70827,"nodeType":"EventDefinition","src":"3206:74:107","nodes":[],"anonymous":false,"eventSelector":"83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf8","name":"CouncilSafeChangeStarted","nameLocation":"3212:24:107","parameters":{"id":70826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70823,"indexed":false,"mutability":"mutable","name":"_safeOwner","nameLocation":"3245:10:107","nodeType":"VariableDeclaration","scope":70827,"src":"3237:18:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70822,"name":"address","nodeType":"ElementaryTypeName","src":"3237:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70825,"indexed":false,"mutability":"mutable","name":"_newSafeOwner","nameLocation":"3265:13:107","nodeType":"VariableDeclaration","scope":70827,"src":"3257:21:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70824,"name":"address","nodeType":"ElementaryTypeName","src":"3257:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3236:43:107"}},{"id":70833,"nodeType":"EventDefinition","src":"3285:63:107","nodes":[],"anonymous":false,"eventSelector":"67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689","name":"MemberRegistered","nameLocation":"3291:16:107","parameters":{"id":70832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70829,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"3316:7:107","nodeType":"VariableDeclaration","scope":70833,"src":"3308:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70828,"name":"address","nodeType":"ElementaryTypeName","src":"3308:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70831,"indexed":false,"mutability":"mutable","name":"_amountStaked","nameLocation":"3333:13:107","nodeType":"VariableDeclaration","scope":70833,"src":"3325:21:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70830,"name":"uint256","nodeType":"ElementaryTypeName","src":"3325:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3307:40:107"}},{"id":70839,"nodeType":"EventDefinition","src":"3353:67:107","nodes":[],"anonymous":false,"eventSelector":"a13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4","name":"MemberUnregistered","nameLocation":"3359:18:107","parameters":{"id":70838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70835,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"3386:7:107","nodeType":"VariableDeclaration","scope":70839,"src":"3378:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70834,"name":"address","nodeType":"ElementaryTypeName","src":"3378:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70837,"indexed":false,"mutability":"mutable","name":"_amountReturned","nameLocation":"3403:15:107","nodeType":"VariableDeclaration","scope":70839,"src":"3395:23:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70836,"name":"uint256","nodeType":"ElementaryTypeName","src":"3395:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3377:42:107"}},{"id":70847,"nodeType":"EventDefinition","src":"3425:87:107","nodes":[],"anonymous":false,"eventSelector":"b5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a3","name":"MemberKicked","nameLocation":"3431:12:107","parameters":{"id":70846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70841,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"3452:7:107","nodeType":"VariableDeclaration","scope":70847,"src":"3444:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70840,"name":"address","nodeType":"ElementaryTypeName","src":"3444:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70843,"indexed":false,"mutability":"mutable","name":"_transferAddress","nameLocation":"3469:16:107","nodeType":"VariableDeclaration","scope":70847,"src":"3461:24:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70842,"name":"address","nodeType":"ElementaryTypeName","src":"3461:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70845,"indexed":false,"mutability":"mutable","name":"_amountReturned","nameLocation":"3495:15:107","nodeType":"VariableDeclaration","scope":70847,"src":"3487:23:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70844,"name":"uint256","nodeType":"ElementaryTypeName","src":"3487:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3443:68:107"}},{"id":70851,"nodeType":"EventDefinition","src":"3517:43:107","nodes":[],"anonymous":false,"eventSelector":"611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6","name":"CommunityFeeUpdated","nameLocation":"3523:19:107","parameters":{"id":70850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70849,"indexed":false,"mutability":"mutable","name":"_newFee","nameLocation":"3551:7:107","nodeType":"VariableDeclaration","scope":70851,"src":"3543:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70848,"name":"uint256","nodeType":"ElementaryTypeName","src":"3543:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3542:17:107"}},{"id":70860,"nodeType":"EventDefinition","src":"3565:89:107","nodes":[],"anonymous":false,"eventSelector":"2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205","name":"RegistryInitialized","nameLocation":"3571:19:107","parameters":{"id":70859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70853,"indexed":false,"mutability":"mutable","name":"_profileId","nameLocation":"3599:10:107","nodeType":"VariableDeclaration","scope":70860,"src":"3591:18:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70852,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3591:7:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":70855,"indexed":false,"mutability":"mutable","name":"_communityName","nameLocation":"3618:14:107","nodeType":"VariableDeclaration","scope":70860,"src":"3611:21:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70854,"name":"string","nodeType":"ElementaryTypeName","src":"3611:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":70858,"indexed":false,"mutability":"mutable","name":"_metadata","nameLocation":"3643:9:107","nodeType":"VariableDeclaration","scope":70860,"src":"3634:18:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":70857,"nodeType":"UserDefinedTypeName","pathNode":{"id":70856,"name":"Metadata","nameLocations":["3634:8:107"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"3634:8:107"},"referencedDeclaration":3098,"src":"3634:8:107","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"3590:63:107"}},{"id":70864,"nodeType":"EventDefinition","src":"3659:39:107","nodes":[],"anonymous":false,"eventSelector":"3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1","name":"StrategyAdded","nameLocation":"3665:13:107","parameters":{"id":70863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70862,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"3687:9:107","nodeType":"VariableDeclaration","scope":70864,"src":"3679:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70861,"name":"address","nodeType":"ElementaryTypeName","src":"3679:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3678:19:107"}},{"id":70868,"nodeType":"EventDefinition","src":"3703:41:107","nodes":[],"anonymous":false,"eventSelector":"09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4","name":"StrategyRemoved","nameLocation":"3709:15:107","parameters":{"id":70867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70866,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"3733:9:107","nodeType":"VariableDeclaration","scope":70868,"src":"3725:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70865,"name":"address","nodeType":"ElementaryTypeName","src":"3725:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3724:19:107"}},{"id":70876,"nodeType":"EventDefinition","src":"3749:93:107","nodes":[],"anonymous":false,"eventSelector":"f56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec","name":"MemberActivatedStrategy","nameLocation":"3755:23:107","parameters":{"id":70875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70870,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"3787:7:107","nodeType":"VariableDeclaration","scope":70876,"src":"3779:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70869,"name":"address","nodeType":"ElementaryTypeName","src":"3779:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70872,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"3804:9:107","nodeType":"VariableDeclaration","scope":70876,"src":"3796:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70871,"name":"address","nodeType":"ElementaryTypeName","src":"3796:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70874,"indexed":false,"mutability":"mutable","name":"_pointsToIncrease","nameLocation":"3823:17:107","nodeType":"VariableDeclaration","scope":70876,"src":"3815:25:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70873,"name":"uint256","nodeType":"ElementaryTypeName","src":"3815:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3778:63:107"}},{"id":70882,"nodeType":"EventDefinition","src":"3847:68:107","nodes":[],"anonymous":false,"eventSelector":"00de109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b","name":"MemberDeactivatedStrategy","nameLocation":"3853:25:107","parameters":{"id":70881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70878,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"3887:7:107","nodeType":"VariableDeclaration","scope":70882,"src":"3879:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70877,"name":"address","nodeType":"ElementaryTypeName","src":"3879:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70880,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"3904:9:107","nodeType":"VariableDeclaration","scope":70882,"src":"3896:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70879,"name":"address","nodeType":"ElementaryTypeName","src":"3896:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3878:36:107"}},{"id":70886,"nodeType":"EventDefinition","src":"3920:47:107","nodes":[],"anonymous":false,"eventSelector":"5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f","name":"BasisStakedAmountSet","nameLocation":"3926:20:107","parameters":{"id":70885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70884,"indexed":false,"mutability":"mutable","name":"_newAmount","nameLocation":"3955:10:107","nodeType":"VariableDeclaration","scope":70886,"src":"3947:18:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70883,"name":"uint256","nodeType":"ElementaryTypeName","src":"3947:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3946:20:107"}},{"id":70892,"nodeType":"EventDefinition","src":"3972:67:107","nodes":[],"anonymous":false,"eventSelector":"576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f","name":"MemberPowerIncreased","nameLocation":"3978:20:107","parameters":{"id":70891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70888,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"4007:7:107","nodeType":"VariableDeclaration","scope":70892,"src":"3999:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70887,"name":"address","nodeType":"ElementaryTypeName","src":"3999:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70890,"indexed":false,"mutability":"mutable","name":"_stakedAmount","nameLocation":"4024:13:107","nodeType":"VariableDeclaration","scope":70892,"src":"4016:21:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70889,"name":"uint256","nodeType":"ElementaryTypeName","src":"4016:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3998:40:107"}},{"id":70898,"nodeType":"EventDefinition","src":"4044:69:107","nodes":[],"anonymous":false,"eventSelector":"6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8","name":"MemberPowerDecreased","nameLocation":"4050:20:107","parameters":{"id":70897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70894,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"4079:7:107","nodeType":"VariableDeclaration","scope":70898,"src":"4071:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70893,"name":"address","nodeType":"ElementaryTypeName","src":"4071:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70896,"indexed":false,"mutability":"mutable","name":"_unstakedAmount","nameLocation":"4096:15:107","nodeType":"VariableDeclaration","scope":70898,"src":"4088:23:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70895,"name":"uint256","nodeType":"ElementaryTypeName","src":"4088:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4070:42:107"}},{"id":70911,"nodeType":"EventDefinition","src":"4118:110:107","nodes":[],"anonymous":false,"eventSelector":"778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d283","name":"PoolCreated","nameLocation":"4124:11:107","parameters":{"id":70910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70900,"indexed":false,"mutability":"mutable","name":"_poolId","nameLocation":"4144:7:107","nodeType":"VariableDeclaration","scope":70911,"src":"4136:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70899,"name":"uint256","nodeType":"ElementaryTypeName","src":"4136:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70902,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"4161:9:107","nodeType":"VariableDeclaration","scope":70911,"src":"4153:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70901,"name":"address","nodeType":"ElementaryTypeName","src":"4153:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70904,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"4180:10:107","nodeType":"VariableDeclaration","scope":70911,"src":"4172:18:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70903,"name":"address","nodeType":"ElementaryTypeName","src":"4172:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70906,"indexed":false,"mutability":"mutable","name":"_token","nameLocation":"4200:6:107","nodeType":"VariableDeclaration","scope":70911,"src":"4192:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70905,"name":"address","nodeType":"ElementaryTypeName","src":"4192:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70909,"indexed":false,"mutability":"mutable","name":"_metadata","nameLocation":"4217:9:107","nodeType":"VariableDeclaration","scope":70911,"src":"4208:18:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":70908,"nodeType":"UserDefinedTypeName","pathNode":{"id":70907,"name":"Metadata","nameLocations":["4208:8:107"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"4208:8:107"},"referencedDeclaration":3098,"src":"4208:8:107","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"4135:92:107"}},{"id":70913,"nodeType":"ErrorDefinition","src":"4414:28:107","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"4420:19:107","parameters":{"id":70912,"nodeType":"ParameterList","parameters":[],"src":"4439:2:107"}},{"id":70915,"nodeType":"ErrorDefinition","src":"4447:29:107","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"4453:20:107","parameters":{"id":70914,"nodeType":"ParameterList","parameters":[],"src":"4473:2:107"}},{"id":70919,"nodeType":"ErrorDefinition","src":"4481:38:107","nodes":[],"errorSelector":"fc4be72f","name":"UserNotInCouncil","nameLocation":"4487:16:107","parameters":{"id":70918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70917,"mutability":"mutable","name":"_user","nameLocation":"4512:5:107","nodeType":"VariableDeclaration","scope":70919,"src":"4504:13:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70916,"name":"address","nodeType":"ElementaryTypeName","src":"4504:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4503:15:107"}},{"id":70921,"nodeType":"ErrorDefinition","src":"4524:26:107","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"4530:17:107","parameters":{"id":70920,"nodeType":"ParameterList","parameters":[],"src":"4547:2:107"}},{"id":70923,"nodeType":"ErrorDefinition","src":"4555:30:107","nodes":[],"errorSelector":"9e4a65f6","name":"UserAlreadyRegistered","nameLocation":"4561:21:107","parameters":{"id":70922,"nodeType":"ParameterList","parameters":[],"src":"4582:2:107"}},{"id":70925,"nodeType":"ErrorDefinition","src":"4590:27:107","nodes":[],"errorSelector":"e9a644b8","name":"UserNotGardenOwner","nameLocation":"4596:18:107","parameters":{"id":70924,"nodeType":"ParameterList","parameters":[],"src":"4614:2:107"}},{"id":70927,"nodeType":"ErrorDefinition","src":"4622:29:107","nodes":[],"errorSelector":"d5b9bc96","name":"UserAlreadyActivated","nameLocation":"4628:20:107","parameters":{"id":70926,"nodeType":"ParameterList","parameters":[],"src":"4648:2:107"}},{"id":70929,"nodeType":"ErrorDefinition","src":"4656:31:107","nodes":[],"errorSelector":"c12369dc","name":"UserAlreadyDeactivated","nameLocation":"4662:22:107","parameters":{"id":70928,"nodeType":"ParameterList","parameters":[],"src":"4684:2:107"}},{"id":70931,"nodeType":"ErrorDefinition","src":"4692:23:107","nodes":[],"errorSelector":"968a4d2c","name":"StrategyExists","nameLocation":"4698:14:107","parameters":{"id":70930,"nodeType":"ParameterList","parameters":[],"src":"4712:2:107"}},{"id":70933,"nodeType":"ErrorDefinition","src":"4720:25:107","nodes":[],"errorSelector":"46c26e4b","name":"StrategyDisabled","nameLocation":"4726:16:107","parameters":{"id":70932,"nodeType":"ParameterList","parameters":[],"src":"4742:2:107"}},{"id":70935,"nodeType":"ErrorDefinition","src":"4750:26:107","nodes":[],"errorSelector":"ebcd0d6e","name":"SenderNotNewOwner","nameLocation":"4756:17:107","parameters":{"id":70934,"nodeType":"ParameterList","parameters":[],"src":"4773:2:107"}},{"id":70937,"nodeType":"ErrorDefinition","src":"4781:26:107","nodes":[],"errorSelector":"bbe79611","name":"SenderNotStrategy","nameLocation":"4787:17:107","parameters":{"id":70936,"nodeType":"ParameterList","parameters":[],"src":"4804:2:107"}},{"id":70939,"nodeType":"ErrorDefinition","src":"4812:26:107","nodes":[],"errorSelector":"c70d18aa","name":"ValueCannotBeZero","nameLocation":"4818:17:107","parameters":{"id":70938,"nodeType":"ParameterList","parameters":[],"src":"4835:2:107"}},{"id":70941,"nodeType":"ErrorDefinition","src":"4843:29:107","nodes":[],"errorSelector":"fe925f7d","name":"NewFeeGreaterThanMax","nameLocation":"4849:20:107","parameters":{"id":70940,"nodeType":"ParameterList","parameters":[],"src":"4869:2:107"}},{"id":70943,"nodeType":"ErrorDefinition","src":"4877:23:107","nodes":[],"errorSelector":"cb63dc72","name":"KickNotEnabled","nameLocation":"4883:14:107","parameters":{"id":70942,"nodeType":"ParameterList","parameters":[],"src":"4897:2:107"}},{"id":70945,"nodeType":"ErrorDefinition","src":"4905:26:107","nodes":[],"errorSelector":"d4d3290e","name":"PointsDeactivated","nameLocation":"4911:17:107","parameters":{"id":70944,"nodeType":"ParameterList","parameters":[],"src":"4928:2:107"}},{"id":70947,"nodeType":"ErrorDefinition","src":"4936:29:107","nodes":[],"errorSelector":"9c47d02e","name":"DecreaseUnderMinimum","nameLocation":"4942:20:107","parameters":{"id":70946,"nodeType":"ParameterList","parameters":[],"src":"4962:2:107"}},{"id":70953,"nodeType":"ErrorDefinition","src":"4970:80:107","nodes":[],"errorSelector":"8a11f318","name":"CantDecreaseMoreThanPower","nameLocation":"4976:25:107","parameters":{"id":70952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70949,"mutability":"mutable","name":"_decreaseAmount","nameLocation":"5010:15:107","nodeType":"VariableDeclaration","scope":70953,"src":"5002:23:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70948,"name":"uint256","nodeType":"ElementaryTypeName","src":"5002:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":70951,"mutability":"mutable","name":"_currentPower","nameLocation":"5035:13:107","nodeType":"VariableDeclaration","scope":70953,"src":"5027:21:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70950,"name":"uint256","nodeType":"ElementaryTypeName","src":"5027:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5001:48:107"}},{"id":70956,"nodeType":"UsingForDirective","src":"5056:32:107","nodes":[],"global":false,"libraryName":{"id":70954,"name":"ERC165Checker","nameLocations":["5062:13:107"],"nodeType":"IdentifierPath","referencedDeclaration":57919,"src":"5062:13:107"},"typeName":{"id":70955,"name":"address","nodeType":"ElementaryTypeName","src":"5080:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":70960,"nodeType":"UsingForDirective","src":"5093:27:107","nodes":[],"global":false,"libraryName":{"id":70957,"name":"SafeERC20","nameLocations":["5099:9:107"],"nodeType":"IdentifierPath","referencedDeclaration":56965,"src":"5099:9:107"},"typeName":{"id":70959,"nodeType":"UserDefinedTypeName","pathNode":{"id":70958,"name":"IERC20","nameLocations":["5113:6:107"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"5113:6:107"},"referencedDeclaration":56528,"src":"5113:6:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}}},{"id":70963,"nodeType":"UsingForDirective","src":"5125:24:107","nodes":[],"global":false,"libraryName":{"id":70961,"name":"Clone","nameLocations":["5131:5:107"],"nodeType":"IdentifierPath","referencedDeclaration":3002,"src":"5131:5:107"},"typeName":{"id":70962,"name":"address","nodeType":"ElementaryTypeName","src":"5141:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":70966,"nodeType":"VariableDeclaration","src":"5155:38:107","nodes":[],"constant":true,"functionSelector":"ffa1ad74","mutability":"constant","name":"VERSION","nameLocation":"5178:7:107","scope":72700,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70964,"name":"string","nodeType":"ElementaryTypeName","src":"5155:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"302e30","id":70965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5188:5:107","typeDescriptions":{"typeIdentifier":"t_stringliteral_7be32719f3172a4c9a8d1f020e88b7d75f936a7394cfbfe03d409404e58cbdc3","typeString":"literal_string \"0.0\""},"value":"0.0"},"visibility":"public"},{"id":70970,"nodeType":"VariableDeclaration","src":"5279:75:107","nodes":[],"constant":true,"documentation":{"id":70967,"nodeType":"StructuredDocumentation","src":"5199:75:107","text":"@notice The native address to represent native token eg: ETH in mainnet"},"functionSelector":"a0cf0aea","mutability":"constant","name":"NATIVE","nameLocation":"5303:6:107","scope":72700,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70968,"name":"address","nodeType":"ElementaryTypeName","src":"5279:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307845656565654565656545654565654565456545656545454565656565456565656565656545456545","id":70969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5312:42:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},"visibility":"public"},{"id":70976,"nodeType":"VariableDeclaration","src":"5444:49:107","nodes":[],"constant":true,"documentation":{"id":70971,"nodeType":"StructuredDocumentation","src":"5360:79:107","text":"@notice The precision scale used in the contract to avoid loss of precision"},"functionSelector":"d7050f07","mutability":"constant","name":"PRECISION_SCALE","nameLocation":"5468:15:107","scope":72700,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70972,"name":"uint256","nodeType":"ElementaryTypeName","src":"5444:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":70975,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":70973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5486:2:107","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":70974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5492:1:107","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"5486:7:107","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"visibility":"public"},{"id":70982,"nodeType":"VariableDeclaration","src":"5568:54:107","nodes":[],"constant":true,"documentation":{"id":70977,"nodeType":"StructuredDocumentation","src":"5499:64:107","text":"@notice The maximum fee that can be charged to the community"},"functionSelector":"bc063e1a","mutability":"constant","name":"MAX_FEE","nameLocation":"5592:7:107","scope":72700,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70978,"name":"uint256","nodeType":"ElementaryTypeName","src":"5568:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":70981,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":70979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5602:2:107","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":70980,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70976,"src":"5607:15:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5602:20:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":70985,"nodeType":"VariableDeclaration","src":"5695:34:107","nodes":[],"constant":false,"documentation":{"id":70983,"nodeType":"StructuredDocumentation","src":"5628:62:107","text":"@notice The amount of tokens required to register a member"},"functionSelector":"78a0b8a9","mutability":"mutable","name":"registerStakeAmount","nameLocation":"5710:19:107","scope":72700,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70984,"name":"uint256","nodeType":"ElementaryTypeName","src":"5695:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":70988,"nodeType":"VariableDeclaration","src":"5806:27:107","nodes":[],"constant":false,"documentation":{"id":70986,"nodeType":"StructuredDocumentation","src":"5735:66:107","text":"@notice The fee charged to the community for each registration"},"functionSelector":"8961be6b","mutability":"mutable","name":"communityFee","nameLocation":"5821:12:107","scope":72700,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70987,"name":"uint256","nodeType":"ElementaryTypeName","src":"5806:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":70991,"nodeType":"VariableDeclaration","src":"5900:25:107","nodes":[],"constant":false,"documentation":{"id":70989,"nodeType":"StructuredDocumentation","src":"5839:56:107","text":"@notice The nonce used to create new strategy clones"},"functionSelector":"33960459","mutability":"mutable","name":"cloneNonce","nameLocation":"5915:10:107","scope":72700,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70990,"name":"uint256","nodeType":"ElementaryTypeName","src":"5900:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":70994,"nodeType":"VariableDeclaration","src":"5999:24:107","nodes":[],"constant":false,"documentation":{"id":70992,"nodeType":"StructuredDocumentation","src":"5931:63:107","text":"@notice The profileId of the community in the Allo Registry"},"functionSelector":"08386eba","mutability":"mutable","name":"profileId","nameLocation":"6014:9:107","scope":72700,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":70993,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5999:7:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":70997,"nodeType":"VariableDeclaration","src":"6080:25:107","nodes":[],"constant":false,"documentation":{"id":70995,"nodeType":"StructuredDocumentation","src":"6029:46:107","text":"@notice Enable or disable the kick feature"},"functionSelector":"1f787d28","mutability":"mutable","name":"isKickEnabled","nameLocation":"6092:13:107","scope":72700,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":70996,"name":"bool","nodeType":"ElementaryTypeName","src":"6080:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"public"},{"id":71000,"nodeType":"VariableDeclaration","src":"6172:26:107","nodes":[],"constant":false,"documentation":{"id":70998,"nodeType":"StructuredDocumentation","src":"6112:55:107","text":"@notice The address that receives the community fee"},"functionSelector":"b3f00674","mutability":"mutable","name":"feeReceiver","nameLocation":"6187:11:107","scope":72700,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70999,"name":"address","nodeType":"ElementaryTypeName","src":"6172:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":71003,"nodeType":"VariableDeclaration","src":"6256:30:107","nodes":[],"constant":false,"documentation":{"id":71001,"nodeType":"StructuredDocumentation","src":"6204:47:107","text":"@notice The address of the registry factory"},"functionSelector":"f86c5f89","mutability":"mutable","name":"registryFactory","nameLocation":"6271:15:107","scope":72700,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71002,"name":"address","nodeType":"ElementaryTypeName","src":"6256:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":71006,"nodeType":"VariableDeclaration","src":"6353:38:107","nodes":[],"constant":false,"documentation":{"id":71004,"nodeType":"StructuredDocumentation","src":"6292:56:107","text":"@notice The address of the collateral vault template"},"functionSelector":"77122d56","mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"6368:23:107","scope":72700,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71005,"name":"address","nodeType":"ElementaryTypeName","src":"6353:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":71009,"nodeType":"VariableDeclaration","src":"6450:31:107","nodes":[],"constant":false,"documentation":{"id":71007,"nodeType":"StructuredDocumentation","src":"6397:48:107","text":"@notice The address of the strategy template"},"functionSelector":"5c94e4d2","mutability":"mutable","name":"strategyTemplate","nameLocation":"6465:16:107","scope":72700,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71008,"name":"address","nodeType":"ElementaryTypeName","src":"6450:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":71012,"nodeType":"VariableDeclaration","src":"6549:41:107","nodes":[],"constant":false,"documentation":{"id":71010,"nodeType":"StructuredDocumentation","src":"6487:57:107","text":"@notice The address of the pending council safe owner"},"functionSelector":"68decabb","mutability":"mutable","name":"pendingCouncilSafe","nameLocation":"6572:18:107","scope":72700,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":71011,"name":"address","nodeType":"ElementaryTypeName","src":"6549:15:107","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"public"},{"id":71016,"nodeType":"VariableDeclaration","src":"6640:25:107","nodes":[],"constant":false,"documentation":{"id":71013,"nodeType":"StructuredDocumentation","src":"6597:38:107","text":"@notice The Registry Allo contract"},"functionSelector":"7b103999","mutability":"mutable","name":"registry","nameLocation":"6657:8:107","scope":72700,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":71015,"nodeType":"UserDefinedTypeName","pathNode":{"id":71014,"name":"IRegistry","nameLocations":["6640:9:107"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"6640:9:107"},"referencedDeclaration":2802,"src":"6640:9:107","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"public"},{"id":71020,"nodeType":"VariableDeclaration","src":"6728:25:107","nodes":[],"constant":false,"documentation":{"id":71017,"nodeType":"StructuredDocumentation","src":"6671:52:107","text":"@notice The token used to stake in the community"},"functionSelector":"db61d65c","mutability":"mutable","name":"gardenToken","nameLocation":"6742:11:107","scope":72700,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":71019,"nodeType":"UserDefinedTypeName","pathNode":{"id":71018,"name":"IERC20","nameLocations":["6728:6:107"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"6728:6:107"},"referencedDeclaration":56528,"src":"6728:6:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"public"},{"id":71024,"nodeType":"VariableDeclaration","src":"6809:24:107","nodes":[],"constant":false,"documentation":{"id":71021,"nodeType":"StructuredDocumentation","src":"6759:45:107","text":"@notice The council safe contract address"},"functionSelector":"6c53db9a","mutability":"mutable","name":"councilSafe","nameLocation":"6822:11:107","scope":72700,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"},"typeName":{"id":71023,"nodeType":"UserDefinedTypeName","pathNode":{"id":71022,"name":"ISafe","nameLocations":["6809:5:107"],"nodeType":"IdentifierPath","referencedDeclaration":76451,"src":"6809:5:107"},"referencedDeclaration":76451,"src":"6809:5:107","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}},"visibility":"public"},{"id":71028,"nodeType":"VariableDeclaration","src":"6881:17:107","nodes":[],"constant":false,"documentation":{"id":71025,"nodeType":"StructuredDocumentation","src":"6839:37:107","text":"@notice The Allo contract address"},"functionSelector":"d6d8428d","mutability":"mutable","name":"allo","nameLocation":"6894:4:107","scope":72700,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$76184","typeString":"contract FAllo"},"typeName":{"id":71027,"nodeType":"UserDefinedTypeName","pathNode":{"id":71026,"name":"FAllo","nameLocations":["6881:5:107"],"nodeType":"IdentifierPath","referencedDeclaration":76184,"src":"6881:5:107"},"referencedDeclaration":76184,"src":"6881:5:107","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$76184","typeString":"contract FAllo"}},"visibility":"public"},{"id":71031,"nodeType":"VariableDeclaration","src":"6940:27:107","nodes":[],"constant":false,"documentation":{"id":71029,"nodeType":"StructuredDocumentation","src":"6905:30:107","text":"@notice The community name"},"functionSelector":"c6d572ae","mutability":"mutable","name":"communityName","nameLocation":"6954:13:107","scope":72700,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":71030,"name":"string","nodeType":"ElementaryTypeName","src":"6940:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"id":71034,"nodeType":"VariableDeclaration","src":"7025:30:107","nodes":[],"constant":false,"documentation":{"id":71032,"nodeType":"StructuredDocumentation","src":"6973:47:107","text":"@notice The covenant IPFS hash of community"},"functionSelector":"b64e39af","mutability":"mutable","name":"covenantIpfsHash","nameLocation":"7039:16:107","scope":72700,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":71033,"name":"string","nodeType":"ElementaryTypeName","src":"7025:6:107","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"id":71039,"nodeType":"VariableDeclaration","src":"7171:68:107","nodes":[],"constant":false,"documentation":{"id":71035,"nodeType":"StructuredDocumentation","src":"7119:47:107","text":"@notice List of enabled/disabled strategies"},"functionSelector":"3a871fe1","mutability":"mutable","name":"enabledStrategies","nameLocation":"7222:17:107","scope":72700,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":71038,"keyName":"strategy","keyNameLocation":"7187:8:107","keyType":{"id":71036,"name":"address","nodeType":"ElementaryTypeName","src":"7179:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7171:43:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"isEnabled","valueNameLocation":"7204:9:107","valueType":{"id":71037,"name":"bool","nodeType":"ElementaryTypeName","src":"7199:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"public"},{"id":71046,"nodeType":"VariableDeclaration","src":"7307:98:107","nodes":[],"constant":false,"documentation":{"id":71040,"nodeType":"StructuredDocumentation","src":"7245:57:107","text":"@notice Power points for each member in each strategy"},"functionSelector":"65e3864c","mutability":"mutable","name":"memberPowerInStrategy","nameLocation":"7384:21:107","scope":72700,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":71045,"keyName":"strategy","keyNameLocation":"7323:8:107","keyType":{"id":71041,"name":"address","nodeType":"ElementaryTypeName","src":"7315:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7307:69:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":71044,"keyName":"member","keyNameLocation":"7351:6:107","keyType":{"id":71042,"name":"address","nodeType":"ElementaryTypeName","src":"7343:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7335:40:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"power","valueNameLocation":"7369:5:107","valueType":{"id":71043,"name":"uint256","nodeType":"ElementaryTypeName","src":"7361:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"public"},{"id":71052,"nodeType":"VariableDeclaration","src":"7505:60:107","nodes":[],"constant":false,"documentation":{"id":71047,"nodeType":"StructuredDocumentation","src":"7411:89:107","text":"@notice Member information as the staked amount and if is registered in the community"},"functionSelector":"88cfe684","mutability":"mutable","name":"addressToMemberInfo","nameLocation":"7546:19:107","scope":72700,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$70802_storage_$","typeString":"mapping(address => struct Member)"},"typeName":{"id":71051,"keyName":"member","keyNameLocation":"7521:6:107","keyType":{"id":71048,"name":"address","nodeType":"ElementaryTypeName","src":"7513:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7505:33:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$70802_storage_$","typeString":"mapping(address => struct Member)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":71050,"nodeType":"UserDefinedTypeName","pathNode":{"id":71049,"name":"Member","nameLocations":["7531:6:107"],"nodeType":"IdentifierPath","referencedDeclaration":70802,"src":"7531:6:107"},"referencedDeclaration":70802,"src":"7531:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_storage_ptr","typeString":"struct Member"}}},"visibility":"public"},{"id":71058,"nodeType":"VariableDeclaration","src":"7636:82:107","nodes":[],"constant":false,"documentation":{"id":71053,"nodeType":"StructuredDocumentation","src":"7571:60:107","text":"@notice List of strategies for each member are activated"},"functionSelector":"2b38c69c","mutability":"mutable","name":"strategiesByMember","nameLocation":"7700:18:107","scope":72700,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[])"},"typeName":{"id":71057,"keyName":"member","keyNameLocation":"7652:6:107","keyType":{"id":71054,"name":"address","nodeType":"ElementaryTypeName","src":"7644:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7636:56:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[])"},"valueName":"strategiesAddresses","valueNameLocation":"7672:19:107","valueType":{"baseType":{"id":71055,"name":"address","nodeType":"ElementaryTypeName","src":"7662:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71056,"nodeType":"ArrayTypeName","src":"7662:9:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"visibility":"public"},{"id":71065,"nodeType":"VariableDeclaration","src":"7796:107:107","nodes":[],"constant":false,"documentation":{"id":71059,"nodeType":"StructuredDocumentation","src":"7724:67:107","text":"@notice Mapping to check if a member is activated in a strategy"},"functionSelector":"477a5cc0","mutability":"mutable","name":"memberActivatedInStrategies","nameLocation":"7876:27:107","scope":72700,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"typeName":{"id":71064,"keyName":"member","keyNameLocation":"7812:6:107","keyType":{"id":71060,"name":"address","nodeType":"ElementaryTypeName","src":"7804:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7796:72:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":71063,"keyName":"strategy","keyNameLocation":"7838:8:107","keyType":{"id":71061,"name":"address","nodeType":"ElementaryTypeName","src":"7830:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7822:45:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"isActivated","valueNameLocation":"7855:11:107","valueType":{"id":71062,"name":"bool","nodeType":"ElementaryTypeName","src":"7850:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"public"},{"id":71069,"nodeType":"VariableDeclaration","src":"7996:24:107","nodes":[],"constant":false,"documentation":{"id":71066,"nodeType":"StructuredDocumentation","src":"7910:81:107","text":"@notice List of initial members to be added as pool managers in the Allo Pool"},"mutability":"mutable","name":"initialMembers","nameLocation":"8006:14:107","scope":72700,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":71067,"name":"address","nodeType":"ElementaryTypeName","src":"7996:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71068,"nodeType":"ArrayTypeName","src":"7996:9:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"id":71075,"nodeType":"VariableDeclaration","src":"8237:68:107","nodes":[],"constant":true,"documentation":{"id":71070,"nodeType":"StructuredDocumentation","src":"8192:40:107","text":"@notice Role to council safe members"},"functionSelector":"733a2d1f","mutability":"constant","name":"COUNCIL_MEMBER","nameLocation":"8261:14:107","scope":72700,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":71071,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8237:7:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"434f554e43494c5f4d454d424552","id":71073,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8288:16:107","typeDescriptions":{"typeIdentifier":"t_stringliteral_03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa","typeString":"literal_string \"COUNCIL_MEMBER\""},"value":"COUNCIL_MEMBER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa","typeString":"literal_string \"COUNCIL_MEMBER\""}],"id":71072,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"8278:9:107","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":71074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8278:27:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":71092,"nodeType":"FunctionDefinition","src":"8478:167:107","nodes":[],"body":{"id":71091,"nodeType":"Block","src":"8527:118:107","nodes":[],"statements":[{"condition":{"id":71083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8541:36:107","subExpression":{"arguments":[{"id":71079,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71075,"src":"8550:14:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":71080,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8566:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":71081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8570:6:107","memberName":"sender","nodeType":"MemberAccess","src":"8566:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":71078,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52456,"src":"8542:7:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":71082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8542:35:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71090,"nodeType":"IfStatement","src":"8537:102:107","trueBody":{"id":71089,"nodeType":"Block","src":"8579:60:107","statements":[{"errorCall":{"arguments":[{"expression":{"id":71085,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8617:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":71086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8621:6:107","memberName":"sender","nodeType":"MemberAccess","src":"8617:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71084,"name":"UserNotInCouncil","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70919,"src":"8600:16:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":71087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8600:28:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71088,"nodeType":"RevertStatement","src":"8593:35:107"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyCouncilSafe","nameLocation":"8487:15:107","parameters":{"id":71076,"nodeType":"ParameterList","parameters":[],"src":"8502:2:107"},"returnParameters":{"id":71077,"nodeType":"ParameterList","parameters":[],"src":"8527:0:107"},"scope":72700,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":71106,"nodeType":"FunctionDefinition","src":"8651:152:107","nodes":[],"body":{"id":71105,"nodeType":"Block","src":"8709:94:107","nodes":[],"statements":[{"condition":{"id":71099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8723:21:107","subExpression":{"arguments":[{"expression":{"id":71096,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8733:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":71097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8737:6:107","memberName":"sender","nodeType":"MemberAccess","src":"8733:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71095,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72317,"src":"8724:8:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":71098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8724:20:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71104,"nodeType":"IfStatement","src":"8719:78:107","trueBody":{"id":71103,"nodeType":"Block","src":"8746:51:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71100,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70921,"src":"8767:17:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8767:19:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71102,"nodeType":"RevertStatement","src":"8760:26:107"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryMemberSender","nameLocation":"8660:24:107","parameters":{"id":71093,"nodeType":"ParameterList","parameters":[],"src":"8684:2:107"},"returnParameters":{"id":71094,"nodeType":"ParameterList","parameters":[],"src":"8709:0:107"},"scope":72700,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":71121,"nodeType":"FunctionDefinition","src":"8809:157:107","nodes":[],"body":{"id":71120,"nodeType":"Block","src":"8875:91:107","nodes":[],"statements":[{"condition":{"id":71114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8889:18:107","subExpression":{"arguments":[{"id":71112,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71108,"src":"8899:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71111,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72317,"src":"8890:8:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":71113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8890:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71119,"nodeType":"IfStatement","src":"8885:75:107","trueBody":{"id":71118,"nodeType":"Block","src":"8909:51:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71115,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70921,"src":"8930:17:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8930:19:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71117,"nodeType":"RevertStatement","src":"8923:26:107"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryMemberAddress","nameLocation":"8818:25:107","parameters":{"id":71109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71108,"mutability":"mutable","name":"_sender","nameLocation":"8852:7:107","nodeType":"VariableDeclaration","scope":71121,"src":"8844:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71107,"name":"address","nodeType":"ElementaryTypeName","src":"8844:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8843:17:107"},"returnParameters":{"id":71110,"nodeType":"ParameterList","parameters":[],"src":"8875:0:107"},"scope":72700,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":71136,"nodeType":"FunctionDefinition","src":"8972:163:107","nodes":[],"body":{"id":71135,"nodeType":"Block","src":"9034:101:107","nodes":[],"statements":[{"condition":{"id":71129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9048:29:107","subExpression":{"baseExpression":{"id":71126,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71039,"src":"9049:17:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":71128,"indexExpression":{"id":71127,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71123,"src":"9067:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9049:28:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71134,"nodeType":"IfStatement","src":"9044:85:107","trueBody":{"id":71133,"nodeType":"Block","src":"9079:50:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71130,"name":"StrategyDisabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70933,"src":"9100:16:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9100:18:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71132,"nodeType":"RevertStatement","src":"9093:25:107"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyStrategyEnabled","nameLocation":"8981:19:107","parameters":{"id":71124,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71123,"mutability":"mutable","name":"_strategy","nameLocation":"9009:9:107","nodeType":"VariableDeclaration","scope":71136,"src":"9001:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71122,"name":"address","nodeType":"ElementaryTypeName","src":"9001:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9000:19:107"},"returnParameters":{"id":71125,"nodeType":"ParameterList","parameters":[],"src":"9034:0:107"},"scope":72700,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":71152,"nodeType":"FunctionDefinition","src":"9141:172:107","nodes":[],"body":{"id":71151,"nodeType":"Block","src":"9220:93:107","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":71145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71143,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71138,"src":"9234:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":71144,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71140,"src":"9245:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9234:20:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71150,"nodeType":"IfStatement","src":"9230:77:107","trueBody":{"id":71149,"nodeType":"Block","src":"9256:51:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71146,"name":"SenderNotStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70937,"src":"9277:17:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9277:19:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71148,"nodeType":"RevertStatement","src":"9270:26:107"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyStrategyAddress","nameLocation":"9150:19:107","parameters":{"id":71141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71138,"mutability":"mutable","name":"_sender","nameLocation":"9178:7:107","nodeType":"VariableDeclaration","scope":71152,"src":"9170:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71137,"name":"address","nodeType":"ElementaryTypeName","src":"9170:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71140,"mutability":"mutable","name":"_strategy","nameLocation":"9195:9:107","nodeType":"VariableDeclaration","scope":71152,"src":"9187:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71139,"name":"address","nodeType":"ElementaryTypeName","src":"9187:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9169:36:107"},"returnParameters":{"id":71142,"nodeType":"ParameterList","parameters":[],"src":"9220:0:107"},"scope":72700,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":71170,"nodeType":"FunctionDefinition","src":"9319:190:107","nodes":[],"body":{"id":71169,"nodeType":"Block","src":"9385:124:107","nodes":[],"statements":[{"condition":{"id":71163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9399:51:107","subExpression":{"baseExpression":{"baseExpression":{"id":71157,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71065,"src":"9400:27:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":71160,"indexExpression":{"expression":{"id":71158,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9428:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":71159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9432:6:107","memberName":"sender","nodeType":"MemberAccess","src":"9428:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9400:39:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":71162,"indexExpression":{"id":71161,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71154,"src":"9440:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9400:50:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71168,"nodeType":"IfStatement","src":"9395:108:107","trueBody":{"id":71167,"nodeType":"Block","src":"9452:51:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71164,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70945,"src":"9473:17:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9473:19:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71166,"nodeType":"RevertStatement","src":"9466:26:107"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyActivatedInStrategy","nameLocation":"9328:23:107","parameters":{"id":71155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71154,"mutability":"mutable","name":"_strategy","nameLocation":"9360:9:107","nodeType":"VariableDeclaration","scope":71170,"src":"9352:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71153,"name":"address","nodeType":"ElementaryTypeName","src":"9352:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9351:19:107"},"returnParameters":{"id":71156,"nodeType":"ParameterList","parameters":[],"src":"9385:0:107"},"scope":72700,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":71186,"nodeType":"FunctionDefinition","src":"9515:133:107","nodes":[],"body":{"id":71185,"nodeType":"Block","src":"9575:73:107","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":71180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71175,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71172,"src":"9589:8:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":71178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9609:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":71177,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9601:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71176,"name":"address","nodeType":"ElementaryTypeName","src":"9601:7:107","typeDescriptions":{}}},"id":71179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9601:10:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9589:22:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71184,"nodeType":"IfStatement","src":"9585:56:107","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71181,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70913,"src":"9620:19:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9620:21:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71183,"nodeType":"RevertStatement","src":"9613:28:107"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"9524:18:107","parameters":{"id":71173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71172,"mutability":"mutable","name":"_address","nameLocation":"9551:8:107","nodeType":"VariableDeclaration","scope":71186,"src":"9543:16:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71171,"name":"address","nodeType":"ElementaryTypeName","src":"9543:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9542:18:107"},"returnParameters":{"id":71174,"nodeType":"ParameterList","parameters":[],"src":"9575:0:107"},"scope":72700,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":71198,"nodeType":"FunctionDefinition","src":"9654:110:107","nodes":[],"body":{"id":71197,"nodeType":"Block","src":"9720:44:107","nodes":[],"statements":[{"expression":{"id":71195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71193,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71009,"src":"9730:16:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71194,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71188,"src":"9749:8:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9730:27:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71196,"nodeType":"ExpressionStatement","src":"9730:27:107"}]},"functionSelector":"1b71f0e4","implemented":true,"kind":"function","modifiers":[{"id":71191,"kind":"modifierInvocation","modifierName":{"id":71190,"name":"onlyOwner","nameLocations":["9710:9:107"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"9710:9:107"},"nodeType":"ModifierInvocation","src":"9710:9:107"}],"name":"setStrategyTemplate","nameLocation":"9663:19:107","parameters":{"id":71189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71188,"mutability":"mutable","name":"template","nameLocation":"9691:8:107","nodeType":"VariableDeclaration","scope":71198,"src":"9683:16:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71187,"name":"address","nodeType":"ElementaryTypeName","src":"9683:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9682:18:107"},"returnParameters":{"id":71192,"nodeType":"ParameterList","parameters":[],"src":"9720:0:107"},"scope":72700,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":71210,"nodeType":"FunctionDefinition","src":"9770:124:107","nodes":[],"body":{"id":71209,"nodeType":"Block","src":"9843:51:107","nodes":[],"statements":[{"expression":{"id":71207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71205,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71006,"src":"9853:23:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71206,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71200,"src":"9879:8:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9853:34:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71208,"nodeType":"ExpressionStatement","src":"9853:34:107"}]},"functionSelector":"b0d3713a","implemented":true,"kind":"function","modifiers":[{"id":71203,"kind":"modifierInvocation","modifierName":{"id":71202,"name":"onlyOwner","nameLocations":["9833:9:107"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"9833:9:107"},"nodeType":"ModifierInvocation","src":"9833:9:107"}],"name":"setCollateralVaultTemplate","nameLocation":"9779:26:107","parameters":{"id":71201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71200,"mutability":"mutable","name":"template","nameLocation":"9814:8:107","nodeType":"VariableDeclaration","scope":71210,"src":"9806:16:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71199,"name":"address","nodeType":"ElementaryTypeName","src":"9806:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9805:18:107"},"returnParameters":{"id":71204,"nodeType":"ParameterList","parameters":[],"src":"9843:0:107"},"scope":72700,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":71485,"nodeType":"FunctionDefinition","src":"10044:2497:107","nodes":[],"body":{"id":71484,"nodeType":"Block","src":"10251:2290:107","nodes":[],"statements":[{"expression":{"arguments":[{"id":71227,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71219,"src":"10278:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":71224,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"10261:5:107","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_RegistryCommunityV0_0_$72700_$","typeString":"type(contract super RegistryCommunityV0_0)"}},"id":71226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10267:10:107","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":70646,"src":"10261:16:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":71228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10261:24:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71229,"nodeType":"ExpressionStatement","src":"10261:24:107"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":71230,"name":"__ReentrancyGuard_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53176,"src":"10295:22:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":71231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10295:24:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71232,"nodeType":"ExpressionStatement","src":"10295:24:107"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":71233,"name":"__AccessControl_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52409,"src":"10329:20:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":71234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10329:22:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71235,"nodeType":"ExpressionStatement","src":"10329:22:107"},{"expression":{"arguments":[{"id":71237,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71075,"src":"10376:14:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":71238,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52392,"src":"10392:18:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":71236,"name":"_setRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52628,"src":"10362:13:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":71239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10362:49:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71240,"nodeType":"ExpressionStatement","src":"10362:49:107"},{"expression":{"arguments":[{"arguments":[{"expression":{"id":71244,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71213,"src":"10449:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":71245,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10456:12:107","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":70773,"src":"10449:19:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}],"id":71243,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10441:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71242,"name":"address","nodeType":"ElementaryTypeName","src":"10441:7:107","typeDescriptions":{}}},"id":71246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10441:28:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71241,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71186,"src":"10422:18:107","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":71247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10422:48:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71248,"nodeType":"ExpressionStatement","src":"10422:48:107"},{"expression":{"arguments":[{"expression":{"id":71250,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71213,"src":"10499:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":71251,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10506:12:107","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":70788,"src":"10499:19:107","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":71249,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71186,"src":"10480:18:107","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":71252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10480:39:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71253,"nodeType":"ExpressionStatement","src":"10480:39:107"},{"expression":{"arguments":[{"expression":{"id":71255,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71213,"src":"10548:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":71256,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10555:5:107","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":70770,"src":"10548:12:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71254,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71186,"src":"10529:18:107","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":71257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10529:32:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71258,"nodeType":"ExpressionStatement","src":"10529:32:107"},{"expression":{"arguments":[{"expression":{"id":71260,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71213,"src":"10590:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":71261,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10597:16:107","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":70781,"src":"10590:23:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71259,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71186,"src":"10571:18:107","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":71262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10571:43:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71263,"nodeType":"ExpressionStatement","src":"10571:43:107"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":71264,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71213,"src":"10629:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":71265,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10636:13:107","memberName":"_communityFee","nodeType":"MemberAccess","referencedDeclaration":70777,"src":"10629:20:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":71266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10653:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10629:25:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71274,"nodeType":"IfStatement","src":"10625:95:107","trueBody":{"id":71273,"nodeType":"Block","src":"10656:64:107","statements":[{"expression":{"arguments":[{"expression":{"id":71269,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71213,"src":"10689:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":71270,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10696:12:107","memberName":"_feeReceiver","nodeType":"MemberAccess","referencedDeclaration":70783,"src":"10689:19:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71268,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71186,"src":"10670:18:107","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":71271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10670:39:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71272,"nodeType":"ExpressionStatement","src":"10670:39:107"}]}},{"expression":{"id":71280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71275,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71028,"src":"10729:4:107","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$76184","typeString":"contract FAllo"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":71277,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71213,"src":"10742:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":71278,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10749:5:107","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":70770,"src":"10742:12:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71276,"name":"FAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76184,"src":"10736:5:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FAllo_$76184_$","typeString":"type(contract FAllo)"}},"id":71279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10736:19:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$76184","typeString":"contract FAllo"}},"src":"10729:26:107","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$76184","typeString":"contract FAllo"}},"id":71281,"nodeType":"ExpressionStatement","src":"10729:26:107"},{"expression":{"id":71285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71282,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71020,"src":"10765:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":71283,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71213,"src":"10779:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":71284,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10786:12:107","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":70773,"src":"10779:19:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"src":"10765:33:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":71286,"nodeType":"ExpressionStatement","src":"10765:33:107"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":71287,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71213,"src":"10812:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":71288,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10819:20:107","memberName":"_registerStakeAmount","nodeType":"MemberAccess","referencedDeclaration":70775,"src":"10812:27:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":71289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10843:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10812:32:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71295,"nodeType":"IfStatement","src":"10808:89:107","trueBody":{"id":71294,"nodeType":"Block","src":"10846:51:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71291,"name":"ValueCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70939,"src":"10867:17:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10867:19:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71293,"nodeType":"RevertStatement","src":"10860:26:107"}]}},{"expression":{"id":71299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71296,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70985,"src":"10906:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":71297,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71213,"src":"10928:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":71298,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10935:20:107","memberName":"_registerStakeAmount","nodeType":"MemberAccess","referencedDeclaration":70775,"src":"10928:27:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10906:49:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71300,"nodeType":"ExpressionStatement","src":"10906:49:107"},{"expression":{"id":71304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71301,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70988,"src":"10965:12:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":71302,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71213,"src":"10980:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":71303,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10987:13:107","memberName":"_communityFee","nodeType":"MemberAccess","referencedDeclaration":70777,"src":"10980:20:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10965:35:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71305,"nodeType":"ExpressionStatement","src":"10965:35:107"},{"expression":{"id":71309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71306,"name":"isKickEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70997,"src":"11010:13:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":71307,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71213,"src":"11026:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":71308,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11033:14:107","memberName":"_isKickEnabled","nodeType":"MemberAccess","referencedDeclaration":70792,"src":"11026:21:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11010:37:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71310,"nodeType":"ExpressionStatement","src":"11010:37:107"},{"expression":{"id":71314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71311,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71031,"src":"11057:13:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":71312,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71213,"src":"11073:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":71313,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11080:14:107","memberName":"_communityName","nodeType":"MemberAccess","referencedDeclaration":70790,"src":"11073:21:107","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"11057:37:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":71315,"nodeType":"ExpressionStatement","src":"11057:37:107"},{"expression":{"id":71319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71316,"name":"covenantIpfsHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71034,"src":"11104:16:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":71317,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71213,"src":"11123:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":71318,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11130:16:107","memberName":"covenantIpfsHash","nodeType":"MemberAccess","referencedDeclaration":70794,"src":"11123:23:107","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"11104:42:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":71320,"nodeType":"ExpressionStatement","src":"11104:42:107"},{"expression":{"id":71324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71321,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71003,"src":"11157:15:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":71322,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71213,"src":"11175:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":71323,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11182:16:107","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":70781,"src":"11175:23:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11157:41:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71325,"nodeType":"ExpressionStatement","src":"11157:41:107"},{"expression":{"id":71329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71326,"name":"feeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71000,"src":"11208:11:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":71327,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71213,"src":"11222:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":71328,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11229:12:107","memberName":"_feeReceiver","nodeType":"MemberAccess","referencedDeclaration":70783,"src":"11222:19:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11208:33:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71330,"nodeType":"ExpressionStatement","src":"11208:33:107"},{"expression":{"id":71336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71331,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71024,"src":"11251:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":71333,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71213,"src":"11271:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":71334,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11278:12:107","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":70788,"src":"11271:19:107","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":71332,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76451,"src":"11265:5:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISafe_$76451_$","typeString":"type(contract ISafe)"}},"id":71335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11265:26:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}},"src":"11251:40:107","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}},"id":71337,"nodeType":"ExpressionStatement","src":"11251:40:107"},{"expression":{"arguments":[{"id":71339,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71075,"src":"11313:14:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":71340,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71213,"src":"11329:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":71341,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11336:12:107","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":70788,"src":"11329:19:107","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":71338,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52660,"src":"11302:10:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":71342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11302:47:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71343,"nodeType":"ExpressionStatement","src":"11302:47:107"},{"expression":{"id":71350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71344,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71016,"src":"11360:8:107","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":71346,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71028,"src":"11381:4:107","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$76184","typeString":"contract FAllo"}},"id":71347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11386:11:107","memberName":"getRegistry","nodeType":"MemberAccess","referencedDeclaration":76175,"src":"11381:16:107","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":71348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11381:18:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71345,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"11371:9:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistry_$2802_$","typeString":"type(contract IRegistry)"}},"id":71349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11371:29:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"src":"11360:40:107","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":71351,"nodeType":"ExpressionStatement","src":"11360:40:107"},{"assignments":[71356],"declarations":[{"constant":false,"id":71356,"mutability":"mutable","name":"pool_initialMembers","nameLocation":"11428:19:107","nodeType":"VariableDeclaration","scope":71484,"src":"11411:36:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":71354,"name":"address","nodeType":"ElementaryTypeName","src":"11411:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71355,"nodeType":"ArrayTypeName","src":"11411:9:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":71357,"nodeType":"VariableDeclarationStatement","src":"11411:36:107"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"arguments":[{"id":71360,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71024,"src":"11507:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}],"id":71359,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11499:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71358,"name":"address","nodeType":"ElementaryTypeName","src":"11499:7:107","typeDescriptions":{}}},"id":71361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11499:20:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11520:4:107","memberName":"code","nodeType":"MemberAccess","src":"11499:25:107","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":71363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11525:6:107","memberName":"length","nodeType":"MemberAccess","src":"11499:32:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":71364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11535:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11499:37:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":71423,"nodeType":"Block","src":"11656:266:107","statements":[{"assignments":[71386],"declarations":[{"constant":false,"id":71386,"mutability":"mutable","name":"owners","nameLocation":"11687:6:107","nodeType":"VariableDeclaration","scope":71423,"src":"11670:23:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":71384,"name":"address","nodeType":"ElementaryTypeName","src":"11670:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71385,"nodeType":"ArrayTypeName","src":"11670:9:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":71390,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":71387,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71024,"src":"11696:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}},"id":71388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11708:9:107","memberName":"getOwners","nodeType":"MemberAccess","referencedDeclaration":76366,"src":"11696:21:107","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () view external returns (address[] memory)"}},"id":71389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11696:23:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"11670:49:107"},{"expression":{"id":71400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71391,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71356,"src":"11733:19:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":71395,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71386,"src":"11769:6:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11776:6:107","memberName":"length","nodeType":"MemberAccess","src":"11769:13:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":71397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11785:1:107","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"11769:17:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":71394,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"11755:13:107","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":71392,"name":"address","nodeType":"ElementaryTypeName","src":"11759:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71393,"nodeType":"ArrayTypeName","src":"11759:9:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":71399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11755:32:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"11733:54:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71401,"nodeType":"ExpressionStatement","src":"11733:54:107"},{"body":{"id":71421,"nodeType":"Block","src":"11845:67:107","statements":[{"expression":{"id":71419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":71413,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71356,"src":"11863:19:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71415,"indexExpression":{"id":71414,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71403,"src":"11883:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11863:22:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":71416,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71386,"src":"11888:6:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71418,"indexExpression":{"id":71417,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71403,"src":"11895:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11888:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11863:34:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71420,"nodeType":"ExpressionStatement","src":"11863:34:107"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71406,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71403,"src":"11821:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":71407,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71386,"src":"11825:6:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11832:6:107","memberName":"length","nodeType":"MemberAccess","src":"11825:13:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11821:17:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71422,"initializationExpression":{"assignments":[71403],"declarations":[{"constant":false,"id":71403,"mutability":"mutable","name":"i","nameLocation":"11814:1:107","nodeType":"VariableDeclaration","scope":71422,"src":"11806:9:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71402,"name":"uint256","nodeType":"ElementaryTypeName","src":"11806:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":71405,"initialValue":{"hexValue":"30","id":71404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11818:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11806:13:107"},"loopExpression":{"expression":{"id":71411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11840:3:107","subExpression":{"id":71410,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71403,"src":"11840:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71412,"nodeType":"ExpressionStatement","src":"11840:3:107"},"nodeType":"ForStatement","src":"11801:111:107"}]},"id":71424,"nodeType":"IfStatement","src":"11495:427:107","trueBody":{"id":71381,"nodeType":"Block","src":"11538:112:107","statements":[{"expression":{"id":71372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71366,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71356,"src":"11552:19:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"33","id":71370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11588:1:107","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":71369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"11574:13:107","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":71367,"name":"address","nodeType":"ElementaryTypeName","src":"11578:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71368,"nodeType":"ArrayTypeName","src":"11578:9:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":71371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11574:16:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"11552:38:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71373,"nodeType":"ExpressionStatement","src":"11552:38:107"},{"expression":{"id":71379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":71374,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71356,"src":"11604:19:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71376,"indexExpression":{"hexValue":"30","id":71375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11624:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11604:22:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":71377,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"11629:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":71378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11633:6:107","memberName":"sender","nodeType":"MemberAccess","src":"11629:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11604:35:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71380,"nodeType":"ExpressionStatement","src":"11604:35:107"}]}},{"expression":{"id":71435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":71425,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71356,"src":"11932:19:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71430,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":71426,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71356,"src":"11952:19:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11972:6:107","memberName":"length","nodeType":"MemberAccess","src":"11952:26:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":71428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11981:1:107","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"11952:30:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11932:51:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":71433,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71024,"src":"11994:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}],"id":71432,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11986:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71431,"name":"address","nodeType":"ElementaryTypeName","src":"11986:7:107","typeDescriptions":{}}},"id":71434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11986:20:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11932:74:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71436,"nodeType":"ExpressionStatement","src":"11932:74:107"},{"expression":{"id":71447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":71437,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71356,"src":"12016:19:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71442,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":71438,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71356,"src":"12036:19:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12056:6:107","memberName":"length","nodeType":"MemberAccess","src":"12036:26:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"32","id":71440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12065:1:107","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"12036:30:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12016:51:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":71445,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12078:4:107","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}],"id":71444,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12070:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71443,"name":"address","nodeType":"ElementaryTypeName","src":"12070:7:107","typeDescriptions":{}}},"id":71446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12070:13:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12016:67:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71448,"nodeType":"ExpressionStatement","src":"12016:67:107"},{"expression":{"id":71463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71449,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70994,"src":"12171:9:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":71452,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71213,"src":"12218:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":71453,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12225:6:107","memberName":"_nonce","nodeType":"MemberAccess","referencedDeclaration":70779,"src":"12218:13:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":71454,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71031,"src":"12233:13:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"expression":{"id":71455,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71213,"src":"12248:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":71456,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12255:9:107","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":70786,"src":"12248:16:107","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[{"id":71459,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12274:4:107","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}],"id":71458,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12266:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71457,"name":"address","nodeType":"ElementaryTypeName","src":"12266:7:107","typeDescriptions":{}}},"id":71460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12266:13:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71461,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71356,"src":"12281:19:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":71450,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71016,"src":"12195:8:107","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":71451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12204:13:107","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":2742,"src":"12195:22:107","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":71462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12195:106:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"12171:130:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":71464,"nodeType":"ExpressionStatement","src":"12171:130:107"},{"expression":{"id":71467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71465,"name":"initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71069,"src":"12312:14:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71466,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71356,"src":"12329:19:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"12312:36:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":71468,"nodeType":"ExpressionStatement","src":"12312:36:107"},{"expression":{"id":71471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71469,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71009,"src":"12359:16:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71470,"name":"_strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71215,"src":"12378:17:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12359:36:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71472,"nodeType":"ExpressionStatement","src":"12359:36:107"},{"expression":{"id":71475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71473,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71006,"src":"12405:23:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71474,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71217,"src":"12431:24:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12405:50:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71476,"nodeType":"ExpressionStatement","src":"12405:50:107"},{"eventCall":{"arguments":[{"id":71478,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70994,"src":"12491:9:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":71479,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71031,"src":"12502:13:107","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"expression":{"id":71480,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71213,"src":"12517:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":71481,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12524:9:107","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":70786,"src":"12517:16:107","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":71477,"name":"RegistryInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70860,"src":"12471:19:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (bytes32,string memory,struct Metadata memory)"}},"id":71482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12471:63:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71483,"nodeType":"EmitStatement","src":"12466:68:107"}]},"functionSelector":"34196355","implemented":true,"kind":"function","modifiers":[{"id":71222,"kind":"modifierInvocation","modifierName":{"id":71221,"name":"initializer","nameLocations":["10239:11:107"],"nodeType":"IdentifierPath","referencedDeclaration":53054,"src":"10239:11:107"},"nodeType":"ModifierInvocation","src":"10239:11:107"}],"name":"initialize","nameLocation":"10053:10:107","parameters":{"id":71220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71213,"mutability":"mutable","name":"params","nameLocation":"10118:6:107","nodeType":"VariableDeclaration","scope":71485,"src":"10073:51:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0"},"typeName":{"id":71212,"nodeType":"UserDefinedTypeName","pathNode":{"id":71211,"name":"RegistryCommunityInitializeParamsV0_0","nameLocations":["10073:37:107"],"nodeType":"IdentifierPath","referencedDeclaration":70795,"src":"10073:37:107"},"referencedDeclaration":70795,"src":"10073:37:107","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_storage_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0"}},"visibility":"internal"},{"constant":false,"id":71215,"mutability":"mutable","name":"_strategyTemplate","nameLocation":"10142:17:107","nodeType":"VariableDeclaration","scope":71485,"src":"10134:25:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71214,"name":"address","nodeType":"ElementaryTypeName","src":"10134:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71217,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"10177:24:107","nodeType":"VariableDeclaration","scope":71485,"src":"10169:32:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71216,"name":"address","nodeType":"ElementaryTypeName","src":"10169:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71219,"mutability":"mutable","name":"_owner","nameLocation":"10219:6:107","nodeType":"VariableDeclaration","scope":71485,"src":"10211:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71218,"name":"address","nodeType":"ElementaryTypeName","src":"10211:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10063:168:107"},"returnParameters":{"id":71223,"nodeType":"ParameterList","parameters":[],"src":"10251:0:107"},"scope":72700,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":71535,"nodeType":"FunctionDefinition","src":"12547:531:107","nodes":[],"body":{"id":71534,"nodeType":"Block","src":"12743:335:107","nodes":[],"statements":[{"assignments":[71501],"declarations":[{"constant":false,"id":71501,"mutability":"mutable","name":"strategyProxy","nameLocation":"12761:13:107","nodeType":"VariableDeclaration","scope":71534,"src":"12753:21:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71500,"name":"address","nodeType":"ElementaryTypeName","src":"12753:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":71526,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":71509,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71009,"src":"12840:16:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71508,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12832:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71507,"name":"address","nodeType":"ElementaryTypeName","src":"12832:7:107","typeDescriptions":{}}},"id":71510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12832:25:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":71513,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69194,"src":"12898:14:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategyV0_0_$69194_$","typeString":"type(contract CVStrategyV0_0)"}},"id":71514,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12913:4:107","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":66002,"src":"12898:19:107","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function CVStrategyV0_0.init(address,address,address)"}},"id":71515,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12918:8:107","memberName":"selector","nodeType":"MemberAccess","src":"12898:28:107","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":71518,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71028,"src":"12936:4:107","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$76184","typeString":"contract FAllo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_FAllo_$76184","typeString":"contract FAllo"}],"id":71517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12928:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71516,"name":"address","nodeType":"ElementaryTypeName","src":"12928:7:107","typeDescriptions":{}}},"id":71519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12928:13:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71520,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71006,"src":"12943:23:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":71521,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[70689],"referencedDeclaration":70689,"src":"12968:5:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":71522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12968:7:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":71511,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12875:3:107","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":71512,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12879:18:107","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"12875:22:107","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":71523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12875:101:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":71506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"12798:16:107","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55021_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":71505,"nodeType":"UserDefinedTypeName","pathNode":{"id":71504,"name":"ERC1967Proxy","nameLocations":["12802:12:107"],"nodeType":"IdentifierPath","referencedDeclaration":55021,"src":"12802:12:107"},"referencedDeclaration":55021,"src":"12802:12:107","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}},"id":71524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12798:192:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}],"id":71503,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12777:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71502,"name":"address","nodeType":"ElementaryTypeName","src":"12777:7:107","typeDescriptions":{}}},"id":71525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12777:223:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"12753:247:107"},{"expression":{"arguments":[{"id":71528,"name":"strategyProxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71501,"src":"13029:13:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71529,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71487,"src":"13044:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71530,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71490,"src":"13052:7:107","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0 memory"}},{"id":71531,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71493,"src":"13061:9:107","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0 memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":71527,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[71535,71607],"referencedDeclaration":71607,"src":"13018:10:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$_t_uint256_$_t_address_$","typeString":"function (address,address,struct CVStrategyInitializeParamsV0_0 memory,struct Metadata memory) returns (uint256,address)"}},"id":71532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13018:53:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_address_$","typeString":"tuple(uint256,address)"}},"functionReturnParameters":71499,"id":71533,"nodeType":"Return","src":"13011:60:107"}]},"functionSelector":"524e59e8","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"12556:10:107","parameters":{"id":71494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71487,"mutability":"mutable","name":"_token","nameLocation":"12575:6:107","nodeType":"VariableDeclaration","scope":71535,"src":"12567:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71486,"name":"address","nodeType":"ElementaryTypeName","src":"12567:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71490,"mutability":"mutable","name":"_params","nameLocation":"12621:7:107","nodeType":"VariableDeclaration","scope":71535,"src":"12583:45:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0"},"typeName":{"id":71489,"nodeType":"UserDefinedTypeName","pathNode":{"id":71488,"name":"CVStrategyInitializeParamsV0_0","nameLocations":["12583:30:107"],"nodeType":"IdentifierPath","referencedDeclaration":65657,"src":"12583:30:107"},"referencedDeclaration":65657,"src":"12583:30:107","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_storage_ptr","typeString":"struct CVStrategyInitializeParamsV0_0"}},"visibility":"internal"},{"constant":false,"id":71493,"mutability":"mutable","name":"_metadata","nameLocation":"12646:9:107","nodeType":"VariableDeclaration","scope":71535,"src":"12630:25:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":71492,"nodeType":"UserDefinedTypeName","pathNode":{"id":71491,"name":"Metadata","nameLocations":["12630:8:107"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12630:8:107"},"referencedDeclaration":3098,"src":"12630:8:107","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"12566:90:107"},"returnParameters":{"id":71499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71496,"mutability":"mutable","name":"poolId","nameLocation":"12713:6:107","nodeType":"VariableDeclaration","scope":71535,"src":"12705:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71495,"name":"uint256","nodeType":"ElementaryTypeName","src":"12705:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71498,"mutability":"mutable","name":"strategy","nameLocation":"12729:8:107","nodeType":"VariableDeclaration","scope":71535,"src":"12721:16:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71497,"name":"address","nodeType":"ElementaryTypeName","src":"12721:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12704:34:107"},"scope":72700,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71607,"nodeType":"FunctionDefinition","src":"13084:660:107","nodes":[],"body":{"id":71606,"nodeType":"Block","src":"13309:435:107","nodes":[],"statements":[{"assignments":[71553],"declarations":[{"constant":false,"id":71553,"mutability":"mutable","name":"token","nameLocation":"13327:5:107","nodeType":"VariableDeclaration","scope":71606,"src":"13319:13:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71552,"name":"address","nodeType":"ElementaryTypeName","src":"13319:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":71555,"initialValue":{"id":71554,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70970,"src":"13335:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"13319:22:107"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":71561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71556,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71539,"src":"13355:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":71559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13373:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":71558,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13365:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71557,"name":"address","nodeType":"ElementaryTypeName","src":"13365:7:107","typeDescriptions":{}}},"id":71560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13365:10:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13355:20:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71567,"nodeType":"IfStatement","src":"13351:65:107","trueBody":{"id":71566,"nodeType":"Block","src":"13377:39:107","statements":[{"expression":{"id":71564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71562,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71553,"src":"13391:5:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71563,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71539,"src":"13399:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13391:14:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71565,"nodeType":"ExpressionStatement","src":"13391:14:107"}]}},{"expression":{"id":71570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71568,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71550,"src":"13425:8:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71569,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71537,"src":"13436:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13425:20:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71571,"nodeType":"ExpressionStatement","src":"13425:20:107"},{"assignments":[71576],"declarations":[{"constant":false,"id":71576,"mutability":"mutable","name":"_pool_managers","nameLocation":"13473:14:107","nodeType":"VariableDeclaration","scope":71606,"src":"13456:31:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":71574,"name":"address","nodeType":"ElementaryTypeName","src":"13456:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71575,"nodeType":"ArrayTypeName","src":"13456:9:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":71578,"initialValue":{"id":71577,"name":"initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71069,"src":"13490:14:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"13456:48:107"},{"expression":{"id":71593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71579,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71548,"src":"13515:6:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":71582,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70994,"src":"13571:9:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":71583,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71550,"src":"13582:8:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":71586,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71542,"src":"13603:7:107","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0 memory"}],"expression":{"id":71584,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13592:3:107","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":71585,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13596:6:107","memberName":"encode","nodeType":"MemberAccess","src":"13592:10:107","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":71587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13592:19:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":71588,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71553,"src":"13613:5:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":71589,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13620:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":71590,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71545,"src":"13623:9:107","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":71591,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71576,"src":"13634:14:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":71580,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71028,"src":"13524:4:107","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$76184","typeString":"contract FAllo"}},"id":71581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13529:28:107","memberName":"createPoolWithCustomStrategy","nodeType":"MemberAccess","referencedDeclaration":76170,"src":"13524:33:107","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,address,bytes memory,address,uint256,struct Metadata memory,address[] memory) payable external returns (uint256)"}},"id":71592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13524:134:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13515:143:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71594,"nodeType":"ExpressionStatement","src":"13515:143:107"},{"eventCall":{"arguments":[{"id":71596,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71548,"src":"13686:6:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":71597,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71550,"src":"13694:8:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":71600,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13712:4:107","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}],"id":71599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13704:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71598,"name":"address","nodeType":"ElementaryTypeName","src":"13704:7:107","typeDescriptions":{}}},"id":71601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13704:13:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71602,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71539,"src":"13719:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71603,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71545,"src":"13727:9:107","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":71595,"name":"PoolCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70911,"src":"13674:11:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (uint256,address,address,address,struct Metadata memory)"}},"id":71604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13674:63:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71605,"nodeType":"EmitStatement","src":"13669:68:107"}]},"functionSelector":"e16d0e32","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"13093:10:107","parameters":{"id":71546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71537,"mutability":"mutable","name":"_strategy","nameLocation":"13121:9:107","nodeType":"VariableDeclaration","scope":71607,"src":"13113:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71536,"name":"address","nodeType":"ElementaryTypeName","src":"13113:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71539,"mutability":"mutable","name":"_token","nameLocation":"13148:6:107","nodeType":"VariableDeclaration","scope":71607,"src":"13140:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71538,"name":"address","nodeType":"ElementaryTypeName","src":"13140:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71542,"mutability":"mutable","name":"_params","nameLocation":"13202:7:107","nodeType":"VariableDeclaration","scope":71607,"src":"13164:45:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_0"},"typeName":{"id":71541,"nodeType":"UserDefinedTypeName","pathNode":{"id":71540,"name":"CVStrategyInitializeParamsV0_0","nameLocations":["13164:30:107"],"nodeType":"IdentifierPath","referencedDeclaration":65657,"src":"13164:30:107"},"referencedDeclaration":65657,"src":"13164:30:107","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_0_$65657_storage_ptr","typeString":"struct CVStrategyInitializeParamsV0_0"}},"visibility":"internal"},{"constant":false,"id":71545,"mutability":"mutable","name":"_metadata","nameLocation":"13235:9:107","nodeType":"VariableDeclaration","scope":71607,"src":"13219:25:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":71544,"nodeType":"UserDefinedTypeName","pathNode":{"id":71543,"name":"Metadata","nameLocations":["13219:8:107"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"13219:8:107"},"referencedDeclaration":3098,"src":"13219:8:107","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"13103:147:107"},"returnParameters":{"id":71551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71548,"mutability":"mutable","name":"poolId","nameLocation":"13283:6:107","nodeType":"VariableDeclaration","scope":71607,"src":"13275:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71547,"name":"uint256","nodeType":"ElementaryTypeName","src":"13275:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":71550,"mutability":"mutable","name":"strategy","nameLocation":"13299:8:107","nodeType":"VariableDeclaration","scope":71607,"src":"13291:16:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71549,"name":"address","nodeType":"ElementaryTypeName","src":"13291:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13274:34:107"},"scope":72700,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71724,"nodeType":"FunctionDefinition","src":"13750:1170:107","nodes":[],"body":{"id":71723,"nodeType":"Block","src":"13848:1072:107","nodes":[],"statements":[{"expression":{"arguments":[{"id":71617,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71609,"src":"13884:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71616,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71121,"src":"13858:25:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":71618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13858:34:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71619,"nodeType":"ExpressionStatement","src":"13858:34:107"},{"expression":{"arguments":[{"id":71621,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71611,"src":"13922:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71620,"name":"onlyStrategyEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71136,"src":"13902:19:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":71622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13902:30:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71623,"nodeType":"ExpressionStatement","src":"13902:30:107"},{"expression":{"arguments":[{"id":71625,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71611,"src":"13961:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71624,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71186,"src":"13942:18:107","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":71626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13942:29:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71627,"nodeType":"ExpressionStatement","src":"13942:29:107"},{"condition":{"baseExpression":{"baseExpression":{"id":71628,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71065,"src":"13986:27:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":71630,"indexExpression":{"id":71629,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71609,"src":"14014:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13986:36:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":71632,"indexExpression":{"id":71631,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71611,"src":"14023:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13986:47:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71637,"nodeType":"IfStatement","src":"13982:107:107","trueBody":{"id":71636,"nodeType":"Block","src":"14035:54:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71633,"name":"UserAlreadyActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70927,"src":"14056:20:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14056:22:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71635,"nodeType":"RevertStatement","src":"14049:29:107"}]}},{"assignments":[71640],"declarations":[{"constant":false,"id":71640,"mutability":"mutable","name":"member","nameLocation":"14113:6:107","nodeType":"VariableDeclaration","scope":71723,"src":"14099:20:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_memory_ptr","typeString":"struct Member"},"typeName":{"id":71639,"nodeType":"UserDefinedTypeName","pathNode":{"id":71638,"name":"Member","nameLocations":["14099:6:107"],"nodeType":"IdentifierPath","referencedDeclaration":70802,"src":"14099:6:107"},"referencedDeclaration":70802,"src":"14099:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_storage_ptr","typeString":"struct Member"}},"visibility":"internal"}],"id":71644,"initialValue":{"baseExpression":{"id":71641,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71052,"src":"14122:19:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$70802_storage_$","typeString":"mapping(address => struct Member storage ref)"}},"id":71643,"indexExpression":{"id":71642,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71609,"src":"14142:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14122:28:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_storage","typeString":"struct Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"14099:51:107"},{"assignments":[71646],"declarations":[{"constant":false,"id":71646,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"14169:17:107","nodeType":"VariableDeclaration","scope":71723,"src":"14161:25:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71645,"name":"uint256","nodeType":"ElementaryTypeName","src":"14161:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":71649,"initialValue":{"expression":{"id":71647,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71640,"src":"14189:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_memory_ptr","typeString":"struct Member memory"}},"id":71648,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14196:12:107","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":70799,"src":"14189:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14161:47:107"},{"assignments":[71651],"declarations":[{"constant":false,"id":71651,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"14226:16:107","nodeType":"VariableDeclaration","scope":71723,"src":"14218:24:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71650,"name":"uint256","nodeType":"ElementaryTypeName","src":"14218:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":71653,"initialValue":{"id":71652,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70985,"src":"14245:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14218:46:107"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"},"id":71661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":71655,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71611,"src":"14294:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71654,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65536,"src":"14279:14:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65536_$","typeString":"type(contract IPointStrategy)"}},"id":71656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14279:25:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$65536","typeString":"contract IPointStrategy"}},"id":71657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14305:14:107","memberName":"getPointSystem","nodeType":"MemberAccess","referencedDeclaration":65535,"src":"14279:40:107","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$_t_enum$_PointSystem_$65545_$","typeString":"function () external returns (enum PointSystem)"}},"id":71658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14279:42:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":71659,"name":"PointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65545,"src":"14325:11:107","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65545_$","typeString":"type(enum PointSystem)"}},"id":71660,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14337:9:107","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":65544,"src":"14325:21:107","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"src":"14279:67:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"},"id":71680,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":71674,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71611,"src":"14468:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71673,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65536,"src":"14453:14:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65536_$","typeString":"type(contract IPointStrategy)"}},"id":71675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14453:25:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$65536","typeString":"contract IPointStrategy"}},"id":71676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14479:14:107","memberName":"getPointSystem","nodeType":"MemberAccess","referencedDeclaration":65535,"src":"14453:40:107","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$_t_enum$_PointSystem_$65545_$","typeString":"function () external returns (enum PointSystem)"}},"id":71677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14453:42:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":71678,"name":"PointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65545,"src":"14499:11:107","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65545_$","typeString":"type(enum PointSystem)"}},"id":71679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14511:5:107","memberName":"Fixed","nodeType":"MemberAccess","referencedDeclaration":65541,"src":"14499:17:107","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},"src":"14453:63:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71692,"nodeType":"IfStatement","src":"14449:180:107","trueBody":{"id":71691,"nodeType":"Block","src":"14518:111:107","statements":[{"expression":{"id":71689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71681,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71651,"src":"14532:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":71686,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71609,"src":"14591:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71687,"name":"totalStakedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71646,"src":"14600:17:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":71683,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71611,"src":"14566:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71682,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65536,"src":"14551:14:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65536_$","typeString":"type(contract IPointStrategy)"}},"id":71684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14551:25:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$65536","typeString":"contract IPointStrategy"}},"id":71685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14577:13:107","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":65520,"src":"14551:39:107","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":71688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14551:67:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14532:86:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71690,"nodeType":"ExpressionStatement","src":"14532:86:107"}]}},"id":71693,"nodeType":"IfStatement","src":"14275:354:107","trueBody":{"id":71672,"nodeType":"Block","src":"14348:95:107","statements":[{"expression":{"id":71670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71662,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71651,"src":"14362:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":71667,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71609,"src":"14421:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":71668,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14430:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[{"id":71664,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71611,"src":"14396:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71663,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65536,"src":"14381:14:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65536_$","typeString":"type(contract IPointStrategy)"}},"id":71665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14381:25:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$65536","typeString":"contract IPointStrategy"}},"id":71666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14407:13:107","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":65520,"src":"14381:39:107","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":71669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14381:51:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14362:70:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71671,"nodeType":"ExpressionStatement","src":"14362:70:107"}]}},{"expression":{"id":71700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":71694,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71046,"src":"14639:21:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":71697,"indexExpression":{"id":71695,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71609,"src":"14661:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14639:30:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":71698,"indexExpression":{"id":71696,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71611,"src":"14670:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14639:41:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":71699,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71651,"src":"14683:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14639:60:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71701,"nodeType":"ExpressionStatement","src":"14639:60:107"},{"expression":{"id":71708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":71702,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71065,"src":"14728:27:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":71705,"indexExpression":{"id":71703,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71609,"src":"14756:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14728:36:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":71706,"indexExpression":{"id":71704,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71611,"src":"14765:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14728:47:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":71707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14778:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"14728:54:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71709,"nodeType":"ExpressionStatement","src":"14728:54:107"},{"expression":{"arguments":[{"id":71714,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71611,"src":"14826:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"baseExpression":{"id":71710,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71058,"src":"14793:18:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":71712,"indexExpression":{"id":71711,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71609,"src":"14812:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14793:27:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":71713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14821:4:107","memberName":"push","nodeType":"MemberAccess","src":"14793:32:107","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":71715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14793:43:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71716,"nodeType":"ExpressionStatement","src":"14793:43:107"},{"eventCall":{"arguments":[{"id":71718,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71609,"src":"14876:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71719,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71611,"src":"14885:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71720,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71651,"src":"14896:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":71717,"name":"MemberActivatedStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70876,"src":"14852:23:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":71721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14852:61:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71722,"nodeType":"EmitStatement","src":"14847:66:107"}]},"functionSelector":"0d4a8b49","implemented":true,"kind":"function","modifiers":[{"id":71614,"kind":"modifierInvocation","modifierName":{"id":71613,"name":"nonReentrant","nameLocations":["13835:12:107"],"nodeType":"IdentifierPath","referencedDeclaration":53197,"src":"13835:12:107"},"nodeType":"ModifierInvocation","src":"13835:12:107"}],"name":"activateMemberInStrategy","nameLocation":"13759:24:107","parameters":{"id":71612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71609,"mutability":"mutable","name":"_member","nameLocation":"13792:7:107","nodeType":"VariableDeclaration","scope":71724,"src":"13784:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71608,"name":"address","nodeType":"ElementaryTypeName","src":"13784:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71611,"mutability":"mutable","name":"_strategy","nameLocation":"13809:9:107","nodeType":"VariableDeclaration","scope":71724,"src":"13801:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71610,"name":"address","nodeType":"ElementaryTypeName","src":"13801:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13783:36:107"},"returnParameters":{"id":71615,"nodeType":"ParameterList","parameters":[],"src":"13848:0:107"},"scope":72700,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71783,"nodeType":"FunctionDefinition","src":"14926:699:107","nodes":[],"body":{"id":71782,"nodeType":"Block","src":"15013:612:107","nodes":[],"statements":[{"expression":{"arguments":[{"id":71732,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71726,"src":"15049:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71731,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71121,"src":"15023:25:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":71733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15023:34:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71734,"nodeType":"ExpressionStatement","src":"15023:34:107"},{"expression":{"arguments":[{"id":71736,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71728,"src":"15086:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71735,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71186,"src":"15067:18:107","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":71737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15067:29:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71738,"nodeType":"ExpressionStatement","src":"15067:29:107"},{"expression":{"arguments":[{"expression":{"id":71740,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15126:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":71741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15130:6:107","memberName":"sender","nodeType":"MemberAccess","src":"15126:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71742,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71728,"src":"15138:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":71739,"name":"onlyStrategyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71152,"src":"15106:19:107","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":71743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15106:42:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71744,"nodeType":"ExpressionStatement","src":"15106:42:107"},{"condition":{"id":71750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"15163:48:107","subExpression":{"baseExpression":{"baseExpression":{"id":71745,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71065,"src":"15164:27:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":71747,"indexExpression":{"id":71746,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71726,"src":"15192:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15164:36:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":71749,"indexExpression":{"id":71748,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71728,"src":"15201:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15164:47:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71755,"nodeType":"IfStatement","src":"15159:110:107","trueBody":{"id":71754,"nodeType":"Block","src":"15213:56:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71751,"name":"UserAlreadyDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70929,"src":"15234:22:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15234:24:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71753,"nodeType":"RevertStatement","src":"15227:31:107"}]}},{"expression":{"id":71762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":71756,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71065,"src":"15279:27:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":71759,"indexExpression":{"id":71757,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71726,"src":"15307:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15279:36:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":71760,"indexExpression":{"id":71758,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71728,"src":"15316:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15279:47:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":71761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15329:5:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"15279:55:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71763,"nodeType":"ExpressionStatement","src":"15279:55:107"},{"expression":{"id":71770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":71764,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71046,"src":"15344:21:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":71767,"indexExpression":{"id":71765,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71726,"src":"15366:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15344:30:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":71768,"indexExpression":{"id":71766,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71728,"src":"15375:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15344:41:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":71769,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15388:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15344:45:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71771,"nodeType":"ExpressionStatement","src":"15344:45:107"},{"expression":{"arguments":[{"id":71773,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71726,"src":"15424:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71774,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71728,"src":"15433:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":71772,"name":"removeStrategyFromMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71836,"src":"15399:24:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":71775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15399:44:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71776,"nodeType":"ExpressionStatement","src":"15399:44:107"},{"eventCall":{"arguments":[{"id":71778,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71726,"src":"15599:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71779,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71728,"src":"15608:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":71777,"name":"MemberDeactivatedStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70882,"src":"15573:25:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":71780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15573:45:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71781,"nodeType":"EmitStatement","src":"15568:50:107"}]},"functionSelector":"22bcf999","implemented":true,"kind":"function","modifiers":[],"name":"deactivateMemberInStrategy","nameLocation":"14935:26:107","parameters":{"id":71729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71726,"mutability":"mutable","name":"_member","nameLocation":"14970:7:107","nodeType":"VariableDeclaration","scope":71783,"src":"14962:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71725,"name":"address","nodeType":"ElementaryTypeName","src":"14962:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71728,"mutability":"mutable","name":"_strategy","nameLocation":"14987:9:107","nodeType":"VariableDeclaration","scope":71783,"src":"14979:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71727,"name":"address","nodeType":"ElementaryTypeName","src":"14979:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14961:36:107"},"returnParameters":{"id":71730,"nodeType":"ParameterList","parameters":[],"src":"15013:0:107"},"scope":72700,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":71836,"nodeType":"FunctionDefinition","src":"15631:433:107","nodes":[],"body":{"id":71835,"nodeType":"Block","src":"15718:346:107","nodes":[],"statements":[{"assignments":[71794],"declarations":[{"constant":false,"id":71794,"mutability":"mutable","name":"memberStrategies","nameLocation":"15746:16:107","nodeType":"VariableDeclaration","scope":71835,"src":"15728:34:107","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":71792,"name":"address","nodeType":"ElementaryTypeName","src":"15728:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71793,"nodeType":"ArrayTypeName","src":"15728:9:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":71798,"initialValue":{"baseExpression":{"id":71795,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71058,"src":"15765:18:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":71797,"indexExpression":{"id":71796,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71785,"src":"15784:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15765:27:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15728:64:107"},{"body":{"id":71833,"nodeType":"Block","src":"15856:202:107","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":71814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":71810,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71794,"src":"15874:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":71812,"indexExpression":{"id":71811,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71800,"src":"15891:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15874:19:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":71813,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71787,"src":"15897:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15874:32:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71832,"nodeType":"IfStatement","src":"15870:178:107","trueBody":{"id":71831,"nodeType":"Block","src":"15908:140:107","statements":[{"expression":{"id":71824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":71815,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71794,"src":"15926:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":71817,"indexExpression":{"id":71816,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71800,"src":"15943:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15926:19:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":71818,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71794,"src":"15948:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":71823,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":71819,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71794,"src":"15965:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":71820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15982:6:107","memberName":"length","nodeType":"MemberAccess","src":"15965:23:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":71821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15991:1:107","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"15965:27:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15948:45:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15926:67:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71825,"nodeType":"ExpressionStatement","src":"15926:67:107"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":71826,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71794,"src":"16011:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":71828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16028:3:107","memberName":"pop","nodeType":"MemberAccess","src":"16011:20:107","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer)"}},"id":71829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16011:22:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71830,"nodeType":"ExpressionStatement","src":"16011:22:107"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71803,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71800,"src":"15822:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":71804,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71794,"src":"15826:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":71805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15843:6:107","memberName":"length","nodeType":"MemberAccess","src":"15826:23:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15822:27:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71834,"initializationExpression":{"assignments":[71800],"declarations":[{"constant":false,"id":71800,"mutability":"mutable","name":"i","nameLocation":"15815:1:107","nodeType":"VariableDeclaration","scope":71834,"src":"15807:9:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71799,"name":"uint256","nodeType":"ElementaryTypeName","src":"15807:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":71802,"initialValue":{"hexValue":"30","id":71801,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15819:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"15807:13:107"},"loopExpression":{"expression":{"id":71808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"15851:3:107","subExpression":{"id":71807,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71800,"src":"15851:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71809,"nodeType":"ExpressionStatement","src":"15851:3:107"},"nodeType":"ForStatement","src":"15802:256:107"}]},"implemented":true,"kind":"function","modifiers":[],"name":"removeStrategyFromMember","nameLocation":"15640:24:107","parameters":{"id":71788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71785,"mutability":"mutable","name":"_member","nameLocation":"15673:7:107","nodeType":"VariableDeclaration","scope":71836,"src":"15665:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71784,"name":"address","nodeType":"ElementaryTypeName","src":"15665:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71787,"mutability":"mutable","name":"_strategy","nameLocation":"15690:9:107","nodeType":"VariableDeclaration","scope":71836,"src":"15682:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71786,"name":"address","nodeType":"ElementaryTypeName","src":"15682:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15664:36:107"},"returnParameters":{"id":71789,"nodeType":"ParameterList","parameters":[],"src":"15718:0:107"},"scope":72700,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":71927,"nodeType":"FunctionDefinition","src":"16070:1009:107","nodes":[],"body":{"id":71926,"nodeType":"Block","src":"16144:935:107","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":71843,"name":"onlyRegistryMemberSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71106,"src":"16154:24:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":71844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16154:26:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71845,"nodeType":"ExpressionStatement","src":"16154:26:107"},{"assignments":[71847],"declarations":[{"constant":false,"id":71847,"mutability":"mutable","name":"member","nameLocation":"16198:6:107","nodeType":"VariableDeclaration","scope":71926,"src":"16190:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71846,"name":"address","nodeType":"ElementaryTypeName","src":"16190:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":71850,"initialValue":{"expression":{"id":71848,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16207:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":71849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16211:6:107","memberName":"sender","nodeType":"MemberAccess","src":"16207:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16190:27:107"},{"assignments":[71855],"declarations":[{"constant":false,"id":71855,"mutability":"mutable","name":"memberStrategies","nameLocation":"16244:16:107","nodeType":"VariableDeclaration","scope":71926,"src":"16227:33:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":71853,"name":"address","nodeType":"ElementaryTypeName","src":"16227:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71854,"nodeType":"ArrayTypeName","src":"16227:9:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":71859,"initialValue":{"baseExpression":{"id":71856,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71058,"src":"16263:18:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":71858,"indexExpression":{"id":71857,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71847,"src":"16282:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16263:26:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"16227:62:107"},{"assignments":[71861],"declarations":[{"constant":false,"id":71861,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"16308:16:107","nodeType":"VariableDeclaration","scope":71926,"src":"16300:24:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71860,"name":"uint256","nodeType":"ElementaryTypeName","src":"16300:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":71862,"nodeType":"VariableDeclarationStatement","src":"16300:24:107"},{"body":{"id":71901,"nodeType":"Block","src":"16389:482:107","statements":[{"expression":{"id":71884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71874,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71861,"src":"16508:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":71881,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71847,"src":"16577:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71882,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71838,"src":"16585:13:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"baseExpression":{"id":71876,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71855,"src":"16542:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71878,"indexExpression":{"id":71877,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71864,"src":"16559:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16542:19:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71875,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65536,"src":"16527:14:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65536_$","typeString":"type(contract IPointStrategy)"}},"id":71879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16527:35:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$65536","typeString":"contract IPointStrategy"}},"id":71880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16563:13:107","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":65520,"src":"16527:49:107","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":71883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16527:72:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16508:91:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71885,"nodeType":"ExpressionStatement","src":"16508:91:107"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71886,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71861,"src":"16617:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":71887,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16637:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16617:21:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71900,"nodeType":"IfStatement","src":"16613:232:107","trueBody":{"id":71899,"nodeType":"Block","src":"16640:205:107","statements":[{"expression":{"id":71897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":71889,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71046,"src":"16658:21:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":71894,"indexExpression":{"id":71890,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71847,"src":"16680:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16658:29:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":71895,"indexExpression":{"baseExpression":{"id":71891,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71855,"src":"16688:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71893,"indexExpression":{"id":71892,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71864,"src":"16705:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16688:19:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16658:50:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":71896,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71861,"src":"16712:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16658:70:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71898,"nodeType":"ExpressionStatement","src":"16658:70:107"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71867,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71864,"src":"16355:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":71868,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71855,"src":"16359:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":71869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16376:6:107","memberName":"length","nodeType":"MemberAccess","src":"16359:23:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16355:27:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71902,"initializationExpression":{"assignments":[71864],"declarations":[{"constant":false,"id":71864,"mutability":"mutable","name":"i","nameLocation":"16348:1:107","nodeType":"VariableDeclaration","scope":71902,"src":"16340:9:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71863,"name":"uint256","nodeType":"ElementaryTypeName","src":"16340:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":71866,"initialValue":{"hexValue":"30","id":71865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16352:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"16340:13:107"},"loopExpression":{"expression":{"id":71872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"16384:3:107","subExpression":{"id":71871,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71864,"src":"16384:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71873,"nodeType":"ExpressionStatement","src":"16384:3:107"},"nodeType":"ForStatement","src":"16335:536:107"},{"expression":{"arguments":[{"id":71906,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71847,"src":"16910:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":71909,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16926:4:107","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}],"id":71908,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16918:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":71907,"name":"address","nodeType":"ElementaryTypeName","src":"16918:7:107","typeDescriptions":{}}},"id":71910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16918:13:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71911,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71838,"src":"16933:13:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":71903,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71020,"src":"16881:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":71905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16893:16:107","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":56649,"src":"16881:28:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$56528_$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":71912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16881:66:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71913,"nodeType":"ExpressionStatement","src":"16881:66:107"},{"expression":{"id":71919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":71914,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71052,"src":"16957:19:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$70802_storage_$","typeString":"mapping(address => struct Member storage ref)"}},"id":71916,"indexExpression":{"id":71915,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71847,"src":"16977:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16957:27:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_storage","typeString":"struct Member storage ref"}},"id":71917,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16985:12:107","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":70799,"src":"16957:40:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":71918,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71838,"src":"17001:13:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16957:57:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71920,"nodeType":"ExpressionStatement","src":"16957:57:107"},{"eventCall":{"arguments":[{"id":71922,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71847,"src":"17050:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71923,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71838,"src":"17058:13:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":71921,"name":"MemberPowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70892,"src":"17029:20:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":71924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17029:43:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71925,"nodeType":"EmitStatement","src":"17024:48:107"}]},"functionSelector":"559de05d","implemented":true,"kind":"function","modifiers":[{"id":71841,"kind":"modifierInvocation","modifierName":{"id":71840,"name":"nonReentrant","nameLocations":["16131:12:107"],"nodeType":"IdentifierPath","referencedDeclaration":53197,"src":"16131:12:107"},"nodeType":"ModifierInvocation","src":"16131:12:107"}],"name":"increasePower","nameLocation":"16079:13:107","parameters":{"id":71839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71838,"mutability":"mutable","name":"_amountStaked","nameLocation":"16101:13:107","nodeType":"VariableDeclaration","scope":71927,"src":"16093:21:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71837,"name":"uint256","nodeType":"ElementaryTypeName","src":"16093:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16092:23:107"},"returnParameters":{"id":71842,"nodeType":"ParameterList","parameters":[],"src":"16144:0:107"},"scope":72700,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72077,"nodeType":"FunctionDefinition","src":"17222:1562:107","nodes":[],"body":{"id":72076,"nodeType":"Block","src":"17298:1486:107","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":71934,"name":"onlyRegistryMemberSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71106,"src":"17308:24:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":71935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17308:26:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71936,"nodeType":"ExpressionStatement","src":"17308:26:107"},{"assignments":[71938],"declarations":[{"constant":false,"id":71938,"mutability":"mutable","name":"member","nameLocation":"17352:6:107","nodeType":"VariableDeclaration","scope":72076,"src":"17344:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71937,"name":"address","nodeType":"ElementaryTypeName","src":"17344:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":71941,"initialValue":{"expression":{"id":71939,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17361:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":71940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17365:6:107","memberName":"sender","nodeType":"MemberAccess","src":"17361:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"17344:27:107"},{"assignments":[71946],"declarations":[{"constant":false,"id":71946,"mutability":"mutable","name":"memberStrategies","nameLocation":"17399:16:107","nodeType":"VariableDeclaration","scope":72076,"src":"17381:34:107","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":71944,"name":"address","nodeType":"ElementaryTypeName","src":"17381:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71945,"nodeType":"ArrayTypeName","src":"17381:9:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":71950,"initialValue":{"baseExpression":{"id":71947,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71058,"src":"17418:18:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":71949,"indexExpression":{"id":71948,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71938,"src":"17437:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17418:26:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"17381:63:107"},{"assignments":[71952],"declarations":[{"constant":false,"id":71952,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"17463:16:107","nodeType":"VariableDeclaration","scope":72076,"src":"17455:24:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71951,"name":"uint256","nodeType":"ElementaryTypeName","src":"17455:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":71953,"nodeType":"VariableDeclarationStatement","src":"17455:24:107"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":71954,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71052,"src":"17494:19:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$70802_storage_$","typeString":"mapping(address => struct Member storage ref)"}},"id":71956,"indexExpression":{"id":71955,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71938,"src":"17514:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17494:27:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_storage","typeString":"struct Member storage ref"}},"id":71957,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17522:12:107","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":70799,"src":"17494:40:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":71958,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71929,"src":"17537:15:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17494:58:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":71960,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70985,"src":"17555:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17494:80:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":71966,"nodeType":"IfStatement","src":"17490:140:107","trueBody":{"id":71965,"nodeType":"Block","src":"17576:54:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":71962,"name":"DecreaseUnderMinimum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70947,"src":"17597:20:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":71963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17597:22:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71964,"nodeType":"RevertStatement","src":"17590:29:107"}]}},{"expression":{"arguments":[{"id":71970,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71938,"src":"17664:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":71971,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71929,"src":"17672:15:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":71967,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71020,"src":"17639:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":71969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17651:12:107","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":56622,"src":"17639:24:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$56528_$","typeString":"function (contract IERC20,address,uint256)"}},"id":71972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17639:49:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":71973,"nodeType":"ExpressionStatement","src":"17639:49:107"},{"body":{"id":72062,"nodeType":"Block","src":"17752:897:107","statements":[{"assignments":[71986],"declarations":[{"constant":false,"id":71986,"mutability":"mutable","name":"strategy","nameLocation":"17774:8:107","nodeType":"VariableDeclaration","scope":72062,"src":"17766:16:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":71985,"name":"address","nodeType":"ElementaryTypeName","src":"17766:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":71990,"initialValue":{"baseExpression":{"id":71987,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71946,"src":"17785:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":71989,"indexExpression":{"id":71988,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71975,"src":"17802:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17785:19:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"17766:38:107"},{"condition":{"arguments":[{"expression":{"arguments":[{"id":71994,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65536,"src":"17854:14:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65536_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65536_$","typeString":"type(contract IPointStrategy)"}],"id":71993,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"17849:4:107","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":71995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17849:20:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$65536","typeString":"type(contract IPointStrategy)"}},"id":71996,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17870:11:107","memberName":"interfaceId","nodeType":"MemberAccess","src":"17849:32:107","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":71991,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71986,"src":"17822:8:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17831:17:107","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57775,"src":"17822:26:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$attached_to$_t_address_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":71997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17822:60:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":72060,"nodeType":"Block","src":"18372:250:107","statements":[{"expression":{"id":72049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":72040,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71946,"src":"18457:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":72042,"indexExpression":{"id":72041,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71975,"src":"18474:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18457:19:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":72043,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71946,"src":"18479:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":72048,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":72044,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71946,"src":"18496:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":72045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18513:6:107","memberName":"length","nodeType":"MemberAccess","src":"18496:23:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":72046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18522:1:107","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"18496:27:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18479:45:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18457:67:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72050,"nodeType":"ExpressionStatement","src":"18457:67:107"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":72051,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71946,"src":"18542:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":72053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18559:3:107","memberName":"pop","nodeType":"MemberAccess","src":"18542:20:107","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer)"}},"id":72054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18542:22:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72055,"nodeType":"ExpressionStatement","src":"18542:22:107"},{"expression":{"arguments":[{"id":72057,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71986,"src":"18598:8:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72056,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72228,"src":"18582:15:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18582:25:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72059,"nodeType":"ExpressionStatement","src":"18582:25:107"}]},"id":72061,"nodeType":"IfStatement","src":"17818:804:107","trueBody":{"id":72039,"nodeType":"Block","src":"17884:482:107","statements":[{"expression":{"id":72006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":71998,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71952,"src":"17902:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":72003,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71938,"src":"17960:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72004,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71929,"src":"17968:15:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":72000,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71986,"src":"17936:8:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":71999,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65536,"src":"17921:14:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65536_$","typeString":"type(contract IPointStrategy)"}},"id":72001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17921:24:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$65536","typeString":"contract IPointStrategy"}},"id":72002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17946:13:107","memberName":"decreasePower","nodeType":"MemberAccess","referencedDeclaration":65529,"src":"17921:38:107","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":72005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17921:63:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17902:82:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72007,"nodeType":"ExpressionStatement","src":"17902:82:107"},{"assignments":[72009],"declarations":[{"constant":false,"id":72009,"mutability":"mutable","name":"currentPower","nameLocation":"18010:12:107","nodeType":"VariableDeclaration","scope":72039,"src":"18002:20:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72008,"name":"uint256","nodeType":"ElementaryTypeName","src":"18002:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":72017,"initialValue":{"baseExpression":{"baseExpression":{"id":72010,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71046,"src":"18025:21:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":72012,"indexExpression":{"id":72011,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71938,"src":"18047:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18025:29:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":72016,"indexExpression":{"baseExpression":{"id":72013,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71946,"src":"18055:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":72015,"indexExpression":{"id":72014,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71975,"src":"18072:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18055:19:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18025:50:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18002:73:107"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72018,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71952,"src":"18097:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":72019,"name":"currentPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72009,"src":"18116:12:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18097:31:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":72037,"nodeType":"Block","src":"18241:111:107","statements":[{"expression":{"id":72035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":72027,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71046,"src":"18263:21:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":72032,"indexExpression":{"id":72028,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71938,"src":"18285:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18263:29:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":72033,"indexExpression":{"baseExpression":{"id":72029,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71946,"src":"18293:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":72031,"indexExpression":{"id":72030,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71975,"src":"18310:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18293:19:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18263:50:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":72034,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71952,"src":"18317:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18263:70:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72036,"nodeType":"ExpressionStatement","src":"18263:70:107"}]},"id":72038,"nodeType":"IfStatement","src":"18093:259:107","trueBody":{"id":72026,"nodeType":"Block","src":"18130:105:107","statements":[{"errorCall":{"arguments":[{"id":72022,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71952,"src":"18185:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":72023,"name":"currentPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72009,"src":"18203:12:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72021,"name":"CantDecreaseMoreThanPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70953,"src":"18159:25:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":72024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18159:57:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72025,"nodeType":"RevertStatement","src":"18152:64:107"}]}}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":71981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":71978,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71975,"src":"17718:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":71979,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71946,"src":"17722:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":71980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17739:6:107","memberName":"length","nodeType":"MemberAccess","src":"17722:23:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17718:27:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72063,"initializationExpression":{"assignments":[71975],"declarations":[{"constant":false,"id":71975,"mutability":"mutable","name":"i","nameLocation":"17711:1:107","nodeType":"VariableDeclaration","scope":72063,"src":"17703:9:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71974,"name":"uint256","nodeType":"ElementaryTypeName","src":"17703:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":71977,"initialValue":{"hexValue":"30","id":71976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17715:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"17703:13:107"},"loopExpression":{"expression":{"id":71983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"17747:3:107","subExpression":{"id":71982,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71975,"src":"17747:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":71984,"nodeType":"ExpressionStatement","src":"17747:3:107"},"nodeType":"ForStatement","src":"17698:951:107"},{"expression":{"id":72069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":72064,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71052,"src":"18658:19:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$70802_storage_$","typeString":"mapping(address => struct Member storage ref)"}},"id":72066,"indexExpression":{"id":72065,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71938,"src":"18678:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18658:27:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_storage","typeString":"struct Member storage ref"}},"id":72067,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18686:12:107","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":70799,"src":"18658:40:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":72068,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71929,"src":"18702:15:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18658:59:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72070,"nodeType":"ExpressionStatement","src":"18658:59:107"},{"eventCall":{"arguments":[{"id":72072,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71938,"src":"18753:6:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72073,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71929,"src":"18761:15:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72071,"name":"MemberPowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70898,"src":"18732:20:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":72074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18732:45:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72075,"nodeType":"EmitStatement","src":"18727:50:107"}]},"functionSelector":"5ecf71c5","implemented":true,"kind":"function","modifiers":[{"id":71932,"kind":"modifierInvocation","modifierName":{"id":71931,"name":"nonReentrant","nameLocations":["17285:12:107"],"nodeType":"IdentifierPath","referencedDeclaration":53197,"src":"17285:12:107"},"nodeType":"ModifierInvocation","src":"17285:12:107"}],"name":"decreasePower","nameLocation":"17231:13:107","parameters":{"id":71930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71929,"mutability":"mutable","name":"_amountUnstaked","nameLocation":"17253:15:107","nodeType":"VariableDeclaration","scope":72077,"src":"17245:23:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71928,"name":"uint256","nodeType":"ElementaryTypeName","src":"17245:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17244:25:107"},"returnParameters":{"id":71933,"nodeType":"ParameterList","parameters":[],"src":"17298:0:107"},"scope":72700,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72093,"nodeType":"FunctionDefinition","src":"18790:173:107","nodes":[],"body":{"id":72092,"nodeType":"Block","src":"18898:65:107","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":72086,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71046,"src":"18915:21:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":72088,"indexExpression":{"id":72087,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72079,"src":"18937:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18915:30:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":72090,"indexExpression":{"id":72089,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72081,"src":"18946:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18915:41:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":72085,"id":72091,"nodeType":"Return","src":"18908:48:107"}]},"functionSelector":"7817ee4f","implemented":true,"kind":"function","modifiers":[],"name":"getMemberPowerInStrategy","nameLocation":"18799:24:107","parameters":{"id":72082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72079,"mutability":"mutable","name":"_member","nameLocation":"18832:7:107","nodeType":"VariableDeclaration","scope":72093,"src":"18824:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72078,"name":"address","nodeType":"ElementaryTypeName","src":"18824:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72081,"mutability":"mutable","name":"_strategy","nameLocation":"18849:9:107","nodeType":"VariableDeclaration","scope":72093,"src":"18841:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72080,"name":"address","nodeType":"ElementaryTypeName","src":"18841:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18823:36:107"},"returnParameters":{"id":72085,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72084,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72093,"src":"18889:7:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72083,"name":"uint256","nodeType":"ElementaryTypeName","src":"18889:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18888:9:107"},"scope":72700,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":72106,"nodeType":"FunctionDefinition","src":"18969:151:107","nodes":[],"body":{"id":72105,"nodeType":"Block","src":"19055:65:107","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":72100,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71052,"src":"19072:19:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$70802_storage_$","typeString":"mapping(address => struct Member storage ref)"}},"id":72102,"indexExpression":{"id":72101,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72095,"src":"19092:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19072:28:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_storage","typeString":"struct Member storage ref"}},"id":72103,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19101:12:107","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":70799,"src":"19072:41:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":72099,"id":72104,"nodeType":"Return","src":"19065:48:107"}]},"functionSelector":"2c611c4a","implemented":true,"kind":"function","modifiers":[],"name":"getMemberStakedAmount","nameLocation":"18978:21:107","parameters":{"id":72096,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72095,"mutability":"mutable","name":"_member","nameLocation":"19008:7:107","nodeType":"VariableDeclaration","scope":72106,"src":"19000:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72094,"name":"address","nodeType":"ElementaryTypeName","src":"19000:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18999:17:107"},"returnParameters":{"id":72099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72098,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72106,"src":"19046:7:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72097,"name":"uint256","nodeType":"ElementaryTypeName","src":"19046:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19045:9:107"},"scope":72700,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":72143,"nodeType":"FunctionDefinition","src":"19126:321:107","nodes":[],"body":{"id":72142,"nodeType":"Block","src":"19186:261:107","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72111,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71092,"src":"19196:15:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":72112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19196:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72113,"nodeType":"ExpressionStatement","src":"19196:17:107"},{"assignments":[72115],"declarations":[{"constant":false,"id":72115,"mutability":"mutable","name":"strategy","nameLocation":"19231:8:107","nodeType":"VariableDeclaration","scope":72142,"src":"19223:16:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72114,"name":"address","nodeType":"ElementaryTypeName","src":"19223:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":72124,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":72120,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72108,"src":"19263:6:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72118,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71028,"src":"19250:4:107","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$76184","typeString":"contract FAllo"}},"id":72119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19255:7:107","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":76183,"src":"19250:12:107","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":72121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19250:20:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":72122,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19271:8:107","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"19250:29:107","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":72117,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19242:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72116,"name":"address","nodeType":"ElementaryTypeName","src":"19242:7:107","typeDescriptions":{}}},"id":72123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19242:38:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"19223:57:107"},{"expression":{"arguments":[{"id":72126,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72115,"src":"19309:8:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72125,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71186,"src":"19290:18:107","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":72127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19290:28:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72128,"nodeType":"ExpressionStatement","src":"19290:28:107"},{"condition":{"arguments":[{"expression":{"arguments":[{"id":72132,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65536,"src":"19364:14:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65536_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65536_$","typeString":"type(contract IPointStrategy)"}],"id":72131,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"19359:4:107","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":72133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19359:20:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$65536","typeString":"type(contract IPointStrategy)"}},"id":72134,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19380:11:107","memberName":"interfaceId","nodeType":"MemberAccess","src":"19359:32:107","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":72129,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72115,"src":"19332:8:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19341:17:107","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":57775,"src":"19332:26:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$attached_to$_t_address_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":72135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19332:60:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72141,"nodeType":"IfStatement","src":"19328:113:107","trueBody":{"id":72140,"nodeType":"Block","src":"19394:47:107","statements":[{"expression":{"arguments":[{"id":72137,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72115,"src":"19421:8:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72136,"name":"_addStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72180,"src":"19408:12:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19408:22:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72139,"nodeType":"ExpressionStatement","src":"19408:22:107"}]}}]},"functionSelector":"82d6a1e7","implemented":true,"kind":"function","modifiers":[],"name":"addStrategyByPoolId","nameLocation":"19135:19:107","parameters":{"id":72109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72108,"mutability":"mutable","name":"poolId","nameLocation":"19163:6:107","nodeType":"VariableDeclaration","scope":72143,"src":"19155:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72107,"name":"uint256","nodeType":"ElementaryTypeName","src":"19155:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19154:16:107"},"returnParameters":{"id":72110,"nodeType":"ParameterList","parameters":[],"src":"19186:0:107"},"scope":72700,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72156,"nodeType":"FunctionDefinition","src":"19453:128:107","nodes":[],"body":{"id":72155,"nodeType":"Block","src":"19511:70:107","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72148,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71092,"src":"19521:15:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":72149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19521:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72150,"nodeType":"ExpressionStatement","src":"19521:17:107"},{"expression":{"arguments":[{"id":72152,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72145,"src":"19561:12:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72151,"name":"_addStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72180,"src":"19548:12:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19548:26:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72154,"nodeType":"ExpressionStatement","src":"19548:26:107"}]},"functionSelector":"223e5479","implemented":true,"kind":"function","modifiers":[],"name":"addStrategy","nameLocation":"19462:11:107","parameters":{"id":72146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72145,"mutability":"mutable","name":"_newStrategy","nameLocation":"19482:12:107","nodeType":"VariableDeclaration","scope":72156,"src":"19474:20:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72144,"name":"address","nodeType":"ElementaryTypeName","src":"19474:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19473:22:107"},"returnParameters":{"id":72147,"nodeType":"ParameterList","parameters":[],"src":"19511:0:107"},"scope":72700,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72180,"nodeType":"FunctionDefinition","src":"19587:252:107","nodes":[],"body":{"id":72179,"nodeType":"Block","src":"19648:191:107","nodes":[],"statements":[{"condition":{"baseExpression":{"id":72161,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71039,"src":"19662:17:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":72163,"indexExpression":{"id":72162,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72158,"src":"19680:12:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19662:31:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72168,"nodeType":"IfStatement","src":"19658:85:107","trueBody":{"id":72167,"nodeType":"Block","src":"19695:48:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72164,"name":"StrategyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70931,"src":"19716:14:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19716:16:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72166,"nodeType":"RevertStatement","src":"19709:23:107"}]}},{"expression":{"id":72173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":72169,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71039,"src":"19752:17:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":72171,"indexExpression":{"id":72170,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72158,"src":"19770:12:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19752:31:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":72172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19786:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"19752:38:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72174,"nodeType":"ExpressionStatement","src":"19752:38:107"},{"eventCall":{"arguments":[{"id":72176,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72158,"src":"19819:12:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72175,"name":"StrategyAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70864,"src":"19805:13:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19805:27:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72178,"nodeType":"EmitStatement","src":"19800:32:107"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addStrategy","nameLocation":"19596:12:107","parameters":{"id":72159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72158,"mutability":"mutable","name":"_newStrategy","nameLocation":"19617:12:107","nodeType":"VariableDeclaration","scope":72180,"src":"19609:20:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72157,"name":"address","nodeType":"ElementaryTypeName","src":"19609:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19608:22:107"},"returnParameters":{"id":72160,"nodeType":"ParameterList","parameters":[],"src":"19648:0:107"},"scope":72700,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":72208,"nodeType":"FunctionDefinition","src":"19845:237:107","nodes":[],"body":{"id":72207,"nodeType":"Block","src":"19908:174:107","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72185,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71092,"src":"19918:15:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":72186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19918:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72187,"nodeType":"ExpressionStatement","src":"19918:17:107"},{"assignments":[72189],"declarations":[{"constant":false,"id":72189,"mutability":"mutable","name":"strategy","nameLocation":"19953:8:107","nodeType":"VariableDeclaration","scope":72207,"src":"19945:16:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72188,"name":"address","nodeType":"ElementaryTypeName","src":"19945:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":72198,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":72194,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72182,"src":"19985:6:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72192,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71028,"src":"19972:4:107","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$76184","typeString":"contract FAllo"}},"id":72193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19977:7:107","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":76183,"src":"19972:12:107","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":72195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19972:20:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":72196,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19993:8:107","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"19972:29:107","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":72191,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19964:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72190,"name":"address","nodeType":"ElementaryTypeName","src":"19964:7:107","typeDescriptions":{}}},"id":72197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19964:38:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"19945:57:107"},{"expression":{"arguments":[{"id":72200,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72189,"src":"20031:8:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72199,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71186,"src":"20012:18:107","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":72201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20012:28:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72202,"nodeType":"ExpressionStatement","src":"20012:28:107"},{"expression":{"arguments":[{"id":72204,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72189,"src":"20066:8:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72203,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72228,"src":"20050:15:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20050:25:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72206,"nodeType":"ExpressionStatement","src":"20050:25:107"}]},"functionSelector":"73265c37","implemented":true,"kind":"function","modifiers":[],"name":"removeStrategyByPoolId","nameLocation":"19854:22:107","parameters":{"id":72183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72182,"mutability":"mutable","name":"poolId","nameLocation":"19885:6:107","nodeType":"VariableDeclaration","scope":72208,"src":"19877:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72181,"name":"uint256","nodeType":"ElementaryTypeName","src":"19877:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19876:16:107"},"returnParameters":{"id":72184,"nodeType":"ParameterList","parameters":[],"src":"19908:0:107"},"scope":72700,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72228,"nodeType":"FunctionDefinition","src":"20088:194:107","nodes":[],"body":{"id":72227,"nodeType":"Block","src":"20149:133:107","nodes":[],"statements":[{"expression":{"arguments":[{"id":72214,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72210,"src":"20178:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72213,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71186,"src":"20159:18:107","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":72215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20159:29:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72216,"nodeType":"ExpressionStatement","src":"20159:29:107"},{"expression":{"id":72221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":72217,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71039,"src":"20198:17:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":72219,"indexExpression":{"id":72218,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72210,"src":"20216:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"20198:28:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":72220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"20229:5:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"20198:36:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72222,"nodeType":"ExpressionStatement","src":"20198:36:107"},{"eventCall":{"arguments":[{"id":72224,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72210,"src":"20265:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72223,"name":"StrategyRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70868,"src":"20249:15:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20249:26:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72226,"nodeType":"EmitStatement","src":"20244:31:107"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_removeStrategy","nameLocation":"20097:15:107","parameters":{"id":72211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72210,"mutability":"mutable","name":"_strategy","nameLocation":"20121:9:107","nodeType":"VariableDeclaration","scope":72228,"src":"20113:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72209,"name":"address","nodeType":"ElementaryTypeName","src":"20113:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20112:19:107"},"returnParameters":{"id":72212,"nodeType":"ParameterList","parameters":[],"src":"20149:0:107"},"scope":72700,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":72241,"nodeType":"FunctionDefinition","src":"20288:128:107","nodes":[],"body":{"id":72240,"nodeType":"Block","src":"20346:70:107","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72233,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71092,"src":"20356:15:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":72234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20356:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72235,"nodeType":"ExpressionStatement","src":"20356:17:107"},{"expression":{"arguments":[{"id":72237,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72230,"src":"20399:9:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72236,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72228,"src":"20383:15:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20383:26:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72239,"nodeType":"ExpressionStatement","src":"20383:26:107"}]},"functionSelector":"175188e8","implemented":true,"kind":"function","modifiers":[],"name":"removeStrategy","nameLocation":"20297:14:107","parameters":{"id":72231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72230,"mutability":"mutable","name":"_strategy","nameLocation":"20320:9:107","nodeType":"VariableDeclaration","scope":72241,"src":"20312:17:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72229,"name":"address","nodeType":"ElementaryTypeName","src":"20312:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20311:19:107"},"returnParameters":{"id":72232,"nodeType":"ParameterList","parameters":[],"src":"20346:0:107"},"scope":72700,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72266,"nodeType":"FunctionDefinition","src":"20422:248:107","nodes":[],"body":{"id":72265,"nodeType":"Block","src":"20484:186:107","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72246,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71092,"src":"20494:15:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":72247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20494:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72248,"nodeType":"ExpressionStatement","src":"20494:17:107"},{"expression":{"arguments":[{"id":72250,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72243,"src":"20540:5:107","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":72249,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71186,"src":"20521:18:107","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":72251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20521:25:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72252,"nodeType":"ExpressionStatement","src":"20521:25:107"},{"expression":{"id":72255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72253,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71012,"src":"20556:18:107","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72254,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72243,"src":"20577:5:107","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"20556:26:107","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":72256,"nodeType":"ExpressionStatement","src":"20556:26:107"},{"eventCall":{"arguments":[{"arguments":[{"id":72260,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71024,"src":"20630:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}],"id":72259,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20622:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72258,"name":"address","nodeType":"ElementaryTypeName","src":"20622:7:107","typeDescriptions":{}}},"id":72261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20622:20:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72262,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71012,"src":"20644:18:107","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":72257,"name":"CouncilSafeChangeStarted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70827,"src":"20597:24:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":72263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20597:66:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72264,"nodeType":"EmitStatement","src":"20592:71:107"}]},"functionSelector":"397e2543","implemented":true,"kind":"function","modifiers":[],"name":"setCouncilSafe","nameLocation":"20431:14:107","parameters":{"id":72244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72243,"mutability":"mutable","name":"_safe","nameLocation":"20462:5:107","nodeType":"VariableDeclaration","scope":72266,"src":"20446:21:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":72242,"name":"address","nodeType":"ElementaryTypeName","src":"20446:15:107","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"20445:23:107"},"returnParameters":{"id":72245,"nodeType":"ParameterList","parameters":[],"src":"20484:0:107"},"scope":72700,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72283,"nodeType":"FunctionDefinition","src":"20676:187:107","nodes":[],"body":{"id":72282,"nodeType":"Block","src":"20723:140:107","nodes":[],"statements":[{"expression":{"id":72273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72269,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71024,"src":"20733:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":72271,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71012,"src":"20753:18:107","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":72270,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76451,"src":"20747:5:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISafe_$76451_$","typeString":"type(contract ISafe)"}},"id":72272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20747:25:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}},"src":"20733:39:107","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}},"id":72274,"nodeType":"ExpressionStatement","src":"20733:39:107"},{"expression":{"id":72276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"20782:25:107","subExpression":{"id":72275,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71012,"src":"20789:18:107","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72277,"nodeType":"ExpressionStatement","src":"20782:25:107"},{"eventCall":{"arguments":[{"id":72279,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71012,"src":"20837:18:107","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":72278,"name":"CouncilSafeSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70821,"src":"20822:14:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20822:34:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72281,"nodeType":"EmitStatement","src":"20817:39:107"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_changeCouncilSafe","nameLocation":"20685:18:107","parameters":{"id":72267,"nodeType":"ParameterList","parameters":[],"src":"20703:2:107"},"returnParameters":{"id":72268,"nodeType":"ParameterList","parameters":[],"src":"20723:0:107"},"scope":72700,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":72299,"nodeType":"FunctionDefinition","src":"20869:179:107","nodes":[],"body":{"id":72298,"nodeType":"Block","src":"20913:135:107","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":72289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":72286,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"20927:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":72287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20931:6:107","memberName":"sender","nodeType":"MemberAccess","src":"20927:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":72288,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71012,"src":"20941:18:107","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"20927:32:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72294,"nodeType":"IfStatement","src":"20923:89:107","trueBody":{"id":72293,"nodeType":"Block","src":"20961:51:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72290,"name":"SenderNotNewOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70935,"src":"20982:17:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20982:19:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72292,"nodeType":"RevertStatement","src":"20975:26:107"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72295,"name":"_changeCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72283,"src":"21021:18:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":72296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21021:20:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72297,"nodeType":"ExpressionStatement","src":"21021:20:107"}]},"functionSelector":"b5058c50","implemented":true,"kind":"function","modifiers":[],"name":"acceptCouncilSafe","nameLocation":"20878:17:107","parameters":{"id":72284,"nodeType":"ParameterList","parameters":[],"src":"20895:2:107"},"returnParameters":{"id":72285,"nodeType":"ParameterList","parameters":[],"src":"20913:0:107"},"scope":72700,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72317,"nodeType":"FunctionDefinition","src":"21054:190:107","nodes":[],"body":{"id":72316,"nodeType":"Block","src":"21134:110:107","nodes":[],"statements":[{"assignments":[72308],"declarations":[{"constant":false,"id":72308,"mutability":"mutable","name":"newMember","nameLocation":"21158:9:107","nodeType":"VariableDeclaration","scope":72316,"src":"21144:23:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_memory_ptr","typeString":"struct Member"},"typeName":{"id":72307,"nodeType":"UserDefinedTypeName","pathNode":{"id":72306,"name":"Member","nameLocations":["21144:6:107"],"nodeType":"IdentifierPath","referencedDeclaration":70802,"src":"21144:6:107"},"referencedDeclaration":70802,"src":"21144:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_storage_ptr","typeString":"struct Member"}},"visibility":"internal"}],"id":72312,"initialValue":{"baseExpression":{"id":72309,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71052,"src":"21170:19:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$70802_storage_$","typeString":"mapping(address => struct Member storage ref)"}},"id":72311,"indexExpression":{"id":72310,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72301,"src":"21190:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21170:28:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_storage","typeString":"struct Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"21144:54:107"},{"expression":{"expression":{"id":72313,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72308,"src":"21215:9:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_memory_ptr","typeString":"struct Member memory"}},"id":72314,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21225:12:107","memberName":"isRegistered","nodeType":"MemberAccess","referencedDeclaration":70801,"src":"21215:22:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":72305,"id":72315,"nodeType":"Return","src":"21208:29:107"}]},"functionSelector":"a230c524","implemented":true,"kind":"function","modifiers":[],"name":"isMember","nameLocation":"21063:8:107","parameters":{"id":72302,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72301,"mutability":"mutable","name":"_member","nameLocation":"21080:7:107","nodeType":"VariableDeclaration","scope":72317,"src":"21072:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72300,"name":"address","nodeType":"ElementaryTypeName","src":"21072:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21071:17:107"},"returnParameters":{"id":72305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72304,"mutability":"mutable","name":"_isMember","nameLocation":"21123:9:107","nodeType":"VariableDeclaration","scope":72317,"src":"21118:14:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72303,"name":"bool","nodeType":"ElementaryTypeName","src":"21118:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21117:16:107"},"scope":72700,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":72436,"nodeType":"FunctionDefinition","src":"21250:1932:107","nodes":[],"body":{"id":72435,"nodeType":"Block","src":"21312:1870:107","nodes":[],"statements":[{"assignments":[72323],"declarations":[{"constant":false,"id":72323,"mutability":"mutable","name":"_member","nameLocation":"21330:7:107","nodeType":"VariableDeclaration","scope":72435,"src":"21322:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72322,"name":"address","nodeType":"ElementaryTypeName","src":"21322:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":72326,"initialValue":{"expression":{"id":72324,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"21340:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":72325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21344:6:107","memberName":"sender","nodeType":"MemberAccess","src":"21340:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"21322:28:107"},{"assignments":[72329],"declarations":[{"constant":false,"id":72329,"mutability":"mutable","name":"newMember","nameLocation":"21375:9:107","nodeType":"VariableDeclaration","scope":72435,"src":"21360:24:107","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_storage_ptr","typeString":"struct Member"},"typeName":{"id":72328,"nodeType":"UserDefinedTypeName","pathNode":{"id":72327,"name":"Member","nameLocations":["21360:6:107"],"nodeType":"IdentifierPath","referencedDeclaration":70802,"src":"21360:6:107"},"referencedDeclaration":70802,"src":"21360:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_storage_ptr","typeString":"struct Member"}},"visibility":"internal"}],"id":72333,"initialValue":{"baseExpression":{"id":72330,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71052,"src":"21387:19:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$70802_storage_$","typeString":"mapping(address => struct Member storage ref)"}},"id":72332,"indexExpression":{"id":72331,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72323,"src":"21407:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21387:28:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_storage","typeString":"struct Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"21360:55:107"},{"assignments":[72336],"declarations":[{"constant":false,"id":72336,"mutability":"mutable","name":"gardensFactory","nameLocation":"21442:14:107","nodeType":"VariableDeclaration","scope":72435,"src":"21425:31:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$70017","typeString":"contract IRegistryFactory"},"typeName":{"id":72335,"nodeType":"UserDefinedTypeName","pathNode":{"id":72334,"name":"IRegistryFactory","nameLocations":["21425:16:107"],"nodeType":"IdentifierPath","referencedDeclaration":70017,"src":"21425:16:107"},"referencedDeclaration":70017,"src":"21425:16:107","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$70017","typeString":"contract IRegistryFactory"}},"visibility":"internal"}],"id":72340,"initialValue":{"arguments":[{"id":72338,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71003,"src":"21476:15:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72337,"name":"IRegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70017,"src":"21459:16:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistryFactory_$70017_$","typeString":"type(contract IRegistryFactory)"}},"id":72339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21459:33:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$70017","typeString":"contract IRegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"21425:67:107"},{"assignments":[72342],"declarations":[{"constant":false,"id":72342,"mutability":"mutable","name":"communityFeeAmount","nameLocation":"21510:18:107","nodeType":"VariableDeclaration","scope":72435,"src":"21502:26:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72341,"name":"uint256","nodeType":"ElementaryTypeName","src":"21502:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":72352,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72343,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70985,"src":"21532:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":72344,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70988,"src":"21554:12:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21532:34:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":72346,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"21531:36:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72349,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":72347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21571:3:107","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":72348,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70976,"src":"21577:15:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21571:21:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":72350,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"21570:23:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21531:62:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21502:91:107"},{"assignments":[72354],"declarations":[{"constant":false,"id":72354,"mutability":"mutable","name":"gardensFeeAmount","nameLocation":"21611:16:107","nodeType":"VariableDeclaration","scope":72435,"src":"21603:24:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72353,"name":"uint256","nodeType":"ElementaryTypeName","src":"21603:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":72370,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72355,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70985,"src":"21643:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"arguments":[{"id":72360,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21703:4:107","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}],"id":72359,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21695:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72358,"name":"address","nodeType":"ElementaryTypeName","src":"21695:7:107","typeDescriptions":{}}},"id":72361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21695:13:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":72356,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72336,"src":"21665:14:107","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$70017","typeString":"contract IRegistryFactory"}},"id":72357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21680:14:107","memberName":"getProtocolFee","nodeType":"MemberAccess","referencedDeclaration":70016,"src":"21665:29:107","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":72362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21665:44:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21643:66:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":72364,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"21642:68:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72367,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":72365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21714:3:107","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":72366,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70976,"src":"21720:15:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21714:21:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":72368,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"21713:23:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21642:94:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21603:133:107"},{"condition":{"id":72374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"21750:18:107","subExpression":{"arguments":[{"id":72372,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72323,"src":"21760:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72371,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72317,"src":"21751:8:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":72373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21751:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72434,"nodeType":"IfStatement","src":"21746:1430:107","trueBody":{"id":72433,"nodeType":"Block","src":"21770:1406:107","statements":[{"expression":{"id":72379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":72375,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72329,"src":"21784:9:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_storage_ptr","typeString":"struct Member storage pointer"}},"id":72377,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21794:12:107","memberName":"isRegistered","nodeType":"MemberAccess","referencedDeclaration":70801,"src":"21784:22:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":72378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"21809:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"21784:29:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72380,"nodeType":"ExpressionStatement","src":"21784:29:107"},{"expression":{"id":72385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":72381,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72329,"src":"21828:9:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_storage_ptr","typeString":"struct Member storage pointer"}},"id":72383,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21838:12:107","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":70799,"src":"21828:22:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72384,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70985,"src":"21853:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21828:44:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72386,"nodeType":"ExpressionStatement","src":"21828:44:107"},{"expression":{"arguments":[{"id":72390,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72323,"src":"22070:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":72393,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22087:4:107","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}],"id":72392,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22079:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72391,"name":"address","nodeType":"ElementaryTypeName","src":"22079:7:107","typeDescriptions":{}}},"id":72394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22079:13:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72395,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70985,"src":"22094:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":72396,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72342,"src":"22116:18:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22094:40:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":72398,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72354,"src":"22137:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22094:59:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72387,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71020,"src":"22024:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":72389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22036:16:107","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":56649,"src":"22024:28:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$56528_$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":72400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22024:143:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72401,"nodeType":"ExpressionStatement","src":"22024:143:107"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72402,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72342,"src":"22592:18:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":72403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22613:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22592:22:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72413,"nodeType":"IfStatement","src":"22588:178:107","trueBody":{"id":72412,"nodeType":"Block","src":"22616:150:107","statements":[{"expression":{"arguments":[{"id":72408,"name":"feeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71000,"src":"22719:11:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72409,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72342,"src":"22732:18:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72405,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71020,"src":"22694:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":72407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22706:12:107","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":56622,"src":"22694:24:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$56528_$","typeString":"function (contract IERC20,address,uint256)"}},"id":72410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22694:57:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72411,"nodeType":"ExpressionStatement","src":"22694:57:107"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72414,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72354,"src":"22849:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":72415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22868:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22849:20:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72427,"nodeType":"IfStatement","src":"22845:255:107","trueBody":{"id":72426,"nodeType":"Block","src":"22871:229:107","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":72420,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72336,"src":"23028:14:107","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$70017","typeString":"contract IRegistryFactory"}},"id":72421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23043:21:107","memberName":"getGardensFeeReceiver","nodeType":"MemberAccess","referencedDeclaration":70009,"src":"23028:36:107","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":72422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23028:38:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72423,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72354,"src":"23068:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72417,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71020,"src":"23003:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":72419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23015:12:107","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":56622,"src":"23003:24:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$56528_$","typeString":"function (contract IERC20,address,uint256)"}},"id":72424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23003:82:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72425,"nodeType":"ExpressionStatement","src":"23003:82:107"}]}},{"eventCall":{"arguments":[{"id":72429,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72323,"src":"23136:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72430,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70985,"src":"23145:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72428,"name":"MemberRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70833,"src":"23119:16:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":72431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23119:46:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72432,"nodeType":"EmitStatement","src":"23114:51:107"}]}}]},"functionSelector":"3517aa7d","implemented":true,"kind":"function","modifiers":[{"id":72320,"kind":"modifierInvocation","modifierName":{"id":72319,"name":"nonReentrant","nameLocations":["21299:12:107"],"nodeType":"IdentifierPath","referencedDeclaration":53197,"src":"21299:12:107"},"nodeType":"ModifierInvocation","src":"21299:12:107"}],"name":"stakeAndRegisterMember","nameLocation":"21259:22:107","parameters":{"id":72318,"nodeType":"ParameterList","parameters":[],"src":"21281:2:107"},"returnParameters":{"id":72321,"nodeType":"ParameterList","parameters":[],"src":"21312:0:107"},"scope":72700,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72485,"nodeType":"FunctionDefinition","src":"23188:477:107","nodes":[],"body":{"id":72484,"nodeType":"Block","src":"23260:405:107","nodes":[],"statements":[{"assignments":[72443],"declarations":[{"constant":false,"id":72443,"mutability":"mutable","name":"gardensFactory","nameLocation":"23287:14:107","nodeType":"VariableDeclaration","scope":72484,"src":"23270:31:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$70017","typeString":"contract IRegistryFactory"},"typeName":{"id":72442,"nodeType":"UserDefinedTypeName","pathNode":{"id":72441,"name":"IRegistryFactory","nameLocations":["23270:16:107"],"nodeType":"IdentifierPath","referencedDeclaration":70017,"src":"23270:16:107"},"referencedDeclaration":70017,"src":"23270:16:107","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$70017","typeString":"contract IRegistryFactory"}},"visibility":"internal"}],"id":72447,"initialValue":{"arguments":[{"id":72445,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71003,"src":"23321:15:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72444,"name":"IRegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70017,"src":"23304:16:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistryFactory_$70017_$","typeString":"type(contract IRegistryFactory)"}},"id":72446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23304:33:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$70017","typeString":"contract IRegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"23270:67:107"},{"assignments":[72449],"declarations":[{"constant":false,"id":72449,"mutability":"mutable","name":"communityFeeAmount","nameLocation":"23355:18:107","nodeType":"VariableDeclaration","scope":72484,"src":"23347:26:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72448,"name":"uint256","nodeType":"ElementaryTypeName","src":"23347:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":72459,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72450,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70985,"src":"23377:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":72451,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70988,"src":"23399:12:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23377:34:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":72453,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"23376:36:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72456,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":72454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23416:3:107","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":72455,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70976,"src":"23422:15:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23416:21:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":72457,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"23415:23:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23376:62:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23347:91:107"},{"assignments":[72461],"declarations":[{"constant":false,"id":72461,"mutability":"mutable","name":"gardensFeeAmount","nameLocation":"23456:16:107","nodeType":"VariableDeclaration","scope":72484,"src":"23448:24:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72460,"name":"uint256","nodeType":"ElementaryTypeName","src":"23448:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":72477,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72462,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70985,"src":"23488:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"arguments":[{"id":72467,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"23548:4:107","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}],"id":72466,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23540:7:107","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72465,"name":"address","nodeType":"ElementaryTypeName","src":"23540:7:107","typeDescriptions":{}}},"id":72468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23540:13:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":72463,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72443,"src":"23510:14:107","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistryFactory_$70017","typeString":"contract IRegistryFactory"}},"id":72464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23525:14:107","memberName":"getProtocolFee","nodeType":"MemberAccess","referencedDeclaration":70016,"src":"23510:29:107","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":72469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23510:44:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23488:66:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":72471,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"23487:68:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72474,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":72472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23559:3:107","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":72473,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70976,"src":"23565:15:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23559:21:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":72475,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"23558:23:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23487:94:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23448:133:107"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72478,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70985,"src":"23599:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":72479,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72449,"src":"23621:18:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23599:40:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":72481,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72461,"src":"23642:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23599:59:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":72440,"id":72483,"nodeType":"Return","src":"23592:66:107"}]},"functionSelector":"28c309e9","implemented":true,"kind":"function","modifiers":[],"name":"getStakeAmountWithFees","nameLocation":"23197:22:107","parameters":{"id":72437,"nodeType":"ParameterList","parameters":[],"src":"23219:2:107"},"returnParameters":{"id":72440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72439,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72485,"src":"23251:7:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72438,"name":"uint256","nodeType":"ElementaryTypeName","src":"23251:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23250:9:107"},"scope":72700,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":72493,"nodeType":"FunctionDefinition","src":"23671:115:107","nodes":[],"body":{"id":72492,"nodeType":"Block","src":"23743:43:107","nodes":[],"statements":[{"expression":{"id":72490,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70985,"src":"23760:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":72489,"id":72491,"nodeType":"Return","src":"23753:26:107"}]},"functionSelector":"0331383c","implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"23680:20:107","parameters":{"id":72486,"nodeType":"ParameterList","parameters":[],"src":"23700:2:107"},"returnParameters":{"id":72489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72488,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72493,"src":"23734:7:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72487,"name":"uint256","nodeType":"ElementaryTypeName","src":"23734:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23733:9:107"},"scope":72700,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":72510,"nodeType":"FunctionDefinition","src":"23792:190:107","nodes":[],"body":{"id":72509,"nodeType":"Block","src":"23859:123:107","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72498,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71092,"src":"23869:15:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":72499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23869:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72500,"nodeType":"ExpressionStatement","src":"23869:17:107"},{"expression":{"id":72503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72501,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70985,"src":"23896:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72502,"name":"_newAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72495,"src":"23918:10:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23896:32:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72504,"nodeType":"ExpressionStatement","src":"23896:32:107"},{"eventCall":{"arguments":[{"id":72506,"name":"_newAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72495,"src":"23964:10:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72505,"name":"BasisStakedAmountSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70886,"src":"23943:20:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":72507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23943:32:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72508,"nodeType":"EmitStatement","src":"23938:37:107"}]},"functionSelector":"31f61bca","implemented":true,"kind":"function","modifiers":[],"name":"setBasisStakedAmount","nameLocation":"23801:20:107","parameters":{"id":72496,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72495,"mutability":"mutable","name":"_newAmount","nameLocation":"23830:10:107","nodeType":"VariableDeclaration","scope":72510,"src":"23822:18:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72494,"name":"uint256","nodeType":"ElementaryTypeName","src":"23822:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23821:20:107"},"returnParameters":{"id":72497,"nodeType":"ParameterList","parameters":[],"src":"23859:0:107"},"scope":72700,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":72535,"nodeType":"FunctionDefinition","src":"23988:288:107","nodes":[],"body":{"id":72534,"nodeType":"Block","src":"24054:222:107","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72515,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71092,"src":"24064:15:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":72516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24064:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72517,"nodeType":"ExpressionStatement","src":"24064:17:107"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72518,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72512,"src":"24095:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":72519,"name":"MAX_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70982,"src":"24114:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24095:26:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72525,"nodeType":"IfStatement","src":"24091:86:107","trueBody":{"id":72524,"nodeType":"Block","src":"24123:54:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72521,"name":"NewFeeGreaterThanMax","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70941,"src":"24144:20:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24144:22:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72523,"nodeType":"RevertStatement","src":"24137:29:107"}]}},{"expression":{"id":72528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72526,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70988,"src":"24186:12:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72527,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72512,"src":"24201:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24186:31:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72529,"nodeType":"ExpressionStatement","src":"24186:31:107"},{"eventCall":{"arguments":[{"id":72531,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72512,"src":"24252:16:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72530,"name":"CommunityFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70851,"src":"24232:19:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":72532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24232:37:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72533,"nodeType":"EmitStatement","src":"24227:42:107"}]},"functionSelector":"0d12bbdb","implemented":true,"kind":"function","modifiers":[],"name":"setCommunityFee","nameLocation":"23997:15:107","parameters":{"id":72513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72512,"mutability":"mutable","name":"_newCommunityFee","nameLocation":"24021:16:107","nodeType":"VariableDeclaration","scope":72535,"src":"24013:24:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72511,"name":"uint256","nodeType":"ElementaryTypeName","src":"24013:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24012:26:107"},"returnParameters":{"id":72514,"nodeType":"ParameterList","parameters":[],"src":"24054:0:107"},"scope":72700,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72548,"nodeType":"FunctionDefinition","src":"24319:133:107","nodes":[],"body":{"id":72547,"nodeType":"Block","src":"24396:56:107","nodes":[],"statements":[{"expression":{"arguments":[{"id":72543,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71075,"src":"24421:14:107","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":72544,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72537,"src":"24437:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":72542,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52456,"src":"24413:7:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":72545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24413:32:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":72541,"id":72546,"nodeType":"Return","src":"24406:39:107"}]},"functionSelector":"ebd7dc52","implemented":true,"kind":"function","modifiers":[],"name":"isCouncilMember","nameLocation":"24328:15:107","parameters":{"id":72538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72537,"mutability":"mutable","name":"_member","nameLocation":"24352:7:107","nodeType":"VariableDeclaration","scope":72548,"src":"24344:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72536,"name":"address","nodeType":"ElementaryTypeName","src":"24344:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24343:17:107"},"returnParameters":{"id":72541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72540,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72548,"src":"24390:4:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72539,"name":"bool","nodeType":"ElementaryTypeName","src":"24390:4:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24389:6:107"},"scope":72700,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":72598,"nodeType":"FunctionDefinition","src":"24458:465:107","nodes":[],"body":{"id":72597,"nodeType":"Block","src":"24514:409:107","nodes":[],"statements":[{"assignments":[72554],"declarations":[{"constant":false,"id":72554,"mutability":"mutable","name":"_member","nameLocation":"24532:7:107","nodeType":"VariableDeclaration","scope":72597,"src":"24524:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72553,"name":"address","nodeType":"ElementaryTypeName","src":"24524:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":72557,"initialValue":{"expression":{"id":72555,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"24542:3:107","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":72556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24546:6:107","memberName":"sender","nodeType":"MemberAccess","src":"24542:10:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"24524:28:107"},{"expression":{"arguments":[{"id":72559,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72554,"src":"24588:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72558,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71121,"src":"24562:25:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":72560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24562:34:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72561,"nodeType":"ExpressionStatement","src":"24562:34:107"},{"expression":{"arguments":[{"id":72563,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72554,"src":"24630:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72562,"name":"deactivateAllStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72635,"src":"24606:23:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24606:32:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72565,"nodeType":"ExpressionStatement","src":"24606:32:107"},{"assignments":[72568],"declarations":[{"constant":false,"id":72568,"mutability":"mutable","name":"member","nameLocation":"24662:6:107","nodeType":"VariableDeclaration","scope":72597,"src":"24648:20:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_memory_ptr","typeString":"struct Member"},"typeName":{"id":72567,"nodeType":"UserDefinedTypeName","pathNode":{"id":72566,"name":"Member","nameLocations":["24648:6:107"],"nodeType":"IdentifierPath","referencedDeclaration":70802,"src":"24648:6:107"},"referencedDeclaration":70802,"src":"24648:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_storage_ptr","typeString":"struct Member"}},"visibility":"internal"}],"id":72572,"initialValue":{"baseExpression":{"id":72569,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71052,"src":"24671:19:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$70802_storage_$","typeString":"mapping(address => struct Member storage ref)"}},"id":72571,"indexExpression":{"id":72570,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72554,"src":"24691:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24671:28:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_storage","typeString":"struct Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24648:51:107"},{"expression":{"id":72576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"24709:35:107","subExpression":{"baseExpression":{"id":72573,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71052,"src":"24716:19:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$70802_storage_$","typeString":"mapping(address => struct Member storage ref)"}},"id":72575,"indexExpression":{"id":72574,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72554,"src":"24736:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24716:28:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_storage","typeString":"struct Member storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72577,"nodeType":"ExpressionStatement","src":"24709:35:107"},{"expression":{"id":72581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"24754:34:107","subExpression":{"baseExpression":{"id":72578,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71058,"src":"24761:18:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":72580,"indexExpression":{"id":72579,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72554,"src":"24780:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24761:27:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72582,"nodeType":"ExpressionStatement","src":"24754:34:107"},{"expression":{"arguments":[{"id":72586,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72554,"src":"24824:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":72587,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72568,"src":"24833:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_memory_ptr","typeString":"struct Member memory"}},"id":72588,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24840:12:107","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":70799,"src":"24833:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72583,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71020,"src":"24799:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":72585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24811:12:107","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":56622,"src":"24799:24:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$56528_$","typeString":"function (contract IERC20,address,uint256)"}},"id":72589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24799:54:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72590,"nodeType":"ExpressionStatement","src":"24799:54:107"},{"eventCall":{"arguments":[{"id":72592,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72554,"src":"24887:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":72593,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72568,"src":"24896:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_memory_ptr","typeString":"struct Member memory"}},"id":72594,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24903:12:107","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":70799,"src":"24896:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72591,"name":"MemberUnregistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70839,"src":"24868:18:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":72595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24868:48:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72596,"nodeType":"EmitStatement","src":"24863:53:107"}]},"functionSelector":"b99b4370","implemented":true,"kind":"function","modifiers":[{"id":72551,"kind":"modifierInvocation","modifierName":{"id":72550,"name":"nonReentrant","nameLocations":["24501:12:107"],"nodeType":"IdentifierPath","referencedDeclaration":53197,"src":"24501:12:107"},"nodeType":"ModifierInvocation","src":"24501:12:107"}],"name":"unregisterMember","nameLocation":"24467:16:107","parameters":{"id":72549,"nodeType":"ParameterList","parameters":[],"src":"24483:2:107"},"returnParameters":{"id":72552,"nodeType":"ParameterList","parameters":[],"src":"24514:0:107"},"scope":72700,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72635,"nodeType":"FunctionDefinition","src":"24929:474:107","nodes":[],"body":{"id":72634,"nodeType":"Block","src":"24996:407:107","nodes":[],"statements":[{"assignments":[72607],"declarations":[{"constant":false,"id":72607,"mutability":"mutable","name":"memberStrategies","nameLocation":"25023:16:107","nodeType":"VariableDeclaration","scope":72634,"src":"25006:33:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":72605,"name":"address","nodeType":"ElementaryTypeName","src":"25006:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72606,"nodeType":"ArrayTypeName","src":"25006:9:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":72611,"initialValue":{"baseExpression":{"id":72608,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71058,"src":"25042:18:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":72610,"indexExpression":{"id":72609,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72600,"src":"25061:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25042:27:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25006:63:107"},{"body":{"id":72632,"nodeType":"Block","src":"25199:198:107","statements":[{"expression":{"arguments":[{"id":72629,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72600,"src":"25378:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"baseExpression":{"id":72624,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72607,"src":"25340:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":72626,"indexExpression":{"id":72625,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72613,"src":"25357:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25340:19:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72623,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65536,"src":"25325:14:107","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$65536_$","typeString":"type(contract IPointStrategy)"}},"id":72627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25325:35:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$65536","typeString":"contract IPointStrategy"}},"id":72628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25361:16:107","memberName":"deactivatePoints","nodeType":"MemberAccess","referencedDeclaration":65511,"src":"25325:52:107","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":72630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25325:61:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72631,"nodeType":"ExpressionStatement","src":"25325:61:107"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72616,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72613,"src":"25165:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":72617,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72607,"src":"25169:16:107","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":72618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25186:6:107","memberName":"length","nodeType":"MemberAccess","src":"25169:23:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25165:27:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72633,"initializationExpression":{"assignments":[72613],"declarations":[{"constant":false,"id":72613,"mutability":"mutable","name":"i","nameLocation":"25158:1:107","nodeType":"VariableDeclaration","scope":72633,"src":"25150:9:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72612,"name":"uint256","nodeType":"ElementaryTypeName","src":"25150:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":72615,"initialValue":{"hexValue":"30","id":72614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25162:1:107","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"25150:13:107"},"loopExpression":{"expression":{"id":72621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"25194:3:107","subExpression":{"id":72620,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72613,"src":"25194:1:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72622,"nodeType":"ExpressionStatement","src":"25194:3:107"},"nodeType":"ForStatement","src":"25145:252:107"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deactivateAllStrategies","nameLocation":"24938:23:107","parameters":{"id":72601,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72600,"mutability":"mutable","name":"_member","nameLocation":"24970:7:107","nodeType":"VariableDeclaration","scope":72635,"src":"24962:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72599,"name":"address","nodeType":"ElementaryTypeName","src":"24962:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24961:17:107"},"returnParameters":{"id":72602,"nodeType":"ParameterList","parameters":[],"src":"24996:0:107"},"scope":72700,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":72695,"nodeType":"FunctionDefinition","src":"25409:583:107","nodes":[],"body":{"id":72694,"nodeType":"Block","src":"25500:492:107","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":72644,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71092,"src":"25510:15:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":72645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25510:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72646,"nodeType":"ExpressionStatement","src":"25510:17:107"},{"condition":{"id":72648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"25541:14:107","subExpression":{"id":72647,"name":"isKickEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70997,"src":"25542:13:107","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72653,"nodeType":"IfStatement","src":"25537:68:107","trueBody":{"id":72652,"nodeType":"Block","src":"25557:48:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72649,"name":"KickNotEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70943,"src":"25578:14:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25578:16:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72651,"nodeType":"RevertStatement","src":"25571:23:107"}]}},{"condition":{"id":72657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"25618:18:107","subExpression":{"arguments":[{"id":72655,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72637,"src":"25628:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72654,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72317,"src":"25619:8:107","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":72656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25619:17:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72662,"nodeType":"IfStatement","src":"25614:75:107","trueBody":{"id":72661,"nodeType":"Block","src":"25638:51:107","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72658,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70921,"src":"25659:17:107","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":72659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25659:19:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72660,"nodeType":"RevertStatement","src":"25652:26:107"}]}},{"assignments":[72665],"declarations":[{"constant":false,"id":72665,"mutability":"mutable","name":"member","nameLocation":"25712:6:107","nodeType":"VariableDeclaration","scope":72694,"src":"25698:20:107","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_memory_ptr","typeString":"struct Member"},"typeName":{"id":72664,"nodeType":"UserDefinedTypeName","pathNode":{"id":72663,"name":"Member","nameLocations":["25698:6:107"],"nodeType":"IdentifierPath","referencedDeclaration":70802,"src":"25698:6:107"},"referencedDeclaration":70802,"src":"25698:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_storage_ptr","typeString":"struct Member"}},"visibility":"internal"}],"id":72669,"initialValue":{"baseExpression":{"id":72666,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71052,"src":"25721:19:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$70802_storage_$","typeString":"mapping(address => struct Member storage ref)"}},"id":72668,"indexExpression":{"id":72667,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72637,"src":"25741:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25721:28:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_storage","typeString":"struct Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25698:51:107"},{"expression":{"arguments":[{"id":72671,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72637,"src":"25783:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72670,"name":"deactivateAllStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72635,"src":"25759:23:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":72672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25759:32:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72673,"nodeType":"ExpressionStatement","src":"25759:32:107"},{"expression":{"id":72677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"25801:35:107","subExpression":{"baseExpression":{"id":72674,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71052,"src":"25808:19:107","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$70802_storage_$","typeString":"mapping(address => struct Member storage ref)"}},"id":72676,"indexExpression":{"id":72675,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72637,"src":"25828:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"25808:28:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_storage","typeString":"struct Member storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72678,"nodeType":"ExpressionStatement","src":"25801:35:107"},{"expression":{"arguments":[{"id":72682,"name":"_transferAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72639,"src":"25872:16:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":72683,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72665,"src":"25890:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_memory_ptr","typeString":"struct Member memory"}},"id":72684,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25897:12:107","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":70799,"src":"25890:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72679,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71020,"src":"25847:11:107","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":72681,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25859:12:107","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":56622,"src":"25847:24:107","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$56528_$","typeString":"function (contract IERC20,address,uint256)"}},"id":72685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25847:63:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72686,"nodeType":"ExpressionStatement","src":"25847:63:107"},{"eventCall":{"arguments":[{"id":72688,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72637,"src":"25938:7:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72689,"name":"_transferAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72639,"src":"25947:16:107","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":72690,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72665,"src":"25965:6:107","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$70802_memory_ptr","typeString":"struct Member memory"}},"id":72691,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25972:12:107","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":70799,"src":"25965:19:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":72687,"name":"MemberKicked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70847,"src":"25925:12:107","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":72692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25925:60:107","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72693,"nodeType":"EmitStatement","src":"25920:65:107"}]},"functionSelector":"6871eb4d","implemented":true,"kind":"function","modifiers":[{"id":72642,"kind":"modifierInvocation","modifierName":{"id":72641,"name":"nonReentrant","nameLocations":["25487:12:107"],"nodeType":"IdentifierPath","referencedDeclaration":53197,"src":"25487:12:107"},"nodeType":"ModifierInvocation","src":"25487:12:107"}],"name":"kickMember","nameLocation":"25418:10:107","parameters":{"id":72640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72637,"mutability":"mutable","name":"_member","nameLocation":"25437:7:107","nodeType":"VariableDeclaration","scope":72695,"src":"25429:15:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72636,"name":"address","nodeType":"ElementaryTypeName","src":"25429:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72639,"mutability":"mutable","name":"_transferAddress","nameLocation":"25454:16:107","nodeType":"VariableDeclaration","scope":72695,"src":"25446:24:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72638,"name":"address","nodeType":"ElementaryTypeName","src":"25446:7:107","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25428:43:107"},"returnParameters":{"id":72643,"nodeType":"ParameterList","parameters":[],"src":"25500:0:107"},"scope":72700,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72699,"nodeType":"VariableDeclaration","src":"25998:25:107","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"26018:5:107","scope":72700,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":72696,"name":"uint256","nodeType":"ElementaryTypeName","src":"25998:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72698,"length":{"hexValue":"3530","id":72697,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26006:2:107","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"25998:11:107","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":70808,"name":"ProxyOwnableUpgrader","nameLocations":["2884:20:107"],"nodeType":"IdentifierPath","referencedDeclaration":70711,"src":"2884:20:107"},"id":70809,"nodeType":"InheritanceSpecifier","src":"2884:20:107"},{"baseName":{"id":70810,"name":"ReentrancyGuardUpgradeable","nameLocations":["2906:26:107"],"nodeType":"IdentifierPath","referencedDeclaration":53237,"src":"2906:26:107"},"id":70811,"nodeType":"InheritanceSpecifier","src":"2906:26:107"},{"baseName":{"id":70812,"name":"AccessControlUpgradeable","nameLocations":["2934:24:107"],"nodeType":"IdentifierPath","referencedDeclaration":52697,"src":"2934:24:107"},"id":70813,"nodeType":"InheritanceSpecifier","src":"2934:24:107"}],"canonicalName":"RegistryCommunityV0_0","contractDependencies":[55021],"contractKind":"contract","documentation":{"id":70807,"nodeType":"StructuredDocumentation","src":"2799:51:107","text":"@custom:oz-upgrades-from RegistryCommunityV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[72700,52697,53970,53982,52770,53237,70711,55672,55325,54974,54984,52903,53696,53152],"name":"RegistryCommunityV0_0","nameLocation":"2859:21:107","scope":72701,"usedErrors":[70634,70913,70915,70919,70921,70923,70925,70927,70929,70931,70933,70935,70937,70939,70941,70943,70945,70947,70953]}],"license":"AGPL-3.0-only"},"id":107} \ No newline at end of file diff --git a/pkg/contracts/out/RegistryCommunityV0_1.sol/RegistryCommunityV0_1.json b/pkg/contracts/out/RegistryCommunityV0_1.sol/RegistryCommunityV0_1.json index 7b73f4cba..246408945 100644 --- a/pkg/contracts/out/RegistryCommunityV0_1.sol/RegistryCommunityV0_1.json +++ b/pkg/contracts/out/RegistryCommunityV0_1.sol/RegistryCommunityV0_1.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"COUNCIL_MEMBER","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MAX_FEE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"PRECISION_SCALE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"acceptCouncilSafe","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"activateMemberInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategy","inputs":[{"name":"_newStrategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategyByPoolId","inputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addressToMemberInfo","inputs":[{"name":"member","type":"address","internalType":"address"}],"outputs":[{"name":"member","type":"address","internalType":"address"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"isRegistered","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract FAllo"}],"stateMutability":"view"},{"type":"function","name":"checkAllowlistRole","inputs":[{"name":"_account","type":"address","internalType":"address"},{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"cloneNonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"collateralVaultTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"communityFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"communityName","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"view"},{"type":"function","name":"covenantIpfsHash","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"createPool","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"},{"name":"strategy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_params","type":"tuple","internalType":"struct StrategyStruct2.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"},{"name":"initialAllowlist","type":"address[]","internalType":"address[]"}]},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"},{"name":"strategy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"_strategy","type":"address","internalType":"address"},{"name":"_token","type":"address","internalType":"address"},{"name":"_params","type":"tuple","internalType":"struct StrategyStruct2.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"},{"name":"initialAllowlist","type":"address[]","internalType":"address[]"}]},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"},{"name":"strategy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"_strategy","type":"address","internalType":"address"},{"name":"_token","type":"address","internalType":"address"},{"name":"_params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"},{"name":"strategy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deactivateMemberInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_amountUnstaked","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"enabledStrategies","inputs":[{"name":"strategy","type":"address","internalType":"address"}],"outputs":[{"name":"isEnabled","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"feeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"gardenToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IERC20"}],"stateMutability":"view"},{"type":"function","name":"getBasisStakedAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMemberPowerInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMemberStakedAmount","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStakeAmountWithFees","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"increasePower","inputs":[{"name":"_amountStaked","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunityV0_0.InitializeParams","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"}]},{"name":"_strategyTemplate","type":"address","internalType":"address"},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initialOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCouncilMember","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isKickEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isMember","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"_isMember","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"kickMember","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_transferAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"memberActivatedInStrategies","inputs":[{"name":"member","type":"address","internalType":"address"},{"name":"strategy","type":"address","internalType":"address"}],"outputs":[{"name":"isActivated","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"memberPowerInStrategy","inputs":[{"name":"strategy","type":"address","internalType":"address"},{"name":"member","type":"address","internalType":"address"}],"outputs":[{"name":"power","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingCouncilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"profileId","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerStakeAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"registryFactory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"removeStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeStrategyByPoolId","inputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setBasisStakedAmount","inputs":[{"name":"_newAmount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCollateralVaultTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityFee","inputs":[{"name":"_newCommunityFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCouncilSafe","inputs":[{"name":"_safe","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStrategyTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stakeAndRegisterMember","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategiesByMember","inputs":[{"name":"member","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"strategiesAddresses","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"strategyTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterMember","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AlloSet","inputs":[{"name":"_allo","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BasisStakedAmountSet","inputs":[{"name":"_newAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityFeeUpdated","inputs":[{"name":"_newFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CouncilSafeChangeStarted","inputs":[{"name":"_safeOwner","type":"address","indexed":false,"internalType":"address"},{"name":"_newSafeOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CouncilSafeSet","inputs":[{"name":"_safe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"MemberActivatedStrategy","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"},{"name":"_pointsToIncrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberDeactivatedStrategy","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MemberKicked","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_transferAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amountReturned","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberPowerDecreased","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_unstakedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberPowerIncreased","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_stakedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberRegistered","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_amountStaked","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberUnregistered","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_amountReturned","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PoolCreated","inputs":[{"name":"_poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"},{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_token","type":"address","indexed":false,"internalType":"address"},{"name":"_metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RegistryInitialized","inputs":[{"name":"_profileId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"_communityName","type":"string","indexed":false,"internalType":"string"},{"name":"_metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyAdded","inputs":[{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CallerNotOwner","inputs":[{"name":"_caller","type":"address","internalType":"address"},{"name":"_owner","type":"address","internalType":"address"}]},{"type":"error","name":"CantDecreaseMoreThanPower","inputs":[{"name":"_decreaseAmount","type":"uint256","internalType":"uint256"},{"name":"_currentPower","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"DecreaseUnderMinimum","inputs":[]},{"type":"error","name":"KickNotEnabled","inputs":[]},{"type":"error","name":"NewFeeGreaterThanMax","inputs":[]},{"type":"error","name":"PointsDeactivated","inputs":[]},{"type":"error","name":"RegistryCannotBeZero","inputs":[]},{"type":"error","name":"SenderNotNewOwner","inputs":[]},{"type":"error","name":"SenderNotStrategy","inputs":[]},{"type":"error","name":"StrategyDisabled","inputs":[]},{"type":"error","name":"StrategyExists","inputs":[]},{"type":"error","name":"UserAlreadyActivated","inputs":[]},{"type":"error","name":"UserAlreadyDeactivated","inputs":[]},{"type":"error","name":"UserAlreadyRegistered","inputs":[]},{"type":"error","name":"UserNotGardenOwner","inputs":[]},{"type":"error","name":"UserNotInCouncil","inputs":[{"name":"_user","type":"address","internalType":"address"}]},{"type":"error","name":"UserNotInRegistry","inputs":[]},{"type":"error","name":"ValueCannotBeZero","inputs":[]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b506080516161e46200004d60003960008181611e7401528181611eb701528181611fef01528181612032015261218401526161e46000f3fe608060405260043610620003505760003560e01c806301ffc9a714620003555780630331383c146200038f57806308386eba14620003b05780630d12bbdb14620003c85780630d4a8b4914620003ef578063175188e814620004145780631b71f0e414620004395780631f787d28146200045e578063223e5479146200047957806322bcf999146200049e578063248a9ca314620004c357806328c309e914620004e85780632b38c69c14620005005780632c611c4a14620005345780632f2ff15d146200057257806331f61bca14620005975780633396045914620005bc5780633419635514620005d45780633517aa7d14620005f957806336568abe14620006115780633659cfe61462000636578063397e2543146200065b5780633a871fe114620006805780633ede95f614620006b5578063477a5cc014620006da5780634f1ef286146200071a578063524e59e8146200073157806352d1902d1462000774578063559de05d146200078c578063579eb7e514620007b15780635c94e4d214620007d65780635ecf71c514620007f957806365e3864c146200081e5780636871eb4d146200085b57806368decabb14620008805780636c53db9a14620008a3578063715018a614620008c657806373265c3714620008de578063733a2d1f146200090357806377122d5614620009285780637817ee4f146200094b57806378a0b8a914620009965780637b10399914620009ae57806382d6a1e714620009d15780638659ffdd14620009f657806388cfe6841462000a1b5780638961be6b1462000a915780638da5cb5b1462000aa957806391d148541462000ac1578063a0cf0aea1462000ae6578063a217fddf1462000b10578063a230c5241462000b27578063b0d3713a1462000b4c578063b3f006741462000b71578063b5058c501462000b98578063b64e39af1462000bb0578063b99b43701462000bd7578063bc063e1a1462000bef578063c4d66de81462000c07578063c6d572ae1462000c2c578063d547741f1462000c44578063d6d8428d1462000c69578063d7050f071462000c8c578063db61d65c1462000ca4578063e16d0e321462000cc7578063ebd7dc521462000cec578063f2fde38b1462000d11578063f86c5f891462000d36578063ffa1ad741462000d59575b600080fd5b3480156200036257600080fd5b506200037a620003743660046200462e565b62000d8a565b60405190151581526020015b60405180910390f35b3480156200039c57600080fd5b5060fb545b60405190815260200162000386565b348015620003bd57600080fd5b50620003a160fe5481565b348015620003d557600080fd5b50620003ed620003e73660046200465a565b62000dc2565b005b348015620003fc57600080fd5b50620003ed6200040e3660046200469c565b62000e38565b3480156200042157600080fd5b50620003ed62000433366004620046da565b620011bb565b3480156200044657600080fd5b50620003ed62000458366004620046da565b620011d3565b3480156200046b57600080fd5b5060ff80546200037a911681565b3480156200048657600080fd5b50620003ed62000498366004620046da565b62001200565b348015620004ab57600080fd5b50620003ed620004bd3660046200469c565b62001215565b348015620004d057600080fd5b50620003a1620004e23660046200465a565b6200130f565b348015620004f557600080fd5b50620003a162001324565b3480156200050d57600080fd5b50620005256200051f366004620046fa565b62001429565b60405162000386919062004736565b3480156200054157600080fd5b50620003a162000553366004620046da565b6001600160a01b0316600090815261010c602052604090206001015490565b3480156200057f57600080fd5b50620003ed620005913660046200474a565b62001463565b348015620005a457600080fd5b50620003ed620005b63660046200465a565b6200148a565b348015620005c957600080fd5b50620003a160fd5481565b348015620005e157600080fd5b50620003ed620005f33660046200495a565b620014ca565b3480156200060657600080fd5b50620003ed62001b8a565b3480156200061e57600080fd5b50620003ed620006303660046200474a565b62001dec565b3480156200064357600080fd5b50620003ed62000655366004620046da565b62001e6a565b3480156200066857600080fd5b50620003ed6200067a366004620046da565b62001f3b565b3480156200068d57600080fd5b506200037a6200069f366004620046da565b61010a6020526000908152604090205460ff1681565b348015620006c257600080fd5b506200037a620006d4366004620046fa565b62001fa8565b348015620006e757600080fd5b506200037a620006f93660046200469c565b61010e60209081526000928352604080842090915290825290205460ff1681565b620003ed6200072b36600462004aed565b62001fe5565b3480156200073e57600080fd5b50620007566200075036600462004d71565b620020a6565b604080519283526001600160a01b0390911660208301520162000386565b3480156200078157600080fd5b50620003a162002177565b3480156200079957600080fd5b50620003ed620007ab3660046200465a565b62002228565b348015620007be57600080fd5b5062000756620007d036600462004f52565b62002474565b348015620007e357600080fd5b506101025462000525906001600160a01b031681565b3480156200080657600080fd5b50620003ed620008183660046200465a565b62002701565b3480156200082b57600080fd5b50620003a16200083d3660046200469c565b61010b60209081526000928352604080842090915290825290205481565b3480156200086857600080fd5b50620003ed6200087a3660046200469c565b62002a9b565b3480156200088d57600080fd5b506101035462000525906001600160a01b031681565b348015620008b057600080fd5b506101065462000525906001600160a01b031681565b348015620008d357600080fd5b50620003ed62002bee565b348015620008eb57600080fd5b50620003ed620008fd3660046200465a565b62002c04565b3480156200091057600080fd5b50620003a16000805160206200610183398151915281565b3480156200093557600080fd5b506101015462000525906001600160a01b031681565b3480156200095857600080fd5b50620003a16200096a3660046200469c565b6001600160a01b03918216600090815261010b6020908152604080832093909416825291909152205490565b348015620009a357600080fd5b50620003a160fb5481565b348015620009bb57600080fd5b506101045462000525906001600160a01b031681565b348015620009de57600080fd5b50620003ed620009f03660046200465a565b62002ca0565b34801562000a0357600080fd5b506200075662000a1536600462004fc6565b62002d5e565b34801562000a2857600080fd5b5062000a6962000a3a366004620046da565b61010c602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b039094168452602084019290925215159082015260600162000386565b34801562000a9e57600080fd5b50620003a160fc5481565b34801562000ab657600080fd5b506200052562002eeb565b34801562000ace57600080fd5b506200037a62000ae03660046200474a565b62002f86565b34801562000af357600080fd5b506200052573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801562000b1d57600080fd5b50620003a1600081565b34801562000b3457600080fd5b506200037a62000b46366004620046da565b62002fb1565b34801562000b5957600080fd5b50620003ed62000b6b366004620046da565b62002ffb565b34801562000b7e57600080fd5b5060ff54620005259061010090046001600160a01b031681565b34801562000ba557600080fd5b50620003ed62003028565b34801562000bbd57600080fd5b5062000bc86200305f565b604051620003869190620050ad565b34801562000be457600080fd5b50620003ed620030f6565b34801562000bfc57600080fd5b50620003a162003200565b34801562000c1457600080fd5b50620003ed62000c26366004620046da565b62003212565b34801562000c3957600080fd5b5062000bc862003247565b34801562000c5157600080fd5b50620003ed62000c633660046200474a565b62003257565b34801562000c7657600080fd5b506101075462000525906001600160a01b031681565b34801562000c9957600080fd5b50620003a161271081565b34801562000cb157600080fd5b506101055462000525906001600160a01b031681565b34801562000cd457600080fd5b506200075662000ce6366004620050c2565b62003279565b34801562000cf957600080fd5b506200037a62000d0b366004620046da565b6200333a565b34801562000d1e57600080fd5b50620003ed62000d30366004620046da565b62003357565b34801562000d4357600080fd5b506101005462000525906001600160a01b031681565b34801562000d6657600080fd5b5062000bc8604051806040016040528060038152602001620302e360ec1b81525081565b60006001600160e01b03198216637965db0b60e01b148062000dbc57506301ffc9a760e01b6001600160e01b03198316145b92915050565b62000dcc620033c8565b62000ddb612710600a6200514b565b81111562000dfc5760405163fe925f7d60e01b815260040160405180910390fd5b60fc8190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b62000e4262003405565b62000e4d8262003460565b62000e588162003489565b62000e6381620034c4565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff161562000eac57604051636adcde4b60e11b815260040160405180910390fd5b6001600160a01b03808316600090815261010c602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff1615159183019190915260fb546003846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000f3a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f6091906200517b565b600381111562000f745762000f7462005165565b0362000ff95760405163782aadff60e01b81526001600160a01b0385169063782aadff9062000fab9088906000906004016200519b565b6020604051808303816000875af115801562000fcb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ff19190620051b4565b9050620010f5565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af11580156200103c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200106291906200517b565b600381111562001076576200107662005165565b14620010f55760405163782aadff60e01b81526001600160a01b0385169063782aadff90620010ac90889086906004016200519b565b6020604051808303816000875af1158015620010cc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010f29190620051b4565b90505b6001600160a01b03808616600081815261010b6020908152604080832094891680845294825280832086905583835261010e82528083208584528252808320805460ff1916600190811790915593835261010d8252808320805494850181558352912090910180546001600160a01b031916909217909155517ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec90620011a190879087908590620051ce565b60405180910390a1505050620011b76001606555565b5050565b620011c5620033c8565b620011d081620034f3565b50565b620011dd62003551565b61010280546001600160a01b0319166001600160a01b0392909216919091179055565b6200120a620033c8565b620011d081620035b4565b620012208262003460565b6200122b81620034c4565b62001237338262003646565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff166200127f57604051633048da7760e21b815260040160405180910390fd5b6001600160a01b03808316600081815261010e60209081526040808320948616808452948252808320805460ff1916905592825261010b815282822093825292909252812055620012d1828262003679565b7ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b828260405162001303929190620051f2565b60405180910390a15050565b600090815260c9602052604090206001015490565b610100546000906001600160a01b0316816200134461271060646200514b565b60fc5460fb546200135691906200514b565b6200136291906200520c565b905060006200137561271060646200514b565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c90620013a390309060040162004736565b602060405180830381865afa158015620013c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013e79190620051b4565b60fb54620013f691906200514b565b6200140291906200520c565b9050808260fb546200141591906200522f565b6200142191906200522f565b935050505090565b61010d60205281600052604060002081815481106200144757600080fd5b6000918252602090912001546001600160a01b03169150829050565b6200146e826200130f565b6200147981620037af565b620014858383620037bb565b505050565b62001494620033c8565b60fb8190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f9060200162000e2d565b600054610100900460ff1615808015620014eb5750600054600160ff909116105b80620015105750620014fd3062003845565b15801562001510575060005460ff166001145b620015795760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156200159d576000805461ff0019166101001790555b620015a88262003212565b620015b262003854565b620015bc62003888565b620015d8600080516020620061018339815191526000620038b2565b620015e78560200151620034c4565b620015f7856101000151620034c4565b84516200160490620034c4565b620016138560a00151620034c4565b6060850151156200162d576200162d8560c00151620034c4565b845161010780546001600160a01b039283166001600160a01b03199182161790915560208701516101058054919093169116179055604085015160000362001688576040516363868c5560e11b815260040160405180910390fd5b604085015160fb55606085015160fc5561014085015160ff805460ff191691151591909117905561012085015161010890620016c59082620052d3565b5061016085015161010990620016dc9082620052d3565b5060a085015161010080546001600160a01b03199081166001600160a01b0393841617825560c088015160ff8054610100600160a81b031916918516840291909117905590870151610106805490921692811692909217905562001751906000805160206200610183398151915290620037bb565b61010760009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620017cc91906200539f565b61010480546001600160a01b0319166001600160a01b0392831617905561010654606091163b60000362001858576040805160038082526080820190925290602082016060803683370190505090503381600081518110620018325762001832620053bf565b60200260200101906001600160a01b031690816001600160a01b03168152505062001995565b610106546040805163a0e67e2b60e01b815290516000926001600160a01b03169163a0e67e2b91600480830192869291908290030181865afa158015620018a3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620018cd9190810190620053d5565b905080516002620018df91906200522f565b6001600160401b03811115620018f957620018f962004772565b60405190808252806020026020018201604052801562001923578160200160208202803683370190505b50915060005b81518110156200199257818181518110620019485762001948620053bf565b6020026020010151838281518110620019655762001965620053bf565b6001600160a01b03909216602092830291909101909101528062001989816200546e565b91505062001929565b50505b6101065481516001600160a01b03909116908290620019b7906001906200548a565b81518110620019ca57620019ca620053bf565b60200260200101906001600160a01b031690816001600160a01b031681525050308160028351620019fc91906200548a565b8151811062001a0f5762001a0f620053bf565b6001600160a01b03928316602091820292909201015261010454608088015160e0890151604051633a92f65f60e01b81529290931692633a92f65f9262001a62929161010891309088906004016200558c565b6020604051808303816000875af115801562001a82573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001aa89190620051b4565b60fe55805162001ac19061010f90602084019062004588565b5061010280546001600160a01b038088166001600160a01b03199283161790925561010180549287169290911691909117905560fe5460e08701516040517f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed032059262001b339290916101089190620055ec565b60405180910390a150801562001b83576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b62001b9462003405565b33600081815261010c602052604081206101005490916001600160a01b039091169062001bc561271060646200514b565b60fc5460fb5462001bd791906200514b565b62001be391906200520c565b9050600062001bf661271060646200514b565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c9062001c2490309060040162004736565b602060405180830381865afa15801562001c42573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001c689190620051b4565b60fb5462001c7791906200514b565b62001c8391906200520c565b905062001c908562002fb1565b62001dda5760028401805460ff1916600190811790915560fb5490850181905562001cea9086903090849062001cc89087906200522f565b62001cd491906200522f565b610105546001600160a01b031692919062003907565b811562001d175760ff546101055462001d17916001600160a01b0391821691610100909104168462003963565b801562001d9c5762001d9c836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001d61573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001d8791906200539f565b610105546001600160a01b0316908362003963565b7f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f76898560fb5460405162001dd19291906200519b565b60405180910390a15b505050505062001dea6001606555565b565b6001600160a01b038116331462001e5e5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b606482015260840162001570565b620011b7828262003985565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001eb55760405162461bcd60e51b815260040162001570906200561b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001ee9620039ef565b6001600160a01b03161462001f125760405162461bcd60e51b8152600401620015709062005656565b62001f1d8162003a0c565b60408051600080825260208201909252620011d09183919062003a4e565b62001f45620033c8565b62001f5081620034c4565b61010380546001600160a01b0319166001600160a01b03838116918217909255610106546040517f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89362000e2d9392169190620051f2565b600062001fde8260405160200162001fc1919062005691565b604051602081830303815290604052805190602001208462002f86565b9392505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620020305760405162461bcd60e51b815260040162001570906200561b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662002064620039ef565b6001600160a01b0316146200208d5760405162461bcd60e51b8152600401620015709062005656565b620020988262003a0c565b620011b78282600162003a4e565b610102546101075461010154600092839283926001600160a01b039283169263184b955960e01b9281169116620020dc62002eeb565b604051602401620020f093929190620056ae565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516200212f90620045ee565b6200213c929190620056d1565b604051809103906000f08015801562002159573d6000803e3d6000fd5b5090506200216a8187878762003279565b9250925050935093915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620022145760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840162001570565b506000805160206200616883398151915290565b6200223262003405565b6200223c62003bc6565b33600081815261010d6020908152604080832080548251818502810185019093528083529192909190830182828015620022a057602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162002281575b50505050509050600080600090505b8251811015620023db57828181518110620022ce57620022ce620053bf565b60200260200101516001600160a01b031663782aadff85876040518363ffffffff1660e01b8152600401620023059291906200519b565b6020604051808303816000875af115801562002325573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200234b9190620051b4565b91508115620023c6576001600160a01b038416600090815261010b602052604081208451849290869085908110620023875762002387620053bf565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000828254620023c091906200522f565b90915550505b80620023d2816200546e565b915050620022af565b5061010554620023f7906001600160a01b031684308762003907565b6001600160a01b038316600090815261010c602052604081206001018054869290620024259084906200522f565b90915550506040517f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f906200245e90859087906200519b565b60405180910390a1505050620011d06001606555565b610102546101075461010154600092839283926001600160a01b039283169263184b955960e01b9281169116620024aa62002eeb565b604051602401620024be93929190620056ae565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051620024fd90620045ee565b6200250a929190620056d1565b604051809103906000f08015801562002527573d6000803e3d6000fd5b509050620025388187878762002d5e565b60c087015191945092506001600160a01b031662002668576103e88560e00151511115620025c15760405162461bcd60e51b815260206004820152602f60248201527f546f6f206d616e7920696e697469616c20616c6c6f776c697374206d656d626560448201526e072732c206d6178206973203130303608c1b606482015260840162001570565b600083604051602001620025d6919062005691565b60405160208183030381529060405280519060200120905060005b8660e001515181101562002665576200262460405180606001604052806027815260200162006121602791398662003bef565b62002650828860e001518381518110620026425762002642620053bf565b6020026020010151620037bb565b806200265c816200546e565b915050620025f1565b50505b620026c4836040516020016200267f919062005691565b6040516020818303038152906040528051906020012084604051602001620026a89190620056f7565b60405160208183030381529060405280519060200120620038b2565b620026f883604051602001620026db9190620056f7565b6040516020818303038152906040528051906020012083620037bb565b50935093915050565b6200270b62003405565b6200271562003bc6565b33600081815261010d6020908152604080832060fb5461010c9093529083206001015490929190620027499086906200548a565b10156200276957604051634e23e81760e11b815260040160405180910390fd5b6101055462002783906001600160a01b0316848662003963565b60005b825481101562002a33576000838281548110620027a757620027a7620053bf565b6000918252602090912001546001600160a01b03169050620027d18163f1801e6160e01b62003c38565b156200295757604051632ed04b2b60e01b81526001600160a01b03821690632ed04b2b90620028079088908a906004016200519b565b6020604051808303816000875af115801562002827573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200284d9190620051b4565b9250600061010b6000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815481106200288e576200288e620053bf565b60009182526020808320909101546001600160a01b03168352820192909252604001902054905080841115620028e2576040516311423e6360e31b8152600481018590526024810182905260440162001570565b6001600160a01b038616600090815261010b602052604081208654869290889087908110620029155762002915620053bf565b60009182526020808320909101546001600160a01b03168352820192909252604001812080549091906200294b9084906200548a565b90915550505062002a1d565b8354849062002969906001906200548a565b815481106200297c576200297c620053bf565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110620029af57620029af620053bf565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480620029f057620029f06200571a565b600082815260209020810160001990810180546001600160a01b031916905501905562002a1d81620034f3565b508062002a2a816200546e565b91505062002786565b506001600160a01b038316600090815261010c60205260408120600101805486929062002a629084906200548a565b90915550506040517f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8906200245e90859087906200519b565b62002aa562003405565b62002aaf620033c8565b60ff80541662002ad2576040516365b1ee3960e11b815260040160405180910390fd5b62002add8262002fb1565b62002afb57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159082015262002b4c8362003c59565b6001600160a01b03808416600090815261010c60209081526040822080546001600160a01b031916815560018101929092556002909101805460ff191690558201516101055462002ba1921690849062003963565b7fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a38383836020015160405162002bda93929190620051ce565b60405180910390a150620011b76001606555565b62002bf862003551565b62001dea600062003d6e565b62002c0e620033c8565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801562002c5a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002c84919081019062005730565b60200151905062002c9581620034c4565b620011b781620034f3565b62002caa620033c8565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801562002cf6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002d20919081019062005730565b60200151905062002d3181620034c4565b62002d4d6001600160a01b03821663f1801e6160e01b62003c38565b15620011b757620011b781620035b4565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0386161562002d895750845b869150600061010f80548060200260200160405190810160405280929190818152602001828054801562002de757602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162002dc8575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062002e1f908b90602001620058fb565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b815260040162002e579796959493929190620059a4565b6020604051808303816000875af115801562002e77573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e9d9190620051b4565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a8960405162002ed895949392919062005a15565b60405180910390a1505094509492505050565b60008062002f016033546001600160a01b031690565b9050806001600160a01b03163b60000362002f1b57919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562002f78575060408051601f3d908101601f1916820190925262002f75918101906200539f565b60015b62000dbc57919050565b5090565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6001600160a01b03908116600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b6200300562003551565b61010180546001600160a01b0319166001600160a01b0392909216919091179055565b610103546001600160a01b0316331462003055576040516375e686b760e11b815260040160405180910390fd5b62001dea62003dc0565b61010980546200306f9062005245565b80601f01602080910402602001604051908101604052809291908181526020018280546200309d9062005245565b8015620030ee5780601f10620030c257610100808354040283529160200191620030ee565b820191906000526020600020905b815481529060010190602001808311620030d057829003601f168201915b505050505081565b6200310062003405565b336200310c8162003460565b620031178162003c59565b6001600160a01b03808216600081815261010c602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945561010d90529182209091620031929190620045fc565b602081015161010554620031b4916001600160a01b0390911690849062003963565b7fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4828260200151604051620031eb9291906200519b565b60405180910390a1505062001dea6001606555565b6200320f612710600a6200514b565b81565b600054610100900460ff166200323c5760405162461bcd60e51b8152600401620015709062005a51565b620011d08162003d6e565b61010880546200306f9062005245565b62003262826200130f565b6200326d81620037af565b62001485838362003985565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b03861615620032a45750845b869150600061010f8054806020026020016040519081016040528092919081815260200182805480156200330257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620032e3575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062002e1f908b9060200162005a9c565b600062000dbc600080516020620061018339815191528362002f86565b6200336162003551565b6001600160a01b0381166200323c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162001570565b620033e3600080516020620061018339815191523362002f86565b62001dea573360405163fc4be72f60e01b815260040162001570919062004736565b600260655403620034595760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640162001570565b6002606555565b6200346b8162002fb1565b620011d057604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090205460ff16620011d0576040516346c26e4b60e01b815260040160405180910390fd5b6001600160a01b038116620011d0576040516303988b8160e61b815260040160405180910390fd5b6001606555565b620034fe81620034c4565b6001600160a01b038116600090815261010a602052604090819020805460ff19169055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49062000e2d90839062004736565b336200355c62002eeb565b6001600160a01b03161462001dea5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162001570565b6001600160a01b038116600090815261010a602052604090205460ff1615620035f0576040516325a2934b60e21b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090819020805460ff19166001179055517f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19062000e2d90839062004736565b806001600160a01b0316826001600160a01b031614620011b75760405163bbe7961160e01b815260040160405180910390fd5b6001600160a01b038216600090815261010d60205260408120905b8154811015620037a957826001600160a01b0316828281548110620036bd57620036bd620053bf565b6000918252602090912001546001600160a01b031603620037945781548290620036ea906001906200548a565b81548110620036fd57620036fd620053bf565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110620037305762003730620053bf565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550818054806200377157620037716200571a565b600082815260209020810160001990810180546001600160a01b03191690550190555b80620037a0816200546e565b91505062003694565b50505050565b620011d0813362003e24565b620037c7828262002f86565b620011b757600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620038013390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6001600160a01b03163b151590565b600054610100900460ff166200387e5760405162461bcd60e51b8152600401620015709062005a51565b62001dea62003e88565b600054610100900460ff1662001dea5760405162461bcd60e51b8152600401620015709062005a51565b6000620038bf836200130f565b600084815260c96020526040808220600101859055519192508391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b620037a9846323b872dd60e01b8585856040516024016200392b93929190620051ce565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003eb2565b620014858363a9059cbb60e01b84846040516024016200392b9291906200519b565b62003991828262002f86565b15620011b757600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008051602062006168833981519152546001600160a01b031690565b3362003a1762002eeb565b6001600160a01b031614620011d0573362003a3162002eeb565b60405163163678e960e01b815260040162001570929190620051f2565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562003a8457620014858362003f8e565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562003ae1575060408051601f3d908101601f1916820190925262003ade91810190620051b4565b60015b62003b465760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840162001570565b60008051602062006168833981519152811462003bb85760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840162001570565b50620014858383836200402d565b62003bd13362002fb1565b62001dea57604051636a5cfb6d60e01b815260040160405180910390fd5b620011b7828260405160240162003c0892919062005b25565b60408051601f198184030181529190526020810180516001600160e01b03166309710a9d60e41b17905262004058565b600062003c458362004079565b801562001fde575062001fde8383620040b1565b6001600160a01b038116600090815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562003cc657602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003ca7575b5050505050905060005b8151811015620014855781818151811062003cef5762003cef620053bf565b60200260200101516001600160a01b0316636453d9c4846040518263ffffffff1660e01b815260040162003d24919062004736565b600060405180830381600087803b15801562003d3f57600080fd5b505af115801562003d54573d6000803e3d6000fd5b50505050808062003d65906200546e565b91505062003cd0565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610103805461010680546001600160a01b03199081166001600160a01b038416179091551690556040517fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729062003e1a9060009062004736565b60405180910390a1565b62003e30828262002f86565b620011b75762003e40816200413c565b62003e4d8360206200414f565b60405160200162003e6092919062005b49565b60408051601f198184030181529082905262461bcd60e51b82526200157091600401620050ad565b600054610100900460ff16620034ec5760405162461bcd60e51b8152600401620015709062005a51565b600062003f09826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316620043089092919063ffffffff16565b905080516000148062003f2d57508080602001905181019062003f2d919062005bbc565b620014855760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840162001570565b62003f998162003845565b62003ffd5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162001570565b6000805160206200616883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b620040388362004321565b600082511180620040465750805b156200148557620037a9838362004363565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006200408e826301ffc9a760e01b620040b1565b801562000dbc5750620040aa826001600160e01b0319620040b1565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562004124575060208210155b8015620041315750600081115b979650505050505050565b606062000dbc6001600160a01b03831660145b60606000620041608360026200514b565b6200416d9060026200522f565b6001600160401b0381111562004187576200418762004772565b6040519080825280601f01601f191660200182016040528015620041b2576020820181803683370190505b509050600360fc1b81600081518110620041d057620041d0620053bf565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110620042025762004202620053bf565b60200101906001600160f81b031916908160001a9053506000620042288460026200514b565b620042359060016200522f565b90505b6001811115620042b7576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106200426d576200426d620053bf565b1a60f81b828281518110620042865762004286620053bf565b60200101906001600160f81b031916908160001a90535060049490941c93620042af8162005bdc565b905062004238565b50831562001fde5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640162001570565b60606200431984846000856200438b565b949350505050565b6200432c8162003f8e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062001fde8383604051806060016040528060278152602001620061886027913962004463565b606082471015620043ee5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840162001570565b600080866001600160a01b031685876040516200440c919062005bf6565b60006040518083038185875af1925050503d80600081146200444b576040519150601f19603f3d011682016040523d82523d6000602084013e62004450565b606091505b50915091506200413187838387620044e1565b6060600080856001600160a01b03168560405162004482919062005bf6565b600060405180830381855af49150503d8060008114620044bf576040519150601f19603f3d011682016040523d82523d6000602084013e620044c4565b606091505b5091509150620044d786838387620044e1565b9695505050505050565b60608315620045555782516000036200454d57620044ff8562003845565b6200454d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162001570565b508162004319565b6200431983838151156200456c5781518083602001fd5b8060405162461bcd60e51b8152600401620015709190620050ad565b828054828255906000526020600020908101928215620045e0579160200282015b82811115620045e057825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620045a9565b5062002f8292915062004617565b6104ec8062005c1583390190565b5080546000825590600052602060002090810190620011d091905b5b8082111562002f82576000815560010162004618565b6000602082840312156200464157600080fd5b81356001600160e01b03198116811462001fde57600080fd5b6000602082840312156200466d57600080fd5b5035919050565b6001600160a01b0381168114620011d057600080fd5b8035620046978162004674565b919050565b60008060408385031215620046b057600080fd5b8235620046bd8162004674565b91506020830135620046cf8162004674565b809150509250929050565b600060208284031215620046ed57600080fd5b813562001fde8162004674565b600080604083850312156200470e57600080fd5b82356200471b8162004674565b946020939093013593505050565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b600080604083850312156200475e57600080fd5b823591506020830135620046cf8162004674565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715620047ad57620047ad62004772565b60405290565b60405161018081016001600160401b0381118282101715620047ad57620047ad62004772565b60405160c081016001600160401b0381118282101715620047ad57620047ad62004772565b60405161010081016001600160401b0381118282101715620047ad57620047ad62004772565b604051601f8201601f191681016001600160401b03811182821017156200484f576200484f62004772565b604052919050565b60006001600160401b0382111562004873576200487362004772565b50601f01601f191660200190565b600062004898620048928462004857565b62004824565b9050828152838383011115620048ad57600080fd5b828260208301376000602084830101529392505050565b600082601f830112620048d657600080fd5b62001fde8383356020850162004881565b600060408284031215620048fa57600080fd5b6200490462004788565b82358152905060208201356001600160401b038111156200492457600080fd5b6200493284828501620048c4565b60208301525092915050565b8015158114620011d057600080fd5b803562004697816200493e565b600080600080608085870312156200497157600080fd5b84356001600160401b03808211156200498957600080fd5b9086019061018082890312156200499f57600080fd5b620049a9620047b3565b620049b4836200468a565b8152620049c4602084016200468a565b6020820152604083013560408201526060830135606082015260808301356080820152620049f560a084016200468a565b60a082015262004a0860c084016200468a565b60c082015260e08301358281111562004a2057600080fd5b62004a2e8a828601620048e7565b60e08301525061010062004a448185016200468a565b90820152610120838101358381111562004a5d57600080fd5b62004a6b8b828701620048c4565b82840152505061014062004a818185016200494d565b90820152610160838101358381111562004a9a57600080fd5b62004aa88b828701620048c4565b82840152505080965050505062004ac2602086016200468a565b925062004ad2604086016200468a565b915062004ae2606086016200468a565b905092959194509250565b6000806040838503121562004b0157600080fd5b823562004b0e8162004674565b915060208301356001600160401b0381111562004b2a57600080fd5b8301601f8101851362004b3c57600080fd5b62004b4d8582356020840162004881565b9150509250929050565b60006080828403121562004b6a57600080fd5b604051608081016001600160401b038111828210171562004b8f5762004b8f62004772565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b8035600381106200469757600080fd5b60048110620011d057600080fd5b8035620046978162004bd0565b60006020828403121562004bfe57600080fd5b604051602081016001600160401b038111828210171562004c235762004c2362004772565b6040529135825250919050565b600060c0828403121562004c4357600080fd5b62004c4d620047d9565b9050813562004c5c8162004674565b8152602082013562004c6e8162004674565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b60006101e0828403121562004cb757600080fd5b60405160e081016001600160401b038111828210171562004cdc5762004cdc62004772565b60405290508062004cee848462004b57565b815262004cfe6080840162004bc0565b602082015260a083013562004d138162004bd0565b604082015262004d278460c0850162004beb565b606082015262004d3b8460e0850162004c30565b60808201526101a083013562004d518162004674565b60a082015262004d656101c084016200468a565b60c08201525092915050565b6000806000610220848603121562004d8857600080fd5b833562004d958162004674565b925062004da6856020860162004ca3565b91506102008401356001600160401b0381111562004dc357600080fd5b62004dd186828701620048e7565b9150509250925092565b60006001600160401b0382111562004df75762004df762004772565b5060051b60200190565b600082601f83011262004e1357600080fd5b8135602062004e26620048928362004ddb565b82815260059290921b8401810191818101908684111562004e4657600080fd5b8286015b8481101562004e6e57803562004e608162004674565b835291830191830162004e4a565b509695505050505050565b6000610200828403121562004e8d57600080fd5b62004e97620047fe565b905062004ea5838362004b57565b815262004eb56080830162004bc0565b602082015262004ec860a0830162004bde565b604082015262004edc8360c0840162004beb565b606082015262004ef08360e0840162004c30565b608082015262004f046101a083016200468a565b60a082015262004f186101c083016200468a565b60c08201526101e08201356001600160401b0381111562004f3857600080fd5b62004f468482850162004e01565b60e08301525092915050565b60008060006060848603121562004f6857600080fd5b833562004f758162004674565b925060208401356001600160401b038082111562004f9257600080fd5b62004fa08783880162004e79565b9350604086013591508082111562004fb757600080fd5b5062004dd186828701620048e7565b6000806000806080858703121562004fdd57600080fd5b843562004fea8162004674565b9350602085013562004ffc8162004674565b925060408501356001600160401b03808211156200501957600080fd5b620050278883890162004e79565b935060608701359150808211156200503e57600080fd5b506200504d87828801620048e7565b91505092959194509250565b60005b83811015620050765781810151838201526020016200505c565b50506000910152565b600081518084526200509981602086016020860162005059565b601f01601f19169290920160200192915050565b60208152600062001fde60208301846200507f565b6000806000806102408587031215620050da57600080fd5b8435620050e78162004674565b93506020850135620050f98162004674565b92506200510a866040870162004ca3565b91506102208501356001600160401b038111156200512757600080fd5b6200504d87828801620048e7565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000dbc5762000dbc62005135565b634e487b7160e01b600052602160045260246000fd5b6000602082840312156200518e57600080fd5b815162001fde8162004bd0565b6001600160a01b03929092168252602082015260400190565b600060208284031215620051c757600080fd5b5051919050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0392831681529116602082015260400190565b6000826200522a57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000dbc5762000dbc62005135565b600181811c908216806200525a57607f821691505b6020821081036200527b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200148557600081815260208120601f850160051c81016020861015620052aa5750805b601f850160051c820191505b81811015620052cb57828155600101620052b6565b505050505050565b81516001600160401b03811115620052ef57620052ef62004772565b620053078162005300845462005245565b8462005281565b602080601f8311600181146200533f5760008415620053265750858301515b600019600386901b1c1916600185901b178555620052cb565b600085815260208120601f198616915b8281101562005370578886015182559484019460019091019084016200534f565b50858210156200538f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620053b257600080fd5b815162001fde8162004674565b634e487b7160e01b600052603260045260246000fd5b60006020808385031215620053e957600080fd5b82516001600160401b038111156200540057600080fd5b8301601f810185136200541257600080fd5b805162005423620048928262004ddb565b81815260059190911b820183019083810190878311156200544357600080fd5b928401925b82841015620041315783516200545e8162004674565b8252928401929084019062005448565b60006001820162005483576200548362005135565b5060010190565b8181038181111562000dbc5762000dbc62005135565b60008154620054af8162005245565b808552602060018381168015620054cf5760018114620054ea576200551a565b60ff1985168884015283151560051b8801830195506200551a565b866000528260002060005b85811015620055125781548a8201860152908301908401620054f5565b890184019650505b505050505092915050565b8051825260006020820151604060208501526200431960408501826200507f565b600081518084526020808501945080840160005b83811015620055815781516001600160a01b0316875295820195908201906001016200555a565b509495945050505050565b85815260a060208201526000620055a760a0830187620054a0565b8281036040840152620055bb818762005525565b6001600160a01b038616606085015283810360808501529050620055e0818562005546565b98975050505050505050565b838152606060208201526000620056076060830185620054a0565b8281036040840152620044d7818562005525565b6020808252602c908201526000805160206200614883398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206200614883398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6810531313d5d31254d560ba1b8152600981019190915260290190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b038316815260406020820181905260009062004319908301846200507f565b6e20a62627aba624a9aa2fa0a226a4a760891b8152600f810191909152602f0190565b634e487b7160e01b600052603160045260246000fd5b600060208083850312156200574457600080fd5b82516001600160401b03808211156200575c57600080fd5b9084019060c082870312156200577157600080fd5b6200577b620047d9565b82518152838301516200578e8162004674565b818501526040830151620057a28162004674565b6040820152606083015182811115620057ba57600080fd5b830160408189031215620057cd57600080fd5b620057d762004788565b815181528582015184811115620057ed57600080fd5b82019350601f840189136200580157600080fd5b8351915062005814620048928362004857565b82815289878487010111156200582957600080fd5b6200583a8388830189880162005059565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b805182526020810151602083015260408101516040830152606081015160608301525050565b600381106200589f576200589f62005165565b9052565b600481106200589f576200589f62005165565b80516001600160a01b0390811683526020808301519091169083015260408082015190830152606080820151908301526080808201519083015260a090810151910152565b602081526200590f60208201835162005866565b600060208301516200592560a08401826200588c565b5060408301516200593a60c0840182620058a3565b5060608301515160e083015260808301516200595b610100840182620058b6565b5060a0830151620059716101c084018262004729565b5060c0830151620059876101e084018262004729565b5060e0830151610200838101526200431961022084018262005546565b878152600060018060a01b03808916602084015260e06040840152620059ce60e08401896200507f565b818816606085015286608085015283810360a0850152620059f0818762005525565b91505082810360c084015262005a07818562005546565b9a9950505050505050505050565b8581526001600160a01b03858116602083015284811660408301528316606082015260a060808201819052600090620041319083018462005525565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006101e08201905062005ab282845162005866565b602083015162005ac660808401826200588c565b50604083015162005adb60a0840182620058a3565b5060608301515160c0830152608083015162005afb60e0840182620058b6565b5060a08301516001600160a01b039081166101a084015260c0909301519092166101c09091015290565b60408152600062005b3a60408301856200507f565b90508260208301529392505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81526000835162005b7d81601785016020880162005059565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835162005bb081602884016020880162005059565b01602801949350505050565b60006020828403121562005bcf57600080fd5b815162001fde816200493e565b60008162005bee5762005bee62005135565b506000190190565b6000825162005c0a81846020870162005059565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212206e93027ee8ff60c4973ac058d4e8a46f5d5981513eccfc75ff619ec5718959a664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656403be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa4772616e74696e6720726f6c65207769746820706f6f6c20696420696e2072656769737472793a46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e28c12d767b3bea1fd08a5c25c029db44202b7632cee5dceb1a4d2cc2c84ebaf64736f6c63430008130033","sourceMap":"340:2327:108:-:0;;;1088:4:64;1045:48;;340:2327:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610620003505760003560e01c806301ffc9a714620003555780630331383c146200038f57806308386eba14620003b05780630d12bbdb14620003c85780630d4a8b4914620003ef578063175188e814620004145780631b71f0e414620004395780631f787d28146200045e578063223e5479146200047957806322bcf999146200049e578063248a9ca314620004c357806328c309e914620004e85780632b38c69c14620005005780632c611c4a14620005345780632f2ff15d146200057257806331f61bca14620005975780633396045914620005bc5780633419635514620005d45780633517aa7d14620005f957806336568abe14620006115780633659cfe61462000636578063397e2543146200065b5780633a871fe114620006805780633ede95f614620006b5578063477a5cc014620006da5780634f1ef286146200071a578063524e59e8146200073157806352d1902d1462000774578063559de05d146200078c578063579eb7e514620007b15780635c94e4d214620007d65780635ecf71c514620007f957806365e3864c146200081e5780636871eb4d146200085b57806368decabb14620008805780636c53db9a14620008a3578063715018a614620008c657806373265c3714620008de578063733a2d1f146200090357806377122d5614620009285780637817ee4f146200094b57806378a0b8a914620009965780637b10399914620009ae57806382d6a1e714620009d15780638659ffdd14620009f657806388cfe6841462000a1b5780638961be6b1462000a915780638da5cb5b1462000aa957806391d148541462000ac1578063a0cf0aea1462000ae6578063a217fddf1462000b10578063a230c5241462000b27578063b0d3713a1462000b4c578063b3f006741462000b71578063b5058c501462000b98578063b64e39af1462000bb0578063b99b43701462000bd7578063bc063e1a1462000bef578063c4d66de81462000c07578063c6d572ae1462000c2c578063d547741f1462000c44578063d6d8428d1462000c69578063d7050f071462000c8c578063db61d65c1462000ca4578063e16d0e321462000cc7578063ebd7dc521462000cec578063f2fde38b1462000d11578063f86c5f891462000d36578063ffa1ad741462000d59575b600080fd5b3480156200036257600080fd5b506200037a620003743660046200462e565b62000d8a565b60405190151581526020015b60405180910390f35b3480156200039c57600080fd5b5060fb545b60405190815260200162000386565b348015620003bd57600080fd5b50620003a160fe5481565b348015620003d557600080fd5b50620003ed620003e73660046200465a565b62000dc2565b005b348015620003fc57600080fd5b50620003ed6200040e3660046200469c565b62000e38565b3480156200042157600080fd5b50620003ed62000433366004620046da565b620011bb565b3480156200044657600080fd5b50620003ed62000458366004620046da565b620011d3565b3480156200046b57600080fd5b5060ff80546200037a911681565b3480156200048657600080fd5b50620003ed62000498366004620046da565b62001200565b348015620004ab57600080fd5b50620003ed620004bd3660046200469c565b62001215565b348015620004d057600080fd5b50620003a1620004e23660046200465a565b6200130f565b348015620004f557600080fd5b50620003a162001324565b3480156200050d57600080fd5b50620005256200051f366004620046fa565b62001429565b60405162000386919062004736565b3480156200054157600080fd5b50620003a162000553366004620046da565b6001600160a01b0316600090815261010c602052604090206001015490565b3480156200057f57600080fd5b50620003ed620005913660046200474a565b62001463565b348015620005a457600080fd5b50620003ed620005b63660046200465a565b6200148a565b348015620005c957600080fd5b50620003a160fd5481565b348015620005e157600080fd5b50620003ed620005f33660046200495a565b620014ca565b3480156200060657600080fd5b50620003ed62001b8a565b3480156200061e57600080fd5b50620003ed620006303660046200474a565b62001dec565b3480156200064357600080fd5b50620003ed62000655366004620046da565b62001e6a565b3480156200066857600080fd5b50620003ed6200067a366004620046da565b62001f3b565b3480156200068d57600080fd5b506200037a6200069f366004620046da565b61010a6020526000908152604090205460ff1681565b348015620006c257600080fd5b506200037a620006d4366004620046fa565b62001fa8565b348015620006e757600080fd5b506200037a620006f93660046200469c565b61010e60209081526000928352604080842090915290825290205460ff1681565b620003ed6200072b36600462004aed565b62001fe5565b3480156200073e57600080fd5b50620007566200075036600462004d71565b620020a6565b604080519283526001600160a01b0390911660208301520162000386565b3480156200078157600080fd5b50620003a162002177565b3480156200079957600080fd5b50620003ed620007ab3660046200465a565b62002228565b348015620007be57600080fd5b5062000756620007d036600462004f52565b62002474565b348015620007e357600080fd5b506101025462000525906001600160a01b031681565b3480156200080657600080fd5b50620003ed620008183660046200465a565b62002701565b3480156200082b57600080fd5b50620003a16200083d3660046200469c565b61010b60209081526000928352604080842090915290825290205481565b3480156200086857600080fd5b50620003ed6200087a3660046200469c565b62002a9b565b3480156200088d57600080fd5b506101035462000525906001600160a01b031681565b348015620008b057600080fd5b506101065462000525906001600160a01b031681565b348015620008d357600080fd5b50620003ed62002bee565b348015620008eb57600080fd5b50620003ed620008fd3660046200465a565b62002c04565b3480156200091057600080fd5b50620003a16000805160206200610183398151915281565b3480156200093557600080fd5b506101015462000525906001600160a01b031681565b3480156200095857600080fd5b50620003a16200096a3660046200469c565b6001600160a01b03918216600090815261010b6020908152604080832093909416825291909152205490565b348015620009a357600080fd5b50620003a160fb5481565b348015620009bb57600080fd5b506101045462000525906001600160a01b031681565b348015620009de57600080fd5b50620003ed620009f03660046200465a565b62002ca0565b34801562000a0357600080fd5b506200075662000a1536600462004fc6565b62002d5e565b34801562000a2857600080fd5b5062000a6962000a3a366004620046da565b61010c602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b039094168452602084019290925215159082015260600162000386565b34801562000a9e57600080fd5b50620003a160fc5481565b34801562000ab657600080fd5b506200052562002eeb565b34801562000ace57600080fd5b506200037a62000ae03660046200474a565b62002f86565b34801562000af357600080fd5b506200052573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801562000b1d57600080fd5b50620003a1600081565b34801562000b3457600080fd5b506200037a62000b46366004620046da565b62002fb1565b34801562000b5957600080fd5b50620003ed62000b6b366004620046da565b62002ffb565b34801562000b7e57600080fd5b5060ff54620005259061010090046001600160a01b031681565b34801562000ba557600080fd5b50620003ed62003028565b34801562000bbd57600080fd5b5062000bc86200305f565b604051620003869190620050ad565b34801562000be457600080fd5b50620003ed620030f6565b34801562000bfc57600080fd5b50620003a162003200565b34801562000c1457600080fd5b50620003ed62000c26366004620046da565b62003212565b34801562000c3957600080fd5b5062000bc862003247565b34801562000c5157600080fd5b50620003ed62000c633660046200474a565b62003257565b34801562000c7657600080fd5b506101075462000525906001600160a01b031681565b34801562000c9957600080fd5b50620003a161271081565b34801562000cb157600080fd5b506101055462000525906001600160a01b031681565b34801562000cd457600080fd5b506200075662000ce6366004620050c2565b62003279565b34801562000cf957600080fd5b506200037a62000d0b366004620046da565b6200333a565b34801562000d1e57600080fd5b50620003ed62000d30366004620046da565b62003357565b34801562000d4357600080fd5b506101005462000525906001600160a01b031681565b34801562000d6657600080fd5b5062000bc8604051806040016040528060038152602001620302e360ec1b81525081565b60006001600160e01b03198216637965db0b60e01b148062000dbc57506301ffc9a760e01b6001600160e01b03198316145b92915050565b62000dcc620033c8565b62000ddb612710600a6200514b565b81111562000dfc5760405163fe925f7d60e01b815260040160405180910390fd5b60fc8190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b62000e4262003405565b62000e4d8262003460565b62000e588162003489565b62000e6381620034c4565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff161562000eac57604051636adcde4b60e11b815260040160405180910390fd5b6001600160a01b03808316600090815261010c602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff1615159183019190915260fb546003846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000f3a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f6091906200517b565b600381111562000f745762000f7462005165565b0362000ff95760405163782aadff60e01b81526001600160a01b0385169063782aadff9062000fab9088906000906004016200519b565b6020604051808303816000875af115801562000fcb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ff19190620051b4565b9050620010f5565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af11580156200103c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200106291906200517b565b600381111562001076576200107662005165565b14620010f55760405163782aadff60e01b81526001600160a01b0385169063782aadff90620010ac90889086906004016200519b565b6020604051808303816000875af1158015620010cc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010f29190620051b4565b90505b6001600160a01b03808616600081815261010b6020908152604080832094891680845294825280832086905583835261010e82528083208584528252808320805460ff1916600190811790915593835261010d8252808320805494850181558352912090910180546001600160a01b031916909217909155517ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec90620011a190879087908590620051ce565b60405180910390a1505050620011b76001606555565b5050565b620011c5620033c8565b620011d081620034f3565b50565b620011dd62003551565b61010280546001600160a01b0319166001600160a01b0392909216919091179055565b6200120a620033c8565b620011d081620035b4565b620012208262003460565b6200122b81620034c4565b62001237338262003646565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff166200127f57604051633048da7760e21b815260040160405180910390fd5b6001600160a01b03808316600081815261010e60209081526040808320948616808452948252808320805460ff1916905592825261010b815282822093825292909252812055620012d1828262003679565b7ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b828260405162001303929190620051f2565b60405180910390a15050565b600090815260c9602052604090206001015490565b610100546000906001600160a01b0316816200134461271060646200514b565b60fc5460fb546200135691906200514b565b6200136291906200520c565b905060006200137561271060646200514b565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c90620013a390309060040162004736565b602060405180830381865afa158015620013c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013e79190620051b4565b60fb54620013f691906200514b565b6200140291906200520c565b9050808260fb546200141591906200522f565b6200142191906200522f565b935050505090565b61010d60205281600052604060002081815481106200144757600080fd5b6000918252602090912001546001600160a01b03169150829050565b6200146e826200130f565b6200147981620037af565b620014858383620037bb565b505050565b62001494620033c8565b60fb8190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f9060200162000e2d565b600054610100900460ff1615808015620014eb5750600054600160ff909116105b80620015105750620014fd3062003845565b15801562001510575060005460ff166001145b620015795760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156200159d576000805461ff0019166101001790555b620015a88262003212565b620015b262003854565b620015bc62003888565b620015d8600080516020620061018339815191526000620038b2565b620015e78560200151620034c4565b620015f7856101000151620034c4565b84516200160490620034c4565b620016138560a00151620034c4565b6060850151156200162d576200162d8560c00151620034c4565b845161010780546001600160a01b039283166001600160a01b03199182161790915560208701516101058054919093169116179055604085015160000362001688576040516363868c5560e11b815260040160405180910390fd5b604085015160fb55606085015160fc5561014085015160ff805460ff191691151591909117905561012085015161010890620016c59082620052d3565b5061016085015161010990620016dc9082620052d3565b5060a085015161010080546001600160a01b03199081166001600160a01b0393841617825560c088015160ff8054610100600160a81b031916918516840291909117905590870151610106805490921692811692909217905562001751906000805160206200610183398151915290620037bb565b61010760009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620017cc91906200539f565b61010480546001600160a01b0319166001600160a01b0392831617905561010654606091163b60000362001858576040805160038082526080820190925290602082016060803683370190505090503381600081518110620018325762001832620053bf565b60200260200101906001600160a01b031690816001600160a01b03168152505062001995565b610106546040805163a0e67e2b60e01b815290516000926001600160a01b03169163a0e67e2b91600480830192869291908290030181865afa158015620018a3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620018cd9190810190620053d5565b905080516002620018df91906200522f565b6001600160401b03811115620018f957620018f962004772565b60405190808252806020026020018201604052801562001923578160200160208202803683370190505b50915060005b81518110156200199257818181518110620019485762001948620053bf565b6020026020010151838281518110620019655762001965620053bf565b6001600160a01b03909216602092830291909101909101528062001989816200546e565b91505062001929565b50505b6101065481516001600160a01b03909116908290620019b7906001906200548a565b81518110620019ca57620019ca620053bf565b60200260200101906001600160a01b031690816001600160a01b031681525050308160028351620019fc91906200548a565b8151811062001a0f5762001a0f620053bf565b6001600160a01b03928316602091820292909201015261010454608088015160e0890151604051633a92f65f60e01b81529290931692633a92f65f9262001a62929161010891309088906004016200558c565b6020604051808303816000875af115801562001a82573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001aa89190620051b4565b60fe55805162001ac19061010f90602084019062004588565b5061010280546001600160a01b038088166001600160a01b03199283161790925561010180549287169290911691909117905560fe5460e08701516040517f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed032059262001b339290916101089190620055ec565b60405180910390a150801562001b83576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b62001b9462003405565b33600081815261010c602052604081206101005490916001600160a01b039091169062001bc561271060646200514b565b60fc5460fb5462001bd791906200514b565b62001be391906200520c565b9050600062001bf661271060646200514b565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c9062001c2490309060040162004736565b602060405180830381865afa15801562001c42573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001c689190620051b4565b60fb5462001c7791906200514b565b62001c8391906200520c565b905062001c908562002fb1565b62001dda5760028401805460ff1916600190811790915560fb5490850181905562001cea9086903090849062001cc89087906200522f565b62001cd491906200522f565b610105546001600160a01b031692919062003907565b811562001d175760ff546101055462001d17916001600160a01b0391821691610100909104168462003963565b801562001d9c5762001d9c836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001d61573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001d8791906200539f565b610105546001600160a01b0316908362003963565b7f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f76898560fb5460405162001dd19291906200519b565b60405180910390a15b505050505062001dea6001606555565b565b6001600160a01b038116331462001e5e5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b606482015260840162001570565b620011b7828262003985565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001eb55760405162461bcd60e51b815260040162001570906200561b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001ee9620039ef565b6001600160a01b03161462001f125760405162461bcd60e51b8152600401620015709062005656565b62001f1d8162003a0c565b60408051600080825260208201909252620011d09183919062003a4e565b62001f45620033c8565b62001f5081620034c4565b61010380546001600160a01b0319166001600160a01b03838116918217909255610106546040517f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89362000e2d9392169190620051f2565b600062001fde8260405160200162001fc1919062005691565b604051602081830303815290604052805190602001208462002f86565b9392505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620020305760405162461bcd60e51b815260040162001570906200561b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662002064620039ef565b6001600160a01b0316146200208d5760405162461bcd60e51b8152600401620015709062005656565b620020988262003a0c565b620011b78282600162003a4e565b610102546101075461010154600092839283926001600160a01b039283169263184b955960e01b9281169116620020dc62002eeb565b604051602401620020f093929190620056ae565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516200212f90620045ee565b6200213c929190620056d1565b604051809103906000f08015801562002159573d6000803e3d6000fd5b5090506200216a8187878762003279565b9250925050935093915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620022145760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840162001570565b506000805160206200616883398151915290565b6200223262003405565b6200223c62003bc6565b33600081815261010d6020908152604080832080548251818502810185019093528083529192909190830182828015620022a057602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162002281575b50505050509050600080600090505b8251811015620023db57828181518110620022ce57620022ce620053bf565b60200260200101516001600160a01b031663782aadff85876040518363ffffffff1660e01b8152600401620023059291906200519b565b6020604051808303816000875af115801562002325573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200234b9190620051b4565b91508115620023c6576001600160a01b038416600090815261010b602052604081208451849290869085908110620023875762002387620053bf565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000828254620023c091906200522f565b90915550505b80620023d2816200546e565b915050620022af565b5061010554620023f7906001600160a01b031684308762003907565b6001600160a01b038316600090815261010c602052604081206001018054869290620024259084906200522f565b90915550506040517f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f906200245e90859087906200519b565b60405180910390a1505050620011d06001606555565b610102546101075461010154600092839283926001600160a01b039283169263184b955960e01b9281169116620024aa62002eeb565b604051602401620024be93929190620056ae565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051620024fd90620045ee565b6200250a929190620056d1565b604051809103906000f08015801562002527573d6000803e3d6000fd5b509050620025388187878762002d5e565b60c087015191945092506001600160a01b031662002668576103e88560e00151511115620025c15760405162461bcd60e51b815260206004820152602f60248201527f546f6f206d616e7920696e697469616c20616c6c6f776c697374206d656d626560448201526e072732c206d6178206973203130303608c1b606482015260840162001570565b600083604051602001620025d6919062005691565b60405160208183030381529060405280519060200120905060005b8660e001515181101562002665576200262460405180606001604052806027815260200162006121602791398662003bef565b62002650828860e001518381518110620026425762002642620053bf565b6020026020010151620037bb565b806200265c816200546e565b915050620025f1565b50505b620026c4836040516020016200267f919062005691565b6040516020818303038152906040528051906020012084604051602001620026a89190620056f7565b60405160208183030381529060405280519060200120620038b2565b620026f883604051602001620026db9190620056f7565b6040516020818303038152906040528051906020012083620037bb565b50935093915050565b6200270b62003405565b6200271562003bc6565b33600081815261010d6020908152604080832060fb5461010c9093529083206001015490929190620027499086906200548a565b10156200276957604051634e23e81760e11b815260040160405180910390fd5b6101055462002783906001600160a01b0316848662003963565b60005b825481101562002a33576000838281548110620027a757620027a7620053bf565b6000918252602090912001546001600160a01b03169050620027d18163f1801e6160e01b62003c38565b156200295757604051632ed04b2b60e01b81526001600160a01b03821690632ed04b2b90620028079088908a906004016200519b565b6020604051808303816000875af115801562002827573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200284d9190620051b4565b9250600061010b6000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815481106200288e576200288e620053bf565b60009182526020808320909101546001600160a01b03168352820192909252604001902054905080841115620028e2576040516311423e6360e31b8152600481018590526024810182905260440162001570565b6001600160a01b038616600090815261010b602052604081208654869290889087908110620029155762002915620053bf565b60009182526020808320909101546001600160a01b03168352820192909252604001812080549091906200294b9084906200548a565b90915550505062002a1d565b8354849062002969906001906200548a565b815481106200297c576200297c620053bf565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110620029af57620029af620053bf565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480620029f057620029f06200571a565b600082815260209020810160001990810180546001600160a01b031916905501905562002a1d81620034f3565b508062002a2a816200546e565b91505062002786565b506001600160a01b038316600090815261010c60205260408120600101805486929062002a629084906200548a565b90915550506040517f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8906200245e90859087906200519b565b62002aa562003405565b62002aaf620033c8565b60ff80541662002ad2576040516365b1ee3960e11b815260040160405180910390fd5b62002add8262002fb1565b62002afb57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159082015262002b4c8362003c59565b6001600160a01b03808416600090815261010c60209081526040822080546001600160a01b031916815560018101929092556002909101805460ff191690558201516101055462002ba1921690849062003963565b7fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a38383836020015160405162002bda93929190620051ce565b60405180910390a150620011b76001606555565b62002bf862003551565b62001dea600062003d6e565b62002c0e620033c8565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801562002c5a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002c84919081019062005730565b60200151905062002c9581620034c4565b620011b781620034f3565b62002caa620033c8565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801562002cf6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002d20919081019062005730565b60200151905062002d3181620034c4565b62002d4d6001600160a01b03821663f1801e6160e01b62003c38565b15620011b757620011b781620035b4565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0386161562002d895750845b869150600061010f80548060200260200160405190810160405280929190818152602001828054801562002de757602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162002dc8575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062002e1f908b90602001620058fb565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b815260040162002e579796959493929190620059a4565b6020604051808303816000875af115801562002e77573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e9d9190620051b4565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a8960405162002ed895949392919062005a15565b60405180910390a1505094509492505050565b60008062002f016033546001600160a01b031690565b9050806001600160a01b03163b60000362002f1b57919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562002f78575060408051601f3d908101601f1916820190925262002f75918101906200539f565b60015b62000dbc57919050565b5090565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6001600160a01b03908116600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b6200300562003551565b61010180546001600160a01b0319166001600160a01b0392909216919091179055565b610103546001600160a01b0316331462003055576040516375e686b760e11b815260040160405180910390fd5b62001dea62003dc0565b61010980546200306f9062005245565b80601f01602080910402602001604051908101604052809291908181526020018280546200309d9062005245565b8015620030ee5780601f10620030c257610100808354040283529160200191620030ee565b820191906000526020600020905b815481529060010190602001808311620030d057829003601f168201915b505050505081565b6200310062003405565b336200310c8162003460565b620031178162003c59565b6001600160a01b03808216600081815261010c602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945561010d90529182209091620031929190620045fc565b602081015161010554620031b4916001600160a01b0390911690849062003963565b7fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4828260200151604051620031eb9291906200519b565b60405180910390a1505062001dea6001606555565b6200320f612710600a6200514b565b81565b600054610100900460ff166200323c5760405162461bcd60e51b8152600401620015709062005a51565b620011d08162003d6e565b61010880546200306f9062005245565b62003262826200130f565b6200326d81620037af565b62001485838362003985565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b03861615620032a45750845b869150600061010f8054806020026020016040519081016040528092919081815260200182805480156200330257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620032e3575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062002e1f908b9060200162005a9c565b600062000dbc600080516020620061018339815191528362002f86565b6200336162003551565b6001600160a01b0381166200323c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162001570565b620033e3600080516020620061018339815191523362002f86565b62001dea573360405163fc4be72f60e01b815260040162001570919062004736565b600260655403620034595760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640162001570565b6002606555565b6200346b8162002fb1565b620011d057604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090205460ff16620011d0576040516346c26e4b60e01b815260040160405180910390fd5b6001600160a01b038116620011d0576040516303988b8160e61b815260040160405180910390fd5b6001606555565b620034fe81620034c4565b6001600160a01b038116600090815261010a602052604090819020805460ff19169055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49062000e2d90839062004736565b336200355c62002eeb565b6001600160a01b03161462001dea5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162001570565b6001600160a01b038116600090815261010a602052604090205460ff1615620035f0576040516325a2934b60e21b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090819020805460ff19166001179055517f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19062000e2d90839062004736565b806001600160a01b0316826001600160a01b031614620011b75760405163bbe7961160e01b815260040160405180910390fd5b6001600160a01b038216600090815261010d60205260408120905b8154811015620037a957826001600160a01b0316828281548110620036bd57620036bd620053bf565b6000918252602090912001546001600160a01b031603620037945781548290620036ea906001906200548a565b81548110620036fd57620036fd620053bf565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110620037305762003730620053bf565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550818054806200377157620037716200571a565b600082815260209020810160001990810180546001600160a01b03191690550190555b80620037a0816200546e565b91505062003694565b50505050565b620011d0813362003e24565b620037c7828262002f86565b620011b757600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620038013390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6001600160a01b03163b151590565b600054610100900460ff166200387e5760405162461bcd60e51b8152600401620015709062005a51565b62001dea62003e88565b600054610100900460ff1662001dea5760405162461bcd60e51b8152600401620015709062005a51565b6000620038bf836200130f565b600084815260c96020526040808220600101859055519192508391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b620037a9846323b872dd60e01b8585856040516024016200392b93929190620051ce565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003eb2565b620014858363a9059cbb60e01b84846040516024016200392b9291906200519b565b62003991828262002f86565b15620011b757600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008051602062006168833981519152546001600160a01b031690565b3362003a1762002eeb565b6001600160a01b031614620011d0573362003a3162002eeb565b60405163163678e960e01b815260040162001570929190620051f2565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562003a8457620014858362003f8e565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562003ae1575060408051601f3d908101601f1916820190925262003ade91810190620051b4565b60015b62003b465760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840162001570565b60008051602062006168833981519152811462003bb85760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840162001570565b50620014858383836200402d565b62003bd13362002fb1565b62001dea57604051636a5cfb6d60e01b815260040160405180910390fd5b620011b7828260405160240162003c0892919062005b25565b60408051601f198184030181529190526020810180516001600160e01b03166309710a9d60e41b17905262004058565b600062003c458362004079565b801562001fde575062001fde8383620040b1565b6001600160a01b038116600090815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562003cc657602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003ca7575b5050505050905060005b8151811015620014855781818151811062003cef5762003cef620053bf565b60200260200101516001600160a01b0316636453d9c4846040518263ffffffff1660e01b815260040162003d24919062004736565b600060405180830381600087803b15801562003d3f57600080fd5b505af115801562003d54573d6000803e3d6000fd5b50505050808062003d65906200546e565b91505062003cd0565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610103805461010680546001600160a01b03199081166001600160a01b038416179091551690556040517fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729062003e1a9060009062004736565b60405180910390a1565b62003e30828262002f86565b620011b75762003e40816200413c565b62003e4d8360206200414f565b60405160200162003e6092919062005b49565b60408051601f198184030181529082905262461bcd60e51b82526200157091600401620050ad565b600054610100900460ff16620034ec5760405162461bcd60e51b8152600401620015709062005a51565b600062003f09826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316620043089092919063ffffffff16565b905080516000148062003f2d57508080602001905181019062003f2d919062005bbc565b620014855760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840162001570565b62003f998162003845565b62003ffd5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162001570565b6000805160206200616883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b620040388362004321565b600082511180620040465750805b156200148557620037a9838362004363565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006200408e826301ffc9a760e01b620040b1565b801562000dbc5750620040aa826001600160e01b0319620040b1565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562004124575060208210155b8015620041315750600081115b979650505050505050565b606062000dbc6001600160a01b03831660145b60606000620041608360026200514b565b6200416d9060026200522f565b6001600160401b0381111562004187576200418762004772565b6040519080825280601f01601f191660200182016040528015620041b2576020820181803683370190505b509050600360fc1b81600081518110620041d057620041d0620053bf565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110620042025762004202620053bf565b60200101906001600160f81b031916908160001a9053506000620042288460026200514b565b620042359060016200522f565b90505b6001811115620042b7576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106200426d576200426d620053bf565b1a60f81b828281518110620042865762004286620053bf565b60200101906001600160f81b031916908160001a90535060049490941c93620042af8162005bdc565b905062004238565b50831562001fde5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640162001570565b60606200431984846000856200438b565b949350505050565b6200432c8162003f8e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062001fde8383604051806060016040528060278152602001620061886027913962004463565b606082471015620043ee5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840162001570565b600080866001600160a01b031685876040516200440c919062005bf6565b60006040518083038185875af1925050503d80600081146200444b576040519150601f19603f3d011682016040523d82523d6000602084013e62004450565b606091505b50915091506200413187838387620044e1565b6060600080856001600160a01b03168560405162004482919062005bf6565b600060405180830381855af49150503d8060008114620044bf576040519150601f19603f3d011682016040523d82523d6000602084013e620044c4565b606091505b5091509150620044d786838387620044e1565b9695505050505050565b60608315620045555782516000036200454d57620044ff8562003845565b6200454d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162001570565b508162004319565b6200431983838151156200456c5781518083602001fd5b8060405162461bcd60e51b8152600401620015709190620050ad565b828054828255906000526020600020908101928215620045e0579160200282015b82811115620045e057825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620045a9565b5062002f8292915062004617565b6104ec8062005c1583390190565b5080546000825590600052602060002090810190620011d091905b5b8082111562002f82576000815560010162004618565b6000602082840312156200464157600080fd5b81356001600160e01b03198116811462001fde57600080fd5b6000602082840312156200466d57600080fd5b5035919050565b6001600160a01b0381168114620011d057600080fd5b8035620046978162004674565b919050565b60008060408385031215620046b057600080fd5b8235620046bd8162004674565b91506020830135620046cf8162004674565b809150509250929050565b600060208284031215620046ed57600080fd5b813562001fde8162004674565b600080604083850312156200470e57600080fd5b82356200471b8162004674565b946020939093013593505050565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b600080604083850312156200475e57600080fd5b823591506020830135620046cf8162004674565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715620047ad57620047ad62004772565b60405290565b60405161018081016001600160401b0381118282101715620047ad57620047ad62004772565b60405160c081016001600160401b0381118282101715620047ad57620047ad62004772565b60405161010081016001600160401b0381118282101715620047ad57620047ad62004772565b604051601f8201601f191681016001600160401b03811182821017156200484f576200484f62004772565b604052919050565b60006001600160401b0382111562004873576200487362004772565b50601f01601f191660200190565b600062004898620048928462004857565b62004824565b9050828152838383011115620048ad57600080fd5b828260208301376000602084830101529392505050565b600082601f830112620048d657600080fd5b62001fde8383356020850162004881565b600060408284031215620048fa57600080fd5b6200490462004788565b82358152905060208201356001600160401b038111156200492457600080fd5b6200493284828501620048c4565b60208301525092915050565b8015158114620011d057600080fd5b803562004697816200493e565b600080600080608085870312156200497157600080fd5b84356001600160401b03808211156200498957600080fd5b9086019061018082890312156200499f57600080fd5b620049a9620047b3565b620049b4836200468a565b8152620049c4602084016200468a565b6020820152604083013560408201526060830135606082015260808301356080820152620049f560a084016200468a565b60a082015262004a0860c084016200468a565b60c082015260e08301358281111562004a2057600080fd5b62004a2e8a828601620048e7565b60e08301525061010062004a448185016200468a565b90820152610120838101358381111562004a5d57600080fd5b62004a6b8b828701620048c4565b82840152505061014062004a818185016200494d565b90820152610160838101358381111562004a9a57600080fd5b62004aa88b828701620048c4565b82840152505080965050505062004ac2602086016200468a565b925062004ad2604086016200468a565b915062004ae2606086016200468a565b905092959194509250565b6000806040838503121562004b0157600080fd5b823562004b0e8162004674565b915060208301356001600160401b0381111562004b2a57600080fd5b8301601f8101851362004b3c57600080fd5b62004b4d8582356020840162004881565b9150509250929050565b60006080828403121562004b6a57600080fd5b604051608081016001600160401b038111828210171562004b8f5762004b8f62004772565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b8035600381106200469757600080fd5b60048110620011d057600080fd5b8035620046978162004bd0565b60006020828403121562004bfe57600080fd5b604051602081016001600160401b038111828210171562004c235762004c2362004772565b6040529135825250919050565b600060c0828403121562004c4357600080fd5b62004c4d620047d9565b9050813562004c5c8162004674565b8152602082013562004c6e8162004674565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b60006101e0828403121562004cb757600080fd5b60405160e081016001600160401b038111828210171562004cdc5762004cdc62004772565b60405290508062004cee848462004b57565b815262004cfe6080840162004bc0565b602082015260a083013562004d138162004bd0565b604082015262004d278460c0850162004beb565b606082015262004d3b8460e0850162004c30565b60808201526101a083013562004d518162004674565b60a082015262004d656101c084016200468a565b60c08201525092915050565b6000806000610220848603121562004d8857600080fd5b833562004d958162004674565b925062004da6856020860162004ca3565b91506102008401356001600160401b0381111562004dc357600080fd5b62004dd186828701620048e7565b9150509250925092565b60006001600160401b0382111562004df75762004df762004772565b5060051b60200190565b600082601f83011262004e1357600080fd5b8135602062004e26620048928362004ddb565b82815260059290921b8401810191818101908684111562004e4657600080fd5b8286015b8481101562004e6e57803562004e608162004674565b835291830191830162004e4a565b509695505050505050565b6000610200828403121562004e8d57600080fd5b62004e97620047fe565b905062004ea5838362004b57565b815262004eb56080830162004bc0565b602082015262004ec860a0830162004bde565b604082015262004edc8360c0840162004beb565b606082015262004ef08360e0840162004c30565b608082015262004f046101a083016200468a565b60a082015262004f186101c083016200468a565b60c08201526101e08201356001600160401b0381111562004f3857600080fd5b62004f468482850162004e01565b60e08301525092915050565b60008060006060848603121562004f6857600080fd5b833562004f758162004674565b925060208401356001600160401b038082111562004f9257600080fd5b62004fa08783880162004e79565b9350604086013591508082111562004fb757600080fd5b5062004dd186828701620048e7565b6000806000806080858703121562004fdd57600080fd5b843562004fea8162004674565b9350602085013562004ffc8162004674565b925060408501356001600160401b03808211156200501957600080fd5b620050278883890162004e79565b935060608701359150808211156200503e57600080fd5b506200504d87828801620048e7565b91505092959194509250565b60005b83811015620050765781810151838201526020016200505c565b50506000910152565b600081518084526200509981602086016020860162005059565b601f01601f19169290920160200192915050565b60208152600062001fde60208301846200507f565b6000806000806102408587031215620050da57600080fd5b8435620050e78162004674565b93506020850135620050f98162004674565b92506200510a866040870162004ca3565b91506102208501356001600160401b038111156200512757600080fd5b6200504d87828801620048e7565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000dbc5762000dbc62005135565b634e487b7160e01b600052602160045260246000fd5b6000602082840312156200518e57600080fd5b815162001fde8162004bd0565b6001600160a01b03929092168252602082015260400190565b600060208284031215620051c757600080fd5b5051919050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0392831681529116602082015260400190565b6000826200522a57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000dbc5762000dbc62005135565b600181811c908216806200525a57607f821691505b6020821081036200527b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200148557600081815260208120601f850160051c81016020861015620052aa5750805b601f850160051c820191505b81811015620052cb57828155600101620052b6565b505050505050565b81516001600160401b03811115620052ef57620052ef62004772565b620053078162005300845462005245565b8462005281565b602080601f8311600181146200533f5760008415620053265750858301515b600019600386901b1c1916600185901b178555620052cb565b600085815260208120601f198616915b8281101562005370578886015182559484019460019091019084016200534f565b50858210156200538f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620053b257600080fd5b815162001fde8162004674565b634e487b7160e01b600052603260045260246000fd5b60006020808385031215620053e957600080fd5b82516001600160401b038111156200540057600080fd5b8301601f810185136200541257600080fd5b805162005423620048928262004ddb565b81815260059190911b820183019083810190878311156200544357600080fd5b928401925b82841015620041315783516200545e8162004674565b8252928401929084019062005448565b60006001820162005483576200548362005135565b5060010190565b8181038181111562000dbc5762000dbc62005135565b60008154620054af8162005245565b808552602060018381168015620054cf5760018114620054ea576200551a565b60ff1985168884015283151560051b8801830195506200551a565b866000528260002060005b85811015620055125781548a8201860152908301908401620054f5565b890184019650505b505050505092915050565b8051825260006020820151604060208501526200431960408501826200507f565b600081518084526020808501945080840160005b83811015620055815781516001600160a01b0316875295820195908201906001016200555a565b509495945050505050565b85815260a060208201526000620055a760a0830187620054a0565b8281036040840152620055bb818762005525565b6001600160a01b038616606085015283810360808501529050620055e0818562005546565b98975050505050505050565b838152606060208201526000620056076060830185620054a0565b8281036040840152620044d7818562005525565b6020808252602c908201526000805160206200614883398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206200614883398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6810531313d5d31254d560ba1b8152600981019190915260290190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b038316815260406020820181905260009062004319908301846200507f565b6e20a62627aba624a9aa2fa0a226a4a760891b8152600f810191909152602f0190565b634e487b7160e01b600052603160045260246000fd5b600060208083850312156200574457600080fd5b82516001600160401b03808211156200575c57600080fd5b9084019060c082870312156200577157600080fd5b6200577b620047d9565b82518152838301516200578e8162004674565b818501526040830151620057a28162004674565b6040820152606083015182811115620057ba57600080fd5b830160408189031215620057cd57600080fd5b620057d762004788565b815181528582015184811115620057ed57600080fd5b82019350601f840189136200580157600080fd5b8351915062005814620048928362004857565b82815289878487010111156200582957600080fd5b6200583a8388830189880162005059565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b805182526020810151602083015260408101516040830152606081015160608301525050565b600381106200589f576200589f62005165565b9052565b600481106200589f576200589f62005165565b80516001600160a01b0390811683526020808301519091169083015260408082015190830152606080820151908301526080808201519083015260a090810151910152565b602081526200590f60208201835162005866565b600060208301516200592560a08401826200588c565b5060408301516200593a60c0840182620058a3565b5060608301515160e083015260808301516200595b610100840182620058b6565b5060a0830151620059716101c084018262004729565b5060c0830151620059876101e084018262004729565b5060e0830151610200838101526200431961022084018262005546565b878152600060018060a01b03808916602084015260e06040840152620059ce60e08401896200507f565b818816606085015286608085015283810360a0850152620059f0818762005525565b91505082810360c084015262005a07818562005546565b9a9950505050505050505050565b8581526001600160a01b03858116602083015284811660408301528316606082015260a060808201819052600090620041319083018462005525565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006101e08201905062005ab282845162005866565b602083015162005ac660808401826200588c565b50604083015162005adb60a0840182620058a3565b5060608301515160c0830152608083015162005afb60e0840182620058b6565b5060a08301516001600160a01b039081166101a084015260c0909301519092166101c09091015290565b60408152600062005b3a60408301856200507f565b90508260208301529392505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81526000835162005b7d81601785016020880162005059565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835162005bb081602884016020880162005059565b01602801949350505050565b60006020828403121562005bcf57600080fd5b815162001fde816200493e565b60008162005bee5762005bee62005135565b506000190190565b6000825162005c0a81846020870162005059565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212206e93027ee8ff60c4973ac058d4e8a46f5d5981513eccfc75ff619ec5718959a664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656403be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa4772616e74696e6720726f6c65207769746820706f6f6c20696420696e2072656769737472793a46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e28c12d767b3bea1fd08a5c25c029db44202b7632cee5dceb1a4d2cc2c84ebaf64736f6c63430008130033","sourceMap":"340:2327:108:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3050:213:43;;;;;;;;;;-1:-1:-1;3050:213:43;;;;;:::i;:::-;;:::i;:::-;;;470:14:126;;463:22;445:41;;433:2;418:18;3050:213:43;;;;;;;;23947:115:107;;;;;;;;;;-1:-1:-1;24036:19:107;;23947:115;;;643:25:126;;;631:2;616:18;23947:115:107;497:177:126;5910:24:107;;;;;;;;;;;;;;;;24264:288;;;;;;;;;;-1:-1:-1;24264:288:107;;;;;:::i;:::-;;:::i;:::-;;13996:1200;;;;;;;;;;-1:-1:-1;13996:1200:107;;;;;:::i;:::-;;:::i;20564:128::-;;;;;;;;;;-1:-1:-1;20564:128:107;;;;;:::i;:::-;;:::i;9899:110::-;;;;;;;;;;-1:-1:-1;9899:110:107;;;;;:::i;:::-;;:::i;5991:25::-;;;;;;;;;;-1:-1:-1;5991:25:107;;;;;;;;19729:128;;;;;;;;;;-1:-1:-1;19729:128:107;;;;;:::i;:::-;;:::i;15202:699::-;;;;;;;;;;-1:-1:-1;15202:699:107;;;;;:::i;:::-;;:::i;4855:129:43:-;;;;;;;;;;-1:-1:-1;4855:129:43;;;;;:::i;:::-;;:::i;23464:477:107:-;;;;;;;;;;;;;:::i;7547:82::-;;;;;;;;;;-1:-1:-1;7547:82:107;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;19245:151::-;;;;;;;;;;-1:-1:-1;19245:151:107;;;;;:::i;:::-;-1:-1:-1;;;;;19348:28:107;19322:7;19348:28;;;:19;:28;;;;;:41;;;;19245:151;5280:145:43;;;;;;;;;;-1:-1:-1;5280:145:43;;;;;:::i;:::-;;:::i;24068:190:107:-;;;;;;;;;;-1:-1:-1;24068:190:107;;;;;:::i;:::-;;:::i;5811:25::-;;;;;;;;;;;;;;;;10289:2496;;;;;;;;;;-1:-1:-1;10289:2496:107;;;;;:::i;:::-;;:::i;21526:1932::-;;;;;;;;;;;;;:::i;6389:214:43:-;;;;;;;;;;-1:-1:-1;6389:214:43;;;;;:::i;:::-;;:::i;3143:195:64:-;;;;;;;;;;-1:-1:-1;3143:195:64;;;;;:::i;:::-;;:::i;20698:248:107:-;;;;;;;;;;-1:-1:-1;20698:248:107;;;;;:::i;:::-;;:::i;7082:68::-;;;;;;;;;;-1:-1:-1;7082:68:107;;;;;:::i;:::-;;;;;;;;;;;;;;;;402:190:108;;;;;;;;;;-1:-1:-1;402:190:108;;;;;:::i;:::-;;:::i;7707:107:107:-;;;;;;;;;;-1:-1:-1;7707:107:107;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;3657:220:64;;;;;;:::i;:::-;;:::i;12791:532:107:-;;;;;;;;;;-1:-1:-1;12791:532:107;;;;;:::i;:::-;;:::i;:::-;;;;12746:25:126;;;-1:-1:-1;;;;;12807:32:126;;;12802:2;12787:18;;12780:60;12719:18;12791:532:107;12572:274:126;2762:131:64;;;;;;;;;;;;;:::i;16346:1009:107:-;;;;;;;;;;-1:-1:-1;16346:1009:107;;;;;:::i;:::-;;:::i;598:1399:108:-;;;;;;;;;;-1:-1:-1;598:1399:108;;;;;:::i;:::-;;:::i;6361:31:107:-;;;;;;;;;;-1:-1:-1;6361:31:107;;;;-1:-1:-1;;;;;6361:31:107;;;17498:1562;;;;;;;;;;-1:-1:-1;17498:1562:107;;;;;:::i;:::-;;:::i;7218:98::-;;;;;;;;;;-1:-1:-1;7218:98:107;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;25685:583;;;;;;;;;;-1:-1:-1;25685:583:107;;;;;:::i;:::-;;:::i;6460:41::-;;;;;;;;;;-1:-1:-1;6460:41:107;;;;-1:-1:-1;;;;;6460:41:107;;;6720:24;;;;;;;;;;-1:-1:-1;6720:24:107;;;;-1:-1:-1;;;;;6720:24:107;;;2085:101:45;;;;;;;;;;;;;:::i;20121:237:107:-;;;;;;;;;;-1:-1:-1;20121:237:107;;;;;:::i;:::-;;:::i;8148:68::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8148:68:107;;6264:38;;;;;;;;;;-1:-1:-1;6264:38:107;;;;-1:-1:-1;;;;;6264:38:107;;;19066:173;;;;;;;;;;-1:-1:-1;19066:173:107;;;;;:::i;:::-;-1:-1:-1;;;;;19191:30:107;;;19165:7;19191:30;;;:21;:30;;;;;;;;:41;;;;;;;;;;;;;19066:173;5606:34;;;;;;;;;;;;;;;;6551:25;;;;;;;;;;-1:-1:-1;6551:25:107;;;;-1:-1:-1;;;;;6551:25:107;;;19402:321;;;;;;;;;;-1:-1:-1;19402:321:107;;;;;:::i;:::-;;:::i;2003:662:108:-;;;;;;;;;;-1:-1:-1;2003:662:108;;;;;:::i;:::-;;:::i;7416:60:107:-;;;;;;;;;;-1:-1:-1;7416:60:107;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7416:60:107;;;;;;;;;;;;;-1:-1:-1;;;;;17304:32:126;;;17286:51;;17368:2;17353:18;;17346:34;;;;17423:14;17416:22;17396:18;;;17389:50;17274:2;17259:18;7416:60:107;17090:355:126;5717:27:107;;;;;;;;;;;;;;;;525:604:105;;;;;;;;;;;;;:::i;3350:145:43:-;;;;;;;;;;-1:-1:-1;3350:145:43;;;;;:::i;:::-;;:::i;5190:75:107:-;;;;;;;;;;;;5223:42;5190:75;;2320:49:43;;;;;;;;;;-1:-1:-1;2320:49:43;2365:4;2320:49;;21330:190:107;;;;;;;;;;-1:-1:-1;21330:190:107;;;;;:::i;:::-;;:::i;10015:124::-;;;;;;;;;;-1:-1:-1;10015:124:107;;;;;:::i;:::-;;:::i;6083:26::-;;;;;;;;;;-1:-1:-1;6083:26:107;;;;;;;-1:-1:-1;;;;;6083:26:107;;;21145:179;;;;;;;;;;;;;:::i;6936:30::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;24734:465::-;;;;;;;;;;;;;:::i;5479:54::-;;;;;;;;;;;;;:::i;404:115:105:-;;;;;;;;;;-1:-1:-1;404:115:105;;;;;:::i;:::-;;:::i;6851:27:107:-;;;;;;;;;;;;;:::i;5705:147:43:-;;;;;;;;;;-1:-1:-1;5705:147:43;;;;;:::i;:::-;;:::i;6792:17:107:-;;;;;;;;;;-1:-1:-1;6792:17:107;;;;-1:-1:-1;;;;;6792:17:107;;;5355:49;;;;;;;;;;;;5397:7;5355:49;;6639:25;;;;;;;;;;-1:-1:-1;6639:25:107;;;;-1:-1:-1;;;;;6639:25:107;;;13329:661;;;;;;;;;;-1:-1:-1;13329:661:107;;;;;:::i;:::-;;:::i;24595:133::-;;;;;;;;;;-1:-1:-1;24595:133:107;;;;;:::i;:::-;;:::i;2335:198:45:-;;;;;;;;;;-1:-1:-1;2335:198:45;;;;;:::i;:::-;;:::i;6167:30:107:-;;;;;;;;;;-1:-1:-1;6167:30:107;;;;-1:-1:-1;;;;;6167:30:107;;;5066:38;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5066:38:107;;;;;3050:213:43;3135:4;-1:-1:-1;;;;;;3158:58:43;;-1:-1:-1;;;3158:58:43;;:98;;-1:-1:-1;;;;;;;;;;1189:51:53;;;3220:36:43;3151:105;3050:213;-1:-1:-1;;3050:213:43:o;24264:288:107:-;24340:17;:15;:17::i;:::-;5513:20;5397:7;5513:2;:20;:::i;:::-;24371:16;:26;24367:86;;;24420:22;;-1:-1:-1;;;24420:22:107;;;;;;;;;;;24367:86;24462:12;:31;;;24508:37;;643:25:126;;;24508:37:107;;631:2:126;616:18;24508:37:107;;;;;;;;24264:288;:::o;13996:1200::-;2526:21:48;:19;:21::i;:::-;14104:34:107::1;14130:7;14104:25;:34::i;:::-;14148:30;14168:9;14148:19;:30::i;:::-;14188:29;14207:9;14188:18;:29::i;:::-;-1:-1:-1::0;;;;;14232:36:107;;::::1;;::::0;;;:27:::1;:36;::::0;;;;;;;:47;;::::1;::::0;;;;;;;::::1;;14228:107;;;14302:22;;-1:-1:-1::0;;;14302:22:107::1;;;;;;;;;;;14228:107;-1:-1:-1::0;;;;;14368:28:107;;::::1;14345:20;14368:28:::0;;;:19:::1;:28;::::0;;;;;;;;14345:51;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;;::::0;::::1;;;;::::0;;;;;;;14491:19:::1;::::0;14571:36:::1;14540:9;-1:-1:-1::0;;;;;14525:40:107::1;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:82;;;;;;;;:::i;:::-;::::0;14521:384:::1;;14642:51;::::0;-1:-1:-1;;;14642:51:107;;-1:-1:-1;;;;;14642:39:107;::::1;::::0;::::1;::::0;:51:::1;::::0;14682:7;;14691:1:::1;::::0;14642:51:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14623:70;;14521:384;;;14760:32;14729:9;-1:-1:-1::0;;;;;14714:40:107::1;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:78;;;;;;;;:::i;:::-;;14710:195;;14827:67;::::0;-1:-1:-1;;;14827:67:107;;-1:-1:-1;;;;;14827:39:107;::::1;::::0;::::1;::::0;:67:::1;::::0;14867:7;;14876:17;;14827:67:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14808:86;;14710:195;-1:-1:-1::0;;;;;14915:30:107;;::::1;;::::0;;;:21:::1;:30;::::0;;;;;;;:41;;::::1;::::0;;;;;;;;;:60;;;15004:36;;;:27:::1;:36:::0;;;;;:47;;;;;;;;:54;;-1:-1:-1;;15004:54:107::1;15054:4;15004:54:::0;;::::1;::::0;;;15069:27;;;:18:::1;:27:::0;;;;;:43;;;;::::1;::::0;;;;;;;;::::1;::::0;;-1:-1:-1;;;;;;15069:43:107::1;::::0;;::::1;::::0;;;15128:61;::::1;::::0;::::1;::::0;14937:7;;14946:9;;14959:16;;15128:61:::1;:::i;:::-;;;;;;;;14094:1102;;;2568:20:48::0;1808:1;3074:7;:22;2894:209;2568:20;13996:1200:107;;:::o;20564:128::-;20632:17;:15;:17::i;:::-;20659:26;20675:9;20659:15;:26::i;:::-;20564:128;:::o;9899:110::-;1355:13:45;:11;:13::i;:::-;9975:16:107::1;:27:::0;;-1:-1:-1;;;;;;9975:27:107::1;-1:-1:-1::0;;;;;9975:27:107;;;::::1;::::0;;;::::1;::::0;;9899:110::o;19729:128::-;19797:17;:15;:17::i;:::-;19824:26;19837:12;19824;:26::i;15202:699::-;15299:34;15325:7;15299:25;:34::i;:::-;15343:29;15362:9;15343:18;:29::i;:::-;15382:42;15402:10;15414:9;15382:19;:42::i;:::-;-1:-1:-1;;;;;15440:36:107;;;;;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;15435:110;;15510:24;;-1:-1:-1;;;15510:24:107;;;;;;;;;;;15435:110;-1:-1:-1;;;;;15555:36:107;;;15605:5;15555:36;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;:55;;-1:-1:-1;;15555:55:107;;;15620:30;;;:21;:30;;;;;:41;;;;;;;;;:45;15675:44;15583:7;15592:9;15675:24;:44::i;:::-;15849:45;15875:7;15884:9;15849:45;;;;;;;:::i;:::-;;;;;;;;15202:699;;:::o;4855:129:43:-;4929:7;4955:12;;;:6;:12;;;;;:22;;;;4855:129::o;23464:477:107:-;23597:15;;23527:7;;-1:-1:-1;;;;;23597:15:107;23527:7;23692:21;5397:7;23692:3;:21;:::i;:::-;23675:12;;23653:19;;:34;;;;:::i;:::-;23652:62;;;;:::i;:::-;23623:91;-1:-1:-1;23724:24:107;23835:21;5397:7;23835:3;:21;:::i;:::-;23786:44;;-1:-1:-1;;;23786:44:107;;-1:-1:-1;;;;;23786:29:107;;;;;:44;;23824:4;;23786:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23764:19;;:66;;;;:::i;:::-;23763:94;;;;:::i;:::-;23724:133;;23918:16;23897:18;23875:19;;:40;;;;:::i;:::-;:59;;;;:::i;:::-;23868:66;;;;;23464:477;:::o;7547:82::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7547:82:107;;-1:-1:-1;7547:82:107;;-1:-1:-1;7547:82:107:o;5280:145:43:-;5363:18;5376:4;5363:12;:18::i;:::-;2798:16;2809:4;2798:10;:16::i;:::-;5393:25:::1;5404:4;5410:7;5393:10;:25::i;:::-;5280:145:::0;;;:::o;24068:190:107:-;24145:17;:15;:17::i;:::-;24172:19;:32;;;24219;;643:25:126;;;24219:32:107;;631:2:126;616:18;24219:32:107;497:177:126;10289:2496:107;3279:19:47;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:47;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;;3388:44;3426:4;3388:29;:44::i;:::-;3387:45;:66;;;;-1:-1:-1;3436:12:47;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:47;;22134:2:126;3325:201:47;;;22116:21:126;22173:2;22153:18;;;22146:30;22212:34;22192:18;;;22185:62;-1:-1:-1;;;22263:18:126;;;22256:44;22317:19;;3325:201:47;;;;;;;;;3536:12;:16;;-1:-1:-1;;3536:16:47;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:47;;;;;3562:65;10506:23:107::1;10523:5;10506:16;:23::i;:::-;10539:24;:22;:24::i;:::-;10573:22;:20;:22::i;:::-;10606:49;-1:-1:-1::0;;;;;;;;;;;2365:4:43::1;10606:13:107;:49::i;:::-;10666:48;10693:6;:19;;;10666:18;:48::i;:::-;10724:39;10743:6;:19;;;10724:18;:39::i;:::-;10792:12:::0;;10773:32:::1;::::0;:18:::1;:32::i;:::-;10815:43;10834:6;:23;;;10815:18;:43::i;:::-;10873:20;::::0;::::1;::::0;:25;10869:95:::1;;10914:39;10933:6;:19;;;10914:18;:39::i;:::-;10986:12:::0;;10973:4:::1;:26:::0;;-1:-1:-1;;;;;10973:26:107;;::::1;-1:-1:-1::0;;;;;;10973:26:107;;::::1;;::::0;;;11023:19:::1;::::0;::::1;::::0;11009:11:::1;:33:::0;;;;;::::1;::::0;::::1;;::::0;;11056:27:::1;::::0;::::1;::::0;10986:12:::1;11056:32:::0;11052:89:::1;;11111:19;;-1:-1:-1::0;;;11111:19:107::1;;;;;;;;;;;11052:89;11172:27;::::0;::::1;::::0;11150:19:::1;:49:::0;11224:20:::1;::::0;::::1;::::0;11209:12:::1;:35:::0;11270:21:::1;::::0;::::1;::::0;11254:13:::1;:37:::0;;-1:-1:-1;;11254:37:107::1;::::0;::::1;;::::0;;;::::1;::::0;;11317:21:::1;::::0;::::1;::::0;11301:13:::1;::::0;:37:::1;::::0;:13;:37:::1;:::i;:::-;-1:-1:-1::0;11367:23:107::1;::::0;::::1;::::0;11348:16:::1;::::0;:42:::1;::::0;:16;:42:::1;:::i;:::-;-1:-1:-1::0;11419:23:107::1;::::0;::::1;::::0;11401:15:::1;:41:::0;;-1:-1:-1;;;;;;11401:41:107;;::::1;-1:-1:-1::0;;;;;11401:41:107;;::::1;;::::0;;11466:19:::1;::::0;::::1;::::0;11452:11:::1;:33:::0;;-1:-1:-1;;;;;;11452:33:107::1;::::0;;::::1;::::0;::::1;::::0;;;::::1;::::0;;11515:19;;::::1;::::0;11495:11:::1;:40:::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;11546:47:::1;::::0;-1:-1:-1;;;;;;;;;;;8189:27:107;11546:10:::1;:47::i;:::-;11625:4;;;;;;;;;-1:-1:-1::0;;;;;11625:4:107::1;-1:-1:-1::0;;;;;11625:16:107::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11604:8;:40:::0;;-1:-1:-1;;;;;;11604:40:107::1;-1:-1:-1::0;;;;;11604:40:107;;::::1;;::::0;;11751:11:::1;::::0;11655:36:::1;::::0;11751:11:::1;11743:32;-1:-1:-1::0;11743:37:107;11739:427:::1;;11818:16;::::0;;11832:1:::1;11818:16:::0;;;;;::::1;::::0;;;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11818:16:107::1;11796:38;;11873:10;11848:19;11868:1;11848:22;;;;;;;;:::i;:::-;;;;;;:35;-1:-1:-1::0;;;;;11848:35:107::1;;;-1:-1:-1::0;;;;;11848:35:107::1;;;::::0;::::1;11739:427;;;11940:11;::::0;:23:::1;::::0;;-1:-1:-1;;;11940:23:107;;;;11914::::1;::::0;-1:-1:-1;;;;;11940:11:107::1;::::0;:21:::1;::::0;:23:::1;::::0;;::::1;::::0;11914;;11940;;;;;;;:11;:23:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;11940:23:107::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;11914:49;;12013:6;:13;12029:1;12013:17;;;;:::i;:::-;-1:-1:-1::0;;;;;11999:32:107::1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;-1:-1:-1;11999:32:107::1;;11977:54;;12050:9;12045:111;12069:6;:13;12065:1;:17;12045:111;;;12132:6;12139:1;12132:9;;;;;;;;:::i;:::-;;;;;;;12107:19;12127:1;12107:22;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12107:34:107;;::::1;:22;::::0;;::::1;::::0;;;;;;;:34;12084:3;::::1;::::0;::::1;:::i;:::-;;;;12045:111;;;;11900:266;11739:427;12238:11;::::0;12196:26;;-1:-1:-1;;;;;12238:11:107;;::::1;::::0;12176:19;;12196:30:::1;::::0;12238:11;;12196:30:::1;:::i;:::-;12176:51;;;;;;;;:::i;:::-;;;;;;:74;-1:-1:-1::0;;;;;12176:74:107::1;;;-1:-1:-1::0;;;;;12176:74:107::1;;;::::0;::::1;12322:4;12260:19;12309:1;12280:19;:26;:30;;;;:::i;:::-;12260:51;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12260:67:107;;::::1;:51;::::0;;::::1;::::0;;;;;:67;12439:8:::1;::::0;12462:13:::1;::::0;::::1;::::0;12492:16:::1;::::0;::::1;::::0;12439:106:::1;::::0;-1:-1:-1;;;12439:106:107;;:8;;;::::1;::::0;:22:::1;::::0;:106:::1;::::0;12462:13;12477::::1;::::0;12518:4:::1;::::0;12525:19;;12439:106:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12415:9;:130:::0;12556:36;;::::1;::::0;:14:::1;::::0;:36:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;12603:16:107::1;:36:::0;;-1:-1:-1;;;;;12603:36:107;;::::1;-1:-1:-1::0;;;;;;12603:36:107;;::::1;;::::0;;;12649:23:::1;:50:::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;12735:9:::1;::::0;12761:16:::1;::::0;::::1;::::0;12715:63:::1;::::0;::::1;::::0;::::1;::::0;12735:9;;12746:13:::1;::::0;12761:16;12715:63:::1;:::i;:::-;;;;;;;;10496:2289;3651:14:47::0;3647:99;;;3697:5;3681:21;;-1:-1:-1;;3681:21:47;;;3721:14;;-1:-1:-1;29713:36:126;;3721:14:47;;29701:2:126;29686:18;3721:14:47;;;;;;;3647:99;3269:483;10289:2496:107;;;;:::o;21526:1932::-;2526:21:48;:19;:21::i;:::-;21616:10:107::1;21598:15;21663:28:::0;;;:19:::1;:28;::::0;;;;21752:15:::1;::::0;21663:28;;-1:-1:-1;;;;;21752:15:107;;::::1;::::0;21847:21:::1;5397:7;21847:3;:21;:::i;:::-;21830:12;;21808:19;;:34;;;;:::i;:::-;21807:62;;;;:::i;:::-;21778:91:::0;-1:-1:-1;21879:24:107::1;21990:21;5397:7;21990:3;:21;:::i;:::-;21941:44;::::0;-1:-1:-1;;;21941:44:107;;-1:-1:-1;;;;;21941:29:107;::::1;::::0;::::1;::::0;:44:::1;::::0;21979:4:::1;::::0;21941:44:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21919:19;;:66;;;;:::i;:::-;21918:94;;;;:::i;:::-;21879:133;;22027:17;22036:7;22027:8;:17::i;:::-;22022:1430;;22060:22;::::0;::::1;:29:::0;;-1:-1:-1;;22060:29:107::1;22085:4;22060:29:::0;;::::1;::::0;;;22129:19:::1;::::0;22104:22;;::::1;:44:::0;;;22300:143:::1;::::0;22346:7;;22363:4:::1;::::0;22413:16;;22370:40:::1;::::0;22392:18;;22370:40:::1;:::i;:::-;:59;;;;:::i;:::-;22300:11;::::0;-1:-1:-1;;;;;22300:11:107::1;::::0;:143;;:28:::1;:143::i;:::-;22868:22:::0;;22864:178:::1;;22995:11;::::0;22970::::1;::::0;:57:::1;::::0;-1:-1:-1;;;;;22970:11:107;;::::1;::::0;22995::::1;::::0;;::::1;;23008:18:::0;22970:24:::1;:57::i;:::-;23125:20:::0;;23121:255:::1;;23279:82;23304:14;-1:-1:-1::0;;;;;23304:36:107::1;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23279:11;::::0;-1:-1:-1;;;;;23279:11:107::1;::::0;23344:16;23279:24:::1;:82::i;:::-;23395:46;23412:7;23421:19;;23395:46;;;;;;;:::i;:::-;;;;;;;;22022:1430;21588:1870;;;;;2568:20:48::0;1808:1;3074:7;:22;2894:209;2568:20;21526:1932:107:o;6389:214:43:-;-1:-1:-1;;;;;6484:23:43;;965:10:51;6484:23:43;6476:83;;;;-1:-1:-1;;;6476:83:43;;29962:2:126;6476:83:43;;;29944:21:126;30001:2;29981:18;;;29974:30;30040:34;30020:18;;;30013:62;-1:-1:-1;;;30091:18:126;;;30084:45;30146:19;;6476:83:43;29760:411:126;6476:83:43;6570:26;6582:4;6588:7;6570:11;:26::i;3143:195:64:-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3224:36:::1;3242:17;3224;:36::i;:::-;3311:12;::::0;;3321:1:::1;3311:12:::0;;;::::1;::::0;::::1;::::0;;;3270:61:::1;::::0;3292:17;;3311:12;3270:21:::1;:61::i;20698:248:107:-:0;20770:17;:15;:17::i;:::-;20797:25;20816:5;20797:18;:25::i;:::-;20832:18;:26;;-1:-1:-1;;;;;;20832:26:107;-1:-1:-1;;;;;20832:26:107;;;;;;;;;20906:11;;20873:66;;;;;;20906:11;;;20832:26;20873:66;:::i;402:190:108:-;494:4;517:68;565:7;535:38;;;;;;;;:::i;:::-;;;;;;;;;;;;;525:49;;;;;;576:8;517:7;:68::i;:::-;510:75;402:190;-1:-1:-1;;;402:190:108:o;3657:220:64:-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3772:36:::1;3790:17;3772;:36::i;:::-;3818:52;3840:17;3859:4;3865;3818:21;:52::i;12791:532:107:-:0;13085:16;;13181:4;;13188:23;;12950:14;;;;;;-1:-1:-1;;;;;13085:16:107;;;;-1:-1:-1;;;13143:28:107;13181:4;;;13188:23;13213:7;:5;:7::i;:::-;13120:101;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;13120:101:107;;;;;;;;;;;;;;-1:-1:-1;;;;;13120:101:107;-1:-1:-1;;;;;;13120:101:107;;;;;;;;;;13043:192;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;12998:247;;13263:53;13274:13;13289:6;13297:7;13306:9;13263:10;:53::i;:::-;13256:60;;;;;12791:532;;;;;;:::o;2762:131:64:-;2840:7;2080:4;-1:-1:-1;;;;;2089:6:64;2072:23;;2064:92;;;;-1:-1:-1;;;2064:92:64;;32559:2:126;2064:92:64;;;32541:21:126;32598:2;32578:18;;;32571:30;32637:34;32617:18;;;32610:62;-1:-1:-1;;;32688:18:126;;;32681:54;32752:19;;2064:92:64;32357:420:126;2064:92:64;-1:-1:-1;;;;;;;;;;;;2762:131:64;:::o;16346:1009:107:-;2526:21:48;:19;:21::i;:::-;16430:26:107::1;:24;:26::i;:::-;16483:10;16466:14;16539:26:::0;;;:18:::1;:26;::::0;;;;;;;16503:62;;;;;;::::1;::::0;;;;;;;;;;;;16539:26;;16503:62;;::::1;16539:26:::0;16503:62;;::::1;;;;;;;;;;;;;;;;::::0;;-1:-1:-1;;;;;16503:62:107::1;::::0;;;;;::::1;::::0;::::1;;::::0;;::::1;;;;;;;;;;;16576:24;16616:9:::0;16628:1:::1;16616:13;;16611:536;16635:16;:23;16631:1;:27;16611:536;;;16818:16;16835:1;16818:19;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;16803:49:107::1;;16853:6;16861:13;16803:72;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16784:91:::0;-1:-1:-1;16893:21:107;;16889:232:::1;;-1:-1:-1::0;;;;;16934:29:107;::::1;;::::0;;;:21:::1;:29;::::0;;;;16964:19;;16988:16;;16934:29;16964:16;;16981:1;;16964:19;::::1;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;16934:50:107::1;-1:-1:-1::0;;;;;16934:50:107::1;;;;;;;;;;;;;:70;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;16889:232:107::1;16660:3:::0;::::1;::::0;::::1;:::i;:::-;;;;16611:536;;;-1:-1:-1::0;17157:11:107::1;::::0;:66:::1;::::0;-1:-1:-1;;;;;17157:11:107::1;17186:6:::0;17202:4:::1;17209:13:::0;17157:28:::1;:66::i;:::-;-1:-1:-1::0;;;;;17233:27:107;::::1;;::::0;;;:19:::1;:27;::::0;;;;:40:::1;;:57:::0;;17277:13;;17233:27;:57:::1;::::0;17277:13;;17233:57:::1;:::i;:::-;::::0;;;-1:-1:-1;;17305:43:107::1;::::0;::::1;::::0;::::1;::::0;17326:6;;17334:13;;17305:43:::1;:::i;:::-;;;;;;;;16420:935;;;2568:20:48::0;1808:1;3074:7;:22;2894:209;598:1399:108;893:16;;989:4;;996:23;;758:14;;;;;;-1:-1:-1;;;;;893:16:108;;;;-1:-1:-1;;;951:28:108;989:4;;;996:23;1021:7;:5;:7::i;:::-;928:101;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;928:101:108;;;;;;;;;;;;;;-1:-1:-1;;;;;928:101:108;-1:-1:-1;;;;;;928:101:108;;;;;;;;;;851:192;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;806:247;;1084:53;1095:13;1110:6;1118:7;1127:9;1084:10;:53::i;:::-;1160:19;;;;1063:74;;-1:-1:-1;1063:74:108;-1:-1:-1;;;;;;1152:42:108;1148:534;;1248:4;1214:7;:24;;;:31;:38;1210:134;;;1272:57;;-1:-1:-1;;;1272:57:108;;32984:2:126;1272:57:108;;;32966:21:126;33023:2;33003:18;;;32996:30;33062:34;33042:18;;;33035:62;-1:-1:-1;;;33113:18:126;;;33106:45;33168:19;;1272:57:108;32782:411:126;1210:134:108;1357:21;1421:6;1391:37;;;;;;;;:::i;:::-;;;;;;;;;;;;;1381:48;;;;;;1357:72;;1448:9;1443:229;1467:7;:24;;;:31;1463:1;:35;1443:229;;;1523:62;;;;;;;;;;;;;;;;;;1578:6;1523:11;:62::i;:::-;1603:54;1614:13;1629:7;:24;;;1654:1;1629:27;;;;;;;;:::i;:::-;;;;;;;1603:10;:54::i;:::-;1500:3;;;;:::i;:::-;;;;1443:229;;;;1196:486;1148:534;1763:141;1830:6;1800:37;;;;;;;;:::i;:::-;;;;;;;;;;;;;1790:48;;;;;;1886:6;1850:43;;;;;;;;:::i;:::-;;;;;;;;;;;;;1840:54;;;;;;1763:13;:141::i;:::-;1914:76;1971:6;1935:43;;;;;;;;:::i;:::-;;;;;;;;;;;;;1925:54;;;;;;1981:8;1914:10;:76::i;:::-;796:1201;598:1399;;;;;;:::o;17498:1562:107:-;2526:21:48;:19;:21::i;:::-;17584:26:107::1;:24;:26::i;:::-;17637:10;17620:14;17694:26:::0;;;:18:::1;:26;::::0;;;;;;;17831:19:::1;::::0;17770::::1;:27:::0;;;;;;:40:::1;;::::0;17694:26;;17620:14;17831:19;17770:58:::1;::::0;17813:15;;17770:58:::1;:::i;:::-;:80;17766:140;;;17873:22;;-1:-1:-1::0;;;17873:22:107::1;;;;;;;;;;;17766:140;17915:11;::::0;:49:::1;::::0;-1:-1:-1;;;;;17915:11:107::1;17940:6:::0;17948:15;17915:24:::1;:49::i;:::-;17979:9;17974:951;17998:23:::0;;17994:27;::::1;17974:951;;;18042:16;18061;18078:1;18061:19;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;18061:19:107::1;::::0;-1:-1:-1;18098:60:107::1;18061:19:::0;-1:-1:-1;;;18098:26:107::1;:60::i;:::-;18094:804;;;18197:63;::::0;-1:-1:-1;;;18197:63:107;;-1:-1:-1;;;;;18197:38:107;::::1;::::0;::::1;::::0;:63:::1;::::0;18236:6;;18244:15;;18197:63:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18178:82;;18278:20;18301:21;:29;18323:6;-1:-1:-1::0;;;;;18301:29:107::1;-1:-1:-1::0;;;;;18301:29:107::1;;;;;;;;;;;;:50;18331:16;18348:1;18331:19;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;::::1;::::0;-1:-1:-1;;;;;18331:19:107::1;18301:50:::0;;;::::1;::::0;;;;;;;;;;-1:-1:-1;18373:31:107;;::::1;18369:259;;;18435:57;::::0;-1:-1:-1;;;18435:57:107;;::::1;::::0;::::1;33708:25:126::0;;;33749:18;;;33742:34;;;33681:18;;18435:57:107::1;33534:248:126::0;18369:259:107::1;-1:-1:-1::0;;;;;18539:29:107;::::1;;::::0;;;:21:::1;:29;::::0;;;;18569:19;;18593:16;;18539:29;18569:16;;18586:1;;18569:19;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;::::1;::::0;-1:-1:-1;;;;;18569:19:107::1;18539:50:::0;;;::::1;::::0;;;;;;;;:70;;:50;;18569:19;18539:70:::1;::::0;;;::::1;:::i;:::-;::::0;;;-1:-1:-1;;18160:482:107::1;18094:804;;;18772:23:::0;;18755:16;;18772:27:::1;::::0;18798:1:::1;::::0;18772:27:::1;:::i;:::-;18755:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;18755:45:107::1;18733:16;18750:1;18733:19;;;;;;;;:::i;:::-;;;;;;;;;:67;;;;;-1:-1:-1::0;;;;;18733:67:107::1;;;;;-1:-1:-1::0;;;;;18733:67:107::1;;;;;;18818:16;:22;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;18818:22:107;;;;;-1:-1:-1;;;;;;18818:22:107::1;::::0;;;;;18858:25:::1;18874:8:::0;18858:15:::1;:25::i;:::-;-1:-1:-1::0;18023:3:107;::::1;::::0;::::1;:::i;:::-;;;;17974:951;;;-1:-1:-1::0;;;;;;18934:27:107;::::1;;::::0;;;:19:::1;:27;::::0;;;;:40:::1;;:59:::0;;18978:15;;18934:27;:59:::1;::::0;18978:15;;18934:59:::1;:::i;:::-;::::0;;;-1:-1:-1;;19008:45:107::1;::::0;::::1;::::0;::::1;::::0;19029:6;;19037:15;;19008:45:::1;:::i;25685:583::-:0;2526:21:48;:19;:21::i;:::-;25786:17:107::1;:15;:17::i;:::-;25818:13;::::0;;::::1;25813:68;;25854:16;;-1:-1:-1::0;;;25854:16:107::1;;;;;;;;;;;25813:68;25895:17;25904:7;25895:8;:17::i;:::-;25890:75;;25935:19;;-1:-1:-1::0;;;25935:19:107::1;;;;;;;;;;;25890:75;-1:-1:-1::0;;;;;25997:28:107;;::::1;25974:20;25997:28:::0;;;:19:::1;:28;::::0;;;;;;;;25974:51;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;;::::1;::::0;;;;::::1;;::::0;::::1;;;;::::0;;;;26035:32:::1;26017:7:::0;26035:23:::1;:32::i;:::-;-1:-1:-1::0;;;;;26084:28:107;;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;26077:35;;-1:-1:-1;;;;;;26077:35:107::1;::::0;;;;::::1;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;26077:35:107::1;::::0;;26166:19;::::1;::::0;26123:11:::1;::::0;:63:::1;::::0;:11:::1;::::0;26148:16;;26123:24:::1;:63::i;:::-;26201:60;26214:7;26223:16;26241:6;:19;;;26201:60;;;;;;;;:::i;:::-;;;;;;;;25776:492;2568:20:48::0;1808:1;3074:7;:22;2894:209;2085:101:45;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;20121:237:107:-:0;20194:17;:15;:17::i;:::-;20248:4;;:20;;-1:-1:-1;;;20248:20:107;;;;;643:25:126;;;20221:16:107;;-1:-1:-1;;;;;20248:4:107;;:12;;616:18:126;;20248:20:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20248:20:107;;;;;;;;;;;;:::i;:::-;:29;;;20221:57;;20288:28;20307:8;20288:18;:28::i;:::-;20326:25;20342:8;20326:15;:25::i;19402:321::-;19472:17;:15;:17::i;:::-;19526:4;;:20;;-1:-1:-1;;;19526:20:107;;;;;643:25:126;;;19499:16:107;;-1:-1:-1;;;;;19526:4:107;;:12;;616:18:126;;19526:20:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19526:20:107;;;;;;;;;;;;:::i;:::-;:29;;;19499:57;;19566:28;19585:8;19566:18;:28::i;:::-;19608:60;-1:-1:-1;;;;;19608:26:107;;-1:-1:-1;;;19608:26:107;:60::i;:::-;19604:113;;;19684:22;19697:8;19684:12;:22::i;2003:662:108:-;2196:14;;5223:42:107;-1:-1:-1;;;;;2276:20:108;;;2272:65;;-1:-1:-1;2320:6:108;2272:65;2357:9;2346:20;;2377:31;2411:14;2377:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2377:48:108;;;;;;;;;;;;;;;;-1:-1:-1;;2445:4:108;;2492:9;;2513:19;;2377:48;;-1:-1:-1;;;;;;2445:4:108;;;;:33;;-1:-1:-1;2492:9:108;;-1:-1:-1;2503:8:108;;-1:-1:-1;2513:19:108;;2524:7;;2513:19;;;:::i;:::-;;;;;;;;;;;;;2534:5;2541:1;2544:9;2555:14;2445:134;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2436:143;;2595:63;2607:6;2615:8;2633:4;2640:6;2648:9;2595:63;;;;;;;;;;:::i;:::-;;;;;;;;2230:435;;2003:662;;;;;;;:::o;525:604:105:-;572:7;591:20;614:26;1534:6:45;;-1:-1:-1;;;;;1534:6:45;;1462:85;614:26:105;591:49;;715:12;-1:-1:-1;;;;;707:33:105;;744:1;707:38;703:420;;829:12;525:604;-1:-1:-1;525:604:105:o;703:420::-;895:12;-1:-1:-1;;;;;876:38:105;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;876:40:105;;;;;;;;-1:-1:-1;;876:40:105;;;;;;;;;;;;:::i;:::-;;;872:241;;1086:12;525:604;-1:-1:-1;525:604:105:o;872:241::-;581:548;525:604;:::o;3350:145:43:-;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:43;;;;;;;;;;;;;;;3350:145::o;21330:190:107:-;-1:-1:-1;;;;;21446:28:107;;;21394:14;21446:28;;;:19;:28;;;;;;;;;21420:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21330:190::o;10015:124::-;1355:13:45;:11;:13::i;:::-;10098:23:107::1;:34:::0;;-1:-1:-1;;;;;;10098:34:107::1;-1:-1:-1::0;;;;;10098:34:107;;;::::1;::::0;;;::::1;::::0;;10015:124::o;21145:179::-;21217:18;;-1:-1:-1;;;;;21217:18:107;21203:10;:32;21199:89;;21258:19;;-1:-1:-1;;;21258:19:107;;;;;;;;;;;21199:89;21297:20;:18;:20::i;6936:30::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;24734:465::-;2526:21:48;:19;:21::i;:::-;24818:10:107::1;24838:34;24818:10:::0;24838:25:::1;:34::i;:::-;24882:32;24906:7;24882:23;:32::i;:::-;-1:-1:-1::0;;;;;24947:28:107;;::::1;24924:20;24947:28:::0;;;:19:::1;:28;::::0;;;;;;;24924:51;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;;::::0;;;;24992:28;;;-1:-1:-1;;;;;;24985:35:107;;::::1;::::0;;;;;;;-1:-1:-1;;24985:35:107;;::::1;::::0;;;25037:18:::1;:27:::0;;;;;24924:51;;25030:34:::1;::::0;25037:27;25030:34:::1;:::i;:::-;25109:19;::::0;::::1;::::0;25075:11:::1;::::0;:54:::1;::::0;-1:-1:-1;;;;;25075:11:107;;::::1;::::0;25100:7;;25075:24:::1;:54::i;:::-;25144:48;25163:7;25172:6;:19;;;25144:48;;;;;;;:::i;:::-;;;;;;;;24790:409;;2568:20:48::0;1808:1;3074:7;:22;2894:209;5479:54:107;5513:20;5397:7;5513:2;:20;:::i;:::-;5479:54;:::o;404:115:105:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;:::-;480:32:105::1;499:12;480:18;:32::i;6851:27:107:-:0;;;;;;;:::i;5705:147:43:-;5789:18;5802:4;5789:12;:18::i;:::-;2798:16;2809:4;2798:10;:16::i;:::-;5819:26:::1;5831:4;5837:7;5819:11;:26::i;13329:661:107:-:0;13521:14;;5223:42;-1:-1:-1;;;;;13601:20:107;;;13597:65;;-1:-1:-1;13645:6:107;13597:65;13682:9;13671:20;;13702:31;13736:14;13702:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13702:48:107;;;;;;;;;;;;;;;;-1:-1:-1;;13770:4:107;;13817:9;;13838:19;;13702:48;;-1:-1:-1;;;;;;13770:4:107;;;;:33;;-1:-1:-1;13817:9:107;;-1:-1:-1;13828:8:107;;-1:-1:-1;13838:19:107;;13849:7;;13838:19;;;:::i;24595:133::-;24666:4;24689:32;-1:-1:-1;;;;;;;;;;;24713:7:107;24689;:32::i;2335:198:45:-;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:45;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:45;;40942:2:126;2415:73:45::1;::::0;::::1;40924:21:126::0;40981:2;40961:18;;;40954:30;41020:34;41000:18;;;40993:62;-1:-1:-1;;;41071:18:126;;;41064:36;41117:19;;2415:73:45::1;40740:402:126::0;8389:167:107;8453:35;-1:-1:-1;;;;;;;;;;;8477:10:107;8453:7;:35::i;:::-;8448:102;;8528:10;8511:28;;-1:-1:-1;;;8511:28:107;;;;;;;;:::i;2601:287:48:-;1851:1;2733:7;;:19;2725:63;;;;-1:-1:-1;;;2725:63:48;;41349:2:126;2725:63:48;;;41331:21:126;41388:2;41368:18;;;41361:30;41427:33;41407:18;;;41400:61;41478:18;;2725:63:48;41147:355:126;2725:63:48;1851:1;2863:7;:18;2601:287::o;8720:157:107:-;8801:17;8810:7;8801:8;:17::i;:::-;8796:75;;8841:19;;-1:-1:-1;;;8841:19:107;;;;;;;;;;;8883:163;-1:-1:-1;;;;;8960:28:107;;;;;;:17;:28;;;;;;;;8955:85;;9011:18;;-1:-1:-1;;;9011:18:107;;;;;;;;;;;9426:133;-1:-1:-1;;;;;9500:22:107;;9496:56;;9531:21;;-1:-1:-1;;;9531:21:107;;;;;;;;;;;2894:209:48;1808:1;3074:7;:22;2894:209::o;20364:194:107:-;20435:29;20454:9;20435:18;:29::i;:::-;-1:-1:-1;;;;;20474:28:107;;20505:5;20474:28;;;:17;:28;;;;;;;:36;;-1:-1:-1;;20474:36:107;;;20525:26;;;;;20492:9;;20525:26;:::i;1620:130:45:-;965:10:51;1683:7:45;:5;:7::i;:::-;-1:-1:-1;;;;;1683:23:45;;1675:68;;;;-1:-1:-1;;;1675:68:45;;41709:2:126;1675:68:45;;;41691:21:126;;;41728:18;;;41721:30;41787:34;41767:18;;;41760:62;41839:18;;1675:68:45;41507:356:126;19863:252:107;-1:-1:-1;;;;;19938:31:107;;;;;;:17;:31;;;;;;;;19934:85;;;19992:16;;-1:-1:-1;;;19992:16:107;;;;;;;;;;;19934:85;-1:-1:-1;;;;;20028:31:107;;;;;;:17;:31;;;;;;;:38;;-1:-1:-1;;20028:38:107;20062:4;20028:38;;;20081:27;;;;;20046:12;;20081:27;:::i;9052:172::-;9156:9;-1:-1:-1;;;;;9145:20:107;:7;-1:-1:-1;;;;;9145:20:107;;9141:77;;9188:19;;-1:-1:-1;;;9188:19:107;;;;;;;;;;;15907:433;-1:-1:-1;;;;;16041:27:107;;16004:34;16041:27;;;:18;:27;;;;;;16078:256;16102:23;;16098:27;;16078:256;;;16173:9;-1:-1:-1;;;;;16150:32:107;:16;16167:1;16150:19;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;16150:19:107;:32;16146:178;;16241:23;;16224:16;;16241:27;;16267:1;;16241:27;:::i;:::-;16224:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16224:45:107;16202:16;16219:1;16202:19;;;;;;;;:::i;:::-;;;;;;;;;:67;;;;;-1:-1:-1;;;;;16202:67:107;;;;;-1:-1:-1;;;;;16202:67:107;;;;;;16287:16;:22;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;16287:22:107;;;;;-1:-1:-1;;;;;;16287:22:107;;;;;;16146:178;16127:3;;;;:::i;:::-;;;;16078:256;;;;15994:346;15907:433;;:::o;3789:103:43:-;3855:30;3866:4;965:10:51;3855::43;:30::i;7938:233::-;8021:22;8029:4;8035:7;8021;:22::i;:::-;8016:149;;8059:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8059:29:43;;;;;;;;;:36;;-1:-1:-1;;8059:36:43;8091:4;8059:36;;;8141:12;965:10:51;;886:96;8141:12:43;-1:-1:-1;;;;;8114:40:43;8132:7;-1:-1:-1;;;;;8114:40:43;8126:4;8114:40;;;;;;;;;;7938:233;;:::o;1423:320:50:-;-1:-1:-1;;;;;1713:19:50;;:23;;;1423:320::o;1889:111:48:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;:::-;1959:34:48::1;:32;:34::i;2838:65:43:-:0;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;7523:247:43:-;7606:25;7634:18;7647:4;7634:12;:18::i;:::-;7662:12;;;;:6;:12;;;;;;:22;;:34;;;7711:52;7606:46;;-1:-1:-1;7687:9:43;;7606:46;;7669:4;;7711:52;;7662:12;7711:52;7596:174;7523:247;;:::o;1355:203:73:-;1455:96;1475:5;1505:27;;;1534:4;1540:2;1544:5;1482:68;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1482:68:73;;;;;;;;;;;;;;-1:-1:-1;;;;;1482:68:73;-1:-1:-1;;;;;;1482:68:73;;;;;;;;;;1455:19;:96::i;941:175::-;1023:86;1043:5;1073:23;;;1098:2;1102:5;1050:58;;;;;;;;;:::i;8342:234:43:-;8425:22;8433:4;8439:7;8425;:22::i;:::-;8421:149;;;8495:5;8463:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8463:29:43;;;;;;;;;;:37;;-1:-1:-1;;8463:37:43;;;8519:40;965:10:51;;8463:12:43;;8519:40;;8495:5;8519:40;8342:234;;:::o;1175:140:60:-;-1:-1:-1;;;;;;;;;;;1254:54:60;-1:-1:-1;;;;;1254:54:60;;1175:140::o;1135:169:105:-;1219:10;1208:7;:5;:7::i;:::-;-1:-1:-1;;;;;1208:21:105;;1204:94;;1267:10;1279:7;:5;:7::i;:::-;1252:35;;-1:-1:-1;;;1252:35:105;;;;;;;;;:::i;2494:922:60:-;689:66;2910:48;;;2906:504;;;2974:37;2993:17;2974:18;:37::i;2906:504::-;3064:17;-1:-1:-1;;;;;3046:50:60;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3046:52:60;;;;;;;;-1:-1:-1;;3046:52:60;;;;;;;;;;;;:::i;:::-;;;3042:291;;3262:56;;-1:-1:-1;;;3262:56:60;;42070:2:126;3262:56:60;;;42052:21:126;42109:2;42089:18;;;42082:30;42148:34;42128:18;;;42121:62;-1:-1:-1;;;42199:18:126;;;42192:44;42253:19;;3262:56:60;41868:410:126;3042:291:60;-1:-1:-1;;;;;;;;;;;3148:28:60;;3140:82;;;;-1:-1:-1;;;3140:82:60;;42485:2:126;3140:82:60;;;42467:21:126;42524:2;42504:18;;;42497:30;42563:34;42543:18;;;42536:62;-1:-1:-1;;;42614:18:126;;;42607:39;42663:19;;3140:82:60;42283:405:126;3140:82:60;3099:138;3346:53;3364:17;3383:4;3389:9;3346:17;:53::i;8562:152:107:-;8635:20;8644:10;8635:8;:20::i;:::-;8630:78;;8678:19;;-1:-1:-1;;;8678:19:107;;;;;;;;;;;6548:139:34;6612:68;6672:2;6676;6628:51;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6628:51:34;;;;;;;;;;;;;;-1:-1:-1;;;;;6628:51:34;-1:-1:-1;;;6628:51:34;;;6612:15;:68::i;1349:282:81:-;1436:4;1543:23;1558:7;1543:14;:23::i;:::-;:81;;;;;1570:54;1603:7;1612:11;1570:32;:54::i;25205:474:107:-;-1:-1:-1;;;;;25318:27:107;;25282:33;25318:27;;;:18;:27;;;;;;;;25282:63;;;;;;;;;;;;;;;;;;;25318:27;;25282:63;;;25318:27;25282:63;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25282:63:107;;;;;;;;;;;;;;;;;;;;;;;25426:9;25421:252;25445:16;:23;25441:1;:27;25421:252;;;25616:16;25633:1;25616:19;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;25601:52:107;;25654:7;25601:61;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25470:3;;;;;:::i;:::-;;;;25421:252;;2687:187:45;2779:6;;;-1:-1:-1;;;;;2795:17:45;;;-1:-1:-1;;;;;;2795:17:45;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;20952::107:-;21029:18;;;21009:11;:39;;-1:-1:-1;;;;;;21009:39:107;;;-1:-1:-1;;;;;21029:18:107;;21009:39;;;;21058:25;;;21098:34;;;;;;21029:18;;21098:34;:::i;:::-;;;;;;;;20952:187::o;4173:501:43:-;4261:22;4269:4;4275:7;4261;:22::i;:::-;4256:412;;4444:39;4475:7;4444:30;:39::i;:::-;4554:49;4593:4;4600:2;4554:30;:49::i;:::-;4351:274;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4351:274:43;;;;;;;;;;-1:-1:-1;;;4299:358:43;;;;;;;:::i;2006:109:48:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;5173:642:73:-;5592:23;5618:69;5646:4;5618:69;;;;;;;;;;;;;;;;;5626:5;-1:-1:-1;;;;;5618:27:73;;;:69;;;;;:::i;:::-;5592:95;;5705:10;:17;5726:1;5705:22;:56;;;;5742:10;5731:30;;;;;;;;;;;;:::i;:::-;5697:111;;;;-1:-1:-1;;;5697:111:73;;44474:2:126;5697:111:73;;;44456:21:126;44513:2;44493:18;;;44486:30;44552:34;44532:18;;;44525:62;-1:-1:-1;;;44603:18:126;;;44596:40;44653:19;;5697:111:73;44272:406:126;1406:259:60;1487:37;1506:17;1487:18;:37::i;:::-;1479:95;;;;-1:-1:-1;;;1479:95:60;;44885:2:126;1479:95:60;;;44867:21:126;44924:2;44904:18;;;44897:30;44963:34;44943:18;;;44936:62;-1:-1:-1;;;45014:18:126;;;45007:43;45067:19;;1479:95:60;44683:409:126;1479:95:60;-1:-1:-1;;;;;;;;;;;1584:74:60;;-1:-1:-1;;;;;;1584:74:60;-1:-1:-1;;;;;1584:74:60;;;;;;;;;;1406:259::o;2057:265::-;2165:29;2176:17;2165:10;:29::i;:::-;2222:1;2208:4;:11;:15;:28;;;;2227:9;2208:28;2204:112;;;2252:53;2281:17;2300:4;2252:28;:53::i;181:376:34:-;275:14;;131:42;448:2;435:16;;251:21;;275:14;435:16;131:42;484:5;473:68;464:77;;401:150;;181:376;:::o;704:427:81:-;768:4;975:68;1008:7;-1:-1:-1;;;975:32:81;:68::i;:::-;:149;;;;-1:-1:-1;1060:64:81;1093:7;-1:-1:-1;;;;;;1060:32:81;:64::i;:::-;1059:65;956:168;704:427;-1:-1:-1;;704:427:81:o;4421:647::-;4592:71;;;-1:-1:-1;;;;;;45259:33:126;;4592:71:81;;;;45241:52:126;;;;4592:71:81;;;;;;;;;;45214:18:126;;;;4592:71:81;;;;;;;;;-1:-1:-1;;;;;4592:71:81;-1:-1:-1;;;4592:71:81;;;4871:20;;4523:4;;4592:71;4523:4;;;;;;4592:71;4523:4;;4871:20;4836:7;4829:5;4818:86;4807:97;;4931:16;4917:30;;4981:4;4975:11;4960:26;;5013:7;:29;;;;;5038:4;5024:10;:18;;5013:29;:48;;;;;5060:1;5046:11;:15;5013:48;5006:55;4421:647;-1:-1:-1;;;;;;;4421:647:81:o;2473:149:52:-;2531:13;2563:52;-1:-1:-1;;;;;2575:22:52;;376:2;1884:437;1959:13;1984:19;2016:10;2020:6;2016:1;:10;:::i;:::-;:14;;2029:1;2016:14;:::i;:::-;-1:-1:-1;;;;;2006:25:52;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2006:25:52;;1984:47;;-1:-1:-1;;;2041:6:52;2048:1;2041:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2041:15:52;;;;;;;;;-1:-1:-1;;;2066:6:52;2073:1;2066:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2066:15:52;;;;;;;;-1:-1:-1;2096:9:52;2108:10;2112:6;2108:1;:10;:::i;:::-;:14;;2121:1;2108:14;:::i;:::-;2096:26;;2091:128;2128:1;2124;:5;2091:128;;;-1:-1:-1;;;2171:5:52;2179:3;2171:11;2162:21;;;;;;;:::i;:::-;;;;2150:6;2157:1;2150:9;;;;;;;;:::i;:::-;;;;:33;-1:-1:-1;;;;;2150:33:52;;;;;;;;-1:-1:-1;2207:1:52;2197:11;;;;;2131:3;;;:::i;:::-;;;2091:128;;;-1:-1:-1;2236:10:52;;2228:55;;;;-1:-1:-1;;;2228:55:52;;45647:2:126;2228:55:52;;;45629:21:126;;;45666:18;;;45659:30;45725:34;45705:18;;;45698:62;45777:18;;2228:55:52;45445:356:126;4108:223:76;4241:12;4272:52;4294:6;4302:4;4308:1;4311:12;4272:21;:52::i;:::-;4265:59;4108:223;-1:-1:-1;;;;4108:223:76:o;1771:152:60:-;1837:37;1856:17;1837:18;:37::i;:::-;1889:27;;-1:-1:-1;;;;;1889:27:60;;;;;;;;1771:152;:::o;6674:198:76:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;5165:446::-;5330:12;5387:5;5362:21;:30;;5354:81;;;;-1:-1:-1;;;5354:81:76;;46008:2:126;5354:81:76;;;45990:21:126;46047:2;46027:18;;;46020:30;46086:34;46066:18;;;46059:62;-1:-1:-1;;;46137:18:126;;;46130:36;46183:19;;5354:81:76;45806:402:126;5354:81:76;5446:12;5460:23;5487:6;-1:-1:-1;;;;;5487:11:76;5506:5;5513:4;5487:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:73;;;;5535:69;5562:6;5570:7;5579:10;5591:12;5535:26;:69::i;7058:325::-;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:76;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:76:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;8121:18;8132:6;8121:10;:18::i;:::-;8113:60;;;;-1:-1:-1;;;8113:60:76;;46707:2:126;8113:60:76;;;46689:21:126;46746:2;46726:18;;;46719:30;46785:31;46765:18;;;46758:59;46834:18;;8113:60:76;46505:353:126;8113:60:76;-1:-1:-1;8208:10:76;8201:17;;7875:418;8249:33;8257:10;8269:12;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:76;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:286:126;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:126;;209:43;;199:71;;266:1;263;256:12;861:180;920:6;973:2;961:9;952:7;948:23;944:32;941:52;;;989:1;986;979:12;941:52;-1:-1:-1;1012:23:126;;861:180;-1:-1:-1;861:180:126:o;1046:131::-;-1:-1:-1;;;;;1121:31:126;;1111:42;;1101:70;;1167:1;1164;1157:12;1182:134;1250:20;;1279:31;1250:20;1279:31;:::i;:::-;1182:134;;;:::o;1321:388::-;1389:6;1397;1450:2;1438:9;1429:7;1425:23;1421:32;1418:52;;;1466:1;1463;1456:12;1418:52;1505:9;1492:23;1524:31;1549:5;1524:31;:::i;:::-;1574:5;-1:-1:-1;1631:2:126;1616:18;;1603:32;1644:33;1603:32;1644:33;:::i;:::-;1696:7;1686:17;;;1321:388;;;;;:::o;1714:247::-;1773:6;1826:2;1814:9;1805:7;1801:23;1797:32;1794:52;;;1842:1;1839;1832:12;1794:52;1881:9;1868:23;1900:31;1925:5;1900:31;:::i;2151:315::-;2219:6;2227;2280:2;2268:9;2259:7;2255:23;2251:32;2248:52;;;2296:1;2293;2286:12;2248:52;2335:9;2322:23;2354:31;2379:5;2354:31;:::i;:::-;2404:5;2456:2;2441:18;;;;2428:32;;-1:-1:-1;;;2151:315:126:o;2471:104::-;-1:-1:-1;;;;;2537:31:126;2525:44;;2471:104::o;2580:203::-;-1:-1:-1;;;;;2744:32:126;;;;2726:51;;2714:2;2699:18;;2580:203::o;2788:315::-;2856:6;2864;2917:2;2905:9;2896:7;2892:23;2888:32;2885:52;;;2933:1;2930;2923:12;2885:52;2969:9;2956:23;2946:33;;3029:2;3018:9;3014:18;3001:32;3042:31;3067:5;3042:31;:::i;3108:127::-;3169:10;3164:3;3160:20;3157:1;3150:31;3200:4;3197:1;3190:15;3224:4;3221:1;3214:15;3240:257;3312:4;3306:11;;;3344:17;;-1:-1:-1;;;;;3376:34:126;;3412:22;;;3373:62;3370:88;;;3438:18;;:::i;:::-;3474:4;3467:24;3240:257;:::o;3502:255::-;3574:2;3568:9;3616:6;3604:19;;-1:-1:-1;;;;;3638:34:126;;3674:22;;;3635:62;3632:88;;;3700:18;;:::i;3762:253::-;3834:2;3828:9;3876:4;3864:17;;-1:-1:-1;;;;;3896:34:126;;3932:22;;;3893:62;3890:88;;;3958:18;;:::i;4020:255::-;4092:2;4086:9;4134:6;4122:19;;-1:-1:-1;;;;;4156:34:126;;4192:22;;;4153:62;4150:88;;;4218:18;;:::i;4280:275::-;4351:2;4345:9;4416:2;4397:13;;-1:-1:-1;;4393:27:126;4381:40;;-1:-1:-1;;;;;4436:34:126;;4472:22;;;4433:62;4430:88;;;4498:18;;:::i;:::-;4534:2;4527:22;4280:275;;-1:-1:-1;4280:275:126:o;4560:187::-;4609:4;-1:-1:-1;;;;;4631:30:126;;4628:56;;;4664:18;;:::i;:::-;-1:-1:-1;4730:2:126;4709:15;-1:-1:-1;;4705:29:126;4736:4;4701:40;;4560:187::o;4752:338::-;4817:5;4846:53;4862:36;4891:6;4862:36;:::i;:::-;4846:53;:::i;:::-;4837:62;;4922:6;4915:5;4908:21;4962:3;4953:6;4948:3;4944:16;4941:25;4938:45;;;4979:1;4976;4969:12;4938:45;5028:6;5023:3;5016:4;5009:5;5005:16;4992:43;5082:1;5075:4;5066:6;5059:5;5055:18;5051:29;5044:40;4752:338;;;;;:::o;5095:222::-;5138:5;5191:3;5184:4;5176:6;5172:17;5168:27;5158:55;;5209:1;5206;5199:12;5158:55;5231:80;5307:3;5298:6;5285:20;5278:4;5270:6;5266:17;5231:80;:::i;5322:411::-;5377:5;5425:4;5413:9;5408:3;5404:19;5400:30;5397:50;;;5443:1;5440;5433:12;5397:50;5465:22;;:::i;:::-;5510:23;;5496:38;;5456:31;-1:-1:-1;5585:2:126;5570:18;;5557:32;-1:-1:-1;;;;;5601:30:126;;5598:50;;;5644:1;5641;5634:12;5598:50;5680:46;5722:3;5713:6;5702:9;5698:22;5680:46;:::i;:::-;5675:2;5668:5;5664:14;5657:70;;5322:411;;;;:::o;5738:118::-;5824:5;5817:13;5810:21;5803:5;5800:32;5790:60;;5846:1;5843;5836:12;5861:128;5926:20;;5955:28;5926:20;5955:28;:::i;5994:1850::-;6115:6;6123;6131;6139;6192:3;6180:9;6171:7;6167:23;6163:33;6160:53;;;6209:1;6206;6199:12;6160:53;6236:23;;-1:-1:-1;;;;;6308:14:126;;;6305:34;;;6335:1;6332;6325:12;6305:34;6358:22;;;;6414:6;6396:16;;;6392:29;6389:49;;;6434:1;6431;6424:12;6389:49;6460:22;;:::i;:::-;6505;6524:2;6505:22;:::i;:::-;6498:5;6491:37;6560:31;6587:2;6583;6579:11;6560:31;:::i;:::-;6555:2;6548:5;6544:14;6537:55;6645:2;6641;6637:11;6624:25;6619:2;6612:5;6608:14;6601:49;6703:2;6699;6695:11;6682:25;6677:2;6670:5;6666:14;6659:49;6762:3;6758:2;6754:12;6741:26;6735:3;6728:5;6724:15;6717:51;6801:32;6828:3;6824:2;6820:12;6801:32;:::i;:::-;6795:3;6788:5;6784:15;6777:57;6867:32;6894:3;6890:2;6886:12;6867:32;:::i;:::-;6861:3;6854:5;6850:15;6843:57;6946:3;6942:2;6938:12;6925:26;6976:2;6966:8;6963:16;6960:36;;;6992:1;6989;6982:12;6960:36;7029:54;7075:7;7064:8;7060:2;7056:17;7029:54;:::i;:::-;7023:3;7016:5;7012:15;7005:79;;7103:3;7138:31;7165:2;7161;7157:11;7138:31;:::i;:::-;7122:14;;;7115:55;7189:3;7230:11;;;7217:25;7254:16;;;7251:36;;;7283:1;7280;7273:12;7251:36;7319:45;7356:7;7345:8;7341:2;7337:17;7319:45;:::i;:::-;7314:2;7307:5;7303:14;7296:69;;;7384:3;7419:28;7443:2;7439;7435:11;7419:28;:::i;:::-;7403:14;;;7396:52;7467:3;7508:11;;;7495:25;7532:16;;;7529:36;;;7561:1;7558;7551:12;7529:36;7597:45;7634:7;7623:8;7619:2;7615:17;7597:45;:::i;:::-;7592:2;7585:5;7581:14;7574:69;;;7662:5;7652:15;;;;;7686:38;7720:2;7709:9;7705:18;7686:38;:::i;:::-;7676:48;;7743:38;7777:2;7766:9;7762:18;7743:38;:::i;:::-;7733:48;;7800:38;7834:2;7823:9;7819:18;7800:38;:::i;:::-;7790:48;;5994:1850;;;;;;;:::o;8109:585::-;8186:6;8194;8247:2;8235:9;8226:7;8222:23;8218:32;8215:52;;;8263:1;8260;8253:12;8215:52;8302:9;8289:23;8321:31;8346:5;8321:31;:::i;:::-;8371:5;-1:-1:-1;8427:2:126;8412:18;;8399:32;-1:-1:-1;;;;;8443:30:126;;8440:50;;;8486:1;8483;8476:12;8440:50;8509:22;;8562:4;8554:13;;8550:27;-1:-1:-1;8540:55:126;;8591:1;8588;8581:12;8540:55;8614:74;8680:7;8675:2;8662:16;8657:2;8653;8649:11;8614:74;:::i;:::-;8604:84;;;8109:585;;;;;:::o;8699:605::-;8754:5;8802:4;8790:9;8785:3;8781:19;8777:30;8774:50;;;8820:1;8817;8810:12;8774:50;8853:2;8847:9;8895:4;8883:17;;-1:-1:-1;;;;;8915:34:126;;8951:22;;;8912:62;8909:88;;;8977:18;;:::i;:::-;9017:10;9013:2;9006:22;;9046:6;9037:15;;9089:9;9076:23;9068:6;9061:39;9161:2;9150:9;9146:18;9133:32;9128:2;9120:6;9116:15;9109:57;9227:2;9216:9;9212:18;9199:32;9194:2;9186:6;9182:15;9175:57;9293:2;9282:9;9278:18;9265:32;9260:2;9252:6;9248:15;9241:57;;8699:605;;;;:::o;9309:153::-;9387:20;;9436:1;9426:12;;9416:40;;9452:1;9449;9442:12;9467:110;9551:1;9544:5;9541:12;9531:40;;9567:1;9564;9557:12;9582:152;9659:20;;9688:40;9659:20;9688:40;:::i;9739:416::-;9803:5;9851:4;9839:9;9834:3;9830:19;9826:30;9823:50;;;9869:1;9866;9859:12;9823:50;9902:2;9896:9;9944:4;9932:17;;-1:-1:-1;;;;;9964:34:126;;10000:22;;;9961:62;9958:88;;;10026:18;;:::i;:::-;10062:2;10055:22;10125:23;;10110:39;;-1:-1:-1;10095:6:126;9739:416;-1:-1:-1;9739:416:126:o;10160:701::-;10223:5;10271:4;10259:9;10254:3;10250:19;10246:30;10243:50;;;10289:1;10286;10279:12;10243:50;10311:22;;:::i;:::-;10302:31;;10370:9;10357:23;10389:33;10414:7;10389:33;:::i;:::-;10431:22;;10505:2;10490:18;;10477:32;10518:33;10477:32;10518:33;:::i;:::-;10583:7;10578:2;10571:5;10567:14;10560:31;;10651:2;10640:9;10636:18;10623:32;10618:2;10611:5;10607:14;10600:56;10716:2;10705:9;10701:18;10688:32;10683:2;10676:5;10672:14;10665:56;10782:3;10771:9;10767:19;10754:33;10748:3;10741:5;10737:15;10730:58;10849:3;10838:9;10834:19;10821:33;10815:3;10808:5;10804:15;10797:58;10160:701;;;;:::o;10866:1078::-;10929:5;10977:6;10965:9;10960:3;10956:19;10952:32;10949:52;;;10997:1;10994;10987:12;10949:52;11030:2;11024:9;11072:4;11060:17;;-1:-1:-1;;;;;11092:34:126;;11128:22;;;11089:62;11086:88;;;11154:18;;:::i;:::-;11190:2;11183:22;11223:6;-1:-1:-1;11223:6:126;11253:42;11291:3;11280:9;11253:42;:::i;:::-;11245:6;11238:58;11331:49;11375:3;11364:9;11360:19;11331:49;:::i;:::-;11324:4;11316:6;11312:17;11305:76;11433:3;11422:9;11418:19;11405:33;11447:42;11481:7;11447:42;:::i;:::-;11517:2;11505:15;;11498:32;11565:61;11622:3;11616;11601:19;;11565:61;:::i;:::-;11558:4;11550:6;11546:17;11539:88;11661:61;11718:3;11711:4;11700:9;11696:20;11661:61;:::i;:::-;11655:3;11647:6;11643:16;11636:87;11775:3;11764:9;11760:19;11747:33;11789;11814:7;11789:33;:::i;:::-;11850:3;11838:16;;11831:33;11898:39;11932:3;11917:19;;11898:39;:::i;:::-;11892:3;11884:6;11880:16;11873:65;;10866:1078;;;;:::o;11949:618::-;12087:6;12095;12103;12156:3;12144:9;12135:7;12131:23;12127:33;12124:53;;;12173:1;12170;12163:12;12124:53;12212:9;12199:23;12231:31;12256:5;12231:31;:::i;:::-;12281:5;-1:-1:-1;12305:63:126;12360:7;12355:2;12340:18;;12305:63;:::i;:::-;12295:73;-1:-1:-1;12419:3:126;12404:19;;12391:33;-1:-1:-1;;;;;12436:30:126;;12433:50;;;12479:1;12476;12469:12;12433:50;12502:59;12553:7;12544:6;12533:9;12529:22;12502:59;:::i;:::-;12492:69;;;11949:618;;;;;:::o;12851:183::-;12911:4;-1:-1:-1;;;;;12933:30:126;;12930:56;;;12966:18;;:::i;:::-;-1:-1:-1;13011:1:126;13007:14;13023:4;13003:25;;12851:183::o;13039:737::-;13093:5;13146:3;13139:4;13131:6;13127:17;13123:27;13113:55;;13164:1;13161;13154:12;13113:55;13200:6;13187:20;13226:4;13250:60;13266:43;13306:2;13266:43;:::i;13250:60::-;13344:15;;;13430:1;13426:10;;;;13414:23;;13410:32;;;13375:12;;;;13454:15;;;13451:35;;;13482:1;13479;13472:12;13451:35;13518:2;13510:6;13506:15;13530:217;13546:6;13541:3;13538:15;13530:217;;;13626:3;13613:17;13643:31;13668:5;13643:31;:::i;:::-;13687:18;;13725:12;;;;13563;;13530:217;;;-1:-1:-1;13765:5:126;13039:737;-1:-1:-1;;;;;;13039:737:126:o;13781:967::-;13855:5;13903:6;13891:9;13886:3;13882:19;13878:32;13875:52;;;13923:1;13920;13913:12;13875:52;13945:22;;:::i;:::-;13936:31;;13990:42;14028:3;14017:9;13990:42;:::i;:::-;13983:5;13976:57;14067:49;14111:3;14100:9;14096:19;14067:49;:::i;:::-;14060:4;14053:5;14049:16;14042:75;14151:48;14194:3;14183:9;14179:19;14151:48;:::i;:::-;14144:4;14137:5;14133:16;14126:74;14234:61;14291:3;14285;14274:9;14270:19;14234:61;:::i;:::-;14227:4;14220:5;14216:16;14209:87;14329:60;14385:3;14379;14368:9;14364:19;14329:60;:::i;:::-;14323:3;14316:5;14312:15;14305:85;14423:39;14457:3;14446:9;14442:19;14423:39;:::i;:::-;14417:3;14410:5;14406:15;14399:64;14496:39;14530:3;14519:9;14515:19;14496:39;:::i;:::-;14490:3;14479:15;;14472:64;14587:3;14572:19;;14559:33;-1:-1:-1;;;;;14604:30:126;;14601:50;;;14647:1;14644;14637:12;14601:50;14684:57;14737:3;14728:6;14717:9;14713:22;14684:57;:::i;:::-;14678:3;14671:5;14667:15;14660:82;;13781:967;;;;:::o;14753:756::-;14891:6;14899;14907;14960:2;14948:9;14939:7;14935:23;14931:32;14928:52;;;14976:1;14973;14966:12;14928:52;15015:9;15002:23;15034:31;15059:5;15034:31;:::i;:::-;15084:5;-1:-1:-1;15140:2:126;15125:18;;15112:32;-1:-1:-1;;;;;15193:14:126;;;15190:34;;;15220:1;15217;15210:12;15190:34;15243:78;15313:7;15304:6;15293:9;15289:22;15243:78;:::i;:::-;15233:88;;15374:2;15363:9;15359:18;15346:32;15330:48;;15403:2;15393:8;15390:16;15387:36;;;15419:1;15416;15409:12;15387:36;;15442:61;15495:7;15484:8;15473:9;15469:24;15442:61;:::i;16187:898::-;16334:6;16342;16350;16358;16411:3;16399:9;16390:7;16386:23;16382:33;16379:53;;;16428:1;16425;16418:12;16379:53;16467:9;16454:23;16486:31;16511:5;16486:31;:::i;:::-;16536:5;-1:-1:-1;16593:2:126;16578:18;;16565:32;16606:33;16565:32;16606:33;:::i;:::-;16658:7;-1:-1:-1;16716:2:126;16701:18;;16688:32;-1:-1:-1;;;;;16769:14:126;;;16766:34;;;16796:1;16793;16786:12;16766:34;16819:78;16889:7;16880:6;16869:9;16865:22;16819:78;:::i;:::-;16809:88;;16950:2;16939:9;16935:18;16922:32;16906:48;;16979:2;16969:8;16966:16;16963:36;;;16995:1;16992;16985:12;16963:36;;17018:61;17071:7;17060:8;17049:9;17045:24;17018:61;:::i;:::-;17008:71;;;16187:898;;;;;;;:::o;17450:250::-;17535:1;17545:113;17559:6;17556:1;17553:13;17545:113;;;17635:11;;;17629:18;17616:11;;;17609:39;17581:2;17574:10;17545:113;;;-1:-1:-1;;17692:1:126;17674:16;;17667:27;17450:250::o;17705:271::-;17747:3;17785:5;17779:12;17812:6;17807:3;17800:19;17828:76;17897:6;17890:4;17885:3;17881:14;17874:4;17867:5;17863:16;17828:76;:::i;:::-;17958:2;17937:15;-1:-1:-1;;17933:29:126;17924:39;;;;17965:4;17920:50;;17705:271;-1:-1:-1;;17705:271:126:o;17981:220::-;18130:2;18119:9;18112:21;18093:4;18150:45;18191:2;18180:9;18176:18;18168:6;18150:45;:::i;18653:759::-;18800:6;18808;18816;18824;18877:3;18865:9;18856:7;18852:23;18848:33;18845:53;;;18894:1;18891;18884:12;18845:53;18933:9;18920:23;18952:31;18977:5;18952:31;:::i;:::-;19002:5;-1:-1:-1;19059:2:126;19044:18;;19031:32;19072:33;19031:32;19072:33;:::i;:::-;19124:7;-1:-1:-1;19150:63:126;19205:7;19200:2;19185:18;;19150:63;:::i;:::-;19140:73;-1:-1:-1;19264:3:126;19249:19;;19236:33;-1:-1:-1;;;;;19281:30:126;;19278:50;;;19324:1;19321;19314:12;19278:50;19347:59;19398:7;19389:6;19378:9;19374:22;19347:59;:::i;19417:127::-;19478:10;19473:3;19469:20;19466:1;19459:31;19509:4;19506:1;19499:15;19533:4;19530:1;19523:15;19549:168;19622:9;;;19653;;19670:15;;;19664:22;;19650:37;19640:71;;19691:18;;:::i;19722:127::-;19783:10;19778:3;19774:20;19771:1;19764:31;19814:4;19811:1;19804:15;19838:4;19835:1;19828:15;19854:277;19941:6;19994:2;19982:9;19973:7;19969:23;19965:32;19962:52;;;20010:1;20007;20000:12;19962:52;20042:9;20036:16;20061:40;20095:5;20061:40;:::i;20136:282::-;-1:-1:-1;;;;;20336:32:126;;;;20318:51;;20400:2;20385:18;;20378:34;20306:2;20291:18;;20136:282::o;20423:184::-;20493:6;20546:2;20534:9;20525:7;20521:23;20517:32;20514:52;;;20562:1;20559;20552:12;20514:52;-1:-1:-1;20585:16:126;;20423:184;-1:-1:-1;20423:184:126:o;20891:375::-;-1:-1:-1;;;;;21149:15:126;;;21131:34;;21201:15;;;;21196:2;21181:18;;21174:43;21248:2;21233:18;;21226:34;;;;21081:2;21066:18;;20891:375::o;21271:304::-;-1:-1:-1;;;;;21501:15:126;;;21483:34;;21553:15;;21548:2;21533:18;;21526:43;21433:2;21418:18;;21271:304::o;21580:217::-;21620:1;21646;21636:132;;21690:10;21685:3;21681:20;21678:1;21671:31;21725:4;21722:1;21715:15;21753:4;21750:1;21743:15;21636:132;-1:-1:-1;21782:9:126;;21580:217::o;21802:125::-;21867:9;;;21888:10;;;21885:36;;;21901:18;;:::i;22347:380::-;22426:1;22422:12;;;;22469;;;22490:61;;22544:4;22536:6;22532:17;22522:27;;22490:61;22597:2;22589:6;22586:14;22566:18;22563:38;22560:161;;22643:10;22638:3;22634:20;22631:1;22624:31;22678:4;22675:1;22668:15;22706:4;22703:1;22696:15;22560:161;;22347:380;;;:::o;22858:545::-;22960:2;22955:3;22952:11;22949:448;;;22996:1;23021:5;23017:2;23010:17;23066:4;23062:2;23052:19;23136:2;23124:10;23120:19;23117:1;23113:27;23107:4;23103:38;23172:4;23160:10;23157:20;23154:47;;;-1:-1:-1;23195:4:126;23154:47;23250:2;23245:3;23241:12;23238:1;23234:20;23228:4;23224:31;23214:41;;23305:82;23323:2;23316:5;23313:13;23305:82;;;23368:17;;;23349:1;23338:13;23305:82;;;23309:3;;;22858:545;;;:::o;23579:1352::-;23699:10;;-1:-1:-1;;;;;23721:30:126;;23718:56;;;23754:18;;:::i;:::-;23783:97;23873:6;23833:38;23865:4;23859:11;23833:38;:::i;:::-;23827:4;23783:97;:::i;:::-;23935:4;;23999:2;23988:14;;24016:1;24011:663;;;;24718:1;24735:6;24732:89;;;-1:-1:-1;24787:19:126;;;24781:26;24732:89;-1:-1:-1;;23536:1:126;23532:11;;;23528:24;23524:29;23514:40;23560:1;23556:11;;;23511:57;24834:81;;23981:944;;24011:663;22805:1;22798:14;;;22842:4;22829:18;;-1:-1:-1;;24047:20:126;;;24165:236;24179:7;24176:1;24173:14;24165:236;;;24268:19;;;24262:26;24247:42;;24360:27;;;;24328:1;24316:14;;;;24195:19;;24165:236;;;24169:3;24429:6;24420:7;24417:19;24414:201;;;24490:19;;;24484:26;-1:-1:-1;;24573:1:126;24569:14;;;24585:3;24565:24;24561:37;24557:42;24542:58;24527:74;;24414:201;-1:-1:-1;;;;;24661:1:126;24645:14;;;24641:22;24628:36;;-1:-1:-1;23579:1352:126:o;24936:251::-;25006:6;25059:2;25047:9;25038:7;25034:23;25030:32;25027:52;;;25075:1;25072;25065:12;25027:52;25107:9;25101:16;25126:31;25151:5;25126:31;:::i;25192:127::-;25253:10;25248:3;25244:20;25241:1;25234:31;25284:4;25281:1;25274:15;25308:4;25305:1;25298:15;25324:956;25419:6;25450:2;25493;25481:9;25472:7;25468:23;25464:32;25461:52;;;25509:1;25506;25499:12;25461:52;25536:16;;-1:-1:-1;;;;;25564:30:126;;25561:50;;;25607:1;25604;25597:12;25561:50;25630:22;;25683:4;25675:13;;25671:27;-1:-1:-1;25661:55:126;;25712:1;25709;25702:12;25661:55;25741:2;25735:9;25764:60;25780:43;25820:2;25780:43;:::i;25764:60::-;25858:15;;;25940:1;25936:10;;;;25928:19;;25924:28;;;25889:12;;;;25964:19;;;25961:39;;;25996:1;25993;25986:12;25961:39;26020:11;;;;26040:210;26056:6;26051:3;26048:15;26040:210;;;26129:3;26123:10;26146:31;26171:5;26146:31;:::i;:::-;26190:18;;26073:12;;;;26228;;;;26040:210;;26285:135;26324:3;26345:17;;;26342:43;;26365:18;;:::i;:::-;-1:-1:-1;26412:1:126;26401:13;;26285:135::o;26425:128::-;26492:9;;;26513:11;;;26510:37;;;26527:18;;:::i;26558:772::-;26608:3;26649:5;26643:12;26678:36;26704:9;26678:36;:::i;:::-;26723:19;;;26761:4;26784:1;26801:18;;;26828:146;;;;26988:1;26983:341;;;;26794:530;;26828:146;-1:-1:-1;;26870:24:126;;26856:12;;;26849:46;26942:14;;26935:22;26932:1;26928:30;26919:40;;26915:49;;;-1:-1:-1;26828:146:126;;26983:341;27014:5;27011:1;27004:16;27061:2;27058:1;27048:16;27086:1;27100:174;27114:6;27111:1;27108:13;27100:174;;;27201:14;;27183:11;;;27179:20;;27172:44;27244:16;;;;27129:10;;27100:174;;;27298:11;;27294:20;;;-1:-1:-1;;26794:530:126;;;;;;26558:772;;;;:::o;27335:252::-;27422:5;27416:12;27411:3;27404:25;27386:3;27475:4;27468:5;27464:16;27458:23;27513:4;27506;27501:3;27497:14;27490:28;27534:47;27575:4;27570:3;27566:14;27552:12;27534:47;:::i;27592:461::-;27645:3;27683:5;27677:12;27710:6;27705:3;27698:19;27736:4;27765:2;27760:3;27756:12;27749:19;;27802:2;27795:5;27791:14;27823:1;27833:195;27847:6;27844:1;27841:13;27833:195;;;27912:13;;-1:-1:-1;;;;;27908:39:126;27896:52;;27968:12;;;;28003:15;;;;27944:1;27862:9;27833:195;;;-1:-1:-1;28044:3:126;;27592:461;-1:-1:-1;;;;;27592:461:126:o;28058:804::-;28418:6;28407:9;28400:25;28461:3;28456:2;28445:9;28441:18;28434:31;28381:4;28488:54;28537:3;28526:9;28522:19;28514:6;28488:54;:::i;:::-;28590:9;28582:6;28578:22;28573:2;28562:9;28558:18;28551:50;28624:42;28659:6;28651;28624:42;:::i;:::-;-1:-1:-1;;;;;28702:32:126;;28697:2;28682:18;;28675:60;28772:22;;;28766:3;28751:19;;28744:51;28610:56;-1:-1:-1;28812:44:126;28610:56;28841:6;28812:44;:::i;:::-;28804:52;28058:804;-1:-1:-1;;;;;;;;28058:804:126:o;29056:500::-;29310:6;29299:9;29292:25;29353:2;29348;29337:9;29333:18;29326:30;29273:4;29379:53;29428:2;29417:9;29413:18;29405:6;29379:53;:::i;:::-;29480:9;29472:6;29468:22;29463:2;29452:9;29448:18;29441:50;29508:42;29543:6;29535;29508:42;:::i;30176:408::-;30378:2;30360:21;;;30417:2;30397:18;;;30390:30;-1:-1:-1;;;;;;;;;;;30451:2:126;30436:18;;30429:62;-1:-1:-1;;;30522:2:126;30507:18;;30500:42;30574:3;30559:19;;30176:408::o;30589:::-;30791:2;30773:21;;;30830:2;30810:18;;;30803:30;-1:-1:-1;;;;;;;;;;;30864:2:126;30849:18;;30842:62;-1:-1:-1;;;30935:2:126;30920:18;;30913:42;30987:3;30972:19;;30589:408::o;31319:324::-;-1:-1:-1;;;31549:24:126;;31598:1;31589:11;;31582:27;;;;31634:2;31625:12;;31319:324::o;31648:384::-;-1:-1:-1;;;;;31906:15:126;;;31888:34;;31958:15;;;31953:2;31938:18;;31931:43;32010:15;;;32005:2;31990:18;;31983:43;31838:2;31823:18;;31648:384::o;32037:315::-;-1:-1:-1;;;;;32212:32:126;;32194:51;;32281:2;32276;32261:18;;32254:30;;;-1:-1:-1;;32301:45:126;;32327:18;;32319:6;32301:45;:::i;33198:331::-;-1:-1:-1;;;33428:30:126;;33483:2;33474:12;;33467:28;;;;33520:2;33511:12;;33198:331::o;33787:127::-;33848:10;33843:3;33839:20;33836:1;33829:31;33879:4;33876:1;33869:15;33903:4;33900:1;33893:15;33919:1653;34011:6;34042:2;34085;34073:9;34064:7;34060:23;34056:32;34053:52;;;34101:1;34098;34091:12;34053:52;34128:16;;-1:-1:-1;;;;;34193:14:126;;;34190:34;;;34220:1;34217;34210:12;34190:34;34243:22;;;;34299:4;34281:16;;;34277:27;34274:47;;;34317:1;34314;34307:12;34274:47;34343:22;;:::i;:::-;34394:2;34388:9;34381:5;34374:24;34436:2;34432;34428:11;34422:18;34449:33;34474:7;34449:33;:::i;:::-;34498:14;;;34491:31;34560:2;34552:11;;34546:18;34573:33;34546:18;34573:33;:::i;:::-;34633:2;34622:14;;34615:31;34685:2;34677:11;;34671:18;34701:16;;;34698:36;;;34730:1;34727;34720:12;34698:36;34753:17;;34804:2;34786:16;;;34782:25;34779:45;;;34820:1;34817;34810:12;34779:45;34848:22;;:::i;:::-;34901:2;34895:9;34886:7;34879:26;34944:2;34940;34936:11;34930:18;34973:2;34963:8;34960:16;34957:36;;;34989:1;34986;34979:12;34957:36;35012:17;;;-1:-1:-1;35060:4:126;35052:13;;35048:27;-1:-1:-1;35038:55:126;;35089:1;35086;35079:12;35038:55;35118:2;35112:9;35102:19;;35143:49;35159:32;35188:2;35159:32;:::i;35143:49::-;35215:2;35208:5;35201:17;35255:7;35250:2;35245;35241;35237:11;35233:20;35230:33;35227:53;;;35276:1;35273;35266:12;35227:53;35289:67;35353:2;35348;35341:5;35337:14;35332:2;35328;35324:11;35289:67;:::i;:::-;35372:16;;;35365:31;;;;-1:-1:-1;35423:2:126;35412:14;;35405:31;;;;-1:-1:-1;35483:3:126;35475:12;;;35469:19;35452:15;;;35445:44;35536:3;35528:12;;;35522:19;35505:15;;;35498:44;35416:5;33919:1653;-1:-1:-1;;;33919:1653:126:o;35577:261::-;35657:5;35651:12;35646:3;35639:25;35713:4;35706:5;35702:16;35696:23;35689:4;35684:3;35680:14;35673:47;35769:4;35762:5;35758:16;35752:23;35745:4;35740:3;35736:14;35729:47;35825:4;35818:5;35814:16;35808:23;35801:4;35796:3;35792:14;35785:47;;;35577:261::o;35843:143::-;35927:1;35920:5;35917:12;35907:46;;35933:18;;:::i;:::-;35962;;35843:143::o;35991:142::-;36074:1;36067:5;36064:12;36054:46;;36080:18;;:::i;36138:437::-;36262:12;;-1:-1:-1;;;;;36258:21:126;;;36246:34;;36333:4;36322:16;;;36316:23;36312:32;;;36296:14;;;36289:56;36394:4;36383:16;;;36377:23;36361:14;;;36354:47;36450:4;36439:16;;;36433:23;36417:14;;;36410:47;36506:4;36495:16;;;36489:23;36473:14;;;36466:47;36226:3;36551:16;;;36545:23;36529:14;;36522:47;36138:437::o;36580:1169::-;36779:2;36768:9;36761:21;36791:61;36848:2;36837:9;36833:18;36824:6;36818:13;36791:61;:::i;:::-;36742:4;36899:2;36891:6;36887:15;36881:22;36912:63;36970:3;36959:9;36955:19;36941:12;36912:63;:::i;:::-;;37024:4;37016:6;37012:17;37006:24;37039:64;37098:3;37087:9;37083:19;37067:14;37039:64;:::i;:::-;;37164:4;37156:6;37152:17;37146:24;37140:31;37134:3;37123:9;37119:19;37112:60;37221:4;37213:6;37209:17;37203:24;37236:71;37302:3;37291:9;37287:19;37271:14;37236:71;:::i;:::-;;37356:3;37348:6;37344:16;37338:23;37370:55;37420:3;37409:9;37405:19;37389:14;37370:55;:::i;:::-;;37474:3;37466:6;37462:16;37456:23;37488:55;37538:3;37527:9;37523:19;37507:14;37488:55;:::i;:::-;-1:-1:-1;37592:3:126;37580:16;;37574:23;37616:6;37638:18;;;37631:30;37678:65;37738:3;37723:19;;37574:23;37678:65;:::i;37754:979::-;38179:6;38168:9;38161:25;38142:4;38222:1;38218;38213:3;38209:11;38205:19;38272:2;38264:6;38260:15;38255:2;38244:9;38240:18;38233:43;38312:3;38307:2;38296:9;38292:18;38285:31;38339:46;38380:3;38369:9;38365:19;38357:6;38339:46;:::i;:::-;38433:2;38425:6;38421:15;38416:2;38405:9;38401:18;38394:43;38474:6;38468:3;38457:9;38453:19;38446:35;38530:9;38522:6;38518:22;38512:3;38501:9;38497:19;38490:51;38564:42;38599:6;38591;38564:42;:::i;:::-;38550:56;;;38655:9;38647:6;38643:22;38637:3;38626:9;38622:19;38615:51;38683:44;38720:6;38712;38683:44;:::i;:::-;38675:52;37754:979;-1:-1:-1;;;;;;;;;;37754:979:126:o;38738:613::-;39013:25;;;-1:-1:-1;;;;;39112:15:126;;;39107:2;39092:18;;39085:43;39164:15;;;39159:2;39144:18;;39137:43;39216:15;;39211:2;39196:18;;39189:43;39065:3;39263;39248:19;;39241:32;;;38994:4;;39290:55;;39325:19;;39317:6;39290:55;:::i;39356:407::-;39558:2;39540:21;;;39597:2;39577:18;;;39570:30;39636:34;39631:2;39616:18;;39609:62;-1:-1:-1;;;39702:2:126;39687:18;;39680:41;39753:3;39738:19;;39356:407::o;39768:967::-;39930:4;39972:3;39961:9;39957:19;39949:27;;39985:52;40027:9;40018:6;40012:13;39985:52;:::i;:::-;40084:4;40076:6;40072:17;40066:24;40099:64;40157:4;40146:9;40142:20;40128:12;40099:64;:::i;:::-;;40212:4;40204:6;40200:17;40194:24;40227:65;40286:4;40275:9;40271:20;40255:14;40227:65;:::i;:::-;;40354:4;40346:6;40342:17;40336:24;40330:31;40323:4;40312:9;40308:20;40301:61;40411:4;40403:6;40399:17;40393:24;40426:72;40492:4;40481:9;40477:20;40461:14;40426:72;:::i;:::-;-1:-1:-1;40547:4:126;40535:17;;40529:24;-1:-1:-1;;;;;40631:23:126;;;40622:6;40607:22;;40600:55;40717:4;40705:17;;;40699:24;40695:33;;;40686:6;40671:22;;;40664:65;39768:967;:::o;42693:291::-;42870:2;42859:9;42852:21;42833:4;42890:45;42931:2;42920:9;42916:18;42908:6;42890:45;:::i;:::-;42882:53;;42971:6;42966:2;42955:9;42951:18;42944:34;42693:291;;;;;:::o;43205:812::-;-1:-1:-1;;;43611:3:126;43604:38;43586:3;43671:6;43665:13;43687:75;43755:6;43750:2;43745:3;43741:12;43734:4;43726:6;43722:17;43687:75;:::i;:::-;-1:-1:-1;;;43821:2:126;43781:16;;;43813:11;;;43806:40;43871:13;;43893:76;43871:13;43955:2;43947:11;;43940:4;43928:17;;43893:76;:::i;:::-;43989:17;44008:2;43985:26;;43205:812;-1:-1:-1;;;;43205:812:126:o;44022:245::-;44089:6;44142:2;44130:9;44121:7;44117:23;44113:32;44110:52;;;44158:1;44155;44148:12;44110:52;44190:9;44184:16;44209:28;44231:5;44209:28;:::i;45304:136::-;45343:3;45371:5;45361:39;;45380:18;;:::i;:::-;-1:-1:-1;;;45416:18:126;;45304:136::o;46213:287::-;46342:3;46380:6;46374:13;46396:66;46455:6;46450:3;46443:4;46435:6;46431:17;46396:66;:::i;:::-;46478:16;;;;;46213:287;-1:-1:-1;;46213:287:126:o","linkReferences":{},"immutableReferences":{"55572":[{"start":7796,"length":32},{"start":7863,"length":32},{"start":8175,"length":32},{"start":8242,"length":32},{"start":8580,"length":32}]}},"methodIdentifiers":{"COUNCIL_MEMBER()":"733a2d1f","DEFAULT_ADMIN_ROLE()":"a217fddf","MAX_FEE()":"bc063e1a","NATIVE()":"a0cf0aea","PRECISION_SCALE()":"d7050f07","VERSION()":"ffa1ad74","acceptCouncilSafe()":"b5058c50","activateMemberInStrategy(address,address)":"0d4a8b49","addStrategy(address)":"223e5479","addStrategyByPoolId(uint256)":"82d6a1e7","addressToMemberInfo(address)":"88cfe684","allo()":"d6d8428d","checkAllowlistRole(address,uint256)":"3ede95f6","cloneNonce()":"33960459","collateralVaultTemplate()":"77122d56","communityFee()":"8961be6b","communityName()":"c6d572ae","councilSafe()":"6c53db9a","covenantIpfsHash()":"b64e39af","createPool(address,((uint256,uint256,uint256,uint256),uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256),address,address),(uint256,string))":"524e59e8","createPool(address,((uint256,uint256,uint256,uint256),uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256),address,address,address[]),(uint256,string))":"579eb7e5","createPool(address,address,((uint256,uint256,uint256,uint256),uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256),address,address),(uint256,string))":"e16d0e32","createPool(address,address,((uint256,uint256,uint256,uint256),uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256),address,address,address[]),(uint256,string))":"8659ffdd","deactivateMemberInStrategy(address,address)":"22bcf999","decreasePower(uint256)":"5ecf71c5","enabledStrategies(address)":"3a871fe1","feeReceiver()":"b3f00674","gardenToken()":"db61d65c","getBasisStakedAmount()":"0331383c","getMemberPowerInStrategy(address,address)":"7817ee4f","getMemberStakedAmount(address)":"2c611c4a","getRoleAdmin(bytes32)":"248a9ca3","getStakeAmountWithFees()":"28c309e9","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","increasePower(uint256)":"559de05d","initialize((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string),address,address,address)":"34196355","initialize(address)":"c4d66de8","isCouncilMember(address)":"ebd7dc52","isKickEnabled()":"1f787d28","isMember(address)":"a230c524","kickMember(address,address)":"6871eb4d","memberActivatedInStrategies(address,address)":"477a5cc0","memberPowerInStrategy(address,address)":"65e3864c","owner()":"8da5cb5b","pendingCouncilSafe()":"68decabb","profileId()":"08386eba","proxiableUUID()":"52d1902d","registerStakeAmount()":"78a0b8a9","registry()":"7b103999","registryFactory()":"f86c5f89","removeStrategy(address)":"175188e8","removeStrategyByPoolId(uint256)":"73265c37","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setBasisStakedAmount(uint256)":"31f61bca","setCollateralVaultTemplate(address)":"b0d3713a","setCommunityFee(uint256)":"0d12bbdb","setCouncilSafe(address)":"397e2543","setStrategyTemplate(address)":"1b71f0e4","stakeAndRegisterMember()":"3517aa7d","strategiesByMember(address,uint256)":"2b38c69c","strategyTemplate()":"5c94e4d2","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","unregisterMember()":"b99b4370","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"CallerNotOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_decreaseAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_currentPower\",\"type\":\"uint256\"}],\"name\":\"CantDecreaseMoreThanPower\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DecreaseUnderMinimum\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"KickNotEnabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewFeeGreaterThanMax\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PointsDeactivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RegistryCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderNotNewOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderNotStrategy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyDisabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyActivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyDeactivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotGardenOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"UserNotInCouncil\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ValueCannotBeZero\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"}],\"name\":\"AlloSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newAmount\",\"type\":\"uint256\"}],\"name\":\"BasisStakedAmountSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newFee\",\"type\":\"uint256\"}],\"name\":\"CommunityFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safeOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newSafeOwner\",\"type\":\"address\"}],\"name\":\"CouncilSafeChangeStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"CouncilSafeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_pointsToIncrease\",\"type\":\"uint256\"}],\"name\":\"MemberActivatedStrategy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"MemberDeactivatedStrategy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_transferAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountReturned\",\"type\":\"uint256\"}],\"name\":\"MemberKicked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_unstakedAmount\",\"type\":\"uint256\"}],\"name\":\"MemberPowerDecreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_stakedAmount\",\"type\":\"uint256\"}],\"name\":\"MemberPowerIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountStaked\",\"type\":\"uint256\"}],\"name\":\"MemberRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountReturned\",\"type\":\"uint256\"}],\"name\":\"MemberUnregistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"RegistryInitialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"StrategyAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COUNCIL_MEMBER\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_FEE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PRECISION_SCALE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"acceptCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"activateMemberInStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newStrategy\",\"type\":\"address\"}],\"name\":\"addStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"name\":\"addStrategyByPoolId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"addressToMemberInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isRegistered\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo\",\"outputs\":[{\"internalType\":\"contract FAllo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"checkAllowlistRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloneNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateralVaultTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"communityFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"communityName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"covenantIpfsHash\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"initialAllowlist\",\"type\":\"address[]\"}],\"internalType\":\"struct StrategyStruct2.InitializeParams\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"initialAllowlist\",\"type\":\"address[]\"}],\"internalType\":\"struct StrategyStruct2.InitializeParams\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"deactivateMemberInStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountUnstaked\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"enabledStrategies\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardenToken\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasisStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"getMemberPowerInStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"getMemberStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStakeAmountWithFees\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountStaked\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"}],\"internalType\":\"struct RegistryCommunityV0_0.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isCouncilMember\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isKickEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMember\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isMember\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_transferAddress\",\"type\":\"address\"}],\"name\":\"kickMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"memberActivatedInStrategies\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isActivated\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"memberPowerInStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingCouncilSafe\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profileId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registerStakeAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"name\":\"removeStrategyByPoolId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newAmount\",\"type\":\"uint256\"}],\"name\":\"setBasisStakedAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setCollateralVaultTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newCommunityFee\",\"type\":\"uint256\"}],\"name\":\"setCommunityFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"setCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setStrategyTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stakeAndRegisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"strategiesByMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"strategiesAddresses\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategyTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unregisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"RegistryCommunityV0_0\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"COUNCIL_MEMBER()\":{\"notice\":\"Role to council safe members\"},\"MAX_FEE()\":{\"notice\":\"The maximum fee that can be charged to the community\"},\"NATIVE()\":{\"notice\":\"The native address to represent native token eg: ETH in mainnet\"},\"PRECISION_SCALE()\":{\"notice\":\"The precision scale used in the contract to avoid loss of precision\"},\"addressToMemberInfo(address)\":{\"notice\":\"Member information as the staked amount and if is registered in the community\"},\"allo()\":{\"notice\":\"The Allo contract address\"},\"cloneNonce()\":{\"notice\":\"The nonce used to create new strategy clones\"},\"collateralVaultTemplate()\":{\"notice\":\"The address of the collateral vault template\"},\"communityFee()\":{\"notice\":\"The fee charged to the community for each registration\"},\"communityName()\":{\"notice\":\"The community name\"},\"councilSafe()\":{\"notice\":\"The council safe contract address\"},\"covenantIpfsHash()\":{\"notice\":\"The covenant IPFS hash of community\"},\"enabledStrategies(address)\":{\"notice\":\"List of enabled/disabled strategies\"},\"feeReceiver()\":{\"notice\":\"The address that receives the community fee\"},\"gardenToken()\":{\"notice\":\"The token used to stake in the community\"},\"isKickEnabled()\":{\"notice\":\"Enable or disable the kick feature\"},\"memberActivatedInStrategies(address,address)\":{\"notice\":\"Mapping to check if a member is activated in a strategy\"},\"memberPowerInStrategy(address,address)\":{\"notice\":\"Power points for each member in each strategy\"},\"pendingCouncilSafe()\":{\"notice\":\"The address of the pending council safe owner\"},\"profileId()\":{\"notice\":\"The profileId of the community in the Allo Registry\"},\"registerStakeAmount()\":{\"notice\":\"The amount of tokens required to register a member\"},\"registry()\":{\"notice\":\"The Registry Allo contract\"},\"registryFactory()\":{\"notice\":\"The address of the registry factory\"},\"strategiesByMember(address,uint256)\":{\"notice\":\"List of strategies for each member are activated\"},\"strategyTemplate()\":{\"notice\":\"The address of the strategy template\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol\":\"RegistryCommunityV0_1\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293\",\"dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x4301751ea11db320804edf82deeb83d694240d4ab92e96fd75272823a0e68cbe\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://17eb861b8e0b13b4fc31136dbb817f5bf9b0637dc1c0484b090e1e2121fc2595\",\"dweb:/ipfs/QmbYz9fngCp4FmvAJyP2NqSpxBJRJa573mTQ5R9nVsCJAg\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol\":{\"keccak256\":\"0x62c6f7fca9e1532f2cdff846efefc79a704fee448a309e6d8ecd385d839379c2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://50b2a568546d8d35ce4020154efc32fd99ecdf3ec0a7797cc78928dca0775fca\",\"dweb:/ipfs/QmR5wG5wRWVzLkho3pwDC3t8ABRpUMwBSq6hZukJNd3xPa\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xaea628cb12b8c0dd868c04c935f99ab50c88372f130ce2ced0c7b2b3ce780381\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://22eb93eaf9fc1a9f591ed87dc478e8aabafb46e22ef870bba1345a799c44ba3d\",\"dweb:/ipfs/QmSAXa8UmtGNXNtVbmqPMyEpA3RZYqWjZvPoVFHCvjHjwj\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol\":{\"keccak256\":\"0x7367a8a82bee7dcc2db5e1b00e1b7a685357b04af220879b4dd91f8731a8a1ff\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c5b065857872e4f4d1ecd79c9dece1ae55e75202fdea114ccc4b592aaf81cc07\",\"dweb:/ipfs/Qmdptrz3HCp64YAVArpRxGwoPMtrDpjnZ17VqQhhKzrnzX\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"type":"error","name":"CallerNotOwner"},{"inputs":[{"internalType":"uint256","name":"_decreaseAmount","type":"uint256"},{"internalType":"uint256","name":"_currentPower","type":"uint256"}],"type":"error","name":"CantDecreaseMoreThanPower"},{"inputs":[],"type":"error","name":"DecreaseUnderMinimum"},{"inputs":[],"type":"error","name":"KickNotEnabled"},{"inputs":[],"type":"error","name":"NewFeeGreaterThanMax"},{"inputs":[],"type":"error","name":"PointsDeactivated"},{"inputs":[],"type":"error","name":"RegistryCannotBeZero"},{"inputs":[],"type":"error","name":"SenderNotNewOwner"},{"inputs":[],"type":"error","name":"SenderNotStrategy"},{"inputs":[],"type":"error","name":"StrategyDisabled"},{"inputs":[],"type":"error","name":"StrategyExists"},{"inputs":[],"type":"error","name":"UserAlreadyActivated"},{"inputs":[],"type":"error","name":"UserAlreadyDeactivated"},{"inputs":[],"type":"error","name":"UserAlreadyRegistered"},{"inputs":[],"type":"error","name":"UserNotGardenOwner"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"type":"error","name":"UserNotInCouncil"},{"inputs":[],"type":"error","name":"UserNotInRegistry"},{"inputs":[],"type":"error","name":"ValueCannotBeZero"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"_allo","type":"address","indexed":false}],"type":"event","name":"AlloSet","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_newAmount","type":"uint256","indexed":false}],"type":"event","name":"BasisStakedAmountSet","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256","indexed":false}],"type":"event","name":"CommunityFeeUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_safeOwner","type":"address","indexed":false},{"internalType":"address","name":"_newSafeOwner","type":"address","indexed":false}],"type":"event","name":"CouncilSafeChangeStarted","anonymous":false},{"inputs":[{"internalType":"address","name":"_safe","type":"address","indexed":false}],"type":"event","name":"CouncilSafeSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false},{"internalType":"uint256","name":"_pointsToIncrease","type":"uint256","indexed":false}],"type":"event","name":"MemberActivatedStrategy","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"MemberDeactivatedStrategy","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_transferAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amountReturned","type":"uint256","indexed":false}],"type":"event","name":"MemberKicked","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_unstakedAmount","type":"uint256","indexed":false}],"type":"event","name":"MemberPowerDecreased","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_stakedAmount","type":"uint256","indexed":false}],"type":"event","name":"MemberPowerIncreased","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_amountStaked","type":"uint256","indexed":false}],"type":"event","name":"MemberRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_amountReturned","type":"uint256","indexed":false}],"type":"event","name":"MemberUnregistered","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false},{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"address","name":"_token","type":"address","indexed":false},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolCreated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32","indexed":false},{"internalType":"string","name":"_communityName","type":"string","indexed":false},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"RegistryInitialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"StrategyAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"COUNCIL_MEMBER","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PRECISION_SCALE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"acceptCouncilSafe"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"activateMemberInStrategy"},{"inputs":[{"internalType":"address","name":"_newStrategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addStrategy"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"addStrategyByPoolId"},{"inputs":[{"internalType":"address","name":"member","type":"address"}],"stateMutability":"view","type":"function","name":"addressToMemberInfo","outputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"bool","name":"isRegistered","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"allo","outputs":[{"internalType":"contract FAllo","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"checkAllowlistRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"cloneNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVaultTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"communityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"communityName","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"covenantIpfsHash","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"struct StrategyStruct.InitializeParams","name":"_params","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}]},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"struct StrategyStruct2.InitializeParams","name":"_params","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"},{"internalType":"address[]","name":"initialAllowlist","type":"address[]"}]},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"struct StrategyStruct2.InitializeParams","name":"_params","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"},{"internalType":"address[]","name":"initialAllowlist","type":"address[]"}]},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"struct StrategyStruct.InitializeParams","name":"_params","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}]},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivateMemberInStrategy"},{"inputs":[{"internalType":"uint256","name":"_amountUnstaked","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower"},{"inputs":[{"internalType":"address","name":"strategy","type":"address"}],"stateMutability":"view","type":"function","name":"enabledStrategies","outputs":[{"internalType":"bool","name":"isEnabled","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"feeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardenToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBasisStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"getMemberPowerInStrategy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"getMemberStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStakeAmountWithFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_amountStaked","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower"},{"inputs":[{"internalType":"struct RegistryCommunityV0_0.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"}]},{"internalType":"address","name":"_strategyTemplate","type":"address"},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isCouncilMember","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isKickEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isMember","outputs":[{"internalType":"bool","name":"_isMember","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_transferAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"kickMember"},{"inputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"address","name":"strategy","type":"address"}],"stateMutability":"view","type":"function","name":"memberActivatedInStrategies","outputs":[{"internalType":"bool","name":"isActivated","type":"bool"}]},{"inputs":[{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"member","type":"address"}],"stateMutability":"view","type":"function","name":"memberPowerInStrategy","outputs":[{"internalType":"uint256","name":"power","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pendingCouncilSafe","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profileId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registerStakeAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryFactory","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategy"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategyByPoolId"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"uint256","name":"_newAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setBasisStakedAmount"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCollateralVaultTemplate"},{"inputs":[{"internalType":"uint256","name":"_newCommunityFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityFee"},{"inputs":[{"internalType":"address payable","name":"_safe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCouncilSafe"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setStrategyTemplate"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stakeAndRegisterMember"},{"inputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"strategiesByMember","outputs":[{"internalType":"address","name":"strategiesAddresses","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"strategyTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"unregisterMember"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"COUNCIL_MEMBER()":{"notice":"Role to council safe members"},"MAX_FEE()":{"notice":"The maximum fee that can be charged to the community"},"NATIVE()":{"notice":"The native address to represent native token eg: ETH in mainnet"},"PRECISION_SCALE()":{"notice":"The precision scale used in the contract to avoid loss of precision"},"addressToMemberInfo(address)":{"notice":"Member information as the staked amount and if is registered in the community"},"allo()":{"notice":"The Allo contract address"},"cloneNonce()":{"notice":"The nonce used to create new strategy clones"},"collateralVaultTemplate()":{"notice":"The address of the collateral vault template"},"communityFee()":{"notice":"The fee charged to the community for each registration"},"communityName()":{"notice":"The community name"},"councilSafe()":{"notice":"The council safe contract address"},"covenantIpfsHash()":{"notice":"The covenant IPFS hash of community"},"enabledStrategies(address)":{"notice":"List of enabled/disabled strategies"},"feeReceiver()":{"notice":"The address that receives the community fee"},"gardenToken()":{"notice":"The token used to stake in the community"},"isKickEnabled()":{"notice":"Enable or disable the kick feature"},"memberActivatedInStrategies(address,address)":{"notice":"Mapping to check if a member is activated in a strategy"},"memberPowerInStrategy(address,address)":{"notice":"Power points for each member in each strategy"},"pendingCouncilSafe()":{"notice":"The address of the pending council safe owner"},"profileId()":{"notice":"The profileId of the community in the Allo Registry"},"registerStakeAmount()":{"notice":"The amount of tokens required to register a member"},"registry()":{"notice":"The Registry Allo contract"},"registryFactory()":{"notice":"The address of the registry factory"},"strategiesByMember(address,uint256)":{"notice":"List of strategies for each member are activated"},"strategyTemplate()":{"notice":"The address of the strategy template"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol":"RegistryCommunityV0_1"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2","urls":["bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293","dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x4301751ea11db320804edf82deeb83d694240d4ab92e96fd75272823a0e68cbe","urls":["bzz-raw://17eb861b8e0b13b4fc31136dbb817f5bf9b0637dc1c0484b090e1e2121fc2595","dweb:/ipfs/QmbYz9fngCp4FmvAJyP2NqSpxBJRJa573mTQ5R9nVsCJAg"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol":{"keccak256":"0x62c6f7fca9e1532f2cdff846efefc79a704fee448a309e6d8ecd385d839379c2","urls":["bzz-raw://50b2a568546d8d35ce4020154efc32fd99ecdf3ec0a7797cc78928dca0775fca","dweb:/ipfs/QmR5wG5wRWVzLkho3pwDC3t8ABRpUMwBSq6hZukJNd3xPa"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xaea628cb12b8c0dd868c04c935f99ab50c88372f130ce2ced0c7b2b3ce780381","urls":["bzz-raw://22eb93eaf9fc1a9f591ed87dc478e8aabafb46e22ef870bba1345a799c44ba3d","dweb:/ipfs/QmSAXa8UmtGNXNtVbmqPMyEpA3RZYqWjZvPoVFHCvjHjwj"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol":{"keccak256":"0x7367a8a82bee7dcc2db5e1b00e1b7a685357b04af220879b4dd91f8731a8a1ff","urls":["bzz-raw://c5b065857872e4f4d1ecd79c9dece1ae55e75202fdea114ccc4b592aaf81cc07","dweb:/ipfs/Qmdptrz3HCp64YAVArpRxGwoPMtrDpjnZ17VqQhhKzrnzX"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":52990,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52993,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53695,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52782,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52902,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":53167,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"_status","offset":0,"slot":"101","type":"t_uint256"},{"astId":53236,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":53969,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"__gap","offset":0,"slot":"151","type":"t_array(t_uint256)50_storage"},{"astId":52389,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"_roles","offset":0,"slot":"201","type":"t_mapping(t_bytes32,t_struct(RoleData)52384_storage)"},{"astId":52696,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"__gap","offset":0,"slot":"202","type":"t_array(t_uint256)49_storage"},{"astId":71016,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"registerStakeAmount","offset":0,"slot":"251","type":"t_uint256"},{"astId":71019,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"communityFee","offset":0,"slot":"252","type":"t_uint256"},{"astId":71022,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"cloneNonce","offset":0,"slot":"253","type":"t_uint256"},{"astId":71025,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"profileId","offset":0,"slot":"254","type":"t_bytes32"},{"astId":71028,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"isKickEnabled","offset":0,"slot":"255","type":"t_bool"},{"astId":71031,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"feeReceiver","offset":1,"slot":"255","type":"t_address"},{"astId":71034,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"registryFactory","offset":0,"slot":"256","type":"t_address"},{"astId":71037,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"collateralVaultTemplate","offset":0,"slot":"257","type":"t_address"},{"astId":71040,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"strategyTemplate","offset":0,"slot":"258","type":"t_address"},{"astId":71043,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"pendingCouncilSafe","offset":0,"slot":"259","type":"t_address_payable"},{"astId":71047,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"registry","offset":0,"slot":"260","type":"t_contract(IRegistry)2802"},{"astId":71051,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"gardenToken","offset":0,"slot":"261","type":"t_contract(IERC20)56528"},{"astId":71055,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"councilSafe","offset":0,"slot":"262","type":"t_contract(ISafe)74170"},{"astId":71059,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"allo","offset":0,"slot":"263","type":"t_contract(FAllo)73903"},{"astId":71062,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"communityName","offset":0,"slot":"264","type":"t_string_storage"},{"astId":71065,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"covenantIpfsHash","offset":0,"slot":"265","type":"t_string_storage"},{"astId":71070,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"enabledStrategies","offset":0,"slot":"266","type":"t_mapping(t_address,t_bool)"},{"astId":71077,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"memberPowerInStrategy","offset":0,"slot":"267","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":71083,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"addressToMemberInfo","offset":0,"slot":"268","type":"t_mapping(t_address,t_struct(Member)71224_storage)"},{"astId":71089,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"strategiesByMember","offset":0,"slot":"269","type":"t_mapping(t_address,t_array(t_address)dyn_storage)"},{"astId":71096,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"memberActivatedInStrategies","offset":0,"slot":"270","type":"t_mapping(t_address,t_mapping(t_address,t_bool))"},{"astId":71100,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"initialMembers","offset":0,"slot":"271","type":"t_array(t_address)dyn_storage"},{"astId":72743,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"__gap","offset":0,"slot":"272","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_address_payable":{"encoding":"inplace","label":"address payable","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(FAllo)73903":{"encoding":"inplace","label":"contract FAllo","numberOfBytes":"20"},"t_contract(IERC20)56528":{"encoding":"inplace","label":"contract IERC20","numberOfBytes":"20"},"t_contract(IRegistry)2802":{"encoding":"inplace","label":"contract IRegistry","numberOfBytes":"20"},"t_contract(ISafe)74170":{"encoding":"inplace","label":"contract ISafe","numberOfBytes":"20"},"t_mapping(t_address,t_array(t_address)dyn_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => address[])","numberOfBytes":"32","value":"t_array(t_address)dyn_storage"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_mapping(t_address,t_bool))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => bool))","numberOfBytes":"32","value":"t_mapping(t_address,t_bool)"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_struct(Member)71224_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct RegistryCommunityV0_0.Member)","numberOfBytes":"32","value":"t_struct(Member)71224_storage"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_bytes32,t_struct(RoleData)52384_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)52384_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Member)71224_storage":{"encoding":"inplace","label":"struct RegistryCommunityV0_0.Member","numberOfBytes":"96","members":[{"astId":71219,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"member","offset":0,"slot":"0","type":"t_address"},{"astId":71221,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"stakedAmount","offset":0,"slot":"1","type":"t_uint256"},{"astId":71223,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"isRegistered","offset":0,"slot":"2","type":"t_bool"}]},"t_struct(RoleData)52384_storage":{"encoding":"inplace","label":"struct AccessControlUpgradeable.RoleData","numberOfBytes":"64","members":[{"astId":52381,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"members","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":52383,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"adminRole","offset":0,"slot":"1","type":"t_bytes32"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol","id":72997,"exportedSymbols":{"CVStrategyV0_0":[69234],"ERC1967Proxy":[55021],"Metadata":[3098],"RegistryCommunityV0_0":[72744],"RegistryCommunityV0_1":[72996],"StrategyStruct2":[69274],"console":[29510]},"nodeType":"SourceUnit","src":"42:2626:108","nodes":[{"id":72746,"nodeType":"PragmaDirective","src":"42:24:108","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":72748,"nodeType":"ImportDirective","src":"68:46:108","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":72997,"sourceUnit":29511,"symbolAliases":[{"foreign":{"id":72747,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29510,"src":"76:7:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72753,"nodeType":"ImportDirective","src":"115:106:108","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol","file":"./RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":72997,"sourceUnit":72745,"symbolAliases":[{"foreign":{"id":72749,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72744,"src":"123:21:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72750,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"146:8:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72751,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55021,"src":"156:12:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72752,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69234,"src":"170:14:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72755,"nodeType":"ImportDirective","src":"222:65:108","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol","file":"../CVStrategy/CVStrategyV0_1.sol","nameLocation":"-1:-1:-1","scope":72997,"sourceUnit":69800,"symbolAliases":[{"foreign":{"id":72754,"name":"StrategyStruct2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69274,"src":"230:15:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72996,"nodeType":"ContractDefinition","src":"340:2327:108","nodes":[{"id":72779,"nodeType":"FunctionDefinition","src":"402:190:108","nodes":[],"body":{"id":72778,"nodeType":"Block","src":"500:92:108","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"414c4c4f574c495354","id":72771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"552:11:108","typeDescriptions":{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},"value":"ALLOWLIST"},{"id":72772,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72762,"src":"565:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72769,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"535:3:108","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":72770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"539:12:108","memberName":"encodePacked","nodeType":"MemberAccess","src":"535:16:108","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":72773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"535:38:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":72768,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"525:9:108","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":72774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"525:49:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":72775,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72760,"src":"576:8:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":72767,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52456,"src":"517:7:108","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":72776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"517:68:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":72766,"id":72777,"nodeType":"Return","src":"510:75:108"}]},"functionSelector":"3ede95f6","implemented":true,"kind":"function","modifiers":[],"name":"checkAllowlistRole","nameLocation":"411:18:108","parameters":{"id":72763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72760,"mutability":"mutable","name":"_account","nameLocation":"438:8:108","nodeType":"VariableDeclaration","scope":72779,"src":"430:16:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72759,"name":"address","nodeType":"ElementaryTypeName","src":"430:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72762,"mutability":"mutable","name":"_poolId","nameLocation":"456:7:108","nodeType":"VariableDeclaration","scope":72779,"src":"448:15:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72761,"name":"uint256","nodeType":"ElementaryTypeName","src":"448:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"429:35:108"},"returnParameters":{"id":72766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72765,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":72779,"src":"494:4:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72764,"name":"bool","nodeType":"ElementaryTypeName","src":"494:4:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"493:6:108"},"scope":72996,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":72923,"nodeType":"FunctionDefinition","src":"598:1399:108","nodes":[],"body":{"id":72922,"nodeType":"Block","src":"796:1201:108","nodes":[],"statements":[{"assignments":[72795],"declarations":[{"constant":false,"id":72795,"mutability":"mutable","name":"strategyProxy","nameLocation":"814:13:108","nodeType":"VariableDeclaration","scope":72922,"src":"806:21:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72794,"name":"address","nodeType":"ElementaryTypeName","src":"806:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":72820,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":72803,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71040,"src":"893:16:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72802,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"885:7:108","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72801,"name":"address","nodeType":"ElementaryTypeName","src":"885:7:108","typeDescriptions":{}}},"id":72804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"885:25:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":72807,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69234,"src":"951:14:108","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategyV0_0_$69234_$","typeString":"type(contract CVStrategyV0_0)"}},"id":72808,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"966:4:108","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":66001,"src":"951:19:108","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function CVStrategyV0_0.init(address,address,address)"}},"id":72809,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"971:8:108","memberName":"selector","nodeType":"MemberAccess","src":"951:28:108","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":72812,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71059,"src":"989:4:108","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$73903","typeString":"contract FAllo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_FAllo_$73903","typeString":"contract FAllo"}],"id":72811,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"981:7:108","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72810,"name":"address","nodeType":"ElementaryTypeName","src":"981:7:108","typeDescriptions":{}}},"id":72813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"981:13:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72814,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71037,"src":"996:23:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":72815,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[70732],"referencedDeclaration":70732,"src":"1021:5:108","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":72816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1021:7:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":72805,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"928:3:108","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":72806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"932:18:108","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"928:22:108","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":72817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"928:101:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":72800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"851:16:108","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55021_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":72799,"nodeType":"UserDefinedTypeName","pathNode":{"id":72798,"name":"ERC1967Proxy","nameLocations":["855:12:108"],"nodeType":"IdentifierPath","referencedDeclaration":55021,"src":"855:12:108"},"referencedDeclaration":55021,"src":"855:12:108","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}},"id":72818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"851:192:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}],"id":72797,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"830:7:108","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72796,"name":"address","nodeType":"ElementaryTypeName","src":"830:7:108","typeDescriptions":{}}},"id":72819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"830:223:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"806:247:108"},{"expression":{"id":72830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":72821,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72790,"src":"1064:6:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":72822,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72792,"src":"1072:8:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":72823,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"1063:18:108","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_address_$","typeString":"tuple(uint256,address)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":72825,"name":"strategyProxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72795,"src":"1095:13:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72826,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72781,"src":"1110:6:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72827,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72784,"src":"1118:7:108","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},{"id":72828,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72787,"src":"1127:9:108","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":72824,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[72923,72995,71577,71649],"referencedDeclaration":72995,"src":"1084:10:108","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_struct$_InitializeParams_$69273_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$_t_uint256_$_t_address_$","typeString":"function (address,address,struct StrategyStruct2.InitializeParams memory,struct Metadata memory) returns (uint256,address)"}},"id":72829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1084:53:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_address_$","typeString":"tuple(uint256,address)"}},"src":"1063:74:108","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72831,"nodeType":"ExpressionStatement","src":"1063:74:108"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":72841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":72834,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72784,"src":"1160:7:108","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":72835,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1168:11:108","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":69269,"src":"1160:19:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72833,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1152:7:108","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72832,"name":"address","nodeType":"ElementaryTypeName","src":"1152:7:108","typeDescriptions":{}}},"id":72836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1152:28:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":72839,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1192:1:108","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":72838,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1184:7:108","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72837,"name":"address","nodeType":"ElementaryTypeName","src":"1184:7:108","typeDescriptions":{}}},"id":72840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1184:10:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1152:42:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72893,"nodeType":"IfStatement","src":"1148:534:108","trueBody":{"id":72892,"nodeType":"Block","src":"1196:486:108","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":72842,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72784,"src":"1214:7:108","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":72843,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1222:16:108","memberName":"initialAllowlist","nodeType":"MemberAccess","referencedDeclaration":69272,"src":"1214:24:108","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":72844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1239:6:108","memberName":"length","nodeType":"MemberAccess","src":"1214:31:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31303030","id":72845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1248:4:108","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"},"src":"1214:38:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72852,"nodeType":"IfStatement","src":"1210:134:108","trueBody":{"id":72851,"nodeType":"Block","src":"1254:90:108","statements":[{"expression":{"arguments":[{"hexValue":"546f6f206d616e7920696e697469616c20616c6c6f776c697374206d656d626572732c206d61782069732031303030","id":72848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1279:49:108","typeDescriptions":{"typeIdentifier":"t_stringliteral_54b5b495f7a4396dff1eba508663bf9c4bcd13232e33466a93c0b6f443ee89c3","typeString":"literal_string \"Too many initial allowlist members, max is 1000\""},"value":"Too many initial allowlist members, max is 1000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_54b5b495f7a4396dff1eba508663bf9c4bcd13232e33466a93c0b6f443ee89c3","typeString":"literal_string \"Too many initial allowlist members, max is 1000\""}],"id":72847,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"1272:6:108","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":72849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1272:57:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72850,"nodeType":"ExpressionStatement","src":"1272:57:108"}]}},{"assignments":[72854],"declarations":[{"constant":false,"id":72854,"mutability":"mutable","name":"allowlistRole","nameLocation":"1365:13:108","nodeType":"VariableDeclaration","scope":72892,"src":"1357:21:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":72853,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1357:7:108","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":72862,"initialValue":{"arguments":[{"arguments":[{"hexValue":"414c4c4f574c495354","id":72858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1408:11:108","typeDescriptions":{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},"value":"ALLOWLIST"},{"id":72859,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72790,"src":"1421:6:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72856,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1391:3:108","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":72857,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1395:12:108","memberName":"encodePacked","nodeType":"MemberAccess","src":"1391:16:108","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":72860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1391:37:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":72855,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1381:9:108","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":72861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1381:48:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"1357:72:108"},{"body":{"id":72890,"nodeType":"Block","src":"1505:167:108","statements":[{"expression":{"arguments":[{"hexValue":"4772616e74696e6720726f6c65207769746820706f6f6c20696420696e2072656769737472793a","id":72878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1535:41:108","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ed2d55e759bb691c8658f6b8d1240809774d9d9f8c587f66f5472b95cbd0828","typeString":"literal_string \"Granting role with pool id in registry:\""},"value":"Granting role with pool id in registry:"},{"id":72879,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72790,"src":"1578:6:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ed2d55e759bb691c8658f6b8d1240809774d9d9f8c587f66f5472b95cbd0828","typeString":"literal_string \"Granting role with pool id in registry:\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72875,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29510,"src":"1523:7:108","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29510_$","typeString":"type(library console)"}},"id":72877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1531:3:108","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22154,"src":"1523:11:108","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":72880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1523:62:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72881,"nodeType":"ExpressionStatement","src":"1523:62:108"},{"expression":{"arguments":[{"id":72883,"name":"allowlistRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72854,"src":"1614:13:108","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"expression":{"id":72884,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72784,"src":"1629:7:108","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":72885,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1637:16:108","memberName":"initialAllowlist","nodeType":"MemberAccess","referencedDeclaration":69272,"src":"1629:24:108","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":72887,"indexExpression":{"id":72886,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72864,"src":"1654:1:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1629:27:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":72882,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52660,"src":"1603:10:108","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":72888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1603:54:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72889,"nodeType":"ExpressionStatement","src":"1603:54:108"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72867,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72864,"src":"1463:1:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"expression":{"id":72868,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72784,"src":"1467:7:108","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},"id":72869,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1475:16:108","memberName":"initialAllowlist","nodeType":"MemberAccess","referencedDeclaration":69272,"src":"1467:24:108","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":72870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1492:6:108","memberName":"length","nodeType":"MemberAccess","src":"1467:31:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1463:35:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72891,"initializationExpression":{"assignments":[72864],"declarations":[{"constant":false,"id":72864,"mutability":"mutable","name":"i","nameLocation":"1456:1:108","nodeType":"VariableDeclaration","scope":72891,"src":"1448:9:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72863,"name":"uint256","nodeType":"ElementaryTypeName","src":"1448:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":72866,"initialValue":{"hexValue":"30","id":72865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1460:1:108","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"1448:13:108"},"loopExpression":{"expression":{"id":72873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"1500:3:108","subExpression":{"id":72872,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72864,"src":"1500:1:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72874,"nodeType":"ExpressionStatement","src":"1500:3:108"},"nodeType":"ForStatement","src":"1443:229:108"}]}},{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"414c4c4f574c495354","id":72898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1817:11:108","typeDescriptions":{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},"value":"ALLOWLIST"},{"id":72899,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72790,"src":"1830:6:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72896,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1800:3:108","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":72897,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1804:12:108","memberName":"encodePacked","nodeType":"MemberAccess","src":"1800:16:108","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":72900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1800:37:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":72895,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1790:9:108","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":72901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1790:48:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"hexValue":"414c4c4f574c4953545f41444d494e","id":72905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1867:17:108","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d5ac11ce98a7539557343d2c66c127dd8d0e8fb181c5ec16cb674ddf827d109","typeString":"literal_string \"ALLOWLIST_ADMIN\""},"value":"ALLOWLIST_ADMIN"},{"id":72906,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72790,"src":"1886:6:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d5ac11ce98a7539557343d2c66c127dd8d0e8fb181c5ec16cb674ddf827d109","typeString":"literal_string \"ALLOWLIST_ADMIN\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72903,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1850:3:108","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":72904,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1854:12:108","memberName":"encodePacked","nodeType":"MemberAccess","src":"1850:16:108","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":72907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1850:43:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":72902,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1840:9:108","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":72908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1840:54:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":72894,"name":"_setRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52628,"src":"1763:13:108","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":72909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1763:141:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72910,"nodeType":"ExpressionStatement","src":"1763:141:108"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"414c4c4f574c4953545f41444d494e","id":72915,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1952:17:108","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d5ac11ce98a7539557343d2c66c127dd8d0e8fb181c5ec16cb674ddf827d109","typeString":"literal_string \"ALLOWLIST_ADMIN\""},"value":"ALLOWLIST_ADMIN"},{"id":72916,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72790,"src":"1971:6:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d5ac11ce98a7539557343d2c66c127dd8d0e8fb181c5ec16cb674ddf827d109","typeString":"literal_string \"ALLOWLIST_ADMIN\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72913,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1935:3:108","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":72914,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1939:12:108","memberName":"encodePacked","nodeType":"MemberAccess","src":"1935:16:108","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":72917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1935:43:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":72912,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1925:9:108","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":72918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1925:54:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":72919,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72792,"src":"1981:8:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":72911,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52660,"src":"1914:10:108","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":72920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1914:76:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72921,"nodeType":"ExpressionStatement","src":"1914:76:108"}]},"functionSelector":"579eb7e5","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"607:10:108","parameters":{"id":72788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72781,"mutability":"mutable","name":"_token","nameLocation":"626:6:108","nodeType":"VariableDeclaration","scope":72923,"src":"618:14:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72780,"name":"address","nodeType":"ElementaryTypeName","src":"618:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72784,"mutability":"mutable","name":"_params","nameLocation":"674:7:108","nodeType":"VariableDeclaration","scope":72923,"src":"634:47:108","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams"},"typeName":{"id":72783,"nodeType":"UserDefinedTypeName","pathNode":{"id":72782,"name":"StrategyStruct2.InitializeParams","nameLocations":["634:15:108","650:16:108"],"nodeType":"IdentifierPath","referencedDeclaration":69273,"src":"634:32:108"},"referencedDeclaration":69273,"src":"634:32:108","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_storage_ptr","typeString":"struct StrategyStruct2.InitializeParams"}},"visibility":"internal"},{"constant":false,"id":72787,"mutability":"mutable","name":"_metadata","nameLocation":"699:9:108","nodeType":"VariableDeclaration","scope":72923,"src":"683:25:108","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":72786,"nodeType":"UserDefinedTypeName","pathNode":{"id":72785,"name":"Metadata","nameLocations":["683:8:108"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"683:8:108"},"referencedDeclaration":3098,"src":"683:8:108","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"617:92:108"},"returnParameters":{"id":72793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72790,"mutability":"mutable","name":"poolId","nameLocation":"766:6:108","nodeType":"VariableDeclaration","scope":72923,"src":"758:14:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72789,"name":"uint256","nodeType":"ElementaryTypeName","src":"758:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72792,"mutability":"mutable","name":"strategy","nameLocation":"782:8:108","nodeType":"VariableDeclaration","scope":72923,"src":"774:16:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72791,"name":"address","nodeType":"ElementaryTypeName","src":"774:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"757:34:108"},"scope":72996,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72995,"nodeType":"FunctionDefinition","src":"2003:662:108","nodes":[],"body":{"id":72994,"nodeType":"Block","src":"2230:435:108","nodes":[],"statements":[{"assignments":[72941],"declarations":[{"constant":false,"id":72941,"mutability":"mutable","name":"token","nameLocation":"2248:5:108","nodeType":"VariableDeclaration","scope":72994,"src":"2240:13:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72940,"name":"address","nodeType":"ElementaryTypeName","src":"2240:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":72943,"initialValue":{"id":72942,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71001,"src":"2256:6:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2240:22:108"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":72949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72944,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72927,"src":"2276:6:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":72947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2294:1:108","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":72946,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2286:7:108","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72945,"name":"address","nodeType":"ElementaryTypeName","src":"2286:7:108","typeDescriptions":{}}},"id":72948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2286:10:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2276:20:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72955,"nodeType":"IfStatement","src":"2272:65:108","trueBody":{"id":72954,"nodeType":"Block","src":"2298:39:108","statements":[{"expression":{"id":72952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72950,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72941,"src":"2312:5:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72951,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72927,"src":"2320:6:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2312:14:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72953,"nodeType":"ExpressionStatement","src":"2312:14:108"}]}},{"expression":{"id":72958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72956,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72938,"src":"2346:8:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72957,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72925,"src":"2357:9:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2346:20:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72959,"nodeType":"ExpressionStatement","src":"2346:20:108"},{"assignments":[72964],"declarations":[{"constant":false,"id":72964,"mutability":"mutable","name":"_pool_managers","nameLocation":"2394:14:108","nodeType":"VariableDeclaration","scope":72994,"src":"2377:31:108","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":72962,"name":"address","nodeType":"ElementaryTypeName","src":"2377:7:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72963,"nodeType":"ArrayTypeName","src":"2377:9:108","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":72966,"initialValue":{"id":72965,"name":"initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71100,"src":"2411:14:108","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"2377:48:108"},{"expression":{"id":72981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72967,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72936,"src":"2436:6:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":72970,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71025,"src":"2492:9:108","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":72971,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72938,"src":"2503:8:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":72974,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72930,"src":"2524:7:108","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}],"expression":{"id":72972,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2513:3:108","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":72973,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2517:6:108","memberName":"encode","nodeType":"MemberAccess","src":"2513:10:108","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":72975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2513:19:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":72976,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72941,"src":"2534:5:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":72977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2541:1:108","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":72978,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72933,"src":"2544:9:108","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":72979,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72964,"src":"2555:14:108","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":72968,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71059,"src":"2445:4:108","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$73903","typeString":"contract FAllo"}},"id":72969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2450:28:108","memberName":"createPoolWithCustomStrategy","nodeType":"MemberAccess","referencedDeclaration":73889,"src":"2445:33:108","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,address,bytes memory,address,uint256,struct Metadata memory,address[] memory) payable external returns (uint256)"}},"id":72980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2445:134:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2436:143:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72982,"nodeType":"ExpressionStatement","src":"2436:143:108"},{"eventCall":{"arguments":[{"id":72984,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72936,"src":"2607:6:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":72985,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72938,"src":"2615:8:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":72988,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2633:4:108","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}],"id":72987,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2625:7:108","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72986,"name":"address","nodeType":"ElementaryTypeName","src":"2625:7:108","typeDescriptions":{}}},"id":72989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2625:13:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72990,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72927,"src":"2640:6:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72991,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72933,"src":"2648:9:108","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":72983,"name":"PoolCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70915,"src":"2595:11:108","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (uint256,address,address,address,struct Metadata memory)"}},"id":72992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2595:63:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72993,"nodeType":"EmitStatement","src":"2590:68:108"}]},"functionSelector":"8659ffdd","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"2012:10:108","parameters":{"id":72934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72925,"mutability":"mutable","name":"_strategy","nameLocation":"2040:9:108","nodeType":"VariableDeclaration","scope":72995,"src":"2032:17:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72924,"name":"address","nodeType":"ElementaryTypeName","src":"2032:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72927,"mutability":"mutable","name":"_token","nameLocation":"2067:6:108","nodeType":"VariableDeclaration","scope":72995,"src":"2059:14:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72926,"name":"address","nodeType":"ElementaryTypeName","src":"2059:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72930,"mutability":"mutable","name":"_params","nameLocation":"2123:7:108","nodeType":"VariableDeclaration","scope":72995,"src":"2083:47:108","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams"},"typeName":{"id":72929,"nodeType":"UserDefinedTypeName","pathNode":{"id":72928,"name":"StrategyStruct2.InitializeParams","nameLocations":["2083:15:108","2099:16:108"],"nodeType":"IdentifierPath","referencedDeclaration":69273,"src":"2083:32:108"},"referencedDeclaration":69273,"src":"2083:32:108","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_storage_ptr","typeString":"struct StrategyStruct2.InitializeParams"}},"visibility":"internal"},{"constant":false,"id":72933,"mutability":"mutable","name":"_metadata","nameLocation":"2156:9:108","nodeType":"VariableDeclaration","scope":72995,"src":"2140:25:108","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":72932,"nodeType":"UserDefinedTypeName","pathNode":{"id":72931,"name":"Metadata","nameLocations":["2140:8:108"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2140:8:108"},"referencedDeclaration":3098,"src":"2140:8:108","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"2022:149:108"},"returnParameters":{"id":72939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72936,"mutability":"mutable","name":"poolId","nameLocation":"2204:6:108","nodeType":"VariableDeclaration","scope":72995,"src":"2196:14:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72935,"name":"uint256","nodeType":"ElementaryTypeName","src":"2196:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72938,"mutability":"mutable","name":"strategy","nameLocation":"2220:8:108","nodeType":"VariableDeclaration","scope":72995,"src":"2212:16:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72937,"name":"address","nodeType":"ElementaryTypeName","src":"2212:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2195:34:108"},"scope":72996,"stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":72757,"name":"RegistryCommunityV0_0","nameLocations":["374:21:108"],"nodeType":"IdentifierPath","referencedDeclaration":72744,"src":"374:21:108"},"id":72758,"nodeType":"InheritanceSpecifier","src":"374:21:108"}],"canonicalName":"RegistryCommunityV0_1","contractDependencies":[55021],"contractKind":"contract","documentation":{"id":72756,"nodeType":"StructuredDocumentation","src":"289:51:108","text":"@custom:oz-upgrades-from RegistryCommunityV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[72996,72744,52697,53970,53982,52770,53237,70754,55672,55325,54974,54984,52903,53696,53152],"name":"RegistryCommunityV0_1","nameLocation":"349:21:108","scope":72997,"usedErrors":[70677,70917,70919,70923,70925,70927,70929,70931,70933,70935,70937,70939,70941,70943,70945,70947,70949,70951,70957]}],"license":"AGPL-3.0-only"},"id":108} \ No newline at end of file +{"abi":[{"type":"function","name":"COUNCIL_MEMBER","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MAX_FEE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"PRECISION_SCALE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"acceptCouncilSafe","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"activateMemberInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategy","inputs":[{"name":"_newStrategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategyByPoolId","inputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addressToMemberInfo","inputs":[{"name":"member","type":"address","internalType":"address"}],"outputs":[{"name":"member","type":"address","internalType":"address"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"isRegistered","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract FAllo"}],"stateMutability":"view"},{"type":"function","name":"cloneNonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"collateralVaultTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"communityFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"communityName","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"view"},{"type":"function","name":"covenantIpfsHash","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"createPool","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_params","type":"tuple","internalType":"struct CVStrategyInitializeParamsV0_0","components":[{"name":"cvParams","type":"tuple","internalType":"struct CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"},{"name":"strategy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_params","type":"tuple","internalType":"struct CVStrategyInitializeParamsV0_1","components":[{"name":"cvParams","type":"tuple","internalType":"struct CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"},{"name":"initialAllowlist","type":"address[]","internalType":"address[]"}]},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"},{"name":"strategy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"_strategy","type":"address","internalType":"address"},{"name":"_token","type":"address","internalType":"address"},{"name":"_params","type":"tuple","internalType":"struct CVStrategyInitializeParamsV0_1","components":[{"name":"cvParams","type":"tuple","internalType":"struct CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"},{"name":"initialAllowlist","type":"address[]","internalType":"address[]"}]},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"},{"name":"strategy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"_strategy","type":"address","internalType":"address"},{"name":"_token","type":"address","internalType":"address"},{"name":"_params","type":"tuple","internalType":"struct CVStrategyInitializeParamsV0_0","components":[{"name":"cvParams","type":"tuple","internalType":"struct CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"}]},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"},{"name":"strategy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deactivateMemberInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_amountUnstaked","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"enabledStrategies","inputs":[{"name":"strategy","type":"address","internalType":"address"}],"outputs":[{"name":"isEnabled","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"feeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"gardenToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IERC20"}],"stateMutability":"view"},{"type":"function","name":"getBasisStakedAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMemberPowerInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMemberStakedAmount","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStakeAmountWithFees","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"increasePower","inputs":[{"name":"_amountStaked","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunityInitializeParamsV0_0","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"}]},{"name":"_strategyTemplate","type":"address","internalType":"address"},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"},{"name":"_owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initialOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCouncilMember","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isKickEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isMember","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"_isMember","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"kickMember","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_transferAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"memberActivatedInStrategies","inputs":[{"name":"member","type":"address","internalType":"address"},{"name":"strategy","type":"address","internalType":"address"}],"outputs":[{"name":"isActivated","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"memberPowerInStrategy","inputs":[{"name":"strategy","type":"address","internalType":"address"},{"name":"member","type":"address","internalType":"address"}],"outputs":[{"name":"power","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingCouncilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"profileId","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerStakeAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"registryFactory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"removeStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeStrategyByPoolId","inputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setBasisStakedAmount","inputs":[{"name":"_newAmount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCollateralVaultTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityFee","inputs":[{"name":"_newCommunityFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCouncilSafe","inputs":[{"name":"_safe","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStrategyTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stakeAndRegisterMember","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategiesByMember","inputs":[{"name":"member","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"strategiesAddresses","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"strategyTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterMember","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AlloSet","inputs":[{"name":"_allo","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BasisStakedAmountSet","inputs":[{"name":"_newAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityFeeUpdated","inputs":[{"name":"_newFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CouncilSafeChangeStarted","inputs":[{"name":"_safeOwner","type":"address","indexed":false,"internalType":"address"},{"name":"_newSafeOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CouncilSafeSet","inputs":[{"name":"_safe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"MemberActivatedStrategy","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"},{"name":"_pointsToIncrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberDeactivatedStrategy","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MemberKicked","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_transferAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amountReturned","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberPowerDecreased","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_unstakedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberPowerIncreased","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_stakedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberRegistered","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_amountStaked","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberUnregistered","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_amountReturned","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PoolCreated","inputs":[{"name":"_poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"},{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_token","type":"address","indexed":false,"internalType":"address"},{"name":"_metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RegistryInitialized","inputs":[{"name":"_profileId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"_communityName","type":"string","indexed":false,"internalType":"string"},{"name":"_metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyAdded","inputs":[{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CallerNotOwner","inputs":[{"name":"_caller","type":"address","internalType":"address"},{"name":"_owner","type":"address","internalType":"address"}]},{"type":"error","name":"CantDecreaseMoreThanPower","inputs":[{"name":"_decreaseAmount","type":"uint256","internalType":"uint256"},{"name":"_currentPower","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"DecreaseUnderMinimum","inputs":[]},{"type":"error","name":"KickNotEnabled","inputs":[]},{"type":"error","name":"NewFeeGreaterThanMax","inputs":[]},{"type":"error","name":"PointsDeactivated","inputs":[]},{"type":"error","name":"RegistryCannotBeZero","inputs":[]},{"type":"error","name":"SenderNotNewOwner","inputs":[]},{"type":"error","name":"SenderNotStrategy","inputs":[]},{"type":"error","name":"StrategyDisabled","inputs":[]},{"type":"error","name":"StrategyExists","inputs":[]},{"type":"error","name":"UserAlreadyActivated","inputs":[]},{"type":"error","name":"UserAlreadyDeactivated","inputs":[]},{"type":"error","name":"UserAlreadyRegistered","inputs":[]},{"type":"error","name":"UserNotGardenOwner","inputs":[]},{"type":"error","name":"UserNotInCouncil","inputs":[{"name":"_user","type":"address","internalType":"address"}]},{"type":"error","name":"UserNotInRegistry","inputs":[]},{"type":"error","name":"ValueCannotBeZero","inputs":[]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b506080516160a36200004d60003960008181611e4301528181611e8601528181611f8101528181611fc4015261211601526160a36000f3fe608060405260043610620003445760003560e01c806301ffc9a714620003495780630331383c146200038357806308386eba14620003a45780630d12bbdb14620003bc5780630d4a8b4914620003e3578063175188e814620004085780631b71f0e4146200042d5780631f787d281462000452578063223e5479146200046d57806322bcf9991462000492578063248a9ca314620004b757806328c309e914620004dc5780632b38c69c14620004f45780632c611c4a14620005285780632f2ff15d146200056657806331f61bca146200058b5780633396045914620005b05780633419635514620005c85780633517aa7d14620005ed57806336568abe14620006055780633659cfe6146200062a578063397e2543146200064f5780633a871fe11462000674578063477a5cc014620006a95780634f1ef28614620006e9578063524e59e8146200070057806352d1902d1462000743578063559de05d146200075b578063579eb7e514620007805780635c94e4d214620007a55780635ecf71c514620007c857806365e3864c14620007ed5780636871eb4d146200082a57806368decabb146200084f5780636c53db9a1462000872578063715018a6146200089557806373265c3714620008ad578063733a2d1f14620008d257806377122d5614620008f75780637817ee4f146200091a57806378a0b8a914620009655780637b103999146200097d57806382d6a1e714620009a05780638659ffdd14620009c557806388cfe68414620009ea5780638961be6b1462000a605780638da5cb5b1462000a7857806391d148541462000a90578063a0cf0aea1462000ab5578063a217fddf1462000adf578063a230c5241462000af6578063b0d3713a1462000b1b578063b3f006741462000b40578063b5058c501462000b67578063b64e39af1462000b7f578063b99b43701462000ba6578063bc063e1a1462000bbe578063c4d66de81462000bd6578063c6d572ae1462000bfb578063d547741f1462000c13578063d6d8428d1462000c38578063d7050f071462000c5b578063db61d65c1462000c73578063e16d0e321462000c96578063ebd7dc521462000cbb578063f2fde38b1462000ce0578063f86c5f891462000d05578063ffa1ad741462000d28575b600080fd5b3480156200035657600080fd5b506200036e6200036836600462004538565b62000d59565b60405190151581526020015b60405180910390f35b3480156200039057600080fd5b5060fb545b6040519081526020016200037a565b348015620003b157600080fd5b506200039560fe5481565b348015620003c957600080fd5b50620003e1620003db36600462004564565b62000d91565b005b348015620003f057600080fd5b50620003e162000402366004620045a6565b62000e07565b3480156200041557600080fd5b50620003e162000427366004620045e4565b6200118a565b3480156200043a57600080fd5b50620003e16200044c366004620045e4565b620011a2565b3480156200045f57600080fd5b5060ff80546200036e911681565b3480156200047a57600080fd5b50620003e16200048c366004620045e4565b620011cf565b3480156200049f57600080fd5b50620003e1620004b1366004620045a6565b620011e4565b348015620004c457600080fd5b5062000395620004d636600462004564565b620012de565b348015620004e957600080fd5b5062000395620012f3565b3480156200050157600080fd5b50620005196200051336600462004604565b620013f8565b6040516200037a919062004640565b3480156200053557600080fd5b506200039562000547366004620045e4565b6001600160a01b0316600090815261010c602052604090206001015490565b3480156200057357600080fd5b50620003e16200058536600462004654565b62001432565b3480156200059857600080fd5b50620003e1620005aa36600462004564565b62001459565b348015620005bd57600080fd5b506200039560fd5481565b348015620005d557600080fd5b50620003e1620005e736600462004864565b62001499565b348015620005fa57600080fd5b50620003e162001b59565b3480156200061257600080fd5b50620003e16200062436600462004654565b62001dbb565b3480156200063757600080fd5b50620003e162000649366004620045e4565b62001e39565b3480156200065c57600080fd5b50620003e16200066e366004620045e4565b62001f0a565b3480156200068157600080fd5b506200036e62000693366004620045e4565b61010a6020526000908152604090205460ff1681565b348015620006b657600080fd5b506200036e620006c8366004620045a6565b61010e60209081526000928352604080842090915290825290205460ff1681565b620003e1620006fa366004620049f7565b62001f77565b3480156200070d57600080fd5b50620007256200071f36600462004c7b565b62002038565b604080519283526001600160a01b039091166020830152016200037a565b3480156200075057600080fd5b506200039562002109565b3480156200076857600080fd5b50620003e16200077a36600462004564565b620021ba565b3480156200078d57600080fd5b50620007256200079f36600462004e5c565b62002406565b348015620007b257600080fd5b506101025462000519906001600160a01b031681565b348015620007d557600080fd5b50620003e1620007e736600462004564565b6200266e565b348015620007fa57600080fd5b50620003956200080c366004620045a6565b61010b60209081526000928352604080842090915290825290205481565b3480156200083757600080fd5b50620003e162000849366004620045a6565b62002a08565b3480156200085c57600080fd5b506101035462000519906001600160a01b031681565b3480156200087f57600080fd5b506101065462000519906001600160a01b031681565b348015620008a257600080fd5b50620003e162002b5b565b348015620008ba57600080fd5b50620003e1620008cc36600462004564565b62002b71565b348015620008df57600080fd5b506200039560008051602062005fe783398151915281565b3480156200090457600080fd5b506101015462000519906001600160a01b031681565b3480156200092757600080fd5b506200039562000939366004620045a6565b6001600160a01b03918216600090815261010b6020908152604080832093909416825291909152205490565b3480156200097257600080fd5b506200039560fb5481565b3480156200098a57600080fd5b506101045462000519906001600160a01b031681565b348015620009ad57600080fd5b50620003e1620009bf36600462004564565b62002c0d565b348015620009d257600080fd5b5062000725620009e436600462004ed0565b62002ccb565b348015620009f757600080fd5b5062000a3862000a09366004620045e4565b61010c602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016200037a565b34801562000a6d57600080fd5b506200039560fc5481565b34801562000a8557600080fd5b506200051962002e58565b34801562000a9d57600080fd5b506200036e62000aaf36600462004654565b62002ef3565b34801562000ac257600080fd5b506200051973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801562000aec57600080fd5b5062000395600081565b34801562000b0357600080fd5b506200036e62000b15366004620045e4565b62002f1e565b34801562000b2857600080fd5b50620003e162000b3a366004620045e4565b62002f68565b34801562000b4d57600080fd5b5060ff54620005199061010090046001600160a01b031681565b34801562000b7457600080fd5b50620003e162002f95565b34801562000b8c57600080fd5b5062000b9762002fcc565b6040516200037a919062004fb7565b34801562000bb357600080fd5b50620003e162003063565b34801562000bcb57600080fd5b50620003956200316d565b34801562000be357600080fd5b50620003e162000bf5366004620045e4565b6200317f565b34801562000c0857600080fd5b5062000b97620031b4565b34801562000c2057600080fd5b50620003e162000c3236600462004654565b620031c4565b34801562000c4557600080fd5b506101075462000519906001600160a01b031681565b34801562000c6857600080fd5b506200039561271081565b34801562000c8057600080fd5b506101055462000519906001600160a01b031681565b34801562000ca357600080fd5b506200072562000cb536600462004fcc565b620031e6565b34801562000cc857600080fd5b506200036e62000cda366004620045e4565b620032a7565b34801562000ced57600080fd5b50620003e162000cff366004620045e4565b620032c4565b34801562000d1257600080fd5b506101005462000519906001600160a01b031681565b34801562000d3557600080fd5b5062000b97604051806040016040528060038152602001620302e360ec1b81525081565b60006001600160e01b03198216637965db0b60e01b148062000d8b57506301ffc9a760e01b6001600160e01b03198316145b92915050565b62000d9b62003335565b62000daa612710600a62005055565b81111562000dcb5760405163fe925f7d60e01b815260040160405180910390fd5b60fc8190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b62000e1162003372565b62000e1c82620033cd565b62000e2781620033f6565b62000e328162003431565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff161562000e7b57604051636adcde4b60e11b815260040160405180910390fd5b6001600160a01b03808316600090815261010c602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff1615159183019190915260fb546003846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000f09573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f2f919062005085565b600381111562000f435762000f436200506f565b0362000fc85760405163782aadff60e01b81526001600160a01b0385169063782aadff9062000f7a908890600090600401620050a5565b6020604051808303816000875af115801562000f9a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fc09190620050be565b9050620010c4565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af11580156200100b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001031919062005085565b60038111156200104557620010456200506f565b14620010c45760405163782aadff60e01b81526001600160a01b0385169063782aadff906200107b9088908690600401620050a5565b6020604051808303816000875af11580156200109b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010c19190620050be565b90505b6001600160a01b03808616600081815261010b6020908152604080832094891680845294825280832086905583835261010e82528083208584528252808320805460ff1916600190811790915593835261010d8252808320805494850181558352912090910180546001600160a01b031916909217909155517ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec906200117090879087908590620050d8565b60405180910390a1505050620011866001606555565b5050565b6200119462003335565b6200119f8162003460565b50565b620011ac620034be565b61010280546001600160a01b0319166001600160a01b0392909216919091179055565b620011d962003335565b6200119f8162003521565b620011ef82620033cd565b620011fa8162003431565b620012063382620035b3565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff166200124e57604051633048da7760e21b815260040160405180910390fd5b6001600160a01b03808316600081815261010e60209081526040808320948616808452948252808320805460ff1916905592825261010b815282822093825292909252812055620012a08282620035e6565b7ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b8282604051620012d2929190620050fc565b60405180910390a15050565b600090815260c9602052604090206001015490565b610100546000906001600160a01b03168162001313612710606462005055565b60fc5460fb5462001325919062005055565b62001331919062005116565b9050600062001344612710606462005055565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c906200137290309060040162004640565b602060405180830381865afa15801562001390573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013b69190620050be565b60fb54620013c5919062005055565b620013d1919062005116565b9050808260fb54620013e4919062005139565b620013f0919062005139565b935050505090565b61010d60205281600052604060002081815481106200141657600080fd5b6000918252602090912001546001600160a01b03169150829050565b6200143d82620012de565b62001448816200371c565b62001454838362003728565b505050565b6200146362003335565b60fb8190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f9060200162000dfc565b600054610100900460ff1615808015620014ba5750600054600160ff909116105b80620014df5750620014cc30620037b2565b158015620014df575060005460ff166001145b620015485760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156200156c576000805461ff0019166101001790555b62001577826200317f565b62001581620037c1565b6200158b620037f5565b620015a760008051602062005fe783398151915260006200381f565b620015b6856020015162003431565b620015c685610100015162003431565b8451620015d39062003431565b620015e28560a0015162003431565b606085015115620015fc57620015fc8560c0015162003431565b845161010780546001600160a01b039283166001600160a01b03199182161790915560208701516101058054919093169116179055604085015160000362001657576040516363868c5560e11b815260040160405180910390fd5b604085015160fb55606085015160fc5561014085015160ff805460ff191691151591909117905561012085015161010890620016949082620051dd565b5061016085015161010990620016ab9082620051dd565b5060a085015161010080546001600160a01b03199081166001600160a01b0393841617825560c088015160ff8054610100600160a81b0319169185168402919091179055908701516101068054909216928116929092179055620017209060008051602062005fe78339815191529062003728565b61010760009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001775573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200179b9190620052a9565b61010480546001600160a01b0319166001600160a01b0392831617905561010654606091163b60000362001827576040805160038082526080820190925290602082016060803683370190505090503381600081518110620018015762001801620052c9565b60200260200101906001600160a01b031690816001600160a01b03168152505062001964565b610106546040805163a0e67e2b60e01b815290516000926001600160a01b03169163a0e67e2b91600480830192869291908290030181865afa15801562001872573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200189c9190810190620052df565b905080516002620018ae919062005139565b6001600160401b03811115620018c857620018c86200467c565b604051908082528060200260200182016040528015620018f2578160200160208202803683370190505b50915060005b81518110156200196157818181518110620019175762001917620052c9565b6020026020010151838281518110620019345762001934620052c9565b6001600160a01b039092166020928302919091019091015280620019588162005378565b915050620018f8565b50505b6101065481516001600160a01b03909116908290620019869060019062005394565b81518110620019995762001999620052c9565b60200260200101906001600160a01b031690816001600160a01b031681525050308160028351620019cb919062005394565b81518110620019de57620019de620052c9565b6001600160a01b03928316602091820292909201015261010454608088015160e0890151604051633a92f65f60e01b81529290931692633a92f65f9262001a319291610108913090889060040162005496565b6020604051808303816000875af115801562001a51573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001a779190620050be565b60fe55805162001a909061010f90602084019062004492565b5061010280546001600160a01b038088166001600160a01b03199283161790925561010180549287169290911691909117905560fe5460e08701516040517f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed032059262001b029290916101089190620054f6565b60405180910390a150801562001b52576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b62001b6362003372565b33600081815261010c602052604081206101005490916001600160a01b039091169062001b94612710606462005055565b60fc5460fb5462001ba6919062005055565b62001bb2919062005116565b9050600062001bc5612710606462005055565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c9062001bf390309060040162004640565b602060405180830381865afa15801562001c11573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001c379190620050be565b60fb5462001c46919062005055565b62001c52919062005116565b905062001c5f8562002f1e565b62001da95760028401805460ff1916600190811790915560fb5490850181905562001cb99086903090849062001c9790879062005139565b62001ca3919062005139565b610105546001600160a01b031692919062003874565b811562001ce65760ff546101055462001ce6916001600160a01b03918216916101009091041684620038d0565b801562001d6b5762001d6b836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001d30573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001d569190620052a9565b610105546001600160a01b03169083620038d0565b7f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f76898560fb5460405162001da0929190620050a5565b60405180910390a15b505050505062001db96001606555565b565b6001600160a01b038116331462001e2d5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016200153f565b620011868282620038f2565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001e845760405162461bcd60e51b81526004016200153f9062005525565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001eb86200395c565b6001600160a01b03161462001ee15760405162461bcd60e51b81526004016200153f9062005560565b62001eec8162003979565b604080516000808252602082019092526200119f91839190620039bb565b62001f1462003335565b62001f1f8162003431565b61010380546001600160a01b0319166001600160a01b03838116918217909255610106546040517f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89362000dfc9392169190620050fc565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001fc25760405162461bcd60e51b81526004016200153f9062005525565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001ff66200395c565b6001600160a01b0316146200201f5760405162461bcd60e51b81526004016200153f9062005560565b6200202a8262003979565b6200118682826001620039bb565b610102546101075461010154600092839283926001600160a01b039283169263184b955960e01b92811691166200206e62002e58565b60405160240162002082939291906200559b565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051620020c190620044f8565b620020ce929190620055be565b604051809103906000f080158015620020eb573d6000803e3d6000fd5b509050620020fc81878787620031e6565b9250925050935093915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620021a65760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016200153f565b506000805160206200602783398151915290565b620021c462003372565b620021ce62003b33565b33600081815261010d60209081526040808320805482518185028101850190935280835291929091908301828280156200223257602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162002213575b50505050509050600080600090505b82518110156200236d57828181518110620022605762002260620052c9565b60200260200101516001600160a01b031663782aadff85876040518363ffffffff1660e01b815260040162002297929190620050a5565b6020604051808303816000875af1158015620022b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620022dd9190620050be565b9150811562002358576001600160a01b038416600090815261010b602052604081208451849290869085908110620023195762002319620052c9565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600082825462002352919062005139565b90915550505b80620023648162005378565b91505062002241565b506101055462002389906001600160a01b031684308762003874565b6001600160a01b038316600090815261010c602052604081206001018054869290620023b790849062005139565b90915550506040517f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f90620023f09085908790620050a5565b60405180910390a15050506200119f6001606555565b610102546101075461010154600092839283926001600160a01b039283169263184b955960e01b92811691166200243c62002e58565b60405160240162002450939291906200559b565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516200248f90620044f8565b6200249c929190620055be565b604051809103906000f080158015620024b9573d6000803e3d6000fd5b509050620024ca8187878762002ccb565b60c087015191945092506001600160a01b0316620025d5576103e88560e00151511115620025535760405162461bcd60e51b815260206004820152602f60248201527f546f6f206d616e7920696e697469616c20616c6c6f776c697374206d656d626560448201526e072732c206d6178206973203130303608c1b60648201526084016200153f565b600083604051602001620025689190620055e4565b60405160208183030381529060405280519060200120905060005b8660e0015151811015620025d257620025bd828860e001518381518110620025af57620025af620052c9565b602002602001015162003728565b80620025c98162005378565b91505062002583565b50505b6200263183604051602001620025ec9190620055e4565b604051602081830303815290604052805190602001208460405160200162002615919062005601565b604051602081830303815290604052805190602001206200381f565b620026658360405160200162002648919062005601565b604051602081830303815290604052805190602001208362003728565b50935093915050565b6200267862003372565b6200268262003b33565b33600081815261010d6020908152604080832060fb5461010c9093529083206001015490929190620026b690869062005394565b1015620026d657604051634e23e81760e11b815260040160405180910390fd5b61010554620026f0906001600160a01b03168486620038d0565b60005b8254811015620029a0576000838281548110620027145762002714620052c9565b6000918252602090912001546001600160a01b031690506200273e8163f1801e6160e01b62003b5c565b15620028c457604051632ed04b2b60e01b81526001600160a01b03821690632ed04b2b90620027749088908a90600401620050a5565b6020604051808303816000875af115801562002794573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620027ba9190620050be565b9250600061010b6000876001600160a01b03166001600160a01b031681526020019081526020016000206000868581548110620027fb57620027fb620052c9565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156200284f576040516311423e6360e31b815260048101859052602481018290526044016200153f565b6001600160a01b038616600090815261010b602052604081208654869290889087908110620028825762002882620052c9565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190620028b890849062005394565b9091555050506200298a565b83548490620028d69060019062005394565b81548110620028e957620028e9620052c9565b9060005260206000200160009054906101000a90046001600160a01b03168483815481106200291c576200291c620052c9565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550838054806200295d576200295d62005624565b600082815260209020810160001990810180546001600160a01b03191690550190556200298a8162003460565b5080620029978162005378565b915050620026f3565b506001600160a01b038316600090815261010c602052604081206001018054869290620029cf90849062005394565b90915550506040517f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff890620023f09085908790620050a5565b62002a1262003372565b62002a1c62003335565b60ff80541662002a3f576040516365b1ee3960e11b815260040160405180910390fd5b62002a4a8262002f1e565b62002a6857604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159082015262002ab98362003b84565b6001600160a01b03808416600090815261010c60209081526040822080546001600160a01b031916815560018101929092556002909101805460ff191690558201516101055462002b0e9216908490620038d0565b7fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a38383836020015160405162002b4793929190620050d8565b60405180910390a150620011866001606555565b62002b65620034be565b62001db9600062003c99565b62002b7b62003335565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801562002bc7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002bf191908101906200563a565b60200151905062002c028162003431565b620011868162003460565b62002c1762003335565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801562002c63573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002c8d91908101906200563a565b60200151905062002c9e8162003431565b62002cba6001600160a01b03821663f1801e6160e01b62003b5c565b156200118657620011868162003521565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0386161562002cf65750845b869150600061010f80548060200260200160405190810160405280929190818152602001828054801562002d5457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162002d35575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062002d8c908b9060200162005805565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b815260040162002dc49796959493929190620058ae565b6020604051808303816000875af115801562002de4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e0a9190620050be565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a8960405162002e459594939291906200591f565b60405180910390a1505094509492505050565b60008062002e6e6033546001600160a01b031690565b9050806001600160a01b03163b60000362002e8857919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562002ee5575060408051601f3d908101601f1916820190925262002ee291810190620052a9565b60015b62000d8b57919050565b5090565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6001600160a01b03908116600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b62002f72620034be565b61010180546001600160a01b0319166001600160a01b0392909216919091179055565b610103546001600160a01b0316331462002fc2576040516375e686b760e11b815260040160405180910390fd5b62001db962003ceb565b610109805462002fdc906200514f565b80601f01602080910402602001604051908101604052809291908181526020018280546200300a906200514f565b80156200305b5780601f106200302f576101008083540402835291602001916200305b565b820191906000526020600020905b8154815290600101906020018083116200303d57829003601f168201915b505050505081565b6200306d62003372565b336200307981620033cd565b620030848162003b84565b6001600160a01b03808216600081815261010c602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945561010d90529182209091620030ff919062004506565b60208101516101055462003121916001600160a01b03909116908490620038d0565b7fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f482826020015160405162003158929190620050a5565b60405180910390a1505062001db96001606555565b6200317c612710600a62005055565b81565b600054610100900460ff16620031a95760405162461bcd60e51b81526004016200153f906200595b565b6200119f8162003c99565b610108805462002fdc906200514f565b620031cf82620012de565b620031da816200371c565b620014548383620038f2565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b03861615620032115750845b869150600061010f8054806020026020016040519081016040528092919081815260200182805480156200326f57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003250575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062002d8c908b90602001620059a6565b600062000d8b60008051602062005fe78339815191528362002ef3565b620032ce620034be565b6001600160a01b038116620031a95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016200153f565b6200335060008051602062005fe78339815191523362002ef3565b62001db9573360405163fc4be72f60e01b81526004016200153f919062004640565b600260655403620033c65760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016200153f565b6002606555565b620033d88162002f1e565b6200119f57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090205460ff166200119f576040516346c26e4b60e01b815260040160405180910390fd5b6001600160a01b0381166200119f576040516303988b8160e61b815260040160405180910390fd5b6001606555565b6200346b8162003431565b6001600160a01b038116600090815261010a602052604090819020805460ff19169055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49062000dfc90839062004640565b33620034c962002e58565b6001600160a01b03161462001db95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200153f565b6001600160a01b038116600090815261010a602052604090205460ff16156200355d576040516325a2934b60e21b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090819020805460ff19166001179055517f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19062000dfc90839062004640565b806001600160a01b0316826001600160a01b031614620011865760405163bbe7961160e01b815260040160405180910390fd5b6001600160a01b038216600090815261010d60205260408120905b81548110156200371657826001600160a01b03168282815481106200362a576200362a620052c9565b6000918252602090912001546001600160a01b031603620037015781548290620036579060019062005394565b815481106200366a576200366a620052c9565b9060005260206000200160009054906101000a90046001600160a01b03168282815481106200369d576200369d620052c9565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480620036de57620036de62005624565b600082815260209020810160001990810180546001600160a01b03191690550190555b806200370d8162005378565b91505062003601565b50505050565b6200119f813362003d4f565b62003734828262002ef3565b6200118657600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff191660011790556200376e3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6001600160a01b03163b151590565b600054610100900460ff16620037eb5760405162461bcd60e51b81526004016200153f906200595b565b62001db962003db3565b600054610100900460ff1662001db95760405162461bcd60e51b81526004016200153f906200595b565b60006200382c83620012de565b600084815260c96020526040808220600101859055519192508391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b62003716846323b872dd60e01b8585856040516024016200389893929190620050d8565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003ddd565b620014548363a9059cbb60e01b848460405160240162003898929190620050a5565b620038fe828262002ef3565b156200118657600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008051602062006027833981519152546001600160a01b031690565b336200398462002e58565b6001600160a01b0316146200119f57336200399e62002e58565b60405163163678e960e01b81526004016200153f929190620050fc565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615620039f157620014548362003eb9565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562003a4e575060408051601f3d908101601f1916820190925262003a4b91810190620050be565b60015b62003ab35760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016200153f565b60008051602062006027833981519152811462003b255760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016200153f565b506200145483838362003f58565b62003b3e3362002f1e565b62001db957604051636a5cfb6d60e01b815260040160405180910390fd5b600062003b698362003f83565b801562003b7d575062003b7d838362003fbb565b9392505050565b6001600160a01b038116600090815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562003bf157602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003bd2575b5050505050905060005b8151811015620014545781818151811062003c1a5762003c1a620052c9565b60200260200101516001600160a01b0316636453d9c4846040518263ffffffff1660e01b815260040162003c4f919062004640565b600060405180830381600087803b15801562003c6a57600080fd5b505af115801562003c7f573d6000803e3d6000fd5b50505050808062003c909062005378565b91505062003bfb565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610103805461010680546001600160a01b03199081166001600160a01b038416179091551690556040517fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729062003d459060009062004640565b60405180910390a1565b62003d5b828262002ef3565b620011865762003d6b8162004046565b62003d7883602062004059565b60405160200162003d8b92919062005a2f565b60408051601f198184030181529082905262461bcd60e51b82526200153f9160040162004fb7565b600054610100900460ff16620034595760405162461bcd60e51b81526004016200153f906200595b565b600062003e34826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316620042129092919063ffffffff16565b905080516000148062003e5857508080602001905181019062003e58919062005aa2565b620014545760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016200153f565b62003ec481620037b2565b62003f285760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016200153f565b6000805160206200602783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b62003f63836200422b565b60008251118062003f715750805b1562001454576200371683836200426d565b600062003f98826301ffc9a760e01b62003fbb565b801562000d8b575062003fb4826001600160e01b031962003fbb565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d915060005190508280156200402e575060208210155b80156200403b5750600081115b979650505050505050565b606062000d8b6001600160a01b03831660145b606060006200406a83600262005055565b6200407790600262005139565b6001600160401b038111156200409157620040916200467c565b6040519080825280601f01601f191660200182016040528015620040bc576020820181803683370190505b509050600360fc1b81600081518110620040da57620040da620052c9565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106200410c576200410c620052c9565b60200101906001600160f81b031916908160001a90535060006200413284600262005055565b6200413f90600162005139565b90505b6001811115620041c1576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110620041775762004177620052c9565b1a60f81b828281518110620041905762004190620052c9565b60200101906001600160f81b031916908160001a90535060049490941c93620041b98162005ac2565b905062004142565b50831562003b7d5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200153f565b606062004223848460008562004295565b949350505050565b620042368162003eb9565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062003b7d838360405180606001604052806027815260200162006047602791396200436d565b606082471015620042f85760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016200153f565b600080866001600160a01b0316858760405162004316919062005adc565b60006040518083038185875af1925050503d806000811462004355576040519150601f19603f3d011682016040523d82523d6000602084013e6200435a565b606091505b50915091506200403b87838387620043eb565b6060600080856001600160a01b0316856040516200438c919062005adc565b600060405180830381855af49150503d8060008114620043c9576040519150601f19603f3d011682016040523d82523d6000602084013e620043ce565b606091505b5091509150620043e186838387620043eb565b9695505050505050565b606083156200445f57825160000362004457576200440985620037b2565b620044575760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200153f565b508162004223565b620042238383815115620044765781518083602001fd5b8060405162461bcd60e51b81526004016200153f919062004fb7565b828054828255906000526020600020908101928215620044ea579160200282015b82811115620044ea57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620044b3565b5062002eef92915062004521565b6104ec8062005afb83390190565b50805460008255906000526020600020908101906200119f91905b5b8082111562002eef576000815560010162004522565b6000602082840312156200454b57600080fd5b81356001600160e01b03198116811462003b7d57600080fd5b6000602082840312156200457757600080fd5b5035919050565b6001600160a01b03811681146200119f57600080fd5b8035620045a1816200457e565b919050565b60008060408385031215620045ba57600080fd5b8235620045c7816200457e565b91506020830135620045d9816200457e565b809150509250929050565b600060208284031215620045f757600080fd5b813562003b7d816200457e565b600080604083850312156200461857600080fd5b823562004625816200457e565b946020939093013593505050565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b600080604083850312156200466857600080fd5b823591506020830135620045d9816200457e565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715620046b757620046b76200467c565b60405290565b60405161018081016001600160401b0381118282101715620046b757620046b76200467c565b60405160c081016001600160401b0381118282101715620046b757620046b76200467c565b60405161010081016001600160401b0381118282101715620046b757620046b76200467c565b604051601f8201601f191681016001600160401b03811182821017156200475957620047596200467c565b604052919050565b60006001600160401b038211156200477d576200477d6200467c565b50601f01601f191660200190565b6000620047a26200479c8462004761565b6200472e565b9050828152838383011115620047b757600080fd5b828260208301376000602084830101529392505050565b600082601f830112620047e057600080fd5b62003b7d838335602085016200478b565b6000604082840312156200480457600080fd5b6200480e62004692565b82358152905060208201356001600160401b038111156200482e57600080fd5b6200483c84828501620047ce565b60208301525092915050565b80151581146200119f57600080fd5b8035620045a18162004848565b600080600080608085870312156200487b57600080fd5b84356001600160401b03808211156200489357600080fd5b908601906101808289031215620048a957600080fd5b620048b3620046bd565b620048be8362004594565b8152620048ce6020840162004594565b6020820152604083013560408201526060830135606082015260808301356080820152620048ff60a0840162004594565b60a08201526200491260c0840162004594565b60c082015260e0830135828111156200492a57600080fd5b620049388a828601620047f1565b60e0830152506101006200494e81850162004594565b9082015261012083810135838111156200496757600080fd5b620049758b828701620047ce565b8284015250506101406200498b81850162004857565b908201526101608381013583811115620049a457600080fd5b620049b28b828701620047ce565b828401525050809650505050620049cc6020860162004594565b9250620049dc6040860162004594565b9150620049ec6060860162004594565b905092959194509250565b6000806040838503121562004a0b57600080fd5b823562004a18816200457e565b915060208301356001600160401b0381111562004a3457600080fd5b8301601f8101851362004a4657600080fd5b62004a57858235602084016200478b565b9150509250929050565b60006080828403121562004a7457600080fd5b604051608081016001600160401b038111828210171562004a995762004a996200467c565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b803560038110620045a157600080fd5b600481106200119f57600080fd5b8035620045a18162004ada565b60006020828403121562004b0857600080fd5b604051602081016001600160401b038111828210171562004b2d5762004b2d6200467c565b6040529135825250919050565b600060c0828403121562004b4d57600080fd5b62004b57620046e3565b9050813562004b66816200457e565b8152602082013562004b78816200457e565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b60006101e0828403121562004bc157600080fd5b60405160e081016001600160401b038111828210171562004be65762004be66200467c565b60405290508062004bf8848462004a61565b815262004c086080840162004aca565b602082015260a083013562004c1d8162004ada565b604082015262004c318460c0850162004af5565b606082015262004c458460e0850162004b3a565b60808201526101a083013562004c5b816200457e565b60a082015262004c6f6101c0840162004594565b60c08201525092915050565b6000806000610220848603121562004c9257600080fd5b833562004c9f816200457e565b925062004cb0856020860162004bad565b91506102008401356001600160401b0381111562004ccd57600080fd5b62004cdb86828701620047f1565b9150509250925092565b60006001600160401b0382111562004d015762004d016200467c565b5060051b60200190565b600082601f83011262004d1d57600080fd5b8135602062004d306200479c8362004ce5565b82815260059290921b8401810191818101908684111562004d5057600080fd5b8286015b8481101562004d7857803562004d6a816200457e565b835291830191830162004d54565b509695505050505050565b6000610200828403121562004d9757600080fd5b62004da162004708565b905062004daf838362004a61565b815262004dbf6080830162004aca565b602082015262004dd260a0830162004ae8565b604082015262004de68360c0840162004af5565b606082015262004dfa8360e0840162004b3a565b608082015262004e0e6101a0830162004594565b60a082015262004e226101c0830162004594565b60c08201526101e08201356001600160401b0381111562004e4257600080fd5b62004e508482850162004d0b565b60e08301525092915050565b60008060006060848603121562004e7257600080fd5b833562004e7f816200457e565b925060208401356001600160401b038082111562004e9c57600080fd5b62004eaa8783880162004d83565b9350604086013591508082111562004ec157600080fd5b5062004cdb86828701620047f1565b6000806000806080858703121562004ee757600080fd5b843562004ef4816200457e565b9350602085013562004f06816200457e565b925060408501356001600160401b038082111562004f2357600080fd5b62004f318883890162004d83565b9350606087013591508082111562004f4857600080fd5b5062004f5787828801620047f1565b91505092959194509250565b60005b8381101562004f8057818101518382015260200162004f66565b50506000910152565b6000815180845262004fa381602086016020860162004f63565b601f01601f19169290920160200192915050565b60208152600062003b7d602083018462004f89565b600080600080610240858703121562004fe457600080fd5b843562004ff1816200457e565b9350602085013562005003816200457e565b925062005014866040870162004bad565b91506102208501356001600160401b038111156200503157600080fd5b62004f5787828801620047f1565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000d8b5762000d8b6200503f565b634e487b7160e01b600052602160045260246000fd5b6000602082840312156200509857600080fd5b815162003b7d8162004ada565b6001600160a01b03929092168252602082015260400190565b600060208284031215620050d157600080fd5b5051919050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0392831681529116602082015260400190565b6000826200513457634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000d8b5762000d8b6200503f565b600181811c908216806200516457607f821691505b6020821081036200518557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200145457600081815260208120601f850160051c81016020861015620051b45750805b601f850160051c820191505b81811015620051d557828155600101620051c0565b505050505050565b81516001600160401b03811115620051f957620051f96200467c565b62005211816200520a84546200514f565b846200518b565b602080601f831160018114620052495760008415620052305750858301515b600019600386901b1c1916600185901b178555620051d5565b600085815260208120601f198616915b828110156200527a5788860151825594840194600190910190840162005259565b5085821015620052995787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620052bc57600080fd5b815162003b7d816200457e565b634e487b7160e01b600052603260045260246000fd5b60006020808385031215620052f357600080fd5b82516001600160401b038111156200530a57600080fd5b8301601f810185136200531c57600080fd5b80516200532d6200479c8262004ce5565b81815260059190911b820183019083810190878311156200534d57600080fd5b928401925b828410156200403b57835162005368816200457e565b8252928401929084019062005352565b6000600182016200538d576200538d6200503f565b5060010190565b8181038181111562000d8b5762000d8b6200503f565b60008154620053b9816200514f565b808552602060018381168015620053d95760018114620053f45762005424565b60ff1985168884015283151560051b88018301955062005424565b866000528260002060005b858110156200541c5781548a8201860152908301908401620053ff565b890184019650505b505050505092915050565b80518252600060208201516040602085015262004223604085018262004f89565b600081518084526020808501945080840160005b838110156200548b5781516001600160a01b03168752958201959082019060010162005464565b509495945050505050565b85815260a060208201526000620054b160a0830187620053aa565b8281036040840152620054c581876200542f565b6001600160a01b038616606085015283810360808501529050620054ea818562005450565b98975050505050505050565b838152606060208201526000620055116060830185620053aa565b8281036040840152620043e181856200542f565b6020808252602c908201526000805160206200600783398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206200600783398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b0383168152604060208201819052600090620042239083018462004f89565b6810531313d5d31254d560ba1b8152600981019190915260290190565b6e20a62627aba624a9aa2fa0a226a4a760891b8152600f810191909152602f0190565b634e487b7160e01b600052603160045260246000fd5b600060208083850312156200564e57600080fd5b82516001600160401b03808211156200566657600080fd5b9084019060c082870312156200567b57600080fd5b62005685620046e3565b825181528383015162005698816200457e565b818501526040830151620056ac816200457e565b6040820152606083015182811115620056c457600080fd5b830160408189031215620056d757600080fd5b620056e162004692565b815181528582015184811115620056f757600080fd5b82019350601f840189136200570b57600080fd5b835191506200571e6200479c8362004761565b82815289878487010111156200573357600080fd5b620057448388830189880162004f63565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b805182526020810151602083015260408101516040830152606081015160608301525050565b60038110620057a957620057a96200506f565b9052565b60048110620057a957620057a96200506f565b80516001600160a01b0390811683526020808301519091169083015260408082015190830152606080820151908301526080808201519083015260a090810151910152565b602081526200581960208201835162005770565b600060208301516200582f60a084018262005796565b5060408301516200584460c0840182620057ad565b5060608301515160e0830152608083015162005865610100840182620057c0565b5060a08301516200587b6101c084018262004633565b5060c0830151620058916101e084018262004633565b5060e0830151610200838101526200422361022084018262005450565b878152600060018060a01b03808916602084015260e06040840152620058d860e084018962004f89565b818816606085015286608085015283810360a0850152620058fa81876200542f565b91505082810360c084015262005911818562005450565b9a9950505050505050505050565b8581526001600160a01b03858116602083015284811660408301528316606082015260a0608082018190526000906200403b908301846200542f565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006101e082019050620059bc82845162005770565b6020830151620059d0608084018262005796565b506040830151620059e560a0840182620057ad565b5060608301515160c0830152608083015162005a0560e0840182620057c0565b5060a08301516001600160a01b039081166101a084015260c0909301519092166101c09091015290565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81526000835162005a6381601785016020880162004f63565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835162005a9681602884016020880162004f63565b01602801949350505050565b60006020828403121562005ab557600080fd5b815162003b7d8162004848565b60008162005ad45762005ad46200503f565b506000190190565b6000825162005af081846020870162004f63565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212204fe6c3c3dccfaea0fd10fdd343631403db3c1555c6576ad816deaaa45c9f926764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656403be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220eb4556dd26edee48f4bb15c8bc758359b6156c983f6a75864cfbb4f7fa99c7ed64736f6c63430008130033","sourceMap":"522:2047:108:-:0;;;1088:4:64;1045:48;;522:2047:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610620003445760003560e01c806301ffc9a714620003495780630331383c146200038357806308386eba14620003a45780630d12bbdb14620003bc5780630d4a8b4914620003e3578063175188e814620004085780631b71f0e4146200042d5780631f787d281462000452578063223e5479146200046d57806322bcf9991462000492578063248a9ca314620004b757806328c309e914620004dc5780632b38c69c14620004f45780632c611c4a14620005285780632f2ff15d146200056657806331f61bca146200058b5780633396045914620005b05780633419635514620005c85780633517aa7d14620005ed57806336568abe14620006055780633659cfe6146200062a578063397e2543146200064f5780633a871fe11462000674578063477a5cc014620006a95780634f1ef28614620006e9578063524e59e8146200070057806352d1902d1462000743578063559de05d146200075b578063579eb7e514620007805780635c94e4d214620007a55780635ecf71c514620007c857806365e3864c14620007ed5780636871eb4d146200082a57806368decabb146200084f5780636c53db9a1462000872578063715018a6146200089557806373265c3714620008ad578063733a2d1f14620008d257806377122d5614620008f75780637817ee4f146200091a57806378a0b8a914620009655780637b103999146200097d57806382d6a1e714620009a05780638659ffdd14620009c557806388cfe68414620009ea5780638961be6b1462000a605780638da5cb5b1462000a7857806391d148541462000a90578063a0cf0aea1462000ab5578063a217fddf1462000adf578063a230c5241462000af6578063b0d3713a1462000b1b578063b3f006741462000b40578063b5058c501462000b67578063b64e39af1462000b7f578063b99b43701462000ba6578063bc063e1a1462000bbe578063c4d66de81462000bd6578063c6d572ae1462000bfb578063d547741f1462000c13578063d6d8428d1462000c38578063d7050f071462000c5b578063db61d65c1462000c73578063e16d0e321462000c96578063ebd7dc521462000cbb578063f2fde38b1462000ce0578063f86c5f891462000d05578063ffa1ad741462000d28575b600080fd5b3480156200035657600080fd5b506200036e6200036836600462004538565b62000d59565b60405190151581526020015b60405180910390f35b3480156200039057600080fd5b5060fb545b6040519081526020016200037a565b348015620003b157600080fd5b506200039560fe5481565b348015620003c957600080fd5b50620003e1620003db36600462004564565b62000d91565b005b348015620003f057600080fd5b50620003e162000402366004620045a6565b62000e07565b3480156200041557600080fd5b50620003e162000427366004620045e4565b6200118a565b3480156200043a57600080fd5b50620003e16200044c366004620045e4565b620011a2565b3480156200045f57600080fd5b5060ff80546200036e911681565b3480156200047a57600080fd5b50620003e16200048c366004620045e4565b620011cf565b3480156200049f57600080fd5b50620003e1620004b1366004620045a6565b620011e4565b348015620004c457600080fd5b5062000395620004d636600462004564565b620012de565b348015620004e957600080fd5b5062000395620012f3565b3480156200050157600080fd5b50620005196200051336600462004604565b620013f8565b6040516200037a919062004640565b3480156200053557600080fd5b506200039562000547366004620045e4565b6001600160a01b0316600090815261010c602052604090206001015490565b3480156200057357600080fd5b50620003e16200058536600462004654565b62001432565b3480156200059857600080fd5b50620003e1620005aa36600462004564565b62001459565b348015620005bd57600080fd5b506200039560fd5481565b348015620005d557600080fd5b50620003e1620005e736600462004864565b62001499565b348015620005fa57600080fd5b50620003e162001b59565b3480156200061257600080fd5b50620003e16200062436600462004654565b62001dbb565b3480156200063757600080fd5b50620003e162000649366004620045e4565b62001e39565b3480156200065c57600080fd5b50620003e16200066e366004620045e4565b62001f0a565b3480156200068157600080fd5b506200036e62000693366004620045e4565b61010a6020526000908152604090205460ff1681565b348015620006b657600080fd5b506200036e620006c8366004620045a6565b61010e60209081526000928352604080842090915290825290205460ff1681565b620003e1620006fa366004620049f7565b62001f77565b3480156200070d57600080fd5b50620007256200071f36600462004c7b565b62002038565b604080519283526001600160a01b039091166020830152016200037a565b3480156200075057600080fd5b506200039562002109565b3480156200076857600080fd5b50620003e16200077a36600462004564565b620021ba565b3480156200078d57600080fd5b50620007256200079f36600462004e5c565b62002406565b348015620007b257600080fd5b506101025462000519906001600160a01b031681565b348015620007d557600080fd5b50620003e1620007e736600462004564565b6200266e565b348015620007fa57600080fd5b50620003956200080c366004620045a6565b61010b60209081526000928352604080842090915290825290205481565b3480156200083757600080fd5b50620003e162000849366004620045a6565b62002a08565b3480156200085c57600080fd5b506101035462000519906001600160a01b031681565b3480156200087f57600080fd5b506101065462000519906001600160a01b031681565b348015620008a257600080fd5b50620003e162002b5b565b348015620008ba57600080fd5b50620003e1620008cc36600462004564565b62002b71565b348015620008df57600080fd5b506200039560008051602062005fe783398151915281565b3480156200090457600080fd5b506101015462000519906001600160a01b031681565b3480156200092757600080fd5b506200039562000939366004620045a6565b6001600160a01b03918216600090815261010b6020908152604080832093909416825291909152205490565b3480156200097257600080fd5b506200039560fb5481565b3480156200098a57600080fd5b506101045462000519906001600160a01b031681565b348015620009ad57600080fd5b50620003e1620009bf36600462004564565b62002c0d565b348015620009d257600080fd5b5062000725620009e436600462004ed0565b62002ccb565b348015620009f757600080fd5b5062000a3862000a09366004620045e4565b61010c602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016200037a565b34801562000a6d57600080fd5b506200039560fc5481565b34801562000a8557600080fd5b506200051962002e58565b34801562000a9d57600080fd5b506200036e62000aaf36600462004654565b62002ef3565b34801562000ac257600080fd5b506200051973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801562000aec57600080fd5b5062000395600081565b34801562000b0357600080fd5b506200036e62000b15366004620045e4565b62002f1e565b34801562000b2857600080fd5b50620003e162000b3a366004620045e4565b62002f68565b34801562000b4d57600080fd5b5060ff54620005199061010090046001600160a01b031681565b34801562000b7457600080fd5b50620003e162002f95565b34801562000b8c57600080fd5b5062000b9762002fcc565b6040516200037a919062004fb7565b34801562000bb357600080fd5b50620003e162003063565b34801562000bcb57600080fd5b50620003956200316d565b34801562000be357600080fd5b50620003e162000bf5366004620045e4565b6200317f565b34801562000c0857600080fd5b5062000b97620031b4565b34801562000c2057600080fd5b50620003e162000c3236600462004654565b620031c4565b34801562000c4557600080fd5b506101075462000519906001600160a01b031681565b34801562000c6857600080fd5b506200039561271081565b34801562000c8057600080fd5b506101055462000519906001600160a01b031681565b34801562000ca357600080fd5b506200072562000cb536600462004fcc565b620031e6565b34801562000cc857600080fd5b506200036e62000cda366004620045e4565b620032a7565b34801562000ced57600080fd5b50620003e162000cff366004620045e4565b620032c4565b34801562000d1257600080fd5b506101005462000519906001600160a01b031681565b34801562000d3557600080fd5b5062000b97604051806040016040528060038152602001620302e360ec1b81525081565b60006001600160e01b03198216637965db0b60e01b148062000d8b57506301ffc9a760e01b6001600160e01b03198316145b92915050565b62000d9b62003335565b62000daa612710600a62005055565b81111562000dcb5760405163fe925f7d60e01b815260040160405180910390fd5b60fc8190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b62000e1162003372565b62000e1c82620033cd565b62000e2781620033f6565b62000e328162003431565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff161562000e7b57604051636adcde4b60e11b815260040160405180910390fd5b6001600160a01b03808316600090815261010c602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff1615159183019190915260fb546003846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000f09573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f2f919062005085565b600381111562000f435762000f436200506f565b0362000fc85760405163782aadff60e01b81526001600160a01b0385169063782aadff9062000f7a908890600090600401620050a5565b6020604051808303816000875af115801562000f9a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fc09190620050be565b9050620010c4565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af11580156200100b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001031919062005085565b60038111156200104557620010456200506f565b14620010c45760405163782aadff60e01b81526001600160a01b0385169063782aadff906200107b9088908690600401620050a5565b6020604051808303816000875af11580156200109b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010c19190620050be565b90505b6001600160a01b03808616600081815261010b6020908152604080832094891680845294825280832086905583835261010e82528083208584528252808320805460ff1916600190811790915593835261010d8252808320805494850181558352912090910180546001600160a01b031916909217909155517ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec906200117090879087908590620050d8565b60405180910390a1505050620011866001606555565b5050565b6200119462003335565b6200119f8162003460565b50565b620011ac620034be565b61010280546001600160a01b0319166001600160a01b0392909216919091179055565b620011d962003335565b6200119f8162003521565b620011ef82620033cd565b620011fa8162003431565b620012063382620035b3565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff166200124e57604051633048da7760e21b815260040160405180910390fd5b6001600160a01b03808316600081815261010e60209081526040808320948616808452948252808320805460ff1916905592825261010b815282822093825292909252812055620012a08282620035e6565b7ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b8282604051620012d2929190620050fc565b60405180910390a15050565b600090815260c9602052604090206001015490565b610100546000906001600160a01b03168162001313612710606462005055565b60fc5460fb5462001325919062005055565b62001331919062005116565b9050600062001344612710606462005055565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c906200137290309060040162004640565b602060405180830381865afa15801562001390573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013b69190620050be565b60fb54620013c5919062005055565b620013d1919062005116565b9050808260fb54620013e4919062005139565b620013f0919062005139565b935050505090565b61010d60205281600052604060002081815481106200141657600080fd5b6000918252602090912001546001600160a01b03169150829050565b6200143d82620012de565b62001448816200371c565b62001454838362003728565b505050565b6200146362003335565b60fb8190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f9060200162000dfc565b600054610100900460ff1615808015620014ba5750600054600160ff909116105b80620014df5750620014cc30620037b2565b158015620014df575060005460ff166001145b620015485760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156200156c576000805461ff0019166101001790555b62001577826200317f565b62001581620037c1565b6200158b620037f5565b620015a760008051602062005fe783398151915260006200381f565b620015b6856020015162003431565b620015c685610100015162003431565b8451620015d39062003431565b620015e28560a0015162003431565b606085015115620015fc57620015fc8560c0015162003431565b845161010780546001600160a01b039283166001600160a01b03199182161790915560208701516101058054919093169116179055604085015160000362001657576040516363868c5560e11b815260040160405180910390fd5b604085015160fb55606085015160fc5561014085015160ff805460ff191691151591909117905561012085015161010890620016949082620051dd565b5061016085015161010990620016ab9082620051dd565b5060a085015161010080546001600160a01b03199081166001600160a01b0393841617825560c088015160ff8054610100600160a81b0319169185168402919091179055908701516101068054909216928116929092179055620017209060008051602062005fe78339815191529062003728565b61010760009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001775573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200179b9190620052a9565b61010480546001600160a01b0319166001600160a01b0392831617905561010654606091163b60000362001827576040805160038082526080820190925290602082016060803683370190505090503381600081518110620018015762001801620052c9565b60200260200101906001600160a01b031690816001600160a01b03168152505062001964565b610106546040805163a0e67e2b60e01b815290516000926001600160a01b03169163a0e67e2b91600480830192869291908290030181865afa15801562001872573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200189c9190810190620052df565b905080516002620018ae919062005139565b6001600160401b03811115620018c857620018c86200467c565b604051908082528060200260200182016040528015620018f2578160200160208202803683370190505b50915060005b81518110156200196157818181518110620019175762001917620052c9565b6020026020010151838281518110620019345762001934620052c9565b6001600160a01b039092166020928302919091019091015280620019588162005378565b915050620018f8565b50505b6101065481516001600160a01b03909116908290620019869060019062005394565b81518110620019995762001999620052c9565b60200260200101906001600160a01b031690816001600160a01b031681525050308160028351620019cb919062005394565b81518110620019de57620019de620052c9565b6001600160a01b03928316602091820292909201015261010454608088015160e0890151604051633a92f65f60e01b81529290931692633a92f65f9262001a319291610108913090889060040162005496565b6020604051808303816000875af115801562001a51573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001a779190620050be565b60fe55805162001a909061010f90602084019062004492565b5061010280546001600160a01b038088166001600160a01b03199283161790925561010180549287169290911691909117905560fe5460e08701516040517f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed032059262001b029290916101089190620054f6565b60405180910390a150801562001b52576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b62001b6362003372565b33600081815261010c602052604081206101005490916001600160a01b039091169062001b94612710606462005055565b60fc5460fb5462001ba6919062005055565b62001bb2919062005116565b9050600062001bc5612710606462005055565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c9062001bf390309060040162004640565b602060405180830381865afa15801562001c11573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001c379190620050be565b60fb5462001c46919062005055565b62001c52919062005116565b905062001c5f8562002f1e565b62001da95760028401805460ff1916600190811790915560fb5490850181905562001cb99086903090849062001c9790879062005139565b62001ca3919062005139565b610105546001600160a01b031692919062003874565b811562001ce65760ff546101055462001ce6916001600160a01b03918216916101009091041684620038d0565b801562001d6b5762001d6b836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001d30573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001d569190620052a9565b610105546001600160a01b03169083620038d0565b7f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f76898560fb5460405162001da0929190620050a5565b60405180910390a15b505050505062001db96001606555565b565b6001600160a01b038116331462001e2d5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016200153f565b620011868282620038f2565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001e845760405162461bcd60e51b81526004016200153f9062005525565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001eb86200395c565b6001600160a01b03161462001ee15760405162461bcd60e51b81526004016200153f9062005560565b62001eec8162003979565b604080516000808252602082019092526200119f91839190620039bb565b62001f1462003335565b62001f1f8162003431565b61010380546001600160a01b0319166001600160a01b03838116918217909255610106546040517f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89362000dfc9392169190620050fc565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001fc25760405162461bcd60e51b81526004016200153f9062005525565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001ff66200395c565b6001600160a01b0316146200201f5760405162461bcd60e51b81526004016200153f9062005560565b6200202a8262003979565b6200118682826001620039bb565b610102546101075461010154600092839283926001600160a01b039283169263184b955960e01b92811691166200206e62002e58565b60405160240162002082939291906200559b565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051620020c190620044f8565b620020ce929190620055be565b604051809103906000f080158015620020eb573d6000803e3d6000fd5b509050620020fc81878787620031e6565b9250925050935093915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620021a65760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016200153f565b506000805160206200602783398151915290565b620021c462003372565b620021ce62003b33565b33600081815261010d60209081526040808320805482518185028101850190935280835291929091908301828280156200223257602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162002213575b50505050509050600080600090505b82518110156200236d57828181518110620022605762002260620052c9565b60200260200101516001600160a01b031663782aadff85876040518363ffffffff1660e01b815260040162002297929190620050a5565b6020604051808303816000875af1158015620022b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620022dd9190620050be565b9150811562002358576001600160a01b038416600090815261010b602052604081208451849290869085908110620023195762002319620052c9565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600082825462002352919062005139565b90915550505b80620023648162005378565b91505062002241565b506101055462002389906001600160a01b031684308762003874565b6001600160a01b038316600090815261010c602052604081206001018054869290620023b790849062005139565b90915550506040517f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f90620023f09085908790620050a5565b60405180910390a15050506200119f6001606555565b610102546101075461010154600092839283926001600160a01b039283169263184b955960e01b92811691166200243c62002e58565b60405160240162002450939291906200559b565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516200248f90620044f8565b6200249c929190620055be565b604051809103906000f080158015620024b9573d6000803e3d6000fd5b509050620024ca8187878762002ccb565b60c087015191945092506001600160a01b0316620025d5576103e88560e00151511115620025535760405162461bcd60e51b815260206004820152602f60248201527f546f6f206d616e7920696e697469616c20616c6c6f776c697374206d656d626560448201526e072732c206d6178206973203130303608c1b60648201526084016200153f565b600083604051602001620025689190620055e4565b60405160208183030381529060405280519060200120905060005b8660e0015151811015620025d257620025bd828860e001518381518110620025af57620025af620052c9565b602002602001015162003728565b80620025c98162005378565b91505062002583565b50505b6200263183604051602001620025ec9190620055e4565b604051602081830303815290604052805190602001208460405160200162002615919062005601565b604051602081830303815290604052805190602001206200381f565b620026658360405160200162002648919062005601565b604051602081830303815290604052805190602001208362003728565b50935093915050565b6200267862003372565b6200268262003b33565b33600081815261010d6020908152604080832060fb5461010c9093529083206001015490929190620026b690869062005394565b1015620026d657604051634e23e81760e11b815260040160405180910390fd5b61010554620026f0906001600160a01b03168486620038d0565b60005b8254811015620029a0576000838281548110620027145762002714620052c9565b6000918252602090912001546001600160a01b031690506200273e8163f1801e6160e01b62003b5c565b15620028c457604051632ed04b2b60e01b81526001600160a01b03821690632ed04b2b90620027749088908a90600401620050a5565b6020604051808303816000875af115801562002794573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620027ba9190620050be565b9250600061010b6000876001600160a01b03166001600160a01b031681526020019081526020016000206000868581548110620027fb57620027fb620052c9565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156200284f576040516311423e6360e31b815260048101859052602481018290526044016200153f565b6001600160a01b038616600090815261010b602052604081208654869290889087908110620028825762002882620052c9565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190620028b890849062005394565b9091555050506200298a565b83548490620028d69060019062005394565b81548110620028e957620028e9620052c9565b9060005260206000200160009054906101000a90046001600160a01b03168483815481106200291c576200291c620052c9565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550838054806200295d576200295d62005624565b600082815260209020810160001990810180546001600160a01b03191690550190556200298a8162003460565b5080620029978162005378565b915050620026f3565b506001600160a01b038316600090815261010c602052604081206001018054869290620029cf90849062005394565b90915550506040517f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff890620023f09085908790620050a5565b62002a1262003372565b62002a1c62003335565b60ff80541662002a3f576040516365b1ee3960e11b815260040160405180910390fd5b62002a4a8262002f1e565b62002a6857604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159082015262002ab98362003b84565b6001600160a01b03808416600090815261010c60209081526040822080546001600160a01b031916815560018101929092556002909101805460ff191690558201516101055462002b0e9216908490620038d0565b7fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a38383836020015160405162002b4793929190620050d8565b60405180910390a150620011866001606555565b62002b65620034be565b62001db9600062003c99565b62002b7b62003335565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801562002bc7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002bf191908101906200563a565b60200151905062002c028162003431565b620011868162003460565b62002c1762003335565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801562002c63573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002c8d91908101906200563a565b60200151905062002c9e8162003431565b62002cba6001600160a01b03821663f1801e6160e01b62003b5c565b156200118657620011868162003521565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0386161562002cf65750845b869150600061010f80548060200260200160405190810160405280929190818152602001828054801562002d5457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162002d35575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062002d8c908b9060200162005805565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b815260040162002dc49796959493929190620058ae565b6020604051808303816000875af115801562002de4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e0a9190620050be565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a8960405162002e459594939291906200591f565b60405180910390a1505094509492505050565b60008062002e6e6033546001600160a01b031690565b9050806001600160a01b03163b60000362002e8857919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562002ee5575060408051601f3d908101601f1916820190925262002ee291810190620052a9565b60015b62000d8b57919050565b5090565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6001600160a01b03908116600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b62002f72620034be565b61010180546001600160a01b0319166001600160a01b0392909216919091179055565b610103546001600160a01b0316331462002fc2576040516375e686b760e11b815260040160405180910390fd5b62001db962003ceb565b610109805462002fdc906200514f565b80601f01602080910402602001604051908101604052809291908181526020018280546200300a906200514f565b80156200305b5780601f106200302f576101008083540402835291602001916200305b565b820191906000526020600020905b8154815290600101906020018083116200303d57829003601f168201915b505050505081565b6200306d62003372565b336200307981620033cd565b620030848162003b84565b6001600160a01b03808216600081815261010c602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945561010d90529182209091620030ff919062004506565b60208101516101055462003121916001600160a01b03909116908490620038d0565b7fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f482826020015160405162003158929190620050a5565b60405180910390a1505062001db96001606555565b6200317c612710600a62005055565b81565b600054610100900460ff16620031a95760405162461bcd60e51b81526004016200153f906200595b565b6200119f8162003c99565b610108805462002fdc906200514f565b620031cf82620012de565b620031da816200371c565b620014548383620038f2565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b03861615620032115750845b869150600061010f8054806020026020016040519081016040528092919081815260200182805480156200326f57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003250575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062002d8c908b90602001620059a6565b600062000d8b60008051602062005fe78339815191528362002ef3565b620032ce620034be565b6001600160a01b038116620031a95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016200153f565b6200335060008051602062005fe78339815191523362002ef3565b62001db9573360405163fc4be72f60e01b81526004016200153f919062004640565b600260655403620033c65760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016200153f565b6002606555565b620033d88162002f1e565b6200119f57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090205460ff166200119f576040516346c26e4b60e01b815260040160405180910390fd5b6001600160a01b0381166200119f576040516303988b8160e61b815260040160405180910390fd5b6001606555565b6200346b8162003431565b6001600160a01b038116600090815261010a602052604090819020805460ff19169055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49062000dfc90839062004640565b33620034c962002e58565b6001600160a01b03161462001db95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200153f565b6001600160a01b038116600090815261010a602052604090205460ff16156200355d576040516325a2934b60e21b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090819020805460ff19166001179055517f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19062000dfc90839062004640565b806001600160a01b0316826001600160a01b031614620011865760405163bbe7961160e01b815260040160405180910390fd5b6001600160a01b038216600090815261010d60205260408120905b81548110156200371657826001600160a01b03168282815481106200362a576200362a620052c9565b6000918252602090912001546001600160a01b031603620037015781548290620036579060019062005394565b815481106200366a576200366a620052c9565b9060005260206000200160009054906101000a90046001600160a01b03168282815481106200369d576200369d620052c9565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480620036de57620036de62005624565b600082815260209020810160001990810180546001600160a01b03191690550190555b806200370d8162005378565b91505062003601565b50505050565b6200119f813362003d4f565b62003734828262002ef3565b6200118657600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff191660011790556200376e3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6001600160a01b03163b151590565b600054610100900460ff16620037eb5760405162461bcd60e51b81526004016200153f906200595b565b62001db962003db3565b600054610100900460ff1662001db95760405162461bcd60e51b81526004016200153f906200595b565b60006200382c83620012de565b600084815260c96020526040808220600101859055519192508391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b62003716846323b872dd60e01b8585856040516024016200389893929190620050d8565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003ddd565b620014548363a9059cbb60e01b848460405160240162003898929190620050a5565b620038fe828262002ef3565b156200118657600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008051602062006027833981519152546001600160a01b031690565b336200398462002e58565b6001600160a01b0316146200119f57336200399e62002e58565b60405163163678e960e01b81526004016200153f929190620050fc565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615620039f157620014548362003eb9565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562003a4e575060408051601f3d908101601f1916820190925262003a4b91810190620050be565b60015b62003ab35760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016200153f565b60008051602062006027833981519152811462003b255760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016200153f565b506200145483838362003f58565b62003b3e3362002f1e565b62001db957604051636a5cfb6d60e01b815260040160405180910390fd5b600062003b698362003f83565b801562003b7d575062003b7d838362003fbb565b9392505050565b6001600160a01b038116600090815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562003bf157602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003bd2575b5050505050905060005b8151811015620014545781818151811062003c1a5762003c1a620052c9565b60200260200101516001600160a01b0316636453d9c4846040518263ffffffff1660e01b815260040162003c4f919062004640565b600060405180830381600087803b15801562003c6a57600080fd5b505af115801562003c7f573d6000803e3d6000fd5b50505050808062003c909062005378565b91505062003bfb565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610103805461010680546001600160a01b03199081166001600160a01b038416179091551690556040517fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729062003d459060009062004640565b60405180910390a1565b62003d5b828262002ef3565b620011865762003d6b8162004046565b62003d7883602062004059565b60405160200162003d8b92919062005a2f565b60408051601f198184030181529082905262461bcd60e51b82526200153f9160040162004fb7565b600054610100900460ff16620034595760405162461bcd60e51b81526004016200153f906200595b565b600062003e34826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316620042129092919063ffffffff16565b905080516000148062003e5857508080602001905181019062003e58919062005aa2565b620014545760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016200153f565b62003ec481620037b2565b62003f285760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016200153f565b6000805160206200602783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b62003f63836200422b565b60008251118062003f715750805b1562001454576200371683836200426d565b600062003f98826301ffc9a760e01b62003fbb565b801562000d8b575062003fb4826001600160e01b031962003fbb565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d915060005190508280156200402e575060208210155b80156200403b5750600081115b979650505050505050565b606062000d8b6001600160a01b03831660145b606060006200406a83600262005055565b6200407790600262005139565b6001600160401b038111156200409157620040916200467c565b6040519080825280601f01601f191660200182016040528015620040bc576020820181803683370190505b509050600360fc1b81600081518110620040da57620040da620052c9565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106200410c576200410c620052c9565b60200101906001600160f81b031916908160001a90535060006200413284600262005055565b6200413f90600162005139565b90505b6001811115620041c1576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110620041775762004177620052c9565b1a60f81b828281518110620041905762004190620052c9565b60200101906001600160f81b031916908160001a90535060049490941c93620041b98162005ac2565b905062004142565b50831562003b7d5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200153f565b606062004223848460008562004295565b949350505050565b620042368162003eb9565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062003b7d838360405180606001604052806027815260200162006047602791396200436d565b606082471015620042f85760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016200153f565b600080866001600160a01b0316858760405162004316919062005adc565b60006040518083038185875af1925050503d806000811462004355576040519150601f19603f3d011682016040523d82523d6000602084013e6200435a565b606091505b50915091506200403b87838387620043eb565b6060600080856001600160a01b0316856040516200438c919062005adc565b600060405180830381855af49150503d8060008114620043c9576040519150601f19603f3d011682016040523d82523d6000602084013e620043ce565b606091505b5091509150620043e186838387620043eb565b9695505050505050565b606083156200445f57825160000362004457576200440985620037b2565b620044575760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200153f565b508162004223565b620042238383815115620044765781518083602001fd5b8060405162461bcd60e51b81526004016200153f919062004fb7565b828054828255906000526020600020908101928215620044ea579160200282015b82811115620044ea57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620044b3565b5062002eef92915062004521565b6104ec8062005afb83390190565b50805460008255906000526020600020908101906200119f91905b5b8082111562002eef576000815560010162004522565b6000602082840312156200454b57600080fd5b81356001600160e01b03198116811462003b7d57600080fd5b6000602082840312156200457757600080fd5b5035919050565b6001600160a01b03811681146200119f57600080fd5b8035620045a1816200457e565b919050565b60008060408385031215620045ba57600080fd5b8235620045c7816200457e565b91506020830135620045d9816200457e565b809150509250929050565b600060208284031215620045f757600080fd5b813562003b7d816200457e565b600080604083850312156200461857600080fd5b823562004625816200457e565b946020939093013593505050565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b600080604083850312156200466857600080fd5b823591506020830135620045d9816200457e565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715620046b757620046b76200467c565b60405290565b60405161018081016001600160401b0381118282101715620046b757620046b76200467c565b60405160c081016001600160401b0381118282101715620046b757620046b76200467c565b60405161010081016001600160401b0381118282101715620046b757620046b76200467c565b604051601f8201601f191681016001600160401b03811182821017156200475957620047596200467c565b604052919050565b60006001600160401b038211156200477d576200477d6200467c565b50601f01601f191660200190565b6000620047a26200479c8462004761565b6200472e565b9050828152838383011115620047b757600080fd5b828260208301376000602084830101529392505050565b600082601f830112620047e057600080fd5b62003b7d838335602085016200478b565b6000604082840312156200480457600080fd5b6200480e62004692565b82358152905060208201356001600160401b038111156200482e57600080fd5b6200483c84828501620047ce565b60208301525092915050565b80151581146200119f57600080fd5b8035620045a18162004848565b600080600080608085870312156200487b57600080fd5b84356001600160401b03808211156200489357600080fd5b908601906101808289031215620048a957600080fd5b620048b3620046bd565b620048be8362004594565b8152620048ce6020840162004594565b6020820152604083013560408201526060830135606082015260808301356080820152620048ff60a0840162004594565b60a08201526200491260c0840162004594565b60c082015260e0830135828111156200492a57600080fd5b620049388a828601620047f1565b60e0830152506101006200494e81850162004594565b9082015261012083810135838111156200496757600080fd5b620049758b828701620047ce565b8284015250506101406200498b81850162004857565b908201526101608381013583811115620049a457600080fd5b620049b28b828701620047ce565b828401525050809650505050620049cc6020860162004594565b9250620049dc6040860162004594565b9150620049ec6060860162004594565b905092959194509250565b6000806040838503121562004a0b57600080fd5b823562004a18816200457e565b915060208301356001600160401b0381111562004a3457600080fd5b8301601f8101851362004a4657600080fd5b62004a57858235602084016200478b565b9150509250929050565b60006080828403121562004a7457600080fd5b604051608081016001600160401b038111828210171562004a995762004a996200467c565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b803560038110620045a157600080fd5b600481106200119f57600080fd5b8035620045a18162004ada565b60006020828403121562004b0857600080fd5b604051602081016001600160401b038111828210171562004b2d5762004b2d6200467c565b6040529135825250919050565b600060c0828403121562004b4d57600080fd5b62004b57620046e3565b9050813562004b66816200457e565b8152602082013562004b78816200457e565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b60006101e0828403121562004bc157600080fd5b60405160e081016001600160401b038111828210171562004be65762004be66200467c565b60405290508062004bf8848462004a61565b815262004c086080840162004aca565b602082015260a083013562004c1d8162004ada565b604082015262004c318460c0850162004af5565b606082015262004c458460e0850162004b3a565b60808201526101a083013562004c5b816200457e565b60a082015262004c6f6101c0840162004594565b60c08201525092915050565b6000806000610220848603121562004c9257600080fd5b833562004c9f816200457e565b925062004cb0856020860162004bad565b91506102008401356001600160401b0381111562004ccd57600080fd5b62004cdb86828701620047f1565b9150509250925092565b60006001600160401b0382111562004d015762004d016200467c565b5060051b60200190565b600082601f83011262004d1d57600080fd5b8135602062004d306200479c8362004ce5565b82815260059290921b8401810191818101908684111562004d5057600080fd5b8286015b8481101562004d7857803562004d6a816200457e565b835291830191830162004d54565b509695505050505050565b6000610200828403121562004d9757600080fd5b62004da162004708565b905062004daf838362004a61565b815262004dbf6080830162004aca565b602082015262004dd260a0830162004ae8565b604082015262004de68360c0840162004af5565b606082015262004dfa8360e0840162004b3a565b608082015262004e0e6101a0830162004594565b60a082015262004e226101c0830162004594565b60c08201526101e08201356001600160401b0381111562004e4257600080fd5b62004e508482850162004d0b565b60e08301525092915050565b60008060006060848603121562004e7257600080fd5b833562004e7f816200457e565b925060208401356001600160401b038082111562004e9c57600080fd5b62004eaa8783880162004d83565b9350604086013591508082111562004ec157600080fd5b5062004cdb86828701620047f1565b6000806000806080858703121562004ee757600080fd5b843562004ef4816200457e565b9350602085013562004f06816200457e565b925060408501356001600160401b038082111562004f2357600080fd5b62004f318883890162004d83565b9350606087013591508082111562004f4857600080fd5b5062004f5787828801620047f1565b91505092959194509250565b60005b8381101562004f8057818101518382015260200162004f66565b50506000910152565b6000815180845262004fa381602086016020860162004f63565b601f01601f19169290920160200192915050565b60208152600062003b7d602083018462004f89565b600080600080610240858703121562004fe457600080fd5b843562004ff1816200457e565b9350602085013562005003816200457e565b925062005014866040870162004bad565b91506102208501356001600160401b038111156200503157600080fd5b62004f5787828801620047f1565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000d8b5762000d8b6200503f565b634e487b7160e01b600052602160045260246000fd5b6000602082840312156200509857600080fd5b815162003b7d8162004ada565b6001600160a01b03929092168252602082015260400190565b600060208284031215620050d157600080fd5b5051919050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0392831681529116602082015260400190565b6000826200513457634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000d8b5762000d8b6200503f565b600181811c908216806200516457607f821691505b6020821081036200518557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200145457600081815260208120601f850160051c81016020861015620051b45750805b601f850160051c820191505b81811015620051d557828155600101620051c0565b505050505050565b81516001600160401b03811115620051f957620051f96200467c565b62005211816200520a84546200514f565b846200518b565b602080601f831160018114620052495760008415620052305750858301515b600019600386901b1c1916600185901b178555620051d5565b600085815260208120601f198616915b828110156200527a5788860151825594840194600190910190840162005259565b5085821015620052995787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620052bc57600080fd5b815162003b7d816200457e565b634e487b7160e01b600052603260045260246000fd5b60006020808385031215620052f357600080fd5b82516001600160401b038111156200530a57600080fd5b8301601f810185136200531c57600080fd5b80516200532d6200479c8262004ce5565b81815260059190911b820183019083810190878311156200534d57600080fd5b928401925b828410156200403b57835162005368816200457e565b8252928401929084019062005352565b6000600182016200538d576200538d6200503f565b5060010190565b8181038181111562000d8b5762000d8b6200503f565b60008154620053b9816200514f565b808552602060018381168015620053d95760018114620053f45762005424565b60ff1985168884015283151560051b88018301955062005424565b866000528260002060005b858110156200541c5781548a8201860152908301908401620053ff565b890184019650505b505050505092915050565b80518252600060208201516040602085015262004223604085018262004f89565b600081518084526020808501945080840160005b838110156200548b5781516001600160a01b03168752958201959082019060010162005464565b509495945050505050565b85815260a060208201526000620054b160a0830187620053aa565b8281036040840152620054c581876200542f565b6001600160a01b038616606085015283810360808501529050620054ea818562005450565b98975050505050505050565b838152606060208201526000620055116060830185620053aa565b8281036040840152620043e181856200542f565b6020808252602c908201526000805160206200600783398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206200600783398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b0383168152604060208201819052600090620042239083018462004f89565b6810531313d5d31254d560ba1b8152600981019190915260290190565b6e20a62627aba624a9aa2fa0a226a4a760891b8152600f810191909152602f0190565b634e487b7160e01b600052603160045260246000fd5b600060208083850312156200564e57600080fd5b82516001600160401b03808211156200566657600080fd5b9084019060c082870312156200567b57600080fd5b62005685620046e3565b825181528383015162005698816200457e565b818501526040830151620056ac816200457e565b6040820152606083015182811115620056c457600080fd5b830160408189031215620056d757600080fd5b620056e162004692565b815181528582015184811115620056f757600080fd5b82019350601f840189136200570b57600080fd5b835191506200571e6200479c8362004761565b82815289878487010111156200573357600080fd5b620057448388830189880162004f63565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b805182526020810151602083015260408101516040830152606081015160608301525050565b60038110620057a957620057a96200506f565b9052565b60048110620057a957620057a96200506f565b80516001600160a01b0390811683526020808301519091169083015260408082015190830152606080820151908301526080808201519083015260a090810151910152565b602081526200581960208201835162005770565b600060208301516200582f60a084018262005796565b5060408301516200584460c0840182620057ad565b5060608301515160e0830152608083015162005865610100840182620057c0565b5060a08301516200587b6101c084018262004633565b5060c0830151620058916101e084018262004633565b5060e0830151610200838101526200422361022084018262005450565b878152600060018060a01b03808916602084015260e06040840152620058d860e084018962004f89565b818816606085015286608085015283810360a0850152620058fa81876200542f565b91505082810360c084015262005911818562005450565b9a9950505050505050505050565b8581526001600160a01b03858116602083015284811660408301528316606082015260a0608082018190526000906200403b908301846200542f565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006101e082019050620059bc82845162005770565b6020830151620059d0608084018262005796565b506040830151620059e560a0840182620057ad565b5060608301515160c0830152608083015162005a0560e0840182620057c0565b5060a08301516001600160a01b039081166101a084015260c0909301519092166101c09091015290565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81526000835162005a6381601785016020880162004f63565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835162005a9681602884016020880162004f63565b01602801949350505050565b60006020828403121562005ab557600080fd5b815162003b7d8162004848565b60008162005ad45762005ad46200503f565b506000190190565b6000825162005af081846020870162004f63565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212204fe6c3c3dccfaea0fd10fdd343631403db3c1555c6576ad816deaaa45c9f926764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656403be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220eb4556dd26edee48f4bb15c8bc758359b6156c983f6a75864cfbb4f7fa99c7ed64736f6c63430008130033","sourceMap":"522:2047:108:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3050:213:43;;;;;;;;;;-1:-1:-1;3050:213:43;;;;;:::i;:::-;;:::i;:::-;;;470:14:142;;463:22;445:41;;433:2;418:18;3050:213:43;;;;;;;;23671:115:107;;;;;;;;;;-1:-1:-1;23760:19:107;;23671:115;;;643:25:142;;;631:2;616:18;23671:115:107;497:177:142;5999:24:107;;;;;;;;;;;;;;;;23988:288;;;;;;;;;;-1:-1:-1;23988:288:107;;;;;:::i;:::-;;:::i;:::-;;13750:1170;;;;;;;;;;-1:-1:-1;13750:1170:107;;;;;:::i;:::-;;:::i;20288:128::-;;;;;;;;;;-1:-1:-1;20288:128:107;;;;;:::i;:::-;;:::i;9654:110::-;;;;;;;;;;-1:-1:-1;9654:110:107;;;;;:::i;:::-;;:::i;6080:25::-;;;;;;;;;;-1:-1:-1;6080:25:107;;;;;;;;19453:128;;;;;;;;;;-1:-1:-1;19453:128:107;;;;;:::i;:::-;;:::i;14926:699::-;;;;;;;;;;-1:-1:-1;14926:699:107;;;;;:::i;:::-;;:::i;4855:129:43:-;;;;;;;;;;-1:-1:-1;4855:129:43;;;;;:::i;:::-;;:::i;23188:477:107:-;;;;;;;;;;;;;:::i;7636:82::-;;;;;;;;;;-1:-1:-1;7636:82:107;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;18969:151::-;;;;;;;;;;-1:-1:-1;18969:151:107;;;;;:::i;:::-;-1:-1:-1;;;;;19072:28:107;19046:7;19072:28;;;:19;:28;;;;;:41;;;;18969:151;5280:145:43;;;;;;;;;;-1:-1:-1;5280:145:43;;;;;:::i;:::-;;:::i;23792:190:107:-;;;;;;;;;;-1:-1:-1;23792:190:107;;;;;:::i;:::-;;:::i;5900:25::-;;;;;;;;;;;;;;;;10044:2497;;;;;;;;;;-1:-1:-1;10044:2497:107;;;;;:::i;:::-;;:::i;21250:1932::-;;;;;;;;;;;;;:::i;6389:214:43:-;;;;;;;;;;-1:-1:-1;6389:214:43;;;;;:::i;:::-;;:::i;3143:195:64:-;;;;;;;;;;-1:-1:-1;3143:195:64;;;;;:::i;:::-;;:::i;20422:248:107:-;;;;;;;;;;-1:-1:-1;20422:248:107;;;;;:::i;:::-;;:::i;7171:68::-;;;;;;;;;;-1:-1:-1;7171:68:107;;;;;:::i;:::-;;;;;;;;;;;;;;;;7796:107;;;;;;;;;;-1:-1:-1;7796:107:107;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;3657:220:64;;;;;;:::i;:::-;;:::i;12547:531:107:-;;;;;;;;;;-1:-1:-1;12547:531:107;;;;;:::i;:::-;;:::i;:::-;;;;12805:25:142;;;-1:-1:-1;;;;;12866:32:142;;;12861:2;12846:18;;12839:60;12778:18;12547:531:107;12631:274:142;2762:131:64;;;;;;;;;;;;;:::i;16070:1009:107:-;;;;;;;;;;-1:-1:-1;16070:1009:107;;;;;:::i;:::-;;:::i;584:1317:108:-;;;;;;;;;;-1:-1:-1;584:1317:108;;;;;:::i;:::-;;:::i;6450:31:107:-;;;;;;;;;;-1:-1:-1;6450:31:107;;;;-1:-1:-1;;;;;6450:31:107;;;17222:1562;;;;;;;;;;-1:-1:-1;17222:1562:107;;;;;:::i;:::-;;:::i;7307:98::-;;;;;;;;;;-1:-1:-1;7307:98:107;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;25409:583;;;;;;;;;;-1:-1:-1;25409:583:107;;;;;:::i;:::-;;:::i;6549:41::-;;;;;;;;;;-1:-1:-1;6549:41:107;;;;-1:-1:-1;;;;;6549:41:107;;;6809:24;;;;;;;;;;-1:-1:-1;6809:24:107;;;;-1:-1:-1;;;;;6809:24:107;;;2085:101:45;;;;;;;;;;;;;:::i;19845:237:107:-;;;;;;;;;;-1:-1:-1;19845:237:107;;;;;:::i;:::-;;:::i;8237:68::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8237:68:107;;6353:38;;;;;;;;;;-1:-1:-1;6353:38:107;;;;-1:-1:-1;;;;;6353:38:107;;;18790:173;;;;;;;;;;-1:-1:-1;18790:173:107;;;;;:::i;:::-;-1:-1:-1;;;;;18915:30:107;;;18889:7;18915:30;;;:21;:30;;;;;;;;:41;;;;;;;;;;;;;18790:173;5695:34;;;;;;;;;;;;;;;;6640:25;;;;;;;;;;-1:-1:-1;6640:25:107;;;;-1:-1:-1;;;;;6640:25:107;;;19126:321;;;;;;;;;;-1:-1:-1;19126:321:107;;;;;:::i;:::-;;:::i;1907:660:108:-;;;;;;;;;;-1:-1:-1;1907:660:108;;;;;:::i;:::-;;:::i;7505:60:107:-;;;;;;;;;;-1:-1:-1;7505:60:107;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7505:60:107;;;;;;;;;;;;;-1:-1:-1;;;;;17412:32:142;;;17394:51;;17476:2;17461:18;;17454:34;;;;17531:14;17524:22;17504:18;;;17497:50;17382:2;17367:18;7505:60:107;17198:355:142;5806:27:107;;;;;;;;;;;;;;;;525:604:105;;;;;;;;;;;;;:::i;3350:145:43:-;;;;;;;;;;-1:-1:-1;3350:145:43;;;;;:::i;:::-;;:::i;5279:75:107:-;;;;;;;;;;;;5312:42;5279:75;;2320:49:43;;;;;;;;;;-1:-1:-1;2320:49:43;2365:4;2320:49;;21054:190:107;;;;;;;;;;-1:-1:-1;21054:190:107;;;;;:::i;:::-;;:::i;9770:124::-;;;;;;;;;;-1:-1:-1;9770:124:107;;;;;:::i;:::-;;:::i;6172:26::-;;;;;;;;;;-1:-1:-1;6172:26:107;;;;;;;-1:-1:-1;;;;;6172:26:107;;;20869:179;;;;;;;;;;;;;:::i;7025:30::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;24458:465::-;;;;;;;;;;;;;:::i;5568:54::-;;;;;;;;;;;;;:::i;404:115:105:-;;;;;;;;;;-1:-1:-1;404:115:105;;;;;:::i;:::-;;:::i;6940:27:107:-;;;;;;;;;;;;;:::i;5705:147:43:-;;;;;;;;;;-1:-1:-1;5705:147:43;;;;;:::i;:::-;;:::i;6881:17:107:-;;;;;;;;;;-1:-1:-1;6881:17:107;;;;-1:-1:-1;;;;;6881:17:107;;;5444:49;;;;;;;;;;;;5486:7;5444:49;;6728:25;;;;;;;;;;-1:-1:-1;6728:25:107;;;;-1:-1:-1;;;;;6728:25:107;;;13084:660;;;;;;;;;;-1:-1:-1;13084:660:107;;;;;:::i;:::-;;:::i;24319:133::-;;;;;;;;;;-1:-1:-1;24319:133:107;;;;;:::i;:::-;;:::i;2335:198:45:-;;;;;;;;;;-1:-1:-1;2335:198:45;;;;;:::i;:::-;;:::i;6256:30:107:-;;;;;;;;;;-1:-1:-1;6256:30:107;;;;-1:-1:-1;;;;;6256:30:107;;;5155:38;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5155:38:107;;;;;3050:213:43;3135:4;-1:-1:-1;;;;;;3158:58:43;;-1:-1:-1;;;3158:58:43;;:98;;-1:-1:-1;;;;;;;;;;1189:51:53;;;3220:36:43;3151:105;3050:213;-1:-1:-1;;3050:213:43:o;23988:288:107:-;24064:17;:15;:17::i;:::-;5602:20;5486:7;5602:2;:20;:::i;:::-;24095:16;:26;24091:86;;;24144:22;;-1:-1:-1;;;24144:22:107;;;;;;;;;;;24091:86;24186:12;:31;;;24232:37;;643:25:142;;;24232:37:107;;631:2:142;616:18;24232:37:107;;;;;;;;23988:288;:::o;13750:1170::-;2526:21:48;:19;:21::i;:::-;13858:34:107::1;13884:7;13858:25;:34::i;:::-;13902:30;13922:9;13902:19;:30::i;:::-;13942:29;13961:9;13942:18;:29::i;:::-;-1:-1:-1::0;;;;;13986:36:107;;::::1;;::::0;;;:27:::1;:36;::::0;;;;;;;:47;;::::1;::::0;;;;;;;::::1;;13982:107;;;14056:22;;-1:-1:-1::0;;;14056:22:107::1;;;;;;;;;;;13982:107;-1:-1:-1::0;;;;;14122:28:107;;::::1;14099:20;14122:28:::0;;;:19:::1;:28;::::0;;;;;;;;14099:51;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;;::::0;::::1;;;;::::0;;;;;;;14245:19:::1;::::0;14325:21:::1;14294:9;-1:-1:-1::0;;;;;14279:40:107::1;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:67;;;;;;;;:::i;:::-;::::0;14275:354:::1;;14381:51;::::0;-1:-1:-1;;;14381:51:107;;-1:-1:-1;;;;;14381:39:107;::::1;::::0;::::1;::::0;:51:::1;::::0;14421:7;;14430:1:::1;::::0;14381:51:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14362:70;;14275:354;;;14499:17;14468:9;-1:-1:-1::0;;;;;14453:40:107::1;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:63;;;;;;;;:::i;:::-;;14449:180;;14551:67;::::0;-1:-1:-1;;;14551:67:107;;-1:-1:-1;;;;;14551:39:107;::::1;::::0;::::1;::::0;:67:::1;::::0;14591:7;;14600:17;;14551:67:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14532:86;;14449:180;-1:-1:-1::0;;;;;14639:30:107;;::::1;;::::0;;;:21:::1;:30;::::0;;;;;;;:41;;::::1;::::0;;;;;;;;;:60;;;14728:36;;;:27:::1;:36:::0;;;;;:47;;;;;;;;:54;;-1:-1:-1;;14728:54:107::1;14778:4;14728:54:::0;;::::1;::::0;;;14793:27;;;:18:::1;:27:::0;;;;;:43;;;;::::1;::::0;;;;;;;;::::1;::::0;;-1:-1:-1;;;;;;14793:43:107::1;::::0;;::::1;::::0;;;14852:61;::::1;::::0;::::1;::::0;14661:7;;14670:9;;14683:16;;14852:61:::1;:::i;:::-;;;;;;;;13848:1072;;;2568:20:48::0;1808:1;3074:7;:22;2894:209;2568:20;13750:1170:107;;:::o;20288:128::-;20356:17;:15;:17::i;:::-;20383:26;20399:9;20383:15;:26::i;:::-;20288:128;:::o;9654:110::-;1355:13:45;:11;:13::i;:::-;9730:16:107::1;:27:::0;;-1:-1:-1;;;;;;9730:27:107::1;-1:-1:-1::0;;;;;9730:27:107;;;::::1;::::0;;;::::1;::::0;;9654:110::o;19453:128::-;19521:17;:15;:17::i;:::-;19548:26;19561:12;19548;:26::i;14926:699::-;15023:34;15049:7;15023:25;:34::i;:::-;15067:29;15086:9;15067:18;:29::i;:::-;15106:42;15126:10;15138:9;15106:19;:42::i;:::-;-1:-1:-1;;;;;15164:36:107;;;;;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;15159:110;;15234:24;;-1:-1:-1;;;15234:24:107;;;;;;;;;;;15159:110;-1:-1:-1;;;;;15279:36:107;;;15329:5;15279:36;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;:55;;-1:-1:-1;;15279:55:107;;;15344:30;;;:21;:30;;;;;:41;;;;;;;;;:45;15399:44;15307:7;15316:9;15399:24;:44::i;:::-;15573:45;15599:7;15608:9;15573:45;;;;;;;:::i;:::-;;;;;;;;14926:699;;:::o;4855:129:43:-;4929:7;4955:12;;;:6;:12;;;;;:22;;;;4855:129::o;23188:477:107:-;23321:15;;23251:7;;-1:-1:-1;;;;;23321:15:107;23251:7;23416:21;5486:7;23416:3;:21;:::i;:::-;23399:12;;23377:19;;:34;;;;:::i;:::-;23376:62;;;;:::i;:::-;23347:91;-1:-1:-1;23448:24:107;23559:21;5486:7;23559:3;:21;:::i;:::-;23510:44;;-1:-1:-1;;;23510:44:107;;-1:-1:-1;;;;;23510:29:107;;;;;:44;;23548:4;;23510:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23488:19;;:66;;;;:::i;:::-;23487:94;;;;:::i;:::-;23448:133;;23642:16;23621:18;23599:19;;:40;;;;:::i;:::-;:59;;;;:::i;:::-;23592:66;;;;;23188:477;:::o;7636:82::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7636:82:107;;-1:-1:-1;7636:82:107;;-1:-1:-1;7636:82:107:o;5280:145:43:-;5363:18;5376:4;5363:12;:18::i;:::-;2798:16;2809:4;2798:10;:16::i;:::-;5393:25:::1;5404:4;5410:7;5393:10;:25::i;:::-;5280:145:::0;;;:::o;23792:190:107:-;23869:17;:15;:17::i;:::-;23896:19;:32;;;23943;;643:25:142;;;23943:32:107;;631:2:142;616:18;23943:32:107;497:177:142;10044:2497:107;3279:19:47;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:47;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;;3388:44;3426:4;3388:29;:44::i;:::-;3387:45;:66;;;;-1:-1:-1;3436:12:47;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:47;;22268:2:142;3325:201:47;;;22250:21:142;22307:2;22287:18;;;22280:30;22346:34;22326:18;;;22319:62;-1:-1:-1;;;22397:18:142;;;22390:44;22451:19;;3325:201:47;;;;;;;;;3536:12;:16;;-1:-1:-1;;3536:16:47;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:47;;;;;3562:65;10261:24:107::1;10278:6;10261:16;:24::i;:::-;10295;:22;:24::i;:::-;10329:22;:20;:22::i;:::-;10362:49;-1:-1:-1::0;;;;;;;;;;;2365:4:43::1;10362:13:107;:49::i;:::-;10422:48;10449:6;:19;;;10422:18;:48::i;:::-;10480:39;10499:6;:19;;;10480:18;:39::i;:::-;10548:12:::0;;10529:32:::1;::::0;:18:::1;:32::i;:::-;10571:43;10590:6;:23;;;10571:18;:43::i;:::-;10629:20;::::0;::::1;::::0;:25;10625:95:::1;;10670:39;10689:6;:19;;;10670:18;:39::i;:::-;10742:12:::0;;10729:4:::1;:26:::0;;-1:-1:-1;;;;;10729:26:107;;::::1;-1:-1:-1::0;;;;;;10729:26:107;;::::1;;::::0;;;10779:19:::1;::::0;::::1;::::0;10765:11:::1;:33:::0;;;;;::::1;::::0;::::1;;::::0;;10812:27:::1;::::0;::::1;::::0;10742:12:::1;10812:32:::0;10808:89:::1;;10867:19;;-1:-1:-1::0;;;10867:19:107::1;;;;;;;;;;;10808:89;10928:27;::::0;::::1;::::0;10906:19:::1;:49:::0;10980:20:::1;::::0;::::1;::::0;10965:12:::1;:35:::0;11026:21:::1;::::0;::::1;::::0;11010:13:::1;:37:::0;;-1:-1:-1;;11010:37:107::1;::::0;::::1;;::::0;;;::::1;::::0;;11073:21:::1;::::0;::::1;::::0;11057:13:::1;::::0;:37:::1;::::0;:13;:37:::1;:::i;:::-;-1:-1:-1::0;11123:23:107::1;::::0;::::1;::::0;11104:16:::1;::::0;:42:::1;::::0;:16;:42:::1;:::i;:::-;-1:-1:-1::0;11175:23:107::1;::::0;::::1;::::0;11157:15:::1;:41:::0;;-1:-1:-1;;;;;;11157:41:107;;::::1;-1:-1:-1::0;;;;;11157:41:107;;::::1;;::::0;;11222:19:::1;::::0;::::1;::::0;11208:11:::1;:33:::0;;-1:-1:-1;;;;;;11208:33:107::1;::::0;;::::1;::::0;::::1;::::0;;;::::1;::::0;;11271:19;;::::1;::::0;11251:11:::1;:40:::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;11302:47:::1;::::0;-1:-1:-1;;;;;;;;;;;8278:27:107;11302:10:::1;:47::i;:::-;11381:4;;;;;;;;;-1:-1:-1::0;;;;;11381:4:107::1;-1:-1:-1::0;;;;;11381:16:107::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11360:8;:40:::0;;-1:-1:-1;;;;;;11360:40:107::1;-1:-1:-1::0;;;;;11360:40:107;;::::1;;::::0;;11507:11:::1;::::0;11411:36:::1;::::0;11507:11:::1;11499:32;-1:-1:-1::0;11499:37:107;11495:427:::1;;11574:16;::::0;;11588:1:::1;11574:16:::0;;;;;::::1;::::0;;;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11574:16:107::1;11552:38;;11629:10;11604:19;11624:1;11604:22;;;;;;;;:::i;:::-;;;;;;:35;-1:-1:-1::0;;;;;11604:35:107::1;;;-1:-1:-1::0;;;;;11604:35:107::1;;;::::0;::::1;11495:427;;;11696:11;::::0;:23:::1;::::0;;-1:-1:-1;;;11696:23:107;;;;11670::::1;::::0;-1:-1:-1;;;;;11696:11:107::1;::::0;:21:::1;::::0;:23:::1;::::0;;::::1;::::0;11670;;11696;;;;;;;:11;:23:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;11696:23:107::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;11670:49;;11769:6;:13;11785:1;11769:17;;;;:::i;:::-;-1:-1:-1::0;;;;;11755:32:107::1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;-1:-1:-1;11755:32:107::1;;11733:54;;11806:9;11801:111;11825:6;:13;11821:1;:17;11801:111;;;11888:6;11895:1;11888:9;;;;;;;;:::i;:::-;;;;;;;11863:19;11883:1;11863:22;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11863:34:107;;::::1;:22;::::0;;::::1;::::0;;;;;;;:34;11840:3;::::1;::::0;::::1;:::i;:::-;;;;11801:111;;;;11656:266;11495:427;11994:11;::::0;11952:26;;-1:-1:-1;;;;;11994:11:107;;::::1;::::0;11932:19;;11952:30:::1;::::0;11994:11;;11952:30:::1;:::i;:::-;11932:51;;;;;;;;:::i;:::-;;;;;;:74;-1:-1:-1::0;;;;;11932:74:107::1;;;-1:-1:-1::0;;;;;11932:74:107::1;;;::::0;::::1;12078:4;12016:19;12065:1;12036:19;:26;:30;;;;:::i;:::-;12016:51;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12016:67:107;;::::1;:51;::::0;;::::1;::::0;;;;;:67;12195:8:::1;::::0;12218:13:::1;::::0;::::1;::::0;12248:16:::1;::::0;::::1;::::0;12195:106:::1;::::0;-1:-1:-1;;;12195:106:107;;:8;;;::::1;::::0;:22:::1;::::0;:106:::1;::::0;12218:13;12233::::1;::::0;12274:4:::1;::::0;12281:19;;12195:106:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12171:9;:130:::0;12312:36;;::::1;::::0;:14:::1;::::0;:36:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;12359:16:107::1;:36:::0;;-1:-1:-1;;;;;12359:36:107;;::::1;-1:-1:-1::0;;;;;;12359:36:107;;::::1;;::::0;;;12405:23:::1;:50:::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;12491:9:::1;::::0;12517:16:::1;::::0;::::1;::::0;12471:63:::1;::::0;::::1;::::0;::::1;::::0;12491:9;;12502:13:::1;::::0;12517:16;12471:63:::1;:::i;:::-;;;;;;;;10251:2290;3651:14:47::0;3647:99;;;3697:5;3681:21;;-1:-1:-1;;3681:21:47;;;3721:14;;-1:-1:-1;29847:36:142;;3721:14:47;;29835:2:142;29820:18;3721:14:47;;;;;;;3647:99;3269:483;10044:2497:107;;;;:::o;21250:1932::-;2526:21:48;:19;:21::i;:::-;21340:10:107::1;21322:15;21387:28:::0;;;:19:::1;:28;::::0;;;;21476:15:::1;::::0;21387:28;;-1:-1:-1;;;;;21476:15:107;;::::1;::::0;21571:21:::1;5486:7;21571:3;:21;:::i;:::-;21554:12;;21532:19;;:34;;;;:::i;:::-;21531:62;;;;:::i;:::-;21502:91:::0;-1:-1:-1;21603:24:107::1;21714:21;5486:7;21714:3;:21;:::i;:::-;21665:44;::::0;-1:-1:-1;;;21665:44:107;;-1:-1:-1;;;;;21665:29:107;::::1;::::0;::::1;::::0;:44:::1;::::0;21703:4:::1;::::0;21665:44:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21643:19;;:66;;;;:::i;:::-;21642:94;;;;:::i;:::-;21603:133;;21751:17;21760:7;21751:8;:17::i;:::-;21746:1430;;21784:22;::::0;::::1;:29:::0;;-1:-1:-1;;21784:29:107::1;21809:4;21784:29:::0;;::::1;::::0;;;21853:19:::1;::::0;21828:22;;::::1;:44:::0;;;22024:143:::1;::::0;22070:7;;22087:4:::1;::::0;22137:16;;22094:40:::1;::::0;22116:18;;22094:40:::1;:::i;:::-;:59;;;;:::i;:::-;22024:11;::::0;-1:-1:-1;;;;;22024:11:107::1;::::0;:143;;:28:::1;:143::i;:::-;22592:22:::0;;22588:178:::1;;22719:11;::::0;22694::::1;::::0;:57:::1;::::0;-1:-1:-1;;;;;22694:11:107;;::::1;::::0;22719::::1;::::0;;::::1;;22732:18:::0;22694:24:::1;:57::i;:::-;22849:20:::0;;22845:255:::1;;23003:82;23028:14;-1:-1:-1::0;;;;;23028:36:107::1;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23003:11;::::0;-1:-1:-1;;;;;23003:11:107::1;::::0;23068:16;23003:24:::1;:82::i;:::-;23119:46;23136:7;23145:19;;23119:46;;;;;;;:::i;:::-;;;;;;;;21746:1430;21312:1870;;;;;2568:20:48::0;1808:1;3074:7;:22;2894:209;2568:20;21250:1932:107:o;6389:214:43:-;-1:-1:-1;;;;;6484:23:43;;965:10:51;6484:23:43;6476:83;;;;-1:-1:-1;;;6476:83:43;;30096:2:142;6476:83:43;;;30078:21:142;30135:2;30115:18;;;30108:30;30174:34;30154:18;;;30147:62;-1:-1:-1;;;30225:18:142;;;30218:45;30280:19;;6476:83:43;29894:411:142;6476:83:43;6570:26;6582:4;6588:7;6570:11;:26::i;3143:195:64:-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3224:36:::1;3242:17;3224;:36::i;:::-;3311:12;::::0;;3321:1:::1;3311:12:::0;;;::::1;::::0;::::1;::::0;;;3270:61:::1;::::0;3292:17;;3311:12;3270:21:::1;:61::i;20422:248:107:-:0;20494:17;:15;:17::i;:::-;20521:25;20540:5;20521:18;:25::i;:::-;20556:18;:26;;-1:-1:-1;;;;;;20556:26:107;-1:-1:-1;;;;;20556:26:107;;;;;;;;;20630:11;;20597:66;;;;;;20630:11;;;20556:26;20597:66;:::i;3657:220:64:-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3772:36:::1;3790:17;3772;:36::i;:::-;3818:52;3840:17;3859:4;3865;3818:21;:52::i;12547:531:107:-:0;12840:16;;12936:4;;12943:23;;12705:14;;;;;;-1:-1:-1;;;;;12840:16:107;;;;-1:-1:-1;;;12898:28:107;12936:4;;;12943:23;12968:7;:5;:7::i;:::-;12875:101;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;12875:101:107;;;;;;;;;;;;;;-1:-1:-1;;;;;12875:101:107;-1:-1:-1;;;;;;12875:101:107;;;;;;;;;;12798:192;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;12753:247;;13018:53;13029:13;13044:6;13052:7;13061:9;13018:10;:53::i;:::-;13011:60;;;;;12547:531;;;;;;:::o;2762:131:64:-;2840:7;2080:4;-1:-1:-1;;;;;2089:6:64;2072:23;;2064:92;;;;-1:-1:-1;;;2064:92:64;;32364:2:142;2064:92:64;;;32346:21:142;32403:2;32383:18;;;32376:30;32442:34;32422:18;;;32415:62;-1:-1:-1;;;32493:18:142;;;32486:54;32557:19;;2064:92:64;32162:420:142;2064:92:64;-1:-1:-1;;;;;;;;;;;;2762:131:64;:::o;16070:1009:107:-;2526:21:48;:19;:21::i;:::-;16154:26:107::1;:24;:26::i;:::-;16207:10;16190:14;16263:26:::0;;;:18:::1;:26;::::0;;;;;;;16227:62;;;;;;::::1;::::0;;;;;;;;;;;;16263:26;;16227:62;;::::1;16263:26:::0;16227:62;;::::1;;;;;;;;;;;;;;;;::::0;;-1:-1:-1;;;;;16227:62:107::1;::::0;;;;;::::1;::::0;::::1;;::::0;;::::1;;;;;;;;;;;16300:24;16340:9:::0;16352:1:::1;16340:13;;16335:536;16359:16;:23;16355:1;:27;16335:536;;;16542:16;16559:1;16542:19;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;16527:49:107::1;;16577:6;16585:13;16527:72;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16508:91:::0;-1:-1:-1;16617:21:107;;16613:232:::1;;-1:-1:-1::0;;;;;16658:29:107;::::1;;::::0;;;:21:::1;:29;::::0;;;;16688:19;;16712:16;;16658:29;16688:16;;16705:1;;16688:19;::::1;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;16658:50:107::1;-1:-1:-1::0;;;;;16658:50:107::1;;;;;;;;;;;;;:70;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;16613:232:107::1;16384:3:::0;::::1;::::0;::::1;:::i;:::-;;;;16335:536;;;-1:-1:-1::0;16881:11:107::1;::::0;:66:::1;::::0;-1:-1:-1;;;;;16881:11:107::1;16910:6:::0;16926:4:::1;16933:13:::0;16881:28:::1;:66::i;:::-;-1:-1:-1::0;;;;;16957:27:107;::::1;;::::0;;;:19:::1;:27;::::0;;;;:40:::1;;:57:::0;;17001:13;;16957:27;:57:::1;::::0;17001:13;;16957:57:::1;:::i;:::-;::::0;;;-1:-1:-1;;17029:43:107::1;::::0;::::1;::::0;::::1;::::0;17050:6;;17058:13;;17029:43:::1;:::i;:::-;;;;;;;;16144:935;;;2568:20:48::0;1808:1;3074:7;:22;2894:209;584:1317:108;877:16;;973:4;;980:23;;742:14;;;;;;-1:-1:-1;;;;;877:16:108;;;;-1:-1:-1;;;935:28:108;973:4;;;980:23;1005:7;:5;:7::i;:::-;912:101;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;912:101:108;;;;;;;;;;;;;;-1:-1:-1;;;;;912:101:108;-1:-1:-1;;;;;;912:101:108;;;;;;;;;;835:192;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;790:247;;1068:53;1079:13;1094:6;1102:7;1111:9;1068:10;:53::i;:::-;1144:19;;;;1047:74;;-1:-1:-1;1047:74:108;-1:-1:-1;;;;;;1136:42:108;1132:454;;1232:4;1198:7;:24;;;:31;:38;1194:134;;;1256:57;;-1:-1:-1;;;1256:57:108;;32789:2:142;1256:57:108;;;32771:21:142;32828:2;32808:18;;;32801:30;32867:34;32847:18;;;32840:62;-1:-1:-1;;;32918:18:142;;;32911:45;32973:19;;1256:57:108;32587:411:142;1194:134:108;1341:21;1405:6;1375:37;;;;;;;;:::i;:::-;;;;;;;;;;;;;1365:48;;;;;;1341:72;;1432:9;1427:149;1451:7;:24;;;:31;1447:1;:35;1427:149;;;1507:54;1518:13;1533:7;:24;;;1558:1;1533:27;;;;;;;;:::i;:::-;;;;;;;1507:10;:54::i;:::-;1484:3;;;;:::i;:::-;;;;1427:149;;;;1180:406;1132:454;1667:141;1734:6;1704:37;;;;;;;;:::i;:::-;;;;;;;;;;;;;1694:48;;;;;;1790:6;1754:43;;;;;;;;:::i;:::-;;;;;;;;;;;;;1744:54;;;;;;1667:13;:141::i;:::-;1818:76;1875:6;1839:43;;;;;;;;:::i;:::-;;;;;;;;;;;;;1829:54;;;;;;1885:8;1818:10;:76::i;:::-;780:1121;584:1317;;;;;;:::o;17222:1562:107:-;2526:21:48;:19;:21::i;:::-;17308:26:107::1;:24;:26::i;:::-;17361:10;17344:14;17418:26:::0;;;:18:::1;:26;::::0;;;;;;;17555:19:::1;::::0;17494::::1;:27:::0;;;;;;:40:::1;;::::0;17418:26;;17344:14;17555:19;17494:58:::1;::::0;17537:15;;17494:58:::1;:::i;:::-;:80;17490:140;;;17597:22;;-1:-1:-1::0;;;17597:22:107::1;;;;;;;;;;;17490:140;17639:11;::::0;:49:::1;::::0;-1:-1:-1;;;;;17639:11:107::1;17664:6:::0;17672:15;17639:24:::1;:49::i;:::-;17703:9;17698:951;17722:23:::0;;17718:27;::::1;17698:951;;;17766:16;17785;17802:1;17785:19;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;17785:19:107::1;::::0;-1:-1:-1;17822:60:107::1;17785:19:::0;-1:-1:-1;;;17822:26:107::1;:60::i;:::-;17818:804;;;17921:63;::::0;-1:-1:-1;;;17921:63:107;;-1:-1:-1;;;;;17921:38:107;::::1;::::0;::::1;::::0;:63:::1;::::0;17960:6;;17968:15;;17921:63:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17902:82;;18002:20;18025:21;:29;18047:6;-1:-1:-1::0;;;;;18025:29:107::1;-1:-1:-1::0;;;;;18025:29:107::1;;;;;;;;;;;;:50;18055:16;18072:1;18055:19;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;::::1;::::0;-1:-1:-1;;;;;18055:19:107::1;18025:50:::0;;;::::1;::::0;;;;;;;;;;-1:-1:-1;18097:31:107;;::::1;18093:259;;;18159:57;::::0;-1:-1:-1;;;18159:57:107;;::::1;::::0;::::1;33842:25:142::0;;;33883:18;;;33876:34;;;33815:18;;18159:57:107::1;33668:248:142::0;18093:259:107::1;-1:-1:-1::0;;;;;18263:29:107;::::1;;::::0;;;:21:::1;:29;::::0;;;;18293:19;;18317:16;;18263:29;18293:16;;18310:1;;18293:19;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;::::1;::::0;-1:-1:-1;;;;;18293:19:107::1;18263:50:::0;;;::::1;::::0;;;;;;;;:70;;:50;;18293:19;18263:70:::1;::::0;;;::::1;:::i;:::-;::::0;;;-1:-1:-1;;17884:482:107::1;17818:804;;;18496:23:::0;;18479:16;;18496:27:::1;::::0;18522:1:::1;::::0;18496:27:::1;:::i;:::-;18479:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;18479:45:107::1;18457:16;18474:1;18457:19;;;;;;;;:::i;:::-;;;;;;;;;:67;;;;;-1:-1:-1::0;;;;;18457:67:107::1;;;;;-1:-1:-1::0;;;;;18457:67:107::1;;;;;;18542:16;:22;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;18542:22:107;;;;;-1:-1:-1;;;;;;18542:22:107::1;::::0;;;;;18582:25:::1;18598:8:::0;18582:15:::1;:25::i;:::-;-1:-1:-1::0;17747:3:107;::::1;::::0;::::1;:::i;:::-;;;;17698:951;;;-1:-1:-1::0;;;;;;18658:27:107;::::1;;::::0;;;:19:::1;:27;::::0;;;;:40:::1;;:59:::0;;18702:15;;18658:27;:59:::1;::::0;18702:15;;18658:59:::1;:::i;:::-;::::0;;;-1:-1:-1;;18732:45:107::1;::::0;::::1;::::0;::::1;::::0;18753:6;;18761:15;;18732:45:::1;:::i;25409:583::-:0;2526:21:48;:19;:21::i;:::-;25510:17:107::1;:15;:17::i;:::-;25542:13;::::0;;::::1;25537:68;;25578:16;;-1:-1:-1::0;;;25578:16:107::1;;;;;;;;;;;25537:68;25619:17;25628:7;25619:8;:17::i;:::-;25614:75;;25659:19;;-1:-1:-1::0;;;25659:19:107::1;;;;;;;;;;;25614:75;-1:-1:-1::0;;;;;25721:28:107;;::::1;25698:20;25721:28:::0;;;:19:::1;:28;::::0;;;;;;;;25698:51;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;;::::1;::::0;;;;::::1;;::::0;::::1;;;;::::0;;;;25759:32:::1;25741:7:::0;25759:23:::1;:32::i;:::-;-1:-1:-1::0;;;;;25808:28:107;;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;25801:35;;-1:-1:-1;;;;;;25801:35:107::1;::::0;;;;::::1;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;25801:35:107::1;::::0;;25890:19;::::1;::::0;25847:11:::1;::::0;:63:::1;::::0;:11:::1;::::0;25872:16;;25847:24:::1;:63::i;:::-;25925:60;25938:7;25947:16;25965:6;:19;;;25925:60;;;;;;;;:::i;:::-;;;;;;;;25500:492;2568:20:48::0;1808:1;3074:7;:22;2894:209;2085:101:45;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;19845:237:107:-:0;19918:17;:15;:17::i;:::-;19972:4;;:20;;-1:-1:-1;;;19972:20:107;;;;;643:25:142;;;19945:16:107;;-1:-1:-1;;;;;19972:4:107;;:12;;616:18:142;;19972:20:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19972:20:107;;;;;;;;;;;;:::i;:::-;:29;;;19945:57;;20012:28;20031:8;20012:18;:28::i;:::-;20050:25;20066:8;20050:15;:25::i;19126:321::-;19196:17;:15;:17::i;:::-;19250:4;;:20;;-1:-1:-1;;;19250:20:107;;;;;643:25:142;;;19223:16:107;;-1:-1:-1;;;;;19250:4:107;;:12;;616:18:142;;19250:20:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19250:20:107;;;;;;;;;;;;:::i;:::-;:29;;;19223:57;;19290:28;19309:8;19290:18;:28::i;:::-;19332:60;-1:-1:-1;;;;;19332:26:107;;-1:-1:-1;;;19332:26:107;:60::i;:::-;19328:113;;;19408:22;19421:8;19408:12;:22::i;1907:660:108:-;2098:14;;5312:42:107;-1:-1:-1;;;;;2178:20:108;;;2174:65;;-1:-1:-1;2222:6:108;2174:65;2259:9;2248:20;;2279:31;2313:14;2279:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2279:48:108;;;;;;;;;;;;;;;;-1:-1:-1;;2347:4:108;;2394:9;;2415:19;;2279:48;;-1:-1:-1;;;;;;2347:4:108;;;;:33;;-1:-1:-1;2394:9:108;;-1:-1:-1;2405:8:108;;-1:-1:-1;2415:19:108;;2426:7;;2415:19;;;:::i;:::-;;;;;;;;;;;;;2436:5;2443:1;2446:9;2457:14;2347:134;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2338:143;;2497:63;2509:6;2517:8;2535:4;2542:6;2550:9;2497:63;;;;;;;;;;:::i;:::-;;;;;;;;2132:435;;1907:660;;;;;;;:::o;525:604:105:-;572:7;591:20;614:26;1534:6:45;;-1:-1:-1;;;;;1534:6:45;;1462:85;614:26:105;591:49;;715:12;-1:-1:-1;;;;;707:33:105;;744:1;707:38;703:420;;829:12;525:604;-1:-1:-1;525:604:105:o;703:420::-;895:12;-1:-1:-1;;;;;876:38:105;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;876:40:105;;;;;;;;-1:-1:-1;;876:40:105;;;;;;;;;;;;:::i;:::-;;;872:241;;1086:12;525:604;-1:-1:-1;525:604:105:o;872:241::-;581:548;525:604;:::o;3350:145:43:-;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:43;;;;;;;;;;;;;;;3350:145::o;21054:190:107:-;-1:-1:-1;;;;;21170:28:107;;;21118:14;21170:28;;;:19;:28;;;;;;;;;21144:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21054:190::o;9770:124::-;1355:13:45;:11;:13::i;:::-;9853:23:107::1;:34:::0;;-1:-1:-1;;;;;;9853:34:107::1;-1:-1:-1::0;;;;;9853:34:107;;;::::1;::::0;;;::::1;::::0;;9770:124::o;20869:179::-;20941:18;;-1:-1:-1;;;;;20941:18:107;20927:10;:32;20923:89;;20982:19;;-1:-1:-1;;;20982:19:107;;;;;;;;;;;20923:89;21021:20;:18;:20::i;7025:30::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;24458:465::-;2526:21:48;:19;:21::i;:::-;24542:10:107::1;24562:34;24542:10:::0;24562:25:::1;:34::i;:::-;24606:32;24630:7;24606:23;:32::i;:::-;-1:-1:-1::0;;;;;24671:28:107;;::::1;24648:20;24671:28:::0;;;:19:::1;:28;::::0;;;;;;;24648:51;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;;::::0;;;;24716:28;;;-1:-1:-1;;;;;;24709:35:107;;::::1;::::0;;;;;;;-1:-1:-1;;24709:35:107;;::::1;::::0;;;24761:18:::1;:27:::0;;;;;24648:51;;24754:34:::1;::::0;24761:27;24754:34:::1;:::i;:::-;24833:19;::::0;::::1;::::0;24799:11:::1;::::0;:54:::1;::::0;-1:-1:-1;;;;;24799:11:107;;::::1;::::0;24824:7;;24799:24:::1;:54::i;:::-;24868:48;24887:7;24896:6;:19;;;24868:48;;;;;;;:::i;:::-;;;;;;;;24514:409;;2568:20:48::0;1808:1;3074:7;:22;2894:209;5568:54:107;5602:20;5486:7;5602:2;:20;:::i;:::-;5568:54;:::o;404:115:105:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;:::-;480:32:105::1;499:12;480:18;:32::i;6940:27:107:-:0;;;;;;;:::i;5705:147:43:-;5789:18;5802:4;5789:12;:18::i;:::-;2798:16;2809:4;2798:10;:16::i;:::-;5819:26:::1;5831:4;5837:7;5819:11;:26::i;13084:660:107:-:0;13275:14;;5312:42;-1:-1:-1;;;;;13355:20:107;;;13351:65;;-1:-1:-1;13399:6:107;13351:65;13436:9;13425:20;;13456:31;13490:14;13456:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13456:48:107;;;;;;;;;;;;;;;;-1:-1:-1;;13524:4:107;;13571:9;;13592:19;;13456:48;;-1:-1:-1;;;;;;13524:4:107;;;;:33;;-1:-1:-1;13571:9:107;;-1:-1:-1;13582:8:107;;-1:-1:-1;13592:19:107;;13603:7;;13592:19;;;:::i;24319:133::-;24390:4;24413:32;-1:-1:-1;;;;;;;;;;;24437:7:107;24413;:32::i;2335:198:45:-;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:45;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:45;;41132:2:142;2415:73:45::1;::::0;::::1;41114:21:142::0;41171:2;41151:18;;;41144:30;41210:34;41190:18;;;41183:62;-1:-1:-1;;;41261:18:142;;;41254:36;41307:19;;2415:73:45::1;40930:402:142::0;8478:167:107;8542:35;-1:-1:-1;;;;;;;;;;;8566:10:107;8542:7;:35::i;:::-;8537:102;;8617:10;8600:28;;-1:-1:-1;;;8600:28:107;;;;;;;;:::i;2601:287:48:-;1851:1;2733:7;;:19;2725:63;;;;-1:-1:-1;;;2725:63:48;;41539:2:142;2725:63:48;;;41521:21:142;41578:2;41558:18;;;41551:30;41617:33;41597:18;;;41590:61;41668:18;;2725:63:48;41337:355:142;2725:63:48;1851:1;2863:7;:18;2601:287::o;8809:157:107:-;8890:17;8899:7;8890:8;:17::i;:::-;8885:75;;8930:19;;-1:-1:-1;;;8930:19:107;;;;;;;;;;;8972:163;-1:-1:-1;;;;;9049:28:107;;;;;;:17;:28;;;;;;;;9044:85;;9100:18;;-1:-1:-1;;;9100:18:107;;;;;;;;;;;9515:133;-1:-1:-1;;;;;9589:22:107;;9585:56;;9620:21;;-1:-1:-1;;;9620:21:107;;;;;;;;;;;2894:209:48;1808:1;3074:7;:22;2894:209::o;20088:194:107:-;20159:29;20178:9;20159:18;:29::i;:::-;-1:-1:-1;;;;;20198:28:107;;20229:5;20198:28;;;:17;:28;;;;;;;:36;;-1:-1:-1;;20198:36:107;;;20249:26;;;;;20216:9;;20249:26;:::i;1620:130:45:-;965:10:51;1683:7:45;:5;:7::i;:::-;-1:-1:-1;;;;;1683:23:45;;1675:68;;;;-1:-1:-1;;;1675:68:45;;41899:2:142;1675:68:45;;;41881:21:142;;;41918:18;;;41911:30;41977:34;41957:18;;;41950:62;42029:18;;1675:68:45;41697:356:142;19587:252:107;-1:-1:-1;;;;;19662:31:107;;;;;;:17;:31;;;;;;;;19658:85;;;19716:16;;-1:-1:-1;;;19716:16:107;;;;;;;;;;;19658:85;-1:-1:-1;;;;;19752:31:107;;;;;;:17;:31;;;;;;;:38;;-1:-1:-1;;19752:38:107;19786:4;19752:38;;;19805:27;;;;;19770:12;;19805:27;:::i;9141:172::-;9245:9;-1:-1:-1;;;;;9234:20:107;:7;-1:-1:-1;;;;;9234:20:107;;9230:77;;9277:19;;-1:-1:-1;;;9277:19:107;;;;;;;;;;;15631:433;-1:-1:-1;;;;;15765:27:107;;15728:34;15765:27;;;:18;:27;;;;;;15802:256;15826:23;;15822:27;;15802:256;;;15897:9;-1:-1:-1;;;;;15874:32:107;:16;15891:1;15874:19;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;15874:19:107;:32;15870:178;;15965:23;;15948:16;;15965:27;;15991:1;;15965:27;:::i;:::-;15948:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15948:45:107;15926:16;15943:1;15926:19;;;;;;;;:::i;:::-;;;;;;;;;:67;;;;;-1:-1:-1;;;;;15926:67:107;;;;;-1:-1:-1;;;;;15926:67:107;;;;;;16011:16;:22;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;16011:22:107;;;;;-1:-1:-1;;;;;;16011:22:107;;;;;;15870:178;15851:3;;;;:::i;:::-;;;;15802:256;;;;15718:346;15631:433;;:::o;3789:103:43:-;3855:30;3866:4;965:10:51;3855::43;:30::i;7938:233::-;8021:22;8029:4;8035:7;8021;:22::i;:::-;8016:149;;8059:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8059:29:43;;;;;;;;;:36;;-1:-1:-1;;8059:36:43;8091:4;8059:36;;;8141:12;965:10:51;;886:96;8141:12:43;-1:-1:-1;;;;;8114:40:43;8132:7;-1:-1:-1;;;;;8114:40:43;8126:4;8114:40;;;;;;;;;;7938:233;;:::o;1423:320:50:-;-1:-1:-1;;;;;1713:19:50;;:23;;;1423:320::o;1889:111:48:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;:::-;1959:34:48::1;:32;:34::i;2838:65:43:-:0;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;7523:247:43:-;7606:25;7634:18;7647:4;7634:12;:18::i;:::-;7662:12;;;;:6;:12;;;;;;:22;;:34;;;7711:52;7606:46;;-1:-1:-1;7687:9:43;;7606:46;;7669:4;;7711:52;;7662:12;7711:52;7596:174;7523:247;;:::o;1355:203:73:-;1455:96;1475:5;1505:27;;;1534:4;1540:2;1544:5;1482:68;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1482:68:73;;;;;;;;;;;;;;-1:-1:-1;;;;;1482:68:73;-1:-1:-1;;;;;;1482:68:73;;;;;;;;;;1455:19;:96::i;941:175::-;1023:86;1043:5;1073:23;;;1098:2;1102:5;1050:58;;;;;;;;;:::i;8342:234:43:-;8425:22;8433:4;8439:7;8425;:22::i;:::-;8421:149;;;8495:5;8463:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8463:29:43;;;;;;;;;;:37;;-1:-1:-1;;8463:37:43;;;8519:40;965:10:51;;8463:12:43;;8519:40;;8495:5;8519:40;8342:234;;:::o;1175:140:60:-;-1:-1:-1;;;;;;;;;;;1254:54:60;-1:-1:-1;;;;;1254:54:60;;1175:140::o;1135:169:105:-;1219:10;1208:7;:5;:7::i;:::-;-1:-1:-1;;;;;1208:21:105;;1204:94;;1267:10;1279:7;:5;:7::i;:::-;1252:35;;-1:-1:-1;;;1252:35:105;;;;;;;;;:::i;2494:922:60:-;689:66;2910:48;;;2906:504;;;2974:37;2993:17;2974:18;:37::i;2906:504::-;3064:17;-1:-1:-1;;;;;3046:50:60;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3046:52:60;;;;;;;;-1:-1:-1;;3046:52:60;;;;;;;;;;;;:::i;:::-;;;3042:291;;3262:56;;-1:-1:-1;;;3262:56:60;;42260:2:142;3262:56:60;;;42242:21:142;42299:2;42279:18;;;42272:30;42338:34;42318:18;;;42311:62;-1:-1:-1;;;42389:18:142;;;42382:44;42443:19;;3262:56:60;42058:410:142;3042:291:60;-1:-1:-1;;;;;;;;;;;3148:28:60;;3140:82;;;;-1:-1:-1;;;3140:82:60;;42675:2:142;3140:82:60;;;42657:21:142;42714:2;42694:18;;;42687:30;42753:34;42733:18;;;42726:62;-1:-1:-1;;;42804:18:142;;;42797:39;42853:19;;3140:82:60;42473:405:142;3140:82:60;3099:138;3346:53;3364:17;3383:4;3389:9;3346:17;:53::i;8651:152:107:-;8724:20;8733:10;8724:8;:20::i;:::-;8719:78;;8767:19;;-1:-1:-1;;;8767:19:107;;;;;;;;;;;1349:282:81;1436:4;1543:23;1558:7;1543:14;:23::i;:::-;:81;;;;;1570:54;1603:7;1612:11;1570:32;:54::i;:::-;1536:88;1349:282;-1:-1:-1;;;1349:282:81:o;24929:474:107:-;-1:-1:-1;;;;;25042:27:107;;25006:33;25042:27;;;:18;:27;;;;;;;;25006:63;;;;;;;;;;;;;;;;;;;25042:27;;25006:63;;;25042:27;25006:63;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25006:63:107;;;;;;;;;;;;;;;;;;;;;;;25150:9;25145:252;25169:16;:23;25165:1;:27;25145:252;;;25340:16;25357:1;25340:19;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;25325:52:107;;25378:7;25325:61;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25194:3;;;;;:::i;:::-;;;;25145:252;;2687:187:45;2779:6;;;-1:-1:-1;;;;;2795:17:45;;;-1:-1:-1;;;;;;2795:17:45;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;20676::107:-;20753:18;;;20733:11;:39;;-1:-1:-1;;;;;;20733:39:107;;;-1:-1:-1;;;;;20753:18:107;;20733:39;;;;20782:25;;;20822:34;;;;;;20753:18;;20822:34;:::i;:::-;;;;;;;;20676:187::o;4173:501:43:-;4261:22;4269:4;4275:7;4261;:22::i;:::-;4256:412;;4444:39;4475:7;4444:30;:39::i;:::-;4554:49;4593:4;4600:2;4554:30;:49::i;:::-;4351:274;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4351:274:43;;;;;;;;;;-1:-1:-1;;;4299:358:43;;;;;;;:::i;2006:109:48:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;5173:642:73:-;5592:23;5618:69;5646:4;5618:69;;;;;;;;;;;;;;;;;5626:5;-1:-1:-1;;;;;5618:27:73;;;:69;;;;;:::i;:::-;5592:95;;5705:10;:17;5726:1;5705:22;:56;;;;5742:10;5731:30;;;;;;;;;;;;:::i;:::-;5697:111;;;;-1:-1:-1;;;5697:111:73;;44368:2:142;5697:111:73;;;44350:21:142;44407:2;44387:18;;;44380:30;44446:34;44426:18;;;44419:62;-1:-1:-1;;;44497:18:142;;;44490:40;44547:19;;5697:111:73;44166:406:142;1406:259:60;1487:37;1506:17;1487:18;:37::i;:::-;1479:95;;;;-1:-1:-1;;;1479:95:60;;44779:2:142;1479:95:60;;;44761:21:142;44818:2;44798:18;;;44791:30;44857:34;44837:18;;;44830:62;-1:-1:-1;;;44908:18:142;;;44901:43;44961:19;;1479:95:60;44577:409:142;1479:95:60;-1:-1:-1;;;;;;;;;;;1584:74:60;;-1:-1:-1;;;;;;1584:74:60;-1:-1:-1;;;;;1584:74:60;;;;;;;;;;1406:259::o;2057:265::-;2165:29;2176:17;2165:10;:29::i;:::-;2222:1;2208:4;:11;:15;:28;;;;2227:9;2208:28;2204:112;;;2252:53;2281:17;2300:4;2252:28;:53::i;704:427:81:-;768:4;975:68;1008:7;-1:-1:-1;;;975:32:81;:68::i;:::-;:149;;;;-1:-1:-1;1060:64:81;1093:7;-1:-1:-1;;;;;;1060:32:81;:64::i;:::-;1059:65;956:168;704:427;-1:-1:-1;;704:427:81:o;4421:647::-;4592:71;;;-1:-1:-1;;;;;;45153:33:142;;4592:71:81;;;;45135:52:142;;;;4592:71:81;;;;;;;;;;45108:18:142;;;;4592:71:81;;;;;;;;;-1:-1:-1;;;;;4592:71:81;-1:-1:-1;;;4592:71:81;;;4871:20;;4523:4;;4592:71;4523:4;;;;;;4592:71;4523:4;;4871:20;4836:7;4829:5;4818:86;4807:97;;4931:16;4917:30;;4981:4;4975:11;4960:26;;5013:7;:29;;;;;5038:4;5024:10;:18;;5013:29;:48;;;;;5060:1;5046:11;:15;5013:48;5006:55;4421:647;-1:-1:-1;;;;;;;4421:647:81:o;2473:149:52:-;2531:13;2563:52;-1:-1:-1;;;;;2575:22:52;;376:2;1884:437;1959:13;1984:19;2016:10;2020:6;2016:1;:10;:::i;:::-;:14;;2029:1;2016:14;:::i;:::-;-1:-1:-1;;;;;2006:25:52;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2006:25:52;;1984:47;;-1:-1:-1;;;2041:6:52;2048:1;2041:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2041:15:52;;;;;;;;;-1:-1:-1;;;2066:6:52;2073:1;2066:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2066:15:52;;;;;;;;-1:-1:-1;2096:9:52;2108:10;2112:6;2108:1;:10;:::i;:::-;:14;;2121:1;2108:14;:::i;:::-;2096:26;;2091:128;2128:1;2124;:5;2091:128;;;-1:-1:-1;;;2171:5:52;2179:3;2171:11;2162:21;;;;;;;:::i;:::-;;;;2150:6;2157:1;2150:9;;;;;;;;:::i;:::-;;;;:33;-1:-1:-1;;;;;2150:33:52;;;;;;;;-1:-1:-1;2207:1:52;2197:11;;;;;2131:3;;;:::i;:::-;;;2091:128;;;-1:-1:-1;2236:10:52;;2228:55;;;;-1:-1:-1;;;2228:55:52;;45541:2:142;2228:55:52;;;45523:21:142;;;45560:18;;;45553:30;45619:34;45599:18;;;45592:62;45671:18;;2228:55:52;45339:356:142;4108:223:76;4241:12;4272:52;4294:6;4302:4;4308:1;4311:12;4272:21;:52::i;:::-;4265:59;4108:223;-1:-1:-1;;;;4108:223:76:o;1771:152:60:-;1837:37;1856:17;1837:18;:37::i;:::-;1889:27;;-1:-1:-1;;;;;1889:27:60;;;;;;;;1771:152;:::o;6674:198:76:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;5165:446::-;5330:12;5387:5;5362:21;:30;;5354:81;;;;-1:-1:-1;;;5354:81:76;;45902:2:142;5354:81:76;;;45884:21:142;45941:2;45921:18;;;45914:30;45980:34;45960:18;;;45953:62;-1:-1:-1;;;46031:18:142;;;46024:36;46077:19;;5354:81:76;45700:402:142;5354:81:76;5446:12;5460:23;5487:6;-1:-1:-1;;;;;5487:11:76;5506:5;5513:4;5487:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:73;;;;5535:69;5562:6;5570:7;5579:10;5591:12;5535:26;:69::i;7058:325::-;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:76;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:76:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;8121:18;8132:6;8121:10;:18::i;:::-;8113:60;;;;-1:-1:-1;;;8113:60:76;;46601:2:142;8113:60:76;;;46583:21:142;46640:2;46620:18;;;46613:30;46679:31;46659:18;;;46652:59;46728:18;;8113:60:76;46399:353:142;8113:60:76;-1:-1:-1;8208:10:76;8201:17;;7875:418;8249:33;8257:10;8269:12;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:76;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:286:142;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:142;;209:43;;199:71;;266:1;263;256:12;861:180;920:6;973:2;961:9;952:7;948:23;944:32;941:52;;;989:1;986;979:12;941:52;-1:-1:-1;1012:23:142;;861:180;-1:-1:-1;861:180:142:o;1046:131::-;-1:-1:-1;;;;;1121:31:142;;1111:42;;1101:70;;1167:1;1164;1157:12;1182:134;1250:20;;1279:31;1250:20;1279:31;:::i;:::-;1182:134;;;:::o;1321:388::-;1389:6;1397;1450:2;1438:9;1429:7;1425:23;1421:32;1418:52;;;1466:1;1463;1456:12;1418:52;1505:9;1492:23;1524:31;1549:5;1524:31;:::i;:::-;1574:5;-1:-1:-1;1631:2:142;1616:18;;1603:32;1644:33;1603:32;1644:33;:::i;:::-;1696:7;1686:17;;;1321:388;;;;;:::o;1714:247::-;1773:6;1826:2;1814:9;1805:7;1801:23;1797:32;1794:52;;;1842:1;1839;1832:12;1794:52;1881:9;1868:23;1900:31;1925:5;1900:31;:::i;2151:315::-;2219:6;2227;2280:2;2268:9;2259:7;2255:23;2251:32;2248:52;;;2296:1;2293;2286:12;2248:52;2335:9;2322:23;2354:31;2379:5;2354:31;:::i;:::-;2404:5;2456:2;2441:18;;;;2428:32;;-1:-1:-1;;;2151:315:142:o;2471:104::-;-1:-1:-1;;;;;2537:31:142;2525:44;;2471:104::o;2580:203::-;-1:-1:-1;;;;;2744:32:142;;;;2726:51;;2714:2;2699:18;;2580:203::o;2788:315::-;2856:6;2864;2917:2;2905:9;2896:7;2892:23;2888:32;2885:52;;;2933:1;2930;2923:12;2885:52;2969:9;2956:23;2946:33;;3029:2;3018:9;3014:18;3001:32;3042:31;3067:5;3042:31;:::i;3108:127::-;3169:10;3164:3;3160:20;3157:1;3150:31;3200:4;3197:1;3190:15;3224:4;3221:1;3214:15;3240:257;3312:4;3306:11;;;3344:17;;-1:-1:-1;;;;;3376:34:142;;3412:22;;;3373:62;3370:88;;;3438:18;;:::i;:::-;3474:4;3467:24;3240:257;:::o;3502:255::-;3574:2;3568:9;3616:6;3604:19;;-1:-1:-1;;;;;3638:34:142;;3674:22;;;3635:62;3632:88;;;3700:18;;:::i;3762:253::-;3834:2;3828:9;3876:4;3864:17;;-1:-1:-1;;;;;3896:34:142;;3932:22;;;3893:62;3890:88;;;3958:18;;:::i;4020:255::-;4092:2;4086:9;4134:6;4122:19;;-1:-1:-1;;;;;4156:34:142;;4192:22;;;4153:62;4150:88;;;4218:18;;:::i;4280:275::-;4351:2;4345:9;4416:2;4397:13;;-1:-1:-1;;4393:27:142;4381:40;;-1:-1:-1;;;;;4436:34:142;;4472:22;;;4433:62;4430:88;;;4498:18;;:::i;:::-;4534:2;4527:22;4280:275;;-1:-1:-1;4280:275:142:o;4560:187::-;4609:4;-1:-1:-1;;;;;4631:30:142;;4628:56;;;4664:18;;:::i;:::-;-1:-1:-1;4730:2:142;4709:15;-1:-1:-1;;4705:29:142;4736:4;4701:40;;4560:187::o;4752:338::-;4817:5;4846:53;4862:36;4891:6;4862:36;:::i;:::-;4846:53;:::i;:::-;4837:62;;4922:6;4915:5;4908:21;4962:3;4953:6;4948:3;4944:16;4941:25;4938:45;;;4979:1;4976;4969:12;4938:45;5028:6;5023:3;5016:4;5009:5;5005:16;4992:43;5082:1;5075:4;5066:6;5059:5;5055:18;5051:29;5044:40;4752:338;;;;;:::o;5095:222::-;5138:5;5191:3;5184:4;5176:6;5172:17;5168:27;5158:55;;5209:1;5206;5199:12;5158:55;5231:80;5307:3;5298:6;5285:20;5278:4;5270:6;5266:17;5231:80;:::i;5322:411::-;5377:5;5425:4;5413:9;5408:3;5404:19;5400:30;5397:50;;;5443:1;5440;5433:12;5397:50;5465:22;;:::i;:::-;5510:23;;5496:38;;5456:31;-1:-1:-1;5585:2:142;5570:18;;5557:32;-1:-1:-1;;;;;5601:30:142;;5598:50;;;5644:1;5641;5634:12;5598:50;5680:46;5722:3;5713:6;5702:9;5698:22;5680:46;:::i;:::-;5675:2;5668:5;5664:14;5657:70;;5322:411;;;;:::o;5738:118::-;5824:5;5817:13;5810:21;5803:5;5800:32;5790:60;;5846:1;5843;5836:12;5861:128;5926:20;;5955:28;5926:20;5955:28;:::i;5994:1871::-;6136:6;6144;6152;6160;6213:3;6201:9;6192:7;6188:23;6184:33;6181:53;;;6230:1;6227;6220:12;6181:53;6257:23;;-1:-1:-1;;;;;6329:14:142;;;6326:34;;;6356:1;6353;6346:12;6326:34;6379:22;;;;6435:6;6417:16;;;6413:29;6410:49;;;6455:1;6452;6445:12;6410:49;6481:22;;:::i;:::-;6526;6545:2;6526:22;:::i;:::-;6519:5;6512:37;6581:31;6608:2;6604;6600:11;6581:31;:::i;:::-;6576:2;6569:5;6565:14;6558:55;6666:2;6662;6658:11;6645:25;6640:2;6633:5;6629:14;6622:49;6724:2;6720;6716:11;6703:25;6698:2;6691:5;6687:14;6680:49;6783:3;6779:2;6775:12;6762:26;6756:3;6749:5;6745:15;6738:51;6822:32;6849:3;6845:2;6841:12;6822:32;:::i;:::-;6816:3;6809:5;6805:15;6798:57;6888:32;6915:3;6911:2;6907:12;6888:32;:::i;:::-;6882:3;6875:5;6871:15;6864:57;6967:3;6963:2;6959:12;6946:26;6997:2;6987:8;6984:16;6981:36;;;7013:1;7010;7003:12;6981:36;7050:54;7096:7;7085:8;7081:2;7077:17;7050:54;:::i;:::-;7044:3;7037:5;7033:15;7026:79;;7124:3;7159:31;7186:2;7182;7178:11;7159:31;:::i;:::-;7143:14;;;7136:55;7210:3;7251:11;;;7238:25;7275:16;;;7272:36;;;7304:1;7301;7294:12;7272:36;7340:45;7377:7;7366:8;7362:2;7358:17;7340:45;:::i;:::-;7335:2;7328:5;7324:14;7317:69;;;7405:3;7440:28;7464:2;7460;7456:11;7440:28;:::i;:::-;7424:14;;;7417:52;7488:3;7529:11;;;7516:25;7553:16;;;7550:36;;;7582:1;7579;7572:12;7550:36;7618:45;7655:7;7644:8;7640:2;7636:17;7618:45;:::i;:::-;7613:2;7606:5;7602:14;7595:69;;;7683:5;7673:15;;;;;7707:38;7741:2;7730:9;7726:18;7707:38;:::i;:::-;7697:48;;7764:38;7798:2;7787:9;7783:18;7764:38;:::i;:::-;7754:48;;7821:38;7855:2;7844:9;7840:18;7821:38;:::i;:::-;7811:48;;5994:1871;;;;;;;:::o;8130:585::-;8207:6;8215;8268:2;8256:9;8247:7;8243:23;8239:32;8236:52;;;8284:1;8281;8274:12;8236:52;8323:9;8310:23;8342:31;8367:5;8342:31;:::i;:::-;8392:5;-1:-1:-1;8448:2:142;8433:18;;8420:32;-1:-1:-1;;;;;8464:30:142;;8461:50;;;8507:1;8504;8497:12;8461:50;8530:22;;8583:4;8575:13;;8571:27;-1:-1:-1;8561:55:142;;8612:1;8609;8602:12;8561:55;8635:74;8701:7;8696:2;8683:16;8678:2;8674;8670:11;8635:74;:::i;:::-;8625:84;;;8130:585;;;;;:::o;8720:605::-;8775:5;8823:4;8811:9;8806:3;8802:19;8798:30;8795:50;;;8841:1;8838;8831:12;8795:50;8874:2;8868:9;8916:4;8904:17;;-1:-1:-1;;;;;8936:34:142;;8972:22;;;8933:62;8930:88;;;8998:18;;:::i;:::-;9038:10;9034:2;9027:22;;9067:6;9058:15;;9110:9;9097:23;9089:6;9082:39;9182:2;9171:9;9167:18;9154:32;9149:2;9141:6;9137:15;9130:57;9248:2;9237:9;9233:18;9220:32;9215:2;9207:6;9203:15;9196:57;9314:2;9303:9;9299:18;9286:32;9281:2;9273:6;9269:15;9262:57;;8720:605;;;;:::o;9330:153::-;9408:20;;9457:1;9447:12;;9437:40;;9473:1;9470;9463:12;9488:110;9572:1;9565:5;9562:12;9552:40;;9588:1;9585;9578:12;9603:152;9680:20;;9709:40;9680:20;9709:40;:::i;9760:416::-;9824:5;9872:4;9860:9;9855:3;9851:19;9847:30;9844:50;;;9890:1;9887;9880:12;9844:50;9923:2;9917:9;9965:4;9953:17;;-1:-1:-1;;;;;9985:34:142;;10021:22;;;9982:62;9979:88;;;10047:18;;:::i;:::-;10083:2;10076:22;10146:23;;10131:39;;-1:-1:-1;10116:6:142;9760:416;-1:-1:-1;9760:416:142:o;10181:701::-;10244:5;10292:4;10280:9;10275:3;10271:19;10267:30;10264:50;;;10310:1;10307;10300:12;10264:50;10332:22;;:::i;:::-;10323:31;;10391:9;10378:23;10410:33;10435:7;10410:33;:::i;:::-;10452:22;;10526:2;10511:18;;10498:32;10539:33;10498:32;10539:33;:::i;:::-;10604:7;10599:2;10592:5;10588:14;10581:31;;10672:2;10661:9;10657:18;10644:32;10639:2;10632:5;10628:14;10621:56;10737:2;10726:9;10722:18;10709:32;10704:2;10697:5;10693:14;10686:56;10803:3;10792:9;10788:19;10775:33;10769:3;10762:5;10758:15;10751:58;10870:3;10859:9;10855:19;10842:33;10836:3;10829:5;10825:15;10818:58;10181:701;;;;:::o;10887:1090::-;10962:5;11010:6;10998:9;10993:3;10989:19;10985:32;10982:52;;;11030:1;11027;11020:12;10982:52;11063:2;11057:9;11105:4;11093:17;;-1:-1:-1;;;;;11125:34:142;;11161:22;;;11122:62;11119:88;;;11187:18;;:::i;:::-;11223:2;11216:22;11256:6;-1:-1:-1;11256:6:142;11286:42;11324:3;11313:9;11286:42;:::i;:::-;11278:6;11271:58;11364:49;11408:3;11397:9;11393:19;11364:49;:::i;:::-;11357:4;11349:6;11345:17;11338:76;11466:3;11455:9;11451:19;11438:33;11480:42;11514:7;11480:42;:::i;:::-;11550:2;11538:15;;11531:32;11598:61;11655:3;11649;11634:19;;11598:61;:::i;:::-;11591:4;11583:6;11579:17;11572:88;11694:61;11751:3;11744:4;11733:9;11729:20;11694:61;:::i;:::-;11688:3;11680:6;11676:16;11669:87;11808:3;11797:9;11793:19;11780:33;11822;11847:7;11822:33;:::i;:::-;11883:3;11871:16;;11864:33;11931:39;11965:3;11950:19;;11931:39;:::i;:::-;11925:3;11917:6;11913:16;11906:65;;10887:1090;;;;:::o;11982:644::-;12134:6;12142;12150;12203:3;12191:9;12182:7;12178:23;12174:33;12171:53;;;12220:1;12217;12210:12;12171:53;12259:9;12246:23;12278:31;12303:5;12278:31;:::i;:::-;12328:5;-1:-1:-1;12352:75:142;12419:7;12414:2;12399:18;;12352:75;:::i;:::-;12342:85;-1:-1:-1;12478:3:142;12463:19;;12450:33;-1:-1:-1;;;;;12495:30:142;;12492:50;;;12538:1;12535;12528:12;12492:50;12561:59;12612:7;12603:6;12592:9;12588:22;12561:59;:::i;:::-;12551:69;;;11982:644;;;;;:::o;12910:183::-;12970:4;-1:-1:-1;;;;;12992:30:142;;12989:56;;;13025:18;;:::i;:::-;-1:-1:-1;13070:1:142;13066:14;13082:4;13062:25;;12910:183::o;13098:737::-;13152:5;13205:3;13198:4;13190:6;13186:17;13182:27;13172:55;;13223:1;13220;13213:12;13172:55;13259:6;13246:20;13285:4;13309:60;13325:43;13365:2;13325:43;:::i;13309:60::-;13403:15;;;13489:1;13485:10;;;;13473:23;;13469:32;;;13434:12;;;;13513:15;;;13510:35;;;13541:1;13538;13531:12;13510:35;13577:2;13569:6;13565:15;13589:217;13605:6;13600:3;13597:15;13589:217;;;13685:3;13672:17;13702:31;13727:5;13702:31;:::i;:::-;13746:18;;13784:12;;;;13622;;13589:217;;;-1:-1:-1;13824:5:142;13098:737;-1:-1:-1;;;;;;13098:737:142:o;13840:974::-;13921:5;13969:6;13957:9;13952:3;13948:19;13944:32;13941:52;;;13989:1;13986;13979:12;13941:52;14011:22;;:::i;:::-;14002:31;;14056:42;14094:3;14083:9;14056:42;:::i;:::-;14049:5;14042:57;14133:49;14177:3;14166:9;14162:19;14133:49;:::i;:::-;14126:4;14119:5;14115:16;14108:75;14217:48;14260:3;14249:9;14245:19;14217:48;:::i;:::-;14210:4;14203:5;14199:16;14192:74;14300:61;14357:3;14351;14340:9;14336:19;14300:61;:::i;:::-;14293:4;14286:5;14282:16;14275:87;14395:60;14451:3;14445;14434:9;14430:19;14395:60;:::i;:::-;14389:3;14382:5;14378:15;14371:85;14489:39;14523:3;14512:9;14508:19;14489:39;:::i;:::-;14483:3;14476:5;14472:15;14465:64;14562:39;14596:3;14585:9;14581:19;14562:39;:::i;:::-;14556:3;14545:15;;14538:64;14653:3;14638:19;;14625:33;-1:-1:-1;;;;;14670:30:142;;14667:50;;;14713:1;14710;14703:12;14667:50;14750:57;14803:3;14794:6;14783:9;14779:22;14750:57;:::i;:::-;14744:3;14737:5;14733:15;14726:82;;13840:974;;;;:::o;14819:777::-;14971:6;14979;14987;15040:2;15028:9;15019:7;15015:23;15011:32;15008:52;;;15056:1;15053;15046:12;15008:52;15095:9;15082:23;15114:31;15139:5;15114:31;:::i;:::-;15164:5;-1:-1:-1;15220:2:142;15205:18;;15192:32;-1:-1:-1;;;;;15273:14:142;;;15270:34;;;15300:1;15297;15290:12;15270:34;15323:85;15400:7;15391:6;15380:9;15376:22;15323:85;:::i;:::-;15313:95;;15461:2;15450:9;15446:18;15433:32;15417:48;;15490:2;15480:8;15477:16;15474:36;;;15506:1;15503;15496:12;15474:36;;15529:61;15582:7;15571:8;15560:9;15556:24;15529:61;:::i;16274:919::-;16435:6;16443;16451;16459;16512:3;16500:9;16491:7;16487:23;16483:33;16480:53;;;16529:1;16526;16519:12;16480:53;16568:9;16555:23;16587:31;16612:5;16587:31;:::i;:::-;16637:5;-1:-1:-1;16694:2:142;16679:18;;16666:32;16707:33;16666:32;16707:33;:::i;:::-;16759:7;-1:-1:-1;16817:2:142;16802:18;;16789:32;-1:-1:-1;;;;;16870:14:142;;;16867:34;;;16897:1;16894;16887:12;16867:34;16920:85;16997:7;16988:6;16977:9;16973:22;16920:85;:::i;:::-;16910:95;;17058:2;17047:9;17043:18;17030:32;17014:48;;17087:2;17077:8;17074:16;17071:36;;;17103:1;17100;17093:12;17071:36;;17126:61;17179:7;17168:8;17157:9;17153:24;17126:61;:::i;:::-;17116:71;;;16274:919;;;;;;;:::o;17558:250::-;17643:1;17653:113;17667:6;17664:1;17661:13;17653:113;;;17743:11;;;17737:18;17724:11;;;17717:39;17689:2;17682:10;17653:113;;;-1:-1:-1;;17800:1:142;17782:16;;17775:27;17558:250::o;17813:271::-;17855:3;17893:5;17887:12;17920:6;17915:3;17908:19;17936:76;18005:6;17998:4;17993:3;17989:14;17982:4;17975:5;17971:16;17936:76;:::i;:::-;18066:2;18045:15;-1:-1:-1;;18041:29:142;18032:39;;;;18073:4;18028:50;;17813:271;-1:-1:-1;;17813:271:142:o;18089:220::-;18238:2;18227:9;18220:21;18201:4;18258:45;18299:2;18288:9;18284:18;18276:6;18258:45;:::i;18761:785::-;18922:6;18930;18938;18946;18999:3;18987:9;18978:7;18974:23;18970:33;18967:53;;;19016:1;19013;19006:12;18967:53;19055:9;19042:23;19074:31;19099:5;19074:31;:::i;:::-;19124:5;-1:-1:-1;19181:2:142;19166:18;;19153:32;19194:33;19153:32;19194:33;:::i;:::-;19246:7;-1:-1:-1;19272:75:142;19339:7;19334:2;19319:18;;19272:75;:::i;:::-;19262:85;-1:-1:-1;19398:3:142;19383:19;;19370:33;-1:-1:-1;;;;;19415:30:142;;19412:50;;;19458:1;19455;19448:12;19412:50;19481:59;19532:7;19523:6;19512:9;19508:22;19481:59;:::i;19551:127::-;19612:10;19607:3;19603:20;19600:1;19593:31;19643:4;19640:1;19633:15;19667:4;19664:1;19657:15;19683:168;19756:9;;;19787;;19804:15;;;19798:22;;19784:37;19774:71;;19825:18;;:::i;19856:127::-;19917:10;19912:3;19908:20;19905:1;19898:31;19948:4;19945:1;19938:15;19972:4;19969:1;19962:15;19988:277;20075:6;20128:2;20116:9;20107:7;20103:23;20099:32;20096:52;;;20144:1;20141;20134:12;20096:52;20176:9;20170:16;20195:40;20229:5;20195:40;:::i;20270:282::-;-1:-1:-1;;;;;20470:32:142;;;;20452:51;;20534:2;20519:18;;20512:34;20440:2;20425:18;;20270:282::o;20557:184::-;20627:6;20680:2;20668:9;20659:7;20655:23;20651:32;20648:52;;;20696:1;20693;20686:12;20648:52;-1:-1:-1;20719:16:142;;20557:184;-1:-1:-1;20557:184:142:o;21025:375::-;-1:-1:-1;;;;;21283:15:142;;;21265:34;;21335:15;;;;21330:2;21315:18;;21308:43;21382:2;21367:18;;21360:34;;;;21215:2;21200:18;;21025:375::o;21405:304::-;-1:-1:-1;;;;;21635:15:142;;;21617:34;;21687:15;;21682:2;21667:18;;21660:43;21567:2;21552:18;;21405:304::o;21714:217::-;21754:1;21780;21770:132;;21824:10;21819:3;21815:20;21812:1;21805:31;21859:4;21856:1;21849:15;21887:4;21884:1;21877:15;21770:132;-1:-1:-1;21916:9:142;;21714:217::o;21936:125::-;22001:9;;;22022:10;;;22019:36;;;22035:18;;:::i;22481:380::-;22560:1;22556:12;;;;22603;;;22624:61;;22678:4;22670:6;22666:17;22656:27;;22624:61;22731:2;22723:6;22720:14;22700:18;22697:38;22694:161;;22777:10;22772:3;22768:20;22765:1;22758:31;22812:4;22809:1;22802:15;22840:4;22837:1;22830:15;22694:161;;22481:380;;;:::o;22992:545::-;23094:2;23089:3;23086:11;23083:448;;;23130:1;23155:5;23151:2;23144:17;23200:4;23196:2;23186:19;23270:2;23258:10;23254:19;23251:1;23247:27;23241:4;23237:38;23306:4;23294:10;23291:20;23288:47;;;-1:-1:-1;23329:4:142;23288:47;23384:2;23379:3;23375:12;23372:1;23368:20;23362:4;23358:31;23348:41;;23439:82;23457:2;23450:5;23447:13;23439:82;;;23502:17;;;23483:1;23472:13;23439:82;;;23443:3;;;22992:545;;;:::o;23713:1352::-;23833:10;;-1:-1:-1;;;;;23855:30:142;;23852:56;;;23888:18;;:::i;:::-;23917:97;24007:6;23967:38;23999:4;23993:11;23967:38;:::i;:::-;23961:4;23917:97;:::i;:::-;24069:4;;24133:2;24122:14;;24150:1;24145:663;;;;24852:1;24869:6;24866:89;;;-1:-1:-1;24921:19:142;;;24915:26;24866:89;-1:-1:-1;;23670:1:142;23666:11;;;23662:24;23658:29;23648:40;23694:1;23690:11;;;23645:57;24968:81;;24115:944;;24145:663;22939:1;22932:14;;;22976:4;22963:18;;-1:-1:-1;;24181:20:142;;;24299:236;24313:7;24310:1;24307:14;24299:236;;;24402:19;;;24396:26;24381:42;;24494:27;;;;24462:1;24450:14;;;;24329:19;;24299:236;;;24303:3;24563:6;24554:7;24551:19;24548:201;;;24624:19;;;24618:26;-1:-1:-1;;24707:1:142;24703:14;;;24719:3;24699:24;24695:37;24691:42;24676:58;24661:74;;24548:201;-1:-1:-1;;;;;24795:1:142;24779:14;;;24775:22;24762:36;;-1:-1:-1;23713:1352:142:o;25070:251::-;25140:6;25193:2;25181:9;25172:7;25168:23;25164:32;25161:52;;;25209:1;25206;25199:12;25161:52;25241:9;25235:16;25260:31;25285:5;25260:31;:::i;25326:127::-;25387:10;25382:3;25378:20;25375:1;25368:31;25418:4;25415:1;25408:15;25442:4;25439:1;25432:15;25458:956;25553:6;25584:2;25627;25615:9;25606:7;25602:23;25598:32;25595:52;;;25643:1;25640;25633:12;25595:52;25670:16;;-1:-1:-1;;;;;25698:30:142;;25695:50;;;25741:1;25738;25731:12;25695:50;25764:22;;25817:4;25809:13;;25805:27;-1:-1:-1;25795:55:142;;25846:1;25843;25836:12;25795:55;25875:2;25869:9;25898:60;25914:43;25954:2;25914:43;:::i;25898:60::-;25992:15;;;26074:1;26070:10;;;;26062:19;;26058:28;;;26023:12;;;;26098:19;;;26095:39;;;26130:1;26127;26120:12;26095:39;26154:11;;;;26174:210;26190:6;26185:3;26182:15;26174:210;;;26263:3;26257:10;26280:31;26305:5;26280:31;:::i;:::-;26324:18;;26207:12;;;;26362;;;;26174:210;;26419:135;26458:3;26479:17;;;26476:43;;26499:18;;:::i;:::-;-1:-1:-1;26546:1:142;26535:13;;26419:135::o;26559:128::-;26626:9;;;26647:11;;;26644:37;;;26661:18;;:::i;26692:772::-;26742:3;26783:5;26777:12;26812:36;26838:9;26812:36;:::i;:::-;26857:19;;;26895:4;26918:1;26935:18;;;26962:146;;;;27122:1;27117:341;;;;26928:530;;26962:146;-1:-1:-1;;27004:24:142;;26990:12;;;26983:46;27076:14;;27069:22;27066:1;27062:30;27053:40;;27049:49;;;-1:-1:-1;26962:146:142;;27117:341;27148:5;27145:1;27138:16;27195:2;27192:1;27182:16;27220:1;27234:174;27248:6;27245:1;27242:13;27234:174;;;27335:14;;27317:11;;;27313:20;;27306:44;27378:16;;;;27263:10;;27234:174;;;27432:11;;27428:20;;;-1:-1:-1;;26928:530:142;;;;;;26692:772;;;;:::o;27469:252::-;27556:5;27550:12;27545:3;27538:25;27520:3;27609:4;27602:5;27598:16;27592:23;27647:4;27640;27635:3;27631:14;27624:28;27668:47;27709:4;27704:3;27700:14;27686:12;27668:47;:::i;27726:461::-;27779:3;27817:5;27811:12;27844:6;27839:3;27832:19;27870:4;27899:2;27894:3;27890:12;27883:19;;27936:2;27929:5;27925:14;27957:1;27967:195;27981:6;27978:1;27975:13;27967:195;;;28046:13;;-1:-1:-1;;;;;28042:39:142;28030:52;;28102:12;;;;28137:15;;;;28078:1;27996:9;27967:195;;;-1:-1:-1;28178:3:142;;27726:461;-1:-1:-1;;;;;27726:461:142:o;28192:804::-;28552:6;28541:9;28534:25;28595:3;28590:2;28579:9;28575:18;28568:31;28515:4;28622:54;28671:3;28660:9;28656:19;28648:6;28622:54;:::i;:::-;28724:9;28716:6;28712:22;28707:2;28696:9;28692:18;28685:50;28758:42;28793:6;28785;28758:42;:::i;:::-;-1:-1:-1;;;;;28836:32:142;;28831:2;28816:18;;28809:60;28906:22;;;28900:3;28885:19;;28878:51;28744:56;-1:-1:-1;28946:44:142;28744:56;28975:6;28946:44;:::i;:::-;28938:52;28192:804;-1:-1:-1;;;;;;;;28192:804:142:o;29190:500::-;29444:6;29433:9;29426:25;29487:2;29482;29471:9;29467:18;29460:30;29407:4;29513:53;29562:2;29551:9;29547:18;29539:6;29513:53;:::i;:::-;29614:9;29606:6;29602:22;29597:2;29586:9;29582:18;29575:50;29642:42;29677:6;29669;29642:42;:::i;30310:408::-;30512:2;30494:21;;;30551:2;30531:18;;;30524:30;-1:-1:-1;;;;;;;;;;;30585:2:142;30570:18;;30563:62;-1:-1:-1;;;30656:2:142;30641:18;;30634:42;30708:3;30693:19;;30310:408::o;30723:::-;30925:2;30907:21;;;30964:2;30944:18;;;30937:30;-1:-1:-1;;;;;;;;;;;30998:2:142;30983:18;;30976:62;-1:-1:-1;;;31069:2:142;31054:18;;31047:42;31121:3;31106:19;;30723:408::o;31453:384::-;-1:-1:-1;;;;;31711:15:142;;;31693:34;;31763:15;;;31758:2;31743:18;;31736:43;31815:15;;;31810:2;31795:18;;31788:43;31643:2;31628:18;;31453:384::o;31842:315::-;-1:-1:-1;;;;;32017:32:142;;31999:51;;32086:2;32081;32066:18;;32059:30;;;-1:-1:-1;;32106:45:142;;32132:18;;32124:6;32106:45;:::i;33003:324::-;-1:-1:-1;;;33233:24:142;;33282:1;33273:11;;33266:27;;;;33318:2;33309:12;;33003:324::o;33332:331::-;-1:-1:-1;;;33562:30:142;;33617:2;33608:12;;33601:28;;;;33654:2;33645:12;;33332:331::o;33921:127::-;33982:10;33977:3;33973:20;33970:1;33963:31;34013:4;34010:1;34003:15;34037:4;34034:1;34027:15;34053:1653;34145:6;34176:2;34219;34207:9;34198:7;34194:23;34190:32;34187:52;;;34235:1;34232;34225:12;34187:52;34262:16;;-1:-1:-1;;;;;34327:14:142;;;34324:34;;;34354:1;34351;34344:12;34324:34;34377:22;;;;34433:4;34415:16;;;34411:27;34408:47;;;34451:1;34448;34441:12;34408:47;34477:22;;:::i;:::-;34528:2;34522:9;34515:5;34508:24;34570:2;34566;34562:11;34556:18;34583:33;34608:7;34583:33;:::i;:::-;34632:14;;;34625:31;34694:2;34686:11;;34680:18;34707:33;34680:18;34707:33;:::i;:::-;34767:2;34756:14;;34749:31;34819:2;34811:11;;34805:18;34835:16;;;34832:36;;;34864:1;34861;34854:12;34832:36;34887:17;;34938:2;34920:16;;;34916:25;34913:45;;;34954:1;34951;34944:12;34913:45;34982:22;;:::i;:::-;35035:2;35029:9;35020:7;35013:26;35078:2;35074;35070:11;35064:18;35107:2;35097:8;35094:16;35091:36;;;35123:1;35120;35113:12;35091:36;35146:17;;;-1:-1:-1;35194:4:142;35186:13;;35182:27;-1:-1:-1;35172:55:142;;35223:1;35220;35213:12;35172:55;35252:2;35246:9;35236:19;;35277:49;35293:32;35322:2;35293:32;:::i;35277:49::-;35349:2;35342:5;35335:17;35389:7;35384:2;35379;35375;35371:11;35367:20;35364:33;35361:53;;;35410:1;35407;35400:12;35361:53;35423:67;35487:2;35482;35475:5;35471:14;35466:2;35462;35458:11;35423:67;:::i;:::-;35506:16;;;35499:31;;;;-1:-1:-1;35557:2:142;35546:14;;35539:31;;;;-1:-1:-1;35617:3:142;35609:12;;;35603:19;35586:15;;;35579:44;35670:3;35662:12;;;35656:19;35639:15;;;35632:44;35550:5;34053:1653;-1:-1:-1;;;34053:1653:142:o;35711:261::-;35791:5;35785:12;35780:3;35773:25;35847:4;35840:5;35836:16;35830:23;35823:4;35818:3;35814:14;35807:47;35903:4;35896:5;35892:16;35886:23;35879:4;35874:3;35870:14;35863:47;35959:4;35952:5;35948:16;35942:23;35935:4;35930:3;35926:14;35919:47;;;35711:261::o;35977:143::-;36061:1;36054:5;36051:12;36041:46;;36067:18;;:::i;:::-;36096;;35977:143::o;36125:142::-;36208:1;36201:5;36198:12;36188:46;;36214:18;;:::i;36272:437::-;36396:12;;-1:-1:-1;;;;;36392:21:142;;;36380:34;;36467:4;36456:16;;;36450:23;36446:32;;;36430:14;;;36423:56;36528:4;36517:16;;;36511:23;36495:14;;;36488:47;36584:4;36573:16;;;36567:23;36551:14;;;36544:47;36640:4;36629:16;;;36623:23;36607:14;;;36600:47;36360:3;36685:16;;;36679:23;36663:14;;36656:47;36272:437::o;36714:1197::-;36941:2;36930:9;36923:21;36953:61;37010:2;36999:9;36995:18;36986:6;36980:13;36953:61;:::i;:::-;36904:4;37061:2;37053:6;37049:15;37043:22;37074:63;37132:3;37121:9;37117:19;37103:12;37074:63;:::i;:::-;;37186:4;37178:6;37174:17;37168:24;37201:64;37260:3;37249:9;37245:19;37229:14;37201:64;:::i;:::-;;37326:4;37318:6;37314:17;37308:24;37302:31;37296:3;37285:9;37281:19;37274:60;37383:4;37375:6;37371:17;37365:24;37398:71;37464:3;37453:9;37449:19;37433:14;37398:71;:::i;:::-;;37518:3;37510:6;37506:16;37500:23;37532:55;37582:3;37571:9;37567:19;37551:14;37532:55;:::i;:::-;;37636:3;37628:6;37624:16;37618:23;37650:55;37700:3;37689:9;37685:19;37669:14;37650:55;:::i;:::-;-1:-1:-1;37754:3:142;37742:16;;37736:23;37778:6;37800:18;;;37793:30;37840:65;37900:3;37885:19;;37736:23;37840:65;:::i;37916:979::-;38341:6;38330:9;38323:25;38304:4;38384:1;38380;38375:3;38371:11;38367:19;38434:2;38426:6;38422:15;38417:2;38406:9;38402:18;38395:43;38474:3;38469:2;38458:9;38454:18;38447:31;38501:46;38542:3;38531:9;38527:19;38519:6;38501:46;:::i;:::-;38595:2;38587:6;38583:15;38578:2;38567:9;38563:18;38556:43;38636:6;38630:3;38619:9;38615:19;38608:35;38692:9;38684:6;38680:22;38674:3;38663:9;38659:19;38652:51;38726:42;38761:6;38753;38726:42;:::i;:::-;38712:56;;;38817:9;38809:6;38805:22;38799:3;38788:9;38784:19;38777:51;38845:44;38882:6;38874;38845:44;:::i;:::-;38837:52;37916:979;-1:-1:-1;;;;;;;;;;37916:979:142:o;38900:613::-;39175:25;;;-1:-1:-1;;;;;39274:15:142;;;39269:2;39254:18;;39247:43;39326:15;;;39321:2;39306:18;;39299:43;39378:15;;39373:2;39358:18;;39351:43;39227:3;39425;39410:19;;39403:32;;;39156:4;;39452:55;;39487:19;;39479:6;39452:55;:::i;39518:407::-;39720:2;39702:21;;;39759:2;39739:18;;;39732:30;39798:34;39793:2;39778:18;;39771:62;-1:-1:-1;;;39864:2:142;39849:18;;39842:41;39915:3;39900:19;;39518:407::o;39930:995::-;40120:4;40162:3;40151:9;40147:19;40139:27;;40175:52;40217:9;40208:6;40202:13;40175:52;:::i;:::-;40274:4;40266:6;40262:17;40256:24;40289:64;40347:4;40336:9;40332:20;40318:12;40289:64;:::i;:::-;;40402:4;40394:6;40390:17;40384:24;40417:65;40476:4;40465:9;40461:20;40445:14;40417:65;:::i;:::-;;40544:4;40536:6;40532:17;40526:24;40520:31;40513:4;40502:9;40498:20;40491:61;40601:4;40593:6;40589:17;40583:24;40616:72;40682:4;40671:9;40667:20;40651:14;40616:72;:::i;:::-;-1:-1:-1;40737:4:142;40725:17;;40719:24;-1:-1:-1;;;;;40821:23:142;;;40812:6;40797:22;;40790:55;40907:4;40895:17;;;40889:24;40885:33;;;40876:6;40861:22;;;40854:65;39930:995;:::o;43099:812::-;-1:-1:-1;;;43505:3:142;43498:38;43480:3;43565:6;43559:13;43581:75;43649:6;43644:2;43639:3;43635:12;43628:4;43620:6;43616:17;43581:75;:::i;:::-;-1:-1:-1;;;43715:2:142;43675:16;;;43707:11;;;43700:40;43765:13;;43787:76;43765:13;43849:2;43841:11;;43834:4;43822:17;;43787:76;:::i;:::-;43883:17;43902:2;43879:26;;43099:812;-1:-1:-1;;;;43099:812:142:o;43916:245::-;43983:6;44036:2;44024:9;44015:7;44011:23;44007:32;44004:52;;;44052:1;44049;44042:12;44004:52;44084:9;44078:16;44103:28;44125:5;44103:28;:::i;45198:136::-;45237:3;45265:5;45255:39;;45274:18;;:::i;:::-;-1:-1:-1;;;45310:18:142;;45198:136::o;46107:287::-;46236:3;46274:6;46268:13;46290:66;46349:6;46344:3;46337:4;46329:6;46325:17;46290:66;:::i;:::-;46372:16;;;;;46107:287;-1:-1:-1;;46107:287:142:o","linkReferences":{},"immutableReferences":{"55572":[{"start":7747,"length":32},{"start":7814,"length":32},{"start":8065,"length":32},{"start":8132,"length":32},{"start":8470,"length":32}]}},"methodIdentifiers":{"COUNCIL_MEMBER()":"733a2d1f","DEFAULT_ADMIN_ROLE()":"a217fddf","MAX_FEE()":"bc063e1a","NATIVE()":"a0cf0aea","PRECISION_SCALE()":"d7050f07","VERSION()":"ffa1ad74","acceptCouncilSafe()":"b5058c50","activateMemberInStrategy(address,address)":"0d4a8b49","addStrategy(address)":"223e5479","addStrategyByPoolId(uint256)":"82d6a1e7","addressToMemberInfo(address)":"88cfe684","allo()":"d6d8428d","cloneNonce()":"33960459","collateralVaultTemplate()":"77122d56","communityFee()":"8961be6b","communityName()":"c6d572ae","councilSafe()":"6c53db9a","covenantIpfsHash()":"b64e39af","createPool(address,((uint256,uint256,uint256,uint256),uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256),address,address),(uint256,string))":"524e59e8","createPool(address,((uint256,uint256,uint256,uint256),uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256),address,address,address[]),(uint256,string))":"579eb7e5","createPool(address,address,((uint256,uint256,uint256,uint256),uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256),address,address),(uint256,string))":"e16d0e32","createPool(address,address,((uint256,uint256,uint256,uint256),uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256),address,address,address[]),(uint256,string))":"8659ffdd","deactivateMemberInStrategy(address,address)":"22bcf999","decreasePower(uint256)":"5ecf71c5","enabledStrategies(address)":"3a871fe1","feeReceiver()":"b3f00674","gardenToken()":"db61d65c","getBasisStakedAmount()":"0331383c","getMemberPowerInStrategy(address,address)":"7817ee4f","getMemberStakedAmount(address)":"2c611c4a","getRoleAdmin(bytes32)":"248a9ca3","getStakeAmountWithFees()":"28c309e9","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","increasePower(uint256)":"559de05d","initialize((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string),address,address,address)":"34196355","initialize(address)":"c4d66de8","isCouncilMember(address)":"ebd7dc52","isKickEnabled()":"1f787d28","isMember(address)":"a230c524","kickMember(address,address)":"6871eb4d","memberActivatedInStrategies(address,address)":"477a5cc0","memberPowerInStrategy(address,address)":"65e3864c","owner()":"8da5cb5b","pendingCouncilSafe()":"68decabb","profileId()":"08386eba","proxiableUUID()":"52d1902d","registerStakeAmount()":"78a0b8a9","registry()":"7b103999","registryFactory()":"f86c5f89","removeStrategy(address)":"175188e8","removeStrategyByPoolId(uint256)":"73265c37","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setBasisStakedAmount(uint256)":"31f61bca","setCollateralVaultTemplate(address)":"b0d3713a","setCommunityFee(uint256)":"0d12bbdb","setCouncilSafe(address)":"397e2543","setStrategyTemplate(address)":"1b71f0e4","stakeAndRegisterMember()":"3517aa7d","strategiesByMember(address,uint256)":"2b38c69c","strategyTemplate()":"5c94e4d2","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","unregisterMember()":"b99b4370","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"CallerNotOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_decreaseAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_currentPower\",\"type\":\"uint256\"}],\"name\":\"CantDecreaseMoreThanPower\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DecreaseUnderMinimum\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"KickNotEnabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewFeeGreaterThanMax\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PointsDeactivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RegistryCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderNotNewOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderNotStrategy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyDisabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyActivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyDeactivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotGardenOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"UserNotInCouncil\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ValueCannotBeZero\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"}],\"name\":\"AlloSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newAmount\",\"type\":\"uint256\"}],\"name\":\"BasisStakedAmountSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newFee\",\"type\":\"uint256\"}],\"name\":\"CommunityFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safeOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newSafeOwner\",\"type\":\"address\"}],\"name\":\"CouncilSafeChangeStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"CouncilSafeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_pointsToIncrease\",\"type\":\"uint256\"}],\"name\":\"MemberActivatedStrategy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"MemberDeactivatedStrategy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_transferAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountReturned\",\"type\":\"uint256\"}],\"name\":\"MemberKicked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_unstakedAmount\",\"type\":\"uint256\"}],\"name\":\"MemberPowerDecreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_stakedAmount\",\"type\":\"uint256\"}],\"name\":\"MemberPowerIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountStaked\",\"type\":\"uint256\"}],\"name\":\"MemberRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountReturned\",\"type\":\"uint256\"}],\"name\":\"MemberUnregistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"RegistryInitialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"StrategyAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COUNCIL_MEMBER\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_FEE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PRECISION_SCALE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"acceptCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"activateMemberInStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newStrategy\",\"type\":\"address\"}],\"name\":\"addStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"name\":\"addStrategyByPoolId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"addressToMemberInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isRegistered\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo\",\"outputs\":[{\"internalType\":\"contract FAllo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloneNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateralVaultTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"communityFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"communityName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"covenantIpfsHash\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct CVStrategyInitializeParamsV0_0\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"initialAllowlist\",\"type\":\"address[]\"}],\"internalType\":\"struct CVStrategyInitializeParamsV0_1\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"initialAllowlist\",\"type\":\"address[]\"}],\"internalType\":\"struct CVStrategyInitializeParamsV0_1\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct CVStrategyInitializeParamsV0_0\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"deactivateMemberInStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountUnstaked\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"enabledStrategies\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardenToken\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasisStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"getMemberPowerInStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"getMemberStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStakeAmountWithFees\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountStaked\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"}],\"internalType\":\"struct RegistryCommunityInitializeParamsV0_0\",\"name\":\"params\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isCouncilMember\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isKickEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMember\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isMember\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_transferAddress\",\"type\":\"address\"}],\"name\":\"kickMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"memberActivatedInStrategies\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isActivated\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"memberPowerInStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingCouncilSafe\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profileId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registerStakeAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"name\":\"removeStrategyByPoolId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newAmount\",\"type\":\"uint256\"}],\"name\":\"setBasisStakedAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setCollateralVaultTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newCommunityFee\",\"type\":\"uint256\"}],\"name\":\"setCommunityFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"setCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setStrategyTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stakeAndRegisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"strategiesByMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"strategiesAddresses\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategyTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unregisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"RegistryCommunityV0_0\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"COUNCIL_MEMBER()\":{\"notice\":\"Role to council safe members\"},\"MAX_FEE()\":{\"notice\":\"The maximum fee that can be charged to the community\"},\"NATIVE()\":{\"notice\":\"The native address to represent native token eg: ETH in mainnet\"},\"PRECISION_SCALE()\":{\"notice\":\"The precision scale used in the contract to avoid loss of precision\"},\"addressToMemberInfo(address)\":{\"notice\":\"Member information as the staked amount and if is registered in the community\"},\"allo()\":{\"notice\":\"The Allo contract address\"},\"cloneNonce()\":{\"notice\":\"The nonce used to create new strategy clones\"},\"collateralVaultTemplate()\":{\"notice\":\"The address of the collateral vault template\"},\"communityFee()\":{\"notice\":\"The fee charged to the community for each registration\"},\"communityName()\":{\"notice\":\"The community name\"},\"councilSafe()\":{\"notice\":\"The council safe contract address\"},\"covenantIpfsHash()\":{\"notice\":\"The covenant IPFS hash of community\"},\"enabledStrategies(address)\":{\"notice\":\"List of enabled/disabled strategies\"},\"feeReceiver()\":{\"notice\":\"The address that receives the community fee\"},\"gardenToken()\":{\"notice\":\"The token used to stake in the community\"},\"isKickEnabled()\":{\"notice\":\"Enable or disable the kick feature\"},\"memberActivatedInStrategies(address,address)\":{\"notice\":\"Mapping to check if a member is activated in a strategy\"},\"memberPowerInStrategy(address,address)\":{\"notice\":\"Power points for each member in each strategy\"},\"pendingCouncilSafe()\":{\"notice\":\"The address of the pending council safe owner\"},\"profileId()\":{\"notice\":\"The profileId of the community in the Allo Registry\"},\"registerStakeAmount()\":{\"notice\":\"The amount of tokens required to register a member\"},\"registry()\":{\"notice\":\"The Registry Allo contract\"},\"registryFactory()\":{\"notice\":\"The address of the registry factory\"},\"strategiesByMember(address,uint256)\":{\"notice\":\"List of strategies for each member are activated\"},\"strategyTemplate()\":{\"notice\":\"The address of the strategy template\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol\":\"RegistryCommunityV0_1\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293\",\"dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0xc3aed28a3fec8dcc2e95c8569aa2c4323897a1685c63746822956fe995eddf28\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c4126fea7a0d30c76aab94605930ed01c7e53df2f4a7bba4773c097904d5eb39\",\"dweb:/ipfs/QmNsDu9G5JKCXdTs1HmEyVcR3S4DhuiZRt2bEPVNYGckgw\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol\":{\"keccak256\":\"0x7ac113b4d9b37166aa2453c1bdbb04db3aa4a2e8445b947b36034a59ea2d7290\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://74a5dfd911f0579d4c2cf49669e0b1e06c88f3764cca83cf95579c4db671de40\",\"dweb:/ipfs/QmQm2LGi4KLV7yPY3sMbD44n7crAuGQwp6fJ8a8C5WQBYa\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x6b05f27573e30362ec808b4d79f8156550a8dd5090b107b46928ab8d87be3c87\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://134753f1a9a463e4193ffa2b2f6e32813b7a3d7603ddacaedf0f65a6a72c864a\",\"dweb:/ipfs/QmZnQa6a3aFUvxdT1yaj72DBQUShfq5okHshhHwGv85Mdq\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol\":{\"keccak256\":\"0x30e941996ee5d85123b7287e4c56fb642644624fcd7bd54ec5cc6d9c35929659\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d05002caba8d60e778bd4e27da3f3e93e8ecc33814902e8bad2b3d1eb65027b0\",\"dweb:/ipfs/QmZYjLmM48816YfFPXNxf3XwjJ3DLQ58mSPP8hRDBAnNtQ\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"type":"error","name":"CallerNotOwner"},{"inputs":[{"internalType":"uint256","name":"_decreaseAmount","type":"uint256"},{"internalType":"uint256","name":"_currentPower","type":"uint256"}],"type":"error","name":"CantDecreaseMoreThanPower"},{"inputs":[],"type":"error","name":"DecreaseUnderMinimum"},{"inputs":[],"type":"error","name":"KickNotEnabled"},{"inputs":[],"type":"error","name":"NewFeeGreaterThanMax"},{"inputs":[],"type":"error","name":"PointsDeactivated"},{"inputs":[],"type":"error","name":"RegistryCannotBeZero"},{"inputs":[],"type":"error","name":"SenderNotNewOwner"},{"inputs":[],"type":"error","name":"SenderNotStrategy"},{"inputs":[],"type":"error","name":"StrategyDisabled"},{"inputs":[],"type":"error","name":"StrategyExists"},{"inputs":[],"type":"error","name":"UserAlreadyActivated"},{"inputs":[],"type":"error","name":"UserAlreadyDeactivated"},{"inputs":[],"type":"error","name":"UserAlreadyRegistered"},{"inputs":[],"type":"error","name":"UserNotGardenOwner"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"type":"error","name":"UserNotInCouncil"},{"inputs":[],"type":"error","name":"UserNotInRegistry"},{"inputs":[],"type":"error","name":"ValueCannotBeZero"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"_allo","type":"address","indexed":false}],"type":"event","name":"AlloSet","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_newAmount","type":"uint256","indexed":false}],"type":"event","name":"BasisStakedAmountSet","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256","indexed":false}],"type":"event","name":"CommunityFeeUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_safeOwner","type":"address","indexed":false},{"internalType":"address","name":"_newSafeOwner","type":"address","indexed":false}],"type":"event","name":"CouncilSafeChangeStarted","anonymous":false},{"inputs":[{"internalType":"address","name":"_safe","type":"address","indexed":false}],"type":"event","name":"CouncilSafeSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false},{"internalType":"uint256","name":"_pointsToIncrease","type":"uint256","indexed":false}],"type":"event","name":"MemberActivatedStrategy","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"MemberDeactivatedStrategy","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_transferAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amountReturned","type":"uint256","indexed":false}],"type":"event","name":"MemberKicked","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_unstakedAmount","type":"uint256","indexed":false}],"type":"event","name":"MemberPowerDecreased","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_stakedAmount","type":"uint256","indexed":false}],"type":"event","name":"MemberPowerIncreased","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_amountStaked","type":"uint256","indexed":false}],"type":"event","name":"MemberRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_amountReturned","type":"uint256","indexed":false}],"type":"event","name":"MemberUnregistered","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false},{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"address","name":"_token","type":"address","indexed":false},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolCreated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32","indexed":false},{"internalType":"string","name":"_communityName","type":"string","indexed":false},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"RegistryInitialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"StrategyAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"COUNCIL_MEMBER","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PRECISION_SCALE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"acceptCouncilSafe"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"activateMemberInStrategy"},{"inputs":[{"internalType":"address","name":"_newStrategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addStrategy"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"addStrategyByPoolId"},{"inputs":[{"internalType":"address","name":"member","type":"address"}],"stateMutability":"view","type":"function","name":"addressToMemberInfo","outputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"bool","name":"isRegistered","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"allo","outputs":[{"internalType":"contract FAllo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"cloneNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVaultTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"communityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"communityName","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"covenantIpfsHash","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"struct CVStrategyInitializeParamsV0_0","name":"_params","type":"tuple","components":[{"internalType":"struct CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}]},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"struct CVStrategyInitializeParamsV0_1","name":"_params","type":"tuple","components":[{"internalType":"struct CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"},{"internalType":"address[]","name":"initialAllowlist","type":"address[]"}]},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"struct CVStrategyInitializeParamsV0_1","name":"_params","type":"tuple","components":[{"internalType":"struct CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"},{"internalType":"address[]","name":"initialAllowlist","type":"address[]"}]},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"struct CVStrategyInitializeParamsV0_0","name":"_params","type":"tuple","components":[{"internalType":"struct CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"}]},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivateMemberInStrategy"},{"inputs":[{"internalType":"uint256","name":"_amountUnstaked","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower"},{"inputs":[{"internalType":"address","name":"strategy","type":"address"}],"stateMutability":"view","type":"function","name":"enabledStrategies","outputs":[{"internalType":"bool","name":"isEnabled","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"feeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardenToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBasisStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"getMemberPowerInStrategy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"getMemberStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStakeAmountWithFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_amountStaked","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower"},{"inputs":[{"internalType":"struct RegistryCommunityInitializeParamsV0_0","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"}]},{"internalType":"address","name":"_strategyTemplate","type":"address"},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isCouncilMember","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isKickEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isMember","outputs":[{"internalType":"bool","name":"_isMember","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_transferAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"kickMember"},{"inputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"address","name":"strategy","type":"address"}],"stateMutability":"view","type":"function","name":"memberActivatedInStrategies","outputs":[{"internalType":"bool","name":"isActivated","type":"bool"}]},{"inputs":[{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"member","type":"address"}],"stateMutability":"view","type":"function","name":"memberPowerInStrategy","outputs":[{"internalType":"uint256","name":"power","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pendingCouncilSafe","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profileId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registerStakeAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryFactory","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategy"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategyByPoolId"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"uint256","name":"_newAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setBasisStakedAmount"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCollateralVaultTemplate"},{"inputs":[{"internalType":"uint256","name":"_newCommunityFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityFee"},{"inputs":[{"internalType":"address payable","name":"_safe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCouncilSafe"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setStrategyTemplate"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stakeAndRegisterMember"},{"inputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"strategiesByMember","outputs":[{"internalType":"address","name":"strategiesAddresses","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"strategyTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"unregisterMember"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"COUNCIL_MEMBER()":{"notice":"Role to council safe members"},"MAX_FEE()":{"notice":"The maximum fee that can be charged to the community"},"NATIVE()":{"notice":"The native address to represent native token eg: ETH in mainnet"},"PRECISION_SCALE()":{"notice":"The precision scale used in the contract to avoid loss of precision"},"addressToMemberInfo(address)":{"notice":"Member information as the staked amount and if is registered in the community"},"allo()":{"notice":"The Allo contract address"},"cloneNonce()":{"notice":"The nonce used to create new strategy clones"},"collateralVaultTemplate()":{"notice":"The address of the collateral vault template"},"communityFee()":{"notice":"The fee charged to the community for each registration"},"communityName()":{"notice":"The community name"},"councilSafe()":{"notice":"The council safe contract address"},"covenantIpfsHash()":{"notice":"The covenant IPFS hash of community"},"enabledStrategies(address)":{"notice":"List of enabled/disabled strategies"},"feeReceiver()":{"notice":"The address that receives the community fee"},"gardenToken()":{"notice":"The token used to stake in the community"},"isKickEnabled()":{"notice":"Enable or disable the kick feature"},"memberActivatedInStrategies(address,address)":{"notice":"Mapping to check if a member is activated in a strategy"},"memberPowerInStrategy(address,address)":{"notice":"Power points for each member in each strategy"},"pendingCouncilSafe()":{"notice":"The address of the pending council safe owner"},"profileId()":{"notice":"The profileId of the community in the Allo Registry"},"registerStakeAmount()":{"notice":"The amount of tokens required to register a member"},"registry()":{"notice":"The Registry Allo contract"},"registryFactory()":{"notice":"The address of the registry factory"},"strategiesByMember(address,uint256)":{"notice":"List of strategies for each member are activated"},"strategyTemplate()":{"notice":"The address of the strategy template"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol":"RegistryCommunityV0_1"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2","urls":["bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293","dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0xc3aed28a3fec8dcc2e95c8569aa2c4323897a1685c63746822956fe995eddf28","urls":["bzz-raw://c4126fea7a0d30c76aab94605930ed01c7e53df2f4a7bba4773c097904d5eb39","dweb:/ipfs/QmNsDu9G5JKCXdTs1HmEyVcR3S4DhuiZRt2bEPVNYGckgw"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol":{"keccak256":"0x7ac113b4d9b37166aa2453c1bdbb04db3aa4a2e8445b947b36034a59ea2d7290","urls":["bzz-raw://74a5dfd911f0579d4c2cf49669e0b1e06c88f3764cca83cf95579c4db671de40","dweb:/ipfs/QmQm2LGi4KLV7yPY3sMbD44n7crAuGQwp6fJ8a8C5WQBYa"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0x6b05f27573e30362ec808b4d79f8156550a8dd5090b107b46928ab8d87be3c87","urls":["bzz-raw://134753f1a9a463e4193ffa2b2f6e32813b7a3d7603ddacaedf0f65a6a72c864a","dweb:/ipfs/QmZnQa6a3aFUvxdT1yaj72DBQUShfq5okHshhHwGv85Mdq"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol":{"keccak256":"0x30e941996ee5d85123b7287e4c56fb642644624fcd7bd54ec5cc6d9c35929659","urls":["bzz-raw://d05002caba8d60e778bd4e27da3f3e93e8ecc33814902e8bad2b3d1eb65027b0","dweb:/ipfs/QmZYjLmM48816YfFPXNxf3XwjJ3DLQ58mSPP8hRDBAnNtQ"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":52990,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52993,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53695,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52782,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52902,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":53167,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"_status","offset":0,"slot":"101","type":"t_uint256"},{"astId":53236,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":53969,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"__gap","offset":0,"slot":"151","type":"t_array(t_uint256)50_storage"},{"astId":52389,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"_roles","offset":0,"slot":"201","type":"t_mapping(t_bytes32,t_struct(RoleData)52384_storage)"},{"astId":52696,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"__gap","offset":0,"slot":"202","type":"t_array(t_uint256)49_storage"},{"astId":70985,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"registerStakeAmount","offset":0,"slot":"251","type":"t_uint256"},{"astId":70988,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"communityFee","offset":0,"slot":"252","type":"t_uint256"},{"astId":70991,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"cloneNonce","offset":0,"slot":"253","type":"t_uint256"},{"astId":70994,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"profileId","offset":0,"slot":"254","type":"t_bytes32"},{"astId":70997,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"isKickEnabled","offset":0,"slot":"255","type":"t_bool"},{"astId":71000,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"feeReceiver","offset":1,"slot":"255","type":"t_address"},{"astId":71003,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"registryFactory","offset":0,"slot":"256","type":"t_address"},{"astId":71006,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"collateralVaultTemplate","offset":0,"slot":"257","type":"t_address"},{"astId":71009,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"strategyTemplate","offset":0,"slot":"258","type":"t_address"},{"astId":71012,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"pendingCouncilSafe","offset":0,"slot":"259","type":"t_address_payable"},{"astId":71016,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"registry","offset":0,"slot":"260","type":"t_contract(IRegistry)2802"},{"astId":71020,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"gardenToken","offset":0,"slot":"261","type":"t_contract(IERC20)56528"},{"astId":71024,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"councilSafe","offset":0,"slot":"262","type":"t_contract(ISafe)76451"},{"astId":71028,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"allo","offset":0,"slot":"263","type":"t_contract(FAllo)76184"},{"astId":71031,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"communityName","offset":0,"slot":"264","type":"t_string_storage"},{"astId":71034,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"covenantIpfsHash","offset":0,"slot":"265","type":"t_string_storage"},{"astId":71039,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"enabledStrategies","offset":0,"slot":"266","type":"t_mapping(t_address,t_bool)"},{"astId":71046,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"memberPowerInStrategy","offset":0,"slot":"267","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":71052,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"addressToMemberInfo","offset":0,"slot":"268","type":"t_mapping(t_address,t_struct(Member)70802_storage)"},{"astId":71058,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"strategiesByMember","offset":0,"slot":"269","type":"t_mapping(t_address,t_array(t_address)dyn_storage)"},{"astId":71065,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"memberActivatedInStrategies","offset":0,"slot":"270","type":"t_mapping(t_address,t_mapping(t_address,t_bool))"},{"astId":71069,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"initialMembers","offset":0,"slot":"271","type":"t_array(t_address)dyn_storage"},{"astId":72699,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"__gap","offset":0,"slot":"272","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_address_payable":{"encoding":"inplace","label":"address payable","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(FAllo)76184":{"encoding":"inplace","label":"contract FAllo","numberOfBytes":"20"},"t_contract(IERC20)56528":{"encoding":"inplace","label":"contract IERC20","numberOfBytes":"20"},"t_contract(IRegistry)2802":{"encoding":"inplace","label":"contract IRegistry","numberOfBytes":"20"},"t_contract(ISafe)76451":{"encoding":"inplace","label":"contract ISafe","numberOfBytes":"20"},"t_mapping(t_address,t_array(t_address)dyn_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => address[])","numberOfBytes":"32","value":"t_array(t_address)dyn_storage"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_mapping(t_address,t_bool))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => bool))","numberOfBytes":"32","value":"t_mapping(t_address,t_bool)"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_struct(Member)70802_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct Member)","numberOfBytes":"32","value":"t_struct(Member)70802_storage"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_bytes32,t_struct(RoleData)52384_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)52384_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Member)70802_storage":{"encoding":"inplace","label":"struct Member","numberOfBytes":"96","members":[{"astId":70797,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"member","offset":0,"slot":"0","type":"t_address"},{"astId":70799,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"stakedAmount","offset":0,"slot":"1","type":"t_uint256"},{"astId":70801,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"isRegistered","offset":0,"slot":"2","type":"t_bool"}]},"t_struct(RoleData)52384_storage":{"encoding":"inplace","label":"struct AccessControlUpgradeable.RoleData","numberOfBytes":"64","members":[{"astId":52381,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"members","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":52383,"contract":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol:RegistryCommunityV0_1","label":"adminRole","offset":0,"slot":"1","type":"t_bytes32"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol","id":72930,"exportedSymbols":{"ArbitrableConfig":[65628],"CVStrategyInitializeParamsV0_1":[69242],"CVStrategyV0_0":[69194],"CVStrategyV0_1":[69756],"CreateProposal":[65557],"ERC1967Proxy":[55021],"Metadata":[3098],"PointSystemConfig":[65614],"ProposalType":[65540],"RegistryCommunityInitializeParamsV0_0":[70795],"RegistryCommunityV0_0":[72700],"RegistryCommunityV0_1":[72929]},"nodeType":"SourceUnit","src":"42:2528:108","nodes":[{"id":72702,"nodeType":"PragmaDirective","src":"42:24:108","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":72707,"nodeType":"ImportDirective","src":"68:147:108","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol","file":"./RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":72930,"sourceUnit":72701,"symbolAliases":[{"foreign":{"id":72703,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72700,"src":"81:21:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72704,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"108:8:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72705,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55021,"src":"122:12:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72706,"name":"RegistryCommunityInitializeParamsV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70795,"src":"140:37:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72713,"nodeType":"ImportDirective","src":"216:153:108","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol","file":"../CVStrategy/CVStrategyV0_0.sol","nameLocation":"-1:-1:-1","scope":72930,"sourceUnit":69195,"symbolAliases":[{"foreign":{"id":72708,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69194,"src":"229:14:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72709,"name":"PointSystemConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65614,"src":"249:17:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72710,"name":"ArbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65628,"src":"272:16:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72711,"name":"ProposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65540,"src":"294:12:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72712,"name":"CreateProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65557,"src":"312:14:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72716,"nodeType":"ImportDirective","src":"371:98:108","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol","file":"@src/CVStrategy/CVStrategyV0_1.sol","nameLocation":"-1:-1:-1","scope":72930,"sourceUnit":69757,"symbolAliases":[{"foreign":{"id":72714,"name":"CVStrategyV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69756,"src":"379:14:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72715,"name":"CVStrategyInitializeParamsV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69242,"src":"395:30:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72929,"nodeType":"ContractDefinition","src":"522:2047:108","nodes":[{"id":72856,"nodeType":"FunctionDefinition","src":"584:1317:108","nodes":[],"body":{"id":72855,"nodeType":"Block","src":"780:1121:108","nodes":[],"statements":[{"assignments":[72735],"declarations":[{"constant":false,"id":72735,"mutability":"mutable","name":"strategyProxy","nameLocation":"798:13:108","nodeType":"VariableDeclaration","scope":72855,"src":"790:21:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72734,"name":"address","nodeType":"ElementaryTypeName","src":"790:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":72760,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":72743,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71009,"src":"877:16:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72742,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"869:7:108","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72741,"name":"address","nodeType":"ElementaryTypeName","src":"869:7:108","typeDescriptions":{}}},"id":72744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"869:25:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":72747,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69194,"src":"935:14:108","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategyV0_0_$69194_$","typeString":"type(contract CVStrategyV0_0)"}},"id":72748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"950:4:108","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":66002,"src":"935:19:108","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function CVStrategyV0_0.init(address,address,address)"}},"id":72749,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"955:8:108","memberName":"selector","nodeType":"MemberAccess","src":"935:28:108","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":72752,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71028,"src":"973:4:108","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$76184","typeString":"contract FAllo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_FAllo_$76184","typeString":"contract FAllo"}],"id":72751,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"965:7:108","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72750,"name":"address","nodeType":"ElementaryTypeName","src":"965:7:108","typeDescriptions":{}}},"id":72753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"965:13:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72754,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71006,"src":"980:23:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":72755,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[70689],"referencedDeclaration":70689,"src":"1005:5:108","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":72756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1005:7:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":72745,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"912:3:108","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":72746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"916:18:108","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"912:22:108","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":72757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"912:101:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":72740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"835:16:108","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55021_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":72739,"nodeType":"UserDefinedTypeName","pathNode":{"id":72738,"name":"ERC1967Proxy","nameLocations":["839:12:108"],"nodeType":"IdentifierPath","referencedDeclaration":55021,"src":"839:12:108"},"referencedDeclaration":55021,"src":"839:12:108","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}},"id":72758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"835:192:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}],"id":72737,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"814:7:108","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72736,"name":"address","nodeType":"ElementaryTypeName","src":"814:7:108","typeDescriptions":{}}},"id":72759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"814:223:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"790:247:108"},{"expression":{"id":72770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":72761,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72730,"src":"1048:6:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":72762,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72732,"src":"1056:8:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":72763,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"1047:18:108","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_address_$","typeString":"tuple(uint256,address)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":72765,"name":"strategyProxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72735,"src":"1079:13:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72766,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72721,"src":"1094:6:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72767,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72724,"src":"1102:7:108","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}},{"id":72768,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72727,"src":"1111:9:108","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":72764,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[72856,72928,71535,71607],"referencedDeclaration":72928,"src":"1068:10:108","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$_t_uint256_$_t_address_$","typeString":"function (address,address,struct CVStrategyInitializeParamsV0_1 memory,struct Metadata memory) returns (uint256,address)"}},"id":72769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1068:53:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_address_$","typeString":"tuple(uint256,address)"}},"src":"1047:74:108","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72771,"nodeType":"ExpressionStatement","src":"1047:74:108"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":72781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":72774,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72724,"src":"1144:7:108","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}},"id":72775,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1152:11:108","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":69238,"src":"1144:19:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":72773,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1136:7:108","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72772,"name":"address","nodeType":"ElementaryTypeName","src":"1136:7:108","typeDescriptions":{}}},"id":72776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1136:28:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":72779,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1176:1:108","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":72778,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1168:7:108","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72777,"name":"address","nodeType":"ElementaryTypeName","src":"1168:7:108","typeDescriptions":{}}},"id":72780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1168:10:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1136:42:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72826,"nodeType":"IfStatement","src":"1132:454:108","trueBody":{"id":72825,"nodeType":"Block","src":"1180:406:108","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":72782,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72724,"src":"1198:7:108","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}},"id":72783,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1206:16:108","memberName":"initialAllowlist","nodeType":"MemberAccess","referencedDeclaration":69241,"src":"1198:24:108","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":72784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1223:6:108","memberName":"length","nodeType":"MemberAccess","src":"1198:31:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31303030","id":72785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1232:4:108","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"},"src":"1198:38:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72792,"nodeType":"IfStatement","src":"1194:134:108","trueBody":{"id":72791,"nodeType":"Block","src":"1238:90:108","statements":[{"expression":{"arguments":[{"hexValue":"546f6f206d616e7920696e697469616c20616c6c6f776c697374206d656d626572732c206d61782069732031303030","id":72788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1263:49:108","typeDescriptions":{"typeIdentifier":"t_stringliteral_54b5b495f7a4396dff1eba508663bf9c4bcd13232e33466a93c0b6f443ee89c3","typeString":"literal_string \"Too many initial allowlist members, max is 1000\""},"value":"Too many initial allowlist members, max is 1000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_54b5b495f7a4396dff1eba508663bf9c4bcd13232e33466a93c0b6f443ee89c3","typeString":"literal_string \"Too many initial allowlist members, max is 1000\""}],"id":72787,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"1256:6:108","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":72789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1256:57:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72790,"nodeType":"ExpressionStatement","src":"1256:57:108"}]}},{"assignments":[72794],"declarations":[{"constant":false,"id":72794,"mutability":"mutable","name":"allowlistRole","nameLocation":"1349:13:108","nodeType":"VariableDeclaration","scope":72825,"src":"1341:21:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":72793,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1341:7:108","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":72802,"initialValue":{"arguments":[{"arguments":[{"hexValue":"414c4c4f574c495354","id":72798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1392:11:108","typeDescriptions":{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},"value":"ALLOWLIST"},{"id":72799,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72730,"src":"1405:6:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72796,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1375:3:108","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":72797,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1379:12:108","memberName":"encodePacked","nodeType":"MemberAccess","src":"1375:16:108","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":72800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1375:37:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":72795,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1365:9:108","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":72801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1365:48:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"1341:72:108"},{"body":{"id":72823,"nodeType":"Block","src":"1489:87:108","statements":[{"expression":{"arguments":[{"id":72816,"name":"allowlistRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72794,"src":"1518:13:108","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"expression":{"id":72817,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72724,"src":"1533:7:108","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}},"id":72818,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1541:16:108","memberName":"initialAllowlist","nodeType":"MemberAccess","referencedDeclaration":69241,"src":"1533:24:108","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":72820,"indexExpression":{"id":72819,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72804,"src":"1558:1:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1533:27:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":72815,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52660,"src":"1507:10:108","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":72821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1507:54:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72822,"nodeType":"ExpressionStatement","src":"1507:54:108"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":72811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72807,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72804,"src":"1447:1:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"expression":{"id":72808,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72724,"src":"1451:7:108","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}},"id":72809,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1459:16:108","memberName":"initialAllowlist","nodeType":"MemberAccess","referencedDeclaration":69241,"src":"1451:24:108","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":72810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1476:6:108","memberName":"length","nodeType":"MemberAccess","src":"1451:31:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1447:35:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72824,"initializationExpression":{"assignments":[72804],"declarations":[{"constant":false,"id":72804,"mutability":"mutable","name":"i","nameLocation":"1440:1:108","nodeType":"VariableDeclaration","scope":72824,"src":"1432:9:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72803,"name":"uint256","nodeType":"ElementaryTypeName","src":"1432:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":72806,"initialValue":{"hexValue":"30","id":72805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1444:1:108","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"1432:13:108"},"loopExpression":{"expression":{"id":72813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"1484:3:108","subExpression":{"id":72812,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72804,"src":"1484:1:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72814,"nodeType":"ExpressionStatement","src":"1484:3:108"},"nodeType":"ForStatement","src":"1427:149:108"}]}},{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"414c4c4f574c495354","id":72831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1721:11:108","typeDescriptions":{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},"value":"ALLOWLIST"},{"id":72832,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72730,"src":"1734:6:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca","typeString":"literal_string \"ALLOWLIST\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72829,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1704:3:108","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":72830,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1708:12:108","memberName":"encodePacked","nodeType":"MemberAccess","src":"1704:16:108","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":72833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1704:37:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":72828,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1694:9:108","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":72834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1694:48:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"hexValue":"414c4c4f574c4953545f41444d494e","id":72838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1771:17:108","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d5ac11ce98a7539557343d2c66c127dd8d0e8fb181c5ec16cb674ddf827d109","typeString":"literal_string \"ALLOWLIST_ADMIN\""},"value":"ALLOWLIST_ADMIN"},{"id":72839,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72730,"src":"1790:6:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d5ac11ce98a7539557343d2c66c127dd8d0e8fb181c5ec16cb674ddf827d109","typeString":"literal_string \"ALLOWLIST_ADMIN\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72836,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1754:3:108","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":72837,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1758:12:108","memberName":"encodePacked","nodeType":"MemberAccess","src":"1754:16:108","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":72840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1754:43:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":72835,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1744:9:108","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":72841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1744:54:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":72827,"name":"_setRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52628,"src":"1667:13:108","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":72842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1667:141:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72843,"nodeType":"ExpressionStatement","src":"1667:141:108"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"414c4c4f574c4953545f41444d494e","id":72848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1856:17:108","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d5ac11ce98a7539557343d2c66c127dd8d0e8fb181c5ec16cb674ddf827d109","typeString":"literal_string \"ALLOWLIST_ADMIN\""},"value":"ALLOWLIST_ADMIN"},{"id":72849,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72730,"src":"1875:6:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d5ac11ce98a7539557343d2c66c127dd8d0e8fb181c5ec16cb674ddf827d109","typeString":"literal_string \"ALLOWLIST_ADMIN\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":72846,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1839:3:108","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":72847,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1843:12:108","memberName":"encodePacked","nodeType":"MemberAccess","src":"1839:16:108","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":72850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1839:43:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":72845,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1829:9:108","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":72851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1829:54:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":72852,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72732,"src":"1885:8:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":72844,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52660,"src":"1818:10:108","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":72853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1818:76:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72854,"nodeType":"ExpressionStatement","src":"1818:76:108"}]},"functionSelector":"579eb7e5","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"593:10:108","parameters":{"id":72728,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72721,"mutability":"mutable","name":"_token","nameLocation":"612:6:108","nodeType":"VariableDeclaration","scope":72856,"src":"604:14:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72720,"name":"address","nodeType":"ElementaryTypeName","src":"604:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72724,"mutability":"mutable","name":"_params","nameLocation":"658:7:108","nodeType":"VariableDeclaration","scope":72856,"src":"620:45:108","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1"},"typeName":{"id":72723,"nodeType":"UserDefinedTypeName","pathNode":{"id":72722,"name":"CVStrategyInitializeParamsV0_1","nameLocations":["620:30:108"],"nodeType":"IdentifierPath","referencedDeclaration":69242,"src":"620:30:108"},"referencedDeclaration":69242,"src":"620:30:108","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_storage_ptr","typeString":"struct CVStrategyInitializeParamsV0_1"}},"visibility":"internal"},{"constant":false,"id":72727,"mutability":"mutable","name":"_metadata","nameLocation":"683:9:108","nodeType":"VariableDeclaration","scope":72856,"src":"667:25:108","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":72726,"nodeType":"UserDefinedTypeName","pathNode":{"id":72725,"name":"Metadata","nameLocations":["667:8:108"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"667:8:108"},"referencedDeclaration":3098,"src":"667:8:108","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"603:90:108"},"returnParameters":{"id":72733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72730,"mutability":"mutable","name":"poolId","nameLocation":"750:6:108","nodeType":"VariableDeclaration","scope":72856,"src":"742:14:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72729,"name":"uint256","nodeType":"ElementaryTypeName","src":"742:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72732,"mutability":"mutable","name":"strategy","nameLocation":"766:8:108","nodeType":"VariableDeclaration","scope":72856,"src":"758:16:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72731,"name":"address","nodeType":"ElementaryTypeName","src":"758:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"741:34:108"},"scope":72929,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":72928,"nodeType":"FunctionDefinition","src":"1907:660:108","nodes":[],"body":{"id":72927,"nodeType":"Block","src":"2132:435:108","nodes":[],"statements":[{"assignments":[72874],"declarations":[{"constant":false,"id":72874,"mutability":"mutable","name":"token","nameLocation":"2150:5:108","nodeType":"VariableDeclaration","scope":72927,"src":"2142:13:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72873,"name":"address","nodeType":"ElementaryTypeName","src":"2142:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":72876,"initialValue":{"id":72875,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70970,"src":"2158:6:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2142:22:108"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":72882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72877,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72860,"src":"2178:6:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":72880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2196:1:108","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":72879,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2188:7:108","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72878,"name":"address","nodeType":"ElementaryTypeName","src":"2188:7:108","typeDescriptions":{}}},"id":72881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2188:10:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2178:20:108","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":72888,"nodeType":"IfStatement","src":"2174:65:108","trueBody":{"id":72887,"nodeType":"Block","src":"2200:39:108","statements":[{"expression":{"id":72885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72883,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72874,"src":"2214:5:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72884,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72860,"src":"2222:6:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2214:14:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72886,"nodeType":"ExpressionStatement","src":"2214:14:108"}]}},{"expression":{"id":72891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72889,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72871,"src":"2248:8:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72890,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72858,"src":"2259:9:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2248:20:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72892,"nodeType":"ExpressionStatement","src":"2248:20:108"},{"assignments":[72897],"declarations":[{"constant":false,"id":72897,"mutability":"mutable","name":"_pool_managers","nameLocation":"2296:14:108","nodeType":"VariableDeclaration","scope":72927,"src":"2279:31:108","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":72895,"name":"address","nodeType":"ElementaryTypeName","src":"2279:7:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":72896,"nodeType":"ArrayTypeName","src":"2279:9:108","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":72899,"initialValue":{"id":72898,"name":"initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71069,"src":"2313:14:108","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"2279:48:108"},{"expression":{"id":72914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":72900,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72869,"src":"2338:6:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":72903,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70994,"src":"2394:9:108","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":72904,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72871,"src":"2405:8:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":72907,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72863,"src":"2426:7:108","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}],"expression":{"id":72905,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2415:3:108","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":72906,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2419:6:108","memberName":"encode","nodeType":"MemberAccess","src":"2415:10:108","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":72908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2415:19:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":72909,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72874,"src":"2436:5:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":72910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2443:1:108","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":72911,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72866,"src":"2446:9:108","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":72912,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72897,"src":"2457:14:108","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":72901,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71028,"src":"2347:4:108","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$76184","typeString":"contract FAllo"}},"id":72902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2352:28:108","memberName":"createPoolWithCustomStrategy","nodeType":"MemberAccess","referencedDeclaration":76170,"src":"2347:33:108","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,address,bytes memory,address,uint256,struct Metadata memory,address[] memory) payable external returns (uint256)"}},"id":72913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2347:134:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2338:143:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":72915,"nodeType":"ExpressionStatement","src":"2338:143:108"},{"eventCall":{"arguments":[{"id":72917,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72869,"src":"2509:6:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":72918,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72871,"src":"2517:8:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":72921,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2535:4:108","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}],"id":72920,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2527:7:108","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72919,"name":"address","nodeType":"ElementaryTypeName","src":"2527:7:108","typeDescriptions":{}}},"id":72922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2527:13:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72923,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72860,"src":"2542:6:108","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":72924,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72866,"src":"2550:9:108","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":72916,"name":"PoolCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70911,"src":"2497:11:108","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (uint256,address,address,address,struct Metadata memory)"}},"id":72925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2497:63:108","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72926,"nodeType":"EmitStatement","src":"2492:68:108"}]},"functionSelector":"8659ffdd","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"1916:10:108","parameters":{"id":72867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72858,"mutability":"mutable","name":"_strategy","nameLocation":"1944:9:108","nodeType":"VariableDeclaration","scope":72928,"src":"1936:17:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72857,"name":"address","nodeType":"ElementaryTypeName","src":"1936:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72860,"mutability":"mutable","name":"_token","nameLocation":"1971:6:108","nodeType":"VariableDeclaration","scope":72928,"src":"1963:14:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72859,"name":"address","nodeType":"ElementaryTypeName","src":"1963:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72863,"mutability":"mutable","name":"_params","nameLocation":"2025:7:108","nodeType":"VariableDeclaration","scope":72928,"src":"1987:45:108","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1"},"typeName":{"id":72862,"nodeType":"UserDefinedTypeName","pathNode":{"id":72861,"name":"CVStrategyInitializeParamsV0_1","nameLocations":["1987:30:108"],"nodeType":"IdentifierPath","referencedDeclaration":69242,"src":"1987:30:108"},"referencedDeclaration":69242,"src":"1987:30:108","typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_storage_ptr","typeString":"struct CVStrategyInitializeParamsV0_1"}},"visibility":"internal"},{"constant":false,"id":72866,"mutability":"mutable","name":"_metadata","nameLocation":"2058:9:108","nodeType":"VariableDeclaration","scope":72928,"src":"2042:25:108","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":72865,"nodeType":"UserDefinedTypeName","pathNode":{"id":72864,"name":"Metadata","nameLocations":["2042:8:108"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2042:8:108"},"referencedDeclaration":3098,"src":"2042:8:108","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"1926:147:108"},"returnParameters":{"id":72872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72869,"mutability":"mutable","name":"poolId","nameLocation":"2106:6:108","nodeType":"VariableDeclaration","scope":72928,"src":"2098:14:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72868,"name":"uint256","nodeType":"ElementaryTypeName","src":"2098:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72871,"mutability":"mutable","name":"strategy","nameLocation":"2122:8:108","nodeType":"VariableDeclaration","scope":72928,"src":"2114:16:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72870,"name":"address","nodeType":"ElementaryTypeName","src":"2114:7:108","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2097:34:108"},"scope":72929,"stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":72718,"name":"RegistryCommunityV0_0","nameLocations":["556:21:108"],"nodeType":"IdentifierPath","referencedDeclaration":72700,"src":"556:21:108"},"id":72719,"nodeType":"InheritanceSpecifier","src":"556:21:108"}],"canonicalName":"RegistryCommunityV0_1","contractDependencies":[55021],"contractKind":"contract","documentation":{"id":72717,"nodeType":"StructuredDocumentation","src":"471:51:108","text":"@custom:oz-upgrades-from RegistryCommunityV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[72929,72700,52697,53970,53982,52770,53237,70711,55672,55325,54974,54984,52903,53696,53152],"name":"RegistryCommunityV0_1","nameLocation":"531:21:108","scope":72930,"usedErrors":[70634,70913,70915,70919,70921,70923,70925,70927,70929,70931,70933,70935,70937,70939,70941,70943,70945,70947,70953]}],"license":"AGPL-3.0-only"},"id":108} \ No newline at end of file diff --git a/pkg/contracts/out/RegistryFactoryDiamond.sol/RegistryFactoryDiamond.json b/pkg/contracts/out/RegistryFactoryDiamond.sol/RegistryFactoryDiamond.json new file mode 100644 index 000000000..82e96eb54 --- /dev/null +++ b/pkg/contracts/out/RegistryFactoryDiamond.sol/RegistryFactoryDiamond.json @@ -0,0 +1 @@ +{"abi":[{"type":"fallback","stateMutability":"payable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"collateralVaultTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"diamondCut","inputs":[{"name":"_diamondCut","type":"tuple[]","internalType":"struct IDiamond.FacetCut[]","components":[{"name":"facetAddress","type":"address","internalType":"address"},{"name":"action","type":"uint8","internalType":"enum IDiamond.FacetCutAction"},{"name":"functionSelectors","type":"bytes4[]","internalType":"bytes4[]"}]},{"name":"_init","type":"address","internalType":"address"},{"name":"_calldata","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"gardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"nonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registryCommunityTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"strategyTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"DiamondCut","inputs":[{"name":"_diamondCut","type":"tuple[]","indexed":false,"internalType":"struct IDiamond.FacetCut[]","components":[{"name":"facetAddress","type":"address","internalType":"address"},{"name":"action","type":"uint8","internalType":"enum IDiamond.FacetCutAction"},{"name":"functionSelectors","type":"bytes4[]","internalType":"bytes4[]"}]},{"name":"_init","type":"address","indexed":false,"internalType":"address"},{"name":"_calldata","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"CannotAddFunctionToDiamondThatAlreadyExists","inputs":[{"name":"_selector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"CannotAddSelectorsToZeroAddress","inputs":[{"name":"_selectors","type":"bytes4[]","internalType":"bytes4[]"}]},{"type":"error","name":"CannotRemoveFunctionThatDoesNotExist","inputs":[{"name":"_selector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"CannotRemoveImmutableFunction","inputs":[{"name":"_selector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"CannotReplaceFunctionThatDoesNotExists","inputs":[{"name":"_selector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"CannotReplaceFunctionWithTheSameFunctionFromTheSameFacet","inputs":[{"name":"_selector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"CannotReplaceFunctionsFromFacetWithZeroAddress","inputs":[{"name":"_selectors","type":"bytes4[]","internalType":"bytes4[]"}]},{"type":"error","name":"CannotReplaceImmutableFunction","inputs":[{"name":"_selector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"DiamondAlreadyInitialized","inputs":[]},{"type":"error","name":"FunctionNotFound","inputs":[{"name":"_functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"IncorrectFacetCutAction","inputs":[{"name":"_action","type":"uint8","internalType":"uint8"}]},{"type":"error","name":"InitializationFunctionReverted","inputs":[{"name":"_initializationContractAddress","type":"address","internalType":"address"},{"name":"_calldata","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"NoBytecodeAtAddress","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_message","type":"string","internalType":"string"}]},{"type":"error","name":"NoSelectorsProvidedForFacetForCut","inputs":[{"name":"_facetAddress","type":"address","internalType":"address"}]},{"type":"error","name":"NotContractOwner","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_contractOwner","type":"address","internalType":"address"}]},{"type":"error","name":"RemoveFacetAddressMustBeZeroAddress","inputs":[{"name":"_facetAddress","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506112b4806100206000396000f3fe6080604052600436106100855760003560e01c806302c1d0b11461011c5780631f931c1c1461015257806352d1902d146101725780635c94e4d2146101af57806377122d56146101cf578063affed0e0146101ef578063b2bdfa7b14610205578063b8bed90114610225578063c4d66de814610245578063ffa1ad74146102655761008c565b3661008c57005b600080356001600160e01b03191681526000805160206111eb833981519152602081905260409091205481906001600160a01b0316806100f6576000356001600160e01b031916604051630a82dd7360e31b81526004016100ed9190610c41565b60405180910390fd5b3660008037600080366000845af43d6000803e808015610115573d6000f35b3d6000fd5b005b34801561012857600080fd5b5060685461013c906001600160a01b031681565b6040516101499190610c56565b60405180910390f35b34801561015e57600080fd5b5061011a61016d366004610cce565b6102a1565b34801561017e57600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b604051908152602001610149565b3480156101bb57600080fd5b5060695461013c906001600160a01b031681565b3480156101db57600080fd5b50606a5461013c906001600160a01b031681565b3480156101fb57600080fd5b506101a160655481565b34801561021157600080fd5b5060335461013c906001600160a01b031681565b34801561023157600080fd5b5060675461013c906001600160a01b031681565b34801561025157600080fd5b5061011a610260366004610d7f565b6102fa565b34801561027157600080fd5b50610294604051806040016040528060038152602001620302e360ec1b81525081565b6040516101499190610df1565b6102a9610334565b6102f36102b68587610e95565b8484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061038d92505050565b5050505050565b610302610534565b1561032057604051639289b96160e01b815260040160405180910390fd5b61032981610551565b6103316105b1565b50565b61033c6105da565b600301546001600160a01b0316331461038b57336103586105da565b60030154604051600162bed83560e01b031981526001600160a01b039283166004820152911660248201526044016100ed565b565b60005b83518110156104e95760008482815181106103ad576103ad610fd8565b602002602001015160400151905060008583815181106103cf576103cf610fd8565b60200260200101516000015190508151600003610401578060405163e767f91f60e01b81526004016100ed9190610c56565b600086848151811061041557610415610fd8565b60200260200101516020015190506000600281111561043657610436610fee565b81600281111561044857610448610fee565b0361045c5761045782846105ec565b6104d3565b600181600281111561047057610470610fee565b0361047f576104578284610783565b600281600281111561049357610493610fee565b036104a25761045782846108f5565b8060028111156104b4576104b4610fee565b604051633ff4d20f60e11b815260ff90911660048201526024016100ed565b50505080806104e19061101a565b915050610390565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405161051d93929190611078565b60405180910390a161052f8282610b53565b505050565b600061053e6105da565b60030154600160a01b900460ff16919050565b600061055b6105da565b6003810180546001600160a01b038581166001600160a01b031983168117909355604051939450169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60016105bb6105da565b6003018054911515600160a01b0260ff60a01b19909216919091179055565b6000805160206111eb83398151915290565b6001600160a01b03821661061557806040516302b8da0760e21b81526004016100ed9190611141565b600061061f6105da565b905060008160010180549050905061064f8460405180606001604052806024815260200161120b60249139610c19565b60005b83518110156102f357600084828151811061066f5761066f610fd8565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b031680156106c2578160405163ebbf5d0760e01b81526004016100ed9190610c41565b6040805180820182526001600160a01b03808a16825261ffff80881660208085019182526001600160e01b0319881660009081528b8252958620945185549251909316600160a01b026001600160b01b0319909216929093169190911717909155600180880180549182018155835291206008820401805460e085901c60046007909416939093026101000a92830263ffffffff90930219169190911790558361076b81611154565b9450505050808061077b9061101a565b915050610652565b600061078d6105da565b90506001600160a01b0383166107b8578160405163cd98a96f60e01b81526004016100ed9190611141565b6107da8360405180606001604052806028815260200161125760289139610c19565b60005b82518110156108ef5760008382815181106107fa576107fa610fd8565b6020908102919091018101516001600160e01b031981166000908152918590526040909120549091506001600160a01b031630810361084e5781604051632901806d60e11b81526004016100ed9190610c41565b856001600160a01b0316816001600160a01b0316036108825781604051631ac6ce8d60e11b81526004016100ed9190610c41565b6001600160a01b0381166108ab5781604051637479f93960e01b81526004016100ed9190610c41565b506001600160e01b031916600090815260208390526040902080546001600160a01b0319166001600160a01b038616179055806108e78161101a565b9150506107dd565b50505050565b60006108ff6105da565b60018101549091506001600160a01b03841615610931578360405163d091bc8160e01b81526004016100ed9190610c56565b60005b83518110156102f357600084828151811061095157610951610fd8565b6020908102919091018101516001600160e01b0319811660009081528683526040908190208151808301909252546001600160a01b038116808352600160a01b90910461ffff1693820193909352909250906109c25781604051637a08a22d60e01b81526004016100ed9190610c41565b8051306001600160a01b03909116036109f05781604051630df5fd6160e31b81526004016100ed9190610c41565b836109fa81611175565b94505083816020015161ffff1614610ad8576000856001018581548110610a2357610a23610fd8565b90600052602060002090600891828204019190066004029054906101000a900460e01b90508086600101836020015161ffff1681548110610a6657610a66610fd8565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c92909202939093179055838201516001600160e01b03199390931681529087905260409020805461ffff60a01b1916600160a01b61ffff909316929092029190911790555b84600101805480610aeb57610aeb61118c565b60008281526020808220600860001990940193840401805463ffffffff600460078716026101000a0219169055919092556001600160e01b0319909316815291859052506040902080546001600160b01b031916905580610b4b8161101a565b915050610934565b6001600160a01b038216610b65575050565b610b878260405180606001604052806028815260200161122f60289139610c19565b600080836001600160a01b031683604051610ba291906111a2565b600060405180830381855af49150503d8060008114610bdd576040519150601f19603f3d011682016040523d82523d6000602084013e610be2565b606091505b5091509150816108ef57805115610bfc5780518082602001fd5b838360405163192105d760e01b81526004016100ed9291906111be565b813b600081900361052f57828260405163919834b960e01b81526004016100ed9291906111be565b6001600160e01b031991909116815260200190565b6001600160a01b0391909116815260200190565b80356001600160a01b0381168114610c8157600080fd5b919050565b60008083601f840112610c9857600080fd5b5081356001600160401b03811115610caf57600080fd5b602083019150836020828501011115610cc757600080fd5b9250929050565b600080600080600060608688031215610ce657600080fd5b85356001600160401b0380821115610cfd57600080fd5b818801915088601f830112610d1157600080fd5b813581811115610d2057600080fd5b8960208260051b8501011115610d3557600080fd5b60208301975080965050610d4b60208901610c6a565b94506040880135915080821115610d6157600080fd5b50610d6e88828901610c86565b969995985093965092949392505050565b600060208284031215610d9157600080fd5b610d9a82610c6a565b9392505050565b60005b83811015610dbc578181015183820152602001610da4565b50506000910152565b60008151808452610ddd816020860160208601610da1565b601f01601f19169290920160200192915050565b602081526000610d9a6020830184610dc5565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715610e3c57610e3c610e04565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610e6a57610e6a610e04565b604052919050565b60006001600160401b03821115610e8b57610e8b610e04565b5060051b60200190565b6000610ea8610ea384610e72565b610e42565b83815260208082019190600586811b860136811115610ec657600080fd5b865b81811015610fcb5780356001600160401b0380821115610ee85760008081fd5b818a01915060608236031215610efe5760008081fd5b610f06610e1a565b610f0f83610c6a565b81528683013560038110610f235760008081fd5b8188015260408381013583811115610f3b5760008081fd5b939093019236601f850112610f5257600092508283fd5b83359250610f62610ea384610e72565b83815292871b84018801928881019036851115610f7f5760008081fd5b948901945b84861015610fb45785356001600160e01b031981168114610fa55760008081fd5b82529489019490890190610f84565b918301919091525088525050948301948301610ec8565b5092979650505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161102c5761102c611004565b5060010190565b600081518084526020808501945080840160005b8381101561106d5781516001600160e01b03191687529582019590820190600101611047565b509495945050505050565b6000606080830181845280875180835260808601915060808160051b87010192506020808a016000805b8481101561111157898703607f19018652825180516001600160a01b0316885284810151600381106110e257634e487b7160e01b84526021600452602484fd5b888601526040908101519088018990526110fe89890182611033565b97505094830194918301916001016110a2565b5050506001600160a01b03891690870152505083810360408501526111368186610dc5565b979650505050505050565b602081526000610d9a6020830184611033565b600061ffff80831681810361116b5761116b611004565b6001019392505050565b60008161118457611184611004565b506000190190565b634e487b7160e01b600052603160045260246000fd5b600082516111b4818460208701610da1565b9190910192915050565b6001600160a01b03831681526040602082018190526000906111e290830184610dc5565b94935050505056fec8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c4c69624469616d6f6e644375743a2041646420666163657420686173206e6f20636f64654c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a205265706c61636520666163657420686173206e6f20636f6465a2646970667358221220cf52795712f96c49a9a63277b7f05ae61c38f95bb8673addc85585dfb9a456c964736f6c63430008130033","sourceMap":"589:1024:113:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106100855760003560e01c806302c1d0b11461011c5780631f931c1c1461015257806352d1902d146101725780635c94e4d2146101af57806377122d56146101cf578063affed0e0146101ef578063b2bdfa7b14610205578063b8bed90114610225578063c4d66de814610245578063ffa1ad74146102655761008c565b3661008c57005b600080356001600160e01b03191681526000805160206111eb833981519152602081905260409091205481906001600160a01b0316806100f6576000356001600160e01b031916604051630a82dd7360e31b81526004016100ed9190610c41565b60405180910390fd5b3660008037600080366000845af43d6000803e808015610115573d6000f35b3d6000fd5b005b34801561012857600080fd5b5060685461013c906001600160a01b031681565b6040516101499190610c56565b60405180910390f35b34801561015e57600080fd5b5061011a61016d366004610cce565b6102a1565b34801561017e57600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b604051908152602001610149565b3480156101bb57600080fd5b5060695461013c906001600160a01b031681565b3480156101db57600080fd5b50606a5461013c906001600160a01b031681565b3480156101fb57600080fd5b506101a160655481565b34801561021157600080fd5b5060335461013c906001600160a01b031681565b34801561023157600080fd5b5060675461013c906001600160a01b031681565b34801561025157600080fd5b5061011a610260366004610d7f565b6102fa565b34801561027157600080fd5b50610294604051806040016040528060038152602001620302e360ec1b81525081565b6040516101499190610df1565b6102a9610334565b6102f36102b68587610e95565b8484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061038d92505050565b5050505050565b610302610534565b1561032057604051639289b96160e01b815260040160405180910390fd5b61032981610551565b6103316105b1565b50565b61033c6105da565b600301546001600160a01b0316331461038b57336103586105da565b60030154604051600162bed83560e01b031981526001600160a01b039283166004820152911660248201526044016100ed565b565b60005b83518110156104e95760008482815181106103ad576103ad610fd8565b602002602001015160400151905060008583815181106103cf576103cf610fd8565b60200260200101516000015190508151600003610401578060405163e767f91f60e01b81526004016100ed9190610c56565b600086848151811061041557610415610fd8565b60200260200101516020015190506000600281111561043657610436610fee565b81600281111561044857610448610fee565b0361045c5761045782846105ec565b6104d3565b600181600281111561047057610470610fee565b0361047f576104578284610783565b600281600281111561049357610493610fee565b036104a25761045782846108f5565b8060028111156104b4576104b4610fee565b604051633ff4d20f60e11b815260ff90911660048201526024016100ed565b50505080806104e19061101a565b915050610390565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405161051d93929190611078565b60405180910390a161052f8282610b53565b505050565b600061053e6105da565b60030154600160a01b900460ff16919050565b600061055b6105da565b6003810180546001600160a01b038581166001600160a01b031983168117909355604051939450169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60016105bb6105da565b6003018054911515600160a01b0260ff60a01b19909216919091179055565b6000805160206111eb83398151915290565b6001600160a01b03821661061557806040516302b8da0760e21b81526004016100ed9190611141565b600061061f6105da565b905060008160010180549050905061064f8460405180606001604052806024815260200161120b60249139610c19565b60005b83518110156102f357600084828151811061066f5761066f610fd8565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b031680156106c2578160405163ebbf5d0760e01b81526004016100ed9190610c41565b6040805180820182526001600160a01b03808a16825261ffff80881660208085019182526001600160e01b0319881660009081528b8252958620945185549251909316600160a01b026001600160b01b0319909216929093169190911717909155600180880180549182018155835291206008820401805460e085901c60046007909416939093026101000a92830263ffffffff90930219169190911790558361076b81611154565b9450505050808061077b9061101a565b915050610652565b600061078d6105da565b90506001600160a01b0383166107b8578160405163cd98a96f60e01b81526004016100ed9190611141565b6107da8360405180606001604052806028815260200161125760289139610c19565b60005b82518110156108ef5760008382815181106107fa576107fa610fd8565b6020908102919091018101516001600160e01b031981166000908152918590526040909120549091506001600160a01b031630810361084e5781604051632901806d60e11b81526004016100ed9190610c41565b856001600160a01b0316816001600160a01b0316036108825781604051631ac6ce8d60e11b81526004016100ed9190610c41565b6001600160a01b0381166108ab5781604051637479f93960e01b81526004016100ed9190610c41565b506001600160e01b031916600090815260208390526040902080546001600160a01b0319166001600160a01b038616179055806108e78161101a565b9150506107dd565b50505050565b60006108ff6105da565b60018101549091506001600160a01b03841615610931578360405163d091bc8160e01b81526004016100ed9190610c56565b60005b83518110156102f357600084828151811061095157610951610fd8565b6020908102919091018101516001600160e01b0319811660009081528683526040908190208151808301909252546001600160a01b038116808352600160a01b90910461ffff1693820193909352909250906109c25781604051637a08a22d60e01b81526004016100ed9190610c41565b8051306001600160a01b03909116036109f05781604051630df5fd6160e31b81526004016100ed9190610c41565b836109fa81611175565b94505083816020015161ffff1614610ad8576000856001018581548110610a2357610a23610fd8565b90600052602060002090600891828204019190066004029054906101000a900460e01b90508086600101836020015161ffff1681548110610a6657610a66610fd8565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c92909202939093179055838201516001600160e01b03199390931681529087905260409020805461ffff60a01b1916600160a01b61ffff909316929092029190911790555b84600101805480610aeb57610aeb61118c565b60008281526020808220600860001990940193840401805463ffffffff600460078716026101000a0219169055919092556001600160e01b0319909316815291859052506040902080546001600160b01b031916905580610b4b8161101a565b915050610934565b6001600160a01b038216610b65575050565b610b878260405180606001604052806028815260200161122f60289139610c19565b600080836001600160a01b031683604051610ba291906111a2565b600060405180830381855af49150503d8060008114610bdd576040519150601f19603f3d011682016040523d82523d6000602084013e610be2565b606091505b5091509150816108ef57805115610bfc5780518082602001fd5b838360405163192105d760e01b81526004016100ed9291906111be565b813b600081900361052f57828260405163919834b960e01b81526004016100ed9291906111be565b6001600160e01b031991909116815260200190565b6001600160a01b0391909116815260200190565b80356001600160a01b0381168114610c8157600080fd5b919050565b60008083601f840112610c9857600080fd5b5081356001600160401b03811115610caf57600080fd5b602083019150836020828501011115610cc757600080fd5b9250929050565b600080600080600060608688031215610ce657600080fd5b85356001600160401b0380821115610cfd57600080fd5b818801915088601f830112610d1157600080fd5b813581811115610d2057600080fd5b8960208260051b8501011115610d3557600080fd5b60208301975080965050610d4b60208901610c6a565b94506040880135915080821115610d6157600080fd5b50610d6e88828901610c86565b969995985093965092949392505050565b600060208284031215610d9157600080fd5b610d9a82610c6a565b9392505050565b60005b83811015610dbc578181015183820152602001610da4565b50506000910152565b60008151808452610ddd816020860160208601610da1565b601f01601f19169290920160200192915050565b602081526000610d9a6020830184610dc5565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715610e3c57610e3c610e04565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610e6a57610e6a610e04565b604052919050565b60006001600160401b03821115610e8b57610e8b610e04565b5060051b60200190565b6000610ea8610ea384610e72565b610e42565b83815260208082019190600586811b860136811115610ec657600080fd5b865b81811015610fcb5780356001600160401b0380821115610ee85760008081fd5b818a01915060608236031215610efe5760008081fd5b610f06610e1a565b610f0f83610c6a565b81528683013560038110610f235760008081fd5b8188015260408381013583811115610f3b5760008081fd5b939093019236601f850112610f5257600092508283fd5b83359250610f62610ea384610e72565b83815292871b84018801928881019036851115610f7f5760008081fd5b948901945b84861015610fb45785356001600160e01b031981168114610fa55760008081fd5b82529489019490890190610f84565b918301919091525088525050948301948301610ec8565b5092979650505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161102c5761102c611004565b5060010190565b600081518084526020808501945080840160005b8381101561106d5781516001600160e01b03191687529582019590820190600101611047565b509495945050505050565b6000606080830181845280875180835260808601915060808160051b87010192506020808a016000805b8481101561111157898703607f19018652825180516001600160a01b0316885284810151600381106110e257634e487b7160e01b84526021600452602484fd5b888601526040908101519088018990526110fe89890182611033565b97505094830194918301916001016110a2565b5050506001600160a01b03891690870152505083810360408501526111368186610dc5565b979650505050505050565b602081526000610d9a6020830184611033565b600061ffff80831681810361116b5761116b611004565b6001019392505050565b60008161118457611184611004565b506000190190565b634e487b7160e01b600052603160045260246000fd5b600082516111b4818460208701610da1565b9190910192915050565b6001600160a01b03831681526040602082018190526000906111e290830184610dc5565b94935050505056fec8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c4c69624469616d6f6e644375743a2041646420666163657420686173206e6f20636f64654c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a205265706c61636520666163657420686173206e6f20636f6465a2646970667358221220cf52795712f96c49a9a63277b7f05ae61c38f95bb8673addc85585dfb9a456c964736f6c63430008130033","sourceMap":"589:1024:113:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1396:36:112;1693:7;;-1:-1:-1;;;;;;1693:7:112;1658:43;;-1:-1:-1;;;;;;;;;;;1658:43:112;;;;;;;;:56;1585:45:125;;-1:-1:-1;;;;;1658:56:112;;1724:82;;1787:7;;-1:-1:-1;;;;;;1787:7:112;1770:25;;-1:-1:-1;;;1770:25:112;;;;;;;;:::i;:::-;;;;;;;;1724:82;2002:14;1999:1;1996;1983:34;2146:1;2143;2127:14;2124:1;2117:5;2110;2097:51;2218:16;2215:1;2212;2197:38;2322:6;2341:38;;;;2412:16;2409:1;2402:27;2341:38;2360:16;2357:1;2350:27;2315:116;;1292:40:113;;;;;;;;;;-1:-1:-1;1292:40:113;;;;-1:-1:-1;;;;;1292:40:113;;;;;;;;;;:::i;:::-;;;;;;;;3059:234:112;;;;;;;;;;-1:-1:-1;3059:234:112;;;;;:::i;:::-;;:::i;2488:118::-;;;;;;;;;;-1:-1:-1;885:66:112;2488:118;;;2230:25:142;;;2218:2;2203:18;2488:118:112;2084:177:142;1338:31:113;;;;;;;;;;-1:-1:-1;1338:31:113;;;;-1:-1:-1;;;;;1338:31:113;;;1375:38;;;;;;;;;;-1:-1:-1;1375:38:113;;;;-1:-1:-1;;;;;1375:38:113;;;1171:20;;;;;;;;;;;;;;;;1112:21;;;;;;;;;;-1:-1:-1;1112:21:113;;;;-1:-1:-1;;;;;1112:21:113;;;1253:33;;;;;;;;;;-1:-1:-1;1253:33:113;;;;-1:-1:-1;;;;;1253:33:113;;;993:234:112;;;;;;;;;;-1:-1:-1;993:234:112;;;;;:::i;:::-;;:::i;807:38:113:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;807:38:113;;;;;;;;;;;;:::i;3059:234:112:-;3189:35;:33;:35::i;:::-;3234:52;;3256:11;;3234:52;:::i;:::-;3269:5;3276:9;;3234:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3234:21:112;;-1:-1:-1;;;3234:52:112:i;:::-;3059:234;;;;;:::o;993:::-;1052:26;:24;:26::i;:::-;1048:91;;;1101:27;;-1:-1:-1;;;1101:27:112;;;;;;;;;;;1048:91;1148:35;1176:6;1148:27;:35::i;:::-;1193:27;:25;:27::i;:::-;993:234;:::o;3144:206:125:-;3220:16;:14;:16::i;:::-;:30;;;-1:-1:-1;;;;;3220:30:125;3206:10;:44;3202:142;;3290:10;3302:16;:14;:16::i;:::-;:30;;;3273:60;;-1:-1:-1;;;;;;3273:60:125;;-1:-1:-1;;;;;7223:15:142;;;3273:60:125;;;7205:34:142;3302:30:125;;7255:18:142;;;7248:43;7140:18;;3273:60:125;6993:304:142;3202:142:125;3144:206::o;3494:1179::-;3620:18;3615:948;3653:11;:18;3640:10;:31;3615:948;;;3701:33;3737:11;3749:10;3737:23;;;;;;;;:::i;:::-;;;;;;;:41;;;3701:77;;3792:20;3815:11;3827:10;3815:23;;;;;;;;:::i;:::-;;;;;;;:36;;;3792:59;;3869:17;:24;3897:1;3869:29;3865:122;;3959:12;3925:47;;-1:-1:-1;;;3925:47:125;;;;;;;;:::i;3865:122::-;4000:33;4036:11;4048:10;4036:23;;;;;;;;:::i;:::-;;;;;;;:30;;;4000:66;;4094:27;4084:37;;;;;;;;:::i;:::-;:6;:37;;;;;;;;:::i;:::-;;4080:473;;4141:45;4154:12;4168:17;4141:12;:45::i;:::-;4080:473;;;4221:31;4211:6;:41;;;;;;;;:::i;:::-;;4207:346;;4272:49;4289:12;4303:17;4272:16;:49::i;4207:346::-;4356:30;4346:6;:40;;;;;;;;:::i;:::-;;4342:211;;4406:48;4422:12;4436:17;4406:15;:48::i;4342:211::-;4530:6;4524:13;;;;;;;;:::i;:::-;4500:38;;-1:-1:-1;;;4500:38:125;;7738:4:142;7726:17;;;4500:38:125;;;7708:36:142;7681:18;;4500:38:125;7566:184:142;4342:211:125;3687:876;;;3673:12;;;;;:::i;:::-;;;;3615:948;;;;4577:41;4588:11;4601:5;4608:9;4577:41;;;;;;;;:::i;:::-;;;;;;;;4628:38;4649:5;4656:9;4628:20;:38::i;:::-;3494:1179;;;:::o;2435:107::-;2483:4;2505:16;:14;:16::i;:::-;:30;;;-1:-1:-1;;;2505:30:125;;;;;;-1:-1:-1;2435:107:125:o;2732:264::-;2796:25;2824:16;:14;:16::i;:::-;2874;;;;;-1:-1:-1;;;;;2900:28:125;;;-1:-1:-1;;;;;;2900:28:125;;;;;;;2943:46;;2796:44;;-1:-1:-1;2874:16:125;;;;2943:46;;2850:21;;2943:46;2786:210;;2732:264;:::o;2547:89::-;2625:4;2592:16;:14;:16::i;:::-;:30;;:37;;;;;-1:-1:-1;;;2592:37:125;-1:-1:-1;;;;2592:37:125;;;;;;;;;2547:89::o;2232:197::-;-1:-1:-1;;;;;;;;;;;1585:45:125;2232:197::o;4679:1026::-;-1:-1:-1;;;;;4783:27:125;;4779:116;;4865:18;4833:51;;-1:-1:-1;;;4833:51:125;;;;;;;;:::i;4779:116::-;4904:25;4932:16;:14;:16::i;:::-;4904:44;;4958:20;4988:2;:12;;:19;;;;4958:50;;5018:77;5041:13;5018:77;;;;;;;;;;;;;;;;;:22;:77::i;:::-;5110:21;5105:594;5149:18;:25;5133:13;:41;5105:594;;;5207:15;5225:18;5244:13;5225:33;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;;5298:44:125;;5272:23;5298:44;;;;;;;;;;;:57;5225:33;;-1:-1:-1;;;;;;5298:57:125;5373:29;;5369:128;;5473:8;5429:53;;-1:-1:-1;;;5429:53:125;;;;;;;;:::i;5369:128::-;5557:61;;;;;;;;-1:-1:-1;;;;;5557:61:125;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5510:44:125;;-1:-1:-1;5510:44:125;;;;;;;;;:108;;;;;;;;;-1:-1:-1;;;5510:108:125;-1:-1:-1;;;;;;5510:108:125;;;;;;;;;;;;;;;;5632:12;;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5510:108;5632:27;;;;;;;;;;;;;;;;5604:13;5673:15;5604:13;5673:15;:::i;:::-;;;;5193:506;;5176:15;;;;;:::i;:::-;;;;5105:594;;5711:1315;5815:25;5843:16;:14;:16::i;:::-;5815:44;-1:-1:-1;;;;;;5873:27:125;;5869:131;;5970:18;5923:66;;-1:-1:-1;;;5923:66:125;;;;;;;;:::i;5869:131::-;6009:81;6032:13;6009:81;;;;;;;;;;;;;;;;;:22;:81::i;:::-;6105:21;6100:920;6144:18;:25;6128:13;:41;6100:920;;;6202:15;6220:18;6239:13;6220:33;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;;6293:44:125;;6267:23;6293:44;;;;;;;;;;;:57;6220:33;;-1:-1:-1;;;;;;6293:57:125;6502:4;6475:32;;6471:118;;6565:8;6534:40;;-1:-1:-1;;;6534:40:125;;;;;;;;:::i;6471:118::-;6625:13;-1:-1:-1;;;;;6606:32:125;:15;-1:-1:-1;;;;;6606:32:125;;6602:144;;6722:8;6665:66;;-1:-1:-1;;;6665:66:125;;;;;;;;:::i;6602:144::-;-1:-1:-1;;;;;6763:29:125;;6759:123;;6858:8;6819:48;;-1:-1:-1;;;6819:48:125;;;;;;;;:::i;6759:123::-;-1:-1:-1;;;;;;;6936:44:125;:34;:44;;;;;;;;;;:73;;-1:-1:-1;;;;;;6936:73:125;-1:-1:-1;;;;;6936:73:125;;;;;6171:15;;;;:::i;:::-;;;;6100:920;;;;5805:1221;5711:1315;;:::o;7032:1713::-;7135:25;7163:16;:14;:16::i;:::-;7213:12;;;:19;7135:44;;-1:-1:-1;;;;;;7246:27:125;;;7242:115;;7332:13;7296:50;;-1:-1:-1;;;7296:50:125;;;;;;;;:::i;7242:115::-;7371:21;7366:1373;7410:18;:25;7394:13;:41;7366:1373;;;7468:15;7486:18;7505:13;7486:33;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;;7625:44:125;;7533:73;7625:44;;;;;;;;;;;7533:136;;;;;;;;;-1:-1:-1;;;;;7533:136:125;;;;;-1:-1:-1;;;7533:136:125;;;;;;;;;;;;7486:33;;-1:-1:-1;7533:136:125;7683:153;;7812:8;7775:46;;-1:-1:-1;;;7775:46:125;;;;;;;;:::i;7683:153::-;7947:47;;8006:4;-1:-1:-1;;;;;7947:64:125;;;;7943:149;;8068:8;8038:39;;-1:-1:-1;;;8038:39:125;;;;;;;;:::i;7943:149::-;8156:15;;;;:::i;:::-;;;;8244:13;8189:34;:51;;;:68;;;8185:411;;8277:19;8299:2;:12;;8312:13;8299:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;8277:49;;8412:12;8344:2;:12;;8357:34;:51;;;8344:65;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:80;;;:65;;;;;;:80;;;;;;;;;;;;;;;;;;;;;;8530:51;;;;-1:-1:-1;;;;;;8442:48:125;;;;;;;;;;;;;:139;;-1:-1:-1;;;;8442:139:125;-1:-1:-1;;;8442:139:125;;;;;;;;;;;;;;8185:411;8645:2;:12;;:18;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;8645:18:125;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8684:44:125;;;;;;;;;-1:-1:-1;8684:44:125;;;8677:51;;-1:-1:-1;;;;;;8677:51:125;;;7437:15;;;;:::i;:::-;;;;7366:1373;;8751:734;-1:-1:-1;;;;;8843:19:125;;8839:56;;8751:734;;:::o;8839:56::-;8904:73;8927:5;8904:73;;;;;;;;;;;;;;;;;:22;:73::i;:::-;8988:12;9002:18;9024:5;-1:-1:-1;;;;;9024:18:125;9043:9;9024:29;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8987:66;;;;9068:7;9063:416;;9095:12;;:16;9091:378;;9277:5;9271:12;9327:15;9319:5;9315:2;9311:14;9304:39;9091:378;9437:5;9444:9;9406:48;;-1:-1:-1;;;9406:48:125;;;;;;;;;:::i;9491:320::-;9664:22;;9595:20;9709:17;;;9705:100;;9769:9;9780:13;9749:45;;-1:-1:-1;;;9749:45:125;;;;;;;;;:::i;14:202:142:-;-1:-1:-1;;;;;;176:33:142;;;;158:52;;146:2;131:18;;14:202::o;330:203::-;-1:-1:-1;;;;;494:32:142;;;;476:51;;464:2;449:18;;330:203::o;538:173::-;606:20;;-1:-1:-1;;;;;655:31:142;;645:42;;635:70;;701:1;698;691:12;635:70;538:173;;;:::o;716:347::-;767:8;777:6;831:3;824:4;816:6;812:17;808:27;798:55;;849:1;846;839:12;798:55;-1:-1:-1;872:20:142;;-1:-1:-1;;;;;904:30:142;;901:50;;;947:1;944;937:12;901:50;984:4;976:6;972:17;960:29;;1036:3;1029:4;1020:6;1012;1008:19;1004:30;1001:39;998:59;;;1053:1;1050;1043:12;998:59;716:347;;;;;:::o;1068:1011::-;1212:6;1220;1228;1236;1244;1297:2;1285:9;1276:7;1272:23;1268:32;1265:52;;;1313:1;1310;1303:12;1265:52;1340:23;;-1:-1:-1;;;;;1412:14:142;;;1409:34;;;1439:1;1436;1429:12;1409:34;1477:6;1466:9;1462:22;1452:32;;1522:7;1515:4;1511:2;1507:13;1503:27;1493:55;;1544:1;1541;1534:12;1493:55;1584:2;1571:16;1610:2;1602:6;1599:14;1596:34;;;1626:1;1623;1616:12;1596:34;1681:7;1674:4;1664:6;1661:1;1657:14;1653:2;1649:23;1645:34;1642:47;1639:67;;;1702:1;1699;1692:12;1639:67;1733:4;1729:2;1725:13;1715:23;;1757:6;1747:16;;;1782:40;1816:4;1805:9;1801:20;1782:40;:::i;:::-;1772:50;;1875:2;1864:9;1860:18;1847:32;1831:48;;1904:2;1894:8;1891:16;1888:36;;;1920:1;1917;1910:12;1888:36;;1959:60;2011:7;2000:8;1989:9;1985:24;1959:60;:::i;:::-;1068:1011;;;;-1:-1:-1;1068:1011:142;;-1:-1:-1;2038:8:142;;1933:86;1068:1011;-1:-1:-1;;;1068:1011:142:o;2448:186::-;2507:6;2560:2;2548:9;2539:7;2535:23;2531:32;2528:52;;;2576:1;2573;2566:12;2528:52;2599:29;2618:9;2599:29;:::i;:::-;2589:39;2448:186;-1:-1:-1;;;2448:186:142:o;2639:250::-;2724:1;2734:113;2748:6;2745:1;2742:13;2734:113;;;2824:11;;;2818:18;2805:11;;;2798:39;2770:2;2763:10;2734:113;;;-1:-1:-1;;2881:1:142;2863:16;;2856:27;2639:250::o;2894:271::-;2936:3;2974:5;2968:12;3001:6;2996:3;2989:19;3017:76;3086:6;3079:4;3074:3;3070:14;3063:4;3056:5;3052:16;3017:76;:::i;:::-;3147:2;3126:15;-1:-1:-1;;3122:29:142;3113:39;;;;3154:4;3109:50;;2894:271;-1:-1:-1;;2894:271:142:o;3170:220::-;3319:2;3308:9;3301:21;3282:4;3339:45;3380:2;3369:9;3365:18;3357:6;3339:45;:::i;3395:127::-;3456:10;3451:3;3447:20;3444:1;3437:31;3487:4;3484:1;3477:15;3511:4;3508:1;3501:15;3527:253;3599:2;3593:9;3641:4;3629:17;;-1:-1:-1;;;;;3661:34:142;;3697:22;;;3658:62;3655:88;;;3723:18;;:::i;:::-;3759:2;3752:22;3527:253;:::o;3785:275::-;3856:2;3850:9;3921:2;3902:13;;-1:-1:-1;;3898:27:142;3886:40;;-1:-1:-1;;;;;3941:34:142;;3977:22;;;3938:62;3935:88;;;4003:18;;:::i;:::-;4039:2;4032:22;3785:275;;-1:-1:-1;3785:275:142:o;4065:191::-;4133:4;-1:-1:-1;;;;;4155:30:142;;4152:56;;;4188:18;;:::i;:::-;-1:-1:-1;4233:1:142;4229:14;4245:4;4225:25;;4065:191::o;4261:2727::-;4433:9;4468:72;4484:55;4532:6;4484:55;:::i;:::-;4468:72;:::i;:::-;4574:19;;;4612:4;4632:12;;;;4562:3;4663:1;4698:15;;;4687:27;;4737:14;4726:26;;4723:46;;;4765:1;4762;4755:12;4723:46;4789:5;4803:2152;4819:6;4814:3;4811:15;4803:2152;;;4892:17;;-1:-1:-1;;;;;4966:19:142;;;4963:109;;;5026:1;5055:2;5051;5044:14;4963:109;5106:11;5099:5;5095:23;5085:33;;5163:4;5158:2;5142:14;5138:23;5134:34;5131:124;;;5209:1;5238:2;5234;5227:14;5131:124;5283:22;;:::i;:::-;5334;5353:2;5334:22;:::i;:::-;5325:7;5318:39;5406:2;5402;5398:11;5385:25;5445:1;5436:7;5433:14;5423:112;;5489:1;5518:2;5514;5507:14;5423:112;5555:16;;;5548:33;5604:2;5646:11;;;5633:25;5674:14;;;5671:104;;;5729:1;5758:2;5754;5747:14;5671:104;5799:15;;;;;5857:14;5850:4;5841:14;;5837:35;5827:136;;5915:1;5904:12;;5945:3;5940;5933:16;5827:136;6000:3;5987:17;5976:28;;6030:69;6046:52;6094:3;6046:52;:::i;6030:69::-;6143:18;;;6239:12;;;6230:22;;6226:31;;;6183:14;;;;6286;6273:28;;6270:121;;;6343:1;6373:3;6368;6361:16;6270:121;6417:12;;;;6442:394;6460:8;6453:5;6450:19;6442:394;;;6543:19;;-1:-1:-1;;;;;;6601:34:142;;6589:47;;6579:164;;6687:1;6721:3;6716;6709:16;6579:164;6760:22;;6481:14;;;;6808;;;;6442:394;;;6856:16;;;6849:31;;;;-1:-1:-1;6893:20:142;;-1:-1:-1;;6933:12:142;;;;4836;;4803:2152;;;-1:-1:-1;6977:5:142;;4261:2727;-1:-1:-1;;;;;;;4261:2727:142:o;7302:127::-;7363:10;7358:3;7354:20;7351:1;7344:31;7394:4;7391:1;7384:15;7418:4;7415:1;7408:15;7434:127;7495:10;7490:3;7486:20;7483:1;7476:31;7526:4;7523:1;7516:15;7550:4;7547:1;7540:15;7755:127;7816:10;7811:3;7807:20;7804:1;7797:31;7847:4;7844:1;7837:15;7871:4;7868:1;7861:15;7887:135;7926:3;7947:17;;;7944:43;;7967:18;;:::i;:::-;-1:-1:-1;8014:1:142;8003:13;;7887:135::o;8027:461::-;8079:3;8117:5;8111:12;8144:6;8139:3;8132:19;8170:4;8199:2;8194:3;8190:12;8183:19;;8236:2;8229:5;8225:14;8257:1;8267:196;8281:6;8278:1;8275:13;8267:196;;;8346:13;;-1:-1:-1;;;;;;8342:40:142;8330:53;;8403:12;;;;8438:15;;;;8303:1;8296:9;8267:196;;;-1:-1:-1;8479:3:142;;8027:461;-1:-1:-1;;;;;8027:461:142:o;8493:1631::-;8763:4;8792:2;8832;8821:9;8817:18;8862:2;8851:9;8844:21;8885:6;8920;8914:13;8951:6;8943;8936:22;8989:3;8978:9;8974:19;8967:26;;9052:3;9042:6;9039:1;9035:14;9024:9;9020:30;9016:40;9002:54;;9075:4;9114:2;9106:6;9102:15;9135:1;9156;9166:786;9182:6;9177:3;9174:15;9166:786;;;9251:22;;;-1:-1:-1;;9247:37:142;9235:50;;9308:13;;9353:9;;-1:-1:-1;;;;;9349:35:142;9334:51;;9424:11;;;9418:18;9476:1;9459:19;;9449:170;;-1:-1:-1;;;9510:31:142;;9568:4;9565:1;9558:15;9600:4;9517:1;9590:15;9449:170;9639:15;;;9632:37;9692:4;9737:11;;;9731:18;9769:15;;;9762:27;;;9812:60;9856:15;;;9731:18;9812:60;:::i;:::-;9802:70;-1:-1:-1;;9930:12:142;;;;9895:15;;;;9208:1;9199:11;9166:786;;;-1:-1:-1;;;;;;;;287:31:142;;9988:18;;;275:44;-1:-1:-1;;10045:22:142;;;10038:4;10023:20;;10016:52;10085:33;10049:6;10103;10085:33;:::i;:::-;10077:41;8493:1631;-1:-1:-1;;;;;;;8493:1631:142:o;10129:258::-;10306:2;10295:9;10288:21;10269:4;10326:55;10377:2;10366:9;10362:18;10354:6;10326:55;:::i;10392:197::-;10430:3;10458:6;10499:2;10492:5;10488:14;10526:2;10517:7;10514:15;10511:41;;10532:18;;:::i;:::-;10581:1;10568:15;;10392:197;-1:-1:-1;;;10392:197:142:o;10594:136::-;10633:3;10661:5;10651:39;;10670:18;;:::i;:::-;-1:-1:-1;;;10706:18:142;;10594:136::o;10735:127::-;10796:10;10791:3;10787:20;10784:1;10777:31;10827:4;10824:1;10817:15;10851:4;10848:1;10841:15;10867:287;10996:3;11034:6;11028:13;11050:66;11109:6;11104:3;11097:4;11089:6;11085:17;11050:66;:::i;:::-;11132:16;;;;;10867:287;-1:-1:-1;;10867:287:142:o;11159:315::-;-1:-1:-1;;;;;11334:32:142;;11316:51;;11403:2;11398;11383:18;;11376:30;;;-1:-1:-1;;11423:45:142;;11449:18;;11441:6;11423:45;:::i;:::-;11415:53;11159:315;-1:-1:-1;;;;11159:315:142:o","linkReferences":{}},"methodIdentifiers":{"VERSION()":"ffa1ad74","_owner()":"b2bdfa7b","collateralVaultTemplate()":"77122d56","diamondCut((address,uint8,bytes4[])[],address,bytes)":"1f931c1c","gardensFeeReceiver()":"b8bed901","initialize(address)":"c4d66de8","nonce()":"affed0e0","proxiableUUID()":"52d1902d","registryCommunityTemplate()":"02c1d0b1","strategyTemplate()":"5c94e4d2"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"}],\"name\":\"CannotAddFunctionToDiamondThatAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4[]\",\"name\":\"_selectors\",\"type\":\"bytes4[]\"}],\"name\":\"CannotAddSelectorsToZeroAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"}],\"name\":\"CannotRemoveFunctionThatDoesNotExist\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"}],\"name\":\"CannotRemoveImmutableFunction\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"}],\"name\":\"CannotReplaceFunctionThatDoesNotExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"}],\"name\":\"CannotReplaceFunctionWithTheSameFunctionFromTheSameFacet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4[]\",\"name\":\"_selectors\",\"type\":\"bytes4[]\"}],\"name\":\"CannotReplaceFunctionsFromFacetWithZeroAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"}],\"name\":\"CannotReplaceImmutableFunction\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DiamondAlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_functionSelector\",\"type\":\"bytes4\"}],\"name\":\"FunctionNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_action\",\"type\":\"uint8\"}],\"name\":\"IncorrectFacetCutAction\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_initializationContractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_calldata\",\"type\":\"bytes\"}],\"name\":\"InitializationFunctionReverted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_message\",\"type\":\"string\"}],\"name\":\"NoBytecodeAtAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_facetAddress\",\"type\":\"address\"}],\"name\":\"NoSelectorsProvidedForFacetForCut\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_contractOwner\",\"type\":\"address\"}],\"name\":\"NotContractOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_facetAddress\",\"type\":\"address\"}],\"name\":\"RemoveFacetAddressMustBeZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"facetAddress\",\"type\":\"address\"},{\"internalType\":\"enum IDiamond.FacetCutAction\",\"name\":\"action\",\"type\":\"uint8\"},{\"internalType\":\"bytes4[]\",\"name\":\"functionSelectors\",\"type\":\"bytes4[]\"}],\"indexed\":false,\"internalType\":\"struct IDiamond.FacetCut[]\",\"name\":\"_diamondCut\",\"type\":\"tuple[]\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_init\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"_calldata\",\"type\":\"bytes\"}],\"name\":\"DiamondCut\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateralVaultTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"facetAddress\",\"type\":\"address\"},{\"internalType\":\"enum IDiamond.FacetCutAction\",\"name\":\"action\",\"type\":\"uint8\"},{\"internalType\":\"bytes4[]\",\"name\":\"functionSelectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct IDiamond.FacetCut[]\",\"name\":\"_diamondCut\",\"type\":\"tuple[]\"},{\"internalType\":\"address\",\"name\":\"_init\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_calldata\",\"type\":\"bytes\"}],\"name\":\"diamondCut\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryCommunityTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategyTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"diamondCut((address,uint8,bytes4[])[],address,bytes)\":{\"params\":{\"_calldata\":\"A function call, including function selector and arguments _calldata is executed with delegatecall on _init\",\"_diamondCut\":\"Contains the facet addresses and function selectors\",\"_init\":\"The address of the contract or facet to execute _calldata\"}},\"proxiableUUID()\":{\"details\":\"Returns the storage slot that the proxiable contract assumes is being used to store the implementation address. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"diamondCut((address,uint8,bytes4[])[],address,bytes)\":{\"notice\":\"Add/replace/remove any number of functions and optionally execute a function with delegatecall\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/diamonds/RegistryFactoryDiamond.sol\":\"RegistryFactoryDiamond\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"pkg/contracts/src/diamonds/BaseDiamond.sol\":{\"keccak256\":\"0xb91168bd5fc40b3b17e901917166fa56ec3f78d1dde4f4e21e855536db03c3f3\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://861adb0182acd9ec0f89cb496595adbcdd852ece0795550d4d4f11cba5e696da\",\"dweb:/ipfs/QmSHur1g5c57PJeoWkzPTHkYfi9SkGk3xXYy8E2ckd1A4w\"]},\"pkg/contracts/src/diamonds/RegistryFactoryDiamond.sol\":{\"keccak256\":\"0x52572da9c33aa2702887775c01f0af708dc0b844778a581d6efb88d025d735d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2e46a430c134c307f39a2fb6e1982642d79a350a83db4a116b5f46fc0636a832\",\"dweb:/ipfs/QmcrD3dbGxt6ChgFphpnyMQojdVP4G9ktGaBGxPr1jKy62\"]},\"pkg/contracts/src/diamonds/interfaces/IDiamond.sol\":{\"keccak256\":\"0xc6a91de66660231f2a95905e910d90a23fe6aea3ad761dcca7b44188a6da3b98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f7ff793dd247605e566b39de8a2be6ba203654226ea8361dbc841f75414cef6\",\"dweb:/ipfs/QmNUUiAGvpHvtHDY6MyKju2zopYNMzegUKR92RkZUkpLd3\"]},\"pkg/contracts/src/diamonds/interfaces/IDiamondCut.sol\":{\"keccak256\":\"0x0712a562f059dc0f139f108ef25ded748609b94b8bfc551dd54a26efd8485b9e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42d0834107facef42d9446bc681dcca1d0518596d0cac525c39d69b61ec553cf\",\"dweb:/ipfs/QmdbPqH4n3SFHsGD6sCTMrWEnf1kFxDWFHpPUKxTbN6i9D\"]},\"pkg/contracts/src/diamonds/interfaces/IDiamondLoupe.sol\":{\"keccak256\":\"0x5ad70156a0665ecca87a01de835bce544dc56ca6bf125ab06aed4e28f6cb7972\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e9f18dbba3f49e0c1285fd72a5e3317c6f2283bc5461f4a2b79d552e4f35ddb\",\"dweb:/ipfs/QmTKZgjNy9VRgjdyyEXCJbouspkzSc6CFo27acp1qDFaty\"]},\"pkg/contracts/src/diamonds/interfaces/IERC173.sol\":{\"keccak256\":\"0x001e07b0fbc894300b939d496ffb005abe398b5bc609802d319b8cdeafe5d36b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e59f66879ef993892410cbe834b1d2dd34891f47066b7be601ff825b0748361\",\"dweb:/ipfs/QmZedQ668we8ohPPZF5tPP5gKpJ5n22h3FDFkoFT5VXpEu\"]},\"pkg/contracts/src/diamonds/libraries/LibDiamond.sol\":{\"keccak256\":\"0xeb75fdceab40249ad31940721f8caba70463dfd6b7123c6c82af15293fe309af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://149605c7d813351c1051dca2c590ad7cc3024c0af8cfc87cb2436d0ca14fce99\",\"dweb:/ipfs/QmZaR42hZuomNLdPttCdkqt97GFiCYQydRX5akkAbfzfoE\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes4","name":"_selector","type":"bytes4"}],"type":"error","name":"CannotAddFunctionToDiamondThatAlreadyExists"},{"inputs":[{"internalType":"bytes4[]","name":"_selectors","type":"bytes4[]"}],"type":"error","name":"CannotAddSelectorsToZeroAddress"},{"inputs":[{"internalType":"bytes4","name":"_selector","type":"bytes4"}],"type":"error","name":"CannotRemoveFunctionThatDoesNotExist"},{"inputs":[{"internalType":"bytes4","name":"_selector","type":"bytes4"}],"type":"error","name":"CannotRemoveImmutableFunction"},{"inputs":[{"internalType":"bytes4","name":"_selector","type":"bytes4"}],"type":"error","name":"CannotReplaceFunctionThatDoesNotExists"},{"inputs":[{"internalType":"bytes4","name":"_selector","type":"bytes4"}],"type":"error","name":"CannotReplaceFunctionWithTheSameFunctionFromTheSameFacet"},{"inputs":[{"internalType":"bytes4[]","name":"_selectors","type":"bytes4[]"}],"type":"error","name":"CannotReplaceFunctionsFromFacetWithZeroAddress"},{"inputs":[{"internalType":"bytes4","name":"_selector","type":"bytes4"}],"type":"error","name":"CannotReplaceImmutableFunction"},{"inputs":[],"type":"error","name":"DiamondAlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"_functionSelector","type":"bytes4"}],"type":"error","name":"FunctionNotFound"},{"inputs":[{"internalType":"uint8","name":"_action","type":"uint8"}],"type":"error","name":"IncorrectFacetCutAction"},{"inputs":[{"internalType":"address","name":"_initializationContractAddress","type":"address"},{"internalType":"bytes","name":"_calldata","type":"bytes"}],"type":"error","name":"InitializationFunctionReverted"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"string","name":"_message","type":"string"}],"type":"error","name":"NoBytecodeAtAddress"},{"inputs":[{"internalType":"address","name":"_facetAddress","type":"address"}],"type":"error","name":"NoSelectorsProvidedForFacetForCut"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"address","name":"_contractOwner","type":"address"}],"type":"error","name":"NotContractOwner"},{"inputs":[{"internalType":"address","name":"_facetAddress","type":"address"}],"type":"error","name":"RemoveFacetAddressMustBeZeroAddress"},{"inputs":[{"internalType":"struct IDiamond.FacetCut[]","name":"_diamondCut","type":"tuple[]","components":[{"internalType":"address","name":"facetAddress","type":"address"},{"internalType":"enum IDiamond.FacetCutAction","name":"action","type":"uint8"},{"internalType":"bytes4[]","name":"functionSelectors","type":"bytes4[]"}],"indexed":false},{"internalType":"address","name":"_init","type":"address","indexed":false},{"internalType":"bytes","name":"_calldata","type":"bytes","indexed":false}],"type":"event","name":"DiamondCut","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVaultTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"struct IDiamond.FacetCut[]","name":"_diamondCut","type":"tuple[]","components":[{"internalType":"address","name":"facetAddress","type":"address"},{"internalType":"enum IDiamond.FacetCutAction","name":"action","type":"uint8"},{"internalType":"bytes4[]","name":"functionSelectors","type":"bytes4[]"}]},{"internalType":"address","name":"_init","type":"address"},{"internalType":"bytes","name":"_calldata","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"diamondCut"},{"inputs":[],"stateMutability":"view","type":"function","name":"gardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryCommunityTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"strategyTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"diamondCut((address,uint8,bytes4[])[],address,bytes)":{"params":{"_calldata":"A function call, including function selector and arguments _calldata is executed with delegatecall on _init","_diamondCut":"Contains the facet addresses and function selectors","_init":"The address of the contract or facet to execute _calldata"}},"proxiableUUID()":{"details":"Returns the storage slot that the proxiable contract assumes is being used to store the implementation address. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy."}},"version":1},"userdoc":{"kind":"user","methods":{"diamondCut((address,uint8,bytes4[])[],address,bytes)":{"notice":"Add/replace/remove any number of functions and optionally execute a function with delegatecall"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/diamonds/RegistryFactoryDiamond.sol":"RegistryFactoryDiamond"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"pkg/contracts/src/diamonds/BaseDiamond.sol":{"keccak256":"0xb91168bd5fc40b3b17e901917166fa56ec3f78d1dde4f4e21e855536db03c3f3","urls":["bzz-raw://861adb0182acd9ec0f89cb496595adbcdd852ece0795550d4d4f11cba5e696da","dweb:/ipfs/QmSHur1g5c57PJeoWkzPTHkYfi9SkGk3xXYy8E2ckd1A4w"],"license":"AGPL-3.0-only"},"pkg/contracts/src/diamonds/RegistryFactoryDiamond.sol":{"keccak256":"0x52572da9c33aa2702887775c01f0af708dc0b844778a581d6efb88d025d735d5","urls":["bzz-raw://2e46a430c134c307f39a2fb6e1982642d79a350a83db4a116b5f46fc0636a832","dweb:/ipfs/QmcrD3dbGxt6ChgFphpnyMQojdVP4G9ktGaBGxPr1jKy62"],"license":"AGPL-3.0-only"},"pkg/contracts/src/diamonds/interfaces/IDiamond.sol":{"keccak256":"0xc6a91de66660231f2a95905e910d90a23fe6aea3ad761dcca7b44188a6da3b98","urls":["bzz-raw://0f7ff793dd247605e566b39de8a2be6ba203654226ea8361dbc841f75414cef6","dweb:/ipfs/QmNUUiAGvpHvtHDY6MyKju2zopYNMzegUKR92RkZUkpLd3"],"license":"MIT"},"pkg/contracts/src/diamonds/interfaces/IDiamondCut.sol":{"keccak256":"0x0712a562f059dc0f139f108ef25ded748609b94b8bfc551dd54a26efd8485b9e","urls":["bzz-raw://42d0834107facef42d9446bc681dcca1d0518596d0cac525c39d69b61ec553cf","dweb:/ipfs/QmdbPqH4n3SFHsGD6sCTMrWEnf1kFxDWFHpPUKxTbN6i9D"],"license":"MIT"},"pkg/contracts/src/diamonds/interfaces/IDiamondLoupe.sol":{"keccak256":"0x5ad70156a0665ecca87a01de835bce544dc56ca6bf125ab06aed4e28f6cb7972","urls":["bzz-raw://6e9f18dbba3f49e0c1285fd72a5e3317c6f2283bc5461f4a2b79d552e4f35ddb","dweb:/ipfs/QmTKZgjNy9VRgjdyyEXCJbouspkzSc6CFo27acp1qDFaty"],"license":"MIT"},"pkg/contracts/src/diamonds/interfaces/IERC173.sol":{"keccak256":"0x001e07b0fbc894300b939d496ffb005abe398b5bc609802d319b8cdeafe5d36b","urls":["bzz-raw://8e59f66879ef993892410cbe834b1d2dd34891f47066b7be601ff825b0748361","dweb:/ipfs/QmZedQ668we8ohPPZF5tPP5gKpJ5n22h3FDFkoFT5VXpEu"],"license":"MIT"},"pkg/contracts/src/diamonds/libraries/LibDiamond.sol":{"keccak256":"0xeb75fdceab40249ad31940721f8caba70463dfd6b7123c6c82af15293fe309af","urls":["bzz-raw://149605c7d813351c1051dca2c590ad7cc3024c0af8cfc87cb2436d0ca14fce99","dweb:/ipfs/QmZaR42hZuomNLdPttCdkqt97GFiCYQydRX5akkAbfzfoE"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":73968,"contract":"pkg/contracts/src/diamonds/RegistryFactoryDiamond.sol:RegistryFactoryDiamond","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":73970,"contract":"pkg/contracts/src/diamonds/RegistryFactoryDiamond.sol:RegistryFactoryDiamond","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":73974,"contract":"pkg/contracts/src/diamonds/RegistryFactoryDiamond.sol:RegistryFactoryDiamond","label":"__gap1","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":73976,"contract":"pkg/contracts/src/diamonds/RegistryFactoryDiamond.sol:RegistryFactoryDiamond","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":73980,"contract":"pkg/contracts/src/diamonds/RegistryFactoryDiamond.sol:RegistryFactoryDiamond","label":"__gap2","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":73982,"contract":"pkg/contracts/src/diamonds/RegistryFactoryDiamond.sol:RegistryFactoryDiamond","label":"nonce","offset":0,"slot":"101","type":"t_uint256"},{"astId":73987,"contract":"pkg/contracts/src/diamonds/RegistryFactoryDiamond.sol:RegistryFactoryDiamond","label":"communityToInfo","offset":0,"slot":"102","type":"t_mapping(t_address,t_struct(CommunityInfo)73961_storage)"},{"astId":73989,"contract":"pkg/contracts/src/diamonds/RegistryFactoryDiamond.sol:RegistryFactoryDiamond","label":"gardensFeeReceiver","offset":0,"slot":"103","type":"t_address"},{"astId":73991,"contract":"pkg/contracts/src/diamonds/RegistryFactoryDiamond.sol:RegistryFactoryDiamond","label":"registryCommunityTemplate","offset":0,"slot":"104","type":"t_address"},{"astId":73993,"contract":"pkg/contracts/src/diamonds/RegistryFactoryDiamond.sol:RegistryFactoryDiamond","label":"strategyTemplate","offset":0,"slot":"105","type":"t_address"},{"astId":73995,"contract":"pkg/contracts/src/diamonds/RegistryFactoryDiamond.sol:RegistryFactoryDiamond","label":"collateralVaultTemplate","offset":0,"slot":"106","type":"t_address"},{"astId":73999,"contract":"pkg/contracts/src/diamonds/RegistryFactoryDiamond.sol:RegistryFactoryDiamond","label":"__gap3","offset":0,"slot":"107","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_struct(CommunityInfo)73961_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct CommunityInfo)","numberOfBytes":"32","value":"t_struct(CommunityInfo)73961_storage"},"t_struct(CommunityInfo)73961_storage":{"encoding":"inplace","label":"struct CommunityInfo","numberOfBytes":"64","members":[{"astId":73958,"contract":"pkg/contracts/src/diamonds/RegistryFactoryDiamond.sol:RegistryFactoryDiamond","label":"fee","offset":0,"slot":"0","type":"t_uint256"},{"astId":73960,"contract":"pkg/contracts/src/diamonds/RegistryFactoryDiamond.sol:RegistryFactoryDiamond","label":"valid","offset":0,"slot":"1","type":"t_bool"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/diamonds/RegistryFactoryDiamond.sol","id":74001,"exportedSymbols":{"BaseDiamond":[73942],"CommunityInfo":[73961],"IDiamondCut":[75207],"IDiamondLoupe":[75248],"IERC173":[75282],"IERC1822Proxiable":[54984],"LibDiamond":[76015],"RegistryFactoryDiamond":[74000]},"nodeType":"SourceUnit","src":"42:1572:113","nodes":[{"id":73944,"nodeType":"PragmaDirective","src":"42:24:113","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":73946,"nodeType":"ImportDirective","src":"68:46:113","nodes":[],"absolutePath":"pkg/contracts/src/diamonds/BaseDiamond.sol","file":"./BaseDiamond.sol","nameLocation":"-1:-1:-1","scope":74001,"sourceUnit":73943,"symbolAliases":[{"foreign":{"id":73945,"name":"BaseDiamond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73942,"src":"76:11:113","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73948,"nodeType":"ImportDirective","src":"115:54:113","nodes":[],"absolutePath":"pkg/contracts/src/diamonds/libraries/LibDiamond.sol","file":"./libraries/LibDiamond.sol","nameLocation":"-1:-1:-1","scope":74001,"sourceUnit":76016,"symbolAliases":[{"foreign":{"id":73947,"name":"LibDiamond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76015,"src":"123:10:113","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73950,"nodeType":"ImportDirective","src":"170:57:113","nodes":[],"absolutePath":"pkg/contracts/src/diamonds/interfaces/IDiamondCut.sol","file":"./interfaces/IDiamondCut.sol","nameLocation":"-1:-1:-1","scope":74001,"sourceUnit":75208,"symbolAliases":[{"foreign":{"id":73949,"name":"IDiamondCut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75207,"src":"178:11:113","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73952,"nodeType":"ImportDirective","src":"228:61:113","nodes":[],"absolutePath":"pkg/contracts/src/diamonds/interfaces/IDiamondLoupe.sol","file":"./interfaces/IDiamondLoupe.sol","nameLocation":"-1:-1:-1","scope":74001,"sourceUnit":75249,"symbolAliases":[{"foreign":{"id":73951,"name":"IDiamondLoupe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75248,"src":"236:13:113","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73954,"nodeType":"ImportDirective","src":"290:49:113","nodes":[],"absolutePath":"pkg/contracts/src/diamonds/interfaces/IERC173.sol","file":"./interfaces/IERC173.sol","nameLocation":"-1:-1:-1","scope":74001,"sourceUnit":75283,"symbolAliases":[{"foreign":{"id":73953,"name":"IERC173","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75282,"src":"298:7:113","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73956,"nodeType":"ImportDirective","src":"394:88:113","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol","file":"@openzeppelin/contracts/interfaces/draft-IERC1822.sol","nameLocation":"-1:-1:-1","scope":74001,"sourceUnit":54985,"symbolAliases":[{"foreign":{"id":73955,"name":"IERC1822Proxiable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54984,"src":"402:17:113","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73961,"nodeType":"StructDefinition","src":"531:57:113","nodes":[],"canonicalName":"CommunityInfo","members":[{"constant":false,"id":73958,"mutability":"mutable","name":"fee","nameLocation":"566:3:113","nodeType":"VariableDeclaration","scope":73961,"src":"558:11:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73957,"name":"uint256","nodeType":"ElementaryTypeName","src":"558:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73960,"mutability":"mutable","name":"valid","nameLocation":"580:5:113","nodeType":"VariableDeclaration","scope":73961,"src":"575:10:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73959,"name":"bool","nodeType":"ElementaryTypeName","src":"575:4:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"CommunityInfo","nameLocation":"538:13:113","scope":74001,"visibility":"public"},{"id":74000,"nodeType":"ContractDefinition","src":"589:1024:113","nodes":[{"id":73966,"nodeType":"VariableDeclaration","src":"807:38:113","nodes":[],"constant":true,"functionSelector":"ffa1ad74","mutability":"constant","name":"VERSION","nameLocation":"830:7:113","scope":74000,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":73964,"name":"string","nodeType":"ElementaryTypeName","src":"807:6:113","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"302e30","id":73965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"840:5:113","typeDescriptions":{"typeIdentifier":"t_stringliteral_7be32719f3172a4c9a8d1f020e88b7d75f936a7394cfbfe03d409404e58cbdc3","typeString":"literal_string \"0.0\""},"value":"0.0"},"visibility":"public"},{"id":73968,"nodeType":"VariableDeclaration","src":"1016:26:113","nodes":[],"constant":false,"mutability":"mutable","name":"_initialized","nameLocation":"1030:12:113","scope":74000,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":73967,"name":"uint8","nodeType":"ElementaryTypeName","src":"1016:5:113","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"private"},{"id":73970,"nodeType":"VariableDeclaration","src":"1048:26:113","nodes":[],"constant":false,"mutability":"mutable","name":"_initializing","nameLocation":"1061:13:113","scope":74000,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73969,"name":"bool","nodeType":"ElementaryTypeName","src":"1048:4:113","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":73974,"nodeType":"VariableDeclaration","src":"1080:26:113","nodes":[],"constant":false,"mutability":"mutable","name":"__gap1","nameLocation":"1100:6:113","scope":74000,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":73971,"name":"uint256","nodeType":"ElementaryTypeName","src":"1080:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73973,"length":{"hexValue":"3530","id":73972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1088:2:113","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"1080:11:113","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"},{"id":73976,"nodeType":"VariableDeclaration","src":"1112:21:113","nodes":[],"constant":false,"functionSelector":"b2bdfa7b","mutability":"mutable","name":"_owner","nameLocation":"1127:6:113","scope":74000,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73975,"name":"address","nodeType":"ElementaryTypeName","src":"1112:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":73980,"nodeType":"VariableDeclaration","src":"1139:26:113","nodes":[],"constant":false,"mutability":"mutable","name":"__gap2","nameLocation":"1159:6:113","scope":74000,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$49_storage","typeString":"uint256[49]"},"typeName":{"baseType":{"id":73977,"name":"uint256","nodeType":"ElementaryTypeName","src":"1139:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73979,"length":{"hexValue":"3439","id":73978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1147:2:113","typeDescriptions":{"typeIdentifier":"t_rational_49_by_1","typeString":"int_const 49"},"value":"49"},"nodeType":"ArrayTypeName","src":"1139:11:113","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$49_storage_ptr","typeString":"uint256[49]"}},"visibility":"private"},{"id":73982,"nodeType":"VariableDeclaration","src":"1171:20:113","nodes":[],"constant":false,"functionSelector":"affed0e0","mutability":"mutable","name":"nonce","nameLocation":"1186:5:113","scope":74000,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73981,"name":"uint256","nodeType":"ElementaryTypeName","src":"1171:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":73987,"nodeType":"VariableDeclaration","src":"1198:49:113","nodes":[],"constant":false,"mutability":"mutable","name":"communityToInfo","nameLocation":"1232:15:113","scope":74000,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$73961_storage_$","typeString":"mapping(address => struct CommunityInfo)"},"typeName":{"id":73986,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":73983,"name":"address","nodeType":"ElementaryTypeName","src":"1206:7:113","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1198:33:113","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$73961_storage_$","typeString":"mapping(address => struct CommunityInfo)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":73985,"nodeType":"UserDefinedTypeName","pathNode":{"id":73984,"name":"CommunityInfo","nameLocations":["1217:13:113"],"nodeType":"IdentifierPath","referencedDeclaration":73961,"src":"1217:13:113"},"referencedDeclaration":73961,"src":"1217:13:113","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$73961_storage_ptr","typeString":"struct CommunityInfo"}}},"visibility":"internal"},{"id":73989,"nodeType":"VariableDeclaration","src":"1253:33:113","nodes":[],"constant":false,"functionSelector":"b8bed901","mutability":"mutable","name":"gardensFeeReceiver","nameLocation":"1268:18:113","scope":74000,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73988,"name":"address","nodeType":"ElementaryTypeName","src":"1253:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":73991,"nodeType":"VariableDeclaration","src":"1292:40:113","nodes":[],"constant":false,"functionSelector":"02c1d0b1","mutability":"mutable","name":"registryCommunityTemplate","nameLocation":"1307:25:113","scope":74000,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73990,"name":"address","nodeType":"ElementaryTypeName","src":"1292:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":73993,"nodeType":"VariableDeclaration","src":"1338:31:113","nodes":[],"constant":false,"functionSelector":"5c94e4d2","mutability":"mutable","name":"strategyTemplate","nameLocation":"1353:16:113","scope":74000,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73992,"name":"address","nodeType":"ElementaryTypeName","src":"1338:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":73995,"nodeType":"VariableDeclaration","src":"1375:38:113","nodes":[],"constant":false,"functionSelector":"77122d56","mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"1390:23:113","scope":74000,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73994,"name":"address","nodeType":"ElementaryTypeName","src":"1375:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":73999,"nodeType":"VariableDeclaration","src":"1419:26:113","nodes":[],"constant":false,"mutability":"mutable","name":"__gap3","nameLocation":"1439:6:113","scope":74000,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":73996,"name":"uint256","nodeType":"ElementaryTypeName","src":"1419:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73998,"length":{"hexValue":"3530","id":73997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1427:2:113","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"1419:11:113","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":73962,"name":"BaseDiamond","nameLocations":["624:11:113"],"nodeType":"IdentifierPath","referencedDeclaration":73942,"src":"624:11:113"},"id":73963,"nodeType":"InheritanceSpecifier","src":"624:11:113"}],"canonicalName":"RegistryFactoryDiamond","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[74000,73942,75207,75188,54984],"name":"RegistryFactoryDiamond","nameLocation":"598:22:113","scope":74001,"usedErrors":[73817,73819,75296,75300,75305,75311,75315,75319,75324,75328,75332,75336,75340,75344,75348,75354]}],"license":"AGPL-3.0-only"},"id":113} \ No newline at end of file diff --git a/pkg/contracts/out/RegistryFactoryFacet.sol/RegistryFactoryFacet.json b/pkg/contracts/out/RegistryFactoryFacet.sol/RegistryFactoryFacet.json new file mode 100644 index 000000000..da3e364d8 --- /dev/null +++ b/pkg/contracts/out/RegistryFactoryFacet.sol/RegistryFactoryFacet.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"collateralVaultTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"createRegistry","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunityInitializeParamsV0_0","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"}]}],"outputs":[{"name":"_createdRegistryAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"gardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getGardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_gardensFeeReceiver","type":"address","internalType":"address"},{"name":"_registryCommunityTemplate","type":"address","internalType":"address"},{"name":"_strategyTemplate","type":"address","internalType":"address"},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initialOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initializeV2","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initializeV3","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"nonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registryCommunityTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCollateralVaultTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_isValid","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_newProtocolFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setReceiverAddress","inputs":[{"name":"_newFeeReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRegistryCommunityTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStrategyTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategyTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityCreated","inputs":[{"name":"_registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityValiditySet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_isValid","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"FeeReceiverSet","inputs":[{"name":"_newFeeReceiver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProtocolFeeSet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_newProtocolFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CallerNotOwner","inputs":[{"name":"_caller","type":"address","internalType":"address"},{"name":"_owner","type":"address","internalType":"address"}]},{"type":"error","name":"CommunityInvalid","inputs":[{"name":"_community","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b5060805161213461004c600039600081816107c20152818161080501528181610896015281816108d9015261095e01526121346000f3fe608060405260043610620001405760003560e01c806302c1d0b114620001455780630a992e0c146200017f5780631459457a14620001b35780631b71f0e414620001da57806329b6eca914620001ff5780633101cfcb14620002245780633659cfe614620002495780634f1ef286146200026e57806352d1902d14620002855780635a2c8ace146200029d5780635c94e4d214620002c25780635decae0214620002e4578063715018a6146200030957806377122d5614620003215780638279c7db14620003435780638da5cb5b1462000368578063987435be1462000380578063affed0e014620003a0578063b0d3713a14620003b8578063b5b3ca2c14620003dd578063b8bed9011462000402578063beb331a31462000424578063c4d66de81462000449578063f2fde38b146200046e578063f5016b5e1462000493575b600080fd5b3480156200015257600080fd5b5060685462000167906001600160a01b031681565b604051620001769190620013c2565b60405180910390f35b3480156200018c57600080fd5b50620001a46200019e366004620013fe565b620004e4565b60405190815260200162000176565b348015620001c057600080fd5b50620001d8620001d23660046200141e565b6200054a565b005b348015620001e757600080fd5b50620001d8620001f9366004620013fe565b620006b5565b3480156200020c57600080fd5b50620001d86200021e366004620013fe565b620006e1565b3480156200023157600080fd5b50620001d862000243366004620013fe565b62000777565b3480156200025657600080fd5b50620001d862000268366004620013fe565b620007b8565b620001d86200027f36600462001558565b6200088c565b3480156200029257600080fd5b50620001a462000951565b348015620002aa57600080fd5b50620001d8620002bc366004620015d3565b62000a02565b348015620002cf57600080fd5b5060695462000167906001600160a01b031681565b348015620002f157600080fd5b50620001d862000303366004620013fe565b62000a6c565b3480156200031657600080fd5b50620001d862000a98565b3480156200032e57600080fd5b50606a5462000167906001600160a01b031681565b3480156200035057600080fd5b50620001d862000362366004620013fe565b62000ab0565b3480156200037557600080fd5b506200016762000b0c565b3480156200038d57600080fd5b506067546001600160a01b031662000167565b348015620003ad57600080fd5b50620001a460655481565b348015620003c557600080fd5b50620001d8620003d7366004620013fe565b62000ba9565b348015620003ea57600080fd5b50620001d8620003fc3660046200160d565b62000bd5565b3480156200040f57600080fd5b5060675462000167906001600160a01b031681565b3480156200043157600080fd5b506200016762000443366004620016d4565b62000c31565b3480156200045657600080fd5b50620001d862000468366004620013fe565b62000d72565b3480156200047b57600080fd5b50620001d86200048d366004620013fe565b62000dea565b348015620004a057600080fd5b50620004d3620004b2366004620013fe565b6001600160a01b031660009081526066602052604090206001015460ff1690565b604051901515815260200162000176565b6001600160a01b03811660009081526066602052604081206001015460ff166200052e578160405163f5a6943d60e01b8152600401620005259190620013c2565b60405180910390fd5b506001600160a01b031660009081526066602052604090205490565b600054610100900460ff16158080156200056b5750600054600160ff909116105b806200059057506200057d3062000e5b565b15801562000590575060005460ff166001145b620005af5760405162461bcd60e51b815260040162000525906200182f565b6000805460ff191660011790558015620005d3576000805461ff0019166101001790555b620005de8662000d72565b6000606555620005ee8562000e6a565b620005f98462000e6a565b620006048262000e6a565b606780546001600160a01b038088166001600160a01b0319928316179092556068805487841690831617905560698054868416908316179055606a805492851692909116919091179055604051600080516020620020df833981519152906200066f908790620013c2565b60405180910390a18015620006ad576000805461ff001916905560405160018152600080516020620020988339815191529060200160405180910390a15b505050505050565b620006bf62000e92565b606980546001600160a01b0319166001600160a01b0392909216919091179055565b600054600290610100900460ff1615801562000704575060005460ff8083169116105b620007235760405162461bcd60e51b815260040162000525906200182f565b6000805461ffff191660ff831617610100179055620007428262000dea565b6000805461ff001916905560405160ff8216815260008051602062002098833981519152906020015b60405180910390a15050565b600054600390610100900460ff1615801562000704575060005460ff808316911610620007235760405162461bcd60e51b815260040162000525906200182f565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620008035760405162461bcd60e51b815260040162000525906200187d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200083762000ef5565b6001600160a01b031614620008605760405162461bcd60e51b81526004016200052590620018b8565b6200086b8162000f12565b60408051600080825260208201909252620008899183919062000f64565b50565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620008d75760405162461bcd60e51b815260040162000525906200187d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200090b62000ef5565b6001600160a01b031614620009345760405162461bcd60e51b81526004016200052590620018b8565b6200093f8262000f12565b6200094d8282600162000f64565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620009ee5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840162000525565b506000805160206200207883398151915290565b62000a0c62000e92565b6001600160a01b038216600081815260666020908152604091829020600101805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291016200076b565b62000a7662000e92565b606880546001600160a01b0319166001600160a01b0392909216919091179055565b62000aa262000e92565b62000aae6000620010e1565b565b62000aba62000e92565b62000ac58162000e6a565b606780546001600160a01b0319166001600160a01b038316179055604051600080516020620020df8339815191529062000b01908390620013c2565b60405180910390a150565b60008062000b226033546001600160a01b031690565b9050806001600160a01b03163b60000362000b3c57919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000b99575060408051601f3d908101601f1916820190925262000b9691810190620018f3565b60015b62000ba357919050565b92915050565b62000bb362000e92565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b62000bdf62000e92565b6001600160a01b038216600081815260666020908152604091829020849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c91016200076b565b606580546000918262000c448362001913565b9091555060808301523060a0830152606854606954606a546000926001600160a01b0390811692633419635560e01b928792918216911662000c8562000b0c565b60405160240162000c9a9493929190620019b0565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905162000cd990620013a7565b62000ce692919062001af8565b604051809103906000f08015801562000d03573d6000803e3d6000fd5b506001600160a01b038116600090815260666020526040908190206001908101805460ff191690911790555190915081907fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc299062000d63908390620013c2565b60405180910390a19392505050565b600054610100900460ff1662000ddf5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840162000525565b6200088981620010e1565b62000df462000e92565b6001600160a01b03811662000ddf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000525565b6001600160a01b03163b151590565b6001600160a01b03811662000889576040516303988b8160e61b815260040160405180910390fd5b3362000e9d62000b0c565b6001600160a01b03161462000aae5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000525565b60008051602062002078833981519152546001600160a01b031690565b3362000f1d62000b0c565b6001600160a01b03161462000889573362000f3762000b0c565b60405163163678e960e01b81526001600160a01b0392831660048201529116602482015260440162000525565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000f9f5762000f9a8362001133565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000ffc575060408051601f3d908101601f1916820190925262000ff99181019062001b1e565b60015b620010615760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840162000525565b600080516020620020788339815191528114620010d35760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840162000525565b5062000f9a838383620011d2565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6200113e8162000e5b565b620011a25760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162000525565b6000805160206200207883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b620011dd8362001203565b600082511180620011eb5750805b1562000f9a57620011fd838362001245565b50505050565b6200120e8162001133565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606200126d8383604051806060016040528060278152602001620020b86027913962001274565b9392505050565b6060600080856001600160a01b03168560405162001293919062001b38565b600060405180830381855af49150503d8060008114620012d0576040519150601f19603f3d011682016040523d82523d6000602084013e620012d5565b606091505b5091509150620012e886838387620012f2565b9695505050505050565b60608315620013665782516000036200135e57620013108562000e5b565b6200135e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000525565b508162001372565b6200137283836200137a565b949350505050565b8151156200138b5781518083602001fd5b8060405162461bcd60e51b815260040162000525919062001b56565b6104ec8062001b6c83390190565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b03811681146200088957600080fd5b8035620013f981620013d6565b919050565b6000602082840312156200141157600080fd5b81356200126d81620013d6565b600080600080600060a086880312156200143757600080fd5b85356200144481620013d6565b945060208601356200145681620013d6565b935060408601356200146881620013d6565b925060608601356200147a81620013d6565b915060808601356200148c81620013d6565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b0381118282101715620014d657620014d66200149a565b60405290565b60006001600160401b0380841115620014f957620014f96200149a565b604051601f8501601f19908116603f011681019082821181831017156200152457620015246200149a565b816040528093508581528686860111156200153e57600080fd5b858560208301376000602087830101525050509392505050565b600080604083850312156200156c57600080fd5b82356200157981620013d6565b915060208301356001600160401b038111156200159557600080fd5b8301601f81018513620015a757600080fd5b620015b885823560208401620014dc565b9150509250929050565b80358015158114620013f957600080fd5b60008060408385031215620015e757600080fd5b8235620015f481620013d6565b91506200160460208401620015c2565b90509250929050565b600080604083850312156200162157600080fd5b82356200162e81620013d6565b946020939093013593505050565b600082601f8301126200164e57600080fd5b6200126d83833560208501620014dc565b6000604082840312156200167257600080fd5b604080519081016001600160401b0380821183831017156200169857620016986200149a565b81604052829350843583526020850135915080821115620016b857600080fd5b50620016c7858286016200163c565b6020830152505092915050565b600060208284031215620016e757600080fd5b81356001600160401b0380821115620016ff57600080fd5b9083019061018082860312156200171557600080fd5b6200171f620014b0565b6200172a83620013ec565b81526200173a60208401620013ec565b60208201526040830135604082015260608301356060820152608083013560808201526200176b60a08401620013ec565b60a08201526200177e60c08401620013ec565b60c082015260e0830135828111156200179657600080fd5b620017a4878286016200165f565b60e083015250610100620017ba818501620013ec565b908201526101208381013583811115620017d357600080fd5b620017e1888287016200163c565b828401525050610140620017f7818501620015c2565b9082015261016083810135838111156200181057600080fd5b6200181e888287016200163c565b918301919091525095945050505050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602c908201526000805160206200205883398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206200205883398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156200190657600080fd5b81516200126d81620013d6565b6000600182016200193457634e487b7160e01b600052601160045260246000fd5b5060010190565b60005b83811015620019585781810151838201526020016200193e565b50506000910152565b600081518084526200197b8160208601602086016200193b565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001372604085018262001961565b60808152620019c4608082018651620013b5565b60006020860151620019da60a0840182620013b5565b50604086015160c0830152606086015160e08301526080860151610100818185015260a0880151915061012062001a1481860184620013b5565b60c0890151925061014062001a2c81870185620013b5565b60e08a01519350610180610160818189015262001a4e6102008901876200198f565b948c015194955062001a6388830186620013b5565b838c01519450607f19935083888703016101a089015262001a85868662001961565b9550828c0151945062001a9d6101c089018615159052565b808c0151945050505080858403016101e08601525062001abe828262001961565b9250505062001ad16020830186620013b5565b62001ae06040830185620013b5565b62001aef6060830184620013b5565b95945050505050565b6001600160a01b0383168152604060208201819052600090620013729083018462001961565b60006020828403121562001b3157600080fd5b5051919050565b6000825162001b4c8184602087016200193b565b9190910192915050565b6020815260006200126d60208301846200196156fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212204fe6c3c3dccfaea0fd10fdd343631403db3c1555c6576ad816deaaa45c9f926764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656446756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9da264697066735822122085f69e1f9dc9e3070a8ed9af6745037b7872115a48f8402495a3c0731ebd6d0964736f6c63430008130033","sourceMap":"618:5756:117:-:0;;;1088:4:64;1045:48;;618:5756:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610620001405760003560e01c806302c1d0b114620001455780630a992e0c146200017f5780631459457a14620001b35780631b71f0e414620001da57806329b6eca914620001ff5780633101cfcb14620002245780633659cfe614620002495780634f1ef286146200026e57806352d1902d14620002855780635a2c8ace146200029d5780635c94e4d214620002c25780635decae0214620002e4578063715018a6146200030957806377122d5614620003215780638279c7db14620003435780638da5cb5b1462000368578063987435be1462000380578063affed0e014620003a0578063b0d3713a14620003b8578063b5b3ca2c14620003dd578063b8bed9011462000402578063beb331a31462000424578063c4d66de81462000449578063f2fde38b146200046e578063f5016b5e1462000493575b600080fd5b3480156200015257600080fd5b5060685462000167906001600160a01b031681565b604051620001769190620013c2565b60405180910390f35b3480156200018c57600080fd5b50620001a46200019e366004620013fe565b620004e4565b60405190815260200162000176565b348015620001c057600080fd5b50620001d8620001d23660046200141e565b6200054a565b005b348015620001e757600080fd5b50620001d8620001f9366004620013fe565b620006b5565b3480156200020c57600080fd5b50620001d86200021e366004620013fe565b620006e1565b3480156200023157600080fd5b50620001d862000243366004620013fe565b62000777565b3480156200025657600080fd5b50620001d862000268366004620013fe565b620007b8565b620001d86200027f36600462001558565b6200088c565b3480156200029257600080fd5b50620001a462000951565b348015620002aa57600080fd5b50620001d8620002bc366004620015d3565b62000a02565b348015620002cf57600080fd5b5060695462000167906001600160a01b031681565b348015620002f157600080fd5b50620001d862000303366004620013fe565b62000a6c565b3480156200031657600080fd5b50620001d862000a98565b3480156200032e57600080fd5b50606a5462000167906001600160a01b031681565b3480156200035057600080fd5b50620001d862000362366004620013fe565b62000ab0565b3480156200037557600080fd5b506200016762000b0c565b3480156200038d57600080fd5b506067546001600160a01b031662000167565b348015620003ad57600080fd5b50620001a460655481565b348015620003c557600080fd5b50620001d8620003d7366004620013fe565b62000ba9565b348015620003ea57600080fd5b50620001d8620003fc3660046200160d565b62000bd5565b3480156200040f57600080fd5b5060675462000167906001600160a01b031681565b3480156200043157600080fd5b506200016762000443366004620016d4565b62000c31565b3480156200045657600080fd5b50620001d862000468366004620013fe565b62000d72565b3480156200047b57600080fd5b50620001d86200048d366004620013fe565b62000dea565b348015620004a057600080fd5b50620004d3620004b2366004620013fe565b6001600160a01b031660009081526066602052604090206001015460ff1690565b604051901515815260200162000176565b6001600160a01b03811660009081526066602052604081206001015460ff166200052e578160405163f5a6943d60e01b8152600401620005259190620013c2565b60405180910390fd5b506001600160a01b031660009081526066602052604090205490565b600054610100900460ff16158080156200056b5750600054600160ff909116105b806200059057506200057d3062000e5b565b15801562000590575060005460ff166001145b620005af5760405162461bcd60e51b815260040162000525906200182f565b6000805460ff191660011790558015620005d3576000805461ff0019166101001790555b620005de8662000d72565b6000606555620005ee8562000e6a565b620005f98462000e6a565b620006048262000e6a565b606780546001600160a01b038088166001600160a01b0319928316179092556068805487841690831617905560698054868416908316179055606a805492851692909116919091179055604051600080516020620020df833981519152906200066f908790620013c2565b60405180910390a18015620006ad576000805461ff001916905560405160018152600080516020620020988339815191529060200160405180910390a15b505050505050565b620006bf62000e92565b606980546001600160a01b0319166001600160a01b0392909216919091179055565b600054600290610100900460ff1615801562000704575060005460ff8083169116105b620007235760405162461bcd60e51b815260040162000525906200182f565b6000805461ffff191660ff831617610100179055620007428262000dea565b6000805461ff001916905560405160ff8216815260008051602062002098833981519152906020015b60405180910390a15050565b600054600390610100900460ff1615801562000704575060005460ff808316911610620007235760405162461bcd60e51b815260040162000525906200182f565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620008035760405162461bcd60e51b815260040162000525906200187d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200083762000ef5565b6001600160a01b031614620008605760405162461bcd60e51b81526004016200052590620018b8565b6200086b8162000f12565b60408051600080825260208201909252620008899183919062000f64565b50565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620008d75760405162461bcd60e51b815260040162000525906200187d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200090b62000ef5565b6001600160a01b031614620009345760405162461bcd60e51b81526004016200052590620018b8565b6200093f8262000f12565b6200094d8282600162000f64565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620009ee5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840162000525565b506000805160206200207883398151915290565b62000a0c62000e92565b6001600160a01b038216600081815260666020908152604091829020600101805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291016200076b565b62000a7662000e92565b606880546001600160a01b0319166001600160a01b0392909216919091179055565b62000aa262000e92565b62000aae6000620010e1565b565b62000aba62000e92565b62000ac58162000e6a565b606780546001600160a01b0319166001600160a01b038316179055604051600080516020620020df8339815191529062000b01908390620013c2565b60405180910390a150565b60008062000b226033546001600160a01b031690565b9050806001600160a01b03163b60000362000b3c57919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000b99575060408051601f3d908101601f1916820190925262000b9691810190620018f3565b60015b62000ba357919050565b92915050565b62000bb362000e92565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b62000bdf62000e92565b6001600160a01b038216600081815260666020908152604091829020849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c91016200076b565b606580546000918262000c448362001913565b9091555060808301523060a0830152606854606954606a546000926001600160a01b0390811692633419635560e01b928792918216911662000c8562000b0c565b60405160240162000c9a9493929190620019b0565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905162000cd990620013a7565b62000ce692919062001af8565b604051809103906000f08015801562000d03573d6000803e3d6000fd5b506001600160a01b038116600090815260666020526040908190206001908101805460ff191690911790555190915081907fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc299062000d63908390620013c2565b60405180910390a19392505050565b600054610100900460ff1662000ddf5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840162000525565b6200088981620010e1565b62000df462000e92565b6001600160a01b03811662000ddf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000525565b6001600160a01b03163b151590565b6001600160a01b03811662000889576040516303988b8160e61b815260040160405180910390fd5b3362000e9d62000b0c565b6001600160a01b03161462000aae5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000525565b60008051602062002078833981519152546001600160a01b031690565b3362000f1d62000b0c565b6001600160a01b03161462000889573362000f3762000b0c565b60405163163678e960e01b81526001600160a01b0392831660048201529116602482015260440162000525565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000f9f5762000f9a8362001133565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000ffc575060408051601f3d908101601f1916820190925262000ff99181019062001b1e565b60015b620010615760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840162000525565b600080516020620020788339815191528114620010d35760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840162000525565b5062000f9a838383620011d2565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6200113e8162000e5b565b620011a25760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162000525565b6000805160206200207883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b620011dd8362001203565b600082511180620011eb5750805b1562000f9a57620011fd838362001245565b50505050565b6200120e8162001133565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606200126d8383604051806060016040528060278152602001620020b86027913962001274565b9392505050565b6060600080856001600160a01b03168560405162001293919062001b38565b600060405180830381855af49150503d8060008114620012d0576040519150601f19603f3d011682016040523d82523d6000602084013e620012d5565b606091505b5091509150620012e886838387620012f2565b9695505050505050565b60608315620013665782516000036200135e57620013108562000e5b565b6200135e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000525565b508162001372565b6200137283836200137a565b949350505050565b8151156200138b5781518083602001fd5b8060405162461bcd60e51b815260040162000525919062001b56565b6104ec8062001b6c83390190565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b03811681146200088957600080fd5b8035620013f981620013d6565b919050565b6000602082840312156200141157600080fd5b81356200126d81620013d6565b600080600080600060a086880312156200143757600080fd5b85356200144481620013d6565b945060208601356200145681620013d6565b935060408601356200146881620013d6565b925060608601356200147a81620013d6565b915060808601356200148c81620013d6565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b0381118282101715620014d657620014d66200149a565b60405290565b60006001600160401b0380841115620014f957620014f96200149a565b604051601f8501601f19908116603f011681019082821181831017156200152457620015246200149a565b816040528093508581528686860111156200153e57600080fd5b858560208301376000602087830101525050509392505050565b600080604083850312156200156c57600080fd5b82356200157981620013d6565b915060208301356001600160401b038111156200159557600080fd5b8301601f81018513620015a757600080fd5b620015b885823560208401620014dc565b9150509250929050565b80358015158114620013f957600080fd5b60008060408385031215620015e757600080fd5b8235620015f481620013d6565b91506200160460208401620015c2565b90509250929050565b600080604083850312156200162157600080fd5b82356200162e81620013d6565b946020939093013593505050565b600082601f8301126200164e57600080fd5b6200126d83833560208501620014dc565b6000604082840312156200167257600080fd5b604080519081016001600160401b0380821183831017156200169857620016986200149a565b81604052829350843583526020850135915080821115620016b857600080fd5b50620016c7858286016200163c565b6020830152505092915050565b600060208284031215620016e757600080fd5b81356001600160401b0380821115620016ff57600080fd5b9083019061018082860312156200171557600080fd5b6200171f620014b0565b6200172a83620013ec565b81526200173a60208401620013ec565b60208201526040830135604082015260608301356060820152608083013560808201526200176b60a08401620013ec565b60a08201526200177e60c08401620013ec565b60c082015260e0830135828111156200179657600080fd5b620017a4878286016200165f565b60e083015250610100620017ba818501620013ec565b908201526101208381013583811115620017d357600080fd5b620017e1888287016200163c565b828401525050610140620017f7818501620015c2565b9082015261016083810135838111156200181057600080fd5b6200181e888287016200163c565b918301919091525095945050505050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602c908201526000805160206200205883398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206200205883398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156200190657600080fd5b81516200126d81620013d6565b6000600182016200193457634e487b7160e01b600052601160045260246000fd5b5060010190565b60005b83811015620019585781810151838201526020016200193e565b50506000910152565b600081518084526200197b8160208601602086016200193b565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001372604085018262001961565b60808152620019c4608082018651620013b5565b60006020860151620019da60a0840182620013b5565b50604086015160c0830152606086015160e08301526080860151610100818185015260a0880151915061012062001a1481860184620013b5565b60c0890151925061014062001a2c81870185620013b5565b60e08a01519350610180610160818189015262001a4e6102008901876200198f565b948c015194955062001a6388830186620013b5565b838c01519450607f19935083888703016101a089015262001a85868662001961565b9550828c0151945062001a9d6101c089018615159052565b808c0151945050505080858403016101e08601525062001abe828262001961565b9250505062001ad16020830186620013b5565b62001ae06040830185620013b5565b62001aef6060830184620013b5565b95945050505050565b6001600160a01b0383168152604060208201819052600090620013729083018462001961565b60006020828403121562001b3157600080fd5b5051919050565b6000825162001b4c8184602087016200193b565b9190910192915050565b6020815260006200126d60208301846200196156fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212204fe6c3c3dccfaea0fd10fdd343631403db3c1555c6576ad816deaaa45c9f926764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656446756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9da264697066735822122085f69e1f9dc9e3070a8ed9af6745037b7872115a48f8402495a3c0731ebd6d0964736f6c63430008130033","sourceMap":"618:5756:117:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;799:40;;;;;;;;;;-1:-1:-1;799:40:117;;;;-1:-1:-1;;;;;799:40:117;;;;;;;;;;:::i;:::-;;;;;;;;6091:249;;;;;;;;;;-1:-1:-1;6091:249:117;;;;;:::i;:::-;;:::i;:::-;;;1004:25:142;;;992:2;977:18;6091:249:117;858:177:142;3291:788:117;;;;;;;;;;-1:-1:-1;3291:788:117;;;;;:::i;:::-;;:::i;:::-;;2370:110;;;;;;;;;;-1:-1:-1;2370:110:117;;;;;:::i;:::-;;:::i;4085:104::-;;;;;;;;;;-1:-1:-1;4085:104:117;;;;;:::i;:::-;;:::i;4195:::-;;;;;;;;;;-1:-1:-1;4195:104:117;;;;;:::i;:::-;;:::i;3143:195:64:-;;;;;;;;;;-1:-1:-1;3143:195:64;;;;;:::i;:::-;;:::i;3657:220::-;;;;;;:::i;:::-;;:::i;2762:131::-;;;;;;;;;;;;;:::i;5727:208:117:-;;;;;;;;;;-1:-1:-1;5727:208:117;;;;;:::i;:::-;;:::i;845:31::-;;;;;;;;;;-1:-1:-1;845:31:117;;;;-1:-1:-1;;;;;845:31:117;;;2068:128;;;;;;;;;;-1:-1:-1;2068:128:117;;;;;:::i;:::-;;:::i;2085:101:45:-;;;;;;;;;;;;;:::i;882:38:117:-;;;;;;;;;;-1:-1:-1;882:38:117;;;;-1:-1:-1;;;;;882:38:117;;;5154:222;;;;;;;;;;-1:-1:-1;5154:222:117;;;;;:::i;:::-;;:::i;525:604:105:-;;;;;;;;;;;;;:::i;5382:115:117:-;;;;;;;;;;-1:-1:-1;5472:18:117;;-1:-1:-1;;;;;5472:18:117;5382:115;;678:20;;;;;;;;;;;;;;;;2668:124;;;;;;;;;;-1:-1:-1;2668:124:117;;;;;:::i;:::-;;:::i;5503:218::-;;;;;;;;;;-1:-1:-1;5503:218:117;;;;;:::i;:::-;;:::i;760:33::-;;;;;;;;;;-1:-1:-1;760:33:117;;;;-1:-1:-1;;;;;760:33:117;;;4305:843;;;;;;;;;;-1:-1:-1;4305:843:117;;;;;:::i;:::-;;:::i;404:115:105:-;;;;;;;;;;-1:-1:-1;404:115:105;;;;;:::i;:::-;;:::i;2335:198:45:-;;;;;;;;;;-1:-1:-1;2335:198:45;;;;;:::i;:::-;;:::i;5941:144:117:-;;;;;;;;;;-1:-1:-1;5941:144:117;;;;;:::i;:::-;-1:-1:-1;;;;;6045:27:117;6022:4;6045:27;;;:15;:27;;;;;:33;;;;;;5941:144;;;;7207:14:142;;7200:22;7182:41;;7170:2;7155:18;5941:144:117;7042:187:142;6091:249:117;-1:-1:-1;;;;;6190:27:117;;6166:7;6190:27;;;:15;:27;;;;;:33;;;;;6185:100;;6263:10;6246:28;;-1:-1:-1;;;6246:28:117;;;;;;;;:::i;:::-;;;;;;;;6185:100;-1:-1:-1;;;;;;6302:27:117;;;;;:15;:27;;;;;:31;;6091:249::o;3291:788::-;3279:19:47;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:47;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;;3388:44;3426:4;3388:29;:44::i;:::-;3387:45;:66;;;;-1:-1:-1;3436:12:47;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:47;;;;;;;:::i;:::-;3536:12;:16;;-1:-1:-1;;3536:16:47;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:47;;;;;3562:65;3536:24:117::1;3553:6;3536:16;:24::i;:::-;3578:1;3570:5;:9:::0;3589:39:::1;3608:19:::0;3589:18:::1;:39::i;:::-;3638:46;3657:26;3638:18;:46::i;:::-;3694:44;3713:24;3694:18;:44::i;:::-;3748:18;:40:::0;;-1:-1:-1;;;;;3748:40:117;;::::1;-1:-1:-1::0;;;;;;3748:40:117;;::::1;;::::0;;;3798:25:::1;:54:::0;;;;::::1;::::0;;::::1;;::::0;;3862:16:::1;:36:::0;;;;::::1;::::0;;::::1;;::::0;;3908:23:::1;:50:::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;3973:35:::1;::::0;-1:-1:-1;;;;;;;;;;;3973:35:117;::::1;::::0;3769:19;;3973:35:::1;:::i;:::-;;;;;;;;3651:14:47::0;3647:99;;;3697:5;3681:21;;-1:-1:-1;;3681:21:47;;;3721:14;;-1:-1:-1;7801:36:142;;-1:-1:-1;;;;;;;;;;;3721:14:47;7789:2:142;7774:18;3721:14:47;;;;;;;3647:99;3269:483;3291:788:117;;;;;:::o;2370:110::-;1355:13:45;:11;:13::i;:::-;2446:16:117::1;:27:::0;;-1:-1:-1;;;;;;2446:27:117::1;-1:-1:-1::0;;;;;2446:27:117;;;::::1;::::0;;;::::1;::::0;;2370:110::o;4085:104::-;4882:13:47;;4144:1:117;;4882:13:47;;;;;4881:14;:40;;;;-1:-1:-1;4899:12:47;;:22;;;;:12;;:22;4881:40;4873:99;;;;-1:-1:-1;;;4873:99:47;;;;;;;:::i;:::-;4982:12;:22;;-1:-1:-1;;5014:20:47;4982:22;;;5014:20;4982:22;5014:20;;;4157:25:117::1;4175:6:::0;4157:17:::1;:25::i;:::-;5071:5:47::0;5055:21;;-1:-1:-1;;5055:21:47;;;5091:20;;7831:4:142;7819:17;;7801:36;;-1:-1:-1;;;;;;;;;;;5091:20:47;7789:2:142;7774:18;5091:20:47;;;;;;;;4085:104:117;;:::o;4195:::-;4882:13:47;;4254:1:117;;4882:13:47;;;;;4881:14;:40;;;;-1:-1:-1;4899:12:47;;:22;;;;:12;;:22;4873:99;;;;-1:-1:-1;;;4873:99:47;;;;;;;:::i;3143:195:64:-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3224:36:::1;3242:17;3224;:36::i;:::-;3311:12;::::0;;3321:1:::1;3311:12:::0;;;::::1;::::0;::::1;::::0;;;3270:61:::1;::::0;3292:17;;3311:12;3270:21:::1;:61::i;:::-;3143:195:::0;:::o;3657:220::-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3772:36:::1;3790:17;3772;:36::i;:::-;3818:52;3840:17;3859:4;3865;3818:21;:52::i;:::-;3657:220:::0;;:::o;2762:131::-;2840:7;2080:4;-1:-1:-1;;;;;2089:6:64;2072:23;;2064:92;;;;-1:-1:-1;;;2064:92:64;;9065:2:142;2064:92:64;;;9047:21:142;9104:2;9084:18;;;9077:30;9143:34;9123:18;;;9116:62;-1:-1:-1;;;9194:18:142;;;9187:54;9258:19;;2064:92:64;8863:420:142;2064:92:64;-1:-1:-1;;;;;;;;;;;;2762:131:64;:::o;5727:208:117:-;1355:13:45;:11;:13::i;:::-;-1:-1:-1;;;;;5827:27:117;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:33:::1;;:44:::0;;-1:-1:-1;;5827:44:117::1;::::0;::::1;;::::0;;::::1;::::0;;;5886:42;;9456:51:142;;;9523:18;;;9516:50;5886:42:117::1;::::0;9429:18:142;5886:42:117::1;9288:284:142::0;2068:128:117;1355:13:45;:11;:13::i;:::-;2153:25:117::1;:36:::0;;-1:-1:-1;;;;;;2153:36:117::1;-1:-1:-1::0;;;;;2153:36:117;;;::::1;::::0;;;::::1;::::0;;2068:128::o;2085:101:45:-;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;:::-;2085:101::o:0;5154:222:117:-;1355:13:45;:11;:13::i;:::-;5242:35:117::1;5261:15;5242:18;:35::i;:::-;5287:18;:36:::0;;-1:-1:-1;;;;;;5287:36:117::1;-1:-1:-1::0;;;;;5287:36:117;::::1;;::::0;;5338:31:::1;::::0;-1:-1:-1;;;;;;;;;;;5338:31:117;::::1;::::0;5287:36;;5338:31:::1;:::i;:::-;;;;;;;;5154:222:::0;:::o;525:604:105:-;572:7;591:20;614:26;1534:6:45;;-1:-1:-1;;;;;1534:6:45;;1462:85;614:26:105;591:49;;715:12;-1:-1:-1;;;;;707:33:105;;744:1;707:38;703:420;;829:12;525:604;-1:-1:-1;525:604:105:o;703:420::-;895:12;-1:-1:-1;;;;;876:38:105;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;876:40:105;;;;;;;;-1:-1:-1;;876:40:105;;;;;;;;;;;;:::i;:::-;;;872:241;;1086:12;525:604;-1:-1:-1;525:604:105:o;872:241::-;967:6;525:604;-1:-1:-1;;525:604:105:o;2668:124:117:-;1355:13:45;:11;:13::i;:::-;2751:23:117::1;:34:::0;;-1:-1:-1;;;;;;2751:34:117::1;-1:-1:-1::0;;;;;2751:34:117;;;::::1;::::0;;;::::1;::::0;;2668:124::o;5503:218::-;1355:13:45;:11;:13::i;:::-;-1:-1:-1;;;;;5607:27:117;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:49;;;5671:43;;10007:51:142;;;10074:18;;10067:34;;;5671:43:117::1;::::0;9980:18:142;5671:43:117::1;9833:274:142::0;4305:843:117;4493:5;:7;;4430:31;;;4493:7;;;:::i;:::-;;;;-1:-1:-1;4477:13:117;;;:23;4544:4;4510:23;;;:39;4619:25;;4750:16;;4768:23;;-1:-1:-1;;;;;;;4619:25:117;;;;-1:-1:-1;;;4699:41:117;4477:6;;4750:16;;;;4768:23;4793:7;:5;:7::i;:::-;4659:155;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4659:155:117;;;;;;;;;;;;;;-1:-1:-1;;;;;4659:155:117;-1:-1:-1;;;;;;4659:155:117;;;;;;;;;;4581:243;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4983:43:117;;4835:39;4983:43;;;:15;:43;;;;;;;5035:4;4983:49;;;:56;;-1:-1:-1;;4983:56:117;;;;;;5054:44;4560:264;;-1:-1:-1;4560:264:117;;5054:44;;;;4560:264;;5054:44;:::i;:::-;;;;;;;;5123:17;4305:843;-1:-1:-1;;;4305:843:117:o;404:115:105:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;13702:2:142;5366:69:47;;;13684:21:142;13741:2;13721:18;;;13714:30;13780:34;13760:18;;;13753:62;-1:-1:-1;;;13831:18:142;;;13824:41;13882:19;;5366:69:47;13500:407:142;5366:69:47;480:32:105::1;499:12;480:18;:32::i;2335:198:45:-:0;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:45;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:45;;14114:2:142;2415:73:45::1;::::0;::::1;14096:21:142::0;14153:2;14133:18;;;14126:30;14192:34;14172:18;;;14165:62;-1:-1:-1;;;14243:18:142;;;14236:36;14289:19;;2415:73:45::1;13912:402:142::0;1423:320:50;-1:-1:-1;;;;;1713:19:50;;:23;;;1423:320::o;1753:141:117:-;-1:-1:-1;;;;;1835:22:117;;1831:56;;1866:21;;-1:-1:-1;;;1866:21:117;;;;;;;;;;;1620:130:45;965:10:51;1683:7:45;:5;:7::i;:::-;-1:-1:-1;;;;;1683:23:45;;1675:68;;;;-1:-1:-1;;;1675:68:45;;14521:2:142;1675:68:45;;;14503:21:142;;;14540:18;;;14533:30;14599:34;14579:18;;;14572:62;14651:18;;1675:68:45;14319:356:142;1175:140:60;-1:-1:-1;;;;;;;;;;;1254:54:60;-1:-1:-1;;;;;1254:54:60;;1175:140::o;1135:169:105:-;1219:10;1208:7;:5;:7::i;:::-;-1:-1:-1;;;;;1208:21:105;;1204:94;;1267:10;1279:7;:5;:7::i;:::-;1252:35;;-1:-1:-1;;;1252:35:105;;-1:-1:-1;;;;;14910:15:142;;;1252:35:105;;;14892:34:142;14962:15;;14942:18;;;14935:43;14827:18;;1252:35:105;14680:304:142;2494:922:60;689:66;2910:48;;;2906:504;;;2974:37;2993:17;2974:18;:37::i;:::-;2494:922;;;:::o;2906:504::-;3064:17;-1:-1:-1;;;;;3046:50:60;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3046:52:60;;;;;;;;-1:-1:-1;;3046:52:60;;;;;;;;;;;;:::i;:::-;;;3042:291;;3262:56;;-1:-1:-1;;;3262:56:60;;15380:2:142;3262:56:60;;;15362:21:142;15419:2;15399:18;;;15392:30;15458:34;15438:18;;;15431:62;-1:-1:-1;;;15509:18:142;;;15502:44;15563:19;;3262:56:60;15178:410:142;3042:291:60;-1:-1:-1;;;;;;;;;;;3148:28:60;;3140:82;;;;-1:-1:-1;;;3140:82:60;;15795:2:142;3140:82:60;;;15777:21:142;15834:2;15814:18;;;15807:30;15873:34;15853:18;;;15846:62;-1:-1:-1;;;15924:18:142;;;15917:39;15973:19;;3140:82:60;15593:405:142;3140:82:60;3099:138;3346:53;3364:17;3383:4;3389:9;3346:17;:53::i;2687:187:45:-;2779:6;;;-1:-1:-1;;;;;2795:17:45;;;-1:-1:-1;;;;;;2795:17:45;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;1406:259:60:-;1487:37;1506:17;1487:18;:37::i;:::-;1479:95;;;;-1:-1:-1;;;1479:95:60;;16205:2:142;1479:95:60;;;16187:21:142;16244:2;16224:18;;;16217:30;16283:34;16263:18;;;16256:62;-1:-1:-1;;;16334:18:142;;;16327:43;16387:19;;1479:95:60;16003:409:142;1479:95:60;-1:-1:-1;;;;;;;;;;;1584:74:60;;-1:-1:-1;;;;;;1584:74:60;-1:-1:-1;;;;;1584:74:60;;;;;;;;;;1406:259::o;2057:265::-;2165:29;2176:17;2165:10;:29::i;:::-;2222:1;2208:4;:11;:15;:28;;;;2227:9;2208:28;2204:112;;;2252:53;2281:17;2300:4;2252:28;:53::i;:::-;;2057:265;;;:::o;1771:152::-;1837:37;1856:17;1837:18;:37::i;:::-;1889:27;;-1:-1:-1;;;;;1889:27:60;;;;;;;;1771:152;:::o;6674:198:76:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6781:84;6674:198;-1:-1:-1;;;6674:198:76:o;7058:325::-;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:76;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:76:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;8121:18;8132:6;8121:10;:18::i;:::-;8113:60;;;;-1:-1:-1;;;8113:60:76;;16911:2:142;8113:60:76;;;16893:21:142;16950:2;16930:18;;;16923:30;16989:31;16969:18;;;16962:59;17038:18;;8113:60:76;16709:353:142;8113:60:76;-1:-1:-1;8208:10:76;8201:17;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;:::-;7671:628;;;;;;:::o;8821:540::-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:76;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;:::o;14:104:142:-;-1:-1:-1;;;;;80:31:142;68:44;;14:104::o;123:203::-;-1:-1:-1;;;;;287:32:142;;;;269:51;;257:2;242:18;;123:203::o;331:131::-;-1:-1:-1;;;;;406:31:142;;396:42;;386:70;;452:1;449;442:12;467:134;535:20;;564:31;535:20;564:31;:::i;:::-;467:134;;;:::o;606:247::-;665:6;718:2;706:9;697:7;693:23;689:32;686:52;;;734:1;731;724:12;686:52;773:9;760:23;792:31;817:5;792:31;:::i;1040:813::-;1135:6;1143;1151;1159;1167;1220:3;1208:9;1199:7;1195:23;1191:33;1188:53;;;1237:1;1234;1227:12;1188:53;1276:9;1263:23;1295:31;1320:5;1295:31;:::i;:::-;1345:5;-1:-1:-1;1402:2:142;1387:18;;1374:32;1415:33;1374:32;1415:33;:::i;:::-;1467:7;-1:-1:-1;1526:2:142;1511:18;;1498:32;1539:33;1498:32;1539:33;:::i;:::-;1591:7;-1:-1:-1;1650:2:142;1635:18;;1622:32;1663:33;1622:32;1663:33;:::i;:::-;1715:7;-1:-1:-1;1774:3:142;1759:19;;1746:33;1788;1746;1788;:::i;:::-;1840:7;1830:17;;;1040:813;;;;;;;;:::o;1858:127::-;1919:10;1914:3;1910:20;1907:1;1900:31;1950:4;1947:1;1940:15;1974:4;1971:1;1964:15;1990:250;2057:2;2051:9;2099:6;2087:19;;-1:-1:-1;;;;;2121:34:142;;2157:22;;;2118:62;2115:88;;;2183:18;;:::i;:::-;2219:2;2212:22;1990:250;:::o;2245:631::-;2309:5;-1:-1:-1;;;;;2369:14:142;;;2366:40;;;2386:18;;:::i;:::-;2461:2;2455:9;2429:2;2515:15;;-1:-1:-1;;2511:24:142;;;2537:2;2507:33;2503:42;2491:55;;;2561:18;;;2581:22;;;2558:46;2555:72;;;2607:18;;:::i;:::-;2647:10;2643:2;2636:22;2676:6;2667:15;;2706:6;2698;2691:22;2746:3;2737:6;2732:3;2728:16;2725:25;2722:45;;;2763:1;2760;2753:12;2722:45;2813:6;2808:3;2801:4;2793:6;2789:17;2776:44;2868:1;2861:4;2852:6;2844;2840:19;2836:30;2829:41;;;;2245:631;;;;;:::o;2881:584::-;2958:6;2966;3019:2;3007:9;2998:7;2994:23;2990:32;2987:52;;;3035:1;3032;3025:12;2987:52;3074:9;3061:23;3093:31;3118:5;3093:31;:::i;:::-;3143:5;-1:-1:-1;3199:2:142;3184:18;;3171:32;-1:-1:-1;;;;;3215:30:142;;3212:50;;;3258:1;3255;3248:12;3212:50;3281:22;;3334:4;3326:13;;3322:27;-1:-1:-1;3312:55:142;;3363:1;3360;3353:12;3312:55;3386:73;3451:7;3446:2;3433:16;3428:2;3424;3420:11;3386:73;:::i;:::-;3376:83;;;2881:584;;;;;:::o;3652:160::-;3717:20;;3773:13;;3766:21;3756:32;;3746:60;;3802:1;3799;3792:12;3817:315;3882:6;3890;3943:2;3931:9;3922:7;3918:23;3914:32;3911:52;;;3959:1;3956;3949:12;3911:52;3998:9;3985:23;4017:31;4042:5;4017:31;:::i;:::-;4067:5;-1:-1:-1;4091:35:142;4122:2;4107:18;;4091:35;:::i;:::-;4081:45;;3817:315;;;;;:::o;4137:::-;4205:6;4213;4266:2;4254:9;4245:7;4241:23;4237:32;4234:52;;;4282:1;4279;4272:12;4234:52;4321:9;4308:23;4340:31;4365:5;4340:31;:::i;:::-;4390:5;4442:2;4427:18;;;;4414:32;;-1:-1:-1;;;4137:315:142:o;4457:221::-;4500:5;4553:3;4546:4;4538:6;4534:17;4530:27;4520:55;;4571:1;4568;4561:12;4520:55;4593:79;4668:3;4659:6;4646:20;4639:4;4631:6;4627:17;4593:79;:::i;4683:610::-;4738:5;4786:4;4774:9;4769:3;4765:19;4761:30;4758:50;;;4804:1;4801;4794:12;4758:50;4837:4;4831:11;;;4869:17;;-1:-1:-1;;;;;4938:18:142;;;4958:22;;;4935:46;4932:72;;;4984:18;;:::i;:::-;5026:10;5020:4;5013:24;5055:6;5046:15;;5098:9;5085:23;5077:6;5070:39;5160:2;5149:9;5145:18;5132:32;5118:46;;5187:2;5179:6;5176:14;5173:34;;;5203:1;5200;5193:12;5173:34;;5240:46;5282:3;5273:6;5262:9;5258:22;5240:46;:::i;:::-;5235:2;5227:6;5223:15;5216:71;;;4683:610;;;;:::o;5298:1643::-;5413:6;5466:2;5454:9;5445:7;5441:23;5437:32;5434:52;;;5482:1;5479;5472:12;5434:52;5509:23;;-1:-1:-1;;;;;5581:14:142;;;5578:34;;;5608:1;5605;5598:12;5578:34;5631:22;;;;5687:6;5669:16;;;5665:29;5662:49;;;5707:1;5704;5697:12;5662:49;5733:17;;:::i;:::-;5773:22;5792:2;5773:22;:::i;:::-;5766:5;5759:37;5828:31;5855:2;5851;5847:11;5828:31;:::i;:::-;5823:2;5816:5;5812:14;5805:55;5913:2;5909;5905:11;5892:25;5887:2;5880:5;5876:14;5869:49;5971:2;5967;5963:11;5950:25;5945:2;5938:5;5934:14;5927:49;6030:3;6026:2;6022:12;6009:26;6003:3;5996:5;5992:15;5985:51;6069:32;6096:3;6092:2;6088:12;6069:32;:::i;:::-;6063:3;6056:5;6052:15;6045:57;6135:32;6162:3;6158:2;6154:12;6135:32;:::i;:::-;6129:3;6122:5;6118:15;6111:57;6214:3;6210:2;6206:12;6193:26;6244:2;6234:8;6231:16;6228:36;;;6260:1;6257;6250:12;6228:36;6297:54;6343:7;6332:8;6328:2;6324:17;6297:54;:::i;:::-;6291:3;6284:5;6280:15;6273:79;;6371:3;6406:31;6433:2;6429;6425:11;6406:31;:::i;:::-;6390:14;;;6383:55;6457:3;6498:11;;;6485:25;6522:16;;;6519:36;;;6551:1;6548;6541:12;6519:36;6587:45;6624:7;6613:8;6609:2;6605:17;6587:45;:::i;:::-;6582:2;6575:5;6571:14;6564:69;;;6652:3;6687:28;6711:2;6707;6703:11;6687:28;:::i;:::-;6671:14;;;6664:52;6735:3;6776:11;;;6763:25;6800:16;;;6797:36;;;6829:1;6826;6819:12;6797:36;6865:45;6902:7;6891:8;6887:2;6883:17;6865:45;:::i;:::-;6849:14;;;6842:69;;;;-1:-1:-1;6853:5:142;5298:1643;-1:-1:-1;;;;;5298:1643:142:o;7234:410::-;7436:2;7418:21;;;7475:2;7455:18;;;7448:30;7514:34;7509:2;7494:18;;7487:62;-1:-1:-1;;;7580:2:142;7565:18;;7558:44;7634:3;7619:19;;7234:410::o;8037:408::-;8239:2;8221:21;;;8278:2;8258:18;;;8251:30;-1:-1:-1;;;;;;;;;;;8312:2:142;8297:18;;8290:62;-1:-1:-1;;;8383:2:142;8368:18;;8361:42;8435:3;8420:19;;8037:408::o;8450:::-;8652:2;8634:21;;;8691:2;8671:18;;;8664:30;-1:-1:-1;;;;;;;;;;;8725:2:142;8710:18;;8703:62;-1:-1:-1;;;8796:2:142;8781:18;;8774:42;8848:3;8833:19;;8450:408::o;9577:251::-;9647:6;9700:2;9688:9;9679:7;9675:23;9671:32;9668:52;;;9716:1;9713;9706:12;9668:52;9748:9;9742:16;9767:31;9792:5;9767:31;:::i;10112:232::-;10151:3;10172:17;;;10169:140;;10231:10;10226:3;10222:20;10219:1;10212:31;10266:4;10263:1;10256:15;10294:4;10291:1;10284:15;10169:140;-1:-1:-1;10336:1:142;10325:13;;10112:232::o;10349:250::-;10434:1;10444:113;10458:6;10455:1;10452:13;10444:113;;;10534:11;;;10528:18;10515:11;;;10508:39;10480:2;10473:10;10444:113;;;-1:-1:-1;;10591:1:142;10573:16;;10566:27;10349:250::o;10604:271::-;10646:3;10684:5;10678:12;10711:6;10706:3;10699:19;10727:76;10796:6;10789:4;10784:3;10780:14;10773:4;10766:5;10762:16;10727:76;:::i;:::-;10857:2;10836:15;-1:-1:-1;;10832:29:142;10823:39;;;;10864:4;10819:50;;10604:271;-1:-1:-1;;10604:271:142:o;10880:252::-;10967:5;10961:12;10956:3;10949:25;10931:3;11020:4;11013:5;11009:16;11003:23;11058:4;11051;11046:3;11042:14;11035:28;11079:47;11120:4;11115:3;11111:14;11097:12;11079:47;:::i;11137:2038::-;11462:3;11451:9;11444:22;11475:54;11524:3;11513:9;11509:19;11500:6;11494:13;11475:54;:::i;:::-;11425:4;11576;11568:6;11564:17;11558:24;11591:53;11639:3;11628:9;11624:19;11610:12;11591:53;:::i;:::-;;11699:4;11691:6;11687:17;11681:24;11675:3;11664:9;11660:19;11653:53;11761:4;11753:6;11749:17;11743:24;11737:3;11726:9;11722:19;11715:53;11805:3;11797:6;11793:16;11787:23;11829:3;11868:2;11863;11852:9;11848:18;11841:30;11920:3;11912:6;11908:16;11902:23;11880:45;;11944:3;11956:54;12006:2;11995:9;11991:18;11975:14;11956:54;:::i;:::-;12059:3;12051:6;12047:16;12041:23;12019:45;;12083:3;12095:54;12145:2;12134:9;12130:18;12114:14;12095:54;:::i;:::-;12198:3;12190:6;12186:16;12180:23;12158:45;;12222:6;12247:3;12286:2;12281;12270:9;12266:18;12259:30;12312:63;12370:3;12359:9;12355:19;12339:14;12312:63;:::i;:::-;12412:15;;;12406:22;12298:77;;-1:-1:-1;12437:54:142;12472:18;;;12406:22;12437:54;:::i;:::-;12540:2;12532:6;12528:15;12522:22;12500:44;;12567:3;12563:8;12553:18;;12636:2;12624:9;12616:6;12612:22;12608:31;12602:3;12591:9;12587:19;12580:60;12663:41;12697:6;12681:14;12663:41;:::i;:::-;12649:55;;12753:2;12745:6;12741:15;12735:22;12713:44;;12766:52;12813:3;12802:9;12798:19;12782:14;7016:13;7009:21;6997:34;;6946:91;12766:52;12867:2;12859:6;12855:15;12849:22;12827:44;;;;;12936:2;12924:9;12916:6;12912:22;12908:31;12902:3;12891:9;12887:19;12880:60;;12957:41;12991:6;12975:14;12957:41;:::i;:::-;12949:49;;;;13007:48;13049:4;13038:9;13034:20;13026:6;13007:48;:::i;:::-;13064;13106:4;13095:9;13091:20;13083:6;13064:48;:::i;:::-;13121;13163:4;13152:9;13148:20;13140:6;13121:48;:::i;:::-;11137:2038;;;;;;;:::o;13180:315::-;-1:-1:-1;;;;;13355:32:142;;13337:51;;13424:2;13419;13404:18;;13397:30;;;-1:-1:-1;;13444:45:142;;13470:18;;13462:6;13444:45;:::i;14989:184::-;15059:6;15112:2;15100:9;15091:7;15087:23;15083:32;15080:52;;;15128:1;15125;15118:12;15080:52;-1:-1:-1;15151:16:142;;14989:184;-1:-1:-1;14989:184:142:o;16417:287::-;16546:3;16584:6;16578:13;16600:66;16659:6;16654:3;16647:4;16639:6;16635:17;16600:66;:::i;:::-;16682:16;;;;;16417:287;-1:-1:-1;;16417:287:142:o;17067:220::-;17216:2;17205:9;17198:21;17179:4;17236:45;17277:2;17266:9;17262:18;17254:6;17236:45;:::i","linkReferences":{},"immutableReferences":{"55572":[{"start":1986,"length":32},{"start":2053,"length":32},{"start":2198,"length":32},{"start":2265,"length":32},{"start":2398,"length":32}]}},"methodIdentifiers":{"collateralVaultTemplate()":"77122d56","createRegistry((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string))":"beb331a3","gardensFeeReceiver()":"b8bed901","getCommunityValidity(address)":"f5016b5e","getGardensFeeReceiver()":"987435be","getProtocolFee(address)":"0a992e0c","initialize(address)":"c4d66de8","initialize(address,address,address,address,address)":"1459457a","initializeV2(address)":"29b6eca9","initializeV3(address)":"3101cfcb","nonce()":"affed0e0","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","registryCommunityTemplate()":"02c1d0b1","renounceOwnership()":"715018a6","setCollateralVaultTemplate(address)":"b0d3713a","setCommunityValidity(address,bool)":"5a2c8ace","setProtocolFee(address,uint256)":"b5b3ca2c","setReceiverAddress(address)":"8279c7db","setRegistryCommunityTemplate(address)":"5decae02","setStrategyTemplate(address)":"1b71f0e4","strategyTemplate()":"5c94e4d2","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"CallerNotOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"CommunityInvalid\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_registryCommunity\",\"type\":\"address\"}],\"name\":\"CommunityCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"CommunityValiditySet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"FeeReceiverSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"collateralVaultTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"}],\"internalType\":\"struct RegistryCommunityInitializeParamsV0_0\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"createRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_createdRegistryAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getCommunityValidity\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getProtocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_gardensFeeReceiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registryCommunityTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"initializeV2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"initializeV3\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryCommunityTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setCollateralVaultTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"setCommunityValidity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"setProtocolFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"setReceiverAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setRegistryCommunityTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setStrategyTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategyTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"RegistryFactory\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"initialize(address,address,address,address,address)\":{\"params\":{\"_collateralVaultTemplate\":\": address of the template contract for creating new collateral vaults\",\"_gardensFeeReceiver\":\": address of the receiver of the fees\",\"_owner\":\": address of the owner of the registry\",\"_registryCommunityTemplate\":\": address of the template contract for creating new registries\",\"_strategyTemplate\":\": address of the template contract for creating new strategies\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setCollateralVaultTemplate(address)\":{\"details\":\"Set the address of the template contract for creating new collateral vaults\",\"params\":{\"template\":\": address of the template contract for creating new collateral vaults\"}},\"setRegistryCommunityTemplate(address)\":{\"details\":\"Set the address of the template contract for creating new registries\",\"params\":{\"template\":\": address of the template contract for creating new registries\"}},\"setStrategyTemplate(address)\":{\"details\":\"Set the address of the template contract for creating new strategies\",\"params\":{\"template\":\": address of the template contract for creating new strategies\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/diamonds/facets/RegistryFactoryFacet.sol\":\"RegistryFactoryFacet\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293\",\"dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0xc3aed28a3fec8dcc2e95c8569aa2c4323897a1685c63746822956fe995eddf28\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c4126fea7a0d30c76aab94605930ed01c7e53df2f4a7bba4773c097904d5eb39\",\"dweb:/ipfs/QmNsDu9G5JKCXdTs1HmEyVcR3S4DhuiZRt2bEPVNYGckgw\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol\":{\"keccak256\":\"0x7ac113b4d9b37166aa2453c1bdbb04db3aa4a2e8445b947b36034a59ea2d7290\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://74a5dfd911f0579d4c2cf49669e0b1e06c88f3764cca83cf95579c4db671de40\",\"dweb:/ipfs/QmQm2LGi4KLV7yPY3sMbD44n7crAuGQwp6fJ8a8C5WQBYa\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x6b05f27573e30362ec808b4d79f8156550a8dd5090b107b46928ab8d87be3c87\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://134753f1a9a463e4193ffa2b2f6e32813b7a3d7603ddacaedf0f65a6a72c864a\",\"dweb:/ipfs/QmZnQa6a3aFUvxdT1yaj72DBQUShfq5okHshhHwGv85Mdq\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol\":{\"keccak256\":\"0x30e941996ee5d85123b7287e4c56fb642644624fcd7bd54ec5cc6d9c35929659\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d05002caba8d60e778bd4e27da3f3e93e8ecc33814902e8bad2b3d1eb65027b0\",\"dweb:/ipfs/QmZYjLmM48816YfFPXNxf3XwjJ3DLQ58mSPP8hRDBAnNtQ\"]},\"pkg/contracts/src/diamonds/facets/RegistryFactoryFacet.sol\":{\"keccak256\":\"0xc968bc0e640a9e5697b306c0c6b3086fed1fcf95c518b40f403b394c0a768ec5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c6537a9df83d18a66a36f4fbec8f92a28ea531a470b87e768c56912ca1f18b8c\",\"dweb:/ipfs/QmQpLNVkqkbtczd6H9mvvuRMDE8vv8MqHUnfmMM5GqFD3g\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"type":"error","name":"CallerNotOwner"},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"type":"error","name":"CommunityInvalid"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"_registryCommunity","type":"address","indexed":false}],"type":"event","name":"CommunityCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"bool","name":"_isValid","type":"bool","indexed":false}],"type":"event","name":"CommunityValiditySet","anonymous":false},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address","indexed":false}],"type":"event","name":"FeeReceiverSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256","indexed":false}],"type":"event","name":"ProtocolFeeSet","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVaultTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"struct RegistryCommunityInitializeParamsV0_0","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createRegistry","outputs":[{"internalType":"address","name":"_createdRegistryAddress","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getCommunityValidity","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getGardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getProtocolFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_gardensFeeReceiver","type":"address"},{"internalType":"address","name":"_registryCommunityTemplate","type":"address"},{"internalType":"address","name":"_strategyTemplate","type":"address"},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initializeV2"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initializeV3"},{"inputs":[],"stateMutability":"view","type":"function","name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryCommunityTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCollateralVaultTemplate"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"bool","name":"_isValid","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityValidity"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setProtocolFee"},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setReceiverAddress"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRegistryCommunityTemplate"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setStrategyTemplate"},{"inputs":[],"stateMutability":"view","type":"function","name":"strategyTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"initialize(address,address,address,address,address)":{"params":{"_collateralVaultTemplate":": address of the template contract for creating new collateral vaults","_gardensFeeReceiver":": address of the receiver of the fees","_owner":": address of the owner of the registry","_registryCommunityTemplate":": address of the template contract for creating new registries","_strategyTemplate":": address of the template contract for creating new strategies"}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setCollateralVaultTemplate(address)":{"details":"Set the address of the template contract for creating new collateral vaults","params":{"template":": address of the template contract for creating new collateral vaults"}},"setRegistryCommunityTemplate(address)":{"details":"Set the address of the template contract for creating new registries","params":{"template":": address of the template contract for creating new registries"}},"setStrategyTemplate(address)":{"details":"Set the address of the template contract for creating new strategies","params":{"template":": address of the template contract for creating new strategies"}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/diamonds/facets/RegistryFactoryFacet.sol":"RegistryFactoryFacet"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2","urls":["bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293","dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0xc3aed28a3fec8dcc2e95c8569aa2c4323897a1685c63746822956fe995eddf28","urls":["bzz-raw://c4126fea7a0d30c76aab94605930ed01c7e53df2f4a7bba4773c097904d5eb39","dweb:/ipfs/QmNsDu9G5JKCXdTs1HmEyVcR3S4DhuiZRt2bEPVNYGckgw"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol":{"keccak256":"0x7ac113b4d9b37166aa2453c1bdbb04db3aa4a2e8445b947b36034a59ea2d7290","urls":["bzz-raw://74a5dfd911f0579d4c2cf49669e0b1e06c88f3764cca83cf95579c4db671de40","dweb:/ipfs/QmQm2LGi4KLV7yPY3sMbD44n7crAuGQwp6fJ8a8C5WQBYa"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0x6b05f27573e30362ec808b4d79f8156550a8dd5090b107b46928ab8d87be3c87","urls":["bzz-raw://134753f1a9a463e4193ffa2b2f6e32813b7a3d7603ddacaedf0f65a6a72c864a","dweb:/ipfs/QmZnQa6a3aFUvxdT1yaj72DBQUShfq5okHshhHwGv85Mdq"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol":{"keccak256":"0x30e941996ee5d85123b7287e4c56fb642644624fcd7bd54ec5cc6d9c35929659","urls":["bzz-raw://d05002caba8d60e778bd4e27da3f3e93e8ecc33814902e8bad2b3d1eb65027b0","dweb:/ipfs/QmZYjLmM48816YfFPXNxf3XwjJ3DLQ58mSPP8hRDBAnNtQ"],"license":"AGPL-3.0-only"},"pkg/contracts/src/diamonds/facets/RegistryFactoryFacet.sol":{"keccak256":"0xc968bc0e640a9e5697b306c0c6b3086fed1fcf95c518b40f403b394c0a768ec5","urls":["bzz-raw://c6537a9df83d18a66a36f4fbec8f92a28ea531a470b87e768c56912ca1f18b8c","dweb:/ipfs/QmQpLNVkqkbtczd6H9mvvuRMDE8vv8MqHUnfmMM5GqFD3g"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":52990,"contract":"pkg/contracts/src/diamonds/facets/RegistryFactoryFacet.sol:RegistryFactoryFacet","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52993,"contract":"pkg/contracts/src/diamonds/facets/RegistryFactoryFacet.sol:RegistryFactoryFacet","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53695,"contract":"pkg/contracts/src/diamonds/facets/RegistryFactoryFacet.sol:RegistryFactoryFacet","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52782,"contract":"pkg/contracts/src/diamonds/facets/RegistryFactoryFacet.sol:RegistryFactoryFacet","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52902,"contract":"pkg/contracts/src/diamonds/facets/RegistryFactoryFacet.sol:RegistryFactoryFacet","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":74537,"contract":"pkg/contracts/src/diamonds/facets/RegistryFactoryFacet.sol:RegistryFactoryFacet","label":"nonce","offset":0,"slot":"101","type":"t_uint256"},{"astId":74542,"contract":"pkg/contracts/src/diamonds/facets/RegistryFactoryFacet.sol:RegistryFactoryFacet","label":"communityToInfo","offset":0,"slot":"102","type":"t_mapping(t_address,t_struct(CommunityInfo)74532_storage)"},{"astId":74544,"contract":"pkg/contracts/src/diamonds/facets/RegistryFactoryFacet.sol:RegistryFactoryFacet","label":"gardensFeeReceiver","offset":0,"slot":"103","type":"t_address"},{"astId":74546,"contract":"pkg/contracts/src/diamonds/facets/RegistryFactoryFacet.sol:RegistryFactoryFacet","label":"registryCommunityTemplate","offset":0,"slot":"104","type":"t_address"},{"astId":74548,"contract":"pkg/contracts/src/diamonds/facets/RegistryFactoryFacet.sol:RegistryFactoryFacet","label":"strategyTemplate","offset":0,"slot":"105","type":"t_address"},{"astId":74550,"contract":"pkg/contracts/src/diamonds/facets/RegistryFactoryFacet.sol:RegistryFactoryFacet","label":"collateralVaultTemplate","offset":0,"slot":"106","type":"t_address"},{"astId":74912,"contract":"pkg/contracts/src/diamonds/facets/RegistryFactoryFacet.sol:RegistryFactoryFacet","label":"__gap","offset":0,"slot":"107","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_struct(CommunityInfo)74532_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct CommunityInfo)","numberOfBytes":"32","value":"t_struct(CommunityInfo)74532_storage"},"t_struct(CommunityInfo)74532_storage":{"encoding":"inplace","label":"struct CommunityInfo","numberOfBytes":"64","members":[{"astId":74529,"contract":"pkg/contracts/src/diamonds/facets/RegistryFactoryFacet.sol:RegistryFactoryFacet","label":"fee","offset":0,"slot":"0","type":"t_uint256"},{"astId":74531,"contract":"pkg/contracts/src/diamonds/facets/RegistryFactoryFacet.sol:RegistryFactoryFacet","label":"valid","offset":0,"slot":"1","type":"t_bool"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/diamonds/facets/RegistryFactoryFacet.sol","id":74914,"exportedSymbols":{"Clone":[3002],"CommunityInfo":[74532],"ERC1967Proxy":[55021],"ProxyOwnableUpgrader":[70711],"RegistryCommunityInitializeParamsV0_0":[70795],"RegistryCommunityV0_0":[72700],"RegistryCommunityV0_1":[72929],"RegistryFactoryFacet":[74913]},"nodeType":"SourceUnit","src":"42:6333:117","nodes":[{"id":74516,"nodeType":"PragmaDirective","src":"42:24:117","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":74519,"nodeType":"ImportDirective","src":"68:136:117","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol","file":"@src/RegistryCommunity/RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":74914,"sourceUnit":72701,"symbolAliases":[{"foreign":{"id":74517,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72700,"src":"81:21:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":74518,"name":"RegistryCommunityInitializeParamsV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70795,"src":"108:37:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74521,"nodeType":"ImportDirective","src":"205:88:117","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol","file":"@src/RegistryCommunity/RegistryCommunityV0_1.sol","nameLocation":"-1:-1:-1","scope":74914,"sourceUnit":72930,"symbolAliases":[{"foreign":{"id":74520,"name":"RegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72929,"src":"213:21:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74523,"nodeType":"ImportDirective","src":"294:67:117","nodes":[],"absolutePath":"pkg/contracts/src/ProxyOwnableUpgrader.sol","file":"@src/ProxyOwnableUpgrader.sol","nameLocation":"-1:-1:-1","scope":74914,"sourceUnit":70712,"symbolAliases":[{"foreign":{"id":74522,"name":"ProxyOwnableUpgrader","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70711,"src":"302:20:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74525,"nodeType":"ImportDirective","src":"362:84:117","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":74914,"sourceUnit":55022,"symbolAliases":[{"foreign":{"id":74524,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55021,"src":"370:12:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74527,"nodeType":"ImportDirective","src":"447:65:117","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":74914,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":74526,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"455:5:117","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74532,"nodeType":"StructDefinition","src":"514:57:117","nodes":[],"canonicalName":"CommunityInfo","members":[{"constant":false,"id":74529,"mutability":"mutable","name":"fee","nameLocation":"549:3:117","nodeType":"VariableDeclaration","scope":74532,"src":"541:11:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74528,"name":"uint256","nodeType":"ElementaryTypeName","src":"541:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74531,"mutability":"mutable","name":"valid","nameLocation":"563:5:117","nodeType":"VariableDeclaration","scope":74532,"src":"558:10:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74530,"name":"bool","nodeType":"ElementaryTypeName","src":"558:4:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"CommunityInfo","nameLocation":"521:13:117","scope":74914,"visibility":"public"},{"id":74913,"nodeType":"ContractDefinition","src":"618:5756:117","nodes":[{"id":74537,"nodeType":"VariableDeclaration","src":"678:20:117","nodes":[],"constant":false,"functionSelector":"affed0e0","mutability":"mutable","name":"nonce","nameLocation":"693:5:117","scope":74913,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74536,"name":"uint256","nodeType":"ElementaryTypeName","src":"678:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":74542,"nodeType":"VariableDeclaration","src":"705:49:117","nodes":[],"constant":false,"mutability":"mutable","name":"communityToInfo","nameLocation":"739:15:117","scope":74913,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$74532_storage_$","typeString":"mapping(address => struct CommunityInfo)"},"typeName":{"id":74541,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":74538,"name":"address","nodeType":"ElementaryTypeName","src":"713:7:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"705:33:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$74532_storage_$","typeString":"mapping(address => struct CommunityInfo)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":74540,"nodeType":"UserDefinedTypeName","pathNode":{"id":74539,"name":"CommunityInfo","nameLocations":["724:13:117"],"nodeType":"IdentifierPath","referencedDeclaration":74532,"src":"724:13:117"},"referencedDeclaration":74532,"src":"724:13:117","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$74532_storage_ptr","typeString":"struct CommunityInfo"}}},"visibility":"internal"},{"id":74544,"nodeType":"VariableDeclaration","src":"760:33:117","nodes":[],"constant":false,"functionSelector":"b8bed901","mutability":"mutable","name":"gardensFeeReceiver","nameLocation":"775:18:117","scope":74913,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74543,"name":"address","nodeType":"ElementaryTypeName","src":"760:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":74546,"nodeType":"VariableDeclaration","src":"799:40:117","nodes":[],"constant":false,"functionSelector":"02c1d0b1","mutability":"mutable","name":"registryCommunityTemplate","nameLocation":"814:25:117","scope":74913,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74545,"name":"address","nodeType":"ElementaryTypeName","src":"799:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":74548,"nodeType":"VariableDeclaration","src":"845:31:117","nodes":[],"constant":false,"functionSelector":"5c94e4d2","mutability":"mutable","name":"strategyTemplate","nameLocation":"860:16:117","scope":74913,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74547,"name":"address","nodeType":"ElementaryTypeName","src":"845:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":74550,"nodeType":"VariableDeclaration","src":"882:38:117","nodes":[],"constant":false,"functionSelector":"77122d56","mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"897:23:117","scope":74913,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74549,"name":"address","nodeType":"ElementaryTypeName","src":"882:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":74554,"nodeType":"EventDefinition","src":"1093:46:117","nodes":[],"anonymous":false,"eventSelector":"bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d","name":"FeeReceiverSet","nameLocation":"1099:14:117","parameters":{"id":74553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74552,"indexed":false,"mutability":"mutable","name":"_newFeeReceiver","nameLocation":"1122:15:117","nodeType":"VariableDeclaration","scope":74554,"src":"1114:23:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74551,"name":"address","nodeType":"ElementaryTypeName","src":"1114:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1113:25:117"}},{"id":74560,"nodeType":"EventDefinition","src":"1144:66:117","nodes":[],"anonymous":false,"eventSelector":"a1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c","name":"ProtocolFeeSet","nameLocation":"1150:14:117","parameters":{"id":74559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74556,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"1173:10:117","nodeType":"VariableDeclaration","scope":74560,"src":"1165:18:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74555,"name":"address","nodeType":"ElementaryTypeName","src":"1165:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74558,"indexed":false,"mutability":"mutable","name":"_newProtocolFee","nameLocation":"1193:15:117","nodeType":"VariableDeclaration","scope":74560,"src":"1185:23:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74557,"name":"uint256","nodeType":"ElementaryTypeName","src":"1185:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1164:45:117"}},{"id":74564,"nodeType":"EventDefinition","src":"1215:51:117","nodes":[],"anonymous":false,"eventSelector":"b4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29","name":"CommunityCreated","nameLocation":"1221:16:117","parameters":{"id":74563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74562,"indexed":false,"mutability":"mutable","name":"_registryCommunity","nameLocation":"1246:18:117","nodeType":"VariableDeclaration","scope":74564,"src":"1238:26:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74561,"name":"address","nodeType":"ElementaryTypeName","src":"1238:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1237:28:117"}},{"id":74570,"nodeType":"EventDefinition","src":"1271:62:117","nodes":[],"anonymous":false,"eventSelector":"ecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f62","name":"CommunityValiditySet","nameLocation":"1277:20:117","parameters":{"id":74569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74566,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"1306:10:117","nodeType":"VariableDeclaration","scope":74570,"src":"1298:18:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74565,"name":"address","nodeType":"ElementaryTypeName","src":"1298:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74568,"indexed":false,"mutability":"mutable","name":"_isValid","nameLocation":"1323:8:117","nodeType":"VariableDeclaration","scope":74570,"src":"1318:13:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74567,"name":"bool","nodeType":"ElementaryTypeName","src":"1318:4:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1297:35:117"}},{"id":74574,"nodeType":"ErrorDefinition","src":"1505:43:117","nodes":[],"errorSelector":"f5a6943d","name":"CommunityInvalid","nameLocation":"1511:16:117","parameters":{"id":74573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74572,"mutability":"mutable","name":"_community","nameLocation":"1536:10:117","nodeType":"VariableDeclaration","scope":74574,"src":"1528:18:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74571,"name":"address","nodeType":"ElementaryTypeName","src":"1528:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1527:20:117"}},{"id":74576,"nodeType":"ErrorDefinition","src":"1553:28:117","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"1559:19:117","parameters":{"id":74575,"nodeType":"ParameterList","parameters":[],"src":"1578:2:117"}},{"id":74592,"nodeType":"FunctionDefinition","src":"1753:141:117","nodes":[],"body":{"id":74591,"nodeType":"Block","src":"1821:73:117","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":74586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74581,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74578,"src":"1835:8:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":74584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1855:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1847:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74582,"name":"address","nodeType":"ElementaryTypeName","src":"1847:7:117","typeDescriptions":{}}},"id":74585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1847:10:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1835:22:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74590,"nodeType":"IfStatement","src":"1831:56:117","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74587,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74576,"src":"1866:19:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1866:21:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74589,"nodeType":"RevertStatement","src":"1859:28:117"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"1762:18:117","parameters":{"id":74579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74578,"mutability":"mutable","name":"_address","nameLocation":"1789:8:117","nodeType":"VariableDeclaration","scope":74592,"src":"1781:16:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74577,"name":"address","nodeType":"ElementaryTypeName","src":"1781:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1780:18:117"},"returnParameters":{"id":74580,"nodeType":"ParameterList","parameters":[],"src":"1821:0:117"},"scope":74913,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":74605,"nodeType":"FunctionDefinition","src":"2068:128:117","nodes":[],"body":{"id":74604,"nodeType":"Block","src":"2143:53:117","nodes":[],"statements":[{"expression":{"id":74602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74600,"name":"registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74546,"src":"2153:25:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74601,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74595,"src":"2181:8:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2153:36:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74603,"nodeType":"ExpressionStatement","src":"2153:36:117"}]},"documentation":{"id":74593,"nodeType":"StructuredDocumentation","src":"1899:164:117","text":"@param template: address of the template contract for creating new registries\n @dev Set the address of the template contract for creating new registries"},"functionSelector":"5decae02","implemented":true,"kind":"function","modifiers":[{"id":74598,"kind":"modifierInvocation","modifierName":{"id":74597,"name":"onlyOwner","nameLocations":["2133:9:117"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"2133:9:117"},"nodeType":"ModifierInvocation","src":"2133:9:117"}],"name":"setRegistryCommunityTemplate","nameLocation":"2077:28:117","parameters":{"id":74596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74595,"mutability":"mutable","name":"template","nameLocation":"2114:8:117","nodeType":"VariableDeclaration","scope":74605,"src":"2106:16:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74594,"name":"address","nodeType":"ElementaryTypeName","src":"2106:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2105:18:117"},"returnParameters":{"id":74599,"nodeType":"ParameterList","parameters":[],"src":"2143:0:117"},"scope":74913,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74618,"nodeType":"FunctionDefinition","src":"2370:110:117","nodes":[],"body":{"id":74617,"nodeType":"Block","src":"2436:44:117","nodes":[],"statements":[{"expression":{"id":74615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74613,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74548,"src":"2446:16:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74614,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74608,"src":"2465:8:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2446:27:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74616,"nodeType":"ExpressionStatement","src":"2446:27:117"}]},"documentation":{"id":74606,"nodeType":"StructuredDocumentation","src":"2202:163:117","text":"@param template: address of the template contract for creating new strategies\n @dev Set the address of the template contract for creating new strategies"},"functionSelector":"1b71f0e4","implemented":true,"kind":"function","modifiers":[{"id":74611,"kind":"modifierInvocation","modifierName":{"id":74610,"name":"onlyOwner","nameLocations":["2426:9:117"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"2426:9:117"},"nodeType":"ModifierInvocation","src":"2426:9:117"}],"name":"setStrategyTemplate","nameLocation":"2379:19:117","parameters":{"id":74609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74608,"mutability":"mutable","name":"template","nameLocation":"2407:8:117","nodeType":"VariableDeclaration","scope":74618,"src":"2399:16:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74607,"name":"address","nodeType":"ElementaryTypeName","src":"2399:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2398:18:117"},"returnParameters":{"id":74612,"nodeType":"ParameterList","parameters":[],"src":"2436:0:117"},"scope":74913,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74631,"nodeType":"FunctionDefinition","src":"2668:124:117","nodes":[],"body":{"id":74630,"nodeType":"Block","src":"2741:51:117","nodes":[],"statements":[{"expression":{"id":74628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74626,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74550,"src":"2751:23:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74627,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74621,"src":"2777:8:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2751:34:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74629,"nodeType":"ExpressionStatement","src":"2751:34:117"}]},"documentation":{"id":74619,"nodeType":"StructuredDocumentation","src":"2486:177:117","text":"@param template: address of the template contract for creating new collateral vaults\n @dev Set the address of the template contract for creating new collateral vaults"},"functionSelector":"b0d3713a","implemented":true,"kind":"function","modifiers":[{"id":74624,"kind":"modifierInvocation","modifierName":{"id":74623,"name":"onlyOwner","nameLocations":["2731:9:117"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"2731:9:117"},"nodeType":"ModifierInvocation","src":"2731:9:117"}],"name":"setCollateralVaultTemplate","nameLocation":"2677:26:117","parameters":{"id":74622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74621,"mutability":"mutable","name":"template","nameLocation":"2712:8:117","nodeType":"VariableDeclaration","scope":74631,"src":"2704:16:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74620,"name":"address","nodeType":"ElementaryTypeName","src":"2704:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2703:18:117"},"returnParameters":{"id":74625,"nodeType":"ParameterList","parameters":[],"src":"2741:0:117"},"scope":74913,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74690,"nodeType":"FunctionDefinition","src":"3291:788:117","nodes":[],"body":{"id":74689,"nodeType":"Block","src":"3526:553:117","nodes":[],"statements":[{"expression":{"arguments":[{"id":74650,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74634,"src":"3553:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":74647,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"3536:5:117","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_RegistryFactoryFacet_$74913_$","typeString":"type(contract super RegistryFactoryFacet)"}},"id":74649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3542:10:117","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":70646,"src":"3536:16:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":74651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3536:24:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74652,"nodeType":"ExpressionStatement","src":"3536:24:117"},{"expression":{"id":74655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74653,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74537,"src":"3570:5:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":74654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3578:1:117","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3570:9:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74656,"nodeType":"ExpressionStatement","src":"3570:9:117"},{"expression":{"arguments":[{"id":74658,"name":"_gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74636,"src":"3608:19:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74657,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74592,"src":"3589:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":74659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3589:39:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74660,"nodeType":"ExpressionStatement","src":"3589:39:117"},{"expression":{"arguments":[{"id":74662,"name":"_registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74638,"src":"3657:26:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74661,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74592,"src":"3638:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":74663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3638:46:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74664,"nodeType":"ExpressionStatement","src":"3638:46:117"},{"expression":{"arguments":[{"id":74666,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74642,"src":"3713:24:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74665,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74592,"src":"3694:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":74667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3694:44:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74668,"nodeType":"ExpressionStatement","src":"3694:44:117"},{"expression":{"id":74671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74669,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74544,"src":"3748:18:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74670,"name":"_gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74636,"src":"3769:19:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3748:40:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74672,"nodeType":"ExpressionStatement","src":"3748:40:117"},{"expression":{"id":74675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74673,"name":"registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74546,"src":"3798:25:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74674,"name":"_registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74638,"src":"3826:26:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3798:54:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74676,"nodeType":"ExpressionStatement","src":"3798:54:117"},{"expression":{"id":74679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74677,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74548,"src":"3862:16:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74678,"name":"_strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74640,"src":"3881:17:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3862:36:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74680,"nodeType":"ExpressionStatement","src":"3862:36:117"},{"expression":{"id":74683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74681,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74550,"src":"3908:23:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74682,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74642,"src":"3934:24:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3908:50:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74684,"nodeType":"ExpressionStatement","src":"3908:50:117"},{"eventCall":{"arguments":[{"id":74686,"name":"_gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74636,"src":"3988:19:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74685,"name":"FeeReceiverSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74554,"src":"3973:14:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":74687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3973:35:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74688,"nodeType":"EmitStatement","src":"3968:40:117"}]},"documentation":{"id":74632,"nodeType":"StructuredDocumentation","src":"2798:435:117","text":"@param _owner: address of the owner of the registry\n @param _gardensFeeReceiver: address of the receiver of the fees\n @param _registryCommunityTemplate: address of the template contract for creating new registries\n @param _strategyTemplate: address of the template contract for creating new strategies\n @param _collateralVaultTemplate: address of the template contract for creating new collateral vaults"},"functionSelector":"1459457a","implemented":true,"kind":"function","modifiers":[{"id":74645,"kind":"modifierInvocation","modifierName":{"id":74644,"name":"initializer","nameLocations":["3514:11:117"],"nodeType":"IdentifierPath","referencedDeclaration":53054,"src":"3514:11:117"},"nodeType":"ModifierInvocation","src":"3514:11:117"}],"name":"initialize","nameLocation":"3300:10:117","parameters":{"id":74643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74634,"mutability":"mutable","name":"_owner","nameLocation":"3328:6:117","nodeType":"VariableDeclaration","scope":74690,"src":"3320:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74633,"name":"address","nodeType":"ElementaryTypeName","src":"3320:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74636,"mutability":"mutable","name":"_gardensFeeReceiver","nameLocation":"3352:19:117","nodeType":"VariableDeclaration","scope":74690,"src":"3344:27:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74635,"name":"address","nodeType":"ElementaryTypeName","src":"3344:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74638,"mutability":"mutable","name":"_registryCommunityTemplate","nameLocation":"3389:26:117","nodeType":"VariableDeclaration","scope":74690,"src":"3381:34:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74637,"name":"address","nodeType":"ElementaryTypeName","src":"3381:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74640,"mutability":"mutable","name":"_strategyTemplate","nameLocation":"3433:17:117","nodeType":"VariableDeclaration","scope":74690,"src":"3425:25:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74639,"name":"address","nodeType":"ElementaryTypeName","src":"3425:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74642,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"3468:24:117","nodeType":"VariableDeclaration","scope":74690,"src":"3460:32:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74641,"name":"address","nodeType":"ElementaryTypeName","src":"3460:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3310:188:117"},"returnParameters":{"id":74646,"nodeType":"ParameterList","parameters":[],"src":"3526:0:117"},"scope":74913,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":74703,"nodeType":"FunctionDefinition","src":"4085:104:117","nodes":[],"body":{"id":74702,"nodeType":"Block","src":"4147:42:117","nodes":[],"statements":[{"expression":{"arguments":[{"id":74699,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74692,"src":"4175:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74698,"name":"transferOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52877,"src":"4157:17:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":74700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4157:25:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74701,"nodeType":"ExpressionStatement","src":"4157:25:117"}]},"functionSelector":"29b6eca9","implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"32","id":74695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4144:1:117","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"id":74696,"kind":"modifierInvocation","modifierName":{"id":74694,"name":"reinitializer","nameLocations":["4130:13:117"],"nodeType":"IdentifierPath","referencedDeclaration":53087,"src":"4130:13:117"},"nodeType":"ModifierInvocation","src":"4130:16:117"}],"name":"initializeV2","nameLocation":"4094:12:117","parameters":{"id":74693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74692,"mutability":"mutable","name":"_owner","nameLocation":"4115:6:117","nodeType":"VariableDeclaration","scope":74703,"src":"4107:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74691,"name":"address","nodeType":"ElementaryTypeName","src":"4107:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4106:16:117"},"returnParameters":{"id":74697,"nodeType":"ParameterList","parameters":[],"src":"4147:0:117"},"scope":74913,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":74716,"nodeType":"FunctionDefinition","src":"4195:104:117","nodes":[],"body":{"id":74715,"nodeType":"Block","src":"4257:42:117","nodes":[],"statements":[{"expression":{"arguments":[{"id":74712,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74705,"src":"4285:6:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74711,"name":"transferOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52877,"src":"4267:17:117","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":74713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4267:25:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74714,"nodeType":"ExpressionStatement","src":"4267:25:117"}]},"functionSelector":"3101cfcb","implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"33","id":74708,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4254:1:117","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"id":74709,"kind":"modifierInvocation","modifierName":{"id":74707,"name":"reinitializer","nameLocations":["4240:13:117"],"nodeType":"IdentifierPath","referencedDeclaration":53087,"src":"4240:13:117"},"nodeType":"ModifierInvocation","src":"4240:16:117"}],"name":"initializeV3","nameLocation":"4204:12:117","parameters":{"id":74706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74705,"mutability":"mutable","name":"_owner","nameLocation":"4225:6:117","nodeType":"VariableDeclaration","scope":74716,"src":"4217:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74704,"name":"address","nodeType":"ElementaryTypeName","src":"4217:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4216:16:117"},"returnParameters":{"id":74710,"nodeType":"ParameterList","parameters":[],"src":"4257:0:117"},"scope":74913,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":74799,"nodeType":"FunctionDefinition","src":"4305:843:117","nodes":[],"body":{"id":74798,"nodeType":"Block","src":"4467:681:117","nodes":[],"statements":[{"expression":{"id":74729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74724,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74719,"src":"4477:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":74726,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4484:6:117","memberName":"_nonce","nodeType":"MemberAccess","referencedDeclaration":70779,"src":"4477:13:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4493:7:117","subExpression":{"id":74727,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74537,"src":"4493:5:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4477:23:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74730,"nodeType":"ExpressionStatement","src":"4477:23:117"},{"expression":{"id":74738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":74731,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74719,"src":"4510:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":74733,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4517:16:117","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":70781,"src":"4510:23:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":74736,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4544:4:117","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryFacet_$74913","typeString":"contract RegistryFactoryFacet"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryFactoryFacet_$74913","typeString":"contract RegistryFactoryFacet"}],"id":74735,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4536:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74734,"name":"address","nodeType":"ElementaryTypeName","src":"4536:7:117","typeDescriptions":{}}},"id":74737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4536:13:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4510:39:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74739,"nodeType":"ExpressionStatement","src":"4510:39:117"},{"assignments":[74742],"declarations":[{"constant":false,"id":74742,"mutability":"mutable","name":"proxy","nameLocation":"4573:5:117","nodeType":"VariableDeclaration","scope":74798,"src":"4560:18:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"},"typeName":{"id":74741,"nodeType":"UserDefinedTypeName","pathNode":{"id":74740,"name":"ERC1967Proxy","nameLocations":["4560:12:117"],"nodeType":"IdentifierPath","referencedDeclaration":55021,"src":"4560:12:117"},"referencedDeclaration":55021,"src":"4560:12:117","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}},"visibility":"internal"}],"id":74762,"initialValue":{"arguments":[{"arguments":[{"id":74748,"name":"registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74546,"src":"4619:25:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74747,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4611:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74746,"name":"address","nodeType":"ElementaryTypeName","src":"4611:7:117","typeDescriptions":{}}},"id":74749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4611:34:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":74752,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72700,"src":"4699:21:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":74753,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4721:10:117","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":71485,"src":"4699:32:117","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr_$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function RegistryCommunityV0_0.initialize(struct RegistryCommunityInitializeParamsV0_0 memory,address,address,address)"}},"id":74754,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4732:8:117","memberName":"selector","nodeType":"MemberAccess","src":"4699:41:117","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":74755,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74719,"src":"4742:6:117","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},{"id":74756,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74548,"src":"4750:16:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74757,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74550,"src":"4768:23:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":74758,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[70689],"referencedDeclaration":70689,"src":"4793:5:117","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":74759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4793:7:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":74750,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4659:3:117","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":74751,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4663:18:117","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"4659:22:117","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":74760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4659:155:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":74745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4581:16:117","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55021_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":74744,"nodeType":"UserDefinedTypeName","pathNode":{"id":74743,"name":"ERC1967Proxy","nameLocations":["4585:12:117"],"nodeType":"IdentifierPath","referencedDeclaration":55021,"src":"4585:12:117"},"referencedDeclaration":55021,"src":"4585:12:117","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}},"id":74761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4581:243:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}},"nodeType":"VariableDeclarationStatement","src":"4560:264:117"},{"assignments":[74765],"declarations":[{"constant":false,"id":74765,"mutability":"mutable","name":"registryCommunity","nameLocation":"4857:17:117","nodeType":"VariableDeclaration","scope":74798,"src":"4835:39:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":74764,"nodeType":"UserDefinedTypeName","pathNode":{"id":74763,"name":"RegistryCommunityV0_0","nameLocations":["4835:21:117"],"nodeType":"IdentifierPath","referencedDeclaration":72700,"src":"4835:21:117"},"referencedDeclaration":72700,"src":"4835:21:117","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"visibility":"internal"}],"id":74775,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":74771,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74742,"src":"4915:5:117","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}],"id":74770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4907:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74769,"name":"address","nodeType":"ElementaryTypeName","src":"4907:7:117","typeDescriptions":{}}},"id":74772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4907:14:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74768,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4899:8:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":74767,"name":"address","nodeType":"ElementaryTypeName","src":"4899:8:117","stateMutability":"payable","typeDescriptions":{}}},"id":74773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4899:23:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":74766,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72700,"src":"4877:21:117","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":74774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4877:46:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"VariableDeclarationStatement","src":"4835:88:117"},{"expression":{"id":74784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":74776,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74542,"src":"4983:15:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$74532_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":74781,"indexExpression":{"arguments":[{"id":74779,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74765,"src":"5007:17:117","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}],"id":74778,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4999:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74777,"name":"address","nodeType":"ElementaryTypeName","src":"4999:7:117","typeDescriptions":{}}},"id":74780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4999:26:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4983:43:117","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$74532_storage","typeString":"struct CommunityInfo storage ref"}},"id":74782,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5027:5:117","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":74531,"src":"4983:49:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":74783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5035:4:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"4983:56:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74785,"nodeType":"ExpressionStatement","src":"4983:56:117"},{"eventCall":{"arguments":[{"arguments":[{"id":74789,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74765,"src":"5079:17:117","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}],"id":74788,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5071:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74787,"name":"address","nodeType":"ElementaryTypeName","src":"5071:7:117","typeDescriptions":{}}},"id":74790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5071:26:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74786,"name":"CommunityCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74564,"src":"5054:16:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":74791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5054:44:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74792,"nodeType":"EmitStatement","src":"5049:49:117"},{"expression":{"arguments":[{"id":74795,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74765,"src":"5123:17:117","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}],"id":74794,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5115:7:117","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74793,"name":"address","nodeType":"ElementaryTypeName","src":"5115:7:117","typeDescriptions":{}}},"id":74796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5115:26:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":74723,"id":74797,"nodeType":"Return","src":"5108:33:117"}]},"functionSelector":"beb331a3","implemented":true,"kind":"function","modifiers":[],"name":"createRegistry","nameLocation":"4314:14:117","parameters":{"id":74720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74719,"mutability":"mutable","name":"params","nameLocation":"4374:6:117","nodeType":"VariableDeclaration","scope":74799,"src":"4329:51:117","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0"},"typeName":{"id":74718,"nodeType":"UserDefinedTypeName","pathNode":{"id":74717,"name":"RegistryCommunityInitializeParamsV0_0","nameLocations":["4329:37:117"],"nodeType":"IdentifierPath","referencedDeclaration":70795,"src":"4329:37:117"},"referencedDeclaration":70795,"src":"4329:37:117","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_storage_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0"}},"visibility":"internal"}],"src":"4328:53:117"},"returnParameters":{"id":74723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74722,"mutability":"mutable","name":"_createdRegistryAddress","nameLocation":"4438:23:117","nodeType":"VariableDeclaration","scope":74799,"src":"4430:31:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74721,"name":"address","nodeType":"ElementaryTypeName","src":"4430:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4429:33:117"},"scope":74913,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":74819,"nodeType":"FunctionDefinition","src":"5154:222:117","nodes":[],"body":{"id":74818,"nodeType":"Block","src":"5232:144:117","nodes":[],"statements":[{"expression":{"arguments":[{"id":74807,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74801,"src":"5261:15:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74806,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74592,"src":"5242:18:117","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":74808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5242:35:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74809,"nodeType":"ExpressionStatement","src":"5242:35:117"},{"expression":{"id":74812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74810,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74544,"src":"5287:18:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74811,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74801,"src":"5308:15:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5287:36:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74813,"nodeType":"ExpressionStatement","src":"5287:36:117"},{"eventCall":{"arguments":[{"id":74815,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74801,"src":"5353:15:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74814,"name":"FeeReceiverSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74554,"src":"5338:14:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":74816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5338:31:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74817,"nodeType":"EmitStatement","src":"5333:36:117"}]},"functionSelector":"8279c7db","implemented":true,"kind":"function","modifiers":[{"id":74804,"kind":"modifierInvocation","modifierName":{"id":74803,"name":"onlyOwner","nameLocations":["5222:9:117"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"5222:9:117"},"nodeType":"ModifierInvocation","src":"5222:9:117"}],"name":"setReceiverAddress","nameLocation":"5163:18:117","parameters":{"id":74802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74801,"mutability":"mutable","name":"_newFeeReceiver","nameLocation":"5190:15:117","nodeType":"VariableDeclaration","scope":74819,"src":"5182:23:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74800,"name":"address","nodeType":"ElementaryTypeName","src":"5182:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5181:25:117"},"returnParameters":{"id":74805,"nodeType":"ParameterList","parameters":[],"src":"5232:0:117"},"scope":74913,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":74827,"nodeType":"FunctionDefinition","src":"5382:115:117","nodes":[],"body":{"id":74826,"nodeType":"Block","src":"5455:42:117","nodes":[],"statements":[{"expression":{"id":74824,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74544,"src":"5472:18:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":74823,"id":74825,"nodeType":"Return","src":"5465:25:117"}]},"functionSelector":"987435be","implemented":true,"kind":"function","modifiers":[],"name":"getGardensFeeReceiver","nameLocation":"5391:21:117","parameters":{"id":74820,"nodeType":"ParameterList","parameters":[],"src":"5412:2:117"},"returnParameters":{"id":74823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74822,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74827,"src":"5446:7:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74821,"name":"address","nodeType":"ElementaryTypeName","src":"5446:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5445:9:117"},"scope":74913,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":74849,"nodeType":"FunctionDefinition","src":"5503:218:117","nodes":[],"body":{"id":74848,"nodeType":"Block","src":"5597:124:117","nodes":[],"statements":[{"expression":{"id":74841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":74836,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74542,"src":"5607:15:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$74532_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":74838,"indexExpression":{"id":74837,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74829,"src":"5623:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5607:27:117","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$74532_storage","typeString":"struct CommunityInfo storage ref"}},"id":74839,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5635:3:117","memberName":"fee","nodeType":"MemberAccess","referencedDeclaration":74529,"src":"5607:31:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74840,"name":"_newProtocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74831,"src":"5641:15:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5607:49:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74842,"nodeType":"ExpressionStatement","src":"5607:49:117"},{"eventCall":{"arguments":[{"id":74844,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74829,"src":"5686:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74845,"name":"_newProtocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74831,"src":"5698:15:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":74843,"name":"ProtocolFeeSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74560,"src":"5671:14:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":74846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5671:43:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74847,"nodeType":"EmitStatement","src":"5666:48:117"}]},"functionSelector":"b5b3ca2c","implemented":true,"kind":"function","modifiers":[{"id":74834,"kind":"modifierInvocation","modifierName":{"id":74833,"name":"onlyOwner","nameLocations":["5587:9:117"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"5587:9:117"},"nodeType":"ModifierInvocation","src":"5587:9:117"}],"name":"setProtocolFee","nameLocation":"5512:14:117","parameters":{"id":74832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74829,"mutability":"mutable","name":"_community","nameLocation":"5535:10:117","nodeType":"VariableDeclaration","scope":74849,"src":"5527:18:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74828,"name":"address","nodeType":"ElementaryTypeName","src":"5527:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74831,"mutability":"mutable","name":"_newProtocolFee","nameLocation":"5555:15:117","nodeType":"VariableDeclaration","scope":74849,"src":"5547:23:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74830,"name":"uint256","nodeType":"ElementaryTypeName","src":"5547:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5526:45:117"},"returnParameters":{"id":74835,"nodeType":"ParameterList","parameters":[],"src":"5597:0:117"},"scope":74913,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":74871,"nodeType":"FunctionDefinition","src":"5727:208:117","nodes":[],"body":{"id":74870,"nodeType":"Block","src":"5817:118:117","nodes":[],"statements":[{"expression":{"id":74863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":74858,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74542,"src":"5827:15:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$74532_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":74860,"indexExpression":{"id":74859,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74851,"src":"5843:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5827:27:117","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$74532_storage","typeString":"struct CommunityInfo storage ref"}},"id":74861,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5855:5:117","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":74531,"src":"5827:33:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74862,"name":"_isValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74853,"src":"5863:8:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5827:44:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74864,"nodeType":"ExpressionStatement","src":"5827:44:117"},{"eventCall":{"arguments":[{"id":74866,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74851,"src":"5907:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74867,"name":"_isValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74853,"src":"5919:8:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":74865,"name":"CommunityValiditySet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74570,"src":"5886:20:117","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bool_$returns$__$","typeString":"function (address,bool)"}},"id":74868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5886:42:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74869,"nodeType":"EmitStatement","src":"5881:47:117"}]},"functionSelector":"5a2c8ace","implemented":true,"kind":"function","modifiers":[{"id":74856,"kind":"modifierInvocation","modifierName":{"id":74855,"name":"onlyOwner","nameLocations":["5807:9:117"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"5807:9:117"},"nodeType":"ModifierInvocation","src":"5807:9:117"}],"name":"setCommunityValidity","nameLocation":"5736:20:117","parameters":{"id":74854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74851,"mutability":"mutable","name":"_community","nameLocation":"5765:10:117","nodeType":"VariableDeclaration","scope":74871,"src":"5757:18:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74850,"name":"address","nodeType":"ElementaryTypeName","src":"5757:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74853,"mutability":"mutable","name":"_isValid","nameLocation":"5782:8:117","nodeType":"VariableDeclaration","scope":74871,"src":"5777:13:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74852,"name":"bool","nodeType":"ElementaryTypeName","src":"5777:4:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5756:35:117"},"returnParameters":{"id":74857,"nodeType":"ParameterList","parameters":[],"src":"5817:0:117"},"scope":74913,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":74884,"nodeType":"FunctionDefinition","src":"5941:144:117","nodes":[],"body":{"id":74883,"nodeType":"Block","src":"6028:57:117","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":74878,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74542,"src":"6045:15:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$74532_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":74880,"indexExpression":{"id":74879,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74873,"src":"6061:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6045:27:117","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$74532_storage","typeString":"struct CommunityInfo storage ref"}},"id":74881,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6073:5:117","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":74531,"src":"6045:33:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":74877,"id":74882,"nodeType":"Return","src":"6038:40:117"}]},"functionSelector":"f5016b5e","implemented":true,"kind":"function","modifiers":[],"name":"getCommunityValidity","nameLocation":"5950:20:117","parameters":{"id":74874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74873,"mutability":"mutable","name":"_community","nameLocation":"5979:10:117","nodeType":"VariableDeclaration","scope":74884,"src":"5971:18:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74872,"name":"address","nodeType":"ElementaryTypeName","src":"5971:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5970:20:117"},"returnParameters":{"id":74877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74876,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74884,"src":"6022:4:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74875,"name":"bool","nodeType":"ElementaryTypeName","src":"6022:4:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6021:6:117"},"scope":74913,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":74908,"nodeType":"FunctionDefinition","src":"6091:249:117","nodes":[],"body":{"id":74907,"nodeType":"Block","src":"6175:165:117","nodes":[],"statements":[{"condition":{"id":74895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6189:34:117","subExpression":{"expression":{"baseExpression":{"id":74891,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74542,"src":"6190:15:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$74532_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":74893,"indexExpression":{"id":74892,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74886,"src":"6206:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6190:27:117","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$74532_storage","typeString":"struct CommunityInfo storage ref"}},"id":74894,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6218:5:117","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":74531,"src":"6190:33:117","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74901,"nodeType":"IfStatement","src":"6185:100:117","trueBody":{"id":74900,"nodeType":"Block","src":"6225:60:117","statements":[{"errorCall":{"arguments":[{"id":74897,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74886,"src":"6263:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74896,"name":"CommunityInvalid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74574,"src":"6246:16:117","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":74898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6246:28:117","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74899,"nodeType":"RevertStatement","src":"6239:35:117"}]}},{"expression":{"expression":{"baseExpression":{"id":74902,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74542,"src":"6302:15:117","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$74532_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":74904,"indexExpression":{"id":74903,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74886,"src":"6318:10:117","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6302:27:117","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$74532_storage","typeString":"struct CommunityInfo storage ref"}},"id":74905,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6330:3:117","memberName":"fee","nodeType":"MemberAccess","referencedDeclaration":74529,"src":"6302:31:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":74890,"id":74906,"nodeType":"Return","src":"6295:38:117"}]},"functionSelector":"0a992e0c","implemented":true,"kind":"function","modifiers":[],"name":"getProtocolFee","nameLocation":"6100:14:117","parameters":{"id":74887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74886,"mutability":"mutable","name":"_community","nameLocation":"6123:10:117","nodeType":"VariableDeclaration","scope":74908,"src":"6115:18:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74885,"name":"address","nodeType":"ElementaryTypeName","src":"6115:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6114:20:117"},"returnParameters":{"id":74890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74889,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74908,"src":"6166:7:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74888,"name":"uint256","nodeType":"ElementaryTypeName","src":"6166:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6165:9:117"},"scope":74913,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":74912,"nodeType":"VariableDeclaration","src":"6346:25:117","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"6366:5:117","scope":74913,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":74909,"name":"uint256","nodeType":"ElementaryTypeName","src":"6346:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74911,"length":{"hexValue":"3530","id":74910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6354:2:117","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"6346:11:117","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":74534,"name":"ProxyOwnableUpgrader","nameLocations":["651:20:117"],"nodeType":"IdentifierPath","referencedDeclaration":70711,"src":"651:20:117"},"id":74535,"nodeType":"InheritanceSpecifier","src":"651:20:117"}],"canonicalName":"RegistryFactoryFacet","contractDependencies":[55021],"contractKind":"contract","documentation":{"id":74533,"nodeType":"StructuredDocumentation","src":"572:45:117","text":"@custom:oz-upgrades-from RegistryFactory"},"fullyImplemented":true,"linearizedBaseContracts":[74913,70711,55672,55325,54974,54984,52903,53696,53152],"name":"RegistryFactoryFacet","nameLocation":"627:20:117","scope":74914,"usedErrors":[70634,74574,74576]}],"license":"AGPL-3.0-only"},"id":117} \ No newline at end of file diff --git a/pkg/contracts/out/RegistryFactoryV0_0.sol/RegistryFactoryV0_0.json b/pkg/contracts/out/RegistryFactoryV0_0.sol/RegistryFactoryV0_0.json index 249426eda..4d5aa66a2 100644 --- a/pkg/contracts/out/RegistryFactoryV0_0.sol/RegistryFactoryV0_0.json +++ b/pkg/contracts/out/RegistryFactoryV0_0.sol/RegistryFactoryV0_0.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"collateralVaultTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"createRegistry","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunityV0_0.InitializeParams","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"}]}],"outputs":[{"name":"_createdRegistryAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"gardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getGardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_gardensFeeReceiver","type":"address","internalType":"address"},{"name":"_registryCommunityTemplate","type":"address","internalType":"address"},{"name":"_strategyTemplate","type":"address","internalType":"address"},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initialOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"nonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registryCommunityTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCollateralVaultTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_isValid","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_newProtocolFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setReceiverAddress","inputs":[{"name":"_newFeeReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRegistryCommunityTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStrategyTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategyTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityCreated","inputs":[{"name":"_registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityValiditySet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_isValid","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"FeeReceiverSet","inputs":[{"name":"_newFeeReceiver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProtocolFeeSet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_newProtocolFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CallerNotOwner","inputs":[{"name":"_caller","type":"address","internalType":"address"},{"name":"_owner","type":"address","internalType":"address"}]},{"type":"error","name":"CommunityInvalid","inputs":[{"name":"_community","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b5060805161203761004c6000396000818161072c0152818161076f015281816108000152818161084301526108c801526120376000f3fe608060405260043610620001345760003560e01c806302c1d0b114620001395780630a992e0c14620001735780631459457a14620001a75780631b71f0e414620001ce5780633659cfe614620001f35780634f1ef286146200021857806352d1902d146200022f5780635a2c8ace14620002475780635c94e4d2146200026c5780635decae02146200028e578063715018a614620002b357806377122d5614620002cb5780638279c7db14620002ed5780638da5cb5b1462000312578063987435be146200032a578063affed0e0146200034a578063b0d3713a1462000362578063b5b3ca2c1462000387578063b8bed90114620003ac578063beb331a314620003ce578063c4d66de814620003f3578063f2fde38b1462000418578063f5016b5e146200043d578063ffa1ad74146200048e575b600080fd5b3480156200014657600080fd5b506068546200015b906001600160a01b031681565b6040516200016a919062001333565b60405180910390f35b3480156200018057600080fd5b5062000198620001923660046200136f565b620004ce565b6040519081526020016200016a565b348015620001b457600080fd5b50620001cc620001c63660046200138f565b62000534565b005b348015620001db57600080fd5b50620001cc620001ed3660046200136f565b620006f6565b3480156200020057600080fd5b50620001cc620002123660046200136f565b62000722565b620001cc62000229366004620014c9565b620007f6565b3480156200023c57600080fd5b5062000198620008bb565b3480156200025457600080fd5b50620001cc6200026636600462001544565b6200096c565b3480156200027957600080fd5b506069546200015b906001600160a01b031681565b3480156200029b57600080fd5b50620001cc620002ad3660046200136f565b620009dd565b348015620002c057600080fd5b50620001cc62000a09565b348015620002d857600080fd5b50606a546200015b906001600160a01b031681565b348015620002fa57600080fd5b50620001cc6200030c3660046200136f565b62000a21565b3480156200031f57600080fd5b506200015b62000a7d565b3480156200033757600080fd5b506067546001600160a01b03166200015b565b3480156200035757600080fd5b506200019860655481565b3480156200036f57600080fd5b50620001cc620003813660046200136f565b62000b1a565b3480156200039457600080fd5b50620001cc620003a63660046200157e565b62000b46565b348015620003b957600080fd5b506067546200015b906001600160a01b031681565b348015620003db57600080fd5b506200015b620003ed36600462001645565b62000ba2565b3480156200040057600080fd5b50620001cc620004123660046200136f565b62000ce3565b3480156200042557600080fd5b50620001cc620004373660046200136f565b62000d5b565b3480156200044a57600080fd5b506200047d6200045c3660046200136f565b6001600160a01b031660009081526066602052604090206001015460ff1690565b60405190151581526020016200016a565b3480156200049b57600080fd5b50620004bf604051806040016040528060038152602001620302e360ec1b81525081565b6040516200016a9190620017f4565b6001600160a01b03811660009081526066602052604081206001015460ff1662000518578160405163f5a6943d60e01b81526004016200050f919062001333565b60405180910390fd5b506001600160a01b031660009081526066602052604090205490565b600054610100900460ff1615808015620005555750600054600160ff909116105b806200057a5750620005673062000dcc565b1580156200057a575060005460ff166001145b620005df5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200050f565b6000805460ff19166001179055801562000603576000805461ff0019166101001790555b6200060e8662000ce3565b60006065556200061e8562000ddb565b620006298462000ddb565b620006348262000ddb565b606780546001600160a01b038088166001600160a01b0319928316179092556068805487841690831617905560698054868416908316179055606a80549285169290911691909117905560405160008051602062001fe2833981519152906200069f90879062001333565b60405180910390a18015620006ee576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b6200070062000e03565b606980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036200076d5760405162461bcd60e51b81526004016200050f9062001809565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620007a162000e66565b6001600160a01b031614620007ca5760405162461bcd60e51b81526004016200050f9062001844565b620007d58162000e83565b60408051600080825260208201909252620007f39183919062000ed5565b50565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620008415760405162461bcd60e51b81526004016200050f9062001809565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200087562000e66565b6001600160a01b0316146200089e5760405162461bcd60e51b81526004016200050f9062001844565b620008a98262000e83565b620008b78282600162000ed5565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620009585760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016200050f565b5060008051602062001f9b83398151915290565b6200097662000e03565b6001600160a01b038216600081815260666020908152604091829020600101805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b620009e762000e03565b606880546001600160a01b0319166001600160a01b0392909216919091179055565b62000a1362000e03565b62000a1f600062001052565b565b62000a2b62000e03565b62000a368162000ddb565b606780546001600160a01b0319166001600160a01b03831617905560405160008051602062001fe28339815191529062000a7290839062001333565b60405180910390a150565b60008062000a936033546001600160a01b031690565b9050806001600160a01b03163b60000362000aad57919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000b0a575060408051601f3d908101601f1916820190925262000b07918101906200187f565b60015b62000b1457919050565b92915050565b62000b2462000e03565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b62000b5062000e03565b6001600160a01b038216600081815260666020908152604091829020849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c9101620009d1565b606580546000918262000bb5836200189f565b9091555060808301523060a0830152606854606954606a546000926001600160a01b0390811692633419635560e01b928792918216911662000bf662000a7d565b60405160240162000c0b9493929190620018e8565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905162000c4a9062001318565b62000c5792919062001a30565b604051809103906000f08015801562000c74573d6000803e3d6000fd5b506001600160a01b038116600090815260666020526040908190206001908101805460ff191690911790555190915081907fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc299062000cd490839062001333565b60405180910390a19392505050565b600054610100900460ff1662000d505760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200050f565b620007f38162001052565b62000d6562000e03565b6001600160a01b03811662000d505760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016200050f565b6001600160a01b03163b151590565b6001600160a01b038116620007f3576040516303988b8160e61b815260040160405180910390fd5b3362000e0e62000a7d565b6001600160a01b03161462000a1f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200050f565b60008051602062001f9b833981519152546001600160a01b031690565b3362000e8e62000a7d565b6001600160a01b031614620007f3573362000ea862000a7d565b60405163163678e960e01b81526001600160a01b039283166004820152911660248201526044016200050f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000f105762000f0b83620010a4565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000f6d575060408051601f3d908101601f1916820190925262000f6a9181019062001a56565b60015b62000fd25760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016200050f565b60008051602062001f9b8339815191528114620010445760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016200050f565b5062000f0b83838362001143565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b620010af8162000dcc565b620011135760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016200050f565b60008051602062001f9b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6200114e8362001174565b6000825111806200115c5750805b1562000f0b576200116e8383620011b6565b50505050565b6200117f81620010a4565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620011de838360405180606001604052806027815260200162001fbb60279139620011e5565b9392505050565b6060600080856001600160a01b03168560405162001204919062001a70565b600060405180830381855af49150503d806000811462001241576040519150601f19603f3d011682016040523d82523d6000602084013e62001246565b606091505b5091509150620012598683838762001263565b9695505050505050565b60608315620012d7578251600003620012cf57620012818562000dcc565b620012cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200050f565b5081620012e3565b620012e38383620012eb565b949350505050565b815115620012fc5781518083602001fd5b8060405162461bcd60e51b81526004016200050f9190620017f4565b6104ec8062001a8f83390190565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114620007f357600080fd5b80356200136a8162001347565b919050565b6000602082840312156200138257600080fd5b8135620011de8162001347565b600080600080600060a08688031215620013a857600080fd5b8535620013b58162001347565b94506020860135620013c78162001347565b93506040860135620013d98162001347565b92506060860135620013eb8162001347565b91506080860135620013fd8162001347565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b03811182821017156200144757620014476200140b565b60405290565b60006001600160401b03808411156200146a576200146a6200140b565b604051601f8501601f19908116603f011681019082821181831017156200149557620014956200140b565b81604052809350858152868686011115620014af57600080fd5b858560208301376000602087830101525050509392505050565b60008060408385031215620014dd57600080fd5b8235620014ea8162001347565b915060208301356001600160401b038111156200150657600080fd5b8301601f810185136200151857600080fd5b62001529858235602084016200144d565b9150509250929050565b803580151581146200136a57600080fd5b600080604083850312156200155857600080fd5b8235620015658162001347565b9150620015756020840162001533565b90509250929050565b600080604083850312156200159257600080fd5b82356200159f8162001347565b946020939093013593505050565b600082601f830112620015bf57600080fd5b620011de838335602085016200144d565b600060408284031215620015e357600080fd5b604080519081016001600160401b0380821183831017156200160957620016096200140b565b816040528293508435835260208501359150808211156200162957600080fd5b506200163885828601620015ad565b6020830152505092915050565b6000602082840312156200165857600080fd5b81356001600160401b03808211156200167057600080fd5b9083019061018082860312156200168657600080fd5b6200169062001421565b6200169b836200135d565b8152620016ab602084016200135d565b6020820152604083013560408201526060830135606082015260808301356080820152620016dc60a084016200135d565b60a0820152620016ef60c084016200135d565b60c082015260e0830135828111156200170757600080fd5b6200171587828601620015d0565b60e0830152506101006200172b8185016200135d565b9082015261012083810135838111156200174457600080fd5b6200175288828701620015ad565b8284015250506101406200176881850162001533565b9082015261016083810135838111156200178157600080fd5b6200178f88828701620015ad565b918301919091525095945050505050565b60005b83811015620017bd578181015183820152602001620017a3565b50506000910152565b60008151808452620017e0816020860160208601620017a0565b601f01601f19169290920160200192915050565b602081526000620011de6020830184620017c6565b6020808252602c9082015260008051602062001f7b83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602062001f7b83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156200189257600080fd5b8151620011de8162001347565b600060018201620018c057634e487b7160e01b600052601160045260246000fd5b5060010190565b805182526000602082015160406020850152620012e36040850182620017c6565b60808152620018fc60808201865162001326565b600060208601516200191260a084018262001326565b50604086015160c0830152606086015160e08301526080860151610100818185015260a088015191506101206200194c8186018462001326565b60c08901519250610140620019648187018562001326565b60e08a01519350610180610160818189015262001986610200890187620018c7565b948c01519495506200199b8883018662001326565b838c01519450607f19935083888703016101a0890152620019bd8686620017c6565b9550828c01519450620019d56101c089018615159052565b808c0151945050505080858403016101e086015250620019f68282620017c6565b9250505062001a09602083018662001326565b62001a18604083018562001326565b62001a27606083018462001326565b95945050505050565b6001600160a01b0383168152604060208201819052600090620012e390830184620017c6565b60006020828403121562001a6957600080fd5b5051919050565b6000825162001a84818460208701620017a0565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212206e93027ee8ff60c4973ac058d4e8a46f5d5981513eccfc75ff619ec5718959a664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656446756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9da2646970667358221220917001dee0d6cce21f97ccc756d9f9ec4c6e4e4df29062f3c93016d0e4fda19164736f6c63430008130033","sourceMap":"480:4585:109:-:0;;;1088:4:64;1045:48;;480:4585:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610620001345760003560e01c806302c1d0b114620001395780630a992e0c14620001735780631459457a14620001a75780631b71f0e414620001ce5780633659cfe614620001f35780634f1ef286146200021857806352d1902d146200022f5780635a2c8ace14620002475780635c94e4d2146200026c5780635decae02146200028e578063715018a614620002b357806377122d5614620002cb5780638279c7db14620002ed5780638da5cb5b1462000312578063987435be146200032a578063affed0e0146200034a578063b0d3713a1462000362578063b5b3ca2c1462000387578063b8bed90114620003ac578063beb331a314620003ce578063c4d66de814620003f3578063f2fde38b1462000418578063f5016b5e146200043d578063ffa1ad74146200048e575b600080fd5b3480156200014657600080fd5b506068546200015b906001600160a01b031681565b6040516200016a919062001333565b60405180910390f35b3480156200018057600080fd5b5062000198620001923660046200136f565b620004ce565b6040519081526020016200016a565b348015620001b457600080fd5b50620001cc620001c63660046200138f565b62000534565b005b348015620001db57600080fd5b50620001cc620001ed3660046200136f565b620006f6565b3480156200020057600080fd5b50620001cc620002123660046200136f565b62000722565b620001cc62000229366004620014c9565b620007f6565b3480156200023c57600080fd5b5062000198620008bb565b3480156200025457600080fd5b50620001cc6200026636600462001544565b6200096c565b3480156200027957600080fd5b506069546200015b906001600160a01b031681565b3480156200029b57600080fd5b50620001cc620002ad3660046200136f565b620009dd565b348015620002c057600080fd5b50620001cc62000a09565b348015620002d857600080fd5b50606a546200015b906001600160a01b031681565b348015620002fa57600080fd5b50620001cc6200030c3660046200136f565b62000a21565b3480156200031f57600080fd5b506200015b62000a7d565b3480156200033757600080fd5b506067546001600160a01b03166200015b565b3480156200035757600080fd5b506200019860655481565b3480156200036f57600080fd5b50620001cc620003813660046200136f565b62000b1a565b3480156200039457600080fd5b50620001cc620003a63660046200157e565b62000b46565b348015620003b957600080fd5b506067546200015b906001600160a01b031681565b348015620003db57600080fd5b506200015b620003ed36600462001645565b62000ba2565b3480156200040057600080fd5b50620001cc620004123660046200136f565b62000ce3565b3480156200042557600080fd5b50620001cc620004373660046200136f565b62000d5b565b3480156200044a57600080fd5b506200047d6200045c3660046200136f565b6001600160a01b031660009081526066602052604090206001015460ff1690565b60405190151581526020016200016a565b3480156200049b57600080fd5b50620004bf604051806040016040528060038152602001620302e360ec1b81525081565b6040516200016a9190620017f4565b6001600160a01b03811660009081526066602052604081206001015460ff1662000518578160405163f5a6943d60e01b81526004016200050f919062001333565b60405180910390fd5b506001600160a01b031660009081526066602052604090205490565b600054610100900460ff1615808015620005555750600054600160ff909116105b806200057a5750620005673062000dcc565b1580156200057a575060005460ff166001145b620005df5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200050f565b6000805460ff19166001179055801562000603576000805461ff0019166101001790555b6200060e8662000ce3565b60006065556200061e8562000ddb565b620006298462000ddb565b620006348262000ddb565b606780546001600160a01b038088166001600160a01b0319928316179092556068805487841690831617905560698054868416908316179055606a80549285169290911691909117905560405160008051602062001fe2833981519152906200069f90879062001333565b60405180910390a18015620006ee576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b6200070062000e03565b606980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036200076d5760405162461bcd60e51b81526004016200050f9062001809565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620007a162000e66565b6001600160a01b031614620007ca5760405162461bcd60e51b81526004016200050f9062001844565b620007d58162000e83565b60408051600080825260208201909252620007f39183919062000ed5565b50565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620008415760405162461bcd60e51b81526004016200050f9062001809565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200087562000e66565b6001600160a01b0316146200089e5760405162461bcd60e51b81526004016200050f9062001844565b620008a98262000e83565b620008b78282600162000ed5565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620009585760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016200050f565b5060008051602062001f9b83398151915290565b6200097662000e03565b6001600160a01b038216600081815260666020908152604091829020600101805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b620009e762000e03565b606880546001600160a01b0319166001600160a01b0392909216919091179055565b62000a1362000e03565b62000a1f600062001052565b565b62000a2b62000e03565b62000a368162000ddb565b606780546001600160a01b0319166001600160a01b03831617905560405160008051602062001fe28339815191529062000a7290839062001333565b60405180910390a150565b60008062000a936033546001600160a01b031690565b9050806001600160a01b03163b60000362000aad57919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000b0a575060408051601f3d908101601f1916820190925262000b07918101906200187f565b60015b62000b1457919050565b92915050565b62000b2462000e03565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b62000b5062000e03565b6001600160a01b038216600081815260666020908152604091829020849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c9101620009d1565b606580546000918262000bb5836200189f565b9091555060808301523060a0830152606854606954606a546000926001600160a01b0390811692633419635560e01b928792918216911662000bf662000a7d565b60405160240162000c0b9493929190620018e8565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905162000c4a9062001318565b62000c5792919062001a30565b604051809103906000f08015801562000c74573d6000803e3d6000fd5b506001600160a01b038116600090815260666020526040908190206001908101805460ff191690911790555190915081907fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc299062000cd490839062001333565b60405180910390a19392505050565b600054610100900460ff1662000d505760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200050f565b620007f38162001052565b62000d6562000e03565b6001600160a01b03811662000d505760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016200050f565b6001600160a01b03163b151590565b6001600160a01b038116620007f3576040516303988b8160e61b815260040160405180910390fd5b3362000e0e62000a7d565b6001600160a01b03161462000a1f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200050f565b60008051602062001f9b833981519152546001600160a01b031690565b3362000e8e62000a7d565b6001600160a01b031614620007f3573362000ea862000a7d565b60405163163678e960e01b81526001600160a01b039283166004820152911660248201526044016200050f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000f105762000f0b83620010a4565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000f6d575060408051601f3d908101601f1916820190925262000f6a9181019062001a56565b60015b62000fd25760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016200050f565b60008051602062001f9b8339815191528114620010445760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016200050f565b5062000f0b83838362001143565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b620010af8162000dcc565b620011135760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016200050f565b60008051602062001f9b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6200114e8362001174565b6000825111806200115c5750805b1562000f0b576200116e8383620011b6565b50505050565b6200117f81620010a4565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620011de838360405180606001604052806027815260200162001fbb60279139620011e5565b9392505050565b6060600080856001600160a01b03168560405162001204919062001a70565b600060405180830381855af49150503d806000811462001241576040519150601f19603f3d011682016040523d82523d6000602084013e62001246565b606091505b5091509150620012598683838762001263565b9695505050505050565b60608315620012d7578251600003620012cf57620012818562000dcc565b620012cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200050f565b5081620012e3565b620012e38383620012eb565b949350505050565b815115620012fc5781518083602001fd5b8060405162461bcd60e51b81526004016200050f9190620017f4565b6104ec8062001a8f83390190565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114620007f357600080fd5b80356200136a8162001347565b919050565b6000602082840312156200138257600080fd5b8135620011de8162001347565b600080600080600060a08688031215620013a857600080fd5b8535620013b58162001347565b94506020860135620013c78162001347565b93506040860135620013d98162001347565b92506060860135620013eb8162001347565b91506080860135620013fd8162001347565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b03811182821017156200144757620014476200140b565b60405290565b60006001600160401b03808411156200146a576200146a6200140b565b604051601f8501601f19908116603f011681019082821181831017156200149557620014956200140b565b81604052809350858152868686011115620014af57600080fd5b858560208301376000602087830101525050509392505050565b60008060408385031215620014dd57600080fd5b8235620014ea8162001347565b915060208301356001600160401b038111156200150657600080fd5b8301601f810185136200151857600080fd5b62001529858235602084016200144d565b9150509250929050565b803580151581146200136a57600080fd5b600080604083850312156200155857600080fd5b8235620015658162001347565b9150620015756020840162001533565b90509250929050565b600080604083850312156200159257600080fd5b82356200159f8162001347565b946020939093013593505050565b600082601f830112620015bf57600080fd5b620011de838335602085016200144d565b600060408284031215620015e357600080fd5b604080519081016001600160401b0380821183831017156200160957620016096200140b565b816040528293508435835260208501359150808211156200162957600080fd5b506200163885828601620015ad565b6020830152505092915050565b6000602082840312156200165857600080fd5b81356001600160401b03808211156200167057600080fd5b9083019061018082860312156200168657600080fd5b6200169062001421565b6200169b836200135d565b8152620016ab602084016200135d565b6020820152604083013560408201526060830135606082015260808301356080820152620016dc60a084016200135d565b60a0820152620016ef60c084016200135d565b60c082015260e0830135828111156200170757600080fd5b6200171587828601620015d0565b60e0830152506101006200172b8185016200135d565b9082015261012083810135838111156200174457600080fd5b6200175288828701620015ad565b8284015250506101406200176881850162001533565b9082015261016083810135838111156200178157600080fd5b6200178f88828701620015ad565b918301919091525095945050505050565b60005b83811015620017bd578181015183820152602001620017a3565b50506000910152565b60008151808452620017e0816020860160208601620017a0565b601f01601f19169290920160200192915050565b602081526000620011de6020830184620017c6565b6020808252602c9082015260008051602062001f7b83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602062001f7b83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156200189257600080fd5b8151620011de8162001347565b600060018201620018c057634e487b7160e01b600052601160045260246000fd5b5060010190565b805182526000602082015160406020850152620012e36040850182620017c6565b60808152620018fc60808201865162001326565b600060208601516200191260a084018262001326565b50604086015160c0830152606086015160e08301526080860151610100818185015260a088015191506101206200194c8186018462001326565b60c08901519250610140620019648187018562001326565b60e08a01519350610180610160818189015262001986610200890187620018c7565b948c01519495506200199b8883018662001326565b838c01519450607f19935083888703016101a0890152620019bd8686620017c6565b9550828c01519450620019d56101c089018615159052565b808c0151945050505080858403016101e086015250620019f68282620017c6565b9250505062001a09602083018662001326565b62001a18604083018562001326565b62001a27606083018462001326565b95945050505050565b6001600160a01b0383168152604060208201819052600090620012e390830184620017c6565b60006020828403121562001a6957600080fd5b5051919050565b6000825162001a84818460208701620017a0565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212206e93027ee8ff60c4973ac058d4e8a46f5d5981513eccfc75ff619ec5718959a664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656446756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9da2646970667358221220917001dee0d6cce21f97ccc756d9f9ec4c6e4e4df29062f3c93016d0e4fda19164736f6c63430008130033","sourceMap":"480:4585:109:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;704:40;;;;;;;;;;-1:-1:-1;704:40:109;;;;-1:-1:-1;;;;;704:40:109;;;;;;;;;;:::i;:::-;;;;;;;;4782:249;;;;;;;;;;-1:-1:-1;4782:249:109;;;;;:::i;:::-;;:::i;:::-;;;1004:25:126;;;992:2;977:18;4782:249:109;858:177:126;2209:780:109;;;;;;;;;;-1:-1:-1;2209:780:109;;;;;:::i;:::-;;:::i;:::-;;1947:118;;;;;;;;;;-1:-1:-1;1947:118:109;;;;;:::i;:::-;;:::i;3143:195:64:-;;;;;;;;;;-1:-1:-1;3143:195:64;;;;;:::i;:::-;;:::i;3657:220::-;;;;;;:::i;:::-;;:::i;2762:131::-;;;;;;;;;;;;;:::i;4418:208:109:-;;;;;;;;;;-1:-1:-1;4418:208:109;;;;;:::i;:::-;;:::i;750:31::-;;;;;;;;;;-1:-1:-1;750:31:109;;;;-1:-1:-1;;;;;750:31:109;;;1805:136;;;;;;;;;;-1:-1:-1;1805:136:109;;;;;:::i;:::-;;:::i;2085:101:45:-;;;;;;;;;;;;;:::i;787:38:109:-;;;;;;;;;;-1:-1:-1;787:38:109;;;;-1:-1:-1;;;;;787:38:109;;;3845:222;;;;;;;;;;-1:-1:-1;3845:222:109;;;;;:::i;:::-;;:::i;525:604:105:-;;;;;;;;;;;;;:::i;4073:115:109:-;;;;;;;;;;-1:-1:-1;4163:18:109;;-1:-1:-1;;;;;4163:18:109;4073:115;;583:20;;;;;;;;;;;;;;;;2071:132;;;;;;;;;;-1:-1:-1;2071:132:109;;;;;:::i;:::-;;:::i;4194:218::-;;;;;;;;;;-1:-1:-1;4194:218:109;;;;;:::i;:::-;;:::i;665:33::-;;;;;;;;;;-1:-1:-1;665:33:109;;;;-1:-1:-1;;;;;665:33:109;;;2995:844;;;;;;;;;;-1:-1:-1;2995:844:109;;;;;:::i;:::-;;:::i;404:115:105:-;;;;;;;;;;-1:-1:-1;404:115:105;;;;;:::i;:::-;;:::i;2335:198:45:-;;;;;;;;;;-1:-1:-1;2335:198:45;;;;;:::i;:::-;;:::i;4632:144:109:-;;;;;;;;;;-1:-1:-1;4632:144:109;;;;;:::i;:::-;-1:-1:-1;;;;;4736:27:109;4713:4;4736:27;;;:15;:27;;;;;:33;;;;;;4632:144;;;;7186:14:126;;7179:22;7161:41;;7149:2;7134:18;4632:144:109;7021:187:126;539:38:109;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;539:38:109;;;;;;;;;;;;:::i;4782:249::-;-1:-1:-1;;;;;4881:27:109;;4857:7;4881:27;;;:15;:27;;;;;:33;;;;;4876:100;;4954:10;4937:28;;-1:-1:-1;;;4937:28:109;;;;;;;;:::i;:::-;;;;;;;;4876:100;-1:-1:-1;;;;;;4993:27:109;;;;;:15;:27;;;;;:31;;4782:249::o;2209:780::-;3279:19:47;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:47;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;;3388:44;3426:4;3388:29;:44::i;:::-;3387:45;:66;;;;-1:-1:-1;3436:12:47;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:47;;8171:2:126;3325:201:47;;;8153:21:126;8210:2;8190:18;;;8183:30;8249:34;8229:18;;;8222:62;-1:-1:-1;;;8300:18:126;;;8293:44;8354:19;;3325:201:47;7969:410:126;3325:201:47;3536:12;:16;;-1:-1:-1;;3536:16:47;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:47;;;;;3562:65;2446:24:109::1;2463:6;2446:16;:24::i;:::-;2488:1;2480:5;:9:::0;2499:39:::1;2518:19:::0;2499:18:::1;:39::i;:::-;2548:46;2567:26;2548:18;:46::i;:::-;2604:44;2623:24;2604:18;:44::i;:::-;2658:18;:40:::0;;-1:-1:-1;;;;;2658:40:109;;::::1;-1:-1:-1::0;;;;;;2658:40:109;;::::1;;::::0;;;2708:25:::1;:54:::0;;;;::::1;::::0;;::::1;;::::0;;2772:16:::1;:36:::0;;;;::::1;::::0;;::::1;;::::0;;2818:23:::1;:50:::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;2883:35:::1;::::0;-1:-1:-1;;;;;;;;;;;2883:35:109;::::1;::::0;2679:19;;2883:35:::1;:::i;:::-;;;;;;;;3651:14:47::0;3647:99;;;3697:5;3681:21;;-1:-1:-1;;3681:21:47;;;3721:14;;-1:-1:-1;8536:36:126;;3721:14:47;;8524:2:126;8509:18;3721:14:47;;;;;;;3647:99;3269:483;2209:780:109;;;;;:::o;1947:118::-;1355:13:45;:11;:13::i;:::-;2031:16:109::1;:27:::0;;-1:-1:-1;;;;;;2031:27:109::1;-1:-1:-1::0;;;;;2031:27:109;;;::::1;::::0;;;::::1;::::0;;1947:118::o;3143:195:64:-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3224:36:::1;3242:17;3224;:36::i;:::-;3311:12;::::0;;3321:1:::1;3311:12:::0;;;::::1;::::0;::::1;::::0;;;3270:61:::1;::::0;3292:17;;3311:12;3270:21:::1;:61::i;:::-;3143:195:::0;:::o;3657:220::-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3772:36:::1;3790:17;3772;:36::i;:::-;3818:52;3840:17;3859:4;3865;3818:21;:52::i;:::-;3657:220:::0;;:::o;2762:131::-;2840:7;2080:4;-1:-1:-1;;;;;2089:6:64;2072:23;;2064:92;;;;-1:-1:-1;;;2064:92:64;;9611:2:126;2064:92:64;;;9593:21:126;9650:2;9630:18;;;9623:30;9689:34;9669:18;;;9662:62;-1:-1:-1;;;9740:18:126;;;9733:54;9804:19;;2064:92:64;9409:420:126;2064:92:64;-1:-1:-1;;;;;;;;;;;;2762:131:64;:::o;4418:208:109:-;1355:13:45;:11;:13::i;:::-;-1:-1:-1;;;;;4518:27:109;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:33:::1;;:44:::0;;-1:-1:-1;;4518:44:109::1;::::0;::::1;;::::0;;::::1;::::0;;;4577:42;;10002:51:126;;;10069:18;;;10062:50;4577:42:109::1;::::0;9975:18:126;4577:42:109::1;;;;;;;;4418:208:::0;;:::o;1805:136::-;1355:13:45;:11;:13::i;:::-;1898:25:109::1;:36:::0;;-1:-1:-1;;;;;;1898:36:109::1;-1:-1:-1::0;;;;;1898:36:109;;;::::1;::::0;;;::::1;::::0;;1805:136::o;2085:101:45:-;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;:::-;2085:101::o:0;3845:222:109:-;1355:13:45;:11;:13::i;:::-;3933:35:109::1;3952:15;3933:18;:35::i;:::-;3978:18;:36:::0;;-1:-1:-1;;;;;;3978:36:109::1;-1:-1:-1::0;;;;;3978:36:109;::::1;;::::0;;4029:31:::1;::::0;-1:-1:-1;;;;;;;;;;;4029:31:109;::::1;::::0;3978:36;;4029:31:::1;:::i;:::-;;;;;;;;3845:222:::0;:::o;525:604:105:-;572:7;591:20;614:26;1534:6:45;;-1:-1:-1;;;;;1534:6:45;;1462:85;614:26:105;591:49;;715:12;-1:-1:-1;;;;;707:33:105;;744:1;707:38;703:420;;829:12;525:604;-1:-1:-1;525:604:105:o;703:420::-;895:12;-1:-1:-1;;;;;876:38:105;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;876:40:105;;;;;;;;-1:-1:-1;;876:40:105;;;;;;;;;;;;:::i;:::-;;;872:241;;1086:12;525:604;-1:-1:-1;525:604:105:o;872:241::-;967:6;525:604;-1:-1:-1;;525:604:105:o;2071:132:109:-;1355:13:45;:11;:13::i;:::-;2162:23:109::1;:34:::0;;-1:-1:-1;;;;;;2162:34:109::1;-1:-1:-1::0;;;;;2162:34:109;;;::::1;::::0;;;::::1;::::0;;2071:132::o;4194:218::-;1355:13:45;:11;:13::i;:::-;-1:-1:-1;;;;;4298:27:109;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:49;;;4362:43;;10553:51:126;;;10620:18;;10613:34;;;4362:43:109::1;::::0;10526:18:126;4362:43:109::1;10379:274:126::0;2995:844:109;3184:5;:7;;3121:31;;;3184:7;;;:::i;:::-;;;;-1:-1:-1;3168:13:109;;;:23;3235:4;3201:23;;;:39;3310:25;;3441:16;;3459:23;;-1:-1:-1;;;;;;;3310:25:109;;;;-1:-1:-1;;;3390:41:109;3168:6;;3441:16;;;;3459:23;3484:7;:5;:7::i;:::-;3350:155;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3350:155:109;;;;;;;;;;;;;;-1:-1:-1;;;;;3350:155:109;-1:-1:-1;;;;;;3350:155:109;;;;;;;;;;3272:243;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3674:43:109;;3526:39;3674:43;;;:15;:43;;;;;;;3726:4;3674:49;;;:56;;-1:-1:-1;;3674:56:109;;;;;;3745:44;3251:264;;-1:-1:-1;3251:264:109;;3745:44;;;;3251:264;;3745:44;:::i;:::-;;;;;;;;3814:17;2995:844;-1:-1:-1;;;2995:844:109:o;404:115:105:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;13675:2:126;5366:69:47;;;13657:21:126;13714:2;13694:18;;;13687:30;13753:34;13733:18;;;13726:62;-1:-1:-1;;;13804:18:126;;;13797:41;13855:19;;5366:69:47;13473:407:126;5366:69:47;480:32:105::1;499:12;480:18;:32::i;2335:198:45:-:0;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:45;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:45;;14087:2:126;2415:73:45::1;::::0;::::1;14069:21:126::0;14126:2;14106:18;;;14099:30;14165:34;14145:18;;;14138:62;-1:-1:-1;;;14216:18:126;;;14209:36;14262:19;;2415:73:45::1;13885:402:126::0;1423:320:50;-1:-1:-1;;;;;1713:19:50;;:23;;;1423:320::o;1658:141:109:-;-1:-1:-1;;;;;1740:22:109;;1736:56;;1771:21;;-1:-1:-1;;;1771:21:109;;;;;;;;;;;1620:130:45;965:10:51;1683:7:45;:5;:7::i;:::-;-1:-1:-1;;;;;1683:23:45;;1675:68;;;;-1:-1:-1;;;1675:68:45;;14494:2:126;1675:68:45;;;14476:21:126;;;14513:18;;;14506:30;14572:34;14552:18;;;14545:62;14624:18;;1675:68:45;14292:356:126;1175:140:60;-1:-1:-1;;;;;;;;;;;1254:54:60;-1:-1:-1;;;;;1254:54:60;;1175:140::o;1135:169:105:-;1219:10;1208:7;:5;:7::i;:::-;-1:-1:-1;;;;;1208:21:105;;1204:94;;1267:10;1279:7;:5;:7::i;:::-;1252:35;;-1:-1:-1;;;1252:35:105;;-1:-1:-1;;;;;14883:15:126;;;1252:35:105;;;14865:34:126;14935:15;;14915:18;;;14908:43;14800:18;;1252:35:105;14653:304:126;2494:922:60;689:66;2910:48;;;2906:504;;;2974:37;2993:17;2974:18;:37::i;:::-;2494:922;;;:::o;2906:504::-;3064:17;-1:-1:-1;;;;;3046:50:60;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3046:52:60;;;;;;;;-1:-1:-1;;3046:52:60;;;;;;;;;;;;:::i;:::-;;;3042:291;;3262:56;;-1:-1:-1;;;3262:56:60;;15353:2:126;3262:56:60;;;15335:21:126;15392:2;15372:18;;;15365:30;15431:34;15411:18;;;15404:62;-1:-1:-1;;;15482:18:126;;;15475:44;15536:19;;3262:56:60;15151:410:126;3042:291:60;-1:-1:-1;;;;;;;;;;;3148:28:60;;3140:82;;;;-1:-1:-1;;;3140:82:60;;15768:2:126;3140:82:60;;;15750:21:126;15807:2;15787:18;;;15780:30;15846:34;15826:18;;;15819:62;-1:-1:-1;;;15897:18:126;;;15890:39;15946:19;;3140:82:60;15566:405:126;3140:82:60;3099:138;3346:53;3364:17;3383:4;3389:9;3346:17;:53::i;2687:187:45:-;2779:6;;;-1:-1:-1;;;;;2795:17:45;;;-1:-1:-1;;;;;;2795:17:45;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;1406:259:60:-;1487:37;1506:17;1487:18;:37::i;:::-;1479:95;;;;-1:-1:-1;;;1479:95:60;;16178:2:126;1479:95:60;;;16160:21:126;16217:2;16197:18;;;16190:30;16256:34;16236:18;;;16229:62;-1:-1:-1;;;16307:18:126;;;16300:43;16360:19;;1479:95:60;15976:409:126;1479:95:60;-1:-1:-1;;;;;;;;;;;1584:74:60;;-1:-1:-1;;;;;;1584:74:60;-1:-1:-1;;;;;1584:74:60;;;;;;;;;;1406:259::o;2057:265::-;2165:29;2176:17;2165:10;:29::i;:::-;2222:1;2208:4;:11;:15;:28;;;;2227:9;2208:28;2204:112;;;2252:53;2281:17;2300:4;2252:28;:53::i;:::-;;2057:265;;;:::o;1771:152::-;1837:37;1856:17;1837:18;:37::i;:::-;1889:27;;-1:-1:-1;;;;;1889:27:60;;;;;;;;1771:152;:::o;6674:198:76:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6781:84;6674:198;-1:-1:-1;;;6674:198:76:o;7058:325::-;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:76;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:76:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;8121:18;8132:6;8121:10;:18::i;:::-;8113:60;;;;-1:-1:-1;;;8113:60:76;;16884:2:126;8113:60:76;;;16866:21:126;16923:2;16903:18;;;16896:30;16962:31;16942:18;;;16935:59;17011:18;;8113:60:76;16682:353:126;8113:60:76;-1:-1:-1;8208:10:76;8201:17;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;:::-;7671:628;;;;;;:::o;8821:540::-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:76;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;:::o;14:104:126:-;-1:-1:-1;;;;;80:31:126;68:44;;14:104::o;123:203::-;-1:-1:-1;;;;;287:32:126;;;;269:51;;257:2;242:18;;123:203::o;331:131::-;-1:-1:-1;;;;;406:31:126;;396:42;;386:70;;452:1;449;442:12;467:134;535:20;;564:31;535:20;564:31;:::i;:::-;467:134;;;:::o;606:247::-;665:6;718:2;706:9;697:7;693:23;689:32;686:52;;;734:1;731;724:12;686:52;773:9;760:23;792:31;817:5;792:31;:::i;1040:813::-;1135:6;1143;1151;1159;1167;1220:3;1208:9;1199:7;1195:23;1191:33;1188:53;;;1237:1;1234;1227:12;1188:53;1276:9;1263:23;1295:31;1320:5;1295:31;:::i;:::-;1345:5;-1:-1:-1;1402:2:126;1387:18;;1374:32;1415:33;1374:32;1415:33;:::i;:::-;1467:7;-1:-1:-1;1526:2:126;1511:18;;1498:32;1539:33;1498:32;1539:33;:::i;:::-;1591:7;-1:-1:-1;1650:2:126;1635:18;;1622:32;1663:33;1622:32;1663:33;:::i;:::-;1715:7;-1:-1:-1;1774:3:126;1759:19;;1746:33;1788;1746;1788;:::i;:::-;1840:7;1830:17;;;1040:813;;;;;;;;:::o;1858:127::-;1919:10;1914:3;1910:20;1907:1;1900:31;1950:4;1947:1;1940:15;1974:4;1971:1;1964:15;1990:250;2057:2;2051:9;2099:6;2087:19;;-1:-1:-1;;;;;2121:34:126;;2157:22;;;2118:62;2115:88;;;2183:18;;:::i;:::-;2219:2;2212:22;1990:250;:::o;2245:631::-;2309:5;-1:-1:-1;;;;;2369:14:126;;;2366:40;;;2386:18;;:::i;:::-;2461:2;2455:9;2429:2;2515:15;;-1:-1:-1;;2511:24:126;;;2537:2;2507:33;2503:42;2491:55;;;2561:18;;;2581:22;;;2558:46;2555:72;;;2607:18;;:::i;:::-;2647:10;2643:2;2636:22;2676:6;2667:15;;2706:6;2698;2691:22;2746:3;2737:6;2732:3;2728:16;2725:25;2722:45;;;2763:1;2760;2753:12;2722:45;2813:6;2808:3;2801:4;2793:6;2789:17;2776:44;2868:1;2861:4;2852:6;2844;2840:19;2836:30;2829:41;;;;2245:631;;;;;:::o;2881:584::-;2958:6;2966;3019:2;3007:9;2998:7;2994:23;2990:32;2987:52;;;3035:1;3032;3025:12;2987:52;3074:9;3061:23;3093:31;3118:5;3093:31;:::i;:::-;3143:5;-1:-1:-1;3199:2:126;3184:18;;3171:32;-1:-1:-1;;;;;3215:30:126;;3212:50;;;3258:1;3255;3248:12;3212:50;3281:22;;3334:4;3326:13;;3322:27;-1:-1:-1;3312:55:126;;3363:1;3360;3353:12;3312:55;3386:73;3451:7;3446:2;3433:16;3428:2;3424;3420:11;3386:73;:::i;:::-;3376:83;;;2881:584;;;;;:::o;3652:160::-;3717:20;;3773:13;;3766:21;3756:32;;3746:60;;3802:1;3799;3792:12;3817:315;3882:6;3890;3943:2;3931:9;3922:7;3918:23;3914:32;3911:52;;;3959:1;3956;3949:12;3911:52;3998:9;3985:23;4017:31;4042:5;4017:31;:::i;:::-;4067:5;-1:-1:-1;4091:35:126;4122:2;4107:18;;4091:35;:::i;:::-;4081:45;;3817:315;;;;;:::o;4137:::-;4205:6;4213;4266:2;4254:9;4245:7;4241:23;4237:32;4234:52;;;4282:1;4279;4272:12;4234:52;4321:9;4308:23;4340:31;4365:5;4340:31;:::i;:::-;4390:5;4442:2;4427:18;;;;4414:32;;-1:-1:-1;;;4137:315:126:o;4457:221::-;4500:5;4553:3;4546:4;4538:6;4534:17;4530:27;4520:55;;4571:1;4568;4561:12;4520:55;4593:79;4668:3;4659:6;4646:20;4639:4;4631:6;4627:17;4593:79;:::i;4683:610::-;4738:5;4786:4;4774:9;4769:3;4765:19;4761:30;4758:50;;;4804:1;4801;4794:12;4758:50;4837:4;4831:11;;;4869:17;;-1:-1:-1;;;;;4938:18:126;;;4958:22;;;4935:46;4932:72;;;4984:18;;:::i;:::-;5026:10;5020:4;5013:24;5055:6;5046:15;;5098:9;5085:23;5077:6;5070:39;5160:2;5149:9;5145:18;5132:32;5118:46;;5187:2;5179:6;5176:14;5173:34;;;5203:1;5200;5193:12;5173:34;;5240:46;5282:3;5273:6;5262:9;5258:22;5240:46;:::i;:::-;5235:2;5227:6;5223:15;5216:71;;;4683:610;;;;:::o;5298:1622::-;5392:6;5445:2;5433:9;5424:7;5420:23;5416:32;5413:52;;;5461:1;5458;5451:12;5413:52;5488:23;;-1:-1:-1;;;;;5560:14:126;;;5557:34;;;5587:1;5584;5577:12;5557:34;5610:22;;;;5666:6;5648:16;;;5644:29;5641:49;;;5686:1;5683;5676:12;5641:49;5712:17;;:::i;:::-;5752:22;5771:2;5752:22;:::i;:::-;5745:5;5738:37;5807:31;5834:2;5830;5826:11;5807:31;:::i;:::-;5802:2;5795:5;5791:14;5784:55;5892:2;5888;5884:11;5871:25;5866:2;5859:5;5855:14;5848:49;5950:2;5946;5942:11;5929:25;5924:2;5917:5;5913:14;5906:49;6009:3;6005:2;6001:12;5988:26;5982:3;5975:5;5971:15;5964:51;6048:32;6075:3;6071:2;6067:12;6048:32;:::i;:::-;6042:3;6035:5;6031:15;6024:57;6114:32;6141:3;6137:2;6133:12;6114:32;:::i;:::-;6108:3;6101:5;6097:15;6090:57;6193:3;6189:2;6185:12;6172:26;6223:2;6213:8;6210:16;6207:36;;;6239:1;6236;6229:12;6207:36;6276:54;6322:7;6311:8;6307:2;6303:17;6276:54;:::i;:::-;6270:3;6263:5;6259:15;6252:79;;6350:3;6385:31;6412:2;6408;6404:11;6385:31;:::i;:::-;6369:14;;;6362:55;6436:3;6477:11;;;6464:25;6501:16;;;6498:36;;;6530:1;6527;6520:12;6498:36;6566:45;6603:7;6592:8;6588:2;6584:17;6566:45;:::i;:::-;6561:2;6554:5;6550:14;6543:69;;;6631:3;6666:28;6690:2;6686;6682:11;6666:28;:::i;:::-;6650:14;;;6643:52;6714:3;6755:11;;;6742:25;6779:16;;;6776:36;;;6808:1;6805;6798:12;6776:36;6844:45;6881:7;6870:8;6866:2;6862:17;6844:45;:::i;:::-;6828:14;;;6821:69;;;;-1:-1:-1;6832:5:126;5298:1622;-1:-1:-1;;;;;5298:1622:126:o;7213:250::-;7298:1;7308:113;7322:6;7319:1;7316:13;7308:113;;;7398:11;;;7392:18;7379:11;;;7372:39;7344:2;7337:10;7308:113;;;-1:-1:-1;;7455:1:126;7437:16;;7430:27;7213:250::o;7468:271::-;7510:3;7548:5;7542:12;7575:6;7570:3;7563:19;7591:76;7660:6;7653:4;7648:3;7644:14;7637:4;7630:5;7626:16;7591:76;:::i;:::-;7721:2;7700:15;-1:-1:-1;;7696:29:126;7687:39;;;;7728:4;7683:50;;7468:271;-1:-1:-1;;7468:271:126:o;7744:220::-;7893:2;7882:9;7875:21;7856:4;7913:45;7954:2;7943:9;7939:18;7931:6;7913:45;:::i;8583:408::-;8785:2;8767:21;;;8824:2;8804:18;;;8797:30;-1:-1:-1;;;;;;;;;;;8858:2:126;8843:18;;8836:62;-1:-1:-1;;;8929:2:126;8914:18;;8907:42;8981:3;8966:19;;8583:408::o;8996:::-;9198:2;9180:21;;;9237:2;9217:18;;;9210:30;-1:-1:-1;;;;;;;;;;;9271:2:126;9256:18;;9249:62;-1:-1:-1;;;9342:2:126;9327:18;;9320:42;9394:3;9379:19;;8996:408::o;10123:251::-;10193:6;10246:2;10234:9;10225:7;10221:23;10217:32;10214:52;;;10262:1;10259;10252:12;10214:52;10294:9;10288:16;10313:31;10338:5;10313:31;:::i;10658:232::-;10697:3;10718:17;;;10715:140;;10777:10;10772:3;10768:20;10765:1;10758:31;10812:4;10809:1;10802:15;10840:4;10837:1;10830:15;10715:140;-1:-1:-1;10882:1:126;10871:13;;10658:232::o;10895:252::-;10982:5;10976:12;10971:3;10964:25;10946:3;11035:4;11028:5;11024:16;11018:23;11073:4;11066;11061:3;11057:14;11050:28;11094:47;11135:4;11130:3;11126:14;11112:12;11094:47;:::i;11152:1996::-;11435:3;11424:9;11417:22;11448:54;11497:3;11486:9;11482:19;11473:6;11467:13;11448:54;:::i;:::-;11398:4;11549;11541:6;11537:17;11531:24;11564:53;11612:3;11601:9;11597:19;11583:12;11564:53;:::i;:::-;;11672:4;11664:6;11660:17;11654:24;11648:3;11637:9;11633:19;11626:53;11734:4;11726:6;11722:17;11716:24;11710:3;11699:9;11695:19;11688:53;11778:3;11770:6;11766:16;11760:23;11802:3;11841:2;11836;11825:9;11821:18;11814:30;11893:3;11885:6;11881:16;11875:23;11853:45;;11917:3;11929:54;11979:2;11968:9;11964:18;11948:14;11929:54;:::i;:::-;12032:3;12024:6;12020:16;12014:23;11992:45;;12056:3;12068:54;12118:2;12107:9;12103:18;12087:14;12068:54;:::i;:::-;12171:3;12163:6;12159:16;12153:23;12131:45;;12195:6;12220:3;12259:2;12254;12243:9;12239:18;12232:30;12285:63;12343:3;12332:9;12328:19;12312:14;12285:63;:::i;:::-;12385:15;;;12379:22;12271:77;;-1:-1:-1;12410:54:126;12445:18;;;12379:22;12410:54;:::i;:::-;12513:2;12505:6;12501:15;12495:22;12473:44;;12540:3;12536:8;12526:18;;12609:2;12597:9;12589:6;12585:22;12581:31;12575:3;12564:9;12560:19;12553:60;12636:41;12670:6;12654:14;12636:41;:::i;:::-;12622:55;;12726:2;12718:6;12714:15;12708:22;12686:44;;12739:52;12786:3;12775:9;12771:19;12755:14;6995:13;6988:21;6976:34;;6925:91;12739:52;12840:2;12832:6;12828:15;12822:22;12800:44;;;;;12909:2;12897:9;12889:6;12885:22;12881:31;12875:3;12864:9;12860:19;12853:60;;12930:41;12964:6;12948:14;12930:41;:::i;:::-;12922:49;;;;12980:48;13022:4;13011:9;13007:20;12999:6;12980:48;:::i;:::-;13037;13079:4;13068:9;13064:20;13056:6;13037:48;:::i;:::-;13094;13136:4;13125:9;13121:20;13113:6;13094:48;:::i;:::-;11152:1996;;;;;;;:::o;13153:315::-;-1:-1:-1;;;;;13328:32:126;;13310:51;;13397:2;13392;13377:18;;13370:30;;;-1:-1:-1;;13417:45:126;;13443:18;;13435:6;13417:45;:::i;14962:184::-;15032:6;15085:2;15073:9;15064:7;15060:23;15056:32;15053:52;;;15101:1;15098;15091:12;15053:52;-1:-1:-1;15124:16:126;;14962:184;-1:-1:-1;14962:184:126:o;16390:287::-;16519:3;16557:6;16551:13;16573:66;16632:6;16627:3;16620:4;16612:6;16608:17;16573:66;:::i;:::-;16655:16;;;;;16390:287;-1:-1:-1;;16390:287:126:o","linkReferences":{},"immutableReferences":{"55572":[{"start":1836,"length":32},{"start":1903,"length":32},{"start":2048,"length":32},{"start":2115,"length":32},{"start":2248,"length":32}]}},"methodIdentifiers":{"VERSION()":"ffa1ad74","collateralVaultTemplate()":"77122d56","createRegistry((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string))":"beb331a3","gardensFeeReceiver()":"b8bed901","getCommunityValidity(address)":"f5016b5e","getGardensFeeReceiver()":"987435be","getProtocolFee(address)":"0a992e0c","initialize(address)":"c4d66de8","initialize(address,address,address,address,address)":"1459457a","nonce()":"affed0e0","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","registryCommunityTemplate()":"02c1d0b1","renounceOwnership()":"715018a6","setCollateralVaultTemplate(address)":"b0d3713a","setCommunityValidity(address,bool)":"5a2c8ace","setProtocolFee(address,uint256)":"b5b3ca2c","setReceiverAddress(address)":"8279c7db","setRegistryCommunityTemplate(address)":"5decae02","setStrategyTemplate(address)":"1b71f0e4","strategyTemplate()":"5c94e4d2","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"CallerNotOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"CommunityInvalid\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_registryCommunity\",\"type\":\"address\"}],\"name\":\"CommunityCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"CommunityValiditySet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"FeeReceiverSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateralVaultTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"}],\"internalType\":\"struct RegistryCommunityV0_0.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"createRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_createdRegistryAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getCommunityValidity\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getProtocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_gardensFeeReceiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registryCommunityTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryCommunityTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setCollateralVaultTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"setCommunityValidity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"setProtocolFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"setReceiverAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setRegistryCommunityTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setStrategyTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategyTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"RegistryFactoryV0_0\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol\":\"RegistryFactoryV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293\",\"dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x4301751ea11db320804edf82deeb83d694240d4ab92e96fd75272823a0e68cbe\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://17eb861b8e0b13b4fc31136dbb817f5bf9b0637dc1c0484b090e1e2121fc2595\",\"dweb:/ipfs/QmbYz9fngCp4FmvAJyP2NqSpxBJRJa573mTQ5R9nVsCJAg\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xaea628cb12b8c0dd868c04c935f99ab50c88372f130ce2ced0c7b2b3ce780381\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://22eb93eaf9fc1a9f591ed87dc478e8aabafb46e22ef870bba1345a799c44ba3d\",\"dweb:/ipfs/QmSAXa8UmtGNXNtVbmqPMyEpA3RZYqWjZvPoVFHCvjHjwj\"]},\"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol\":{\"keccak256\":\"0x83edb2d3fd1bd2abde25842deff6b41b62d0af39657bf2137448144f1facc58c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://40f6e10e835b63c2b608537bf75a6a3b8c610f319da2ec1f00d6361c711e9612\",\"dweb:/ipfs/Qmae1BCM6Cay3MgwijZXkqHiBrECSbhBr13Z2htP6dLixj\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"type":"error","name":"CallerNotOwner"},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"type":"error","name":"CommunityInvalid"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"_registryCommunity","type":"address","indexed":false}],"type":"event","name":"CommunityCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"bool","name":"_isValid","type":"bool","indexed":false}],"type":"event","name":"CommunityValiditySet","anonymous":false},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address","indexed":false}],"type":"event","name":"FeeReceiverSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256","indexed":false}],"type":"event","name":"ProtocolFeeSet","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVaultTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"struct RegistryCommunityV0_0.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createRegistry","outputs":[{"internalType":"address","name":"_createdRegistryAddress","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getCommunityValidity","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getGardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getProtocolFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_gardensFeeReceiver","type":"address"},{"internalType":"address","name":"_registryCommunityTemplate","type":"address"},{"internalType":"address","name":"_strategyTemplate","type":"address"},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryCommunityTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCollateralVaultTemplate"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"bool","name":"_isValid","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityValidity"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setProtocolFee"},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setReceiverAddress"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRegistryCommunityTemplate"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setStrategyTemplate"},{"inputs":[],"stateMutability":"view","type":"function","name":"strategyTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol":"RegistryFactoryV0_0"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2","urls":["bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293","dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x4301751ea11db320804edf82deeb83d694240d4ab92e96fd75272823a0e68cbe","urls":["bzz-raw://17eb861b8e0b13b4fc31136dbb817f5bf9b0637dc1c0484b090e1e2121fc2595","dweb:/ipfs/QmbYz9fngCp4FmvAJyP2NqSpxBJRJa573mTQ5R9nVsCJAg"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xaea628cb12b8c0dd868c04c935f99ab50c88372f130ce2ced0c7b2b3ce780381","urls":["bzz-raw://22eb93eaf9fc1a9f591ed87dc478e8aabafb46e22ef870bba1345a799c44ba3d","dweb:/ipfs/QmSAXa8UmtGNXNtVbmqPMyEpA3RZYqWjZvPoVFHCvjHjwj"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol":{"keccak256":"0x83edb2d3fd1bd2abde25842deff6b41b62d0af39657bf2137448144f1facc58c","urls":["bzz-raw://40f6e10e835b63c2b608537bf75a6a3b8c610f319da2ec1f00d6361c711e9612","dweb:/ipfs/Qmae1BCM6Cay3MgwijZXkqHiBrECSbhBr13Z2htP6dLixj"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":52990,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52993,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53695,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52782,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52902,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":73019,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"nonce","offset":0,"slot":"101","type":"t_uint256"},{"astId":73024,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"communityToInfo","offset":0,"slot":"102","type":"t_mapping(t_address,t_struct(CommunityInfo)73011_storage)"},{"astId":73026,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"gardensFeeReceiver","offset":0,"slot":"103","type":"t_address"},{"astId":73028,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"registryCommunityTemplate","offset":0,"slot":"104","type":"t_address"},{"astId":73030,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"strategyTemplate","offset":0,"slot":"105","type":"t_address"},{"astId":73032,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"collateralVaultTemplate","offset":0,"slot":"106","type":"t_address"},{"astId":73364,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"__gap","offset":0,"slot":"107","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_struct(CommunityInfo)73011_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct CommunityInfo)","numberOfBytes":"32","value":"t_struct(CommunityInfo)73011_storage"},"t_struct(CommunityInfo)73011_storage":{"encoding":"inplace","label":"struct CommunityInfo","numberOfBytes":"64","members":[{"astId":73008,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"fee","offset":0,"slot":"0","type":"t_uint256"},{"astId":73010,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"valid","offset":0,"slot":"1","type":"t_bool"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol","id":73366,"exportedSymbols":{"Clone":[3002],"CommunityInfo":[73011],"ERC1967Proxy":[55021],"ProxyOwnableUpgrader":[70754],"RegistryCommunityV0_0":[72744],"RegistryFactoryV0_0":[73365]},"nodeType":"SourceUnit","src":"42:5024:109","nodes":[{"id":72998,"nodeType":"PragmaDirective","src":"42:24:109","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":73000,"nodeType":"ImportDirective","src":"68:85:109","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol","file":"../RegistryCommunity/RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":73366,"sourceUnit":72745,"symbolAliases":[{"foreign":{"id":72999,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72744,"src":"76:21:109","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73002,"nodeType":"ImportDirective","src":"154:65:109","nodes":[],"absolutePath":"pkg/contracts/src/ProxyOwnableUpgrader.sol","file":"../ProxyOwnableUpgrader.sol","nameLocation":"-1:-1:-1","scope":73366,"sourceUnit":70755,"symbolAliases":[{"foreign":{"id":73001,"name":"ProxyOwnableUpgrader","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70754,"src":"162:20:109","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73004,"nodeType":"ImportDirective","src":"220:84:109","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":73366,"sourceUnit":55022,"symbolAliases":[{"foreign":{"id":73003,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55021,"src":"228:12:109","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73006,"nodeType":"ImportDirective","src":"305:65:109","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":73366,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":73005,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"313:5:109","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73011,"nodeType":"StructDefinition","src":"372:57:109","nodes":[],"canonicalName":"CommunityInfo","members":[{"constant":false,"id":73008,"mutability":"mutable","name":"fee","nameLocation":"407:3:109","nodeType":"VariableDeclaration","scope":73011,"src":"399:11:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73007,"name":"uint256","nodeType":"ElementaryTypeName","src":"399:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73010,"mutability":"mutable","name":"valid","nameLocation":"421:5:109","nodeType":"VariableDeclaration","scope":73011,"src":"416:10:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73009,"name":"bool","nodeType":"ElementaryTypeName","src":"416:4:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"CommunityInfo","nameLocation":"379:13:109","scope":73366,"visibility":"public"},{"id":73365,"nodeType":"ContractDefinition","src":"480:4585:109","nodes":[{"id":73017,"nodeType":"VariableDeclaration","src":"539:38:109","nodes":[],"constant":true,"functionSelector":"ffa1ad74","mutability":"constant","name":"VERSION","nameLocation":"562:7:109","scope":73365,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":73015,"name":"string","nodeType":"ElementaryTypeName","src":"539:6:109","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"302e30","id":73016,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"572:5:109","typeDescriptions":{"typeIdentifier":"t_stringliteral_7be32719f3172a4c9a8d1f020e88b7d75f936a7394cfbfe03d409404e58cbdc3","typeString":"literal_string \"0.0\""},"value":"0.0"},"visibility":"public"},{"id":73019,"nodeType":"VariableDeclaration","src":"583:20:109","nodes":[],"constant":false,"functionSelector":"affed0e0","mutability":"mutable","name":"nonce","nameLocation":"598:5:109","scope":73365,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73018,"name":"uint256","nodeType":"ElementaryTypeName","src":"583:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":73024,"nodeType":"VariableDeclaration","src":"610:49:109","nodes":[],"constant":false,"mutability":"mutable","name":"communityToInfo","nameLocation":"644:15:109","scope":73365,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$73011_storage_$","typeString":"mapping(address => struct CommunityInfo)"},"typeName":{"id":73023,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":73020,"name":"address","nodeType":"ElementaryTypeName","src":"618:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"610:33:109","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$73011_storage_$","typeString":"mapping(address => struct CommunityInfo)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":73022,"nodeType":"UserDefinedTypeName","pathNode":{"id":73021,"name":"CommunityInfo","nameLocations":["629:13:109"],"nodeType":"IdentifierPath","referencedDeclaration":73011,"src":"629:13:109"},"referencedDeclaration":73011,"src":"629:13:109","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$73011_storage_ptr","typeString":"struct CommunityInfo"}}},"visibility":"internal"},{"id":73026,"nodeType":"VariableDeclaration","src":"665:33:109","nodes":[],"constant":false,"functionSelector":"b8bed901","mutability":"mutable","name":"gardensFeeReceiver","nameLocation":"680:18:109","scope":73365,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73025,"name":"address","nodeType":"ElementaryTypeName","src":"665:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":73028,"nodeType":"VariableDeclaration","src":"704:40:109","nodes":[],"constant":false,"functionSelector":"02c1d0b1","mutability":"mutable","name":"registryCommunityTemplate","nameLocation":"719:25:109","scope":73365,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73027,"name":"address","nodeType":"ElementaryTypeName","src":"704:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":73030,"nodeType":"VariableDeclaration","src":"750:31:109","nodes":[],"constant":false,"functionSelector":"5c94e4d2","mutability":"mutable","name":"strategyTemplate","nameLocation":"765:16:109","scope":73365,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73029,"name":"address","nodeType":"ElementaryTypeName","src":"750:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":73032,"nodeType":"VariableDeclaration","src":"787:38:109","nodes":[],"constant":false,"functionSelector":"77122d56","mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"802:23:109","scope":73365,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73031,"name":"address","nodeType":"ElementaryTypeName","src":"787:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":73036,"nodeType":"EventDefinition","src":"998:46:109","nodes":[],"anonymous":false,"eventSelector":"bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d","name":"FeeReceiverSet","nameLocation":"1004:14:109","parameters":{"id":73035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73034,"indexed":false,"mutability":"mutable","name":"_newFeeReceiver","nameLocation":"1027:15:109","nodeType":"VariableDeclaration","scope":73036,"src":"1019:23:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73033,"name":"address","nodeType":"ElementaryTypeName","src":"1019:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1018:25:109"}},{"id":73042,"nodeType":"EventDefinition","src":"1049:66:109","nodes":[],"anonymous":false,"eventSelector":"a1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c","name":"ProtocolFeeSet","nameLocation":"1055:14:109","parameters":{"id":73041,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73038,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"1078:10:109","nodeType":"VariableDeclaration","scope":73042,"src":"1070:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73037,"name":"address","nodeType":"ElementaryTypeName","src":"1070:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73040,"indexed":false,"mutability":"mutable","name":"_newProtocolFee","nameLocation":"1098:15:109","nodeType":"VariableDeclaration","scope":73042,"src":"1090:23:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73039,"name":"uint256","nodeType":"ElementaryTypeName","src":"1090:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1069:45:109"}},{"id":73046,"nodeType":"EventDefinition","src":"1120:51:109","nodes":[],"anonymous":false,"eventSelector":"b4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29","name":"CommunityCreated","nameLocation":"1126:16:109","parameters":{"id":73045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73044,"indexed":false,"mutability":"mutable","name":"_registryCommunity","nameLocation":"1151:18:109","nodeType":"VariableDeclaration","scope":73046,"src":"1143:26:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73043,"name":"address","nodeType":"ElementaryTypeName","src":"1143:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1142:28:109"}},{"id":73052,"nodeType":"EventDefinition","src":"1176:62:109","nodes":[],"anonymous":false,"eventSelector":"ecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f62","name":"CommunityValiditySet","nameLocation":"1182:20:109","parameters":{"id":73051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73048,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"1211:10:109","nodeType":"VariableDeclaration","scope":73052,"src":"1203:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73047,"name":"address","nodeType":"ElementaryTypeName","src":"1203:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73050,"indexed":false,"mutability":"mutable","name":"_isValid","nameLocation":"1228:8:109","nodeType":"VariableDeclaration","scope":73052,"src":"1223:13:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73049,"name":"bool","nodeType":"ElementaryTypeName","src":"1223:4:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1202:35:109"}},{"id":73056,"nodeType":"ErrorDefinition","src":"1410:43:109","nodes":[],"errorSelector":"f5a6943d","name":"CommunityInvalid","nameLocation":"1416:16:109","parameters":{"id":73055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73054,"mutability":"mutable","name":"_community","nameLocation":"1441:10:109","nodeType":"VariableDeclaration","scope":73056,"src":"1433:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73053,"name":"address","nodeType":"ElementaryTypeName","src":"1433:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1432:20:109"}},{"id":73058,"nodeType":"ErrorDefinition","src":"1458:28:109","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"1464:19:109","parameters":{"id":73057,"nodeType":"ParameterList","parameters":[],"src":"1483:2:109"}},{"id":73074,"nodeType":"FunctionDefinition","src":"1658:141:109","nodes":[],"body":{"id":73073,"nodeType":"Block","src":"1726:73:109","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73063,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73060,"src":"1740:8:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":73066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1760:1:109","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":73065,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1752:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73064,"name":"address","nodeType":"ElementaryTypeName","src":"1752:7:109","typeDescriptions":{}}},"id":73067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1752:10:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1740:22:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73072,"nodeType":"IfStatement","src":"1736:56:109","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73069,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73058,"src":"1771:19:109","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1771:21:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73071,"nodeType":"RevertStatement","src":"1764:28:109"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"1667:18:109","parameters":{"id":73061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73060,"mutability":"mutable","name":"_address","nameLocation":"1694:8:109","nodeType":"VariableDeclaration","scope":73074,"src":"1686:16:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73059,"name":"address","nodeType":"ElementaryTypeName","src":"1686:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1685:18:109"},"returnParameters":{"id":73062,"nodeType":"ParameterList","parameters":[],"src":"1726:0:109"},"scope":73365,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":73086,"nodeType":"FunctionDefinition","src":"1805:136:109","nodes":[],"body":{"id":73085,"nodeType":"Block","src":"1888:53:109","nodes":[],"statements":[{"expression":{"id":73083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73081,"name":"registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73028,"src":"1898:25:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73082,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73076,"src":"1926:8:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1898:36:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73084,"nodeType":"ExpressionStatement","src":"1898:36:109"}]},"functionSelector":"5decae02","implemented":true,"kind":"function","modifiers":[{"id":73079,"kind":"modifierInvocation","modifierName":{"id":73078,"name":"onlyOwner","nameLocations":["1878:9:109"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"1878:9:109"},"nodeType":"ModifierInvocation","src":"1878:9:109"}],"name":"setRegistryCommunityTemplate","nameLocation":"1814:28:109","parameters":{"id":73077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73076,"mutability":"mutable","name":"template","nameLocation":"1851:8:109","nodeType":"VariableDeclaration","scope":73086,"src":"1843:16:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73075,"name":"address","nodeType":"ElementaryTypeName","src":"1843:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1842:18:109"},"returnParameters":{"id":73080,"nodeType":"ParameterList","parameters":[],"src":"1888:0:109"},"scope":73365,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":73098,"nodeType":"FunctionDefinition","src":"1947:118:109","nodes":[],"body":{"id":73097,"nodeType":"Block","src":"2021:44:109","nodes":[],"statements":[{"expression":{"id":73095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73093,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73030,"src":"2031:16:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73094,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73088,"src":"2050:8:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2031:27:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73096,"nodeType":"ExpressionStatement","src":"2031:27:109"}]},"functionSelector":"1b71f0e4","implemented":true,"kind":"function","modifiers":[{"id":73091,"kind":"modifierInvocation","modifierName":{"id":73090,"name":"onlyOwner","nameLocations":["2011:9:109"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"2011:9:109"},"nodeType":"ModifierInvocation","src":"2011:9:109"}],"name":"setStrategyTemplate","nameLocation":"1956:19:109","parameters":{"id":73089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73088,"mutability":"mutable","name":"template","nameLocation":"1984:8:109","nodeType":"VariableDeclaration","scope":73098,"src":"1976:16:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73087,"name":"address","nodeType":"ElementaryTypeName","src":"1976:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1975:18:109"},"returnParameters":{"id":73092,"nodeType":"ParameterList","parameters":[],"src":"2021:0:109"},"scope":73365,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":73110,"nodeType":"FunctionDefinition","src":"2071:132:109","nodes":[],"body":{"id":73109,"nodeType":"Block","src":"2152:51:109","nodes":[],"statements":[{"expression":{"id":73107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73105,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73032,"src":"2162:23:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73106,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73100,"src":"2188:8:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2162:34:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73108,"nodeType":"ExpressionStatement","src":"2162:34:109"}]},"functionSelector":"b0d3713a","implemented":true,"kind":"function","modifiers":[{"id":73103,"kind":"modifierInvocation","modifierName":{"id":73102,"name":"onlyOwner","nameLocations":["2142:9:109"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"2142:9:109"},"nodeType":"ModifierInvocation","src":"2142:9:109"}],"name":"setCollateralVaultTemplate","nameLocation":"2080:26:109","parameters":{"id":73101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73100,"mutability":"mutable","name":"template","nameLocation":"2115:8:109","nodeType":"VariableDeclaration","scope":73110,"src":"2107:16:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73099,"name":"address","nodeType":"ElementaryTypeName","src":"2107:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2106:18:109"},"returnParameters":{"id":73104,"nodeType":"ParameterList","parameters":[],"src":"2152:0:109"},"scope":73365,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":73168,"nodeType":"FunctionDefinition","src":"2209:780:109","nodes":[],"body":{"id":73167,"nodeType":"Block","src":"2436:553:109","nodes":[],"statements":[{"expression":{"arguments":[{"id":73128,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73112,"src":"2463:6:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73125,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2446:5:109","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_RegistryFactoryV0_0_$73365_$","typeString":"type(contract super RegistryFactoryV0_0)"}},"id":73127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2452:10:109","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":70689,"src":"2446:16:109","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2446:24:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73130,"nodeType":"ExpressionStatement","src":"2446:24:109"},{"expression":{"id":73133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73131,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73019,"src":"2480:5:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":73132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2488:1:109","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2480:9:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73134,"nodeType":"ExpressionStatement","src":"2480:9:109"},{"expression":{"arguments":[{"id":73136,"name":"_gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73114,"src":"2518:19:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73135,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73074,"src":"2499:18:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":73137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2499:39:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73138,"nodeType":"ExpressionStatement","src":"2499:39:109"},{"expression":{"arguments":[{"id":73140,"name":"_registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73116,"src":"2567:26:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73139,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73074,"src":"2548:18:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":73141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2548:46:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73142,"nodeType":"ExpressionStatement","src":"2548:46:109"},{"expression":{"arguments":[{"id":73144,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73120,"src":"2623:24:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73143,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73074,"src":"2604:18:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":73145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2604:44:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73146,"nodeType":"ExpressionStatement","src":"2604:44:109"},{"expression":{"id":73149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73147,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73026,"src":"2658:18:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73148,"name":"_gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73114,"src":"2679:19:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2658:40:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73150,"nodeType":"ExpressionStatement","src":"2658:40:109"},{"expression":{"id":73153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73151,"name":"registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73028,"src":"2708:25:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73152,"name":"_registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73116,"src":"2736:26:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2708:54:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73154,"nodeType":"ExpressionStatement","src":"2708:54:109"},{"expression":{"id":73157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73155,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73030,"src":"2772:16:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73156,"name":"_strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73118,"src":"2791:17:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2772:36:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73158,"nodeType":"ExpressionStatement","src":"2772:36:109"},{"expression":{"id":73161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73159,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73032,"src":"2818:23:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73160,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73120,"src":"2844:24:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2818:50:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73162,"nodeType":"ExpressionStatement","src":"2818:50:109"},{"eventCall":{"arguments":[{"id":73164,"name":"_gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73114,"src":"2898:19:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73163,"name":"FeeReceiverSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73036,"src":"2883:14:109","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2883:35:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73166,"nodeType":"EmitStatement","src":"2878:40:109"}]},"functionSelector":"1459457a","implemented":true,"kind":"function","modifiers":[{"id":73123,"kind":"modifierInvocation","modifierName":{"id":73122,"name":"initializer","nameLocations":["2424:11:109"],"nodeType":"IdentifierPath","referencedDeclaration":53054,"src":"2424:11:109"},"nodeType":"ModifierInvocation","src":"2424:11:109"}],"name":"initialize","nameLocation":"2218:10:109","parameters":{"id":73121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73112,"mutability":"mutable","name":"_owner","nameLocation":"2246:6:109","nodeType":"VariableDeclaration","scope":73168,"src":"2238:14:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73111,"name":"address","nodeType":"ElementaryTypeName","src":"2238:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73114,"mutability":"mutable","name":"_gardensFeeReceiver","nameLocation":"2270:19:109","nodeType":"VariableDeclaration","scope":73168,"src":"2262:27:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73113,"name":"address","nodeType":"ElementaryTypeName","src":"2262:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73116,"mutability":"mutable","name":"_registryCommunityTemplate","nameLocation":"2307:26:109","nodeType":"VariableDeclaration","scope":73168,"src":"2299:34:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73115,"name":"address","nodeType":"ElementaryTypeName","src":"2299:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73118,"mutability":"mutable","name":"_strategyTemplate","nameLocation":"2351:17:109","nodeType":"VariableDeclaration","scope":73168,"src":"2343:25:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73117,"name":"address","nodeType":"ElementaryTypeName","src":"2343:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73120,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"2386:24:109","nodeType":"VariableDeclaration","scope":73168,"src":"2378:32:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73119,"name":"address","nodeType":"ElementaryTypeName","src":"2378:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2228:188:109"},"returnParameters":{"id":73124,"nodeType":"ParameterList","parameters":[],"src":"2436:0:109"},"scope":73365,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":73251,"nodeType":"FunctionDefinition","src":"2995:844:109","nodes":[],"body":{"id":73250,"nodeType":"Block","src":"3158:681:109","nodes":[],"statements":[{"expression":{"id":73181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73176,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73171,"src":"3168:6:109","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":73178,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3175:6:109","memberName":"_nonce","nodeType":"MemberAccess","referencedDeclaration":70968,"src":"3168:13:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3184:7:109","subExpression":{"id":73179,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73019,"src":"3184:5:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3168:23:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73182,"nodeType":"ExpressionStatement","src":"3168:23:109"},{"expression":{"id":73190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73183,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73171,"src":"3201:6:109","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":73185,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3208:16:109","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":70970,"src":"3201:23:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73188,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3235:4:109","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$73365","typeString":"contract RegistryFactoryV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$73365","typeString":"contract RegistryFactoryV0_0"}],"id":73187,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3227:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73186,"name":"address","nodeType":"ElementaryTypeName","src":"3227:7:109","typeDescriptions":{}}},"id":73189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3227:13:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3201:39:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73191,"nodeType":"ExpressionStatement","src":"3201:39:109"},{"assignments":[73194],"declarations":[{"constant":false,"id":73194,"mutability":"mutable","name":"proxy","nameLocation":"3264:5:109","nodeType":"VariableDeclaration","scope":73250,"src":"3251:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"},"typeName":{"id":73193,"nodeType":"UserDefinedTypeName","pathNode":{"id":73192,"name":"ERC1967Proxy","nameLocations":["3251:12:109"],"nodeType":"IdentifierPath","referencedDeclaration":55021,"src":"3251:12:109"},"referencedDeclaration":55021,"src":"3251:12:109","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}},"visibility":"internal"}],"id":73214,"initialValue":{"arguments":[{"arguments":[{"id":73200,"name":"registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73028,"src":"3310:25:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73199,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3302:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73198,"name":"address","nodeType":"ElementaryTypeName","src":"3302:7:109","typeDescriptions":{}}},"id":73201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3302:34:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":73204,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72744,"src":"3390:21:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":73205,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3412:10:109","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":71527,"src":"3390:32:109","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_struct$_InitializeParams_$70984_memory_ptr_$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function RegistryCommunityV0_0.initialize(struct RegistryCommunityV0_0.InitializeParams memory,address,address,address)"}},"id":73206,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3423:8:109","memberName":"selector","nodeType":"MemberAccess","src":"3390:41:109","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":73207,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73171,"src":"3433:6:109","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},{"id":73208,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73030,"src":"3441:16:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73209,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73032,"src":"3459:23:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":73210,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[70732],"referencedDeclaration":70732,"src":"3484:5:109","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":73211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3484:7:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73202,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3350:3:109","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":73203,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3354:18:109","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"3350:22:109","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":73212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3350:155:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":73197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"3272:16:109","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55021_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":73196,"nodeType":"UserDefinedTypeName","pathNode":{"id":73195,"name":"ERC1967Proxy","nameLocations":["3276:12:109"],"nodeType":"IdentifierPath","referencedDeclaration":55021,"src":"3276:12:109"},"referencedDeclaration":55021,"src":"3276:12:109","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}},"id":73213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3272:243:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}},"nodeType":"VariableDeclarationStatement","src":"3251:264:109"},{"assignments":[73217],"declarations":[{"constant":false,"id":73217,"mutability":"mutable","name":"registryCommunity","nameLocation":"3548:17:109","nodeType":"VariableDeclaration","scope":73250,"src":"3526:39:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":73216,"nodeType":"UserDefinedTypeName","pathNode":{"id":73215,"name":"RegistryCommunityV0_0","nameLocations":["3526:21:109"],"nodeType":"IdentifierPath","referencedDeclaration":72744,"src":"3526:21:109"},"referencedDeclaration":72744,"src":"3526:21:109","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"visibility":"internal"}],"id":73227,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":73223,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73194,"src":"3606:5:109","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}],"id":73222,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3598:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73221,"name":"address","nodeType":"ElementaryTypeName","src":"3598:7:109","typeDescriptions":{}}},"id":73224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3598:14:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73220,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3590:8:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":73219,"name":"address","nodeType":"ElementaryTypeName","src":"3590:8:109","stateMutability":"payable","typeDescriptions":{}}},"id":73225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3590:23:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":73218,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72744,"src":"3568:21:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":73226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3568:46:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"VariableDeclarationStatement","src":"3526:88:109"},{"expression":{"id":73236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":73228,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73024,"src":"3674:15:109","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$73011_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":73233,"indexExpression":{"arguments":[{"id":73231,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73217,"src":"3698:17:109","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}],"id":73230,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3690:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73229,"name":"address","nodeType":"ElementaryTypeName","src":"3690:7:109","typeDescriptions":{}}},"id":73232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3690:26:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3674:43:109","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$73011_storage","typeString":"struct CommunityInfo storage ref"}},"id":73234,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3718:5:109","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":73010,"src":"3674:49:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":73235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3726:4:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"3674:56:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73237,"nodeType":"ExpressionStatement","src":"3674:56:109"},{"eventCall":{"arguments":[{"arguments":[{"id":73241,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73217,"src":"3770:17:109","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}],"id":73240,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3762:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73239,"name":"address","nodeType":"ElementaryTypeName","src":"3762:7:109","typeDescriptions":{}}},"id":73242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3762:26:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73238,"name":"CommunityCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73046,"src":"3745:16:109","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3745:44:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73244,"nodeType":"EmitStatement","src":"3740:49:109"},{"expression":{"arguments":[{"id":73247,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73217,"src":"3814:17:109","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72744","typeString":"contract RegistryCommunityV0_0"}],"id":73246,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3806:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73245,"name":"address","nodeType":"ElementaryTypeName","src":"3806:7:109","typeDescriptions":{}}},"id":73248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3806:26:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":73175,"id":73249,"nodeType":"Return","src":"3799:33:109"}]},"functionSelector":"beb331a3","implemented":true,"kind":"function","modifiers":[],"name":"createRegistry","nameLocation":"3004:14:109","parameters":{"id":73172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73171,"mutability":"mutable","name":"params","nameLocation":"3065:6:109","nodeType":"VariableDeclaration","scope":73251,"src":"3019:52:109","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"},"typeName":{"id":73170,"nodeType":"UserDefinedTypeName","pathNode":{"id":73169,"name":"RegistryCommunityV0_0.InitializeParams","nameLocations":["3019:21:109","3041:16:109"],"nodeType":"IdentifierPath","referencedDeclaration":70984,"src":"3019:38:109"},"referencedDeclaration":70984,"src":"3019:38:109","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_storage_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"}},"visibility":"internal"}],"src":"3018:54:109"},"returnParameters":{"id":73175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73174,"mutability":"mutable","name":"_createdRegistryAddress","nameLocation":"3129:23:109","nodeType":"VariableDeclaration","scope":73251,"src":"3121:31:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73173,"name":"address","nodeType":"ElementaryTypeName","src":"3121:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3120:33:109"},"scope":73365,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":73271,"nodeType":"FunctionDefinition","src":"3845:222:109","nodes":[],"body":{"id":73270,"nodeType":"Block","src":"3923:144:109","nodes":[],"statements":[{"expression":{"arguments":[{"id":73259,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73253,"src":"3952:15:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73258,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73074,"src":"3933:18:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":73260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3933:35:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73261,"nodeType":"ExpressionStatement","src":"3933:35:109"},{"expression":{"id":73264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73262,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73026,"src":"3978:18:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73263,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73253,"src":"3999:15:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3978:36:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73265,"nodeType":"ExpressionStatement","src":"3978:36:109"},{"eventCall":{"arguments":[{"id":73267,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73253,"src":"4044:15:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73266,"name":"FeeReceiverSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73036,"src":"4029:14:109","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4029:31:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73269,"nodeType":"EmitStatement","src":"4024:36:109"}]},"functionSelector":"8279c7db","implemented":true,"kind":"function","modifiers":[{"id":73256,"kind":"modifierInvocation","modifierName":{"id":73255,"name":"onlyOwner","nameLocations":["3913:9:109"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"3913:9:109"},"nodeType":"ModifierInvocation","src":"3913:9:109"}],"name":"setReceiverAddress","nameLocation":"3854:18:109","parameters":{"id":73254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73253,"mutability":"mutable","name":"_newFeeReceiver","nameLocation":"3881:15:109","nodeType":"VariableDeclaration","scope":73271,"src":"3873:23:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73252,"name":"address","nodeType":"ElementaryTypeName","src":"3873:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3872:25:109"},"returnParameters":{"id":73257,"nodeType":"ParameterList","parameters":[],"src":"3923:0:109"},"scope":73365,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":73279,"nodeType":"FunctionDefinition","src":"4073:115:109","nodes":[],"body":{"id":73278,"nodeType":"Block","src":"4146:42:109","nodes":[],"statements":[{"expression":{"id":73276,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73026,"src":"4163:18:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":73275,"id":73277,"nodeType":"Return","src":"4156:25:109"}]},"functionSelector":"987435be","implemented":true,"kind":"function","modifiers":[],"name":"getGardensFeeReceiver","nameLocation":"4082:21:109","parameters":{"id":73272,"nodeType":"ParameterList","parameters":[],"src":"4103:2:109"},"returnParameters":{"id":73275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73274,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73279,"src":"4137:7:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73273,"name":"address","nodeType":"ElementaryTypeName","src":"4137:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4136:9:109"},"scope":73365,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":73301,"nodeType":"FunctionDefinition","src":"4194:218:109","nodes":[],"body":{"id":73300,"nodeType":"Block","src":"4288:124:109","nodes":[],"statements":[{"expression":{"id":73293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":73288,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73024,"src":"4298:15:109","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$73011_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":73290,"indexExpression":{"id":73289,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73281,"src":"4314:10:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4298:27:109","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$73011_storage","typeString":"struct CommunityInfo storage ref"}},"id":73291,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4326:3:109","memberName":"fee","nodeType":"MemberAccess","referencedDeclaration":73008,"src":"4298:31:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73292,"name":"_newProtocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73283,"src":"4332:15:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4298:49:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73294,"nodeType":"ExpressionStatement","src":"4298:49:109"},{"eventCall":{"arguments":[{"id":73296,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73281,"src":"4377:10:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73297,"name":"_newProtocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73283,"src":"4389:15:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73295,"name":"ProtocolFeeSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73042,"src":"4362:14:109","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":73298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4362:43:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73299,"nodeType":"EmitStatement","src":"4357:48:109"}]},"functionSelector":"b5b3ca2c","implemented":true,"kind":"function","modifiers":[{"id":73286,"kind":"modifierInvocation","modifierName":{"id":73285,"name":"onlyOwner","nameLocations":["4278:9:109"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"4278:9:109"},"nodeType":"ModifierInvocation","src":"4278:9:109"}],"name":"setProtocolFee","nameLocation":"4203:14:109","parameters":{"id":73284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73281,"mutability":"mutable","name":"_community","nameLocation":"4226:10:109","nodeType":"VariableDeclaration","scope":73301,"src":"4218:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73280,"name":"address","nodeType":"ElementaryTypeName","src":"4218:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73283,"mutability":"mutable","name":"_newProtocolFee","nameLocation":"4246:15:109","nodeType":"VariableDeclaration","scope":73301,"src":"4238:23:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73282,"name":"uint256","nodeType":"ElementaryTypeName","src":"4238:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4217:45:109"},"returnParameters":{"id":73287,"nodeType":"ParameterList","parameters":[],"src":"4288:0:109"},"scope":73365,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":73323,"nodeType":"FunctionDefinition","src":"4418:208:109","nodes":[],"body":{"id":73322,"nodeType":"Block","src":"4508:118:109","nodes":[],"statements":[{"expression":{"id":73315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":73310,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73024,"src":"4518:15:109","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$73011_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":73312,"indexExpression":{"id":73311,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73303,"src":"4534:10:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4518:27:109","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$73011_storage","typeString":"struct CommunityInfo storage ref"}},"id":73313,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4546:5:109","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":73010,"src":"4518:33:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73314,"name":"_isValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73305,"src":"4554:8:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4518:44:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73316,"nodeType":"ExpressionStatement","src":"4518:44:109"},{"eventCall":{"arguments":[{"id":73318,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73303,"src":"4598:10:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73319,"name":"_isValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73305,"src":"4610:8:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":73317,"name":"CommunityValiditySet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73052,"src":"4577:20:109","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bool_$returns$__$","typeString":"function (address,bool)"}},"id":73320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4577:42:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73321,"nodeType":"EmitStatement","src":"4572:47:109"}]},"functionSelector":"5a2c8ace","implemented":true,"kind":"function","modifiers":[{"id":73308,"kind":"modifierInvocation","modifierName":{"id":73307,"name":"onlyOwner","nameLocations":["4498:9:109"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"4498:9:109"},"nodeType":"ModifierInvocation","src":"4498:9:109"}],"name":"setCommunityValidity","nameLocation":"4427:20:109","parameters":{"id":73306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73303,"mutability":"mutable","name":"_community","nameLocation":"4456:10:109","nodeType":"VariableDeclaration","scope":73323,"src":"4448:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73302,"name":"address","nodeType":"ElementaryTypeName","src":"4448:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73305,"mutability":"mutable","name":"_isValid","nameLocation":"4473:8:109","nodeType":"VariableDeclaration","scope":73323,"src":"4468:13:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73304,"name":"bool","nodeType":"ElementaryTypeName","src":"4468:4:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4447:35:109"},"returnParameters":{"id":73309,"nodeType":"ParameterList","parameters":[],"src":"4508:0:109"},"scope":73365,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":73336,"nodeType":"FunctionDefinition","src":"4632:144:109","nodes":[],"body":{"id":73335,"nodeType":"Block","src":"4719:57:109","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":73330,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73024,"src":"4736:15:109","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$73011_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":73332,"indexExpression":{"id":73331,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73325,"src":"4752:10:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4736:27:109","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$73011_storage","typeString":"struct CommunityInfo storage ref"}},"id":73333,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4764:5:109","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":73010,"src":"4736:33:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":73329,"id":73334,"nodeType":"Return","src":"4729:40:109"}]},"functionSelector":"f5016b5e","implemented":true,"kind":"function","modifiers":[],"name":"getCommunityValidity","nameLocation":"4641:20:109","parameters":{"id":73326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73325,"mutability":"mutable","name":"_community","nameLocation":"4670:10:109","nodeType":"VariableDeclaration","scope":73336,"src":"4662:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73324,"name":"address","nodeType":"ElementaryTypeName","src":"4662:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4661:20:109"},"returnParameters":{"id":73329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73328,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73336,"src":"4713:4:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73327,"name":"bool","nodeType":"ElementaryTypeName","src":"4713:4:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4712:6:109"},"scope":73365,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":73360,"nodeType":"FunctionDefinition","src":"4782:249:109","nodes":[],"body":{"id":73359,"nodeType":"Block","src":"4866:165:109","nodes":[],"statements":[{"condition":{"id":73347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4880:34:109","subExpression":{"expression":{"baseExpression":{"id":73343,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73024,"src":"4881:15:109","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$73011_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":73345,"indexExpression":{"id":73344,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73338,"src":"4897:10:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4881:27:109","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$73011_storage","typeString":"struct CommunityInfo storage ref"}},"id":73346,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4909:5:109","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":73010,"src":"4881:33:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73353,"nodeType":"IfStatement","src":"4876:100:109","trueBody":{"id":73352,"nodeType":"Block","src":"4916:60:109","statements":[{"errorCall":{"arguments":[{"id":73349,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73338,"src":"4954:10:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73348,"name":"CommunityInvalid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73056,"src":"4937:16:109","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":73350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4937:28:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73351,"nodeType":"RevertStatement","src":"4930:35:109"}]}},{"expression":{"expression":{"baseExpression":{"id":73354,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73024,"src":"4993:15:109","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$73011_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":73356,"indexExpression":{"id":73355,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73338,"src":"5009:10:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4993:27:109","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$73011_storage","typeString":"struct CommunityInfo storage ref"}},"id":73357,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5021:3:109","memberName":"fee","nodeType":"MemberAccess","referencedDeclaration":73008,"src":"4993:31:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73342,"id":73358,"nodeType":"Return","src":"4986:38:109"}]},"functionSelector":"0a992e0c","implemented":true,"kind":"function","modifiers":[],"name":"getProtocolFee","nameLocation":"4791:14:109","parameters":{"id":73339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73338,"mutability":"mutable","name":"_community","nameLocation":"4814:10:109","nodeType":"VariableDeclaration","scope":73360,"src":"4806:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73337,"name":"address","nodeType":"ElementaryTypeName","src":"4806:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4805:20:109"},"returnParameters":{"id":73342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73341,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73360,"src":"4857:7:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73340,"name":"uint256","nodeType":"ElementaryTypeName","src":"4857:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4856:9:109"},"scope":73365,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":73364,"nodeType":"VariableDeclaration","src":"5037:25:109","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"5057:5:109","scope":73365,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":73361,"name":"uint256","nodeType":"ElementaryTypeName","src":"5037:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73363,"length":{"hexValue":"3530","id":73362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5045:2:109","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"5037:11:109","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":73013,"name":"ProxyOwnableUpgrader","nameLocations":["512:20:109"],"nodeType":"IdentifierPath","referencedDeclaration":70754,"src":"512:20:109"},"id":73014,"nodeType":"InheritanceSpecifier","src":"512:20:109"}],"canonicalName":"RegistryFactoryV0_0","contractDependencies":[55021],"contractKind":"contract","documentation":{"id":73012,"nodeType":"StructuredDocumentation","src":"431:49:109","text":"@custom:oz-upgrades-from RegistryFactoryV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[73365,70754,55672,55325,54974,54984,52903,53696,53152],"name":"RegistryFactoryV0_0","nameLocation":"489:19:109","scope":73366,"usedErrors":[70677,73056,73058]}],"license":"AGPL-3.0-only"},"id":109} \ No newline at end of file +{"abi":[{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"collateralVaultTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"createRegistry","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunityInitializeParamsV0_0","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"}]}],"outputs":[{"name":"_createdRegistryAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"gardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getGardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_gardensFeeReceiver","type":"address","internalType":"address"},{"name":"_registryCommunityTemplate","type":"address","internalType":"address"},{"name":"_strategyTemplate","type":"address","internalType":"address"},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initialOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"nonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registryCommunityTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCollateralVaultTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_isValid","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_newProtocolFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setReceiverAddress","inputs":[{"name":"_newFeeReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRegistryCommunityTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStrategyTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategyTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityCreated","inputs":[{"name":"_registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityValiditySet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_isValid","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"FeeReceiverSet","inputs":[{"name":"_newFeeReceiver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProtocolFeeSet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_newProtocolFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CallerNotOwner","inputs":[{"name":"_caller","type":"address","internalType":"address"},{"name":"_owner","type":"address","internalType":"address"}]},{"type":"error","name":"CommunityInvalid","inputs":[{"name":"_community","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b5060805161203761004c6000396000818161072c0152818161076f015281816108000152818161084301526108c801526120376000f3fe608060405260043610620001345760003560e01c806302c1d0b114620001395780630a992e0c14620001735780631459457a14620001a75780631b71f0e414620001ce5780633659cfe614620001f35780634f1ef286146200021857806352d1902d146200022f5780635a2c8ace14620002475780635c94e4d2146200026c5780635decae02146200028e578063715018a614620002b357806377122d5614620002cb5780638279c7db14620002ed5780638da5cb5b1462000312578063987435be146200032a578063affed0e0146200034a578063b0d3713a1462000362578063b5b3ca2c1462000387578063b8bed90114620003ac578063beb331a314620003ce578063c4d66de814620003f3578063f2fde38b1462000418578063f5016b5e146200043d578063ffa1ad74146200048e575b600080fd5b3480156200014657600080fd5b506068546200015b906001600160a01b031681565b6040516200016a919062001333565b60405180910390f35b3480156200018057600080fd5b5062000198620001923660046200136f565b620004ce565b6040519081526020016200016a565b348015620001b457600080fd5b50620001cc620001c63660046200138f565b62000534565b005b348015620001db57600080fd5b50620001cc620001ed3660046200136f565b620006f6565b3480156200020057600080fd5b50620001cc620002123660046200136f565b62000722565b620001cc62000229366004620014c9565b620007f6565b3480156200023c57600080fd5b5062000198620008bb565b3480156200025457600080fd5b50620001cc6200026636600462001544565b6200096c565b3480156200027957600080fd5b506069546200015b906001600160a01b031681565b3480156200029b57600080fd5b50620001cc620002ad3660046200136f565b620009dd565b348015620002c057600080fd5b50620001cc62000a09565b348015620002d857600080fd5b50606a546200015b906001600160a01b031681565b348015620002fa57600080fd5b50620001cc6200030c3660046200136f565b62000a21565b3480156200031f57600080fd5b506200015b62000a7d565b3480156200033757600080fd5b506067546001600160a01b03166200015b565b3480156200035757600080fd5b506200019860655481565b3480156200036f57600080fd5b50620001cc620003813660046200136f565b62000b1a565b3480156200039457600080fd5b50620001cc620003a63660046200157e565b62000b46565b348015620003b957600080fd5b506067546200015b906001600160a01b031681565b348015620003db57600080fd5b506200015b620003ed36600462001645565b62000ba2565b3480156200040057600080fd5b50620001cc620004123660046200136f565b62000ce3565b3480156200042557600080fd5b50620001cc620004373660046200136f565b62000d5b565b3480156200044a57600080fd5b506200047d6200045c3660046200136f565b6001600160a01b031660009081526066602052604090206001015460ff1690565b60405190151581526020016200016a565b3480156200049b57600080fd5b50620004bf604051806040016040528060038152602001620302e360ec1b81525081565b6040516200016a9190620017f4565b6001600160a01b03811660009081526066602052604081206001015460ff1662000518578160405163f5a6943d60e01b81526004016200050f919062001333565b60405180910390fd5b506001600160a01b031660009081526066602052604090205490565b600054610100900460ff1615808015620005555750600054600160ff909116105b806200057a5750620005673062000dcc565b1580156200057a575060005460ff166001145b620005df5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200050f565b6000805460ff19166001179055801562000603576000805461ff0019166101001790555b6200060e8662000ce3565b60006065556200061e8562000ddb565b620006298462000ddb565b620006348262000ddb565b606780546001600160a01b038088166001600160a01b0319928316179092556068805487841690831617905560698054868416908316179055606a80549285169290911691909117905560405160008051602062001fe2833981519152906200069f90879062001333565b60405180910390a18015620006ee576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b6200070062000e03565b606980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036200076d5760405162461bcd60e51b81526004016200050f9062001809565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620007a162000e66565b6001600160a01b031614620007ca5760405162461bcd60e51b81526004016200050f9062001844565b620007d58162000e83565b60408051600080825260208201909252620007f39183919062000ed5565b50565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620008415760405162461bcd60e51b81526004016200050f9062001809565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200087562000e66565b6001600160a01b0316146200089e5760405162461bcd60e51b81526004016200050f9062001844565b620008a98262000e83565b620008b78282600162000ed5565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620009585760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016200050f565b5060008051602062001f9b83398151915290565b6200097662000e03565b6001600160a01b038216600081815260666020908152604091829020600101805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b620009e762000e03565b606880546001600160a01b0319166001600160a01b0392909216919091179055565b62000a1362000e03565b62000a1f600062001052565b565b62000a2b62000e03565b62000a368162000ddb565b606780546001600160a01b0319166001600160a01b03831617905560405160008051602062001fe28339815191529062000a7290839062001333565b60405180910390a150565b60008062000a936033546001600160a01b031690565b9050806001600160a01b03163b60000362000aad57919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000b0a575060408051601f3d908101601f1916820190925262000b07918101906200187f565b60015b62000b1457919050565b92915050565b62000b2462000e03565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b62000b5062000e03565b6001600160a01b038216600081815260666020908152604091829020849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c9101620009d1565b606580546000918262000bb5836200189f565b9091555060808301523060a0830152606854606954606a546000926001600160a01b0390811692633419635560e01b928792918216911662000bf662000a7d565b60405160240162000c0b9493929190620018e8565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905162000c4a9062001318565b62000c5792919062001a30565b604051809103906000f08015801562000c74573d6000803e3d6000fd5b506001600160a01b038116600090815260666020526040908190206001908101805460ff191690911790555190915081907fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc299062000cd490839062001333565b60405180910390a19392505050565b600054610100900460ff1662000d505760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200050f565b620007f38162001052565b62000d6562000e03565b6001600160a01b03811662000d505760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016200050f565b6001600160a01b03163b151590565b6001600160a01b038116620007f3576040516303988b8160e61b815260040160405180910390fd5b3362000e0e62000a7d565b6001600160a01b03161462000a1f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200050f565b60008051602062001f9b833981519152546001600160a01b031690565b3362000e8e62000a7d565b6001600160a01b031614620007f3573362000ea862000a7d565b60405163163678e960e01b81526001600160a01b039283166004820152911660248201526044016200050f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000f105762000f0b83620010a4565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000f6d575060408051601f3d908101601f1916820190925262000f6a9181019062001a56565b60015b62000fd25760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016200050f565b60008051602062001f9b8339815191528114620010445760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016200050f565b5062000f0b83838362001143565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b620010af8162000dcc565b620011135760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016200050f565b60008051602062001f9b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6200114e8362001174565b6000825111806200115c5750805b1562000f0b576200116e8383620011b6565b50505050565b6200117f81620010a4565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620011de838360405180606001604052806027815260200162001fbb60279139620011e5565b9392505050565b6060600080856001600160a01b03168560405162001204919062001a70565b600060405180830381855af49150503d806000811462001241576040519150601f19603f3d011682016040523d82523d6000602084013e62001246565b606091505b5091509150620012598683838762001263565b9695505050505050565b60608315620012d7578251600003620012cf57620012818562000dcc565b620012cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200050f565b5081620012e3565b620012e38383620012eb565b949350505050565b815115620012fc5781518083602001fd5b8060405162461bcd60e51b81526004016200050f9190620017f4565b6104ec8062001a8f83390190565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114620007f357600080fd5b80356200136a8162001347565b919050565b6000602082840312156200138257600080fd5b8135620011de8162001347565b600080600080600060a08688031215620013a857600080fd5b8535620013b58162001347565b94506020860135620013c78162001347565b93506040860135620013d98162001347565b92506060860135620013eb8162001347565b91506080860135620013fd8162001347565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b03811182821017156200144757620014476200140b565b60405290565b60006001600160401b03808411156200146a576200146a6200140b565b604051601f8501601f19908116603f011681019082821181831017156200149557620014956200140b565b81604052809350858152868686011115620014af57600080fd5b858560208301376000602087830101525050509392505050565b60008060408385031215620014dd57600080fd5b8235620014ea8162001347565b915060208301356001600160401b038111156200150657600080fd5b8301601f810185136200151857600080fd5b62001529858235602084016200144d565b9150509250929050565b803580151581146200136a57600080fd5b600080604083850312156200155857600080fd5b8235620015658162001347565b9150620015756020840162001533565b90509250929050565b600080604083850312156200159257600080fd5b82356200159f8162001347565b946020939093013593505050565b600082601f830112620015bf57600080fd5b620011de838335602085016200144d565b600060408284031215620015e357600080fd5b604080519081016001600160401b0380821183831017156200160957620016096200140b565b816040528293508435835260208501359150808211156200162957600080fd5b506200163885828601620015ad565b6020830152505092915050565b6000602082840312156200165857600080fd5b81356001600160401b03808211156200167057600080fd5b9083019061018082860312156200168657600080fd5b6200169062001421565b6200169b836200135d565b8152620016ab602084016200135d565b6020820152604083013560408201526060830135606082015260808301356080820152620016dc60a084016200135d565b60a0820152620016ef60c084016200135d565b60c082015260e0830135828111156200170757600080fd5b6200171587828601620015d0565b60e0830152506101006200172b8185016200135d565b9082015261012083810135838111156200174457600080fd5b6200175288828701620015ad565b8284015250506101406200176881850162001533565b9082015261016083810135838111156200178157600080fd5b6200178f88828701620015ad565b918301919091525095945050505050565b60005b83811015620017bd578181015183820152602001620017a3565b50506000910152565b60008151808452620017e0816020860160208601620017a0565b601f01601f19169290920160200192915050565b602081526000620011de6020830184620017c6565b6020808252602c9082015260008051602062001f7b83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602062001f7b83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156200189257600080fd5b8151620011de8162001347565b600060018201620018c057634e487b7160e01b600052601160045260246000fd5b5060010190565b805182526000602082015160406020850152620012e36040850182620017c6565b60808152620018fc60808201865162001326565b600060208601516200191260a084018262001326565b50604086015160c0830152606086015160e08301526080860151610100818185015260a088015191506101206200194c8186018462001326565b60c08901519250610140620019648187018562001326565b60e08a01519350610180610160818189015262001986610200890187620018c7565b948c01519495506200199b8883018662001326565b838c01519450607f19935083888703016101a0890152620019bd8686620017c6565b9550828c01519450620019d56101c089018615159052565b808c0151945050505080858403016101e086015250620019f68282620017c6565b9250505062001a09602083018662001326565b62001a18604083018562001326565b62001a27606083018462001326565b95945050505050565b6001600160a01b0383168152604060208201819052600090620012e390830184620017c6565b60006020828403121562001a6957600080fd5b5051919050565b6000825162001a84818460208701620017a0565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212204fe6c3c3dccfaea0fd10fdd343631403db3c1555c6576ad816deaaa45c9f926764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656446756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9da264697066735822122089d3dae0234b2496de7a09d7fb68a80f20abfdea75ba20a288c0b016cea6a24264736f6c63430008130033","sourceMap":"529:4554:109:-:0;;;1088:4:64;1045:48;;529:4554:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610620001345760003560e01c806302c1d0b114620001395780630a992e0c14620001735780631459457a14620001a75780631b71f0e414620001ce5780633659cfe614620001f35780634f1ef286146200021857806352d1902d146200022f5780635a2c8ace14620002475780635c94e4d2146200026c5780635decae02146200028e578063715018a614620002b357806377122d5614620002cb5780638279c7db14620002ed5780638da5cb5b1462000312578063987435be146200032a578063affed0e0146200034a578063b0d3713a1462000362578063b5b3ca2c1462000387578063b8bed90114620003ac578063beb331a314620003ce578063c4d66de814620003f3578063f2fde38b1462000418578063f5016b5e146200043d578063ffa1ad74146200048e575b600080fd5b3480156200014657600080fd5b506068546200015b906001600160a01b031681565b6040516200016a919062001333565b60405180910390f35b3480156200018057600080fd5b5062000198620001923660046200136f565b620004ce565b6040519081526020016200016a565b348015620001b457600080fd5b50620001cc620001c63660046200138f565b62000534565b005b348015620001db57600080fd5b50620001cc620001ed3660046200136f565b620006f6565b3480156200020057600080fd5b50620001cc620002123660046200136f565b62000722565b620001cc62000229366004620014c9565b620007f6565b3480156200023c57600080fd5b5062000198620008bb565b3480156200025457600080fd5b50620001cc6200026636600462001544565b6200096c565b3480156200027957600080fd5b506069546200015b906001600160a01b031681565b3480156200029b57600080fd5b50620001cc620002ad3660046200136f565b620009dd565b348015620002c057600080fd5b50620001cc62000a09565b348015620002d857600080fd5b50606a546200015b906001600160a01b031681565b348015620002fa57600080fd5b50620001cc6200030c3660046200136f565b62000a21565b3480156200031f57600080fd5b506200015b62000a7d565b3480156200033757600080fd5b506067546001600160a01b03166200015b565b3480156200035757600080fd5b506200019860655481565b3480156200036f57600080fd5b50620001cc620003813660046200136f565b62000b1a565b3480156200039457600080fd5b50620001cc620003a63660046200157e565b62000b46565b348015620003b957600080fd5b506067546200015b906001600160a01b031681565b348015620003db57600080fd5b506200015b620003ed36600462001645565b62000ba2565b3480156200040057600080fd5b50620001cc620004123660046200136f565b62000ce3565b3480156200042557600080fd5b50620001cc620004373660046200136f565b62000d5b565b3480156200044a57600080fd5b506200047d6200045c3660046200136f565b6001600160a01b031660009081526066602052604090206001015460ff1690565b60405190151581526020016200016a565b3480156200049b57600080fd5b50620004bf604051806040016040528060038152602001620302e360ec1b81525081565b6040516200016a9190620017f4565b6001600160a01b03811660009081526066602052604081206001015460ff1662000518578160405163f5a6943d60e01b81526004016200050f919062001333565b60405180910390fd5b506001600160a01b031660009081526066602052604090205490565b600054610100900460ff1615808015620005555750600054600160ff909116105b806200057a5750620005673062000dcc565b1580156200057a575060005460ff166001145b620005df5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200050f565b6000805460ff19166001179055801562000603576000805461ff0019166101001790555b6200060e8662000ce3565b60006065556200061e8562000ddb565b620006298462000ddb565b620006348262000ddb565b606780546001600160a01b038088166001600160a01b0319928316179092556068805487841690831617905560698054868416908316179055606a80549285169290911691909117905560405160008051602062001fe2833981519152906200069f90879062001333565b60405180910390a18015620006ee576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b6200070062000e03565b606980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036200076d5760405162461bcd60e51b81526004016200050f9062001809565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620007a162000e66565b6001600160a01b031614620007ca5760405162461bcd60e51b81526004016200050f9062001844565b620007d58162000e83565b60408051600080825260208201909252620007f39183919062000ed5565b50565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620008415760405162461bcd60e51b81526004016200050f9062001809565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200087562000e66565b6001600160a01b0316146200089e5760405162461bcd60e51b81526004016200050f9062001844565b620008a98262000e83565b620008b78282600162000ed5565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620009585760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016200050f565b5060008051602062001f9b83398151915290565b6200097662000e03565b6001600160a01b038216600081815260666020908152604091829020600101805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b620009e762000e03565b606880546001600160a01b0319166001600160a01b0392909216919091179055565b62000a1362000e03565b62000a1f600062001052565b565b62000a2b62000e03565b62000a368162000ddb565b606780546001600160a01b0319166001600160a01b03831617905560405160008051602062001fe28339815191529062000a7290839062001333565b60405180910390a150565b60008062000a936033546001600160a01b031690565b9050806001600160a01b03163b60000362000aad57919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000b0a575060408051601f3d908101601f1916820190925262000b07918101906200187f565b60015b62000b1457919050565b92915050565b62000b2462000e03565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b62000b5062000e03565b6001600160a01b038216600081815260666020908152604091829020849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c9101620009d1565b606580546000918262000bb5836200189f565b9091555060808301523060a0830152606854606954606a546000926001600160a01b0390811692633419635560e01b928792918216911662000bf662000a7d565b60405160240162000c0b9493929190620018e8565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905162000c4a9062001318565b62000c5792919062001a30565b604051809103906000f08015801562000c74573d6000803e3d6000fd5b506001600160a01b038116600090815260666020526040908190206001908101805460ff191690911790555190915081907fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc299062000cd490839062001333565b60405180910390a19392505050565b600054610100900460ff1662000d505760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200050f565b620007f38162001052565b62000d6562000e03565b6001600160a01b03811662000d505760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016200050f565b6001600160a01b03163b151590565b6001600160a01b038116620007f3576040516303988b8160e61b815260040160405180910390fd5b3362000e0e62000a7d565b6001600160a01b03161462000a1f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200050f565b60008051602062001f9b833981519152546001600160a01b031690565b3362000e8e62000a7d565b6001600160a01b031614620007f3573362000ea862000a7d565b60405163163678e960e01b81526001600160a01b039283166004820152911660248201526044016200050f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000f105762000f0b83620010a4565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000f6d575060408051601f3d908101601f1916820190925262000f6a9181019062001a56565b60015b62000fd25760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016200050f565b60008051602062001f9b8339815191528114620010445760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016200050f565b5062000f0b83838362001143565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b620010af8162000dcc565b620011135760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016200050f565b60008051602062001f9b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6200114e8362001174565b6000825111806200115c5750805b1562000f0b576200116e8383620011b6565b50505050565b6200117f81620010a4565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620011de838360405180606001604052806027815260200162001fbb60279139620011e5565b9392505050565b6060600080856001600160a01b03168560405162001204919062001a70565b600060405180830381855af49150503d806000811462001241576040519150601f19603f3d011682016040523d82523d6000602084013e62001246565b606091505b5091509150620012598683838762001263565b9695505050505050565b60608315620012d7578251600003620012cf57620012818562000dcc565b620012cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200050f565b5081620012e3565b620012e38383620012eb565b949350505050565b815115620012fc5781518083602001fd5b8060405162461bcd60e51b81526004016200050f9190620017f4565b6104ec8062001a8f83390190565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114620007f357600080fd5b80356200136a8162001347565b919050565b6000602082840312156200138257600080fd5b8135620011de8162001347565b600080600080600060a08688031215620013a857600080fd5b8535620013b58162001347565b94506020860135620013c78162001347565b93506040860135620013d98162001347565b92506060860135620013eb8162001347565b91506080860135620013fd8162001347565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b03811182821017156200144757620014476200140b565b60405290565b60006001600160401b03808411156200146a576200146a6200140b565b604051601f8501601f19908116603f011681019082821181831017156200149557620014956200140b565b81604052809350858152868686011115620014af57600080fd5b858560208301376000602087830101525050509392505050565b60008060408385031215620014dd57600080fd5b8235620014ea8162001347565b915060208301356001600160401b038111156200150657600080fd5b8301601f810185136200151857600080fd5b62001529858235602084016200144d565b9150509250929050565b803580151581146200136a57600080fd5b600080604083850312156200155857600080fd5b8235620015658162001347565b9150620015756020840162001533565b90509250929050565b600080604083850312156200159257600080fd5b82356200159f8162001347565b946020939093013593505050565b600082601f830112620015bf57600080fd5b620011de838335602085016200144d565b600060408284031215620015e357600080fd5b604080519081016001600160401b0380821183831017156200160957620016096200140b565b816040528293508435835260208501359150808211156200162957600080fd5b506200163885828601620015ad565b6020830152505092915050565b6000602082840312156200165857600080fd5b81356001600160401b03808211156200167057600080fd5b9083019061018082860312156200168657600080fd5b6200169062001421565b6200169b836200135d565b8152620016ab602084016200135d565b6020820152604083013560408201526060830135606082015260808301356080820152620016dc60a084016200135d565b60a0820152620016ef60c084016200135d565b60c082015260e0830135828111156200170757600080fd5b6200171587828601620015d0565b60e0830152506101006200172b8185016200135d565b9082015261012083810135838111156200174457600080fd5b6200175288828701620015ad565b8284015250506101406200176881850162001533565b9082015261016083810135838111156200178157600080fd5b6200178f88828701620015ad565b918301919091525095945050505050565b60005b83811015620017bd578181015183820152602001620017a3565b50506000910152565b60008151808452620017e0816020860160208601620017a0565b601f01601f19169290920160200192915050565b602081526000620011de6020830184620017c6565b6020808252602c9082015260008051602062001f7b83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602062001f7b83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156200189257600080fd5b8151620011de8162001347565b600060018201620018c057634e487b7160e01b600052601160045260246000fd5b5060010190565b805182526000602082015160406020850152620012e36040850182620017c6565b60808152620018fc60808201865162001326565b600060208601516200191260a084018262001326565b50604086015160c0830152606086015160e08301526080860151610100818185015260a088015191506101206200194c8186018462001326565b60c08901519250610140620019648187018562001326565b60e08a01519350610180610160818189015262001986610200890187620018c7565b948c01519495506200199b8883018662001326565b838c01519450607f19935083888703016101a0890152620019bd8686620017c6565b9550828c01519450620019d56101c089018615159052565b808c0151945050505080858403016101e086015250620019f68282620017c6565b9250505062001a09602083018662001326565b62001a18604083018562001326565b62001a27606083018462001326565b95945050505050565b6001600160a01b0383168152604060208201819052600090620012e390830184620017c6565b60006020828403121562001a6957600080fd5b5051919050565b6000825162001a84818460208701620017a0565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212204fe6c3c3dccfaea0fd10fdd343631403db3c1555c6576ad816deaaa45c9f926764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656446756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9da264697066735822122089d3dae0234b2496de7a09d7fb68a80f20abfdea75ba20a288c0b016cea6a24264736f6c63430008130033","sourceMap":"529:4554:109:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;753:40;;;;;;;;;;-1:-1:-1;753:40:109;;;;-1:-1:-1;;;;;753:40:109;;;;;;;;;;:::i;:::-;;;;;;;;4800:249;;;;;;;;;;-1:-1:-1;4800:249:109;;;;;:::i;:::-;;:::i;:::-;;;1004:25:142;;;992:2;977:18;4800:249:109;858:177:142;2258:780:109;;;;;;;;;;-1:-1:-1;2258:780:109;;;;;:::i;:::-;;:::i;:::-;;1996:118;;;;;;;;;;-1:-1:-1;1996:118:109;;;;;:::i;:::-;;:::i;3143:195:64:-;;;;;;;;;;-1:-1:-1;3143:195:64;;;;;:::i;:::-;;:::i;3657:220::-;;;;;;:::i;:::-;;:::i;2762:131::-;;;;;;;;;;;;;:::i;4436:208:109:-;;;;;;;;;;-1:-1:-1;4436:208:109;;;;;:::i;:::-;;:::i;799:31::-;;;;;;;;;;-1:-1:-1;799:31:109;;;;-1:-1:-1;;;;;799:31:109;;;1854:136;;;;;;;;;;-1:-1:-1;1854:136:109;;;;;:::i;:::-;;:::i;2085:101:45:-;;;;;;;;;;;;;:::i;836:38:109:-;;;;;;;;;;-1:-1:-1;836:38:109;;;;-1:-1:-1;;;;;836:38:109;;;3863:222;;;;;;;;;;-1:-1:-1;3863:222:109;;;;;:::i;:::-;;:::i;525:604:105:-;;;;;;;;;;;;;:::i;4091:115:109:-;;;;;;;;;;-1:-1:-1;4181:18:109;;-1:-1:-1;;;;;4181:18:109;4091:115;;632:20;;;;;;;;;;;;;;;;2120:132;;;;;;;;;;-1:-1:-1;2120:132:109;;;;;:::i;:::-;;:::i;4212:218::-;;;;;;;;;;-1:-1:-1;4212:218:109;;;;;:::i;:::-;;:::i;714:33::-;;;;;;;;;;-1:-1:-1;714:33:109;;;;-1:-1:-1;;;;;714:33:109;;;3044:813;;;;;;;;;;-1:-1:-1;3044:813:109;;;;;:::i;:::-;;:::i;404:115:105:-;;;;;;;;;;-1:-1:-1;404:115:105;;;;;:::i;:::-;;:::i;2335:198:45:-;;;;;;;;;;-1:-1:-1;2335:198:45;;;;;:::i;:::-;;:::i;4650:144:109:-;;;;;;;;;;-1:-1:-1;4650:144:109;;;;;:::i;:::-;-1:-1:-1;;;;;4754:27:109;4731:4;4754:27;;;:15;:27;;;;;:33;;;;;;4650:144;;;;7207:14:142;;7200:22;7182:41;;7170:2;7155:18;4650:144:109;7042:187:142;588:38:109;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;588:38:109;;;;;;;;;;;;:::i;4800:249::-;-1:-1:-1;;;;;4899:27:109;;4875:7;4899:27;;;:15;:27;;;;;:33;;;;;4894:100;;4972:10;4955:28;;-1:-1:-1;;;4955:28:109;;;;;;;;:::i;:::-;;;;;;;;4894:100;-1:-1:-1;;;;;;5011:27:109;;;;;:15;:27;;;;;:31;;4800:249::o;2258:780::-;3279:19:47;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:47;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;;3388:44;3426:4;3388:29;:44::i;:::-;3387:45;:66;;;;-1:-1:-1;3436:12:47;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:47;;8192:2:142;3325:201:47;;;8174:21:142;8231:2;8211:18;;;8204:30;8270:34;8250:18;;;8243:62;-1:-1:-1;;;8321:18:142;;;8314:44;8375:19;;3325:201:47;7990:410:142;3325:201:47;3536:12;:16;;-1:-1:-1;;3536:16:47;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:47;;;;;3562:65;2495:24:109::1;2512:6;2495:16;:24::i;:::-;2537:1;2529:5;:9:::0;2548:39:::1;2567:19:::0;2548:18:::1;:39::i;:::-;2597:46;2616:26;2597:18;:46::i;:::-;2653:44;2672:24;2653:18;:44::i;:::-;2707:18;:40:::0;;-1:-1:-1;;;;;2707:40:109;;::::1;-1:-1:-1::0;;;;;;2707:40:109;;::::1;;::::0;;;2757:25:::1;:54:::0;;;;::::1;::::0;;::::1;;::::0;;2821:16:::1;:36:::0;;;;::::1;::::0;;::::1;;::::0;;2867:23:::1;:50:::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;2932:35:::1;::::0;-1:-1:-1;;;;;;;;;;;2932:35:109;::::1;::::0;2728:19;;2932:35:::1;:::i;:::-;;;;;;;;3651:14:47::0;3647:99;;;3697:5;3681:21;;-1:-1:-1;;3681:21:47;;;3721:14;;-1:-1:-1;8557:36:142;;3721:14:47;;8545:2:142;8530:18;3721:14:47;;;;;;;3647:99;3269:483;2258:780:109;;;;;:::o;1996:118::-;1355:13:45;:11;:13::i;:::-;2080:16:109::1;:27:::0;;-1:-1:-1;;;;;;2080:27:109::1;-1:-1:-1::0;;;;;2080:27:109;;;::::1;::::0;;;::::1;::::0;;1996:118::o;3143:195:64:-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3224:36:::1;3242:17;3224;:36::i;:::-;3311:12;::::0;;3321:1:::1;3311:12:::0;;;::::1;::::0;::::1;::::0;;;3270:61:::1;::::0;3292:17;;3311:12;3270:21:::1;:61::i;:::-;3143:195:::0;:::o;3657:220::-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3772:36:::1;3790:17;3772;:36::i;:::-;3818:52;3840:17;3859:4;3865;3818:21;:52::i;:::-;3657:220:::0;;:::o;2762:131::-;2840:7;2080:4;-1:-1:-1;;;;;2089:6:64;2072:23;;2064:92;;;;-1:-1:-1;;;2064:92:64;;9632:2:142;2064:92:64;;;9614:21:142;9671:2;9651:18;;;9644:30;9710:34;9690:18;;;9683:62;-1:-1:-1;;;9761:18:142;;;9754:54;9825:19;;2064:92:64;9430:420:142;2064:92:64;-1:-1:-1;;;;;;;;;;;;2762:131:64;:::o;4436:208:109:-;1355:13:45;:11;:13::i;:::-;-1:-1:-1;;;;;4536:27:109;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:33:::1;;:44:::0;;-1:-1:-1;;4536:44:109::1;::::0;::::1;;::::0;;::::1;::::0;;;4595:42;;10023:51:142;;;10090:18;;;10083:50;4595:42:109::1;::::0;9996:18:142;4595:42:109::1;;;;;;;;4436:208:::0;;:::o;1854:136::-;1355:13:45;:11;:13::i;:::-;1947:25:109::1;:36:::0;;-1:-1:-1;;;;;;1947:36:109::1;-1:-1:-1::0;;;;;1947:36:109;;;::::1;::::0;;;::::1;::::0;;1854:136::o;2085:101:45:-;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;:::-;2085:101::o:0;3863:222:109:-;1355:13:45;:11;:13::i;:::-;3951:35:109::1;3970:15;3951:18;:35::i;:::-;3996:18;:36:::0;;-1:-1:-1;;;;;;3996:36:109::1;-1:-1:-1::0;;;;;3996:36:109;::::1;;::::0;;4047:31:::1;::::0;-1:-1:-1;;;;;;;;;;;4047:31:109;::::1;::::0;3996:36;;4047:31:::1;:::i;:::-;;;;;;;;3863:222:::0;:::o;525:604:105:-;572:7;591:20;614:26;1534:6:45;;-1:-1:-1;;;;;1534:6:45;;1462:85;614:26:105;591:49;;715:12;-1:-1:-1;;;;;707:33:105;;744:1;707:38;703:420;;829:12;525:604;-1:-1:-1;525:604:105:o;703:420::-;895:12;-1:-1:-1;;;;;876:38:105;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;876:40:105;;;;;;;;-1:-1:-1;;876:40:105;;;;;;;;;;;;:::i;:::-;;;872:241;;1086:12;525:604;-1:-1:-1;525:604:105:o;872:241::-;967:6;525:604;-1:-1:-1;;525:604:105:o;2120:132:109:-;1355:13:45;:11;:13::i;:::-;2211:23:109::1;:34:::0;;-1:-1:-1;;;;;;2211:34:109::1;-1:-1:-1::0;;;;;2211:34:109;;;::::1;::::0;;;::::1;::::0;;2120:132::o;4212:218::-;1355:13:45;:11;:13::i;:::-;-1:-1:-1;;;;;4316:27:109;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:49;;;4380:43;;10574:51:142;;;10641:18;;10634:34;;;4380:43:109::1;::::0;10547:18:142;4380:43:109::1;10400:274:142::0;3044:813:109;3232:5;:7;;3169:31;;;3232:7;;;:::i;:::-;;;;-1:-1:-1;3216:13:109;;;:23;3283:4;3249:23;;;:39;3358:25;;3472:16;;3490:23;;-1:-1:-1;;;;;;;3358:25:109;;;;-1:-1:-1;;;3421:41:109;3216:6;;3472:16;;;;3490:23;3515:7;:5;:7::i;:::-;3398:125;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3398:125:109;;;;;;;;;;;;;;-1:-1:-1;;;;;3398:125:109;-1:-1:-1;;;;;;3398:125:109;;;;;;;;;;3320:213;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3692:43:109;;3544:39;3692:43;;;:15;:43;;;;;;;3744:4;3692:49;;;:56;;-1:-1:-1;;3692:56:109;;;;;;3763:44;3299:234;;-1:-1:-1;3299:234:109;;3763:44;;;;3299:234;;3763:44;:::i;:::-;;;;;;;;3832:17;3044:813;-1:-1:-1;;;3044:813:109:o;404:115:105:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;13738:2:142;5366:69:47;;;13720:21:142;13777:2;13757:18;;;13750:30;13816:34;13796:18;;;13789:62;-1:-1:-1;;;13867:18:142;;;13860:41;13918:19;;5366:69:47;13536:407:142;5366:69:47;480:32:105::1;499:12;480:18;:32::i;2335:198:45:-:0;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:45;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:45;;14150:2:142;2415:73:45::1;::::0;::::1;14132:21:142::0;14189:2;14169:18;;;14162:30;14228:34;14208:18;;;14201:62;-1:-1:-1;;;14279:18:142;;;14272:36;14325:19;;2415:73:45::1;13948:402:142::0;1423:320:50;-1:-1:-1;;;;;1713:19:50;;:23;;;1423:320::o;1707:141:109:-;-1:-1:-1;;;;;1789:22:109;;1785:56;;1820:21;;-1:-1:-1;;;1820:21:109;;;;;;;;;;;1620:130:45;965:10:51;1683:7:45;:5;:7::i;:::-;-1:-1:-1;;;;;1683:23:45;;1675:68;;;;-1:-1:-1;;;1675:68:45;;14557:2:142;1675:68:45;;;14539:21:142;;;14576:18;;;14569:30;14635:34;14615:18;;;14608:62;14687:18;;1675:68:45;14355:356:142;1175:140:60;-1:-1:-1;;;;;;;;;;;1254:54:60;-1:-1:-1;;;;;1254:54:60;;1175:140::o;1135:169:105:-;1219:10;1208:7;:5;:7::i;:::-;-1:-1:-1;;;;;1208:21:105;;1204:94;;1267:10;1279:7;:5;:7::i;:::-;1252:35;;-1:-1:-1;;;1252:35:105;;-1:-1:-1;;;;;14946:15:142;;;1252:35:105;;;14928:34:142;14998:15;;14978:18;;;14971:43;14863:18;;1252:35:105;14716:304:142;2494:922:60;689:66;2910:48;;;2906:504;;;2974:37;2993:17;2974:18;:37::i;:::-;2494:922;;;:::o;2906:504::-;3064:17;-1:-1:-1;;;;;3046:50:60;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3046:52:60;;;;;;;;-1:-1:-1;;3046:52:60;;;;;;;;;;;;:::i;:::-;;;3042:291;;3262:56;;-1:-1:-1;;;3262:56:60;;15416:2:142;3262:56:60;;;15398:21:142;15455:2;15435:18;;;15428:30;15494:34;15474:18;;;15467:62;-1:-1:-1;;;15545:18:142;;;15538:44;15599:19;;3262:56:60;15214:410:142;3042:291:60;-1:-1:-1;;;;;;;;;;;3148:28:60;;3140:82;;;;-1:-1:-1;;;3140:82:60;;15831:2:142;3140:82:60;;;15813:21:142;15870:2;15850:18;;;15843:30;15909:34;15889:18;;;15882:62;-1:-1:-1;;;15960:18:142;;;15953:39;16009:19;;3140:82:60;15629:405:142;3140:82:60;3099:138;3346:53;3364:17;3383:4;3389:9;3346:17;:53::i;2687:187:45:-;2779:6;;;-1:-1:-1;;;;;2795:17:45;;;-1:-1:-1;;;;;;2795:17:45;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;1406:259:60:-;1487:37;1506:17;1487:18;:37::i;:::-;1479:95;;;;-1:-1:-1;;;1479:95:60;;16241:2:142;1479:95:60;;;16223:21:142;16280:2;16260:18;;;16253:30;16319:34;16299:18;;;16292:62;-1:-1:-1;;;16370:18:142;;;16363:43;16423:19;;1479:95:60;16039:409:142;1479:95:60;-1:-1:-1;;;;;;;;;;;1584:74:60;;-1:-1:-1;;;;;;1584:74:60;-1:-1:-1;;;;;1584:74:60;;;;;;;;;;1406:259::o;2057:265::-;2165:29;2176:17;2165:10;:29::i;:::-;2222:1;2208:4;:11;:15;:28;;;;2227:9;2208:28;2204:112;;;2252:53;2281:17;2300:4;2252:28;:53::i;:::-;;2057:265;;;:::o;1771:152::-;1837:37;1856:17;1837:18;:37::i;:::-;1889:27;;-1:-1:-1;;;;;1889:27:60;;;;;;;;1771:152;:::o;6674:198:76:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6781:84;6674:198;-1:-1:-1;;;6674:198:76:o;7058:325::-;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:76;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:76:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;8121:18;8132:6;8121:10;:18::i;:::-;8113:60;;;;-1:-1:-1;;;8113:60:76;;16947:2:142;8113:60:76;;;16929:21:142;16986:2;16966:18;;;16959:30;17025:31;17005:18;;;16998:59;17074:18;;8113:60:76;16745:353:142;8113:60:76;-1:-1:-1;8208:10:76;8201:17;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;:::-;7671:628;;;;;;:::o;8821:540::-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:76;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;:::o;14:104:142:-;-1:-1:-1;;;;;80:31:142;68:44;;14:104::o;123:203::-;-1:-1:-1;;;;;287:32:142;;;;269:51;;257:2;242:18;;123:203::o;331:131::-;-1:-1:-1;;;;;406:31:142;;396:42;;386:70;;452:1;449;442:12;467:134;535:20;;564:31;535:20;564:31;:::i;:::-;467:134;;;:::o;606:247::-;665:6;718:2;706:9;697:7;693:23;689:32;686:52;;;734:1;731;724:12;686:52;773:9;760:23;792:31;817:5;792:31;:::i;1040:813::-;1135:6;1143;1151;1159;1167;1220:3;1208:9;1199:7;1195:23;1191:33;1188:53;;;1237:1;1234;1227:12;1188:53;1276:9;1263:23;1295:31;1320:5;1295:31;:::i;:::-;1345:5;-1:-1:-1;1402:2:142;1387:18;;1374:32;1415:33;1374:32;1415:33;:::i;:::-;1467:7;-1:-1:-1;1526:2:142;1511:18;;1498:32;1539:33;1498:32;1539:33;:::i;:::-;1591:7;-1:-1:-1;1650:2:142;1635:18;;1622:32;1663:33;1622:32;1663:33;:::i;:::-;1715:7;-1:-1:-1;1774:3:142;1759:19;;1746:33;1788;1746;1788;:::i;:::-;1840:7;1830:17;;;1040:813;;;;;;;;:::o;1858:127::-;1919:10;1914:3;1910:20;1907:1;1900:31;1950:4;1947:1;1940:15;1974:4;1971:1;1964:15;1990:250;2057:2;2051:9;2099:6;2087:19;;-1:-1:-1;;;;;2121:34:142;;2157:22;;;2118:62;2115:88;;;2183:18;;:::i;:::-;2219:2;2212:22;1990:250;:::o;2245:631::-;2309:5;-1:-1:-1;;;;;2369:14:142;;;2366:40;;;2386:18;;:::i;:::-;2461:2;2455:9;2429:2;2515:15;;-1:-1:-1;;2511:24:142;;;2537:2;2507:33;2503:42;2491:55;;;2561:18;;;2581:22;;;2558:46;2555:72;;;2607:18;;:::i;:::-;2647:10;2643:2;2636:22;2676:6;2667:15;;2706:6;2698;2691:22;2746:3;2737:6;2732:3;2728:16;2725:25;2722:45;;;2763:1;2760;2753:12;2722:45;2813:6;2808:3;2801:4;2793:6;2789:17;2776:44;2868:1;2861:4;2852:6;2844;2840:19;2836:30;2829:41;;;;2245:631;;;;;:::o;2881:584::-;2958:6;2966;3019:2;3007:9;2998:7;2994:23;2990:32;2987:52;;;3035:1;3032;3025:12;2987:52;3074:9;3061:23;3093:31;3118:5;3093:31;:::i;:::-;3143:5;-1:-1:-1;3199:2:142;3184:18;;3171:32;-1:-1:-1;;;;;3215:30:142;;3212:50;;;3258:1;3255;3248:12;3212:50;3281:22;;3334:4;3326:13;;3322:27;-1:-1:-1;3312:55:142;;3363:1;3360;3353:12;3312:55;3386:73;3451:7;3446:2;3433:16;3428:2;3424;3420:11;3386:73;:::i;:::-;3376:83;;;2881:584;;;;;:::o;3652:160::-;3717:20;;3773:13;;3766:21;3756:32;;3746:60;;3802:1;3799;3792:12;3817:315;3882:6;3890;3943:2;3931:9;3922:7;3918:23;3914:32;3911:52;;;3959:1;3956;3949:12;3911:52;3998:9;3985:23;4017:31;4042:5;4017:31;:::i;:::-;4067:5;-1:-1:-1;4091:35:142;4122:2;4107:18;;4091:35;:::i;:::-;4081:45;;3817:315;;;;;:::o;4137:::-;4205:6;4213;4266:2;4254:9;4245:7;4241:23;4237:32;4234:52;;;4282:1;4279;4272:12;4234:52;4321:9;4308:23;4340:31;4365:5;4340:31;:::i;:::-;4390:5;4442:2;4427:18;;;;4414:32;;-1:-1:-1;;;4137:315:142:o;4457:221::-;4500:5;4553:3;4546:4;4538:6;4534:17;4530:27;4520:55;;4571:1;4568;4561:12;4520:55;4593:79;4668:3;4659:6;4646:20;4639:4;4631:6;4627:17;4593:79;:::i;4683:610::-;4738:5;4786:4;4774:9;4769:3;4765:19;4761:30;4758:50;;;4804:1;4801;4794:12;4758:50;4837:4;4831:11;;;4869:17;;-1:-1:-1;;;;;4938:18:142;;;4958:22;;;4935:46;4932:72;;;4984:18;;:::i;:::-;5026:10;5020:4;5013:24;5055:6;5046:15;;5098:9;5085:23;5077:6;5070:39;5160:2;5149:9;5145:18;5132:32;5118:46;;5187:2;5179:6;5176:14;5173:34;;;5203:1;5200;5193:12;5173:34;;5240:46;5282:3;5273:6;5262:9;5258:22;5240:46;:::i;:::-;5235:2;5227:6;5223:15;5216:71;;;4683:610;;;;:::o;5298:1643::-;5413:6;5466:2;5454:9;5445:7;5441:23;5437:32;5434:52;;;5482:1;5479;5472:12;5434:52;5509:23;;-1:-1:-1;;;;;5581:14:142;;;5578:34;;;5608:1;5605;5598:12;5578:34;5631:22;;;;5687:6;5669:16;;;5665:29;5662:49;;;5707:1;5704;5697:12;5662:49;5733:17;;:::i;:::-;5773:22;5792:2;5773:22;:::i;:::-;5766:5;5759:37;5828:31;5855:2;5851;5847:11;5828:31;:::i;:::-;5823:2;5816:5;5812:14;5805:55;5913:2;5909;5905:11;5892:25;5887:2;5880:5;5876:14;5869:49;5971:2;5967;5963:11;5950:25;5945:2;5938:5;5934:14;5927:49;6030:3;6026:2;6022:12;6009:26;6003:3;5996:5;5992:15;5985:51;6069:32;6096:3;6092:2;6088:12;6069:32;:::i;:::-;6063:3;6056:5;6052:15;6045:57;6135:32;6162:3;6158:2;6154:12;6135:32;:::i;:::-;6129:3;6122:5;6118:15;6111:57;6214:3;6210:2;6206:12;6193:26;6244:2;6234:8;6231:16;6228:36;;;6260:1;6257;6250:12;6228:36;6297:54;6343:7;6332:8;6328:2;6324:17;6297:54;:::i;:::-;6291:3;6284:5;6280:15;6273:79;;6371:3;6406:31;6433:2;6429;6425:11;6406:31;:::i;:::-;6390:14;;;6383:55;6457:3;6498:11;;;6485:25;6522:16;;;6519:36;;;6551:1;6548;6541:12;6519:36;6587:45;6624:7;6613:8;6609:2;6605:17;6587:45;:::i;:::-;6582:2;6575:5;6571:14;6564:69;;;6652:3;6687:28;6711:2;6707;6703:11;6687:28;:::i;:::-;6671:14;;;6664:52;6735:3;6776:11;;;6763:25;6800:16;;;6797:36;;;6829:1;6826;6819:12;6797:36;6865:45;6902:7;6891:8;6887:2;6883:17;6865:45;:::i;:::-;6849:14;;;6842:69;;;;-1:-1:-1;6853:5:142;5298:1643;-1:-1:-1;;;;;5298:1643:142:o;7234:250::-;7319:1;7329:113;7343:6;7340:1;7337:13;7329:113;;;7419:11;;;7413:18;7400:11;;;7393:39;7365:2;7358:10;7329:113;;;-1:-1:-1;;7476:1:142;7458:16;;7451:27;7234:250::o;7489:271::-;7531:3;7569:5;7563:12;7596:6;7591:3;7584:19;7612:76;7681:6;7674:4;7669:3;7665:14;7658:4;7651:5;7647:16;7612:76;:::i;:::-;7742:2;7721:15;-1:-1:-1;;7717:29:142;7708:39;;;;7749:4;7704:50;;7489:271;-1:-1:-1;;7489:271:142:o;7765:220::-;7914:2;7903:9;7896:21;7877:4;7934:45;7975:2;7964:9;7960:18;7952:6;7934:45;:::i;8604:408::-;8806:2;8788:21;;;8845:2;8825:18;;;8818:30;-1:-1:-1;;;;;;;;;;;8879:2:142;8864:18;;8857:62;-1:-1:-1;;;8950:2:142;8935:18;;8928:42;9002:3;8987:19;;8604:408::o;9017:::-;9219:2;9201:21;;;9258:2;9238:18;;;9231:30;-1:-1:-1;;;;;;;;;;;9292:2:142;9277:18;;9270:62;-1:-1:-1;;;9363:2:142;9348:18;;9341:42;9415:3;9400:19;;9017:408::o;10144:251::-;10214:6;10267:2;10255:9;10246:7;10242:23;10238:32;10235:52;;;10283:1;10280;10273:12;10235:52;10315:9;10309:16;10334:31;10359:5;10334:31;:::i;10679:232::-;10718:3;10739:17;;;10736:140;;10798:10;10793:3;10789:20;10786:1;10779:31;10833:4;10830:1;10823:15;10861:4;10858:1;10851:15;10736:140;-1:-1:-1;10903:1:142;10892:13;;10679:232::o;10916:252::-;11003:5;10997:12;10992:3;10985:25;10967:3;11056:4;11049:5;11045:16;11039:23;11094:4;11087;11082:3;11078:14;11071:28;11115:47;11156:4;11151:3;11147:14;11133:12;11115:47;:::i;11173:2038::-;11498:3;11487:9;11480:22;11511:54;11560:3;11549:9;11545:19;11536:6;11530:13;11511:54;:::i;:::-;11461:4;11612;11604:6;11600:17;11594:24;11627:53;11675:3;11664:9;11660:19;11646:12;11627:53;:::i;:::-;;11735:4;11727:6;11723:17;11717:24;11711:3;11700:9;11696:19;11689:53;11797:4;11789:6;11785:17;11779:24;11773:3;11762:9;11758:19;11751:53;11841:3;11833:6;11829:16;11823:23;11865:3;11904:2;11899;11888:9;11884:18;11877:30;11956:3;11948:6;11944:16;11938:23;11916:45;;11980:3;11992:54;12042:2;12031:9;12027:18;12011:14;11992:54;:::i;:::-;12095:3;12087:6;12083:16;12077:23;12055:45;;12119:3;12131:54;12181:2;12170:9;12166:18;12150:14;12131:54;:::i;:::-;12234:3;12226:6;12222:16;12216:23;12194:45;;12258:6;12283:3;12322:2;12317;12306:9;12302:18;12295:30;12348:63;12406:3;12395:9;12391:19;12375:14;12348:63;:::i;:::-;12448:15;;;12442:22;12334:77;;-1:-1:-1;12473:54:142;12508:18;;;12442:22;12473:54;:::i;:::-;12576:2;12568:6;12564:15;12558:22;12536:44;;12603:3;12599:8;12589:18;;12672:2;12660:9;12652:6;12648:22;12644:31;12638:3;12627:9;12623:19;12616:60;12699:41;12733:6;12717:14;12699:41;:::i;:::-;12685:55;;12789:2;12781:6;12777:15;12771:22;12749:44;;12802:52;12849:3;12838:9;12834:19;12818:14;7016:13;7009:21;6997:34;;6946:91;12802:52;12903:2;12895:6;12891:15;12885:22;12863:44;;;;;12972:2;12960:9;12952:6;12948:22;12944:31;12938:3;12927:9;12923:19;12916:60;;12993:41;13027:6;13011:14;12993:41;:::i;:::-;12985:49;;;;13043:48;13085:4;13074:9;13070:20;13062:6;13043:48;:::i;:::-;13100;13142:4;13131:9;13127:20;13119:6;13100:48;:::i;:::-;13157;13199:4;13188:9;13184:20;13176:6;13157:48;:::i;:::-;11173:2038;;;;;;;:::o;13216:315::-;-1:-1:-1;;;;;13391:32:142;;13373:51;;13460:2;13455;13440:18;;13433:30;;;-1:-1:-1;;13480:45:142;;13506:18;;13498:6;13480:45;:::i;15025:184::-;15095:6;15148:2;15136:9;15127:7;15123:23;15119:32;15116:52;;;15164:1;15161;15154:12;15116:52;-1:-1:-1;15187:16:142;;15025:184;-1:-1:-1;15025:184:142:o;16453:287::-;16582:3;16620:6;16614:13;16636:66;16695:6;16690:3;16683:4;16675:6;16671:17;16636:66;:::i;:::-;16718:16;;;;;16453:287;-1:-1:-1;;16453:287:142:o","linkReferences":{},"immutableReferences":{"55572":[{"start":1836,"length":32},{"start":1903,"length":32},{"start":2048,"length":32},{"start":2115,"length":32},{"start":2248,"length":32}]}},"methodIdentifiers":{"VERSION()":"ffa1ad74","collateralVaultTemplate()":"77122d56","createRegistry((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string))":"beb331a3","gardensFeeReceiver()":"b8bed901","getCommunityValidity(address)":"f5016b5e","getGardensFeeReceiver()":"987435be","getProtocolFee(address)":"0a992e0c","initialize(address)":"c4d66de8","initialize(address,address,address,address,address)":"1459457a","nonce()":"affed0e0","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","registryCommunityTemplate()":"02c1d0b1","renounceOwnership()":"715018a6","setCollateralVaultTemplate(address)":"b0d3713a","setCommunityValidity(address,bool)":"5a2c8ace","setProtocolFee(address,uint256)":"b5b3ca2c","setReceiverAddress(address)":"8279c7db","setRegistryCommunityTemplate(address)":"5decae02","setStrategyTemplate(address)":"1b71f0e4","strategyTemplate()":"5c94e4d2","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"CallerNotOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"CommunityInvalid\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_registryCommunity\",\"type\":\"address\"}],\"name\":\"CommunityCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"CommunityValiditySet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"FeeReceiverSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateralVaultTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"}],\"internalType\":\"struct RegistryCommunityInitializeParamsV0_0\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"createRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_createdRegistryAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getCommunityValidity\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getProtocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_gardensFeeReceiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registryCommunityTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryCommunityTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setCollateralVaultTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"setCommunityValidity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"setProtocolFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"setReceiverAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setRegistryCommunityTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setStrategyTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategyTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"RegistryFactoryV0_0\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol\":\"RegistryFactoryV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293\",\"dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0xc3aed28a3fec8dcc2e95c8569aa2c4323897a1685c63746822956fe995eddf28\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c4126fea7a0d30c76aab94605930ed01c7e53df2f4a7bba4773c097904d5eb39\",\"dweb:/ipfs/QmNsDu9G5JKCXdTs1HmEyVcR3S4DhuiZRt2bEPVNYGckgw\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x6b05f27573e30362ec808b4d79f8156550a8dd5090b107b46928ab8d87be3c87\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://134753f1a9a463e4193ffa2b2f6e32813b7a3d7603ddacaedf0f65a6a72c864a\",\"dweb:/ipfs/QmZnQa6a3aFUvxdT1yaj72DBQUShfq5okHshhHwGv85Mdq\"]},\"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol\":{\"keccak256\":\"0xe130342ecd3a0023a97611845108dd8f7411a4b18dfe8bccc7d880b716e94932\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://be21850b019ca2fd1a2da4474822621b3471d1def2f78599ffac20d94c8782ff\",\"dweb:/ipfs/QmPA536ZAYTcqBdyh3AxafpKM5Rx5C97uNP7n5dXKZqNvM\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"type":"error","name":"CallerNotOwner"},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"type":"error","name":"CommunityInvalid"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"_registryCommunity","type":"address","indexed":false}],"type":"event","name":"CommunityCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"bool","name":"_isValid","type":"bool","indexed":false}],"type":"event","name":"CommunityValiditySet","anonymous":false},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address","indexed":false}],"type":"event","name":"FeeReceiverSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256","indexed":false}],"type":"event","name":"ProtocolFeeSet","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVaultTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"struct RegistryCommunityInitializeParamsV0_0","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createRegistry","outputs":[{"internalType":"address","name":"_createdRegistryAddress","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getCommunityValidity","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getGardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getProtocolFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_gardensFeeReceiver","type":"address"},{"internalType":"address","name":"_registryCommunityTemplate","type":"address"},{"internalType":"address","name":"_strategyTemplate","type":"address"},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryCommunityTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCollateralVaultTemplate"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"bool","name":"_isValid","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityValidity"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setProtocolFee"},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setReceiverAddress"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRegistryCommunityTemplate"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setStrategyTemplate"},{"inputs":[],"stateMutability":"view","type":"function","name":"strategyTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol":"RegistryFactoryV0_0"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2","urls":["bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293","dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0xc3aed28a3fec8dcc2e95c8569aa2c4323897a1685c63746822956fe995eddf28","urls":["bzz-raw://c4126fea7a0d30c76aab94605930ed01c7e53df2f4a7bba4773c097904d5eb39","dweb:/ipfs/QmNsDu9G5JKCXdTs1HmEyVcR3S4DhuiZRt2bEPVNYGckgw"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0x6b05f27573e30362ec808b4d79f8156550a8dd5090b107b46928ab8d87be3c87","urls":["bzz-raw://134753f1a9a463e4193ffa2b2f6e32813b7a3d7603ddacaedf0f65a6a72c864a","dweb:/ipfs/QmZnQa6a3aFUvxdT1yaj72DBQUShfq5okHshhHwGv85Mdq"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol":{"keccak256":"0xe130342ecd3a0023a97611845108dd8f7411a4b18dfe8bccc7d880b716e94932","urls":["bzz-raw://be21850b019ca2fd1a2da4474822621b3471d1def2f78599ffac20d94c8782ff","dweb:/ipfs/QmPA536ZAYTcqBdyh3AxafpKM5Rx5C97uNP7n5dXKZqNvM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":52990,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52993,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53695,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52782,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52902,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":72953,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"nonce","offset":0,"slot":"101","type":"t_uint256"},{"astId":72958,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"communityToInfo","offset":0,"slot":"102","type":"t_mapping(t_address,t_struct(CommunityInfo)72945_storage)"},{"astId":72960,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"gardensFeeReceiver","offset":0,"slot":"103","type":"t_address"},{"astId":72962,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"registryCommunityTemplate","offset":0,"slot":"104","type":"t_address"},{"astId":72964,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"strategyTemplate","offset":0,"slot":"105","type":"t_address"},{"astId":72966,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"collateralVaultTemplate","offset":0,"slot":"106","type":"t_address"},{"astId":73298,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"__gap","offset":0,"slot":"107","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_struct(CommunityInfo)72945_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct CommunityInfo)","numberOfBytes":"32","value":"t_struct(CommunityInfo)72945_storage"},"t_struct(CommunityInfo)72945_storage":{"encoding":"inplace","label":"struct CommunityInfo","numberOfBytes":"64","members":[{"astId":72942,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"fee","offset":0,"slot":"0","type":"t_uint256"},{"astId":72944,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"valid","offset":0,"slot":"1","type":"t_bool"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol","id":73300,"exportedSymbols":{"Clone":[3002],"CommunityInfo":[72945],"ERC1967Proxy":[55021],"ProxyOwnableUpgrader":[70711],"RegistryCommunityInitializeParamsV0_0":[70795],"RegistryCommunityV0_0":[72700],"RegistryFactoryV0_0":[73299]},"nodeType":"SourceUnit","src":"42:5042:109","nodes":[{"id":72931,"nodeType":"PragmaDirective","src":"42:24:109","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":72934,"nodeType":"ImportDirective","src":"68:134:109","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol","file":"../RegistryCommunity/RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":73300,"sourceUnit":72701,"symbolAliases":[{"foreign":{"id":72932,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72700,"src":"81:21:109","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":72933,"name":"RegistryCommunityInitializeParamsV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70795,"src":"108:37:109","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72936,"nodeType":"ImportDirective","src":"203:65:109","nodes":[],"absolutePath":"pkg/contracts/src/ProxyOwnableUpgrader.sol","file":"../ProxyOwnableUpgrader.sol","nameLocation":"-1:-1:-1","scope":73300,"sourceUnit":70712,"symbolAliases":[{"foreign":{"id":72935,"name":"ProxyOwnableUpgrader","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70711,"src":"211:20:109","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72938,"nodeType":"ImportDirective","src":"269:84:109","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":73300,"sourceUnit":55022,"symbolAliases":[{"foreign":{"id":72937,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55021,"src":"277:12:109","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72940,"nodeType":"ImportDirective","src":"354:65:109","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":73300,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":72939,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"362:5:109","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":72945,"nodeType":"StructDefinition","src":"421:57:109","nodes":[],"canonicalName":"CommunityInfo","members":[{"constant":false,"id":72942,"mutability":"mutable","name":"fee","nameLocation":"456:3:109","nodeType":"VariableDeclaration","scope":72945,"src":"448:11:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72941,"name":"uint256","nodeType":"ElementaryTypeName","src":"448:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":72944,"mutability":"mutable","name":"valid","nameLocation":"470:5:109","nodeType":"VariableDeclaration","scope":72945,"src":"465:10:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72943,"name":"bool","nodeType":"ElementaryTypeName","src":"465:4:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"CommunityInfo","nameLocation":"428:13:109","scope":73300,"visibility":"public"},{"id":73299,"nodeType":"ContractDefinition","src":"529:4554:109","nodes":[{"id":72951,"nodeType":"VariableDeclaration","src":"588:38:109","nodes":[],"constant":true,"functionSelector":"ffa1ad74","mutability":"constant","name":"VERSION","nameLocation":"611:7:109","scope":73299,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":72949,"name":"string","nodeType":"ElementaryTypeName","src":"588:6:109","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"302e30","id":72950,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"621:5:109","typeDescriptions":{"typeIdentifier":"t_stringliteral_7be32719f3172a4c9a8d1f020e88b7d75f936a7394cfbfe03d409404e58cbdc3","typeString":"literal_string \"0.0\""},"value":"0.0"},"visibility":"public"},{"id":72953,"nodeType":"VariableDeclaration","src":"632:20:109","nodes":[],"constant":false,"functionSelector":"affed0e0","mutability":"mutable","name":"nonce","nameLocation":"647:5:109","scope":73299,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72952,"name":"uint256","nodeType":"ElementaryTypeName","src":"632:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":72958,"nodeType":"VariableDeclaration","src":"659:49:109","nodes":[],"constant":false,"mutability":"mutable","name":"communityToInfo","nameLocation":"693:15:109","scope":73299,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$72945_storage_$","typeString":"mapping(address => struct CommunityInfo)"},"typeName":{"id":72957,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":72954,"name":"address","nodeType":"ElementaryTypeName","src":"667:7:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"659:33:109","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$72945_storage_$","typeString":"mapping(address => struct CommunityInfo)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":72956,"nodeType":"UserDefinedTypeName","pathNode":{"id":72955,"name":"CommunityInfo","nameLocations":["678:13:109"],"nodeType":"IdentifierPath","referencedDeclaration":72945,"src":"678:13:109"},"referencedDeclaration":72945,"src":"678:13:109","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$72945_storage_ptr","typeString":"struct CommunityInfo"}}},"visibility":"internal"},{"id":72960,"nodeType":"VariableDeclaration","src":"714:33:109","nodes":[],"constant":false,"functionSelector":"b8bed901","mutability":"mutable","name":"gardensFeeReceiver","nameLocation":"729:18:109","scope":73299,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72959,"name":"address","nodeType":"ElementaryTypeName","src":"714:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":72962,"nodeType":"VariableDeclaration","src":"753:40:109","nodes":[],"constant":false,"functionSelector":"02c1d0b1","mutability":"mutable","name":"registryCommunityTemplate","nameLocation":"768:25:109","scope":73299,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72961,"name":"address","nodeType":"ElementaryTypeName","src":"753:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":72964,"nodeType":"VariableDeclaration","src":"799:31:109","nodes":[],"constant":false,"functionSelector":"5c94e4d2","mutability":"mutable","name":"strategyTemplate","nameLocation":"814:16:109","scope":73299,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72963,"name":"address","nodeType":"ElementaryTypeName","src":"799:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":72966,"nodeType":"VariableDeclaration","src":"836:38:109","nodes":[],"constant":false,"functionSelector":"77122d56","mutability":"mutable","name":"collateralVaultTemplate","nameLocation":"851:23:109","scope":73299,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72965,"name":"address","nodeType":"ElementaryTypeName","src":"836:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":72970,"nodeType":"EventDefinition","src":"1047:46:109","nodes":[],"anonymous":false,"eventSelector":"bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d","name":"FeeReceiverSet","nameLocation":"1053:14:109","parameters":{"id":72969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72968,"indexed":false,"mutability":"mutable","name":"_newFeeReceiver","nameLocation":"1076:15:109","nodeType":"VariableDeclaration","scope":72970,"src":"1068:23:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72967,"name":"address","nodeType":"ElementaryTypeName","src":"1068:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1067:25:109"}},{"id":72976,"nodeType":"EventDefinition","src":"1098:66:109","nodes":[],"anonymous":false,"eventSelector":"a1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c","name":"ProtocolFeeSet","nameLocation":"1104:14:109","parameters":{"id":72975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72972,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"1127:10:109","nodeType":"VariableDeclaration","scope":72976,"src":"1119:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72971,"name":"address","nodeType":"ElementaryTypeName","src":"1119:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72974,"indexed":false,"mutability":"mutable","name":"_newProtocolFee","nameLocation":"1147:15:109","nodeType":"VariableDeclaration","scope":72976,"src":"1139:23:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":72973,"name":"uint256","nodeType":"ElementaryTypeName","src":"1139:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1118:45:109"}},{"id":72980,"nodeType":"EventDefinition","src":"1169:51:109","nodes":[],"anonymous":false,"eventSelector":"b4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29","name":"CommunityCreated","nameLocation":"1175:16:109","parameters":{"id":72979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72978,"indexed":false,"mutability":"mutable","name":"_registryCommunity","nameLocation":"1200:18:109","nodeType":"VariableDeclaration","scope":72980,"src":"1192:26:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72977,"name":"address","nodeType":"ElementaryTypeName","src":"1192:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1191:28:109"}},{"id":72986,"nodeType":"EventDefinition","src":"1225:62:109","nodes":[],"anonymous":false,"eventSelector":"ecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f62","name":"CommunityValiditySet","nameLocation":"1231:20:109","parameters":{"id":72985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72982,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"1260:10:109","nodeType":"VariableDeclaration","scope":72986,"src":"1252:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72981,"name":"address","nodeType":"ElementaryTypeName","src":"1252:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":72984,"indexed":false,"mutability":"mutable","name":"_isValid","nameLocation":"1277:8:109","nodeType":"VariableDeclaration","scope":72986,"src":"1272:13:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":72983,"name":"bool","nodeType":"ElementaryTypeName","src":"1272:4:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1251:35:109"}},{"id":72990,"nodeType":"ErrorDefinition","src":"1459:43:109","nodes":[],"errorSelector":"f5a6943d","name":"CommunityInvalid","nameLocation":"1465:16:109","parameters":{"id":72989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72988,"mutability":"mutable","name":"_community","nameLocation":"1490:10:109","nodeType":"VariableDeclaration","scope":72990,"src":"1482:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72987,"name":"address","nodeType":"ElementaryTypeName","src":"1482:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1481:20:109"}},{"id":72992,"nodeType":"ErrorDefinition","src":"1507:28:109","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"1513:19:109","parameters":{"id":72991,"nodeType":"ParameterList","parameters":[],"src":"1532:2:109"}},{"id":73008,"nodeType":"FunctionDefinition","src":"1707:141:109","nodes":[],"body":{"id":73007,"nodeType":"Block","src":"1775:73:109","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":72997,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72994,"src":"1789:8:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":73000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1809:1:109","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":72999,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1801:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":72998,"name":"address","nodeType":"ElementaryTypeName","src":"1801:7:109","typeDescriptions":{}}},"id":73001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1801:10:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1789:22:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73006,"nodeType":"IfStatement","src":"1785:56:109","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73003,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72992,"src":"1820:19:109","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1820:21:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73005,"nodeType":"RevertStatement","src":"1813:28:109"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"1716:18:109","parameters":{"id":72995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":72994,"mutability":"mutable","name":"_address","nameLocation":"1743:8:109","nodeType":"VariableDeclaration","scope":73008,"src":"1735:16:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72993,"name":"address","nodeType":"ElementaryTypeName","src":"1735:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1734:18:109"},"returnParameters":{"id":72996,"nodeType":"ParameterList","parameters":[],"src":"1775:0:109"},"scope":73299,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":73020,"nodeType":"FunctionDefinition","src":"1854:136:109","nodes":[],"body":{"id":73019,"nodeType":"Block","src":"1937:53:109","nodes":[],"statements":[{"expression":{"id":73017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73015,"name":"registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72962,"src":"1947:25:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73016,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73010,"src":"1975:8:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1947:36:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73018,"nodeType":"ExpressionStatement","src":"1947:36:109"}]},"functionSelector":"5decae02","implemented":true,"kind":"function","modifiers":[{"id":73013,"kind":"modifierInvocation","modifierName":{"id":73012,"name":"onlyOwner","nameLocations":["1927:9:109"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"1927:9:109"},"nodeType":"ModifierInvocation","src":"1927:9:109"}],"name":"setRegistryCommunityTemplate","nameLocation":"1863:28:109","parameters":{"id":73011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73010,"mutability":"mutable","name":"template","nameLocation":"1900:8:109","nodeType":"VariableDeclaration","scope":73020,"src":"1892:16:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73009,"name":"address","nodeType":"ElementaryTypeName","src":"1892:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1891:18:109"},"returnParameters":{"id":73014,"nodeType":"ParameterList","parameters":[],"src":"1937:0:109"},"scope":73299,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":73032,"nodeType":"FunctionDefinition","src":"1996:118:109","nodes":[],"body":{"id":73031,"nodeType":"Block","src":"2070:44:109","nodes":[],"statements":[{"expression":{"id":73029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73027,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72964,"src":"2080:16:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73028,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73022,"src":"2099:8:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2080:27:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73030,"nodeType":"ExpressionStatement","src":"2080:27:109"}]},"functionSelector":"1b71f0e4","implemented":true,"kind":"function","modifiers":[{"id":73025,"kind":"modifierInvocation","modifierName":{"id":73024,"name":"onlyOwner","nameLocations":["2060:9:109"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"2060:9:109"},"nodeType":"ModifierInvocation","src":"2060:9:109"}],"name":"setStrategyTemplate","nameLocation":"2005:19:109","parameters":{"id":73023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73022,"mutability":"mutable","name":"template","nameLocation":"2033:8:109","nodeType":"VariableDeclaration","scope":73032,"src":"2025:16:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73021,"name":"address","nodeType":"ElementaryTypeName","src":"2025:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2024:18:109"},"returnParameters":{"id":73026,"nodeType":"ParameterList","parameters":[],"src":"2070:0:109"},"scope":73299,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":73044,"nodeType":"FunctionDefinition","src":"2120:132:109","nodes":[],"body":{"id":73043,"nodeType":"Block","src":"2201:51:109","nodes":[],"statements":[{"expression":{"id":73041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73039,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72966,"src":"2211:23:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73040,"name":"template","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73034,"src":"2237:8:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2211:34:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73042,"nodeType":"ExpressionStatement","src":"2211:34:109"}]},"functionSelector":"b0d3713a","implemented":true,"kind":"function","modifiers":[{"id":73037,"kind":"modifierInvocation","modifierName":{"id":73036,"name":"onlyOwner","nameLocations":["2191:9:109"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"2191:9:109"},"nodeType":"ModifierInvocation","src":"2191:9:109"}],"name":"setCollateralVaultTemplate","nameLocation":"2129:26:109","parameters":{"id":73035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73034,"mutability":"mutable","name":"template","nameLocation":"2164:8:109","nodeType":"VariableDeclaration","scope":73044,"src":"2156:16:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73033,"name":"address","nodeType":"ElementaryTypeName","src":"2156:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2155:18:109"},"returnParameters":{"id":73038,"nodeType":"ParameterList","parameters":[],"src":"2201:0:109"},"scope":73299,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":73102,"nodeType":"FunctionDefinition","src":"2258:780:109","nodes":[],"body":{"id":73101,"nodeType":"Block","src":"2485:553:109","nodes":[],"statements":[{"expression":{"arguments":[{"id":73062,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73046,"src":"2512:6:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73059,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2495:5:109","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_RegistryFactoryV0_0_$73299_$","typeString":"type(contract super RegistryFactoryV0_0)"}},"id":73061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2501:10:109","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":70646,"src":"2495:16:109","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2495:24:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73064,"nodeType":"ExpressionStatement","src":"2495:24:109"},{"expression":{"id":73067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73065,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72953,"src":"2529:5:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":73066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2537:1:109","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2529:9:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73068,"nodeType":"ExpressionStatement","src":"2529:9:109"},{"expression":{"arguments":[{"id":73070,"name":"_gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73048,"src":"2567:19:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73069,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73008,"src":"2548:18:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":73071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2548:39:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73072,"nodeType":"ExpressionStatement","src":"2548:39:109"},{"expression":{"arguments":[{"id":73074,"name":"_registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73050,"src":"2616:26:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73073,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73008,"src":"2597:18:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":73075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2597:46:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73076,"nodeType":"ExpressionStatement","src":"2597:46:109"},{"expression":{"arguments":[{"id":73078,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73054,"src":"2672:24:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73077,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73008,"src":"2653:18:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":73079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2653:44:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73080,"nodeType":"ExpressionStatement","src":"2653:44:109"},{"expression":{"id":73083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73081,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72960,"src":"2707:18:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73082,"name":"_gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73048,"src":"2728:19:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2707:40:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73084,"nodeType":"ExpressionStatement","src":"2707:40:109"},{"expression":{"id":73087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73085,"name":"registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72962,"src":"2757:25:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73086,"name":"_registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73050,"src":"2785:26:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2757:54:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73088,"nodeType":"ExpressionStatement","src":"2757:54:109"},{"expression":{"id":73091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73089,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72964,"src":"2821:16:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73090,"name":"_strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73052,"src":"2840:17:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2821:36:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73092,"nodeType":"ExpressionStatement","src":"2821:36:109"},{"expression":{"id":73095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73093,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72966,"src":"2867:23:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73094,"name":"_collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73054,"src":"2893:24:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2867:50:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73096,"nodeType":"ExpressionStatement","src":"2867:50:109"},{"eventCall":{"arguments":[{"id":73098,"name":"_gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73048,"src":"2947:19:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73097,"name":"FeeReceiverSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72970,"src":"2932:14:109","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2932:35:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73100,"nodeType":"EmitStatement","src":"2927:40:109"}]},"functionSelector":"1459457a","implemented":true,"kind":"function","modifiers":[{"id":73057,"kind":"modifierInvocation","modifierName":{"id":73056,"name":"initializer","nameLocations":["2473:11:109"],"nodeType":"IdentifierPath","referencedDeclaration":53054,"src":"2473:11:109"},"nodeType":"ModifierInvocation","src":"2473:11:109"}],"name":"initialize","nameLocation":"2267:10:109","parameters":{"id":73055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73046,"mutability":"mutable","name":"_owner","nameLocation":"2295:6:109","nodeType":"VariableDeclaration","scope":73102,"src":"2287:14:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73045,"name":"address","nodeType":"ElementaryTypeName","src":"2287:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73048,"mutability":"mutable","name":"_gardensFeeReceiver","nameLocation":"2319:19:109","nodeType":"VariableDeclaration","scope":73102,"src":"2311:27:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73047,"name":"address","nodeType":"ElementaryTypeName","src":"2311:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73050,"mutability":"mutable","name":"_registryCommunityTemplate","nameLocation":"2356:26:109","nodeType":"VariableDeclaration","scope":73102,"src":"2348:34:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73049,"name":"address","nodeType":"ElementaryTypeName","src":"2348:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73052,"mutability":"mutable","name":"_strategyTemplate","nameLocation":"2400:17:109","nodeType":"VariableDeclaration","scope":73102,"src":"2392:25:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73051,"name":"address","nodeType":"ElementaryTypeName","src":"2392:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73054,"mutability":"mutable","name":"_collateralVaultTemplate","nameLocation":"2435:24:109","nodeType":"VariableDeclaration","scope":73102,"src":"2427:32:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73053,"name":"address","nodeType":"ElementaryTypeName","src":"2427:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2277:188:109"},"returnParameters":{"id":73058,"nodeType":"ParameterList","parameters":[],"src":"2485:0:109"},"scope":73299,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":73185,"nodeType":"FunctionDefinition","src":"3044:813:109","nodes":[],"body":{"id":73184,"nodeType":"Block","src":"3206:651:109","nodes":[],"statements":[{"expression":{"id":73115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73110,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73105,"src":"3216:6:109","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":73112,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3223:6:109","memberName":"_nonce","nodeType":"MemberAccess","referencedDeclaration":70779,"src":"3216:13:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3232:7:109","subExpression":{"id":73113,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72953,"src":"3232:5:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3216:23:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73116,"nodeType":"ExpressionStatement","src":"3216:23:109"},{"expression":{"id":73124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73117,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73105,"src":"3249:6:109","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":73119,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3256:16:109","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":70781,"src":"3249:23:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73122,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3283:4:109","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$73299","typeString":"contract RegistryFactoryV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$73299","typeString":"contract RegistryFactoryV0_0"}],"id":73121,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3275:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73120,"name":"address","nodeType":"ElementaryTypeName","src":"3275:7:109","typeDescriptions":{}}},"id":73123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3275:13:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3249:39:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73125,"nodeType":"ExpressionStatement","src":"3249:39:109"},{"assignments":[73128],"declarations":[{"constant":false,"id":73128,"mutability":"mutable","name":"proxy","nameLocation":"3312:5:109","nodeType":"VariableDeclaration","scope":73184,"src":"3299:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"},"typeName":{"id":73127,"nodeType":"UserDefinedTypeName","pathNode":{"id":73126,"name":"ERC1967Proxy","nameLocations":["3299:12:109"],"nodeType":"IdentifierPath","referencedDeclaration":55021,"src":"3299:12:109"},"referencedDeclaration":55021,"src":"3299:12:109","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}},"visibility":"internal"}],"id":73148,"initialValue":{"arguments":[{"arguments":[{"id":73134,"name":"registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72962,"src":"3358:25:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73133,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3350:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73132,"name":"address","nodeType":"ElementaryTypeName","src":"3350:7:109","typeDescriptions":{}}},"id":73135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3350:34:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":73138,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72700,"src":"3421:21:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":73139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3443:10:109","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":71485,"src":"3421:32:109","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr_$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function RegistryCommunityV0_0.initialize(struct RegistryCommunityInitializeParamsV0_0 memory,address,address,address)"}},"id":73140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3454:8:109","memberName":"selector","nodeType":"MemberAccess","src":"3421:41:109","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":73141,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73105,"src":"3464:6:109","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},{"id":73142,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72964,"src":"3472:16:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73143,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72966,"src":"3490:23:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":73144,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[70689],"referencedDeclaration":70689,"src":"3515:5:109","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":73145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3515:7:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73136,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3398:3:109","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":73137,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3402:18:109","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"3398:22:109","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":73146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3398:125:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":73131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"3320:16:109","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55021_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":73130,"nodeType":"UserDefinedTypeName","pathNode":{"id":73129,"name":"ERC1967Proxy","nameLocations":["3324:12:109"],"nodeType":"IdentifierPath","referencedDeclaration":55021,"src":"3324:12:109"},"referencedDeclaration":55021,"src":"3324:12:109","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}},"id":73147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3320:213:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}},"nodeType":"VariableDeclarationStatement","src":"3299:234:109"},{"assignments":[73151],"declarations":[{"constant":false,"id":73151,"mutability":"mutable","name":"registryCommunity","nameLocation":"3566:17:109","nodeType":"VariableDeclaration","scope":73184,"src":"3544:39:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":73150,"nodeType":"UserDefinedTypeName","pathNode":{"id":73149,"name":"RegistryCommunityV0_0","nameLocations":["3544:21:109"],"nodeType":"IdentifierPath","referencedDeclaration":72700,"src":"3544:21:109"},"referencedDeclaration":72700,"src":"3544:21:109","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"visibility":"internal"}],"id":73161,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":73157,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73128,"src":"3624:5:109","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}],"id":73156,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3616:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73155,"name":"address","nodeType":"ElementaryTypeName","src":"3616:7:109","typeDescriptions":{}}},"id":73158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3616:14:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3608:8:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":73153,"name":"address","nodeType":"ElementaryTypeName","src":"3608:8:109","stateMutability":"payable","typeDescriptions":{}}},"id":73159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3608:23:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":73152,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72700,"src":"3586:21:109","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":73160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3586:46:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"VariableDeclarationStatement","src":"3544:88:109"},{"expression":{"id":73170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":73162,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72958,"src":"3692:15:109","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$72945_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":73167,"indexExpression":{"arguments":[{"id":73165,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73151,"src":"3716:17:109","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}],"id":73164,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3708:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73163,"name":"address","nodeType":"ElementaryTypeName","src":"3708:7:109","typeDescriptions":{}}},"id":73166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3708:26:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3692:43:109","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$72945_storage","typeString":"struct CommunityInfo storage ref"}},"id":73168,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3736:5:109","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":72944,"src":"3692:49:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":73169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3744:4:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"3692:56:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73171,"nodeType":"ExpressionStatement","src":"3692:56:109"},{"eventCall":{"arguments":[{"arguments":[{"id":73175,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73151,"src":"3788:17:109","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}],"id":73174,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3780:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73173,"name":"address","nodeType":"ElementaryTypeName","src":"3780:7:109","typeDescriptions":{}}},"id":73176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3780:26:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73172,"name":"CommunityCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72980,"src":"3763:16:109","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3763:44:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73178,"nodeType":"EmitStatement","src":"3758:49:109"},{"expression":{"arguments":[{"id":73181,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73151,"src":"3832:17:109","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$72700","typeString":"contract RegistryCommunityV0_0"}],"id":73180,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3824:7:109","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73179,"name":"address","nodeType":"ElementaryTypeName","src":"3824:7:109","typeDescriptions":{}}},"id":73182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3824:26:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":73109,"id":73183,"nodeType":"Return","src":"3817:33:109"}]},"functionSelector":"beb331a3","implemented":true,"kind":"function","modifiers":[],"name":"createRegistry","nameLocation":"3053:14:109","parameters":{"id":73106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73105,"mutability":"mutable","name":"params","nameLocation":"3113:6:109","nodeType":"VariableDeclaration","scope":73185,"src":"3068:51:109","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0"},"typeName":{"id":73104,"nodeType":"UserDefinedTypeName","pathNode":{"id":73103,"name":"RegistryCommunityInitializeParamsV0_0","nameLocations":["3068:37:109"],"nodeType":"IdentifierPath","referencedDeclaration":70795,"src":"3068:37:109"},"referencedDeclaration":70795,"src":"3068:37:109","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_storage_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0"}},"visibility":"internal"}],"src":"3067:53:109"},"returnParameters":{"id":73109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73108,"mutability":"mutable","name":"_createdRegistryAddress","nameLocation":"3177:23:109","nodeType":"VariableDeclaration","scope":73185,"src":"3169:31:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73107,"name":"address","nodeType":"ElementaryTypeName","src":"3169:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3168:33:109"},"scope":73299,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":73205,"nodeType":"FunctionDefinition","src":"3863:222:109","nodes":[],"body":{"id":73204,"nodeType":"Block","src":"3941:144:109","nodes":[],"statements":[{"expression":{"arguments":[{"id":73193,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73187,"src":"3970:15:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73192,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73008,"src":"3951:18:109","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":73194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3951:35:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73195,"nodeType":"ExpressionStatement","src":"3951:35:109"},{"expression":{"id":73198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73196,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72960,"src":"3996:18:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73197,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73187,"src":"4017:15:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3996:36:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73199,"nodeType":"ExpressionStatement","src":"3996:36:109"},{"eventCall":{"arguments":[{"id":73201,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73187,"src":"4062:15:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73200,"name":"FeeReceiverSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72970,"src":"4047:14:109","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4047:31:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73203,"nodeType":"EmitStatement","src":"4042:36:109"}]},"functionSelector":"8279c7db","implemented":true,"kind":"function","modifiers":[{"id":73190,"kind":"modifierInvocation","modifierName":{"id":73189,"name":"onlyOwner","nameLocations":["3931:9:109"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"3931:9:109"},"nodeType":"ModifierInvocation","src":"3931:9:109"}],"name":"setReceiverAddress","nameLocation":"3872:18:109","parameters":{"id":73188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73187,"mutability":"mutable","name":"_newFeeReceiver","nameLocation":"3899:15:109","nodeType":"VariableDeclaration","scope":73205,"src":"3891:23:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73186,"name":"address","nodeType":"ElementaryTypeName","src":"3891:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3890:25:109"},"returnParameters":{"id":73191,"nodeType":"ParameterList","parameters":[],"src":"3941:0:109"},"scope":73299,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":73213,"nodeType":"FunctionDefinition","src":"4091:115:109","nodes":[],"body":{"id":73212,"nodeType":"Block","src":"4164:42:109","nodes":[],"statements":[{"expression":{"id":73210,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72960,"src":"4181:18:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":73209,"id":73211,"nodeType":"Return","src":"4174:25:109"}]},"functionSelector":"987435be","implemented":true,"kind":"function","modifiers":[],"name":"getGardensFeeReceiver","nameLocation":"4100:21:109","parameters":{"id":73206,"nodeType":"ParameterList","parameters":[],"src":"4121:2:109"},"returnParameters":{"id":73209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73208,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73213,"src":"4155:7:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73207,"name":"address","nodeType":"ElementaryTypeName","src":"4155:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4154:9:109"},"scope":73299,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":73235,"nodeType":"FunctionDefinition","src":"4212:218:109","nodes":[],"body":{"id":73234,"nodeType":"Block","src":"4306:124:109","nodes":[],"statements":[{"expression":{"id":73227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":73222,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72958,"src":"4316:15:109","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$72945_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":73224,"indexExpression":{"id":73223,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73215,"src":"4332:10:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4316:27:109","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$72945_storage","typeString":"struct CommunityInfo storage ref"}},"id":73225,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4344:3:109","memberName":"fee","nodeType":"MemberAccess","referencedDeclaration":72942,"src":"4316:31:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73226,"name":"_newProtocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73217,"src":"4350:15:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4316:49:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73228,"nodeType":"ExpressionStatement","src":"4316:49:109"},{"eventCall":{"arguments":[{"id":73230,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73215,"src":"4395:10:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73231,"name":"_newProtocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73217,"src":"4407:15:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73229,"name":"ProtocolFeeSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72976,"src":"4380:14:109","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":73232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4380:43:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73233,"nodeType":"EmitStatement","src":"4375:48:109"}]},"functionSelector":"b5b3ca2c","implemented":true,"kind":"function","modifiers":[{"id":73220,"kind":"modifierInvocation","modifierName":{"id":73219,"name":"onlyOwner","nameLocations":["4296:9:109"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"4296:9:109"},"nodeType":"ModifierInvocation","src":"4296:9:109"}],"name":"setProtocolFee","nameLocation":"4221:14:109","parameters":{"id":73218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73215,"mutability":"mutable","name":"_community","nameLocation":"4244:10:109","nodeType":"VariableDeclaration","scope":73235,"src":"4236:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73214,"name":"address","nodeType":"ElementaryTypeName","src":"4236:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73217,"mutability":"mutable","name":"_newProtocolFee","nameLocation":"4264:15:109","nodeType":"VariableDeclaration","scope":73235,"src":"4256:23:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73216,"name":"uint256","nodeType":"ElementaryTypeName","src":"4256:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4235:45:109"},"returnParameters":{"id":73221,"nodeType":"ParameterList","parameters":[],"src":"4306:0:109"},"scope":73299,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":73257,"nodeType":"FunctionDefinition","src":"4436:208:109","nodes":[],"body":{"id":73256,"nodeType":"Block","src":"4526:118:109","nodes":[],"statements":[{"expression":{"id":73249,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":73244,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72958,"src":"4536:15:109","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$72945_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":73246,"indexExpression":{"id":73245,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73237,"src":"4552:10:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4536:27:109","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$72945_storage","typeString":"struct CommunityInfo storage ref"}},"id":73247,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4564:5:109","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":72944,"src":"4536:33:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73248,"name":"_isValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73239,"src":"4572:8:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4536:44:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73250,"nodeType":"ExpressionStatement","src":"4536:44:109"},{"eventCall":{"arguments":[{"id":73252,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73237,"src":"4616:10:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73253,"name":"_isValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73239,"src":"4628:8:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":73251,"name":"CommunityValiditySet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72986,"src":"4595:20:109","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bool_$returns$__$","typeString":"function (address,bool)"}},"id":73254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4595:42:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73255,"nodeType":"EmitStatement","src":"4590:47:109"}]},"functionSelector":"5a2c8ace","implemented":true,"kind":"function","modifiers":[{"id":73242,"kind":"modifierInvocation","modifierName":{"id":73241,"name":"onlyOwner","nameLocations":["4516:9:109"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"4516:9:109"},"nodeType":"ModifierInvocation","src":"4516:9:109"}],"name":"setCommunityValidity","nameLocation":"4445:20:109","parameters":{"id":73240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73237,"mutability":"mutable","name":"_community","nameLocation":"4474:10:109","nodeType":"VariableDeclaration","scope":73257,"src":"4466:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73236,"name":"address","nodeType":"ElementaryTypeName","src":"4466:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73239,"mutability":"mutable","name":"_isValid","nameLocation":"4491:8:109","nodeType":"VariableDeclaration","scope":73257,"src":"4486:13:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73238,"name":"bool","nodeType":"ElementaryTypeName","src":"4486:4:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4465:35:109"},"returnParameters":{"id":73243,"nodeType":"ParameterList","parameters":[],"src":"4526:0:109"},"scope":73299,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":73270,"nodeType":"FunctionDefinition","src":"4650:144:109","nodes":[],"body":{"id":73269,"nodeType":"Block","src":"4737:57:109","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":73264,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72958,"src":"4754:15:109","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$72945_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":73266,"indexExpression":{"id":73265,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73259,"src":"4770:10:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4754:27:109","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$72945_storage","typeString":"struct CommunityInfo storage ref"}},"id":73267,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4782:5:109","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":72944,"src":"4754:33:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":73263,"id":73268,"nodeType":"Return","src":"4747:40:109"}]},"functionSelector":"f5016b5e","implemented":true,"kind":"function","modifiers":[],"name":"getCommunityValidity","nameLocation":"4659:20:109","parameters":{"id":73260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73259,"mutability":"mutable","name":"_community","nameLocation":"4688:10:109","nodeType":"VariableDeclaration","scope":73270,"src":"4680:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73258,"name":"address","nodeType":"ElementaryTypeName","src":"4680:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4679:20:109"},"returnParameters":{"id":73263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73262,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73270,"src":"4731:4:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73261,"name":"bool","nodeType":"ElementaryTypeName","src":"4731:4:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4730:6:109"},"scope":73299,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":73294,"nodeType":"FunctionDefinition","src":"4800:249:109","nodes":[],"body":{"id":73293,"nodeType":"Block","src":"4884:165:109","nodes":[],"statements":[{"condition":{"id":73281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4898:34:109","subExpression":{"expression":{"baseExpression":{"id":73277,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72958,"src":"4899:15:109","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$72945_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":73279,"indexExpression":{"id":73278,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73272,"src":"4915:10:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4899:27:109","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$72945_storage","typeString":"struct CommunityInfo storage ref"}},"id":73280,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4927:5:109","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":72944,"src":"4899:33:109","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73287,"nodeType":"IfStatement","src":"4894:100:109","trueBody":{"id":73286,"nodeType":"Block","src":"4934:60:109","statements":[{"errorCall":{"arguments":[{"id":73283,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73272,"src":"4972:10:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73282,"name":"CommunityInvalid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72990,"src":"4955:16:109","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":73284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4955:28:109","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73285,"nodeType":"RevertStatement","src":"4948:35:109"}]}},{"expression":{"expression":{"baseExpression":{"id":73288,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72958,"src":"5011:15:109","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$72945_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":73290,"indexExpression":{"id":73289,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73272,"src":"5027:10:109","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5011:27:109","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$72945_storage","typeString":"struct CommunityInfo storage ref"}},"id":73291,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5039:3:109","memberName":"fee","nodeType":"MemberAccess","referencedDeclaration":72942,"src":"5011:31:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73276,"id":73292,"nodeType":"Return","src":"5004:38:109"}]},"functionSelector":"0a992e0c","implemented":true,"kind":"function","modifiers":[],"name":"getProtocolFee","nameLocation":"4809:14:109","parameters":{"id":73273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73272,"mutability":"mutable","name":"_community","nameLocation":"4832:10:109","nodeType":"VariableDeclaration","scope":73294,"src":"4824:18:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73271,"name":"address","nodeType":"ElementaryTypeName","src":"4824:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4823:20:109"},"returnParameters":{"id":73276,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73275,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73294,"src":"4875:7:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73274,"name":"uint256","nodeType":"ElementaryTypeName","src":"4875:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4874:9:109"},"scope":73299,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":73298,"nodeType":"VariableDeclaration","src":"5055:25:109","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"5075:5:109","scope":73299,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":73295,"name":"uint256","nodeType":"ElementaryTypeName","src":"5055:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73297,"length":{"hexValue":"3530","id":73296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5063:2:109","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"5055:11:109","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":72947,"name":"ProxyOwnableUpgrader","nameLocations":["561:20:109"],"nodeType":"IdentifierPath","referencedDeclaration":70711,"src":"561:20:109"},"id":72948,"nodeType":"InheritanceSpecifier","src":"561:20:109"}],"canonicalName":"RegistryFactoryV0_0","contractDependencies":[55021],"contractKind":"contract","documentation":{"id":72946,"nodeType":"StructuredDocumentation","src":"480:49:109","text":"@custom:oz-upgrades-from RegistryFactoryV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[73299,70711,55672,55325,54974,54984,52903,53696,53152],"name":"RegistryFactoryV0_0","nameLocation":"538:19:109","scope":73300,"usedErrors":[70634,72990,72992]}],"license":"AGPL-3.0-only"},"id":109} \ No newline at end of file diff --git a/pkg/contracts/out/RegistryFactoryV0_1.sol/RegistryFactoryV0_1.json b/pkg/contracts/out/RegistryFactoryV0_1.sol/RegistryFactoryV0_1.json index 841e94f25..3fd3fb905 100644 --- a/pkg/contracts/out/RegistryFactoryV0_1.sol/RegistryFactoryV0_1.json +++ b/pkg/contracts/out/RegistryFactoryV0_1.sol/RegistryFactoryV0_1.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"collateralVaultTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"createRegistry","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunityV0_0.InitializeParams","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"}]}],"outputs":[{"name":"_createdRegistryAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"gardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getGardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_gardensFeeReceiver","type":"address","internalType":"address"},{"name":"_registryCommunityTemplate","type":"address","internalType":"address"},{"name":"_strategyTemplate","type":"address","internalType":"address"},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initialOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initializeV2","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"nonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registryCommunityTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCollateralVaultTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_isValid","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_newProtocolFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setReceiverAddress","inputs":[{"name":"_newFeeReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRegistryCommunityTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStrategyTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategyTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityCreated","inputs":[{"name":"_registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityValiditySet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_isValid","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"FeeReceiverSet","inputs":[{"name":"_newFeeReceiver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProtocolFeeSet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_newProtocolFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CallerNotOwner","inputs":[{"name":"_caller","type":"address","internalType":"address"},{"name":"_owner","type":"address","internalType":"address"}]},{"type":"error","name":"CommunityInvalid","inputs":[{"name":"_community","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b506080516120eb61004c600039600081816106f90152818161073c015281816107cd01528181610810015261089501526120eb6000f3fe608060405260043610620001405760003560e01c806302c1d0b114620001455780630a992e0c146200017f5780631459457a14620001b35780631b71f0e414620001da5780633659cfe614620001ff5780634f1ef286146200022457806352d1902d146200023b5780635a2c8ace14620002535780635c94e4d214620002785780635cd8a76b146200029a5780635decae0214620002b2578063715018a614620002d757806377122d5614620002ef5780638279c7db14620003115780638da5cb5b1462000336578063987435be146200034e578063affed0e0146200036e578063b0d3713a1462000386578063b5b3ca2c14620003ab578063b8bed90114620003d0578063beb331a314620003f2578063c4d66de81462000417578063f2fde38b146200043c578063f5016b5e1462000461578063ffa1ad7414620004b2575b600080fd5b3480156200015257600080fd5b5060685462000167906001600160a01b031681565b60405162000176919062001379565b60405180910390f35b3480156200018c57600080fd5b50620001a46200019e366004620013b5565b620004f2565b60405190815260200162000176565b348015620001c057600080fd5b50620001d8620001d2366004620013d5565b62000558565b005b348015620001e757600080fd5b50620001d8620001f9366004620013b5565b620006c3565b3480156200020c57600080fd5b50620001d86200021e366004620013b5565b620006ef565b620001d8620002353660046200150f565b620007c3565b3480156200024857600080fd5b50620001a462000888565b3480156200026057600080fd5b50620001d8620002723660046200158a565b62000939565b3480156200028557600080fd5b5060695462000167906001600160a01b031681565b348015620002a757600080fd5b50620001d8620009aa565b348015620002bf57600080fd5b50620001d8620002d1366004620013b5565b62000a2e565b348015620002e457600080fd5b50620001d862000a5a565b348015620002fc57600080fd5b50606a5462000167906001600160a01b031681565b3480156200031e57600080fd5b50620001d862000330366004620013b5565b62000a72565b3480156200034357600080fd5b506200016762000ac3565b3480156200035b57600080fd5b506067546001600160a01b031662000167565b3480156200037b57600080fd5b50620001a460655481565b3480156200039357600080fd5b50620001d8620003a5366004620013b5565b62000b60565b348015620003b857600080fd5b50620001d8620003ca366004620015c4565b62000b8c565b348015620003dd57600080fd5b5060675462000167906001600160a01b031681565b348015620003ff57600080fd5b5062000167620004113660046200168b565b62000be8565b3480156200042457600080fd5b50620001d862000436366004620013b5565b62000d29565b3480156200044957600080fd5b50620001d86200045b366004620013b5565b62000da1565b3480156200046e57600080fd5b50620004a162000480366004620013b5565b6001600160a01b031660009081526066602052604090206001015460ff1690565b604051901515815260200162000176565b348015620004bf57600080fd5b50620004e3604051806040016040528060038152602001620302e360ec1b81525081565b6040516200017691906200183a565b6001600160a01b03811660009081526066602052604081206001015460ff166200053c578160405163f5a6943d60e01b815260040162000533919062001379565b60405180910390fd5b506001600160a01b031660009081526066602052604090205490565b600054610100900460ff1615808015620005795750600054600160ff909116105b806200059e57506200058b3062000e12565b1580156200059e575060005460ff166001145b620005bd5760405162461bcd60e51b815260040162000533906200184f565b6000805460ff191660011790558015620005e1576000805461ff0019166101001790555b620005ec8662000d29565b6000606555620005fc8562000e21565b620006078462000e21565b620006128262000e21565b606780546001600160a01b038088166001600160a01b0319928316179092556068805487841690831617905560698054868416908316179055606a80549285169290911691909117905560405160008051602062002096833981519152906200067d90879062001379565b60405180910390a18015620006bb576000805461ff0019169055604051600181526000805160206200204f8339815191529060200160405180910390a15b505050505050565b620006cd62000e49565b606980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036200073a5760405162461bcd60e51b815260040162000533906200189d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200076e62000eac565b6001600160a01b031614620007975760405162461bcd60e51b81526004016200053390620018d8565b620007a28162000ec9565b60408051600080825260208201909252620007c09183919062000f1b565b50565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036200080e5760405162461bcd60e51b815260040162000533906200189d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200084262000eac565b6001600160a01b0316146200086b5760405162461bcd60e51b81526004016200053390620018d8565b620008768262000ec9565b620008848282600162000f1b565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620009255760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840162000533565b506000805160206200202f83398151915290565b6200094362000e49565b6001600160a01b038216600081815260666020908152604091829020600101805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b600054600290610100900460ff16158015620009cd575060005460ff8083169116105b620009ec5760405162461bcd60e51b815260040162000533906200184f565b6000805461ffff191660ff83169081176101001761ff0019169091556040519081526000805160206200204f833981519152906020015b60405180910390a150565b62000a3862000e49565b606880546001600160a01b0319166001600160a01b0392909216919091179055565b62000a6462000e49565b62000a70600062001098565b565b62000a7c62000e49565b62000a878162000e21565b606780546001600160a01b0319166001600160a01b038316179055604051600080516020620020968339815191529062000a2390839062001379565b60008062000ad96033546001600160a01b031690565b9050806001600160a01b03163b60000362000af357919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000b50575060408051601f3d908101601f1916820190925262000b4d9181019062001913565b60015b62000b5a57919050565b92915050565b62000b6a62000e49565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b62000b9662000e49565b6001600160a01b038216600081815260666020908152604091829020849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c91016200099e565b606580546000918262000bfb8362001933565b9091555060808301523060a0830152606854606954606a546000926001600160a01b0390811692633419635560e01b928792918216911662000c3c62000ac3565b60405160240162000c5194939291906200197c565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905162000c90906200135e565b62000c9d92919062001ac4565b604051809103906000f08015801562000cba573d6000803e3d6000fd5b506001600160a01b038116600090815260666020526040908190206001908101805460ff191690911790555190915081907fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc299062000d1a90839062001379565b60405180910390a19392505050565b600054610100900460ff1662000d965760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840162000533565b620007c08162001098565b62000dab62000e49565b6001600160a01b03811662000d965760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000533565b6001600160a01b03163b151590565b6001600160a01b038116620007c0576040516303988b8160e61b815260040160405180910390fd5b3362000e5462000ac3565b6001600160a01b03161462000a705760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000533565b6000805160206200202f833981519152546001600160a01b031690565b3362000ed462000ac3565b6001600160a01b031614620007c0573362000eee62000ac3565b60405163163678e960e01b81526001600160a01b0392831660048201529116602482015260440162000533565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000f565762000f5183620010ea565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000fb3575060408051601f3d908101601f1916820190925262000fb09181019062001aea565b60015b620010185760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840162000533565b6000805160206200202f83398151915281146200108a5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840162000533565b5062000f5183838362001189565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b620010f58162000e12565b620011595760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162000533565b6000805160206200202f83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6200119483620011ba565b600082511180620011a25750805b1562000f5157620011b48383620011fc565b50505050565b620011c581620010ea565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606200122483836040518060600160405280602781526020016200206f602791396200122b565b9392505050565b6060600080856001600160a01b0316856040516200124a919062001b04565b600060405180830381855af49150503d806000811462001287576040519150601f19603f3d011682016040523d82523d6000602084013e6200128c565b606091505b50915091506200129f86838387620012a9565b9695505050505050565b606083156200131d5782516000036200131557620012c78562000e12565b620013155760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000533565b508162001329565b62001329838362001331565b949350505050565b815115620013425781518083602001fd5b8060405162461bcd60e51b81526004016200053391906200183a565b6104ec8062001b2383390190565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114620007c057600080fd5b8035620013b0816200138d565b919050565b600060208284031215620013c857600080fd5b813562001224816200138d565b600080600080600060a08688031215620013ee57600080fd5b8535620013fb816200138d565b945060208601356200140d816200138d565b935060408601356200141f816200138d565b9250606086013562001431816200138d565b9150608086013562001443816200138d565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b03811182821017156200148d576200148d62001451565b60405290565b60006001600160401b0380841115620014b057620014b062001451565b604051601f8501601f19908116603f01168101908282118183101715620014db57620014db62001451565b81604052809350858152868686011115620014f557600080fd5b858560208301376000602087830101525050509392505050565b600080604083850312156200152357600080fd5b823562001530816200138d565b915060208301356001600160401b038111156200154c57600080fd5b8301601f810185136200155e57600080fd5b6200156f8582356020840162001493565b9150509250929050565b80358015158114620013b057600080fd5b600080604083850312156200159e57600080fd5b8235620015ab816200138d565b9150620015bb6020840162001579565b90509250929050565b60008060408385031215620015d857600080fd5b8235620015e5816200138d565b946020939093013593505050565b600082601f8301126200160557600080fd5b620012248383356020850162001493565b6000604082840312156200162957600080fd5b604080519081016001600160401b0380821183831017156200164f576200164f62001451565b816040528293508435835260208501359150808211156200166f57600080fd5b506200167e85828601620015f3565b6020830152505092915050565b6000602082840312156200169e57600080fd5b81356001600160401b0380821115620016b657600080fd5b908301906101808286031215620016cc57600080fd5b620016d662001467565b620016e183620013a3565b8152620016f160208401620013a3565b60208201526040830135604082015260608301356060820152608083013560808201526200172260a08401620013a3565b60a08201526200173560c08401620013a3565b60c082015260e0830135828111156200174d57600080fd5b6200175b8782860162001616565b60e08301525061010062001771818501620013a3565b9082015261012083810135838111156200178a57600080fd5b6200179888828701620015f3565b828401525050610140620017ae81850162001579565b908201526101608381013583811115620017c757600080fd5b620017d588828701620015f3565b918301919091525095945050505050565b60005b8381101562001803578181015183820152602001620017e9565b50506000910152565b6000815180845262001826816020860160208601620017e6565b601f01601f19169290920160200192915050565b6020815260006200122460208301846200180c565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602c908201526000805160206200200f83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206200200f83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156200192657600080fd5b815162001224816200138d565b6000600182016200195457634e487b7160e01b600052601160045260246000fd5b5060010190565b8051825260006020820151604060208501526200132960408501826200180c565b60808152620019906080820186516200136c565b60006020860151620019a660a08401826200136c565b50604086015160c0830152606086015160e08301526080860151610100818185015260a08801519150610120620019e0818601846200136c565b60c08901519250610140620019f8818701856200136c565b60e08a01519350610180610160818189015262001a1a6102008901876200195b565b948c015194955062001a2f888301866200136c565b838c01519450607f19935083888703016101a089015262001a5186866200180c565b9550828c0151945062001a696101c089018615159052565b808c0151945050505080858403016101e08601525062001a8a82826200180c565b9250505062001a9d60208301866200136c565b62001aac60408301856200136c565b62001abb60608301846200136c565b95945050505050565b6001600160a01b038316815260406020820181905260009062001329908301846200180c565b60006020828403121562001afd57600080fd5b5051919050565b6000825162001b18818460208701620017e6565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212206e93027ee8ff60c4973ac058d4e8a46f5d5981513eccfc75ff619ec5718959a664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656446756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9da26469706673582212202eb6ad42590e0e63253c65a6b2a46e19e90e99148b1edfbdc9890d28001a49c964736f6c63430008130033","sourceMap":"257:977:110:-:0;;;1088:4:64;1045:48;;257:977:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610620001405760003560e01c806302c1d0b114620001455780630a992e0c146200017f5780631459457a14620001b35780631b71f0e414620001da5780633659cfe614620001ff5780634f1ef286146200022457806352d1902d146200023b5780635a2c8ace14620002535780635c94e4d214620002785780635cd8a76b146200029a5780635decae0214620002b2578063715018a614620002d757806377122d5614620002ef5780638279c7db14620003115780638da5cb5b1462000336578063987435be146200034e578063affed0e0146200036e578063b0d3713a1462000386578063b5b3ca2c14620003ab578063b8bed90114620003d0578063beb331a314620003f2578063c4d66de81462000417578063f2fde38b146200043c578063f5016b5e1462000461578063ffa1ad7414620004b2575b600080fd5b3480156200015257600080fd5b5060685462000167906001600160a01b031681565b60405162000176919062001379565b60405180910390f35b3480156200018c57600080fd5b50620001a46200019e366004620013b5565b620004f2565b60405190815260200162000176565b348015620001c057600080fd5b50620001d8620001d2366004620013d5565b62000558565b005b348015620001e757600080fd5b50620001d8620001f9366004620013b5565b620006c3565b3480156200020c57600080fd5b50620001d86200021e366004620013b5565b620006ef565b620001d8620002353660046200150f565b620007c3565b3480156200024857600080fd5b50620001a462000888565b3480156200026057600080fd5b50620001d8620002723660046200158a565b62000939565b3480156200028557600080fd5b5060695462000167906001600160a01b031681565b348015620002a757600080fd5b50620001d8620009aa565b348015620002bf57600080fd5b50620001d8620002d1366004620013b5565b62000a2e565b348015620002e457600080fd5b50620001d862000a5a565b348015620002fc57600080fd5b50606a5462000167906001600160a01b031681565b3480156200031e57600080fd5b50620001d862000330366004620013b5565b62000a72565b3480156200034357600080fd5b506200016762000ac3565b3480156200035b57600080fd5b506067546001600160a01b031662000167565b3480156200037b57600080fd5b50620001a460655481565b3480156200039357600080fd5b50620001d8620003a5366004620013b5565b62000b60565b348015620003b857600080fd5b50620001d8620003ca366004620015c4565b62000b8c565b348015620003dd57600080fd5b5060675462000167906001600160a01b031681565b348015620003ff57600080fd5b5062000167620004113660046200168b565b62000be8565b3480156200042457600080fd5b50620001d862000436366004620013b5565b62000d29565b3480156200044957600080fd5b50620001d86200045b366004620013b5565b62000da1565b3480156200046e57600080fd5b50620004a162000480366004620013b5565b6001600160a01b031660009081526066602052604090206001015460ff1690565b604051901515815260200162000176565b348015620004bf57600080fd5b50620004e3604051806040016040528060038152602001620302e360ec1b81525081565b6040516200017691906200183a565b6001600160a01b03811660009081526066602052604081206001015460ff166200053c578160405163f5a6943d60e01b815260040162000533919062001379565b60405180910390fd5b506001600160a01b031660009081526066602052604090205490565b600054610100900460ff1615808015620005795750600054600160ff909116105b806200059e57506200058b3062000e12565b1580156200059e575060005460ff166001145b620005bd5760405162461bcd60e51b815260040162000533906200184f565b6000805460ff191660011790558015620005e1576000805461ff0019166101001790555b620005ec8662000d29565b6000606555620005fc8562000e21565b620006078462000e21565b620006128262000e21565b606780546001600160a01b038088166001600160a01b0319928316179092556068805487841690831617905560698054868416908316179055606a80549285169290911691909117905560405160008051602062002096833981519152906200067d90879062001379565b60405180910390a18015620006bb576000805461ff0019169055604051600181526000805160206200204f8339815191529060200160405180910390a15b505050505050565b620006cd62000e49565b606980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036200073a5760405162461bcd60e51b815260040162000533906200189d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200076e62000eac565b6001600160a01b031614620007975760405162461bcd60e51b81526004016200053390620018d8565b620007a28162000ec9565b60408051600080825260208201909252620007c09183919062000f1b565b50565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036200080e5760405162461bcd60e51b815260040162000533906200189d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200084262000eac565b6001600160a01b0316146200086b5760405162461bcd60e51b81526004016200053390620018d8565b620008768262000ec9565b620008848282600162000f1b565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620009255760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840162000533565b506000805160206200202f83398151915290565b6200094362000e49565b6001600160a01b038216600081815260666020908152604091829020600101805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b600054600290610100900460ff16158015620009cd575060005460ff8083169116105b620009ec5760405162461bcd60e51b815260040162000533906200184f565b6000805461ffff191660ff83169081176101001761ff0019169091556040519081526000805160206200204f833981519152906020015b60405180910390a150565b62000a3862000e49565b606880546001600160a01b0319166001600160a01b0392909216919091179055565b62000a6462000e49565b62000a70600062001098565b565b62000a7c62000e49565b62000a878162000e21565b606780546001600160a01b0319166001600160a01b038316179055604051600080516020620020968339815191529062000a2390839062001379565b60008062000ad96033546001600160a01b031690565b9050806001600160a01b03163b60000362000af357919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000b50575060408051601f3d908101601f1916820190925262000b4d9181019062001913565b60015b62000b5a57919050565b92915050565b62000b6a62000e49565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b62000b9662000e49565b6001600160a01b038216600081815260666020908152604091829020849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c91016200099e565b606580546000918262000bfb8362001933565b9091555060808301523060a0830152606854606954606a546000926001600160a01b0390811692633419635560e01b928792918216911662000c3c62000ac3565b60405160240162000c5194939291906200197c565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905162000c90906200135e565b62000c9d92919062001ac4565b604051809103906000f08015801562000cba573d6000803e3d6000fd5b506001600160a01b038116600090815260666020526040908190206001908101805460ff191690911790555190915081907fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc299062000d1a90839062001379565b60405180910390a19392505050565b600054610100900460ff1662000d965760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840162000533565b620007c08162001098565b62000dab62000e49565b6001600160a01b03811662000d965760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000533565b6001600160a01b03163b151590565b6001600160a01b038116620007c0576040516303988b8160e61b815260040160405180910390fd5b3362000e5462000ac3565b6001600160a01b03161462000a705760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000533565b6000805160206200202f833981519152546001600160a01b031690565b3362000ed462000ac3565b6001600160a01b031614620007c0573362000eee62000ac3565b60405163163678e960e01b81526001600160a01b0392831660048201529116602482015260440162000533565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000f565762000f5183620010ea565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000fb3575060408051601f3d908101601f1916820190925262000fb09181019062001aea565b60015b620010185760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840162000533565b6000805160206200202f83398151915281146200108a5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840162000533565b5062000f5183838362001189565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b620010f58162000e12565b620011595760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162000533565b6000805160206200202f83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6200119483620011ba565b600082511180620011a25750805b1562000f5157620011b48383620011fc565b50505050565b620011c581620010ea565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606200122483836040518060600160405280602781526020016200206f602791396200122b565b9392505050565b6060600080856001600160a01b0316856040516200124a919062001b04565b600060405180830381855af49150503d806000811462001287576040519150601f19603f3d011682016040523d82523d6000602084013e6200128c565b606091505b50915091506200129f86838387620012a9565b9695505050505050565b606083156200131d5782516000036200131557620012c78562000e12565b620013155760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000533565b508162001329565b62001329838362001331565b949350505050565b815115620013425781518083602001fd5b8060405162461bcd60e51b81526004016200053391906200183a565b6104ec8062001b2383390190565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114620007c057600080fd5b8035620013b0816200138d565b919050565b600060208284031215620013c857600080fd5b813562001224816200138d565b600080600080600060a08688031215620013ee57600080fd5b8535620013fb816200138d565b945060208601356200140d816200138d565b935060408601356200141f816200138d565b9250606086013562001431816200138d565b9150608086013562001443816200138d565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b03811182821017156200148d576200148d62001451565b60405290565b60006001600160401b0380841115620014b057620014b062001451565b604051601f8501601f19908116603f01168101908282118183101715620014db57620014db62001451565b81604052809350858152868686011115620014f557600080fd5b858560208301376000602087830101525050509392505050565b600080604083850312156200152357600080fd5b823562001530816200138d565b915060208301356001600160401b038111156200154c57600080fd5b8301601f810185136200155e57600080fd5b6200156f8582356020840162001493565b9150509250929050565b80358015158114620013b057600080fd5b600080604083850312156200159e57600080fd5b8235620015ab816200138d565b9150620015bb6020840162001579565b90509250929050565b60008060408385031215620015d857600080fd5b8235620015e5816200138d565b946020939093013593505050565b600082601f8301126200160557600080fd5b620012248383356020850162001493565b6000604082840312156200162957600080fd5b604080519081016001600160401b0380821183831017156200164f576200164f62001451565b816040528293508435835260208501359150808211156200166f57600080fd5b506200167e85828601620015f3565b6020830152505092915050565b6000602082840312156200169e57600080fd5b81356001600160401b0380821115620016b657600080fd5b908301906101808286031215620016cc57600080fd5b620016d662001467565b620016e183620013a3565b8152620016f160208401620013a3565b60208201526040830135604082015260608301356060820152608083013560808201526200172260a08401620013a3565b60a08201526200173560c08401620013a3565b60c082015260e0830135828111156200174d57600080fd5b6200175b8782860162001616565b60e08301525061010062001771818501620013a3565b9082015261012083810135838111156200178a57600080fd5b6200179888828701620015f3565b828401525050610140620017ae81850162001579565b908201526101608381013583811115620017c757600080fd5b620017d588828701620015f3565b918301919091525095945050505050565b60005b8381101562001803578181015183820152602001620017e9565b50506000910152565b6000815180845262001826816020860160208601620017e6565b601f01601f19169290920160200192915050565b6020815260006200122460208301846200180c565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602c908201526000805160206200200f83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206200200f83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156200192657600080fd5b815162001224816200138d565b6000600182016200195457634e487b7160e01b600052601160045260246000fd5b5060010190565b8051825260006020820151604060208501526200132960408501826200180c565b60808152620019906080820186516200136c565b60006020860151620019a660a08401826200136c565b50604086015160c0830152606086015160e08301526080860151610100818185015260a08801519150610120620019e0818601846200136c565b60c08901519250610140620019f8818701856200136c565b60e08a01519350610180610160818189015262001a1a6102008901876200195b565b948c015194955062001a2f888301866200136c565b838c01519450607f19935083888703016101a089015262001a5186866200180c565b9550828c0151945062001a696101c089018615159052565b808c0151945050505080858403016101e08601525062001a8a82826200180c565b9250505062001a9d60208301866200136c565b62001aac60408301856200136c565b62001abb60608301846200136c565b95945050505050565b6001600160a01b038316815260406020820181905260009062001329908301846200180c565b60006020828403121562001afd57600080fd5b5051919050565b6000825162001b18818460208701620017e6565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212206e93027ee8ff60c4973ac058d4e8a46f5d5981513eccfc75ff619ec5718959a664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656446756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9da26469706673582212202eb6ad42590e0e63253c65a6b2a46e19e90e99148b1edfbdc9890d28001a49c964736f6c63430008130033","sourceMap":"257:977:110:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;704:40:109;;;;;;;;;;-1:-1:-1;704:40:109;;;;-1:-1:-1;;;;;704:40:109;;;;;;;;;;:::i;:::-;;;;;;;;4782:249;;;;;;;;;;-1:-1:-1;4782:249:109;;;;;:::i;:::-;;:::i;:::-;;;1004:25:126;;;992:2;977:18;4782:249:109;858:177:126;2209:780:109;;;;;;;;;;-1:-1:-1;2209:780:109;;;;;:::i;:::-;;:::i;:::-;;1947:118;;;;;;;;;;-1:-1:-1;1947:118:109;;;;;:::i;:::-;;:::i;3143:195:64:-;;;;;;;;;;-1:-1:-1;3143:195:64;;;;;:::i;:::-;;:::i;3657:220::-;;;;;;:::i;:::-;;:::i;2762:131::-;;;;;;;;;;;;;:::i;4418:208:109:-;;;;;;;;;;-1:-1:-1;4418:208:109;;;;;:::i;:::-;;:::i;750:31::-;;;;;;;;;;-1:-1:-1;750:31:109;;;;-1:-1:-1;;;;;750:31:109;;;315:50:110;;;;;;;;;;;;;:::i;1805:136:109:-;;;;;;;;;;-1:-1:-1;1805:136:109;;;;;:::i;:::-;;:::i;2085:101:45:-;;;;;;;;;;;;;:::i;787:38:109:-;;;;;;;;;;-1:-1:-1;787:38:109;;;;-1:-1:-1;;;;;787:38:109;;;3845:222;;;;;;;;;;-1:-1:-1;3845:222:109;;;;;:::i;:::-;;:::i;525:604:105:-;;;;;;;;;;;;;:::i;4073:115:109:-;;;;;;;;;;-1:-1:-1;4163:18:109;;-1:-1:-1;;;;;4163:18:109;4073:115;;583:20;;;;;;;;;;;;;;;;2071:132;;;;;;;;;;-1:-1:-1;2071:132:109;;;;;:::i;:::-;;:::i;4194:218::-;;;;;;;;;;-1:-1:-1;4194:218:109;;;;;:::i;:::-;;:::i;665:33::-;;;;;;;;;;-1:-1:-1;665:33:109;;;;-1:-1:-1;;;;;665:33:109;;;371:861:110;;;;;;;;;;-1:-1:-1;371:861:110;;;;;:::i;:::-;;:::i;404:115:105:-;;;;;;;;;;-1:-1:-1;404:115:105;;;;;:::i;:::-;;:::i;2335:198:45:-;;;;;;;;;;-1:-1:-1;2335:198:45;;;;;:::i;:::-;;:::i;4632:144:109:-;;;;;;;;;;-1:-1:-1;4632:144:109;;;;;:::i;:::-;-1:-1:-1;;;;;4736:27:109;4713:4;4736:27;;;:15;:27;;;;;:33;;;;;;4632:144;;;;7186:14:126;;7179:22;7161:41;;7149:2;7134:18;4632:144:109;7021:187:126;539:38:109;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;539:38:109;;;;;;;;;;;;:::i;4782:249::-;-1:-1:-1;;;;;4881:27:109;;4857:7;4881:27;;;:15;:27;;;;;:33;;;;;4876:100;;4954:10;4937:28;;-1:-1:-1;;;4937:28:109;;;;;;;;:::i;:::-;;;;;;;;4876:100;-1:-1:-1;;;;;;4993:27:109;;;;;:15;:27;;;;;:31;;4782:249::o;2209:780::-;3279:19:47;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:47;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;;3388:44;3426:4;3388:29;:44::i;:::-;3387:45;:66;;;;-1:-1:-1;3436:12:47;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:47;;;;;;;:::i;:::-;3536:12;:16;;-1:-1:-1;;3536:16:47;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:47;;;;;3562:65;2446:24:109::1;2463:6;2446:16;:24::i;:::-;2488:1;2480:5;:9:::0;2499:39:::1;2518:19:::0;2499:18:::1;:39::i;:::-;2548:46;2567:26;2548:18;:46::i;:::-;2604:44;2623:24;2604:18;:44::i;:::-;2658:18;:40:::0;;-1:-1:-1;;;;;2658:40:109;;::::1;-1:-1:-1::0;;;;;;2658:40:109;;::::1;;::::0;;;2708:25:::1;:54:::0;;;;::::1;::::0;;::::1;;::::0;;2772:16:::1;:36:::0;;;;::::1;::::0;;::::1;;::::0;;2818:23:::1;:50:::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;2883:35:::1;::::0;-1:-1:-1;;;;;;;;;;;2883:35:109;::::1;::::0;2679:19;;2883:35:::1;:::i;:::-;;;;;;;;3651:14:47::0;3647:99;;;3697:5;3681:21;;-1:-1:-1;;3681:21:47;;;3721:14;;-1:-1:-1;8536:36:126;;-1:-1:-1;;;;;;;;;;;3721:14:47;8524:2:126;8509:18;3721:14:47;;;;;;;3647:99;3269:483;2209:780:109;;;;;:::o;1947:118::-;1355:13:45;:11;:13::i;:::-;2031:16:109::1;:27:::0;;-1:-1:-1;;;;;;2031:27:109::1;-1:-1:-1::0;;;;;2031:27:109;;;::::1;::::0;;;::::1;::::0;;1947:118::o;3143:195:64:-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3224:36:::1;3242:17;3224;:36::i;:::-;3311:12;::::0;;3321:1:::1;3311:12:::0;;;::::1;::::0;::::1;::::0;;;3270:61:::1;::::0;3292:17;;3311:12;3270:21:::1;:61::i;:::-;3143:195:::0;:::o;3657:220::-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3772:36:::1;3790:17;3772;:36::i;:::-;3818:52;3840:17;3859:4;3865;3818:21;:52::i;:::-;3657:220:::0;;:::o;2762:131::-;2840:7;2080:4;-1:-1:-1;;;;;2089:6:64;2072:23;;2064:92;;;;-1:-1:-1;;;2064:92:64;;9611:2:126;2064:92:64;;;9593:21:126;9650:2;9630:18;;;9623:30;9689:34;9669:18;;;9662:62;-1:-1:-1;;;9740:18:126;;;9733:54;9804:19;;2064:92:64;9409:420:126;2064:92:64;-1:-1:-1;;;;;;;;;;;;2762:131:64;:::o;4418:208:109:-;1355:13:45;:11;:13::i;:::-;-1:-1:-1;;;;;4518:27:109;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:33:::1;;:44:::0;;-1:-1:-1;;4518:44:109::1;::::0;::::1;;::::0;;::::1;::::0;;;4577:42;;10002:51:126;;;10069:18;;;10062:50;4577:42:109::1;::::0;9975:18:126;4577:42:109::1;;;;;;;;4418:208:::0;;:::o;315:50:110:-;4882:13:47;;360:1:110;;4882:13:47;;;;;4881:14;:40;;;;-1:-1:-1;4899:12:47;;:22;;;;:12;;:22;4881:40;4873:99;;;;-1:-1:-1;;;4873:99:47;;;;;;;:::i;:::-;4982:12;:22;;-1:-1:-1;;5014:20:47;4982:22;;;5014:20;;;4982:22;5014:20;-1:-1:-1;;5055:21:47;;;;5091:20;;8536:36:126;;;-1:-1:-1;;;;;;;;;;;5091:20:47;8524:2:126;8509:18;5091:20:47;;;;;;;;315:50:110;:::o;1805:136:109:-;1355:13:45;:11;:13::i;:::-;1898:25:109::1;:36:::0;;-1:-1:-1;;;;;;1898:36:109::1;-1:-1:-1::0;;;;;1898:36:109;;;::::1;::::0;;;::::1;::::0;;1805:136::o;2085:101:45:-;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;:::-;2085:101::o:0;3845:222:109:-;1355:13:45;:11;:13::i;:::-;3933:35:109::1;3952:15;3933:18;:35::i;:::-;3978:18;:36:::0;;-1:-1:-1;;;;;;3978:36:109::1;-1:-1:-1::0;;;;;3978:36:109;::::1;;::::0;;4029:31:::1;::::0;-1:-1:-1;;;;;;;;;;;4029:31:109;::::1;::::0;3978:36;;4029:31:::1;:::i;525:604:105:-:0;572:7;591:20;614:26;1534:6:45;;-1:-1:-1;;;;;1534:6:45;;1462:85;614:26:105;591:49;;715:12;-1:-1:-1;;;;;707:33:105;;744:1;707:38;703:420;;829:12;525:604;-1:-1:-1;525:604:105:o;703:420::-;895:12;-1:-1:-1;;;;;876:38:105;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;876:40:105;;;;;;;;-1:-1:-1;;876:40:105;;;;;;;;;;;;:::i;:::-;;;872:241;;1086:12;525:604;-1:-1:-1;525:604:105:o;872:241::-;967:6;525:604;-1:-1:-1;;525:604:105:o;2071:132:109:-;1355:13:45;:11;:13::i;:::-;2162:23:109::1;:34:::0;;-1:-1:-1;;;;;;2162:34:109::1;-1:-1:-1::0;;;;;2162:34:109;;;::::1;::::0;;;::::1;::::0;;2071:132::o;4194:218::-;1355:13:45;:11;:13::i;:::-;-1:-1:-1;;;;;4298:27:109;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:49;;;4362:43;;10742:51:126;;;10809:18;;10802:34;;;4362:43:109::1;::::0;10715:18:126;4362:43:109::1;10568:274:126::0;371:861:110;577:5;:7;;514:31;;;577:7;;;:::i;:::-;;;;-1:-1:-1;561:13:110;;;:23;628:4;594:23;;;:39;703:25;;834:16;;852:23;;-1:-1:-1;;;;;;;703:25:110;;;;-1:-1:-1;;;783:41:110;561:6;;834:16;;;;852:23;877:7;:5;:7::i;:::-;743:155;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;743:155:110;;;;;;;;;;;;;;-1:-1:-1;;;;;743:155:110;-1:-1:-1;;;;;;743:155:110;;;;;;;;;;665:243;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1067:43:110;;919:39;1067:43;;;:15;:43;;;;;;;1119:4;1067:49;;;:56;;-1:-1:-1;;1067:56:110;;;;;;1138:44;644:264;;-1:-1:-1;644:264:110;;1138:44;;;;644:264;;1138:44;:::i;:::-;;;;;;;;1207:17;371:861;-1:-1:-1;;;371:861:110:o;404:115:105:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;13864:2:126;5366:69:47;;;13846:21:126;13903:2;13883:18;;;13876:30;13942:34;13922:18;;;13915:62;-1:-1:-1;;;13993:18:126;;;13986:41;14044:19;;5366:69:47;13662:407:126;5366:69:47;480:32:105::1;499:12;480:18;:32::i;2335:198:45:-:0;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:45;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:45;;14276:2:126;2415:73:45::1;::::0;::::1;14258:21:126::0;14315:2;14295:18;;;14288:30;14354:34;14334:18;;;14327:62;-1:-1:-1;;;14405:18:126;;;14398:36;14451:19;;2415:73:45::1;14074:402:126::0;1423:320:50;-1:-1:-1;;;;;1713:19:50;;:23;;;1423:320::o;1658:141:109:-;-1:-1:-1;;;;;1740:22:109;;1736:56;;1771:21;;-1:-1:-1;;;1771:21:109;;;;;;;;;;;1620:130:45;965:10:51;1683:7:45;:5;:7::i;:::-;-1:-1:-1;;;;;1683:23:45;;1675:68;;;;-1:-1:-1;;;1675:68:45;;14683:2:126;1675:68:45;;;14665:21:126;;;14702:18;;;14695:30;14761:34;14741:18;;;14734:62;14813:18;;1675:68:45;14481:356:126;1175:140:60;-1:-1:-1;;;;;;;;;;;1254:54:60;-1:-1:-1;;;;;1254:54:60;;1175:140::o;1135:169:105:-;1219:10;1208:7;:5;:7::i;:::-;-1:-1:-1;;;;;1208:21:105;;1204:94;;1267:10;1279:7;:5;:7::i;:::-;1252:35;;-1:-1:-1;;;1252:35:105;;-1:-1:-1;;;;;15072:15:126;;;1252:35:105;;;15054:34:126;15124:15;;15104:18;;;15097:43;14989:18;;1252:35:105;14842:304:126;2494:922:60;689:66;2910:48;;;2906:504;;;2974:37;2993:17;2974:18;:37::i;:::-;2494:922;;;:::o;2906:504::-;3064:17;-1:-1:-1;;;;;3046:50:60;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3046:52:60;;;;;;;;-1:-1:-1;;3046:52:60;;;;;;;;;;;;:::i;:::-;;;3042:291;;3262:56;;-1:-1:-1;;;3262:56:60;;15542:2:126;3262:56:60;;;15524:21:126;15581:2;15561:18;;;15554:30;15620:34;15600:18;;;15593:62;-1:-1:-1;;;15671:18:126;;;15664:44;15725:19;;3262:56:60;15340:410:126;3042:291:60;-1:-1:-1;;;;;;;;;;;3148:28:60;;3140:82;;;;-1:-1:-1;;;3140:82:60;;15957:2:126;3140:82:60;;;15939:21:126;15996:2;15976:18;;;15969:30;16035:34;16015:18;;;16008:62;-1:-1:-1;;;16086:18:126;;;16079:39;16135:19;;3140:82:60;15755:405:126;3140:82:60;3099:138;3346:53;3364:17;3383:4;3389:9;3346:17;:53::i;2687:187:45:-;2779:6;;;-1:-1:-1;;;;;2795:17:45;;;-1:-1:-1;;;;;;2795:17:45;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;1406:259:60:-;1487:37;1506:17;1487:18;:37::i;:::-;1479:95;;;;-1:-1:-1;;;1479:95:60;;16367:2:126;1479:95:60;;;16349:21:126;16406:2;16386:18;;;16379:30;16445:34;16425:18;;;16418:62;-1:-1:-1;;;16496:18:126;;;16489:43;16549:19;;1479:95:60;16165:409:126;1479:95:60;-1:-1:-1;;;;;;;;;;;1584:74:60;;-1:-1:-1;;;;;;1584:74:60;-1:-1:-1;;;;;1584:74:60;;;;;;;;;;1406:259::o;2057:265::-;2165:29;2176:17;2165:10;:29::i;:::-;2222:1;2208:4;:11;:15;:28;;;;2227:9;2208:28;2204:112;;;2252:53;2281:17;2300:4;2252:28;:53::i;:::-;;2057:265;;;:::o;1771:152::-;1837:37;1856:17;1837:18;:37::i;:::-;1889:27;;-1:-1:-1;;;;;1889:27:60;;;;;;;;1771:152;:::o;6674:198:76:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6781:84;6674:198;-1:-1:-1;;;6674:198:76:o;7058:325::-;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:76;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:76:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;8121:18;8132:6;8121:10;:18::i;:::-;8113:60;;;;-1:-1:-1;;;8113:60:76;;17073:2:126;8113:60:76;;;17055:21:126;17112:2;17092:18;;;17085:30;17151:31;17131:18;;;17124:59;17200:18;;8113:60:76;16871:353:126;8113:60:76;-1:-1:-1;8208:10:76;8201:17;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;:::-;7671:628;;;;;;:::o;8821:540::-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:76;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;:::o;14:104:126:-;-1:-1:-1;;;;;80:31:126;68:44;;14:104::o;123:203::-;-1:-1:-1;;;;;287:32:126;;;;269:51;;257:2;242:18;;123:203::o;331:131::-;-1:-1:-1;;;;;406:31:126;;396:42;;386:70;;452:1;449;442:12;467:134;535:20;;564:31;535:20;564:31;:::i;:::-;467:134;;;:::o;606:247::-;665:6;718:2;706:9;697:7;693:23;689:32;686:52;;;734:1;731;724:12;686:52;773:9;760:23;792:31;817:5;792:31;:::i;1040:813::-;1135:6;1143;1151;1159;1167;1220:3;1208:9;1199:7;1195:23;1191:33;1188:53;;;1237:1;1234;1227:12;1188:53;1276:9;1263:23;1295:31;1320:5;1295:31;:::i;:::-;1345:5;-1:-1:-1;1402:2:126;1387:18;;1374:32;1415:33;1374:32;1415:33;:::i;:::-;1467:7;-1:-1:-1;1526:2:126;1511:18;;1498:32;1539:33;1498:32;1539:33;:::i;:::-;1591:7;-1:-1:-1;1650:2:126;1635:18;;1622:32;1663:33;1622:32;1663:33;:::i;:::-;1715:7;-1:-1:-1;1774:3:126;1759:19;;1746:33;1788;1746;1788;:::i;:::-;1840:7;1830:17;;;1040:813;;;;;;;;:::o;1858:127::-;1919:10;1914:3;1910:20;1907:1;1900:31;1950:4;1947:1;1940:15;1974:4;1971:1;1964:15;1990:250;2057:2;2051:9;2099:6;2087:19;;-1:-1:-1;;;;;2121:34:126;;2157:22;;;2118:62;2115:88;;;2183:18;;:::i;:::-;2219:2;2212:22;1990:250;:::o;2245:631::-;2309:5;-1:-1:-1;;;;;2369:14:126;;;2366:40;;;2386:18;;:::i;:::-;2461:2;2455:9;2429:2;2515:15;;-1:-1:-1;;2511:24:126;;;2537:2;2507:33;2503:42;2491:55;;;2561:18;;;2581:22;;;2558:46;2555:72;;;2607:18;;:::i;:::-;2647:10;2643:2;2636:22;2676:6;2667:15;;2706:6;2698;2691:22;2746:3;2737:6;2732:3;2728:16;2725:25;2722:45;;;2763:1;2760;2753:12;2722:45;2813:6;2808:3;2801:4;2793:6;2789:17;2776:44;2868:1;2861:4;2852:6;2844;2840:19;2836:30;2829:41;;;;2245:631;;;;;:::o;2881:584::-;2958:6;2966;3019:2;3007:9;2998:7;2994:23;2990:32;2987:52;;;3035:1;3032;3025:12;2987:52;3074:9;3061:23;3093:31;3118:5;3093:31;:::i;:::-;3143:5;-1:-1:-1;3199:2:126;3184:18;;3171:32;-1:-1:-1;;;;;3215:30:126;;3212:50;;;3258:1;3255;3248:12;3212:50;3281:22;;3334:4;3326:13;;3322:27;-1:-1:-1;3312:55:126;;3363:1;3360;3353:12;3312:55;3386:73;3451:7;3446:2;3433:16;3428:2;3424;3420:11;3386:73;:::i;:::-;3376:83;;;2881:584;;;;;:::o;3652:160::-;3717:20;;3773:13;;3766:21;3756:32;;3746:60;;3802:1;3799;3792:12;3817:315;3882:6;3890;3943:2;3931:9;3922:7;3918:23;3914:32;3911:52;;;3959:1;3956;3949:12;3911:52;3998:9;3985:23;4017:31;4042:5;4017:31;:::i;:::-;4067:5;-1:-1:-1;4091:35:126;4122:2;4107:18;;4091:35;:::i;:::-;4081:45;;3817:315;;;;;:::o;4137:::-;4205:6;4213;4266:2;4254:9;4245:7;4241:23;4237:32;4234:52;;;4282:1;4279;4272:12;4234:52;4321:9;4308:23;4340:31;4365:5;4340:31;:::i;:::-;4390:5;4442:2;4427:18;;;;4414:32;;-1:-1:-1;;;4137:315:126:o;4457:221::-;4500:5;4553:3;4546:4;4538:6;4534:17;4530:27;4520:55;;4571:1;4568;4561:12;4520:55;4593:79;4668:3;4659:6;4646:20;4639:4;4631:6;4627:17;4593:79;:::i;4683:610::-;4738:5;4786:4;4774:9;4769:3;4765:19;4761:30;4758:50;;;4804:1;4801;4794:12;4758:50;4837:4;4831:11;;;4869:17;;-1:-1:-1;;;;;4938:18:126;;;4958:22;;;4935:46;4932:72;;;4984:18;;:::i;:::-;5026:10;5020:4;5013:24;5055:6;5046:15;;5098:9;5085:23;5077:6;5070:39;5160:2;5149:9;5145:18;5132:32;5118:46;;5187:2;5179:6;5176:14;5173:34;;;5203:1;5200;5193:12;5173:34;;5240:46;5282:3;5273:6;5262:9;5258:22;5240:46;:::i;:::-;5235:2;5227:6;5223:15;5216:71;;;4683:610;;;;:::o;5298:1622::-;5392:6;5445:2;5433:9;5424:7;5420:23;5416:32;5413:52;;;5461:1;5458;5451:12;5413:52;5488:23;;-1:-1:-1;;;;;5560:14:126;;;5557:34;;;5587:1;5584;5577:12;5557:34;5610:22;;;;5666:6;5648:16;;;5644:29;5641:49;;;5686:1;5683;5676:12;5641:49;5712:17;;:::i;:::-;5752:22;5771:2;5752:22;:::i;:::-;5745:5;5738:37;5807:31;5834:2;5830;5826:11;5807:31;:::i;:::-;5802:2;5795:5;5791:14;5784:55;5892:2;5888;5884:11;5871:25;5866:2;5859:5;5855:14;5848:49;5950:2;5946;5942:11;5929:25;5924:2;5917:5;5913:14;5906:49;6009:3;6005:2;6001:12;5988:26;5982:3;5975:5;5971:15;5964:51;6048:32;6075:3;6071:2;6067:12;6048:32;:::i;:::-;6042:3;6035:5;6031:15;6024:57;6114:32;6141:3;6137:2;6133:12;6114:32;:::i;:::-;6108:3;6101:5;6097:15;6090:57;6193:3;6189:2;6185:12;6172:26;6223:2;6213:8;6210:16;6207:36;;;6239:1;6236;6229:12;6207:36;6276:54;6322:7;6311:8;6307:2;6303:17;6276:54;:::i;:::-;6270:3;6263:5;6259:15;6252:79;;6350:3;6385:31;6412:2;6408;6404:11;6385:31;:::i;:::-;6369:14;;;6362:55;6436:3;6477:11;;;6464:25;6501:16;;;6498:36;;;6530:1;6527;6520:12;6498:36;6566:45;6603:7;6592:8;6588:2;6584:17;6566:45;:::i;:::-;6561:2;6554:5;6550:14;6543:69;;;6631:3;6666:28;6690:2;6686;6682:11;6666:28;:::i;:::-;6650:14;;;6643:52;6714:3;6755:11;;;6742:25;6779:16;;;6776:36;;;6808:1;6805;6798:12;6776:36;6844:45;6881:7;6870:8;6866:2;6862:17;6844:45;:::i;:::-;6828:14;;;6821:69;;;;-1:-1:-1;6832:5:126;5298:1622;-1:-1:-1;;;;;5298:1622:126:o;7213:250::-;7298:1;7308:113;7322:6;7319:1;7316:13;7308:113;;;7398:11;;;7392:18;7379:11;;;7372:39;7344:2;7337:10;7308:113;;;-1:-1:-1;;7455:1:126;7437:16;;7430:27;7213:250::o;7468:271::-;7510:3;7548:5;7542:12;7575:6;7570:3;7563:19;7591:76;7660:6;7653:4;7648:3;7644:14;7637:4;7630:5;7626:16;7591:76;:::i;:::-;7721:2;7700:15;-1:-1:-1;;7696:29:126;7687:39;;;;7728:4;7683:50;;7468:271;-1:-1:-1;;7468:271:126:o;7744:220::-;7893:2;7882:9;7875:21;7856:4;7913:45;7954:2;7943:9;7939:18;7931:6;7913:45;:::i;7969:410::-;8171:2;8153:21;;;8210:2;8190:18;;;8183:30;8249:34;8244:2;8229:18;;8222:62;-1:-1:-1;;;8315:2:126;8300:18;;8293:44;8369:3;8354:19;;7969:410::o;8583:408::-;8785:2;8767:21;;;8824:2;8804:18;;;8797:30;-1:-1:-1;;;;;;;;;;;8858:2:126;8843:18;;8836:62;-1:-1:-1;;;8929:2:126;8914:18;;8907:42;8981:3;8966:19;;8583:408::o;8996:::-;9198:2;9180:21;;;9237:2;9217:18;;;9210:30;-1:-1:-1;;;;;;;;;;;9271:2:126;9256:18;;9249:62;-1:-1:-1;;;9342:2:126;9327:18;;9320:42;9394:3;9379:19;;8996:408::o;10312:251::-;10382:6;10435:2;10423:9;10414:7;10410:23;10406:32;10403:52;;;10451:1;10448;10441:12;10403:52;10483:9;10477:16;10502:31;10527:5;10502:31;:::i;10847:232::-;10886:3;10907:17;;;10904:140;;10966:10;10961:3;10957:20;10954:1;10947:31;11001:4;10998:1;10991:15;11029:4;11026:1;11019:15;10904:140;-1:-1:-1;11071:1:126;11060:13;;10847:232::o;11084:252::-;11171:5;11165:12;11160:3;11153:25;11135:3;11224:4;11217:5;11213:16;11207:23;11262:4;11255;11250:3;11246:14;11239:28;11283:47;11324:4;11319:3;11315:14;11301:12;11283:47;:::i;11341:1996::-;11624:3;11613:9;11606:22;11637:54;11686:3;11675:9;11671:19;11662:6;11656:13;11637:54;:::i;:::-;11587:4;11738;11730:6;11726:17;11720:24;11753:53;11801:3;11790:9;11786:19;11772:12;11753:53;:::i;:::-;;11861:4;11853:6;11849:17;11843:24;11837:3;11826:9;11822:19;11815:53;11923:4;11915:6;11911:17;11905:24;11899:3;11888:9;11884:19;11877:53;11967:3;11959:6;11955:16;11949:23;11991:3;12030:2;12025;12014:9;12010:18;12003:30;12082:3;12074:6;12070:16;12064:23;12042:45;;12106:3;12118:54;12168:2;12157:9;12153:18;12137:14;12118:54;:::i;:::-;12221:3;12213:6;12209:16;12203:23;12181:45;;12245:3;12257:54;12307:2;12296:9;12292:18;12276:14;12257:54;:::i;:::-;12360:3;12352:6;12348:16;12342:23;12320:45;;12384:6;12409:3;12448:2;12443;12432:9;12428:18;12421:30;12474:63;12532:3;12521:9;12517:19;12501:14;12474:63;:::i;:::-;12574:15;;;12568:22;12460:77;;-1:-1:-1;12599:54:126;12634:18;;;12568:22;12599:54;:::i;:::-;12702:2;12694:6;12690:15;12684:22;12662:44;;12729:3;12725:8;12715:18;;12798:2;12786:9;12778:6;12774:22;12770:31;12764:3;12753:9;12749:19;12742:60;12825:41;12859:6;12843:14;12825:41;:::i;:::-;12811:55;;12915:2;12907:6;12903:15;12897:22;12875:44;;12928:52;12975:3;12964:9;12960:19;12944:14;6995:13;6988:21;6976:34;;6925:91;12928:52;13029:2;13021:6;13017:15;13011:22;12989:44;;;;;13098:2;13086:9;13078:6;13074:22;13070:31;13064:3;13053:9;13049:19;13042:60;;13119:41;13153:6;13137:14;13119:41;:::i;:::-;13111:49;;;;13169:48;13211:4;13200:9;13196:20;13188:6;13169:48;:::i;:::-;13226;13268:4;13257:9;13253:20;13245:6;13226:48;:::i;:::-;13283;13325:4;13314:9;13310:20;13302:6;13283:48;:::i;:::-;11341:1996;;;;;;;:::o;13342:315::-;-1:-1:-1;;;;;13517:32:126;;13499:51;;13586:2;13581;13566:18;;13559:30;;;-1:-1:-1;;13606:45:126;;13632:18;;13624:6;13606:45;:::i;15151:184::-;15221:6;15274:2;15262:9;15253:7;15249:23;15245:32;15242:52;;;15290:1;15287;15280:12;15242:52;-1:-1:-1;15313:16:126;;15151:184;-1:-1:-1;15151:184:126:o;16579:287::-;16708:3;16746:6;16740:13;16762:66;16821:6;16816:3;16809:4;16801:6;16797:17;16762:66;:::i;:::-;16844:16;;;;;16579:287;-1:-1:-1;;16579:287:126:o","linkReferences":{},"immutableReferences":{"55572":[{"start":1785,"length":32},{"start":1852,"length":32},{"start":1997,"length":32},{"start":2064,"length":32},{"start":2197,"length":32}]}},"methodIdentifiers":{"VERSION()":"ffa1ad74","collateralVaultTemplate()":"77122d56","createRegistry((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string))":"beb331a3","gardensFeeReceiver()":"b8bed901","getCommunityValidity(address)":"f5016b5e","getGardensFeeReceiver()":"987435be","getProtocolFee(address)":"0a992e0c","initialize(address)":"c4d66de8","initialize(address,address,address,address,address)":"1459457a","initializeV2()":"5cd8a76b","nonce()":"affed0e0","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","registryCommunityTemplate()":"02c1d0b1","renounceOwnership()":"715018a6","setCollateralVaultTemplate(address)":"b0d3713a","setCommunityValidity(address,bool)":"5a2c8ace","setProtocolFee(address,uint256)":"b5b3ca2c","setReceiverAddress(address)":"8279c7db","setRegistryCommunityTemplate(address)":"5decae02","setStrategyTemplate(address)":"1b71f0e4","strategyTemplate()":"5c94e4d2","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"CallerNotOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"CommunityInvalid\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_registryCommunity\",\"type\":\"address\"}],\"name\":\"CommunityCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"CommunityValiditySet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"FeeReceiverSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateralVaultTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"}],\"internalType\":\"struct RegistryCommunityV0_0.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"createRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_createdRegistryAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getCommunityValidity\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getProtocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_gardensFeeReceiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registryCommunityTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initializeV2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryCommunityTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setCollateralVaultTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"setCommunityValidity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"setProtocolFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"setReceiverAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setRegistryCommunityTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setStrategyTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategyTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"RegistryFactoryV0_0\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol\":\"RegistryFactoryV0_1\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293\",\"dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x4301751ea11db320804edf82deeb83d694240d4ab92e96fd75272823a0e68cbe\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://17eb861b8e0b13b4fc31136dbb817f5bf9b0637dc1c0484b090e1e2121fc2595\",\"dweb:/ipfs/QmbYz9fngCp4FmvAJyP2NqSpxBJRJa573mTQ5R9nVsCJAg\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol\":{\"keccak256\":\"0x62c6f7fca9e1532f2cdff846efefc79a704fee448a309e6d8ecd385d839379c2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://50b2a568546d8d35ce4020154efc32fd99ecdf3ec0a7797cc78928dca0775fca\",\"dweb:/ipfs/QmR5wG5wRWVzLkho3pwDC3t8ABRpUMwBSq6hZukJNd3xPa\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xaea628cb12b8c0dd868c04c935f99ab50c88372f130ce2ced0c7b2b3ce780381\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://22eb93eaf9fc1a9f591ed87dc478e8aabafb46e22ef870bba1345a799c44ba3d\",\"dweb:/ipfs/QmSAXa8UmtGNXNtVbmqPMyEpA3RZYqWjZvPoVFHCvjHjwj\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol\":{\"keccak256\":\"0x7367a8a82bee7dcc2db5e1b00e1b7a685357b04af220879b4dd91f8731a8a1ff\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c5b065857872e4f4d1ecd79c9dece1ae55e75202fdea114ccc4b592aaf81cc07\",\"dweb:/ipfs/Qmdptrz3HCp64YAVArpRxGwoPMtrDpjnZ17VqQhhKzrnzX\"]},\"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol\":{\"keccak256\":\"0x83edb2d3fd1bd2abde25842deff6b41b62d0af39657bf2137448144f1facc58c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://40f6e10e835b63c2b608537bf75a6a3b8c610f319da2ec1f00d6361c711e9612\",\"dweb:/ipfs/Qmae1BCM6Cay3MgwijZXkqHiBrECSbhBr13Z2htP6dLixj\"]},\"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol\":{\"keccak256\":\"0x36b8d95b870f2604f9808607f879db46ba3a9634bd6f73bcf6d7323522b49836\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d7ab912f995b9ddf3100f8ecb92d0b6ffb6ac0109931b93f666ff997727f871c\",\"dweb:/ipfs/QmeJUoAQeQsUNA45TBBTyNjNZf8gnHoprn277e15wXrB7N\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"type":"error","name":"CallerNotOwner"},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"type":"error","name":"CommunityInvalid"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"_registryCommunity","type":"address","indexed":false}],"type":"event","name":"CommunityCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"bool","name":"_isValid","type":"bool","indexed":false}],"type":"event","name":"CommunityValiditySet","anonymous":false},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address","indexed":false}],"type":"event","name":"FeeReceiverSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256","indexed":false}],"type":"event","name":"ProtocolFeeSet","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVaultTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"struct RegistryCommunityV0_0.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createRegistry","outputs":[{"internalType":"address","name":"_createdRegistryAddress","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getCommunityValidity","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getGardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getProtocolFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_gardensFeeReceiver","type":"address"},{"internalType":"address","name":"_registryCommunityTemplate","type":"address"},{"internalType":"address","name":"_strategyTemplate","type":"address"},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"initializeV2"},{"inputs":[],"stateMutability":"view","type":"function","name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryCommunityTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCollateralVaultTemplate"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"bool","name":"_isValid","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityValidity"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setProtocolFee"},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setReceiverAddress"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRegistryCommunityTemplate"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setStrategyTemplate"},{"inputs":[],"stateMutability":"view","type":"function","name":"strategyTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol":"RegistryFactoryV0_1"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2","urls":["bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293","dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x4301751ea11db320804edf82deeb83d694240d4ab92e96fd75272823a0e68cbe","urls":["bzz-raw://17eb861b8e0b13b4fc31136dbb817f5bf9b0637dc1c0484b090e1e2121fc2595","dweb:/ipfs/QmbYz9fngCp4FmvAJyP2NqSpxBJRJa573mTQ5R9nVsCJAg"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol":{"keccak256":"0x62c6f7fca9e1532f2cdff846efefc79a704fee448a309e6d8ecd385d839379c2","urls":["bzz-raw://50b2a568546d8d35ce4020154efc32fd99ecdf3ec0a7797cc78928dca0775fca","dweb:/ipfs/QmR5wG5wRWVzLkho3pwDC3t8ABRpUMwBSq6hZukJNd3xPa"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xaea628cb12b8c0dd868c04c935f99ab50c88372f130ce2ced0c7b2b3ce780381","urls":["bzz-raw://22eb93eaf9fc1a9f591ed87dc478e8aabafb46e22ef870bba1345a799c44ba3d","dweb:/ipfs/QmSAXa8UmtGNXNtVbmqPMyEpA3RZYqWjZvPoVFHCvjHjwj"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol":{"keccak256":"0x7367a8a82bee7dcc2db5e1b00e1b7a685357b04af220879b4dd91f8731a8a1ff","urls":["bzz-raw://c5b065857872e4f4d1ecd79c9dece1ae55e75202fdea114ccc4b592aaf81cc07","dweb:/ipfs/Qmdptrz3HCp64YAVArpRxGwoPMtrDpjnZ17VqQhhKzrnzX"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol":{"keccak256":"0x83edb2d3fd1bd2abde25842deff6b41b62d0af39657bf2137448144f1facc58c","urls":["bzz-raw://40f6e10e835b63c2b608537bf75a6a3b8c610f319da2ec1f00d6361c711e9612","dweb:/ipfs/Qmae1BCM6Cay3MgwijZXkqHiBrECSbhBr13Z2htP6dLixj"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol":{"keccak256":"0x36b8d95b870f2604f9808607f879db46ba3a9634bd6f73bcf6d7323522b49836","urls":["bzz-raw://d7ab912f995b9ddf3100f8ecb92d0b6ffb6ac0109931b93f666ff997727f871c","dweb:/ipfs/QmeJUoAQeQsUNA45TBBTyNjNZf8gnHoprn277e15wXrB7N"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":52990,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52993,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53695,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52782,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52902,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":73019,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"nonce","offset":0,"slot":"101","type":"t_uint256"},{"astId":73024,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"communityToInfo","offset":0,"slot":"102","type":"t_mapping(t_address,t_struct(CommunityInfo)73011_storage)"},{"astId":73026,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"gardensFeeReceiver","offset":0,"slot":"103","type":"t_address"},{"astId":73028,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"registryCommunityTemplate","offset":0,"slot":"104","type":"t_address"},{"astId":73030,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"strategyTemplate","offset":0,"slot":"105","type":"t_address"},{"astId":73032,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"collateralVaultTemplate","offset":0,"slot":"106","type":"t_address"},{"astId":73364,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"__gap","offset":0,"slot":"107","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_struct(CommunityInfo)73011_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct CommunityInfo)","numberOfBytes":"32","value":"t_struct(CommunityInfo)73011_storage"},"t_struct(CommunityInfo)73011_storage":{"encoding":"inplace","label":"struct CommunityInfo","numberOfBytes":"64","members":[{"astId":73008,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"fee","offset":0,"slot":"0","type":"t_uint256"},{"astId":73010,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"valid","offset":0,"slot":"1","type":"t_bool"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol","id":73466,"exportedSymbols":{"Clone":[3002],"CommunityInfo":[73011],"ERC1967Proxy":[55021],"ProxyOwnableUpgrader":[70754],"RegistryCommunityV0_0":[72744],"RegistryCommunityV0_1":[72996],"RegistryFactoryV0_0":[73365],"RegistryFactoryV0_1":[73465]},"nodeType":"SourceUnit","src":"42:1193:110","nodes":[{"id":73367,"nodeType":"PragmaDirective","src":"42:24:110","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":73368,"nodeType":"ImportDirective","src":"68:52:110","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol","file":"../RegistryFactory/RegistryFactoryV0_0.sol","nameLocation":"-1:-1:-1","scope":73466,"sourceUnit":73366,"symbolAliases":[],"unitAlias":""},{"id":73370,"nodeType":"ImportDirective","src":"121:85:110","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol","file":"../RegistryCommunity/RegistryCommunityV0_1.sol","nameLocation":"-1:-1:-1","scope":73466,"sourceUnit":72997,"symbolAliases":[{"foreign":{"id":73369,"name":"RegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72996,"src":"129:21:110","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73465,"nodeType":"ContractDefinition","src":"257:977:110","nodes":[{"id":73380,"nodeType":"FunctionDefinition","src":"315:50:110","nodes":[],"body":{"id":73379,"nodeType":"Block","src":"363:2:110","nodes":[],"statements":[]},"functionSelector":"5cd8a76b","implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"32","id":73376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"360:1:110","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"id":73377,"kind":"modifierInvocation","modifierName":{"id":73375,"name":"reinitializer","nameLocations":["346:13:110"],"nodeType":"IdentifierPath","referencedDeclaration":53087,"src":"346:13:110"},"nodeType":"ModifierInvocation","src":"346:16:110"}],"name":"initializeV2","nameLocation":"324:12:110","parameters":{"id":73374,"nodeType":"ParameterList","parameters":[],"src":"336:2:110"},"returnParameters":{"id":73378,"nodeType":"ParameterList","parameters":[],"src":"363:0:110"},"scope":73465,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":73464,"nodeType":"FunctionDefinition","src":"371:861:110","nodes":[],"body":{"id":73463,"nodeType":"Block","src":"551:681:110","nodes":[],"statements":[{"expression":{"id":73394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73389,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73383,"src":"561:6:110","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":73391,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"568:6:110","memberName":"_nonce","nodeType":"MemberAccess","referencedDeclaration":70968,"src":"561:13:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"577:7:110","subExpression":{"id":73392,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73019,"src":"577:5:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"561:23:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73395,"nodeType":"ExpressionStatement","src":"561:23:110"},{"expression":{"id":73403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73396,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73383,"src":"594:6:110","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":73398,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"601:16:110","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":70970,"src":"594:23:110","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73401,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"628:4:110","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_1_$73465","typeString":"contract RegistryFactoryV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryFactoryV0_1_$73465","typeString":"contract RegistryFactoryV0_1"}],"id":73400,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"620:7:110","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73399,"name":"address","nodeType":"ElementaryTypeName","src":"620:7:110","typeDescriptions":{}}},"id":73402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"620:13:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"594:39:110","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73404,"nodeType":"ExpressionStatement","src":"594:39:110"},{"assignments":[73407],"declarations":[{"constant":false,"id":73407,"mutability":"mutable","name":"proxy","nameLocation":"657:5:110","nodeType":"VariableDeclaration","scope":73463,"src":"644:18:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"},"typeName":{"id":73406,"nodeType":"UserDefinedTypeName","pathNode":{"id":73405,"name":"ERC1967Proxy","nameLocations":["644:12:110"],"nodeType":"IdentifierPath","referencedDeclaration":55021,"src":"644:12:110"},"referencedDeclaration":55021,"src":"644:12:110","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}},"visibility":"internal"}],"id":73427,"initialValue":{"arguments":[{"arguments":[{"id":73413,"name":"registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73028,"src":"703:25:110","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73412,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"695:7:110","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73411,"name":"address","nodeType":"ElementaryTypeName","src":"695:7:110","typeDescriptions":{}}},"id":73414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"695:34:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":73417,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72744,"src":"783:21:110","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$72744_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":73418,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"805:10:110","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":71527,"src":"783:32:110","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_struct$_InitializeParams_$70984_memory_ptr_$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function RegistryCommunityV0_0.initialize(struct RegistryCommunityV0_0.InitializeParams memory,address,address,address)"}},"id":73419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"816:8:110","memberName":"selector","nodeType":"MemberAccess","src":"783:41:110","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":73420,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73383,"src":"826:6:110","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},{"id":73421,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73030,"src":"834:16:110","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73422,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73032,"src":"852:23:110","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":73423,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[70732],"referencedDeclaration":70732,"src":"877:5:110","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":73424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"877:7:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73415,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"743:3:110","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":73416,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"747:18:110","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"743:22:110","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":73425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"743:155:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":73410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"665:16:110","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55021_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":73409,"nodeType":"UserDefinedTypeName","pathNode":{"id":73408,"name":"ERC1967Proxy","nameLocations":["669:12:110"],"nodeType":"IdentifierPath","referencedDeclaration":55021,"src":"669:12:110"},"referencedDeclaration":55021,"src":"669:12:110","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}},"id":73426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"665:243:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}},"nodeType":"VariableDeclarationStatement","src":"644:264:110"},{"assignments":[73430],"declarations":[{"constant":false,"id":73430,"mutability":"mutable","name":"registryCommunity","nameLocation":"941:17:110","nodeType":"VariableDeclaration","scope":73463,"src":"919:39:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"},"typeName":{"id":73429,"nodeType":"UserDefinedTypeName","pathNode":{"id":73428,"name":"RegistryCommunityV0_1","nameLocations":["919:21:110"],"nodeType":"IdentifierPath","referencedDeclaration":72996,"src":"919:21:110"},"referencedDeclaration":72996,"src":"919:21:110","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"visibility":"internal"}],"id":73440,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":73436,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73407,"src":"999:5:110","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}],"id":73435,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"991:7:110","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73434,"name":"address","nodeType":"ElementaryTypeName","src":"991:7:110","typeDescriptions":{}}},"id":73437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"991:14:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"983:8:110","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":73432,"name":"address","nodeType":"ElementaryTypeName","src":"983:8:110","stateMutability":"payable","typeDescriptions":{}}},"id":73438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"983:23:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":73431,"name":"RegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72996,"src":"961:21:110","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_1_$72996_$","typeString":"type(contract RegistryCommunityV0_1)"}},"id":73439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"961:46:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"nodeType":"VariableDeclarationStatement","src":"919:88:110"},{"expression":{"id":73449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":73441,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73024,"src":"1067:15:110","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$73011_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":73446,"indexExpression":{"arguments":[{"id":73444,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73430,"src":"1091:17:110","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}],"id":73443,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1083:7:110","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73442,"name":"address","nodeType":"ElementaryTypeName","src":"1083:7:110","typeDescriptions":{}}},"id":73445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1083:26:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1067:43:110","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$73011_storage","typeString":"struct CommunityInfo storage ref"}},"id":73447,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1111:5:110","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":73010,"src":"1067:49:110","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":73448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1119:4:110","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"1067:56:110","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73450,"nodeType":"ExpressionStatement","src":"1067:56:110"},{"eventCall":{"arguments":[{"arguments":[{"id":73454,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73430,"src":"1163:17:110","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}],"id":73453,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1155:7:110","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73452,"name":"address","nodeType":"ElementaryTypeName","src":"1155:7:110","typeDescriptions":{}}},"id":73455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1155:26:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73451,"name":"CommunityCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73046,"src":"1138:16:110","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1138:44:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73457,"nodeType":"EmitStatement","src":"1133:49:110"},{"expression":{"arguments":[{"id":73460,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73430,"src":"1207:17:110","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}],"id":73459,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1199:7:110","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73458,"name":"address","nodeType":"ElementaryTypeName","src":"1199:7:110","typeDescriptions":{}}},"id":73461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1199:26:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":73388,"id":73462,"nodeType":"Return","src":"1192:33:110"}]},"baseFunctions":[73251],"functionSelector":"beb331a3","implemented":true,"kind":"function","modifiers":[],"name":"createRegistry","nameLocation":"380:14:110","overrides":{"id":73385,"nodeType":"OverrideSpecifier","overrides":[],"src":"488:8:110"},"parameters":{"id":73384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73383,"mutability":"mutable","name":"params","nameLocation":"441:6:110","nodeType":"VariableDeclaration","scope":73464,"src":"395:52:110","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"},"typeName":{"id":73382,"nodeType":"UserDefinedTypeName","pathNode":{"id":73381,"name":"RegistryCommunityV0_1.InitializeParams","nameLocations":["395:21:110","417:16:110"],"nodeType":"IdentifierPath","referencedDeclaration":70984,"src":"395:38:110"},"referencedDeclaration":70984,"src":"395:38:110","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_storage_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"}},"visibility":"internal"}],"src":"394:54:110"},"returnParameters":{"id":73388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73387,"mutability":"mutable","name":"_createdRegistryAddress","nameLocation":"522:23:110","nodeType":"VariableDeclaration","scope":73464,"src":"514:31:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73386,"name":"address","nodeType":"ElementaryTypeName","src":"514:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"513:33:110"},"scope":73465,"stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":73372,"name":"RegistryFactoryV0_0","nameLocations":["289:19:110"],"nodeType":"IdentifierPath","referencedDeclaration":73365,"src":"289:19:110"},"id":73373,"nodeType":"InheritanceSpecifier","src":"289:19:110"}],"canonicalName":"RegistryFactoryV0_1","contractDependencies":[55021],"contractKind":"contract","documentation":{"id":73371,"nodeType":"StructuredDocumentation","src":"208:49:110","text":"@custom:oz-upgrades-from RegistryFactoryV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[73465,73365,70754,55672,55325,54974,54984,52903,53696,53152],"name":"RegistryFactoryV0_1","nameLocation":"266:19:110","scope":73466,"usedErrors":[70677,73056,73058]}],"license":"AGPL-3.0-only"},"id":110} \ No newline at end of file +{"abi":[{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"collateralVaultTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"createRegistry","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunityInitializeParamsV0_0","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"}]}],"outputs":[{"name":"_createdRegistryAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"gardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getGardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_gardensFeeReceiver","type":"address","internalType":"address"},{"name":"_registryCommunityTemplate","type":"address","internalType":"address"},{"name":"_strategyTemplate","type":"address","internalType":"address"},{"name":"_collateralVaultTemplate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initialOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initializeV2","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"nonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registryCommunityTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCollateralVaultTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_isValid","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_newProtocolFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setReceiverAddress","inputs":[{"name":"_newFeeReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRegistryCommunityTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStrategyTemplate","inputs":[{"name":"template","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategyTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityCreated","inputs":[{"name":"_registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityValiditySet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_isValid","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"FeeReceiverSet","inputs":[{"name":"_newFeeReceiver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProtocolFeeSet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_newProtocolFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CallerNotOwner","inputs":[{"name":"_caller","type":"address","internalType":"address"},{"name":"_owner","type":"address","internalType":"address"}]},{"type":"error","name":"CommunityInvalid","inputs":[{"name":"_community","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b506080516120eb61004c600039600081816106f90152818161073c015281816107cd01528181610810015261089501526120eb6000f3fe608060405260043610620001405760003560e01c806302c1d0b114620001455780630a992e0c146200017f5780631459457a14620001b35780631b71f0e414620001da5780633659cfe614620001ff5780634f1ef286146200022457806352d1902d146200023b5780635a2c8ace14620002535780635c94e4d214620002785780635cd8a76b146200029a5780635decae0214620002b2578063715018a614620002d757806377122d5614620002ef5780638279c7db14620003115780638da5cb5b1462000336578063987435be146200034e578063affed0e0146200036e578063b0d3713a1462000386578063b5b3ca2c14620003ab578063b8bed90114620003d0578063beb331a314620003f2578063c4d66de81462000417578063f2fde38b146200043c578063f5016b5e1462000461578063ffa1ad7414620004b2575b600080fd5b3480156200015257600080fd5b5060685462000167906001600160a01b031681565b60405162000176919062001379565b60405180910390f35b3480156200018c57600080fd5b50620001a46200019e366004620013b5565b620004f2565b60405190815260200162000176565b348015620001c057600080fd5b50620001d8620001d2366004620013d5565b62000558565b005b348015620001e757600080fd5b50620001d8620001f9366004620013b5565b620006c3565b3480156200020c57600080fd5b50620001d86200021e366004620013b5565b620006ef565b620001d8620002353660046200150f565b620007c3565b3480156200024857600080fd5b50620001a462000888565b3480156200026057600080fd5b50620001d8620002723660046200158a565b62000939565b3480156200028557600080fd5b5060695462000167906001600160a01b031681565b348015620002a757600080fd5b50620001d8620009aa565b348015620002bf57600080fd5b50620001d8620002d1366004620013b5565b62000a2e565b348015620002e457600080fd5b50620001d862000a5a565b348015620002fc57600080fd5b50606a5462000167906001600160a01b031681565b3480156200031e57600080fd5b50620001d862000330366004620013b5565b62000a72565b3480156200034357600080fd5b506200016762000ac3565b3480156200035b57600080fd5b506067546001600160a01b031662000167565b3480156200037b57600080fd5b50620001a460655481565b3480156200039357600080fd5b50620001d8620003a5366004620013b5565b62000b60565b348015620003b857600080fd5b50620001d8620003ca366004620015c4565b62000b8c565b348015620003dd57600080fd5b5060675462000167906001600160a01b031681565b348015620003ff57600080fd5b5062000167620004113660046200168b565b62000be8565b3480156200042457600080fd5b50620001d862000436366004620013b5565b62000d29565b3480156200044957600080fd5b50620001d86200045b366004620013b5565b62000da1565b3480156200046e57600080fd5b50620004a162000480366004620013b5565b6001600160a01b031660009081526066602052604090206001015460ff1690565b604051901515815260200162000176565b348015620004bf57600080fd5b50620004e3604051806040016040528060038152602001620302e360ec1b81525081565b6040516200017691906200183a565b6001600160a01b03811660009081526066602052604081206001015460ff166200053c578160405163f5a6943d60e01b815260040162000533919062001379565b60405180910390fd5b506001600160a01b031660009081526066602052604090205490565b600054610100900460ff1615808015620005795750600054600160ff909116105b806200059e57506200058b3062000e12565b1580156200059e575060005460ff166001145b620005bd5760405162461bcd60e51b815260040162000533906200184f565b6000805460ff191660011790558015620005e1576000805461ff0019166101001790555b620005ec8662000d29565b6000606555620005fc8562000e21565b620006078462000e21565b620006128262000e21565b606780546001600160a01b038088166001600160a01b0319928316179092556068805487841690831617905560698054868416908316179055606a80549285169290911691909117905560405160008051602062002096833981519152906200067d90879062001379565b60405180910390a18015620006bb576000805461ff0019169055604051600181526000805160206200204f8339815191529060200160405180910390a15b505050505050565b620006cd62000e49565b606980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036200073a5760405162461bcd60e51b815260040162000533906200189d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200076e62000eac565b6001600160a01b031614620007975760405162461bcd60e51b81526004016200053390620018d8565b620007a28162000ec9565b60408051600080825260208201909252620007c09183919062000f1b565b50565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036200080e5760405162461bcd60e51b815260040162000533906200189d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200084262000eac565b6001600160a01b0316146200086b5760405162461bcd60e51b81526004016200053390620018d8565b620008768262000ec9565b620008848282600162000f1b565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620009255760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840162000533565b506000805160206200202f83398151915290565b6200094362000e49565b6001600160a01b038216600081815260666020908152604091829020600101805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b600054600290610100900460ff16158015620009cd575060005460ff8083169116105b620009ec5760405162461bcd60e51b815260040162000533906200184f565b6000805461ffff191660ff83169081176101001761ff0019169091556040519081526000805160206200204f833981519152906020015b60405180910390a150565b62000a3862000e49565b606880546001600160a01b0319166001600160a01b0392909216919091179055565b62000a6462000e49565b62000a70600062001098565b565b62000a7c62000e49565b62000a878162000e21565b606780546001600160a01b0319166001600160a01b038316179055604051600080516020620020968339815191529062000a2390839062001379565b60008062000ad96033546001600160a01b031690565b9050806001600160a01b03163b60000362000af357919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000b50575060408051601f3d908101601f1916820190925262000b4d9181019062001913565b60015b62000b5a57919050565b92915050565b62000b6a62000e49565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b62000b9662000e49565b6001600160a01b038216600081815260666020908152604091829020849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c91016200099e565b606580546000918262000bfb8362001933565b9091555060808301523060a0830152606854606954606a546000926001600160a01b0390811692633419635560e01b928792918216911662000c3c62000ac3565b60405160240162000c5194939291906200197c565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905162000c90906200135e565b62000c9d92919062001ac4565b604051809103906000f08015801562000cba573d6000803e3d6000fd5b506001600160a01b038116600090815260666020526040908190206001908101805460ff191690911790555190915081907fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc299062000d1a90839062001379565b60405180910390a19392505050565b600054610100900460ff1662000d965760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840162000533565b620007c08162001098565b62000dab62000e49565b6001600160a01b03811662000d965760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000533565b6001600160a01b03163b151590565b6001600160a01b038116620007c0576040516303988b8160e61b815260040160405180910390fd5b3362000e5462000ac3565b6001600160a01b03161462000a705760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000533565b6000805160206200202f833981519152546001600160a01b031690565b3362000ed462000ac3565b6001600160a01b031614620007c0573362000eee62000ac3565b60405163163678e960e01b81526001600160a01b0392831660048201529116602482015260440162000533565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000f565762000f5183620010ea565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000fb3575060408051601f3d908101601f1916820190925262000fb09181019062001aea565b60015b620010185760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840162000533565b6000805160206200202f83398151915281146200108a5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840162000533565b5062000f5183838362001189565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b620010f58162000e12565b620011595760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162000533565b6000805160206200202f83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6200119483620011ba565b600082511180620011a25750805b1562000f5157620011b48383620011fc565b50505050565b620011c581620010ea565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606200122483836040518060600160405280602781526020016200206f602791396200122b565b9392505050565b6060600080856001600160a01b0316856040516200124a919062001b04565b600060405180830381855af49150503d806000811462001287576040519150601f19603f3d011682016040523d82523d6000602084013e6200128c565b606091505b50915091506200129f86838387620012a9565b9695505050505050565b606083156200131d5782516000036200131557620012c78562000e12565b620013155760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000533565b508162001329565b62001329838362001331565b949350505050565b815115620013425781518083602001fd5b8060405162461bcd60e51b81526004016200053391906200183a565b6104ec8062001b2383390190565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114620007c057600080fd5b8035620013b0816200138d565b919050565b600060208284031215620013c857600080fd5b813562001224816200138d565b600080600080600060a08688031215620013ee57600080fd5b8535620013fb816200138d565b945060208601356200140d816200138d565b935060408601356200141f816200138d565b9250606086013562001431816200138d565b9150608086013562001443816200138d565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b03811182821017156200148d576200148d62001451565b60405290565b60006001600160401b0380841115620014b057620014b062001451565b604051601f8501601f19908116603f01168101908282118183101715620014db57620014db62001451565b81604052809350858152868686011115620014f557600080fd5b858560208301376000602087830101525050509392505050565b600080604083850312156200152357600080fd5b823562001530816200138d565b915060208301356001600160401b038111156200154c57600080fd5b8301601f810185136200155e57600080fd5b6200156f8582356020840162001493565b9150509250929050565b80358015158114620013b057600080fd5b600080604083850312156200159e57600080fd5b8235620015ab816200138d565b9150620015bb6020840162001579565b90509250929050565b60008060408385031215620015d857600080fd5b8235620015e5816200138d565b946020939093013593505050565b600082601f8301126200160557600080fd5b620012248383356020850162001493565b6000604082840312156200162957600080fd5b604080519081016001600160401b0380821183831017156200164f576200164f62001451565b816040528293508435835260208501359150808211156200166f57600080fd5b506200167e85828601620015f3565b6020830152505092915050565b6000602082840312156200169e57600080fd5b81356001600160401b0380821115620016b657600080fd5b908301906101808286031215620016cc57600080fd5b620016d662001467565b620016e183620013a3565b8152620016f160208401620013a3565b60208201526040830135604082015260608301356060820152608083013560808201526200172260a08401620013a3565b60a08201526200173560c08401620013a3565b60c082015260e0830135828111156200174d57600080fd5b6200175b8782860162001616565b60e08301525061010062001771818501620013a3565b9082015261012083810135838111156200178a57600080fd5b6200179888828701620015f3565b828401525050610140620017ae81850162001579565b908201526101608381013583811115620017c757600080fd5b620017d588828701620015f3565b918301919091525095945050505050565b60005b8381101562001803578181015183820152602001620017e9565b50506000910152565b6000815180845262001826816020860160208601620017e6565b601f01601f19169290920160200192915050565b6020815260006200122460208301846200180c565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602c908201526000805160206200200f83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206200200f83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156200192657600080fd5b815162001224816200138d565b6000600182016200195457634e487b7160e01b600052601160045260246000fd5b5060010190565b8051825260006020820151604060208501526200132960408501826200180c565b60808152620019906080820186516200136c565b60006020860151620019a660a08401826200136c565b50604086015160c0830152606086015160e08301526080860151610100818185015260a08801519150610120620019e0818601846200136c565b60c08901519250610140620019f8818701856200136c565b60e08a01519350610180610160818189015262001a1a6102008901876200195b565b948c015194955062001a2f888301866200136c565b838c01519450607f19935083888703016101a089015262001a5186866200180c565b9550828c0151945062001a696101c089018615159052565b808c0151945050505080858403016101e08601525062001a8a82826200180c565b9250505062001a9d60208301866200136c565b62001aac60408301856200136c565b62001abb60608301846200136c565b95945050505050565b6001600160a01b038316815260406020820181905260009062001329908301846200180c565b60006020828403121562001afd57600080fd5b5051919050565b6000825162001b18818460208701620017e6565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212204fe6c3c3dccfaea0fd10fdd343631403db3c1555c6576ad816deaaa45c9f926764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656446756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9da26469706673582212201968bc98a73c2287ac478184f176b078b77c47f2cfec44709683d331d1305eae64736f6c63430008130033","sourceMap":"433:976:110:-:0;;;1088:4:64;1045:48;;433:976:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610620001405760003560e01c806302c1d0b114620001455780630a992e0c146200017f5780631459457a14620001b35780631b71f0e414620001da5780633659cfe614620001ff5780634f1ef286146200022457806352d1902d146200023b5780635a2c8ace14620002535780635c94e4d214620002785780635cd8a76b146200029a5780635decae0214620002b2578063715018a614620002d757806377122d5614620002ef5780638279c7db14620003115780638da5cb5b1462000336578063987435be146200034e578063affed0e0146200036e578063b0d3713a1462000386578063b5b3ca2c14620003ab578063b8bed90114620003d0578063beb331a314620003f2578063c4d66de81462000417578063f2fde38b146200043c578063f5016b5e1462000461578063ffa1ad7414620004b2575b600080fd5b3480156200015257600080fd5b5060685462000167906001600160a01b031681565b60405162000176919062001379565b60405180910390f35b3480156200018c57600080fd5b50620001a46200019e366004620013b5565b620004f2565b60405190815260200162000176565b348015620001c057600080fd5b50620001d8620001d2366004620013d5565b62000558565b005b348015620001e757600080fd5b50620001d8620001f9366004620013b5565b620006c3565b3480156200020c57600080fd5b50620001d86200021e366004620013b5565b620006ef565b620001d8620002353660046200150f565b620007c3565b3480156200024857600080fd5b50620001a462000888565b3480156200026057600080fd5b50620001d8620002723660046200158a565b62000939565b3480156200028557600080fd5b5060695462000167906001600160a01b031681565b348015620002a757600080fd5b50620001d8620009aa565b348015620002bf57600080fd5b50620001d8620002d1366004620013b5565b62000a2e565b348015620002e457600080fd5b50620001d862000a5a565b348015620002fc57600080fd5b50606a5462000167906001600160a01b031681565b3480156200031e57600080fd5b50620001d862000330366004620013b5565b62000a72565b3480156200034357600080fd5b506200016762000ac3565b3480156200035b57600080fd5b506067546001600160a01b031662000167565b3480156200037b57600080fd5b50620001a460655481565b3480156200039357600080fd5b50620001d8620003a5366004620013b5565b62000b60565b348015620003b857600080fd5b50620001d8620003ca366004620015c4565b62000b8c565b348015620003dd57600080fd5b5060675462000167906001600160a01b031681565b348015620003ff57600080fd5b5062000167620004113660046200168b565b62000be8565b3480156200042457600080fd5b50620001d862000436366004620013b5565b62000d29565b3480156200044957600080fd5b50620001d86200045b366004620013b5565b62000da1565b3480156200046e57600080fd5b50620004a162000480366004620013b5565b6001600160a01b031660009081526066602052604090206001015460ff1690565b604051901515815260200162000176565b348015620004bf57600080fd5b50620004e3604051806040016040528060038152602001620302e360ec1b81525081565b6040516200017691906200183a565b6001600160a01b03811660009081526066602052604081206001015460ff166200053c578160405163f5a6943d60e01b815260040162000533919062001379565b60405180910390fd5b506001600160a01b031660009081526066602052604090205490565b600054610100900460ff1615808015620005795750600054600160ff909116105b806200059e57506200058b3062000e12565b1580156200059e575060005460ff166001145b620005bd5760405162461bcd60e51b815260040162000533906200184f565b6000805460ff191660011790558015620005e1576000805461ff0019166101001790555b620005ec8662000d29565b6000606555620005fc8562000e21565b620006078462000e21565b620006128262000e21565b606780546001600160a01b038088166001600160a01b0319928316179092556068805487841690831617905560698054868416908316179055606a80549285169290911691909117905560405160008051602062002096833981519152906200067d90879062001379565b60405180910390a18015620006bb576000805461ff0019169055604051600181526000805160206200204f8339815191529060200160405180910390a15b505050505050565b620006cd62000e49565b606980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036200073a5760405162461bcd60e51b815260040162000533906200189d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200076e62000eac565b6001600160a01b031614620007975760405162461bcd60e51b81526004016200053390620018d8565b620007a28162000ec9565b60408051600080825260208201909252620007c09183919062000f1b565b50565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036200080e5760405162461bcd60e51b815260040162000533906200189d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200084262000eac565b6001600160a01b0316146200086b5760405162461bcd60e51b81526004016200053390620018d8565b620008768262000ec9565b620008848282600162000f1b565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620009255760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840162000533565b506000805160206200202f83398151915290565b6200094362000e49565b6001600160a01b038216600081815260666020908152604091829020600101805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b600054600290610100900460ff16158015620009cd575060005460ff8083169116105b620009ec5760405162461bcd60e51b815260040162000533906200184f565b6000805461ffff191660ff83169081176101001761ff0019169091556040519081526000805160206200204f833981519152906020015b60405180910390a150565b62000a3862000e49565b606880546001600160a01b0319166001600160a01b0392909216919091179055565b62000a6462000e49565b62000a70600062001098565b565b62000a7c62000e49565b62000a878162000e21565b606780546001600160a01b0319166001600160a01b038316179055604051600080516020620020968339815191529062000a2390839062001379565b60008062000ad96033546001600160a01b031690565b9050806001600160a01b03163b60000362000af357919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000b50575060408051601f3d908101601f1916820190925262000b4d9181019062001913565b60015b62000b5a57919050565b92915050565b62000b6a62000e49565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b62000b9662000e49565b6001600160a01b038216600081815260666020908152604091829020849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c91016200099e565b606580546000918262000bfb8362001933565b9091555060808301523060a0830152606854606954606a546000926001600160a01b0390811692633419635560e01b928792918216911662000c3c62000ac3565b60405160240162000c5194939291906200197c565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905162000c90906200135e565b62000c9d92919062001ac4565b604051809103906000f08015801562000cba573d6000803e3d6000fd5b506001600160a01b038116600090815260666020526040908190206001908101805460ff191690911790555190915081907fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc299062000d1a90839062001379565b60405180910390a19392505050565b600054610100900460ff1662000d965760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840162000533565b620007c08162001098565b62000dab62000e49565b6001600160a01b03811662000d965760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000533565b6001600160a01b03163b151590565b6001600160a01b038116620007c0576040516303988b8160e61b815260040160405180910390fd5b3362000e5462000ac3565b6001600160a01b03161462000a705760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000533565b6000805160206200202f833981519152546001600160a01b031690565b3362000ed462000ac3565b6001600160a01b031614620007c0573362000eee62000ac3565b60405163163678e960e01b81526001600160a01b0392831660048201529116602482015260440162000533565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000f565762000f5183620010ea565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000fb3575060408051601f3d908101601f1916820190925262000fb09181019062001aea565b60015b620010185760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840162000533565b6000805160206200202f83398151915281146200108a5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840162000533565b5062000f5183838362001189565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b620010f58162000e12565b620011595760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162000533565b6000805160206200202f83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6200119483620011ba565b600082511180620011a25750805b1562000f5157620011b48383620011fc565b50505050565b620011c581620010ea565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606200122483836040518060600160405280602781526020016200206f602791396200122b565b9392505050565b6060600080856001600160a01b0316856040516200124a919062001b04565b600060405180830381855af49150503d806000811462001287576040519150601f19603f3d011682016040523d82523d6000602084013e6200128c565b606091505b50915091506200129f86838387620012a9565b9695505050505050565b606083156200131d5782516000036200131557620012c78562000e12565b620013155760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000533565b508162001329565b62001329838362001331565b949350505050565b815115620013425781518083602001fd5b8060405162461bcd60e51b81526004016200053391906200183a565b6104ec8062001b2383390190565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114620007c057600080fd5b8035620013b0816200138d565b919050565b600060208284031215620013c857600080fd5b813562001224816200138d565b600080600080600060a08688031215620013ee57600080fd5b8535620013fb816200138d565b945060208601356200140d816200138d565b935060408601356200141f816200138d565b9250606086013562001431816200138d565b9150608086013562001443816200138d565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b03811182821017156200148d576200148d62001451565b60405290565b60006001600160401b0380841115620014b057620014b062001451565b604051601f8501601f19908116603f01168101908282118183101715620014db57620014db62001451565b81604052809350858152868686011115620014f557600080fd5b858560208301376000602087830101525050509392505050565b600080604083850312156200152357600080fd5b823562001530816200138d565b915060208301356001600160401b038111156200154c57600080fd5b8301601f810185136200155e57600080fd5b6200156f8582356020840162001493565b9150509250929050565b80358015158114620013b057600080fd5b600080604083850312156200159e57600080fd5b8235620015ab816200138d565b9150620015bb6020840162001579565b90509250929050565b60008060408385031215620015d857600080fd5b8235620015e5816200138d565b946020939093013593505050565b600082601f8301126200160557600080fd5b620012248383356020850162001493565b6000604082840312156200162957600080fd5b604080519081016001600160401b0380821183831017156200164f576200164f62001451565b816040528293508435835260208501359150808211156200166f57600080fd5b506200167e85828601620015f3565b6020830152505092915050565b6000602082840312156200169e57600080fd5b81356001600160401b0380821115620016b657600080fd5b908301906101808286031215620016cc57600080fd5b620016d662001467565b620016e183620013a3565b8152620016f160208401620013a3565b60208201526040830135604082015260608301356060820152608083013560808201526200172260a08401620013a3565b60a08201526200173560c08401620013a3565b60c082015260e0830135828111156200174d57600080fd5b6200175b8782860162001616565b60e08301525061010062001771818501620013a3565b9082015261012083810135838111156200178a57600080fd5b6200179888828701620015f3565b828401525050610140620017ae81850162001579565b908201526101608381013583811115620017c757600080fd5b620017d588828701620015f3565b918301919091525095945050505050565b60005b8381101562001803578181015183820152602001620017e9565b50506000910152565b6000815180845262001826816020860160208601620017e6565b601f01601f19169290920160200192915050565b6020815260006200122460208301846200180c565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602c908201526000805160206200200f83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206200200f83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156200192657600080fd5b815162001224816200138d565b6000600182016200195457634e487b7160e01b600052601160045260246000fd5b5060010190565b8051825260006020820151604060208501526200132960408501826200180c565b60808152620019906080820186516200136c565b60006020860151620019a660a08401826200136c565b50604086015160c0830152606086015160e08301526080860151610100818185015260a08801519150610120620019e0818601846200136c565b60c08901519250610140620019f8818701856200136c565b60e08a01519350610180610160818189015262001a1a6102008901876200195b565b948c015194955062001a2f888301866200136c565b838c01519450607f19935083888703016101a089015262001a5186866200180c565b9550828c0151945062001a696101c089018615159052565b808c0151945050505080858403016101e08601525062001a8a82826200180c565b9250505062001a9d60208301866200136c565b62001aac60408301856200136c565b62001abb60608301846200136c565b95945050505050565b6001600160a01b038316815260406020820181905260009062001329908301846200180c565b60006020828403121562001afd57600080fd5b5051919050565b6000825162001b18818460208701620017e6565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212204fe6c3c3dccfaea0fd10fdd343631403db3c1555c6576ad816deaaa45c9f926764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656446756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9da26469706673582212201968bc98a73c2287ac478184f176b078b77c47f2cfec44709683d331d1305eae64736f6c63430008130033","sourceMap":"433:976:110:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;753:40:109;;;;;;;;;;-1:-1:-1;753:40:109;;;;-1:-1:-1;;;;;753:40:109;;;;;;;;;;:::i;:::-;;;;;;;;4800:249;;;;;;;;;;-1:-1:-1;4800:249:109;;;;;:::i;:::-;;:::i;:::-;;;1004:25:142;;;992:2;977:18;4800:249:109;858:177:142;2258:780:109;;;;;;;;;;-1:-1:-1;2258:780:109;;;;;:::i;:::-;;:::i;:::-;;1996:118;;;;;;;;;;-1:-1:-1;1996:118:109;;;;;:::i;:::-;;:::i;3143:195:64:-;;;;;;;;;;-1:-1:-1;3143:195:64;;;;;:::i;:::-;;:::i;3657:220::-;;;;;;:::i;:::-;;:::i;2762:131::-;;;;;;;;;;;;;:::i;4436:208:109:-;;;;;;;;;;-1:-1:-1;4436:208:109;;;;;:::i;:::-;;:::i;799:31::-;;;;;;;;;;-1:-1:-1;799:31:109;;;;-1:-1:-1;;;;;799:31:109;;;491:50:110;;;;;;;;;;;;;:::i;1854:136:109:-;;;;;;;;;;-1:-1:-1;1854:136:109;;;;;:::i;:::-;;:::i;2085:101:45:-;;;;;;;;;;;;;:::i;836:38:109:-;;;;;;;;;;-1:-1:-1;836:38:109;;;;-1:-1:-1;;;;;836:38:109;;;3863:222;;;;;;;;;;-1:-1:-1;3863:222:109;;;;;:::i;:::-;;:::i;525:604:105:-;;;;;;;;;;;;;:::i;4091:115:109:-;;;;;;;;;;-1:-1:-1;4181:18:109;;-1:-1:-1;;;;;4181:18:109;4091:115;;632:20;;;;;;;;;;;;;;;;2120:132;;;;;;;;;;-1:-1:-1;2120:132:109;;;;;:::i;:::-;;:::i;4212:218::-;;;;;;;;;;-1:-1:-1;4212:218:109;;;;;:::i;:::-;;:::i;714:33::-;;;;;;;;;;-1:-1:-1;714:33:109;;;;-1:-1:-1;;;;;714:33:109;;;547:860:110;;;;;;;;;;-1:-1:-1;547:860:110;;;;;:::i;:::-;;:::i;404:115:105:-;;;;;;;;;;-1:-1:-1;404:115:105;;;;;:::i;:::-;;:::i;2335:198:45:-;;;;;;;;;;-1:-1:-1;2335:198:45;;;;;:::i;:::-;;:::i;4650:144:109:-;;;;;;;;;;-1:-1:-1;4650:144:109;;;;;:::i;:::-;-1:-1:-1;;;;;4754:27:109;4731:4;4754:27;;;:15;:27;;;;;:33;;;;;;4650:144;;;;7207:14:142;;7200:22;7182:41;;7170:2;7155:18;4650:144:109;7042:187:142;588:38:109;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;588:38:109;;;;;;;;;;;;:::i;4800:249::-;-1:-1:-1;;;;;4899:27:109;;4875:7;4899:27;;;:15;:27;;;;;:33;;;;;4894:100;;4972:10;4955:28;;-1:-1:-1;;;4955:28:109;;;;;;;;:::i;:::-;;;;;;;;4894:100;-1:-1:-1;;;;;;5011:27:109;;;;;:15;:27;;;;;:31;;4800:249::o;2258:780::-;3279:19:47;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:47;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;;3388:44;3426:4;3388:29;:44::i;:::-;3387:45;:66;;;;-1:-1:-1;3436:12:47;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:47;;;;;;;:::i;:::-;3536:12;:16;;-1:-1:-1;;3536:16:47;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:47;;;;;3562:65;2495:24:109::1;2512:6;2495:16;:24::i;:::-;2537:1;2529:5;:9:::0;2548:39:::1;2567:19:::0;2548:18:::1;:39::i;:::-;2597:46;2616:26;2597:18;:46::i;:::-;2653:44;2672:24;2653:18;:44::i;:::-;2707:18;:40:::0;;-1:-1:-1;;;;;2707:40:109;;::::1;-1:-1:-1::0;;;;;;2707:40:109;;::::1;;::::0;;;2757:25:::1;:54:::0;;;;::::1;::::0;;::::1;;::::0;;2821:16:::1;:36:::0;;;;::::1;::::0;;::::1;;::::0;;2867:23:::1;:50:::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;2932:35:::1;::::0;-1:-1:-1;;;;;;;;;;;2932:35:109;::::1;::::0;2728:19;;2932:35:::1;:::i;:::-;;;;;;;;3651:14:47::0;3647:99;;;3697:5;3681:21;;-1:-1:-1;;3681:21:47;;;3721:14;;-1:-1:-1;8557:36:142;;-1:-1:-1;;;;;;;;;;;3721:14:47;8545:2:142;8530:18;3721:14:47;;;;;;;3647:99;3269:483;2258:780:109;;;;;:::o;1996:118::-;1355:13:45;:11;:13::i;:::-;2080:16:109::1;:27:::0;;-1:-1:-1;;;;;;2080:27:109::1;-1:-1:-1::0;;;;;2080:27:109;;;::::1;::::0;;;::::1;::::0;;1996:118::o;3143:195:64:-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3224:36:::1;3242:17;3224;:36::i;:::-;3311:12;::::0;;3321:1:::1;3311:12:::0;;;::::1;::::0;::::1;::::0;;;3270:61:::1;::::0;3292:17;;3311:12;3270:21:::1;:61::i;:::-;3143:195:::0;:::o;3657:220::-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3772:36:::1;3790:17;3772;:36::i;:::-;3818:52;3840:17;3859:4;3865;3818:21;:52::i;:::-;3657:220:::0;;:::o;2762:131::-;2840:7;2080:4;-1:-1:-1;;;;;2089:6:64;2072:23;;2064:92;;;;-1:-1:-1;;;2064:92:64;;9632:2:142;2064:92:64;;;9614:21:142;9671:2;9651:18;;;9644:30;9710:34;9690:18;;;9683:62;-1:-1:-1;;;9761:18:142;;;9754:54;9825:19;;2064:92:64;9430:420:142;2064:92:64;-1:-1:-1;;;;;;;;;;;;2762:131:64;:::o;4436:208:109:-;1355:13:45;:11;:13::i;:::-;-1:-1:-1;;;;;4536:27:109;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:33:::1;;:44:::0;;-1:-1:-1;;4536:44:109::1;::::0;::::1;;::::0;;::::1;::::0;;;4595:42;;10023:51:142;;;10090:18;;;10083:50;4595:42:109::1;::::0;9996:18:142;4595:42:109::1;;;;;;;;4436:208:::0;;:::o;491:50:110:-;4882:13:47;;536:1:110;;4882:13:47;;;;;4881:14;:40;;;;-1:-1:-1;4899:12:47;;:22;;;;:12;;:22;4881:40;4873:99;;;;-1:-1:-1;;;4873:99:47;;;;;;;:::i;:::-;4982:12;:22;;-1:-1:-1;;5014:20:47;4982:22;;;5014:20;;;4982:22;5014:20;-1:-1:-1;;5055:21:47;;;;5091:20;;8557:36:142;;;-1:-1:-1;;;;;;;;;;;5091:20:47;8545:2:142;8530:18;5091:20:47;;;;;;;;491:50:110;:::o;1854:136:109:-;1355:13:45;:11;:13::i;:::-;1947:25:109::1;:36:::0;;-1:-1:-1;;;;;;1947:36:109::1;-1:-1:-1::0;;;;;1947:36:109;;;::::1;::::0;;;::::1;::::0;;1854:136::o;2085:101:45:-;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;:::-;2085:101::o:0;3863:222:109:-;1355:13:45;:11;:13::i;:::-;3951:35:109::1;3970:15;3951:18;:35::i;:::-;3996:18;:36:::0;;-1:-1:-1;;;;;;3996:36:109::1;-1:-1:-1::0;;;;;3996:36:109;::::1;;::::0;;4047:31:::1;::::0;-1:-1:-1;;;;;;;;;;;4047:31:109;::::1;::::0;3996:36;;4047:31:::1;:::i;525:604:105:-:0;572:7;591:20;614:26;1534:6:45;;-1:-1:-1;;;;;1534:6:45;;1462:85;614:26:105;591:49;;715:12;-1:-1:-1;;;;;707:33:105;;744:1;707:38;703:420;;829:12;525:604;-1:-1:-1;525:604:105:o;703:420::-;895:12;-1:-1:-1;;;;;876:38:105;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;876:40:105;;;;;;;;-1:-1:-1;;876:40:105;;;;;;;;;;;;:::i;:::-;;;872:241;;1086:12;525:604;-1:-1:-1;525:604:105:o;872:241::-;967:6;525:604;-1:-1:-1;;525:604:105:o;2120:132:109:-;1355:13:45;:11;:13::i;:::-;2211:23:109::1;:34:::0;;-1:-1:-1;;;;;;2211:34:109::1;-1:-1:-1::0;;;;;2211:34:109;;;::::1;::::0;;;::::1;::::0;;2120:132::o;4212:218::-;1355:13:45;:11;:13::i;:::-;-1:-1:-1;;;;;4316:27:109;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:49;;;4380:43;;10763:51:142;;;10830:18;;10823:34;;;4380:43:109::1;::::0;10736:18:142;4380:43:109::1;10589:274:142::0;547:860:110;752:5;:7;;689:31;;;752:7;;;:::i;:::-;;;;-1:-1:-1;736:13:110;;;:23;803:4;769:23;;;:39;878:25;;1009:16;;1027:23;;-1:-1:-1;;;;;;;878:25:110;;;;-1:-1:-1;;;958:41:110;736:6;;1009:16;;;;1027:23;1052:7;:5;:7::i;:::-;918:155;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;918:155:110;;;;;;;;;;;;;;-1:-1:-1;;;;;918:155:110;-1:-1:-1;;;;;;918:155:110;;;;;;;;;;840:243;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1242:43:110;;1094:39;1242:43;;;:15;:43;;;;;;;1294:4;1242:49;;;:56;;-1:-1:-1;;1242:56:110;;;;;;1313:44;819:264;;-1:-1:-1;819:264:110;;1313:44;;;;819:264;;1313:44;:::i;:::-;;;;;;;;1382:17;547:860;-1:-1:-1;;;547:860:110:o;404:115:105:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;13927:2:142;5366:69:47;;;13909:21:142;13966:2;13946:18;;;13939:30;14005:34;13985:18;;;13978:62;-1:-1:-1;;;14056:18:142;;;14049:41;14107:19;;5366:69:47;13725:407:142;5366:69:47;480:32:105::1;499:12;480:18;:32::i;2335:198:45:-:0;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:45;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:45;;14339:2:142;2415:73:45::1;::::0;::::1;14321:21:142::0;14378:2;14358:18;;;14351:30;14417:34;14397:18;;;14390:62;-1:-1:-1;;;14468:18:142;;;14461:36;14514:19;;2415:73:45::1;14137:402:142::0;1423:320:50;-1:-1:-1;;;;;1713:19:50;;:23;;;1423:320::o;1707:141:109:-;-1:-1:-1;;;;;1789:22:109;;1785:56;;1820:21;;-1:-1:-1;;;1820:21:109;;;;;;;;;;;1620:130:45;965:10:51;1683:7:45;:5;:7::i;:::-;-1:-1:-1;;;;;1683:23:45;;1675:68;;;;-1:-1:-1;;;1675:68:45;;14746:2:142;1675:68:45;;;14728:21:142;;;14765:18;;;14758:30;14824:34;14804:18;;;14797:62;14876:18;;1675:68:45;14544:356:142;1175:140:60;-1:-1:-1;;;;;;;;;;;1254:54:60;-1:-1:-1;;;;;1254:54:60;;1175:140::o;1135:169:105:-;1219:10;1208:7;:5;:7::i;:::-;-1:-1:-1;;;;;1208:21:105;;1204:94;;1267:10;1279:7;:5;:7::i;:::-;1252:35;;-1:-1:-1;;;1252:35:105;;-1:-1:-1;;;;;15135:15:142;;;1252:35:105;;;15117:34:142;15187:15;;15167:18;;;15160:43;15052:18;;1252:35:105;14905:304:142;2494:922:60;689:66;2910:48;;;2906:504;;;2974:37;2993:17;2974:18;:37::i;:::-;2494:922;;;:::o;2906:504::-;3064:17;-1:-1:-1;;;;;3046:50:60;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3046:52:60;;;;;;;;-1:-1:-1;;3046:52:60;;;;;;;;;;;;:::i;:::-;;;3042:291;;3262:56;;-1:-1:-1;;;3262:56:60;;15605:2:142;3262:56:60;;;15587:21:142;15644:2;15624:18;;;15617:30;15683:34;15663:18;;;15656:62;-1:-1:-1;;;15734:18:142;;;15727:44;15788:19;;3262:56:60;15403:410:142;3042:291:60;-1:-1:-1;;;;;;;;;;;3148:28:60;;3140:82;;;;-1:-1:-1;;;3140:82:60;;16020:2:142;3140:82:60;;;16002:21:142;16059:2;16039:18;;;16032:30;16098:34;16078:18;;;16071:62;-1:-1:-1;;;16149:18:142;;;16142:39;16198:19;;3140:82:60;15818:405:142;3140:82:60;3099:138;3346:53;3364:17;3383:4;3389:9;3346:17;:53::i;2687:187:45:-;2779:6;;;-1:-1:-1;;;;;2795:17:45;;;-1:-1:-1;;;;;;2795:17:45;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;1406:259:60:-;1487:37;1506:17;1487:18;:37::i;:::-;1479:95;;;;-1:-1:-1;;;1479:95:60;;16430:2:142;1479:95:60;;;16412:21:142;16469:2;16449:18;;;16442:30;16508:34;16488:18;;;16481:62;-1:-1:-1;;;16559:18:142;;;16552:43;16612:19;;1479:95:60;16228:409:142;1479:95:60;-1:-1:-1;;;;;;;;;;;1584:74:60;;-1:-1:-1;;;;;;1584:74:60;-1:-1:-1;;;;;1584:74:60;;;;;;;;;;1406:259::o;2057:265::-;2165:29;2176:17;2165:10;:29::i;:::-;2222:1;2208:4;:11;:15;:28;;;;2227:9;2208:28;2204:112;;;2252:53;2281:17;2300:4;2252:28;:53::i;:::-;;2057:265;;;:::o;1771:152::-;1837:37;1856:17;1837:18;:37::i;:::-;1889:27;;-1:-1:-1;;;;;1889:27:60;;;;;;;;1771:152;:::o;6674:198:76:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6781:84;6674:198;-1:-1:-1;;;6674:198:76:o;7058:325::-;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:76;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:76:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;8121:18;8132:6;8121:10;:18::i;:::-;8113:60;;;;-1:-1:-1;;;8113:60:76;;17136:2:142;8113:60:76;;;17118:21:142;17175:2;17155:18;;;17148:30;17214:31;17194:18;;;17187:59;17263:18;;8113:60:76;16934:353:142;8113:60:76;-1:-1:-1;8208:10:76;8201:17;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;:::-;7671:628;;;;;;:::o;8821:540::-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:76;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;:::o;14:104:142:-;-1:-1:-1;;;;;80:31:142;68:44;;14:104::o;123:203::-;-1:-1:-1;;;;;287:32:142;;;;269:51;;257:2;242:18;;123:203::o;331:131::-;-1:-1:-1;;;;;406:31:142;;396:42;;386:70;;452:1;449;442:12;467:134;535:20;;564:31;535:20;564:31;:::i;:::-;467:134;;;:::o;606:247::-;665:6;718:2;706:9;697:7;693:23;689:32;686:52;;;734:1;731;724:12;686:52;773:9;760:23;792:31;817:5;792:31;:::i;1040:813::-;1135:6;1143;1151;1159;1167;1220:3;1208:9;1199:7;1195:23;1191:33;1188:53;;;1237:1;1234;1227:12;1188:53;1276:9;1263:23;1295:31;1320:5;1295:31;:::i;:::-;1345:5;-1:-1:-1;1402:2:142;1387:18;;1374:32;1415:33;1374:32;1415:33;:::i;:::-;1467:7;-1:-1:-1;1526:2:142;1511:18;;1498:32;1539:33;1498:32;1539:33;:::i;:::-;1591:7;-1:-1:-1;1650:2:142;1635:18;;1622:32;1663:33;1622:32;1663:33;:::i;:::-;1715:7;-1:-1:-1;1774:3:142;1759:19;;1746:33;1788;1746;1788;:::i;:::-;1840:7;1830:17;;;1040:813;;;;;;;;:::o;1858:127::-;1919:10;1914:3;1910:20;1907:1;1900:31;1950:4;1947:1;1940:15;1974:4;1971:1;1964:15;1990:250;2057:2;2051:9;2099:6;2087:19;;-1:-1:-1;;;;;2121:34:142;;2157:22;;;2118:62;2115:88;;;2183:18;;:::i;:::-;2219:2;2212:22;1990:250;:::o;2245:631::-;2309:5;-1:-1:-1;;;;;2369:14:142;;;2366:40;;;2386:18;;:::i;:::-;2461:2;2455:9;2429:2;2515:15;;-1:-1:-1;;2511:24:142;;;2537:2;2507:33;2503:42;2491:55;;;2561:18;;;2581:22;;;2558:46;2555:72;;;2607:18;;:::i;:::-;2647:10;2643:2;2636:22;2676:6;2667:15;;2706:6;2698;2691:22;2746:3;2737:6;2732:3;2728:16;2725:25;2722:45;;;2763:1;2760;2753:12;2722:45;2813:6;2808:3;2801:4;2793:6;2789:17;2776:44;2868:1;2861:4;2852:6;2844;2840:19;2836:30;2829:41;;;;2245:631;;;;;:::o;2881:584::-;2958:6;2966;3019:2;3007:9;2998:7;2994:23;2990:32;2987:52;;;3035:1;3032;3025:12;2987:52;3074:9;3061:23;3093:31;3118:5;3093:31;:::i;:::-;3143:5;-1:-1:-1;3199:2:142;3184:18;;3171:32;-1:-1:-1;;;;;3215:30:142;;3212:50;;;3258:1;3255;3248:12;3212:50;3281:22;;3334:4;3326:13;;3322:27;-1:-1:-1;3312:55:142;;3363:1;3360;3353:12;3312:55;3386:73;3451:7;3446:2;3433:16;3428:2;3424;3420:11;3386:73;:::i;:::-;3376:83;;;2881:584;;;;;:::o;3652:160::-;3717:20;;3773:13;;3766:21;3756:32;;3746:60;;3802:1;3799;3792:12;3817:315;3882:6;3890;3943:2;3931:9;3922:7;3918:23;3914:32;3911:52;;;3959:1;3956;3949:12;3911:52;3998:9;3985:23;4017:31;4042:5;4017:31;:::i;:::-;4067:5;-1:-1:-1;4091:35:142;4122:2;4107:18;;4091:35;:::i;:::-;4081:45;;3817:315;;;;;:::o;4137:::-;4205:6;4213;4266:2;4254:9;4245:7;4241:23;4237:32;4234:52;;;4282:1;4279;4272:12;4234:52;4321:9;4308:23;4340:31;4365:5;4340:31;:::i;:::-;4390:5;4442:2;4427:18;;;;4414:32;;-1:-1:-1;;;4137:315:142:o;4457:221::-;4500:5;4553:3;4546:4;4538:6;4534:17;4530:27;4520:55;;4571:1;4568;4561:12;4520:55;4593:79;4668:3;4659:6;4646:20;4639:4;4631:6;4627:17;4593:79;:::i;4683:610::-;4738:5;4786:4;4774:9;4769:3;4765:19;4761:30;4758:50;;;4804:1;4801;4794:12;4758:50;4837:4;4831:11;;;4869:17;;-1:-1:-1;;;;;4938:18:142;;;4958:22;;;4935:46;4932:72;;;4984:18;;:::i;:::-;5026:10;5020:4;5013:24;5055:6;5046:15;;5098:9;5085:23;5077:6;5070:39;5160:2;5149:9;5145:18;5132:32;5118:46;;5187:2;5179:6;5176:14;5173:34;;;5203:1;5200;5193:12;5173:34;;5240:46;5282:3;5273:6;5262:9;5258:22;5240:46;:::i;:::-;5235:2;5227:6;5223:15;5216:71;;;4683:610;;;;:::o;5298:1643::-;5413:6;5466:2;5454:9;5445:7;5441:23;5437:32;5434:52;;;5482:1;5479;5472:12;5434:52;5509:23;;-1:-1:-1;;;;;5581:14:142;;;5578:34;;;5608:1;5605;5598:12;5578:34;5631:22;;;;5687:6;5669:16;;;5665:29;5662:49;;;5707:1;5704;5697:12;5662:49;5733:17;;:::i;:::-;5773:22;5792:2;5773:22;:::i;:::-;5766:5;5759:37;5828:31;5855:2;5851;5847:11;5828:31;:::i;:::-;5823:2;5816:5;5812:14;5805:55;5913:2;5909;5905:11;5892:25;5887:2;5880:5;5876:14;5869:49;5971:2;5967;5963:11;5950:25;5945:2;5938:5;5934:14;5927:49;6030:3;6026:2;6022:12;6009:26;6003:3;5996:5;5992:15;5985:51;6069:32;6096:3;6092:2;6088:12;6069:32;:::i;:::-;6063:3;6056:5;6052:15;6045:57;6135:32;6162:3;6158:2;6154:12;6135:32;:::i;:::-;6129:3;6122:5;6118:15;6111:57;6214:3;6210:2;6206:12;6193:26;6244:2;6234:8;6231:16;6228:36;;;6260:1;6257;6250:12;6228:36;6297:54;6343:7;6332:8;6328:2;6324:17;6297:54;:::i;:::-;6291:3;6284:5;6280:15;6273:79;;6371:3;6406:31;6433:2;6429;6425:11;6406:31;:::i;:::-;6390:14;;;6383:55;6457:3;6498:11;;;6485:25;6522:16;;;6519:36;;;6551:1;6548;6541:12;6519:36;6587:45;6624:7;6613:8;6609:2;6605:17;6587:45;:::i;:::-;6582:2;6575:5;6571:14;6564:69;;;6652:3;6687:28;6711:2;6707;6703:11;6687:28;:::i;:::-;6671:14;;;6664:52;6735:3;6776:11;;;6763:25;6800:16;;;6797:36;;;6829:1;6826;6819:12;6797:36;6865:45;6902:7;6891:8;6887:2;6883:17;6865:45;:::i;:::-;6849:14;;;6842:69;;;;-1:-1:-1;6853:5:142;5298:1643;-1:-1:-1;;;;;5298:1643:142:o;7234:250::-;7319:1;7329:113;7343:6;7340:1;7337:13;7329:113;;;7419:11;;;7413:18;7400:11;;;7393:39;7365:2;7358:10;7329:113;;;-1:-1:-1;;7476:1:142;7458:16;;7451:27;7234:250::o;7489:271::-;7531:3;7569:5;7563:12;7596:6;7591:3;7584:19;7612:76;7681:6;7674:4;7669:3;7665:14;7658:4;7651:5;7647:16;7612:76;:::i;:::-;7742:2;7721:15;-1:-1:-1;;7717:29:142;7708:39;;;;7749:4;7704:50;;7489:271;-1:-1:-1;;7489:271:142:o;7765:220::-;7914:2;7903:9;7896:21;7877:4;7934:45;7975:2;7964:9;7960:18;7952:6;7934:45;:::i;7990:410::-;8192:2;8174:21;;;8231:2;8211:18;;;8204:30;8270:34;8265:2;8250:18;;8243:62;-1:-1:-1;;;8336:2:142;8321:18;;8314:44;8390:3;8375:19;;7990:410::o;8604:408::-;8806:2;8788:21;;;8845:2;8825:18;;;8818:30;-1:-1:-1;;;;;;;;;;;8879:2:142;8864:18;;8857:62;-1:-1:-1;;;8950:2:142;8935:18;;8928:42;9002:3;8987:19;;8604:408::o;9017:::-;9219:2;9201:21;;;9258:2;9238:18;;;9231:30;-1:-1:-1;;;;;;;;;;;9292:2:142;9277:18;;9270:62;-1:-1:-1;;;9363:2:142;9348:18;;9341:42;9415:3;9400:19;;9017:408::o;10333:251::-;10403:6;10456:2;10444:9;10435:7;10431:23;10427:32;10424:52;;;10472:1;10469;10462:12;10424:52;10504:9;10498:16;10523:31;10548:5;10523:31;:::i;10868:232::-;10907:3;10928:17;;;10925:140;;10987:10;10982:3;10978:20;10975:1;10968:31;11022:4;11019:1;11012:15;11050:4;11047:1;11040:15;10925:140;-1:-1:-1;11092:1:142;11081:13;;10868:232::o;11105:252::-;11192:5;11186:12;11181:3;11174:25;11156:3;11245:4;11238:5;11234:16;11228:23;11283:4;11276;11271:3;11267:14;11260:28;11304:47;11345:4;11340:3;11336:14;11322:12;11304:47;:::i;11362:2038::-;11687:3;11676:9;11669:22;11700:54;11749:3;11738:9;11734:19;11725:6;11719:13;11700:54;:::i;:::-;11650:4;11801;11793:6;11789:17;11783:24;11816:53;11864:3;11853:9;11849:19;11835:12;11816:53;:::i;:::-;;11924:4;11916:6;11912:17;11906:24;11900:3;11889:9;11885:19;11878:53;11986:4;11978:6;11974:17;11968:24;11962:3;11951:9;11947:19;11940:53;12030:3;12022:6;12018:16;12012:23;12054:3;12093:2;12088;12077:9;12073:18;12066:30;12145:3;12137:6;12133:16;12127:23;12105:45;;12169:3;12181:54;12231:2;12220:9;12216:18;12200:14;12181:54;:::i;:::-;12284:3;12276:6;12272:16;12266:23;12244:45;;12308:3;12320:54;12370:2;12359:9;12355:18;12339:14;12320:54;:::i;:::-;12423:3;12415:6;12411:16;12405:23;12383:45;;12447:6;12472:3;12511:2;12506;12495:9;12491:18;12484:30;12537:63;12595:3;12584:9;12580:19;12564:14;12537:63;:::i;:::-;12637:15;;;12631:22;12523:77;;-1:-1:-1;12662:54:142;12697:18;;;12631:22;12662:54;:::i;:::-;12765:2;12757:6;12753:15;12747:22;12725:44;;12792:3;12788:8;12778:18;;12861:2;12849:9;12841:6;12837:22;12833:31;12827:3;12816:9;12812:19;12805:60;12888:41;12922:6;12906:14;12888:41;:::i;:::-;12874:55;;12978:2;12970:6;12966:15;12960:22;12938:44;;12991:52;13038:3;13027:9;13023:19;13007:14;7016:13;7009:21;6997:34;;6946:91;12991:52;13092:2;13084:6;13080:15;13074:22;13052:44;;;;;13161:2;13149:9;13141:6;13137:22;13133:31;13127:3;13116:9;13112:19;13105:60;;13182:41;13216:6;13200:14;13182:41;:::i;:::-;13174:49;;;;13232:48;13274:4;13263:9;13259:20;13251:6;13232:48;:::i;:::-;13289;13331:4;13320:9;13316:20;13308:6;13289:48;:::i;:::-;13346;13388:4;13377:9;13373:20;13365:6;13346:48;:::i;:::-;11362:2038;;;;;;;:::o;13405:315::-;-1:-1:-1;;;;;13580:32:142;;13562:51;;13649:2;13644;13629:18;;13622:30;;;-1:-1:-1;;13669:45:142;;13695:18;;13687:6;13669:45;:::i;15214:184::-;15284:6;15337:2;15325:9;15316:7;15312:23;15308:32;15305:52;;;15353:1;15350;15343:12;15305:52;-1:-1:-1;15376:16:142;;15214:184;-1:-1:-1;15214:184:142:o;16642:287::-;16771:3;16809:6;16803:13;16825:66;16884:6;16879:3;16872:4;16864:6;16860:17;16825:66;:::i;:::-;16907:16;;;;;16642:287;-1:-1:-1;;16642:287:142:o","linkReferences":{},"immutableReferences":{"55572":[{"start":1785,"length":32},{"start":1852,"length":32},{"start":1997,"length":32},{"start":2064,"length":32},{"start":2197,"length":32}]}},"methodIdentifiers":{"VERSION()":"ffa1ad74","collateralVaultTemplate()":"77122d56","createRegistry((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string))":"beb331a3","gardensFeeReceiver()":"b8bed901","getCommunityValidity(address)":"f5016b5e","getGardensFeeReceiver()":"987435be","getProtocolFee(address)":"0a992e0c","initialize(address)":"c4d66de8","initialize(address,address,address,address,address)":"1459457a","initializeV2()":"5cd8a76b","nonce()":"affed0e0","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","registryCommunityTemplate()":"02c1d0b1","renounceOwnership()":"715018a6","setCollateralVaultTemplate(address)":"b0d3713a","setCommunityValidity(address,bool)":"5a2c8ace","setProtocolFee(address,uint256)":"b5b3ca2c","setReceiverAddress(address)":"8279c7db","setRegistryCommunityTemplate(address)":"5decae02","setStrategyTemplate(address)":"1b71f0e4","strategyTemplate()":"5c94e4d2","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"CallerNotOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"CommunityInvalid\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_registryCommunity\",\"type\":\"address\"}],\"name\":\"CommunityCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"CommunityValiditySet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"FeeReceiverSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateralVaultTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"}],\"internalType\":\"struct RegistryCommunityInitializeParamsV0_0\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"createRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_createdRegistryAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getCommunityValidity\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getProtocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_gardensFeeReceiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registryCommunityTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralVaultTemplate\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initializeV2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryCommunityTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setCollateralVaultTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"setCommunityValidity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"setProtocolFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"setReceiverAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setRegistryCommunityTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"template\",\"type\":\"address\"}],\"name\":\"setStrategyTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategyTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"RegistryFactoryV0_0\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol\":\"RegistryFactoryV0_1\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293\",\"dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0xc3aed28a3fec8dcc2e95c8569aa2c4323897a1685c63746822956fe995eddf28\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c4126fea7a0d30c76aab94605930ed01c7e53df2f4a7bba4773c097904d5eb39\",\"dweb:/ipfs/QmNsDu9G5JKCXdTs1HmEyVcR3S4DhuiZRt2bEPVNYGckgw\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol\":{\"keccak256\":\"0x7ac113b4d9b37166aa2453c1bdbb04db3aa4a2e8445b947b36034a59ea2d7290\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://74a5dfd911f0579d4c2cf49669e0b1e06c88f3764cca83cf95579c4db671de40\",\"dweb:/ipfs/QmQm2LGi4KLV7yPY3sMbD44n7crAuGQwp6fJ8a8C5WQBYa\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x6b05f27573e30362ec808b4d79f8156550a8dd5090b107b46928ab8d87be3c87\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://134753f1a9a463e4193ffa2b2f6e32813b7a3d7603ddacaedf0f65a6a72c864a\",\"dweb:/ipfs/QmZnQa6a3aFUvxdT1yaj72DBQUShfq5okHshhHwGv85Mdq\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol\":{\"keccak256\":\"0x30e941996ee5d85123b7287e4c56fb642644624fcd7bd54ec5cc6d9c35929659\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d05002caba8d60e778bd4e27da3f3e93e8ecc33814902e8bad2b3d1eb65027b0\",\"dweb:/ipfs/QmZYjLmM48816YfFPXNxf3XwjJ3DLQ58mSPP8hRDBAnNtQ\"]},\"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol\":{\"keccak256\":\"0xe130342ecd3a0023a97611845108dd8f7411a4b18dfe8bccc7d880b716e94932\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://be21850b019ca2fd1a2da4474822621b3471d1def2f78599ffac20d94c8782ff\",\"dweb:/ipfs/QmPA536ZAYTcqBdyh3AxafpKM5Rx5C97uNP7n5dXKZqNvM\"]},\"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol\":{\"keccak256\":\"0xdb79ed87c90e629ba88f13022047f2590782276705e858406986acd67c76288c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://be55fb3715adc1f2c681d236fa0e3ea1ea5c1ccf931a9e29ea9ff2bf3a59f383\",\"dweb:/ipfs/QmbFSkxwzwUWxJRDNiDdnWx54VRSXBS4UAkchQ89NkZktG\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"type":"error","name":"CallerNotOwner"},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"type":"error","name":"CommunityInvalid"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"_registryCommunity","type":"address","indexed":false}],"type":"event","name":"CommunityCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"bool","name":"_isValid","type":"bool","indexed":false}],"type":"event","name":"CommunityValiditySet","anonymous":false},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address","indexed":false}],"type":"event","name":"FeeReceiverSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256","indexed":false}],"type":"event","name":"ProtocolFeeSet","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateralVaultTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"struct RegistryCommunityInitializeParamsV0_0","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createRegistry","outputs":[{"internalType":"address","name":"_createdRegistryAddress","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getCommunityValidity","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getGardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getProtocolFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_gardensFeeReceiver","type":"address"},{"internalType":"address","name":"_registryCommunityTemplate","type":"address"},{"internalType":"address","name":"_strategyTemplate","type":"address"},{"internalType":"address","name":"_collateralVaultTemplate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"initializeV2"},{"inputs":[],"stateMutability":"view","type":"function","name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryCommunityTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCollateralVaultTemplate"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"bool","name":"_isValid","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityValidity"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setProtocolFee"},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setReceiverAddress"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRegistryCommunityTemplate"},{"inputs":[{"internalType":"address","name":"template","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setStrategyTemplate"},{"inputs":[],"stateMutability":"view","type":"function","name":"strategyTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol":"RegistryFactoryV0_1"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2","urls":["bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293","dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0xc3aed28a3fec8dcc2e95c8569aa2c4323897a1685c63746822956fe995eddf28","urls":["bzz-raw://c4126fea7a0d30c76aab94605930ed01c7e53df2f4a7bba4773c097904d5eb39","dweb:/ipfs/QmNsDu9G5JKCXdTs1HmEyVcR3S4DhuiZRt2bEPVNYGckgw"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol":{"keccak256":"0x7ac113b4d9b37166aa2453c1bdbb04db3aa4a2e8445b947b36034a59ea2d7290","urls":["bzz-raw://74a5dfd911f0579d4c2cf49669e0b1e06c88f3764cca83cf95579c4db671de40","dweb:/ipfs/QmQm2LGi4KLV7yPY3sMbD44n7crAuGQwp6fJ8a8C5WQBYa"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0x6b05f27573e30362ec808b4d79f8156550a8dd5090b107b46928ab8d87be3c87","urls":["bzz-raw://134753f1a9a463e4193ffa2b2f6e32813b7a3d7603ddacaedf0f65a6a72c864a","dweb:/ipfs/QmZnQa6a3aFUvxdT1yaj72DBQUShfq5okHshhHwGv85Mdq"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol":{"keccak256":"0x30e941996ee5d85123b7287e4c56fb642644624fcd7bd54ec5cc6d9c35929659","urls":["bzz-raw://d05002caba8d60e778bd4e27da3f3e93e8ecc33814902e8bad2b3d1eb65027b0","dweb:/ipfs/QmZYjLmM48816YfFPXNxf3XwjJ3DLQ58mSPP8hRDBAnNtQ"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol":{"keccak256":"0xe130342ecd3a0023a97611845108dd8f7411a4b18dfe8bccc7d880b716e94932","urls":["bzz-raw://be21850b019ca2fd1a2da4474822621b3471d1def2f78599ffac20d94c8782ff","dweb:/ipfs/QmPA536ZAYTcqBdyh3AxafpKM5Rx5C97uNP7n5dXKZqNvM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol":{"keccak256":"0xdb79ed87c90e629ba88f13022047f2590782276705e858406986acd67c76288c","urls":["bzz-raw://be55fb3715adc1f2c681d236fa0e3ea1ea5c1ccf931a9e29ea9ff2bf3a59f383","dweb:/ipfs/QmbFSkxwzwUWxJRDNiDdnWx54VRSXBS4UAkchQ89NkZktG"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":52990,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52993,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53695,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52782,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52902,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":72953,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"nonce","offset":0,"slot":"101","type":"t_uint256"},{"astId":72958,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"communityToInfo","offset":0,"slot":"102","type":"t_mapping(t_address,t_struct(CommunityInfo)72945_storage)"},{"astId":72960,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"gardensFeeReceiver","offset":0,"slot":"103","type":"t_address"},{"astId":72962,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"registryCommunityTemplate","offset":0,"slot":"104","type":"t_address"},{"astId":72964,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"strategyTemplate","offset":0,"slot":"105","type":"t_address"},{"astId":72966,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"collateralVaultTemplate","offset":0,"slot":"106","type":"t_address"},{"astId":73298,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"__gap","offset":0,"slot":"107","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_struct(CommunityInfo)72945_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct CommunityInfo)","numberOfBytes":"32","value":"t_struct(CommunityInfo)72945_storage"},"t_struct(CommunityInfo)72945_storage":{"encoding":"inplace","label":"struct CommunityInfo","numberOfBytes":"64","members":[{"astId":72942,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"fee","offset":0,"slot":"0","type":"t_uint256"},{"astId":72944,"contract":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"valid","offset":0,"slot":"1","type":"t_bool"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol","id":73405,"exportedSymbols":{"ERC1967Proxy":[55021],"RegistryCommunityInitializeParamsV0_0":[70795],"RegistryCommunityV0_0":[72700],"RegistryCommunityV0_1":[72929],"RegistryFactoryV0_0":[73299],"RegistryFactoryV0_1":[73404]},"nodeType":"SourceUnit","src":"42:1368:110","nodes":[{"id":73301,"nodeType":"PragmaDirective","src":"42:24:110","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":73304,"nodeType":"ImportDirective","src":"68:93:110","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol","file":"../RegistryFactory/RegistryFactoryV0_0.sol","nameLocation":"-1:-1:-1","scope":73405,"sourceUnit":73300,"symbolAliases":[{"foreign":{"id":73302,"name":"RegistryFactoryV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73299,"src":"76:19:110","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":73303,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55021,"src":"97:12:110","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73307,"nodeType":"ImportDirective","src":"162:134:110","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol","file":"../RegistryCommunity/RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":73405,"sourceUnit":72701,"symbolAliases":[{"foreign":{"id":73305,"name":"RegistryCommunityInitializeParamsV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70795,"src":"175:37:110","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":73306,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72700,"src":"218:21:110","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73309,"nodeType":"ImportDirective","src":"297:85:110","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol","file":"../RegistryCommunity/RegistryCommunityV0_1.sol","nameLocation":"-1:-1:-1","scope":73405,"sourceUnit":72930,"symbolAliases":[{"foreign":{"id":73308,"name":"RegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72929,"src":"305:21:110","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73404,"nodeType":"ContractDefinition","src":"433:976:110","nodes":[{"id":73319,"nodeType":"FunctionDefinition","src":"491:50:110","nodes":[],"body":{"id":73318,"nodeType":"Block","src":"539:2:110","nodes":[],"statements":[]},"functionSelector":"5cd8a76b","implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"32","id":73315,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"536:1:110","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"id":73316,"kind":"modifierInvocation","modifierName":{"id":73314,"name":"reinitializer","nameLocations":["522:13:110"],"nodeType":"IdentifierPath","referencedDeclaration":53087,"src":"522:13:110"},"nodeType":"ModifierInvocation","src":"522:16:110"}],"name":"initializeV2","nameLocation":"500:12:110","parameters":{"id":73313,"nodeType":"ParameterList","parameters":[],"src":"512:2:110"},"returnParameters":{"id":73317,"nodeType":"ParameterList","parameters":[],"src":"539:0:110"},"scope":73404,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":73403,"nodeType":"FunctionDefinition","src":"547:860:110","nodes":[],"body":{"id":73402,"nodeType":"Block","src":"726:681:110","nodes":[],"statements":[{"expression":{"id":73333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73328,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73322,"src":"736:6:110","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":73330,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"743:6:110","memberName":"_nonce","nodeType":"MemberAccess","referencedDeclaration":70779,"src":"736:13:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"752:7:110","subExpression":{"id":73331,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72953,"src":"752:5:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"736:23:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73334,"nodeType":"ExpressionStatement","src":"736:23:110"},{"expression":{"id":73342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73335,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73322,"src":"769:6:110","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":73337,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"776:16:110","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":70781,"src":"769:23:110","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":73340,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"803:4:110","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_1_$73404","typeString":"contract RegistryFactoryV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryFactoryV0_1_$73404","typeString":"contract RegistryFactoryV0_1"}],"id":73339,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"795:7:110","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73338,"name":"address","nodeType":"ElementaryTypeName","src":"795:7:110","typeDescriptions":{}}},"id":73341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"795:13:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"769:39:110","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73343,"nodeType":"ExpressionStatement","src":"769:39:110"},{"assignments":[73346],"declarations":[{"constant":false,"id":73346,"mutability":"mutable","name":"proxy","nameLocation":"832:5:110","nodeType":"VariableDeclaration","scope":73402,"src":"819:18:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"},"typeName":{"id":73345,"nodeType":"UserDefinedTypeName","pathNode":{"id":73344,"name":"ERC1967Proxy","nameLocations":["819:12:110"],"nodeType":"IdentifierPath","referencedDeclaration":55021,"src":"819:12:110"},"referencedDeclaration":55021,"src":"819:12:110","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}},"visibility":"internal"}],"id":73366,"initialValue":{"arguments":[{"arguments":[{"id":73352,"name":"registryCommunityTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72962,"src":"878:25:110","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73351,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"870:7:110","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73350,"name":"address","nodeType":"ElementaryTypeName","src":"870:7:110","typeDescriptions":{}}},"id":73353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"870:34:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":73356,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72700,"src":"958:21:110","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$72700_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":73357,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"980:10:110","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":71485,"src":"958:32:110","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr_$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function RegistryCommunityV0_0.initialize(struct RegistryCommunityInitializeParamsV0_0 memory,address,address,address)"}},"id":73358,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"991:8:110","memberName":"selector","nodeType":"MemberAccess","src":"958:41:110","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":73359,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73322,"src":"1001:6:110","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},{"id":73360,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72964,"src":"1009:16:110","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73361,"name":"collateralVaultTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72966,"src":"1027:23:110","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":73362,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[70689],"referencedDeclaration":70689,"src":"1052:5:110","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":73363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1052:7:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":73354,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"918:3:110","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":73355,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"922:18:110","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"918:22:110","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":73364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"918:155:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":73349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"840:16:110","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55021_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":73348,"nodeType":"UserDefinedTypeName","pathNode":{"id":73347,"name":"ERC1967Proxy","nameLocations":["844:12:110"],"nodeType":"IdentifierPath","referencedDeclaration":55021,"src":"844:12:110"},"referencedDeclaration":55021,"src":"844:12:110","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}},"id":73365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"840:243:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}},"nodeType":"VariableDeclarationStatement","src":"819:264:110"},{"assignments":[73369],"declarations":[{"constant":false,"id":73369,"mutability":"mutable","name":"registryCommunity","nameLocation":"1116:17:110","nodeType":"VariableDeclaration","scope":73402,"src":"1094:39:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"},"typeName":{"id":73368,"nodeType":"UserDefinedTypeName","pathNode":{"id":73367,"name":"RegistryCommunityV0_1","nameLocations":["1094:21:110"],"nodeType":"IdentifierPath","referencedDeclaration":72929,"src":"1094:21:110"},"referencedDeclaration":72929,"src":"1094:21:110","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}},"visibility":"internal"}],"id":73379,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":73375,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73346,"src":"1174:5:110","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}],"id":73374,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1166:7:110","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73373,"name":"address","nodeType":"ElementaryTypeName","src":"1166:7:110","typeDescriptions":{}}},"id":73376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1166:14:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73372,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1158:8:110","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":73371,"name":"address","nodeType":"ElementaryTypeName","src":"1158:8:110","stateMutability":"payable","typeDescriptions":{}}},"id":73377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1158:23:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":73370,"name":"RegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72929,"src":"1136:21:110","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_1_$72929_$","typeString":"type(contract RegistryCommunityV0_1)"}},"id":73378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1136:46:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}},"nodeType":"VariableDeclarationStatement","src":"1094:88:110"},{"expression":{"id":73388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":73380,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72958,"src":"1242:15:110","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$72945_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":73385,"indexExpression":{"arguments":[{"id":73383,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73369,"src":"1266:17:110","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}],"id":73382,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1258:7:110","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73381,"name":"address","nodeType":"ElementaryTypeName","src":"1258:7:110","typeDescriptions":{}}},"id":73384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1258:26:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1242:43:110","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$72945_storage","typeString":"struct CommunityInfo storage ref"}},"id":73386,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1286:5:110","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":72944,"src":"1242:49:110","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":73387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1294:4:110","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"1242:56:110","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73389,"nodeType":"ExpressionStatement","src":"1242:56:110"},{"eventCall":{"arguments":[{"arguments":[{"id":73393,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73369,"src":"1338:17:110","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}],"id":73392,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1330:7:110","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73391,"name":"address","nodeType":"ElementaryTypeName","src":"1330:7:110","typeDescriptions":{}}},"id":73394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1330:26:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73390,"name":"CommunityCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72980,"src":"1313:16:110","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":73395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1313:44:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73396,"nodeType":"EmitStatement","src":"1308:49:110"},{"expression":{"arguments":[{"id":73399,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73369,"src":"1382:17:110","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}],"id":73398,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1374:7:110","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73397,"name":"address","nodeType":"ElementaryTypeName","src":"1374:7:110","typeDescriptions":{}}},"id":73400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1374:26:110","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":73327,"id":73401,"nodeType":"Return","src":"1367:33:110"}]},"baseFunctions":[73185],"functionSelector":"beb331a3","implemented":true,"kind":"function","modifiers":[],"name":"createRegistry","nameLocation":"556:14:110","overrides":{"id":73324,"nodeType":"OverrideSpecifier","overrides":[],"src":"663:8:110"},"parameters":{"id":73323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73322,"mutability":"mutable","name":"params","nameLocation":"616:6:110","nodeType":"VariableDeclaration","scope":73403,"src":"571:51:110","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0"},"typeName":{"id":73321,"nodeType":"UserDefinedTypeName","pathNode":{"id":73320,"name":"RegistryCommunityInitializeParamsV0_0","nameLocations":["571:37:110"],"nodeType":"IdentifierPath","referencedDeclaration":70795,"src":"571:37:110"},"referencedDeclaration":70795,"src":"571:37:110","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_storage_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0"}},"visibility":"internal"}],"src":"570:53:110"},"returnParameters":{"id":73327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73326,"mutability":"mutable","name":"_createdRegistryAddress","nameLocation":"697:23:110","nodeType":"VariableDeclaration","scope":73403,"src":"689:31:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73325,"name":"address","nodeType":"ElementaryTypeName","src":"689:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"688:33:110"},"scope":73404,"stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":73311,"name":"RegistryFactoryV0_0","nameLocations":["465:19:110"],"nodeType":"IdentifierPath","referencedDeclaration":73299,"src":"465:19:110"},"id":73312,"nodeType":"InheritanceSpecifier","src":"465:19:110"}],"canonicalName":"RegistryFactoryV0_1","contractDependencies":[55021],"contractKind":"contract","documentation":{"id":73310,"nodeType":"StructuredDocumentation","src":"384:49:110","text":"@custom:oz-upgrades-from RegistryFactoryV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[73404,73299,70711,55672,55325,54974,54984,52903,53696,53152],"name":"RegistryFactoryV0_1","nameLocation":"442:19:110","scope":73405,"usedErrors":[70634,72990,72992]}],"license":"AGPL-3.0-only"},"id":110} \ No newline at end of file diff --git a/pkg/contracts/out/RegistrySetup.sol/RegistrySetup.json b/pkg/contracts/out/RegistrySetup.sol/RegistrySetup.json index 12b6922e3..9ef5196ce 100644 --- a/pkg/contracts/out/RegistrySetup.sol/RegistrySetup.json +++ b/pkg/contracts/out/RegistrySetup.sol/RegistrySetup.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Registry"}],"stateMutability":"view"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x6080604052600c8054600160ff199182168117909255601e8054909116909117905534801561002d57600080fd5b506114aa8061003d6000396000f3fe608060405234801561001057600080fd5b50600436106101ed5760003560e01c8062b1fad7146101f2578063030e4006146102175780630688b1351461021f5780630f166ad414610227578063174eedde1461022d5780631b96dce6146102345780631e7bcb2e1461023c5780631ed7831c146102445780632ade3880146102595780633e5e3c231461026e5780633f7286f4146102765780634bf4ba211461027e578063587c1243146102865780635aff59991461028e57806366d003ac1461029657806366d9a9a01461029e5780636a38dd0a146102b357806370a32944146102bb57806374d9284e1461022d578063759c9a86146102c357806379e62d0d146102cb5780637b103999146102d35780637b2edf32146102e95780637cbe79ed146102f1578063829e423f1461022d57806385226c81146102f95780638c7408c41461022d5780638e0d1a501461030e5780638e3c249314610316578063916a17c61461031e578063a407c67a14610326578063aa3744bd1461032e578063b5508aa914610336578063ba414fa61461033e578063d1e82b5814610356578063d1f2cd881461035e578063d5bee9f514610366578063da4bf0871461036e578063dac4eb1614610376578063e20c9f711461037e578063ef0d790f14610386578063fa7626d41461038e575b600080fd5b6101fa61039b565b6040516001600160a01b0390911681526020015b60405180910390f35b6101fa6103d0565b6101fa610406565b306101fa565b60006101fa565b6101fa610433565b6101fa610464565b61024c610497565b60405161020e9190611121565b6102616104f9565b60405161020e91906111be565b61024c61063b565b61024c61069b565b61024c6106fb565b6101fa61071e565b6101fa610751565b6101fa610784565b6102a66107b0565b60405161020e919061127e565b6101fa610896565b61024c6108c6565b6101fa61095e565b61024c61098d565b601e5461010090046001600160a01b03166101fa565b6101fa6109f5565b6101fa610a28565b610301610a55565b60405161020e9190611331565b6101fa610b25565b6101fa610b52565b6102a6610b85565b61024c610c6b565b6101fa610cd3565b610301610d00565b610346610dd0565b604051901515815260200161020e565b6101fa610e74565b6101fa610ea7565b6101fa610ed8565b6101fa610f06565b6101fa610f36565b61024c610f67565b6101fa610fc7565b601e546103469060ff1681565b60006103cb6040518060400160405280600d81526020016c706f6f6c5f6d616e616765723160981b815250610ff9565b905090565b60006103cb60405180604001604052806013815260200172383937b334b63298afb737ba20a6b2b6b132b960691b815250610ff9565b60006103cb6040518060400160405280600a8152602001693932b1b4b834b2b73a1960b11b815250610ff9565b60006103cb6040518060400160405280600e81526020016d383937b334b632992fb7bbb732b960911b815250610ff9565b60006103cb6040518060400160405280601081526020016f70726f66696c65315f6d656d6265723160801b815250610ff9565b606060168054806020026020016040519081016040528092919081815260200182805480156104ef57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116104d1575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101561063257600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101561061b57838290600052602060002001805461058e90611393565b80601f01602080910402602001604051908101604052809291908181526020018280546105ba90611393565b80156106075780601f106105dc57610100808354040283529160200191610607565b820191906000526020600020905b8154815290600101906020018083116105ea57829003601f168201915b50505050508152602001906001019061056f565b50505050815250508152602001906001019061051d565b50505050905090565b606060188054806020026020016040519081016040528092919081815260200182805480156104ef576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116104d1575050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156104ef576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116104d1575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006103cb6040518060400160405280601081526020016f70726f66696c65325f6d656d6265723160801b815250610ff9565b60006103cb6040518060400160405280601081526020016f726563697069656e744164647265737360801b815250610ff9565b60006103cb604051806040016040528060098152602001681c9958da5c1a595b9d60ba1b815250610ff9565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156106325760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561087e57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116108405790505b505050505081525050815260200190600101906107d4565b60006103cb6040518060400160405280600d81526020016c3837b7b62fb6b0b730b3b2b91960991b815250610ff9565b604080516002808252606080830184529260009291906020830190803683370190505090506108f3610464565b81600081518110610906576109066113cd565b60200260200101906001600160a01b031690816001600160a01b03168152505061092e6109f5565b81600181518110610941576109416113cd565b6001600160a01b0390921660209283029190910190910152919050565b60006103cb6040518060400160405280600c81526020016b1b9bd7dc9958da5c1a595b9d60a21b815250610ff9565b604080516002808252606080830184529260009291906020830190803683370190505090506109ba61039b565b816000815181106109cd576109cd6113cd565b60200260200101906001600160a01b031690816001600160a01b03168152505061092e610896565b60006103cb6040518060400160405280601081526020016f383937b334b63298afb6b2b6b132b91960811b815250610ff9565b60006103cb6040518060400160405280600a81526020016930b63637afb7bbb732b960b11b815250610ff9565b6060601a805480602002602001604051908101604052809291908181526020016000905b82821015610632578382906000526020600020018054610a9890611393565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac490611393565b8015610b115780601f10610ae657610100808354040283529160200191610b11565b820191906000526020600020905b815481529060010190602001808311610af457829003601f168201915b505050505081526020019060010190610a79565b60006103cb6040518060400160405280600a8152602001693837b7b62fb0b236b4b760b11b815250610ff9565b60006103cb6040518060400160405280601081526020016f383937b334b632992fb6b2b6b132b91960811b815250610ff9565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156106325760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610c5357602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610c155790505b50505050508152505081526020019060010190610ba9565b60408051600280825260608083018452926000929190602083019080368337019050509050610c9861071e565b81600081518110610cab57610cab6113cd565b60200260200101906001600160a01b031690816001600160a01b03168152505061092e610b52565b60006103cb6040518060400160405280600a815260200169726563697069656e743160b01b815250610ff9565b60606019805480602002602001604051908101604052809291908181526020016000905b82821015610632578382906000526020600020018054610d4390611393565b80601f0160208091040260200160405190810160405280929190818152602001828054610d6f90611393565b8015610dbc5780601f10610d9157610100808354040283529160200191610dbc565b820191906000526020600020905b815481529060010190602001808311610d9f57829003601f168201915b505050505081526020019060010190610d24565b60085460009060ff1615610de8575060085460ff1690565b604051630667f9d760e41b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190526519985a5b195960d21b602483015260009163667f9d7090604401602060405180830381865afa158015610e49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6d91906113e3565b1415905090565b60006103cb6040518060400160405280601081526020016f3837b7b62fb737ba20a6b0b730b3b2b960811b815250610ff9565b60006103cb6040518060400160405280600e81526020016d383937b334b63298afb7bbb732b960911b815250610ff9565b60006103cb6040518060400160405280600b81526020016a1c985b991bdb4818da185960aa1b815250610ff9565b60006103cb6040518060400160405280600d81526020016c616c6c6f5f747265617375727960981b815250610ff9565b60006103cb6040518060400160405280600e81526020016d3932b3b4b9ba393cafb7bbb732b960911b815250610ff9565b606060158054806020026020016040519081016040528092919081815260200182805480156104ef576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116104d1575050505050905090565b60006103cb60405180604001604052806013815260200172383937b334b632992fb737ba20a6b2b6b132b960691b8152505b60006110048261100b565b5092915050565b6000808260405160200161101f91906113fc565b60408051808303601f190181529082905280516020909101206001625e79b760e01b03198252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa15801561108a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ae9190611418565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c718906110ea9085908790600401611448565b600060405180830381600087803b15801561110457600080fd5b505af1158015611118573d6000803e3d6000fd5b50505050915091565b6020808252825182820181905260009190848201906040850190845b818110156111625783516001600160a01b03168352928401929184019160010161113d565b50909695505050505050565b60005b83811015611189578181015183820152602001611171565b50506000910152565b600081518084526111aa81602086016020860161116e565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101561126e57603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101561125857605f19898503018352611246848651611192565b948e01949350918d019160010161122a565b505050978a0197945050918801916001016111e5565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561132257898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b8083101561130d5783516001600160e01b0319168252928b019260019290920191908b01906112e3565b50978a019795505050918701916001016112a6565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561138657603f19888603018452611374858351611192565b94509285019290850190600101611358565b5092979650505050505050565b600181811c908216806113a757607f821691505b6020821081036113c757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156113f557600080fd5b5051919050565b6000825161140e81846020870161116e565b9190910192915050565b60006020828403121561142a57600080fd5b81516001600160a01b038116811461144157600080fd5b9392505050565b6001600160a01b038316815260406020820181905260009061146c90830184611192565b94935050505056fea2646970667358221220854d8806a48b5c2dda54a6bc208c93833147ddaa7c76ef90089a0f35eb19a79464736f6c63430008130033","sourceMap":"393:304:17:-:0;;;3126:44:22;;;3166:4;-1:-1:-1;;3126:44:22;;;;;;;;1016:26:32;;;;;;;;;;;393:304:17;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101ed5760003560e01c8062b1fad7146101f2578063030e4006146102175780630688b1351461021f5780630f166ad414610227578063174eedde1461022d5780631b96dce6146102345780631e7bcb2e1461023c5780631ed7831c146102445780632ade3880146102595780633e5e3c231461026e5780633f7286f4146102765780634bf4ba211461027e578063587c1243146102865780635aff59991461028e57806366d003ac1461029657806366d9a9a01461029e5780636a38dd0a146102b357806370a32944146102bb57806374d9284e1461022d578063759c9a86146102c357806379e62d0d146102cb5780637b103999146102d35780637b2edf32146102e95780637cbe79ed146102f1578063829e423f1461022d57806385226c81146102f95780638c7408c41461022d5780638e0d1a501461030e5780638e3c249314610316578063916a17c61461031e578063a407c67a14610326578063aa3744bd1461032e578063b5508aa914610336578063ba414fa61461033e578063d1e82b5814610356578063d1f2cd881461035e578063d5bee9f514610366578063da4bf0871461036e578063dac4eb1614610376578063e20c9f711461037e578063ef0d790f14610386578063fa7626d41461038e575b600080fd5b6101fa61039b565b6040516001600160a01b0390911681526020015b60405180910390f35b6101fa6103d0565b6101fa610406565b306101fa565b60006101fa565b6101fa610433565b6101fa610464565b61024c610497565b60405161020e9190611121565b6102616104f9565b60405161020e91906111be565b61024c61063b565b61024c61069b565b61024c6106fb565b6101fa61071e565b6101fa610751565b6101fa610784565b6102a66107b0565b60405161020e919061127e565b6101fa610896565b61024c6108c6565b6101fa61095e565b61024c61098d565b601e5461010090046001600160a01b03166101fa565b6101fa6109f5565b6101fa610a28565b610301610a55565b60405161020e9190611331565b6101fa610b25565b6101fa610b52565b6102a6610b85565b61024c610c6b565b6101fa610cd3565b610301610d00565b610346610dd0565b604051901515815260200161020e565b6101fa610e74565b6101fa610ea7565b6101fa610ed8565b6101fa610f06565b6101fa610f36565b61024c610f67565b6101fa610fc7565b601e546103469060ff1681565b60006103cb6040518060400160405280600d81526020016c706f6f6c5f6d616e616765723160981b815250610ff9565b905090565b60006103cb60405180604001604052806013815260200172383937b334b63298afb737ba20a6b2b6b132b960691b815250610ff9565b60006103cb6040518060400160405280600a8152602001693932b1b4b834b2b73a1960b11b815250610ff9565b60006103cb6040518060400160405280600e81526020016d383937b334b632992fb7bbb732b960911b815250610ff9565b60006103cb6040518060400160405280601081526020016f70726f66696c65315f6d656d6265723160801b815250610ff9565b606060168054806020026020016040519081016040528092919081815260200182805480156104ef57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116104d1575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101561063257600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101561061b57838290600052602060002001805461058e90611393565b80601f01602080910402602001604051908101604052809291908181526020018280546105ba90611393565b80156106075780601f106105dc57610100808354040283529160200191610607565b820191906000526020600020905b8154815290600101906020018083116105ea57829003601f168201915b50505050508152602001906001019061056f565b50505050815250508152602001906001019061051d565b50505050905090565b606060188054806020026020016040519081016040528092919081815260200182805480156104ef576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116104d1575050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156104ef576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116104d1575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006103cb6040518060400160405280601081526020016f70726f66696c65325f6d656d6265723160801b815250610ff9565b60006103cb6040518060400160405280601081526020016f726563697069656e744164647265737360801b815250610ff9565b60006103cb604051806040016040528060098152602001681c9958da5c1a595b9d60ba1b815250610ff9565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156106325760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561087e57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116108405790505b505050505081525050815260200190600101906107d4565b60006103cb6040518060400160405280600d81526020016c3837b7b62fb6b0b730b3b2b91960991b815250610ff9565b604080516002808252606080830184529260009291906020830190803683370190505090506108f3610464565b81600081518110610906576109066113cd565b60200260200101906001600160a01b031690816001600160a01b03168152505061092e6109f5565b81600181518110610941576109416113cd565b6001600160a01b0390921660209283029190910190910152919050565b60006103cb6040518060400160405280600c81526020016b1b9bd7dc9958da5c1a595b9d60a21b815250610ff9565b604080516002808252606080830184529260009291906020830190803683370190505090506109ba61039b565b816000815181106109cd576109cd6113cd565b60200260200101906001600160a01b031690816001600160a01b03168152505061092e610896565b60006103cb6040518060400160405280601081526020016f383937b334b63298afb6b2b6b132b91960811b815250610ff9565b60006103cb6040518060400160405280600a81526020016930b63637afb7bbb732b960b11b815250610ff9565b6060601a805480602002602001604051908101604052809291908181526020016000905b82821015610632578382906000526020600020018054610a9890611393565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac490611393565b8015610b115780601f10610ae657610100808354040283529160200191610b11565b820191906000526020600020905b815481529060010190602001808311610af457829003601f168201915b505050505081526020019060010190610a79565b60006103cb6040518060400160405280600a8152602001693837b7b62fb0b236b4b760b11b815250610ff9565b60006103cb6040518060400160405280601081526020016f383937b334b632992fb6b2b6b132b91960811b815250610ff9565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156106325760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610c5357602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610c155790505b50505050508152505081526020019060010190610ba9565b60408051600280825260608083018452926000929190602083019080368337019050509050610c9861071e565b81600081518110610cab57610cab6113cd565b60200260200101906001600160a01b031690816001600160a01b03168152505061092e610b52565b60006103cb6040518060400160405280600a815260200169726563697069656e743160b01b815250610ff9565b60606019805480602002602001604051908101604052809291908181526020016000905b82821015610632578382906000526020600020018054610d4390611393565b80601f0160208091040260200160405190810160405280929190818152602001828054610d6f90611393565b8015610dbc5780601f10610d9157610100808354040283529160200191610dbc565b820191906000526020600020905b815481529060010190602001808311610d9f57829003601f168201915b505050505081526020019060010190610d24565b60085460009060ff1615610de8575060085460ff1690565b604051630667f9d760e41b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190526519985a5b195960d21b602483015260009163667f9d7090604401602060405180830381865afa158015610e49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6d91906113e3565b1415905090565b60006103cb6040518060400160405280601081526020016f3837b7b62fb737ba20a6b0b730b3b2b960811b815250610ff9565b60006103cb6040518060400160405280600e81526020016d383937b334b63298afb7bbb732b960911b815250610ff9565b60006103cb6040518060400160405280600b81526020016a1c985b991bdb4818da185960aa1b815250610ff9565b60006103cb6040518060400160405280600d81526020016c616c6c6f5f747265617375727960981b815250610ff9565b60006103cb6040518060400160405280600e81526020016d3932b3b4b9ba393cafb7bbb732b960911b815250610ff9565b606060158054806020026020016040519081016040528092919081815260200182805480156104ef576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116104d1575050505050905090565b60006103cb60405180604001604052806013815260200172383937b334b632992fb737ba20a6b2b6b132b960691b8152505b60006110048261100b565b5092915050565b6000808260405160200161101f91906113fc565b60408051808303601f190181529082905280516020909101206001625e79b760e01b03198252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa15801561108a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ae9190611418565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c718906110ea9085908790600401611448565b600060405180830381600087803b15801561110457600080fd5b505af1158015611118573d6000803e3d6000fd5b50505050915091565b6020808252825182820181905260009190848201906040850190845b818110156111625783516001600160a01b03168352928401929184019160010161113d565b50909695505050505050565b60005b83811015611189578181015183820152602001611171565b50506000910152565b600081518084526111aa81602086016020860161116e565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101561126e57603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101561125857605f19898503018352611246848651611192565b948e01949350918d019160010161122a565b505050978a0197945050918801916001016111e5565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561132257898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b8083101561130d5783516001600160e01b0319168252928b019260019290920191908b01906112e3565b50978a019795505050918701916001016112a6565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561138657603f19888603018452611374858351611192565b94509285019290850190600101611358565b5092979650505050505050565b600181811c908216806113a757607f821691505b6020821081036113c757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156113f557600080fd5b5051919050565b6000825161140e81846020870161116e565b9190910192915050565b60006020828403121561142a57600080fd5b81516001600160a01b038116811461144157600080fd5b9392505050565b6001600160a01b038316815260406020820181905260009061146c90830184611192565b94935050505056fea2646970667358221220854d8806a48b5c2dda54a6bc208c93833147ddaa7c76ef90089a0f35eb19a79464736f6c63430008130033","sourceMap":"393:304:17:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:15;;;:::i;:::-;;;-1:-1:-1;;;;;178:32:126;;;160:51;;148:2;133:18;1763:107:15;;;;;;;;2429:119;;;:::i;4045:101::-;;;:::i;226:92::-;306:4;226:92;;905:138;968:7;905:138;;3126:109;;;:::i;2554:113::-;;;:::i;2452:134:25:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;3221:133::-;;;:::i;2922:141::-;;;:::i;1331:118:15:-;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;4152:99::-;;;:::i;2738:178:25:-;;;:::i;:::-;;;;;;;:::i;1876:107:15:-;;;:::i;2792:241::-;;;:::i;4376:105::-;;;:::i;1989:232::-;;;:::i;610:85:17:-;678:10;;;;;-1:-1:-1;;;;;678:10:17;610:85;;2673:113:15;;;:::i;439:101::-;;;:::i;2592:140:25:-;;;:::i;:::-;;;;;;;:::i;1537:101:15:-;;;:::i;3485:113::-;;;:::i;3069:146:25:-;;;:::i;3604:241:15:-;;;:::i;3938:101::-;;;:::i;2157:141:25:-;;;:::i;1243:204:21:-;;;:::i;:::-;;;5937:14:126;;5930:22;5912:41;;5900:2;5885:18;1243:204:21;5772:187:126;1644:113:15;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;546:124::-;;;:::i;324:109::-;;;:::i;2304:142:25:-;;;:::i;3241:119:15:-;;;:::i;1016:26:32:-;;;;;;;;;1763:107:15;1812:7;1838:25;;;;;;;;;;;;;;-1:-1:-1;;;1838:25:15;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;-1:-1:-1;;;2510:31:15;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;-1:-1:-1;;;4117:22:15;;;:8;:22::i;3126:109::-;3176:7;3202:26;;;;;;;;;;;;;;-1:-1:-1;;;3202:26:15;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;-1:-1:-1;;;2632:28:15;;;:8;:28::i;2452:134:25:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:25;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;3221:133::-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:25;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:25;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;1331:118:15:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:15;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;-1:-1:-1;;;3444:28:15;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;-1:-1:-1;;;4335:28:15;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;-1:-1:-1;;;4223:21:15;;;:8;:21::i;2738:178:25:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:15;1925:7;1951:25;;;;;;;;;;;;;;-1:-1:-1;;;1951:25:15;;;:8;:25::i;2792:241::-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:15;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:15;;;-1:-1:-1;;;;;2926:32:15;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:15;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:15:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;-1:-1:-1;;;4450:24:15;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:15;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:15;;;-1:-1:-1;;;;;2120:29:15;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;-1:-1:-1;;;2751:28:15;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;-1:-1:-1;;;511:22:15;;;:8;:22::i;2592:140:25:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1537:101:15;1583:7;1609:22;;;;;;;;;;;;;;-1:-1:-1;;;1609:22:15;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;-1:-1:-1;;;3563:28:15;;;:8;:28::i;3069:146:25:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3604:241:15;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:15;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:15;;;-1:-1:-1;;;;;3738:32:15;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;-1:-1:-1;;;4010:22:15;;;:8;:22::i;2157:141:25:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1243:204:21;1302:7;;1282:4;;1302:7;;1298:143;;;-1:-1:-1;1332:7:21;;;;;1243:204::o;1298:143::-;1377:39;;-1:-1:-1;;;1377:39:21;;:7;:39;;;7011:51:126;;;-1:-1:-1;;;7078:18:126;;;7071:34;1428:1:21;;1377:7;;6984:18:126;;1377:39:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;1644:113:15:-;1696:7;1722:28;;;;;;;;;;;;;;-1:-1:-1;;;1722:28:15;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;-1:-1:-1;;;2390:26:15;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;-1:-1:-1;;;4646:23:15;;;:8;:23::i;546:124::-;595:15;637:25;;;;;;;;;;;;;;-1:-1:-1;;;637:25:15;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;-1:-1:-1;;;400:26:15;;;:8;:26::i;2304:142:25:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:25;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3241:119:15:-;3296:7;3322:31;;;;;;;;;;;;;;-1:-1:-1;;;3322:31:15;;;20439:125:23;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:23;20439:125;-1:-1:-1;;20439:125:23:o;20158:242::-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:23;;;;;;;20293:33;;20303:22;20293:33;;;;-1:-1:-1;;;;;;20344:19:23;;;;;7745:25:126;;;20293:33:23;-1:-1:-1;20344:7:23;;;;7718:18:126;;20344:19:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:23;;20337:26;;-1:-1:-1;20373:8:23;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;222:658:126:-;393:2;445:21;;;515:13;;418:18;;;537:22;;;364:4;;393:2;616:15;;;;590:2;575:18;;;364:4;659:195;673:6;670:1;667:13;659:195;;;738:13;;-1:-1:-1;;;;;734:39:126;722:52;;829:15;;;;794:12;;;;770:1;688:9;659:195;;;-1:-1:-1;871:3:126;;222:658;-1:-1:-1;;;;;;222:658:126:o;885:250::-;970:1;980:113;994:6;991:1;988:13;980:113;;;1070:11;;;1064:18;1051:11;;;1044:39;1016:2;1009:10;980:113;;;-1:-1:-1;;1127:1:126;1109:16;;1102:27;885:250::o;1140:271::-;1182:3;1220:5;1214:12;1247:6;1242:3;1235:19;1263:76;1332:6;1325:4;1320:3;1316:14;1309:4;1302:5;1298:16;1263:76;:::i;:::-;1393:2;1372:15;-1:-1:-1;;1368:29:126;1359:39;;;;1400:4;1355:50;;1140:271;-1:-1:-1;;1140:271:126:o;1416:1744::-;1651:2;1703:21;;;1773:13;;1676:18;;;1795:22;;;1622:4;;1651:2;1836;;1854:18;;;;1891:1;1934:15;;;1919:31;;1915:40;;1978:15;;;1622:4;;2042:1089;2058:6;2053:3;2050:15;2042:1089;;;-1:-1:-1;;2127:22:126;;;2123:36;2111:49;;2183:13;;2270:9;;-1:-1:-1;;;;;2266:35:126;2251:51;;2341:11;;2335:18;2373:15;;;2366:27;;;2454:19;;2223:15;;;2486:24;;;2667:21;;;;2533:2;2615:17;;;2603:30;;2599:39;;;2557:15;;;;2712:1;2726:296;2742:8;2737:3;2734:17;2726:296;;;2848:2;2844:7;2835:6;2827;2823:19;2819:33;2812:5;2805:48;2880:42;2915:6;2904:8;2898:15;2880:42;:::i;:::-;2951:17;;;;2870:52;-1:-1:-1;2994:14:126;;;;2770:1;2761:11;2726:296;;;-1:-1:-1;;;3109:12:126;;;;3045:6;-1:-1:-1;;3074:15:126;;;;2084:1;2075:11;2042:1089;;;-1:-1:-1;3148:6:126;;1416:1744;-1:-1:-1;;;;;;;;;;1416:1744:126:o;3165:1569::-;3369:4;3398:2;3438;3427:9;3423:18;3468:2;3457:9;3450:21;3491:6;3526;3520:13;3557:6;3549;3542:22;3583:2;3573:12;;3616:2;3605:9;3601:18;3594:25;;3678:2;3668:6;3665:1;3661:14;3650:9;3646:30;3642:39;3716:2;3708:6;3704:15;3737:1;3758;3768:937;3784:6;3779:3;3776:15;3768:937;;;3853:22;;;-1:-1:-1;;3849:36:126;3837:49;;3909:13;;3996:9;;-1:-1:-1;;;;;3992:35:126;3977:51;;4067:11;;4061:18;4099:15;;;4092:27;;;4180:19;;3949:15;;;4212:24;;;4302:21;;;;4347:1;;4270:2;4258:15;;;4361:236;4377:8;4372:3;4369:17;4361:236;;;4458:15;;-1:-1:-1;;;;;;4454:42:126;4440:57;;4566:17;;;;4405:1;4396:11;;;;;4523:14;;;;4361:236;;;-1:-1:-1;4683:12:126;;;;4620:5;-1:-1:-1;;;4648:15:126;;;;3810:1;3801:11;3768:937;;;-1:-1:-1;4722:6:126;;3165:1569;-1:-1:-1;;;;;;;;;3165:1569:126:o;4964:803::-;5126:4;5155:2;5195;5184:9;5180:18;5225:2;5214:9;5207:21;5248:6;5283;5277:13;5314:6;5306;5299:22;5352:2;5341:9;5337:18;5330:25;;5414:2;5404:6;5401:1;5397:14;5386:9;5382:30;5378:39;5364:53;;5452:2;5444:6;5440:15;5473:1;5483:255;5497:6;5494:1;5491:13;5483:255;;;5590:2;5586:7;5574:9;5566:6;5562:22;5558:36;5553:3;5546:49;5618:40;5651:6;5642;5636:13;5618:40;:::i;:::-;5608:50;-1:-1:-1;5716:12:126;;;;5681:15;;;;5519:1;5512:9;5483:255;;;-1:-1:-1;5755:6:126;;4964:803;-1:-1:-1;;;;;;;4964:803:126:o;6188:380::-;6267:1;6263:12;;;;6310;;;6331:61;;6385:4;6377:6;6373:17;6363:27;;6331:61;6438:2;6430:6;6427:14;6407:18;6404:38;6401:161;;6484:10;6479:3;6475:20;6472:1;6465:31;6519:4;6516:1;6509:15;6547:4;6544:1;6537:15;6401:161;;6188:380;;;:::o;6705:127::-;6766:10;6761:3;6757:20;6754:1;6747:31;6797:4;6794:1;6787:15;6821:4;6818:1;6811:15;7116:184;7186:6;7239:2;7227:9;7218:7;7214:23;7210:32;7207:52;;;7255:1;7252;7245:12;7207:52;-1:-1:-1;7278:16:126;;7116:184;-1:-1:-1;7116:184:126:o;7305:289::-;7436:3;7474:6;7468:13;7490:66;7549:6;7544:3;7537:4;7529:6;7525:17;7490:66;:::i;:::-;7572:16;;;;;7305:289;-1:-1:-1;;7305:289:126:o;7781:290::-;7851:6;7904:2;7892:9;7883:7;7879:23;7875:32;7872:52;;;7920:1;7917;7910:12;7872:52;7946:16;;-1:-1:-1;;;;;7991:31:126;;7981:42;;7971:70;;8037:1;8034;8027:12;7971:70;8060:5;7781:290;-1:-1:-1;;;7781:290:126:o;8076:317::-;-1:-1:-1;;;;;8253:32:126;;8235:51;;8322:2;8317;8302:18;;8295:30;;;-1:-1:-1;;8342:45:126;;8368:18;;8360:6;8342:45;:::i;:::-;8334:53;8076:317;-1:-1:-1;;;;8076:317:126:o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","local()":"0f166ad4","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry()":"7b103999","registry_owner()":"dac4eb16","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract Registry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"RegistrySetup\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"This contract is used to setup an empty Registry contract for testing purposes.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":\"RegistrySetup\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":{\"keccak256\":\"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb\",\"dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c\",\"dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b\",\"dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract Registry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":"RegistrySetup"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":{"keccak256":"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b","urls":["bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb","dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j"],"license":"AGPL-3.0-only"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361","urls":["bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c","dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef","urls":["bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b","dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab","urls":["bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d","dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":5830,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)13196_storage"},{"astId":5987,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":8488,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":8509,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)8504_storage)"},{"astId":8513,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":8517,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":8520,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":9278,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":11315,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)13196_storage"},{"astId":12183,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_excludedContracts","offset":0,"slot":"21","type":"t_array(t_address)dyn_storage"},{"astId":12186,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_excludedSenders","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"},{"astId":12189,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedContracts","offset":0,"slot":"23","type":"t_array(t_address)dyn_storage"},{"astId":12192,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedSenders","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":12195,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_excludedArtifacts","offset":0,"slot":"25","type":"t_array(t_string_storage)dyn_storage"},{"astId":12198,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedArtifacts","offset":0,"slot":"26","type":"t_array(t_string_storage)dyn_storage"},{"astId":12202,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedArtifactSelectors","offset":0,"slot":"27","type":"t_array(t_struct(FuzzSelector)12174_storage)dyn_storage"},{"astId":12206,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedSelectors","offset":0,"slot":"28","type":"t_array(t_struct(FuzzSelector)12174_storage)dyn_storage"},{"astId":12210,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedInterfaces","offset":0,"slot":"29","type":"t_array(t_struct(FuzzInterface)12180_storage)dyn_storage"},{"astId":17795,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"IS_TEST","offset":0,"slot":"30","type":"t_bool"},{"astId":5104,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_registry_","offset":1,"slot":"30","type":"t_contract(Registry)2295"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzInterface)12180_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)12180_storage"},"t_array(t_struct(FuzzSelector)12174_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)12174_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(Registry)2295":{"encoding":"inplace","label":"contract Registry","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13171_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13171_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13171_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)8504_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)8504_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)8504_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":8497,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":8499,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":8501,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":8503,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)13171_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13164,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13166,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13168,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13170,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzInterface)12180_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":12176,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12179,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)12174_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":12170,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12173,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(StdStorage)13196_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13180,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage)))"},{"astId":13183,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13185,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13187,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13189,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13191,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13193,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13195,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol","id":5297,"exportedSymbols":{"Accounts":[5026],"Metadata":[3098],"Registry":[2295],"RegistrySetup":[5132],"RegistrySetupFull":[5296],"StdAssertions":[8464],"StdChains":[9246],"StdCheats":[12099],"StdInvariant":[12424],"StdStorage":[13196],"StdStyle":[16366],"StdUtils":[17744],"Test":[17796],"TestBase":[5834],"Vm":[21446],"console":[29510],"console2":[37635],"safeconsole":[52360],"stdError":[12165],"stdJson":[13016],"stdMath":[13158],"stdStorage":[15155],"stdToml":[16958]},"nodeType":"SourceUnit","src":"42:2823:17","nodes":[{"id":5089,"nodeType":"PragmaDirective","src":"42:24:17","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":5090,"nodeType":"ImportDirective","src":"68:28:17","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":17797,"symbolAliases":[],"unitAlias":""},{"id":5092,"nodeType":"ImportDirective","src":"98:62:17","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","file":"../../../contracts/core/Registry.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":2296,"symbolAliases":[{"foreign":{"id":5091,"name":"Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"106:8:17","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5094,"nodeType":"ImportDirective","src":"161:72:17","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../../../contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":5093,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"169:8:17","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5096,"nodeType":"ImportDirective","src":"234:40:17","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"./Accounts.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":5027,"symbolAliases":[{"foreign":{"id":5095,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5026,"src":"242:8:17","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5132,"nodeType":"ContractDefinition","src":"393:304:17","nodes":[{"id":5104,"nodeType":"VariableDeclaration","src":"440:28:17","nodes":[],"constant":false,"mutability":"mutable","name":"_registry_","nameLocation":"458:10:17","scope":5132,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":5103,"nodeType":"UserDefinedTypeName","pathNode":{"id":5102,"name":"Registry","nameLocations":["440:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"440:8:17"},"referencedDeclaration":2295,"src":"440:8:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"},{"id":5122,"nodeType":"FunctionDefinition","src":"475:129:17","nodes":[],"body":{"id":5121,"nodeType":"Block","src":"511:93:17","nodes":[],"statements":[{"expression":{"id":5112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5107,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"521:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":5110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"534:12:17","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () returns (contract Registry)"},"typeName":{"id":5109,"nodeType":"UserDefinedTypeName","pathNode":{"id":5108,"name":"Registry","nameLocations":["538:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"538:8:17"},"referencedDeclaration":2295,"src":"538:8:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}},"id":5111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"534:14:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"src":"521:27:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5113,"nodeType":"ExpressionStatement","src":"521:27:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5117,"name":"registry_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4675,"src":"580:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"580:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5114,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"558:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"569:10:17","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":1578,"src":"558:21:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"558:39:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5120,"nodeType":"ExpressionStatement","src":"558:39:17"}]},"implemented":true,"kind":"function","modifiers":[],"name":"__RegistrySetup","nameLocation":"484:15:17","parameters":{"id":5105,"nodeType":"ParameterList","parameters":[],"src":"499:2:17"},"returnParameters":{"id":5106,"nodeType":"ParameterList","parameters":[],"src":"511:0:17"},"scope":5132,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5131,"nodeType":"FunctionDefinition","src":"610:85:17","nodes":[],"body":{"id":5130,"nodeType":"Block","src":"661:34:17","nodes":[],"statements":[{"expression":{"id":5128,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"678:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"functionReturnParameters":5127,"id":5129,"nodeType":"Return","src":"671:17:17"}]},"functionSelector":"7b103999","implemented":true,"kind":"function","modifiers":[],"name":"registry","nameLocation":"619:8:17","parameters":{"id":5123,"nodeType":"ParameterList","parameters":[],"src":"627:2:17"},"returnParameters":{"id":5127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5126,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5131,"src":"651:8:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":5125,"nodeType":"UserDefinedTypeName","pathNode":{"id":5124,"name":"Registry","nameLocations":["651:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"651:8:17"},"referencedDeclaration":2295,"src":"651:8:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"}],"src":"650:10:17"},"scope":5132,"stateMutability":"view","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":5098,"name":"Test","nameLocations":["419:4:17"],"nodeType":"IdentifierPath","referencedDeclaration":17796,"src":"419:4:17"},"id":5099,"nodeType":"InheritanceSpecifier","src":"419:4:17"},{"baseName":{"id":5100,"name":"Accounts","nameLocations":["425:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":5026,"src":"425:8:17"},"id":5101,"nodeType":"InheritanceSpecifier","src":"425:8:17"}],"canonicalName":"RegistrySetup","contractDependencies":[],"contractKind":"contract","documentation":{"id":5097,"nodeType":"StructuredDocumentation","src":"276:117:17","text":"@title RegistrySetup\n @notice This contract is used to setup an empty Registry contract for testing purposes."},"fullyImplemented":true,"linearizedBaseContracts":[5132,5026,17796,17744,12424,12099,11306,9246,8464,5834,5831],"name":"RegistrySetup","nameLocation":"402:13:17","scope":5297,"usedErrors":[]},{"id":5296,"nodeType":"ContractDefinition","src":"833:2031:17","nodes":[{"id":5137,"nodeType":"VariableDeclaration","src":"883:32:17","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileId_","nameLocation":"900:15:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5136,"name":"bytes32","nodeType":"ElementaryTypeName","src":"883:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5139,"nodeType":"VariableDeclaration","src":"921:36:17","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileAnchor_","nameLocation":"938:19:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5138,"name":"address","nodeType":"ElementaryTypeName","src":"921:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5141,"nodeType":"VariableDeclaration","src":"964:29:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile1Id_","nameLocation":"981:12:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5140,"name":"bytes32","nodeType":"ElementaryTypeName","src":"964:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5143,"nodeType":"VariableDeclaration","src":"999:33:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile1Anchor_","nameLocation":"1016:16:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5142,"name":"address","nodeType":"ElementaryTypeName","src":"999:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5145,"nodeType":"VariableDeclaration","src":"1039:29:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile2Id_","nameLocation":"1056:12:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5144,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1039:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5147,"nodeType":"VariableDeclaration","src":"1074:33:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile2Anchor_","nameLocation":"1091:16:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5146,"name":"address","nodeType":"ElementaryTypeName","src":"1074:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5247,"nodeType":"FunctionDefinition","src":"1114:930:17","nodes":[],"body":{"id":5246,"nodeType":"Block","src":"1154:890:17","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5150,"name":"__RegistrySetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5122,"src":"1164:15:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":5151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1164:17:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5152,"nodeType":"ExpressionStatement","src":"1164:17:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5156,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"1201:10:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1201:12:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5153,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1192:2:17","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":5155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1195:5:17","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"1192:8:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1192:22:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5159,"nodeType":"ExpressionStatement","src":"1192:22:17"},{"expression":{"id":5174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5160,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5137,"src":"1224:15:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1280:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"506f6f6c2050726f66696c652031","id":5164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1283:16:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},"value":"Pool Profile 1"},{"arguments":[{"hexValue":"31","id":5166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1321:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"506f6f6c50726f66696c6531","id":5167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1333:14:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""},"value":"PoolProfile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""}],"id":5165,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1301:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1311:8:17","1324:7:17"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1301:48:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5169,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"1351:10:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1351:12:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5171,"name":"pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4817,"src":"1365:13:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1365:15:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5161,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1242:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1253:13:17","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1242:24:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1242:148:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1224:166:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5175,"nodeType":"ExpressionStatement","src":"1224:166:17"},{"expression":{"id":5182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5176,"name":"_poolProfileAnchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5139,"src":"1400:19:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5179,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5137,"src":"1448:15:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5177,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1422:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1433:14:17","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1422:25:17","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1422:42:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5181,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1465:6:17","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1422:49:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1400:71:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5183,"nodeType":"ExpressionStatement","src":"1400:71:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5187,"name":"profile1_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4827,"src":"1491:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1491:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5184,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1482:2:17","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":5186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1485:5:17","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"1482:8:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1482:26:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5190,"nodeType":"ExpressionStatement","src":"1482:26:17"},{"expression":{"id":5205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5191,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5141,"src":"1518:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1571:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"50726f66696c652031","id":5195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1574:11:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_7a4d1a86b77644d9aa7e12702075d0cc1d67dd228b7576543777572405c3e57d","typeString":"literal_string \"Profile 1\""},"value":"Profile 1"},{"arguments":[{"hexValue":"31","id":5197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1607:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"50726f66696c6531","id":5198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1619:10:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_d28bcd24e2e164eb1cb6c81d71a03069dd8b48e2f319680c98ba010be8944d6d","typeString":"literal_string \"Profile1\""},"value":"Profile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_d28bcd24e2e164eb1cb6c81d71a03069dd8b48e2f319680c98ba010be8944d6d","typeString":"literal_string \"Profile1\""}],"id":5196,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1587:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1597:8:17","1610:7:17"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1587:44:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5200,"name":"profile1_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4827,"src":"1633:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1633:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5202,"name":"profile1_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4891,"src":"1651:16:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1651:18:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_7a4d1a86b77644d9aa7e12702075d0cc1d67dd228b7576543777572405c3e57d","typeString":"literal_string \"Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5192,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1533:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1544:13:17","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1533:24:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1533:146:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1518:161:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5206,"nodeType":"ExpressionStatement","src":"1518:161:17"},{"expression":{"id":5213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5207,"name":"_profile1Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5143,"src":"1689:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5210,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5141,"src":"1734:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5208,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1708:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1719:14:17","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1708:25:17","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1708:39:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5212,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1748:6:17","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1708:46:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1689:65:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5214,"nodeType":"ExpressionStatement","src":"1689:65:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5218,"name":"profile2_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4901,"src":"1774:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1774:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5215,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1765:2:17","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":5217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1768:5:17","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"1765:8:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1765:26:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5221,"nodeType":"ExpressionStatement","src":"1765:26:17"},{"expression":{"id":5236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5222,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5145,"src":"1801:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1854:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"50726f66696c652032","id":5226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1857:11:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_937ec7a665f78170bc3bb3b9c6576f30e49f3c58eb7105b0778843f3f72198b2","typeString":"literal_string \"Profile 2\""},"value":"Profile 2"},{"arguments":[{"hexValue":"31","id":5228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1890:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"50726f66696c6532","id":5229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1902:10:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_f54d7fb3952364f7566be93625e44393de35ac48ada574494f41163506f729ca","typeString":"literal_string \"Profile2\""},"value":"Profile2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f54d7fb3952364f7566be93625e44393de35ac48ada574494f41163506f729ca","typeString":"literal_string \"Profile2\""}],"id":5227,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1870:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1880:8:17","1893:7:17"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1870:44:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5231,"name":"profile2_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4901,"src":"1916:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1916:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5233,"name":"profile2_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4965,"src":"1934:16:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1934:18:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_937ec7a665f78170bc3bb3b9c6576f30e49f3c58eb7105b0778843f3f72198b2","typeString":"literal_string \"Profile 2\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5223,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1816:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1827:13:17","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1816:24:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1816:146:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1801:161:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5237,"nodeType":"ExpressionStatement","src":"1801:161:17"},{"expression":{"id":5244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5238,"name":"_profile2Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5147,"src":"1972:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5241,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5145,"src":"2017:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5239,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1991:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2002:14:17","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1991:25:17","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1991:39:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5243,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2031:6:17","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1991:46:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1972:65:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5245,"nodeType":"ExpressionStatement","src":"1972:65:17"}]},"implemented":true,"kind":"function","modifiers":[],"name":"__RegistrySetupFull","nameLocation":"1123:19:17","parameters":{"id":5148,"nodeType":"ParameterList","parameters":[],"src":"1142:2:17"},"returnParameters":{"id":5149,"nodeType":"ParameterList","parameters":[],"src":"1154:0:17"},"scope":5296,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5255,"nodeType":"FunctionDefinition","src":"2050:103:17","nodes":[],"body":{"id":5254,"nodeType":"Block","src":"2114:39:17","nodes":[],"statements":[{"expression":{"id":5252,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5137,"src":"2131:15:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5251,"id":5253,"nodeType":"Return","src":"2124:22:17"}]},"functionSelector":"fd325c60","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_id","nameLocation":"2059:14:17","parameters":{"id":5248,"nodeType":"ParameterList","parameters":[],"src":"2073:2:17"},"returnParameters":{"id":5251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5250,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5255,"src":"2105:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5249,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2105:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2104:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5263,"nodeType":"FunctionDefinition","src":"2159:111:17","nodes":[],"body":{"id":5262,"nodeType":"Block","src":"2227:43:17","nodes":[],"statements":[{"expression":{"id":5260,"name":"_poolProfileAnchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5139,"src":"2244:19:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5259,"id":5261,"nodeType":"Return","src":"2237:26:17"}]},"functionSelector":"176effb3","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_anchor","nameLocation":"2168:18:17","parameters":{"id":5256,"nodeType":"ParameterList","parameters":[],"src":"2186:2:17"},"returnParameters":{"id":5259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5258,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5263,"src":"2218:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5257,"name":"address","nodeType":"ElementaryTypeName","src":"2218:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2217:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5271,"nodeType":"FunctionDefinition","src":"2276:97:17","nodes":[],"body":{"id":5270,"nodeType":"Block","src":"2337:36:17","nodes":[],"statements":[{"expression":{"id":5268,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5141,"src":"2354:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5267,"id":5269,"nodeType":"Return","src":"2347:19:17"}]},"functionSelector":"39f56f7f","implemented":true,"kind":"function","modifiers":[],"name":"profile1_id","nameLocation":"2285:11:17","parameters":{"id":5264,"nodeType":"ParameterList","parameters":[],"src":"2296:2:17"},"returnParameters":{"id":5267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5266,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5271,"src":"2328:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5265,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2328:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2327:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5279,"nodeType":"FunctionDefinition","src":"2461:105:17","nodes":[],"body":{"id":5278,"nodeType":"Block","src":"2526:40:17","nodes":[],"statements":[{"expression":{"id":5276,"name":"_profile1Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5143,"src":"2543:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5275,"id":5277,"nodeType":"Return","src":"2536:23:17"}]},"functionSelector":"c5d7d73b","implemented":true,"kind":"function","modifiers":[],"name":"profile1_anchor","nameLocation":"2470:15:17","parameters":{"id":5272,"nodeType":"ParameterList","parameters":[],"src":"2485:2:17"},"returnParameters":{"id":5275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5274,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5279,"src":"2517:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5273,"name":"address","nodeType":"ElementaryTypeName","src":"2517:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2516:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5287,"nodeType":"FunctionDefinition","src":"2572:97:17","nodes":[],"body":{"id":5286,"nodeType":"Block","src":"2633:36:17","nodes":[],"statements":[{"expression":{"id":5284,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5145,"src":"2650:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5283,"id":5285,"nodeType":"Return","src":"2643:19:17"}]},"functionSelector":"18540361","implemented":true,"kind":"function","modifiers":[],"name":"profile2_id","nameLocation":"2581:11:17","parameters":{"id":5280,"nodeType":"ParameterList","parameters":[],"src":"2592:2:17"},"returnParameters":{"id":5283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5282,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5287,"src":"2624:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5281,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2624:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2623:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5295,"nodeType":"FunctionDefinition","src":"2757:105:17","nodes":[],"body":{"id":5294,"nodeType":"Block","src":"2822:40:17","nodes":[],"statements":[{"expression":{"id":5292,"name":"_profile2Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5147,"src":"2839:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5291,"id":5293,"nodeType":"Return","src":"2832:23:17"}]},"functionSelector":"3554642a","implemented":true,"kind":"function","modifiers":[],"name":"profile2_anchor","nameLocation":"2766:15:17","parameters":{"id":5288,"nodeType":"ParameterList","parameters":[],"src":"2781:2:17"},"returnParameters":{"id":5291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5290,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5295,"src":"2813:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5289,"name":"address","nodeType":"ElementaryTypeName","src":"2813:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2812:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":5134,"name":"RegistrySetup","nameLocations":["863:13:17"],"nodeType":"IdentifierPath","referencedDeclaration":5132,"src":"863:13:17"},"id":5135,"nodeType":"InheritanceSpecifier","src":"863:13:17"}],"canonicalName":"RegistrySetupFull","contractDependencies":[],"contractKind":"contract","documentation":{"id":5133,"nodeType":"StructuredDocumentation","src":"699:134:17","text":"@title RegistrySetupFull\n @notice This contract is used to setup a Registry contract with two identities for testing purposes."},"fullyImplemented":true,"linearizedBaseContracts":[5296,5132,5026,17796,17744,12424,12099,11306,9246,8464,5834,5831],"name":"RegistrySetupFull","nameLocation":"842:17:17","scope":5297,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":17} \ No newline at end of file +{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Registry"}],"stateMutability":"view"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x6080604052600c8054600160ff199182168117909255601e8054909116909117905534801561002d57600080fd5b506114aa8061003d6000396000f3fe608060405234801561001057600080fd5b50600436106101ed5760003560e01c8062b1fad7146101f2578063030e4006146102175780630688b1351461021f5780630f166ad414610227578063174eedde1461022d5780631b96dce6146102345780631e7bcb2e1461023c5780631ed7831c146102445780632ade3880146102595780633e5e3c231461026e5780633f7286f4146102765780634bf4ba211461027e578063587c1243146102865780635aff59991461028e57806366d003ac1461029657806366d9a9a01461029e5780636a38dd0a146102b357806370a32944146102bb57806374d9284e1461022d578063759c9a86146102c357806379e62d0d146102cb5780637b103999146102d35780637b2edf32146102e95780637cbe79ed146102f1578063829e423f1461022d57806385226c81146102f95780638c7408c41461022d5780638e0d1a501461030e5780638e3c249314610316578063916a17c61461031e578063a407c67a14610326578063aa3744bd1461032e578063b5508aa914610336578063ba414fa61461033e578063d1e82b5814610356578063d1f2cd881461035e578063d5bee9f514610366578063da4bf0871461036e578063dac4eb1614610376578063e20c9f711461037e578063ef0d790f14610386578063fa7626d41461038e575b600080fd5b6101fa61039b565b6040516001600160a01b0390911681526020015b60405180910390f35b6101fa6103d0565b6101fa610406565b306101fa565b60006101fa565b6101fa610433565b6101fa610464565b61024c610497565b60405161020e9190611121565b6102616104f9565b60405161020e91906111be565b61024c61063b565b61024c61069b565b61024c6106fb565b6101fa61071e565b6101fa610751565b6101fa610784565b6102a66107b0565b60405161020e919061127e565b6101fa610896565b61024c6108c6565b6101fa61095e565b61024c61098d565b601e5461010090046001600160a01b03166101fa565b6101fa6109f5565b6101fa610a28565b610301610a55565b60405161020e9190611331565b6101fa610b25565b6101fa610b52565b6102a6610b85565b61024c610c6b565b6101fa610cd3565b610301610d00565b610346610dd0565b604051901515815260200161020e565b6101fa610e74565b6101fa610ea7565b6101fa610ed8565b6101fa610f06565b6101fa610f36565b61024c610f67565b6101fa610fc7565b601e546103469060ff1681565b60006103cb6040518060400160405280600d81526020016c706f6f6c5f6d616e616765723160981b815250610ff9565b905090565b60006103cb60405180604001604052806013815260200172383937b334b63298afb737ba20a6b2b6b132b960691b815250610ff9565b60006103cb6040518060400160405280600a8152602001693932b1b4b834b2b73a1960b11b815250610ff9565b60006103cb6040518060400160405280600e81526020016d383937b334b632992fb7bbb732b960911b815250610ff9565b60006103cb6040518060400160405280601081526020016f70726f66696c65315f6d656d6265723160801b815250610ff9565b606060168054806020026020016040519081016040528092919081815260200182805480156104ef57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116104d1575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101561063257600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101561061b57838290600052602060002001805461058e90611393565b80601f01602080910402602001604051908101604052809291908181526020018280546105ba90611393565b80156106075780601f106105dc57610100808354040283529160200191610607565b820191906000526020600020905b8154815290600101906020018083116105ea57829003601f168201915b50505050508152602001906001019061056f565b50505050815250508152602001906001019061051d565b50505050905090565b606060188054806020026020016040519081016040528092919081815260200182805480156104ef576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116104d1575050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156104ef576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116104d1575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006103cb6040518060400160405280601081526020016f70726f66696c65325f6d656d6265723160801b815250610ff9565b60006103cb6040518060400160405280601081526020016f726563697069656e744164647265737360801b815250610ff9565b60006103cb604051806040016040528060098152602001681c9958da5c1a595b9d60ba1b815250610ff9565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156106325760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561087e57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116108405790505b505050505081525050815260200190600101906107d4565b60006103cb6040518060400160405280600d81526020016c3837b7b62fb6b0b730b3b2b91960991b815250610ff9565b604080516002808252606080830184529260009291906020830190803683370190505090506108f3610464565b81600081518110610906576109066113cd565b60200260200101906001600160a01b031690816001600160a01b03168152505061092e6109f5565b81600181518110610941576109416113cd565b6001600160a01b0390921660209283029190910190910152919050565b60006103cb6040518060400160405280600c81526020016b1b9bd7dc9958da5c1a595b9d60a21b815250610ff9565b604080516002808252606080830184529260009291906020830190803683370190505090506109ba61039b565b816000815181106109cd576109cd6113cd565b60200260200101906001600160a01b031690816001600160a01b03168152505061092e610896565b60006103cb6040518060400160405280601081526020016f383937b334b63298afb6b2b6b132b91960811b815250610ff9565b60006103cb6040518060400160405280600a81526020016930b63637afb7bbb732b960b11b815250610ff9565b6060601a805480602002602001604051908101604052809291908181526020016000905b82821015610632578382906000526020600020018054610a9890611393565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac490611393565b8015610b115780601f10610ae657610100808354040283529160200191610b11565b820191906000526020600020905b815481529060010190602001808311610af457829003601f168201915b505050505081526020019060010190610a79565b60006103cb6040518060400160405280600a8152602001693837b7b62fb0b236b4b760b11b815250610ff9565b60006103cb6040518060400160405280601081526020016f383937b334b632992fb6b2b6b132b91960811b815250610ff9565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156106325760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610c5357602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610c155790505b50505050508152505081526020019060010190610ba9565b60408051600280825260608083018452926000929190602083019080368337019050509050610c9861071e565b81600081518110610cab57610cab6113cd565b60200260200101906001600160a01b031690816001600160a01b03168152505061092e610b52565b60006103cb6040518060400160405280600a815260200169726563697069656e743160b01b815250610ff9565b60606019805480602002602001604051908101604052809291908181526020016000905b82821015610632578382906000526020600020018054610d4390611393565b80601f0160208091040260200160405190810160405280929190818152602001828054610d6f90611393565b8015610dbc5780601f10610d9157610100808354040283529160200191610dbc565b820191906000526020600020905b815481529060010190602001808311610d9f57829003601f168201915b505050505081526020019060010190610d24565b60085460009060ff1615610de8575060085460ff1690565b604051630667f9d760e41b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190526519985a5b195960d21b602483015260009163667f9d7090604401602060405180830381865afa158015610e49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6d91906113e3565b1415905090565b60006103cb6040518060400160405280601081526020016f3837b7b62fb737ba20a6b0b730b3b2b960811b815250610ff9565b60006103cb6040518060400160405280600e81526020016d383937b334b63298afb7bbb732b960911b815250610ff9565b60006103cb6040518060400160405280600b81526020016a1c985b991bdb4818da185960aa1b815250610ff9565b60006103cb6040518060400160405280600d81526020016c616c6c6f5f747265617375727960981b815250610ff9565b60006103cb6040518060400160405280600e81526020016d3932b3b4b9ba393cafb7bbb732b960911b815250610ff9565b606060158054806020026020016040519081016040528092919081815260200182805480156104ef576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116104d1575050505050905090565b60006103cb60405180604001604052806013815260200172383937b334b632992fb737ba20a6b2b6b132b960691b8152505b60006110048261100b565b5092915050565b6000808260405160200161101f91906113fc565b60408051808303601f190181529082905280516020909101206001625e79b760e01b03198252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa15801561108a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ae9190611418565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c718906110ea9085908790600401611448565b600060405180830381600087803b15801561110457600080fd5b505af1158015611118573d6000803e3d6000fd5b50505050915091565b6020808252825182820181905260009190848201906040850190845b818110156111625783516001600160a01b03168352928401929184019160010161113d565b50909695505050505050565b60005b83811015611189578181015183820152602001611171565b50506000910152565b600081518084526111aa81602086016020860161116e565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101561126e57603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101561125857605f19898503018352611246848651611192565b948e01949350918d019160010161122a565b505050978a0197945050918801916001016111e5565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561132257898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b8083101561130d5783516001600160e01b0319168252928b019260019290920191908b01906112e3565b50978a019795505050918701916001016112a6565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561138657603f19888603018452611374858351611192565b94509285019290850190600101611358565b5092979650505050505050565b600181811c908216806113a757607f821691505b6020821081036113c757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156113f557600080fd5b5051919050565b6000825161140e81846020870161116e565b9190910192915050565b60006020828403121561142a57600080fd5b81516001600160a01b038116811461144157600080fd5b9392505050565b6001600160a01b038316815260406020820181905260009061146c90830184611192565b94935050505056fea264697066735822122040d22253040efe2a0d2bf655364df43098aae24ca80ab740024044bda498355964736f6c63430008130033","sourceMap":"393:304:17:-:0;;;3126:44:22;;;3166:4;-1:-1:-1;;3126:44:22;;;;;;;;1016:26:32;;;;;;;;;;;393:304:17;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101ed5760003560e01c8062b1fad7146101f2578063030e4006146102175780630688b1351461021f5780630f166ad414610227578063174eedde1461022d5780631b96dce6146102345780631e7bcb2e1461023c5780631ed7831c146102445780632ade3880146102595780633e5e3c231461026e5780633f7286f4146102765780634bf4ba211461027e578063587c1243146102865780635aff59991461028e57806366d003ac1461029657806366d9a9a01461029e5780636a38dd0a146102b357806370a32944146102bb57806374d9284e1461022d578063759c9a86146102c357806379e62d0d146102cb5780637b103999146102d35780637b2edf32146102e95780637cbe79ed146102f1578063829e423f1461022d57806385226c81146102f95780638c7408c41461022d5780638e0d1a501461030e5780638e3c249314610316578063916a17c61461031e578063a407c67a14610326578063aa3744bd1461032e578063b5508aa914610336578063ba414fa61461033e578063d1e82b5814610356578063d1f2cd881461035e578063d5bee9f514610366578063da4bf0871461036e578063dac4eb1614610376578063e20c9f711461037e578063ef0d790f14610386578063fa7626d41461038e575b600080fd5b6101fa61039b565b6040516001600160a01b0390911681526020015b60405180910390f35b6101fa6103d0565b6101fa610406565b306101fa565b60006101fa565b6101fa610433565b6101fa610464565b61024c610497565b60405161020e9190611121565b6102616104f9565b60405161020e91906111be565b61024c61063b565b61024c61069b565b61024c6106fb565b6101fa61071e565b6101fa610751565b6101fa610784565b6102a66107b0565b60405161020e919061127e565b6101fa610896565b61024c6108c6565b6101fa61095e565b61024c61098d565b601e5461010090046001600160a01b03166101fa565b6101fa6109f5565b6101fa610a28565b610301610a55565b60405161020e9190611331565b6101fa610b25565b6101fa610b52565b6102a6610b85565b61024c610c6b565b6101fa610cd3565b610301610d00565b610346610dd0565b604051901515815260200161020e565b6101fa610e74565b6101fa610ea7565b6101fa610ed8565b6101fa610f06565b6101fa610f36565b61024c610f67565b6101fa610fc7565b601e546103469060ff1681565b60006103cb6040518060400160405280600d81526020016c706f6f6c5f6d616e616765723160981b815250610ff9565b905090565b60006103cb60405180604001604052806013815260200172383937b334b63298afb737ba20a6b2b6b132b960691b815250610ff9565b60006103cb6040518060400160405280600a8152602001693932b1b4b834b2b73a1960b11b815250610ff9565b60006103cb6040518060400160405280600e81526020016d383937b334b632992fb7bbb732b960911b815250610ff9565b60006103cb6040518060400160405280601081526020016f70726f66696c65315f6d656d6265723160801b815250610ff9565b606060168054806020026020016040519081016040528092919081815260200182805480156104ef57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116104d1575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101561063257600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101561061b57838290600052602060002001805461058e90611393565b80601f01602080910402602001604051908101604052809291908181526020018280546105ba90611393565b80156106075780601f106105dc57610100808354040283529160200191610607565b820191906000526020600020905b8154815290600101906020018083116105ea57829003601f168201915b50505050508152602001906001019061056f565b50505050815250508152602001906001019061051d565b50505050905090565b606060188054806020026020016040519081016040528092919081815260200182805480156104ef576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116104d1575050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156104ef576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116104d1575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006103cb6040518060400160405280601081526020016f70726f66696c65325f6d656d6265723160801b815250610ff9565b60006103cb6040518060400160405280601081526020016f726563697069656e744164647265737360801b815250610ff9565b60006103cb604051806040016040528060098152602001681c9958da5c1a595b9d60ba1b815250610ff9565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156106325760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561087e57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116108405790505b505050505081525050815260200190600101906107d4565b60006103cb6040518060400160405280600d81526020016c3837b7b62fb6b0b730b3b2b91960991b815250610ff9565b604080516002808252606080830184529260009291906020830190803683370190505090506108f3610464565b81600081518110610906576109066113cd565b60200260200101906001600160a01b031690816001600160a01b03168152505061092e6109f5565b81600181518110610941576109416113cd565b6001600160a01b0390921660209283029190910190910152919050565b60006103cb6040518060400160405280600c81526020016b1b9bd7dc9958da5c1a595b9d60a21b815250610ff9565b604080516002808252606080830184529260009291906020830190803683370190505090506109ba61039b565b816000815181106109cd576109cd6113cd565b60200260200101906001600160a01b031690816001600160a01b03168152505061092e610896565b60006103cb6040518060400160405280601081526020016f383937b334b63298afb6b2b6b132b91960811b815250610ff9565b60006103cb6040518060400160405280600a81526020016930b63637afb7bbb732b960b11b815250610ff9565b6060601a805480602002602001604051908101604052809291908181526020016000905b82821015610632578382906000526020600020018054610a9890611393565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac490611393565b8015610b115780601f10610ae657610100808354040283529160200191610b11565b820191906000526020600020905b815481529060010190602001808311610af457829003601f168201915b505050505081526020019060010190610a79565b60006103cb6040518060400160405280600a8152602001693837b7b62fb0b236b4b760b11b815250610ff9565b60006103cb6040518060400160405280601081526020016f383937b334b632992fb6b2b6b132b91960811b815250610ff9565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156106325760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610c5357602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610c155790505b50505050508152505081526020019060010190610ba9565b60408051600280825260608083018452926000929190602083019080368337019050509050610c9861071e565b81600081518110610cab57610cab6113cd565b60200260200101906001600160a01b031690816001600160a01b03168152505061092e610b52565b60006103cb6040518060400160405280600a815260200169726563697069656e743160b01b815250610ff9565b60606019805480602002602001604051908101604052809291908181526020016000905b82821015610632578382906000526020600020018054610d4390611393565b80601f0160208091040260200160405190810160405280929190818152602001828054610d6f90611393565b8015610dbc5780601f10610d9157610100808354040283529160200191610dbc565b820191906000526020600020905b815481529060010190602001808311610d9f57829003601f168201915b505050505081526020019060010190610d24565b60085460009060ff1615610de8575060085460ff1690565b604051630667f9d760e41b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190526519985a5b195960d21b602483015260009163667f9d7090604401602060405180830381865afa158015610e49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6d91906113e3565b1415905090565b60006103cb6040518060400160405280601081526020016f3837b7b62fb737ba20a6b0b730b3b2b960811b815250610ff9565b60006103cb6040518060400160405280600e81526020016d383937b334b63298afb7bbb732b960911b815250610ff9565b60006103cb6040518060400160405280600b81526020016a1c985b991bdb4818da185960aa1b815250610ff9565b60006103cb6040518060400160405280600d81526020016c616c6c6f5f747265617375727960981b815250610ff9565b60006103cb6040518060400160405280600e81526020016d3932b3b4b9ba393cafb7bbb732b960911b815250610ff9565b606060158054806020026020016040519081016040528092919081815260200182805480156104ef576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116104d1575050505050905090565b60006103cb60405180604001604052806013815260200172383937b334b632992fb737ba20a6b2b6b132b960691b8152505b60006110048261100b565b5092915050565b6000808260405160200161101f91906113fc565b60408051808303601f190181529082905280516020909101206001625e79b760e01b03198252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa15801561108a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ae9190611418565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c718906110ea9085908790600401611448565b600060405180830381600087803b15801561110457600080fd5b505af1158015611118573d6000803e3d6000fd5b50505050915091565b6020808252825182820181905260009190848201906040850190845b818110156111625783516001600160a01b03168352928401929184019160010161113d565b50909695505050505050565b60005b83811015611189578181015183820152602001611171565b50506000910152565b600081518084526111aa81602086016020860161116e565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101561126e57603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101561125857605f19898503018352611246848651611192565b948e01949350918d019160010161122a565b505050978a0197945050918801916001016111e5565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561132257898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b8083101561130d5783516001600160e01b0319168252928b019260019290920191908b01906112e3565b50978a019795505050918701916001016112a6565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561138657603f19888603018452611374858351611192565b94509285019290850190600101611358565b5092979650505050505050565b600181811c908216806113a757607f821691505b6020821081036113c757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156113f557600080fd5b5051919050565b6000825161140e81846020870161116e565b9190910192915050565b60006020828403121561142a57600080fd5b81516001600160a01b038116811461144157600080fd5b9392505050565b6001600160a01b038316815260406020820181905260009061146c90830184611192565b94935050505056fea264697066735822122040d22253040efe2a0d2bf655364df43098aae24ca80ab740024044bda498355964736f6c63430008130033","sourceMap":"393:304:17:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:15;;;:::i;:::-;;;-1:-1:-1;;;;;178:32:142;;;160:51;;148:2;133:18;1763:107:15;;;;;;;;2429:119;;;:::i;4045:101::-;;;:::i;226:92::-;306:4;226:92;;905:138;968:7;905:138;;3126:109;;;:::i;2554:113::-;;;:::i;2452:134:25:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;3221:133::-;;;:::i;2922:141::-;;;:::i;1331:118:15:-;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;4152:99::-;;;:::i;2738:178:25:-;;;:::i;:::-;;;;;;;:::i;1876:107:15:-;;;:::i;2792:241::-;;;:::i;4376:105::-;;;:::i;1989:232::-;;;:::i;610:85:17:-;678:10;;;;;-1:-1:-1;;;;;678:10:17;610:85;;2673:113:15;;;:::i;439:101::-;;;:::i;2592:140:25:-;;;:::i;:::-;;;;;;;:::i;1537:101:15:-;;;:::i;3485:113::-;;;:::i;3069:146:25:-;;;:::i;3604:241:15:-;;;:::i;3938:101::-;;;:::i;2157:141:25:-;;;:::i;1243:204:21:-;;;:::i;:::-;;;5937:14:142;;5930:22;5912:41;;5900:2;5885:18;1243:204:21;5772:187:142;1644:113:15;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;546:124::-;;;:::i;324:109::-;;;:::i;2304:142:25:-;;;:::i;3241:119:15:-;;;:::i;1016:26:32:-;;;;;;;;;1763:107:15;1812:7;1838:25;;;;;;;;;;;;;;-1:-1:-1;;;1838:25:15;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;-1:-1:-1;;;2510:31:15;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;-1:-1:-1;;;4117:22:15;;;:8;:22::i;3126:109::-;3176:7;3202:26;;;;;;;;;;;;;;-1:-1:-1;;;3202:26:15;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;-1:-1:-1;;;2632:28:15;;;:8;:28::i;2452:134:25:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:25;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;3221:133::-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:25;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:25;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;1331:118:15:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:15;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;-1:-1:-1;;;3444:28:15;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;-1:-1:-1;;;4335:28:15;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;-1:-1:-1;;;4223:21:15;;;:8;:21::i;2738:178:25:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:15;1925:7;1951:25;;;;;;;;;;;;;;-1:-1:-1;;;1951:25:15;;;:8;:25::i;2792:241::-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:15;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:15;;;-1:-1:-1;;;;;2926:32:15;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:15;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:15:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;-1:-1:-1;;;4450:24:15;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:15;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:15;;;-1:-1:-1;;;;;2120:29:15;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;-1:-1:-1;;;2751:28:15;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;-1:-1:-1;;;511:22:15;;;:8;:22::i;2592:140:25:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1537:101:15;1583:7;1609:22;;;;;;;;;;;;;;-1:-1:-1;;;1609:22:15;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;-1:-1:-1;;;3563:28:15;;;:8;:28::i;3069:146:25:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3604:241:15;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:15;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:15;;;-1:-1:-1;;;;;3738:32:15;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;-1:-1:-1;;;4010:22:15;;;:8;:22::i;2157:141:25:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1243:204:21;1302:7;;1282:4;;1302:7;;1298:143;;;-1:-1:-1;1332:7:21;;;;;1243:204::o;1298:143::-;1377:39;;-1:-1:-1;;;1377:39:21;;:7;:39;;;7011:51:142;;;-1:-1:-1;;;7078:18:142;;;7071:34;1428:1:21;;1377:7;;6984:18:142;;1377:39:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;1644:113:15:-;1696:7;1722:28;;;;;;;;;;;;;;-1:-1:-1;;;1722:28:15;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;-1:-1:-1;;;2390:26:15;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;-1:-1:-1;;;4646:23:15;;;:8;:23::i;546:124::-;595:15;637:25;;;;;;;;;;;;;;-1:-1:-1;;;637:25:15;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;-1:-1:-1;;;400:26:15;;;:8;:26::i;2304:142:25:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:25;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3241:119:15:-;3296:7;3322:31;;;;;;;;;;;;;;-1:-1:-1;;;3322:31:15;;;20439:125:23;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:23;20439:125;-1:-1:-1;;20439:125:23:o;20158:242::-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:23;;;;;;;20293:33;;20303:22;20293:33;;;;-1:-1:-1;;;;;;20344:19:23;;;;;7745:25:142;;;20293:33:23;-1:-1:-1;20344:7:23;;;;7718:18:142;;20344:19:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:23;;20337:26;;-1:-1:-1;20373:8:23;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;222:658:142:-;393:2;445:21;;;515:13;;418:18;;;537:22;;;364:4;;393:2;616:15;;;;590:2;575:18;;;364:4;659:195;673:6;670:1;667:13;659:195;;;738:13;;-1:-1:-1;;;;;734:39:142;722:52;;829:15;;;;794:12;;;;770:1;688:9;659:195;;;-1:-1:-1;871:3:142;;222:658;-1:-1:-1;;;;;;222:658:142:o;885:250::-;970:1;980:113;994:6;991:1;988:13;980:113;;;1070:11;;;1064:18;1051:11;;;1044:39;1016:2;1009:10;980:113;;;-1:-1:-1;;1127:1:142;1109:16;;1102:27;885:250::o;1140:271::-;1182:3;1220:5;1214:12;1247:6;1242:3;1235:19;1263:76;1332:6;1325:4;1320:3;1316:14;1309:4;1302:5;1298:16;1263:76;:::i;:::-;1393:2;1372:15;-1:-1:-1;;1368:29:142;1359:39;;;;1400:4;1355:50;;1140:271;-1:-1:-1;;1140:271:142:o;1416:1744::-;1651:2;1703:21;;;1773:13;;1676:18;;;1795:22;;;1622:4;;1651:2;1836;;1854:18;;;;1891:1;1934:15;;;1919:31;;1915:40;;1978:15;;;1622:4;;2042:1089;2058:6;2053:3;2050:15;2042:1089;;;-1:-1:-1;;2127:22:142;;;2123:36;2111:49;;2183:13;;2270:9;;-1:-1:-1;;;;;2266:35:142;2251:51;;2341:11;;2335:18;2373:15;;;2366:27;;;2454:19;;2223:15;;;2486:24;;;2667:21;;;;2533:2;2615:17;;;2603:30;;2599:39;;;2557:15;;;;2712:1;2726:296;2742:8;2737:3;2734:17;2726:296;;;2848:2;2844:7;2835:6;2827;2823:19;2819:33;2812:5;2805:48;2880:42;2915:6;2904:8;2898:15;2880:42;:::i;:::-;2951:17;;;;2870:52;-1:-1:-1;2994:14:142;;;;2770:1;2761:11;2726:296;;;-1:-1:-1;;;3109:12:142;;;;3045:6;-1:-1:-1;;3074:15:142;;;;2084:1;2075:11;2042:1089;;;-1:-1:-1;3148:6:142;;1416:1744;-1:-1:-1;;;;;;;;;;1416:1744:142:o;3165:1569::-;3369:4;3398:2;3438;3427:9;3423:18;3468:2;3457:9;3450:21;3491:6;3526;3520:13;3557:6;3549;3542:22;3583:2;3573:12;;3616:2;3605:9;3601:18;3594:25;;3678:2;3668:6;3665:1;3661:14;3650:9;3646:30;3642:39;3716:2;3708:6;3704:15;3737:1;3758;3768:937;3784:6;3779:3;3776:15;3768:937;;;3853:22;;;-1:-1:-1;;3849:36:142;3837:49;;3909:13;;3996:9;;-1:-1:-1;;;;;3992:35:142;3977:51;;4067:11;;4061:18;4099:15;;;4092:27;;;4180:19;;3949:15;;;4212:24;;;4302:21;;;;4347:1;;4270:2;4258:15;;;4361:236;4377:8;4372:3;4369:17;4361:236;;;4458:15;;-1:-1:-1;;;;;;4454:42:142;4440:57;;4566:17;;;;4405:1;4396:11;;;;;4523:14;;;;4361:236;;;-1:-1:-1;4683:12:142;;;;4620:5;-1:-1:-1;;;4648:15:142;;;;3810:1;3801:11;3768:937;;;-1:-1:-1;4722:6:142;;3165:1569;-1:-1:-1;;;;;;;;;3165:1569:142:o;4964:803::-;5126:4;5155:2;5195;5184:9;5180:18;5225:2;5214:9;5207:21;5248:6;5283;5277:13;5314:6;5306;5299:22;5352:2;5341:9;5337:18;5330:25;;5414:2;5404:6;5401:1;5397:14;5386:9;5382:30;5378:39;5364:53;;5452:2;5444:6;5440:15;5473:1;5483:255;5497:6;5494:1;5491:13;5483:255;;;5590:2;5586:7;5574:9;5566:6;5562:22;5558:36;5553:3;5546:49;5618:40;5651:6;5642;5636:13;5618:40;:::i;:::-;5608:50;-1:-1:-1;5716:12:142;;;;5681:15;;;;5519:1;5512:9;5483:255;;;-1:-1:-1;5755:6:142;;4964:803;-1:-1:-1;;;;;;;4964:803:142:o;6188:380::-;6267:1;6263:12;;;;6310;;;6331:61;;6385:4;6377:6;6373:17;6363:27;;6331:61;6438:2;6430:6;6427:14;6407:18;6404:38;6401:161;;6484:10;6479:3;6475:20;6472:1;6465:31;6519:4;6516:1;6509:15;6547:4;6544:1;6537:15;6401:161;;6188:380;;;:::o;6705:127::-;6766:10;6761:3;6757:20;6754:1;6747:31;6797:4;6794:1;6787:15;6821:4;6818:1;6811:15;7116:184;7186:6;7239:2;7227:9;7218:7;7214:23;7210:32;7207:52;;;7255:1;7252;7245:12;7207:52;-1:-1:-1;7278:16:142;;7116:184;-1:-1:-1;7116:184:142:o;7305:289::-;7436:3;7474:6;7468:13;7490:66;7549:6;7544:3;7537:4;7529:6;7525:17;7490:66;:::i;:::-;7572:16;;;;;7305:289;-1:-1:-1;;7305:289:142:o;7781:290::-;7851:6;7904:2;7892:9;7883:7;7879:23;7875:32;7872:52;;;7920:1;7917;7910:12;7872:52;7946:16;;-1:-1:-1;;;;;7991:31:142;;7981:42;;7971:70;;8037:1;8034;8027:12;7971:70;8060:5;7781:290;-1:-1:-1;;;7781:290:142:o;8076:317::-;-1:-1:-1;;;;;8253:32:142;;8235:51;;8322:2;8317;8302:18;;8295:30;;;-1:-1:-1;;8342:45:142;;8368:18;;8360:6;8342:45;:::i;:::-;8334:53;8076:317;-1:-1:-1;;;;8076:317:142:o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","local()":"0f166ad4","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry()":"7b103999","registry_owner()":"dac4eb16","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract Registry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"RegistrySetup\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"This contract is used to setup an empty Registry contract for testing purposes.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":\"RegistrySetup\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":{\"keccak256\":\"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb\",\"dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c\",\"dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b\",\"dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract Registry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":"RegistrySetup"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":{"keccak256":"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b","urls":["bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb","dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j"],"license":"AGPL-3.0-only"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361","urls":["bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c","dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef","urls":["bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b","dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab","urls":["bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d","dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":5830,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)13196_storage"},{"astId":5987,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":8488,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":8509,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)8504_storage)"},{"astId":8513,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":8517,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":8520,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":9278,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":11315,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)13196_storage"},{"astId":12183,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_excludedContracts","offset":0,"slot":"21","type":"t_array(t_address)dyn_storage"},{"astId":12186,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_excludedSenders","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"},{"astId":12189,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedContracts","offset":0,"slot":"23","type":"t_array(t_address)dyn_storage"},{"astId":12192,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedSenders","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":12195,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_excludedArtifacts","offset":0,"slot":"25","type":"t_array(t_string_storage)dyn_storage"},{"astId":12198,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedArtifacts","offset":0,"slot":"26","type":"t_array(t_string_storage)dyn_storage"},{"astId":12202,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedArtifactSelectors","offset":0,"slot":"27","type":"t_array(t_struct(FuzzSelector)12174_storage)dyn_storage"},{"astId":12206,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedSelectors","offset":0,"slot":"28","type":"t_array(t_struct(FuzzSelector)12174_storage)dyn_storage"},{"astId":12210,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedInterfaces","offset":0,"slot":"29","type":"t_array(t_struct(FuzzInterface)12180_storage)dyn_storage"},{"astId":17795,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"IS_TEST","offset":0,"slot":"30","type":"t_bool"},{"astId":5104,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_registry_","offset":1,"slot":"30","type":"t_contract(Registry)2295"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzInterface)12180_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)12180_storage"},"t_array(t_struct(FuzzSelector)12174_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)12174_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(Registry)2295":{"encoding":"inplace","label":"contract Registry","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13171_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13171_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13171_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)8504_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)8504_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)8504_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":8497,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":8499,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":8501,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":8503,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)13171_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13164,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13166,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13168,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13170,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzInterface)12180_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":12176,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12179,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)12174_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":12170,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12173,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(StdStorage)13196_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13180,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage)))"},{"astId":13183,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13185,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13187,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13189,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13191,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13193,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13195,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol","id":5297,"exportedSymbols":{"Accounts":[5026],"Metadata":[3098],"Registry":[2295],"RegistrySetup":[5132],"RegistrySetupFull":[5296],"StdAssertions":[8464],"StdChains":[9246],"StdCheats":[12099],"StdInvariant":[12424],"StdStorage":[13196],"StdStyle":[16366],"StdUtils":[17744],"Test":[17796],"TestBase":[5834],"Vm":[21446],"console":[29510],"console2":[37635],"safeconsole":[52360],"stdError":[12165],"stdJson":[13016],"stdMath":[13158],"stdStorage":[15155],"stdToml":[16958]},"nodeType":"SourceUnit","src":"42:2823:17","nodes":[{"id":5089,"nodeType":"PragmaDirective","src":"42:24:17","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":5090,"nodeType":"ImportDirective","src":"68:28:17","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":17797,"symbolAliases":[],"unitAlias":""},{"id":5092,"nodeType":"ImportDirective","src":"98:62:17","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","file":"../../../contracts/core/Registry.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":2296,"symbolAliases":[{"foreign":{"id":5091,"name":"Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"106:8:17","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5094,"nodeType":"ImportDirective","src":"161:72:17","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../../../contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":5093,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"169:8:17","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5096,"nodeType":"ImportDirective","src":"234:40:17","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"./Accounts.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":5027,"symbolAliases":[{"foreign":{"id":5095,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5026,"src":"242:8:17","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5132,"nodeType":"ContractDefinition","src":"393:304:17","nodes":[{"id":5104,"nodeType":"VariableDeclaration","src":"440:28:17","nodes":[],"constant":false,"mutability":"mutable","name":"_registry_","nameLocation":"458:10:17","scope":5132,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":5103,"nodeType":"UserDefinedTypeName","pathNode":{"id":5102,"name":"Registry","nameLocations":["440:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"440:8:17"},"referencedDeclaration":2295,"src":"440:8:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"},{"id":5122,"nodeType":"FunctionDefinition","src":"475:129:17","nodes":[],"body":{"id":5121,"nodeType":"Block","src":"511:93:17","nodes":[],"statements":[{"expression":{"id":5112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5107,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"521:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":5110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"534:12:17","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () returns (contract Registry)"},"typeName":{"id":5109,"nodeType":"UserDefinedTypeName","pathNode":{"id":5108,"name":"Registry","nameLocations":["538:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"538:8:17"},"referencedDeclaration":2295,"src":"538:8:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}},"id":5111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"534:14:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"src":"521:27:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5113,"nodeType":"ExpressionStatement","src":"521:27:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5117,"name":"registry_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4675,"src":"580:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"580:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5114,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"558:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"569:10:17","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":1578,"src":"558:21:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"558:39:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5120,"nodeType":"ExpressionStatement","src":"558:39:17"}]},"implemented":true,"kind":"function","modifiers":[],"name":"__RegistrySetup","nameLocation":"484:15:17","parameters":{"id":5105,"nodeType":"ParameterList","parameters":[],"src":"499:2:17"},"returnParameters":{"id":5106,"nodeType":"ParameterList","parameters":[],"src":"511:0:17"},"scope":5132,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5131,"nodeType":"FunctionDefinition","src":"610:85:17","nodes":[],"body":{"id":5130,"nodeType":"Block","src":"661:34:17","nodes":[],"statements":[{"expression":{"id":5128,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"678:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"functionReturnParameters":5127,"id":5129,"nodeType":"Return","src":"671:17:17"}]},"functionSelector":"7b103999","implemented":true,"kind":"function","modifiers":[],"name":"registry","nameLocation":"619:8:17","parameters":{"id":5123,"nodeType":"ParameterList","parameters":[],"src":"627:2:17"},"returnParameters":{"id":5127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5126,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5131,"src":"651:8:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":5125,"nodeType":"UserDefinedTypeName","pathNode":{"id":5124,"name":"Registry","nameLocations":["651:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"651:8:17"},"referencedDeclaration":2295,"src":"651:8:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"}],"src":"650:10:17"},"scope":5132,"stateMutability":"view","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":5098,"name":"Test","nameLocations":["419:4:17"],"nodeType":"IdentifierPath","referencedDeclaration":17796,"src":"419:4:17"},"id":5099,"nodeType":"InheritanceSpecifier","src":"419:4:17"},{"baseName":{"id":5100,"name":"Accounts","nameLocations":["425:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":5026,"src":"425:8:17"},"id":5101,"nodeType":"InheritanceSpecifier","src":"425:8:17"}],"canonicalName":"RegistrySetup","contractDependencies":[],"contractKind":"contract","documentation":{"id":5097,"nodeType":"StructuredDocumentation","src":"276:117:17","text":"@title RegistrySetup\n @notice This contract is used to setup an empty Registry contract for testing purposes."},"fullyImplemented":true,"linearizedBaseContracts":[5132,5026,17796,17744,12424,12099,11306,9246,8464,5834,5831],"name":"RegistrySetup","nameLocation":"402:13:17","scope":5297,"usedErrors":[]},{"id":5296,"nodeType":"ContractDefinition","src":"833:2031:17","nodes":[{"id":5137,"nodeType":"VariableDeclaration","src":"883:32:17","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileId_","nameLocation":"900:15:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5136,"name":"bytes32","nodeType":"ElementaryTypeName","src":"883:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5139,"nodeType":"VariableDeclaration","src":"921:36:17","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileAnchor_","nameLocation":"938:19:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5138,"name":"address","nodeType":"ElementaryTypeName","src":"921:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5141,"nodeType":"VariableDeclaration","src":"964:29:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile1Id_","nameLocation":"981:12:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5140,"name":"bytes32","nodeType":"ElementaryTypeName","src":"964:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5143,"nodeType":"VariableDeclaration","src":"999:33:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile1Anchor_","nameLocation":"1016:16:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5142,"name":"address","nodeType":"ElementaryTypeName","src":"999:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5145,"nodeType":"VariableDeclaration","src":"1039:29:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile2Id_","nameLocation":"1056:12:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5144,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1039:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5147,"nodeType":"VariableDeclaration","src":"1074:33:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile2Anchor_","nameLocation":"1091:16:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5146,"name":"address","nodeType":"ElementaryTypeName","src":"1074:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5247,"nodeType":"FunctionDefinition","src":"1114:930:17","nodes":[],"body":{"id":5246,"nodeType":"Block","src":"1154:890:17","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5150,"name":"__RegistrySetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5122,"src":"1164:15:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":5151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1164:17:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5152,"nodeType":"ExpressionStatement","src":"1164:17:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5156,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"1201:10:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1201:12:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5153,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1192:2:17","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":5155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1195:5:17","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"1192:8:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1192:22:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5159,"nodeType":"ExpressionStatement","src":"1192:22:17"},{"expression":{"id":5174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5160,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5137,"src":"1224:15:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1280:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"506f6f6c2050726f66696c652031","id":5164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1283:16:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},"value":"Pool Profile 1"},{"arguments":[{"hexValue":"31","id":5166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1321:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"506f6f6c50726f66696c6531","id":5167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1333:14:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""},"value":"PoolProfile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""}],"id":5165,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1301:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1311:8:17","1324:7:17"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1301:48:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5169,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"1351:10:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1351:12:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5171,"name":"pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4817,"src":"1365:13:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1365:15:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5161,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1242:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1253:13:17","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1242:24:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1242:148:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1224:166:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5175,"nodeType":"ExpressionStatement","src":"1224:166:17"},{"expression":{"id":5182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5176,"name":"_poolProfileAnchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5139,"src":"1400:19:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5179,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5137,"src":"1448:15:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5177,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1422:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1433:14:17","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1422:25:17","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1422:42:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5181,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1465:6:17","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1422:49:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1400:71:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5183,"nodeType":"ExpressionStatement","src":"1400:71:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5187,"name":"profile1_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4827,"src":"1491:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1491:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5184,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1482:2:17","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":5186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1485:5:17","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"1482:8:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1482:26:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5190,"nodeType":"ExpressionStatement","src":"1482:26:17"},{"expression":{"id":5205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5191,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5141,"src":"1518:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1571:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"50726f66696c652031","id":5195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1574:11:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_7a4d1a86b77644d9aa7e12702075d0cc1d67dd228b7576543777572405c3e57d","typeString":"literal_string \"Profile 1\""},"value":"Profile 1"},{"arguments":[{"hexValue":"31","id":5197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1607:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"50726f66696c6531","id":5198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1619:10:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_d28bcd24e2e164eb1cb6c81d71a03069dd8b48e2f319680c98ba010be8944d6d","typeString":"literal_string \"Profile1\""},"value":"Profile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_d28bcd24e2e164eb1cb6c81d71a03069dd8b48e2f319680c98ba010be8944d6d","typeString":"literal_string \"Profile1\""}],"id":5196,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1587:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1597:8:17","1610:7:17"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1587:44:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5200,"name":"profile1_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4827,"src":"1633:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1633:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5202,"name":"profile1_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4891,"src":"1651:16:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1651:18:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_7a4d1a86b77644d9aa7e12702075d0cc1d67dd228b7576543777572405c3e57d","typeString":"literal_string \"Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5192,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1533:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1544:13:17","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1533:24:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1533:146:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1518:161:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5206,"nodeType":"ExpressionStatement","src":"1518:161:17"},{"expression":{"id":5213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5207,"name":"_profile1Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5143,"src":"1689:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5210,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5141,"src":"1734:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5208,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1708:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1719:14:17","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1708:25:17","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1708:39:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5212,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1748:6:17","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1708:46:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1689:65:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5214,"nodeType":"ExpressionStatement","src":"1689:65:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5218,"name":"profile2_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4901,"src":"1774:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1774:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5215,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1765:2:17","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":5217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1768:5:17","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"1765:8:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1765:26:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5221,"nodeType":"ExpressionStatement","src":"1765:26:17"},{"expression":{"id":5236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5222,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5145,"src":"1801:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1854:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"50726f66696c652032","id":5226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1857:11:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_937ec7a665f78170bc3bb3b9c6576f30e49f3c58eb7105b0778843f3f72198b2","typeString":"literal_string \"Profile 2\""},"value":"Profile 2"},{"arguments":[{"hexValue":"31","id":5228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1890:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"50726f66696c6532","id":5229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1902:10:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_f54d7fb3952364f7566be93625e44393de35ac48ada574494f41163506f729ca","typeString":"literal_string \"Profile2\""},"value":"Profile2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f54d7fb3952364f7566be93625e44393de35ac48ada574494f41163506f729ca","typeString":"literal_string \"Profile2\""}],"id":5227,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1870:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1880:8:17","1893:7:17"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1870:44:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5231,"name":"profile2_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4901,"src":"1916:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1916:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5233,"name":"profile2_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4965,"src":"1934:16:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1934:18:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_937ec7a665f78170bc3bb3b9c6576f30e49f3c58eb7105b0778843f3f72198b2","typeString":"literal_string \"Profile 2\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5223,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1816:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1827:13:17","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1816:24:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1816:146:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1801:161:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5237,"nodeType":"ExpressionStatement","src":"1801:161:17"},{"expression":{"id":5244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5238,"name":"_profile2Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5147,"src":"1972:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5241,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5145,"src":"2017:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5239,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1991:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2002:14:17","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1991:25:17","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1991:39:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5243,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2031:6:17","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1991:46:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1972:65:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5245,"nodeType":"ExpressionStatement","src":"1972:65:17"}]},"implemented":true,"kind":"function","modifiers":[],"name":"__RegistrySetupFull","nameLocation":"1123:19:17","parameters":{"id":5148,"nodeType":"ParameterList","parameters":[],"src":"1142:2:17"},"returnParameters":{"id":5149,"nodeType":"ParameterList","parameters":[],"src":"1154:0:17"},"scope":5296,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5255,"nodeType":"FunctionDefinition","src":"2050:103:17","nodes":[],"body":{"id":5254,"nodeType":"Block","src":"2114:39:17","nodes":[],"statements":[{"expression":{"id":5252,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5137,"src":"2131:15:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5251,"id":5253,"nodeType":"Return","src":"2124:22:17"}]},"functionSelector":"fd325c60","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_id","nameLocation":"2059:14:17","parameters":{"id":5248,"nodeType":"ParameterList","parameters":[],"src":"2073:2:17"},"returnParameters":{"id":5251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5250,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5255,"src":"2105:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5249,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2105:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2104:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5263,"nodeType":"FunctionDefinition","src":"2159:111:17","nodes":[],"body":{"id":5262,"nodeType":"Block","src":"2227:43:17","nodes":[],"statements":[{"expression":{"id":5260,"name":"_poolProfileAnchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5139,"src":"2244:19:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5259,"id":5261,"nodeType":"Return","src":"2237:26:17"}]},"functionSelector":"176effb3","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_anchor","nameLocation":"2168:18:17","parameters":{"id":5256,"nodeType":"ParameterList","parameters":[],"src":"2186:2:17"},"returnParameters":{"id":5259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5258,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5263,"src":"2218:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5257,"name":"address","nodeType":"ElementaryTypeName","src":"2218:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2217:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5271,"nodeType":"FunctionDefinition","src":"2276:97:17","nodes":[],"body":{"id":5270,"nodeType":"Block","src":"2337:36:17","nodes":[],"statements":[{"expression":{"id":5268,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5141,"src":"2354:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5267,"id":5269,"nodeType":"Return","src":"2347:19:17"}]},"functionSelector":"39f56f7f","implemented":true,"kind":"function","modifiers":[],"name":"profile1_id","nameLocation":"2285:11:17","parameters":{"id":5264,"nodeType":"ParameterList","parameters":[],"src":"2296:2:17"},"returnParameters":{"id":5267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5266,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5271,"src":"2328:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5265,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2328:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2327:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5279,"nodeType":"FunctionDefinition","src":"2461:105:17","nodes":[],"body":{"id":5278,"nodeType":"Block","src":"2526:40:17","nodes":[],"statements":[{"expression":{"id":5276,"name":"_profile1Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5143,"src":"2543:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5275,"id":5277,"nodeType":"Return","src":"2536:23:17"}]},"functionSelector":"c5d7d73b","implemented":true,"kind":"function","modifiers":[],"name":"profile1_anchor","nameLocation":"2470:15:17","parameters":{"id":5272,"nodeType":"ParameterList","parameters":[],"src":"2485:2:17"},"returnParameters":{"id":5275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5274,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5279,"src":"2517:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5273,"name":"address","nodeType":"ElementaryTypeName","src":"2517:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2516:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5287,"nodeType":"FunctionDefinition","src":"2572:97:17","nodes":[],"body":{"id":5286,"nodeType":"Block","src":"2633:36:17","nodes":[],"statements":[{"expression":{"id":5284,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5145,"src":"2650:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5283,"id":5285,"nodeType":"Return","src":"2643:19:17"}]},"functionSelector":"18540361","implemented":true,"kind":"function","modifiers":[],"name":"profile2_id","nameLocation":"2581:11:17","parameters":{"id":5280,"nodeType":"ParameterList","parameters":[],"src":"2592:2:17"},"returnParameters":{"id":5283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5282,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5287,"src":"2624:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5281,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2624:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2623:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5295,"nodeType":"FunctionDefinition","src":"2757:105:17","nodes":[],"body":{"id":5294,"nodeType":"Block","src":"2822:40:17","nodes":[],"statements":[{"expression":{"id":5292,"name":"_profile2Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5147,"src":"2839:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5291,"id":5293,"nodeType":"Return","src":"2832:23:17"}]},"functionSelector":"3554642a","implemented":true,"kind":"function","modifiers":[],"name":"profile2_anchor","nameLocation":"2766:15:17","parameters":{"id":5288,"nodeType":"ParameterList","parameters":[],"src":"2781:2:17"},"returnParameters":{"id":5291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5290,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5295,"src":"2813:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5289,"name":"address","nodeType":"ElementaryTypeName","src":"2813:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2812:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":5134,"name":"RegistrySetup","nameLocations":["863:13:17"],"nodeType":"IdentifierPath","referencedDeclaration":5132,"src":"863:13:17"},"id":5135,"nodeType":"InheritanceSpecifier","src":"863:13:17"}],"canonicalName":"RegistrySetupFull","contractDependencies":[],"contractKind":"contract","documentation":{"id":5133,"nodeType":"StructuredDocumentation","src":"699:134:17","text":"@title RegistrySetupFull\n @notice This contract is used to setup a Registry contract with two identities for testing purposes."},"fullyImplemented":true,"linearizedBaseContracts":[5296,5132,5026,17796,17744,12424,12099,11306,9246,8464,5834,5831],"name":"RegistrySetupFull","nameLocation":"842:17:17","scope":5297,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":17} \ No newline at end of file diff --git a/pkg/contracts/out/RegistrySetup.sol/RegistrySetupFull.json b/pkg/contracts/out/RegistrySetup.sol/RegistrySetupFull.json index c16159e62..d4096bb8f 100644 --- a/pkg/contracts/out/RegistrySetup.sol/RegistrySetupFull.json +++ b/pkg/contracts/out/RegistrySetup.sol/RegistrySetupFull.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"poolProfile_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile1_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile2_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Registry"}],"stateMutability":"view"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x6080604052600c8054600160ff199182168117909255601e8054909116909117905534801561002d57600080fd5b506115418061003d6000396000f3fe608060405234801561001057600080fd5b506004361061022f5760003560e01c8062b1fad714610234578063030e4006146102595780630688b135146102615780630f166ad414610269578063174eedde1461026f578063176effb31461027657806318540361146102875780631b96dce6146102995780631e7bcb2e146102a15780631ed7831c146102a95780632ade3880146102be5780633554642a146102d357806339f56f7f146102e45780633e5e3c23146102ec5780633f7286f4146102f45780634bf4ba21146102fc578063587c1243146103045780635aff59991461030c57806366d003ac1461031457806366d9a9a01461031c5780636a38dd0a1461033157806370a329441461033957806374d9284e1461026f578063759c9a861461034157806379e62d0d146103495780637b103999146103515780637b2edf32146103675780637cbe79ed1461036f578063829e423f1461026f57806385226c81146103775780638c7408c41461026f5780638e0d1a501461038c5780638e3c249314610394578063916a17c61461039c578063a407c67a146103a4578063aa3744bd146103ac578063b5508aa9146103b4578063ba414fa6146103bc578063c5d7d73b146103d4578063d1e82b58146103e5578063d1f2cd88146103ed578063d5bee9f5146103f5578063da4bf087146103fd578063dac4eb1614610405578063e20c9f711461040d578063ef0d790f14610415578063fa7626d41461041d578063fd325c601461042a575b600080fd5b61023c610432565b6040516001600160a01b0390911681526020015b60405180910390f35b61023c610467565b61023c61049d565b3061023c565b600061023c565b6020546001600160a01b031661023c565b6023545b604051908152602001610250565b61023c6104ca565b61023c6104fb565b6102b161052e565b60405161025091906111b8565b6102c6610590565b6040516102509190611255565b6024546001600160a01b031661023c565b60215461028b565b6102b16106d2565b6102b1610732565b6102b1610792565b61023c6107b5565b61023c6107e8565b61023c61081b565b610324610847565b6040516102509190611315565b61023c61092d565b6102b161095d565b61023c6109f5565b6102b1610a24565b601e5461010090046001600160a01b031661023c565b61023c610a8c565b61023c610abf565b61037f610aec565b60405161025091906113c8565b61023c610bbc565b61023c610be9565b610324610c1c565b6102b1610d02565b61023c610d6a565b61037f610d97565b6103c4610e67565b6040519015158152602001610250565b6022546001600160a01b031661023c565b61023c610f0b565b61023c610f3e565b61023c610f6f565b61023c610f9d565b61023c610fcd565b6102b1610ffe565b61023c61105e565b601e546103c49060ff1681565b601f5461028b565b60006104626040518060400160405280600d81526020016c706f6f6c5f6d616e616765723160981b815250611090565b905090565b600061046260405180604001604052806013815260200172383937b334b63298afb737ba20a6b2b6b132b960691b815250611090565b60006104626040518060400160405280600a8152602001693932b1b4b834b2b73a1960b11b815250611090565b60006104626040518060400160405280600e81526020016d383937b334b632992fb7bbb732b960911b815250611090565b60006104626040518060400160405280601081526020016f70726f66696c65315f6d656d6265723160801b815250611090565b6060601680548060200260200160405190810160405280929190818152602001828054801561058657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610568575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b828210156106c957600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156106b25783829060005260206000200180546106259061142a565b80601f01602080910402602001604051908101604052809291908181526020018280546106519061142a565b801561069e5780601f106106735761010080835404028352916020019161069e565b820191906000526020600020905b81548152906001019060200180831161068157829003601f168201915b505050505081526020019060010190610606565b5050505081525050815260200190600101906105b4565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020018280548015610586576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610568575050505050905090565b60606017805480602002602001604051908101604052809291908181526020018280548015610586576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610568575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006104626040518060400160405280601081526020016f70726f66696c65325f6d656d6265723160801b815250611090565b60006104626040518060400160405280601081526020016f726563697069656e744164647265737360801b815250611090565b6000610462604051806040016040528060098152602001681c9958da5c1a595b9d60ba1b815250611090565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156106c95760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561091557602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116108d75790505b5050505050815250508152602001906001019061086b565b60006104626040518060400160405280600d81526020016c3837b7b62fb6b0b730b3b2b91960991b815250611090565b6040805160028082526060808301845292600092919060208301908036833701905050905061098a6104fb565b8160008151811061099d5761099d611464565b60200260200101906001600160a01b031690816001600160a01b0316815250506109c5610a8c565b816001815181106109d8576109d8611464565b6001600160a01b0390921660209283029190910190910152919050565b60006104626040518060400160405280600c81526020016b1b9bd7dc9958da5c1a595b9d60a21b815250611090565b60408051600280825260608083018452926000929190602083019080368337019050509050610a51610432565b81600081518110610a6457610a64611464565b60200260200101906001600160a01b031690816001600160a01b0316815250506109c561092d565b60006104626040518060400160405280601081526020016f383937b334b63298afb6b2b6b132b91960811b815250611090565b60006104626040518060400160405280600a81526020016930b63637afb7bbb732b960b11b815250611090565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156106c9578382906000526020600020018054610b2f9061142a565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5b9061142a565b8015610ba85780601f10610b7d57610100808354040283529160200191610ba8565b820191906000526020600020905b815481529060010190602001808311610b8b57829003601f168201915b505050505081526020019060010190610b10565b60006104626040518060400160405280600a8152602001693837b7b62fb0b236b4b760b11b815250611090565b60006104626040518060400160405280601081526020016f383937b334b632992fb6b2b6b132b91960811b815250611090565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156106c95760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610cea57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610cac5790505b50505050508152505081526020019060010190610c40565b60408051600280825260608083018452926000929190602083019080368337019050509050610d2f6107b5565b81600081518110610d4257610d42611464565b60200260200101906001600160a01b031690816001600160a01b0316815250506109c5610be9565b60006104626040518060400160405280600a815260200169726563697069656e743160b01b815250611090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156106c9578382906000526020600020018054610dda9061142a565b80601f0160208091040260200160405190810160405280929190818152602001828054610e069061142a565b8015610e535780601f10610e2857610100808354040283529160200191610e53565b820191906000526020600020905b815481529060010190602001808311610e3657829003601f168201915b505050505081526020019060010190610dbb565b60085460009060ff1615610e7f575060085460ff1690565b604051630667f9d760e41b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190526519985a5b195960d21b602483015260009163667f9d7090604401602060405180830381865afa158015610ee0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f04919061147a565b1415905090565b60006104626040518060400160405280601081526020016f3837b7b62fb737ba20a6b0b730b3b2b960811b815250611090565b60006104626040518060400160405280600e81526020016d383937b334b63298afb7bbb732b960911b815250611090565b60006104626040518060400160405280600b81526020016a1c985b991bdb4818da185960aa1b815250611090565b60006104626040518060400160405280600d81526020016c616c6c6f5f747265617375727960981b815250611090565b60006104626040518060400160405280600e81526020016d3932b3b4b9ba393cafb7bbb732b960911b815250611090565b60606015805480602002602001604051908101604052809291908181526020018280548015610586576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610568575050505050905090565b600061046260405180604001604052806013815260200172383937b334b632992fb737ba20a6b2b6b132b960691b8152505b600061109b826110a2565b5092915050565b600080826040516020016110b69190611493565b60408051808303601f190181529082905280516020909101206001625e79b760e01b03198252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa158015611121573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114591906114af565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061118190859087906004016114df565b600060405180830381600087803b15801561119b57600080fd5b505af11580156111af573d6000803e3d6000fd5b50505050915091565b6020808252825182820181905260009190848201906040850190845b818110156111f95783516001600160a01b0316835292840192918401916001016111d4565b50909695505050505050565b60005b83811015611220578181015183820152602001611208565b50506000910152565b60008151808452611241816020860160208601611205565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101561130557603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156112ef57605f198985030183526112dd848651611229565b948e01949350918d01916001016112c1565b505050978a01979450509188019160010161127c565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156113b957898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156113a45783516001600160e01b0319168252928b019260019290920191908b019061137a565b50978a0197955050509187019160010161133d565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561141d57603f1988860301845261140b858351611229565b945092850192908501906001016113ef565b5092979650505050505050565b600181811c9082168061143e57607f821691505b60208210810361145e57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561148c57600080fd5b5051919050565b600082516114a5818460208701611205565b9190910192915050565b6000602082840312156114c157600080fd5b81516001600160a01b03811681146114d857600080fd5b9392505050565b6001600160a01b038316815260406020820181905260009061150390830184611229565b94935050505056fea2646970667358221220d6a5281c29ea59419e1497e4e89e8185e243354384721903b8a83961e6b7e32364736f6c63430008130033","sourceMap":"833:2031:17:-:0;;;3126:44:22;;;3166:4;-1:-1:-1;;3126:44:22;;;;;;;;1016:26:32;;;;;;;;;;;833:2031:17;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061022f5760003560e01c8062b1fad714610234578063030e4006146102595780630688b135146102615780630f166ad414610269578063174eedde1461026f578063176effb31461027657806318540361146102875780631b96dce6146102995780631e7bcb2e146102a15780631ed7831c146102a95780632ade3880146102be5780633554642a146102d357806339f56f7f146102e45780633e5e3c23146102ec5780633f7286f4146102f45780634bf4ba21146102fc578063587c1243146103045780635aff59991461030c57806366d003ac1461031457806366d9a9a01461031c5780636a38dd0a1461033157806370a329441461033957806374d9284e1461026f578063759c9a861461034157806379e62d0d146103495780637b103999146103515780637b2edf32146103675780637cbe79ed1461036f578063829e423f1461026f57806385226c81146103775780638c7408c41461026f5780638e0d1a501461038c5780638e3c249314610394578063916a17c61461039c578063a407c67a146103a4578063aa3744bd146103ac578063b5508aa9146103b4578063ba414fa6146103bc578063c5d7d73b146103d4578063d1e82b58146103e5578063d1f2cd88146103ed578063d5bee9f5146103f5578063da4bf087146103fd578063dac4eb1614610405578063e20c9f711461040d578063ef0d790f14610415578063fa7626d41461041d578063fd325c601461042a575b600080fd5b61023c610432565b6040516001600160a01b0390911681526020015b60405180910390f35b61023c610467565b61023c61049d565b3061023c565b600061023c565b6020546001600160a01b031661023c565b6023545b604051908152602001610250565b61023c6104ca565b61023c6104fb565b6102b161052e565b60405161025091906111b8565b6102c6610590565b6040516102509190611255565b6024546001600160a01b031661023c565b60215461028b565b6102b16106d2565b6102b1610732565b6102b1610792565b61023c6107b5565b61023c6107e8565b61023c61081b565b610324610847565b6040516102509190611315565b61023c61092d565b6102b161095d565b61023c6109f5565b6102b1610a24565b601e5461010090046001600160a01b031661023c565b61023c610a8c565b61023c610abf565b61037f610aec565b60405161025091906113c8565b61023c610bbc565b61023c610be9565b610324610c1c565b6102b1610d02565b61023c610d6a565b61037f610d97565b6103c4610e67565b6040519015158152602001610250565b6022546001600160a01b031661023c565b61023c610f0b565b61023c610f3e565b61023c610f6f565b61023c610f9d565b61023c610fcd565b6102b1610ffe565b61023c61105e565b601e546103c49060ff1681565b601f5461028b565b60006104626040518060400160405280600d81526020016c706f6f6c5f6d616e616765723160981b815250611090565b905090565b600061046260405180604001604052806013815260200172383937b334b63298afb737ba20a6b2b6b132b960691b815250611090565b60006104626040518060400160405280600a8152602001693932b1b4b834b2b73a1960b11b815250611090565b60006104626040518060400160405280600e81526020016d383937b334b632992fb7bbb732b960911b815250611090565b60006104626040518060400160405280601081526020016f70726f66696c65315f6d656d6265723160801b815250611090565b6060601680548060200260200160405190810160405280929190818152602001828054801561058657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610568575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b828210156106c957600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156106b25783829060005260206000200180546106259061142a565b80601f01602080910402602001604051908101604052809291908181526020018280546106519061142a565b801561069e5780601f106106735761010080835404028352916020019161069e565b820191906000526020600020905b81548152906001019060200180831161068157829003601f168201915b505050505081526020019060010190610606565b5050505081525050815260200190600101906105b4565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020018280548015610586576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610568575050505050905090565b60606017805480602002602001604051908101604052809291908181526020018280548015610586576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610568575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006104626040518060400160405280601081526020016f70726f66696c65325f6d656d6265723160801b815250611090565b60006104626040518060400160405280601081526020016f726563697069656e744164647265737360801b815250611090565b6000610462604051806040016040528060098152602001681c9958da5c1a595b9d60ba1b815250611090565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156106c95760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561091557602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116108d75790505b5050505050815250508152602001906001019061086b565b60006104626040518060400160405280600d81526020016c3837b7b62fb6b0b730b3b2b91960991b815250611090565b6040805160028082526060808301845292600092919060208301908036833701905050905061098a6104fb565b8160008151811061099d5761099d611464565b60200260200101906001600160a01b031690816001600160a01b0316815250506109c5610a8c565b816001815181106109d8576109d8611464565b6001600160a01b0390921660209283029190910190910152919050565b60006104626040518060400160405280600c81526020016b1b9bd7dc9958da5c1a595b9d60a21b815250611090565b60408051600280825260608083018452926000929190602083019080368337019050509050610a51610432565b81600081518110610a6457610a64611464565b60200260200101906001600160a01b031690816001600160a01b0316815250506109c561092d565b60006104626040518060400160405280601081526020016f383937b334b63298afb6b2b6b132b91960811b815250611090565b60006104626040518060400160405280600a81526020016930b63637afb7bbb732b960b11b815250611090565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156106c9578382906000526020600020018054610b2f9061142a565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5b9061142a565b8015610ba85780601f10610b7d57610100808354040283529160200191610ba8565b820191906000526020600020905b815481529060010190602001808311610b8b57829003601f168201915b505050505081526020019060010190610b10565b60006104626040518060400160405280600a8152602001693837b7b62fb0b236b4b760b11b815250611090565b60006104626040518060400160405280601081526020016f383937b334b632992fb6b2b6b132b91960811b815250611090565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156106c95760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610cea57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610cac5790505b50505050508152505081526020019060010190610c40565b60408051600280825260608083018452926000929190602083019080368337019050509050610d2f6107b5565b81600081518110610d4257610d42611464565b60200260200101906001600160a01b031690816001600160a01b0316815250506109c5610be9565b60006104626040518060400160405280600a815260200169726563697069656e743160b01b815250611090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156106c9578382906000526020600020018054610dda9061142a565b80601f0160208091040260200160405190810160405280929190818152602001828054610e069061142a565b8015610e535780601f10610e2857610100808354040283529160200191610e53565b820191906000526020600020905b815481529060010190602001808311610e3657829003601f168201915b505050505081526020019060010190610dbb565b60085460009060ff1615610e7f575060085460ff1690565b604051630667f9d760e41b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190526519985a5b195960d21b602483015260009163667f9d7090604401602060405180830381865afa158015610ee0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f04919061147a565b1415905090565b60006104626040518060400160405280601081526020016f3837b7b62fb737ba20a6b0b730b3b2b960811b815250611090565b60006104626040518060400160405280600e81526020016d383937b334b63298afb7bbb732b960911b815250611090565b60006104626040518060400160405280600b81526020016a1c985b991bdb4818da185960aa1b815250611090565b60006104626040518060400160405280600d81526020016c616c6c6f5f747265617375727960981b815250611090565b60006104626040518060400160405280600e81526020016d3932b3b4b9ba393cafb7bbb732b960911b815250611090565b60606015805480602002602001604051908101604052809291908181526020018280548015610586576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610568575050505050905090565b600061046260405180604001604052806013815260200172383937b334b632992fb737ba20a6b2b6b132b960691b8152505b600061109b826110a2565b5092915050565b600080826040516020016110b69190611493565b60408051808303601f190181529082905280516020909101206001625e79b760e01b03198252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa158015611121573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114591906114af565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061118190859087906004016114df565b600060405180830381600087803b15801561119b57600080fd5b505af11580156111af573d6000803e3d6000fd5b50505050915091565b6020808252825182820181905260009190848201906040850190845b818110156111f95783516001600160a01b0316835292840192918401916001016111d4565b50909695505050505050565b60005b83811015611220578181015183820152602001611208565b50506000910152565b60008151808452611241816020860160208601611205565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101561130557603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156112ef57605f198985030183526112dd848651611229565b948e01949350918d01916001016112c1565b505050978a01979450509188019160010161127c565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156113b957898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156113a45783516001600160e01b0319168252928b019260019290920191908b019061137a565b50978a0197955050509187019160010161133d565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561141d57603f1988860301845261140b858351611229565b945092850192908501906001016113ef565b5092979650505050505050565b600181811c9082168061143e57607f821691505b60208210810361145e57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561148c57600080fd5b5051919050565b600082516114a5818460208701611205565b9190910192915050565b6000602082840312156114c157600080fd5b81516001600160a01b03811681146114d857600080fd5b9392505050565b6001600160a01b038316815260406020820181905260009061150390830184611229565b94935050505056fea2646970667358221220d6a5281c29ea59419e1497e4e89e8185e243354384721903b8a83961e6b7e32364736f6c63430008130033","sourceMap":"833:2031:17:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:15;;;:::i;:::-;;;-1:-1:-1;;;;;178:32:126;;;160:51;;148:2;133:18;1763:107:15;;;;;;;;2429:119;;;:::i;4045:101::-;;;:::i;226:92::-;306:4;226:92;;905:138;968:7;905:138;;2159:111:17;2244:19;;-1:-1:-1;;;;;2244:19:17;2159:111;;2572:97;2650:12;;2572:97;;;368:25:126;;;356:2;341:18;2572:97:17;222:177:126;3126:109:15;;;:::i;2554:113::-;;;:::i;2452:134:25:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;2757:105:17:-;2839:16;;-1:-1:-1;;;;;2839:16:17;2757:105;;2276:97;2354:12;;2276:97;;3221:133:25;;;:::i;2922:141::-;;;:::i;1331:118:15:-;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;4152:99::-;;;:::i;2738:178:25:-;;;:::i;:::-;;;;;;;:::i;1876:107:15:-;;;:::i;2792:241::-;;;:::i;4376:105::-;;;:::i;1989:232::-;;;:::i;610:85:17:-;678:10;;;;;-1:-1:-1;;;;;678:10:17;610:85;;2673:113:15;;;:::i;439:101::-;;;:::i;2592:140:25:-;;;:::i;:::-;;;;;;;:::i;1537:101:15:-;;;:::i;3485:113::-;;;:::i;3069:146:25:-;;;:::i;3604:241:15:-;;;:::i;3938:101::-;;;:::i;2157:141:25:-;;;:::i;1243:204:21:-;;;:::i;:::-;;;6119:14:126;;6112:22;6094:41;;6082:2;6067:18;1243:204:21;5954:187:126;2461:105:17;2543:16;;-1:-1:-1;;;;;2543:16:17;2461:105;;1644:113:15;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;546:124::-;;;:::i;324:109::-;;;:::i;2304:142:25:-;;;:::i;3241:119:15:-;;;:::i;1016:26:32:-;;;;;;;;;2050:103:17;2131:15;;2050:103;;1763:107:15;1812:7;1838:25;;;;;;;;;;;;;;-1:-1:-1;;;1838:25:15;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;-1:-1:-1;;;2510:31:15;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;-1:-1:-1;;;4117:22:15;;;:8;:22::i;3126:109::-;3176:7;3202:26;;;;;;;;;;;;;;-1:-1:-1;;;3202:26:15;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;-1:-1:-1;;;2632:28:15;;;:8;:28::i;2452:134:25:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:25;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;3221:133::-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:25;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:25;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;1331:118:15:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:15;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;-1:-1:-1;;;3444:28:15;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;-1:-1:-1;;;4335:28:15;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;-1:-1:-1;;;4223:21:15;;;:8;:21::i;2738:178:25:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:15;1925:7;1951:25;;;;;;;;;;;;;;-1:-1:-1;;;1951:25:15;;;:8;:25::i;2792:241::-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:15;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:15;;;-1:-1:-1;;;;;2926:32:15;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:15;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:15:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;-1:-1:-1;;;4450:24:15;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:15;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:15;;;-1:-1:-1;;;;;2120:29:15;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;-1:-1:-1;;;2751:28:15;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;-1:-1:-1;;;511:22:15;;;:8;:22::i;2592:140:25:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1537:101:15;1583:7;1609:22;;;;;;;;;;;;;;-1:-1:-1;;;1609:22:15;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;-1:-1:-1;;;3563:28:15;;;:8;:28::i;3069:146:25:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3604:241:15;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:15;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:15;;;-1:-1:-1;;;;;3738:32:15;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;-1:-1:-1;;;4010:22:15;;;:8;:22::i;2157:141:25:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1243:204:21;1302:7;;1282:4;;1302:7;;1298:143;;;-1:-1:-1;1332:7:21;;;;;1243:204::o;1298:143::-;1377:39;;-1:-1:-1;;;1377:39:21;;:7;:39;;;7193:51:126;;;-1:-1:-1;;;7260:18:126;;;7253:34;1428:1:21;;1377:7;;7166:18:126;;1377:39:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;1644:113:15:-;1696:7;1722:28;;;;;;;;;;;;;;-1:-1:-1;;;1722:28:15;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;-1:-1:-1;;;2390:26:15;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;-1:-1:-1;;;4646:23:15;;;:8;:23::i;546:124::-;595:15;637:25;;;;;;;;;;;;;;-1:-1:-1;;;637:25:15;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;-1:-1:-1;;;400:26:15;;;:8;:26::i;2304:142:25:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:25;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3241:119:15:-;3296:7;3322:31;;;;;;;;;;;;;;-1:-1:-1;;;3322:31:15;;;20439:125:23;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:23;20439:125;-1:-1:-1;;20439:125:23:o;20158:242::-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:23;;;;;;;20293:33;;20303:22;20293:33;;;;-1:-1:-1;;;;;;20344:19:23;;;;;368:25:126;;;20293:33:23;-1:-1:-1;20344:7:23;;;;341:18:126;;20344:19:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:23;;20337:26;;-1:-1:-1;20373:8:23;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;404:658:126:-;575:2;627:21;;;697:13;;600:18;;;719:22;;;546:4;;575:2;798:15;;;;772:2;757:18;;;546:4;841:195;855:6;852:1;849:13;841:195;;;920:13;;-1:-1:-1;;;;;916:39:126;904:52;;1011:15;;;;976:12;;;;952:1;870:9;841:195;;;-1:-1:-1;1053:3:126;;404:658;-1:-1:-1;;;;;;404:658:126:o;1067:250::-;1152:1;1162:113;1176:6;1173:1;1170:13;1162:113;;;1252:11;;;1246:18;1233:11;;;1226:39;1198:2;1191:10;1162:113;;;-1:-1:-1;;1309:1:126;1291:16;;1284:27;1067:250::o;1322:271::-;1364:3;1402:5;1396:12;1429:6;1424:3;1417:19;1445:76;1514:6;1507:4;1502:3;1498:14;1491:4;1484:5;1480:16;1445:76;:::i;:::-;1575:2;1554:15;-1:-1:-1;;1550:29:126;1541:39;;;;1582:4;1537:50;;1322:271;-1:-1:-1;;1322:271:126:o;1598:1744::-;1833:2;1885:21;;;1955:13;;1858:18;;;1977:22;;;1804:4;;1833:2;2018;;2036:18;;;;2073:1;2116:15;;;2101:31;;2097:40;;2160:15;;;1804:4;;2224:1089;2240:6;2235:3;2232:15;2224:1089;;;-1:-1:-1;;2309:22:126;;;2305:36;2293:49;;2365:13;;2452:9;;-1:-1:-1;;;;;2448:35:126;2433:51;;2523:11;;2517:18;2555:15;;;2548:27;;;2636:19;;2405:15;;;2668:24;;;2849:21;;;;2715:2;2797:17;;;2785:30;;2781:39;;;2739:15;;;;2894:1;2908:296;2924:8;2919:3;2916:17;2908:296;;;3030:2;3026:7;3017:6;3009;3005:19;3001:33;2994:5;2987:48;3062:42;3097:6;3086:8;3080:15;3062:42;:::i;:::-;3133:17;;;;3052:52;-1:-1:-1;3176:14:126;;;;2952:1;2943:11;2908:296;;;-1:-1:-1;;;3291:12:126;;;;3227:6;-1:-1:-1;;3256:15:126;;;;2266:1;2257:11;2224:1089;;;-1:-1:-1;3330:6:126;;1598:1744;-1:-1:-1;;;;;;;;;;1598:1744:126:o;3347:1569::-;3551:4;3580:2;3620;3609:9;3605:18;3650:2;3639:9;3632:21;3673:6;3708;3702:13;3739:6;3731;3724:22;3765:2;3755:12;;3798:2;3787:9;3783:18;3776:25;;3860:2;3850:6;3847:1;3843:14;3832:9;3828:30;3824:39;3898:2;3890:6;3886:15;3919:1;3940;3950:937;3966:6;3961:3;3958:15;3950:937;;;4035:22;;;-1:-1:-1;;4031:36:126;4019:49;;4091:13;;4178:9;;-1:-1:-1;;;;;4174:35:126;4159:51;;4249:11;;4243:18;4281:15;;;4274:27;;;4362:19;;4131:15;;;4394:24;;;4484:21;;;;4529:1;;4452:2;4440:15;;;4543:236;4559:8;4554:3;4551:17;4543:236;;;4640:15;;-1:-1:-1;;;;;;4636:42:126;4622:57;;4748:17;;;;4587:1;4578:11;;;;;4705:14;;;;4543:236;;;-1:-1:-1;4865:12:126;;;;4802:5;-1:-1:-1;;;4830:15:126;;;;3992:1;3983:11;3950:937;;;-1:-1:-1;4904:6:126;;3347:1569;-1:-1:-1;;;;;;;;;3347:1569:126:o;5146:803::-;5308:4;5337:2;5377;5366:9;5362:18;5407:2;5396:9;5389:21;5430:6;5465;5459:13;5496:6;5488;5481:22;5534:2;5523:9;5519:18;5512:25;;5596:2;5586:6;5583:1;5579:14;5568:9;5564:30;5560:39;5546:53;;5634:2;5626:6;5622:15;5655:1;5665:255;5679:6;5676:1;5673:13;5665:255;;;5772:2;5768:7;5756:9;5748:6;5744:22;5740:36;5735:3;5728:49;5800:40;5833:6;5824;5818:13;5800:40;:::i;:::-;5790:50;-1:-1:-1;5898:12:126;;;;5863:15;;;;5701:1;5694:9;5665:255;;;-1:-1:-1;5937:6:126;;5146:803;-1:-1:-1;;;;;;;5146:803:126:o;6370:380::-;6449:1;6445:12;;;;6492;;;6513:61;;6567:4;6559:6;6555:17;6545:27;;6513:61;6620:2;6612:6;6609:14;6589:18;6586:38;6583:161;;6666:10;6661:3;6657:20;6654:1;6647:31;6701:4;6698:1;6691:15;6729:4;6726:1;6719:15;6583:161;;6370:380;;;:::o;6887:127::-;6948:10;6943:3;6939:20;6936:1;6929:31;6979:4;6976:1;6969:15;7003:4;7000:1;6993:15;7298:184;7368:6;7421:2;7409:9;7400:7;7396:23;7392:32;7389:52;;;7437:1;7434;7427:12;7389:52;-1:-1:-1;7460:16:126;;7298:184;-1:-1:-1;7298:184:126:o;7487:289::-;7618:3;7656:6;7650:13;7672:66;7731:6;7726:3;7719:4;7711:6;7707:17;7672:66;:::i;:::-;7754:16;;;;;7487:289;-1:-1:-1;;7487:289:126:o;7963:290::-;8033:6;8086:2;8074:9;8065:7;8061:23;8057:32;8054:52;;;8102:1;8099;8092:12;8054:52;8128:16;;-1:-1:-1;;;;;8173:31:126;;8163:42;;8153:70;;8219:1;8216;8209:12;8153:70;8242:5;7963:290;-1:-1:-1;;;7963:290:126:o;8258:317::-;-1:-1:-1;;;;;8435:32:126;;8417:51;;8504:2;8499;8484:18;;8477:30;;;-1:-1:-1;;8524:45:126;;8550:18;;8542:6;8524:45;:::i;:::-;8516:53;8258:317;-1:-1:-1;;;;8258:317:126:o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","local()":"0f166ad4","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_anchor()":"176effb3","poolProfile_id()":"fd325c60","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_anchor()":"c5d7d73b","profile1_id()":"39f56f7f","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_anchor()":"3554642a","profile2_id()":"18540361","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry()":"7b103999","registry_owner()":"dac4eb16","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract Registry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"RegistrySetupFull\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"This contract is used to setup a Registry contract with two identities for testing purposes.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":\"RegistrySetupFull\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":{\"keccak256\":\"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb\",\"dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c\",\"dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b\",\"dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract Registry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":"RegistrySetupFull"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":{"keccak256":"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b","urls":["bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb","dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j"],"license":"AGPL-3.0-only"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361","urls":["bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c","dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef","urls":["bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b","dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab","urls":["bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d","dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":5830,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)13196_storage"},{"astId":5987,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":8488,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":8509,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)8504_storage)"},{"astId":8513,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":8517,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":8520,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":9278,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":11315,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)13196_storage"},{"astId":12183,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_excludedContracts","offset":0,"slot":"21","type":"t_array(t_address)dyn_storage"},{"astId":12186,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_excludedSenders","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"},{"astId":12189,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedContracts","offset":0,"slot":"23","type":"t_array(t_address)dyn_storage"},{"astId":12192,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedSenders","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":12195,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_excludedArtifacts","offset":0,"slot":"25","type":"t_array(t_string_storage)dyn_storage"},{"astId":12198,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedArtifacts","offset":0,"slot":"26","type":"t_array(t_string_storage)dyn_storage"},{"astId":12202,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedArtifactSelectors","offset":0,"slot":"27","type":"t_array(t_struct(FuzzSelector)12174_storage)dyn_storage"},{"astId":12206,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedSelectors","offset":0,"slot":"28","type":"t_array(t_struct(FuzzSelector)12174_storage)dyn_storage"},{"astId":12210,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedInterfaces","offset":0,"slot":"29","type":"t_array(t_struct(FuzzInterface)12180_storage)dyn_storage"},{"astId":17795,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"IS_TEST","offset":0,"slot":"30","type":"t_bool"},{"astId":5104,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_registry_","offset":1,"slot":"30","type":"t_contract(Registry)2295"},{"astId":5137,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_poolProfileId_","offset":0,"slot":"31","type":"t_bytes32"},{"astId":5139,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_poolProfileAnchor_","offset":0,"slot":"32","type":"t_address"},{"astId":5141,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_profile1Id_","offset":0,"slot":"33","type":"t_bytes32"},{"astId":5143,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_profile1Anchor_","offset":0,"slot":"34","type":"t_address"},{"astId":5145,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_profile2Id_","offset":0,"slot":"35","type":"t_bytes32"},{"astId":5147,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_profile2Anchor_","offset":0,"slot":"36","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzInterface)12180_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)12180_storage"},"t_array(t_struct(FuzzSelector)12174_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)12174_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(Registry)2295":{"encoding":"inplace","label":"contract Registry","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13171_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13171_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13171_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)8504_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)8504_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)8504_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":8497,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":8499,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":8501,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":8503,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)13171_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13164,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13166,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13168,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13170,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzInterface)12180_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":12176,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12179,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)12174_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":12170,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12173,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(StdStorage)13196_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13180,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage)))"},{"astId":13183,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13185,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13187,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13189,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13191,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13193,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13195,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol","id":5297,"exportedSymbols":{"Accounts":[5026],"Metadata":[3098],"Registry":[2295],"RegistrySetup":[5132],"RegistrySetupFull":[5296],"StdAssertions":[8464],"StdChains":[9246],"StdCheats":[12099],"StdInvariant":[12424],"StdStorage":[13196],"StdStyle":[16366],"StdUtils":[17744],"Test":[17796],"TestBase":[5834],"Vm":[21446],"console":[29510],"console2":[37635],"safeconsole":[52360],"stdError":[12165],"stdJson":[13016],"stdMath":[13158],"stdStorage":[15155],"stdToml":[16958]},"nodeType":"SourceUnit","src":"42:2823:17","nodes":[{"id":5089,"nodeType":"PragmaDirective","src":"42:24:17","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":5090,"nodeType":"ImportDirective","src":"68:28:17","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":17797,"symbolAliases":[],"unitAlias":""},{"id":5092,"nodeType":"ImportDirective","src":"98:62:17","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","file":"../../../contracts/core/Registry.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":2296,"symbolAliases":[{"foreign":{"id":5091,"name":"Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"106:8:17","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5094,"nodeType":"ImportDirective","src":"161:72:17","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../../../contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":5093,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"169:8:17","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5096,"nodeType":"ImportDirective","src":"234:40:17","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"./Accounts.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":5027,"symbolAliases":[{"foreign":{"id":5095,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5026,"src":"242:8:17","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5132,"nodeType":"ContractDefinition","src":"393:304:17","nodes":[{"id":5104,"nodeType":"VariableDeclaration","src":"440:28:17","nodes":[],"constant":false,"mutability":"mutable","name":"_registry_","nameLocation":"458:10:17","scope":5132,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":5103,"nodeType":"UserDefinedTypeName","pathNode":{"id":5102,"name":"Registry","nameLocations":["440:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"440:8:17"},"referencedDeclaration":2295,"src":"440:8:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"},{"id":5122,"nodeType":"FunctionDefinition","src":"475:129:17","nodes":[],"body":{"id":5121,"nodeType":"Block","src":"511:93:17","nodes":[],"statements":[{"expression":{"id":5112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5107,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"521:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":5110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"534:12:17","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () returns (contract Registry)"},"typeName":{"id":5109,"nodeType":"UserDefinedTypeName","pathNode":{"id":5108,"name":"Registry","nameLocations":["538:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"538:8:17"},"referencedDeclaration":2295,"src":"538:8:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}},"id":5111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"534:14:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"src":"521:27:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5113,"nodeType":"ExpressionStatement","src":"521:27:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5117,"name":"registry_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4675,"src":"580:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"580:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5114,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"558:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"569:10:17","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":1578,"src":"558:21:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"558:39:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5120,"nodeType":"ExpressionStatement","src":"558:39:17"}]},"implemented":true,"kind":"function","modifiers":[],"name":"__RegistrySetup","nameLocation":"484:15:17","parameters":{"id":5105,"nodeType":"ParameterList","parameters":[],"src":"499:2:17"},"returnParameters":{"id":5106,"nodeType":"ParameterList","parameters":[],"src":"511:0:17"},"scope":5132,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5131,"nodeType":"FunctionDefinition","src":"610:85:17","nodes":[],"body":{"id":5130,"nodeType":"Block","src":"661:34:17","nodes":[],"statements":[{"expression":{"id":5128,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"678:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"functionReturnParameters":5127,"id":5129,"nodeType":"Return","src":"671:17:17"}]},"functionSelector":"7b103999","implemented":true,"kind":"function","modifiers":[],"name":"registry","nameLocation":"619:8:17","parameters":{"id":5123,"nodeType":"ParameterList","parameters":[],"src":"627:2:17"},"returnParameters":{"id":5127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5126,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5131,"src":"651:8:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":5125,"nodeType":"UserDefinedTypeName","pathNode":{"id":5124,"name":"Registry","nameLocations":["651:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"651:8:17"},"referencedDeclaration":2295,"src":"651:8:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"}],"src":"650:10:17"},"scope":5132,"stateMutability":"view","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":5098,"name":"Test","nameLocations":["419:4:17"],"nodeType":"IdentifierPath","referencedDeclaration":17796,"src":"419:4:17"},"id":5099,"nodeType":"InheritanceSpecifier","src":"419:4:17"},{"baseName":{"id":5100,"name":"Accounts","nameLocations":["425:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":5026,"src":"425:8:17"},"id":5101,"nodeType":"InheritanceSpecifier","src":"425:8:17"}],"canonicalName":"RegistrySetup","contractDependencies":[],"contractKind":"contract","documentation":{"id":5097,"nodeType":"StructuredDocumentation","src":"276:117:17","text":"@title RegistrySetup\n @notice This contract is used to setup an empty Registry contract for testing purposes."},"fullyImplemented":true,"linearizedBaseContracts":[5132,5026,17796,17744,12424,12099,11306,9246,8464,5834,5831],"name":"RegistrySetup","nameLocation":"402:13:17","scope":5297,"usedErrors":[]},{"id":5296,"nodeType":"ContractDefinition","src":"833:2031:17","nodes":[{"id":5137,"nodeType":"VariableDeclaration","src":"883:32:17","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileId_","nameLocation":"900:15:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5136,"name":"bytes32","nodeType":"ElementaryTypeName","src":"883:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5139,"nodeType":"VariableDeclaration","src":"921:36:17","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileAnchor_","nameLocation":"938:19:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5138,"name":"address","nodeType":"ElementaryTypeName","src":"921:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5141,"nodeType":"VariableDeclaration","src":"964:29:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile1Id_","nameLocation":"981:12:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5140,"name":"bytes32","nodeType":"ElementaryTypeName","src":"964:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5143,"nodeType":"VariableDeclaration","src":"999:33:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile1Anchor_","nameLocation":"1016:16:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5142,"name":"address","nodeType":"ElementaryTypeName","src":"999:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5145,"nodeType":"VariableDeclaration","src":"1039:29:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile2Id_","nameLocation":"1056:12:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5144,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1039:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5147,"nodeType":"VariableDeclaration","src":"1074:33:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile2Anchor_","nameLocation":"1091:16:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5146,"name":"address","nodeType":"ElementaryTypeName","src":"1074:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5247,"nodeType":"FunctionDefinition","src":"1114:930:17","nodes":[],"body":{"id":5246,"nodeType":"Block","src":"1154:890:17","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5150,"name":"__RegistrySetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5122,"src":"1164:15:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":5151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1164:17:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5152,"nodeType":"ExpressionStatement","src":"1164:17:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5156,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"1201:10:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1201:12:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5153,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1192:2:17","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":5155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1195:5:17","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"1192:8:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1192:22:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5159,"nodeType":"ExpressionStatement","src":"1192:22:17"},{"expression":{"id":5174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5160,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5137,"src":"1224:15:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1280:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"506f6f6c2050726f66696c652031","id":5164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1283:16:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},"value":"Pool Profile 1"},{"arguments":[{"hexValue":"31","id":5166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1321:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"506f6f6c50726f66696c6531","id":5167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1333:14:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""},"value":"PoolProfile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""}],"id":5165,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1301:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1311:8:17","1324:7:17"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1301:48:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5169,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"1351:10:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1351:12:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5171,"name":"pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4817,"src":"1365:13:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1365:15:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5161,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1242:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1253:13:17","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1242:24:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1242:148:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1224:166:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5175,"nodeType":"ExpressionStatement","src":"1224:166:17"},{"expression":{"id":5182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5176,"name":"_poolProfileAnchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5139,"src":"1400:19:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5179,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5137,"src":"1448:15:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5177,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1422:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1433:14:17","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1422:25:17","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1422:42:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5181,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1465:6:17","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1422:49:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1400:71:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5183,"nodeType":"ExpressionStatement","src":"1400:71:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5187,"name":"profile1_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4827,"src":"1491:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1491:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5184,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1482:2:17","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":5186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1485:5:17","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"1482:8:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1482:26:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5190,"nodeType":"ExpressionStatement","src":"1482:26:17"},{"expression":{"id":5205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5191,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5141,"src":"1518:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1571:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"50726f66696c652031","id":5195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1574:11:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_7a4d1a86b77644d9aa7e12702075d0cc1d67dd228b7576543777572405c3e57d","typeString":"literal_string \"Profile 1\""},"value":"Profile 1"},{"arguments":[{"hexValue":"31","id":5197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1607:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"50726f66696c6531","id":5198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1619:10:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_d28bcd24e2e164eb1cb6c81d71a03069dd8b48e2f319680c98ba010be8944d6d","typeString":"literal_string \"Profile1\""},"value":"Profile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_d28bcd24e2e164eb1cb6c81d71a03069dd8b48e2f319680c98ba010be8944d6d","typeString":"literal_string \"Profile1\""}],"id":5196,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1587:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1597:8:17","1610:7:17"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1587:44:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5200,"name":"profile1_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4827,"src":"1633:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1633:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5202,"name":"profile1_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4891,"src":"1651:16:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1651:18:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_7a4d1a86b77644d9aa7e12702075d0cc1d67dd228b7576543777572405c3e57d","typeString":"literal_string \"Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5192,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1533:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1544:13:17","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1533:24:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1533:146:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1518:161:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5206,"nodeType":"ExpressionStatement","src":"1518:161:17"},{"expression":{"id":5213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5207,"name":"_profile1Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5143,"src":"1689:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5210,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5141,"src":"1734:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5208,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1708:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1719:14:17","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1708:25:17","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1708:39:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5212,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1748:6:17","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1708:46:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1689:65:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5214,"nodeType":"ExpressionStatement","src":"1689:65:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5218,"name":"profile2_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4901,"src":"1774:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1774:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5215,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1765:2:17","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":5217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1768:5:17","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"1765:8:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1765:26:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5221,"nodeType":"ExpressionStatement","src":"1765:26:17"},{"expression":{"id":5236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5222,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5145,"src":"1801:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1854:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"50726f66696c652032","id":5226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1857:11:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_937ec7a665f78170bc3bb3b9c6576f30e49f3c58eb7105b0778843f3f72198b2","typeString":"literal_string \"Profile 2\""},"value":"Profile 2"},{"arguments":[{"hexValue":"31","id":5228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1890:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"50726f66696c6532","id":5229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1902:10:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_f54d7fb3952364f7566be93625e44393de35ac48ada574494f41163506f729ca","typeString":"literal_string \"Profile2\""},"value":"Profile2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f54d7fb3952364f7566be93625e44393de35ac48ada574494f41163506f729ca","typeString":"literal_string \"Profile2\""}],"id":5227,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1870:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1880:8:17","1893:7:17"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1870:44:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5231,"name":"profile2_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4901,"src":"1916:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1916:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5233,"name":"profile2_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4965,"src":"1934:16:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1934:18:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_937ec7a665f78170bc3bb3b9c6576f30e49f3c58eb7105b0778843f3f72198b2","typeString":"literal_string \"Profile 2\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5223,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1816:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1827:13:17","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1816:24:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1816:146:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1801:161:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5237,"nodeType":"ExpressionStatement","src":"1801:161:17"},{"expression":{"id":5244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5238,"name":"_profile2Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5147,"src":"1972:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5241,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5145,"src":"2017:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5239,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1991:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2002:14:17","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1991:25:17","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1991:39:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5243,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2031:6:17","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1991:46:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1972:65:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5245,"nodeType":"ExpressionStatement","src":"1972:65:17"}]},"implemented":true,"kind":"function","modifiers":[],"name":"__RegistrySetupFull","nameLocation":"1123:19:17","parameters":{"id":5148,"nodeType":"ParameterList","parameters":[],"src":"1142:2:17"},"returnParameters":{"id":5149,"nodeType":"ParameterList","parameters":[],"src":"1154:0:17"},"scope":5296,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5255,"nodeType":"FunctionDefinition","src":"2050:103:17","nodes":[],"body":{"id":5254,"nodeType":"Block","src":"2114:39:17","nodes":[],"statements":[{"expression":{"id":5252,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5137,"src":"2131:15:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5251,"id":5253,"nodeType":"Return","src":"2124:22:17"}]},"functionSelector":"fd325c60","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_id","nameLocation":"2059:14:17","parameters":{"id":5248,"nodeType":"ParameterList","parameters":[],"src":"2073:2:17"},"returnParameters":{"id":5251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5250,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5255,"src":"2105:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5249,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2105:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2104:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5263,"nodeType":"FunctionDefinition","src":"2159:111:17","nodes":[],"body":{"id":5262,"nodeType":"Block","src":"2227:43:17","nodes":[],"statements":[{"expression":{"id":5260,"name":"_poolProfileAnchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5139,"src":"2244:19:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5259,"id":5261,"nodeType":"Return","src":"2237:26:17"}]},"functionSelector":"176effb3","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_anchor","nameLocation":"2168:18:17","parameters":{"id":5256,"nodeType":"ParameterList","parameters":[],"src":"2186:2:17"},"returnParameters":{"id":5259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5258,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5263,"src":"2218:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5257,"name":"address","nodeType":"ElementaryTypeName","src":"2218:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2217:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5271,"nodeType":"FunctionDefinition","src":"2276:97:17","nodes":[],"body":{"id":5270,"nodeType":"Block","src":"2337:36:17","nodes":[],"statements":[{"expression":{"id":5268,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5141,"src":"2354:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5267,"id":5269,"nodeType":"Return","src":"2347:19:17"}]},"functionSelector":"39f56f7f","implemented":true,"kind":"function","modifiers":[],"name":"profile1_id","nameLocation":"2285:11:17","parameters":{"id":5264,"nodeType":"ParameterList","parameters":[],"src":"2296:2:17"},"returnParameters":{"id":5267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5266,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5271,"src":"2328:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5265,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2328:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2327:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5279,"nodeType":"FunctionDefinition","src":"2461:105:17","nodes":[],"body":{"id":5278,"nodeType":"Block","src":"2526:40:17","nodes":[],"statements":[{"expression":{"id":5276,"name":"_profile1Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5143,"src":"2543:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5275,"id":5277,"nodeType":"Return","src":"2536:23:17"}]},"functionSelector":"c5d7d73b","implemented":true,"kind":"function","modifiers":[],"name":"profile1_anchor","nameLocation":"2470:15:17","parameters":{"id":5272,"nodeType":"ParameterList","parameters":[],"src":"2485:2:17"},"returnParameters":{"id":5275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5274,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5279,"src":"2517:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5273,"name":"address","nodeType":"ElementaryTypeName","src":"2517:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2516:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5287,"nodeType":"FunctionDefinition","src":"2572:97:17","nodes":[],"body":{"id":5286,"nodeType":"Block","src":"2633:36:17","nodes":[],"statements":[{"expression":{"id":5284,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5145,"src":"2650:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5283,"id":5285,"nodeType":"Return","src":"2643:19:17"}]},"functionSelector":"18540361","implemented":true,"kind":"function","modifiers":[],"name":"profile2_id","nameLocation":"2581:11:17","parameters":{"id":5280,"nodeType":"ParameterList","parameters":[],"src":"2592:2:17"},"returnParameters":{"id":5283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5282,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5287,"src":"2624:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5281,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2624:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2623:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5295,"nodeType":"FunctionDefinition","src":"2757:105:17","nodes":[],"body":{"id":5294,"nodeType":"Block","src":"2822:40:17","nodes":[],"statements":[{"expression":{"id":5292,"name":"_profile2Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5147,"src":"2839:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5291,"id":5293,"nodeType":"Return","src":"2832:23:17"}]},"functionSelector":"3554642a","implemented":true,"kind":"function","modifiers":[],"name":"profile2_anchor","nameLocation":"2766:15:17","parameters":{"id":5288,"nodeType":"ParameterList","parameters":[],"src":"2781:2:17"},"returnParameters":{"id":5291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5290,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5295,"src":"2813:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5289,"name":"address","nodeType":"ElementaryTypeName","src":"2813:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2812:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":5134,"name":"RegistrySetup","nameLocations":["863:13:17"],"nodeType":"IdentifierPath","referencedDeclaration":5132,"src":"863:13:17"},"id":5135,"nodeType":"InheritanceSpecifier","src":"863:13:17"}],"canonicalName":"RegistrySetupFull","contractDependencies":[],"contractKind":"contract","documentation":{"id":5133,"nodeType":"StructuredDocumentation","src":"699:134:17","text":"@title RegistrySetupFull\n @notice This contract is used to setup a Registry contract with two identities for testing purposes."},"fullyImplemented":true,"linearizedBaseContracts":[5296,5132,5026,17796,17744,12424,12099,11306,9246,8464,5834,5831],"name":"RegistrySetupFull","nameLocation":"842:17:17","scope":5297,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":17} \ No newline at end of file +{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"poolProfile_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile1_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile2_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Registry"}],"stateMutability":"view"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x6080604052600c8054600160ff199182168117909255601e8054909116909117905534801561002d57600080fd5b506115418061003d6000396000f3fe608060405234801561001057600080fd5b506004361061022f5760003560e01c8062b1fad714610234578063030e4006146102595780630688b135146102615780630f166ad414610269578063174eedde1461026f578063176effb31461027657806318540361146102875780631b96dce6146102995780631e7bcb2e146102a15780631ed7831c146102a95780632ade3880146102be5780633554642a146102d357806339f56f7f146102e45780633e5e3c23146102ec5780633f7286f4146102f45780634bf4ba21146102fc578063587c1243146103045780635aff59991461030c57806366d003ac1461031457806366d9a9a01461031c5780636a38dd0a1461033157806370a329441461033957806374d9284e1461026f578063759c9a861461034157806379e62d0d146103495780637b103999146103515780637b2edf32146103675780637cbe79ed1461036f578063829e423f1461026f57806385226c81146103775780638c7408c41461026f5780638e0d1a501461038c5780638e3c249314610394578063916a17c61461039c578063a407c67a146103a4578063aa3744bd146103ac578063b5508aa9146103b4578063ba414fa6146103bc578063c5d7d73b146103d4578063d1e82b58146103e5578063d1f2cd88146103ed578063d5bee9f5146103f5578063da4bf087146103fd578063dac4eb1614610405578063e20c9f711461040d578063ef0d790f14610415578063fa7626d41461041d578063fd325c601461042a575b600080fd5b61023c610432565b6040516001600160a01b0390911681526020015b60405180910390f35b61023c610467565b61023c61049d565b3061023c565b600061023c565b6020546001600160a01b031661023c565b6023545b604051908152602001610250565b61023c6104ca565b61023c6104fb565b6102b161052e565b60405161025091906111b8565b6102c6610590565b6040516102509190611255565b6024546001600160a01b031661023c565b60215461028b565b6102b16106d2565b6102b1610732565b6102b1610792565b61023c6107b5565b61023c6107e8565b61023c61081b565b610324610847565b6040516102509190611315565b61023c61092d565b6102b161095d565b61023c6109f5565b6102b1610a24565b601e5461010090046001600160a01b031661023c565b61023c610a8c565b61023c610abf565b61037f610aec565b60405161025091906113c8565b61023c610bbc565b61023c610be9565b610324610c1c565b6102b1610d02565b61023c610d6a565b61037f610d97565b6103c4610e67565b6040519015158152602001610250565b6022546001600160a01b031661023c565b61023c610f0b565b61023c610f3e565b61023c610f6f565b61023c610f9d565b61023c610fcd565b6102b1610ffe565b61023c61105e565b601e546103c49060ff1681565b601f5461028b565b60006104626040518060400160405280600d81526020016c706f6f6c5f6d616e616765723160981b815250611090565b905090565b600061046260405180604001604052806013815260200172383937b334b63298afb737ba20a6b2b6b132b960691b815250611090565b60006104626040518060400160405280600a8152602001693932b1b4b834b2b73a1960b11b815250611090565b60006104626040518060400160405280600e81526020016d383937b334b632992fb7bbb732b960911b815250611090565b60006104626040518060400160405280601081526020016f70726f66696c65315f6d656d6265723160801b815250611090565b6060601680548060200260200160405190810160405280929190818152602001828054801561058657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610568575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b828210156106c957600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156106b25783829060005260206000200180546106259061142a565b80601f01602080910402602001604051908101604052809291908181526020018280546106519061142a565b801561069e5780601f106106735761010080835404028352916020019161069e565b820191906000526020600020905b81548152906001019060200180831161068157829003601f168201915b505050505081526020019060010190610606565b5050505081525050815260200190600101906105b4565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020018280548015610586576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610568575050505050905090565b60606017805480602002602001604051908101604052809291908181526020018280548015610586576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610568575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006104626040518060400160405280601081526020016f70726f66696c65325f6d656d6265723160801b815250611090565b60006104626040518060400160405280601081526020016f726563697069656e744164647265737360801b815250611090565b6000610462604051806040016040528060098152602001681c9958da5c1a595b9d60ba1b815250611090565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156106c95760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561091557602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116108d75790505b5050505050815250508152602001906001019061086b565b60006104626040518060400160405280600d81526020016c3837b7b62fb6b0b730b3b2b91960991b815250611090565b6040805160028082526060808301845292600092919060208301908036833701905050905061098a6104fb565b8160008151811061099d5761099d611464565b60200260200101906001600160a01b031690816001600160a01b0316815250506109c5610a8c565b816001815181106109d8576109d8611464565b6001600160a01b0390921660209283029190910190910152919050565b60006104626040518060400160405280600c81526020016b1b9bd7dc9958da5c1a595b9d60a21b815250611090565b60408051600280825260608083018452926000929190602083019080368337019050509050610a51610432565b81600081518110610a6457610a64611464565b60200260200101906001600160a01b031690816001600160a01b0316815250506109c561092d565b60006104626040518060400160405280601081526020016f383937b334b63298afb6b2b6b132b91960811b815250611090565b60006104626040518060400160405280600a81526020016930b63637afb7bbb732b960b11b815250611090565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156106c9578382906000526020600020018054610b2f9061142a565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5b9061142a565b8015610ba85780601f10610b7d57610100808354040283529160200191610ba8565b820191906000526020600020905b815481529060010190602001808311610b8b57829003601f168201915b505050505081526020019060010190610b10565b60006104626040518060400160405280600a8152602001693837b7b62fb0b236b4b760b11b815250611090565b60006104626040518060400160405280601081526020016f383937b334b632992fb6b2b6b132b91960811b815250611090565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156106c95760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610cea57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610cac5790505b50505050508152505081526020019060010190610c40565b60408051600280825260608083018452926000929190602083019080368337019050509050610d2f6107b5565b81600081518110610d4257610d42611464565b60200260200101906001600160a01b031690816001600160a01b0316815250506109c5610be9565b60006104626040518060400160405280600a815260200169726563697069656e743160b01b815250611090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156106c9578382906000526020600020018054610dda9061142a565b80601f0160208091040260200160405190810160405280929190818152602001828054610e069061142a565b8015610e535780601f10610e2857610100808354040283529160200191610e53565b820191906000526020600020905b815481529060010190602001808311610e3657829003601f168201915b505050505081526020019060010190610dbb565b60085460009060ff1615610e7f575060085460ff1690565b604051630667f9d760e41b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190526519985a5b195960d21b602483015260009163667f9d7090604401602060405180830381865afa158015610ee0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f04919061147a565b1415905090565b60006104626040518060400160405280601081526020016f3837b7b62fb737ba20a6b0b730b3b2b960811b815250611090565b60006104626040518060400160405280600e81526020016d383937b334b63298afb7bbb732b960911b815250611090565b60006104626040518060400160405280600b81526020016a1c985b991bdb4818da185960aa1b815250611090565b60006104626040518060400160405280600d81526020016c616c6c6f5f747265617375727960981b815250611090565b60006104626040518060400160405280600e81526020016d3932b3b4b9ba393cafb7bbb732b960911b815250611090565b60606015805480602002602001604051908101604052809291908181526020018280548015610586576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610568575050505050905090565b600061046260405180604001604052806013815260200172383937b334b632992fb737ba20a6b2b6b132b960691b8152505b600061109b826110a2565b5092915050565b600080826040516020016110b69190611493565b60408051808303601f190181529082905280516020909101206001625e79b760e01b03198252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa158015611121573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114591906114af565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061118190859087906004016114df565b600060405180830381600087803b15801561119b57600080fd5b505af11580156111af573d6000803e3d6000fd5b50505050915091565b6020808252825182820181905260009190848201906040850190845b818110156111f95783516001600160a01b0316835292840192918401916001016111d4565b50909695505050505050565b60005b83811015611220578181015183820152602001611208565b50506000910152565b60008151808452611241816020860160208601611205565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101561130557603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156112ef57605f198985030183526112dd848651611229565b948e01949350918d01916001016112c1565b505050978a01979450509188019160010161127c565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156113b957898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156113a45783516001600160e01b0319168252928b019260019290920191908b019061137a565b50978a0197955050509187019160010161133d565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561141d57603f1988860301845261140b858351611229565b945092850192908501906001016113ef565b5092979650505050505050565b600181811c9082168061143e57607f821691505b60208210810361145e57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561148c57600080fd5b5051919050565b600082516114a5818460208701611205565b9190910192915050565b6000602082840312156114c157600080fd5b81516001600160a01b03811681146114d857600080fd5b9392505050565b6001600160a01b038316815260406020820181905260009061150390830184611229565b94935050505056fea26469706673582212202061d35abc43d1f0815a8d62ee3e34f8df741aa0a088019f767c12b0510668df64736f6c63430008130033","sourceMap":"833:2031:17:-:0;;;3126:44:22;;;3166:4;-1:-1:-1;;3126:44:22;;;;;;;;1016:26:32;;;;;;;;;;;833:2031:17;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061022f5760003560e01c8062b1fad714610234578063030e4006146102595780630688b135146102615780630f166ad414610269578063174eedde1461026f578063176effb31461027657806318540361146102875780631b96dce6146102995780631e7bcb2e146102a15780631ed7831c146102a95780632ade3880146102be5780633554642a146102d357806339f56f7f146102e45780633e5e3c23146102ec5780633f7286f4146102f45780634bf4ba21146102fc578063587c1243146103045780635aff59991461030c57806366d003ac1461031457806366d9a9a01461031c5780636a38dd0a1461033157806370a329441461033957806374d9284e1461026f578063759c9a861461034157806379e62d0d146103495780637b103999146103515780637b2edf32146103675780637cbe79ed1461036f578063829e423f1461026f57806385226c81146103775780638c7408c41461026f5780638e0d1a501461038c5780638e3c249314610394578063916a17c61461039c578063a407c67a146103a4578063aa3744bd146103ac578063b5508aa9146103b4578063ba414fa6146103bc578063c5d7d73b146103d4578063d1e82b58146103e5578063d1f2cd88146103ed578063d5bee9f5146103f5578063da4bf087146103fd578063dac4eb1614610405578063e20c9f711461040d578063ef0d790f14610415578063fa7626d41461041d578063fd325c601461042a575b600080fd5b61023c610432565b6040516001600160a01b0390911681526020015b60405180910390f35b61023c610467565b61023c61049d565b3061023c565b600061023c565b6020546001600160a01b031661023c565b6023545b604051908152602001610250565b61023c6104ca565b61023c6104fb565b6102b161052e565b60405161025091906111b8565b6102c6610590565b6040516102509190611255565b6024546001600160a01b031661023c565b60215461028b565b6102b16106d2565b6102b1610732565b6102b1610792565b61023c6107b5565b61023c6107e8565b61023c61081b565b610324610847565b6040516102509190611315565b61023c61092d565b6102b161095d565b61023c6109f5565b6102b1610a24565b601e5461010090046001600160a01b031661023c565b61023c610a8c565b61023c610abf565b61037f610aec565b60405161025091906113c8565b61023c610bbc565b61023c610be9565b610324610c1c565b6102b1610d02565b61023c610d6a565b61037f610d97565b6103c4610e67565b6040519015158152602001610250565b6022546001600160a01b031661023c565b61023c610f0b565b61023c610f3e565b61023c610f6f565b61023c610f9d565b61023c610fcd565b6102b1610ffe565b61023c61105e565b601e546103c49060ff1681565b601f5461028b565b60006104626040518060400160405280600d81526020016c706f6f6c5f6d616e616765723160981b815250611090565b905090565b600061046260405180604001604052806013815260200172383937b334b63298afb737ba20a6b2b6b132b960691b815250611090565b60006104626040518060400160405280600a8152602001693932b1b4b834b2b73a1960b11b815250611090565b60006104626040518060400160405280600e81526020016d383937b334b632992fb7bbb732b960911b815250611090565b60006104626040518060400160405280601081526020016f70726f66696c65315f6d656d6265723160801b815250611090565b6060601680548060200260200160405190810160405280929190818152602001828054801561058657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610568575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b828210156106c957600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156106b25783829060005260206000200180546106259061142a565b80601f01602080910402602001604051908101604052809291908181526020018280546106519061142a565b801561069e5780601f106106735761010080835404028352916020019161069e565b820191906000526020600020905b81548152906001019060200180831161068157829003601f168201915b505050505081526020019060010190610606565b5050505081525050815260200190600101906105b4565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020018280548015610586576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610568575050505050905090565b60606017805480602002602001604051908101604052809291908181526020018280548015610586576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610568575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006104626040518060400160405280601081526020016f70726f66696c65325f6d656d6265723160801b815250611090565b60006104626040518060400160405280601081526020016f726563697069656e744164647265737360801b815250611090565b6000610462604051806040016040528060098152602001681c9958da5c1a595b9d60ba1b815250611090565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156106c95760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561091557602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116108d75790505b5050505050815250508152602001906001019061086b565b60006104626040518060400160405280600d81526020016c3837b7b62fb6b0b730b3b2b91960991b815250611090565b6040805160028082526060808301845292600092919060208301908036833701905050905061098a6104fb565b8160008151811061099d5761099d611464565b60200260200101906001600160a01b031690816001600160a01b0316815250506109c5610a8c565b816001815181106109d8576109d8611464565b6001600160a01b0390921660209283029190910190910152919050565b60006104626040518060400160405280600c81526020016b1b9bd7dc9958da5c1a595b9d60a21b815250611090565b60408051600280825260608083018452926000929190602083019080368337019050509050610a51610432565b81600081518110610a6457610a64611464565b60200260200101906001600160a01b031690816001600160a01b0316815250506109c561092d565b60006104626040518060400160405280601081526020016f383937b334b63298afb6b2b6b132b91960811b815250611090565b60006104626040518060400160405280600a81526020016930b63637afb7bbb732b960b11b815250611090565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156106c9578382906000526020600020018054610b2f9061142a565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5b9061142a565b8015610ba85780601f10610b7d57610100808354040283529160200191610ba8565b820191906000526020600020905b815481529060010190602001808311610b8b57829003601f168201915b505050505081526020019060010190610b10565b60006104626040518060400160405280600a8152602001693837b7b62fb0b236b4b760b11b815250611090565b60006104626040518060400160405280601081526020016f383937b334b632992fb6b2b6b132b91960811b815250611090565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156106c95760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610cea57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610cac5790505b50505050508152505081526020019060010190610c40565b60408051600280825260608083018452926000929190602083019080368337019050509050610d2f6107b5565b81600081518110610d4257610d42611464565b60200260200101906001600160a01b031690816001600160a01b0316815250506109c5610be9565b60006104626040518060400160405280600a815260200169726563697069656e743160b01b815250611090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156106c9578382906000526020600020018054610dda9061142a565b80601f0160208091040260200160405190810160405280929190818152602001828054610e069061142a565b8015610e535780601f10610e2857610100808354040283529160200191610e53565b820191906000526020600020905b815481529060010190602001808311610e3657829003601f168201915b505050505081526020019060010190610dbb565b60085460009060ff1615610e7f575060085460ff1690565b604051630667f9d760e41b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190526519985a5b195960d21b602483015260009163667f9d7090604401602060405180830381865afa158015610ee0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f04919061147a565b1415905090565b60006104626040518060400160405280601081526020016f3837b7b62fb737ba20a6b0b730b3b2b960811b815250611090565b60006104626040518060400160405280600e81526020016d383937b334b63298afb7bbb732b960911b815250611090565b60006104626040518060400160405280600b81526020016a1c985b991bdb4818da185960aa1b815250611090565b60006104626040518060400160405280600d81526020016c616c6c6f5f747265617375727960981b815250611090565b60006104626040518060400160405280600e81526020016d3932b3b4b9ba393cafb7bbb732b960911b815250611090565b60606015805480602002602001604051908101604052809291908181526020018280548015610586576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610568575050505050905090565b600061046260405180604001604052806013815260200172383937b334b632992fb737ba20a6b2b6b132b960691b8152505b600061109b826110a2565b5092915050565b600080826040516020016110b69190611493565b60408051808303601f190181529082905280516020909101206001625e79b760e01b03198252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa158015611121573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114591906114af565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061118190859087906004016114df565b600060405180830381600087803b15801561119b57600080fd5b505af11580156111af573d6000803e3d6000fd5b50505050915091565b6020808252825182820181905260009190848201906040850190845b818110156111f95783516001600160a01b0316835292840192918401916001016111d4565b50909695505050505050565b60005b83811015611220578181015183820152602001611208565b50506000910152565b60008151808452611241816020860160208601611205565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101561130557603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156112ef57605f198985030183526112dd848651611229565b948e01949350918d01916001016112c1565b505050978a01979450509188019160010161127c565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156113b957898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156113a45783516001600160e01b0319168252928b019260019290920191908b019061137a565b50978a0197955050509187019160010161133d565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561141d57603f1988860301845261140b858351611229565b945092850192908501906001016113ef565b5092979650505050505050565b600181811c9082168061143e57607f821691505b60208210810361145e57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561148c57600080fd5b5051919050565b600082516114a5818460208701611205565b9190910192915050565b6000602082840312156114c157600080fd5b81516001600160a01b03811681146114d857600080fd5b9392505050565b6001600160a01b038316815260406020820181905260009061150390830184611229565b94935050505056fea26469706673582212202061d35abc43d1f0815a8d62ee3e34f8df741aa0a088019f767c12b0510668df64736f6c63430008130033","sourceMap":"833:2031:17:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:15;;;:::i;:::-;;;-1:-1:-1;;;;;178:32:142;;;160:51;;148:2;133:18;1763:107:15;;;;;;;;2429:119;;;:::i;4045:101::-;;;:::i;226:92::-;306:4;226:92;;905:138;968:7;905:138;;2159:111:17;2244:19;;-1:-1:-1;;;;;2244:19:17;2159:111;;2572:97;2650:12;;2572:97;;;368:25:142;;;356:2;341:18;2572:97:17;222:177:142;3126:109:15;;;:::i;2554:113::-;;;:::i;2452:134:25:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;2757:105:17:-;2839:16;;-1:-1:-1;;;;;2839:16:17;2757:105;;2276:97;2354:12;;2276:97;;3221:133:25;;;:::i;2922:141::-;;;:::i;1331:118:15:-;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;4152:99::-;;;:::i;2738:178:25:-;;;:::i;:::-;;;;;;;:::i;1876:107:15:-;;;:::i;2792:241::-;;;:::i;4376:105::-;;;:::i;1989:232::-;;;:::i;610:85:17:-;678:10;;;;;-1:-1:-1;;;;;678:10:17;610:85;;2673:113:15;;;:::i;439:101::-;;;:::i;2592:140:25:-;;;:::i;:::-;;;;;;;:::i;1537:101:15:-;;;:::i;3485:113::-;;;:::i;3069:146:25:-;;;:::i;3604:241:15:-;;;:::i;3938:101::-;;;:::i;2157:141:25:-;;;:::i;1243:204:21:-;;;:::i;:::-;;;6119:14:142;;6112:22;6094:41;;6082:2;6067:18;1243:204:21;5954:187:142;2461:105:17;2543:16;;-1:-1:-1;;;;;2543:16:17;2461:105;;1644:113:15;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;546:124::-;;;:::i;324:109::-;;;:::i;2304:142:25:-;;;:::i;3241:119:15:-;;;:::i;1016:26:32:-;;;;;;;;;2050:103:17;2131:15;;2050:103;;1763:107:15;1812:7;1838:25;;;;;;;;;;;;;;-1:-1:-1;;;1838:25:15;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;-1:-1:-1;;;2510:31:15;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;-1:-1:-1;;;4117:22:15;;;:8;:22::i;3126:109::-;3176:7;3202:26;;;;;;;;;;;;;;-1:-1:-1;;;3202:26:15;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;-1:-1:-1;;;2632:28:15;;;:8;:28::i;2452:134:25:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:25;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;3221:133::-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:25;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:25;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;1331:118:15:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:15;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;-1:-1:-1;;;3444:28:15;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;-1:-1:-1;;;4335:28:15;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;-1:-1:-1;;;4223:21:15;;;:8;:21::i;2738:178:25:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:15;1925:7;1951:25;;;;;;;;;;;;;;-1:-1:-1;;;1951:25:15;;;:8;:25::i;2792:241::-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:15;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:15;;;-1:-1:-1;;;;;2926:32:15;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:15;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:15:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;-1:-1:-1;;;4450:24:15;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:15;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:15;;;-1:-1:-1;;;;;2120:29:15;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;-1:-1:-1;;;2751:28:15;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;-1:-1:-1;;;511:22:15;;;:8;:22::i;2592:140:25:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1537:101:15;1583:7;1609:22;;;;;;;;;;;;;;-1:-1:-1;;;1609:22:15;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;-1:-1:-1;;;3563:28:15;;;:8;:28::i;3069:146:25:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3604:241:15;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:15;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:15;;;-1:-1:-1;;;;;3738:32:15;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;-1:-1:-1;;;4010:22:15;;;:8;:22::i;2157:141:25:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1243:204:21;1302:7;;1282:4;;1302:7;;1298:143;;;-1:-1:-1;1332:7:21;;;;;1243:204::o;1298:143::-;1377:39;;-1:-1:-1;;;1377:39:21;;:7;:39;;;7193:51:142;;;-1:-1:-1;;;7260:18:142;;;7253:34;1428:1:21;;1377:7;;7166:18:142;;1377:39:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;1644:113:15:-;1696:7;1722:28;;;;;;;;;;;;;;-1:-1:-1;;;1722:28:15;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;-1:-1:-1;;;2390:26:15;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;-1:-1:-1;;;4646:23:15;;;:8;:23::i;546:124::-;595:15;637:25;;;;;;;;;;;;;;-1:-1:-1;;;637:25:15;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;-1:-1:-1;;;400:26:15;;;:8;:26::i;2304:142:25:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:25;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3241:119:15:-;3296:7;3322:31;;;;;;;;;;;;;;-1:-1:-1;;;3322:31:15;;;20439:125:23;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:23;20439:125;-1:-1:-1;;20439:125:23:o;20158:242::-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:23;;;;;;;20293:33;;20303:22;20293:33;;;;-1:-1:-1;;;;;;20344:19:23;;;;;368:25:142;;;20293:33:23;-1:-1:-1;20344:7:23;;;;341:18:142;;20344:19:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:23;;20337:26;;-1:-1:-1;20373:8:23;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;404:658:142:-;575:2;627:21;;;697:13;;600:18;;;719:22;;;546:4;;575:2;798:15;;;;772:2;757:18;;;546:4;841:195;855:6;852:1;849:13;841:195;;;920:13;;-1:-1:-1;;;;;916:39:142;904:52;;1011:15;;;;976:12;;;;952:1;870:9;841:195;;;-1:-1:-1;1053:3:142;;404:658;-1:-1:-1;;;;;;404:658:142:o;1067:250::-;1152:1;1162:113;1176:6;1173:1;1170:13;1162:113;;;1252:11;;;1246:18;1233:11;;;1226:39;1198:2;1191:10;1162:113;;;-1:-1:-1;;1309:1:142;1291:16;;1284:27;1067:250::o;1322:271::-;1364:3;1402:5;1396:12;1429:6;1424:3;1417:19;1445:76;1514:6;1507:4;1502:3;1498:14;1491:4;1484:5;1480:16;1445:76;:::i;:::-;1575:2;1554:15;-1:-1:-1;;1550:29:142;1541:39;;;;1582:4;1537:50;;1322:271;-1:-1:-1;;1322:271:142:o;1598:1744::-;1833:2;1885:21;;;1955:13;;1858:18;;;1977:22;;;1804:4;;1833:2;2018;;2036:18;;;;2073:1;2116:15;;;2101:31;;2097:40;;2160:15;;;1804:4;;2224:1089;2240:6;2235:3;2232:15;2224:1089;;;-1:-1:-1;;2309:22:142;;;2305:36;2293:49;;2365:13;;2452:9;;-1:-1:-1;;;;;2448:35:142;2433:51;;2523:11;;2517:18;2555:15;;;2548:27;;;2636:19;;2405:15;;;2668:24;;;2849:21;;;;2715:2;2797:17;;;2785:30;;2781:39;;;2739:15;;;;2894:1;2908:296;2924:8;2919:3;2916:17;2908:296;;;3030:2;3026:7;3017:6;3009;3005:19;3001:33;2994:5;2987:48;3062:42;3097:6;3086:8;3080:15;3062:42;:::i;:::-;3133:17;;;;3052:52;-1:-1:-1;3176:14:142;;;;2952:1;2943:11;2908:296;;;-1:-1:-1;;;3291:12:142;;;;3227:6;-1:-1:-1;;3256:15:142;;;;2266:1;2257:11;2224:1089;;;-1:-1:-1;3330:6:142;;1598:1744;-1:-1:-1;;;;;;;;;;1598:1744:142:o;3347:1569::-;3551:4;3580:2;3620;3609:9;3605:18;3650:2;3639:9;3632:21;3673:6;3708;3702:13;3739:6;3731;3724:22;3765:2;3755:12;;3798:2;3787:9;3783:18;3776:25;;3860:2;3850:6;3847:1;3843:14;3832:9;3828:30;3824:39;3898:2;3890:6;3886:15;3919:1;3940;3950:937;3966:6;3961:3;3958:15;3950:937;;;4035:22;;;-1:-1:-1;;4031:36:142;4019:49;;4091:13;;4178:9;;-1:-1:-1;;;;;4174:35:142;4159:51;;4249:11;;4243:18;4281:15;;;4274:27;;;4362:19;;4131:15;;;4394:24;;;4484:21;;;;4529:1;;4452:2;4440:15;;;4543:236;4559:8;4554:3;4551:17;4543:236;;;4640:15;;-1:-1:-1;;;;;;4636:42:142;4622:57;;4748:17;;;;4587:1;4578:11;;;;;4705:14;;;;4543:236;;;-1:-1:-1;4865:12:142;;;;4802:5;-1:-1:-1;;;4830:15:142;;;;3992:1;3983:11;3950:937;;;-1:-1:-1;4904:6:142;;3347:1569;-1:-1:-1;;;;;;;;;3347:1569:142:o;5146:803::-;5308:4;5337:2;5377;5366:9;5362:18;5407:2;5396:9;5389:21;5430:6;5465;5459:13;5496:6;5488;5481:22;5534:2;5523:9;5519:18;5512:25;;5596:2;5586:6;5583:1;5579:14;5568:9;5564:30;5560:39;5546:53;;5634:2;5626:6;5622:15;5655:1;5665:255;5679:6;5676:1;5673:13;5665:255;;;5772:2;5768:7;5756:9;5748:6;5744:22;5740:36;5735:3;5728:49;5800:40;5833:6;5824;5818:13;5800:40;:::i;:::-;5790:50;-1:-1:-1;5898:12:142;;;;5863:15;;;;5701:1;5694:9;5665:255;;;-1:-1:-1;5937:6:142;;5146:803;-1:-1:-1;;;;;;;5146:803:142:o;6370:380::-;6449:1;6445:12;;;;6492;;;6513:61;;6567:4;6559:6;6555:17;6545:27;;6513:61;6620:2;6612:6;6609:14;6589:18;6586:38;6583:161;;6666:10;6661:3;6657:20;6654:1;6647:31;6701:4;6698:1;6691:15;6729:4;6726:1;6719:15;6583:161;;6370:380;;;:::o;6887:127::-;6948:10;6943:3;6939:20;6936:1;6929:31;6979:4;6976:1;6969:15;7003:4;7000:1;6993:15;7298:184;7368:6;7421:2;7409:9;7400:7;7396:23;7392:32;7389:52;;;7437:1;7434;7427:12;7389:52;-1:-1:-1;7460:16:142;;7298:184;-1:-1:-1;7298:184:142:o;7487:289::-;7618:3;7656:6;7650:13;7672:66;7731:6;7726:3;7719:4;7711:6;7707:17;7672:66;:::i;:::-;7754:16;;;;;7487:289;-1:-1:-1;;7487:289:142:o;7963:290::-;8033:6;8086:2;8074:9;8065:7;8061:23;8057:32;8054:52;;;8102:1;8099;8092:12;8054:52;8128:16;;-1:-1:-1;;;;;8173:31:142;;8163:42;;8153:70;;8219:1;8216;8209:12;8153:70;8242:5;7963:290;-1:-1:-1;;;7963:290:142:o;8258:317::-;-1:-1:-1;;;;;8435:32:142;;8417:51;;8504:2;8499;8484:18;;8477:30;;;-1:-1:-1;;8524:45:142;;8550:18;;8542:6;8524:45;:::i;:::-;8516:53;8258:317;-1:-1:-1;;;;8258:317:142:o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","local()":"0f166ad4","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_anchor()":"176effb3","poolProfile_id()":"fd325c60","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_anchor()":"c5d7d73b","profile1_id()":"39f56f7f","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_anchor()":"3554642a","profile2_id()":"18540361","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry()":"7b103999","registry_owner()":"dac4eb16","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract Registry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"RegistrySetupFull\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"This contract is used to setup a Registry contract with two identities for testing purposes.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":\"RegistrySetupFull\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":{\"keccak256\":\"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb\",\"dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c\",\"dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b\",\"dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract Registry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":"RegistrySetupFull"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":{"keccak256":"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b","urls":["bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb","dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j"],"license":"AGPL-3.0-only"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361","urls":["bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c","dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef","urls":["bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b","dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab","urls":["bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d","dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":5830,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)13196_storage"},{"astId":5987,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":8488,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":8509,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)8504_storage)"},{"astId":8513,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":8517,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":8520,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":9278,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":11315,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)13196_storage"},{"astId":12183,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_excludedContracts","offset":0,"slot":"21","type":"t_array(t_address)dyn_storage"},{"astId":12186,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_excludedSenders","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"},{"astId":12189,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedContracts","offset":0,"slot":"23","type":"t_array(t_address)dyn_storage"},{"astId":12192,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedSenders","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":12195,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_excludedArtifacts","offset":0,"slot":"25","type":"t_array(t_string_storage)dyn_storage"},{"astId":12198,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedArtifacts","offset":0,"slot":"26","type":"t_array(t_string_storage)dyn_storage"},{"astId":12202,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedArtifactSelectors","offset":0,"slot":"27","type":"t_array(t_struct(FuzzSelector)12174_storage)dyn_storage"},{"astId":12206,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedSelectors","offset":0,"slot":"28","type":"t_array(t_struct(FuzzSelector)12174_storage)dyn_storage"},{"astId":12210,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedInterfaces","offset":0,"slot":"29","type":"t_array(t_struct(FuzzInterface)12180_storage)dyn_storage"},{"astId":17795,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"IS_TEST","offset":0,"slot":"30","type":"t_bool"},{"astId":5104,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_registry_","offset":1,"slot":"30","type":"t_contract(Registry)2295"},{"astId":5137,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_poolProfileId_","offset":0,"slot":"31","type":"t_bytes32"},{"astId":5139,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_poolProfileAnchor_","offset":0,"slot":"32","type":"t_address"},{"astId":5141,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_profile1Id_","offset":0,"slot":"33","type":"t_bytes32"},{"astId":5143,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_profile1Anchor_","offset":0,"slot":"34","type":"t_address"},{"astId":5145,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_profile2Id_","offset":0,"slot":"35","type":"t_bytes32"},{"astId":5147,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_profile2Anchor_","offset":0,"slot":"36","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzInterface)12180_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)12180_storage"},"t_array(t_struct(FuzzSelector)12174_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)12174_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(Registry)2295":{"encoding":"inplace","label":"contract Registry","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13171_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13171_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13171_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)8504_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)8504_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)8504_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":8497,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":8499,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":8501,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":8503,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)13171_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13164,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13166,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13168,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13170,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzInterface)12180_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":12176,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12179,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)12174_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":12170,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12173,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(StdStorage)13196_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13180,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage)))"},{"astId":13183,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13185,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13187,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13189,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13191,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13193,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13195,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol","id":5297,"exportedSymbols":{"Accounts":[5026],"Metadata":[3098],"Registry":[2295],"RegistrySetup":[5132],"RegistrySetupFull":[5296],"StdAssertions":[8464],"StdChains":[9246],"StdCheats":[12099],"StdInvariant":[12424],"StdStorage":[13196],"StdStyle":[16366],"StdUtils":[17744],"Test":[17796],"TestBase":[5834],"Vm":[21446],"console":[29510],"console2":[37635],"safeconsole":[52360],"stdError":[12165],"stdJson":[13016],"stdMath":[13158],"stdStorage":[15155],"stdToml":[16958]},"nodeType":"SourceUnit","src":"42:2823:17","nodes":[{"id":5089,"nodeType":"PragmaDirective","src":"42:24:17","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":5090,"nodeType":"ImportDirective","src":"68:28:17","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":17797,"symbolAliases":[],"unitAlias":""},{"id":5092,"nodeType":"ImportDirective","src":"98:62:17","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","file":"../../../contracts/core/Registry.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":2296,"symbolAliases":[{"foreign":{"id":5091,"name":"Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"106:8:17","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5094,"nodeType":"ImportDirective","src":"161:72:17","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../../../contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":5093,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"169:8:17","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5096,"nodeType":"ImportDirective","src":"234:40:17","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"./Accounts.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":5027,"symbolAliases":[{"foreign":{"id":5095,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5026,"src":"242:8:17","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5132,"nodeType":"ContractDefinition","src":"393:304:17","nodes":[{"id":5104,"nodeType":"VariableDeclaration","src":"440:28:17","nodes":[],"constant":false,"mutability":"mutable","name":"_registry_","nameLocation":"458:10:17","scope":5132,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":5103,"nodeType":"UserDefinedTypeName","pathNode":{"id":5102,"name":"Registry","nameLocations":["440:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"440:8:17"},"referencedDeclaration":2295,"src":"440:8:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"},{"id":5122,"nodeType":"FunctionDefinition","src":"475:129:17","nodes":[],"body":{"id":5121,"nodeType":"Block","src":"511:93:17","nodes":[],"statements":[{"expression":{"id":5112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5107,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"521:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":5110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"534:12:17","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () returns (contract Registry)"},"typeName":{"id":5109,"nodeType":"UserDefinedTypeName","pathNode":{"id":5108,"name":"Registry","nameLocations":["538:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"538:8:17"},"referencedDeclaration":2295,"src":"538:8:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}},"id":5111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"534:14:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"src":"521:27:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5113,"nodeType":"ExpressionStatement","src":"521:27:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5117,"name":"registry_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4675,"src":"580:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"580:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5114,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"558:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"569:10:17","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":1578,"src":"558:21:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"558:39:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5120,"nodeType":"ExpressionStatement","src":"558:39:17"}]},"implemented":true,"kind":"function","modifiers":[],"name":"__RegistrySetup","nameLocation":"484:15:17","parameters":{"id":5105,"nodeType":"ParameterList","parameters":[],"src":"499:2:17"},"returnParameters":{"id":5106,"nodeType":"ParameterList","parameters":[],"src":"511:0:17"},"scope":5132,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5131,"nodeType":"FunctionDefinition","src":"610:85:17","nodes":[],"body":{"id":5130,"nodeType":"Block","src":"661:34:17","nodes":[],"statements":[{"expression":{"id":5128,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"678:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"functionReturnParameters":5127,"id":5129,"nodeType":"Return","src":"671:17:17"}]},"functionSelector":"7b103999","implemented":true,"kind":"function","modifiers":[],"name":"registry","nameLocation":"619:8:17","parameters":{"id":5123,"nodeType":"ParameterList","parameters":[],"src":"627:2:17"},"returnParameters":{"id":5127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5126,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5131,"src":"651:8:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":5125,"nodeType":"UserDefinedTypeName","pathNode":{"id":5124,"name":"Registry","nameLocations":["651:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"651:8:17"},"referencedDeclaration":2295,"src":"651:8:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"}],"src":"650:10:17"},"scope":5132,"stateMutability":"view","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":5098,"name":"Test","nameLocations":["419:4:17"],"nodeType":"IdentifierPath","referencedDeclaration":17796,"src":"419:4:17"},"id":5099,"nodeType":"InheritanceSpecifier","src":"419:4:17"},{"baseName":{"id":5100,"name":"Accounts","nameLocations":["425:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":5026,"src":"425:8:17"},"id":5101,"nodeType":"InheritanceSpecifier","src":"425:8:17"}],"canonicalName":"RegistrySetup","contractDependencies":[],"contractKind":"contract","documentation":{"id":5097,"nodeType":"StructuredDocumentation","src":"276:117:17","text":"@title RegistrySetup\n @notice This contract is used to setup an empty Registry contract for testing purposes."},"fullyImplemented":true,"linearizedBaseContracts":[5132,5026,17796,17744,12424,12099,11306,9246,8464,5834,5831],"name":"RegistrySetup","nameLocation":"402:13:17","scope":5297,"usedErrors":[]},{"id":5296,"nodeType":"ContractDefinition","src":"833:2031:17","nodes":[{"id":5137,"nodeType":"VariableDeclaration","src":"883:32:17","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileId_","nameLocation":"900:15:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5136,"name":"bytes32","nodeType":"ElementaryTypeName","src":"883:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5139,"nodeType":"VariableDeclaration","src":"921:36:17","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileAnchor_","nameLocation":"938:19:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5138,"name":"address","nodeType":"ElementaryTypeName","src":"921:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5141,"nodeType":"VariableDeclaration","src":"964:29:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile1Id_","nameLocation":"981:12:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5140,"name":"bytes32","nodeType":"ElementaryTypeName","src":"964:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5143,"nodeType":"VariableDeclaration","src":"999:33:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile1Anchor_","nameLocation":"1016:16:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5142,"name":"address","nodeType":"ElementaryTypeName","src":"999:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5145,"nodeType":"VariableDeclaration","src":"1039:29:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile2Id_","nameLocation":"1056:12:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5144,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1039:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5147,"nodeType":"VariableDeclaration","src":"1074:33:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile2Anchor_","nameLocation":"1091:16:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5146,"name":"address","nodeType":"ElementaryTypeName","src":"1074:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5247,"nodeType":"FunctionDefinition","src":"1114:930:17","nodes":[],"body":{"id":5246,"nodeType":"Block","src":"1154:890:17","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5150,"name":"__RegistrySetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5122,"src":"1164:15:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":5151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1164:17:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5152,"nodeType":"ExpressionStatement","src":"1164:17:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5156,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"1201:10:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1201:12:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5153,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1192:2:17","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":5155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1195:5:17","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"1192:8:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1192:22:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5159,"nodeType":"ExpressionStatement","src":"1192:22:17"},{"expression":{"id":5174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5160,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5137,"src":"1224:15:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1280:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"506f6f6c2050726f66696c652031","id":5164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1283:16:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},"value":"Pool Profile 1"},{"arguments":[{"hexValue":"31","id":5166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1321:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"506f6f6c50726f66696c6531","id":5167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1333:14:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""},"value":"PoolProfile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""}],"id":5165,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1301:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1311:8:17","1324:7:17"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1301:48:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5169,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"1351:10:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1351:12:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5171,"name":"pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4817,"src":"1365:13:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1365:15:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5161,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1242:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1253:13:17","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1242:24:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1242:148:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1224:166:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5175,"nodeType":"ExpressionStatement","src":"1224:166:17"},{"expression":{"id":5182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5176,"name":"_poolProfileAnchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5139,"src":"1400:19:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5179,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5137,"src":"1448:15:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5177,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1422:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1433:14:17","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1422:25:17","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1422:42:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5181,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1465:6:17","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1422:49:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1400:71:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5183,"nodeType":"ExpressionStatement","src":"1400:71:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5187,"name":"profile1_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4827,"src":"1491:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1491:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5184,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1482:2:17","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":5186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1485:5:17","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"1482:8:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1482:26:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5190,"nodeType":"ExpressionStatement","src":"1482:26:17"},{"expression":{"id":5205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5191,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5141,"src":"1518:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1571:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"50726f66696c652031","id":5195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1574:11:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_7a4d1a86b77644d9aa7e12702075d0cc1d67dd228b7576543777572405c3e57d","typeString":"literal_string \"Profile 1\""},"value":"Profile 1"},{"arguments":[{"hexValue":"31","id":5197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1607:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"50726f66696c6531","id":5198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1619:10:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_d28bcd24e2e164eb1cb6c81d71a03069dd8b48e2f319680c98ba010be8944d6d","typeString":"literal_string \"Profile1\""},"value":"Profile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_d28bcd24e2e164eb1cb6c81d71a03069dd8b48e2f319680c98ba010be8944d6d","typeString":"literal_string \"Profile1\""}],"id":5196,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1587:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1597:8:17","1610:7:17"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1587:44:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5200,"name":"profile1_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4827,"src":"1633:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1633:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5202,"name":"profile1_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4891,"src":"1651:16:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1651:18:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_7a4d1a86b77644d9aa7e12702075d0cc1d67dd228b7576543777572405c3e57d","typeString":"literal_string \"Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5192,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1533:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1544:13:17","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1533:24:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1533:146:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1518:161:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5206,"nodeType":"ExpressionStatement","src":"1518:161:17"},{"expression":{"id":5213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5207,"name":"_profile1Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5143,"src":"1689:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5210,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5141,"src":"1734:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5208,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1708:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1719:14:17","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1708:25:17","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1708:39:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5212,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1748:6:17","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1708:46:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1689:65:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5214,"nodeType":"ExpressionStatement","src":"1689:65:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5218,"name":"profile2_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4901,"src":"1774:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1774:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5215,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1765:2:17","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":5217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1768:5:17","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"1765:8:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1765:26:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5221,"nodeType":"ExpressionStatement","src":"1765:26:17"},{"expression":{"id":5236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5222,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5145,"src":"1801:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1854:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"50726f66696c652032","id":5226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1857:11:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_937ec7a665f78170bc3bb3b9c6576f30e49f3c58eb7105b0778843f3f72198b2","typeString":"literal_string \"Profile 2\""},"value":"Profile 2"},{"arguments":[{"hexValue":"31","id":5228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1890:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"50726f66696c6532","id":5229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1902:10:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_f54d7fb3952364f7566be93625e44393de35ac48ada574494f41163506f729ca","typeString":"literal_string \"Profile2\""},"value":"Profile2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f54d7fb3952364f7566be93625e44393de35ac48ada574494f41163506f729ca","typeString":"literal_string \"Profile2\""}],"id":5227,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1870:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1880:8:17","1893:7:17"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1870:44:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5231,"name":"profile2_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4901,"src":"1916:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1916:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5233,"name":"profile2_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4965,"src":"1934:16:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1934:18:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_937ec7a665f78170bc3bb3b9c6576f30e49f3c58eb7105b0778843f3f72198b2","typeString":"literal_string \"Profile 2\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5223,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1816:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1827:13:17","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1816:24:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1816:146:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1801:161:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5237,"nodeType":"ExpressionStatement","src":"1801:161:17"},{"expression":{"id":5244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5238,"name":"_profile2Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5147,"src":"1972:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5241,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5145,"src":"2017:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5239,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1991:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2002:14:17","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1991:25:17","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1991:39:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5243,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2031:6:17","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1991:46:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1972:65:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5245,"nodeType":"ExpressionStatement","src":"1972:65:17"}]},"implemented":true,"kind":"function","modifiers":[],"name":"__RegistrySetupFull","nameLocation":"1123:19:17","parameters":{"id":5148,"nodeType":"ParameterList","parameters":[],"src":"1142:2:17"},"returnParameters":{"id":5149,"nodeType":"ParameterList","parameters":[],"src":"1154:0:17"},"scope":5296,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5255,"nodeType":"FunctionDefinition","src":"2050:103:17","nodes":[],"body":{"id":5254,"nodeType":"Block","src":"2114:39:17","nodes":[],"statements":[{"expression":{"id":5252,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5137,"src":"2131:15:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5251,"id":5253,"nodeType":"Return","src":"2124:22:17"}]},"functionSelector":"fd325c60","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_id","nameLocation":"2059:14:17","parameters":{"id":5248,"nodeType":"ParameterList","parameters":[],"src":"2073:2:17"},"returnParameters":{"id":5251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5250,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5255,"src":"2105:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5249,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2105:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2104:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5263,"nodeType":"FunctionDefinition","src":"2159:111:17","nodes":[],"body":{"id":5262,"nodeType":"Block","src":"2227:43:17","nodes":[],"statements":[{"expression":{"id":5260,"name":"_poolProfileAnchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5139,"src":"2244:19:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5259,"id":5261,"nodeType":"Return","src":"2237:26:17"}]},"functionSelector":"176effb3","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_anchor","nameLocation":"2168:18:17","parameters":{"id":5256,"nodeType":"ParameterList","parameters":[],"src":"2186:2:17"},"returnParameters":{"id":5259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5258,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5263,"src":"2218:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5257,"name":"address","nodeType":"ElementaryTypeName","src":"2218:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2217:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5271,"nodeType":"FunctionDefinition","src":"2276:97:17","nodes":[],"body":{"id":5270,"nodeType":"Block","src":"2337:36:17","nodes":[],"statements":[{"expression":{"id":5268,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5141,"src":"2354:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5267,"id":5269,"nodeType":"Return","src":"2347:19:17"}]},"functionSelector":"39f56f7f","implemented":true,"kind":"function","modifiers":[],"name":"profile1_id","nameLocation":"2285:11:17","parameters":{"id":5264,"nodeType":"ParameterList","parameters":[],"src":"2296:2:17"},"returnParameters":{"id":5267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5266,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5271,"src":"2328:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5265,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2328:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2327:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5279,"nodeType":"FunctionDefinition","src":"2461:105:17","nodes":[],"body":{"id":5278,"nodeType":"Block","src":"2526:40:17","nodes":[],"statements":[{"expression":{"id":5276,"name":"_profile1Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5143,"src":"2543:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5275,"id":5277,"nodeType":"Return","src":"2536:23:17"}]},"functionSelector":"c5d7d73b","implemented":true,"kind":"function","modifiers":[],"name":"profile1_anchor","nameLocation":"2470:15:17","parameters":{"id":5272,"nodeType":"ParameterList","parameters":[],"src":"2485:2:17"},"returnParameters":{"id":5275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5274,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5279,"src":"2517:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5273,"name":"address","nodeType":"ElementaryTypeName","src":"2517:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2516:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5287,"nodeType":"FunctionDefinition","src":"2572:97:17","nodes":[],"body":{"id":5286,"nodeType":"Block","src":"2633:36:17","nodes":[],"statements":[{"expression":{"id":5284,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5145,"src":"2650:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5283,"id":5285,"nodeType":"Return","src":"2643:19:17"}]},"functionSelector":"18540361","implemented":true,"kind":"function","modifiers":[],"name":"profile2_id","nameLocation":"2581:11:17","parameters":{"id":5280,"nodeType":"ParameterList","parameters":[],"src":"2592:2:17"},"returnParameters":{"id":5283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5282,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5287,"src":"2624:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5281,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2624:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2623:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5295,"nodeType":"FunctionDefinition","src":"2757:105:17","nodes":[],"body":{"id":5294,"nodeType":"Block","src":"2822:40:17","nodes":[],"statements":[{"expression":{"id":5292,"name":"_profile2Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5147,"src":"2839:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5291,"id":5293,"nodeType":"Return","src":"2832:23:17"}]},"functionSelector":"3554642a","implemented":true,"kind":"function","modifiers":[],"name":"profile2_anchor","nameLocation":"2766:15:17","parameters":{"id":5288,"nodeType":"ParameterList","parameters":[],"src":"2781:2:17"},"returnParameters":{"id":5291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5290,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5295,"src":"2813:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5289,"name":"address","nodeType":"ElementaryTypeName","src":"2813:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2812:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":5134,"name":"RegistrySetup","nameLocations":["863:13:17"],"nodeType":"IdentifierPath","referencedDeclaration":5132,"src":"863:13:17"},"id":5135,"nodeType":"InheritanceSpecifier","src":"863:13:17"}],"canonicalName":"RegistrySetupFull","contractDependencies":[],"contractKind":"contract","documentation":{"id":5133,"nodeType":"StructuredDocumentation","src":"699:134:17","text":"@title RegistrySetupFull\n @notice This contract is used to setup a Registry contract with two identities for testing purposes."},"fullyImplemented":true,"linearizedBaseContracts":[5296,5132,5026,17796,17744,12424,12099,11306,9246,8464,5834,5831],"name":"RegistrySetupFull","nameLocation":"842:17:17","scope":5297,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":17} \ No newline at end of file diff --git a/pkg/contracts/out/SafeArbitrator.sol/SafeArbitrator.json b/pkg/contracts/out/SafeArbitrator.sol/SafeArbitrator.json index 2317714a9..158d7bf9a 100644 --- a/pkg/contracts/out/SafeArbitrator.sol/SafeArbitrator.json +++ b/pkg/contracts/out/SafeArbitrator.sol/SafeArbitrator.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"arbitrableTribunalSafe","inputs":[{"name":"arbitrable","type":"address","internalType":"address"}],"outputs":[{"name":"safe","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"arbitrationCost","inputs":[{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"address","internalType":"contract IERC20"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"arbitrationCost","inputs":[{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"fee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"createDispute","inputs":[{"name":"_choices","type":"uint256","internalType":"uint256"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"disputeID","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"createDispute","inputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"address","internalType":"contract IERC20"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"currentRuling","inputs":[{"name":"_disputeID","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"ruling","type":"uint256","internalType":"uint256"},{"name":"tied","type":"bool","internalType":"bool"},{"name":"overridden","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"disputes","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"arbitrated","type":"address","internalType":"contract IArbitrable"},{"name":"arbitratorExtraData","type":"bytes","internalType":"bytes"},{"name":"choices","type":"uint256","internalType":"uint256"},{"name":"arbitrationFee","type":"uint256","internalType":"uint256"},{"name":"ruling","type":"uint256","internalType":"uint256"},{"name":"status","type":"uint8","internalType":"enum SafeArbitrator.DisputeStatus"}],"stateMutability":"view"},{"type":"function","name":"executeRuling","inputs":[{"name":"_disputeID","type":"uint256","internalType":"uint256"},{"name":"_ruling","type":"uint256","internalType":"uint256"},{"name":"_arbitrable","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"_arbitrationFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerSafe","inputs":[{"name":"_safe","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setArbitrationFee","inputs":[{"name":"_arbitrationFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AcceptedFeeToken","inputs":[{"name":"_token","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"_accepted","type":"bool","indexed":true,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ArbitrationFeeUpdated","inputs":[{"name":"_newArbitrationFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DisputeCreation","inputs":[{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_arbitrable","type":"address","indexed":true,"internalType":"contract IArbitrable"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"NewCurrencyRate","inputs":[{"name":"_feeToken","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"_rateInEth","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"_rateDecimals","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Ruling","inputs":[{"name":"_arbitrable","type":"address","indexed":true,"internalType":"contract IArbitrable"},{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_ruling","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SafeArbitratorInitialized","inputs":[{"name":"_arbitrationFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SafeRegistered","inputs":[{"name":"_arbitrable","type":"address","indexed":true,"internalType":"address"},{"name":"_safe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"DisputeAlreadySolved","inputs":[]},{"type":"error","name":"InvalidRuling","inputs":[]},{"type":"error","name":"NotEnoughArbitrationFees","inputs":[]},{"type":"error","name":"OnlySafe","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"safe","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b506080516118fc61004c60003960008181610360015281816103a9015281816104310152818161047101526104ed01526118fc6000f3fe6080604052600436106100ce5760003560e01c80631c3db16d146100d357806326a0754c146101155780633659cfe6146101585780634f1ef2861461017a57806352d1902d1461018d578063564a565d146101b05780635ea7b4fc146101e2578063715018a6146102025780637a1d37561461021757806388d5b732146102375780638da5cb5b14610257578063c13517e11461026c578063d98493f61461027f578063f2fde38b1461029f578063f6506db4146102bf578063f7434ea9146102da578063fe4b84df146102fd575b600080fd5b3480156100df57600080fd5b506100f36100ee366004611238565b61031d565b6040805193845291151560208401521515908201526060015b60405180910390f35b34801561012157600080fd5b5061014b610130366004611266565b6099602052600090815260409020546001600160a01b031681565b60405161010c9190611283565b34801561016457600080fd5b50610178610173366004611266565b610356565b005b6101786101883660046112ad565b610427565b34801561019957600080fd5b506101a26104e0565b60405190815260200161010c565b3480156101bc57600080fd5b506101d06101cb366004611238565b61058e565b60405161010c969594939291906113d6565b3480156101ee57600080fd5b506101786101fd366004611238565b61066c565b34801561020e57600080fd5b506101786106af565b34801561022357600080fd5b5061017861023236600461143d565b6106c3565b34801561024357600080fd5b50610178610252366004611266565b610901565b34801561026357600080fd5b5061014b610964565b6101a261027a3660046114be565b610973565b34801561028b57600080fd5b506101a261029a366004611509565b610aeb565b3480156102ab57600080fd5b506101786102ba366004611266565b610b26565b3480156102cb57600080fd5b506101a261029a366004611554565b3480156102e657600080fd5b506101a26102f53660046115ba565b505060975490565b34801561030957600080fd5b50610178610318366004611238565b610b9c565b60008060008060988581548110610336576103366115fb565b600091825260208220600460069092020101549690955085945092505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103a75760405162461bcd60e51b815260040161039e90611611565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103d9610cec565b6001600160a01b0316146103ff5760405162461bcd60e51b815260040161039e9061164b565b61040881610d08565b6040805160008082526020820190925261042491839190610d10565b50565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361046f5760405162461bcd60e51b815260040161039e90611611565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166104a1610cec565b6001600160a01b0316146104c75760405162461bcd60e51b815260040161039e9061164b565b6104d082610d08565b6104dc82826001610d10565b5050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461057b5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840161039e565b5060008051602061188083398151915290565b6098818154811061059e57600080fd5b6000918252602090912060069091020180546001820180546001600160a01b039092169350906105cd90611685565b80601f01602080910402602001604051908101604052809291908181526020018280546105f990611685565b80156106465780601f1061061b57610100808354040283529160200191610646565b820191906000526020600020905b81548152906001019060200180831161062957829003601f168201915b505050506002830154600384015460048501546005909501549394919390925060ff1686565b610674610e80565b60978190556040518181527fb1484c2bf00d94a00783b6081ebc5f5d02be4675f6eb8cf4c0c95bfe5a3f06ed9060200160405180910390a150565b6106b7610e80565b6106c16000610edf565b565b6001600160a01b0380821660009081526099602052604090205482911633036108be576000609885815481106106fb576106fb6115fb565b906000526020600020906006020190508060020154841115610730576040516309efd47960e41b815260040160405180910390fd5b6001600582015460ff16600181111561074b5761074b6113c0565b036107695760405163bda17d9560e01b815260040160405180910390fd5b6004810184905560058101805460ff19166001179055600381015460405160009133918381818185875af1925050503d80600081146107c4576040519150601f19603f3d011682016040523d82523d6000602084013e6107c9565b606091505b505090508061080c5760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161039e565b815460048084015460405163188d362b60e11b815291820189905260248201526001600160a01b039091169063311a6c5690604401600060405180830381600087803b15801561085b57600080fd5b505af115801561086f573d6000803e3d6000fd5b5050505085846001600160a01b03167f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e75622276876040516108af91815260200190565b60405180910390a350506108fb565b6001600160a01b038181166000908152609960205260409081902054905163d0774c9960e01b81523360048201529116602482015260440161039e565b50505050565b336000818152609960205260409081902080546001600160a01b0319166001600160a01b038516179055517f2b87bb26d58aa2d56b59c2b23a53a6959f68d4547492bda44fb5e68b0fa38b3f90610959908490611283565b60405180910390a250565b6033546001600160a01b031690565b600061097d610f31565b6097543410156109a05760405163e4216b3160e01b815260040160405180910390fd5b609880549050905060986040518060c00160405280336001600160a01b0316815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093855250505060208201889052346040830152606082018190526080909101528154600180820184556000938452602093849020835160069093020180546001600160a01b0319166001600160a01b03909316929092178255928201519192909190820190610a65908261170d565b5060408201516002820155606082015160038201556080820151600482015560a082015160058201805460ff191660018381811115610aa657610aa66113c0565b02179055505060405133915082907f141dfc18aa6a56fc816f44f0e9e2f1ebc92b15ab167770e17db5b084c10ed99590600090a3610ae46001606555565b9392505050565b60405162461bcd60e51b815260206004820152600d60248201526c139bdd081cdd5c1c1bdc9d1959609a1b604482015260009060640161039e565b610b2e610e80565b6001600160a01b038116610b935760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161039e565b61042481610edf565b600054610100900460ff1615808015610bbc5750600054600160ff909116105b80610bdd5750610bcb30610f8a565b158015610bdd575060005460ff166001145b610c405760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161039e565b6000805460ff191660011790558015610c63576000805461ff0019166101001790555b610c6b610f99565b60978290556040518281527fc05490fc8f8e095831ea3823f005dd0661528380328aa5c3b7348a45244223be9060200160405180910390a180156104dc576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600080516020611880833981519152546001600160a01b031690565b610424610e80565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610d4857610d4383610fc8565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610da2575060408051601f3d908101601f19168201909252610d9f918101906117cc565b60015b610e055760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161039e565b6000805160206118808339815191528114610e745760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161039e565b50610d43838383611062565b33610e89610964565b6001600160a01b0316146106c15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161039e565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600260655403610f835760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161039e565b6002606555565b6001600160a01b03163b151590565b600054610100900460ff16610fc05760405162461bcd60e51b815260040161039e906117e5565b6106c1611087565b610fd181610f8a565b6110335760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161039e565b60008051602061188083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61106b836110b7565b6000825111806110785750805b15610d43576108fb83836110f7565b600054610100900460ff166110ae5760405162461bcd60e51b815260040161039e906117e5565b6106c133610edf565b6110c081610fc8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610ae483836040518060600160405280602781526020016118a0602791396060600080856001600160a01b0316856040516111349190611830565b600060405180830381855af49150503d806000811461116f576040519150601f19603f3d011682016040523d82523d6000602084013e611174565b606091505b50915091506111858683838761118f565b9695505050505050565b606083156111fc5782516000036111f5576111a985610f8a565b6111f55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161039e565b5081611206565b611206838361120e565b949350505050565b81511561121e5781518083602001fd5b8060405162461bcd60e51b815260040161039e919061184c565b60006020828403121561124a57600080fd5b5035919050565b6001600160a01b038116811461042457600080fd5b60006020828403121561127857600080fd5b8135610ae481611251565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156112c057600080fd5b82356112cb81611251565b915060208301356001600160401b03808211156112e757600080fd5b818501915085601f8301126112fb57600080fd5b81358181111561130d5761130d611297565b604051601f8201601f19908116603f0116810190838211818310171561133557611335611297565b8160405282815288602084870101111561134e57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b8381101561138b578181015183820152602001611373565b50506000910152565b600081518084526113ac816020860160208601611370565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b038716815260c0602082018190526000906113fa90830188611394565b90508560408301528460608301528360808301526002831061142c57634e487b7160e01b600052602160045260246000fd5b8260a0830152979650505050505050565b60008060006060848603121561145257600080fd5b8335925060208401359150604084013561146b81611251565b809150509250925092565b60008083601f84011261148857600080fd5b5081356001600160401b0381111561149f57600080fd5b6020830191508360208285010111156114b757600080fd5b9250929050565b6000806000604084860312156114d357600080fd5b8335925060208401356001600160401b038111156114f057600080fd5b6114fc86828701611476565b9497909650939450505050565b60008060006040848603121561151e57600080fd5b83356001600160401b0381111561153457600080fd5b61154086828701611476565b909450925050602084013561146b81611251565b60008060008060006080868803121561156c57600080fd5b8535945060208601356001600160401b0381111561158957600080fd5b61159588828901611476565b90955093505060408601356115a981611251565b949793965091946060013592915050565b600080602083850312156115cd57600080fd5b82356001600160401b038111156115e357600080fd5b6115ef85828601611476565b90969095509350505050565b634e487b7160e01b600052603260045260246000fd5b6020808252602c9082015260008051602061186083398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061186083398151915260408201526b6163746976652070726f787960a01b606082015260800190565b600181811c9082168061169957607f821691505b6020821081036116b957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610d4357600081815260208120601f850160051c810160208610156116e65750805b601f850160051c820191505b81811015611705578281556001016116f2565b505050505050565b81516001600160401b0381111561172657611726611297565b61173a816117348454611685565b846116bf565b602080601f83116001811461176f57600084156117575750858301515b600019600386901b1c1916600185901b178555611705565b600085815260208120601f198616915b8281101561179e5788860151825594840194600190910190840161177f565b50858210156117bc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156117de57600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60008251611842818460208701611370565b9190910192915050565b602081526000610ae4602083018461139456fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212209e812ac4bdf846d4087c7926815fe1acf703e60d37f2ca752fcb49ebd31f237a64736f6c63430008130033","sourceMap":"709:5267:111:-:0;;;1088:4:64;1045:48;;709:5267:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106100ce5760003560e01c80631c3db16d146100d357806326a0754c146101155780633659cfe6146101585780634f1ef2861461017a57806352d1902d1461018d578063564a565d146101b05780635ea7b4fc146101e2578063715018a6146102025780637a1d37561461021757806388d5b732146102375780638da5cb5b14610257578063c13517e11461026c578063d98493f61461027f578063f2fde38b1461029f578063f6506db4146102bf578063f7434ea9146102da578063fe4b84df146102fd575b600080fd5b3480156100df57600080fd5b506100f36100ee366004611238565b61031d565b6040805193845291151560208401521515908201526060015b60405180910390f35b34801561012157600080fd5b5061014b610130366004611266565b6099602052600090815260409020546001600160a01b031681565b60405161010c9190611283565b34801561016457600080fd5b50610178610173366004611266565b610356565b005b6101786101883660046112ad565b610427565b34801561019957600080fd5b506101a26104e0565b60405190815260200161010c565b3480156101bc57600080fd5b506101d06101cb366004611238565b61058e565b60405161010c969594939291906113d6565b3480156101ee57600080fd5b506101786101fd366004611238565b61066c565b34801561020e57600080fd5b506101786106af565b34801561022357600080fd5b5061017861023236600461143d565b6106c3565b34801561024357600080fd5b50610178610252366004611266565b610901565b34801561026357600080fd5b5061014b610964565b6101a261027a3660046114be565b610973565b34801561028b57600080fd5b506101a261029a366004611509565b610aeb565b3480156102ab57600080fd5b506101786102ba366004611266565b610b26565b3480156102cb57600080fd5b506101a261029a366004611554565b3480156102e657600080fd5b506101a26102f53660046115ba565b505060975490565b34801561030957600080fd5b50610178610318366004611238565b610b9c565b60008060008060988581548110610336576103366115fb565b600091825260208220600460069092020101549690955085945092505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103a75760405162461bcd60e51b815260040161039e90611611565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103d9610cec565b6001600160a01b0316146103ff5760405162461bcd60e51b815260040161039e9061164b565b61040881610d08565b6040805160008082526020820190925261042491839190610d10565b50565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361046f5760405162461bcd60e51b815260040161039e90611611565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166104a1610cec565b6001600160a01b0316146104c75760405162461bcd60e51b815260040161039e9061164b565b6104d082610d08565b6104dc82826001610d10565b5050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461057b5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840161039e565b5060008051602061188083398151915290565b6098818154811061059e57600080fd5b6000918252602090912060069091020180546001820180546001600160a01b039092169350906105cd90611685565b80601f01602080910402602001604051908101604052809291908181526020018280546105f990611685565b80156106465780601f1061061b57610100808354040283529160200191610646565b820191906000526020600020905b81548152906001019060200180831161062957829003601f168201915b505050506002830154600384015460048501546005909501549394919390925060ff1686565b610674610e80565b60978190556040518181527fb1484c2bf00d94a00783b6081ebc5f5d02be4675f6eb8cf4c0c95bfe5a3f06ed9060200160405180910390a150565b6106b7610e80565b6106c16000610edf565b565b6001600160a01b0380821660009081526099602052604090205482911633036108be576000609885815481106106fb576106fb6115fb565b906000526020600020906006020190508060020154841115610730576040516309efd47960e41b815260040160405180910390fd5b6001600582015460ff16600181111561074b5761074b6113c0565b036107695760405163bda17d9560e01b815260040160405180910390fd5b6004810184905560058101805460ff19166001179055600381015460405160009133918381818185875af1925050503d80600081146107c4576040519150601f19603f3d011682016040523d82523d6000602084013e6107c9565b606091505b505090508061080c5760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161039e565b815460048084015460405163188d362b60e11b815291820189905260248201526001600160a01b039091169063311a6c5690604401600060405180830381600087803b15801561085b57600080fd5b505af115801561086f573d6000803e3d6000fd5b5050505085846001600160a01b03167f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e75622276876040516108af91815260200190565b60405180910390a350506108fb565b6001600160a01b038181166000908152609960205260409081902054905163d0774c9960e01b81523360048201529116602482015260440161039e565b50505050565b336000818152609960205260409081902080546001600160a01b0319166001600160a01b038516179055517f2b87bb26d58aa2d56b59c2b23a53a6959f68d4547492bda44fb5e68b0fa38b3f90610959908490611283565b60405180910390a250565b6033546001600160a01b031690565b600061097d610f31565b6097543410156109a05760405163e4216b3160e01b815260040160405180910390fd5b609880549050905060986040518060c00160405280336001600160a01b0316815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093855250505060208201889052346040830152606082018190526080909101528154600180820184556000938452602093849020835160069093020180546001600160a01b0319166001600160a01b03909316929092178255928201519192909190820190610a65908261170d565b5060408201516002820155606082015160038201556080820151600482015560a082015160058201805460ff191660018381811115610aa657610aa66113c0565b02179055505060405133915082907f141dfc18aa6a56fc816f44f0e9e2f1ebc92b15ab167770e17db5b084c10ed99590600090a3610ae46001606555565b9392505050565b60405162461bcd60e51b815260206004820152600d60248201526c139bdd081cdd5c1c1bdc9d1959609a1b604482015260009060640161039e565b610b2e610e80565b6001600160a01b038116610b935760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161039e565b61042481610edf565b600054610100900460ff1615808015610bbc5750600054600160ff909116105b80610bdd5750610bcb30610f8a565b158015610bdd575060005460ff166001145b610c405760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161039e565b6000805460ff191660011790558015610c63576000805461ff0019166101001790555b610c6b610f99565b60978290556040518281527fc05490fc8f8e095831ea3823f005dd0661528380328aa5c3b7348a45244223be9060200160405180910390a180156104dc576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600080516020611880833981519152546001600160a01b031690565b610424610e80565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610d4857610d4383610fc8565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610da2575060408051601f3d908101601f19168201909252610d9f918101906117cc565b60015b610e055760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161039e565b6000805160206118808339815191528114610e745760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161039e565b50610d43838383611062565b33610e89610964565b6001600160a01b0316146106c15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161039e565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600260655403610f835760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161039e565b6002606555565b6001600160a01b03163b151590565b600054610100900460ff16610fc05760405162461bcd60e51b815260040161039e906117e5565b6106c1611087565b610fd181610f8a565b6110335760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161039e565b60008051602061188083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61106b836110b7565b6000825111806110785750805b15610d43576108fb83836110f7565b600054610100900460ff166110ae5760405162461bcd60e51b815260040161039e906117e5565b6106c133610edf565b6110c081610fc8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610ae483836040518060600160405280602781526020016118a0602791396060600080856001600160a01b0316856040516111349190611830565b600060405180830381855af49150503d806000811461116f576040519150601f19603f3d011682016040523d82523d6000602084013e611174565b606091505b50915091506111858683838761118f565b9695505050505050565b606083156111fc5782516000036111f5576111a985610f8a565b6111f55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161039e565b5081611206565b611206838361120e565b949350505050565b81511561121e5781518083602001fd5b8060405162461bcd60e51b815260040161039e919061184c565b60006020828403121561124a57600080fd5b5035919050565b6001600160a01b038116811461042457600080fd5b60006020828403121561127857600080fd5b8135610ae481611251565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156112c057600080fd5b82356112cb81611251565b915060208301356001600160401b03808211156112e757600080fd5b818501915085601f8301126112fb57600080fd5b81358181111561130d5761130d611297565b604051601f8201601f19908116603f0116810190838211818310171561133557611335611297565b8160405282815288602084870101111561134e57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b8381101561138b578181015183820152602001611373565b50506000910152565b600081518084526113ac816020860160208601611370565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b038716815260c0602082018190526000906113fa90830188611394565b90508560408301528460608301528360808301526002831061142c57634e487b7160e01b600052602160045260246000fd5b8260a0830152979650505050505050565b60008060006060848603121561145257600080fd5b8335925060208401359150604084013561146b81611251565b809150509250925092565b60008083601f84011261148857600080fd5b5081356001600160401b0381111561149f57600080fd5b6020830191508360208285010111156114b757600080fd5b9250929050565b6000806000604084860312156114d357600080fd5b8335925060208401356001600160401b038111156114f057600080fd5b6114fc86828701611476565b9497909650939450505050565b60008060006040848603121561151e57600080fd5b83356001600160401b0381111561153457600080fd5b61154086828701611476565b909450925050602084013561146b81611251565b60008060008060006080868803121561156c57600080fd5b8535945060208601356001600160401b0381111561158957600080fd5b61159588828901611476565b90955093505060408601356115a981611251565b949793965091946060013592915050565b600080602083850312156115cd57600080fd5b82356001600160401b038111156115e357600080fd5b6115ef85828601611476565b90969095509350505050565b634e487b7160e01b600052603260045260246000fd5b6020808252602c9082015260008051602061186083398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061186083398151915260408201526b6163746976652070726f787960a01b606082015260800190565b600181811c9082168061169957607f821691505b6020821081036116b957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610d4357600081815260208120601f850160051c810160208610156116e65750805b601f850160051c820191505b81811015611705578281556001016116f2565b505050505050565b81516001600160401b0381111561172657611726611297565b61173a816117348454611685565b846116bf565b602080601f83116001811461176f57600084156117575750858301515b600019600386901b1c1916600185901b178555611705565b600085815260208120601f198616915b8281101561179e5788860151825594840194600190910190840161177f565b50858210156117bc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156117de57600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60008251611842818460208701611370565b9190910192915050565b602081526000610ae4602083018461139456fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212209e812ac4bdf846d4087c7926815fe1acf703e60d37f2ca752fcb49ebd31f237a64736f6c63430008130033","sourceMap":"709:5267:111:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5610:260;;;;;;;;;;-1:-1:-1;5610:260:111;;;;;:::i;:::-;;:::i;:::-;;;;389:25:126;;;457:14;;450:22;445:2;430:18;;423:50;516:14;509:22;489:18;;;482:50;377:2;362:18;5610:260:111;;;;;;;;1888:73;;;;;;;;;;-1:-1:-1;1888:73:111;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;1888:73:111;;;;;;;;;;:::i;3143:195:64:-;;;;;;;;;;-1:-1:-1;3143:195:64;;;;;:::i;:::-;;:::i;:::-;;3657:220;;;;;;:::i;:::-;;:::i;2762:131::-;;;;;;;;;;;;;:::i;:::-;;;2478:25:126;;;2466:2;2451:18;2762:131:64;2332:177:126;1802:31:111;;;;;;;;;;-1:-1:-1;1802:31:111;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;2792:173::-;;;;;;;;;;-1:-1:-1;2792:173:111;;;;;:::i;:::-;;:::i;2085:101:45:-;;;;;;;;;;;;;:::i;4466:720:111:-;;;;;;;;;;-1:-1:-1;4466:720:111;;;;;:::i;:::-;;:::i;2971:153::-;;;;;;;;;;-1:-1:-1;2971:153:111;;;;;:::i;:::-;;:::i;1462:85:45:-;;;;;;;;;;;;;:::i;3162:732:111:-;;;;;;:::i;:::-;;:::i;5400:204::-;;;;;;;;;;-1:-1:-1;5400:204:111;;;;;:::i;:::-;;:::i;2335:198:45:-;;;;;;;;;;-1:-1:-1;2335:198:45;;;;;:::i;:::-;;:::i;3932:241:111:-;;;;;;;;;;-1:-1:-1;3932:241:111;;;;;:::i;5224:138::-;;;;;;;;;;-1:-1:-1;5224:138:111;;;;;:::i;:::-;-1:-1:-1;;5341:14:111;;;5224:138;2458:196;;;;;;;;;;-1:-1:-1;2458:196:111;;;;;:::i;:::-;;:::i;5610:260::-;5674:14;5690:9;5701:15;5728:29;5760:8;5769:10;5760:20;;;;;;;;:::i;:::-;;;;;;;;5799:14;5760:20;;;;;5799:14;;;5760:20;;-1:-1:-1;5760:20:111;;-1:-1:-1;5610:260:111;-1:-1:-1;;;5610:260:111:o;3143:195:64:-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;;;;;;;;;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3224:36:::1;3242:17;3224;:36::i;:::-;3311:12;::::0;;3321:1:::1;3311:12:::0;;;::::1;::::0;::::1;::::0;;;3270:61:::1;::::0;3292:17;;3311:12;3270:21:::1;:61::i;:::-;3143:195:::0;:::o;3657:220::-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3772:36:::1;3790:17;3772;:36::i;:::-;3818:52;3840:17;3859:4;3865;3818:21;:52::i;:::-;3657:220:::0;;:::o;2762:131::-;2840:7;2080:4;-1:-1:-1;;;;;2089:6:64;2072:23;;2064:92;;;;-1:-1:-1;;;2064:92:64;;8219:2:126;2064:92:64;;;8201:21:126;8258:2;8238:18;;;8231:30;8297:34;8277:18;;;8270:62;-1:-1:-1;;;8348:18:126;;;8341:54;8412:19;;2064:92:64;8017:420:126;2064:92:64;-1:-1:-1;;;;;;;;;;;;2762:131:64;:::o;1802:31:111:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1802:31:111;;;;-1:-1:-1;1802:31:111;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1802:31:111;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1802:31:111;;;:::o;2792:173::-;1355:13:45;:11;:13::i;:::-;2873:14:111::1;:32:::0;;;2920:38:::1;::::0;2478:25:126;;;2920:38:111::1;::::0;2466:2:126;2451:18;2920:38:111::1;;;;;;;2792:173:::0;:::o;2085:101:45:-;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;:::-;2085:101::o:0;4466:720:111:-;-1:-1:-1;;;;;2235:35:111;;;;;;;:22;:35;;;;;;4565:11;;2235:35;2221:10;:49;2217:176;;4588:29:::1;4620:8;4629:10;4620:20;;;;;;;;:::i;:::-;;;;;;;;;;;4588:52;;4665:7;:15;;;4655:7;:25;4651:78;;;4703:15;;-1:-1:-1::0;;;4703:15:111::1;;;;;;;;;;;4651:78;4760:20;4742:14;::::0;::::1;::::0;::::1;;::::0;:38;::::1;;;;;;:::i;:::-;::::0;4738:98:::1;;4803:22;;-1:-1:-1::0;;;4803:22:111::1;;;;;;;;;;;4738:98;4846:14;::::0;::::1;:24:::0;;;4880:14:::1;::::0;::::1;:37:::0;;-1:-1:-1;;4880:37:111::1;4897:20;4880:37;::::0;;4978:22:::1;::::0;::::1;::::0;4946:59:::1;::::0;-1:-1:-1;;4954:10:111::1;::::0;-1:-1:-1;4946:59:111;-1:-1:-1;4946:59:111;4978:22;4954:10;4946:59:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4928:77;;;5023:7;5015:35;;;::::0;-1:-1:-1;;;5015:35:111;;9239:2:126;5015:35:111::1;::::0;::::1;9221:21:126::0;9278:2;9258:18;;;9251:30;-1:-1:-1;;;9297:18:126;;;9290:45;9352:18;;5015:35:111::1;9037:339:126::0;5015:35:111::1;5060:18:::0;;5096:14:::1;::::0;;::::1;::::0;5060:51:::1;::::0;-1:-1:-1;;;5060:51:111;;;;::::1;9555:25:126::0;;;9596:18;;;9589:34;-1:-1:-1;;;;;5060:18:111;;::::1;::::0;:23:::1;::::0;9528:18:126;;5060:51:111::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5159:10;5145:11;-1:-1:-1::0;;;;;5126:53:111::1;;5171:7;5126:53;;;;2478:25:126::0;;2466:2;2451:18;;2332:177;5126:53:111::1;;;;;;;;4578:608;;2217:176:::0;;;-1:-1:-1;;;;;2346:35:111;;;;;;;:22;:35;;;;;;;;2325:57;;-1:-1:-1;;;2325:57:111;;2334:10;2325:57;;;9846:34:126;2346:35:111;;9896:18:126;;;9889:43;9781:18;;2325:57:111;9634:304:126;2217:176:111;4466:720;;;;:::o;2971:153::-;3050:10;3027:34;;;;:22;:34;;;;;;;:42;;-1:-1:-1;;;;;;3027:42:111;-1:-1:-1;;;;;3027:42:111;;;;;3084:33;;;;;3027:42;;3084:33;:::i;:::-;;;;;;;;2971:153;:::o;1462:85:45:-;1534:6;;-1:-1:-1;;;;;1534:6:45;;1462:85::o;3162:732:111:-;3318:17;2526:21:48;:19;:21::i;:::-;5341:14:111;;3355:9:::1;:39;3351:103;;;3417:26;;-1:-1:-1::0;;;3417:26:111::1;;;;;;;;;;;3351:103;3475:8;:15;;;;3463:27;;3500:8;3527:283;;;;;;;;3583:10;-1:-1:-1::0;;;;;3527:283:111::1;;;;;3633:10;;3527:283;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;3527:283:111;;;-1:-1:-1;;;3527:283:111::1;::::0;::::1;::::0;;;3712:9:::1;3527:283:::0;;;;;;;;;;;;;;;3500:320;;::::1;::::0;;::::1;::::0;;-1:-1:-1;3500:320:111;;;::::1;::::0;;;;;;::::1;::::0;;::::1;;::::0;;-1:-1:-1;;;;;;3500:320:111::1;-1:-1:-1::0;;;;;3500:320:111;;::::1;::::0;;;::::1;::::0;;;;::::1;::::0;;;;;;;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;-1:-1:-1::0;3500:320:111::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;-1:-1:-1;;3500:320:111::1;::::0;;;;::::1;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;;3836:51:111::1;::::0;3875:10:::1;::::0;-1:-1:-1;3852:9:111;;3836:51:::1;::::0;;;::::1;2568:20:48::0;1808:1;3074:7;:22;2894:209;2568:20;3162:732:111;;;;;:::o;5400:204::-;5574:23;;-1:-1:-1;;;5574:23:111;;12343:2:126;5574:23:111;;;12325:21:126;12382:2;12362:18;;;12355:30;-1:-1:-1;;;12401:18:126;;;12394:43;5541:7:111;;12454:18:126;;5574:23:111;12141:337:126;2335:198:45;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:45;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:45;;12685:2:126;2415:73:45::1;::::0;::::1;12667:21:126::0;12724:2;12704:18;;;12697:30;12763:34;12743:18;;;12736:62;-1:-1:-1;;;12814:18:126;;;12807:36;12860:19;;2415:73:45::1;12483:402:126::0;2415:73:45::1;2498:28;2517:8;2498:18;:28::i;2458:196:111:-:0;3279:19:47;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:47;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;;3388:44;3426:4;3388:29;:44::i;:::-;3387:45;:66;;;;-1:-1:-1;3436:12:47;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:47;;13092:2:126;3325:201:47;;;13074:21:126;13131:2;13111:18;;;13104:30;13170:34;13150:18;;;13143:62;-1:-1:-1;;;13221:18:126;;;13214:44;13275:19;;3325:201:47;12890:410:126;3325:201:47;3536:12;:16;;-1:-1:-1;;3536:16:47;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:47;;;;;3562:65;2532:16:111::1;:14;:16::i;:::-;2558:14;:32:::0;;;2605:42:::1;::::0;2478:25:126;;;2605:42:111::1;::::0;2466:2:126;2451:18;2605:42:111::1;;;;;;;3651:14:47::0;3647:99;;;3697:5;3681:21;;-1:-1:-1;;3681:21:47;;;3721:14;;-1:-1:-1;13457:36:126;;3721:14:47;;13445:2:126;13430:18;3721:14:47;;;;;;;3269:483;2458:196:111;:::o;1175:140:60:-;-1:-1:-1;;;;;;;;;;;1254:54:60;-1:-1:-1;;;;;1254:54:60;;1175:140::o;5876:66:111:-;1355:13:45;:11;:13::i;2494:922:60:-;689:66;2910:48;;;2906:504;;;2974:37;2993:17;2974:18;:37::i;:::-;2494:922;;;:::o;2906:504::-;3064:17;-1:-1:-1;;;;;3046:50:60;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3046:52:60;;;;;;;;-1:-1:-1;;3046:52:60;;;;;;;;;;;;:::i;:::-;;;3042:291;;3262:56;;-1:-1:-1;;;3262:56:60;;13895:2:126;3262:56:60;;;13877:21:126;13934:2;13914:18;;;13907:30;13973:34;13953:18;;;13946:62;-1:-1:-1;;;14024:18:126;;;14017:44;14078:19;;3262:56:60;13693:410:126;3042:291:60;-1:-1:-1;;;;;;;;;;;3148:28:60;;3140:82;;;;-1:-1:-1;;;3140:82:60;;14310:2:126;3140:82:60;;;14292:21:126;14349:2;14329:18;;;14322:30;14388:34;14368:18;;;14361:62;-1:-1:-1;;;14439:18:126;;;14432:39;14488:19;;3140:82:60;14108:405:126;3140:82:60;3099:138;3346:53;3364:17;3383:4;3389:9;3346:17;:53::i;1620:130:45:-;965:10:51;1683:7:45;:5;:7::i;:::-;-1:-1:-1;;;;;1683:23:45;;1675:68;;;;-1:-1:-1;;;1675:68:45;;14720:2:126;1675:68:45;;;14702:21:126;;;14739:18;;;14732:30;14798:34;14778:18;;;14771:62;14850:18;;1675:68:45;14518:356:126;2687:187:45;2779:6;;;-1:-1:-1;;;;;2795:17:45;;;-1:-1:-1;;;;;;2795:17:45;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;2601:287:48:-;1851:1;2733:7;;:19;2725:63;;;;-1:-1:-1;;;2725:63:48;;15081:2:126;2725:63:48;;;15063:21:126;15120:2;15100:18;;;15093:30;15159:33;15139:18;;;15132:61;15210:18;;2725:63:48;14879:355:126;2725:63:48;1851:1;2863:7;:18;2601:287::o;1423:320:50:-;-1:-1:-1;;;;;1713:19:50;;:23;;;1423:320::o;1024:95:45:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;:::-;1086:26:45::1;:24;:26::i;1406:259:60:-:0;1487:37;1506:17;1487:18;:37::i;:::-;1479:95;;;;-1:-1:-1;;;1479:95:60;;15853:2:126;1479:95:60;;;15835:21:126;15892:2;15872:18;;;15865:30;15931:34;15911:18;;;15904:62;-1:-1:-1;;;15982:18:126;;;15975:43;16035:19;;1479:95:60;15651:409:126;1479:95:60;-1:-1:-1;;;;;;;;;;;1584:74:60;;-1:-1:-1;;;;;;1584:74:60;-1:-1:-1;;;;;1584:74:60;;;;;;;;;;1406:259::o;2057:265::-;2165:29;2176:17;2165:10;:29::i;:::-;2222:1;2208:4;:11;:15;:28;;;;2227:9;2208:28;2204:112;;;2252:53;2281:17;2300:4;2252:28;:53::i;1125:111:45:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;:::-;1197:32:45::1;965:10:51::0;1197:18:45::1;:32::i;1771:152:60:-:0;1837:37;1856:17;1837:18;:37::i;:::-;1889:27;;-1:-1:-1;;;;;1889:27:60;;;;;;;;1771:152;:::o;6674:198:76:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:76;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:76:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;8121:18;8132:6;8121:10;:18::i;:::-;8113:60;;;;-1:-1:-1;;;8113:60:76;;16559:2:126;8113:60:76;;;16541:21:126;16598:2;16578:18;;;16571:30;16637:31;16617:18;;;16610:59;16686:18;;8113:60:76;16357:353:126;8113:60:76;-1:-1:-1;8208:10:76;8201:17;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;:::-;7671:628;;;;;;:::o;8821:540::-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:76;;;;;;;;:::i;14:180:126:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:126;;14:180;-1:-1:-1;14:180:126:o;543:131::-;-1:-1:-1;;;;;618:31:126;;608:42;;598:70;;664:1;661;654:12;679:247;738:6;791:2;779:9;770:7;766:23;762:32;759:52;;;807:1;804;797:12;759:52;846:9;833:23;865:31;890:5;865:31;:::i;931:203::-;-1:-1:-1;;;;;1095:32:126;;;;1077:51;;1065:2;1050:18;;931:203::o;1139:127::-;1200:10;1195:3;1191:20;1188:1;1181:31;1231:4;1228:1;1221:15;1255:4;1252:1;1245:15;1271:1056;1348:6;1356;1409:2;1397:9;1388:7;1384:23;1380:32;1377:52;;;1425:1;1422;1415:12;1377:52;1464:9;1451:23;1483:31;1508:5;1483:31;:::i;:::-;1533:5;-1:-1:-1;1589:2:126;1574:18;;1561:32;-1:-1:-1;;;;;1642:14:126;;;1639:34;;;1669:1;1666;1659:12;1639:34;1707:6;1696:9;1692:22;1682:32;;1752:7;1745:4;1741:2;1737:13;1733:27;1723:55;;1774:1;1771;1764:12;1723:55;1810:2;1797:16;1832:2;1828;1825:10;1822:36;;;1838:18;;:::i;:::-;1913:2;1907:9;1881:2;1967:13;;-1:-1:-1;;1963:22:126;;;1987:2;1959:31;1955:40;1943:53;;;2011:18;;;2031:22;;;2008:46;2005:72;;;2057:18;;:::i;:::-;2097:10;2093:2;2086:22;2132:2;2124:6;2117:18;2172:7;2167:2;2162;2158;2154:11;2150:20;2147:33;2144:53;;;2193:1;2190;2183:12;2144:53;2249:2;2244;2240;2236:11;2231:2;2223:6;2219:15;2206:46;2294:1;2289:2;2284;2276:6;2272:15;2268:24;2261:35;2315:6;2305:16;;;;;;;1271:1056;;;;;:::o;2514:250::-;2599:1;2609:113;2623:6;2620:1;2617:13;2609:113;;;2699:11;;;2693:18;2680:11;;;2673:39;2645:2;2638:10;2609:113;;;-1:-1:-1;;2756:1:126;2738:16;;2731:27;2514:250::o;2769:270::-;2810:3;2848:5;2842:12;2875:6;2870:3;2863:19;2891:76;2960:6;2953:4;2948:3;2944:14;2937:4;2930:5;2926:16;2891:76;:::i;:::-;3021:2;3000:15;-1:-1:-1;;2996:29:126;2987:39;;;;3028:4;2983:50;;2769:270;-1:-1:-1;;2769:270:126:o;3044:127::-;3105:10;3100:3;3096:20;3093:1;3086:31;3136:4;3133:1;3126:15;3160:4;3157:1;3150:15;3176:793;-1:-1:-1;;;;;3501:32:126;;3483:51;;3570:3;3565:2;3550:18;;3543:31;;;-1:-1:-1;;3591:45:126;;3616:19;;3608:6;3591:45;:::i;:::-;3583:53;;3672:6;3667:2;3656:9;3652:18;3645:34;3715:6;3710:2;3699:9;3695:18;3688:34;3759:6;3753:3;3742:9;3738:19;3731:35;3796:1;3788:6;3785:13;3775:144;;3841:10;3836:3;3832:20;3829:1;3822:31;3876:4;3873:1;3866:15;3904:4;3901:1;3894:15;3775:144;3956:6;3950:3;3939:9;3935:19;3928:35;3176:793;;;;;;;;;:::o;3974:383::-;4051:6;4059;4067;4120:2;4108:9;4099:7;4095:23;4091:32;4088:52;;;4136:1;4133;4126:12;4088:52;4172:9;4159:23;4149:33;;4229:2;4218:9;4214:18;4201:32;4191:42;;4283:2;4272:9;4268:18;4255:32;4296:31;4321:5;4296:31;:::i;:::-;4346:5;4336:15;;;3974:383;;;;;:::o;4362:347::-;4413:8;4423:6;4477:3;4470:4;4462:6;4458:17;4454:27;4444:55;;4495:1;4492;4485:12;4444:55;-1:-1:-1;4518:20:126;;-1:-1:-1;;;;;4550:30:126;;4547:50;;;4593:1;4590;4583:12;4547:50;4630:4;4622:6;4618:17;4606:29;;4682:3;4675:4;4666:6;4658;4654:19;4650:30;4647:39;4644:59;;;4699:1;4696;4689:12;4644:59;4362:347;;;;;:::o;4714:477::-;4793:6;4801;4809;4862:2;4850:9;4841:7;4837:23;4833:32;4830:52;;;4878:1;4875;4868:12;4830:52;4901:23;;;-1:-1:-1;4975:2:126;4960:18;;4947:32;-1:-1:-1;;;;;4991:30:126;;4988:50;;;5034:1;5031;5024:12;4988:50;5073:58;5123:7;5114:6;5103:9;5099:22;5073:58;:::i;:::-;4714:477;;5150:8;;-1:-1:-1;5047:84:126;;-1:-1:-1;;;;4714:477:126:o;5378:560::-;5473:6;5481;5489;5542:2;5530:9;5521:7;5517:23;5513:32;5510:52;;;5558:1;5555;5548:12;5510:52;5585:23;;-1:-1:-1;;;;;5620:30:126;;5617:50;;;5663:1;5660;5653:12;5617:50;5702:58;5752:7;5743:6;5732:9;5728:22;5702:58;:::i;:::-;5779:8;;-1:-1:-1;5676:84:126;-1:-1:-1;;5864:2:126;5849:18;;5836:32;5877:31;5836:32;5877:31;:::i;5943:697::-;6056:6;6064;6072;6080;6088;6141:3;6129:9;6120:7;6116:23;6112:33;6109:53;;;6158:1;6155;6148:12;6109:53;6181:23;;;-1:-1:-1;6255:2:126;6240:18;;6227:32;-1:-1:-1;;;;;6271:30:126;;6268:50;;;6314:1;6311;6304:12;6268:50;6353:58;6403:7;6394:6;6383:9;6379:22;6353:58;:::i;:::-;6430:8;;-1:-1:-1;6327:84:126;-1:-1:-1;;6515:2:126;6500:18;;6487:32;6528:31;6487:32;6528:31;:::i;:::-;5943:697;;;;-1:-1:-1;5943:697:126;;6630:2;6615:18;6602:32;;5943:697;-1:-1:-1;;5943:697:126:o;6645:409::-;6715:6;6723;6776:2;6764:9;6755:7;6751:23;6747:32;6744:52;;;6792:1;6789;6782:12;6744:52;6819:23;;-1:-1:-1;;;;;6854:30:126;;6851:50;;;6897:1;6894;6887:12;6851:50;6936:58;6986:7;6977:6;6966:9;6962:22;6936:58;:::i;:::-;7013:8;;6910:84;;-1:-1:-1;6645:409:126;-1:-1:-1;;;;6645:409:126:o;7059:127::-;7120:10;7115:3;7111:20;7108:1;7101:31;7151:4;7148:1;7141:15;7175:4;7172:1;7165:15;7191:408;7393:2;7375:21;;;7432:2;7412:18;;;7405:30;-1:-1:-1;;;;;;;;;;;7466:2:126;7451:18;;7444:62;-1:-1:-1;;;7537:2:126;7522:18;;7515:42;7589:3;7574:19;;7191:408::o;7604:::-;7806:2;7788:21;;;7845:2;7825:18;;;7818:30;-1:-1:-1;;;;;;;;;;;7879:2:126;7864:18;;7857:62;-1:-1:-1;;;7950:2:126;7935:18;;7928:42;8002:3;7987:19;;7604:408::o;8442:380::-;8521:1;8517:12;;;;8564;;;8585:61;;8639:4;8631:6;8627:17;8617:27;;8585:61;8692:2;8684:6;8681:14;8661:18;8658:38;8655:161;;8738:10;8733:3;8729:20;8726:1;8719:31;8773:4;8770:1;8763:15;8801:4;8798:1;8791:15;8655:161;;8442:380;;;:::o;10068:544::-;10169:2;10164:3;10161:11;10158:448;;;10205:1;10230:5;10226:2;10219:17;10275:4;10271:2;10261:19;10345:2;10333:10;10329:19;10326:1;10322:27;10316:4;10312:38;10381:4;10369:10;10366:20;10363:47;;;-1:-1:-1;10404:4:126;10363:47;10459:2;10454:3;10450:12;10447:1;10443:20;10437:4;10433:31;10423:41;;10514:82;10532:2;10525:5;10522:13;10514:82;;;10577:17;;;10558:1;10547:13;10514:82;;;10518:3;;;10068:544;;;:::o;10788:1348::-;10906:10;;-1:-1:-1;;;;;10928:30:126;;10925:56;;;10961:18;;:::i;:::-;10990:96;11079:6;11039:38;11071:4;11065:11;11039:38;:::i;:::-;11033:4;10990:96;:::i;:::-;11141:4;;11205:2;11194:14;;11222:1;11217:662;;;;11923:1;11940:6;11937:89;;;-1:-1:-1;11992:19:126;;;11986:26;11937:89;-1:-1:-1;;10745:1:126;10741:11;;;10737:24;10733:29;10723:40;10769:1;10765:11;;;10720:57;12039:81;;11187:943;;11217:662;10015:1;10008:14;;;10052:4;10039:18;;-1:-1:-1;;11253:20:126;;;11370:236;11384:7;11381:1;11378:14;11370:236;;;11473:19;;;11467:26;11452:42;;11565:27;;;;11533:1;11521:14;;;;11400:19;;11370:236;;;11374:3;11634:6;11625:7;11622:19;11619:201;;;11695:19;;;11689:26;-1:-1:-1;;11778:1:126;11774:14;;;11790:3;11770:24;11766:37;11762:42;11747:58;11732:74;;11619:201;-1:-1:-1;;;;;11866:1:126;11850:14;;;11846:22;11833:36;;-1:-1:-1;10788:1348:126:o;13504:184::-;13574:6;13627:2;13615:9;13606:7;13602:23;13598:32;13595:52;;;13643:1;13640;13633:12;13595:52;-1:-1:-1;13666:16:126;;13504:184;-1:-1:-1;13504:184:126:o;15239:407::-;15441:2;15423:21;;;15480:2;15460:18;;;15453:30;15519:34;15514:2;15499:18;;15492:62;-1:-1:-1;;;15585:2:126;15570:18;;15563:41;15636:3;15621:19;;15239:407::o;16065:287::-;16194:3;16232:6;16226:13;16248:66;16307:6;16302:3;16295:4;16287:6;16283:17;16248:66;:::i;:::-;16330:16;;;;;16065:287;-1:-1:-1;;16065:287:126:o;16715:219::-;16864:2;16853:9;16846:21;16827:4;16884:44;16924:2;16913:9;16909:18;16901:6;16884:44;:::i","linkReferences":{},"immutableReferences":{"55572":[{"start":864,"length":32},{"start":937,"length":32},{"start":1073,"length":32},{"start":1137,"length":32},{"start":1261,"length":32}]}},"methodIdentifiers":{"arbitrableTribunalSafe(address)":"26a0754c","arbitrationCost(bytes)":"f7434ea9","arbitrationCost(bytes,address)":"d98493f6","createDispute(uint256,bytes)":"c13517e1","createDispute(uint256,bytes,address,uint256)":"f6506db4","currentRuling(uint256)":"1c3db16d","disputes(uint256)":"564a565d","executeRuling(uint256,uint256,address)":"7a1d3756","initialize(uint256)":"fe4b84df","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","registerSafe(address)":"88d5b732","renounceOwnership()":"715018a6","setArbitrationFee(uint256)":"5ea7b4fc","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DisputeAlreadySolved\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRuling\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotEnoughArbitrationFees\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"safe\",\"type\":\"address\"}],\"name\":\"OnlySafe\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"_token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"_accepted\",\"type\":\"bool\"}],\"name\":\"AcceptedFeeToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newArbitrationFee\",\"type\":\"uint256\"}],\"name\":\"ArbitrationFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"contract IArbitrable\",\"name\":\"_arbitrable\",\"type\":\"address\"}],\"name\":\"DisputeCreation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"_feeToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"_rateInEth\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"_rateDecimals\",\"type\":\"uint8\"}],\"name\":\"NewCurrencyRate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IArbitrable\",\"name\":\"_arbitrable\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"Ruling\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_arbitrationFee\",\"type\":\"uint256\"}],\"name\":\"SafeArbitratorInitialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_arbitrable\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"SafeRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"arbitrable\",\"type\":\"address\"}],\"name\":\"arbitrableTribunalSafe\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"safe\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"arbitrationCost\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"arbitrationCost\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_choices\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"createDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeID\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"createDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"}],\"name\":\"currentRuling\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"ruling\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"tied\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"overridden\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"disputes\",\"outputs\":[{\"internalType\":\"contract IArbitrable\",\"name\":\"arbitrated\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"arbitratorExtraData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"choices\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"arbitrationFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ruling\",\"type\":\"uint256\"},{\"internalType\":\"enum SafeArbitrator.DisputeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_arbitrable\",\"type\":\"address\"}],\"name\":\"executeRuling\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_arbitrationFee\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"registerSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_arbitrationFee\",\"type\":\"uint256\"}],\"name\":\"setArbitrationFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This is an arbitrator middleware that will allow a safe to decide on the result of disputes.\",\"events\":{\"AcceptedFeeToken(address,bool)\":{\"details\":\"To be emitted when an ERC20 token is added or removed as a method to pay fees.\",\"params\":{\"_accepted\":\"Whether the token is accepted or not.\",\"_token\":\"The ERC20 token.\"}},\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"DisputeCreation(uint256,address)\":{\"details\":\"To be emitted when a dispute is created.\",\"params\":{\"_arbitrable\":\"The contract which created the dispute.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\"}},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"NewCurrencyRate(address,uint64,uint8)\":{\"details\":\"To be emitted when the fee for a particular ERC20 token is updated.\",\"params\":{\"_feeToken\":\"The ERC20 token.\",\"_rateDecimals\":\"The new decimals of the fee token rate.\",\"_rateInEth\":\"The new rate of the fee token in ETH.\"}},\"Ruling(address,uint256,uint256)\":{\"details\":\"To be raised when a ruling is given.\",\"params\":{\"_arbitrable\":\"The arbitrable receiving the ruling.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"The ruling which was given.\"}},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"arbitrationCost(bytes)\":{\"details\":\"Compute the cost of arbitration denominated in the native currency, typically ETH. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\"},\"returns\":{\"fee\":\"The arbitration cost in ETH.\"}},\"arbitrationCost(bytes,address)\":{\"details\":\"Compute the cost of arbitration denominated in `_feeToken`. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_feeToken\":\"The ERC20 token used to pay fees.\"},\"returns\":{\"_0\":\"The arbitration cost in `_feeToken`.\"}},\"createDispute(uint256,bytes)\":{\"details\":\"Create a dispute and pay for the fees in the native currency, typically ETH. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_numberOfChoices\":\"The number of choices the arbitrator can choose from in this dispute.\"},\"returns\":{\"disputeID\":\"The identifier of the dispute created.\"}},\"createDispute(uint256,bytes,address,uint256)\":{\"details\":\"Create a dispute and pay for the fees in a supported ERC20 token. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_feeAmount\":\"Amount of the ERC20 token used to pay fees.\",\"_feeToken\":\"The ERC20 token used to pay fees.\",\"_numberOfChoices\":\"The number of choices the arbitrator can choose from in this dispute.\"},\"returns\":{\"_0\":\"The identifier of the dispute created.\"}},\"currentRuling(uint256)\":{\"details\":\"Gets the current ruling of a specified dispute.\",\"params\":{\"_disputeID\":\"The ID of the dispute.\"},\"returns\":{\"overridden\":\"Whether the ruling was overridden by appeal funding or not.\",\"ruling\":\"The current ruling.\",\"tied\":\"Whether it's a tie or not.\"}},\"executeRuling(uint256,uint256,address)\":{\"details\":\"Give a ruling to a dispute.\",\"params\":{\"_arbitrable\":\"Address of the arbitrable that the safe rules for\\\".\",\"_disputeID\":\"ID of the dispute to rule.\",\"_ruling\":\"Ruling given by the arbitrator. Note that 0 means that arbitrator chose \\\"Refused to rule\\\".\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"registerSafe(address)\":{\"details\":\"Authorize the safe to execute a ruling on the source contract.<\",\"params\":{\"_safe\":\"that acts as the Tribunal safe that can rule disputes from the source Strategy.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setArbitrationFee(uint256)\":{\"details\":\"Set the arbitration fee. Only callable by the owner.\",\"params\":{\"_arbitrationFee\":\"Amount to be paid for arbitration.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"title\":\"Safe Arbitrator\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/SafeArbitrator.sol\":\"SafeArbitrator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"pkg/contracts/src/SafeArbitrator.sol\":{\"keccak256\":\"0x706ccf6005d2fe60e3b68e2cf825869f450154a5a437d6ac7f72593809dad04d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5241571ed3a12db78e1e1876c26a03eb8af5fda070b40798f19d186126193dce\",\"dweb:/ipfs/QmSwaxyThd3tsokq2uUjLrHurHHBC71QgWVCgsjC8dY8Be\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"DisputeAlreadySolved"},{"inputs":[],"type":"error","name":"InvalidRuling"},{"inputs":[],"type":"error","name":"NotEnoughArbitrationFees"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"safe","type":"address"}],"type":"error","name":"OnlySafe"},{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address","indexed":true},{"internalType":"bool","name":"_accepted","type":"bool","indexed":true}],"type":"event","name":"AcceptedFeeToken","anonymous":false},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_newArbitrationFee","type":"uint256","indexed":false}],"type":"event","name":"ArbitrationFeeUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"contract IArbitrable","name":"_arbitrable","type":"address","indexed":true}],"type":"event","name":"DisputeCreation","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"contract IERC20","name":"_feeToken","type":"address","indexed":true},{"internalType":"uint64","name":"_rateInEth","type":"uint64","indexed":false},{"internalType":"uint8","name":"_rateDecimals","type":"uint8","indexed":false}],"type":"event","name":"NewCurrencyRate","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"contract IArbitrable","name":"_arbitrable","type":"address","indexed":true},{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_ruling","type":"uint256","indexed":false}],"type":"event","name":"Ruling","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_arbitrationFee","type":"uint256","indexed":false}],"type":"event","name":"SafeArbitratorInitialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_arbitrable","type":"address","indexed":true},{"internalType":"address","name":"_safe","type":"address","indexed":false}],"type":"event","name":"SafeRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"arbitrable","type":"address"}],"stateMutability":"view","type":"function","name":"arbitrableTribunalSafe","outputs":[{"internalType":"address","name":"safe","type":"address"}]},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"pure","type":"function","name":"arbitrationCost","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function","name":"arbitrationCost","outputs":[{"internalType":"uint256","name":"fee","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_choices","type":"uint256"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"createDispute","outputs":[{"internalType":"uint256","name":"disputeID","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"contract IERC20","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function","name":"createDispute","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentRuling","outputs":[{"internalType":"uint256","name":"ruling","type":"uint256"},{"internalType":"bool","name":"tied","type":"bool"},{"internalType":"bool","name":"overridden","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"disputes","outputs":[{"internalType":"contract IArbitrable","name":"arbitrated","type":"address"},{"internalType":"bytes","name":"arbitratorExtraData","type":"bytes"},{"internalType":"uint256","name":"choices","type":"uint256"},{"internalType":"uint256","name":"arbitrationFee","type":"uint256"},{"internalType":"uint256","name":"ruling","type":"uint256"},{"internalType":"enum SafeArbitrator.DisputeStatus","name":"status","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256"},{"internalType":"uint256","name":"_ruling","type":"uint256"},{"internalType":"address","name":"_arbitrable","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"executeRuling"},{"inputs":[{"internalType":"uint256","name":"_arbitrationFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_safe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerSafe"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_arbitrationFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setArbitrationFee"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"arbitrationCost(bytes)":{"details":"Compute the cost of arbitration denominated in the native currency, typically ETH. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes)."},"returns":{"fee":"The arbitration cost in ETH."}},"arbitrationCost(bytes,address)":{"details":"Compute the cost of arbitration denominated in `_feeToken`. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_feeToken":"The ERC20 token used to pay fees."},"returns":{"_0":"The arbitration cost in `_feeToken`."}},"createDispute(uint256,bytes)":{"details":"Create a dispute and pay for the fees in the native currency, typically ETH. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_numberOfChoices":"The number of choices the arbitrator can choose from in this dispute."},"returns":{"disputeID":"The identifier of the dispute created."}},"createDispute(uint256,bytes,address,uint256)":{"details":"Create a dispute and pay for the fees in a supported ERC20 token. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_feeAmount":"Amount of the ERC20 token used to pay fees.","_feeToken":"The ERC20 token used to pay fees.","_numberOfChoices":"The number of choices the arbitrator can choose from in this dispute."},"returns":{"_0":"The identifier of the dispute created."}},"currentRuling(uint256)":{"details":"Gets the current ruling of a specified dispute.","params":{"_disputeID":"The ID of the dispute."},"returns":{"overridden":"Whether the ruling was overridden by appeal funding or not.","ruling":"The current ruling.","tied":"Whether it's a tie or not."}},"executeRuling(uint256,uint256,address)":{"details":"Give a ruling to a dispute.","params":{"_arbitrable":"Address of the arbitrable that the safe rules for\".","_disputeID":"ID of the dispute to rule.","_ruling":"Ruling given by the arbitrator. Note that 0 means that arbitrator chose \"Refused to rule\"."}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"registerSafe(address)":{"details":"Authorize the safe to execute a ruling on the source contract.<","params":{"_safe":"that acts as the Tribunal safe that can rule disputes from the source Strategy."}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setArbitrationFee(uint256)":{"details":"Set the arbitration fee. Only callable by the owner.","params":{"_arbitrationFee":"Amount to be paid for arbitration."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/SafeArbitrator.sol":"SafeArbitrator"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"pkg/contracts/src/SafeArbitrator.sol":{"keccak256":"0x706ccf6005d2fe60e3b68e2cf825869f450154a5a437d6ac7f72593809dad04d","urls":["bzz-raw://5241571ed3a12db78e1e1876c26a03eb8af5fda070b40798f19d186126193dce","dweb:/ipfs/QmSwaxyThd3tsokq2uUjLrHurHHBC71QgWVCgsjC8dY8Be"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":52990,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52993,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53695,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52782,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52902,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":53167,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"_status","offset":0,"slot":"101","type":"t_uint256"},{"astId":53236,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":73522,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitrationFee","offset":0,"slot":"151","type":"t_uint256"},{"astId":73526,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"disputes","offset":0,"slot":"152","type":"t_array(t_struct(DisputeStruct)73520_storage)dyn_storage"},{"astId":73530,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitrableTribunalSafe","offset":0,"slot":"153","type":"t_mapping(t_address,t_address)"},{"astId":73861,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"__gap","offset":0,"slot":"154","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_struct(DisputeStruct)73520_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct SafeArbitrator.DisputeStruct[]","numberOfBytes":"32","base":"t_struct(DisputeStruct)73520_storage"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(IArbitrable)73940":{"encoding":"inplace","label":"contract IArbitrable","numberOfBytes":"20"},"t_enum(DisputeStatus)73505":{"encoding":"inplace","label":"enum SafeArbitrator.DisputeStatus","numberOfBytes":"1"},"t_mapping(t_address,t_address)":{"encoding":"mapping","key":"t_address","label":"mapping(address => address)","numberOfBytes":"32","value":"t_address"},"t_struct(DisputeStruct)73520_storage":{"encoding":"inplace","label":"struct SafeArbitrator.DisputeStruct","numberOfBytes":"192","members":[{"astId":73508,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitrated","offset":0,"slot":"0","type":"t_contract(IArbitrable)73940"},{"astId":73510,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitratorExtraData","offset":0,"slot":"1","type":"t_bytes_storage"},{"astId":73512,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"choices","offset":0,"slot":"2","type":"t_uint256"},{"astId":73514,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitrationFee","offset":0,"slot":"3","type":"t_uint256"},{"astId":73516,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"ruling","offset":0,"slot":"4","type":"t_uint256"},{"astId":73519,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"status","offset":0,"slot":"5","type":"t_enum(DisputeStatus)73505"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/SafeArbitrator.sol","id":73863,"exportedSymbols":{"IArbitrable":[73940],"IArbitrator":[74044],"IERC20":[56528],"OwnableUpgradeable":[52903],"ReentrancyGuardUpgradeable":[53237],"SafeArbitrator":[73862],"UUPSUpgradeable":[55672]},"nodeType":"SourceUnit","src":"33:5944:111","nodes":[{"id":73467,"nodeType":"PragmaDirective","src":"33:24:111","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":73469,"nodeType":"ImportDirective","src":"59:70:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":73863,"sourceUnit":56529,"symbolAliases":[{"foreign":{"id":73468,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56528,"src":"67:6:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73471,"nodeType":"ImportDirective","src":"130:88:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":73863,"sourceUnit":55673,"symbolAliases":[{"foreign":{"id":73470,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55672,"src":"138:15:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73473,"nodeType":"ImportDirective","src":"219:110:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":73863,"sourceUnit":52904,"symbolAliases":[{"foreign":{"id":73472,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52903,"src":"227:18:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73475,"nodeType":"ImportDirective","src":"330:132:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","nameLocation":"-1:-1:-1","scope":73863,"sourceUnit":53238,"symbolAliases":[{"foreign":{"id":73474,"name":"ReentrancyGuardUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53237,"src":"338:26:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73477,"nodeType":"ImportDirective","src":"463:57:111","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"./interfaces/IArbitrable.sol","nameLocation":"-1:-1:-1","scope":73863,"sourceUnit":73941,"symbolAliases":[{"foreign":{"id":73476,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73940,"src":"471:11:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73479,"nodeType":"ImportDirective","src":"521:57:111","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","file":"./interfaces/IArbitrator.sol","nameLocation":"-1:-1:-1","scope":73863,"sourceUnit":74045,"symbolAliases":[{"foreign":{"id":73478,"name":"IArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74044,"src":"529:11:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73862,"nodeType":"ContractDefinition","src":"709:5267:111","nodes":[{"id":73492,"nodeType":"EventDefinition","src":"819:56:111","nodes":[],"anonymous":false,"eventSelector":"b1484c2bf00d94a00783b6081ebc5f5d02be4675f6eb8cf4c0c95bfe5a3f06ed","name":"ArbitrationFeeUpdated","nameLocation":"825:21:111","parameters":{"id":73491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73490,"indexed":false,"mutability":"mutable","name":"_newArbitrationFee","nameLocation":"855:18:111","nodeType":"VariableDeclaration","scope":73492,"src":"847:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73489,"name":"uint256","nodeType":"ElementaryTypeName","src":"847:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"846:28:111"}},{"id":73498,"nodeType":"EventDefinition","src":"880:65:111","nodes":[],"anonymous":false,"eventSelector":"2b87bb26d58aa2d56b59c2b23a53a6959f68d4547492bda44fb5e68b0fa38b3f","name":"SafeRegistered","nameLocation":"886:14:111","parameters":{"id":73497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73494,"indexed":true,"mutability":"mutable","name":"_arbitrable","nameLocation":"917:11:111","nodeType":"VariableDeclaration","scope":73498,"src":"901:27:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73493,"name":"address","nodeType":"ElementaryTypeName","src":"901:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73496,"indexed":false,"mutability":"mutable","name":"_safe","nameLocation":"938:5:111","nodeType":"VariableDeclaration","scope":73498,"src":"930:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73495,"name":"address","nodeType":"ElementaryTypeName","src":"930:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"900:44:111"}},{"id":73502,"nodeType":"EventDefinition","src":"950:57:111","nodes":[],"anonymous":false,"eventSelector":"c05490fc8f8e095831ea3823f005dd0661528380328aa5c3b7348a45244223be","name":"SafeArbitratorInitialized","nameLocation":"956:25:111","parameters":{"id":73501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73500,"indexed":false,"mutability":"mutable","name":"_arbitrationFee","nameLocation":"990:15:111","nodeType":"VariableDeclaration","scope":73502,"src":"982:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73499,"name":"uint256","nodeType":"ElementaryTypeName","src":"982:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"981:25:111"}},{"id":73505,"nodeType":"EnumDefinition","src":"1013:144:111","nodes":[],"canonicalName":"SafeArbitrator.DisputeStatus","members":[{"id":73503,"name":"Waiting","nameLocation":"1042:7:111","nodeType":"EnumValue","src":"1042:7:111"},{"id":73504,"name":"Solved","nameLocation":"1116:6:111","nodeType":"EnumValue","src":"1116:6:111"}],"name":"DisputeStatus","nameLocation":"1018:13:111"},{"id":73520,"nodeType":"StructDefinition","src":"1163:509:111","nodes":[],"canonicalName":"SafeArbitrator.DisputeStruct","members":[{"constant":false,"id":73508,"mutability":"mutable","name":"arbitrated","nameLocation":"1206:10:111","nodeType":"VariableDeclaration","scope":73520,"src":"1194:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$73940","typeString":"contract IArbitrable"},"typeName":{"id":73507,"nodeType":"UserDefinedTypeName","pathNode":{"id":73506,"name":"IArbitrable","nameLocations":["1194:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":73940,"src":"1194:11:111"},"referencedDeclaration":73940,"src":"1194:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$73940","typeString":"contract IArbitrable"}},"visibility":"internal"},{"constant":false,"id":73510,"mutability":"mutable","name":"arbitratorExtraData","nameLocation":"1275:19:111","nodeType":"VariableDeclaration","scope":73520,"src":"1269:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":73509,"name":"bytes","nodeType":"ElementaryTypeName","src":"1269:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73512,"mutability":"mutable","name":"choices","nameLocation":"1346:7:111","nodeType":"VariableDeclaration","scope":73520,"src":"1338:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73511,"name":"uint256","nodeType":"ElementaryTypeName","src":"1338:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73514,"mutability":"mutable","name":"arbitrationFee","nameLocation":"1428:14:111","nodeType":"VariableDeclaration","scope":73520,"src":"1420:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73513,"name":"uint256","nodeType":"ElementaryTypeName","src":"1420:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73516,"mutability":"mutable","name":"ruling","nameLocation":"1558:6:111","nodeType":"VariableDeclaration","scope":73520,"src":"1550:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73515,"name":"uint256","nodeType":"ElementaryTypeName","src":"1550:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73519,"mutability":"mutable","name":"status","nameLocation":"1623:6:111","nodeType":"VariableDeclaration","scope":73520,"src":"1609:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73505","typeString":"enum SafeArbitrator.DisputeStatus"},"typeName":{"id":73518,"nodeType":"UserDefinedTypeName","pathNode":{"id":73517,"name":"DisputeStatus","nameLocations":["1609:13:111"],"nodeType":"IdentifierPath","referencedDeclaration":73505,"src":"1609:13:111"},"referencedDeclaration":73505,"src":"1609:13:111","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73505","typeString":"enum SafeArbitrator.DisputeStatus"}},"visibility":"internal"}],"name":"DisputeStruct","nameLocation":"1170:13:111","scope":73862,"visibility":"public"},{"id":73522,"nodeType":"VariableDeclaration","src":"1678:30:111","nodes":[],"constant":false,"mutability":"mutable","name":"arbitrationFee","nameLocation":"1694:14:111","scope":73862,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73521,"name":"uint256","nodeType":"ElementaryTypeName","src":"1678:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":73526,"nodeType":"VariableDeclaration","src":"1802:31:111","nodes":[],"constant":false,"functionSelector":"564a565d","mutability":"mutable","name":"disputes","nameLocation":"1825:8:111","scope":73862,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$73520_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct[]"},"typeName":{"baseType":{"id":73524,"nodeType":"UserDefinedTypeName","pathNode":{"id":73523,"name":"DisputeStruct","nameLocations":["1802:13:111"],"nodeType":"IdentifierPath","referencedDeclaration":73520,"src":"1802:13:111"},"referencedDeclaration":73520,"src":"1802:13:111","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73520_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"}},"id":73525,"nodeType":"ArrayTypeName","src":"1802:15:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$73520_storage_$dyn_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct[]"}},"visibility":"public"},{"id":73530,"nodeType":"VariableDeclaration","src":"1888:73:111","nodes":[],"constant":false,"functionSelector":"26a0754c","mutability":"mutable","name":"arbitrableTribunalSafe","nameLocation":"1939:22:111","scope":73862,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"},"typeName":{"id":73529,"keyName":"arbitrable","keyNameLocation":"1904:10:111","keyType":{"id":73527,"name":"address","nodeType":"ElementaryTypeName","src":"1896:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1888:43:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"},"valueName":"safe","valueNameLocation":"1926:4:111","valueType":{"id":73528,"name":"address","nodeType":"ElementaryTypeName","src":"1918:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"public"},{"id":73536,"nodeType":"ErrorDefinition","src":"2018:45:111","nodes":[],"errorSelector":"d0774c99","name":"OnlySafe","nameLocation":"2024:8:111","parameters":{"id":73535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73532,"mutability":"mutable","name":"sender","nameLocation":"2041:6:111","nodeType":"VariableDeclaration","scope":73536,"src":"2033:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73531,"name":"address","nodeType":"ElementaryTypeName","src":"2033:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73534,"mutability":"mutable","name":"safe","nameLocation":"2057:4:111","nodeType":"VariableDeclaration","scope":73536,"src":"2049:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73533,"name":"address","nodeType":"ElementaryTypeName","src":"2049:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2032:30:111"}},{"id":73538,"nodeType":"ErrorDefinition","src":"2068:33:111","nodes":[],"errorSelector":"e4216b31","name":"NotEnoughArbitrationFees","nameLocation":"2074:24:111","parameters":{"id":73537,"nodeType":"ParameterList","parameters":[],"src":"2098:2:111"}},{"id":73540,"nodeType":"ErrorDefinition","src":"2106:22:111","nodes":[],"errorSelector":"9efd4790","name":"InvalidRuling","nameLocation":"2112:13:111","parameters":{"id":73539,"nodeType":"ParameterList","parameters":[],"src":"2125:2:111"}},{"id":73542,"nodeType":"ErrorDefinition","src":"2133:29:111","nodes":[],"errorSelector":"bda17d95","name":"DisputeAlreadySolved","nameLocation":"2139:20:111","parameters":{"id":73541,"nodeType":"ParameterList","parameters":[],"src":"2159:2:111"}},{"id":73565,"nodeType":"ModifierDefinition","src":"2168:231:111","nodes":[],"body":{"id":73564,"nodeType":"Block","src":"2207:192:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73546,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2221:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2225:6:111","memberName":"sender","nodeType":"MemberAccess","src":"2221:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"baseExpression":{"id":73548,"name":"arbitrableTribunalSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73530,"src":"2235:22:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":73550,"indexExpression":{"id":73549,"name":"_arbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73544,"src":"2258:11:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2235:35:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2221:49:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":73562,"nodeType":"Block","src":"2304:89:111","statements":[{"errorCall":{"arguments":[{"expression":{"id":73555,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2334:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2338:6:111","memberName":"sender","nodeType":"MemberAccess","src":"2334:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":73557,"name":"arbitrableTribunalSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73530,"src":"2346:22:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":73559,"indexExpression":{"id":73558,"name":"_arbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73544,"src":"2369:11:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2346:35:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":73554,"name":"OnlySafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73536,"src":"2325:8:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":73560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2325:57:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73561,"nodeType":"RevertStatement","src":"2318:64:111"}]},"id":73563,"nodeType":"IfStatement","src":"2217:176:111","trueBody":{"id":73553,"nodeType":"Block","src":"2272:26:111","statements":[{"id":73552,"nodeType":"PlaceholderStatement","src":"2286:1:111"}]}}]},"name":"onlySafe","nameLocation":"2177:8:111","parameters":{"id":73545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73544,"mutability":"mutable","name":"_arbitrable","nameLocation":"2194:11:111","nodeType":"VariableDeclaration","scope":73565,"src":"2186:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73543,"name":"address","nodeType":"ElementaryTypeName","src":"2186:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2185:21:111"},"virtual":false,"visibility":"internal"},{"id":73584,"nodeType":"FunctionDefinition","src":"2458:196:111","nodes":[],"body":{"id":73583,"nodeType":"Block","src":"2522:132:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":73572,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52798,"src":"2532:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":73573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2532:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73574,"nodeType":"ExpressionStatement","src":"2532:16:111"},{"expression":{"id":73577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73575,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73522,"src":"2558:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73576,"name":"_arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73567,"src":"2575:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2558:32:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73578,"nodeType":"ExpressionStatement","src":"2558:32:111"},{"eventCall":{"arguments":[{"id":73580,"name":"_arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73567,"src":"2631:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73579,"name":"SafeArbitratorInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73502,"src":"2605:25:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":73581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2605:42:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73582,"nodeType":"EmitStatement","src":"2600:47:111"}]},"functionSelector":"fe4b84df","implemented":true,"kind":"function","modifiers":[{"id":73570,"kind":"modifierInvocation","modifierName":{"id":73569,"name":"initializer","nameLocations":["2510:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":53054,"src":"2510:11:111"},"nodeType":"ModifierInvocation","src":"2510:11:111"}],"name":"initialize","nameLocation":"2467:10:111","parameters":{"id":73568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73567,"mutability":"mutable","name":"_arbitrationFee","nameLocation":"2486:15:111","nodeType":"VariableDeclaration","scope":73584,"src":"2478:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73566,"name":"uint256","nodeType":"ElementaryTypeName","src":"2478:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2477:25:111"},"returnParameters":{"id":73571,"nodeType":"ParameterList","parameters":[],"src":"2522:0:111"},"scope":73862,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":73601,"nodeType":"FunctionDefinition","src":"2792:173:111","nodes":[],"body":{"id":73600,"nodeType":"Block","src":"2863:102:111","nodes":[],"statements":[{"expression":{"id":73594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73592,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73522,"src":"2873:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73593,"name":"_arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73587,"src":"2890:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2873:32:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73595,"nodeType":"ExpressionStatement","src":"2873:32:111"},{"eventCall":{"arguments":[{"id":73597,"name":"_arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73587,"src":"2942:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73596,"name":"ArbitrationFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73492,"src":"2920:21:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":73598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2920:38:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73599,"nodeType":"EmitStatement","src":"2915:43:111"}]},"documentation":{"id":73585,"nodeType":"StructuredDocumentation","src":"2660:127:111","text":"@dev Set the arbitration fee. Only callable by the owner.\n @param _arbitrationFee Amount to be paid for arbitration."},"functionSelector":"5ea7b4fc","implemented":true,"kind":"function","modifiers":[{"id":73590,"kind":"modifierInvocation","modifierName":{"id":73589,"name":"onlyOwner","nameLocations":["2853:9:111"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"2853:9:111"},"nodeType":"ModifierInvocation","src":"2853:9:111"}],"name":"setArbitrationFee","nameLocation":"2801:17:111","parameters":{"id":73588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73587,"mutability":"mutable","name":"_arbitrationFee","nameLocation":"2827:15:111","nodeType":"VariableDeclaration","scope":73601,"src":"2819:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73586,"name":"uint256","nodeType":"ElementaryTypeName","src":"2819:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2818:25:111"},"returnParameters":{"id":73591,"nodeType":"ParameterList","parameters":[],"src":"2863:0:111"},"scope":73862,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73620,"nodeType":"FunctionDefinition","src":"2971:153:111","nodes":[],"body":{"id":73619,"nodeType":"Block","src":"3017:107:111","nodes":[],"statements":[{"expression":{"id":73611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":73606,"name":"arbitrableTribunalSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73530,"src":"3027:22:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":73609,"indexExpression":{"expression":{"id":73607,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3050:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3054:6:111","memberName":"sender","nodeType":"MemberAccess","src":"3050:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3027:34:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73610,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73603,"src":"3064:5:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3027:42:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73612,"nodeType":"ExpressionStatement","src":"3027:42:111"},{"eventCall":{"arguments":[{"expression":{"id":73614,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3099:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3103:6:111","memberName":"sender","nodeType":"MemberAccess","src":"3099:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73616,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73603,"src":"3111:5:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":73613,"name":"SafeRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73498,"src":"3084:14:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":73617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3084:33:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73618,"nodeType":"EmitStatement","src":"3079:38:111"}]},"baseFunctions":[74043],"functionSelector":"88d5b732","implemented":true,"kind":"function","modifiers":[],"name":"registerSafe","nameLocation":"2980:12:111","parameters":{"id":73604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73603,"mutability":"mutable","name":"_safe","nameLocation":"3001:5:111","nodeType":"VariableDeclaration","scope":73620,"src":"2993:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73602,"name":"address","nodeType":"ElementaryTypeName","src":"2993:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2992:15:111"},"returnParameters":{"id":73605,"nodeType":"ParameterList","parameters":[],"src":"3017:0:111"},"scope":73862,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73676,"nodeType":"FunctionDefinition","src":"3162:732:111","nodes":[],"body":{"id":73675,"nodeType":"Block","src":"3341:553:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73633,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3355:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3359:5:111","memberName":"value","nodeType":"MemberAccess","src":"3355:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"id":73636,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73625,"src":"3383:10:111","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":73635,"name":"arbitrationCost","nodeType":"Identifier","overloadedDeclarations":[73799,73816],"referencedDeclaration":73799,"src":"3367:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_calldata_ptr_$returns$_t_uint256_$","typeString":"function (bytes calldata) view returns (uint256)"}},"id":73637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3367:27:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3355:39:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73643,"nodeType":"IfStatement","src":"3351:103:111","trueBody":{"id":73642,"nodeType":"Block","src":"3396:58:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73639,"name":"NotEnoughArbitrationFees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73538,"src":"3417:24:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3417:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73641,"nodeType":"RevertStatement","src":"3410:33:111"}]}},{"expression":{"id":73647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73644,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73631,"src":"3463:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73645,"name":"disputes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73526,"src":"3475:8:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$73520_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref[] storage ref"}},"id":73646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3484:6:111","memberName":"length","nodeType":"MemberAccess","src":"3475:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3463:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73648,"nodeType":"ExpressionStatement","src":"3463:27:111"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":73654,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3583:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3587:6:111","memberName":"sender","nodeType":"MemberAccess","src":"3583:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73653,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73940,"src":"3571:11:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IArbitrable_$73940_$","typeString":"type(contract IArbitrable)"}},"id":73656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3571:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$73940","typeString":"contract IArbitrable"}},{"id":73657,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73625,"src":"3633:10:111","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"id":73658,"name":"_choices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73623,"src":"3670:8:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":73659,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3712:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3716:5:111","memberName":"value","nodeType":"MemberAccess","src":"3712:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":73661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3747:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":73662,"name":"DisputeStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73505,"src":"3774:13:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_DisputeStatus_$73505_$","typeString":"type(enum SafeArbitrator.DisputeStatus)"}},"id":73663,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3788:7:111","memberName":"Waiting","nodeType":"MemberAccess","referencedDeclaration":73503,"src":"3774:21:111","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73505","typeString":"enum SafeArbitrator.DisputeStatus"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrable_$73940","typeString":"contract IArbitrable"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_DisputeStatus_$73505","typeString":"enum SafeArbitrator.DisputeStatus"}],"id":73652,"name":"DisputeStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73520,"src":"3527:13:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_DisputeStruct_$73520_storage_ptr_$","typeString":"type(struct SafeArbitrator.DisputeStruct storage pointer)"}},"id":73664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["3559:10:111","3612:19:111","3661:7:111","3696:14:111","3739:6:111","3766:6:111"],"names":["arbitrated","arbitratorExtraData","choices","arbitrationFee","ruling","status"],"nodeType":"FunctionCall","src":"3527:283:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73520_memory_ptr","typeString":"struct SafeArbitrator.DisputeStruct memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_DisputeStruct_$73520_memory_ptr","typeString":"struct SafeArbitrator.DisputeStruct memory"}],"expression":{"id":73649,"name":"disputes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73526,"src":"3500:8:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$73520_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref[] storage ref"}},"id":73651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3509:4:111","memberName":"push","nodeType":"MemberAccess","src":"3500:13:111","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_DisputeStruct_$73520_storage_$dyn_storage_ptr_$_t_struct$_DisputeStruct_$73520_storage_$returns$__$attached_to$_t_array$_t_struct$_DisputeStruct_$73520_storage_$dyn_storage_ptr_$","typeString":"function (struct SafeArbitrator.DisputeStruct storage ref[] storage pointer,struct SafeArbitrator.DisputeStruct storage ref)"}},"id":73665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3500:320:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73666,"nodeType":"ExpressionStatement","src":"3500:320:111"},{"eventCall":{"arguments":[{"id":73668,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73631,"src":"3852:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"id":73670,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3875:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3879:6:111","memberName":"sender","nodeType":"MemberAccess","src":"3875:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73669,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73940,"src":"3863:11:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IArbitrable_$73940_$","typeString":"type(contract IArbitrable)"}},"id":73672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3863:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$73940","typeString":"contract IArbitrable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IArbitrable_$73940","typeString":"contract IArbitrable"}],"id":73667,"name":"DisputeCreation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73953,"src":"3836:15:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_contract$_IArbitrable_$73940_$returns$__$","typeString":"function (uint256,contract IArbitrable)"}},"id":73673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3836:51:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73674,"nodeType":"EmitStatement","src":"3831:56:111"}]},"baseFunctions":[73991],"documentation":{"id":73621,"nodeType":"StructuredDocumentation","src":"3130:27:111","text":"@inheritdoc IArbitrator"},"functionSelector":"c13517e1","implemented":true,"kind":"function","modifiers":[{"id":73629,"kind":"modifierInvocation","modifierName":{"id":73628,"name":"nonReentrant","nameLocations":["3288:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":53197,"src":"3288:12:111"},"nodeType":"ModifierInvocation","src":"3288:12:111"}],"name":"createDispute","nameLocation":"3171:13:111","overrides":{"id":73627,"nodeType":"OverrideSpecifier","overrides":[],"src":"3271:8:111"},"parameters":{"id":73626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73623,"mutability":"mutable","name":"_choices","nameLocation":"3193:8:111","nodeType":"VariableDeclaration","scope":73676,"src":"3185:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73622,"name":"uint256","nodeType":"ElementaryTypeName","src":"3185:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73625,"mutability":"mutable","name":"_extraData","nameLocation":"3218:10:111","nodeType":"VariableDeclaration","scope":73676,"src":"3203:25:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":73624,"name":"bytes","nodeType":"ElementaryTypeName","src":"3203:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3184:45:111"},"returnParameters":{"id":73632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73631,"mutability":"mutable","name":"disputeID","nameLocation":"3326:9:111","nodeType":"VariableDeclaration","scope":73676,"src":"3318:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73630,"name":"uint256","nodeType":"ElementaryTypeName","src":"3318:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3317:19:111"},"scope":73862,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":73697,"nodeType":"FunctionDefinition","src":"3932:241:111","nodes":[],"body":{"id":73696,"nodeType":"Block","src":"4133:40:111","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"4e6f7420737570706f72746564","id":73693,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4150:15:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_e5b7c22b986abeee436d3f29779441c97ce367faa95f4de1bae94ece3817df25","typeString":"literal_string \"Not supported\""},"value":"Not supported"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e5b7c22b986abeee436d3f29779441c97ce367faa95f4de1bae94ece3817df25","typeString":"literal_string \"Not supported\""}],"id":73692,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"4143:6:111","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":73694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4143:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73695,"nodeType":"ExpressionStatement","src":"4143:23:111"}]},"baseFunctions":[74006],"documentation":{"id":73677,"nodeType":"StructuredDocumentation","src":"3900:27:111","text":"@inheritdoc IArbitrator"},"functionSelector":"f6506db4","implemented":true,"kind":"function","modifiers":[],"name":"createDispute","nameLocation":"3941:13:111","overrides":{"id":73688,"nodeType":"OverrideSpecifier","overrides":[],"src":"4106:8:111"},"parameters":{"id":73687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73679,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73697,"src":"3964:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73678,"name":"uint256","nodeType":"ElementaryTypeName","src":"3964:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73681,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73697,"src":"3994:14:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":73680,"name":"bytes","nodeType":"ElementaryTypeName","src":"3994:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73684,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73697,"src":"4033:6:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":73683,"nodeType":"UserDefinedTypeName","pathNode":{"id":73682,"name":"IERC20","nameLocations":["4033:6:111"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"4033:6:111"},"referencedDeclaration":56528,"src":"4033:6:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":73686,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73697,"src":"4063:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73685,"name":"uint256","nodeType":"ElementaryTypeName","src":"4063:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3954:137:111"},"returnParameters":{"id":73691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73690,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73697,"src":"4124:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73689,"name":"uint256","nodeType":"ElementaryTypeName","src":"4124:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4123:9:111"},"scope":73862,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":73787,"nodeType":"FunctionDefinition","src":"4466:720:111","nodes":[],"body":{"id":73786,"nodeType":"Block","src":"4578:608:111","nodes":[],"statements":[{"assignments":[73712],"declarations":[{"constant":false,"id":73712,"mutability":"mutable","name":"dispute","nameLocation":"4610:7:111","nodeType":"VariableDeclaration","scope":73786,"src":"4588:29:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73520_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"},"typeName":{"id":73711,"nodeType":"UserDefinedTypeName","pathNode":{"id":73710,"name":"DisputeStruct","nameLocations":["4588:13:111"],"nodeType":"IdentifierPath","referencedDeclaration":73520,"src":"4588:13:111"},"referencedDeclaration":73520,"src":"4588:13:111","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73520_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"}},"visibility":"internal"}],"id":73716,"initialValue":{"baseExpression":{"id":73713,"name":"disputes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73526,"src":"4620:8:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$73520_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref[] storage ref"}},"id":73715,"indexExpression":{"id":73714,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73700,"src":"4629:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4620:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73520_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4588:52:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73717,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73702,"src":"4655:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":73718,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73712,"src":"4665:7:111","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73520_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":73719,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4673:7:111","memberName":"choices","nodeType":"MemberAccess","referencedDeclaration":73512,"src":"4665:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4655:25:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73725,"nodeType":"IfStatement","src":"4651:78:111","trueBody":{"id":73724,"nodeType":"Block","src":"4682:47:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73721,"name":"InvalidRuling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73540,"src":"4703:13:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4703:15:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73723,"nodeType":"RevertStatement","src":"4696:22:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_DisputeStatus_$73505","typeString":"enum SafeArbitrator.DisputeStatus"},"id":73730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73726,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73712,"src":"4742:7:111","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73520_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":73727,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4750:6:111","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":73519,"src":"4742:14:111","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73505","typeString":"enum SafeArbitrator.DisputeStatus"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":73728,"name":"DisputeStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73505,"src":"4760:13:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_DisputeStatus_$73505_$","typeString":"type(enum SafeArbitrator.DisputeStatus)"}},"id":73729,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4774:6:111","memberName":"Solved","nodeType":"MemberAccess","referencedDeclaration":73504,"src":"4760:20:111","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73505","typeString":"enum SafeArbitrator.DisputeStatus"}},"src":"4742:38:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73735,"nodeType":"IfStatement","src":"4738:98:111","trueBody":{"id":73734,"nodeType":"Block","src":"4782:54:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73731,"name":"DisputeAlreadySolved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73542,"src":"4803:20:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4803:22:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73733,"nodeType":"RevertStatement","src":"4796:29:111"}]}},{"expression":{"id":73740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73736,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73712,"src":"4846:7:111","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73520_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":73738,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4854:6:111","memberName":"ruling","nodeType":"MemberAccess","referencedDeclaration":73516,"src":"4846:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73739,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73702,"src":"4863:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4846:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73741,"nodeType":"ExpressionStatement","src":"4846:24:111"},{"expression":{"id":73747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73742,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73712,"src":"4880:7:111","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73520_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":73744,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4888:6:111","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":73519,"src":"4880:14:111","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73505","typeString":"enum SafeArbitrator.DisputeStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73745,"name":"DisputeStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73505,"src":"4897:13:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_DisputeStatus_$73505_$","typeString":"type(enum SafeArbitrator.DisputeStatus)"}},"id":73746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4911:6:111","memberName":"Solved","nodeType":"MemberAccess","referencedDeclaration":73504,"src":"4897:20:111","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73505","typeString":"enum SafeArbitrator.DisputeStatus"}},"src":"4880:37:111","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73505","typeString":"enum SafeArbitrator.DisputeStatus"}},"id":73748,"nodeType":"ExpressionStatement","src":"4880:37:111"},{"assignments":[73750,null],"declarations":[{"constant":false,"id":73750,"mutability":"mutable","name":"success","nameLocation":"4934:7:111","nodeType":"VariableDeclaration","scope":73786,"src":"4929:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73749,"name":"bool","nodeType":"ElementaryTypeName","src":"4929:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":73762,"initialValue":{"arguments":[{"hexValue":"","id":73760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5002:2:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"arguments":[{"expression":{"id":73753,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4954:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4958:6:111","memberName":"sender","nodeType":"MemberAccess","src":"4954:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4946:8:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":73751,"name":"address","nodeType":"ElementaryTypeName","src":"4946:8:111","stateMutability":"payable","typeDescriptions":{}}},"id":73755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4946:19:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":73756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4966:4:111","memberName":"call","nodeType":"MemberAccess","src":"4946:24:111","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":73759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":73757,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73712,"src":"4978:7:111","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73520_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":73758,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4986:14:111","memberName":"arbitrationFee","nodeType":"MemberAccess","referencedDeclaration":73514,"src":"4978:22:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"4946:55:111","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":73761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4946:59:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"4928:77:111"},{"expression":{"arguments":[{"id":73764,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73750,"src":"5023:7:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5472616e73666572206661696c6564","id":73765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5032:17:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_25adaa6d082ce15f901e0d8a3d393e7462ef9edf2e6bc8321fa14d1615b6fc51","typeString":"literal_string \"Transfer failed\""},"value":"Transfer failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_25adaa6d082ce15f901e0d8a3d393e7462ef9edf2e6bc8321fa14d1615b6fc51","typeString":"literal_string \"Transfer failed\""}],"id":73763,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5015:7:111","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":73766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5015:35:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73767,"nodeType":"ExpressionStatement","src":"5015:35:111"},{"expression":{"arguments":[{"id":73773,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73700,"src":"5084:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":73774,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73712,"src":"5096:7:111","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73520_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":73775,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5104:6:111","memberName":"ruling","nodeType":"MemberAccess","referencedDeclaration":73516,"src":"5096:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":73768,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73712,"src":"5060:7:111","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73520_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":73771,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5068:10:111","memberName":"arbitrated","nodeType":"MemberAccess","referencedDeclaration":73508,"src":"5060:18:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$73940","typeString":"contract IArbitrable"}},"id":73772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5079:4:111","memberName":"rule","nodeType":"MemberAccess","referencedDeclaration":73939,"src":"5060:23:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) external"}},"id":73776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5060:51:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73777,"nodeType":"ExpressionStatement","src":"5060:51:111"},{"eventCall":{"arguments":[{"arguments":[{"id":73780,"name":"_arbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73704,"src":"5145:11:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73779,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73940,"src":"5133:11:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IArbitrable_$73940_$","typeString":"type(contract IArbitrable)"}},"id":73781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5133:24:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$73940","typeString":"contract IArbitrable"}},{"id":73782,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73700,"src":"5159:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73783,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73702,"src":"5171:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrable_$73940","typeString":"contract IArbitrable"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73778,"name":"Ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73963,"src":"5126:6:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrable_$73940_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrable,uint256,uint256)"}},"id":73784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5126:53:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73785,"nodeType":"EmitStatement","src":"5121:58:111"}]},"documentation":{"id":73698,"nodeType":"StructuredDocumentation","src":"4179:282:111","text":"@dev Give a ruling to a dispute.\n @param _disputeID ID of the dispute to rule.\n @param _ruling Ruling given by the arbitrator. Note that 0 means that arbitrator chose \"Refused to rule\".\n @param _arbitrable Address of the arbitrable that the safe rules for\"."},"functionSelector":"7a1d3756","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":73707,"name":"_arbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73704,"src":"4565:11:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":73708,"kind":"modifierInvocation","modifierName":{"id":73706,"name":"onlySafe","nameLocations":["4556:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":73565,"src":"4556:8:111"},"nodeType":"ModifierInvocation","src":"4556:21:111"}],"name":"executeRuling","nameLocation":"4475:13:111","parameters":{"id":73705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73700,"mutability":"mutable","name":"_disputeID","nameLocation":"4497:10:111","nodeType":"VariableDeclaration","scope":73787,"src":"4489:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73699,"name":"uint256","nodeType":"ElementaryTypeName","src":"4489:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73702,"mutability":"mutable","name":"_ruling","nameLocation":"4517:7:111","nodeType":"VariableDeclaration","scope":73787,"src":"4509:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73701,"name":"uint256","nodeType":"ElementaryTypeName","src":"4509:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73704,"mutability":"mutable","name":"_arbitrable","nameLocation":"4534:11:111","nodeType":"VariableDeclaration","scope":73787,"src":"4526:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73703,"name":"address","nodeType":"ElementaryTypeName","src":"4526:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4488:58:111"},"returnParameters":{"id":73709,"nodeType":"ParameterList","parameters":[],"src":"4578:0:111"},"scope":73862,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73799,"nodeType":"FunctionDefinition","src":"5224:138:111","nodes":[],"body":{"id":73798,"nodeType":"Block","src":"5324:38:111","nodes":[],"statements":[{"expression":{"id":73796,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73522,"src":"5341:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73795,"id":73797,"nodeType":"Return","src":"5334:21:111"}]},"baseFunctions":[74014],"documentation":{"id":73788,"nodeType":"StructuredDocumentation","src":"5192:27:111","text":"@inheritdoc IArbitrator"},"functionSelector":"f7434ea9","implemented":true,"kind":"function","modifiers":[],"name":"arbitrationCost","nameLocation":"5233:15:111","overrides":{"id":73792,"nodeType":"OverrideSpecifier","overrides":[],"src":"5293:8:111"},"parameters":{"id":73791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73790,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73799,"src":"5249:14:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":73789,"name":"bytes","nodeType":"ElementaryTypeName","src":"5249:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5248:32:111"},"returnParameters":{"id":73795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73794,"mutability":"mutable","name":"fee","nameLocation":"5319:3:111","nodeType":"VariableDeclaration","scope":73799,"src":"5311:11:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73793,"name":"uint256","nodeType":"ElementaryTypeName","src":"5311:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5310:13:111"},"scope":73862,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":73816,"nodeType":"FunctionDefinition","src":"5400:204:111","nodes":[],"body":{"id":73815,"nodeType":"Block","src":"5564:40:111","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"4e6f7420737570706f72746564","id":73812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5581:15:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_e5b7c22b986abeee436d3f29779441c97ce367faa95f4de1bae94ece3817df25","typeString":"literal_string \"Not supported\""},"value":"Not supported"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e5b7c22b986abeee436d3f29779441c97ce367faa95f4de1bae94ece3817df25","typeString":"literal_string \"Not supported\""}],"id":73811,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"5574:6:111","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":73813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5574:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73814,"nodeType":"ExpressionStatement","src":"5574:23:111"}]},"baseFunctions":[74025],"documentation":{"id":73800,"nodeType":"StructuredDocumentation","src":"5368:27:111","text":"@inheritdoc IArbitrator"},"functionSelector":"d98493f6","implemented":true,"kind":"function","modifiers":[],"name":"arbitrationCost","nameLocation":"5409:15:111","overrides":{"id":73807,"nodeType":"OverrideSpecifier","overrides":[],"src":"5515:8:111"},"parameters":{"id":73806,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73802,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73816,"src":"5425:14:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":73801,"name":"bytes","nodeType":"ElementaryTypeName","src":"5425:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73805,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73816,"src":"5456:6:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":73804,"nodeType":"UserDefinedTypeName","pathNode":{"id":73803,"name":"IERC20","nameLocations":["5456:6:111"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"5456:6:111"},"referencedDeclaration":56528,"src":"5456:6:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"}],"src":"5424:54:111"},"returnParameters":{"id":73810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73809,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73816,"src":"5541:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73808,"name":"uint256","nodeType":"ElementaryTypeName","src":"5541:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5540:19:111"},"scope":73862,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":73848,"nodeType":"FunctionDefinition","src":"5610:260:111","nodes":[],"body":{"id":73847,"nodeType":"Block","src":"5718:152:111","nodes":[],"statements":[{"assignments":[73829],"declarations":[{"constant":false,"id":73829,"mutability":"mutable","name":"dispute","nameLocation":"5750:7:111","nodeType":"VariableDeclaration","scope":73847,"src":"5728:29:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73520_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"},"typeName":{"id":73828,"nodeType":"UserDefinedTypeName","pathNode":{"id":73827,"name":"DisputeStruct","nameLocations":["5728:13:111"],"nodeType":"IdentifierPath","referencedDeclaration":73520,"src":"5728:13:111"},"referencedDeclaration":73520,"src":"5728:13:111","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73520_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"}},"visibility":"internal"}],"id":73833,"initialValue":{"baseExpression":{"id":73830,"name":"disputes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73526,"src":"5760:8:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$73520_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref[] storage ref"}},"id":73832,"indexExpression":{"id":73831,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73818,"src":"5769:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5760:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73520_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5728:52:111"},{"expression":{"id":73837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73834,"name":"ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73821,"src":"5790:6:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73835,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73829,"src":"5799:7:111","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73520_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":73836,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5807:6:111","memberName":"ruling","nodeType":"MemberAccess","referencedDeclaration":73516,"src":"5799:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5790:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73838,"nodeType":"ExpressionStatement","src":"5790:23:111"},{"expression":{"id":73841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73839,"name":"tied","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73823,"src":"5823:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":73840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5830:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"5823:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73842,"nodeType":"ExpressionStatement","src":"5823:12:111"},{"expression":{"id":73845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73843,"name":"overridden","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73825,"src":"5845:10:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":73844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5858:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"5845:18:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73846,"nodeType":"ExpressionStatement","src":"5845:18:111"}]},"baseFunctions":[74037],"functionSelector":"1c3db16d","implemented":true,"kind":"function","modifiers":[],"name":"currentRuling","nameLocation":"5619:13:111","parameters":{"id":73819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73818,"mutability":"mutable","name":"_disputeID","nameLocation":"5641:10:111","nodeType":"VariableDeclaration","scope":73848,"src":"5633:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73817,"name":"uint256","nodeType":"ElementaryTypeName","src":"5633:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5632:20:111"},"returnParameters":{"id":73826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73821,"mutability":"mutable","name":"ruling","nameLocation":"5682:6:111","nodeType":"VariableDeclaration","scope":73848,"src":"5674:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73820,"name":"uint256","nodeType":"ElementaryTypeName","src":"5674:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73823,"mutability":"mutable","name":"tied","nameLocation":"5695:4:111","nodeType":"VariableDeclaration","scope":73848,"src":"5690:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73822,"name":"bool","nodeType":"ElementaryTypeName","src":"5690:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":73825,"mutability":"mutable","name":"overridden","nameLocation":"5706:10:111","nodeType":"VariableDeclaration","scope":73848,"src":"5701:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73824,"name":"bool","nodeType":"ElementaryTypeName","src":"5701:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5673:44:111"},"scope":73862,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":73857,"nodeType":"FunctionDefinition","src":"5876:66:111","nodes":[],"body":{"id":73856,"nodeType":"Block","src":"5940:2:111","nodes":[],"statements":[]},"baseFunctions":[55671],"implemented":true,"kind":"function","modifiers":[{"id":73854,"kind":"modifierInvocation","modifierName":{"id":73853,"name":"onlyOwner","nameLocations":["5930:9:111"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"5930:9:111"},"nodeType":"ModifierInvocation","src":"5930:9:111"}],"name":"_authorizeUpgrade","nameLocation":"5885:17:111","overrides":{"id":73852,"nodeType":"OverrideSpecifier","overrides":[],"src":"5921:8:111"},"parameters":{"id":73851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73850,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73857,"src":"5903:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73849,"name":"address","nodeType":"ElementaryTypeName","src":"5903:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5902:9:111"},"returnParameters":{"id":73855,"nodeType":"ParameterList","parameters":[],"src":"5940:0:111"},"scope":73862,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":73861,"nodeType":"VariableDeclaration","src":"5948:25:111","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"5968:5:111","scope":73862,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":73858,"name":"uint256","nodeType":"ElementaryTypeName","src":"5948:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73860,"length":{"hexValue":"3530","id":73859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5956:2:111","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"5948:11:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":73481,"name":"IArbitrator","nameLocations":["736:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":74044,"src":"736:11:111"},"id":73482,"nodeType":"InheritanceSpecifier","src":"736:11:111"},{"baseName":{"id":73483,"name":"UUPSUpgradeable","nameLocations":["749:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":55672,"src":"749:15:111"},"id":73484,"nodeType":"InheritanceSpecifier","src":"749:15:111"},{"baseName":{"id":73485,"name":"OwnableUpgradeable","nameLocations":["766:18:111"],"nodeType":"IdentifierPath","referencedDeclaration":52903,"src":"766:18:111"},"id":73486,"nodeType":"InheritanceSpecifier","src":"766:18:111"},{"baseName":{"id":73487,"name":"ReentrancyGuardUpgradeable","nameLocations":["786:26:111"],"nodeType":"IdentifierPath","referencedDeclaration":53237,"src":"786:26:111"},"id":73488,"nodeType":"InheritanceSpecifier","src":"786:26:111"}],"canonicalName":"SafeArbitrator","contractDependencies":[],"contractKind":"contract","documentation":{"id":73480,"nodeType":"StructuredDocumentation","src":"580:129:111","text":"@title Safe Arbitrator\n @dev This is an arbitrator middleware that will allow a safe to decide on the result of disputes."},"fullyImplemented":true,"linearizedBaseContracts":[73862,53237,52903,53696,53152,55672,55325,54974,54984,74044],"name":"SafeArbitrator","nameLocation":"718:14:111","scope":73863,"usedErrors":[73536,73538,73540,73542]}],"license":"MIT"},"id":111} \ No newline at end of file +{"abi":[{"type":"function","name":"arbitrableTribunalSafe","inputs":[{"name":"arbitrable","type":"address","internalType":"address"}],"outputs":[{"name":"safe","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"arbitrationCost","inputs":[{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"address","internalType":"contract IERC20"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"arbitrationCost","inputs":[{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"fee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"createDispute","inputs":[{"name":"_choices","type":"uint256","internalType":"uint256"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"disputeID","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"createDispute","inputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"address","internalType":"contract IERC20"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"currentRuling","inputs":[{"name":"_disputeID","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"ruling","type":"uint256","internalType":"uint256"},{"name":"tied","type":"bool","internalType":"bool"},{"name":"overridden","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"disputes","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"arbitrated","type":"address","internalType":"contract IArbitrable"},{"name":"arbitratorExtraData","type":"bytes","internalType":"bytes"},{"name":"choices","type":"uint256","internalType":"uint256"},{"name":"arbitrationFee","type":"uint256","internalType":"uint256"},{"name":"ruling","type":"uint256","internalType":"uint256"},{"name":"status","type":"uint8","internalType":"enum SafeArbitrator.DisputeStatus"}],"stateMutability":"view"},{"type":"function","name":"executeRuling","inputs":[{"name":"_disputeID","type":"uint256","internalType":"uint256"},{"name":"_ruling","type":"uint256","internalType":"uint256"},{"name":"_arbitrable","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"_arbitrationFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerSafe","inputs":[{"name":"_safe","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setArbitrationFee","inputs":[{"name":"_arbitrationFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AcceptedFeeToken","inputs":[{"name":"_token","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"_accepted","type":"bool","indexed":true,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ArbitrationFeeUpdated","inputs":[{"name":"_newArbitrationFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DisputeCreation","inputs":[{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_arbitrable","type":"address","indexed":true,"internalType":"contract IArbitrable"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"NewCurrencyRate","inputs":[{"name":"_feeToken","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"_rateInEth","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"_rateDecimals","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Ruling","inputs":[{"name":"_arbitrable","type":"address","indexed":true,"internalType":"contract IArbitrable"},{"name":"_disputeID","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_ruling","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SafeArbitratorInitialized","inputs":[{"name":"_arbitrationFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SafeRegistered","inputs":[{"name":"_arbitrable","type":"address","indexed":true,"internalType":"address"},{"name":"_safe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"DisputeAlreadySolved","inputs":[]},{"type":"error","name":"InvalidRuling","inputs":[]},{"type":"error","name":"NotEnoughArbitrationFees","inputs":[]},{"type":"error","name":"OnlySafe","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"safe","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b506080516118fc61004c60003960008181610360015281816103a9015281816104310152818161047101526104ed01526118fc6000f3fe6080604052600436106100ce5760003560e01c80631c3db16d146100d357806326a0754c146101155780633659cfe6146101585780634f1ef2861461017a57806352d1902d1461018d578063564a565d146101b05780635ea7b4fc146101e2578063715018a6146102025780637a1d37561461021757806388d5b732146102375780638da5cb5b14610257578063c13517e11461026c578063d98493f61461027f578063f2fde38b1461029f578063f6506db4146102bf578063f7434ea9146102da578063fe4b84df146102fd575b600080fd5b3480156100df57600080fd5b506100f36100ee366004611238565b61031d565b6040805193845291151560208401521515908201526060015b60405180910390f35b34801561012157600080fd5b5061014b610130366004611266565b6099602052600090815260409020546001600160a01b031681565b60405161010c9190611283565b34801561016457600080fd5b50610178610173366004611266565b610356565b005b6101786101883660046112ad565b610427565b34801561019957600080fd5b506101a26104e0565b60405190815260200161010c565b3480156101bc57600080fd5b506101d06101cb366004611238565b61058e565b60405161010c969594939291906113d6565b3480156101ee57600080fd5b506101786101fd366004611238565b61066c565b34801561020e57600080fd5b506101786106af565b34801561022357600080fd5b5061017861023236600461143d565b6106c3565b34801561024357600080fd5b50610178610252366004611266565b610901565b34801561026357600080fd5b5061014b610964565b6101a261027a3660046114be565b610973565b34801561028b57600080fd5b506101a261029a366004611509565b610aeb565b3480156102ab57600080fd5b506101786102ba366004611266565b610b26565b3480156102cb57600080fd5b506101a261029a366004611554565b3480156102e657600080fd5b506101a26102f53660046115ba565b505060975490565b34801561030957600080fd5b50610178610318366004611238565b610b9c565b60008060008060988581548110610336576103366115fb565b600091825260208220600460069092020101549690955085945092505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103a75760405162461bcd60e51b815260040161039e90611611565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103d9610cec565b6001600160a01b0316146103ff5760405162461bcd60e51b815260040161039e9061164b565b61040881610d08565b6040805160008082526020820190925261042491839190610d10565b50565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361046f5760405162461bcd60e51b815260040161039e90611611565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166104a1610cec565b6001600160a01b0316146104c75760405162461bcd60e51b815260040161039e9061164b565b6104d082610d08565b6104dc82826001610d10565b5050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461057b5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840161039e565b5060008051602061188083398151915290565b6098818154811061059e57600080fd5b6000918252602090912060069091020180546001820180546001600160a01b039092169350906105cd90611685565b80601f01602080910402602001604051908101604052809291908181526020018280546105f990611685565b80156106465780601f1061061b57610100808354040283529160200191610646565b820191906000526020600020905b81548152906001019060200180831161062957829003601f168201915b505050506002830154600384015460048501546005909501549394919390925060ff1686565b610674610e80565b60978190556040518181527fb1484c2bf00d94a00783b6081ebc5f5d02be4675f6eb8cf4c0c95bfe5a3f06ed9060200160405180910390a150565b6106b7610e80565b6106c16000610edf565b565b6001600160a01b0380821660009081526099602052604090205482911633036108be576000609885815481106106fb576106fb6115fb565b906000526020600020906006020190508060020154841115610730576040516309efd47960e41b815260040160405180910390fd5b6001600582015460ff16600181111561074b5761074b6113c0565b036107695760405163bda17d9560e01b815260040160405180910390fd5b6004810184905560058101805460ff19166001179055600381015460405160009133918381818185875af1925050503d80600081146107c4576040519150601f19603f3d011682016040523d82523d6000602084013e6107c9565b606091505b505090508061080c5760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161039e565b815460048084015460405163188d362b60e11b815291820189905260248201526001600160a01b039091169063311a6c5690604401600060405180830381600087803b15801561085b57600080fd5b505af115801561086f573d6000803e3d6000fd5b5050505085846001600160a01b03167f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e75622276876040516108af91815260200190565b60405180910390a350506108fb565b6001600160a01b038181166000908152609960205260409081902054905163d0774c9960e01b81523360048201529116602482015260440161039e565b50505050565b336000818152609960205260409081902080546001600160a01b0319166001600160a01b038516179055517f2b87bb26d58aa2d56b59c2b23a53a6959f68d4547492bda44fb5e68b0fa38b3f90610959908490611283565b60405180910390a250565b6033546001600160a01b031690565b600061097d610f31565b6097543410156109a05760405163e4216b3160e01b815260040160405180910390fd5b609880549050905060986040518060c00160405280336001600160a01b0316815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093855250505060208201889052346040830152606082018190526080909101528154600180820184556000938452602093849020835160069093020180546001600160a01b0319166001600160a01b03909316929092178255928201519192909190820190610a65908261170d565b5060408201516002820155606082015160038201556080820151600482015560a082015160058201805460ff191660018381811115610aa657610aa66113c0565b02179055505060405133915082907f141dfc18aa6a56fc816f44f0e9e2f1ebc92b15ab167770e17db5b084c10ed99590600090a3610ae46001606555565b9392505050565b60405162461bcd60e51b815260206004820152600d60248201526c139bdd081cdd5c1c1bdc9d1959609a1b604482015260009060640161039e565b610b2e610e80565b6001600160a01b038116610b935760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161039e565b61042481610edf565b600054610100900460ff1615808015610bbc5750600054600160ff909116105b80610bdd5750610bcb30610f8a565b158015610bdd575060005460ff166001145b610c405760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161039e565b6000805460ff191660011790558015610c63576000805461ff0019166101001790555b610c6b610f99565b60978290556040518281527fc05490fc8f8e095831ea3823f005dd0661528380328aa5c3b7348a45244223be9060200160405180910390a180156104dc576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600080516020611880833981519152546001600160a01b031690565b610424610e80565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610d4857610d4383610fc8565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610da2575060408051601f3d908101601f19168201909252610d9f918101906117cc565b60015b610e055760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161039e565b6000805160206118808339815191528114610e745760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161039e565b50610d43838383611062565b33610e89610964565b6001600160a01b0316146106c15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161039e565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600260655403610f835760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161039e565b6002606555565b6001600160a01b03163b151590565b600054610100900460ff16610fc05760405162461bcd60e51b815260040161039e906117e5565b6106c1611087565b610fd181610f8a565b6110335760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161039e565b60008051602061188083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61106b836110b7565b6000825111806110785750805b15610d43576108fb83836110f7565b600054610100900460ff166110ae5760405162461bcd60e51b815260040161039e906117e5565b6106c133610edf565b6110c081610fc8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610ae483836040518060600160405280602781526020016118a0602791396060600080856001600160a01b0316856040516111349190611830565b600060405180830381855af49150503d806000811461116f576040519150601f19603f3d011682016040523d82523d6000602084013e611174565b606091505b50915091506111858683838761118f565b9695505050505050565b606083156111fc5782516000036111f5576111a985610f8a565b6111f55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161039e565b5081611206565b611206838361120e565b949350505050565b81511561121e5781518083602001fd5b8060405162461bcd60e51b815260040161039e919061184c565b60006020828403121561124a57600080fd5b5035919050565b6001600160a01b038116811461042457600080fd5b60006020828403121561127857600080fd5b8135610ae481611251565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156112c057600080fd5b82356112cb81611251565b915060208301356001600160401b03808211156112e757600080fd5b818501915085601f8301126112fb57600080fd5b81358181111561130d5761130d611297565b604051601f8201601f19908116603f0116810190838211818310171561133557611335611297565b8160405282815288602084870101111561134e57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b8381101561138b578181015183820152602001611373565b50506000910152565b600081518084526113ac816020860160208601611370565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b038716815260c0602082018190526000906113fa90830188611394565b90508560408301528460608301528360808301526002831061142c57634e487b7160e01b600052602160045260246000fd5b8260a0830152979650505050505050565b60008060006060848603121561145257600080fd5b8335925060208401359150604084013561146b81611251565b809150509250925092565b60008083601f84011261148857600080fd5b5081356001600160401b0381111561149f57600080fd5b6020830191508360208285010111156114b757600080fd5b9250929050565b6000806000604084860312156114d357600080fd5b8335925060208401356001600160401b038111156114f057600080fd5b6114fc86828701611476565b9497909650939450505050565b60008060006040848603121561151e57600080fd5b83356001600160401b0381111561153457600080fd5b61154086828701611476565b909450925050602084013561146b81611251565b60008060008060006080868803121561156c57600080fd5b8535945060208601356001600160401b0381111561158957600080fd5b61159588828901611476565b90955093505060408601356115a981611251565b949793965091946060013592915050565b600080602083850312156115cd57600080fd5b82356001600160401b038111156115e357600080fd5b6115ef85828601611476565b90969095509350505050565b634e487b7160e01b600052603260045260246000fd5b6020808252602c9082015260008051602061186083398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061186083398151915260408201526b6163746976652070726f787960a01b606082015260800190565b600181811c9082168061169957607f821691505b6020821081036116b957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610d4357600081815260208120601f850160051c810160208610156116e65750805b601f850160051c820191505b81811015611705578281556001016116f2565b505050505050565b81516001600160401b0381111561172657611726611297565b61173a816117348454611685565b846116bf565b602080601f83116001811461176f57600084156117575750858301515b600019600386901b1c1916600185901b178555611705565b600085815260208120601f198616915b8281101561179e5788860151825594840194600190910190840161177f565b50858210156117bc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156117de57600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60008251611842818460208701611370565b9190910192915050565b602081526000610ae4602083018461139456fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212209aaf864e6b8d13947cef88666fa61198600c6e2482edc2b2c9a9b5d85494d7c764736f6c63430008130033","sourceMap":"709:5267:111:-:0;;;1088:4:64;1045:48;;709:5267:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106100ce5760003560e01c80631c3db16d146100d357806326a0754c146101155780633659cfe6146101585780634f1ef2861461017a57806352d1902d1461018d578063564a565d146101b05780635ea7b4fc146101e2578063715018a6146102025780637a1d37561461021757806388d5b732146102375780638da5cb5b14610257578063c13517e11461026c578063d98493f61461027f578063f2fde38b1461029f578063f6506db4146102bf578063f7434ea9146102da578063fe4b84df146102fd575b600080fd5b3480156100df57600080fd5b506100f36100ee366004611238565b61031d565b6040805193845291151560208401521515908201526060015b60405180910390f35b34801561012157600080fd5b5061014b610130366004611266565b6099602052600090815260409020546001600160a01b031681565b60405161010c9190611283565b34801561016457600080fd5b50610178610173366004611266565b610356565b005b6101786101883660046112ad565b610427565b34801561019957600080fd5b506101a26104e0565b60405190815260200161010c565b3480156101bc57600080fd5b506101d06101cb366004611238565b61058e565b60405161010c969594939291906113d6565b3480156101ee57600080fd5b506101786101fd366004611238565b61066c565b34801561020e57600080fd5b506101786106af565b34801561022357600080fd5b5061017861023236600461143d565b6106c3565b34801561024357600080fd5b50610178610252366004611266565b610901565b34801561026357600080fd5b5061014b610964565b6101a261027a3660046114be565b610973565b34801561028b57600080fd5b506101a261029a366004611509565b610aeb565b3480156102ab57600080fd5b506101786102ba366004611266565b610b26565b3480156102cb57600080fd5b506101a261029a366004611554565b3480156102e657600080fd5b506101a26102f53660046115ba565b505060975490565b34801561030957600080fd5b50610178610318366004611238565b610b9c565b60008060008060988581548110610336576103366115fb565b600091825260208220600460069092020101549690955085945092505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103a75760405162461bcd60e51b815260040161039e90611611565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103d9610cec565b6001600160a01b0316146103ff5760405162461bcd60e51b815260040161039e9061164b565b61040881610d08565b6040805160008082526020820190925261042491839190610d10565b50565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361046f5760405162461bcd60e51b815260040161039e90611611565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166104a1610cec565b6001600160a01b0316146104c75760405162461bcd60e51b815260040161039e9061164b565b6104d082610d08565b6104dc82826001610d10565b5050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461057b5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840161039e565b5060008051602061188083398151915290565b6098818154811061059e57600080fd5b6000918252602090912060069091020180546001820180546001600160a01b039092169350906105cd90611685565b80601f01602080910402602001604051908101604052809291908181526020018280546105f990611685565b80156106465780601f1061061b57610100808354040283529160200191610646565b820191906000526020600020905b81548152906001019060200180831161062957829003601f168201915b505050506002830154600384015460048501546005909501549394919390925060ff1686565b610674610e80565b60978190556040518181527fb1484c2bf00d94a00783b6081ebc5f5d02be4675f6eb8cf4c0c95bfe5a3f06ed9060200160405180910390a150565b6106b7610e80565b6106c16000610edf565b565b6001600160a01b0380821660009081526099602052604090205482911633036108be576000609885815481106106fb576106fb6115fb565b906000526020600020906006020190508060020154841115610730576040516309efd47960e41b815260040160405180910390fd5b6001600582015460ff16600181111561074b5761074b6113c0565b036107695760405163bda17d9560e01b815260040160405180910390fd5b6004810184905560058101805460ff19166001179055600381015460405160009133918381818185875af1925050503d80600081146107c4576040519150601f19603f3d011682016040523d82523d6000602084013e6107c9565b606091505b505090508061080c5760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161039e565b815460048084015460405163188d362b60e11b815291820189905260248201526001600160a01b039091169063311a6c5690604401600060405180830381600087803b15801561085b57600080fd5b505af115801561086f573d6000803e3d6000fd5b5050505085846001600160a01b03167f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e75622276876040516108af91815260200190565b60405180910390a350506108fb565b6001600160a01b038181166000908152609960205260409081902054905163d0774c9960e01b81523360048201529116602482015260440161039e565b50505050565b336000818152609960205260409081902080546001600160a01b0319166001600160a01b038516179055517f2b87bb26d58aa2d56b59c2b23a53a6959f68d4547492bda44fb5e68b0fa38b3f90610959908490611283565b60405180910390a250565b6033546001600160a01b031690565b600061097d610f31565b6097543410156109a05760405163e4216b3160e01b815260040160405180910390fd5b609880549050905060986040518060c00160405280336001600160a01b0316815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093855250505060208201889052346040830152606082018190526080909101528154600180820184556000938452602093849020835160069093020180546001600160a01b0319166001600160a01b03909316929092178255928201519192909190820190610a65908261170d565b5060408201516002820155606082015160038201556080820151600482015560a082015160058201805460ff191660018381811115610aa657610aa66113c0565b02179055505060405133915082907f141dfc18aa6a56fc816f44f0e9e2f1ebc92b15ab167770e17db5b084c10ed99590600090a3610ae46001606555565b9392505050565b60405162461bcd60e51b815260206004820152600d60248201526c139bdd081cdd5c1c1bdc9d1959609a1b604482015260009060640161039e565b610b2e610e80565b6001600160a01b038116610b935760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161039e565b61042481610edf565b600054610100900460ff1615808015610bbc5750600054600160ff909116105b80610bdd5750610bcb30610f8a565b158015610bdd575060005460ff166001145b610c405760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161039e565b6000805460ff191660011790558015610c63576000805461ff0019166101001790555b610c6b610f99565b60978290556040518281527fc05490fc8f8e095831ea3823f005dd0661528380328aa5c3b7348a45244223be9060200160405180910390a180156104dc576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600080516020611880833981519152546001600160a01b031690565b610424610e80565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610d4857610d4383610fc8565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610da2575060408051601f3d908101601f19168201909252610d9f918101906117cc565b60015b610e055760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161039e565b6000805160206118808339815191528114610e745760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161039e565b50610d43838383611062565b33610e89610964565b6001600160a01b0316146106c15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161039e565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600260655403610f835760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161039e565b6002606555565b6001600160a01b03163b151590565b600054610100900460ff16610fc05760405162461bcd60e51b815260040161039e906117e5565b6106c1611087565b610fd181610f8a565b6110335760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161039e565b60008051602061188083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61106b836110b7565b6000825111806110785750805b15610d43576108fb83836110f7565b600054610100900460ff166110ae5760405162461bcd60e51b815260040161039e906117e5565b6106c133610edf565b6110c081610fc8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610ae483836040518060600160405280602781526020016118a0602791396060600080856001600160a01b0316856040516111349190611830565b600060405180830381855af49150503d806000811461116f576040519150601f19603f3d011682016040523d82523d6000602084013e611174565b606091505b50915091506111858683838761118f565b9695505050505050565b606083156111fc5782516000036111f5576111a985610f8a565b6111f55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161039e565b5081611206565b611206838361120e565b949350505050565b81511561121e5781518083602001fd5b8060405162461bcd60e51b815260040161039e919061184c565b60006020828403121561124a57600080fd5b5035919050565b6001600160a01b038116811461042457600080fd5b60006020828403121561127857600080fd5b8135610ae481611251565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156112c057600080fd5b82356112cb81611251565b915060208301356001600160401b03808211156112e757600080fd5b818501915085601f8301126112fb57600080fd5b81358181111561130d5761130d611297565b604051601f8201601f19908116603f0116810190838211818310171561133557611335611297565b8160405282815288602084870101111561134e57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b8381101561138b578181015183820152602001611373565b50506000910152565b600081518084526113ac816020860160208601611370565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b038716815260c0602082018190526000906113fa90830188611394565b90508560408301528460608301528360808301526002831061142c57634e487b7160e01b600052602160045260246000fd5b8260a0830152979650505050505050565b60008060006060848603121561145257600080fd5b8335925060208401359150604084013561146b81611251565b809150509250925092565b60008083601f84011261148857600080fd5b5081356001600160401b0381111561149f57600080fd5b6020830191508360208285010111156114b757600080fd5b9250929050565b6000806000604084860312156114d357600080fd5b8335925060208401356001600160401b038111156114f057600080fd5b6114fc86828701611476565b9497909650939450505050565b60008060006040848603121561151e57600080fd5b83356001600160401b0381111561153457600080fd5b61154086828701611476565b909450925050602084013561146b81611251565b60008060008060006080868803121561156c57600080fd5b8535945060208601356001600160401b0381111561158957600080fd5b61159588828901611476565b90955093505060408601356115a981611251565b949793965091946060013592915050565b600080602083850312156115cd57600080fd5b82356001600160401b038111156115e357600080fd5b6115ef85828601611476565b90969095509350505050565b634e487b7160e01b600052603260045260246000fd5b6020808252602c9082015260008051602061186083398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061186083398151915260408201526b6163746976652070726f787960a01b606082015260800190565b600181811c9082168061169957607f821691505b6020821081036116b957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610d4357600081815260208120601f850160051c810160208610156116e65750805b601f850160051c820191505b81811015611705578281556001016116f2565b505050505050565b81516001600160401b0381111561172657611726611297565b61173a816117348454611685565b846116bf565b602080601f83116001811461176f57600084156117575750858301515b600019600386901b1c1916600185901b178555611705565b600085815260208120601f198616915b8281101561179e5788860151825594840194600190910190840161177f565b50858210156117bc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156117de57600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60008251611842818460208701611370565b9190910192915050565b602081526000610ae4602083018461139456fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212209aaf864e6b8d13947cef88666fa61198600c6e2482edc2b2c9a9b5d85494d7c764736f6c63430008130033","sourceMap":"709:5267:111:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5610:260;;;;;;;;;;-1:-1:-1;5610:260:111;;;;;:::i;:::-;;:::i;:::-;;;;389:25:142;;;457:14;;450:22;445:2;430:18;;423:50;516:14;509:22;489:18;;;482:50;377:2;362:18;5610:260:111;;;;;;;;1888:73;;;;;;;;;;-1:-1:-1;1888:73:111;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;1888:73:111;;;;;;;;;;:::i;3143:195:64:-;;;;;;;;;;-1:-1:-1;3143:195:64;;;;;:::i;:::-;;:::i;:::-;;3657:220;;;;;;:::i;:::-;;:::i;2762:131::-;;;;;;;;;;;;;:::i;:::-;;;2478:25:142;;;2466:2;2451:18;2762:131:64;2332:177:142;1802:31:111;;;;;;;;;;-1:-1:-1;1802:31:111;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;2792:173::-;;;;;;;;;;-1:-1:-1;2792:173:111;;;;;:::i;:::-;;:::i;2085:101:45:-;;;;;;;;;;;;;:::i;4466:720:111:-;;;;;;;;;;-1:-1:-1;4466:720:111;;;;;:::i;:::-;;:::i;2971:153::-;;;;;;;;;;-1:-1:-1;2971:153:111;;;;;:::i;:::-;;:::i;1462:85:45:-;;;;;;;;;;;;;:::i;3162:732:111:-;;;;;;:::i;:::-;;:::i;5400:204::-;;;;;;;;;;-1:-1:-1;5400:204:111;;;;;:::i;:::-;;:::i;2335:198:45:-;;;;;;;;;;-1:-1:-1;2335:198:45;;;;;:::i;:::-;;:::i;3932:241:111:-;;;;;;;;;;-1:-1:-1;3932:241:111;;;;;:::i;5224:138::-;;;;;;;;;;-1:-1:-1;5224:138:111;;;;;:::i;:::-;-1:-1:-1;;5341:14:111;;;5224:138;2458:196;;;;;;;;;;-1:-1:-1;2458:196:111;;;;;:::i;:::-;;:::i;5610:260::-;5674:14;5690:9;5701:15;5728:29;5760:8;5769:10;5760:20;;;;;;;;:::i;:::-;;;;;;;;5799:14;5760:20;;;;;5799:14;;;5760:20;;-1:-1:-1;5760:20:111;;-1:-1:-1;5610:260:111;-1:-1:-1;;;5610:260:111:o;3143:195:64:-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;;;;;;;;;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3224:36:::1;3242:17;3224;:36::i;:::-;3311:12;::::0;;3321:1:::1;3311:12:::0;;;::::1;::::0;::::1;::::0;;;3270:61:::1;::::0;3292:17;;3311:12;3270:21:::1;:61::i;:::-;3143:195:::0;:::o;3657:220::-;-1:-1:-1;;;;;1654:6:64;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:64;;;;;;;:::i;:::-;1751:6;-1:-1:-1;;;;;1727:30:64;:20;:18;:20::i;:::-;-1:-1:-1;;;;;1727:30:64;;1719:87;;;;-1:-1:-1;;;1719:87:64;;;;;;;:::i;:::-;3772:36:::1;3790:17;3772;:36::i;:::-;3818:52;3840:17;3859:4;3865;3818:21;:52::i;:::-;3657:220:::0;;:::o;2762:131::-;2840:7;2080:4;-1:-1:-1;;;;;2089:6:64;2072:23;;2064:92;;;;-1:-1:-1;;;2064:92:64;;8219:2:142;2064:92:64;;;8201:21:142;8258:2;8238:18;;;8231:30;8297:34;8277:18;;;8270:62;-1:-1:-1;;;8348:18:142;;;8341:54;8412:19;;2064:92:64;8017:420:142;2064:92:64;-1:-1:-1;;;;;;;;;;;;2762:131:64;:::o;1802:31:111:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1802:31:111;;;;-1:-1:-1;1802:31:111;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1802:31:111;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1802:31:111;;;:::o;2792:173::-;1355:13:45;:11;:13::i;:::-;2873:14:111::1;:32:::0;;;2920:38:::1;::::0;2478:25:142;;;2920:38:111::1;::::0;2466:2:142;2451:18;2920:38:111::1;;;;;;;2792:173:::0;:::o;2085:101:45:-;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;:::-;2085:101::o:0;4466:720:111:-;-1:-1:-1;;;;;2235:35:111;;;;;;;:22;:35;;;;;;4565:11;;2235:35;2221:10;:49;2217:176;;4588:29:::1;4620:8;4629:10;4620:20;;;;;;;;:::i;:::-;;;;;;;;;;;4588:52;;4665:7;:15;;;4655:7;:25;4651:78;;;4703:15;;-1:-1:-1::0;;;4703:15:111::1;;;;;;;;;;;4651:78;4760:20;4742:14;::::0;::::1;::::0;::::1;;::::0;:38;::::1;;;;;;:::i;:::-;::::0;4738:98:::1;;4803:22;;-1:-1:-1::0;;;4803:22:111::1;;;;;;;;;;;4738:98;4846:14;::::0;::::1;:24:::0;;;4880:14:::1;::::0;::::1;:37:::0;;-1:-1:-1;;4880:37:111::1;4897:20;4880:37;::::0;;4978:22:::1;::::0;::::1;::::0;4946:59:::1;::::0;-1:-1:-1;;4954:10:111::1;::::0;-1:-1:-1;4946:59:111;-1:-1:-1;4946:59:111;4978:22;4954:10;4946:59:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4928:77;;;5023:7;5015:35;;;::::0;-1:-1:-1;;;5015:35:111;;9239:2:142;5015:35:111::1;::::0;::::1;9221:21:142::0;9278:2;9258:18;;;9251:30;-1:-1:-1;;;9297:18:142;;;9290:45;9352:18;;5015:35:111::1;9037:339:142::0;5015:35:111::1;5060:18:::0;;5096:14:::1;::::0;;::::1;::::0;5060:51:::1;::::0;-1:-1:-1;;;5060:51:111;;;;::::1;9555:25:142::0;;;9596:18;;;9589:34;-1:-1:-1;;;;;5060:18:111;;::::1;::::0;:23:::1;::::0;9528:18:142;;5060:51:111::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5159:10;5145:11;-1:-1:-1::0;;;;;5126:53:111::1;;5171:7;5126:53;;;;2478:25:142::0;;2466:2;2451:18;;2332:177;5126:53:111::1;;;;;;;;4578:608;;2217:176:::0;;;-1:-1:-1;;;;;2346:35:111;;;;;;;:22;:35;;;;;;;;2325:57;;-1:-1:-1;;;2325:57:111;;2334:10;2325:57;;;9846:34:142;2346:35:111;;9896:18:142;;;9889:43;9781:18;;2325:57:111;9634:304:142;2217:176:111;4466:720;;;;:::o;2971:153::-;3050:10;3027:34;;;;:22;:34;;;;;;;:42;;-1:-1:-1;;;;;;3027:42:111;-1:-1:-1;;;;;3027:42:111;;;;;3084:33;;;;;3027:42;;3084:33;:::i;:::-;;;;;;;;2971:153;:::o;1462:85:45:-;1534:6;;-1:-1:-1;;;;;1534:6:45;;1462:85::o;3162:732:111:-;3318:17;2526:21:48;:19;:21::i;:::-;5341:14:111;;3355:9:::1;:39;3351:103;;;3417:26;;-1:-1:-1::0;;;3417:26:111::1;;;;;;;;;;;3351:103;3475:8;:15;;;;3463:27;;3500:8;3527:283;;;;;;;;3583:10;-1:-1:-1::0;;;;;3527:283:111::1;;;;;3633:10;;3527:283;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;3527:283:111;;;-1:-1:-1;;;3527:283:111::1;::::0;::::1;::::0;;;3712:9:::1;3527:283:::0;;;;;;;;;;;;;;;3500:320;;::::1;::::0;;::::1;::::0;;-1:-1:-1;3500:320:111;;;::::1;::::0;;;;;;::::1;::::0;;::::1;;::::0;;-1:-1:-1;;;;;;3500:320:111::1;-1:-1:-1::0;;;;;3500:320:111;;::::1;::::0;;;::::1;::::0;;;;::::1;::::0;;;;;;;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;-1:-1:-1::0;3500:320:111::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;-1:-1:-1;;3500:320:111::1;::::0;;;;::::1;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;;3836:51:111::1;::::0;3875:10:::1;::::0;-1:-1:-1;3852:9:111;;3836:51:::1;::::0;;;::::1;2568:20:48::0;1808:1;3074:7;:22;2894:209;2568:20;3162:732:111;;;;;:::o;5400:204::-;5574:23;;-1:-1:-1;;;5574:23:111;;12343:2:142;5574:23:111;;;12325:21:142;12382:2;12362:18;;;12355:30;-1:-1:-1;;;12401:18:142;;;12394:43;5541:7:111;;12454:18:142;;5574:23:111;12141:337:142;2335:198:45;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:45;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:45;;12685:2:142;2415:73:45::1;::::0;::::1;12667:21:142::0;12724:2;12704:18;;;12697:30;12763:34;12743:18;;;12736:62;-1:-1:-1;;;12814:18:142;;;12807:36;12860:19;;2415:73:45::1;12483:402:142::0;2415:73:45::1;2498:28;2517:8;2498:18;:28::i;2458:196:111:-:0;3279:19:47;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:47;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;;3388:44;3426:4;3388:29;:44::i;:::-;3387:45;:66;;;;-1:-1:-1;3436:12:47;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:47;;13092:2:142;3325:201:47;;;13074:21:142;13131:2;13111:18;;;13104:30;13170:34;13150:18;;;13143:62;-1:-1:-1;;;13221:18:142;;;13214:44;13275:19;;3325:201:47;12890:410:142;3325:201:47;3536:12;:16;;-1:-1:-1;;3536:16:47;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:47;;;;;3562:65;2532:16:111::1;:14;:16::i;:::-;2558:14;:32:::0;;;2605:42:::1;::::0;2478:25:142;;;2605:42:111::1;::::0;2466:2:142;2451:18;2605:42:111::1;;;;;;;3651:14:47::0;3647:99;;;3697:5;3681:21;;-1:-1:-1;;3681:21:47;;;3721:14;;-1:-1:-1;13457:36:142;;3721:14:47;;13445:2:142;13430:18;3721:14:47;;;;;;;3269:483;2458:196:111;:::o;1175:140:60:-;-1:-1:-1;;;;;;;;;;;1254:54:60;-1:-1:-1;;;;;1254:54:60;;1175:140::o;5876:66:111:-;1355:13:45;:11;:13::i;2494:922:60:-;689:66;2910:48;;;2906:504;;;2974:37;2993:17;2974:18;:37::i;:::-;2494:922;;;:::o;2906:504::-;3064:17;-1:-1:-1;;;;;3046:50:60;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3046:52:60;;;;;;;;-1:-1:-1;;3046:52:60;;;;;;;;;;;;:::i;:::-;;;3042:291;;3262:56;;-1:-1:-1;;;3262:56:60;;13895:2:142;3262:56:60;;;13877:21:142;13934:2;13914:18;;;13907:30;13973:34;13953:18;;;13946:62;-1:-1:-1;;;14024:18:142;;;14017:44;14078:19;;3262:56:60;13693:410:142;3042:291:60;-1:-1:-1;;;;;;;;;;;3148:28:60;;3140:82;;;;-1:-1:-1;;;3140:82:60;;14310:2:142;3140:82:60;;;14292:21:142;14349:2;14329:18;;;14322:30;14388:34;14368:18;;;14361:62;-1:-1:-1;;;14439:18:142;;;14432:39;14488:19;;3140:82:60;14108:405:142;3140:82:60;3099:138;3346:53;3364:17;3383:4;3389:9;3346:17;:53::i;1620:130:45:-;965:10:51;1683:7:45;:5;:7::i;:::-;-1:-1:-1;;;;;1683:23:45;;1675:68;;;;-1:-1:-1;;;1675:68:45;;14720:2:142;1675:68:45;;;14702:21:142;;;14739:18;;;14732:30;14798:34;14778:18;;;14771:62;14850:18;;1675:68:45;14518:356:142;2687:187:45;2779:6;;;-1:-1:-1;;;;;2795:17:45;;;-1:-1:-1;;;;;;2795:17:45;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;2601:287:48:-;1851:1;2733:7;;:19;2725:63;;;;-1:-1:-1;;;2725:63:48;;15081:2:142;2725:63:48;;;15063:21:142;15120:2;15100:18;;;15093:30;15159:33;15139:18;;;15132:61;15210:18;;2725:63:48;14879:355:142;2725:63:48;1851:1;2863:7;:18;2601:287::o;1423:320:50:-;-1:-1:-1;;;;;1713:19:50;;:23;;;1423:320::o;1024:95:45:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;:::-;1086:26:45::1;:24;:26::i;1406:259:60:-:0;1487:37;1506:17;1487:18;:37::i;:::-;1479:95;;;;-1:-1:-1;;;1479:95:60;;15853:2:142;1479:95:60;;;15835:21:142;15892:2;15872:18;;;15865:30;15931:34;15911:18;;;15904:62;-1:-1:-1;;;15982:18:142;;;15975:43;16035:19;;1479:95:60;15651:409:142;1479:95:60;-1:-1:-1;;;;;;;;;;;1584:74:60;;-1:-1:-1;;;;;;1584:74:60;-1:-1:-1;;;;;1584:74:60;;;;;;;;;;1406:259::o;2057:265::-;2165:29;2176:17;2165:10;:29::i;:::-;2222:1;2208:4;:11;:15;:28;;;;2227:9;2208:28;2204:112;;;2252:53;2281:17;2300:4;2252:28;:53::i;1125:111:45:-;5374:13:47;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:47;;;;;;;:::i;:::-;1197:32:45::1;965:10:51::0;1197:18:45::1;:32::i;1771:152:60:-:0;1837:37;1856:17;1837:18;:37::i;:::-;1889:27;;-1:-1:-1;;;;;1889:27:60;;;;;;;;1771:152;:::o;6674:198:76:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:76;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:76:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;8121:18;8132:6;8121:10;:18::i;:::-;8113:60;;;;-1:-1:-1;;;8113:60:76;;16559:2:142;8113:60:76;;;16541:21:142;16598:2;16578:18;;;16571:30;16637:31;16617:18;;;16610:59;16686:18;;8113:60:76;16357:353:142;8113:60:76;-1:-1:-1;8208:10:76;8201:17;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;:::-;7671:628;;;;;;:::o;8821:540::-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:76;;;;;;;;:::i;14:180:142:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:142;;14:180;-1:-1:-1;14:180:142:o;543:131::-;-1:-1:-1;;;;;618:31:142;;608:42;;598:70;;664:1;661;654:12;679:247;738:6;791:2;779:9;770:7;766:23;762:32;759:52;;;807:1;804;797:12;759:52;846:9;833:23;865:31;890:5;865:31;:::i;931:203::-;-1:-1:-1;;;;;1095:32:142;;;;1077:51;;1065:2;1050:18;;931:203::o;1139:127::-;1200:10;1195:3;1191:20;1188:1;1181:31;1231:4;1228:1;1221:15;1255:4;1252:1;1245:15;1271:1056;1348:6;1356;1409:2;1397:9;1388:7;1384:23;1380:32;1377:52;;;1425:1;1422;1415:12;1377:52;1464:9;1451:23;1483:31;1508:5;1483:31;:::i;:::-;1533:5;-1:-1:-1;1589:2:142;1574:18;;1561:32;-1:-1:-1;;;;;1642:14:142;;;1639:34;;;1669:1;1666;1659:12;1639:34;1707:6;1696:9;1692:22;1682:32;;1752:7;1745:4;1741:2;1737:13;1733:27;1723:55;;1774:1;1771;1764:12;1723:55;1810:2;1797:16;1832:2;1828;1825:10;1822:36;;;1838:18;;:::i;:::-;1913:2;1907:9;1881:2;1967:13;;-1:-1:-1;;1963:22:142;;;1987:2;1959:31;1955:40;1943:53;;;2011:18;;;2031:22;;;2008:46;2005:72;;;2057:18;;:::i;:::-;2097:10;2093:2;2086:22;2132:2;2124:6;2117:18;2172:7;2167:2;2162;2158;2154:11;2150:20;2147:33;2144:53;;;2193:1;2190;2183:12;2144:53;2249:2;2244;2240;2236:11;2231:2;2223:6;2219:15;2206:46;2294:1;2289:2;2284;2276:6;2272:15;2268:24;2261:35;2315:6;2305:16;;;;;;;1271:1056;;;;;:::o;2514:250::-;2599:1;2609:113;2623:6;2620:1;2617:13;2609:113;;;2699:11;;;2693:18;2680:11;;;2673:39;2645:2;2638:10;2609:113;;;-1:-1:-1;;2756:1:142;2738:16;;2731:27;2514:250::o;2769:270::-;2810:3;2848:5;2842:12;2875:6;2870:3;2863:19;2891:76;2960:6;2953:4;2948:3;2944:14;2937:4;2930:5;2926:16;2891:76;:::i;:::-;3021:2;3000:15;-1:-1:-1;;2996:29:142;2987:39;;;;3028:4;2983:50;;2769:270;-1:-1:-1;;2769:270:142:o;3044:127::-;3105:10;3100:3;3096:20;3093:1;3086:31;3136:4;3133:1;3126:15;3160:4;3157:1;3150:15;3176:793;-1:-1:-1;;;;;3501:32:142;;3483:51;;3570:3;3565:2;3550:18;;3543:31;;;-1:-1:-1;;3591:45:142;;3616:19;;3608:6;3591:45;:::i;:::-;3583:53;;3672:6;3667:2;3656:9;3652:18;3645:34;3715:6;3710:2;3699:9;3695:18;3688:34;3759:6;3753:3;3742:9;3738:19;3731:35;3796:1;3788:6;3785:13;3775:144;;3841:10;3836:3;3832:20;3829:1;3822:31;3876:4;3873:1;3866:15;3904:4;3901:1;3894:15;3775:144;3956:6;3950:3;3939:9;3935:19;3928:35;3176:793;;;;;;;;;:::o;3974:383::-;4051:6;4059;4067;4120:2;4108:9;4099:7;4095:23;4091:32;4088:52;;;4136:1;4133;4126:12;4088:52;4172:9;4159:23;4149:33;;4229:2;4218:9;4214:18;4201:32;4191:42;;4283:2;4272:9;4268:18;4255:32;4296:31;4321:5;4296:31;:::i;:::-;4346:5;4336:15;;;3974:383;;;;;:::o;4362:347::-;4413:8;4423:6;4477:3;4470:4;4462:6;4458:17;4454:27;4444:55;;4495:1;4492;4485:12;4444:55;-1:-1:-1;4518:20:142;;-1:-1:-1;;;;;4550:30:142;;4547:50;;;4593:1;4590;4583:12;4547:50;4630:4;4622:6;4618:17;4606:29;;4682:3;4675:4;4666:6;4658;4654:19;4650:30;4647:39;4644:59;;;4699:1;4696;4689:12;4644:59;4362:347;;;;;:::o;4714:477::-;4793:6;4801;4809;4862:2;4850:9;4841:7;4837:23;4833:32;4830:52;;;4878:1;4875;4868:12;4830:52;4901:23;;;-1:-1:-1;4975:2:142;4960:18;;4947:32;-1:-1:-1;;;;;4991:30:142;;4988:50;;;5034:1;5031;5024:12;4988:50;5073:58;5123:7;5114:6;5103:9;5099:22;5073:58;:::i;:::-;4714:477;;5150:8;;-1:-1:-1;5047:84:142;;-1:-1:-1;;;;4714:477:142:o;5378:560::-;5473:6;5481;5489;5542:2;5530:9;5521:7;5517:23;5513:32;5510:52;;;5558:1;5555;5548:12;5510:52;5585:23;;-1:-1:-1;;;;;5620:30:142;;5617:50;;;5663:1;5660;5653:12;5617:50;5702:58;5752:7;5743:6;5732:9;5728:22;5702:58;:::i;:::-;5779:8;;-1:-1:-1;5676:84:142;-1:-1:-1;;5864:2:142;5849:18;;5836:32;5877:31;5836:32;5877:31;:::i;5943:697::-;6056:6;6064;6072;6080;6088;6141:3;6129:9;6120:7;6116:23;6112:33;6109:53;;;6158:1;6155;6148:12;6109:53;6181:23;;;-1:-1:-1;6255:2:142;6240:18;;6227:32;-1:-1:-1;;;;;6271:30:142;;6268:50;;;6314:1;6311;6304:12;6268:50;6353:58;6403:7;6394:6;6383:9;6379:22;6353:58;:::i;:::-;6430:8;;-1:-1:-1;6327:84:142;-1:-1:-1;;6515:2:142;6500:18;;6487:32;6528:31;6487:32;6528:31;:::i;:::-;5943:697;;;;-1:-1:-1;5943:697:142;;6630:2;6615:18;6602:32;;5943:697;-1:-1:-1;;5943:697:142:o;6645:409::-;6715:6;6723;6776:2;6764:9;6755:7;6751:23;6747:32;6744:52;;;6792:1;6789;6782:12;6744:52;6819:23;;-1:-1:-1;;;;;6854:30:142;;6851:50;;;6897:1;6894;6887:12;6851:50;6936:58;6986:7;6977:6;6966:9;6962:22;6936:58;:::i;:::-;7013:8;;6910:84;;-1:-1:-1;6645:409:142;-1:-1:-1;;;;6645:409:142:o;7059:127::-;7120:10;7115:3;7111:20;7108:1;7101:31;7151:4;7148:1;7141:15;7175:4;7172:1;7165:15;7191:408;7393:2;7375:21;;;7432:2;7412:18;;;7405:30;-1:-1:-1;;;;;;;;;;;7466:2:142;7451:18;;7444:62;-1:-1:-1;;;7537:2:142;7522:18;;7515:42;7589:3;7574:19;;7191:408::o;7604:::-;7806:2;7788:21;;;7845:2;7825:18;;;7818:30;-1:-1:-1;;;;;;;;;;;7879:2:142;7864:18;;7857:62;-1:-1:-1;;;7950:2:142;7935:18;;7928:42;8002:3;7987:19;;7604:408::o;8442:380::-;8521:1;8517:12;;;;8564;;;8585:61;;8639:4;8631:6;8627:17;8617:27;;8585:61;8692:2;8684:6;8681:14;8661:18;8658:38;8655:161;;8738:10;8733:3;8729:20;8726:1;8719:31;8773:4;8770:1;8763:15;8801:4;8798:1;8791:15;8655:161;;8442:380;;;:::o;10068:544::-;10169:2;10164:3;10161:11;10158:448;;;10205:1;10230:5;10226:2;10219:17;10275:4;10271:2;10261:19;10345:2;10333:10;10329:19;10326:1;10322:27;10316:4;10312:38;10381:4;10369:10;10366:20;10363:47;;;-1:-1:-1;10404:4:142;10363:47;10459:2;10454:3;10450:12;10447:1;10443:20;10437:4;10433:31;10423:41;;10514:82;10532:2;10525:5;10522:13;10514:82;;;10577:17;;;10558:1;10547:13;10514:82;;;10518:3;;;10068:544;;;:::o;10788:1348::-;10906:10;;-1:-1:-1;;;;;10928:30:142;;10925:56;;;10961:18;;:::i;:::-;10990:96;11079:6;11039:38;11071:4;11065:11;11039:38;:::i;:::-;11033:4;10990:96;:::i;:::-;11141:4;;11205:2;11194:14;;11222:1;11217:662;;;;11923:1;11940:6;11937:89;;;-1:-1:-1;11992:19:142;;;11986:26;11937:89;-1:-1:-1;;10745:1:142;10741:11;;;10737:24;10733:29;10723:40;10769:1;10765:11;;;10720:57;12039:81;;11187:943;;11217:662;10015:1;10008:14;;;10052:4;10039:18;;-1:-1:-1;;11253:20:142;;;11370:236;11384:7;11381:1;11378:14;11370:236;;;11473:19;;;11467:26;11452:42;;11565:27;;;;11533:1;11521:14;;;;11400:19;;11370:236;;;11374:3;11634:6;11625:7;11622:19;11619:201;;;11695:19;;;11689:26;-1:-1:-1;;11778:1:142;11774:14;;;11790:3;11770:24;11766:37;11762:42;11747:58;11732:74;;11619:201;-1:-1:-1;;;;;11866:1:142;11850:14;;;11846:22;11833:36;;-1:-1:-1;10788:1348:142:o;13504:184::-;13574:6;13627:2;13615:9;13606:7;13602:23;13598:32;13595:52;;;13643:1;13640;13633:12;13595:52;-1:-1:-1;13666:16:142;;13504:184;-1:-1:-1;13504:184:142:o;15239:407::-;15441:2;15423:21;;;15480:2;15460:18;;;15453:30;15519:34;15514:2;15499:18;;15492:62;-1:-1:-1;;;15585:2:142;15570:18;;15563:41;15636:3;15621:19;;15239:407::o;16065:287::-;16194:3;16232:6;16226:13;16248:66;16307:6;16302:3;16295:4;16287:6;16283:17;16248:66;:::i;:::-;16330:16;;;;;16065:287;-1:-1:-1;;16065:287:142:o;16715:219::-;16864:2;16853:9;16846:21;16827:4;16884:44;16924:2;16913:9;16909:18;16901:6;16884:44;:::i","linkReferences":{},"immutableReferences":{"55572":[{"start":864,"length":32},{"start":937,"length":32},{"start":1073,"length":32},{"start":1137,"length":32},{"start":1261,"length":32}]}},"methodIdentifiers":{"arbitrableTribunalSafe(address)":"26a0754c","arbitrationCost(bytes)":"f7434ea9","arbitrationCost(bytes,address)":"d98493f6","createDispute(uint256,bytes)":"c13517e1","createDispute(uint256,bytes,address,uint256)":"f6506db4","currentRuling(uint256)":"1c3db16d","disputes(uint256)":"564a565d","executeRuling(uint256,uint256,address)":"7a1d3756","initialize(uint256)":"fe4b84df","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","registerSafe(address)":"88d5b732","renounceOwnership()":"715018a6","setArbitrationFee(uint256)":"5ea7b4fc","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DisputeAlreadySolved\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRuling\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotEnoughArbitrationFees\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"safe\",\"type\":\"address\"}],\"name\":\"OnlySafe\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"_token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"_accepted\",\"type\":\"bool\"}],\"name\":\"AcceptedFeeToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newArbitrationFee\",\"type\":\"uint256\"}],\"name\":\"ArbitrationFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"contract IArbitrable\",\"name\":\"_arbitrable\",\"type\":\"address\"}],\"name\":\"DisputeCreation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"_feeToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"_rateInEth\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"_rateDecimals\",\"type\":\"uint8\"}],\"name\":\"NewCurrencyRate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IArbitrable\",\"name\":\"_arbitrable\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"}],\"name\":\"Ruling\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_arbitrationFee\",\"type\":\"uint256\"}],\"name\":\"SafeArbitratorInitialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_arbitrable\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"SafeRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"arbitrable\",\"type\":\"address\"}],\"name\":\"arbitrableTribunalSafe\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"safe\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"arbitrationCost\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"arbitrationCost\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_choices\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"createDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeID\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"createDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"}],\"name\":\"currentRuling\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"ruling\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"tied\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"overridden\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"disputes\",\"outputs\":[{\"internalType\":\"contract IArbitrable\",\"name\":\"arbitrated\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"arbitratorExtraData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"choices\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"arbitrationFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ruling\",\"type\":\"uint256\"},{\"internalType\":\"enum SafeArbitrator.DisputeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_disputeID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_ruling\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_arbitrable\",\"type\":\"address\"}],\"name\":\"executeRuling\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_arbitrationFee\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"registerSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_arbitrationFee\",\"type\":\"uint256\"}],\"name\":\"setArbitrationFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This is an arbitrator middleware that will allow a safe to decide on the result of disputes.\",\"events\":{\"AcceptedFeeToken(address,bool)\":{\"details\":\"To be emitted when an ERC20 token is added or removed as a method to pay fees.\",\"params\":{\"_accepted\":\"Whether the token is accepted or not.\",\"_token\":\"The ERC20 token.\"}},\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"DisputeCreation(uint256,address)\":{\"details\":\"To be emitted when a dispute is created.\",\"params\":{\"_arbitrable\":\"The contract which created the dispute.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\"}},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"NewCurrencyRate(address,uint64,uint8)\":{\"details\":\"To be emitted when the fee for a particular ERC20 token is updated.\",\"params\":{\"_feeToken\":\"The ERC20 token.\",\"_rateDecimals\":\"The new decimals of the fee token rate.\",\"_rateInEth\":\"The new rate of the fee token in ETH.\"}},\"Ruling(address,uint256,uint256)\":{\"details\":\"To be raised when a ruling is given.\",\"params\":{\"_arbitrable\":\"The arbitrable receiving the ruling.\",\"_disputeID\":\"The identifier of the dispute in the Arbitrator contract.\",\"_ruling\":\"The ruling which was given.\"}},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"arbitrationCost(bytes)\":{\"details\":\"Compute the cost of arbitration denominated in the native currency, typically ETH. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\"},\"returns\":{\"fee\":\"The arbitration cost in ETH.\"}},\"arbitrationCost(bytes,address)\":{\"details\":\"Compute the cost of arbitration denominated in `_feeToken`. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_feeToken\":\"The ERC20 token used to pay fees.\"},\"returns\":{\"_0\":\"The arbitration cost in `_feeToken`.\"}},\"createDispute(uint256,bytes)\":{\"details\":\"Create a dispute and pay for the fees in the native currency, typically ETH. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_numberOfChoices\":\"The number of choices the arbitrator can choose from in this dispute.\"},\"returns\":{\"disputeID\":\"The identifier of the dispute created.\"}},\"createDispute(uint256,bytes,address,uint256)\":{\"details\":\"Create a dispute and pay for the fees in a supported ERC20 token. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).\",\"params\":{\"_extraData\":\"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).\",\"_feeAmount\":\"Amount of the ERC20 token used to pay fees.\",\"_feeToken\":\"The ERC20 token used to pay fees.\",\"_numberOfChoices\":\"The number of choices the arbitrator can choose from in this dispute.\"},\"returns\":{\"_0\":\"The identifier of the dispute created.\"}},\"currentRuling(uint256)\":{\"details\":\"Gets the current ruling of a specified dispute.\",\"params\":{\"_disputeID\":\"The ID of the dispute.\"},\"returns\":{\"overridden\":\"Whether the ruling was overridden by appeal funding or not.\",\"ruling\":\"The current ruling.\",\"tied\":\"Whether it's a tie or not.\"}},\"executeRuling(uint256,uint256,address)\":{\"details\":\"Give a ruling to a dispute.\",\"params\":{\"_arbitrable\":\"Address of the arbitrable that the safe rules for\\\".\",\"_disputeID\":\"ID of the dispute to rule.\",\"_ruling\":\"Ruling given by the arbitrator. Note that 0 means that arbitrator chose \\\"Refused to rule\\\".\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"registerSafe(address)\":{\"details\":\"Authorize the safe to execute a ruling on the source contract.<\",\"params\":{\"_safe\":\"that acts as the Tribunal safe that can rule disputes from the source Strategy.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setArbitrationFee(uint256)\":{\"details\":\"Set the arbitration fee. Only callable by the owner.\",\"params\":{\"_arbitrationFee\":\"Amount to be paid for arbitration.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"title\":\"Safe Arbitrator\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/SafeArbitrator.sol\":\"SafeArbitrator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"pkg/contracts/src/SafeArbitrator.sol\":{\"keccak256\":\"0x706ccf6005d2fe60e3b68e2cf825869f450154a5a437d6ac7f72593809dad04d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5241571ed3a12db78e1e1876c26a03eb8af5fda070b40798f19d186126193dce\",\"dweb:/ipfs/QmSwaxyThd3tsokq2uUjLrHurHHBC71QgWVCgsjC8dY8Be\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"DisputeAlreadySolved"},{"inputs":[],"type":"error","name":"InvalidRuling"},{"inputs":[],"type":"error","name":"NotEnoughArbitrationFees"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"safe","type":"address"}],"type":"error","name":"OnlySafe"},{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address","indexed":true},{"internalType":"bool","name":"_accepted","type":"bool","indexed":true}],"type":"event","name":"AcceptedFeeToken","anonymous":false},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_newArbitrationFee","type":"uint256","indexed":false}],"type":"event","name":"ArbitrationFeeUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"contract IArbitrable","name":"_arbitrable","type":"address","indexed":true}],"type":"event","name":"DisputeCreation","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"contract IERC20","name":"_feeToken","type":"address","indexed":true},{"internalType":"uint64","name":"_rateInEth","type":"uint64","indexed":false},{"internalType":"uint8","name":"_rateDecimals","type":"uint8","indexed":false}],"type":"event","name":"NewCurrencyRate","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"contract IArbitrable","name":"_arbitrable","type":"address","indexed":true},{"internalType":"uint256","name":"_disputeID","type":"uint256","indexed":true},{"internalType":"uint256","name":"_ruling","type":"uint256","indexed":false}],"type":"event","name":"Ruling","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_arbitrationFee","type":"uint256","indexed":false}],"type":"event","name":"SafeArbitratorInitialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_arbitrable","type":"address","indexed":true},{"internalType":"address","name":"_safe","type":"address","indexed":false}],"type":"event","name":"SafeRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"arbitrable","type":"address"}],"stateMutability":"view","type":"function","name":"arbitrableTribunalSafe","outputs":[{"internalType":"address","name":"safe","type":"address"}]},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"pure","type":"function","name":"arbitrationCost","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function","name":"arbitrationCost","outputs":[{"internalType":"uint256","name":"fee","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_choices","type":"uint256"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"createDispute","outputs":[{"internalType":"uint256","name":"disputeID","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"contract IERC20","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function","name":"createDispute","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentRuling","outputs":[{"internalType":"uint256","name":"ruling","type":"uint256"},{"internalType":"bool","name":"tied","type":"bool"},{"internalType":"bool","name":"overridden","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"disputes","outputs":[{"internalType":"contract IArbitrable","name":"arbitrated","type":"address"},{"internalType":"bytes","name":"arbitratorExtraData","type":"bytes"},{"internalType":"uint256","name":"choices","type":"uint256"},{"internalType":"uint256","name":"arbitrationFee","type":"uint256"},{"internalType":"uint256","name":"ruling","type":"uint256"},{"internalType":"enum SafeArbitrator.DisputeStatus","name":"status","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"_disputeID","type":"uint256"},{"internalType":"uint256","name":"_ruling","type":"uint256"},{"internalType":"address","name":"_arbitrable","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"executeRuling"},{"inputs":[{"internalType":"uint256","name":"_arbitrationFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_safe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerSafe"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_arbitrationFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setArbitrationFee"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"arbitrationCost(bytes)":{"details":"Compute the cost of arbitration denominated in the native currency, typically ETH. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes)."},"returns":{"fee":"The arbitration cost in ETH."}},"arbitrationCost(bytes,address)":{"details":"Compute the cost of arbitration denominated in `_feeToken`. It is recommended not to increase it often, as it can be highly time and gas consuming for the arbitrated contracts to cope with fee augmentation.","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_feeToken":"The ERC20 token used to pay fees."},"returns":{"_0":"The arbitration cost in `_feeToken`."}},"createDispute(uint256,bytes)":{"details":"Create a dispute and pay for the fees in the native currency, typically ETH. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_numberOfChoices":"The number of choices the arbitrator can choose from in this dispute."},"returns":{"disputeID":"The identifier of the dispute created."}},"createDispute(uint256,bytes,address,uint256)":{"details":"Create a dispute and pay for the fees in a supported ERC20 token. Must be called by the arbitrable contract. Must pay at least arbitrationCost(_extraData).","params":{"_extraData":"Additional info about the dispute. We use it to pass the ID of the dispute's court (first 32 bytes), the minimum number of jurors required (next 32 bytes) and the ID of the specific dispute kit (last 32 bytes).","_feeAmount":"Amount of the ERC20 token used to pay fees.","_feeToken":"The ERC20 token used to pay fees.","_numberOfChoices":"The number of choices the arbitrator can choose from in this dispute."},"returns":{"_0":"The identifier of the dispute created."}},"currentRuling(uint256)":{"details":"Gets the current ruling of a specified dispute.","params":{"_disputeID":"The ID of the dispute."},"returns":{"overridden":"Whether the ruling was overridden by appeal funding or not.","ruling":"The current ruling.","tied":"Whether it's a tie or not."}},"executeRuling(uint256,uint256,address)":{"details":"Give a ruling to a dispute.","params":{"_arbitrable":"Address of the arbitrable that the safe rules for\".","_disputeID":"ID of the dispute to rule.","_ruling":"Ruling given by the arbitrator. Note that 0 means that arbitrator chose \"Refused to rule\"."}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"registerSafe(address)":{"details":"Authorize the safe to execute a ruling on the source contract.<","params":{"_safe":"that acts as the Tribunal safe that can rule disputes from the source Strategy."}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setArbitrationFee(uint256)":{"details":"Set the arbitration fee. Only callable by the owner.","params":{"_arbitrationFee":"Amount to be paid for arbitration."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/SafeArbitrator.sol":"SafeArbitrator"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"pkg/contracts/src/SafeArbitrator.sol":{"keccak256":"0x706ccf6005d2fe60e3b68e2cf825869f450154a5a437d6ac7f72593809dad04d","urls":["bzz-raw://5241571ed3a12db78e1e1876c26a03eb8af5fda070b40798f19d186126193dce","dweb:/ipfs/QmSwaxyThd3tsokq2uUjLrHurHHBC71QgWVCgsjC8dY8Be"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":52990,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":52993,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53695,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52782,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52902,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":53167,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"_status","offset":0,"slot":"101","type":"t_uint256"},{"astId":53236,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":73461,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitrationFee","offset":0,"slot":"151","type":"t_uint256"},{"astId":73465,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"disputes","offset":0,"slot":"152","type":"t_array(t_struct(DisputeStruct)73459_storage)dyn_storage"},{"astId":73469,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitrableTribunalSafe","offset":0,"slot":"153","type":"t_mapping(t_address,t_address)"},{"astId":73800,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"__gap","offset":0,"slot":"154","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_struct(DisputeStruct)73459_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct SafeArbitrator.DisputeStruct[]","numberOfBytes":"32","base":"t_struct(DisputeStruct)73459_storage"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(IArbitrable)76221":{"encoding":"inplace","label":"contract IArbitrable","numberOfBytes":"20"},"t_enum(DisputeStatus)73444":{"encoding":"inplace","label":"enum SafeArbitrator.DisputeStatus","numberOfBytes":"1"},"t_mapping(t_address,t_address)":{"encoding":"mapping","key":"t_address","label":"mapping(address => address)","numberOfBytes":"32","value":"t_address"},"t_struct(DisputeStruct)73459_storage":{"encoding":"inplace","label":"struct SafeArbitrator.DisputeStruct","numberOfBytes":"192","members":[{"astId":73447,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitrated","offset":0,"slot":"0","type":"t_contract(IArbitrable)76221"},{"astId":73449,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitratorExtraData","offset":0,"slot":"1","type":"t_bytes_storage"},{"astId":73451,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"choices","offset":0,"slot":"2","type":"t_uint256"},{"astId":73453,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"arbitrationFee","offset":0,"slot":"3","type":"t_uint256"},{"astId":73455,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"ruling","offset":0,"slot":"4","type":"t_uint256"},{"astId":73458,"contract":"pkg/contracts/src/SafeArbitrator.sol:SafeArbitrator","label":"status","offset":0,"slot":"5","type":"t_enum(DisputeStatus)73444"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/SafeArbitrator.sol","id":73802,"exportedSymbols":{"IArbitrable":[76221],"IArbitrator":[76325],"IERC20":[56528],"OwnableUpgradeable":[52903],"ReentrancyGuardUpgradeable":[53237],"SafeArbitrator":[73801],"UUPSUpgradeable":[55672]},"nodeType":"SourceUnit","src":"33:5944:111","nodes":[{"id":73406,"nodeType":"PragmaDirective","src":"33:24:111","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":73408,"nodeType":"ImportDirective","src":"59:70:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":73802,"sourceUnit":56529,"symbolAliases":[{"foreign":{"id":73407,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56528,"src":"67:6:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73410,"nodeType":"ImportDirective","src":"130:88:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":73802,"sourceUnit":55673,"symbolAliases":[{"foreign":{"id":73409,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55672,"src":"138:15:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73412,"nodeType":"ImportDirective","src":"219:110:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":73802,"sourceUnit":52904,"symbolAliases":[{"foreign":{"id":73411,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52903,"src":"227:18:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73414,"nodeType":"ImportDirective","src":"330:132:111","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","nameLocation":"-1:-1:-1","scope":73802,"sourceUnit":53238,"symbolAliases":[{"foreign":{"id":73413,"name":"ReentrancyGuardUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53237,"src":"338:26:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73416,"nodeType":"ImportDirective","src":"463:57:111","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"./interfaces/IArbitrable.sol","nameLocation":"-1:-1:-1","scope":73802,"sourceUnit":76222,"symbolAliases":[{"foreign":{"id":73415,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76221,"src":"471:11:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73418,"nodeType":"ImportDirective","src":"521:57:111","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrator.sol","file":"./interfaces/IArbitrator.sol","nameLocation":"-1:-1:-1","scope":73802,"sourceUnit":76326,"symbolAliases":[{"foreign":{"id":73417,"name":"IArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76325,"src":"529:11:111","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73801,"nodeType":"ContractDefinition","src":"709:5267:111","nodes":[{"id":73431,"nodeType":"EventDefinition","src":"819:56:111","nodes":[],"anonymous":false,"eventSelector":"b1484c2bf00d94a00783b6081ebc5f5d02be4675f6eb8cf4c0c95bfe5a3f06ed","name":"ArbitrationFeeUpdated","nameLocation":"825:21:111","parameters":{"id":73430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73429,"indexed":false,"mutability":"mutable","name":"_newArbitrationFee","nameLocation":"855:18:111","nodeType":"VariableDeclaration","scope":73431,"src":"847:26:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73428,"name":"uint256","nodeType":"ElementaryTypeName","src":"847:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"846:28:111"}},{"id":73437,"nodeType":"EventDefinition","src":"880:65:111","nodes":[],"anonymous":false,"eventSelector":"2b87bb26d58aa2d56b59c2b23a53a6959f68d4547492bda44fb5e68b0fa38b3f","name":"SafeRegistered","nameLocation":"886:14:111","parameters":{"id":73436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73433,"indexed":true,"mutability":"mutable","name":"_arbitrable","nameLocation":"917:11:111","nodeType":"VariableDeclaration","scope":73437,"src":"901:27:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73432,"name":"address","nodeType":"ElementaryTypeName","src":"901:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73435,"indexed":false,"mutability":"mutable","name":"_safe","nameLocation":"938:5:111","nodeType":"VariableDeclaration","scope":73437,"src":"930:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73434,"name":"address","nodeType":"ElementaryTypeName","src":"930:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"900:44:111"}},{"id":73441,"nodeType":"EventDefinition","src":"950:57:111","nodes":[],"anonymous":false,"eventSelector":"c05490fc8f8e095831ea3823f005dd0661528380328aa5c3b7348a45244223be","name":"SafeArbitratorInitialized","nameLocation":"956:25:111","parameters":{"id":73440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73439,"indexed":false,"mutability":"mutable","name":"_arbitrationFee","nameLocation":"990:15:111","nodeType":"VariableDeclaration","scope":73441,"src":"982:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73438,"name":"uint256","nodeType":"ElementaryTypeName","src":"982:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"981:25:111"}},{"id":73444,"nodeType":"EnumDefinition","src":"1013:144:111","nodes":[],"canonicalName":"SafeArbitrator.DisputeStatus","members":[{"id":73442,"name":"Waiting","nameLocation":"1042:7:111","nodeType":"EnumValue","src":"1042:7:111"},{"id":73443,"name":"Solved","nameLocation":"1116:6:111","nodeType":"EnumValue","src":"1116:6:111"}],"name":"DisputeStatus","nameLocation":"1018:13:111"},{"id":73459,"nodeType":"StructDefinition","src":"1163:509:111","nodes":[],"canonicalName":"SafeArbitrator.DisputeStruct","members":[{"constant":false,"id":73447,"mutability":"mutable","name":"arbitrated","nameLocation":"1206:10:111","nodeType":"VariableDeclaration","scope":73459,"src":"1194:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$76221","typeString":"contract IArbitrable"},"typeName":{"id":73446,"nodeType":"UserDefinedTypeName","pathNode":{"id":73445,"name":"IArbitrable","nameLocations":["1194:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":76221,"src":"1194:11:111"},"referencedDeclaration":76221,"src":"1194:11:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$76221","typeString":"contract IArbitrable"}},"visibility":"internal"},{"constant":false,"id":73449,"mutability":"mutable","name":"arbitratorExtraData","nameLocation":"1275:19:111","nodeType":"VariableDeclaration","scope":73459,"src":"1269:25:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":73448,"name":"bytes","nodeType":"ElementaryTypeName","src":"1269:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73451,"mutability":"mutable","name":"choices","nameLocation":"1346:7:111","nodeType":"VariableDeclaration","scope":73459,"src":"1338:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73450,"name":"uint256","nodeType":"ElementaryTypeName","src":"1338:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73453,"mutability":"mutable","name":"arbitrationFee","nameLocation":"1428:14:111","nodeType":"VariableDeclaration","scope":73459,"src":"1420:22:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73452,"name":"uint256","nodeType":"ElementaryTypeName","src":"1420:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73455,"mutability":"mutable","name":"ruling","nameLocation":"1558:6:111","nodeType":"VariableDeclaration","scope":73459,"src":"1550:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73454,"name":"uint256","nodeType":"ElementaryTypeName","src":"1550:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73458,"mutability":"mutable","name":"status","nameLocation":"1623:6:111","nodeType":"VariableDeclaration","scope":73459,"src":"1609:20:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73444","typeString":"enum SafeArbitrator.DisputeStatus"},"typeName":{"id":73457,"nodeType":"UserDefinedTypeName","pathNode":{"id":73456,"name":"DisputeStatus","nameLocations":["1609:13:111"],"nodeType":"IdentifierPath","referencedDeclaration":73444,"src":"1609:13:111"},"referencedDeclaration":73444,"src":"1609:13:111","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73444","typeString":"enum SafeArbitrator.DisputeStatus"}},"visibility":"internal"}],"name":"DisputeStruct","nameLocation":"1170:13:111","scope":73801,"visibility":"public"},{"id":73461,"nodeType":"VariableDeclaration","src":"1678:30:111","nodes":[],"constant":false,"mutability":"mutable","name":"arbitrationFee","nameLocation":"1694:14:111","scope":73801,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73460,"name":"uint256","nodeType":"ElementaryTypeName","src":"1678:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":73465,"nodeType":"VariableDeclaration","src":"1802:31:111","nodes":[],"constant":false,"functionSelector":"564a565d","mutability":"mutable","name":"disputes","nameLocation":"1825:8:111","scope":73801,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$73459_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct[]"},"typeName":{"baseType":{"id":73463,"nodeType":"UserDefinedTypeName","pathNode":{"id":73462,"name":"DisputeStruct","nameLocations":["1802:13:111"],"nodeType":"IdentifierPath","referencedDeclaration":73459,"src":"1802:13:111"},"referencedDeclaration":73459,"src":"1802:13:111","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73459_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"}},"id":73464,"nodeType":"ArrayTypeName","src":"1802:15:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$73459_storage_$dyn_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct[]"}},"visibility":"public"},{"id":73469,"nodeType":"VariableDeclaration","src":"1888:73:111","nodes":[],"constant":false,"functionSelector":"26a0754c","mutability":"mutable","name":"arbitrableTribunalSafe","nameLocation":"1939:22:111","scope":73801,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"},"typeName":{"id":73468,"keyName":"arbitrable","keyNameLocation":"1904:10:111","keyType":{"id":73466,"name":"address","nodeType":"ElementaryTypeName","src":"1896:7:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1888:43:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"},"valueName":"safe","valueNameLocation":"1926:4:111","valueType":{"id":73467,"name":"address","nodeType":"ElementaryTypeName","src":"1918:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"public"},{"id":73475,"nodeType":"ErrorDefinition","src":"2018:45:111","nodes":[],"errorSelector":"d0774c99","name":"OnlySafe","nameLocation":"2024:8:111","parameters":{"id":73474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73471,"mutability":"mutable","name":"sender","nameLocation":"2041:6:111","nodeType":"VariableDeclaration","scope":73475,"src":"2033:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73470,"name":"address","nodeType":"ElementaryTypeName","src":"2033:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73473,"mutability":"mutable","name":"safe","nameLocation":"2057:4:111","nodeType":"VariableDeclaration","scope":73475,"src":"2049:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73472,"name":"address","nodeType":"ElementaryTypeName","src":"2049:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2032:30:111"}},{"id":73477,"nodeType":"ErrorDefinition","src":"2068:33:111","nodes":[],"errorSelector":"e4216b31","name":"NotEnoughArbitrationFees","nameLocation":"2074:24:111","parameters":{"id":73476,"nodeType":"ParameterList","parameters":[],"src":"2098:2:111"}},{"id":73479,"nodeType":"ErrorDefinition","src":"2106:22:111","nodes":[],"errorSelector":"9efd4790","name":"InvalidRuling","nameLocation":"2112:13:111","parameters":{"id":73478,"nodeType":"ParameterList","parameters":[],"src":"2125:2:111"}},{"id":73481,"nodeType":"ErrorDefinition","src":"2133:29:111","nodes":[],"errorSelector":"bda17d95","name":"DisputeAlreadySolved","nameLocation":"2139:20:111","parameters":{"id":73480,"nodeType":"ParameterList","parameters":[],"src":"2159:2:111"}},{"id":73504,"nodeType":"ModifierDefinition","src":"2168:231:111","nodes":[],"body":{"id":73503,"nodeType":"Block","src":"2207:192:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":73490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73485,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2221:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2225:6:111","memberName":"sender","nodeType":"MemberAccess","src":"2221:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"baseExpression":{"id":73487,"name":"arbitrableTribunalSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73469,"src":"2235:22:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":73489,"indexExpression":{"id":73488,"name":"_arbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73483,"src":"2258:11:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2235:35:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2221:49:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":73501,"nodeType":"Block","src":"2304:89:111","statements":[{"errorCall":{"arguments":[{"expression":{"id":73494,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2334:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2338:6:111","memberName":"sender","nodeType":"MemberAccess","src":"2334:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":73496,"name":"arbitrableTribunalSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73469,"src":"2346:22:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":73498,"indexExpression":{"id":73497,"name":"_arbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73483,"src":"2369:11:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2346:35:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":73493,"name":"OnlySafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73475,"src":"2325:8:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":73499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2325:57:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73500,"nodeType":"RevertStatement","src":"2318:64:111"}]},"id":73502,"nodeType":"IfStatement","src":"2217:176:111","trueBody":{"id":73492,"nodeType":"Block","src":"2272:26:111","statements":[{"id":73491,"nodeType":"PlaceholderStatement","src":"2286:1:111"}]}}]},"name":"onlySafe","nameLocation":"2177:8:111","parameters":{"id":73484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73483,"mutability":"mutable","name":"_arbitrable","nameLocation":"2194:11:111","nodeType":"VariableDeclaration","scope":73504,"src":"2186:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73482,"name":"address","nodeType":"ElementaryTypeName","src":"2186:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2185:21:111"},"virtual":false,"visibility":"internal"},{"id":73523,"nodeType":"FunctionDefinition","src":"2458:196:111","nodes":[],"body":{"id":73522,"nodeType":"Block","src":"2522:132:111","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":73511,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52798,"src":"2532:14:111","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":73512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2532:16:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73513,"nodeType":"ExpressionStatement","src":"2532:16:111"},{"expression":{"id":73516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73514,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73461,"src":"2558:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73515,"name":"_arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73506,"src":"2575:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2558:32:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73517,"nodeType":"ExpressionStatement","src":"2558:32:111"},{"eventCall":{"arguments":[{"id":73519,"name":"_arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73506,"src":"2631:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73518,"name":"SafeArbitratorInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73441,"src":"2605:25:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":73520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2605:42:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73521,"nodeType":"EmitStatement","src":"2600:47:111"}]},"functionSelector":"fe4b84df","implemented":true,"kind":"function","modifiers":[{"id":73509,"kind":"modifierInvocation","modifierName":{"id":73508,"name":"initializer","nameLocations":["2510:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":53054,"src":"2510:11:111"},"nodeType":"ModifierInvocation","src":"2510:11:111"}],"name":"initialize","nameLocation":"2467:10:111","parameters":{"id":73507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73506,"mutability":"mutable","name":"_arbitrationFee","nameLocation":"2486:15:111","nodeType":"VariableDeclaration","scope":73523,"src":"2478:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73505,"name":"uint256","nodeType":"ElementaryTypeName","src":"2478:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2477:25:111"},"returnParameters":{"id":73510,"nodeType":"ParameterList","parameters":[],"src":"2522:0:111"},"scope":73801,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":73540,"nodeType":"FunctionDefinition","src":"2792:173:111","nodes":[],"body":{"id":73539,"nodeType":"Block","src":"2863:102:111","nodes":[],"statements":[{"expression":{"id":73533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73531,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73461,"src":"2873:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73532,"name":"_arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73526,"src":"2890:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2873:32:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73534,"nodeType":"ExpressionStatement","src":"2873:32:111"},{"eventCall":{"arguments":[{"id":73536,"name":"_arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73526,"src":"2942:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73535,"name":"ArbitrationFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73431,"src":"2920:21:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":73537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2920:38:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73538,"nodeType":"EmitStatement","src":"2915:43:111"}]},"documentation":{"id":73524,"nodeType":"StructuredDocumentation","src":"2660:127:111","text":"@dev Set the arbitration fee. Only callable by the owner.\n @param _arbitrationFee Amount to be paid for arbitration."},"functionSelector":"5ea7b4fc","implemented":true,"kind":"function","modifiers":[{"id":73529,"kind":"modifierInvocation","modifierName":{"id":73528,"name":"onlyOwner","nameLocations":["2853:9:111"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"2853:9:111"},"nodeType":"ModifierInvocation","src":"2853:9:111"}],"name":"setArbitrationFee","nameLocation":"2801:17:111","parameters":{"id":73527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73526,"mutability":"mutable","name":"_arbitrationFee","nameLocation":"2827:15:111","nodeType":"VariableDeclaration","scope":73540,"src":"2819:23:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73525,"name":"uint256","nodeType":"ElementaryTypeName","src":"2819:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2818:25:111"},"returnParameters":{"id":73530,"nodeType":"ParameterList","parameters":[],"src":"2863:0:111"},"scope":73801,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73559,"nodeType":"FunctionDefinition","src":"2971:153:111","nodes":[],"body":{"id":73558,"nodeType":"Block","src":"3017:107:111","nodes":[],"statements":[{"expression":{"id":73550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":73545,"name":"arbitrableTribunalSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73469,"src":"3027:22:111","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":73548,"indexExpression":{"expression":{"id":73546,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3050:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3054:6:111","memberName":"sender","nodeType":"MemberAccess","src":"3050:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3027:34:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73549,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73542,"src":"3064:5:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3027:42:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":73551,"nodeType":"ExpressionStatement","src":"3027:42:111"},{"eventCall":{"arguments":[{"expression":{"id":73553,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3099:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3103:6:111","memberName":"sender","nodeType":"MemberAccess","src":"3099:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73555,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73542,"src":"3111:5:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":73552,"name":"SafeRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73437,"src":"3084:14:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":73556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3084:33:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73557,"nodeType":"EmitStatement","src":"3079:38:111"}]},"baseFunctions":[76324],"functionSelector":"88d5b732","implemented":true,"kind":"function","modifiers":[],"name":"registerSafe","nameLocation":"2980:12:111","parameters":{"id":73543,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73542,"mutability":"mutable","name":"_safe","nameLocation":"3001:5:111","nodeType":"VariableDeclaration","scope":73559,"src":"2993:13:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73541,"name":"address","nodeType":"ElementaryTypeName","src":"2993:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2992:15:111"},"returnParameters":{"id":73544,"nodeType":"ParameterList","parameters":[],"src":"3017:0:111"},"scope":73801,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73615,"nodeType":"FunctionDefinition","src":"3162:732:111","nodes":[],"body":{"id":73614,"nodeType":"Block","src":"3341:553:111","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73572,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3355:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3359:5:111","memberName":"value","nodeType":"MemberAccess","src":"3355:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"id":73575,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73564,"src":"3383:10:111","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":73574,"name":"arbitrationCost","nodeType":"Identifier","overloadedDeclarations":[73738,73755],"referencedDeclaration":73738,"src":"3367:15:111","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_calldata_ptr_$returns$_t_uint256_$","typeString":"function (bytes calldata) view returns (uint256)"}},"id":73576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3367:27:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3355:39:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73582,"nodeType":"IfStatement","src":"3351:103:111","trueBody":{"id":73581,"nodeType":"Block","src":"3396:58:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73578,"name":"NotEnoughArbitrationFees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73477,"src":"3417:24:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3417:26:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73580,"nodeType":"RevertStatement","src":"3410:33:111"}]}},{"expression":{"id":73586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73583,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73570,"src":"3463:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73584,"name":"disputes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73465,"src":"3475:8:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$73459_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref[] storage ref"}},"id":73585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3484:6:111","memberName":"length","nodeType":"MemberAccess","src":"3475:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3463:27:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73587,"nodeType":"ExpressionStatement","src":"3463:27:111"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":73593,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3583:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3587:6:111","memberName":"sender","nodeType":"MemberAccess","src":"3583:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73592,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76221,"src":"3571:11:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IArbitrable_$76221_$","typeString":"type(contract IArbitrable)"}},"id":73595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3571:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$76221","typeString":"contract IArbitrable"}},{"id":73596,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73564,"src":"3633:10:111","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"id":73597,"name":"_choices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73562,"src":"3670:8:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":73598,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3712:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3716:5:111","memberName":"value","nodeType":"MemberAccess","src":"3712:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":73600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3747:1:111","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":73601,"name":"DisputeStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73444,"src":"3774:13:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_DisputeStatus_$73444_$","typeString":"type(enum SafeArbitrator.DisputeStatus)"}},"id":73602,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3788:7:111","memberName":"Waiting","nodeType":"MemberAccess","referencedDeclaration":73442,"src":"3774:21:111","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73444","typeString":"enum SafeArbitrator.DisputeStatus"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrable_$76221","typeString":"contract IArbitrable"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_DisputeStatus_$73444","typeString":"enum SafeArbitrator.DisputeStatus"}],"id":73591,"name":"DisputeStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73459,"src":"3527:13:111","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_DisputeStruct_$73459_storage_ptr_$","typeString":"type(struct SafeArbitrator.DisputeStruct storage pointer)"}},"id":73603,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["3559:10:111","3612:19:111","3661:7:111","3696:14:111","3739:6:111","3766:6:111"],"names":["arbitrated","arbitratorExtraData","choices","arbitrationFee","ruling","status"],"nodeType":"FunctionCall","src":"3527:283:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73459_memory_ptr","typeString":"struct SafeArbitrator.DisputeStruct memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_DisputeStruct_$73459_memory_ptr","typeString":"struct SafeArbitrator.DisputeStruct memory"}],"expression":{"id":73588,"name":"disputes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73465,"src":"3500:8:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$73459_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref[] storage ref"}},"id":73590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3509:4:111","memberName":"push","nodeType":"MemberAccess","src":"3500:13:111","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_DisputeStruct_$73459_storage_$dyn_storage_ptr_$_t_struct$_DisputeStruct_$73459_storage_$returns$__$attached_to$_t_array$_t_struct$_DisputeStruct_$73459_storage_$dyn_storage_ptr_$","typeString":"function (struct SafeArbitrator.DisputeStruct storage ref[] storage pointer,struct SafeArbitrator.DisputeStruct storage ref)"}},"id":73604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3500:320:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73605,"nodeType":"ExpressionStatement","src":"3500:320:111"},{"eventCall":{"arguments":[{"id":73607,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73570,"src":"3852:9:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"id":73609,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3875:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3879:6:111","memberName":"sender","nodeType":"MemberAccess","src":"3875:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73608,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76221,"src":"3863:11:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IArbitrable_$76221_$","typeString":"type(contract IArbitrable)"}},"id":73611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3863:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$76221","typeString":"contract IArbitrable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IArbitrable_$76221","typeString":"contract IArbitrable"}],"id":73606,"name":"DisputeCreation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76234,"src":"3836:15:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_contract$_IArbitrable_$76221_$returns$__$","typeString":"function (uint256,contract IArbitrable)"}},"id":73612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3836:51:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73613,"nodeType":"EmitStatement","src":"3831:56:111"}]},"baseFunctions":[76272],"documentation":{"id":73560,"nodeType":"StructuredDocumentation","src":"3130:27:111","text":"@inheritdoc IArbitrator"},"functionSelector":"c13517e1","implemented":true,"kind":"function","modifiers":[{"id":73568,"kind":"modifierInvocation","modifierName":{"id":73567,"name":"nonReentrant","nameLocations":["3288:12:111"],"nodeType":"IdentifierPath","referencedDeclaration":53197,"src":"3288:12:111"},"nodeType":"ModifierInvocation","src":"3288:12:111"}],"name":"createDispute","nameLocation":"3171:13:111","overrides":{"id":73566,"nodeType":"OverrideSpecifier","overrides":[],"src":"3271:8:111"},"parameters":{"id":73565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73562,"mutability":"mutable","name":"_choices","nameLocation":"3193:8:111","nodeType":"VariableDeclaration","scope":73615,"src":"3185:16:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73561,"name":"uint256","nodeType":"ElementaryTypeName","src":"3185:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73564,"mutability":"mutable","name":"_extraData","nameLocation":"3218:10:111","nodeType":"VariableDeclaration","scope":73615,"src":"3203:25:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":73563,"name":"bytes","nodeType":"ElementaryTypeName","src":"3203:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3184:45:111"},"returnParameters":{"id":73571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73570,"mutability":"mutable","name":"disputeID","nameLocation":"3326:9:111","nodeType":"VariableDeclaration","scope":73615,"src":"3318:17:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73569,"name":"uint256","nodeType":"ElementaryTypeName","src":"3318:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3317:19:111"},"scope":73801,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":73636,"nodeType":"FunctionDefinition","src":"3932:241:111","nodes":[],"body":{"id":73635,"nodeType":"Block","src":"4133:40:111","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"4e6f7420737570706f72746564","id":73632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4150:15:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_e5b7c22b986abeee436d3f29779441c97ce367faa95f4de1bae94ece3817df25","typeString":"literal_string \"Not supported\""},"value":"Not supported"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e5b7c22b986abeee436d3f29779441c97ce367faa95f4de1bae94ece3817df25","typeString":"literal_string \"Not supported\""}],"id":73631,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"4143:6:111","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":73633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4143:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73634,"nodeType":"ExpressionStatement","src":"4143:23:111"}]},"baseFunctions":[76287],"documentation":{"id":73616,"nodeType":"StructuredDocumentation","src":"3900:27:111","text":"@inheritdoc IArbitrator"},"functionSelector":"f6506db4","implemented":true,"kind":"function","modifiers":[],"name":"createDispute","nameLocation":"3941:13:111","overrides":{"id":73627,"nodeType":"OverrideSpecifier","overrides":[],"src":"4106:8:111"},"parameters":{"id":73626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73618,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73636,"src":"3964:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73617,"name":"uint256","nodeType":"ElementaryTypeName","src":"3964:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73620,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73636,"src":"3994:14:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":73619,"name":"bytes","nodeType":"ElementaryTypeName","src":"3994:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73623,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73636,"src":"4033:6:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":73622,"nodeType":"UserDefinedTypeName","pathNode":{"id":73621,"name":"IERC20","nameLocations":["4033:6:111"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"4033:6:111"},"referencedDeclaration":56528,"src":"4033:6:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":73625,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73636,"src":"4063:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73624,"name":"uint256","nodeType":"ElementaryTypeName","src":"4063:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3954:137:111"},"returnParameters":{"id":73630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73629,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73636,"src":"4124:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73628,"name":"uint256","nodeType":"ElementaryTypeName","src":"4124:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4123:9:111"},"scope":73801,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":73726,"nodeType":"FunctionDefinition","src":"4466:720:111","nodes":[],"body":{"id":73725,"nodeType":"Block","src":"4578:608:111","nodes":[],"statements":[{"assignments":[73651],"declarations":[{"constant":false,"id":73651,"mutability":"mutable","name":"dispute","nameLocation":"4610:7:111","nodeType":"VariableDeclaration","scope":73725,"src":"4588:29:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73459_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"},"typeName":{"id":73650,"nodeType":"UserDefinedTypeName","pathNode":{"id":73649,"name":"DisputeStruct","nameLocations":["4588:13:111"],"nodeType":"IdentifierPath","referencedDeclaration":73459,"src":"4588:13:111"},"referencedDeclaration":73459,"src":"4588:13:111","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73459_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"}},"visibility":"internal"}],"id":73655,"initialValue":{"baseExpression":{"id":73652,"name":"disputes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73465,"src":"4620:8:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$73459_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref[] storage ref"}},"id":73654,"indexExpression":{"id":73653,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73639,"src":"4629:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4620:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73459_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4588:52:111"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":73659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":73656,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73641,"src":"4655:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":73657,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73651,"src":"4665:7:111","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73459_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":73658,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4673:7:111","memberName":"choices","nodeType":"MemberAccess","referencedDeclaration":73451,"src":"4665:15:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4655:25:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73664,"nodeType":"IfStatement","src":"4651:78:111","trueBody":{"id":73663,"nodeType":"Block","src":"4682:47:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73660,"name":"InvalidRuling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73479,"src":"4703:13:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4703:15:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73662,"nodeType":"RevertStatement","src":"4696:22:111"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_DisputeStatus_$73444","typeString":"enum SafeArbitrator.DisputeStatus"},"id":73669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":73665,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73651,"src":"4742:7:111","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73459_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":73666,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4750:6:111","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":73458,"src":"4742:14:111","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73444","typeString":"enum SafeArbitrator.DisputeStatus"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":73667,"name":"DisputeStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73444,"src":"4760:13:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_DisputeStatus_$73444_$","typeString":"type(enum SafeArbitrator.DisputeStatus)"}},"id":73668,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4774:6:111","memberName":"Solved","nodeType":"MemberAccess","referencedDeclaration":73443,"src":"4760:20:111","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73444","typeString":"enum SafeArbitrator.DisputeStatus"}},"src":"4742:38:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73674,"nodeType":"IfStatement","src":"4738:98:111","trueBody":{"id":73673,"nodeType":"Block","src":"4782:54:111","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":73670,"name":"DisputeAlreadySolved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73481,"src":"4803:20:111","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4803:22:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73672,"nodeType":"RevertStatement","src":"4796:29:111"}]}},{"expression":{"id":73679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73675,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73651,"src":"4846:7:111","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73459_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":73677,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4854:6:111","memberName":"ruling","nodeType":"MemberAccess","referencedDeclaration":73455,"src":"4846:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73678,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73641,"src":"4863:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4846:24:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73680,"nodeType":"ExpressionStatement","src":"4846:24:111"},{"expression":{"id":73686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":73681,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73651,"src":"4880:7:111","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73459_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":73683,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4888:6:111","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":73458,"src":"4880:14:111","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73444","typeString":"enum SafeArbitrator.DisputeStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73684,"name":"DisputeStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73444,"src":"4897:13:111","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_DisputeStatus_$73444_$","typeString":"type(enum SafeArbitrator.DisputeStatus)"}},"id":73685,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4911:6:111","memberName":"Solved","nodeType":"MemberAccess","referencedDeclaration":73443,"src":"4897:20:111","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73444","typeString":"enum SafeArbitrator.DisputeStatus"}},"src":"4880:37:111","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73444","typeString":"enum SafeArbitrator.DisputeStatus"}},"id":73687,"nodeType":"ExpressionStatement","src":"4880:37:111"},{"assignments":[73689,null],"declarations":[{"constant":false,"id":73689,"mutability":"mutable","name":"success","nameLocation":"4934:7:111","nodeType":"VariableDeclaration","scope":73725,"src":"4929:12:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73688,"name":"bool","nodeType":"ElementaryTypeName","src":"4929:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":73701,"initialValue":{"arguments":[{"hexValue":"","id":73699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5002:2:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"arguments":[{"expression":{"id":73692,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4954:3:111","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":73693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4958:6:111","memberName":"sender","nodeType":"MemberAccess","src":"4954:10:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73691,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4946:8:111","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":73690,"name":"address","nodeType":"ElementaryTypeName","src":"4946:8:111","stateMutability":"payable","typeDescriptions":{}}},"id":73694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4946:19:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":73695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4966:4:111","memberName":"call","nodeType":"MemberAccess","src":"4946:24:111","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":73698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":73696,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73651,"src":"4978:7:111","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73459_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":73697,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4986:14:111","memberName":"arbitrationFee","nodeType":"MemberAccess","referencedDeclaration":73453,"src":"4978:22:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"4946:55:111","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":73700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4946:59:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"4928:77:111"},{"expression":{"arguments":[{"id":73703,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73689,"src":"5023:7:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5472616e73666572206661696c6564","id":73704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5032:17:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_25adaa6d082ce15f901e0d8a3d393e7462ef9edf2e6bc8321fa14d1615b6fc51","typeString":"literal_string \"Transfer failed\""},"value":"Transfer failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_25adaa6d082ce15f901e0d8a3d393e7462ef9edf2e6bc8321fa14d1615b6fc51","typeString":"literal_string \"Transfer failed\""}],"id":73702,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5015:7:111","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":73705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5015:35:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73706,"nodeType":"ExpressionStatement","src":"5015:35:111"},{"expression":{"arguments":[{"id":73712,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73639,"src":"5084:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":73713,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73651,"src":"5096:7:111","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73459_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":73714,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5104:6:111","memberName":"ruling","nodeType":"MemberAccess","referencedDeclaration":73455,"src":"5096:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":73707,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73651,"src":"5060:7:111","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73459_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":73710,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5068:10:111","memberName":"arbitrated","nodeType":"MemberAccess","referencedDeclaration":73447,"src":"5060:18:111","typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$76221","typeString":"contract IArbitrable"}},"id":73711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5079:4:111","memberName":"rule","nodeType":"MemberAccess","referencedDeclaration":76220,"src":"5060:23:111","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) external"}},"id":73715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5060:51:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73716,"nodeType":"ExpressionStatement","src":"5060:51:111"},{"eventCall":{"arguments":[{"arguments":[{"id":73719,"name":"_arbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73643,"src":"5145:11:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73718,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76221,"src":"5133:11:111","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IArbitrable_$76221_$","typeString":"type(contract IArbitrable)"}},"id":73720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5133:24:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IArbitrable_$76221","typeString":"contract IArbitrable"}},{"id":73721,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73639,"src":"5159:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":73722,"name":"_ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73641,"src":"5171:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IArbitrable_$76221","typeString":"contract IArbitrable"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73717,"name":"Ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76244,"src":"5126:6:111","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IArbitrable_$76221_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (contract IArbitrable,uint256,uint256)"}},"id":73723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5126:53:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73724,"nodeType":"EmitStatement","src":"5121:58:111"}]},"documentation":{"id":73637,"nodeType":"StructuredDocumentation","src":"4179:282:111","text":"@dev Give a ruling to a dispute.\n @param _disputeID ID of the dispute to rule.\n @param _ruling Ruling given by the arbitrator. Note that 0 means that arbitrator chose \"Refused to rule\".\n @param _arbitrable Address of the arbitrable that the safe rules for\"."},"functionSelector":"7a1d3756","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":73646,"name":"_arbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73643,"src":"4565:11:111","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":73647,"kind":"modifierInvocation","modifierName":{"id":73645,"name":"onlySafe","nameLocations":["4556:8:111"],"nodeType":"IdentifierPath","referencedDeclaration":73504,"src":"4556:8:111"},"nodeType":"ModifierInvocation","src":"4556:21:111"}],"name":"executeRuling","nameLocation":"4475:13:111","parameters":{"id":73644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73639,"mutability":"mutable","name":"_disputeID","nameLocation":"4497:10:111","nodeType":"VariableDeclaration","scope":73726,"src":"4489:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73638,"name":"uint256","nodeType":"ElementaryTypeName","src":"4489:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73641,"mutability":"mutable","name":"_ruling","nameLocation":"4517:7:111","nodeType":"VariableDeclaration","scope":73726,"src":"4509:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73640,"name":"uint256","nodeType":"ElementaryTypeName","src":"4509:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73643,"mutability":"mutable","name":"_arbitrable","nameLocation":"4534:11:111","nodeType":"VariableDeclaration","scope":73726,"src":"4526:19:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73642,"name":"address","nodeType":"ElementaryTypeName","src":"4526:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4488:58:111"},"returnParameters":{"id":73648,"nodeType":"ParameterList","parameters":[],"src":"4578:0:111"},"scope":73801,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":73738,"nodeType":"FunctionDefinition","src":"5224:138:111","nodes":[],"body":{"id":73737,"nodeType":"Block","src":"5324:38:111","nodes":[],"statements":[{"expression":{"id":73735,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73461,"src":"5341:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":73734,"id":73736,"nodeType":"Return","src":"5334:21:111"}]},"baseFunctions":[76295],"documentation":{"id":73727,"nodeType":"StructuredDocumentation","src":"5192:27:111","text":"@inheritdoc IArbitrator"},"functionSelector":"f7434ea9","implemented":true,"kind":"function","modifiers":[],"name":"arbitrationCost","nameLocation":"5233:15:111","overrides":{"id":73731,"nodeType":"OverrideSpecifier","overrides":[],"src":"5293:8:111"},"parameters":{"id":73730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73729,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73738,"src":"5249:14:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":73728,"name":"bytes","nodeType":"ElementaryTypeName","src":"5249:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5248:32:111"},"returnParameters":{"id":73734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73733,"mutability":"mutable","name":"fee","nameLocation":"5319:3:111","nodeType":"VariableDeclaration","scope":73738,"src":"5311:11:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73732,"name":"uint256","nodeType":"ElementaryTypeName","src":"5311:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5310:13:111"},"scope":73801,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":73755,"nodeType":"FunctionDefinition","src":"5400:204:111","nodes":[],"body":{"id":73754,"nodeType":"Block","src":"5564:40:111","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"4e6f7420737570706f72746564","id":73751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5581:15:111","typeDescriptions":{"typeIdentifier":"t_stringliteral_e5b7c22b986abeee436d3f29779441c97ce367faa95f4de1bae94ece3817df25","typeString":"literal_string \"Not supported\""},"value":"Not supported"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e5b7c22b986abeee436d3f29779441c97ce367faa95f4de1bae94ece3817df25","typeString":"literal_string \"Not supported\""}],"id":73750,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"5574:6:111","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":73752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5574:23:111","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73753,"nodeType":"ExpressionStatement","src":"5574:23:111"}]},"baseFunctions":[76306],"documentation":{"id":73739,"nodeType":"StructuredDocumentation","src":"5368:27:111","text":"@inheritdoc IArbitrator"},"functionSelector":"d98493f6","implemented":true,"kind":"function","modifiers":[],"name":"arbitrationCost","nameLocation":"5409:15:111","overrides":{"id":73746,"nodeType":"OverrideSpecifier","overrides":[],"src":"5515:8:111"},"parameters":{"id":73745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73741,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73755,"src":"5425:14:111","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":73740,"name":"bytes","nodeType":"ElementaryTypeName","src":"5425:5:111","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":73744,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73755,"src":"5456:6:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":73743,"nodeType":"UserDefinedTypeName","pathNode":{"id":73742,"name":"IERC20","nameLocations":["5456:6:111"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"5456:6:111"},"referencedDeclaration":56528,"src":"5456:6:111","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"}],"src":"5424:54:111"},"returnParameters":{"id":73749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73748,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73755,"src":"5541:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73747,"name":"uint256","nodeType":"ElementaryTypeName","src":"5541:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5540:19:111"},"scope":73801,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":73787,"nodeType":"FunctionDefinition","src":"5610:260:111","nodes":[],"body":{"id":73786,"nodeType":"Block","src":"5718:152:111","nodes":[],"statements":[{"assignments":[73768],"declarations":[{"constant":false,"id":73768,"mutability":"mutable","name":"dispute","nameLocation":"5750:7:111","nodeType":"VariableDeclaration","scope":73786,"src":"5728:29:111","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73459_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"},"typeName":{"id":73767,"nodeType":"UserDefinedTypeName","pathNode":{"id":73766,"name":"DisputeStruct","nameLocations":["5728:13:111"],"nodeType":"IdentifierPath","referencedDeclaration":73459,"src":"5728:13:111"},"referencedDeclaration":73459,"src":"5728:13:111","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73459_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct"}},"visibility":"internal"}],"id":73772,"initialValue":{"baseExpression":{"id":73769,"name":"disputes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73465,"src":"5760:8:111","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DisputeStruct_$73459_storage_$dyn_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref[] storage ref"}},"id":73771,"indexExpression":{"id":73770,"name":"_disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73757,"src":"5769:10:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5760:20:111","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73459_storage","typeString":"struct SafeArbitrator.DisputeStruct storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5728:52:111"},{"expression":{"id":73776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73773,"name":"ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73760,"src":"5790:6:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":73774,"name":"dispute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73768,"src":"5799:7:111","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeStruct_$73459_storage_ptr","typeString":"struct SafeArbitrator.DisputeStruct storage pointer"}},"id":73775,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5807:6:111","memberName":"ruling","nodeType":"MemberAccess","referencedDeclaration":73455,"src":"5799:14:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5790:23:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73777,"nodeType":"ExpressionStatement","src":"5790:23:111"},{"expression":{"id":73780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73778,"name":"tied","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73762,"src":"5823:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":73779,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5830:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"5823:12:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73781,"nodeType":"ExpressionStatement","src":"5823:12:111"},{"expression":{"id":73784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73782,"name":"overridden","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73764,"src":"5845:10:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":73783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5858:5:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"5845:18:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":73785,"nodeType":"ExpressionStatement","src":"5845:18:111"}]},"baseFunctions":[76318],"functionSelector":"1c3db16d","implemented":true,"kind":"function","modifiers":[],"name":"currentRuling","nameLocation":"5619:13:111","parameters":{"id":73758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73757,"mutability":"mutable","name":"_disputeID","nameLocation":"5641:10:111","nodeType":"VariableDeclaration","scope":73787,"src":"5633:18:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73756,"name":"uint256","nodeType":"ElementaryTypeName","src":"5633:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5632:20:111"},"returnParameters":{"id":73765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73760,"mutability":"mutable","name":"ruling","nameLocation":"5682:6:111","nodeType":"VariableDeclaration","scope":73787,"src":"5674:14:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73759,"name":"uint256","nodeType":"ElementaryTypeName","src":"5674:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":73762,"mutability":"mutable","name":"tied","nameLocation":"5695:4:111","nodeType":"VariableDeclaration","scope":73787,"src":"5690:9:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73761,"name":"bool","nodeType":"ElementaryTypeName","src":"5690:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":73764,"mutability":"mutable","name":"overridden","nameLocation":"5706:10:111","nodeType":"VariableDeclaration","scope":73787,"src":"5701:15:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73763,"name":"bool","nodeType":"ElementaryTypeName","src":"5701:4:111","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5673:44:111"},"scope":73801,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":73796,"nodeType":"FunctionDefinition","src":"5876:66:111","nodes":[],"body":{"id":73795,"nodeType":"Block","src":"5940:2:111","nodes":[],"statements":[]},"baseFunctions":[55671],"implemented":true,"kind":"function","modifiers":[{"id":73793,"kind":"modifierInvocation","modifierName":{"id":73792,"name":"onlyOwner","nameLocations":["5930:9:111"],"nodeType":"IdentifierPath","referencedDeclaration":52817,"src":"5930:9:111"},"nodeType":"ModifierInvocation","src":"5930:9:111"}],"name":"_authorizeUpgrade","nameLocation":"5885:17:111","overrides":{"id":73791,"nodeType":"OverrideSpecifier","overrides":[],"src":"5921:8:111"},"parameters":{"id":73790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73789,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73796,"src":"5903:7:111","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73788,"name":"address","nodeType":"ElementaryTypeName","src":"5903:7:111","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5902:9:111"},"returnParameters":{"id":73794,"nodeType":"ParameterList","parameters":[],"src":"5940:0:111"},"scope":73801,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":73800,"nodeType":"VariableDeclaration","src":"5948:25:111","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"5968:5:111","scope":73801,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":73797,"name":"uint256","nodeType":"ElementaryTypeName","src":"5948:7:111","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":73799,"length":{"hexValue":"3530","id":73798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5956:2:111","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"5948:11:111","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":73420,"name":"IArbitrator","nameLocations":["736:11:111"],"nodeType":"IdentifierPath","referencedDeclaration":76325,"src":"736:11:111"},"id":73421,"nodeType":"InheritanceSpecifier","src":"736:11:111"},{"baseName":{"id":73422,"name":"UUPSUpgradeable","nameLocations":["749:15:111"],"nodeType":"IdentifierPath","referencedDeclaration":55672,"src":"749:15:111"},"id":73423,"nodeType":"InheritanceSpecifier","src":"749:15:111"},{"baseName":{"id":73424,"name":"OwnableUpgradeable","nameLocations":["766:18:111"],"nodeType":"IdentifierPath","referencedDeclaration":52903,"src":"766:18:111"},"id":73425,"nodeType":"InheritanceSpecifier","src":"766:18:111"},{"baseName":{"id":73426,"name":"ReentrancyGuardUpgradeable","nameLocations":["786:26:111"],"nodeType":"IdentifierPath","referencedDeclaration":53237,"src":"786:26:111"},"id":73427,"nodeType":"InheritanceSpecifier","src":"786:26:111"}],"canonicalName":"SafeArbitrator","contractDependencies":[],"contractKind":"contract","documentation":{"id":73419,"nodeType":"StructuredDocumentation","src":"580:129:111","text":"@title Safe Arbitrator\n @dev This is an arbitrator middleware that will allow a safe to decide on the result of disputes."},"fullyImplemented":true,"linearizedBaseContracts":[73801,53237,52903,53696,53152,55672,55325,54974,54984,76325],"name":"SafeArbitrator","nameLocation":"718:14:111","scope":73802,"usedErrors":[73475,73477,73479,73481]}],"license":"MIT"},"id":111} \ No newline at end of file diff --git a/pkg/contracts/out/SafeArbitratorTest.t.sol/SafeArbitratorTest.json b/pkg/contracts/out/SafeArbitratorTest.t.sol/SafeArbitratorTest.json index ea71a418e..f321e98f6 100644 --- a/pkg/contracts/out/SafeArbitratorTest.t.sol/SafeArbitratorTest.json +++ b/pkg/contracts/out/SafeArbitratorTest.t.sol/SafeArbitratorTest.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"DECIMALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"PERCENTAGE_SCALE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"POOL_AMOUNT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"SAFE_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"SAFE_NONCE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"SAFE_SINGLETON","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"STAKE_WITH_FEES","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"__createContract","inputs":[{"name":"bytecode","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"_contract","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"_calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"nonpayable"},{"type":"function","name":"_councilSafeWithOwner","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_safeProxyFactory","type":"address","internalType":"contract SafeProxyFactory"}],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"nonpayable"},{"type":"function","name":"_councilSafeWithOwner","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"nonpayable"},{"type":"function","name":"_createSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"nonpayable"},{"type":"function","name":"_createSafeProxyFactory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract SafeProxyFactory"}],"stateMutability":"nonpayable"},{"type":"function","name":"_nonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"allo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Allo"}],"stateMutability":"view"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"councilMember1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"councilMemberPK","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"view"},{"type":"function","name":"councilSafeOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"view"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createProposal","inputs":[],"outputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getParams","inputs":[{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"params","type":"tuple","internalType":"struct StrategyStruct2.InitializeParams","components":[{"name":"cvParams","type":"tuple","internalType":"struct StrategyStruct.CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct StrategyStruct.ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"},{"name":"initialAllowlist","type":"address[]","internalType":"address[]"}]}],"stateMutability":"pure"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"poolProfile_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"poolProfile_id1","inputs":[{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"pool_admin","type":"address","internalType":"address"},{"name":"pool_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile1_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile2_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Registry"}],"stateMutability":"view"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"councilSafe_","type":"address","internalType":"contract ISafe"},{"name":"councilMemberPK_","type":"uint256","internalType":"uint256"},{"name":"to_","type":"address","internalType":"address"},{"name":"data_","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"to_","type":"address","internalType":"address"},{"name":"value_","type":"uint256","internalType":"uint256"},{"name":"data_","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"councilSafe_","type":"address","internalType":"contract ISafe"},{"name":"councilMemberPK_","type":"uint256","internalType":"uint256"},{"name":"to_","type":"address","internalType":"address"},{"name":"data_","type":"bytes","internalType":"bytes"},{"name":"value_","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testArbitrationCost","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"testCannotCreateDisputeWithInsufficientFee","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCannotExecuteRulingFromNonSafe","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCannotExecuteRulingTwice","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCannotRuleInvalidRuling","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCreateDispute","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCurrentRuling","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testExecuteRuling","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testSetArbitrationFee","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract GV2ERC20"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x600c8054600160ff199182168117909255601e8054909116821790556080908152610120604052602e60c081815260a091620265f460e03990528051602690815560208201516027906200005490826200013d565b50506001602c8190556000602d55603480546001600160a01b03199081169092179055603580549091166003179055503480156200009157600080fd5b5062000209565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000c357607f821691505b602082108103620000e457634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200013857600081815260208120601f850160051c81016020861015620001135750805b601f850160051c820191505b8181101562000134578281556001016200011f565b5050505b505050565b81516001600160401b0381111562000159576200015962000098565b62000171816200016a8454620000ae565b84620000ea565b602080601f831160018114620001a95760008415620001905750858301515b600019600386901b1c1916600185901b17855562000134565b600085815260208120601f198616915b82811015620001da57888601518255948401946001909101908401620001b9565b5085821015620001f95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b620263da806200021a6000396000f3fe60806040523480156200001157600080fd5b50600436106200044d5760003560e01c8062b1fad71462000452578063023a6f431462000474578063030e4006146200048d5780630522b7db14620004975780630688b13514620004ab57806308c24f9f14620004b55780630a9254e414620004cc5780630f166ad414620004d6578063174eedde14620004dd578063176effb314620004e5578063180fd87f14620004f75780631854036114620005105780631ae726d914620005195780631b96dce614620005305780631d8fcc10146200053a5780631e7bcb2e14620005435780631ed7831c146200054d5780632ade388014620005665780632e0f2625146200057f5780633554642a146200058f57806337d1c40414620005a1578063392f37e914620005b857806339f56f7f14620005d25780633e5e3c2314620005db5780633f26479e14620005e55780633f7286f414620005ef57806349ef42c114620005f95780634bf4ba211462000603578063587c1243146200060d5780635aff599914620006175780635d1222aa146200062157806366d003ac146200062b57806366d9a9a014620006355780636a38dd0a146200064e5780636c53db9a14620006585780636db52510146200066c5780636f6dfab1146200068357806370a32944146200068d57806374d9284e14620004dd578063758311e41462000697578063759c9a8614620006a15780637658524d14620006ab57806379e62d0d14620006b55780637b10399914620006bf5780637b2edf3214620006c95780637cbe79ed14620006d35780638292636f14620006dd578063829e423f14620004dd57806385226c8114620006e757806385294f181462000700578063896546a114620007175780638c7408c414620004dd5780638e0d1a50146200072b5780638e3c24931462000735578063916a17c6146200073f57806394d181e31462000749578063985a0b941462000753578063a0cf0aea146200075d578063a407c67a1462000779578063a41cfc991462000783578063aa3744bd146200078d578063b5508aa91462000797578063ba414fa614620007a1578063bb0504cd14620007bc578063beda3db314620007c6578063c1f2a64114620007d8578063c36e336b14620007ef578063c5d7d73b1462000815578063c73b09e71462000827578063caa12add1462000831578063d1e82b58146200084d578063d1f2cd881462000857578063d23727ed1462000861578063d5bee9f5146200087d578063d6d8428d1462000887578063da4bf0871462000891578063dac4eb16146200089b578063dac770b314620008a5578063e070e0ab14620008af578063e20c9f7114620008c6578063e99ce91114620008d0578063ec9ec24814620008e7578063ef0d790f14620008f1578063f69d511f14620008fb578063f8cbf34f1462000912578063fa7626d4146200091c578063fc0c546a146200092a578063fd325c60146200093e578063fe24a3cb1462000947575b600080fd5b6200045c62000951565b6040516200046b919062006042565b60405180910390f35b6200048b6200048536600462006166565b62000988565b005b6200045c6200099e565b602a546200045c906001600160a01b031681565b6200045c620009d6565b6200045c620004c6366004620061d9565b62000a05565b6200048b62000cfa565b306200045c565b60006200045c565b6020546001600160a01b03166200045c565b6200050162001cd4565b6040519081526020016200046b565b60235462000501565b6200045c6200052a36600462006217565b6200207a565b6200045c6200208b565b62000501600381565b6200045c620020be565b62000557620020f3565b6040516200046b91906200627d565b6200057062002157565b6040516200046b91906200633f565b62000501670de0b6b3a764000081565b6024546001600160a01b03166200045c565b62000501620005b2366004620063c0565b620022a5565b620005c26200236c565b6040516200046b929190620064a9565b60215462000501565b620005576200240b565b6200050161271081565b620005576200246d565b6200045c620024cf565b6200055762002536565b6200045c62002559565b6200045c6200258e565b62000501602d5481565b6200045c620025c3565b6200063f620025f1565b6040516200046b9190620064c4565b6200045c620026db565b6029546200045c906001600160a01b031681565b6200048b6200067d3660046200657b565b6200270d565b6200048b62002730565b6200055762002a1e565b6200048b62002ac0565b6200045c62002de7565b62000501602c5481565b6200055762002e18565b6200045c62002e87565b6200045c62002e9b565b6200045c62002ed0565b6200048b62002eff565b620006f1620030ff565b6040516200046b9190620065d9565b620005016200071136600462006684565b620031d9565b602b546200045c906001600160a01b031681565b6200045c6200320a565b6200045c62003239565b6200063f6200326e565b6200048b62003358565b6200048b62003655565b6200045c73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b62000557620038c2565b6200048b62003931565b6200045c62003afa565b620006f162003b29565b620007ab62003c03565b60405190151581526020016200046b565b6200045c62003cb8565b6200050169032d26d12e980b60000081565b6200048b620007e936600462006739565b62003d1f565b6200080662000800366004620067f9565b62003df3565b6040516200046b9190620069ab565b6022546001600160a01b03166200045c565b6200048b62003f5f565b6200045c73dd4bda7bcda544d6da2aea8ab8b0e63d2f6dc73781565b6200045c62003fed565b6200045c62004022565b6200045c73bba817f97f133b87b9b7f1fc0f2c56e9f68d2edf81565b6200045c62004055565b6200045c62004085565b6200045c62004094565b6200045c620040c6565b6200045c620040f9565b62000501620008c0366004620069c0565b620045b3565b62000557620047d8565b62000501620008e136600462006a89565b6200483a565b6200048b620048dc565b6200045c62004c72565b6200045c6200090c36600462006abc565b62004caa565b6200048b62004d20565b601e54620007ab9060ff1681565b6033546200045c906001600160a01b031681565b601f5462000501565b6200050162005036565b6000620009836040518060400160405280600d81526020016c706f6f6c5f6d616e616765723160981b8152506200507c565b905090565b6200099884848484600062003d1f565b50505050565b60006200098360405180604001604052806013815260200172383937b334b63298afb737ba20a6b2b6b132b960691b8152506200507c565b6000620009836040518060400160405280600a8152602001693932b1b4b834b2b73a1960b11b8152506200507c565b602a546000906001600160a01b031662000ce6576001600160a01b03821662000aec57600062000a34620024cf565b905062000a4062003cb8565b604051631688f0b960e01b81526001600160a01b0383811660048301526060602483015260006064830181905260036044840152929550851690631688f0b9906084016020604051808303816000875af115801562000aa3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ac9919062006b01565b602a80546001600160a01b0319166001600160a01b039290921691909117905550505b602a54604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600f60448201526e31b7bab731b4b629b0b332a0b2323960891b60648201526000805160206202098e8339815191529063c657c71890608401600060405180830381600087803b15801562000b6657600080fd5b505af115801562000b7b573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03871660048201526024810191909152601060448201526f31b7bab731b4b629b0b332a7bbb732b960811b60648201526000805160206202098e833981519152925063c657c7189150608401600060405180830381600087803b15801562000bf957600080fd5b505af115801562000c0e573d6000803e3d6000fd5b50600092506001915062000c1f9050565b60405190808252806020026020018201604052801562000c49578160200160208202803683370190505b509050838160008151811062000c635762000c6362006b21565b6001600160a01b039283166020918202929092010152602a5460405163b63e800d60e01b815291169063b63e800d9062000cb0908490600190600090819081908190819060040162006b37565b600060405180830381600087803b15801562000ccb57600080fd5b505af115801562000ce0573d6000803e3d6000fd5b50505050505b50602a546001600160a01b03165b92915050565b62000d0462005090565b62000d1862000d1262002e87565b62005655565b6000805160206202098e8339815191526306447d5662000d3762002ed0565b6040518263ffffffff1660e01b815260040162000d55919062006042565b600060405180830381600087803b15801562000d7057600080fd5b505af115801562000d85573d6000803e3d6000fd5b5050505062000d9362004085565b60405163473480c360e11b8152600060048201526001600160a01b039190911690638e69018690602401600060405180830381600087803b15801562000dd857600080fd5b505af115801562000ded573d6000803e3d6000fd5b5050505062000dfb62004085565b6040516307aa7e2560e51b8152600060048201526001600160a01b03919091169063f54fc4a090602401600060405180830381600087803b15801562000e4057600080fd5b505af115801562000e55573d6000803e3d6000fd5b505050506000805160206202638583398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000ea757600080fd5b505af115801562000ebc573d6000803e3d6000fd5b50505050601260405162000ed09062005e3f565b6060808252600a908201526926b7b1b5902a37b5b2b760b11b608082015260a060208201819052600390820152624d544b60e81b60c082015260ff909116604082015260e001604051809103906000f08015801562000f33573d6000803e3d6000fd5b50603380546001600160a01b0319166001600160a01b039290921691821790556340c10f193062000f6f6003683635c9adc5dea0000062006bb4565b6040518363ffffffff1660e01b815260040162000f8e92919062006bd7565b600060405180830381600087803b15801562000fa957600080fd5b505af115801562000fbe573d6000803e3d6000fd5b50506033546001600160a01b031691506340c10f19905062000fdf6200320a565b62000ff56003683635c9adc5dea0000062006bb4565b6040518363ffffffff1660e01b81526004016200101492919062006bd7565b600060405180830381600087803b1580156200102f57600080fd5b505af115801562001044573d6000803e3d6000fd5b50506033546001600160a01b031691506340c10f1990506006620010736003683635c9adc5dea0000062006bb4565b6040518363ffffffff1660e01b81526004016200109292919062006bd7565b600060405180830381600087803b158015620010ad57600080fd5b505af1158015620010c2573d6000803e3d6000fd5b50506033546001600160a01b0316915063095ea7b39050620010e362004085565b685150ae84a8cdf000006040518363ffffffff1660e01b81526004016200110c92919062006bd7565b6020604051808303816000875af11580156200112c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001152919062006c01565b506000805160206202098e8339815191526306447d566200117262002ed0565b6040518263ffffffff1660e01b815260040162001190919062006042565b600060405180830381600087803b158015620011ab57600080fd5b505af1158015620011c0573d6000803e3d6000fd5b50505050620011ce62004085565b6001600160a01b031663f2fde38b306040518263ffffffff1660e01b8152600401620011fb919062006042565b600060405180830381600087803b1580156200121657600080fd5b505af11580156200122b573d6000803e3d6000fd5b505050506000805160206202638583398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200127d57600080fd5b505af115801562001292573d6000803e3d6000fd5b50506034546040516303223eab60e11b81526000805160206202098e83398151915293506306447d569250620012d5916001600160a01b03169060040162006042565b600060405180830381600087803b158015620012f057600080fd5b505af115801562001305573d6000803e3d6000fd5b50505050604051620013179062005e4d565b604051809103906000f08015801562001334573d6000803e3d6000fd5b5060408051671bc16d674ec8000060248083019190915282518083039091018152604490910182526020810180516001600160e01b031663fe4b84df60e01b1790529051620013839062005e5b565b6200139092919062006c1f565b604051809103906000f080158015620013ad573d6000803e3d6000fd5b50602f60006101000a8154816001600160a01b0302191690836001600160a01b031602179055506000805160206202638583398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200142257600080fd5b505af115801562001437573d6000803e3d6000fd5b505050506200144562005e69565b6200144f62004085565b6001600160a01b03908116825260335416602080830191909152670de0b6b3a7640000604080840191909152600160608401523060c08401528051808201909152602680548252602780549293919291840191620014ad9062006c45565b80601f0160208091040260200160405190810160405280929190818152602001828054620014db9062006c45565b80156200152c5780601f1062001500576101008083540402835291602001916200152c565b820191906000526020600020905b8154815290600101906020018083116200150e57829003601f168201915b5050509190925250505060e082015262001545620040f9565b6001600160a01b0316610100820152604051620015629062005f15565b604051809103906000f0801580156200157f573d6000803e3d6000fd5b50603454604051630a2ca2bd60e11b916001600160a01b031690600290620015a79062005f23565b604051809103906000f080158015620015c4573d6000803e3d6000fd5b50604051620015d39062005f31565b604051809103906000f080158015620015f0573d6000803e3d6000fd5b50604051620015ff9062005f3f565b604051809103906000f0801580156200161c573d6000803e3d6000fd5b506040516001600160a01b039586166024820152938516604485015291841660648401528316608483015290911660a482015260c40160408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051620016919062005e5b565b6200169e92919062006c1f565b604051809103906000f080158015620016bb573d6000803e3d6000fd5b506001600160a01b031663beb331a3826040518263ffffffff1660e01b8152600401620016e9919062006c9c565b6020604051808303816000875af115801562001709573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200172f919062006b01565b603280546001600160a01b0319166001600160a01b039290921691821790556040805160208101909152600091829163579eb7e59073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9062001801908490600190600290806200179d670de0b6b3a764000060c862006da8565b90526040805160c08101909152602f546001600160a01b0316815260208101620017c6620040f9565b6001600160a01b0316815260200166470de4df8200008152602001662386f26fc1000081526020016001815260200161012c81525062003df3565b60266040518463ffffffff1660e01b8152600401620018239392919062006e83565b60408051808303816000875af115801562001842573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001868919062006ebd565b6031829055603080546001600160a01b0319166001600160a01b03831617905590925090506000805160206202098e8339815191526306447d56620018ac6200320a565b6040518263ffffffff1660e01b8152600401620018ca919062006042565b600060405180830381600087803b158015620018e557600080fd5b505af1158015620018fa573d6000803e3d6000fd5b50506032546030546040516200196d94506001600160a01b03928316935060009263223e547960e01b92620019359291169060240162006042565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526200270d565b6000805160206202638583398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620019bb57600080fd5b505af1158015620019d0573d6000803e3d6000fd5b50505050603260009054906101000a90046001600160a01b03166001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001a28573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001a4e919062006b01565b6032546001600160a01b039182169163095ea7b39116606462001a7360018062006ee5565b62001a8790670de0b6b3a764000062006da8565b62001a93919062006bb4565b62001aa790670de0b6b3a764000062006ee5565b6040518363ffffffff1660e01b815260040162001ac692919062006bd7565b6020604051808303816000875af115801562001ae6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b0c919062006c01565b50603260009054906101000a90046001600160a01b03166001600160a01b0316633517aa7d6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562001b5e57600080fd5b505af115801562001b73573d6000803e3d6000fd5b50505050603060009054906101000a90046001600160a01b03166001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562001bc857600080fd5b505af115801562001bdd573d6000803e3d6000fd5b505060405163c88a5e6d60e01b81526000805160206202098e833981519152925063c88a5e6d915062001c2190309069032d26d12e980b6000009060040162006bd7565b600060405180830381600087803b15801562001c3c57600080fd5b505af115801562001c51573d6000803e3d6000fd5b5050505062001c5f62004085565b6040516316b35beb60e21b81526004810184905269032d26d12e980b600000602482018190526001600160a01b039290921691635acd6fac916044016000604051808303818588803b15801562001cb557600080fd5b505af115801562001cca573d6000803e3d6000fd5b5050505050505050565b600080670de0b6b3a7640000905060006040518060a00160405280603154815260200162001d016200320a565b6001600160a01b0316815260200183815260200173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316815260200160266040518060400160405290816000820154815260200160018201805462001d619062006c45565b80601f016020809104026020016040519081016040528092919081815260200182805462001d8f9062006c45565b801562001de05780601f1062001db45761010080835404028352916020019162001de0565b820191906000526020600020905b81548152906001019060200180831162001dc257829003601f168201915b505050505081525050815250905060008160405160200162001e03919062006efb565b60408051601f1981840301815282825260305463059351cd60e01b845291519093506000926001600160a01b039092169163059351cd9160048083019260c09291908290030181865afa15801562001e5f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001e85919062006f4e565b505050925050506000805160206202638583398151915260001c6001600160a01b031663c88a5e6d62001eb76200320a565b836040518363ffffffff1660e01b815260040162001ed792919062006bd7565b600060405180830381600087803b15801562001ef257600080fd5b505af115801562001f07573d6000803e3d6000fd5b506000805160206202098e83398151915292506306447d56915062001f2d90506200320a565b6040518263ffffffff1660e01b815260040162001f4b919062006042565b600060405180830381600087803b15801562001f6657600080fd5b505af115801562001f7b573d6000803e3d6000fd5b5050505062001f8962004085565b6001600160a01b031663075c0e9c82603154856040518463ffffffff1660e01b815260040162001fbb929190620064a9565b60206040518083038185885af115801562001fda573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062002001919062006b01565b6001600160a01b031694506000805160206202638583398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200205a57600080fd5b505af11580156200206f573d6000803e3d6000fd5b505050505050505090565b600062000cf482620004c662003cb8565b6000620009836040518060400160405280600e81526020016d383937b334b632992fb7bbb732b960911b8152506200507c565b6000620009836040518060400160405280601081526020016f70726f66696c65315f6d656d6265723160801b8152506200507c565b606060168054806020026020016040519081016040528092919081815260200182805480156200214d57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116200212e575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b828210156200229c57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562002284578382906000526020600020018054620021f09062006c45565b80601f01602080910402602001604051908101604052809291908181526020018280546200221e9062006c45565b80156200226f5780601f1062002243576101008083540402835291602001916200226f565b820191906000526020600020905b8154815290600101906020018083116200225157829003601f168201915b505050505081526020019060010190620021ce565b5050505081525050815260200190600101906200217b565b50505050905090565b60285460009062002360576040805180820182526001815281518083018352600c81526b506f6f6c50726f66696c653160a01b6020828101919091528201529051633a92f65f60e01b81526001600160a01b03861691633a92f65f9162002316916002918890889060040162006fb1565b6020604051808303816000875af115801562002336573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200235c91906200702a565b6028555b506028545b9392505050565b6026805460278054919291620023829062006c45565b80601f0160208091040260200160405190810160405280929190818152602001828054620023b09062006c45565b8015620024015780601f10620023d55761010080835404028352916020019162002401565b820191906000526020600020905b815481529060010190602001808311620023e357829003601f168201915b5050505050905082565b606060188054806020026020016040519081016040528092919081815260200182805480156200214d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200212e575050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156200214d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200212e575050505050905090565b6000620024f073dd4bda7bcda544d6da2aea8ab8b0e63d2f6dc737620057f8565b156200250f575073dd4bda7bcda544d6da2aea8ab8b0e63d2f6dc73790565b6200098360405180615a0001604052806159d78152602001620209ae6159d7913962004caa565b604080516002808252606080830184529260208301908036833701905050905090565b6000620009836040518060400160405280601081526020016f70726f66696c65325f6d656d6265723160801b8152506200507c565b6000620009836040518060400160405280601081526020016f726563697069656e744164647265737360801b8152506200507c565b600062000983604051806040016040528060098152602001681c9958da5c1a595b9d60ba1b8152506200507c565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156200229c5760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015620026c257602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620026835790505b5050505050815250508152602001906001019062002615565b6000620009836040518060400160405280600d81526020016c3837b7b62fb6b0b730b3b2b91960991b8152506200507c565b602954602c546200272b916001600160a01b03169085848662003d1f565b505050565b60006200273c62001cd4565b60355460405163c88a5e6d60e01b81529192506000805160206202098e8339815191529163c88a5e6d916200278a916001600160a01b0390911690678ac7230489e800009060040162006bd7565b600060405180830381600087803b158015620027a557600080fd5b505af1158015620027ba573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206202098e833981519152935063ca669fa79250620027fd916001600160a01b03169060040162006042565b600060405180830381600087803b1580156200281857600080fd5b505af11580156200282d573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62002861671bc16d674ec80000662386f26fc1000062006ee5565b846040518363ffffffff1660e01b815260040162002880919062007044565b60206040518083038185885af11580156200289f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190620028c691906200702a565b604051630618f58760e51b81529091506000805160206202098e8339815191529063c31eb0e09062002904906309efd47960e41b906004016200706a565b600060405180830381600087803b1580156200291f57600080fd5b505af115801562002934573d6000803e3d6000fd5b506000805160206202098e833981519152925063ca669fa791506200295a9050620040f9565b6040518263ffffffff1660e01b815260040162002978919062006042565b600060405180830381600087803b1580156200299357600080fd5b505af1158015620029a8573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d37569350620029e692869260049291169082016200707f565b600060405180830381600087803b15801562002a0157600080fd5b505af115801562002a16573d6000803e3d6000fd5b505050505050565b6040805160028082526060808301845292600092919060208301908036833701905050905062002a4d620020be565b8160008151811062002a635762002a6362006b21565b60200260200101906001600160a01b031690816001600160a01b03168152505062002a8d62002e9b565b8160018151811062002aa35762002aa362006b21565b6001600160a01b0390921660209283029190910190910152919050565b600062002acc62001cd4565b60355460405163c88a5e6d60e01b81529192506000805160206202098e8339815191529163c88a5e6d9162002b1a916001600160a01b0390911690678ac7230489e800009060040162006bd7565b600060405180830381600087803b15801562002b3557600080fd5b505af115801562002b4a573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206202098e833981519152935063ca669fa7925062002b8d916001600160a01b03169060040162006042565b600060405180830381600087803b15801562002ba857600080fd5b505af115801562002bbd573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62002bf1671bc16d674ec80000662386f26fc1000062006ee5565b846040518363ffffffff1660e01b815260040162002c10919062007044565b60206040518083038185885af115801562002c2f573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062002c5691906200702a565b90506000805160206202098e83398151915263ca669fa762002c77620040f9565b6040518263ffffffff1660e01b815260040162002c95919062006042565b600060405180830381600087803b15801562002cb057600080fd5b505af115801562002cc5573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d3756935062002d049286926002929116906004016200707f565b600060405180830381600087803b15801562002d1f57600080fd5b505af115801562002d34573d6000803e3d6000fd5b5050602f5460405163564a565d60e01b815260048101859052600093508392506001600160a01b039091169063564a565d90602401600060405180830381865afa15801562002d87573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002db19190810190620070d4565b955095505050505062002dc682600262005807565b6200099881600181111562002ddf5762002ddf62006870565b600162005807565b6000620009836040518060400160405280600c81526020016b1b9bd7dc9958da5c1a595b9d60a21b8152506200507c565b6040805160028082526060808301845292600092919060208301908036833701905050905062002e4762000951565b8160008151811062002e5d5762002e5d62006b21565b60200260200101906001600160a01b031690816001600160a01b03168152505062002a8d620026db565b601e5461010090046001600160a01b031690565b6000620009836040518060400160405280601081526020016f383937b334b63298afb6b2b6b132b91960811b8152506200507c565b6000620009836040518060400160405280600a81526020016930b63637afb7bbb732b960b11b8152506200507c565b60355460405163c88a5e6d60e01b81526000805160206202098e8339815191529163c88a5e6d9162002f48916001600160a01b031690678ac7230489e800009060040162006bd7565b600060405180830381600087803b15801562002f6357600080fd5b505af115801562002f78573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206202098e833981519152935063ca669fa7925062002fbb916001600160a01b03169060040162006042565b600060405180830381600087803b15801562002fd657600080fd5b505af115801562002feb573d6000803e3d6000fd5b5050604051630618f58760e51b81526000805160206202098e833981519152925063c31eb0e091506200302a9063e4216b3160e01b906004016200706a565b600060405180830381600087803b1580156200304557600080fd5b505af11580156200305a573d6000803e3d6000fd5b5050602f546001600160a01b0316915063c13517e19050620030866001671bc16d674ec8000062007174565b60036040518363ffffffff1660e01b8152600401620030b691815260406020820181905260009082015260600190565b60206040518083038185885af1158015620030d5573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190620030fc91906200702a565b50565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156200229c578382906000526020600020018054620031459062006c45565b80601f0160208091040260200160405190810160405280929190818152602001828054620031739062006c45565b8015620031c45780601f106200319857610100808354040283529160200191620031c4565b820191906000526020600020905b815481529060010190602001808311620031a657829003601f168201915b50505050508152602001906001019062003123565b6000620031fd89898989898989604051806020016040528060008152508a620045b3565b9998505050505050505050565b6000620009836040518060400160405280600a8152602001693837b7b62fb0b236b4b760b11b8152506200507c565b6000620009836040518060400160405280601081526020016f383937b334b632992fb6b2b6b132b91960811b8152506200507c565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156200229c5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200333f57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620033005790505b5050505050815250508152602001906001019062003292565b60006200336462001cd4565b60355460405163c88a5e6d60e01b81529192506000805160206202098e8339815191529163c88a5e6d91620033b2916001600160a01b0390911690678ac7230489e800009060040162006bd7565b600060405180830381600087803b158015620033cd57600080fd5b505af1158015620033e2573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206202098e833981519152935063ca669fa7925062003425916001600160a01b03169060040162006042565b600060405180830381600087803b1580156200344057600080fd5b505af115801562003455573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62003489671bc16d674ec80000662386f26fc1000062006ee5565b846040518363ffffffff1660e01b8152600401620034a8919062007044565b60206040518083038185885af1158015620034c7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190620034ee91906200702a565b603554602954604080516001600160a01b0393841660248201529290911660448084019190915281518084039091018152606490920181526020820180516001600160e01b031663d0774c9960e01b1790525163f28dceb360e01b81529192506000805160206202098e8339815191529163f28dceb39162003573916004016200718a565b600060405180830381600087803b1580156200358e57600080fd5b505af1158015620035a3573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206202098e833981519152935063ca669fa79250620035e6916001600160a01b03169060040162006042565b600060405180830381600087803b1580156200360157600080fd5b505af115801562003616573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d37569350620029e69286926002929116906004016200707f565b60006200366162001cd4565b60355460405163c88a5e6d60e01b81529192506000805160206202098e8339815191529163c88a5e6d91620036af916001600160a01b0390911690678ac7230489e800009060040162006bd7565b600060405180830381600087803b158015620036ca57600080fd5b505af1158015620036df573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206202098e833981519152935063ca669fa7925062003722916001600160a01b03169060040162006042565b600060405180830381600087803b1580156200373d57600080fd5b505af115801562003752573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62003786671bc16d674ec80000662386f26fc1000062006ee5565b846040518363ffffffff1660e01b8152600401620037a5919062007044565b60206040518083038185885af1158015620037c4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190620037eb91906200702a565b602f5460405163564a565d60e01b8152600481018390529192506000918291829182916001600160a01b03169063564a565d90602401600060405180830381865afa1580156200383f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620038699190810190620070d4565b955095509550955050506200388084600362005807565b6200389483671bc16d674ec8000062005807565b620038a182600062005807565b62002a16816001811115620038ba57620038ba62006870565b600062005807565b60408051600280825260608083018452926000929190602083019080368337019050509050620038f162002559565b8160008151811062003907576200390762006b21565b60200260200101906001600160a01b031690816001600160a01b03168152505062002a8d62003239565b6034546040516303223eab60e11b81526000805160206202098e833981519152916306447d569162003970916001600160a01b03169060040162006042565b600060405180830381600087803b1580156200398b57600080fd5b505af1158015620039a0573d6000803e3d6000fd5b5050602f546040516317a9ed3f60e21b815266470de4df8200006004820181905293506001600160a01b039091169150635ea7b4fc90602401600060405180830381600087803b158015620039f457600080fd5b505af115801562003a09573d6000803e3d6000fd5b5050602f5460405163f7434ea960e01b8152602060048201526000602482015262003a9093506001600160a01b03909116915063f7434ea990604401602060405180830381865afa15801562003a63573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003a8991906200702a565b8262005807565b6000805160206202638583398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562003ade57600080fd5b505af115801562003af3573d6000803e3d6000fd5b5050505050565b6000620009836040518060400160405280600a815260200169726563697069656e743160b01b8152506200507c565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156200229c57838290600052602060002001805462003b6f9062006c45565b80601f016020809104026020016040519081016040528092919081815260200182805462003b9d9062006c45565b801562003bee5780601f1062003bc25761010080835404028352916020019162003bee565b820191906000526020600020905b81548152906001019060200180831162003bd057829003601f168201915b50505050508152602001906001019062003b4d565b60085460009060ff161562003c1c575060085460ff1690565b604051630667f9d760e41b81526000906000805160206202098e8339815191529063667f9d709062003c6d9060008051602062026385833981519152906519985a5b195960d21b9060040162006bd7565b602060405180830381865afa15801562003c8b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003cb191906200702a565b1415905090565b600062003cd973bba817f97f133b87b9b7f1fc0f2c56e9f68d2edf620057f8565b1562003cf8575073bba817f97f133b87b9b7f1fc0f2c56e9f68d2edf90565b6200098360405180610f000160405280610ede81526020016201fab0610ede913962004caa565b606062003d2f848488886200586b565b905062002a16866001600160a01b0316636a7612028685876000806000806000808c6040518b63ffffffff1660e01b815260040162003d789a99989796959493929190620071b2565b6020604051808303816000875af115801562003d98573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003dbe919062006c01565b60405180604001604052806016815260200175195e1958d51c985b9cd858dd1a5bdb8819985a5b195960521b81525062005942565b62003dfd62005f4d565b62003e10670de0a46bc207d80062005978565b81516040015262003e296702c68af0bb14000062005978565b81515262003e3e66038d7ea4c6800062005978565b815160209081019190915281516702c68af0bb1400006060909101526001600160a01b03871660a0830152810185600281111562003e805762003e8062006870565b9081600281111562003e965762003e9662006870565b9052506040810184600381111562003eb25762003eb262006870565b9081600381111562003ec85762003ec862006870565b905250825160000362003eed5762003eea670de0b6b3a764000060c862006da8565b83525b6060810183905260808101829052604080516001808252818301909252906020808301908036833750505060e08201819052805160009190829062003f365762003f3662006b21565b60200260200101906001600160a01b031690816001600160a01b03168152505095945050505050565b602f5460405163f7434ea960e01b815260206004820152600060248201819052916001600160a01b03169063f7434ea990604401602060405180830381865afa15801562003fb1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003fd791906200702a565b9050620030fc81671bc16d674ec8000062005807565b6000620009836040518060400160405280601081526020016f3837b7b62fb737ba20a6b0b730b3b2b960811b8152506200507c565b6000620009836040518060400160405280600e81526020016d383937b334b63298afb7bbb732b960911b8152506200507c565b6000620009836040518060400160405280600b81526020016a1c985b991bdb4818da185960aa1b8152506200507c565b6025546001600160a01b031690565b6000620009836040518060400160405280600d81526020016c616c6c6f5f747265617375727960981b8152506200507c565b6000620009836040518060400160405280600e81526020016d3932b3b4b9ba393cafb7bbb732b960911b8152506200507c565b602c546040516001625e79b760e01b031981526000916000805160206202098e8339815191529163ffa1864991620041379160040190815260200190565b602060405180830381865afa15801562004155573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200417b919062006b01565b602b80546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600e60448201526d636f756e63696c4d656d6265723160901b60648201526000805160206202098e8339815191529063c657c71890608401600060405180830381600087803b1580156200420857600080fd5b505af11580156200421d573d6000803e3d6000fd5b50506029546001600160a01b03169150620045a390505760006200424062003cb8565b90506200424c620024cf565b602e80546001600160a01b0319166001600160a01b03928316179055604080516318caf8e360e31b815291831660048301526024820152601060448201526f5361666550726f7879466163746f727960801b60648201526000805160206202098e8339815191529063c657c71890608401600060405180830381600087803b158015620042d857600080fd5b505af1158015620042ed573d6000803e3d6000fd5b5050602e54604080518082018252600181526000602082018190529151631688f0b960e01b81529194506001600160a01b038087169450631688f0b9936200433f93911691906003906004016200723c565b6020604051808303816000875af11580156200435f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004385919062006b01565b602980546001600160a01b0319166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600b60448201526a636f756e63696c5361666560a81b60648201529091506000805160206202098e8339815191529063c657c71890608401600060405180830381600087803b1580156200441157600080fd5b505af115801562004426573d6000803e3d6000fd5b506000925060039150620044379050565b60405190808252806020026020018201604052801562004461578160200160208202803683370190505b50602b5481519192506001600160a01b031690829060009062004488576200448862006b21565b60200260200101906001600160a01b031690816001600160a01b03168152505073f39fd6e51aad88f6f4ce6ab8827279cfffb9226681600181518110620044d357620044d362006b21565b60200260200101906001600160a01b031690816001600160a01b0316815250507370997970c51812dc3a010c7d01b50e0d17dc79c8816002815181106200451e576200451e62006b21565b6001600160a01b03928316602091820292909201015260295460405163b63e800d60e01b815291169063b63e800d906200456b908490600190600090819081908190819060040162006b37565b600060405180830381600087803b1580156200458657600080fd5b505af11580156200459b573d6000803e3d6000fd5b505050505050505b506029546001600160a01b031690565b600080620045c5898787878762003df3565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811062004602576200460262006b21565b60200260200101906001600160a01b031690816001600160a01b031681525050338160018151811062004639576200463962006b21565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90891615620046705750875b8c6001600160a01b031663e1007d4a620046958c6200468e6200320a565b86620022a5565b8e86604051602001620046a99190620069ab565b6040516020818303038152906040528560006026896040518863ffffffff1660e01b8152600401620046e2979695949392919062007272565b6020604051808303816000875af115801562004702573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200472891906200702a565b93508760028111156200473f576200473f62006870565b8c6001600160a01b031663351d9f966040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200477e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620047a49190620072e3565b6002811115620047b857620047b862006870565b14620047c857620047c862007303565b5050509998505050505050505050565b606060158054806020026020016040519081016040528092919081815260200182805480156200214d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200212e575050505050905090565b600084816200485c6200485562989680608087901b62006bb4565b836200598b565b905060806001607f1b62004874866298968062007174565b6200488484600160801b62007174565b62004893629896808a62006da8565b6200489f919062006da8565b620048ab919062006bb4565b620048b7898562006da8565b620048c3919062006ee5565b620048cf919062006ee5565b901c979650505050505050565b6000620048e862001cd4565b60355460405163c88a5e6d60e01b81529192506000805160206202098e8339815191529163c88a5e6d9162004936916001600160a01b0390911690678ac7230489e800009060040162006bd7565b600060405180830381600087803b1580156200495157600080fd5b505af115801562004966573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206202098e833981519152935063ca669fa79250620049a9916001600160a01b03169060040162006042565b600060405180830381600087803b158015620049c457600080fd5b505af1158015620049d9573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62004a0d671bc16d674ec80000662386f26fc1000062006ee5565b846040518363ffffffff1660e01b815260040162004a2c919062007044565b60206040518083038185885af115801562004a4b573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062004a7291906200702a565b90506000805160206202098e83398151915263ca669fa762004a93620040f9565b6040518263ffffffff1660e01b815260040162004ab1919062006042565b600060405180830381600087803b15801562004acc57600080fd5b505af115801562004ae1573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d3756935062004b209286926002929116906004016200707f565b600060405180830381600087803b15801562004b3b57600080fd5b505af115801562004b50573d6000803e3d6000fd5b5050604051630618f58760e51b81526000805160206202098e833981519152925063c31eb0e0915062004b8f9063bda17d9560e01b906004016200706a565b600060405180830381600087803b15801562004baa57600080fd5b505af115801562004bbf573d6000803e3d6000fd5b506000805160206202098e833981519152925063ca669fa7915062004be59050620040f9565b6040518263ffffffff1660e01b815260040162004c03919062006042565b600060405180830381600087803b15801562004c1e57600080fd5b505af115801562004c33573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d37569350620029e69286926001929116906004016200707f565b60006200098360405180604001604052806013815260200172383937b334b632992fb737ba20a6b2b6b132b960691b8152506200507c565b602d80546000918291908262004cc08362007319565b9190505550602d548351602085016000f5915050803f8062004d1a5760405162461bcd60e51b815260206004820152600e60248201526d1b081b9bdd0819195c1b1bde595960921b60448201526064015b60405180910390fd5b50919050565b600062004d2c62001cd4565b60355460405163c88a5e6d60e01b81529192506000805160206202098e8339815191529163c88a5e6d9162004d7a916001600160a01b0390911690678ac7230489e800009060040162006bd7565b600060405180830381600087803b15801562004d9557600080fd5b505af115801562004daa573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206202098e833981519152935063ca669fa7925062004ded916001600160a01b03169060040162006042565b600060405180830381600087803b15801562004e0857600080fd5b505af115801562004e1d573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62004e51671bc16d674ec80000662386f26fc1000062006ee5565b846040518363ffffffff1660e01b815260040162004e70919062007044565b60206040518083038185885af115801562004e8f573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062004eb691906200702a565b90506000805160206202098e83398151915263ca669fa762004ed7620040f9565b6040518263ffffffff1660e01b815260040162004ef5919062006042565b600060405180830381600087803b15801562004f1057600080fd5b505af115801562004f25573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d3756935062004f649286926002929116906004016200707f565b600060405180830381600087803b15801562004f7f57600080fd5b505af115801562004f94573d6000803e3d6000fd5b5050602f54604051631c3db16d60e01b8152600481018590526000935083925082916001600160a01b031690631c3db16d90602401606060405180830381865afa15801562004fe7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200500d919062007335565b9250925092506200502083600262005807565b6200502b8262005a3f565b62003af38162005a3f565b60646200504560018062006ee5565b6200505990670de0b6b3a764000062006da8565b62005065919062006bb4565b6200507990670de0b6b3a764000062006ee5565b81565b6000620050898262005a9c565b5092915050565b6200509a62005bb1565b6000805160206202098e83398151915263ca669fa7620050b96200320a565b6040518263ffffffff1660e01b8152600401620050d7919062006042565b600060405180830381600087803b158015620050f257600080fd5b505af115801562005107573d6000803e3d6000fd5b50505050601e60019054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b815250815250620051756200320a565b6200517f62002e18565b6040518563ffffffff1660e01b8152600401620051a0949392919062006fb1565b6020604051808303816000875af1158015620051c0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620051e691906200702a565b601f819055601e54604051628a678560e11b8152600481019290925261010090046001600160a01b031690630114cf0a90602401600060405180830381865afa15801562005238573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200526291908101906200740e565b60a00151602080546001600160a01b0319166001600160a01b039092169190911790556000805160206202098e83398151915263ca669fa7620052a462004022565b6040518263ffffffff1660e01b8152600401620052c2919062006042565b600060405180830381600087803b158015620052dd57600080fd5b505af1158015620052f2573d6000803e3d6000fd5b50505050601e60019054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020016750726f66696c653160c01b8152508152506200535c62004022565b6200536662002a1e565b6040518563ffffffff1660e01b8152600401620053879493929190620074e3565b6020604051808303816000875af1158015620053a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620053cd91906200702a565b6021819055601e54604051628a678560e11b8152600481019290925261010090046001600160a01b031690630114cf0a90602401600060405180830381865afa1580156200541f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200544991908101906200740e565b60a00151602280546001600160a01b0319166001600160a01b039092169190911790556000805160206202098e83398151915263ca669fa76200548b6200208b565b6040518263ffffffff1660e01b8152600401620054a9919062006042565b600060405180830381600087803b158015620054c457600080fd5b505af1158015620054d9573d6000803e3d6000fd5b50505050601e60019054906101000a90046001600160a01b03166001600160a01b0316633a92f65f600060405180604001604052806001815260200160405180604001604052806008815260200167283937b334b6329960c11b815250815250620055436200208b565b6200554d620038c2565b6040518563ffffffff1660e01b81526004016200556e949392919062007541565b6020604051808303816000875af11580156200558e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620055b491906200702a565b6023819055601e54604051628a678560e11b8152600481019290925261010090046001600160a01b031690630114cf0a90602401600060405180830381865afa15801562005606573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200563091908101906200740e565b60a00151602480546001600160a01b0319166001600160a01b03909216919091179055565b6000805160206202098e8339815191526306447d566200567462002ed0565b6040518263ffffffff1660e01b815260040162005692919062006042565b600060405180830381600087803b158015620056ad57600080fd5b505af1158015620056c2573d6000803e3d6000fd5b50505050604051620056d49062006019565b604051809103906000f080158015620056f1573d6000803e3d6000fd5b50602580546001600160a01b0319166001600160a01b0392909216918217905563a6b63eb86200572062002ed0565b836200572b62004094565b60405160e085901b6001600160e01b03191681526001600160a01b03938416600482015291831660248301529091166044820152662386f26fc1000060648201526000608482015260a401600060405180830381600087803b1580156200579157600080fd5b505af1158015620057a6573d6000803e3d6000fd5b505050506000805160206202638583398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562003ade57600080fd5b6001600160a01b03163b151590565b60405163260a5b1560e21b815260048101839052602481018290526000805160206202098e833981519152906398296c54906044015b60006040518083038186803b1580156200585657600080fd5b505afa15801562002a16573d6000803e3d6000fd5b6060600080806000805160206202098e83398151915263e341eaa486620058948b8b8b62005c64565b6040516001600160e01b031960e085901b16815260048101929092526024820152604401606060405180830381865afa158015620058d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620058fc91906200757c565b6040805160208101939093528281019190915260f89290921b6001600160f81b031916606082015281516041818303018152606190910190915298975050505050505050565b60405163a34edc0360e01b81526000805160206202098e8339815191529063a34edc03906200583d9085908590600401620075bb565b600062000cf464174876e8008362006bb4565b6000600160801b8310620059e15760405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b604482015260640162004d11565b50600160801b82825b801562005a37578060011660000362005a145762005a09828362005d5a565b915060011c620059ea565b62005a20838362005d5a565b925062005a2f60018262007174565b9050620059ea565b505092915050565b60405163a598288560e01b815281151560048201526000805160206202098e8339815191529063a59828859060240160006040518083038186803b15801562005a8757600080fd5b505afa15801562003af3573d6000803e3d6000fd5b6000808260405160200162005ab29190620075d8565b60408051808303601f190181529082905280516020909101206001625e79b760e01b031982526004820181905291506000805160206202098e8339815191529063ffa1864990602401602060405180830381865afa15801562005b19573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005b3f919062006b01565b6040516318caf8e360e31b81529092506000805160206202098e8339815191529063c657c7189062005b78908590879060040162006c1f565b600060405180830381600087803b15801562005b9357600080fd5b505af115801562005ba8573d6000803e3d6000fd5b50505050915091565b60405162005bbf9062006027565b604051809103906000f08015801562005bdc573d6000803e3d6000fd5b50601e8054610100600160a81b0319166101006001600160a01b039384168102919091179182905590041663c4d66de862005c16620040c6565b6040518263ffffffff1660e01b815260040162005c34919062006042565b600060405180830381600087803b15801562005c4f57600080fd5b505af115801562000998573d6000803e3d6000fd5b6000816001600160a01b031663d8d11f78856000866000806000806000808c6001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562005cc1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005ce791906200702a565b6040518b63ffffffff1660e01b815260040162005d0e9a99989796959493929190620075f6565b602060405180830381865afa15801562005d2c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005d5291906200702a565b949350505050565b6000600160801b83111562005dc35760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b606482015260840162004d11565b600160801b821062005e175760405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b604482015260640162004d11565b60806001607f1b62005e2a848662006da8565b62005e36919062006ee5565b901c9392505050565b610e94806200767183390190565b611948806200850583390190565b6104ec8062009e4d83390190565b60405180610180016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200162005ee8604051806040016040528060008152602001606081525090565b815260200160006001600160a01b0316815260200160608152602001600015158152602001606081525090565b612083806200a33983390190565b616231806200c3bc83390190565b6170bf80620125ed83390190565b61073180620196ac83390190565b60405180610100016040528062005f856040518060800160405280600081526020016000815260200160008152602001600081525090565b8152602001600081526020016000815260200162005faf6040518060200160405280600081525090565b8152602001620060006040518060c0016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081525090565b8152600060208201819052604082015260609081015290565b6131a38062019ddd83390190565b612b30806201cf8083390190565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114620030fc57600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b0381118282101715620060a757620060a76200606c565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620060d857620060d86200606c565b604052919050565b60006001600160401b03821115620060fc57620060fc6200606c565b50601f01601f191660200190565b600082601f8301126200611c57600080fd5b8135620061336200612d82620060e0565b620060ad565b8181528460208386010111156200614957600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156200617d57600080fd5b84356200618a8162006056565b9350602085013592506040850135620061a38162006056565b915060608501356001600160401b03811115620061bf57600080fd5b620061cd878288016200610a565b91505092959194509250565b60008060408385031215620061ed57600080fd5b8235620061fa8162006056565b915060208301356200620c8162006056565b809150509250929050565b6000602082840312156200622a57600080fd5b8135620023658162006056565b600081518084526020808501945080840160005b83811015620062725781516001600160a01b0316875295820195908201906001016200624b565b509495945050505050565b60208152600062002365602083018462006237565b60005b83811015620062af57818101518382015260200162006295565b50506000910152565b60008151808452620062d281602086016020860162006292565b601f01601f19169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b85811015620063325782840389526200631f848351620062b8565b9885019893509084019060010162006304565b5091979650505050505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015620063b257888303603f19018552815180516001600160a01b031684528701518784018790526200639e87850182620062e6565b958801959350509086019060010162006366565b509098975050505050505050565b600080600060608486031215620063d657600080fd5b8335620063e38162006056565b9250602084810135620063f68162006056565b925060408501356001600160401b03808211156200641357600080fd5b818701915087601f8301126200642857600080fd5b8135818111156200643d576200643d6200606c565b8060051b915062006450848301620060ad565b818152918301840191848101908a8411156200646b57600080fd5b938501935b83851015620064995784359250620064888362006056565b828252938501939085019062006470565b8096505050505050509250925092565b82815260406020820152600062005d526040830184620062b8565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156200656c57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015620065565783516001600160e01b0319168252928b019260019290920191908b01906200652a565b50978a01979550505091870191600101620064ec565b50919998505050505050505050565b6000806000606084860312156200659157600080fd5b83356200659e8162006056565b92506020840135915060408401356001600160401b03811115620065c157600080fd5b620065cf868287016200610a565b9150509250925092565b602081526000620023656020830184620062e6565b60038110620030fc57600080fd5b8035600481106200660c57600080fd5b919050565b600060c082840312156200662457600080fd5b6200662e62006082565b905081356200663d8162006056565b815260208201356200664f8162006056565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b6000806000806000806000806101a0898b031215620066a257600080fd5b8835620066af8162006056565b97506020890135620066c18162006056565b96506040890135620066d38162006056565b95506060890135620066e58162006056565b94506080890135620066f78162006056565b935060a08901356200670981620065ee565b92506200671960c08a01620065fc565b91506200672a8a60e08b0162006611565b90509295985092959890939650565b600080600080600060a086880312156200675257600080fd5b85356200675f8162006056565b9450602086013593506040860135620067788162006056565b925060608601356001600160401b038111156200679457600080fd5b620067a2888289016200610a565b95989497509295608001359392505050565b600060208284031215620067c757600080fd5b604051602081016001600160401b0381118282101715620067ec57620067ec6200606c565b6040529135825250919050565b600080600080600061014086880312156200681357600080fd5b8535620068208162006056565b945060208601356200683281620065ee565b93506200684260408701620065fc565b9250620068538760608801620067b4565b915062006864876080880162006611565b90509295509295909350565b634e487b7160e01b600052602160045260246000fd5b6003811062006899576200689962006870565b9052565b6004811062006899576200689962006870565b6000610200825180518552602081015160208601526040810151604086015260608101516060860152506020830151620068ee608086018262006886565b5060408301516200690360a08601826200689d565b506060838101515160c086015260808085015180516001600160a01b0390811660e089015260208201511661010088015260408101516101208801529182015161014087015281015161016086015260a090810151610180860152830151620069716101a086018262006035565b5060c0830151620069876101c086018262006035565b5060e0830151816101e0860152620069a28286018262006237565b95945050505050565b602081526000620023656020830184620068b0565b60008060008060008060008060006101c08a8c031215620069e057600080fd5b8935620069ed8162006056565b985060208a0135620069ff8162006056565b975060408a013562006a118162006056565b965060608a013562006a238162006056565b955060808a013562006a358162006056565b945060a08a013562006a4781620065ee565b935062006a5760c08b01620065fc565b925062006a688b60e08c01620067b4565b915062006a7a8b6101008c0162006611565b90509295985092959850929598565b6000806000806080858703121562006aa057600080fd5b5050823594602084013594506040840135936060013592509050565b60006020828403121562006acf57600080fd5b81356001600160401b0381111562006ae657600080fd5b62005d52848285016200610a565b80516200660c8162006056565b60006020828403121562006b1457600080fd5b8151620023658162006056565b634e487b7160e01b600052603260045260246000fd5b600061010080835262006b4d8184018b62006237565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b634e487b7160e01b600052601160045260246000fd5b60008262006bd257634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b03929092168252602082015260400190565b805180151581146200660c57600080fd5b60006020828403121562006c1457600080fd5b620023658262006bf0565b6001600160a01b038316815260406020820181905260009062005d5290830184620062b8565b600181811c9082168062006c5a57607f821691505b60208210810362004d1a57634e487b7160e01b600052602260045260246000fd5b80518252600060208201516040602085015262005d526040850182620062b8565b6020815262006cb060208201835162006035565b6000602083015162006cc6604084018262006035565b506040830151606083015260608301516080830152608083015160a083015260a083015162006cf960c084018262006035565b5060c083015162006d0e60e084018262006035565b5060e0830151610180610100818186015262006d2f6101a086018462006c7b565b9086015190925061012062006d478682018362006035565b80870151915050601f1961014081878603018188015262006d698584620062b8565b94508088015192505061016062006d838188018415159052565b87015186850390910183870152905062006d9e8382620062b8565b9695505050505050565b808202811582820484141762000cf45762000cf462006b9e565b80548252600060018083016020604081870152600082548181861c90508582168062006def57607f821691505b848210810362006e0d57634e487b7160e01b84526022600452602484fd5b60408a0182905260608a0181801562006e2f576001811462006e465762006e73565b60ff198516825283151560051b8201955062006e73565b60008881526020902060005b8581101562006e6d57815484820152908a0190880162006e52565b83019650505b50939a9950505050505050505050565b6001600160a01b038416815260606020820181905260009062006ea990830185620068b0565b828103604084015262006d9e818562006dc2565b6000806040838503121562006ed157600080fd5b8251915060208301516200620c8162006056565b8082018082111562000cf45762000cf462006b9e565b60208152815160208201526000602083015160018060a01b038082166040850152604085015160608501528060608601511660808501525050608083015160a08084015262005d5260c084018262006c7b565b60008060008060008060c0878903121562006f6857600080fd5b865162006f758162006056565b602088015190965062006f888162006056565b6040880151606089015160808a015160a0909a0151989b929a5090989097909650945092505050565b84815260a06020820152600062006fe660a08301600e81526d506f6f6c2050726f66696c65203160901b602082015260400190565b828103604084015262006ffa818762006c7b565b6001600160a01b0386166060850152838103608085015290506200701f818562006237565b979650505050505050565b6000602082840312156200703d57600080fd5b5051919050565b908152606060208201819052600090820181905260806040830181905282015260a00190565b6001600160e01b031991909116815260200190565b92835260208301919091526001600160a01b0316604082015260600190565b6000620070af6200612d84620060e0565b9050828152838383011115620070c457600080fd5b6200236583602083018462006292565b60008060008060008060c08789031215620070ee57600080fd5b8651620070fb8162006056565b60208801519096506001600160401b038111156200711857600080fd5b8701601f810189136200712a57600080fd5b6200713b898251602084016200709e565b95505060408701519350606087015192506080870151915060a0870151600281106200716657600080fd5b809150509295509295509295565b8181038181111562000cf45762000cf462006b9e565b602081526000620023656020830184620062b8565b6002811062006899576200689962006870565b6001600160a01b038b81168252602082018b905261014060408301819052600091620071e18483018d620062b8565b9150620071f2606085018c6200719f565b8960808501528860a08501528760c085015280871660e0850152808616610100850152508281036101208401526200722b8185620062b8565b9d9c50505050505050505050505050565b6001600160a01b03841681526060602082018190526000906200726290830185620062b8565b9050826040830152949350505050565b878152600060018060a01b03808916602084015260e060408401526200729c60e0840189620062b8565b818816606085015286608085015283810360a0850152620072be818762006dc2565b91505082810360c0840152620072d5818562006237565b9a9950505050505050505050565b600060208284031215620072f657600080fd5b81516200236581620065ee565b634e487b7160e01b600052600160045260246000fd5b6000600182016200732e576200732e62006b9e565b5060010190565b6000806000606084860312156200734b57600080fd5b835192506200735d6020850162006bf0565b91506200736d6040850162006bf0565b90509250925092565b600082601f8301126200738857600080fd5b62002365838351602085016200709e565b600060408284031215620073ac57600080fd5b604080519081016001600160401b038082118383101715620073d257620073d26200606c565b81604052829350845183526020850151915080821115620073f257600080fd5b50620074018582860162007376565b6020830152505092915050565b6000602082840312156200742157600080fd5b81516001600160401b03808211156200743957600080fd5b9083019060c082860312156200744e57600080fd5b6200745862006082565b82518152602083015160208201526040830151828111156200747957600080fd5b620074878782860162007376565b604083015250606083015182811115620074a057600080fd5b620074ae8782860162007399565b606083015250620074c26080840162006af4565b6080820152620074d560a0840162006af4565b60a082015295945050505050565b84815260a06020820152600960a08201526850726f66696c65203160b81b60c082015260e0604082015260006200751e60e083018662006c7b565b6001600160a01b038516606084015282810360808401526200701f818562006237565b84815260a06020820152600960a082015268283937b334b632901960b91b60c082015260e0604082015260006200751e60e083018662006c7b565b6000806000606084860312156200759257600080fd5b835160ff81168114620075a457600080fd5b602085015160409095015190969495509392505050565b821515815260406020820152600062005d526040830184620062b8565b60008251620075ec81846020870162006292565b9190910192915050565b6001600160a01b038b81168252602082018b905261014060408301819052600091620076258483018d620062b8565b925062007636606085018c6200719f565b60808401999099525060a082019690965260c081019490945291851660e0840152909316610100820152610120019190915294935050505056fe60806040523480156200001157600080fd5b5060405162000e9438038062000e94833981016040819052620000349162000134565b600062000042848262000248565b50600162000051838262000248565b506002805460ff191660ff9290921691909117905550620003149050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200009757600080fd5b81516001600160401b0380821115620000b457620000b46200006f565b604051601f8301601f19908116603f01168101908282118183101715620000df57620000df6200006f565b81604052838152602092508683858801011115620000fc57600080fd5b600091505b8382101562000120578582018301518183018401529082019062000101565b600093810190920192909252949350505050565b6000806000606084860312156200014a57600080fd5b83516001600160401b03808211156200016257600080fd5b620001708783880162000085565b945060208601519150808211156200018757600080fd5b50620001968682870162000085565b925050604084015160ff81168114620001ae57600080fd5b809150509250925092565b600181811c90821680620001ce57607f821691505b602082108103620001ef57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024357600081815260208120601f850160051c810160208610156200021e5750805b601f850160051c820191505b818110156200023f578281556001016200022a565b5050505b505050565b81516001600160401b038111156200026457620002646200006f565b6200027c81620002758454620001b9565b84620001f5565b602080601f831160018114620002b457600084156200029b5750858301515b600019600386901b1c1916600185901b1785556200023f565b600085815260208120601f198616915b82811015620002e557888601518255948401946001909101908401620002c4565b5085821015620003045787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610b7080620003246000396000f3fe608060405234801561001057600080fd5b50600436106100e65760003560e01c806306fdde03146100eb578063095ea7b31461010957806318160ddd1461012c57806323b872dd14610146578063313ce567146101595780633644e5151461016e578063395093511461017657806340c10f191461018957806370a082311461019e5780637ecebe00146101c457806395d89b41146101ea5780639dc29fac146101f2578063a457c2d714610205578063a9059cbb14610218578063d30ed3b31461022b578063d505accf1461023e578063dd62ed3e14610251578063f83d17911461027a575b600080fd5b6100f361028d565b604051610100919061092f565b60405180910390f35b61011c610117366004610999565b61031f565b6040519015158152602001610100565b6805345cdf77eb68f44c545b604051908152602001610100565b61011c6101543660046109c3565b610360565b60025460405160ff9091168152602001610100565b610138610385565b61011c610184366004610999565b6103fb565b61019c610197366004610999565b610416565b005b6101386101ac3660046109ff565b6387a211a2600c908152600091909152602090205490565b6101386101d23660046109ff565b6338377508600c908152600091909152602090205490565b6100f361042c565b61019c610200366004610999565b61043b565b61011c610213366004610999565b61044d565b61011c610226366004610999565b610461565b61019c6102393660046109c3565b610475565b61019c61024c366004610a1a565b610495565b61013861025f366004610a8d565b602052637f5e9f20600c908152600091909152603490205490565b61019c6102883660046109c3565b6105b1565b60606000805461029c90610ac0565b80601f01602080910402602001604051908101604052809291908181526020018280546102c890610ac0565b80156103155780601f106102ea57610100808354040283529160200191610315565b820191906000526020600020905b8154815290600101906020018083116102f857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b600061037d61036e856105cc565b610377856105cc565b846105db565b949350505050565b604051600061039261028d565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061040f610409846105cc565b83610687565b9392505050565b610428610422836105cc565b826106e7565b5050565b60606001805461029c90610ac0565b610428610447836105cc565b82610754565b600061040f61045b846105cc565b836107b9565b600061040f61046f846105cc565b8361081a565b610490610481846105cc565b61048a846105cc565b83610883565b505050565b600061049f610385565b9050604051854211156104ba57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105725763ddafbaef6000526004601cfd5b6303faf4f960a51b88176040526034602c208790558789600080516020610b1b833981519152602060608501a360405250506000606052505050505050565b6104906105bd846105cc565b6105c6846105cc565b836108c6565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c208054600019811461061b5780851115610615576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106445763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c600080516020610afb833981519152602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156106b95763f90670666000526004601cfd5b80835580600052505050602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b6805345cdf77eb68f44c548181018181101561070b5763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c6000600080516020610afb833981519152602080a35050565b6387a211a2600c52816000526020600c2080548083111561077d5763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c8054829003905560008181526001600160a01b038316600080516020610afb833981519152602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156107e857638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156108455763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c33600080516020610afb833981519152602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146108bf57808311156108b9576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156108f15763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c600080516020610afb833981519152602080a350505050565b600060208083528351808285015260005b8181101561095c57858101830151858201604001528201610940565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461099457600080fd5b919050565b600080604083850312156109ac57600080fd5b6109b58361097d565b946020939093013593505050565b6000806000606084860312156109d857600080fd5b6109e18461097d565b92506109ef6020850161097d565b9150604084013590509250925092565b600060208284031215610a1157600080fd5b61040f8261097d565b600080600080600080600060e0888a031215610a3557600080fd5b610a3e8861097d565b9650610a4c6020890161097d565b95506040880135945060608801359350608088013560ff81168114610a7057600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610aa057600080fd5b610aa98361097d565b9150610ab76020840161097d565b90509250929050565b600181811c90821680610ad457607f821691505b602082108103610af457634e487b7160e01b600052602260045260246000fd5b5091905056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a26469706673582212204ac30005d9b963c58b4eb51b3347f56fb666b75a273042d67b50fc03f00748dd64736f6c6343000813003360a06040523060805234801561001457600080fd5b506080516118fc61004c60003960008181610360015281816103a9015281816104310152818161047101526104ed01526118fc6000f3fe6080604052600436106100ce5760003560e01c80631c3db16d146100d357806326a0754c146101155780633659cfe6146101585780634f1ef2861461017a57806352d1902d1461018d578063564a565d146101b05780635ea7b4fc146101e2578063715018a6146102025780637a1d37561461021757806388d5b732146102375780638da5cb5b14610257578063c13517e11461026c578063d98493f61461027f578063f2fde38b1461029f578063f6506db4146102bf578063f7434ea9146102da578063fe4b84df146102fd575b600080fd5b3480156100df57600080fd5b506100f36100ee366004611238565b61031d565b6040805193845291151560208401521515908201526060015b60405180910390f35b34801561012157600080fd5b5061014b610130366004611266565b6099602052600090815260409020546001600160a01b031681565b60405161010c9190611283565b34801561016457600080fd5b50610178610173366004611266565b610356565b005b6101786101883660046112ad565b610427565b34801561019957600080fd5b506101a26104e0565b60405190815260200161010c565b3480156101bc57600080fd5b506101d06101cb366004611238565b61058e565b60405161010c969594939291906113d6565b3480156101ee57600080fd5b506101786101fd366004611238565b61066c565b34801561020e57600080fd5b506101786106af565b34801561022357600080fd5b5061017861023236600461143d565b6106c3565b34801561024357600080fd5b50610178610252366004611266565b610901565b34801561026357600080fd5b5061014b610964565b6101a261027a3660046114be565b610973565b34801561028b57600080fd5b506101a261029a366004611509565b610aeb565b3480156102ab57600080fd5b506101786102ba366004611266565b610b26565b3480156102cb57600080fd5b506101a261029a366004611554565b3480156102e657600080fd5b506101a26102f53660046115ba565b505060975490565b34801561030957600080fd5b50610178610318366004611238565b610b9c565b60008060008060988581548110610336576103366115fb565b600091825260208220600460069092020101549690955085945092505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103a75760405162461bcd60e51b815260040161039e90611611565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103d9610cec565b6001600160a01b0316146103ff5760405162461bcd60e51b815260040161039e9061164b565b61040881610d08565b6040805160008082526020820190925261042491839190610d10565b50565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361046f5760405162461bcd60e51b815260040161039e90611611565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166104a1610cec565b6001600160a01b0316146104c75760405162461bcd60e51b815260040161039e9061164b565b6104d082610d08565b6104dc82826001610d10565b5050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461057b5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840161039e565b5060008051602061188083398151915290565b6098818154811061059e57600080fd5b6000918252602090912060069091020180546001820180546001600160a01b039092169350906105cd90611685565b80601f01602080910402602001604051908101604052809291908181526020018280546105f990611685565b80156106465780601f1061061b57610100808354040283529160200191610646565b820191906000526020600020905b81548152906001019060200180831161062957829003601f168201915b505050506002830154600384015460048501546005909501549394919390925060ff1686565b610674610e80565b60978190556040518181527fb1484c2bf00d94a00783b6081ebc5f5d02be4675f6eb8cf4c0c95bfe5a3f06ed9060200160405180910390a150565b6106b7610e80565b6106c16000610edf565b565b6001600160a01b0380821660009081526099602052604090205482911633036108be576000609885815481106106fb576106fb6115fb565b906000526020600020906006020190508060020154841115610730576040516309efd47960e41b815260040160405180910390fd5b6001600582015460ff16600181111561074b5761074b6113c0565b036107695760405163bda17d9560e01b815260040160405180910390fd5b6004810184905560058101805460ff19166001179055600381015460405160009133918381818185875af1925050503d80600081146107c4576040519150601f19603f3d011682016040523d82523d6000602084013e6107c9565b606091505b505090508061080c5760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161039e565b815460048084015460405163188d362b60e11b815291820189905260248201526001600160a01b039091169063311a6c5690604401600060405180830381600087803b15801561085b57600080fd5b505af115801561086f573d6000803e3d6000fd5b5050505085846001600160a01b03167f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e75622276876040516108af91815260200190565b60405180910390a350506108fb565b6001600160a01b038181166000908152609960205260409081902054905163d0774c9960e01b81523360048201529116602482015260440161039e565b50505050565b336000818152609960205260409081902080546001600160a01b0319166001600160a01b038516179055517f2b87bb26d58aa2d56b59c2b23a53a6959f68d4547492bda44fb5e68b0fa38b3f90610959908490611283565b60405180910390a250565b6033546001600160a01b031690565b600061097d610f31565b6097543410156109a05760405163e4216b3160e01b815260040160405180910390fd5b609880549050905060986040518060c00160405280336001600160a01b0316815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093855250505060208201889052346040830152606082018190526080909101528154600180820184556000938452602093849020835160069093020180546001600160a01b0319166001600160a01b03909316929092178255928201519192909190820190610a65908261170d565b5060408201516002820155606082015160038201556080820151600482015560a082015160058201805460ff191660018381811115610aa657610aa66113c0565b02179055505060405133915082907f141dfc18aa6a56fc816f44f0e9e2f1ebc92b15ab167770e17db5b084c10ed99590600090a3610ae46001606555565b9392505050565b60405162461bcd60e51b815260206004820152600d60248201526c139bdd081cdd5c1c1bdc9d1959609a1b604482015260009060640161039e565b610b2e610e80565b6001600160a01b038116610b935760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161039e565b61042481610edf565b600054610100900460ff1615808015610bbc5750600054600160ff909116105b80610bdd5750610bcb30610f8a565b158015610bdd575060005460ff166001145b610c405760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161039e565b6000805460ff191660011790558015610c63576000805461ff0019166101001790555b610c6b610f99565b60978290556040518281527fc05490fc8f8e095831ea3823f005dd0661528380328aa5c3b7348a45244223be9060200160405180910390a180156104dc576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600080516020611880833981519152546001600160a01b031690565b610424610e80565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610d4857610d4383610fc8565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610da2575060408051601f3d908101601f19168201909252610d9f918101906117cc565b60015b610e055760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161039e565b6000805160206118808339815191528114610e745760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161039e565b50610d43838383611062565b33610e89610964565b6001600160a01b0316146106c15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161039e565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600260655403610f835760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161039e565b6002606555565b6001600160a01b03163b151590565b600054610100900460ff16610fc05760405162461bcd60e51b815260040161039e906117e5565b6106c1611087565b610fd181610f8a565b6110335760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161039e565b60008051602061188083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61106b836110b7565b6000825111806110785750805b15610d43576108fb83836110f7565b600054610100900460ff166110ae5760405162461bcd60e51b815260040161039e906117e5565b6106c133610edf565b6110c081610fc8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610ae483836040518060600160405280602781526020016118a0602791396060600080856001600160a01b0316856040516111349190611830565b600060405180830381855af49150503d806000811461116f576040519150601f19603f3d011682016040523d82523d6000602084013e611174565b606091505b50915091506111858683838761118f565b9695505050505050565b606083156111fc5782516000036111f5576111a985610f8a565b6111f55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161039e565b5081611206565b611206838361120e565b949350505050565b81511561121e5781518083602001fd5b8060405162461bcd60e51b815260040161039e919061184c565b60006020828403121561124a57600080fd5b5035919050565b6001600160a01b038116811461042457600080fd5b60006020828403121561127857600080fd5b8135610ae481611251565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156112c057600080fd5b82356112cb81611251565b915060208301356001600160401b03808211156112e757600080fd5b818501915085601f8301126112fb57600080fd5b81358181111561130d5761130d611297565b604051601f8201601f19908116603f0116810190838211818310171561133557611335611297565b8160405282815288602084870101111561134e57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b8381101561138b578181015183820152602001611373565b50506000910152565b600081518084526113ac816020860160208601611370565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b038716815260c0602082018190526000906113fa90830188611394565b90508560408301528460608301528360808301526002831061142c57634e487b7160e01b600052602160045260246000fd5b8260a0830152979650505050505050565b60008060006060848603121561145257600080fd5b8335925060208401359150604084013561146b81611251565b809150509250925092565b60008083601f84011261148857600080fd5b5081356001600160401b0381111561149f57600080fd5b6020830191508360208285010111156114b757600080fd5b9250929050565b6000806000604084860312156114d357600080fd5b8335925060208401356001600160401b038111156114f057600080fd5b6114fc86828701611476565b9497909650939450505050565b60008060006040848603121561151e57600080fd5b83356001600160401b0381111561153457600080fd5b61154086828701611476565b909450925050602084013561146b81611251565b60008060008060006080868803121561156c57600080fd5b8535945060208601356001600160401b0381111561158957600080fd5b61159588828901611476565b90955093505060408601356115a981611251565b949793965091946060013592915050565b600080602083850312156115cd57600080fd5b82356001600160401b038111156115e357600080fd5b6115ef85828601611476565b90969095509350505050565b634e487b7160e01b600052603260045260246000fd5b6020808252602c9082015260008051602061186083398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061186083398151915260408201526b6163746976652070726f787960a01b606082015260800190565b600181811c9082168061169957607f821691505b6020821081036116b957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610d4357600081815260208120601f850160051c810160208610156116e65750805b601f850160051c820191505b81811015611705578281556001016116f2565b505050505050565b81516001600160401b0381111561172657611726611297565b61173a816117348454611685565b846116bf565b602080601f83116001811461176f57600084156117575750858301515b600019600386901b1c1916600185901b178555611705565b600085815260208120601f198616915b8281101561179e5788860151825594840194600190910190840161177f565b50858210156117bc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156117de57600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60008251611842818460208701611370565b9190910192915050565b602081526000610ae4602083018461139456fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212209e812ac4bdf846d4087c7926815fe1acf703e60d37f2ca752fcb49ebd31f237a64736f6c6343000813003360806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212206e93027ee8ff60c4973ac058d4e8a46f5d5981513eccfc75ff619ec5718959a664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656460a06040523060805234801561001457600080fd5b5060805161203761004c6000396000818161072c0152818161076f015281816108000152818161084301526108c801526120376000f3fe608060405260043610620001345760003560e01c806302c1d0b114620001395780630a992e0c14620001735780631459457a14620001a75780631b71f0e414620001ce5780633659cfe614620001f35780634f1ef286146200021857806352d1902d146200022f5780635a2c8ace14620002475780635c94e4d2146200026c5780635decae02146200028e578063715018a614620002b357806377122d5614620002cb5780638279c7db14620002ed5780638da5cb5b1462000312578063987435be146200032a578063affed0e0146200034a578063b0d3713a1462000362578063b5b3ca2c1462000387578063b8bed90114620003ac578063beb331a314620003ce578063c4d66de814620003f3578063f2fde38b1462000418578063f5016b5e146200043d578063ffa1ad74146200048e575b600080fd5b3480156200014657600080fd5b506068546200015b906001600160a01b031681565b6040516200016a919062001333565b60405180910390f35b3480156200018057600080fd5b5062000198620001923660046200136f565b620004ce565b6040519081526020016200016a565b348015620001b457600080fd5b50620001cc620001c63660046200138f565b62000534565b005b348015620001db57600080fd5b50620001cc620001ed3660046200136f565b620006f6565b3480156200020057600080fd5b50620001cc620002123660046200136f565b62000722565b620001cc62000229366004620014c9565b620007f6565b3480156200023c57600080fd5b5062000198620008bb565b3480156200025457600080fd5b50620001cc6200026636600462001544565b6200096c565b3480156200027957600080fd5b506069546200015b906001600160a01b031681565b3480156200029b57600080fd5b50620001cc620002ad3660046200136f565b620009dd565b348015620002c057600080fd5b50620001cc62000a09565b348015620002d857600080fd5b50606a546200015b906001600160a01b031681565b348015620002fa57600080fd5b50620001cc6200030c3660046200136f565b62000a21565b3480156200031f57600080fd5b506200015b62000a7d565b3480156200033757600080fd5b506067546001600160a01b03166200015b565b3480156200035757600080fd5b506200019860655481565b3480156200036f57600080fd5b50620001cc620003813660046200136f565b62000b1a565b3480156200039457600080fd5b50620001cc620003a63660046200157e565b62000b46565b348015620003b957600080fd5b506067546200015b906001600160a01b031681565b348015620003db57600080fd5b506200015b620003ed36600462001645565b62000ba2565b3480156200040057600080fd5b50620001cc620004123660046200136f565b62000ce3565b3480156200042557600080fd5b50620001cc620004373660046200136f565b62000d5b565b3480156200044a57600080fd5b506200047d6200045c3660046200136f565b6001600160a01b031660009081526066602052604090206001015460ff1690565b60405190151581526020016200016a565b3480156200049b57600080fd5b50620004bf604051806040016040528060038152602001620302e360ec1b81525081565b6040516200016a9190620017f4565b6001600160a01b03811660009081526066602052604081206001015460ff1662000518578160405163f5a6943d60e01b81526004016200050f919062001333565b60405180910390fd5b506001600160a01b031660009081526066602052604090205490565b600054610100900460ff1615808015620005555750600054600160ff909116105b806200057a5750620005673062000dcc565b1580156200057a575060005460ff166001145b620005df5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200050f565b6000805460ff19166001179055801562000603576000805461ff0019166101001790555b6200060e8662000ce3565b60006065556200061e8562000ddb565b620006298462000ddb565b620006348262000ddb565b606780546001600160a01b038088166001600160a01b0319928316179092556068805487841690831617905560698054868416908316179055606a80549285169290911691909117905560405160008051602062001fe2833981519152906200069f90879062001333565b60405180910390a18015620006ee576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b6200070062000e03565b606980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036200076d5760405162461bcd60e51b81526004016200050f9062001809565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620007a162000e66565b6001600160a01b031614620007ca5760405162461bcd60e51b81526004016200050f9062001844565b620007d58162000e83565b60408051600080825260208201909252620007f39183919062000ed5565b50565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620008415760405162461bcd60e51b81526004016200050f9062001809565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200087562000e66565b6001600160a01b0316146200089e5760405162461bcd60e51b81526004016200050f9062001844565b620008a98262000e83565b620008b78282600162000ed5565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620009585760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016200050f565b5060008051602062001f9b83398151915290565b6200097662000e03565b6001600160a01b038216600081815260666020908152604091829020600101805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b620009e762000e03565b606880546001600160a01b0319166001600160a01b0392909216919091179055565b62000a1362000e03565b62000a1f600062001052565b565b62000a2b62000e03565b62000a368162000ddb565b606780546001600160a01b0319166001600160a01b03831617905560405160008051602062001fe28339815191529062000a7290839062001333565b60405180910390a150565b60008062000a936033546001600160a01b031690565b9050806001600160a01b03163b60000362000aad57919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000b0a575060408051601f3d908101601f1916820190925262000b07918101906200187f565b60015b62000b1457919050565b92915050565b62000b2462000e03565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b62000b5062000e03565b6001600160a01b038216600081815260666020908152604091829020849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c9101620009d1565b606580546000918262000bb5836200189f565b9091555060808301523060a0830152606854606954606a546000926001600160a01b0390811692633419635560e01b928792918216911662000bf662000a7d565b60405160240162000c0b9493929190620018e8565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905162000c4a9062001318565b62000c5792919062001a30565b604051809103906000f08015801562000c74573d6000803e3d6000fd5b506001600160a01b038116600090815260666020526040908190206001908101805460ff191690911790555190915081907fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc299062000cd490839062001333565b60405180910390a19392505050565b600054610100900460ff1662000d505760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200050f565b620007f38162001052565b62000d6562000e03565b6001600160a01b03811662000d505760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016200050f565b6001600160a01b03163b151590565b6001600160a01b038116620007f3576040516303988b8160e61b815260040160405180910390fd5b3362000e0e62000a7d565b6001600160a01b03161462000a1f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200050f565b60008051602062001f9b833981519152546001600160a01b031690565b3362000e8e62000a7d565b6001600160a01b031614620007f3573362000ea862000a7d565b60405163163678e960e01b81526001600160a01b039283166004820152911660248201526044016200050f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000f105762000f0b83620010a4565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000f6d575060408051601f3d908101601f1916820190925262000f6a9181019062001a56565b60015b62000fd25760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016200050f565b60008051602062001f9b8339815191528114620010445760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016200050f565b5062000f0b83838362001143565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b620010af8162000dcc565b620011135760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016200050f565b60008051602062001f9b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6200114e8362001174565b6000825111806200115c5750805b1562000f0b576200116e8383620011b6565b50505050565b6200117f81620010a4565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620011de838360405180606001604052806027815260200162001fbb60279139620011e5565b9392505050565b6060600080856001600160a01b03168560405162001204919062001a70565b600060405180830381855af49150503d806000811462001241576040519150601f19603f3d011682016040523d82523d6000602084013e62001246565b606091505b5091509150620012598683838762001263565b9695505050505050565b60608315620012d7578251600003620012cf57620012818562000dcc565b620012cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200050f565b5081620012e3565b620012e38383620012eb565b949350505050565b815115620012fc5781518083602001fd5b8060405162461bcd60e51b81526004016200050f9190620017f4565b6104ec8062001a8f83390190565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114620007f357600080fd5b80356200136a8162001347565b919050565b6000602082840312156200138257600080fd5b8135620011de8162001347565b600080600080600060a08688031215620013a857600080fd5b8535620013b58162001347565b94506020860135620013c78162001347565b93506040860135620013d98162001347565b92506060860135620013eb8162001347565b91506080860135620013fd8162001347565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b03811182821017156200144757620014476200140b565b60405290565b60006001600160401b03808411156200146a576200146a6200140b565b604051601f8501601f19908116603f011681019082821181831017156200149557620014956200140b565b81604052809350858152868686011115620014af57600080fd5b858560208301376000602087830101525050509392505050565b60008060408385031215620014dd57600080fd5b8235620014ea8162001347565b915060208301356001600160401b038111156200150657600080fd5b8301601f810185136200151857600080fd5b62001529858235602084016200144d565b9150509250929050565b803580151581146200136a57600080fd5b600080604083850312156200155857600080fd5b8235620015658162001347565b9150620015756020840162001533565b90509250929050565b600080604083850312156200159257600080fd5b82356200159f8162001347565b946020939093013593505050565b600082601f830112620015bf57600080fd5b620011de838335602085016200144d565b600060408284031215620015e357600080fd5b604080519081016001600160401b0380821183831017156200160957620016096200140b565b816040528293508435835260208501359150808211156200162957600080fd5b506200163885828601620015ad565b6020830152505092915050565b6000602082840312156200165857600080fd5b81356001600160401b03808211156200167057600080fd5b9083019061018082860312156200168657600080fd5b6200169062001421565b6200169b836200135d565b8152620016ab602084016200135d565b6020820152604083013560408201526060830135606082015260808301356080820152620016dc60a084016200135d565b60a0820152620016ef60c084016200135d565b60c082015260e0830135828111156200170757600080fd5b6200171587828601620015d0565b60e0830152506101006200172b8185016200135d565b9082015261012083810135838111156200174457600080fd5b6200175288828701620015ad565b8284015250506101406200176881850162001533565b9082015261016083810135838111156200178157600080fd5b6200178f88828701620015ad565b918301919091525095945050505050565b60005b83811015620017bd578181015183820152602001620017a3565b50506000910152565b60008151808452620017e0816020860160208601620017a0565b601f01601f19169290920160200192915050565b602081526000620011de6020830184620017c6565b6020808252602c9082015260008051602062001f7b83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602062001f7b83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156200189257600080fd5b8151620011de8162001347565b600060018201620018c057634e487b7160e01b600052601160045260246000fd5b5060010190565b805182526000602082015160406020850152620012e36040850182620017c6565b60808152620018fc60808201865162001326565b600060208601516200191260a084018262001326565b50604086015160c0830152606086015160e08301526080860151610100818185015260a088015191506101206200194c8186018462001326565b60c08901519250610140620019648187018562001326565b60e08a01519350610180610160818189015262001986610200890187620018c7565b948c01519495506200199b8883018662001326565b838c01519450607f19935083888703016101a0890152620019bd8686620017c6565b9550828c01519450620019d56101c089018615159052565b808c0151945050505080858403016101e086015250620019f68282620017c6565b9250505062001a09602083018662001326565b62001a18604083018562001326565b62001a27606083018462001326565b95945050505050565b6001600160a01b0383168152604060208201819052600090620012e390830184620017c6565b60006020828403121562001a6957600080fd5b5051919050565b6000825162001a84818460208701620017a0565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212206e93027ee8ff60c4973ac058d4e8a46f5d5981513eccfc75ff619ec5718959a664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656446756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9da2646970667358221220917001dee0d6cce21f97ccc756d9f9ec4c6e4e4df29062f3c93016d0e4fda19164736f6c6343000813003360a06040523060805234801561001457600080fd5b506080516161e46200004d60003960008181611e7401528181611eb701528181611fef01528181612032015261218401526161e46000f3fe608060405260043610620003505760003560e01c806301ffc9a714620003555780630331383c146200038f57806308386eba14620003b05780630d12bbdb14620003c85780630d4a8b4914620003ef578063175188e814620004145780631b71f0e414620004395780631f787d28146200045e578063223e5479146200047957806322bcf999146200049e578063248a9ca314620004c357806328c309e914620004e85780632b38c69c14620005005780632c611c4a14620005345780632f2ff15d146200057257806331f61bca14620005975780633396045914620005bc5780633419635514620005d45780633517aa7d14620005f957806336568abe14620006115780633659cfe61462000636578063397e2543146200065b5780633a871fe114620006805780633ede95f614620006b5578063477a5cc014620006da5780634f1ef286146200071a578063524e59e8146200073157806352d1902d1462000774578063559de05d146200078c578063579eb7e514620007b15780635c94e4d214620007d65780635ecf71c514620007f957806365e3864c146200081e5780636871eb4d146200085b57806368decabb14620008805780636c53db9a14620008a3578063715018a614620008c657806373265c3714620008de578063733a2d1f146200090357806377122d5614620009285780637817ee4f146200094b57806378a0b8a914620009965780637b10399914620009ae57806382d6a1e714620009d15780638659ffdd14620009f657806388cfe6841462000a1b5780638961be6b1462000a915780638da5cb5b1462000aa957806391d148541462000ac1578063a0cf0aea1462000ae6578063a217fddf1462000b10578063a230c5241462000b27578063b0d3713a1462000b4c578063b3f006741462000b71578063b5058c501462000b98578063b64e39af1462000bb0578063b99b43701462000bd7578063bc063e1a1462000bef578063c4d66de81462000c07578063c6d572ae1462000c2c578063d547741f1462000c44578063d6d8428d1462000c69578063d7050f071462000c8c578063db61d65c1462000ca4578063e16d0e321462000cc7578063ebd7dc521462000cec578063f2fde38b1462000d11578063f86c5f891462000d36578063ffa1ad741462000d59575b600080fd5b3480156200036257600080fd5b506200037a620003743660046200462e565b62000d8a565b60405190151581526020015b60405180910390f35b3480156200039c57600080fd5b5060fb545b60405190815260200162000386565b348015620003bd57600080fd5b50620003a160fe5481565b348015620003d557600080fd5b50620003ed620003e73660046200465a565b62000dc2565b005b348015620003fc57600080fd5b50620003ed6200040e3660046200469c565b62000e38565b3480156200042157600080fd5b50620003ed62000433366004620046da565b620011bb565b3480156200044657600080fd5b50620003ed62000458366004620046da565b620011d3565b3480156200046b57600080fd5b5060ff80546200037a911681565b3480156200048657600080fd5b50620003ed62000498366004620046da565b62001200565b348015620004ab57600080fd5b50620003ed620004bd3660046200469c565b62001215565b348015620004d057600080fd5b50620003a1620004e23660046200465a565b6200130f565b348015620004f557600080fd5b50620003a162001324565b3480156200050d57600080fd5b50620005256200051f366004620046fa565b62001429565b60405162000386919062004736565b3480156200054157600080fd5b50620003a162000553366004620046da565b6001600160a01b0316600090815261010c602052604090206001015490565b3480156200057f57600080fd5b50620003ed620005913660046200474a565b62001463565b348015620005a457600080fd5b50620003ed620005b63660046200465a565b6200148a565b348015620005c957600080fd5b50620003a160fd5481565b348015620005e157600080fd5b50620003ed620005f33660046200495a565b620014ca565b3480156200060657600080fd5b50620003ed62001b8a565b3480156200061e57600080fd5b50620003ed620006303660046200474a565b62001dec565b3480156200064357600080fd5b50620003ed62000655366004620046da565b62001e6a565b3480156200066857600080fd5b50620003ed6200067a366004620046da565b62001f3b565b3480156200068d57600080fd5b506200037a6200069f366004620046da565b61010a6020526000908152604090205460ff1681565b348015620006c257600080fd5b506200037a620006d4366004620046fa565b62001fa8565b348015620006e757600080fd5b506200037a620006f93660046200469c565b61010e60209081526000928352604080842090915290825290205460ff1681565b620003ed6200072b36600462004aed565b62001fe5565b3480156200073e57600080fd5b50620007566200075036600462004d71565b620020a6565b604080519283526001600160a01b0390911660208301520162000386565b3480156200078157600080fd5b50620003a162002177565b3480156200079957600080fd5b50620003ed620007ab3660046200465a565b62002228565b348015620007be57600080fd5b5062000756620007d036600462004f52565b62002474565b348015620007e357600080fd5b506101025462000525906001600160a01b031681565b3480156200080657600080fd5b50620003ed620008183660046200465a565b62002701565b3480156200082b57600080fd5b50620003a16200083d3660046200469c565b61010b60209081526000928352604080842090915290825290205481565b3480156200086857600080fd5b50620003ed6200087a3660046200469c565b62002a9b565b3480156200088d57600080fd5b506101035462000525906001600160a01b031681565b348015620008b057600080fd5b506101065462000525906001600160a01b031681565b348015620008d357600080fd5b50620003ed62002bee565b348015620008eb57600080fd5b50620003ed620008fd3660046200465a565b62002c04565b3480156200091057600080fd5b50620003a16000805160206200610183398151915281565b3480156200093557600080fd5b506101015462000525906001600160a01b031681565b3480156200095857600080fd5b50620003a16200096a3660046200469c565b6001600160a01b03918216600090815261010b6020908152604080832093909416825291909152205490565b348015620009a357600080fd5b50620003a160fb5481565b348015620009bb57600080fd5b506101045462000525906001600160a01b031681565b348015620009de57600080fd5b50620003ed620009f03660046200465a565b62002ca0565b34801562000a0357600080fd5b506200075662000a1536600462004fc6565b62002d5e565b34801562000a2857600080fd5b5062000a6962000a3a366004620046da565b61010c602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b039094168452602084019290925215159082015260600162000386565b34801562000a9e57600080fd5b50620003a160fc5481565b34801562000ab657600080fd5b506200052562002eeb565b34801562000ace57600080fd5b506200037a62000ae03660046200474a565b62002f86565b34801562000af357600080fd5b506200052573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801562000b1d57600080fd5b50620003a1600081565b34801562000b3457600080fd5b506200037a62000b46366004620046da565b62002fb1565b34801562000b5957600080fd5b50620003ed62000b6b366004620046da565b62002ffb565b34801562000b7e57600080fd5b5060ff54620005259061010090046001600160a01b031681565b34801562000ba557600080fd5b50620003ed62003028565b34801562000bbd57600080fd5b5062000bc86200305f565b604051620003869190620050ad565b34801562000be457600080fd5b50620003ed620030f6565b34801562000bfc57600080fd5b50620003a162003200565b34801562000c1457600080fd5b50620003ed62000c26366004620046da565b62003212565b34801562000c3957600080fd5b5062000bc862003247565b34801562000c5157600080fd5b50620003ed62000c633660046200474a565b62003257565b34801562000c7657600080fd5b506101075462000525906001600160a01b031681565b34801562000c9957600080fd5b50620003a161271081565b34801562000cb157600080fd5b506101055462000525906001600160a01b031681565b34801562000cd457600080fd5b506200075662000ce6366004620050c2565b62003279565b34801562000cf957600080fd5b506200037a62000d0b366004620046da565b6200333a565b34801562000d1e57600080fd5b50620003ed62000d30366004620046da565b62003357565b34801562000d4357600080fd5b506101005462000525906001600160a01b031681565b34801562000d6657600080fd5b5062000bc8604051806040016040528060038152602001620302e360ec1b81525081565b60006001600160e01b03198216637965db0b60e01b148062000dbc57506301ffc9a760e01b6001600160e01b03198316145b92915050565b62000dcc620033c8565b62000ddb612710600a6200514b565b81111562000dfc5760405163fe925f7d60e01b815260040160405180910390fd5b60fc8190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b62000e4262003405565b62000e4d8262003460565b62000e588162003489565b62000e6381620034c4565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff161562000eac57604051636adcde4b60e11b815260040160405180910390fd5b6001600160a01b03808316600090815261010c602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff1615159183019190915260fb546003846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000f3a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f6091906200517b565b600381111562000f745762000f7462005165565b0362000ff95760405163782aadff60e01b81526001600160a01b0385169063782aadff9062000fab9088906000906004016200519b565b6020604051808303816000875af115801562000fcb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ff19190620051b4565b9050620010f5565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af11580156200103c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200106291906200517b565b600381111562001076576200107662005165565b14620010f55760405163782aadff60e01b81526001600160a01b0385169063782aadff90620010ac90889086906004016200519b565b6020604051808303816000875af1158015620010cc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010f29190620051b4565b90505b6001600160a01b03808616600081815261010b6020908152604080832094891680845294825280832086905583835261010e82528083208584528252808320805460ff1916600190811790915593835261010d8252808320805494850181558352912090910180546001600160a01b031916909217909155517ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec90620011a190879087908590620051ce565b60405180910390a1505050620011b76001606555565b5050565b620011c5620033c8565b620011d081620034f3565b50565b620011dd62003551565b61010280546001600160a01b0319166001600160a01b0392909216919091179055565b6200120a620033c8565b620011d081620035b4565b620012208262003460565b6200122b81620034c4565b62001237338262003646565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff166200127f57604051633048da7760e21b815260040160405180910390fd5b6001600160a01b03808316600081815261010e60209081526040808320948616808452948252808320805460ff1916905592825261010b815282822093825292909252812055620012d1828262003679565b7ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b828260405162001303929190620051f2565b60405180910390a15050565b600090815260c9602052604090206001015490565b610100546000906001600160a01b0316816200134461271060646200514b565b60fc5460fb546200135691906200514b565b6200136291906200520c565b905060006200137561271060646200514b565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c90620013a390309060040162004736565b602060405180830381865afa158015620013c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013e79190620051b4565b60fb54620013f691906200514b565b6200140291906200520c565b9050808260fb546200141591906200522f565b6200142191906200522f565b935050505090565b61010d60205281600052604060002081815481106200144757600080fd5b6000918252602090912001546001600160a01b03169150829050565b6200146e826200130f565b6200147981620037af565b620014858383620037bb565b505050565b62001494620033c8565b60fb8190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f9060200162000e2d565b600054610100900460ff1615808015620014eb5750600054600160ff909116105b80620015105750620014fd3062003845565b15801562001510575060005460ff166001145b620015795760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156200159d576000805461ff0019166101001790555b620015a88262003212565b620015b262003854565b620015bc62003888565b620015d8600080516020620061018339815191526000620038b2565b620015e78560200151620034c4565b620015f7856101000151620034c4565b84516200160490620034c4565b620016138560a00151620034c4565b6060850151156200162d576200162d8560c00151620034c4565b845161010780546001600160a01b039283166001600160a01b03199182161790915560208701516101058054919093169116179055604085015160000362001688576040516363868c5560e11b815260040160405180910390fd5b604085015160fb55606085015160fc5561014085015160ff805460ff191691151591909117905561012085015161010890620016c59082620052d3565b5061016085015161010990620016dc9082620052d3565b5060a085015161010080546001600160a01b03199081166001600160a01b0393841617825560c088015160ff8054610100600160a81b031916918516840291909117905590870151610106805490921692811692909217905562001751906000805160206200610183398151915290620037bb565b61010760009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620017cc91906200539f565b61010480546001600160a01b0319166001600160a01b0392831617905561010654606091163b60000362001858576040805160038082526080820190925290602082016060803683370190505090503381600081518110620018325762001832620053bf565b60200260200101906001600160a01b031690816001600160a01b03168152505062001995565b610106546040805163a0e67e2b60e01b815290516000926001600160a01b03169163a0e67e2b91600480830192869291908290030181865afa158015620018a3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620018cd9190810190620053d5565b905080516002620018df91906200522f565b6001600160401b03811115620018f957620018f962004772565b60405190808252806020026020018201604052801562001923578160200160208202803683370190505b50915060005b81518110156200199257818181518110620019485762001948620053bf565b6020026020010151838281518110620019655762001965620053bf565b6001600160a01b03909216602092830291909101909101528062001989816200546e565b91505062001929565b50505b6101065481516001600160a01b03909116908290620019b7906001906200548a565b81518110620019ca57620019ca620053bf565b60200260200101906001600160a01b031690816001600160a01b031681525050308160028351620019fc91906200548a565b8151811062001a0f5762001a0f620053bf565b6001600160a01b03928316602091820292909201015261010454608088015160e0890151604051633a92f65f60e01b81529290931692633a92f65f9262001a62929161010891309088906004016200558c565b6020604051808303816000875af115801562001a82573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001aa89190620051b4565b60fe55805162001ac19061010f90602084019062004588565b5061010280546001600160a01b038088166001600160a01b03199283161790925561010180549287169290911691909117905560fe5460e08701516040517f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed032059262001b339290916101089190620055ec565b60405180910390a150801562001b83576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b62001b9462003405565b33600081815261010c602052604081206101005490916001600160a01b039091169062001bc561271060646200514b565b60fc5460fb5462001bd791906200514b565b62001be391906200520c565b9050600062001bf661271060646200514b565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c9062001c2490309060040162004736565b602060405180830381865afa15801562001c42573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001c689190620051b4565b60fb5462001c7791906200514b565b62001c8391906200520c565b905062001c908562002fb1565b62001dda5760028401805460ff1916600190811790915560fb5490850181905562001cea9086903090849062001cc89087906200522f565b62001cd491906200522f565b610105546001600160a01b031692919062003907565b811562001d175760ff546101055462001d17916001600160a01b0391821691610100909104168462003963565b801562001d9c5762001d9c836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001d61573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001d8791906200539f565b610105546001600160a01b0316908362003963565b7f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f76898560fb5460405162001dd19291906200519b565b60405180910390a15b505050505062001dea6001606555565b565b6001600160a01b038116331462001e5e5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b606482015260840162001570565b620011b7828262003985565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001eb55760405162461bcd60e51b815260040162001570906200561b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001ee9620039ef565b6001600160a01b03161462001f125760405162461bcd60e51b8152600401620015709062005656565b62001f1d8162003a0c565b60408051600080825260208201909252620011d09183919062003a4e565b62001f45620033c8565b62001f5081620034c4565b61010380546001600160a01b0319166001600160a01b03838116918217909255610106546040517f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89362000e2d9392169190620051f2565b600062001fde8260405160200162001fc1919062005691565b604051602081830303815290604052805190602001208462002f86565b9392505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620020305760405162461bcd60e51b815260040162001570906200561b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662002064620039ef565b6001600160a01b0316146200208d5760405162461bcd60e51b8152600401620015709062005656565b620020988262003a0c565b620011b78282600162003a4e565b610102546101075461010154600092839283926001600160a01b039283169263184b955960e01b9281169116620020dc62002eeb565b604051602401620020f093929190620056ae565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516200212f90620045ee565b6200213c929190620056d1565b604051809103906000f08015801562002159573d6000803e3d6000fd5b5090506200216a8187878762003279565b9250925050935093915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620022145760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840162001570565b506000805160206200616883398151915290565b6200223262003405565b6200223c62003bc6565b33600081815261010d6020908152604080832080548251818502810185019093528083529192909190830182828015620022a057602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162002281575b50505050509050600080600090505b8251811015620023db57828181518110620022ce57620022ce620053bf565b60200260200101516001600160a01b031663782aadff85876040518363ffffffff1660e01b8152600401620023059291906200519b565b6020604051808303816000875af115801562002325573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200234b9190620051b4565b91508115620023c6576001600160a01b038416600090815261010b602052604081208451849290869085908110620023875762002387620053bf565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000828254620023c091906200522f565b90915550505b80620023d2816200546e565b915050620022af565b5061010554620023f7906001600160a01b031684308762003907565b6001600160a01b038316600090815261010c602052604081206001018054869290620024259084906200522f565b90915550506040517f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f906200245e90859087906200519b565b60405180910390a1505050620011d06001606555565b610102546101075461010154600092839283926001600160a01b039283169263184b955960e01b9281169116620024aa62002eeb565b604051602401620024be93929190620056ae565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051620024fd90620045ee565b6200250a929190620056d1565b604051809103906000f08015801562002527573d6000803e3d6000fd5b509050620025388187878762002d5e565b60c087015191945092506001600160a01b031662002668576103e88560e00151511115620025c15760405162461bcd60e51b815260206004820152602f60248201527f546f6f206d616e7920696e697469616c20616c6c6f776c697374206d656d626560448201526e072732c206d6178206973203130303608c1b606482015260840162001570565b600083604051602001620025d6919062005691565b60405160208183030381529060405280519060200120905060005b8660e001515181101562002665576200262460405180606001604052806027815260200162006121602791398662003bef565b62002650828860e001518381518110620026425762002642620053bf565b6020026020010151620037bb565b806200265c816200546e565b915050620025f1565b50505b620026c4836040516020016200267f919062005691565b6040516020818303038152906040528051906020012084604051602001620026a89190620056f7565b60405160208183030381529060405280519060200120620038b2565b620026f883604051602001620026db9190620056f7565b6040516020818303038152906040528051906020012083620037bb565b50935093915050565b6200270b62003405565b6200271562003bc6565b33600081815261010d6020908152604080832060fb5461010c9093529083206001015490929190620027499086906200548a565b10156200276957604051634e23e81760e11b815260040160405180910390fd5b6101055462002783906001600160a01b0316848662003963565b60005b825481101562002a33576000838281548110620027a757620027a7620053bf565b6000918252602090912001546001600160a01b03169050620027d18163f1801e6160e01b62003c38565b156200295757604051632ed04b2b60e01b81526001600160a01b03821690632ed04b2b90620028079088908a906004016200519b565b6020604051808303816000875af115801562002827573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200284d9190620051b4565b9250600061010b6000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815481106200288e576200288e620053bf565b60009182526020808320909101546001600160a01b03168352820192909252604001902054905080841115620028e2576040516311423e6360e31b8152600481018590526024810182905260440162001570565b6001600160a01b038616600090815261010b602052604081208654869290889087908110620029155762002915620053bf565b60009182526020808320909101546001600160a01b03168352820192909252604001812080549091906200294b9084906200548a565b90915550505062002a1d565b8354849062002969906001906200548a565b815481106200297c576200297c620053bf565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110620029af57620029af620053bf565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480620029f057620029f06200571a565b600082815260209020810160001990810180546001600160a01b031916905501905562002a1d81620034f3565b508062002a2a816200546e565b91505062002786565b506001600160a01b038316600090815261010c60205260408120600101805486929062002a629084906200548a565b90915550506040517f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8906200245e90859087906200519b565b62002aa562003405565b62002aaf620033c8565b60ff80541662002ad2576040516365b1ee3960e11b815260040160405180910390fd5b62002add8262002fb1565b62002afb57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159082015262002b4c8362003c59565b6001600160a01b03808416600090815261010c60209081526040822080546001600160a01b031916815560018101929092556002909101805460ff191690558201516101055462002ba1921690849062003963565b7fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a38383836020015160405162002bda93929190620051ce565b60405180910390a150620011b76001606555565b62002bf862003551565b62001dea600062003d6e565b62002c0e620033c8565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801562002c5a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002c84919081019062005730565b60200151905062002c9581620034c4565b620011b781620034f3565b62002caa620033c8565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801562002cf6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002d20919081019062005730565b60200151905062002d3181620034c4565b62002d4d6001600160a01b03821663f1801e6160e01b62003c38565b15620011b757620011b781620035b4565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0386161562002d895750845b869150600061010f80548060200260200160405190810160405280929190818152602001828054801562002de757602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162002dc8575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062002e1f908b90602001620058fb565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b815260040162002e579796959493929190620059a4565b6020604051808303816000875af115801562002e77573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e9d9190620051b4565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a8960405162002ed895949392919062005a15565b60405180910390a1505094509492505050565b60008062002f016033546001600160a01b031690565b9050806001600160a01b03163b60000362002f1b57919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562002f78575060408051601f3d908101601f1916820190925262002f75918101906200539f565b60015b62000dbc57919050565b5090565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6001600160a01b03908116600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b6200300562003551565b61010180546001600160a01b0319166001600160a01b0392909216919091179055565b610103546001600160a01b0316331462003055576040516375e686b760e11b815260040160405180910390fd5b62001dea62003dc0565b61010980546200306f9062005245565b80601f01602080910402602001604051908101604052809291908181526020018280546200309d9062005245565b8015620030ee5780601f10620030c257610100808354040283529160200191620030ee565b820191906000526020600020905b815481529060010190602001808311620030d057829003601f168201915b505050505081565b6200310062003405565b336200310c8162003460565b620031178162003c59565b6001600160a01b03808216600081815261010c602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945561010d90529182209091620031929190620045fc565b602081015161010554620031b4916001600160a01b0390911690849062003963565b7fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4828260200151604051620031eb9291906200519b565b60405180910390a1505062001dea6001606555565b6200320f612710600a6200514b565b81565b600054610100900460ff166200323c5760405162461bcd60e51b8152600401620015709062005a51565b620011d08162003d6e565b61010880546200306f9062005245565b62003262826200130f565b6200326d81620037af565b62001485838362003985565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b03861615620032a45750845b869150600061010f8054806020026020016040519081016040528092919081815260200182805480156200330257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620032e3575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062002e1f908b9060200162005a9c565b600062000dbc600080516020620061018339815191528362002f86565b6200336162003551565b6001600160a01b0381166200323c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162001570565b620033e3600080516020620061018339815191523362002f86565b62001dea573360405163fc4be72f60e01b815260040162001570919062004736565b600260655403620034595760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640162001570565b6002606555565b6200346b8162002fb1565b620011d057604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090205460ff16620011d0576040516346c26e4b60e01b815260040160405180910390fd5b6001600160a01b038116620011d0576040516303988b8160e61b815260040160405180910390fd5b6001606555565b620034fe81620034c4565b6001600160a01b038116600090815261010a602052604090819020805460ff19169055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49062000e2d90839062004736565b336200355c62002eeb565b6001600160a01b03161462001dea5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162001570565b6001600160a01b038116600090815261010a602052604090205460ff1615620035f0576040516325a2934b60e21b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090819020805460ff19166001179055517f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19062000e2d90839062004736565b806001600160a01b0316826001600160a01b031614620011b75760405163bbe7961160e01b815260040160405180910390fd5b6001600160a01b038216600090815261010d60205260408120905b8154811015620037a957826001600160a01b0316828281548110620036bd57620036bd620053bf565b6000918252602090912001546001600160a01b031603620037945781548290620036ea906001906200548a565b81548110620036fd57620036fd620053bf565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110620037305762003730620053bf565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550818054806200377157620037716200571a565b600082815260209020810160001990810180546001600160a01b03191690550190555b80620037a0816200546e565b91505062003694565b50505050565b620011d0813362003e24565b620037c7828262002f86565b620011b757600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620038013390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6001600160a01b03163b151590565b600054610100900460ff166200387e5760405162461bcd60e51b8152600401620015709062005a51565b62001dea62003e88565b600054610100900460ff1662001dea5760405162461bcd60e51b8152600401620015709062005a51565b6000620038bf836200130f565b600084815260c96020526040808220600101859055519192508391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b620037a9846323b872dd60e01b8585856040516024016200392b93929190620051ce565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003eb2565b620014858363a9059cbb60e01b84846040516024016200392b9291906200519b565b62003991828262002f86565b15620011b757600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008051602062006168833981519152546001600160a01b031690565b3362003a1762002eeb565b6001600160a01b031614620011d0573362003a3162002eeb565b60405163163678e960e01b815260040162001570929190620051f2565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562003a8457620014858362003f8e565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562003ae1575060408051601f3d908101601f1916820190925262003ade91810190620051b4565b60015b62003b465760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840162001570565b60008051602062006168833981519152811462003bb85760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840162001570565b50620014858383836200402d565b62003bd13362002fb1565b62001dea57604051636a5cfb6d60e01b815260040160405180910390fd5b620011b7828260405160240162003c0892919062005b25565b60408051601f198184030181529190526020810180516001600160e01b03166309710a9d60e41b17905262004058565b600062003c458362004079565b801562001fde575062001fde8383620040b1565b6001600160a01b038116600090815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562003cc657602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003ca7575b5050505050905060005b8151811015620014855781818151811062003cef5762003cef620053bf565b60200260200101516001600160a01b0316636453d9c4846040518263ffffffff1660e01b815260040162003d24919062004736565b600060405180830381600087803b15801562003d3f57600080fd5b505af115801562003d54573d6000803e3d6000fd5b50505050808062003d65906200546e565b91505062003cd0565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610103805461010680546001600160a01b03199081166001600160a01b038416179091551690556040517fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729062003e1a9060009062004736565b60405180910390a1565b62003e30828262002f86565b620011b75762003e40816200413c565b62003e4d8360206200414f565b60405160200162003e6092919062005b49565b60408051601f198184030181529082905262461bcd60e51b82526200157091600401620050ad565b600054610100900460ff16620034ec5760405162461bcd60e51b8152600401620015709062005a51565b600062003f09826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316620043089092919063ffffffff16565b905080516000148062003f2d57508080602001905181019062003f2d919062005bbc565b620014855760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840162001570565b62003f998162003845565b62003ffd5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162001570565b6000805160206200616883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b620040388362004321565b600082511180620040465750805b156200148557620037a9838362004363565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006200408e826301ffc9a760e01b620040b1565b801562000dbc5750620040aa826001600160e01b0319620040b1565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562004124575060208210155b8015620041315750600081115b979650505050505050565b606062000dbc6001600160a01b03831660145b60606000620041608360026200514b565b6200416d9060026200522f565b6001600160401b0381111562004187576200418762004772565b6040519080825280601f01601f191660200182016040528015620041b2576020820181803683370190505b509050600360fc1b81600081518110620041d057620041d0620053bf565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110620042025762004202620053bf565b60200101906001600160f81b031916908160001a9053506000620042288460026200514b565b620042359060016200522f565b90505b6001811115620042b7576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106200426d576200426d620053bf565b1a60f81b828281518110620042865762004286620053bf565b60200101906001600160f81b031916908160001a90535060049490941c93620042af8162005bdc565b905062004238565b50831562001fde5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640162001570565b60606200431984846000856200438b565b949350505050565b6200432c8162003f8e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062001fde8383604051806060016040528060278152602001620061886027913962004463565b606082471015620043ee5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840162001570565b600080866001600160a01b031685876040516200440c919062005bf6565b60006040518083038185875af1925050503d80600081146200444b576040519150601f19603f3d011682016040523d82523d6000602084013e62004450565b606091505b50915091506200413187838387620044e1565b6060600080856001600160a01b03168560405162004482919062005bf6565b600060405180830381855af49150503d8060008114620044bf576040519150601f19603f3d011682016040523d82523d6000602084013e620044c4565b606091505b5091509150620044d786838387620044e1565b9695505050505050565b60608315620045555782516000036200454d57620044ff8562003845565b6200454d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162001570565b508162004319565b6200431983838151156200456c5781518083602001fd5b8060405162461bcd60e51b8152600401620015709190620050ad565b828054828255906000526020600020908101928215620045e0579160200282015b82811115620045e057825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620045a9565b5062002f8292915062004617565b6104ec8062005c1583390190565b5080546000825590600052602060002090810190620011d091905b5b8082111562002f82576000815560010162004618565b6000602082840312156200464157600080fd5b81356001600160e01b03198116811462001fde57600080fd5b6000602082840312156200466d57600080fd5b5035919050565b6001600160a01b0381168114620011d057600080fd5b8035620046978162004674565b919050565b60008060408385031215620046b057600080fd5b8235620046bd8162004674565b91506020830135620046cf8162004674565b809150509250929050565b600060208284031215620046ed57600080fd5b813562001fde8162004674565b600080604083850312156200470e57600080fd5b82356200471b8162004674565b946020939093013593505050565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b600080604083850312156200475e57600080fd5b823591506020830135620046cf8162004674565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715620047ad57620047ad62004772565b60405290565b60405161018081016001600160401b0381118282101715620047ad57620047ad62004772565b60405160c081016001600160401b0381118282101715620047ad57620047ad62004772565b60405161010081016001600160401b0381118282101715620047ad57620047ad62004772565b604051601f8201601f191681016001600160401b03811182821017156200484f576200484f62004772565b604052919050565b60006001600160401b0382111562004873576200487362004772565b50601f01601f191660200190565b600062004898620048928462004857565b62004824565b9050828152838383011115620048ad57600080fd5b828260208301376000602084830101529392505050565b600082601f830112620048d657600080fd5b62001fde8383356020850162004881565b600060408284031215620048fa57600080fd5b6200490462004788565b82358152905060208201356001600160401b038111156200492457600080fd5b6200493284828501620048c4565b60208301525092915050565b8015158114620011d057600080fd5b803562004697816200493e565b600080600080608085870312156200497157600080fd5b84356001600160401b03808211156200498957600080fd5b9086019061018082890312156200499f57600080fd5b620049a9620047b3565b620049b4836200468a565b8152620049c4602084016200468a565b6020820152604083013560408201526060830135606082015260808301356080820152620049f560a084016200468a565b60a082015262004a0860c084016200468a565b60c082015260e08301358281111562004a2057600080fd5b62004a2e8a828601620048e7565b60e08301525061010062004a448185016200468a565b90820152610120838101358381111562004a5d57600080fd5b62004a6b8b828701620048c4565b82840152505061014062004a818185016200494d565b90820152610160838101358381111562004a9a57600080fd5b62004aa88b828701620048c4565b82840152505080965050505062004ac2602086016200468a565b925062004ad2604086016200468a565b915062004ae2606086016200468a565b905092959194509250565b6000806040838503121562004b0157600080fd5b823562004b0e8162004674565b915060208301356001600160401b0381111562004b2a57600080fd5b8301601f8101851362004b3c57600080fd5b62004b4d8582356020840162004881565b9150509250929050565b60006080828403121562004b6a57600080fd5b604051608081016001600160401b038111828210171562004b8f5762004b8f62004772565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b8035600381106200469757600080fd5b60048110620011d057600080fd5b8035620046978162004bd0565b60006020828403121562004bfe57600080fd5b604051602081016001600160401b038111828210171562004c235762004c2362004772565b6040529135825250919050565b600060c0828403121562004c4357600080fd5b62004c4d620047d9565b9050813562004c5c8162004674565b8152602082013562004c6e8162004674565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b60006101e0828403121562004cb757600080fd5b60405160e081016001600160401b038111828210171562004cdc5762004cdc62004772565b60405290508062004cee848462004b57565b815262004cfe6080840162004bc0565b602082015260a083013562004d138162004bd0565b604082015262004d278460c0850162004beb565b606082015262004d3b8460e0850162004c30565b60808201526101a083013562004d518162004674565b60a082015262004d656101c084016200468a565b60c08201525092915050565b6000806000610220848603121562004d8857600080fd5b833562004d958162004674565b925062004da6856020860162004ca3565b91506102008401356001600160401b0381111562004dc357600080fd5b62004dd186828701620048e7565b9150509250925092565b60006001600160401b0382111562004df75762004df762004772565b5060051b60200190565b600082601f83011262004e1357600080fd5b8135602062004e26620048928362004ddb565b82815260059290921b8401810191818101908684111562004e4657600080fd5b8286015b8481101562004e6e57803562004e608162004674565b835291830191830162004e4a565b509695505050505050565b6000610200828403121562004e8d57600080fd5b62004e97620047fe565b905062004ea5838362004b57565b815262004eb56080830162004bc0565b602082015262004ec860a0830162004bde565b604082015262004edc8360c0840162004beb565b606082015262004ef08360e0840162004c30565b608082015262004f046101a083016200468a565b60a082015262004f186101c083016200468a565b60c08201526101e08201356001600160401b0381111562004f3857600080fd5b62004f468482850162004e01565b60e08301525092915050565b60008060006060848603121562004f6857600080fd5b833562004f758162004674565b925060208401356001600160401b038082111562004f9257600080fd5b62004fa08783880162004e79565b9350604086013591508082111562004fb757600080fd5b5062004dd186828701620048e7565b6000806000806080858703121562004fdd57600080fd5b843562004fea8162004674565b9350602085013562004ffc8162004674565b925060408501356001600160401b03808211156200501957600080fd5b620050278883890162004e79565b935060608701359150808211156200503e57600080fd5b506200504d87828801620048e7565b91505092959194509250565b60005b83811015620050765781810151838201526020016200505c565b50506000910152565b600081518084526200509981602086016020860162005059565b601f01601f19169290920160200192915050565b60208152600062001fde60208301846200507f565b6000806000806102408587031215620050da57600080fd5b8435620050e78162004674565b93506020850135620050f98162004674565b92506200510a866040870162004ca3565b91506102208501356001600160401b038111156200512757600080fd5b6200504d87828801620048e7565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000dbc5762000dbc62005135565b634e487b7160e01b600052602160045260246000fd5b6000602082840312156200518e57600080fd5b815162001fde8162004bd0565b6001600160a01b03929092168252602082015260400190565b600060208284031215620051c757600080fd5b5051919050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0392831681529116602082015260400190565b6000826200522a57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000dbc5762000dbc62005135565b600181811c908216806200525a57607f821691505b6020821081036200527b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200148557600081815260208120601f850160051c81016020861015620052aa5750805b601f850160051c820191505b81811015620052cb57828155600101620052b6565b505050505050565b81516001600160401b03811115620052ef57620052ef62004772565b620053078162005300845462005245565b8462005281565b602080601f8311600181146200533f5760008415620053265750858301515b600019600386901b1c1916600185901b178555620052cb565b600085815260208120601f198616915b8281101562005370578886015182559484019460019091019084016200534f565b50858210156200538f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620053b257600080fd5b815162001fde8162004674565b634e487b7160e01b600052603260045260246000fd5b60006020808385031215620053e957600080fd5b82516001600160401b038111156200540057600080fd5b8301601f810185136200541257600080fd5b805162005423620048928262004ddb565b81815260059190911b820183019083810190878311156200544357600080fd5b928401925b82841015620041315783516200545e8162004674565b8252928401929084019062005448565b60006001820162005483576200548362005135565b5060010190565b8181038181111562000dbc5762000dbc62005135565b60008154620054af8162005245565b808552602060018381168015620054cf5760018114620054ea576200551a565b60ff1985168884015283151560051b8801830195506200551a565b866000528260002060005b85811015620055125781548a8201860152908301908401620054f5565b890184019650505b505050505092915050565b8051825260006020820151604060208501526200431960408501826200507f565b600081518084526020808501945080840160005b83811015620055815781516001600160a01b0316875295820195908201906001016200555a565b509495945050505050565b85815260a060208201526000620055a760a0830187620054a0565b8281036040840152620055bb818762005525565b6001600160a01b038616606085015283810360808501529050620055e0818562005546565b98975050505050505050565b838152606060208201526000620056076060830185620054a0565b8281036040840152620044d7818562005525565b6020808252602c908201526000805160206200614883398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206200614883398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6810531313d5d31254d560ba1b8152600981019190915260290190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b038316815260406020820181905260009062004319908301846200507f565b6e20a62627aba624a9aa2fa0a226a4a760891b8152600f810191909152602f0190565b634e487b7160e01b600052603160045260246000fd5b600060208083850312156200574457600080fd5b82516001600160401b03808211156200575c57600080fd5b9084019060c082870312156200577157600080fd5b6200577b620047d9565b82518152838301516200578e8162004674565b818501526040830151620057a28162004674565b6040820152606083015182811115620057ba57600080fd5b830160408189031215620057cd57600080fd5b620057d762004788565b815181528582015184811115620057ed57600080fd5b82019350601f840189136200580157600080fd5b8351915062005814620048928362004857565b82815289878487010111156200582957600080fd5b6200583a8388830189880162005059565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b805182526020810151602083015260408101516040830152606081015160608301525050565b600381106200589f576200589f62005165565b9052565b600481106200589f576200589f62005165565b80516001600160a01b0390811683526020808301519091169083015260408082015190830152606080820151908301526080808201519083015260a090810151910152565b602081526200590f60208201835162005866565b600060208301516200592560a08401826200588c565b5060408301516200593a60c0840182620058a3565b5060608301515160e083015260808301516200595b610100840182620058b6565b5060a0830151620059716101c084018262004729565b5060c0830151620059876101e084018262004729565b5060e0830151610200838101526200431961022084018262005546565b878152600060018060a01b03808916602084015260e06040840152620059ce60e08401896200507f565b818816606085015286608085015283810360a0850152620059f0818762005525565b91505082810360c084015262005a07818562005546565b9a9950505050505050505050565b8581526001600160a01b03858116602083015284811660408301528316606082015260a060808201819052600090620041319083018462005525565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006101e08201905062005ab282845162005866565b602083015162005ac660808401826200588c565b50604083015162005adb60a0840182620058a3565b5060608301515160c0830152608083015162005afb60e0840182620058b6565b5060a08301516001600160a01b039081166101a084015260c0909301519092166101c09091015290565b60408152600062005b3a60408301856200507f565b90508260208301529392505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81526000835162005b7d81601785016020880162005059565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835162005bb081602884016020880162005059565b01602801949350505050565b60006020828403121562005bcf57600080fd5b815162001fde816200493e565b60008162005bee5762005bee62005135565b506000190190565b6000825162005c0a81846020870162005059565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212206e93027ee8ff60c4973ac058d4e8a46f5d5981513eccfc75ff619ec5718959a664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656403be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa4772616e74696e6720726f6c65207769746820706f6f6c20696420696e2072656769737472793a46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e28c12d767b3bea1fd08a5c25c029db44202b7632cee5dceb1a4d2cc2c84ebaf64736f6c6343000813003360a06040523060805234801561001457600080fd5b506080516170726200004d600039600081816118a1015281816118e101528181611980015281816119c00152611a3801526170726000f3fe60806040526004361061036e5760003560e01c8063013cf08b1461037757806301ffc9a7146103b9578063059351cd146103e9578063062f9ece146104765780630a6f0ee9146104965780630ba95909146104b65780630bece79c146104d55780630c0512e9146105025780630f529ba214610518578063125fd1d91461052f57806315cc481e14610545578063184b9559146105635780631aa91a9e146105835780631ddf1e23146105a35780632506b870146105b8578063255ffb38146105fb5780632bbe0cae146106285780632dbd6fdd1461063b5780632ed04b2b14610667578063311a6c561461068757806333960459146106a7578063346db8cb146106bd578063351d9f96146106dd5780633659cfe61461070457806338fff2d014610724578063406244d81461073957806341bb76051461074e57806342fda9c7146107ab57806348f19c1d146107c05780634ab4ba42146107d55780634d31d087146107ea5780634f1ef2861461080a57806352d1902d1461081d57806359a5db8b146108325780635db64b991461085257806360d5dedc1461087f578063626c47e81461089f5780636453d9c4146108b45780636a6f69b4146107c0578063715018a6146108d45780637263cfe2146108e9578063782aadff14610909578063814516ad14610929578063817b1cd21461093e578063824ea8ed14610954578063868c57b8146109745780638da5cb5b14610994578063948e7a59146109a9578063950559d7146109c95780639a1c157c146109e9578063a0cf0aea146109fe578063a28889e114610a26578063a47ff7e514610a5e578063a51312c814610a75578063a574cea414610a95578063aba9ffee14610ac2578063ac1ed7b914610ad8578063b0d3713a14610af8578063b2b878d014610b18578063b41596ec14610b45578063b5f620ce14610b58578063b6c61f3114610b78578063bcc5b93b14610b98578063c329217114610bb8578063c4d66de814610bd5578063c7f758a814610bf5578063d1e3623214610c2c578063dc96ff2d14610c41578063df868ed314610c71578063e0a8f6f514610c86578063e0dd2c3814610ca6578063eb11af9314610cc6578063edd146cc14610cee578063ef2920fc14610d0e578063f2fde38b14610d21578063f5b0dfb714610d41578063f5be3f7c14610d61578063ffa1ad7414610d7757005b3661037557005b005b34801561038357600080fd5b506103976103923660046157d0565b610db3565b6040516103b09d9c9b9a9998979695949392919061588b565b60405180910390f35b3480156103c557600080fd5b506103d96103d436600461592d565b610f01565b60405190151581526020016103b0565b3480156103f557600080fd5b5061043e606f546000908152607f60205260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169694909316949193909290565b604080516001600160a01b039788168152969095166020870152938501929092526060840152608083015260a082015260c0016103b0565b34801561048257600080fd5b50610375610491366004615b13565b610f38565b3480156104a257600080fd5b506103756104b1366004615c60565b610f4e565b3480156104c257600080fd5b506077545b6040519081526020016103b0565b3480156104e157600080fd5b506079546104f5906001600160a01b031681565b6040516103b09190615cd7565b34801561050e57600080fd5b506104c7606e5481565b34801561052457600080fd5b506104c76298968081565b34801561053b57600080fd5b506104c7606f5481565b34801561055157600080fd5b506065546001600160a01b03166104f5565b34801561056f57600080fd5b5061037561057e366004615ceb565b610f6e565b34801561058f57600080fd5b506104c761059e3660046157d0565b6110ce565b3480156105af57600080fd5b50610375611118565b3480156105c457600080fd5b506072546073546074546075546105db9392919084565b6040805194855260208501939093529183015260608201526080016103b0565b34801561060757600080fd5b506104c76106163660046157d0565b607e6020526000908152604090205481565b6104f5610636366004615d2b565b611123565b34801561064757600080fd5b5060765461065a90610100900460ff1681565b6040516103b09190615d90565b34801561067357600080fd5b506104c7610682366004615d9e565b611146565b34801561069357600080fd5b506103756106a2366004615dca565b61120a565b3480156106b357600080fd5b506104c7606c5481565b3480156106c957600080fd5b506104c76106d8366004615dec565b6117fc565b3480156106e957600080fd5b506076546106f79060ff1681565b6040516103b09190615e28565b34801561071057600080fd5b5061037561071f366004615e36565b611897565b34801561073057600080fd5b506068546104c7565b34801561074557600080fd5b506104c7600a81565b34801561075a57600080fd5b5061043e6107693660046157d0565b607f602052600090815260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169593909416939192909186565b3480156107b757600080fd5b506066546104c7565b3480156107cc57600080fd5b506104f561195f565b3480156107e157600080fd5b506069546104c7565b3480156107f657600080fd5b506103d9610805366004615e36565b61196e565b610375610818366004615e53565b611976565b34801561082957600080fd5b506104c7611a2b565b34801561083e57600080fd5b506104c761084d3660046157d0565b611ad9565b34801561085e57600080fd5b506104c761086d366004615e36565b607c6020526000908152604090205481565b34801561088b57600080fd5b5061037561089a366004615ea2565b611bf3565b3480156108ab57600080fd5b506104c7600381565b3480156108c057600080fd5b506103756108cf366004615e36565b611c6f565b3480156108e057600080fd5b50610375611c80565b3480156108f557600080fd5b50610375610904366004615efd565b611c92565b34801561091557600080fd5b506104c7610924366004615d9e565b611ca3565b34801561093557600080fd5b50610375611e39565b34801561094a57600080fd5b506104c760705481565b34801561096057600080fd5b506103d961096f3660046157d0565b611f56565b34801561098057600080fd5b506104c761098f366004615d9e565b611fb3565b3480156109a057600080fd5b506104f5611fe4565b3480156109b557600080fd5b506103756109c4366004615f31565b612075565b3480156109d557600080fd5b506104c76109e43660046157d0565b612089565b3480156109f557600080fd5b506074546104c7565b348015610a0a57600080fd5b506104f573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b348015610a3257600080fd5b50606d54610a46906001600160401b031681565b6040516001600160401b0390911681526020016103b0565b348015610a6a57600080fd5b506077546104c79081565b348015610a8157600080fd5b50610375610a90366004615efd565b6120b3565b348015610aa157600080fd5b50610ab5610ab03660046157d0565b6120c4565b6040516103b09190615fba565b348015610ace57600080fd5b506104c760715481565b348015610ae457600080fd5b50610375610af3366004615e36565b6121a3565b348015610b0457600080fd5b50610375610b13366004615e36565b6121d6565b348015610b2457600080fd5b50610b38610b33366004615fcd565b612200565b6040516103b091906160a1565b6104c7610b5336600461613a565b61221b565b348015610b6457600080fd5b50610375610b733660046161c1565b61256d565b348015610b8457600080fd5b50607a546104f5906001600160a01b031681565b348015610ba457600080fd5b506104c7610bb3366004615e36565b612576565b348015610bc457600080fd5b50607654610100900460ff1661065a565b348015610be157600080fd5b50610375610bf0366004615e36565b612591565b348015610c0157600080fd5b50610c15610c103660046157d0565b6125c1565b6040516103b09b9a999897969594939291906161de565b348015610c3857600080fd5b506071546104c7565b348015610c4d57600080fd5b506104c7610c5c3660046157d0565b6000908152607b602052604090206002015490565b348015610c7d57600080fd5b506103d96126cd565b348015610c9257600080fd5b50610375610ca13660046157d0565b6126e0565b348015610cb257600080fd5b506104c7610cc136600461624d565b612865565b348015610cd257600080fd5b50610ce1610805366004615e36565b6040516103b09190616272565b348015610cfa57600080fd5b50610375610d09366004616285565b612890565b610375610d1c366004615d2b565b612a81565b348015610d2d57600080fd5b50610375610d3c366004615e36565b612aa5565b348015610d4d57600080fd5b50610375610d5c3660046157d0565b612b12565b348015610d6d57600080fd5b506104c7611c2081565b348015610d8357600080fd5b50610da6604051806040016040528060038152602001620302e360ec1b81525081565b6040516103b091906162b5565b607b602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610e3a906162c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610e66906162c8565b8015610eb35780601f10610e8857610100808354040283529160200191610eb3565b820191906000526020600020905b815481529060010190602001808311610e9657829003601f168201915b50505091909252505060408051606081018252600c8501548152600d8501546020820152600e8501546001600160a01b031691810191909152600f840154601090940154929390929091508d565b60006001600160e01b0319821663f1801e6160e01b1480610f3257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610f40612b3b565b610f4a8282612bd5565b5050565b610f56612f4a565b610f5e612f75565b610f69838383612f98565b505050565b600054610100900460ff1615808015610f8e5750600054600160ff909116105b80610faf5750610f9d306132a2565b158015610faf575060005460ff166001145b6110175760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801561103a576000805461ff0019166101001790555b611067846040518060400160405280600a8152602001694356537472617465677960b01b81525084611bf3565b606a80546001600160a01b0319166001600160a01b03851617905580156110c8576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b6000818152607b60205260408120805483146111005760405163c1d17bef60e01b81526004810184905260240161100e565b61110e8182600201546132b1565b6003015492915050565b611121336132ec565b565b600061112d612f4a565b611135612f75565b61113f8383613418565b9392505050565b6000611150613806565b60006002607654610100900460ff166003811115611170576111706157f6565b148061119757506001607654610100900460ff166003811115611195576111956157f6565b145b156111a35750816111b0565b6111ad8484613831565b90505b80607160008282546111c29190616312565b90915550506040517f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1906111fb90869086908590616325565b60405180910390a19392505050565b6000828152607e6020908152604080832054808452607b835281842060108101548552607f8452828520835160c08101855281546001600160a01b03908116825260018301541695810195909552600281015493850193909352600383015460608501526004830154608085015260059092015460a0840152929091908390036112aa5760405163c1d17bef60e01b81526004810184905260240161100e565b6005600883015460ff1660068111156112c5576112c56157f6565b146112e657604051634b011ca960e11b81526004810184905260240161100e565b60a0810151600d8301546000916112fc91616346565b42119050801581611317575081516001600160a01b03163314155b1561133557604051631777988560e11b815260040160405180910390fd5b808061133f575084155b1561148857816080015160000361136957604051630dd466dd60e41b815260040160405180910390fd5b81608001516001036113855760088301805460ff191660011790555b81608001516002036114125760088301805460ff191660061790556079546005840154604084810151905163099ea56b60e41b81526001600160a01b03938416936399ea56b0936113df938a939290911691600401616359565b600060405180830381600087803b1580156113f957600080fd5b505af115801561140d573d6000803e3d6000fd5b505050505b607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b093611451938a939290911691600401616359565b600060405180830381600087803b15801561146b57600080fd5b505af115801561147f573d6000803e3d6000fd5b50505050611765565b846001036115495760088301805460ff19166001179055607954600e8401546001600160a01b0391821691638969ab53918791166114c461195f565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115259190616378565b86606001516040518563ffffffff1660e01b81526004016114519493929190616395565b846002036117655760088301805460ff19166006179055607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b09361159f938a939290911691600401616359565b600060405180830381600087803b1580156115b957600080fd5b505af11580156115cd573d6000803e3d6000fd5b505060795460058601546001600160a01b039182169350638969ab5392508791166115f661195f565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611633573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116579190616378565b606f546000908152607f6020526040902060029081015461167891906163d0565b6040518563ffffffff1660e01b81526004016116979493929190616395565b600060405180830381600087803b1580156116b157600080fd5b505af11580156116c5573d6000803e3d6000fd5b50506079546005860154600e870154606f546000908152607f602052604090206002908101546001600160a01b039485169650638969ab5395508a94938416939092169161171391906163d0565b6040518563ffffffff1660e01b81526004016117329493929190616395565b600060405180830381600087803b15801561174c57600080fd5b505af1158015611760573d6000803e3d6000fd5b505050505b606d80546001600160401b031690600061177e836163f2565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550504283600f01819055508582600001516001600160a01b03167f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e75622276876040516117ec91815260200190565b60405180910390a3505050505050565b607454600090849082906118219061181b90629896809060801b6163d0565b83613a34565b905060806001607f1b6072600201546298968061183e9190616312565b61184c84600160801b616312565b6118596298968089616415565b6118639190616415565b61186d91906163d0565b6118778885616415565b6118819190616346565b61188b9190616346565b901c9695505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036118df5760405162461bcd60e51b815260040161100e9061642c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611911613adc565b6001600160a01b0316146119375760405162461bcd60e51b815260040161100e90616466565b61194081613af8565b6040805160008082526020820190925261195c91839190613b33565b50565b6078546001600160a01b031690565b600080610f32565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036119be5760405162461bcd60e51b815260040161100e9061642c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166119f0613adc565b6001600160a01b031614611a165760405162461bcd60e51b815260040161100e90616466565b611a1f82613af8565b610f4a82826001613b33565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611ac65760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840161100e565b50600080516020616fd683398151915290565b60008060695411611afd5760405163ed4421ad60e01b815260040160405180910390fd5b611b0682613c9e565b15611b2457604051630efd728560e21b815260040160405180910390fd5b606954600090611b3884600160401b616415565b611b4291906163d0565b6072546298968090611b5890600160401b616415565b611b6291906163d0565b611b6c9190616312565b90506040611b7960715490565b607454611b899062989680616312565b629896806040611b998680616415565b607354911c90611bb090629896809060801b6163d0565b611bba91906163d0565b611bc49190616415565b611bce91906163d0565b611bd89190616415565b607554911c92508211611bed5760755461113f565b50919050565b600054610100900460ff16611c1a5760405162461bcd60e51b815260040161100e906164a0565b611c2381612591565b606580546001600160a01b0319166001600160a01b038516179055604051611c4f9083906020016162b5565b60408051601f198184030181529190528051602090910120606655505050565b611c77613806565b61195c816132ec565b611c88613cc5565b6111216000613d24565b611c9a612b3b565b61195c81613d76565b6000611cad613806565b611cb683614016565b611cd357604051630b72d6b160e31b815260040160405180910390fd5b60006002607654610100900460ff166003811115611cf357611cf36157f6565b03611d0157825b9050611d5e565b6001607654610100900460ff166003811115611d1f57611d1f6157f6565b03611d2e57611cfa84846141c4565b6003607654610100900460ff166003811115611d4c57611d4c6157f6565b03611d5e57611d5b848461426d565b90505b6000611d6861195f565b6001600160a01b031663477a5cc086306040518363ffffffff1660e01b8152600401611d959291906164eb565b602060405180830381865afa158015611db2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dd69190616505565b90508015611df6578160716000828254611df09190616346565b90915550505b7f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a858584604051611e2993929190616325565b60405180910390a1509392505050565b33611e4381614016565b611e6057604051630b72d6b160e31b815260040160405180910390fd5b611e6861195f565b6001600160a01b0316630d4a8b4982306040518363ffffffff1660e01b8152600401611e959291906164eb565b600060405180830381600087803b158015611eaf57600080fd5b505af1158015611ec3573d6000803e3d6000fd5b50505050611ecf61195f565b6001600160a01b0316637817ee4f82306040518363ffffffff1660e01b8152600401611efc9291906164eb565b602060405180830381865afa158015611f19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f3d9190616522565b60716000828254611f4e9190616346565b909155505050565b6000818152607b60205260408120600281015482908190611f7890849061446e565b91509150816000148015611f8a575080155b15611f9757826003015491505b6000611fa68460010154611ad9565b9092101595945050505050565b607d6020528160005260406000208181548110611fcf57600080fd5b90600052602060002001600091509150505481565b600080611ff96033546001600160a01b031690565b9050806001600160a01b03163b60000361201257919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561206c575060408051601f3d908101601f1916820190925261206991810190616378565b60015b610f3257919050565b61207d612b3b565b6110c8848484846144c6565b60745460009061209c9062989680616312565b6120a96298968084616415565b610f3291906163d0565b6120bb612b3b565b61195c816144de565b6040805180820190915260008152606060208201526000607b6000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054612119906162c8565b80601f0160208091040260200160405190810160405280929190818152602001828054612145906162c8565b80156121925780601f1061216757610100808354040283529160200191612192565b820191906000526020600020905b81548152906001019060200180831161217557829003601f168201915b505050505081525050915050919050565b6121ab612b3b565b6121b481614695565b607a80546001600160a01b0319166001600160a01b0392909216919091179055565b6121de613cc5565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b606060405163d623472560e01b815260040160405180910390fd5b6000858152607b6020908152604080832060108101548452607f8352818420825160c08101845281546001600160a01b0390811680835260018401549091169582019590955260028201549381019390935260038101546060840152600481015460808401526005015460a0830152916122a857604051636c291fd360e01b815260040160405180910390fd5b815488146122cc5760405163c1d17bef60e01b81526004810189905260240161100e565b6001600883015460ff1660068111156122e7576122e76157f6565b14612308576040516344980d8f60e01b81526004810189905260240161100e565b8060600151341015612334576060810151604051632c1f8ef160e21b815261100e91349160040161654b565b600f82015415801590612357575042611c2083600f01546123559190616346565b115b15612395578742611c2084600f01546123709190616346565b61237a9190616312565b604051638d2f6c3160e01b815260040161100e92919061654b565b60008160600151346123a79190616312565b607954606084015160405163240ff7c560e11b81529293506001600160a01b039091169163481fef8a91906123e2908d903390600401616559565b6000604051808303818588803b1580156123fb57600080fd5b505af115801561240f573d6000803e3d6000fd5b5050845160405163c13517e160e01b81526001600160a01b03909116935063c13517e1925084915061244a906003908b908b90600401616599565b60206040518083038185885af1158015612468573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061248d9190616522565b60088401805491955060059160ff19166001830217905550600c830184905542600d840155600e830180546001600160a01b031916331790556000848152607e602052604081208a9055606d80546001600160401b0316916124ee836165bc565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550507f034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d82600001518a86338c8c89600c016001015460405161255997969594939291906165ea565b60405180910390a150505095945050505050565b61195c816146bc565b6001600160a01b03166000908152607c602052604090205490565b600054610100900460ff166125b85760405162461bcd60e51b815260040161100e906164a0565b61195c81613d24565b600080600080600080600080600080600080607b60008e815260200190815260200160002090508060010154600014612606576126018160010154611ad9565b612609565b60005b93508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548b896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020548a601001549b509b509b509b509b509b509b509b509b509b509b505091939597999b90929496989a50565b60006126db60675460ff1690565b905090565b60016000828152607b602052604090206008015460ff166006811115612708576127086157f6565b14612729576040516344980d8f60e01b81526004810182905260240161100e565b6000818152607b60205260409020600501546001600160a01b03163314612782576000818152607b602052604090819020600501549051634544dc9160e11b815261100e916001600160a01b03169033906004016164eb565b6079546000828152607b6020908152604080832060058101546010909101548452607f9092529182902060020154915163099ea56b60e41b81526001600160a01b03938416936399ea56b0936127df938793921691600401616359565b600060405180830381600087803b1580156127f957600080fd5b505af115801561280d573d6000803e3d6000fd5b5050506000828152607b6020908152604091829020600801805460ff1916600317905590518381527f416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c9250015b60405180910390a150565b6000828152607b602090815260408083206001600160a01b038516845260090190915281205461113f565b612898612f4a565b6128a1826146fd565b606a54606c80546128ca926001600160a01b03169160006128c183616639565b9190505561474c565b607980546001600160a01b0319166001600160a01b039290921691821790556040805163204a7f0760e21b81529051638129fc1c9160048082019260009290919082900301818387803b15801561292057600080fd5b505af1158015612934573d6000803e3d6000fd5b5050505060008180602001905181019061294e91906167c5565b60a08101519091506001600160a01b031661297c57604051635df4b1ef60e01b815260040160405180910390fd5b60a0810151607880546001600160a01b0319166001600160a01b0390921691909117905560208101516076805460ff191660018360028111156129c1576129c16157f6565b021790555060408101516076805461ff0019166101008360038111156129e9576129e96157f6565b021790555060608101515160775560c0810151607a80546001600160a01b0319166001600160a01b039092169190911790556080810151815160408051600080825260208201908152818301909252612a439392916144c6565b7fa489767af337c1767e9c6949fc5a6d3a73bb69ea80a3e619c2e08b7b308d0bcf8382604051612a74929190616919565b60405180910390a1505050565b612a89612f4a565b612a91612f75565b612a9b828261479b565b610f4a82826147f7565b612aad613cc5565b6001600160a01b0381166125b85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161100e565b612b1a612f4a565b8060696000828254612b2c9190616346565b9091555061195c9050816148ea565b612b4361195f565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ba49190616378565b6001600160a01b0316336001600160a01b03161461112157604051637430763f60e11b815260040160405180910390fd5b60208201516001600160a01b031615801590612bfa575081516001600160a01b031615155b8015612ce35750606f546000908152607f6020908152604090912060010154908301516001600160a01b039081169116141580612c565750606f546000908152607f602052604090205482516001600160a01b03908116911614155b80612c7a5750606f546000908152607f602052604090819020600201549083015114155b80612c9d5750606f546000908152607f6020526040902060030154606083015114155b80612cc05750606f546000908152607f6020526040902060040154608083015114155b80612ce35750606f546000908152607f602052604090206005015460a083015114155b15612ef257602080830151606f546000908152607f9092526040909120600101546001600160a01b039081169116141580612d3d57508151606f546000908152607f60205260409020546001600160a01b03908116911614155b15612e06578151602083015160405163446adb9960e11b81526001600160a01b03909216916388d5b73291612d7491600401615cd7565b600060405180830381600087803b158015612d8e57600080fd5b505af1158015612da2573d6000803e3d6000fd5b5050835160208501516040517fdc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f9450612dfd9350309291906001600160a01b0393841681529183166020830152909116604082015260600190565b60405180910390a15b606f8054906000612e1683616639565b9091555050606f80546000908152607f6020908152604091829020855181546001600160a01b03199081166001600160a01b03928316908117845588850151600185018054909316931692831790915587850151600284018190556060808a0151600386018190556080808c01516004880181905560a0808e015160059099018990559a548a519081529889019590955297870194909452850152938301529281019190915260c08101919091527fe677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d539060e00160405180910390a15b805160725560208101516073556040808201516074556060820151607555517fec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc90612f3e9083906169f8565b60405180910390a15050565b6065546001600160a01b031633146111215760405163075fd2b160e01b815260040160405180910390fd5b60685460000361112157604051630f68fe6360e21b815260040160405180910390fd5b6000825111612fba57604051630317df1360e61b815260040160405180910390fd5b600082806020019051810190612fd09190616522565b905080600003612ff35760405163f881a10d60e01b815260040160405180910390fd5b6000818152607b60205260409020600160765460ff16600281111561301a5761301a6157f6565b0361329b57805482146130435760405163c1d17bef60e01b81526004810183905260240161100e565b6069548160010154111561307657818160010154606954604051632c31d85b60e11b815260040161100e93929190616a06565b6001600882015460ff166006811115613091576130916157f6565b146130b2576040516344980d8f60e01b81526004810183905260240161100e565b60006130bd836110ce565b905060006130ce8360010154611ad9565b905080821080156130e3575060008360010154115b156131015760405163199cf26160e31b815260040160405180910390fd5b60655460685460405163068bcd8d60e01b815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561314f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526131779190810190616aa9565b905083600101546069600082825461318f9190616312565b90915550506040810151600485015460018601546131b792916001600160a01b03169061491a565b60088401805460ff191660049081179091556079546005860154606f546000908152607f60205260409081902060020154905163099ea56b60e41b81526001600160a01b03938416946399ea56b094613217948c94911692909101616359565b600060405180830381600087803b15801561323157600080fd5b505af1158015613245573d6000803e3d6000fd5b505050600485015460018601546040517fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847935061328f9289926001600160a01b0390911691616359565b60405180910390a15050505b5050505050565b6001600160a01b03163b151590565b6000806132be848461446e565b915091508160001480156132d0575080155b156132db5750505050565b600784015560039092019190915550565b6132f461195f565b6001600160a01b0316637817ee4f82306040518363ffffffff1660e01b81526004016133219291906164eb565b602060405180830381865afa15801561333e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133629190616522565b607160008282546133739190616312565b90915550613381905061195f565b6001600160a01b03166322bcf99982306040518363ffffffff1660e01b81526004016133ae9291906164eb565b600060405180830381600087803b1580156133c857600080fd5b505af11580156133dc573d6000803e3d6000fd5b505050506133e981614954565b7f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b8160405161285a9190615cd7565b600061342382614016565b61344057604051630b72d6b160e31b815260040160405180910390fd5b6000838060200190518101906134569190616b5c565b805190915060000361347b5760405163273c8bc360e11b815260040160405180910390fd5b600160765460ff166002811115613494576134946157f6565b03613615576134a68160200151614695565b60608101516001600160a01b03166134d15760405163165a825360e21b815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613511573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135359190616378565b825160405163068bcd8d60e01b815260048101919091529091506000906001600160a01b0383169063068bcd8d90602401600060405180830381865afa158015613583573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526135ab9190810190616aa9565b905080604001516001600160a01b031683606001516001600160a01b0316146135e75760405163514e24c360e11b815260040160405180910390fd5b6135f48360400151613c9e565b1561361257604051630efd728560e21b815260040160405180910390fd5b50505b606f546000908152607f60205260409020546001600160a01b0316158015906136515750606f546000908152607f602052604090206002015434105b1561368757606f546000908152607f602052604090819020600201549051632c1f8ef160e21b815261100e91349160040161654b565b6000606e6000815461369890616639565b91829055506000818152607b602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b84019061374c9082616c50565b5050606f54601083015550607954600582015460405163240ff7c560e11b81526001600160a01b039283169263481fef8a9234926137909288921690600401616559565b6000604051808303818588803b1580156137a957600080fd5b505af11580156137bd573d6000803e3d6000fd5b50505050507ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b606854836040516137f592919061654b565b60405180910390a150949350505050565b6078546001600160a01b03163314611121576040516357848b5160e11b815260040160405180910390fd5b6000601261383d61195f565b6001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561387a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061389e9190616378565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156138f7575060408051601f3d908101601f191682019092526138f491810190616d0f565b60015b156139025760ff1690505b60008361390d61195f565b6001600160a01b0316632c611c4a876040518263ffffffff1660e01b81526004016139389190615cd7565b602060405180830381865afa158015613955573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139799190616522565b6139839190616312565b905060006139a461399584600a616e16565b61399f9084616415565b614ab5565b90506000816139b161195f565b6001600160a01b0316637817ee4f89306040518363ffffffff1660e01b81526004016139de9291906164eb565b602060405180830381865afa1580156139fb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a1f9190616522565b613a299190616312565b979650505050505050565b6000600160801b8310613a885760405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b604482015260640161100e565b50600160801b82825b8015613ad45780600116600003613ab657613aac8283614b9d565b915060011c613a91565b613ac08383614b9d565b9250613acd600182616312565b9050613a91565b505092915050565b600080516020616fd6833981519152546001600160a01b031690565b33613b01611fe4565b6001600160a01b03161461195c5733613b18611fe4565b60405163163678e960e01b815260040161100e9291906164eb565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615613b6657610f6983614c7a565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613bc0575060408051601f3d908101601f19168201909252613bbd91810190616522565b60015b613c235760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161100e565b600080516020616fd68339815191528114613c925760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161100e565b50610f69838383614d14565b6000613cad6298968083616415565b606954607254613cbd9190616415565b111592915050565b33613cce611fe4565b6001600160a01b0316146111215760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161100e565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000606854604051602001613d8b9190616e22565b604051602081830303815290604052805190602001209050613dab61195f565b6001600160a01b03166391d148548260006040518363ffffffff1660e01b8152600401613dd9929190616559565b602060405180830381865afa158015613df6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e1a9190616505565b15613e8857613e2761195f565b6001600160a01b031663d547741f8260006040518363ffffffff1660e01b8152600401613e55929190616559565b600060405180830381600087803b158015613e6f57600080fd5b505af1158015613e83573d6000803e3d6000fd5b505050505b60005b8251811015613fe257613e9c61195f565b6001600160a01b03166391d1485483858481518110613ebd57613ebd616e3f565b60200260200101516040518363ffffffff1660e01b8152600401613ee2929190616559565b602060405180830381865afa158015613eff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f239190616505565b613fd057613f2f61195f565b6001600160a01b0316632f2ff15d606854604051602001613f509190616e22565b60405160208183030381529060405280519060200120858481518110613f7857613f78616e3f565b60200260200101516040518363ffffffff1660e01b8152600401613f9d929190616559565b600060405180830381600087803b158015613fb757600080fd5b505af1158015613fcb573d6000803e3d6000fd5b505050505b80613fda81616639565b915050613e8b565b507f7a2e396a5614184c0af2c60827c206595126faa1238b94e19823192de52e728a60685483604051612f3e929190616e55565b607a546000906001600160a01b031661415157600060685460405160200161403e9190616e22565b60405160208183030381529060405280519060200120905061405e61195f565b6001600160a01b03166391d148548260006040518363ffffffff1660e01b815260040161408c929190616559565b602060405180830381865afa1580156140a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140cd9190616505565b156140db5750600192915050565b6140e361195f565b6001600160a01b03166391d1485482856040518363ffffffff1660e01b8152600401614110929190616559565b602060405180830381865afa15801561412d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113f9190616505565b607a546040516302154c3d60e51b81526001600160a01b03909116906342a987a09061418390859030906004016164eb565b602060405180830381865afa1580156141a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f329190616505565b600081816141d061195f565b6001600160a01b0316637817ee4f86306040518363ffffffff1660e01b81526004016141fd9291906164eb565b602060405180830381865afa15801561421a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061423e9190616522565b60775490915061424e8383616346565b111561426557607754614262908290616312565b91505b509392505050565b6000808261427961195f565b6001600160a01b0316632c611c4a866040518263ffffffff1660e01b81526004016142a49190615cd7565b602060405180830381865afa1580156142c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142e59190616522565b6142ef9190616346565b905060126142fb61195f565b6001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015614338573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061435c9190616378565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156143b5575060408051601f3d908101601f191682019092526143b291810190616d0f565b60015b156143c05760ff1690505b60006143da6143d083600a616e16565b61399f9085616415565b905060006143e661195f565b6001600160a01b0316637817ee4f88306040518363ffffffff1660e01b81526004016144139291906164eb565b602060405180830381865afa158015614430573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144549190616522565b905060006144628284616312565b98975050505050505050565b600080439050808460070154111561448857614488616e6e565b8084600701540361449e575060009050806144bf565b6144bc8460070154826144b19190616312565b8560030154856117fc565b91505b9250929050565b6144d08484612bd5565b6144d982613d76565b6110c8815b60005b8151811015614661576144f261195f565b6001600160a01b03166391d148546068546040516020016145139190616e22565b6040516020818303038152906040528051906020012084848151811061453b5761453b616e3f565b60200260200101516040518363ffffffff1660e01b8152600401614560929190616559565b602060405180830381865afa15801561457d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145a19190616505565b1561464f576145ae61195f565b6001600160a01b031663d547741f6068546040516020016145cf9190616e22565b604051602081830303815290604052805190602001208484815181106145f7576145f7616e3f565b60200260200101516040518363ffffffff1660e01b815260040161461c929190616559565b600060405180830381600087803b15801561463657600080fd5b505af115801561464a573d6000803e3d6000fd5b505050505b8061465981616639565b9150506144e1565b507fd418c93b6b78d828a87ee1909e6fcdbbf2f8d8f540ad7b232bb3e221e6d7cc1e6068548260405161285a929190616e55565b6001600160a01b03811661195c576040516303988b8160e61b815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200161285a565b614705612f4a565b606854156147265760405163439a74c960e01b815260040160405180910390fd5b8060000361474757604051637fcce2a960e01b815260040160405180910390fd5b606855565b6040516001600160601b03193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506147938482614d39565b949350505050565b6000828060200190518101906147b19190616e84565b905060005b81518110156110c8576147e58282815181106147d4576147d4616e3f565b602002602001015160000151614dd0565b806147ef81616639565b9150506147b6565b61480081614e8d565b61480981614016565b61482657604051630b72d6b160e31b815260040160405180910390fd5b600061483061195f565b6001600160a01b031663477a5cc083306040518363ffffffff1660e01b815260040161485d9291906164eb565b602060405180830381865afa15801561487a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061489e9190616505565b9050806148be57604051635fccb67f60e01b815260040160405180910390fd5b6000838060200190518101906148d49190616e84565b90506148e08382614f6e565b6110c88382615103565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f763399060200161285a565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161494957610f6982826154db565b610f698383836154f7565b6001600160a01b0381166000908152607d60209081526040808320805482518185028101850190935280835291929091908301828280156149b457602002820191906000526020600020905b8154815260200190600101908083116149a0575b5050505050905060005b8151811015610f695760008282815181106149db576149db616e3f565b602002602001015190506000607b60008381526020019081526020016000209050614a058261553d565b15614aa0576001600160a01b0385166000908152600982016020526040812080549082905560028301805491928392614a3f908490616312565b925050819055508060706000828254614a589190616312565b90915550614a68905082826132b1565b600080516020616ff68339815191528684600085600201548660030154604051614a96959493929190616f2e565b60405180910390a1505b50508080614aad90616639565b9150506149be565b600081600003614ac757506000919050565b60006001614ad484615576565b901c6001901b90506001818481614aed57614aed6163ba565b048201901c90506001818481614b0557614b056163ba565b048201901c90506001818481614b1d57614b1d6163ba565b048201901c90506001818481614b3557614b356163ba565b048201901c90506001818481614b4d57614b4d6163ba565b048201901c90506001818481614b6557614b656163ba565b048201901c90506001818481614b7d57614b7d6163ba565b048201901c905061113f81828581614b9757614b976163ba565b0461560a565b6000600160801b831115614c045760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b606482015260840161100e565b600160801b8210614c565760405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b604482015260640161100e565b60806001607f1b614c678486616415565b614c719190616346565b901c9392505050565b614c83816132a2565b614ce55760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161100e565b600080516020616fd683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b614d1d83615620565b600082511180614d2a5750805b15610f69576110c88383615660565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b038116610f325760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b604482015260640161100e565b6000818152607b6020526040812090600882015460ff166006811115614df857614df86157f6565b1480614e1c57506003600882015460ff166006811115614e1a57614e1a6157f6565b145b80614e3f57506004600882015460ff166006811115614e3d57614e3d6157f6565b145b80614e6257506006600882015460ff166006811115614e6057614e606157f6565b145b15610f4a5760088101546040516394d57ead60e01b815261100e91849160ff90911690600401616f5c565b6001600160a01b038116614eb457604051631a3e505160e31b815260040160405180910390fd5b6078546001600160a01b0316614edd57604051635df4b1ef60e01b815260040160405180910390fd5b614ee561195f565b6001600160a01b031663a230c524826040518263ffffffff1660e01b8152600401614f109190615cd7565b602060405180830381865afa158015614f2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614f519190616505565b61195c57604051636a5cfb6d60e01b815260040160405180910390fd5b6000805b825181101561502b57828181518110614f8d57614f8d616e3f565b60200260200101516000015160000315615019576000838281518110614fb557614fb5616e3f565b6020026020010151600001519050614fcc8161553d565b614fec5760405163c1d17bef60e01b81526004810182905260240161100e565b838281518110614ffe57614ffe616e3f565b602002602001015160200151836150159190616f79565b9250505b8061502381616639565b915050614f72565b50600061504061503a85612576565b83615685565b9050600061504c61195f565b6001600160a01b0316637817ee4f86306040518363ffffffff1660e01b81526004016150799291906164eb565b602060405180830381865afa158015615096573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906150ba9190616522565b9050808211156150e1578181604051636b20c17f60e11b815260040161100e92919061654b565b506001600160a01b039093166000908152607c60205260409020929092555050565b606060005b82518110156110c857600083828151811061512557615125616e3f565b60200260200101516000015190508251600003615181576040805160018082528183019092529060208083019080368337019050509250808360008151811061517057615170616e3f565b6020026020010181815250506152b4565b6000805b84518110156151e157828582815181106151a1576151a1616e3f565b6020026020010151036151cf57600191508281604051632b7aec5560e21b815260040161100e92919061654b565b806151d981616639565b915050615185565b50806152b2576000845160016151f79190616346565b6001600160401b0381111561520e5761520e615957565b604051908082528060200260200182016040528015615237578160200160208202803683370190505b50905060005b855181101561528f5785818151811061525857615258616e3f565b602002602001015182828151811061527257615272616e3f565b60209081029190910101528061528781616639565b91505061523d565b5082818651815181106152a4576152a4616e3f565b602090810291909101015293505b505b60008483815181106152c8576152c8616e3f565b6020908102919091018101518101516000848152607b835260408082206001600160a01b038b168352600981019094528120549193506153088285615685565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607d60205260409020548110156153a15784546001600160a01b038c166000908152607d6020526040902080548390811061537657615376616e3f565b90600052602060002001540361538f57600191506153a1565b8061539981616639565b91505061532a565b50806153d7576001600160a01b038a166000908152607d6020908152604082208654815460018101835591845291909220909101555b818311615427576153e88383616312565b607060008282546153f99190616346565b9091555061540990508383616312565b84600201600082825461541c9190616346565b9091555061546b9050565b6154318284616312565b607060008282546154429190616312565b9091555061545290508284616312565b8460020160008282546154659190616312565b90915550505b8360070154600003615482574360078501556154c2565b61548c84846132b1565b600080516020616ff68339815191528a8784876002015488600301546040516154b9959493929190616f2e565b60405180910390a15b50505050505080806154d390616639565b915050615108565b60008060008084865af1610f4a5763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d156001600051141716615533576390b8ec186000526004601cfd5b6000603452505050565b6000818152607b602052604081205415801590610f325750506000908152607b60205260409020600501546001600160a01b0316151590565b600080608083901c1561558b57608092831c92015b604083901c1561559d57604092831c92015b602083901c156155af57602092831c92015b601083901c156155c157601092831c92015b600883901c156155d357600892831c92015b600483901c156155e557600492831c92015b600283901c156155f757600292831c92015b600183901c15610f325760010192915050565b6000818310615619578161113f565b5090919050565b61562981614c7a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061113f8383604051806060016040528060278152602001617016602791396156bc565b6000806156928385616f79565b9050600081121561113f57838382604051631dde38a160e11b815260040161100e93929190616a06565b6060600080856001600160a01b0316856040516156d99190616f99565b600060405180830381855af49150503d8060008114615714576040519150601f19603f3d011682016040523d82523d6000602084013e615719565b606091505b509150915061572a86838387615734565b9695505050505050565b606083156157a157825160000361579a5761574e856132a2565b61579a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161100e565b5081614793565b61479383838151156157b65781518083602001fd5b8060405162461bcd60e51b815260040161100e91906162b5565b6000602082840312156157e257600080fd5b5035919050565b6001600160a01b03169052565b634e487b7160e01b600052602160045260246000fd5b6007811061195c5761195c6157f6565b60005b8381101561583757818101518382015260200161581f565b50506000910152565b6000815180845261585881602086016020860161581c565b601f01601f19169290920160200192915050565b8051825260006020820151604060208501526147936040850182615840565b60006101e08f83528e60208401528d60408401528c606084015260018060a01b03808d166080850152808c1660a0850152808b1660c08501528960e08501526158d38961580c565b88610100850152816101208501526158ed8285018961586c565b875161014086015260208801516101608601526040909701511661018084015250506101a08101929092526101c0909101529a9950505050505050505050565b60006020828403121561593f57600080fd5b81356001600160e01b03198116811461113f57600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b038111828210171561598f5761598f615957565b60405290565b604051608081016001600160401b038111828210171561598f5761598f615957565b60405161010081016001600160401b038111828210171561598f5761598f615957565b604080519081016001600160401b038111828210171561598f5761598f615957565b60405160a081016001600160401b038111828210171561598f5761598f615957565b604051601f8201601f191681016001600160401b0381118282101715615a4657615a46615957565b604052919050565b6001600160a01b038116811461195c57600080fd5b600060c08284031215615a7557600080fd5b615a7d61596d565b90508135615a8a81615a4e565b81526020820135615a9a81615a4e565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b600060808284031215615ae157600080fd5b615ae9615995565b90508135815260208201356020820152604082013560408201526060820135606082015292915050565b6000806101408385031215615b2757600080fd5b615b318484615a63565b9150615b408460c08501615acf565b90509250929050565b60006001600160401b03821115615b6257615b62615957565b5060051b60200190565b600082601f830112615b7d57600080fd5b81356020615b92615b8d83615b49565b615a1e565b82815260059290921b84018101918181019086841115615bb157600080fd5b8286015b84811015615bd5578035615bc881615a4e565b8352918301918301615bb5565b509695505050505050565b60006001600160401b03821115615bf957615bf9615957565b50601f01601f191660200190565b6000615c15615b8d84615be0565b9050828152838383011115615c2957600080fd5b828260208301376000602084830101529392505050565b600082601f830112615c5157600080fd5b61113f83833560208501615c07565b600080600060608486031215615c7557600080fd5b83356001600160401b0380821115615c8c57600080fd5b615c9887838801615b6c565b94506020860135915080821115615cae57600080fd5b50615cbb86828701615c40565b9250506040840135615ccc81615a4e565b809150509250925092565b6001600160a01b0391909116815260200190565b600080600060608486031215615d0057600080fd5b8335615d0b81615a4e565b92506020840135615d1b81615a4e565b91506040840135615ccc81615a4e565b60008060408385031215615d3e57600080fd5b82356001600160401b03811115615d5457600080fd5b615d6085828601615c40565b9250506020830135615d7181615a4e565b809150509250929050565b60048110615d8c57615d8c6157f6565b9052565b60208101610f328284615d7c565b60008060408385031215615db157600080fd5b8235615dbc81615a4e565b946020939093013593505050565b60008060408385031215615ddd57600080fd5b50508035926020909101359150565b600080600060608486031215615e0157600080fd5b505081359360208301359350604090920135919050565b60038110615d8c57615d8c6157f6565b60208101610f328284615e18565b600060208284031215615e4857600080fd5b813561113f81615a4e565b60008060408385031215615e6657600080fd5b8235615e7181615a4e565b915060208301356001600160401b03811115615e8c57600080fd5b615e9885828601615c40565b9150509250929050565b600080600060608486031215615eb757600080fd5b8335615ec281615a4e565b925060208401356001600160401b03811115615edd57600080fd5b8401601f81018613615eee57600080fd5b615cbb86823560208401615c07565b600060208284031215615f0f57600080fd5b81356001600160401b03811115615f2557600080fd5b61479384828501615b6c565b6000806000806101808587031215615f4857600080fd5b615f528686615a63565b9350615f618660c08701615acf565b92506101408501356001600160401b0380821115615f7e57600080fd5b615f8a88838901615b6c565b9350610160870135915080821115615fa157600080fd5b50615fae87828801615b6c565b91505092959194509250565b60208152600061113f602083018461586c565b60008060408385031215615fe057600080fd5b82356001600160401b0380821115615ff757600080fd5b61600386838701615b6c565b935060209150818501358181111561601a57600080fd5b8501601f8101871361602b57600080fd5b8035616039615b8d82615b49565b81815260059190911b8201840190848101908983111561605857600080fd5b8584015b83811015616090578035868111156160745760008081fd5b6160828c8983890101615c40565b84525091860191860161605c565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b828110156160ec57815180516001600160a01b031685528601518685015292840192908501906001016160be565b5091979650505050505050565b60008083601f84011261610b57600080fd5b5081356001600160401b0381111561612257600080fd5b6020830191508360208285010111156144bf57600080fd5b60008060008060006060868803121561615257600080fd5b8535945060208601356001600160401b038082111561617057600080fd5b61617c89838a016160f9565b9096509450604088013591508082111561619557600080fd5b506161a2888289016160f9565b969995985093965092949392505050565b801515811461195c57600080fd5b6000602082840312156161d357600080fd5b813561113f816161b3565b6001600160a01b038c811682528b811660208301528a166040820152606081018990526080810188905261016081016162168861580c565b8760a08301528660c08301528560e08301528461010083015283610120830152826101408301529c9b505050505050505050505050565b6000806040838503121561626057600080fd5b823591506020830135615d7181615a4e565b6020810161627f8361580c565b91905290565b6000806040838503121561629857600080fd5b8235915060208301356001600160401b03811115615e8c57600080fd5b60208152600061113f6020830184615840565b600181811c908216806162dc57607f821691505b602082108103611bed57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610f3257610f326162fc565b6001600160a01b039390931683526020830191909152604082015260600190565b80820180821115610f3257610f326162fc565b9283526001600160a01b03919091166020830152604082015260600190565b60006020828403121561638a57600080fd5b815161113f81615a4e565b9384526001600160a01b03928316602085015291166040830152606082015260800190565b634e487b7160e01b600052601260045260246000fd5b6000826163ed57634e487b7160e01b600052601260045260246000fd5b500490565b60006001600160401b0382168061640b5761640b6162fc565b6000190192915050565b8082028115828204841417610f3257610f326162fc565b6020808252602c90820152600080516020616fb683398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020616fb683398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0392831681529116602082015260400190565b60006020828403121561651757600080fd5b815161113f816161b3565b60006020828403121561653457600080fd5b5051919050565b805161654681615a4e565b919050565b918252602082015260400190565b9182526001600160a01b0316602082015260400190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8381526040602082015260006165b3604083018486616570565b95945050505050565b60006001600160401b038281166002600160401b031981016165e0576165e06162fc565b6001019392505050565b6001600160a01b03888116825260208201889052604082018790528516606082015260c0608082018190526000906166259083018587616570565b90508260a083015298975050505050505050565b60006001820161664b5761664b6162fc565b5060010190565b60006080828403121561666457600080fd5b61666c615995565b90508151815260208201516020820152604082015160408201526060820151606082015292915050565b80516003811061654657600080fd5b80516004811061654657600080fd5b6000602082840312156166c657600080fd5b604051602081016001600160401b03811182821017156166e8576166e8615957565b6040529151825250919050565b600060c0828403121561670757600080fd5b61670f61596d565b9050815161671c81615a4e565b8152602082015161672c81615a4e565b8060208301525060408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b600082601f83011261677257600080fd5b81516020616782615b8d83615b49565b82815260059290921b840181019181810190868411156167a157600080fd5b8286015b84811015615bd55780516167b881615a4e565b83529183019183016167a5565b6000602082840312156167d757600080fd5b81516001600160401b03808211156167ee57600080fd5b90830190610200828603121561680357600080fd5b61680b6159b7565b6168158684616652565b815261682360808401616696565b602082015261683460a084016166a5565b60408201526168468660c085016166b4565b60608201526168588660e085016166f5565b608082015261686a6101a0840161653b565b60a082015261687c6101c0840161653b565b60c08201526101e08301518281111561689457600080fd5b6168a087828601616761565b60e08301525095945050505050565b805182526020810151602083015260408101516040830152606081015160608301525050565b600081518084526020808501945080840160005b8381101561690e5781516001600160a01b0316875295820195908201906001016168e9565b509495945050505050565b828152604060208201526169316040820183516168af565b6000602083015161694560c0840182615e18565b50604083015161695860e0840182615d7c565b506060838101515161010084015260808085015180516001600160a01b039081166101208701526020820151166101408601526040810151610160860152918201516101808501528101516101a084015260a0908101516101c08401528301516169c66101e08401826157e9565b5060c08301516102006169db818501836157e9565b60e0850151915080610220850152506165b36102408401826168d5565b60808101610f3282846168af565b9283526020830191909152604082015260600190565b600060408284031215616a2e57600080fd5b616a366159da565b8251815260208301519091506001600160401b03811115616a5657600080fd5b8201601f81018413616a6757600080fd5b8051616a75615b8d82615be0565b818152856020838501011115616a8a57600080fd5b616a9b82602083016020860161581c565b602084015250909392505050565b600060208284031215616abb57600080fd5b81516001600160401b0380821115616ad257600080fd5b9083019060c08286031215616ae657600080fd5b616aee61596d565b825181526020830151616b0081615a4e565b60208201526040830151616b1381615a4e565b6040820152606083015182811115616b2a57600080fd5b616b3687828601616a1c565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b600060208284031215616b6e57600080fd5b81516001600160401b0380821115616b8557600080fd5b9083019060a08286031215616b9957600080fd5b616ba16159fc565b825181526020830151616bb381615a4e565b6020820152604083810151908201526060830151616bd081615a4e565b6060820152608083015182811115616be757600080fd5b616bf387828601616a1c565b60808301525095945050505050565b601f821115610f6957600081815260208120601f850160051c81016020861015616c295750805b601f850160051c820191505b81811015616c4857828155600101616c35565b505050505050565b81516001600160401b03811115616c6957616c69615957565b616c7d81616c7784546162c8565b84616c02565b602080601f831160018114616cb25760008415616c9a5750858301515b600019600386901b1c1916600185901b178555616c48565b600085815260208120601f198616915b82811015616ce157888601518255948401946001909101908401616cc2565b5085821015616cff5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215616d2157600080fd5b815160ff8116811461113f57600080fd5b600181815b80851115616d6d578160001904821115616d5357616d536162fc565b80851615616d6057918102915b93841c9390800290616d37565b509250929050565b600082616d8457506001610f32565b81616d9157506000610f32565b8160018114616da75760028114616db157616dcd565b6001915050610f32565b60ff841115616dc257616dc26162fc565b50506001821b610f32565b5060208310610133831016604e8410600b8410161715616df0575081810a610f32565b616dfa8383616d32565b8060001904821115616e0e57616e0e6162fc565b029392505050565b600061113f8383616d75565b6810531313d5d31254d560ba1b8152600981019190915260290190565b634e487b7160e01b600052603260045260246000fd5b82815260406020820152600061479360408301846168d5565b634e487b7160e01b600052600160045260246000fd5b60006020808385031215616e9757600080fd5b82516001600160401b03811115616ead57600080fd5b8301601f81018513616ebe57600080fd5b8051616ecc615b8d82615b49565b81815260069190911b82018301908381019087831115616eeb57600080fd5b928401925b82841015613a295760408489031215616f095760008081fd5b616f116159da565b845181528585015186820152825260409093019290840190616ef0565b6001600160a01b03959095168552602085019390935260408401919091526060830152608082015260a00190565b82815260408101616f6c8361580c565b8260208301529392505050565b8082018281126000831280158216821582161715613ad457613ad46162fc565b60008251616fab81846020870161581c565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212206e0b78f9a57310b9c3110f23f93be3b039c5e60639e3ebaff07fa61ccf7ca99b64736f6c63430008130033608060405234801561001057600080fd5b50600160005561070c806100256000396000f3fe6080604052600436106100555760003560e01c8063481fef8a1461005a5780638129fc1c1461006f5780638630da1d146100845780638969ab53146100cf5780638da5cb5b146100ef57806399ea56b014610127575b600080fd5b61006d6100683660046105b8565b610147565b005b34801561007b57600080fd5b5061006d610204565b34801561009057600080fd5b506100bc61009f3660046105b8565b600160209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b3480156100db57600080fd5b5061006d6100ea3660046105e4565b610241565b3480156100fb57600080fd5b5060025461010f906001600160a01b031681565b6040516001600160a01b0390911681526020016100c6565b34801561013357600080fd5b5061006d610142366004610628565b6103cc565b6002546001600160a01b031633146101725760405163ea8e4eb560e01b815260040160405180910390fd5b61017a610543565b60008281526001602090815260408083206001600160a01b0385168452909152812080543492906101ac908490610673565b92505081905550806001600160a01b03167feec2f3feb835e2f2fd44281034b04700a1ddda63dd402949d470a25a7c40b36c83346040516101ee92919061068c565b60405180910390a26102006001600055565b5050565b6002546001600160a01b03161561022d5760405162dc149f60e41b815260040160405180910390fd5b600280546001600160a01b03191633179055565b6002546001600160a01b0316331461026c5760405163ea8e4eb560e01b815260040160405180910390fd5b610274610543565b60008481526001602090815260408083206001600160a01b0387168452909152902054808211156102c5578181604051632c1f8ef160e21b81526004016102bc92919061068c565b60405180910390fd5b60008581526001602090815260408083206001600160a01b0388168452909152812080548492906102f790849061069a565b90915550506040516000906001600160a01b0385169084908381818185875af1925050503d8060008114610347576040519150601f19603f3d011682016040523d82523d6000602084013e61034c565b606091505b505090508061036d5760405162461bcd60e51b81526004016102bc906106ad565b836001600160a01b0316856001600160a01b03167f354da53cd88eb0936caa11700c1928b13f3f2803cca6f4f464ceff3b4bd7d38e88866040516103b292919061068c565b60405180910390a350506103c66001600055565b50505050565b6002546001600160a01b031633146103f75760405163ea8e4eb560e01b815260040160405180910390fd5b6103ff610543565b60008381526001602090815260408083206001600160a01b038616845290915290205480821115610447578181604051632c1f8ef160e21b81526004016102bc92919061068c565b60008481526001602090815260408083206001600160a01b03871684529091528120805484929061047990849061069a565b90915550506040516000906001600160a01b0385169084908381818185875af1925050503d80600081146104c9576040519150601f19603f3d011682016040523d82523d6000602084013e6104ce565b606091505b50509050806104ef5760405162461bcd60e51b81526004016102bc906106ad565b836001600160a01b03167f7c5e5cb62e5ed3caf3764e4b0afedfedef533e27809d43367799787ad2abcd41868560405161052a92919061068c565b60405180910390a2505061053e6001600055565b505050565b6002600054036105955760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102bc565b6002600055565b80356001600160a01b03811681146105b357600080fd5b919050565b600080604083850312156105cb57600080fd5b823591506105db6020840161059c565b90509250929050565b600080600080608085870312156105fa57600080fd5b8435935061060a6020860161059c565b92506106186040860161059c565b9396929550929360600135925050565b60008060006060848603121561063d57600080fd5b8335925061064d6020850161059c565b9150604084013590509250925092565b634e487b7160e01b600052601160045260246000fd5b808201808211156106865761068661065d565b92915050565b918252602082015260400190565b818103818111156106865761068661065d565b6020808252600f908201526e151c985b9cd9995c8819985a5b1959608a1b60408201526060019056fea2646970667358221220191821446eeeb6f0deeaf3c10fb556db7a4628e3bed672939316a4559eeede8864736f6c63430008130033608060405234801561001057600080fd5b50613183806100206000396000f3fe6080604052600436106101f75760003560e01c806301ffc9a7146101fc578063031e2fa114610231578063068bcd8d14610253578063075c0e9c1461028057806315e812ad146102a05780631a20bd88146102bf5780631a5da6c8146102ec578063248a9ca31461030c57806324ae6a271461032c578063256929621461034c57806329e40d4b146103545780632cf682b0146103745780632ec38188146103945780632f2ff15d146103a757806336568abe146103c75780633a5fbd92146103e75780633b19e84a1461040757806341bba0b4146104255780634edbaadc1461044557806354d1f13d1461045a5780635ab1bd53146104625780635acd6fac146104805780635f9ca13814610493578063715018a6146104b357806377da8caf146104bb5780637f51bb1f146104ce5780637f5a70bd146104ee5780638da5cb5b1461050e5780638e6901861461052757806391d1485414610547578063a0cf0aea14610567578063a217fddf1461058f578063a6b63eb8146105a4578063ab2ec589146105c4578063ab3febc6146105e4578063c6dff1cf14610604578063cfc0cc3414610624578063d547741f1461065d578063e1007d4a1461067d578063f04e283e14610690578063f2fde38b146106a3578063f4e1fc41146106b6578063f54fc4a0146106d1578063fee81cf4146106f1575b600080fd5b34801561020857600080fd5b5061021c6102173660046125af565b610724565b60405190151581526020015b60405180910390f35b34801561023d57600080fd5b5061025161024c3660046125ee565b61075b565b005b34801561025f57600080fd5b5061027361026e36600461260b565b6107be565b6040516102289190612693565b61029361028e3660046127b8565b6108d1565b60405161022891906127fe565b3480156102ac57600080fd5b5060ca545b604051908152602001610228565b3480156102cb57600080fd5b506102df6102da3660046128c4565b61096e565b60405161022891906129b6565b3480156102f857600080fd5b506102516103073660046125ee565b610af4565b34801561031857600080fd5b506102b161032736600461260b565b610b08565b34801561033857600080fd5b506102516103473660046129c9565b610b1d565b610251610bd1565b34801561036057600080fd5b5061021c61036f366004612a02565b610c20565b34801561038057600080fd5b5061025161038f366004612a02565b610c33565b6102516103a23660046127b8565b610c80565b3480156103b357600080fd5b506102516103c2366004612a02565b610ca0565b3480156103d357600080fd5b506102516103e2366004612a02565b610cbc565b3480156103f357600080fd5b50610251610402366004612a8b565b610d3b565b34801561041357600080fd5b5060cc546001600160a01b0316610293565b34801561043157600080fd5b506102516104403660046125ee565b610dc3565b34801561045157600080fd5b5060c9546102b1565b610251610e45565b34801561046e57600080fd5b5060cd546001600160a01b0316610293565b61025161048e366004612af7565b610e81565b34801561049f57600080fd5b506102516104ae366004612b9b565b611018565b610251611095565b6102b16104c9366004612bd7565b6110a9565b3480156104da57600080fd5b506102516104e93660046125ee565b61112c565b3480156104fa57600080fd5b50610251610509366004612a02565b61113d565b34801561051a57600080fd5b50638b78c6d81954610293565b34801561053357600080fd5b5061025161054236600461260b565b611163565b34801561055357600080fd5b5061021c610562366004612a02565b611174565b34801561057357600080fd5b5061029373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561059b57600080fd5b506102b1600081565b3480156105b057600080fd5b506102516105bf366004612c99565b61119f565b3480156105d057600080fd5b5061021c6105df3660046125ee565b6112ae565b3480156105f057600080fd5b5061021c6105ff366004612a02565b6112b9565b34801561061057600080fd5b5061025161061f366004612cf4565b6112c5565b34801561063057600080fd5b5061029361063f36600461260b565b600090815260cf60205260409020600101546001600160a01b031690565b34801561066957600080fd5b50610251610678366004612a02565b61134a565b6102b161068b366004612bd7565b611366565b61025161069e3660046125ee565b6113d1565b6102516106b13660046125ee565b61140e565b3480156106c257600080fd5b50670de0b6b3a76400006102b1565b3480156106dd57600080fd5b506102516106ec36600461260b565b611435565b3480156106fd57600080fd5b506102b161070c3660046125ee565b63389a75e1600c908152600091909152602090205490565b60006001600160e01b03198216637965db0b60e01b148061075557506301ffc9a760e01b6001600160e01b03198316145b92915050565b610763611446565b6001600160a01b038116600090815260d0602052604090819020805460ff19169055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4906107b39083906127fe565b60405180910390a150565b6107c6612549565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b0390811682850152600283015416818501528351808501909452600382018054855260048301805492959394606087019493908401919061083090612d80565b80601f016020809104026020016040519081016040528092919081815260200182805461085c90612d80565b80156108a95780601f1061087e576101008083540402835291602001916108a9565b820191906000526020600020905b81548152906001019060200180831161088c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b60006108db611461565b600083815260cf6020526040908190206001015490516315df065760e11b81526001600160a01b0390911690632bbe0cae90349061091f9086903390600401612dba565b60206040518083038185885af115801561093d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109629190612de4565b90506107556001609755565b6060610978611461565b8251806001600160401b03811115610992576109926126fb565b6040519080825280602002602001820160405280156109bb578160200160208202803683370190505b509150825181146109df5760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610ae85760cf6000868381518110610a0057610a00612e01565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610a4d57610a4d612e01565b6020026020010151336040518363ffffffff1660e01b8152600401610a73929190612dba565b6020604051808303816000875af1158015610a92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab69190612de4565b838281518110610ac857610ac8612e01565b6001600160a01b03909216602092830291909101909101526001016109e2565b50506107556001609755565b610afc611446565b610b05816114ba565b50565b60009081526065602052604090206001015490565b610b25611446565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610bbd576040516370a0823160e01b81526001600160a01b038416906370a0823190610b779030906004016127fe565b602060405180830381865afa158015610b94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb89190612e17565b610bbf565b475b9050610bcc83838361152c565b505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610c2c8383611566565b9392505050565b81610c3d81611592565b6001600160a01b038216610c645760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610bcc90836115b9565b610c88611461565b610c92828261163f565b610c9c6001609755565b5050565b610ca982610b08565b610cb2816116b9565b610bcc83836115b9565b6001600160a01b0381163314610d315760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b610c9c82826116c3565b610d43611461565b600083815260cf602052604090819020600101549051630a6f0ee960e01b81526001600160a01b0390911690630a6f0ee990610d8790859085903390600401612e30565b600060405180830381600087803b158015610da157600080fd5b505af1158015610db5573d6000803e3d6000fd5b50505050610bcc6001609755565b610dcb611446565b6001600160a01b038116610df25760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600090815260d0602052604090819020805460ff19166001179055517f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d1906107b39083906127fe565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b610e89611461565b80600003610eaa576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b0390811682860152600283015416818401528251808401909352600382018054845260048301805492959394606087019490939084019190610f1490612d80565b80601f0160208091040260200160405190810160405280929190818152602001828054610f4090612d80565b8015610f8d5780601f10610f6257610100808354040283529160200191610f8d565b820191906000526020600020905b815481529060010190602001808311610f7057829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015610fe05750348214155b15610ffe576040516303e09bb960e31b815260040160405180910390fd5b61100d8284836020015161172a565b50610c9c6001609755565b81611022816119dc565b600083815260cf60209081526040909120835160038201908155918401519091849160048401906110539082612ebc565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf0846040516110879190612f7b565b60405180910390a250505050565b61109d611446565b6110a760006119e6565b565b60006110b3611461565b6110bc87611a12565b6110d95760405163126d324760e31b815260040160405180910390fd5b33600090815260ce602052604081208054611115928b9261110b928c9290919061110283612fa4565b91905055611a30565b8888888888611a7f565b90506111216001609755565b979650505050505050565b611134611446565b610b0581611f63565b8161114781611592565b600083815260cf6020526040902060050154610bcc90836116c3565b61116b611446565b610b0581611fd6565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600054600190610100900460ff161580156111c1575060005460ff8083169116105b6112245760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610d28565b6000805461ffff191660ff8316176101001790556112418661200b565b61124a856114ba565b61125384611f63565b61125c83612035565b61126582611fd6565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b600061075582611a12565b6000610c2c8383612093565b6112cd611461565b8051829081146112f05760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561133e5761133685858381811061131057611310612e01565b9050602002013584838151811061132957611329612e01565b602002602001015161163f565b6001016112f3565b5050610bcc6001609755565b61135382610b08565b61135c816116b9565b610bcc83836116c3565b60006001600160a01b03871661138f5760405163538ba4f960e01b815260040160405180910390fd5b61139887611a12565b156113b65760405163eeffa72160e01b815260040160405180910390fd5b6113c588888888888888611a7f565b98975050505050505050565b6113d9611446565b63389a75e1600c52806000526020600c20805442111561140157636f5e88186000526004601cfd5b60009055610b05816119e6565b611416611446565b8060601b61142c57637448fbae6000526004601cfd5b610b05816119e6565b61143d611446565b610b0581612035565b638b78c6d8195433146110a7576382b429006000526004601cfd5b6002609754036114b35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610d28565b6002609755565b6001600160a01b0381166114e15760405163538ba4f960e01b815260040160405180910390fd5b60cd80546001600160a01b0319166001600160a01b0383161790556040517fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906107b39083906127fe565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161155b57610bcc82826120af565b610bcc8383836120cb565b600082815260cf60205260408120600501546115829083611174565b80610c2c5750610c2c8383612093565b61159c8133612093565b610b055760405163075fd2b160e01b815260040160405180910390fd5b6115c38282611174565b610c9c5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556115fb3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf602052604090819020600101549051633bca483f60e21b81526001600160a01b039091169063ef2920fc9034906116839085903390600401612dba565b6000604051808303818588803b15801561169c57600080fd5b505af11580156116b0573d6000803e3d6000fd5b50505050505050565b610b058133612111565b6116cd8282611174565b15610c9c5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b0316901561187b57670de0b6b3a764000060c9546117689089612fbd565b6117729190612fd4565b935061177e8484612ff6565b92508661178b8486613009565b146117a957604051637fcce2a960e01b815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611803576040805160608101825233815260cc546001600160a01b031660208201529081018590526117fd90829061216a565b5061187b565b60cc5460009061181d9083906001600160a01b03166121e9565b6040805160608101825233815260cc546001600160a01b0316602082015290810187905290915061184f90839061216a565b5060cc5460009061186a9084906001600160a01b03166121e9565b90506118768282612ff6565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038216016118dc576118d6816040518060600160405280336001600160a01b03168152602001886001600160a01b031681526020018681525061216a565b5061193e565b60006118e882876121e9565b9050611920826040518060600160405280336001600160a01b03168152602001896001600160a01b031681526020018781525061216a565b50600061192d83886121e9565b90506119398282612ff6565b945050505b60405163f5b0dfb760e01b8152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b15801561198057600080fd5b505af1158015611994573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b61159c8133611566565b638b78c6d81980546001600160a01b0390921691829060008051602061312e833981519152600080a355565b6001600160a01b0316600090815260d0602052604090205460ff1690565b6040516001600160601b03193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611a778482612232565b949350505050565b60cd54604051635e8a791560e01b8152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611acf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611af3919061301c565b611b105760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611b1f90612fa4565b91829055506040519091508190600090611b4f9083906020019081526430b236b4b760d91b602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf8752969096208751815591516001830180549185166001600160a01b031992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611c029082612ebc565b5050506080820151600582015560a090910151600690910155611c2582336115b9565b611c2f83836122c9565b604051633b7451b360e21b81526001600160a01b038b169063edd146cc90611c5d9087908d9060040161303e565b600060405180830381600087803b158015611c7757600080fd5b505af1158015611c8b573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf29190612e17565b141580611d725750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d669190612de4565b6001600160a01b031614155b15611d905760405163636e39bb60e01b815260040160405180910390fd5b845160005b81811015611e01576000878281518110611db157611db1612e01565b6020026020010151905060006001600160a01b0316816001600160a01b031603611dee5760405163538ba4f960e01b815260040160405180910390fd5b611df886826115b9565b50600101611d95565b5060ca5415611f04576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015611e435750348860ca54611e409190613009565b14155b80611e7857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14801590611e7857503460ca5414155b15611e96576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca54611ec79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b039091169061152c565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca54604051611efb91815260200190565b60405180910390a25b8715611f1557611f1588868d61172a565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c604051611f4c9493929190613057565b60405180910390a350505050979650505050505050565b6001600160a01b038116611f8a5760405163538ba4f960e01b815260040160405180910390fd5b60cc80546001600160a01b0319166001600160a01b0383169081179091556040517f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d1916107b3916127fe565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c3906020016107b3565b6001600160a01b0316638b78c6d81981905580600060008051602061312e8339815191528180a350565b670de0b6b3a764000081111561205e57604051632fb15b8760e01b815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b065906020016107b3565b600082815260cf6020526040812060060154610c2c9083611174565b60008060008084865af1610c9c5763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d156001600051141716612107576390b8ec186000526004601cfd5b6000603452505050565b61211b8282611174565b610c9c576121288161231c565b61213383602061232e565b604051602001612144929190613094565b60408051601f198184030181529082905262461bcd60e51b8252610d2891600401613103565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038516016121cb57803410156121b8576040516374c5672b60e01b815260040160405180910390fd5b6121c68360200151826120af565b6121df565b6121df8484600001518560200151846124c9565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161222157506001600160a01b03811631610755565b61222b838361251d565b9050610755565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166107555760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606401610d28565b60006122d483610b08565b600084815260656020526040808220600101859055519192508391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606107556001600160a01b03831660145b6060600061233d836002612fbd565b612348906002613009565b6001600160401b0381111561235f5761235f6126fb565b6040519080825280601f01601f191660200182016040528015612389576020820181803683370190505b509050600360fc1b816000815181106123a4576123a4612e01565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106123d3576123d3612e01565b60200101906001600160f81b031916908160001a90535060006123f7846002612fbd565b612402906001613009565b90505b600181111561247a576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061243657612436612e01565b1a60f81b82828151811061244c5761244c612e01565b60200101906001600160f81b031916908160001a90535060049490941c9361247381613116565b9050612405565b508315610c2c5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610d28565b60405181606052826040528360601b602c526323b872dd60601b600c52602060006064601c6000895af13d15600160005114171661250f57637939f4246000526004601cfd5b600060605260405250505050565b6000816014526370a0823160601b60005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b0316815260200161259b604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156125c157600080fd5b81356001600160e01b031981168114610c2c57600080fd5b6001600160a01b0381168114610b0557600080fd5b60006020828403121561260057600080fd5b8135610c2c816125d9565b60006020828403121561261d57600080fd5b5035919050565b60005b8381101561263f578181015183820152602001612627565b50506000910152565b60008151808452612660816020860160208601612624565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611a776040850182612648565b60208152815160208201526000602083015160018060a01b0380821660408501528060408601511660608501525050606083015160c060808401526126db60e0840182612674565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715612739576127396126fb565b604052919050565b60006001600160401b0383111561275a5761275a6126fb565b61276d601f8401601f1916602001612711565b905082815283838301111561278157600080fd5b828260208301376000602084830101529392505050565b600082601f8301126127a957600080fd5b610c2c83833560208501612741565b600080604083850312156127cb57600080fd5b8235915060208301356001600160401b038111156127e857600080fd5b6127f485828601612798565b9150509250929050565b6001600160a01b0391909116815260200190565b60006001600160401b0382111561282b5761282b6126fb565b5060051b60200190565b600082601f83011261284657600080fd5b8135602061285b61285683612812565b612711565b82815260059290921b8401810191818101908684111561287a57600080fd5b8286015b848110156128b95780356001600160401b0381111561289d5760008081fd5b6128ab8986838b0101612798565b84525091830191830161287e565b509695505050505050565b600080604083850312156128d757600080fd5b82356001600160401b03808211156128ee57600080fd5b818501915085601f83011261290257600080fd5b8135602061291261285683612812565b82815260059290921b8401810191818101908984111561293157600080fd5b948201945b8386101561294f57853582529482019490820190612936565b9650508601359250508082111561296557600080fd5b506127f485828601612835565b600081518084526020808501945080840160005b838110156129ab5781516001600160a01b031687529582019590820190600101612986565b509495945050505050565b602081526000610c2c6020830184612972565b600080604083850312156129dc57600080fd5b82356129e7816125d9565b915060208301356129f7816125d9565b809150509250929050565b60008060408385031215612a1557600080fd5b8235915060208301356129f7816125d9565b600082601f830112612a3857600080fd5b81356020612a4861285683612812565b82815260059290921b84018101918181019086841115612a6757600080fd5b8286015b848110156128b9578035612a7e816125d9565b8352918301918301612a6b565b600080600060608486031215612aa057600080fd5b8335925060208401356001600160401b0380821115612abe57600080fd5b612aca87838801612a27565b93506040860135915080821115612ae057600080fd5b50612aed86828701612798565b9150509250925092565b60008060408385031215612b0a57600080fd5b50508035926020909101359150565b600060408284031215612b2b57600080fd5b604080519081016001600160401b038082118383101715612b4e57612b4e6126fb565b81604052829350843583526020850135915080821115612b6d57600080fd5b508301601f81018513612b7f57600080fd5b612b8e85823560208401612741565b6020830152505092915050565b60008060408385031215612bae57600080fd5b8235915060208301356001600160401b03811115612bcb57600080fd5b6127f485828601612b19565b600080600080600080600060e0888a031215612bf257600080fd5b873596506020880135612c04816125d9565b955060408801356001600160401b0380821115612c2057600080fd5b612c2c8b838c01612798565b965060608a01359150612c3e826125d9565b9094506080890135935060a08901359080821115612c5b57600080fd5b612c678b838c01612b19565b935060c08a0135915080821115612c7d57600080fd5b50612c8a8a828b01612a27565b91505092959891949750929550565b600080600080600060a08688031215612cb157600080fd5b8535612cbc816125d9565b94506020860135612ccc816125d9565b93506040860135612cdc816125d9565b94979396509394606081013594506080013592915050565b600080600060408486031215612d0957600080fd5b83356001600160401b0380821115612d2057600080fd5b818601915086601f830112612d3457600080fd5b813581811115612d4357600080fd5b8760208260051b8501011115612d5857600080fd5b602092830195509350908501359080821115612d7357600080fd5b50612aed86828701612835565b600181811c90821680612d9457607f821691505b602082108103612db457634e487b7160e01b600052602260045260246000fd5b50919050565b604081526000612dcd6040830185612648565b905060018060a01b03831660208301529392505050565b600060208284031215612df657600080fd5b8151610c2c816125d9565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612e2957600080fd5b5051919050565b606081526000612e436060830186612972565b8281036020840152612e558186612648565b91505060018060a01b0383166040830152949350505050565b601f821115610bcc57600081815260208120601f850160051c81016020861015612e955750805b601f850160051c820191505b81811015612eb457828155600101612ea1565b505050505050565b81516001600160401b03811115612ed557612ed56126fb565b612ee981612ee38454612d80565b84612e6e565b602080601f831160018114612f1e5760008415612f065750858301515b600019600386901b1c1916600185901b178555612eb4565b600085815260208120601f198616915b82811015612f4d57888601518255948401946001909101908401612f2e565b5085821015612f6b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610c2c6020830184612674565b634e487b7160e01b600052601160045260246000fd5b600060018201612fb657612fb6612f8e565b5060010190565b808202811582820484141761075557610755612f8e565b600082612ff157634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561075557610755612f8e565b8082018082111561075557610755612f8e565b60006020828403121561302e57600080fd5b81518015158114610c2c57600080fd5b828152604060208201526000611a776040830184612648565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061308a90830184612674565b9695505050505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516130c6816017850160208801612624565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516130f7816028840160208801612624565b01602801949350505050565b602081526000610c2c6020830184612648565b60008161312557613125612f8e565b50600019019056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a26469706673582212203a4380bc3fb868d19befbc16d55e5ef45050bf58534276da47ba14491904f40264736f6c63430008130033608060405234801561001057600080fd5b50612b10806100206000396000f3fe60806040523480156200001157600080fd5b50600436106200015a5760003560e01c80630114cf0a146200015f57806301ffc9a7146200018e5780630ec1fbac14620001b6578063248a9ca314620001cd5780632497f3c614620001f357806324ae6a27146200020c5780632f2ff15d146200022357806336568abe146200023a57806339b86b8c14620002515780633a92f65f14620002685780633b66dacd146200027f5780634756487f14620002965780635063f36114620002b957806350d005e014620002d05780635e8a7915146200030b57806391d148541462000322578063a0cf0aea1462000339578063a217fddf1462000355578063ac402839146200035e578063c4d66de81462000375578063cf189ff2146200038c578063cfda7e0a14620003a3578063d547741f14620003ba578063dd93da4314620003d1578063e0cf1e4c14620003e8578063ee88819614620003ff575b600080fd5b620001766200017036600462001948565b6200042a565b604051620001859190620019df565b60405180910390f35b620001a56200019f36600462001a61565b620005e1565b604051901515815260200162000185565b620001a5620001c736600462001aaa565b62000619565b620001e4620001de36600462001948565b6200062e565b60405190815260200162000185565b6200020a6200020436600462001948565b62000643565b005b6200020a6200021d36600462001ad9565b62000702565b6200020a6200023436600462001aaa565b620007fb565b6200020a6200024b36600462001aaa565b62000822565b620001a56200026236600462001aaa565b620008a8565b620001e46200027936600462001ccd565b620008b6565b6200020a6200029036600462001aaa565b62000b41565b620001e4620002a736600462001d7b565b60976020526000908152604090205481565b6200020a620002ca36600462001d99565b62000ba8565b620002fc620002e136600462001948565b6099602052600090815260409020546001600160a01b031681565b60405162000185919062001de3565b620001a56200031c36600462001aaa565b62000c34565b620001a56200033336600462001aaa565b62000c55565b620002fc73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b620001e4600081565b6200020a6200036f36600462001df7565b62000c80565b6200020a6200038636600462001d7b565b62000cf3565b620002fc6200039d36600462001e37565b62000e17565b620001e460008051602062002abb83398151915281565b6200020a620003cb36600462001aaa565b62000ed8565b62000176620003e236600462001d7b565b62000efa565b6200020a620003f936600462001d99565b620010c3565b620004166200041036600462001948565b6200110e565b604051620001859695949392919062001e77565b62000434620018e5565b609860008381526020019081526020016000206040518060c00160405290816000820154815260200160018201548152602001600282018054620004789062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620004a69062001ed3565b8015620004f75780601f10620004cb57610100808354040283529160200191620004f7565b820191906000526020600020905b815481529060010190602001808311620004d957829003601f168201915b5050505050815260200160038201604051806040016040529081600082015481526020016001820180546200052c9062001ed3565b80601f01602080910402602001604051908101604052809291908181526020018280546200055a9062001ed3565b8015620005ab5780601f106200057f57610100808354040283529160200191620005ab565b820191906000526020600020905b8154815290600101906020018083116200058d57829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60006001600160e01b03198216637965db0b60e01b14806200061357506301ffc9a760e01b6001600160e01b03198316145b92915050565b60006200062783836200128e565b9392505050565b60009081526065602052604090206001015490565b60008181526098602090815260408083206099909252909120546001600160a01b03163381146200068757604051630b4d48c160e41b815260040160405180910390fd5b6005820180546001600160a01b038084166001600160a01b03199283161783556000868152609960205260409081902080549093169092559154905185927ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d92620006f59291169062001de3565b60405180910390a2505050565b60008051602062002abb8339815191526200071d816200129c565b6001600160a01b038216620007455760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14620007e4576040516370a0823160e01b81526001600160a01b038516906370a08231906200079a90309060040162001de3565b602060405180830381865afa158015620007b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007de919062001f0f565b620007e6565b475b9050620007f5848483620012ab565b50505050565b62000806826200062e565b62000811816200129c565b6200081d8383620012ea565b505050565b6001600160a01b0381163314620008985760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b620008a4828262001374565b5050565b6000620006278383620013de565b600080620008c5878562001402565b6000818152609860205260409020600601549091506001600160a01b0316156200090257604051630527e05960e41b815260040160405180910390fd5b6001600160a01b0384166200092a5760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b031681526020016200096a848a6200144c565b6001600160a01b03169052600083815260986020908152604091829020835181559083015160018201559082015191925082916002820190620009ae908262001f7b565b50606082015180516003830190815560208201516004840190620009d3908262001f7b565b50505060808201516005820180546001600160a01b03199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000a4757506001600160a01b0386163314155b1562000a665760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000add57600086828151811062000a895762000a8962002047565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000ac75760405163538ba4f960e01b815260040160405180910390fd5b62000ad38582620012ea565b5060010162000a69565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000b2c9594939291906200205d565b60405180910390a25090979650505050505050565b8162000b4d8162001627565b6000838152609960205260409081902080546001600160a01b0319166001600160a01b0385161790555183907f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c890620006f590859062001de3565b8162000bb48162001627565b815160005b8181101562000c2d57600084828151811062000bd95762000bd962002047565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c175760405163538ba4f960e01b815260040160405180910390fd5b62000c238682620012ea565b5060010162000bb9565b5050505050565b600062000c428383620013de565b806200062757506200062783836200128e565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b8162000c8c8162001627565b6000838152609860209081526040909120835160038201908155918401518492916004019062000cbd908262001f7b565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f383604051620006f59190620020b2565b600054600190610100900460ff1615801562000d16575060005460ff8083169116105b62000d7b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200088f565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000db75760405163538ba4f960e01b815260040160405180910390fd5b62000dd260008051602062002abb83398151915283620012ea565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000e258162001627565b62000e3184846200144c565b60008581526098602052604090209092506002810162000e52858262001f7b565b506006810180546001600160a01b0390811660009081526097602052604080822082905583546001600160a01b0319169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062000ec89087908790620020c7565b60405180910390a2505092915050565b62000ee3826200062e565b62000eee816200129c565b6200081d838362001374565b62000f04620018e5565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c08101835281548152600182015493810193909352600281018054919284019162000f599062001ed3565b80601f016020809104026020016040519081016040528092919081815260200182805462000f879062001ed3565b801562000fd85780601f1062000fac5761010080835404028352916020019162000fd8565b820191906000526020600020905b81548152906001019060200180831162000fba57829003601f168201915b5050505050815260200160038201604051806040016040529081600082015481526020016001820180546200100d9062001ed3565b80601f01602080910402602001604051908101604052809291908181526020018280546200103b9062001ed3565b80156200108c5780601f1062001060576101008083540402835291602001916200108c565b820191906000526020600020905b8154815290600101906020018083116200106e57829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620010cf8162001627565b815160005b8181101562000c2d576200110585858381518110620010f757620010f762002047565b602002602001015162001374565b600101620010d4565b60986020526000908152604090208054600182015460028301805492939192620011389062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620011669062001ed3565b8015620011b75780601f106200118b57610100808354040283529160200191620011b7565b820191906000526020600020905b8154815290600101906020018083116200119957829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620011e89062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620012169062001ed3565b8015620012675780601f106200123b5761010080835404028352916020019162001267565b820191906000526020600020905b8154815290600101906020018083116200124957829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b600062000627838362000c55565b620012a8813362001651565b50565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03841601620012dd576200081d8282620016b5565b6200081d838383620016d2565b620012f6828262000c55565b620008a45760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620013303390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b62001380828262000c55565b15620008a45760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600091825260986020526040909120600501546001600160a01b0391821691161490565b600082826040516020016200142e92919091825260601b6001600160601b031916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001464929190620020f3565b6040516020818303038152906040529050600084306040516020016200148c9291906200210e565b6040516020818303038152906040529050600060405180602001620014b1906200193a565b601f1982820381018352601f909101166040819052620014d79190849060200162002125565b60408051601f198184030181529082905284516020868101919091208251828401206001600160f81b0319928501929092526001600160601b03193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c905081883060405162001561906200193a565b6200156e9291906200210e565b8190604051809103906000f590508015620015865760015b620016195787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620015cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015f1919062001f0f565b146200161057604051630113b81f60e41b815260040160405180910390fd5b8095506200161c565b95505b505050505092915050565b620016338133620013de565b620012a85760405163075fd2b160e01b815260040160405180910390fd5b6200165d828262000c55565b620008a4576200166d8162001719565b6200167a8360206200172c565b6040516020016200168d92919062002158565b60408051601f198184030181529082905262461bcd60e51b82526200088f91600401620021cb565b60008060008084865af1620008a45763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d1560016000511417166200170f576390b8ec186000526004601cfd5b6000603452505050565b6060620006136001600160a01b03831660145b606060006200173d836002620021f6565b6200174a90600262002210565b6001600160401b0381111562001764576200176462001b08565b6040519080825280601f01601f1916602001820160405280156200178f576020820181803683370190505b509050600360fc1b81600081518110620017ad57620017ad62002047565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110620017df57620017df62002047565b60200101906001600160f81b031916908160001a905350600062001805846002620021f6565b6200181290600162002210565b90505b600181111562001894576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106200184a576200184a62002047565b1a60f81b82828151811062001863576200186362002047565b60200101906001600160f81b031916908160001a90535060049490941c936200188c8162002226565b905062001815565b508315620006275760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200088f565b6040518060c0016040528060008019168152602001600081526020016060815260200162001926604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b61087a806200224183390190565b6000602082840312156200195b57600080fd5b5035919050565b60005b838110156200197f57818101518382015260200162001965565b50506000910152565b60008151808452620019a281602086016020860162001962565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152620019d7604085018262001988565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001a1160e084018262001988565b90506060840151601f1984830301608085015262001a308282620019b6565b60808601516001600160a01b0390811660a0878101919091529096015190951660c090940193909352509192915050565b60006020828403121562001a7457600080fd5b81356001600160e01b0319811681146200062757600080fd5b80356001600160a01b038116811462001aa557600080fd5b919050565b6000806040838503121562001abe57600080fd5b8235915062001ad06020840162001a8d565b90509250929050565b6000806040838503121562001aed57600080fd5b62001af88362001a8d565b915062001ad06020840162001a8d565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171562001b495762001b4962001b08565b604052919050565b600082601f83011262001b6357600080fd5b81356001600160401b0381111562001b7f5762001b7f62001b08565b62001b94601f8201601f191660200162001b1e565b81815284602083860101111562001baa57600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001bda57600080fd5b604080519081016001600160401b03808211838310171562001c005762001c0062001b08565b8160405282935084358352602085013591508082111562001c2057600080fd5b5062001c2f8582860162001b51565b6020830152505092915050565b600082601f83011262001c4e57600080fd5b813560206001600160401b0382111562001c6c5762001c6c62001b08565b8160051b62001c7d82820162001b1e565b928352848101820192828101908785111562001c9857600080fd5b83870192505b8483101562001cc25762001cb28362001a8d565b8252918301919083019062001c9e565b979650505050505050565b600080600080600060a0868803121562001ce657600080fd5b8535945060208601356001600160401b038082111562001d0557600080fd5b62001d1389838a0162001b51565b9550604088013591508082111562001d2a57600080fd5b62001d3889838a0162001bc7565b945062001d486060890162001a8d565b9350608088013591508082111562001d5f57600080fd5b5062001d6e8882890162001c3c565b9150509295509295909350565b60006020828403121562001d8e57600080fd5b620006278262001a8d565b6000806040838503121562001dad57600080fd5b8235915060208301356001600160401b0381111562001dcb57600080fd5b62001dd98582860162001c3c565b9150509250929050565b6001600160a01b0391909116815260200190565b6000806040838503121562001e0b57600080fd5b8235915060208301356001600160401b0381111562001e2957600080fd5b62001dd98582860162001bc7565b6000806040838503121562001e4b57600080fd5b8235915060208301356001600160401b0381111562001e6957600080fd5b62001dd98582860162001b51565b86815285602082015260c06040820152600062001e9860c083018762001988565b828103606084015262001eac8187620019b6565b6001600160a01b0395861660808501529390941660a0909201919091525095945050505050565b600181811c9082168062001ee857607f821691505b60208210810362001f0957634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121562001f2257600080fd5b5051919050565b601f8211156200081d57600081815260208120601f850160051c8101602086101562001f525750805b601f850160051c820191505b8181101562001f735782815560010162001f5e565b505050505050565b81516001600160401b0381111562001f975762001f9762001b08565b62001faf8162001fa8845462001ed3565b8462001f29565b602080601f83116001811462001fe7576000841562001fce5750858301515b600019600386901b1c1916600185901b17855562001f73565b600085815260208120601f198616915b82811015620020185788860151825594840194600190910190840162001ff7565b5085821015620020375787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200207860a083018762001988565b82810360408401526200208c8187620019b6565b6001600160a01b0395861660608501529390941660809092019190915250949350505050565b602081526000620006276020830184620019b6565b604081526000620020dc604083018562001988565b905060018060a01b03831660208301529392505050565b828152604060208201526000620019d7604083018462001988565b9182526001600160a01b0316602082015260400190565b600083516200213981846020880162001962565b8351908301906200214f81836020880162001962565b01949350505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516200218c81601785016020880162001962565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351620021bf81602884016020880162001962565b01602801949350505050565b60208152600062000627602083018462001988565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620006135762000613620021e0565b80820180821115620006135762000613620021e0565b600081620022385762002238620021e0565b50600019019056fe60c060405234801561001057600080fd5b5060405161087a38038061087a83398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516107c86100b26000396000818160b7015261024201526000818161013d015261027101526107c86000f3fe6080604052600436106100645760003560e01c806301ffc9a71461007057806308386eba146100a5578063150b7a02146100e75780637b1039991461012b578063b61d27f614610177578063bc197c81146101a4578063f23a6e61146101d057600080fd5b3661006b57005b600080fd5b34801561007c57600080fd5b5061009061008b3660046103b2565b6101fc565b60405190151581526020015b60405180910390f35b3480156100b157600080fd5b506100d97f000000000000000000000000000000000000000000000000000000000000000081565b60405190815260200161009c565b3480156100f357600080fd5b506101126101023660046104b4565b630a85bd0160e11b949350505050565b6040516001600160e01b0319909116815260200161009c565b34801561013757600080fd5b5061015f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161009c565b34801561018357600080fd5b5061019761019236600461051b565b610233565b60405161009c9190610595565b3480156101b057600080fd5b506101126101bf366004610647565b63bc197c8160e01b95945050505050565b3480156101dc57600080fd5b506101126101eb3660046106f0565b63f23a6e6160e01b95945050505050565b60006001600160e01b03198216630271189760e51b148061022d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b604051630e6e1ae360e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa1580156102c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e49190610754565b6103015760405163075fd2b160e01b815260040160405180910390fd5b6001600160a01b038416610328576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516103449190610776565b60006040518083038185875af1925050503d8060008114610381576040519150601f19603f3d011682016040523d82523d6000602084013e610386565b606091505b5091509150816103a9576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b6000602082840312156103c457600080fd5b81356001600160e01b0319811681146103dc57600080fd5b9392505050565b80356001600160a01b03811681146103fa57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561043d5761043d6103ff565b604052919050565b600082601f83011261045657600080fd5b81356001600160401b0381111561046f5761046f6103ff565b610482601f8201601f1916602001610415565b81815284602083860101111561049757600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156104ca57600080fd5b6104d3856103e3565b93506104e1602086016103e3565b92506040850135915060608501356001600160401b0381111561050357600080fd5b61050f87828801610445565b91505092959194509250565b60008060006060848603121561053057600080fd5b610539846103e3565b92506020840135915060408401356001600160401b0381111561055b57600080fd5b61056786828701610445565b9150509250925092565b60005b8381101561058c578181015183820152602001610574565b50506000910152565b60208152600082518060208401526105b4816040850160208701610571565b601f01601f19169190910160400192915050565b600082601f8301126105d957600080fd5b813560206001600160401b038211156105f4576105f46103ff565b8160051b610603828201610415565b928352848101820192828101908785111561061d57600080fd5b83870192505b8483101561063c57823582529183019190830190610623565b979650505050505050565b600080600080600060a0868803121561065f57600080fd5b610668866103e3565b9450610676602087016103e3565b935060408601356001600160401b038082111561069257600080fd5b61069e89838a016105c8565b945060608801359150808211156106b457600080fd5b6106c089838a016105c8565b935060808801359150808211156106d657600080fd5b506106e388828901610445565b9150509295509295909350565b600080600080600060a0868803121561070857600080fd5b610711866103e3565b945061071f602087016103e3565b9350604086013592506060860135915060808601356001600160401b0381111561074857600080fd5b6106e388828901610445565b60006020828403121561076657600080fd5b815180151581146103dc57600080fd5b60008251610788818460208701610571565b919091019291505056fea264697066735822122053adece70c5f6926d272cd2677086ffef5b7422182a716a22c9c37321f13a3b364736f6c63430008130033815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747a26469706673582212202e02a09639d7475132a86eecb935e76ba6d5397d14a879f83d49c7d2ae0372f164736f6c63430008130033608060405234801561001057600080fd5b50610ebe806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631688f0b9146100675780632500510e1461017657806353e5d9351461024357806361b69abd146102c6578063addacc0f146103cb578063d18af54d1461044e575b600080fd5b61014a6004803603606081101561007d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156100ba57600080fd5b8201836020820111156100cc57600080fd5b803590602001918460018302840111640100000000831117156100ee57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919050505061057d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102176004803603606081101561018c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156101c957600080fd5b8201836020820111156101db57600080fd5b803590602001918460018302840111640100000000831117156101fd57600080fd5b909192939192939080359060200190929190505050610624565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61024b610751565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561028b578082015181840152602081019050610270565b50505050905090810190601f1680156102b85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61039f600480360360408110156102dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561031957600080fd5b82018360208201111561032b57600080fd5b8035906020019184600183028401116401000000008311171561034d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061077c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103d3610861565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104135780820151818401526020810190506103f8565b50505050905090810190601f1680156104405780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105516004803603608081101561046457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156104a157600080fd5b8201836020820111156104b357600080fd5b803590602001918460018302840111640100000000831117156104d557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061088c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600061058a848484610a3b565b90506000835111156105b25760008060008551602087016000865af114156105b157600080fd5b5b7f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2358185604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a19392505050565b60006106758585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505084610a3b565b905080604051602001808273ffffffffffffffffffffffffffffffffffffffff1660601b81526014019150506040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107165780820151818401526020810190506106fb565b50505050905090810190601f1680156107435780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60606040518060200161076390610bde565b6020820181038252601f19601f82011660405250905090565b60008260405161078b90610bde565b808273ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f0801580156107c7573d6000803e3d6000fd5b5090506000825111156107f05760008060008451602086016000865af114156107ef57600080fd5b5b7f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2358184604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a192915050565b60606040518060200161087390610beb565b6020820181038252601f19601f82011660405250905090565b6000808383604051602001808381526020018273ffffffffffffffffffffffffffffffffffffffff1660601b8152601401925050506040516020818303038152906040528051906020012060001c90506108e786868361057d565b9150600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610a32578273ffffffffffffffffffffffffffffffffffffffff16631e52b518838888886040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156109ca5780820151818401526020810190506109af565b50505050905090810190601f1680156109f75780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610a1957600080fd5b505af1158015610a2d573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600060405180602001610a8890610bde565b6020820181038252601f19601f820116604052508673ffffffffffffffffffffffffffffffffffffffff166040516020018083805190602001908083835b60208310610ae95780518252602082019150602081019050602083039250610ac6565b6001836020036101000a038019825116818451168082178552505050505050905001828152602001925050506040516020818303038152906040529050818151826020016000f59250600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bd5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f437265617465322063616c6c206661696c65640000000000000000000000000081525060200191505060405180910390fd5b50509392505050565b6101e680610bf883390190565b60ab80610dde8339019056fe608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f7669646564608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033a26469706673582212200c75fe2196b9f752c82794253f2ebce0d821afef5997e1d5a35ec316ce592f6664736f6c634300070600330000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d608060405234801561001057600080fd5b5060016004819055506159ae80620000296000396000f3fe6080604052600436106101dc5760003560e01c8063affed0e011610102578063e19a9dd911610095578063f08a032311610064578063f08a032314611647578063f698da2514611698578063f8dc5dd9146116c3578063ffa1ad741461173e57610231565b8063e19a9dd91461139b578063e318b52b146113ec578063e75235b81461147d578063e86637db146114a857610231565b8063cc2f8452116100d1578063cc2f8452146110e8578063d4d9bdcd146111b5578063d8d11f78146111f0578063e009cfde1461132a57610231565b8063affed0e014610d94578063b4faba0914610dbf578063b63e800d14610ea7578063c4ca3a9c1461101757610231565b80635624b25b1161017a5780636a761202116101495780636a761202146109945780637d83297414610b50578063934f3a1114610bbf578063a0e67e2b14610d2857610231565b80635624b25b146107fb5780635ae6bd37146108b9578063610b592514610908578063694e80c31461095957610231565b80632f54bf6e116101b65780632f54bf6e146104d35780633408e4701461053a578063468721a7146105655780635229073f1461067a57610231565b80630d582f131461029e57806312fb68e0146102f95780632d9ad53d1461046c57610231565b36610231573373ffffffffffffffffffffffffffffffffffffffff167f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d346040518082815260200191505060405180910390a2005b34801561023d57600080fd5b5060007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b905080548061027257600080f35b36600080373360601b365260008060143601600080855af13d6000803e80610299573d6000fd5b3d6000f35b3480156102aa57600080fd5b506102f7600480360360408110156102c157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117ce565b005b34801561030557600080fd5b5061046a6004803603608081101561031c57600080fd5b81019080803590602001909291908035906020019064010000000081111561034357600080fd5b82018360208201111561035557600080fd5b8035906020019184600183028401116401000000008311171561037757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156103da57600080fd5b8201836020820111156103ec57600080fd5b8035906020019184600183028401116401000000008311171561040e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050611bbe565b005b34801561047857600080fd5b506104bb6004803603602081101561048f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612440565b60405180821515815260200191505060405180910390f35b3480156104df57600080fd5b50610522600480360360208110156104f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612512565b60405180821515815260200191505060405180910390f35b34801561054657600080fd5b5061054f6125e4565b6040518082815260200191505060405180910390f35b34801561057157600080fd5b506106626004803603608081101561058857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156105cf57600080fd5b8201836020820111156105e157600080fd5b8035906020019184600183028401116401000000008311171561060357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506125f1565b60405180821515815260200191505060405180910390f35b34801561068657600080fd5b506107776004803603608081101561069d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156106e457600080fd5b8201836020820111156106f657600080fd5b8035906020019184600183028401116401000000008311171561071857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506127d7565b60405180831515815260200180602001828103825283818151815260200191508051906020019080838360005b838110156107bf5780820151818401526020810190506107a4565b50505050905090810190601f1680156107ec5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561080757600080fd5b5061083e6004803603604081101561081e57600080fd5b81019080803590602001909291908035906020019092919050505061280d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561087e578082015181840152602081019050610863565b50505050905090810190601f1680156108ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108c557600080fd5b506108f2600480360360208110156108dc57600080fd5b8101908080359060200190929190505050612894565b6040518082815260200191505060405180910390f35b34801561091457600080fd5b506109576004803603602081101561092b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128ac565b005b34801561096557600080fd5b506109926004803603602081101561097c57600080fd5b8101908080359060200190929190505050612c3e565b005b610b3860048036036101408110156109ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156109f257600080fd5b820183602082011115610a0457600080fd5b80359060200191846001830284011164010000000083111715610a2657600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610ab257600080fd5b820183602082011115610ac457600080fd5b80359060200191846001830284011164010000000083111715610ae657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612d78565b60405180821515815260200191505060405180910390f35b348015610b5c57600080fd5b50610ba960048036036040811015610b7357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506132b5565b6040518082815260200191505060405180910390f35b348015610bcb57600080fd5b50610d2660048036036060811015610be257600080fd5b810190808035906020019092919080359060200190640100000000811115610c0957600080fd5b820183602082011115610c1b57600080fd5b80359060200191846001830284011164010000000083111715610c3d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610ca057600080fd5b820183602082011115610cb257600080fd5b80359060200191846001830284011164010000000083111715610cd457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506132da565b005b348015610d3457600080fd5b50610d3d613369565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610d80578082015181840152602081019050610d65565b505050509050019250505060405180910390f35b348015610da057600080fd5b50610da9613512565b6040518082815260200191505060405180910390f35b348015610dcb57600080fd5b50610ea560048036036040811015610de257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610e1f57600080fd5b820183602082011115610e3157600080fd5b80359060200191846001830284011164010000000083111715610e5357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050613518565b005b348015610eb357600080fd5b506110156004803603610100811015610ecb57600080fd5b8101908080359060200190640100000000811115610ee857600080fd5b820183602082011115610efa57600080fd5b80359060200191846020830284011164010000000083111715610f1c57600080fd5b909192939192939080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610f6757600080fd5b820183602082011115610f7957600080fd5b80359060200191846001830284011164010000000083111715610f9b57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061353a565b005b34801561102357600080fd5b506110d26004803603608081101561103a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561108157600080fd5b82018360208201111561109357600080fd5b803590602001918460018302840111640100000000831117156110b557600080fd5b9091929391929390803560ff1690602001909291905050506136f8565b6040518082815260200191505060405180910390f35b3480156110f457600080fd5b506111416004803603604081101561110b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613820565b60405180806020018373ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019060200280838360005b838110156111a0578082015181840152602081019050611185565b50505050905001935050505060405180910390f35b3480156111c157600080fd5b506111ee600480360360208110156111d857600080fd5b8101908080359060200190929190505050613a12565b005b3480156111fc57600080fd5b50611314600480360361014081101561121457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561125b57600080fd5b82018360208201111561126d57600080fd5b8035906020019184600183028401116401000000008311171561128f57600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613bb1565b6040518082815260200191505060405180910390f35b34801561133657600080fd5b506113996004803603604081101561134d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613bde565b005b3480156113a757600080fd5b506113ea600480360360208110156113be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613f6f565b005b3480156113f857600080fd5b5061147b6004803603606081101561140f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613ff3565b005b34801561148957600080fd5b50611492614665565b6040518082815260200191505060405180910390f35b3480156114b457600080fd5b506115cc60048036036101408110156114cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561151357600080fd5b82018360208201111561152557600080fd5b8035906020019184600183028401116401000000008311171561154757600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061466f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561160c5780820151818401526020810190506115f1565b50505050905090810190601f1680156116395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561165357600080fd5b506116966004803603602081101561166a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614817565b005b3480156116a457600080fd5b506116ad614878565b6040518082815260200191505060405180910390f35b3480156116cf57600080fd5b5061173c600480360360608110156116e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506148f6565b005b34801561174a57600080fd5b50611753614d29565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015611793578082015181840152602081019050611778565b50505050905090810190601f1680156117c05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6117d6614d62565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156118405750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561187857503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6118ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506003600081548092919060010191905055507f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2682604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414611bba57611bb981612c3e565b5b5050565b611bd2604182614e0590919063ffffffff16565b82511015611c48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000808060008060005b8681101561243457611c648882614e3f565b80945081955082965050505060008460ff16141561206d578260001c9450611c96604188614e0590919063ffffffff16565b8260001c1015611d0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8751611d2760208460001c614e6e90919063ffffffff16565b1115611d9b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006020838a01015190508851611dd182611dc360208760001c614e6e90919063ffffffff16565b614e6e90919063ffffffff16565b1115611e45576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60606020848b010190506320c13b0b60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168773ffffffffffffffffffffffffffffffffffffffff166320c13b0b8d846040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611ee7578082015181840152602081019050611ecc565b50505050905090810190601f168015611f145780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611f4d578082015181840152602081019050611f32565b50505050905090810190601f168015611f7a5780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b158015611f9957600080fd5b505afa158015611fad573d6000803e3d6000fd5b505050506040513d6020811015611fc357600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614612066576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b50506122b2565b60018460ff161415612181578260001c94508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061210a57506000600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c81526020019081526020016000205414155b61217c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6122b1565b601e8460ff1611156122495760018a60405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018281526020019150506040516020818303038152906040528051906020012060048603858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612238573d6000803e3d6000fd5b5050506020604051035194506122b0565b60018a85858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156122a3573d6000803e3d6000fd5b5050506020604051035194505b5b5b8573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161180156123795750600073ffffffffffffffffffffffffffffffffffffffff16600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b80156123b25750600173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b612424576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323600000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8495508080600101915050611c52565b50505050505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff16600173ffffffffffffffffffffffffffffffffffffffff161415801561250b5750600073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156125dd5750600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000804690508091505090565b6000600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156126bc5750600073ffffffffffffffffffffffffffffffffffffffff16600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b61272e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61273b858585855a614e8d565b9050801561278b573373ffffffffffffffffffffffffffffffffffffffff167f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb860405160405180910390a26127cf565b3373ffffffffffffffffffffffffffffffffffffffff167facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37560405160405180910390a25b949350505050565b600060606127e7868686866125f1565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b606060006020830267ffffffffffffffff8111801561282b57600080fd5b506040519080825280601f01601f19166020018201604052801561285e5781602001600182028036833780820191505090505b50905060005b8381101561288957808501548060208302602085010152508080600101915050612864565b508091505092915050565b60076020528060005260406000206000915090505481565b6128b4614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561291e5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b612990576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612a91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b612c46614d62565b600354811115612cbe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001811015612d35576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b806004819055507f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c936004546040518082815260200191505060405180910390a150565b6000806000612d928e8e8e8e8e8e8e8e8e8e60055461466f565b905060056000815480929190600101919050555080805190602001209150612dbb8282866132da565b506000612dc6614ed9565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612fac578073ffffffffffffffffffffffffffffffffffffffff166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b8152600401808d73ffffffffffffffffffffffffffffffffffffffff1681526020018c8152602001806020018a6001811115612e6957fe5b81526020018981526020018881526020018781526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018473ffffffffffffffffffffffffffffffffffffffff16815260200183810383528d8d82818152602001925080828437600081840152601f19601f820116905080830192505050838103825285818151815260200191508051906020019080838360005b83811015612f3b578082015181840152602081019050612f20565b50505050905090810190601f168015612f685780820380516001836020036101000a031916815260200191505b509e505050505050505050505050505050600060405180830381600087803b158015612f9357600080fd5b505af1158015612fa7573d6000803e3d6000fd5b505050505b6101f4612fd36109c48b01603f60408d0281612fc457fe5b04614f0a90919063ffffffff16565b015a1015613049576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60005a90506130b28f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e60008d146130a7578e6130ad565b6109c45a035b614e8d565b93506130c75a82614f2490919063ffffffff16565b905083806130d6575060008a14155b806130e2575060008814155b613154576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008089111561316e5761316b828b8b8b8b614f44565b90505b84156131b8577f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e8482604051808381526020018281526020019250505060405180910390a16131f8565b7f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238482604051808381526020018281526020019250505060405180910390a15b5050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146132a4578073ffffffffffffffffffffffffffffffffffffffff16639327136883856040518363ffffffff1660e01b815260040180838152602001821515815260200192505050600060405180830381600087803b15801561328b57600080fd5b505af115801561329f573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6008602052816000526040600020602052806000526040600020600091509150505481565b6000600454905060008111613357576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61336384848484611bbe565b50505050565b6060600060035467ffffffffffffffff8111801561338657600080fd5b506040519080825280602002602001820160405280156133b55781602001602082028036833780820191505090505b50905060008060026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614613509578083838151811061346057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050818060010192505061341f565b82935050505090565b60055481565b600080825160208401855af4806000523d6020523d600060403e60403d016000fd5b6135858a8a80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050508961514a565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146135c3576135c28461564a565b5b6136118787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050615679565b600082111561362b5761362982600060018685614f44565b505b3373ffffffffffffffffffffffffffffffffffffffff167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b8960405180806020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281038252878782818152602001925060200280828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a250505050505050505050565b6000805a905061374f878787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050865a614e8d565b61375857600080fd5b60005a8203905080604051602001808281526020019150506040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156137e55780820151818401526020810190506137ca565b50505050905090810190601f1680156138125780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b606060008267ffffffffffffffff8111801561383b57600080fd5b5060405190808252806020026020018201604052801561386a5781602001602082028036833780820191505090505b509150600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561393d5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561394857508482105b15613a03578084838151811061395a57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081806001019250506138d3565b80925081845250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff16600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613b14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16817ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c60405160405180910390a350565b6000613bc68c8c8c8c8c8c8c8c8c8c8c61466f565b8051906020012090509b9a5050505050505050505050565b613be6614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015613c505750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b613cc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613dc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613f77614d62565b60007f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b90508181557f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa282604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613ffb614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156140655750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561409d57503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b61410f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614210576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561427a5750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6142ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146143ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a17f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1505050565b6000600454905090565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d60405180838380828437808301925050509250505060405180910390208c8c8c8c8c8c8c604051602001808c81526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a815260200189815260200188600181111561470057fe5b81526020018781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019b505050505050505050505050604051602081830303815290604052805190602001209050601960f81b600160f81b61478c614878565b8360405160200180857effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101847effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018381526020018281526020019450505050506040516020818303038152906040529150509b9a5050505050505050505050565b61481f614d62565b6148288161564a565b7f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a7946921860001b6148a66125e4565b30604051602001808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405160208183030381529060405280519060200120905090565b6148fe614d62565b806001600354031015614979576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156149e35750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b614a55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614b55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360008154809291906001900391905055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414614d2457614d2381612c3e565b5b505050565b6040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614614e03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b565b600080831415614e185760009050614e39565b6000828402905082848281614e2957fe5b0414614e3457600080fd5b809150505b92915050565b60008060008360410260208101860151925060408101860151915060ff60418201870151169350509250925092565b600080828401905083811015614e8357600080fd5b8091505092915050565b6000600180811115614e9b57fe5b836001811115614ea757fe5b1415614ec0576000808551602087018986f49050614ed0565b600080855160208701888a87f190505b95945050505050565b6000807f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b9050805491505090565b600081831015614f1a5781614f1c565b825b905092915050565b600082821115614f3357600080fd5b600082840390508091505092915050565b600080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614614f815782614f83565b325b9050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561509b57614fed3a8610614fca573a614fcc565b855b614fdf888a614e6e90919063ffffffff16565b614e0590919063ffffffff16565b91508073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050615096576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b615140565b6150c0856150b2888a614e6e90919063ffffffff16565b614e0590919063ffffffff16565b91506150cd8482846158b4565b61513f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5095945050505050565b6000600454146151c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8151811115615239576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60018110156152b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006001905060005b83518110156155b65760008482815181106152d057fe5b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156153445750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561537c57503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156153b457508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b615426576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614615527576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508092505080806001019150506152b9565b506001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550825160038190555081600481905550505050565b60007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b90508181555050565b600073ffffffffffffffffffffffffffffffffffffffff1660016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461577b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001806000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146158b05761583d8260008360015a614e8d565b6158af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5050565b60008063a9059cbb8484604051602401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050602060008251602084016000896127105a03f13d6000811461595b5760208114615963576000935061596e565b81935061596e565b600051158215171593505b505050939250505056fea26469706673582212203874bcf92e1722cc7bfa0cef1a0985cf0dc3485ba0663db3747ccdf1605df53464736f6c63430007060033885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12da26469706673582212205a12cbdfc4308cc8bddc1f73a99e00657e28c4a07f65c12cfea5127559d6b6f864736f6c63430008130033516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a44686132666a3547656536684a7a5359","sourceMap":"3126:44:22:-:0;;;3166:4;-1:-1:-1;;3126:44:22;;;;;;;;1016:26:32;;;;;;;;;;1027:9287:123;904:82:118;;;;1027:9287:123;904:82:118;;;;;;;;;;;;;877:109;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;821:1:125;788:34;;;;852:1;828:25;;1338:33:123;;;-1:-1:-1;;;;;;1338:33:123;;;;;;;;1454:31;;;;;;1483:1;1454:31;;;-1:-1:-1;1027:9287:123;;;;;;;;;;;;14:127:126;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:126;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:126;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:126;;;2580:26;2531:89;-1:-1:-1;;1335:1:126;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:126;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:126;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:126;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:126:o;:::-;1027:9287:123;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b50600436106200044d5760003560e01c8062b1fad71462000452578063023a6f431462000474578063030e4006146200048d5780630522b7db14620004975780630688b13514620004ab57806308c24f9f14620004b55780630a9254e414620004cc5780630f166ad414620004d6578063174eedde14620004dd578063176effb314620004e5578063180fd87f14620004f75780631854036114620005105780631ae726d914620005195780631b96dce614620005305780631d8fcc10146200053a5780631e7bcb2e14620005435780631ed7831c146200054d5780632ade388014620005665780632e0f2625146200057f5780633554642a146200058f57806337d1c40414620005a1578063392f37e914620005b857806339f56f7f14620005d25780633e5e3c2314620005db5780633f26479e14620005e55780633f7286f414620005ef57806349ef42c114620005f95780634bf4ba211462000603578063587c1243146200060d5780635aff599914620006175780635d1222aa146200062157806366d003ac146200062b57806366d9a9a014620006355780636a38dd0a146200064e5780636c53db9a14620006585780636db52510146200066c5780636f6dfab1146200068357806370a32944146200068d57806374d9284e14620004dd578063758311e41462000697578063759c9a8614620006a15780637658524d14620006ab57806379e62d0d14620006b55780637b10399914620006bf5780637b2edf3214620006c95780637cbe79ed14620006d35780638292636f14620006dd578063829e423f14620004dd57806385226c8114620006e757806385294f181462000700578063896546a114620007175780638c7408c414620004dd5780638e0d1a50146200072b5780638e3c24931462000735578063916a17c6146200073f57806394d181e31462000749578063985a0b941462000753578063a0cf0aea146200075d578063a407c67a1462000779578063a41cfc991462000783578063aa3744bd146200078d578063b5508aa91462000797578063ba414fa614620007a1578063bb0504cd14620007bc578063beda3db314620007c6578063c1f2a64114620007d8578063c36e336b14620007ef578063c5d7d73b1462000815578063c73b09e71462000827578063caa12add1462000831578063d1e82b58146200084d578063d1f2cd881462000857578063d23727ed1462000861578063d5bee9f5146200087d578063d6d8428d1462000887578063da4bf0871462000891578063dac4eb16146200089b578063dac770b314620008a5578063e070e0ab14620008af578063e20c9f7114620008c6578063e99ce91114620008d0578063ec9ec24814620008e7578063ef0d790f14620008f1578063f69d511f14620008fb578063f8cbf34f1462000912578063fa7626d4146200091c578063fc0c546a146200092a578063fd325c60146200093e578063fe24a3cb1462000947575b600080fd5b6200045c62000951565b6040516200046b919062006042565b60405180910390f35b6200048b6200048536600462006166565b62000988565b005b6200045c6200099e565b602a546200045c906001600160a01b031681565b6200045c620009d6565b6200045c620004c6366004620061d9565b62000a05565b6200048b62000cfa565b306200045c565b60006200045c565b6020546001600160a01b03166200045c565b6200050162001cd4565b6040519081526020016200046b565b60235462000501565b6200045c6200052a36600462006217565b6200207a565b6200045c6200208b565b62000501600381565b6200045c620020be565b62000557620020f3565b6040516200046b91906200627d565b6200057062002157565b6040516200046b91906200633f565b62000501670de0b6b3a764000081565b6024546001600160a01b03166200045c565b62000501620005b2366004620063c0565b620022a5565b620005c26200236c565b6040516200046b929190620064a9565b60215462000501565b620005576200240b565b6200050161271081565b620005576200246d565b6200045c620024cf565b6200055762002536565b6200045c62002559565b6200045c6200258e565b62000501602d5481565b6200045c620025c3565b6200063f620025f1565b6040516200046b9190620064c4565b6200045c620026db565b6029546200045c906001600160a01b031681565b6200048b6200067d3660046200657b565b6200270d565b6200048b62002730565b6200055762002a1e565b6200048b62002ac0565b6200045c62002de7565b62000501602c5481565b6200055762002e18565b6200045c62002e87565b6200045c62002e9b565b6200045c62002ed0565b6200048b62002eff565b620006f1620030ff565b6040516200046b9190620065d9565b620005016200071136600462006684565b620031d9565b602b546200045c906001600160a01b031681565b6200045c6200320a565b6200045c62003239565b6200063f6200326e565b6200048b62003358565b6200048b62003655565b6200045c73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b62000557620038c2565b6200048b62003931565b6200045c62003afa565b620006f162003b29565b620007ab62003c03565b60405190151581526020016200046b565b6200045c62003cb8565b6200050169032d26d12e980b60000081565b6200048b620007e936600462006739565b62003d1f565b6200080662000800366004620067f9565b62003df3565b6040516200046b9190620069ab565b6022546001600160a01b03166200045c565b6200048b62003f5f565b6200045c73dd4bda7bcda544d6da2aea8ab8b0e63d2f6dc73781565b6200045c62003fed565b6200045c62004022565b6200045c73bba817f97f133b87b9b7f1fc0f2c56e9f68d2edf81565b6200045c62004055565b6200045c62004085565b6200045c62004094565b6200045c620040c6565b6200045c620040f9565b62000501620008c0366004620069c0565b620045b3565b62000557620047d8565b62000501620008e136600462006a89565b6200483a565b6200048b620048dc565b6200045c62004c72565b6200045c6200090c36600462006abc565b62004caa565b6200048b62004d20565b601e54620007ab9060ff1681565b6033546200045c906001600160a01b031681565b601f5462000501565b6200050162005036565b6000620009836040518060400160405280600d81526020016c706f6f6c5f6d616e616765723160981b8152506200507c565b905090565b6200099884848484600062003d1f565b50505050565b60006200098360405180604001604052806013815260200172383937b334b63298afb737ba20a6b2b6b132b960691b8152506200507c565b6000620009836040518060400160405280600a8152602001693932b1b4b834b2b73a1960b11b8152506200507c565b602a546000906001600160a01b031662000ce6576001600160a01b03821662000aec57600062000a34620024cf565b905062000a4062003cb8565b604051631688f0b960e01b81526001600160a01b0383811660048301526060602483015260006064830181905260036044840152929550851690631688f0b9906084016020604051808303816000875af115801562000aa3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ac9919062006b01565b602a80546001600160a01b0319166001600160a01b039290921691909117905550505b602a54604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600f60448201526e31b7bab731b4b629b0b332a0b2323960891b60648201526000805160206202098e8339815191529063c657c71890608401600060405180830381600087803b15801562000b6657600080fd5b505af115801562000b7b573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03871660048201526024810191909152601060448201526f31b7bab731b4b629b0b332a7bbb732b960811b60648201526000805160206202098e833981519152925063c657c7189150608401600060405180830381600087803b15801562000bf957600080fd5b505af115801562000c0e573d6000803e3d6000fd5b50600092506001915062000c1f9050565b60405190808252806020026020018201604052801562000c49578160200160208202803683370190505b509050838160008151811062000c635762000c6362006b21565b6001600160a01b039283166020918202929092010152602a5460405163b63e800d60e01b815291169063b63e800d9062000cb0908490600190600090819081908190819060040162006b37565b600060405180830381600087803b15801562000ccb57600080fd5b505af115801562000ce0573d6000803e3d6000fd5b50505050505b50602a546001600160a01b03165b92915050565b62000d0462005090565b62000d1862000d1262002e87565b62005655565b6000805160206202098e8339815191526306447d5662000d3762002ed0565b6040518263ffffffff1660e01b815260040162000d55919062006042565b600060405180830381600087803b15801562000d7057600080fd5b505af115801562000d85573d6000803e3d6000fd5b5050505062000d9362004085565b60405163473480c360e11b8152600060048201526001600160a01b039190911690638e69018690602401600060405180830381600087803b15801562000dd857600080fd5b505af115801562000ded573d6000803e3d6000fd5b5050505062000dfb62004085565b6040516307aa7e2560e51b8152600060048201526001600160a01b03919091169063f54fc4a090602401600060405180830381600087803b15801562000e4057600080fd5b505af115801562000e55573d6000803e3d6000fd5b505050506000805160206202638583398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000ea757600080fd5b505af115801562000ebc573d6000803e3d6000fd5b50505050601260405162000ed09062005e3f565b6060808252600a908201526926b7b1b5902a37b5b2b760b11b608082015260a060208201819052600390820152624d544b60e81b60c082015260ff909116604082015260e001604051809103906000f08015801562000f33573d6000803e3d6000fd5b50603380546001600160a01b0319166001600160a01b039290921691821790556340c10f193062000f6f6003683635c9adc5dea0000062006bb4565b6040518363ffffffff1660e01b815260040162000f8e92919062006bd7565b600060405180830381600087803b15801562000fa957600080fd5b505af115801562000fbe573d6000803e3d6000fd5b50506033546001600160a01b031691506340c10f19905062000fdf6200320a565b62000ff56003683635c9adc5dea0000062006bb4565b6040518363ffffffff1660e01b81526004016200101492919062006bd7565b600060405180830381600087803b1580156200102f57600080fd5b505af115801562001044573d6000803e3d6000fd5b50506033546001600160a01b031691506340c10f1990506006620010736003683635c9adc5dea0000062006bb4565b6040518363ffffffff1660e01b81526004016200109292919062006bd7565b600060405180830381600087803b158015620010ad57600080fd5b505af1158015620010c2573d6000803e3d6000fd5b50506033546001600160a01b0316915063095ea7b39050620010e362004085565b685150ae84a8cdf000006040518363ffffffff1660e01b81526004016200110c92919062006bd7565b6020604051808303816000875af11580156200112c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001152919062006c01565b506000805160206202098e8339815191526306447d566200117262002ed0565b6040518263ffffffff1660e01b815260040162001190919062006042565b600060405180830381600087803b158015620011ab57600080fd5b505af1158015620011c0573d6000803e3d6000fd5b50505050620011ce62004085565b6001600160a01b031663f2fde38b306040518263ffffffff1660e01b8152600401620011fb919062006042565b600060405180830381600087803b1580156200121657600080fd5b505af11580156200122b573d6000803e3d6000fd5b505050506000805160206202638583398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200127d57600080fd5b505af115801562001292573d6000803e3d6000fd5b50506034546040516303223eab60e11b81526000805160206202098e83398151915293506306447d569250620012d5916001600160a01b03169060040162006042565b600060405180830381600087803b158015620012f057600080fd5b505af115801562001305573d6000803e3d6000fd5b50505050604051620013179062005e4d565b604051809103906000f08015801562001334573d6000803e3d6000fd5b5060408051671bc16d674ec8000060248083019190915282518083039091018152604490910182526020810180516001600160e01b031663fe4b84df60e01b1790529051620013839062005e5b565b6200139092919062006c1f565b604051809103906000f080158015620013ad573d6000803e3d6000fd5b50602f60006101000a8154816001600160a01b0302191690836001600160a01b031602179055506000805160206202638583398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200142257600080fd5b505af115801562001437573d6000803e3d6000fd5b505050506200144562005e69565b6200144f62004085565b6001600160a01b03908116825260335416602080830191909152670de0b6b3a7640000604080840191909152600160608401523060c08401528051808201909152602680548252602780549293919291840191620014ad9062006c45565b80601f0160208091040260200160405190810160405280929190818152602001828054620014db9062006c45565b80156200152c5780601f1062001500576101008083540402835291602001916200152c565b820191906000526020600020905b8154815290600101906020018083116200150e57829003601f168201915b5050509190925250505060e082015262001545620040f9565b6001600160a01b0316610100820152604051620015629062005f15565b604051809103906000f0801580156200157f573d6000803e3d6000fd5b50603454604051630a2ca2bd60e11b916001600160a01b031690600290620015a79062005f23565b604051809103906000f080158015620015c4573d6000803e3d6000fd5b50604051620015d39062005f31565b604051809103906000f080158015620015f0573d6000803e3d6000fd5b50604051620015ff9062005f3f565b604051809103906000f0801580156200161c573d6000803e3d6000fd5b506040516001600160a01b039586166024820152938516604485015291841660648401528316608483015290911660a482015260c40160408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051620016919062005e5b565b6200169e92919062006c1f565b604051809103906000f080158015620016bb573d6000803e3d6000fd5b506001600160a01b031663beb331a3826040518263ffffffff1660e01b8152600401620016e9919062006c9c565b6020604051808303816000875af115801562001709573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200172f919062006b01565b603280546001600160a01b0319166001600160a01b039290921691821790556040805160208101909152600091829163579eb7e59073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9062001801908490600190600290806200179d670de0b6b3a764000060c862006da8565b90526040805160c08101909152602f546001600160a01b0316815260208101620017c6620040f9565b6001600160a01b0316815260200166470de4df8200008152602001662386f26fc1000081526020016001815260200161012c81525062003df3565b60266040518463ffffffff1660e01b8152600401620018239392919062006e83565b60408051808303816000875af115801562001842573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001868919062006ebd565b6031829055603080546001600160a01b0319166001600160a01b03831617905590925090506000805160206202098e8339815191526306447d56620018ac6200320a565b6040518263ffffffff1660e01b8152600401620018ca919062006042565b600060405180830381600087803b158015620018e557600080fd5b505af1158015620018fa573d6000803e3d6000fd5b50506032546030546040516200196d94506001600160a01b03928316935060009263223e547960e01b92620019359291169060240162006042565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526200270d565b6000805160206202638583398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620019bb57600080fd5b505af1158015620019d0573d6000803e3d6000fd5b50505050603260009054906101000a90046001600160a01b03166001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001a28573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001a4e919062006b01565b6032546001600160a01b039182169163095ea7b39116606462001a7360018062006ee5565b62001a8790670de0b6b3a764000062006da8565b62001a93919062006bb4565b62001aa790670de0b6b3a764000062006ee5565b6040518363ffffffff1660e01b815260040162001ac692919062006bd7565b6020604051808303816000875af115801562001ae6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b0c919062006c01565b50603260009054906101000a90046001600160a01b03166001600160a01b0316633517aa7d6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562001b5e57600080fd5b505af115801562001b73573d6000803e3d6000fd5b50505050603060009054906101000a90046001600160a01b03166001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562001bc857600080fd5b505af115801562001bdd573d6000803e3d6000fd5b505060405163c88a5e6d60e01b81526000805160206202098e833981519152925063c88a5e6d915062001c2190309069032d26d12e980b6000009060040162006bd7565b600060405180830381600087803b15801562001c3c57600080fd5b505af115801562001c51573d6000803e3d6000fd5b5050505062001c5f62004085565b6040516316b35beb60e21b81526004810184905269032d26d12e980b600000602482018190526001600160a01b039290921691635acd6fac916044016000604051808303818588803b15801562001cb557600080fd5b505af115801562001cca573d6000803e3d6000fd5b5050505050505050565b600080670de0b6b3a7640000905060006040518060a00160405280603154815260200162001d016200320a565b6001600160a01b0316815260200183815260200173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316815260200160266040518060400160405290816000820154815260200160018201805462001d619062006c45565b80601f016020809104026020016040519081016040528092919081815260200182805462001d8f9062006c45565b801562001de05780601f1062001db45761010080835404028352916020019162001de0565b820191906000526020600020905b81548152906001019060200180831162001dc257829003601f168201915b505050505081525050815250905060008160405160200162001e03919062006efb565b60408051601f1981840301815282825260305463059351cd60e01b845291519093506000926001600160a01b039092169163059351cd9160048083019260c09291908290030181865afa15801562001e5f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001e85919062006f4e565b505050925050506000805160206202638583398151915260001c6001600160a01b031663c88a5e6d62001eb76200320a565b836040518363ffffffff1660e01b815260040162001ed792919062006bd7565b600060405180830381600087803b15801562001ef257600080fd5b505af115801562001f07573d6000803e3d6000fd5b506000805160206202098e83398151915292506306447d56915062001f2d90506200320a565b6040518263ffffffff1660e01b815260040162001f4b919062006042565b600060405180830381600087803b15801562001f6657600080fd5b505af115801562001f7b573d6000803e3d6000fd5b5050505062001f8962004085565b6001600160a01b031663075c0e9c82603154856040518463ffffffff1660e01b815260040162001fbb929190620064a9565b60206040518083038185885af115801562001fda573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062002001919062006b01565b6001600160a01b031694506000805160206202638583398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200205a57600080fd5b505af11580156200206f573d6000803e3d6000fd5b505050505050505090565b600062000cf482620004c662003cb8565b6000620009836040518060400160405280600e81526020016d383937b334b632992fb7bbb732b960911b8152506200507c565b6000620009836040518060400160405280601081526020016f70726f66696c65315f6d656d6265723160801b8152506200507c565b606060168054806020026020016040519081016040528092919081815260200182805480156200214d57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116200212e575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b828210156200229c57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562002284578382906000526020600020018054620021f09062006c45565b80601f01602080910402602001604051908101604052809291908181526020018280546200221e9062006c45565b80156200226f5780601f1062002243576101008083540402835291602001916200226f565b820191906000526020600020905b8154815290600101906020018083116200225157829003601f168201915b505050505081526020019060010190620021ce565b5050505081525050815260200190600101906200217b565b50505050905090565b60285460009062002360576040805180820182526001815281518083018352600c81526b506f6f6c50726f66696c653160a01b6020828101919091528201529051633a92f65f60e01b81526001600160a01b03861691633a92f65f9162002316916002918890889060040162006fb1565b6020604051808303816000875af115801562002336573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200235c91906200702a565b6028555b506028545b9392505050565b6026805460278054919291620023829062006c45565b80601f0160208091040260200160405190810160405280929190818152602001828054620023b09062006c45565b8015620024015780601f10620023d55761010080835404028352916020019162002401565b820191906000526020600020905b815481529060010190602001808311620023e357829003601f168201915b5050505050905082565b606060188054806020026020016040519081016040528092919081815260200182805480156200214d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200212e575050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156200214d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200212e575050505050905090565b6000620024f073dd4bda7bcda544d6da2aea8ab8b0e63d2f6dc737620057f8565b156200250f575073dd4bda7bcda544d6da2aea8ab8b0e63d2f6dc73790565b6200098360405180615a0001604052806159d78152602001620209ae6159d7913962004caa565b604080516002808252606080830184529260208301908036833701905050905090565b6000620009836040518060400160405280601081526020016f70726f66696c65325f6d656d6265723160801b8152506200507c565b6000620009836040518060400160405280601081526020016f726563697069656e744164647265737360801b8152506200507c565b600062000983604051806040016040528060098152602001681c9958da5c1a595b9d60ba1b8152506200507c565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156200229c5760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015620026c257602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620026835790505b5050505050815250508152602001906001019062002615565b6000620009836040518060400160405280600d81526020016c3837b7b62fb6b0b730b3b2b91960991b8152506200507c565b602954602c546200272b916001600160a01b03169085848662003d1f565b505050565b60006200273c62001cd4565b60355460405163c88a5e6d60e01b81529192506000805160206202098e8339815191529163c88a5e6d916200278a916001600160a01b0390911690678ac7230489e800009060040162006bd7565b600060405180830381600087803b158015620027a557600080fd5b505af1158015620027ba573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206202098e833981519152935063ca669fa79250620027fd916001600160a01b03169060040162006042565b600060405180830381600087803b1580156200281857600080fd5b505af11580156200282d573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62002861671bc16d674ec80000662386f26fc1000062006ee5565b846040518363ffffffff1660e01b815260040162002880919062007044565b60206040518083038185885af11580156200289f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190620028c691906200702a565b604051630618f58760e51b81529091506000805160206202098e8339815191529063c31eb0e09062002904906309efd47960e41b906004016200706a565b600060405180830381600087803b1580156200291f57600080fd5b505af115801562002934573d6000803e3d6000fd5b506000805160206202098e833981519152925063ca669fa791506200295a9050620040f9565b6040518263ffffffff1660e01b815260040162002978919062006042565b600060405180830381600087803b1580156200299357600080fd5b505af1158015620029a8573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d37569350620029e692869260049291169082016200707f565b600060405180830381600087803b15801562002a0157600080fd5b505af115801562002a16573d6000803e3d6000fd5b505050505050565b6040805160028082526060808301845292600092919060208301908036833701905050905062002a4d620020be565b8160008151811062002a635762002a6362006b21565b60200260200101906001600160a01b031690816001600160a01b03168152505062002a8d62002e9b565b8160018151811062002aa35762002aa362006b21565b6001600160a01b0390921660209283029190910190910152919050565b600062002acc62001cd4565b60355460405163c88a5e6d60e01b81529192506000805160206202098e8339815191529163c88a5e6d9162002b1a916001600160a01b0390911690678ac7230489e800009060040162006bd7565b600060405180830381600087803b15801562002b3557600080fd5b505af115801562002b4a573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206202098e833981519152935063ca669fa7925062002b8d916001600160a01b03169060040162006042565b600060405180830381600087803b15801562002ba857600080fd5b505af115801562002bbd573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62002bf1671bc16d674ec80000662386f26fc1000062006ee5565b846040518363ffffffff1660e01b815260040162002c10919062007044565b60206040518083038185885af115801562002c2f573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062002c5691906200702a565b90506000805160206202098e83398151915263ca669fa762002c77620040f9565b6040518263ffffffff1660e01b815260040162002c95919062006042565b600060405180830381600087803b15801562002cb057600080fd5b505af115801562002cc5573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d3756935062002d049286926002929116906004016200707f565b600060405180830381600087803b15801562002d1f57600080fd5b505af115801562002d34573d6000803e3d6000fd5b5050602f5460405163564a565d60e01b815260048101859052600093508392506001600160a01b039091169063564a565d90602401600060405180830381865afa15801562002d87573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002db19190810190620070d4565b955095505050505062002dc682600262005807565b6200099881600181111562002ddf5762002ddf62006870565b600162005807565b6000620009836040518060400160405280600c81526020016b1b9bd7dc9958da5c1a595b9d60a21b8152506200507c565b6040805160028082526060808301845292600092919060208301908036833701905050905062002e4762000951565b8160008151811062002e5d5762002e5d62006b21565b60200260200101906001600160a01b031690816001600160a01b03168152505062002a8d620026db565b601e5461010090046001600160a01b031690565b6000620009836040518060400160405280601081526020016f383937b334b63298afb6b2b6b132b91960811b8152506200507c565b6000620009836040518060400160405280600a81526020016930b63637afb7bbb732b960b11b8152506200507c565b60355460405163c88a5e6d60e01b81526000805160206202098e8339815191529163c88a5e6d9162002f48916001600160a01b031690678ac7230489e800009060040162006bd7565b600060405180830381600087803b15801562002f6357600080fd5b505af115801562002f78573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206202098e833981519152935063ca669fa7925062002fbb916001600160a01b03169060040162006042565b600060405180830381600087803b15801562002fd657600080fd5b505af115801562002feb573d6000803e3d6000fd5b5050604051630618f58760e51b81526000805160206202098e833981519152925063c31eb0e091506200302a9063e4216b3160e01b906004016200706a565b600060405180830381600087803b1580156200304557600080fd5b505af11580156200305a573d6000803e3d6000fd5b5050602f546001600160a01b0316915063c13517e19050620030866001671bc16d674ec8000062007174565b60036040518363ffffffff1660e01b8152600401620030b691815260406020820181905260009082015260600190565b60206040518083038185885af1158015620030d5573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190620030fc91906200702a565b50565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156200229c578382906000526020600020018054620031459062006c45565b80601f0160208091040260200160405190810160405280929190818152602001828054620031739062006c45565b8015620031c45780601f106200319857610100808354040283529160200191620031c4565b820191906000526020600020905b815481529060010190602001808311620031a657829003601f168201915b50505050508152602001906001019062003123565b6000620031fd89898989898989604051806020016040528060008152508a620045b3565b9998505050505050505050565b6000620009836040518060400160405280600a8152602001693837b7b62fb0b236b4b760b11b8152506200507c565b6000620009836040518060400160405280601081526020016f383937b334b632992fb6b2b6b132b91960811b8152506200507c565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156200229c5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200333f57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620033005790505b5050505050815250508152602001906001019062003292565b60006200336462001cd4565b60355460405163c88a5e6d60e01b81529192506000805160206202098e8339815191529163c88a5e6d91620033b2916001600160a01b0390911690678ac7230489e800009060040162006bd7565b600060405180830381600087803b158015620033cd57600080fd5b505af1158015620033e2573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206202098e833981519152935063ca669fa7925062003425916001600160a01b03169060040162006042565b600060405180830381600087803b1580156200344057600080fd5b505af115801562003455573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62003489671bc16d674ec80000662386f26fc1000062006ee5565b846040518363ffffffff1660e01b8152600401620034a8919062007044565b60206040518083038185885af1158015620034c7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190620034ee91906200702a565b603554602954604080516001600160a01b0393841660248201529290911660448084019190915281518084039091018152606490920181526020820180516001600160e01b031663d0774c9960e01b1790525163f28dceb360e01b81529192506000805160206202098e8339815191529163f28dceb39162003573916004016200718a565b600060405180830381600087803b1580156200358e57600080fd5b505af1158015620035a3573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206202098e833981519152935063ca669fa79250620035e6916001600160a01b03169060040162006042565b600060405180830381600087803b1580156200360157600080fd5b505af115801562003616573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d37569350620029e69286926002929116906004016200707f565b60006200366162001cd4565b60355460405163c88a5e6d60e01b81529192506000805160206202098e8339815191529163c88a5e6d91620036af916001600160a01b0390911690678ac7230489e800009060040162006bd7565b600060405180830381600087803b158015620036ca57600080fd5b505af1158015620036df573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206202098e833981519152935063ca669fa7925062003722916001600160a01b03169060040162006042565b600060405180830381600087803b1580156200373d57600080fd5b505af115801562003752573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62003786671bc16d674ec80000662386f26fc1000062006ee5565b846040518363ffffffff1660e01b8152600401620037a5919062007044565b60206040518083038185885af1158015620037c4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190620037eb91906200702a565b602f5460405163564a565d60e01b8152600481018390529192506000918291829182916001600160a01b03169063564a565d90602401600060405180830381865afa1580156200383f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620038699190810190620070d4565b955095509550955050506200388084600362005807565b6200389483671bc16d674ec8000062005807565b620038a182600062005807565b62002a16816001811115620038ba57620038ba62006870565b600062005807565b60408051600280825260608083018452926000929190602083019080368337019050509050620038f162002559565b8160008151811062003907576200390762006b21565b60200260200101906001600160a01b031690816001600160a01b03168152505062002a8d62003239565b6034546040516303223eab60e11b81526000805160206202098e833981519152916306447d569162003970916001600160a01b03169060040162006042565b600060405180830381600087803b1580156200398b57600080fd5b505af1158015620039a0573d6000803e3d6000fd5b5050602f546040516317a9ed3f60e21b815266470de4df8200006004820181905293506001600160a01b039091169150635ea7b4fc90602401600060405180830381600087803b158015620039f457600080fd5b505af115801562003a09573d6000803e3d6000fd5b5050602f5460405163f7434ea960e01b8152602060048201526000602482015262003a9093506001600160a01b03909116915063f7434ea990604401602060405180830381865afa15801562003a63573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003a8991906200702a565b8262005807565b6000805160206202638583398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562003ade57600080fd5b505af115801562003af3573d6000803e3d6000fd5b5050505050565b6000620009836040518060400160405280600a815260200169726563697069656e743160b01b8152506200507c565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156200229c57838290600052602060002001805462003b6f9062006c45565b80601f016020809104026020016040519081016040528092919081815260200182805462003b9d9062006c45565b801562003bee5780601f1062003bc25761010080835404028352916020019162003bee565b820191906000526020600020905b81548152906001019060200180831162003bd057829003601f168201915b50505050508152602001906001019062003b4d565b60085460009060ff161562003c1c575060085460ff1690565b604051630667f9d760e41b81526000906000805160206202098e8339815191529063667f9d709062003c6d9060008051602062026385833981519152906519985a5b195960d21b9060040162006bd7565b602060405180830381865afa15801562003c8b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003cb191906200702a565b1415905090565b600062003cd973bba817f97f133b87b9b7f1fc0f2c56e9f68d2edf620057f8565b1562003cf8575073bba817f97f133b87b9b7f1fc0f2c56e9f68d2edf90565b6200098360405180610f000160405280610ede81526020016201fab0610ede913962004caa565b606062003d2f848488886200586b565b905062002a16866001600160a01b0316636a7612028685876000806000806000808c6040518b63ffffffff1660e01b815260040162003d789a99989796959493929190620071b2565b6020604051808303816000875af115801562003d98573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003dbe919062006c01565b60405180604001604052806016815260200175195e1958d51c985b9cd858dd1a5bdb8819985a5b195960521b81525062005942565b62003dfd62005f4d565b62003e10670de0a46bc207d80062005978565b81516040015262003e296702c68af0bb14000062005978565b81515262003e3e66038d7ea4c6800062005978565b815160209081019190915281516702c68af0bb1400006060909101526001600160a01b03871660a0830152810185600281111562003e805762003e8062006870565b9081600281111562003e965762003e9662006870565b9052506040810184600381111562003eb25762003eb262006870565b9081600381111562003ec85762003ec862006870565b905250825160000362003eed5762003eea670de0b6b3a764000060c862006da8565b83525b6060810183905260808101829052604080516001808252818301909252906020808301908036833750505060e08201819052805160009190829062003f365762003f3662006b21565b60200260200101906001600160a01b031690816001600160a01b03168152505095945050505050565b602f5460405163f7434ea960e01b815260206004820152600060248201819052916001600160a01b03169063f7434ea990604401602060405180830381865afa15801562003fb1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003fd791906200702a565b9050620030fc81671bc16d674ec8000062005807565b6000620009836040518060400160405280601081526020016f3837b7b62fb737ba20a6b0b730b3b2b960811b8152506200507c565b6000620009836040518060400160405280600e81526020016d383937b334b63298afb7bbb732b960911b8152506200507c565b6000620009836040518060400160405280600b81526020016a1c985b991bdb4818da185960aa1b8152506200507c565b6025546001600160a01b031690565b6000620009836040518060400160405280600d81526020016c616c6c6f5f747265617375727960981b8152506200507c565b6000620009836040518060400160405280600e81526020016d3932b3b4b9ba393cafb7bbb732b960911b8152506200507c565b602c546040516001625e79b760e01b031981526000916000805160206202098e8339815191529163ffa1864991620041379160040190815260200190565b602060405180830381865afa15801562004155573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200417b919062006b01565b602b80546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600e60448201526d636f756e63696c4d656d6265723160901b60648201526000805160206202098e8339815191529063c657c71890608401600060405180830381600087803b1580156200420857600080fd5b505af11580156200421d573d6000803e3d6000fd5b50506029546001600160a01b03169150620045a390505760006200424062003cb8565b90506200424c620024cf565b602e80546001600160a01b0319166001600160a01b03928316179055604080516318caf8e360e31b815291831660048301526024820152601060448201526f5361666550726f7879466163746f727960801b60648201526000805160206202098e8339815191529063c657c71890608401600060405180830381600087803b158015620042d857600080fd5b505af1158015620042ed573d6000803e3d6000fd5b5050602e54604080518082018252600181526000602082018190529151631688f0b960e01b81529194506001600160a01b038087169450631688f0b9936200433f93911691906003906004016200723c565b6020604051808303816000875af11580156200435f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004385919062006b01565b602980546001600160a01b0319166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600b60448201526a636f756e63696c5361666560a81b60648201529091506000805160206202098e8339815191529063c657c71890608401600060405180830381600087803b1580156200441157600080fd5b505af115801562004426573d6000803e3d6000fd5b506000925060039150620044379050565b60405190808252806020026020018201604052801562004461578160200160208202803683370190505b50602b5481519192506001600160a01b031690829060009062004488576200448862006b21565b60200260200101906001600160a01b031690816001600160a01b03168152505073f39fd6e51aad88f6f4ce6ab8827279cfffb9226681600181518110620044d357620044d362006b21565b60200260200101906001600160a01b031690816001600160a01b0316815250507370997970c51812dc3a010c7d01b50e0d17dc79c8816002815181106200451e576200451e62006b21565b6001600160a01b03928316602091820292909201015260295460405163b63e800d60e01b815291169063b63e800d906200456b908490600190600090819081908190819060040162006b37565b600060405180830381600087803b1580156200458657600080fd5b505af11580156200459b573d6000803e3d6000fd5b505050505050505b506029546001600160a01b031690565b600080620045c5898787878762003df3565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811062004602576200460262006b21565b60200260200101906001600160a01b031690816001600160a01b031681525050338160018151811062004639576200463962006b21565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90891615620046705750875b8c6001600160a01b031663e1007d4a620046958c6200468e6200320a565b86620022a5565b8e86604051602001620046a99190620069ab565b6040516020818303038152906040528560006026896040518863ffffffff1660e01b8152600401620046e2979695949392919062007272565b6020604051808303816000875af115801562004702573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200472891906200702a565b93508760028111156200473f576200473f62006870565b8c6001600160a01b031663351d9f966040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200477e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620047a49190620072e3565b6002811115620047b857620047b862006870565b14620047c857620047c862007303565b5050509998505050505050505050565b606060158054806020026020016040519081016040528092919081815260200182805480156200214d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200212e575050505050905090565b600084816200485c6200485562989680608087901b62006bb4565b836200598b565b905060806001607f1b62004874866298968062007174565b6200488484600160801b62007174565b62004893629896808a62006da8565b6200489f919062006da8565b620048ab919062006bb4565b620048b7898562006da8565b620048c3919062006ee5565b620048cf919062006ee5565b901c979650505050505050565b6000620048e862001cd4565b60355460405163c88a5e6d60e01b81529192506000805160206202098e8339815191529163c88a5e6d9162004936916001600160a01b0390911690678ac7230489e800009060040162006bd7565b600060405180830381600087803b1580156200495157600080fd5b505af115801562004966573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206202098e833981519152935063ca669fa79250620049a9916001600160a01b03169060040162006042565b600060405180830381600087803b158015620049c457600080fd5b505af1158015620049d9573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62004a0d671bc16d674ec80000662386f26fc1000062006ee5565b846040518363ffffffff1660e01b815260040162004a2c919062007044565b60206040518083038185885af115801562004a4b573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062004a7291906200702a565b90506000805160206202098e83398151915263ca669fa762004a93620040f9565b6040518263ffffffff1660e01b815260040162004ab1919062006042565b600060405180830381600087803b15801562004acc57600080fd5b505af115801562004ae1573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d3756935062004b209286926002929116906004016200707f565b600060405180830381600087803b15801562004b3b57600080fd5b505af115801562004b50573d6000803e3d6000fd5b5050604051630618f58760e51b81526000805160206202098e833981519152925063c31eb0e0915062004b8f9063bda17d9560e01b906004016200706a565b600060405180830381600087803b15801562004baa57600080fd5b505af115801562004bbf573d6000803e3d6000fd5b506000805160206202098e833981519152925063ca669fa7915062004be59050620040f9565b6040518263ffffffff1660e01b815260040162004c03919062006042565b600060405180830381600087803b15801562004c1e57600080fd5b505af115801562004c33573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d37569350620029e69286926001929116906004016200707f565b60006200098360405180604001604052806013815260200172383937b334b632992fb737ba20a6b2b6b132b960691b8152506200507c565b602d80546000918291908262004cc08362007319565b9190505550602d548351602085016000f5915050803f8062004d1a5760405162461bcd60e51b815260206004820152600e60248201526d1b081b9bdd0819195c1b1bde595960921b60448201526064015b60405180910390fd5b50919050565b600062004d2c62001cd4565b60355460405163c88a5e6d60e01b81529192506000805160206202098e8339815191529163c88a5e6d9162004d7a916001600160a01b0390911690678ac7230489e800009060040162006bd7565b600060405180830381600087803b15801562004d9557600080fd5b505af115801562004daa573d6000803e3d6000fd5b505060355460405163ca669fa760e01b81526000805160206202098e833981519152935063ca669fa7925062004ded916001600160a01b03169060040162006042565b600060405180830381600087803b15801562004e0857600080fd5b505af115801562004e1d573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62004e51671bc16d674ec80000662386f26fc1000062006ee5565b846040518363ffffffff1660e01b815260040162004e70919062007044565b60206040518083038185885af115801562004e8f573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062004eb691906200702a565b90506000805160206202098e83398151915263ca669fa762004ed7620040f9565b6040518263ffffffff1660e01b815260040162004ef5919062006042565b600060405180830381600087803b15801562004f1057600080fd5b505af115801562004f25573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d3756935062004f649286926002929116906004016200707f565b600060405180830381600087803b15801562004f7f57600080fd5b505af115801562004f94573d6000803e3d6000fd5b5050602f54604051631c3db16d60e01b8152600481018590526000935083925082916001600160a01b031690631c3db16d90602401606060405180830381865afa15801562004fe7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200500d919062007335565b9250925092506200502083600262005807565b6200502b8262005a3f565b62003af38162005a3f565b60646200504560018062006ee5565b6200505990670de0b6b3a764000062006da8565b62005065919062006bb4565b6200507990670de0b6b3a764000062006ee5565b81565b6000620050898262005a9c565b5092915050565b6200509a62005bb1565b6000805160206202098e83398151915263ca669fa7620050b96200320a565b6040518263ffffffff1660e01b8152600401620050d7919062006042565b600060405180830381600087803b158015620050f257600080fd5b505af115801562005107573d6000803e3d6000fd5b50505050601e60019054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b815250815250620051756200320a565b6200517f62002e18565b6040518563ffffffff1660e01b8152600401620051a0949392919062006fb1565b6020604051808303816000875af1158015620051c0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620051e691906200702a565b601f819055601e54604051628a678560e11b8152600481019290925261010090046001600160a01b031690630114cf0a90602401600060405180830381865afa15801562005238573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200526291908101906200740e565b60a00151602080546001600160a01b0319166001600160a01b039092169190911790556000805160206202098e83398151915263ca669fa7620052a462004022565b6040518263ffffffff1660e01b8152600401620052c2919062006042565b600060405180830381600087803b158015620052dd57600080fd5b505af1158015620052f2573d6000803e3d6000fd5b50505050601e60019054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020016750726f66696c653160c01b8152508152506200535c62004022565b6200536662002a1e565b6040518563ffffffff1660e01b8152600401620053879493929190620074e3565b6020604051808303816000875af1158015620053a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620053cd91906200702a565b6021819055601e54604051628a678560e11b8152600481019290925261010090046001600160a01b031690630114cf0a90602401600060405180830381865afa1580156200541f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200544991908101906200740e565b60a00151602280546001600160a01b0319166001600160a01b039092169190911790556000805160206202098e83398151915263ca669fa76200548b6200208b565b6040518263ffffffff1660e01b8152600401620054a9919062006042565b600060405180830381600087803b158015620054c457600080fd5b505af1158015620054d9573d6000803e3d6000fd5b50505050601e60019054906101000a90046001600160a01b03166001600160a01b0316633a92f65f600060405180604001604052806001815260200160405180604001604052806008815260200167283937b334b6329960c11b815250815250620055436200208b565b6200554d620038c2565b6040518563ffffffff1660e01b81526004016200556e949392919062007541565b6020604051808303816000875af11580156200558e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620055b491906200702a565b6023819055601e54604051628a678560e11b8152600481019290925261010090046001600160a01b031690630114cf0a90602401600060405180830381865afa15801562005606573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200563091908101906200740e565b60a00151602480546001600160a01b0319166001600160a01b03909216919091179055565b6000805160206202098e8339815191526306447d566200567462002ed0565b6040518263ffffffff1660e01b815260040162005692919062006042565b600060405180830381600087803b158015620056ad57600080fd5b505af1158015620056c2573d6000803e3d6000fd5b50505050604051620056d49062006019565b604051809103906000f080158015620056f1573d6000803e3d6000fd5b50602580546001600160a01b0319166001600160a01b0392909216918217905563a6b63eb86200572062002ed0565b836200572b62004094565b60405160e085901b6001600160e01b03191681526001600160a01b03938416600482015291831660248301529091166044820152662386f26fc1000060648201526000608482015260a401600060405180830381600087803b1580156200579157600080fd5b505af1158015620057a6573d6000803e3d6000fd5b505050506000805160206202638583398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562003ade57600080fd5b6001600160a01b03163b151590565b60405163260a5b1560e21b815260048101839052602481018290526000805160206202098e833981519152906398296c54906044015b60006040518083038186803b1580156200585657600080fd5b505afa15801562002a16573d6000803e3d6000fd5b6060600080806000805160206202098e83398151915263e341eaa486620058948b8b8b62005c64565b6040516001600160e01b031960e085901b16815260048101929092526024820152604401606060405180830381865afa158015620058d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620058fc91906200757c565b6040805160208101939093528281019190915260f89290921b6001600160f81b031916606082015281516041818303018152606190910190915298975050505050505050565b60405163a34edc0360e01b81526000805160206202098e8339815191529063a34edc03906200583d9085908590600401620075bb565b600062000cf464174876e8008362006bb4565b6000600160801b8310620059e15760405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b604482015260640162004d11565b50600160801b82825b801562005a37578060011660000362005a145762005a09828362005d5a565b915060011c620059ea565b62005a20838362005d5a565b925062005a2f60018262007174565b9050620059ea565b505092915050565b60405163a598288560e01b815281151560048201526000805160206202098e8339815191529063a59828859060240160006040518083038186803b15801562005a8757600080fd5b505afa15801562003af3573d6000803e3d6000fd5b6000808260405160200162005ab29190620075d8565b60408051808303601f190181529082905280516020909101206001625e79b760e01b031982526004820181905291506000805160206202098e8339815191529063ffa1864990602401602060405180830381865afa15801562005b19573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005b3f919062006b01565b6040516318caf8e360e31b81529092506000805160206202098e8339815191529063c657c7189062005b78908590879060040162006c1f565b600060405180830381600087803b15801562005b9357600080fd5b505af115801562005ba8573d6000803e3d6000fd5b50505050915091565b60405162005bbf9062006027565b604051809103906000f08015801562005bdc573d6000803e3d6000fd5b50601e8054610100600160a81b0319166101006001600160a01b039384168102919091179182905590041663c4d66de862005c16620040c6565b6040518263ffffffff1660e01b815260040162005c34919062006042565b600060405180830381600087803b15801562005c4f57600080fd5b505af115801562000998573d6000803e3d6000fd5b6000816001600160a01b031663d8d11f78856000866000806000806000808c6001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562005cc1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005ce791906200702a565b6040518b63ffffffff1660e01b815260040162005d0e9a99989796959493929190620075f6565b602060405180830381865afa15801562005d2c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005d5291906200702a565b949350505050565b6000600160801b83111562005dc35760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b606482015260840162004d11565b600160801b821062005e175760405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b604482015260640162004d11565b60806001607f1b62005e2a848662006da8565b62005e36919062006ee5565b901c9392505050565b610e94806200767183390190565b611948806200850583390190565b6104ec8062009e4d83390190565b60405180610180016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200162005ee8604051806040016040528060008152602001606081525090565b815260200160006001600160a01b0316815260200160608152602001600015158152602001606081525090565b612083806200a33983390190565b616231806200c3bc83390190565b6170bf80620125ed83390190565b61073180620196ac83390190565b60405180610100016040528062005f856040518060800160405280600081526020016000815260200160008152602001600081525090565b8152602001600081526020016000815260200162005faf6040518060200160405280600081525090565b8152602001620060006040518060c0016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081525090565b8152600060208201819052604082015260609081015290565b6131a38062019ddd83390190565b612b30806201cf8083390190565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114620030fc57600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b0381118282101715620060a757620060a76200606c565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620060d857620060d86200606c565b604052919050565b60006001600160401b03821115620060fc57620060fc6200606c565b50601f01601f191660200190565b600082601f8301126200611c57600080fd5b8135620061336200612d82620060e0565b620060ad565b8181528460208386010111156200614957600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156200617d57600080fd5b84356200618a8162006056565b9350602085013592506040850135620061a38162006056565b915060608501356001600160401b03811115620061bf57600080fd5b620061cd878288016200610a565b91505092959194509250565b60008060408385031215620061ed57600080fd5b8235620061fa8162006056565b915060208301356200620c8162006056565b809150509250929050565b6000602082840312156200622a57600080fd5b8135620023658162006056565b600081518084526020808501945080840160005b83811015620062725781516001600160a01b0316875295820195908201906001016200624b565b509495945050505050565b60208152600062002365602083018462006237565b60005b83811015620062af57818101518382015260200162006295565b50506000910152565b60008151808452620062d281602086016020860162006292565b601f01601f19169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b85811015620063325782840389526200631f848351620062b8565b9885019893509084019060010162006304565b5091979650505050505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015620063b257888303603f19018552815180516001600160a01b031684528701518784018790526200639e87850182620062e6565b958801959350509086019060010162006366565b509098975050505050505050565b600080600060608486031215620063d657600080fd5b8335620063e38162006056565b9250602084810135620063f68162006056565b925060408501356001600160401b03808211156200641357600080fd5b818701915087601f8301126200642857600080fd5b8135818111156200643d576200643d6200606c565b8060051b915062006450848301620060ad565b818152918301840191848101908a8411156200646b57600080fd5b938501935b83851015620064995784359250620064888362006056565b828252938501939085019062006470565b8096505050505050509250925092565b82815260406020820152600062005d526040830184620062b8565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156200656c57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015620065565783516001600160e01b0319168252928b019260019290920191908b01906200652a565b50978a01979550505091870191600101620064ec565b50919998505050505050505050565b6000806000606084860312156200659157600080fd5b83356200659e8162006056565b92506020840135915060408401356001600160401b03811115620065c157600080fd5b620065cf868287016200610a565b9150509250925092565b602081526000620023656020830184620062e6565b60038110620030fc57600080fd5b8035600481106200660c57600080fd5b919050565b600060c082840312156200662457600080fd5b6200662e62006082565b905081356200663d8162006056565b815260208201356200664f8162006056565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b6000806000806000806000806101a0898b031215620066a257600080fd5b8835620066af8162006056565b97506020890135620066c18162006056565b96506040890135620066d38162006056565b95506060890135620066e58162006056565b94506080890135620066f78162006056565b935060a08901356200670981620065ee565b92506200671960c08a01620065fc565b91506200672a8a60e08b0162006611565b90509295985092959890939650565b600080600080600060a086880312156200675257600080fd5b85356200675f8162006056565b9450602086013593506040860135620067788162006056565b925060608601356001600160401b038111156200679457600080fd5b620067a2888289016200610a565b95989497509295608001359392505050565b600060208284031215620067c757600080fd5b604051602081016001600160401b0381118282101715620067ec57620067ec6200606c565b6040529135825250919050565b600080600080600061014086880312156200681357600080fd5b8535620068208162006056565b945060208601356200683281620065ee565b93506200684260408701620065fc565b9250620068538760608801620067b4565b915062006864876080880162006611565b90509295509295909350565b634e487b7160e01b600052602160045260246000fd5b6003811062006899576200689962006870565b9052565b6004811062006899576200689962006870565b6000610200825180518552602081015160208601526040810151604086015260608101516060860152506020830151620068ee608086018262006886565b5060408301516200690360a08601826200689d565b506060838101515160c086015260808085015180516001600160a01b0390811660e089015260208201511661010088015260408101516101208801529182015161014087015281015161016086015260a090810151610180860152830151620069716101a086018262006035565b5060c0830151620069876101c086018262006035565b5060e0830151816101e0860152620069a28286018262006237565b95945050505050565b602081526000620023656020830184620068b0565b60008060008060008060008060006101c08a8c031215620069e057600080fd5b8935620069ed8162006056565b985060208a0135620069ff8162006056565b975060408a013562006a118162006056565b965060608a013562006a238162006056565b955060808a013562006a358162006056565b945060a08a013562006a4781620065ee565b935062006a5760c08b01620065fc565b925062006a688b60e08c01620067b4565b915062006a7a8b6101008c0162006611565b90509295985092959850929598565b6000806000806080858703121562006aa057600080fd5b5050823594602084013594506040840135936060013592509050565b60006020828403121562006acf57600080fd5b81356001600160401b0381111562006ae657600080fd5b62005d52848285016200610a565b80516200660c8162006056565b60006020828403121562006b1457600080fd5b8151620023658162006056565b634e487b7160e01b600052603260045260246000fd5b600061010080835262006b4d8184018b62006237565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b634e487b7160e01b600052601160045260246000fd5b60008262006bd257634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b03929092168252602082015260400190565b805180151581146200660c57600080fd5b60006020828403121562006c1457600080fd5b620023658262006bf0565b6001600160a01b038316815260406020820181905260009062005d5290830184620062b8565b600181811c9082168062006c5a57607f821691505b60208210810362004d1a57634e487b7160e01b600052602260045260246000fd5b80518252600060208201516040602085015262005d526040850182620062b8565b6020815262006cb060208201835162006035565b6000602083015162006cc6604084018262006035565b506040830151606083015260608301516080830152608083015160a083015260a083015162006cf960c084018262006035565b5060c083015162006d0e60e084018262006035565b5060e0830151610180610100818186015262006d2f6101a086018462006c7b565b9086015190925061012062006d478682018362006035565b80870151915050601f1961014081878603018188015262006d698584620062b8565b94508088015192505061016062006d838188018415159052565b87015186850390910183870152905062006d9e8382620062b8565b9695505050505050565b808202811582820484141762000cf45762000cf462006b9e565b80548252600060018083016020604081870152600082548181861c90508582168062006def57607f821691505b848210810362006e0d57634e487b7160e01b84526022600452602484fd5b60408a0182905260608a0181801562006e2f576001811462006e465762006e73565b60ff198516825283151560051b8201955062006e73565b60008881526020902060005b8581101562006e6d57815484820152908a0190880162006e52565b83019650505b50939a9950505050505050505050565b6001600160a01b038416815260606020820181905260009062006ea990830185620068b0565b828103604084015262006d9e818562006dc2565b6000806040838503121562006ed157600080fd5b8251915060208301516200620c8162006056565b8082018082111562000cf45762000cf462006b9e565b60208152815160208201526000602083015160018060a01b038082166040850152604085015160608501528060608601511660808501525050608083015160a08084015262005d5260c084018262006c7b565b60008060008060008060c0878903121562006f6857600080fd5b865162006f758162006056565b602088015190965062006f888162006056565b6040880151606089015160808a015160a0909a0151989b929a5090989097909650945092505050565b84815260a06020820152600062006fe660a08301600e81526d506f6f6c2050726f66696c65203160901b602082015260400190565b828103604084015262006ffa818762006c7b565b6001600160a01b0386166060850152838103608085015290506200701f818562006237565b979650505050505050565b6000602082840312156200703d57600080fd5b5051919050565b908152606060208201819052600090820181905260806040830181905282015260a00190565b6001600160e01b031991909116815260200190565b92835260208301919091526001600160a01b0316604082015260600190565b6000620070af6200612d84620060e0565b9050828152838383011115620070c457600080fd5b6200236583602083018462006292565b60008060008060008060c08789031215620070ee57600080fd5b8651620070fb8162006056565b60208801519096506001600160401b038111156200711857600080fd5b8701601f810189136200712a57600080fd5b6200713b898251602084016200709e565b95505060408701519350606087015192506080870151915060a0870151600281106200716657600080fd5b809150509295509295509295565b8181038181111562000cf45762000cf462006b9e565b602081526000620023656020830184620062b8565b6002811062006899576200689962006870565b6001600160a01b038b81168252602082018b905261014060408301819052600091620071e18483018d620062b8565b9150620071f2606085018c6200719f565b8960808501528860a08501528760c085015280871660e0850152808616610100850152508281036101208401526200722b8185620062b8565b9d9c50505050505050505050505050565b6001600160a01b03841681526060602082018190526000906200726290830185620062b8565b9050826040830152949350505050565b878152600060018060a01b03808916602084015260e060408401526200729c60e0840189620062b8565b818816606085015286608085015283810360a0850152620072be818762006dc2565b91505082810360c0840152620072d5818562006237565b9a9950505050505050505050565b600060208284031215620072f657600080fd5b81516200236581620065ee565b634e487b7160e01b600052600160045260246000fd5b6000600182016200732e576200732e62006b9e565b5060010190565b6000806000606084860312156200734b57600080fd5b835192506200735d6020850162006bf0565b91506200736d6040850162006bf0565b90509250925092565b600082601f8301126200738857600080fd5b62002365838351602085016200709e565b600060408284031215620073ac57600080fd5b604080519081016001600160401b038082118383101715620073d257620073d26200606c565b81604052829350845183526020850151915080821115620073f257600080fd5b50620074018582860162007376565b6020830152505092915050565b6000602082840312156200742157600080fd5b81516001600160401b03808211156200743957600080fd5b9083019060c082860312156200744e57600080fd5b6200745862006082565b82518152602083015160208201526040830151828111156200747957600080fd5b620074878782860162007376565b604083015250606083015182811115620074a057600080fd5b620074ae8782860162007399565b606083015250620074c26080840162006af4565b6080820152620074d560a0840162006af4565b60a082015295945050505050565b84815260a06020820152600960a08201526850726f66696c65203160b81b60c082015260e0604082015260006200751e60e083018662006c7b565b6001600160a01b038516606084015282810360808401526200701f818562006237565b84815260a06020820152600960a082015268283937b334b632901960b91b60c082015260e0604082015260006200751e60e083018662006c7b565b6000806000606084860312156200759257600080fd5b835160ff81168114620075a457600080fd5b602085015160409095015190969495509392505050565b821515815260406020820152600062005d526040830184620062b8565b60008251620075ec81846020870162006292565b9190910192915050565b6001600160a01b038b81168252602082018b905261014060408301819052600091620076258483018d620062b8565b925062007636606085018c6200719f565b60808401999099525060a082019690965260c081019490945291851660e0840152909316610100820152610120019190915294935050505056fe60806040523480156200001157600080fd5b5060405162000e9438038062000e94833981016040819052620000349162000134565b600062000042848262000248565b50600162000051838262000248565b506002805460ff191660ff9290921691909117905550620003149050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200009757600080fd5b81516001600160401b0380821115620000b457620000b46200006f565b604051601f8301601f19908116603f01168101908282118183101715620000df57620000df6200006f565b81604052838152602092508683858801011115620000fc57600080fd5b600091505b8382101562000120578582018301518183018401529082019062000101565b600093810190920192909252949350505050565b6000806000606084860312156200014a57600080fd5b83516001600160401b03808211156200016257600080fd5b620001708783880162000085565b945060208601519150808211156200018757600080fd5b50620001968682870162000085565b925050604084015160ff81168114620001ae57600080fd5b809150509250925092565b600181811c90821680620001ce57607f821691505b602082108103620001ef57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024357600081815260208120601f850160051c810160208610156200021e5750805b601f850160051c820191505b818110156200023f578281556001016200022a565b5050505b505050565b81516001600160401b038111156200026457620002646200006f565b6200027c81620002758454620001b9565b84620001f5565b602080601f831160018114620002b457600084156200029b5750858301515b600019600386901b1c1916600185901b1785556200023f565b600085815260208120601f198616915b82811015620002e557888601518255948401946001909101908401620002c4565b5085821015620003045787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610b7080620003246000396000f3fe608060405234801561001057600080fd5b50600436106100e65760003560e01c806306fdde03146100eb578063095ea7b31461010957806318160ddd1461012c57806323b872dd14610146578063313ce567146101595780633644e5151461016e578063395093511461017657806340c10f191461018957806370a082311461019e5780637ecebe00146101c457806395d89b41146101ea5780639dc29fac146101f2578063a457c2d714610205578063a9059cbb14610218578063d30ed3b31461022b578063d505accf1461023e578063dd62ed3e14610251578063f83d17911461027a575b600080fd5b6100f361028d565b604051610100919061092f565b60405180910390f35b61011c610117366004610999565b61031f565b6040519015158152602001610100565b6805345cdf77eb68f44c545b604051908152602001610100565b61011c6101543660046109c3565b610360565b60025460405160ff9091168152602001610100565b610138610385565b61011c610184366004610999565b6103fb565b61019c610197366004610999565b610416565b005b6101386101ac3660046109ff565b6387a211a2600c908152600091909152602090205490565b6101386101d23660046109ff565b6338377508600c908152600091909152602090205490565b6100f361042c565b61019c610200366004610999565b61043b565b61011c610213366004610999565b61044d565b61011c610226366004610999565b610461565b61019c6102393660046109c3565b610475565b61019c61024c366004610a1a565b610495565b61013861025f366004610a8d565b602052637f5e9f20600c908152600091909152603490205490565b61019c6102883660046109c3565b6105b1565b60606000805461029c90610ac0565b80601f01602080910402602001604051908101604052809291908181526020018280546102c890610ac0565b80156103155780601f106102ea57610100808354040283529160200191610315565b820191906000526020600020905b8154815290600101906020018083116102f857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b600061037d61036e856105cc565b610377856105cc565b846105db565b949350505050565b604051600061039261028d565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061040f610409846105cc565b83610687565b9392505050565b610428610422836105cc565b826106e7565b5050565b60606001805461029c90610ac0565b610428610447836105cc565b82610754565b600061040f61045b846105cc565b836107b9565b600061040f61046f846105cc565b8361081a565b610490610481846105cc565b61048a846105cc565b83610883565b505050565b600061049f610385565b9050604051854211156104ba57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105725763ddafbaef6000526004601cfd5b6303faf4f960a51b88176040526034602c208790558789600080516020610b1b833981519152602060608501a360405250506000606052505050505050565b6104906105bd846105cc565b6105c6846105cc565b836108c6565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c208054600019811461061b5780851115610615576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106445763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c600080516020610afb833981519152602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156106b95763f90670666000526004601cfd5b80835580600052505050602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b6805345cdf77eb68f44c548181018181101561070b5763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c6000600080516020610afb833981519152602080a35050565b6387a211a2600c52816000526020600c2080548083111561077d5763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c8054829003905560008181526001600160a01b038316600080516020610afb833981519152602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156107e857638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156108455763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c33600080516020610afb833981519152602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146108bf57808311156108b9576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156108f15763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c600080516020610afb833981519152602080a350505050565b600060208083528351808285015260005b8181101561095c57858101830151858201604001528201610940565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461099457600080fd5b919050565b600080604083850312156109ac57600080fd5b6109b58361097d565b946020939093013593505050565b6000806000606084860312156109d857600080fd5b6109e18461097d565b92506109ef6020850161097d565b9150604084013590509250925092565b600060208284031215610a1157600080fd5b61040f8261097d565b600080600080600080600060e0888a031215610a3557600080fd5b610a3e8861097d565b9650610a4c6020890161097d565b95506040880135945060608801359350608088013560ff81168114610a7057600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610aa057600080fd5b610aa98361097d565b9150610ab76020840161097d565b90509250929050565b600181811c90821680610ad457607f821691505b602082108103610af457634e487b7160e01b600052602260045260246000fd5b5091905056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a26469706673582212204ac30005d9b963c58b4eb51b3347f56fb666b75a273042d67b50fc03f00748dd64736f6c6343000813003360a06040523060805234801561001457600080fd5b506080516118fc61004c60003960008181610360015281816103a9015281816104310152818161047101526104ed01526118fc6000f3fe6080604052600436106100ce5760003560e01c80631c3db16d146100d357806326a0754c146101155780633659cfe6146101585780634f1ef2861461017a57806352d1902d1461018d578063564a565d146101b05780635ea7b4fc146101e2578063715018a6146102025780637a1d37561461021757806388d5b732146102375780638da5cb5b14610257578063c13517e11461026c578063d98493f61461027f578063f2fde38b1461029f578063f6506db4146102bf578063f7434ea9146102da578063fe4b84df146102fd575b600080fd5b3480156100df57600080fd5b506100f36100ee366004611238565b61031d565b6040805193845291151560208401521515908201526060015b60405180910390f35b34801561012157600080fd5b5061014b610130366004611266565b6099602052600090815260409020546001600160a01b031681565b60405161010c9190611283565b34801561016457600080fd5b50610178610173366004611266565b610356565b005b6101786101883660046112ad565b610427565b34801561019957600080fd5b506101a26104e0565b60405190815260200161010c565b3480156101bc57600080fd5b506101d06101cb366004611238565b61058e565b60405161010c969594939291906113d6565b3480156101ee57600080fd5b506101786101fd366004611238565b61066c565b34801561020e57600080fd5b506101786106af565b34801561022357600080fd5b5061017861023236600461143d565b6106c3565b34801561024357600080fd5b50610178610252366004611266565b610901565b34801561026357600080fd5b5061014b610964565b6101a261027a3660046114be565b610973565b34801561028b57600080fd5b506101a261029a366004611509565b610aeb565b3480156102ab57600080fd5b506101786102ba366004611266565b610b26565b3480156102cb57600080fd5b506101a261029a366004611554565b3480156102e657600080fd5b506101a26102f53660046115ba565b505060975490565b34801561030957600080fd5b50610178610318366004611238565b610b9c565b60008060008060988581548110610336576103366115fb565b600091825260208220600460069092020101549690955085945092505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103a75760405162461bcd60e51b815260040161039e90611611565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103d9610cec565b6001600160a01b0316146103ff5760405162461bcd60e51b815260040161039e9061164b565b61040881610d08565b6040805160008082526020820190925261042491839190610d10565b50565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361046f5760405162461bcd60e51b815260040161039e90611611565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166104a1610cec565b6001600160a01b0316146104c75760405162461bcd60e51b815260040161039e9061164b565b6104d082610d08565b6104dc82826001610d10565b5050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461057b5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840161039e565b5060008051602061188083398151915290565b6098818154811061059e57600080fd5b6000918252602090912060069091020180546001820180546001600160a01b039092169350906105cd90611685565b80601f01602080910402602001604051908101604052809291908181526020018280546105f990611685565b80156106465780601f1061061b57610100808354040283529160200191610646565b820191906000526020600020905b81548152906001019060200180831161062957829003601f168201915b505050506002830154600384015460048501546005909501549394919390925060ff1686565b610674610e80565b60978190556040518181527fb1484c2bf00d94a00783b6081ebc5f5d02be4675f6eb8cf4c0c95bfe5a3f06ed9060200160405180910390a150565b6106b7610e80565b6106c16000610edf565b565b6001600160a01b0380821660009081526099602052604090205482911633036108be576000609885815481106106fb576106fb6115fb565b906000526020600020906006020190508060020154841115610730576040516309efd47960e41b815260040160405180910390fd5b6001600582015460ff16600181111561074b5761074b6113c0565b036107695760405163bda17d9560e01b815260040160405180910390fd5b6004810184905560058101805460ff19166001179055600381015460405160009133918381818185875af1925050503d80600081146107c4576040519150601f19603f3d011682016040523d82523d6000602084013e6107c9565b606091505b505090508061080c5760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161039e565b815460048084015460405163188d362b60e11b815291820189905260248201526001600160a01b039091169063311a6c5690604401600060405180830381600087803b15801561085b57600080fd5b505af115801561086f573d6000803e3d6000fd5b5050505085846001600160a01b03167f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e75622276876040516108af91815260200190565b60405180910390a350506108fb565b6001600160a01b038181166000908152609960205260409081902054905163d0774c9960e01b81523360048201529116602482015260440161039e565b50505050565b336000818152609960205260409081902080546001600160a01b0319166001600160a01b038516179055517f2b87bb26d58aa2d56b59c2b23a53a6959f68d4547492bda44fb5e68b0fa38b3f90610959908490611283565b60405180910390a250565b6033546001600160a01b031690565b600061097d610f31565b6097543410156109a05760405163e4216b3160e01b815260040160405180910390fd5b609880549050905060986040518060c00160405280336001600160a01b0316815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093855250505060208201889052346040830152606082018190526080909101528154600180820184556000938452602093849020835160069093020180546001600160a01b0319166001600160a01b03909316929092178255928201519192909190820190610a65908261170d565b5060408201516002820155606082015160038201556080820151600482015560a082015160058201805460ff191660018381811115610aa657610aa66113c0565b02179055505060405133915082907f141dfc18aa6a56fc816f44f0e9e2f1ebc92b15ab167770e17db5b084c10ed99590600090a3610ae46001606555565b9392505050565b60405162461bcd60e51b815260206004820152600d60248201526c139bdd081cdd5c1c1bdc9d1959609a1b604482015260009060640161039e565b610b2e610e80565b6001600160a01b038116610b935760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161039e565b61042481610edf565b600054610100900460ff1615808015610bbc5750600054600160ff909116105b80610bdd5750610bcb30610f8a565b158015610bdd575060005460ff166001145b610c405760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161039e565b6000805460ff191660011790558015610c63576000805461ff0019166101001790555b610c6b610f99565b60978290556040518281527fc05490fc8f8e095831ea3823f005dd0661528380328aa5c3b7348a45244223be9060200160405180910390a180156104dc576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600080516020611880833981519152546001600160a01b031690565b610424610e80565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610d4857610d4383610fc8565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610da2575060408051601f3d908101601f19168201909252610d9f918101906117cc565b60015b610e055760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161039e565b6000805160206118808339815191528114610e745760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161039e565b50610d43838383611062565b33610e89610964565b6001600160a01b0316146106c15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161039e565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600260655403610f835760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161039e565b6002606555565b6001600160a01b03163b151590565b600054610100900460ff16610fc05760405162461bcd60e51b815260040161039e906117e5565b6106c1611087565b610fd181610f8a565b6110335760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161039e565b60008051602061188083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61106b836110b7565b6000825111806110785750805b15610d43576108fb83836110f7565b600054610100900460ff166110ae5760405162461bcd60e51b815260040161039e906117e5565b6106c133610edf565b6110c081610fc8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610ae483836040518060600160405280602781526020016118a0602791396060600080856001600160a01b0316856040516111349190611830565b600060405180830381855af49150503d806000811461116f576040519150601f19603f3d011682016040523d82523d6000602084013e611174565b606091505b50915091506111858683838761118f565b9695505050505050565b606083156111fc5782516000036111f5576111a985610f8a565b6111f55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161039e565b5081611206565b611206838361120e565b949350505050565b81511561121e5781518083602001fd5b8060405162461bcd60e51b815260040161039e919061184c565b60006020828403121561124a57600080fd5b5035919050565b6001600160a01b038116811461042457600080fd5b60006020828403121561127857600080fd5b8135610ae481611251565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156112c057600080fd5b82356112cb81611251565b915060208301356001600160401b03808211156112e757600080fd5b818501915085601f8301126112fb57600080fd5b81358181111561130d5761130d611297565b604051601f8201601f19908116603f0116810190838211818310171561133557611335611297565b8160405282815288602084870101111561134e57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b8381101561138b578181015183820152602001611373565b50506000910152565b600081518084526113ac816020860160208601611370565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b038716815260c0602082018190526000906113fa90830188611394565b90508560408301528460608301528360808301526002831061142c57634e487b7160e01b600052602160045260246000fd5b8260a0830152979650505050505050565b60008060006060848603121561145257600080fd5b8335925060208401359150604084013561146b81611251565b809150509250925092565b60008083601f84011261148857600080fd5b5081356001600160401b0381111561149f57600080fd5b6020830191508360208285010111156114b757600080fd5b9250929050565b6000806000604084860312156114d357600080fd5b8335925060208401356001600160401b038111156114f057600080fd5b6114fc86828701611476565b9497909650939450505050565b60008060006040848603121561151e57600080fd5b83356001600160401b0381111561153457600080fd5b61154086828701611476565b909450925050602084013561146b81611251565b60008060008060006080868803121561156c57600080fd5b8535945060208601356001600160401b0381111561158957600080fd5b61159588828901611476565b90955093505060408601356115a981611251565b949793965091946060013592915050565b600080602083850312156115cd57600080fd5b82356001600160401b038111156115e357600080fd5b6115ef85828601611476565b90969095509350505050565b634e487b7160e01b600052603260045260246000fd5b6020808252602c9082015260008051602061186083398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061186083398151915260408201526b6163746976652070726f787960a01b606082015260800190565b600181811c9082168061169957607f821691505b6020821081036116b957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610d4357600081815260208120601f850160051c810160208610156116e65750805b601f850160051c820191505b81811015611705578281556001016116f2565b505050505050565b81516001600160401b0381111561172657611726611297565b61173a816117348454611685565b846116bf565b602080601f83116001811461176f57600084156117575750858301515b600019600386901b1c1916600185901b178555611705565b600085815260208120601f198616915b8281101561179e5788860151825594840194600190910190840161177f565b50858210156117bc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156117de57600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60008251611842818460208701611370565b9190910192915050565b602081526000610ae4602083018461139456fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212209e812ac4bdf846d4087c7926815fe1acf703e60d37f2ca752fcb49ebd31f237a64736f6c6343000813003360806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212206e93027ee8ff60c4973ac058d4e8a46f5d5981513eccfc75ff619ec5718959a664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656460a06040523060805234801561001457600080fd5b5060805161203761004c6000396000818161072c0152818161076f015281816108000152818161084301526108c801526120376000f3fe608060405260043610620001345760003560e01c806302c1d0b114620001395780630a992e0c14620001735780631459457a14620001a75780631b71f0e414620001ce5780633659cfe614620001f35780634f1ef286146200021857806352d1902d146200022f5780635a2c8ace14620002475780635c94e4d2146200026c5780635decae02146200028e578063715018a614620002b357806377122d5614620002cb5780638279c7db14620002ed5780638da5cb5b1462000312578063987435be146200032a578063affed0e0146200034a578063b0d3713a1462000362578063b5b3ca2c1462000387578063b8bed90114620003ac578063beb331a314620003ce578063c4d66de814620003f3578063f2fde38b1462000418578063f5016b5e146200043d578063ffa1ad74146200048e575b600080fd5b3480156200014657600080fd5b506068546200015b906001600160a01b031681565b6040516200016a919062001333565b60405180910390f35b3480156200018057600080fd5b5062000198620001923660046200136f565b620004ce565b6040519081526020016200016a565b348015620001b457600080fd5b50620001cc620001c63660046200138f565b62000534565b005b348015620001db57600080fd5b50620001cc620001ed3660046200136f565b620006f6565b3480156200020057600080fd5b50620001cc620002123660046200136f565b62000722565b620001cc62000229366004620014c9565b620007f6565b3480156200023c57600080fd5b5062000198620008bb565b3480156200025457600080fd5b50620001cc6200026636600462001544565b6200096c565b3480156200027957600080fd5b506069546200015b906001600160a01b031681565b3480156200029b57600080fd5b50620001cc620002ad3660046200136f565b620009dd565b348015620002c057600080fd5b50620001cc62000a09565b348015620002d857600080fd5b50606a546200015b906001600160a01b031681565b348015620002fa57600080fd5b50620001cc6200030c3660046200136f565b62000a21565b3480156200031f57600080fd5b506200015b62000a7d565b3480156200033757600080fd5b506067546001600160a01b03166200015b565b3480156200035757600080fd5b506200019860655481565b3480156200036f57600080fd5b50620001cc620003813660046200136f565b62000b1a565b3480156200039457600080fd5b50620001cc620003a63660046200157e565b62000b46565b348015620003b957600080fd5b506067546200015b906001600160a01b031681565b348015620003db57600080fd5b506200015b620003ed36600462001645565b62000ba2565b3480156200040057600080fd5b50620001cc620004123660046200136f565b62000ce3565b3480156200042557600080fd5b50620001cc620004373660046200136f565b62000d5b565b3480156200044a57600080fd5b506200047d6200045c3660046200136f565b6001600160a01b031660009081526066602052604090206001015460ff1690565b60405190151581526020016200016a565b3480156200049b57600080fd5b50620004bf604051806040016040528060038152602001620302e360ec1b81525081565b6040516200016a9190620017f4565b6001600160a01b03811660009081526066602052604081206001015460ff1662000518578160405163f5a6943d60e01b81526004016200050f919062001333565b60405180910390fd5b506001600160a01b031660009081526066602052604090205490565b600054610100900460ff1615808015620005555750600054600160ff909116105b806200057a5750620005673062000dcc565b1580156200057a575060005460ff166001145b620005df5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200050f565b6000805460ff19166001179055801562000603576000805461ff0019166101001790555b6200060e8662000ce3565b60006065556200061e8562000ddb565b620006298462000ddb565b620006348262000ddb565b606780546001600160a01b038088166001600160a01b0319928316179092556068805487841690831617905560698054868416908316179055606a80549285169290911691909117905560405160008051602062001fe2833981519152906200069f90879062001333565b60405180910390a18015620006ee576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b6200070062000e03565b606980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036200076d5760405162461bcd60e51b81526004016200050f9062001809565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620007a162000e66565b6001600160a01b031614620007ca5760405162461bcd60e51b81526004016200050f9062001844565b620007d58162000e83565b60408051600080825260208201909252620007f39183919062000ed5565b50565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620008415760405162461bcd60e51b81526004016200050f9062001809565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200087562000e66565b6001600160a01b0316146200089e5760405162461bcd60e51b81526004016200050f9062001844565b620008a98262000e83565b620008b78282600162000ed5565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620009585760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016200050f565b5060008051602062001f9b83398151915290565b6200097662000e03565b6001600160a01b038216600081815260666020908152604091829020600101805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b620009e762000e03565b606880546001600160a01b0319166001600160a01b0392909216919091179055565b62000a1362000e03565b62000a1f600062001052565b565b62000a2b62000e03565b62000a368162000ddb565b606780546001600160a01b0319166001600160a01b03831617905560405160008051602062001fe28339815191529062000a7290839062001333565b60405180910390a150565b60008062000a936033546001600160a01b031690565b9050806001600160a01b03163b60000362000aad57919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000b0a575060408051601f3d908101601f1916820190925262000b07918101906200187f565b60015b62000b1457919050565b92915050565b62000b2462000e03565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b62000b5062000e03565b6001600160a01b038216600081815260666020908152604091829020849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c9101620009d1565b606580546000918262000bb5836200189f565b9091555060808301523060a0830152606854606954606a546000926001600160a01b0390811692633419635560e01b928792918216911662000bf662000a7d565b60405160240162000c0b9493929190620018e8565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905162000c4a9062001318565b62000c5792919062001a30565b604051809103906000f08015801562000c74573d6000803e3d6000fd5b506001600160a01b038116600090815260666020526040908190206001908101805460ff191690911790555190915081907fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc299062000cd490839062001333565b60405180910390a19392505050565b600054610100900460ff1662000d505760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200050f565b620007f38162001052565b62000d6562000e03565b6001600160a01b03811662000d505760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016200050f565b6001600160a01b03163b151590565b6001600160a01b038116620007f3576040516303988b8160e61b815260040160405180910390fd5b3362000e0e62000a7d565b6001600160a01b03161462000a1f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200050f565b60008051602062001f9b833981519152546001600160a01b031690565b3362000e8e62000a7d565b6001600160a01b031614620007f3573362000ea862000a7d565b60405163163678e960e01b81526001600160a01b039283166004820152911660248201526044016200050f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000f105762000f0b83620010a4565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000f6d575060408051601f3d908101601f1916820190925262000f6a9181019062001a56565b60015b62000fd25760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016200050f565b60008051602062001f9b8339815191528114620010445760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016200050f565b5062000f0b83838362001143565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b620010af8162000dcc565b620011135760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016200050f565b60008051602062001f9b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6200114e8362001174565b6000825111806200115c5750805b1562000f0b576200116e8383620011b6565b50505050565b6200117f81620010a4565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620011de838360405180606001604052806027815260200162001fbb60279139620011e5565b9392505050565b6060600080856001600160a01b03168560405162001204919062001a70565b600060405180830381855af49150503d806000811462001241576040519150601f19603f3d011682016040523d82523d6000602084013e62001246565b606091505b5091509150620012598683838762001263565b9695505050505050565b60608315620012d7578251600003620012cf57620012818562000dcc565b620012cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200050f565b5081620012e3565b620012e38383620012eb565b949350505050565b815115620012fc5781518083602001fd5b8060405162461bcd60e51b81526004016200050f9190620017f4565b6104ec8062001a8f83390190565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114620007f357600080fd5b80356200136a8162001347565b919050565b6000602082840312156200138257600080fd5b8135620011de8162001347565b600080600080600060a08688031215620013a857600080fd5b8535620013b58162001347565b94506020860135620013c78162001347565b93506040860135620013d98162001347565b92506060860135620013eb8162001347565b91506080860135620013fd8162001347565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b03811182821017156200144757620014476200140b565b60405290565b60006001600160401b03808411156200146a576200146a6200140b565b604051601f8501601f19908116603f011681019082821181831017156200149557620014956200140b565b81604052809350858152868686011115620014af57600080fd5b858560208301376000602087830101525050509392505050565b60008060408385031215620014dd57600080fd5b8235620014ea8162001347565b915060208301356001600160401b038111156200150657600080fd5b8301601f810185136200151857600080fd5b62001529858235602084016200144d565b9150509250929050565b803580151581146200136a57600080fd5b600080604083850312156200155857600080fd5b8235620015658162001347565b9150620015756020840162001533565b90509250929050565b600080604083850312156200159257600080fd5b82356200159f8162001347565b946020939093013593505050565b600082601f830112620015bf57600080fd5b620011de838335602085016200144d565b600060408284031215620015e357600080fd5b604080519081016001600160401b0380821183831017156200160957620016096200140b565b816040528293508435835260208501359150808211156200162957600080fd5b506200163885828601620015ad565b6020830152505092915050565b6000602082840312156200165857600080fd5b81356001600160401b03808211156200167057600080fd5b9083019061018082860312156200168657600080fd5b6200169062001421565b6200169b836200135d565b8152620016ab602084016200135d565b6020820152604083013560408201526060830135606082015260808301356080820152620016dc60a084016200135d565b60a0820152620016ef60c084016200135d565b60c082015260e0830135828111156200170757600080fd5b6200171587828601620015d0565b60e0830152506101006200172b8185016200135d565b9082015261012083810135838111156200174457600080fd5b6200175288828701620015ad565b8284015250506101406200176881850162001533565b9082015261016083810135838111156200178157600080fd5b6200178f88828701620015ad565b918301919091525095945050505050565b60005b83811015620017bd578181015183820152602001620017a3565b50506000910152565b60008151808452620017e0816020860160208601620017a0565b601f01601f19169290920160200192915050565b602081526000620011de6020830184620017c6565b6020808252602c9082015260008051602062001f7b83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602062001f7b83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156200189257600080fd5b8151620011de8162001347565b600060018201620018c057634e487b7160e01b600052601160045260246000fd5b5060010190565b805182526000602082015160406020850152620012e36040850182620017c6565b60808152620018fc60808201865162001326565b600060208601516200191260a084018262001326565b50604086015160c0830152606086015160e08301526080860151610100818185015260a088015191506101206200194c8186018462001326565b60c08901519250610140620019648187018562001326565b60e08a01519350610180610160818189015262001986610200890187620018c7565b948c01519495506200199b8883018662001326565b838c01519450607f19935083888703016101a0890152620019bd8686620017c6565b9550828c01519450620019d56101c089018615159052565b808c0151945050505080858403016101e086015250620019f68282620017c6565b9250505062001a09602083018662001326565b62001a18604083018562001326565b62001a27606083018462001326565b95945050505050565b6001600160a01b0383168152604060208201819052600090620012e390830184620017c6565b60006020828403121562001a6957600080fd5b5051919050565b6000825162001a84818460208701620017a0565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212206e93027ee8ff60c4973ac058d4e8a46f5d5981513eccfc75ff619ec5718959a664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656446756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9da2646970667358221220917001dee0d6cce21f97ccc756d9f9ec4c6e4e4df29062f3c93016d0e4fda19164736f6c6343000813003360a06040523060805234801561001457600080fd5b506080516161e46200004d60003960008181611e7401528181611eb701528181611fef01528181612032015261218401526161e46000f3fe608060405260043610620003505760003560e01c806301ffc9a714620003555780630331383c146200038f57806308386eba14620003b05780630d12bbdb14620003c85780630d4a8b4914620003ef578063175188e814620004145780631b71f0e414620004395780631f787d28146200045e578063223e5479146200047957806322bcf999146200049e578063248a9ca314620004c357806328c309e914620004e85780632b38c69c14620005005780632c611c4a14620005345780632f2ff15d146200057257806331f61bca14620005975780633396045914620005bc5780633419635514620005d45780633517aa7d14620005f957806336568abe14620006115780633659cfe61462000636578063397e2543146200065b5780633a871fe114620006805780633ede95f614620006b5578063477a5cc014620006da5780634f1ef286146200071a578063524e59e8146200073157806352d1902d1462000774578063559de05d146200078c578063579eb7e514620007b15780635c94e4d214620007d65780635ecf71c514620007f957806365e3864c146200081e5780636871eb4d146200085b57806368decabb14620008805780636c53db9a14620008a3578063715018a614620008c657806373265c3714620008de578063733a2d1f146200090357806377122d5614620009285780637817ee4f146200094b57806378a0b8a914620009965780637b10399914620009ae57806382d6a1e714620009d15780638659ffdd14620009f657806388cfe6841462000a1b5780638961be6b1462000a915780638da5cb5b1462000aa957806391d148541462000ac1578063a0cf0aea1462000ae6578063a217fddf1462000b10578063a230c5241462000b27578063b0d3713a1462000b4c578063b3f006741462000b71578063b5058c501462000b98578063b64e39af1462000bb0578063b99b43701462000bd7578063bc063e1a1462000bef578063c4d66de81462000c07578063c6d572ae1462000c2c578063d547741f1462000c44578063d6d8428d1462000c69578063d7050f071462000c8c578063db61d65c1462000ca4578063e16d0e321462000cc7578063ebd7dc521462000cec578063f2fde38b1462000d11578063f86c5f891462000d36578063ffa1ad741462000d59575b600080fd5b3480156200036257600080fd5b506200037a620003743660046200462e565b62000d8a565b60405190151581526020015b60405180910390f35b3480156200039c57600080fd5b5060fb545b60405190815260200162000386565b348015620003bd57600080fd5b50620003a160fe5481565b348015620003d557600080fd5b50620003ed620003e73660046200465a565b62000dc2565b005b348015620003fc57600080fd5b50620003ed6200040e3660046200469c565b62000e38565b3480156200042157600080fd5b50620003ed62000433366004620046da565b620011bb565b3480156200044657600080fd5b50620003ed62000458366004620046da565b620011d3565b3480156200046b57600080fd5b5060ff80546200037a911681565b3480156200048657600080fd5b50620003ed62000498366004620046da565b62001200565b348015620004ab57600080fd5b50620003ed620004bd3660046200469c565b62001215565b348015620004d057600080fd5b50620003a1620004e23660046200465a565b6200130f565b348015620004f557600080fd5b50620003a162001324565b3480156200050d57600080fd5b50620005256200051f366004620046fa565b62001429565b60405162000386919062004736565b3480156200054157600080fd5b50620003a162000553366004620046da565b6001600160a01b0316600090815261010c602052604090206001015490565b3480156200057f57600080fd5b50620003ed620005913660046200474a565b62001463565b348015620005a457600080fd5b50620003ed620005b63660046200465a565b6200148a565b348015620005c957600080fd5b50620003a160fd5481565b348015620005e157600080fd5b50620003ed620005f33660046200495a565b620014ca565b3480156200060657600080fd5b50620003ed62001b8a565b3480156200061e57600080fd5b50620003ed620006303660046200474a565b62001dec565b3480156200064357600080fd5b50620003ed62000655366004620046da565b62001e6a565b3480156200066857600080fd5b50620003ed6200067a366004620046da565b62001f3b565b3480156200068d57600080fd5b506200037a6200069f366004620046da565b61010a6020526000908152604090205460ff1681565b348015620006c257600080fd5b506200037a620006d4366004620046fa565b62001fa8565b348015620006e757600080fd5b506200037a620006f93660046200469c565b61010e60209081526000928352604080842090915290825290205460ff1681565b620003ed6200072b36600462004aed565b62001fe5565b3480156200073e57600080fd5b50620007566200075036600462004d71565b620020a6565b604080519283526001600160a01b0390911660208301520162000386565b3480156200078157600080fd5b50620003a162002177565b3480156200079957600080fd5b50620003ed620007ab3660046200465a565b62002228565b348015620007be57600080fd5b5062000756620007d036600462004f52565b62002474565b348015620007e357600080fd5b506101025462000525906001600160a01b031681565b3480156200080657600080fd5b50620003ed620008183660046200465a565b62002701565b3480156200082b57600080fd5b50620003a16200083d3660046200469c565b61010b60209081526000928352604080842090915290825290205481565b3480156200086857600080fd5b50620003ed6200087a3660046200469c565b62002a9b565b3480156200088d57600080fd5b506101035462000525906001600160a01b031681565b348015620008b057600080fd5b506101065462000525906001600160a01b031681565b348015620008d357600080fd5b50620003ed62002bee565b348015620008eb57600080fd5b50620003ed620008fd3660046200465a565b62002c04565b3480156200091057600080fd5b50620003a16000805160206200610183398151915281565b3480156200093557600080fd5b506101015462000525906001600160a01b031681565b3480156200095857600080fd5b50620003a16200096a3660046200469c565b6001600160a01b03918216600090815261010b6020908152604080832093909416825291909152205490565b348015620009a357600080fd5b50620003a160fb5481565b348015620009bb57600080fd5b506101045462000525906001600160a01b031681565b348015620009de57600080fd5b50620003ed620009f03660046200465a565b62002ca0565b34801562000a0357600080fd5b506200075662000a1536600462004fc6565b62002d5e565b34801562000a2857600080fd5b5062000a6962000a3a366004620046da565b61010c602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b039094168452602084019290925215159082015260600162000386565b34801562000a9e57600080fd5b50620003a160fc5481565b34801562000ab657600080fd5b506200052562002eeb565b34801562000ace57600080fd5b506200037a62000ae03660046200474a565b62002f86565b34801562000af357600080fd5b506200052573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801562000b1d57600080fd5b50620003a1600081565b34801562000b3457600080fd5b506200037a62000b46366004620046da565b62002fb1565b34801562000b5957600080fd5b50620003ed62000b6b366004620046da565b62002ffb565b34801562000b7e57600080fd5b5060ff54620005259061010090046001600160a01b031681565b34801562000ba557600080fd5b50620003ed62003028565b34801562000bbd57600080fd5b5062000bc86200305f565b604051620003869190620050ad565b34801562000be457600080fd5b50620003ed620030f6565b34801562000bfc57600080fd5b50620003a162003200565b34801562000c1457600080fd5b50620003ed62000c26366004620046da565b62003212565b34801562000c3957600080fd5b5062000bc862003247565b34801562000c5157600080fd5b50620003ed62000c633660046200474a565b62003257565b34801562000c7657600080fd5b506101075462000525906001600160a01b031681565b34801562000c9957600080fd5b50620003a161271081565b34801562000cb157600080fd5b506101055462000525906001600160a01b031681565b34801562000cd457600080fd5b506200075662000ce6366004620050c2565b62003279565b34801562000cf957600080fd5b506200037a62000d0b366004620046da565b6200333a565b34801562000d1e57600080fd5b50620003ed62000d30366004620046da565b62003357565b34801562000d4357600080fd5b506101005462000525906001600160a01b031681565b34801562000d6657600080fd5b5062000bc8604051806040016040528060038152602001620302e360ec1b81525081565b60006001600160e01b03198216637965db0b60e01b148062000dbc57506301ffc9a760e01b6001600160e01b03198316145b92915050565b62000dcc620033c8565b62000ddb612710600a6200514b565b81111562000dfc5760405163fe925f7d60e01b815260040160405180910390fd5b60fc8190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b62000e4262003405565b62000e4d8262003460565b62000e588162003489565b62000e6381620034c4565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff161562000eac57604051636adcde4b60e11b815260040160405180910390fd5b6001600160a01b03808316600090815261010c602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff1615159183019190915260fb546003846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000f3a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f6091906200517b565b600381111562000f745762000f7462005165565b0362000ff95760405163782aadff60e01b81526001600160a01b0385169063782aadff9062000fab9088906000906004016200519b565b6020604051808303816000875af115801562000fcb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ff19190620051b4565b9050620010f5565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af11580156200103c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200106291906200517b565b600381111562001076576200107662005165565b14620010f55760405163782aadff60e01b81526001600160a01b0385169063782aadff90620010ac90889086906004016200519b565b6020604051808303816000875af1158015620010cc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010f29190620051b4565b90505b6001600160a01b03808616600081815261010b6020908152604080832094891680845294825280832086905583835261010e82528083208584528252808320805460ff1916600190811790915593835261010d8252808320805494850181558352912090910180546001600160a01b031916909217909155517ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec90620011a190879087908590620051ce565b60405180910390a1505050620011b76001606555565b5050565b620011c5620033c8565b620011d081620034f3565b50565b620011dd62003551565b61010280546001600160a01b0319166001600160a01b0392909216919091179055565b6200120a620033c8565b620011d081620035b4565b620012208262003460565b6200122b81620034c4565b62001237338262003646565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff166200127f57604051633048da7760e21b815260040160405180910390fd5b6001600160a01b03808316600081815261010e60209081526040808320948616808452948252808320805460ff1916905592825261010b815282822093825292909252812055620012d1828262003679565b7ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b828260405162001303929190620051f2565b60405180910390a15050565b600090815260c9602052604090206001015490565b610100546000906001600160a01b0316816200134461271060646200514b565b60fc5460fb546200135691906200514b565b6200136291906200520c565b905060006200137561271060646200514b565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c90620013a390309060040162004736565b602060405180830381865afa158015620013c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013e79190620051b4565b60fb54620013f691906200514b565b6200140291906200520c565b9050808260fb546200141591906200522f565b6200142191906200522f565b935050505090565b61010d60205281600052604060002081815481106200144757600080fd5b6000918252602090912001546001600160a01b03169150829050565b6200146e826200130f565b6200147981620037af565b620014858383620037bb565b505050565b62001494620033c8565b60fb8190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f9060200162000e2d565b600054610100900460ff1615808015620014eb5750600054600160ff909116105b80620015105750620014fd3062003845565b15801562001510575060005460ff166001145b620015795760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156200159d576000805461ff0019166101001790555b620015a88262003212565b620015b262003854565b620015bc62003888565b620015d8600080516020620061018339815191526000620038b2565b620015e78560200151620034c4565b620015f7856101000151620034c4565b84516200160490620034c4565b620016138560a00151620034c4565b6060850151156200162d576200162d8560c00151620034c4565b845161010780546001600160a01b039283166001600160a01b03199182161790915560208701516101058054919093169116179055604085015160000362001688576040516363868c5560e11b815260040160405180910390fd5b604085015160fb55606085015160fc5561014085015160ff805460ff191691151591909117905561012085015161010890620016c59082620052d3565b5061016085015161010990620016dc9082620052d3565b5060a085015161010080546001600160a01b03199081166001600160a01b0393841617825560c088015160ff8054610100600160a81b031916918516840291909117905590870151610106805490921692811692909217905562001751906000805160206200610183398151915290620037bb565b61010760009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620017cc91906200539f565b61010480546001600160a01b0319166001600160a01b0392831617905561010654606091163b60000362001858576040805160038082526080820190925290602082016060803683370190505090503381600081518110620018325762001832620053bf565b60200260200101906001600160a01b031690816001600160a01b03168152505062001995565b610106546040805163a0e67e2b60e01b815290516000926001600160a01b03169163a0e67e2b91600480830192869291908290030181865afa158015620018a3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620018cd9190810190620053d5565b905080516002620018df91906200522f565b6001600160401b03811115620018f957620018f962004772565b60405190808252806020026020018201604052801562001923578160200160208202803683370190505b50915060005b81518110156200199257818181518110620019485762001948620053bf565b6020026020010151838281518110620019655762001965620053bf565b6001600160a01b03909216602092830291909101909101528062001989816200546e565b91505062001929565b50505b6101065481516001600160a01b03909116908290620019b7906001906200548a565b81518110620019ca57620019ca620053bf565b60200260200101906001600160a01b031690816001600160a01b031681525050308160028351620019fc91906200548a565b8151811062001a0f5762001a0f620053bf565b6001600160a01b03928316602091820292909201015261010454608088015160e0890151604051633a92f65f60e01b81529290931692633a92f65f9262001a62929161010891309088906004016200558c565b6020604051808303816000875af115801562001a82573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001aa89190620051b4565b60fe55805162001ac19061010f90602084019062004588565b5061010280546001600160a01b038088166001600160a01b03199283161790925561010180549287169290911691909117905560fe5460e08701516040517f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed032059262001b339290916101089190620055ec565b60405180910390a150801562001b83576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b62001b9462003405565b33600081815261010c602052604081206101005490916001600160a01b039091169062001bc561271060646200514b565b60fc5460fb5462001bd791906200514b565b62001be391906200520c565b9050600062001bf661271060646200514b565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c9062001c2490309060040162004736565b602060405180830381865afa15801562001c42573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001c689190620051b4565b60fb5462001c7791906200514b565b62001c8391906200520c565b905062001c908562002fb1565b62001dda5760028401805460ff1916600190811790915560fb5490850181905562001cea9086903090849062001cc89087906200522f565b62001cd491906200522f565b610105546001600160a01b031692919062003907565b811562001d175760ff546101055462001d17916001600160a01b0391821691610100909104168462003963565b801562001d9c5762001d9c836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001d61573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001d8791906200539f565b610105546001600160a01b0316908362003963565b7f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f76898560fb5460405162001dd19291906200519b565b60405180910390a15b505050505062001dea6001606555565b565b6001600160a01b038116331462001e5e5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b606482015260840162001570565b620011b7828262003985565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001eb55760405162461bcd60e51b815260040162001570906200561b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001ee9620039ef565b6001600160a01b03161462001f125760405162461bcd60e51b8152600401620015709062005656565b62001f1d8162003a0c565b60408051600080825260208201909252620011d09183919062003a4e565b62001f45620033c8565b62001f5081620034c4565b61010380546001600160a01b0319166001600160a01b03838116918217909255610106546040517f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89362000e2d9392169190620051f2565b600062001fde8260405160200162001fc1919062005691565b604051602081830303815290604052805190602001208462002f86565b9392505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620020305760405162461bcd60e51b815260040162001570906200561b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662002064620039ef565b6001600160a01b0316146200208d5760405162461bcd60e51b8152600401620015709062005656565b620020988262003a0c565b620011b78282600162003a4e565b610102546101075461010154600092839283926001600160a01b039283169263184b955960e01b9281169116620020dc62002eeb565b604051602401620020f093929190620056ae565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516200212f90620045ee565b6200213c929190620056d1565b604051809103906000f08015801562002159573d6000803e3d6000fd5b5090506200216a8187878762003279565b9250925050935093915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620022145760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840162001570565b506000805160206200616883398151915290565b6200223262003405565b6200223c62003bc6565b33600081815261010d6020908152604080832080548251818502810185019093528083529192909190830182828015620022a057602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162002281575b50505050509050600080600090505b8251811015620023db57828181518110620022ce57620022ce620053bf565b60200260200101516001600160a01b031663782aadff85876040518363ffffffff1660e01b8152600401620023059291906200519b565b6020604051808303816000875af115801562002325573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200234b9190620051b4565b91508115620023c6576001600160a01b038416600090815261010b602052604081208451849290869085908110620023875762002387620053bf565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000828254620023c091906200522f565b90915550505b80620023d2816200546e565b915050620022af565b5061010554620023f7906001600160a01b031684308762003907565b6001600160a01b038316600090815261010c602052604081206001018054869290620024259084906200522f565b90915550506040517f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f906200245e90859087906200519b565b60405180910390a1505050620011d06001606555565b610102546101075461010154600092839283926001600160a01b039283169263184b955960e01b9281169116620024aa62002eeb565b604051602401620024be93929190620056ae565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051620024fd90620045ee565b6200250a929190620056d1565b604051809103906000f08015801562002527573d6000803e3d6000fd5b509050620025388187878762002d5e565b60c087015191945092506001600160a01b031662002668576103e88560e00151511115620025c15760405162461bcd60e51b815260206004820152602f60248201527f546f6f206d616e7920696e697469616c20616c6c6f776c697374206d656d626560448201526e072732c206d6178206973203130303608c1b606482015260840162001570565b600083604051602001620025d6919062005691565b60405160208183030381529060405280519060200120905060005b8660e001515181101562002665576200262460405180606001604052806027815260200162006121602791398662003bef565b62002650828860e001518381518110620026425762002642620053bf565b6020026020010151620037bb565b806200265c816200546e565b915050620025f1565b50505b620026c4836040516020016200267f919062005691565b6040516020818303038152906040528051906020012084604051602001620026a89190620056f7565b60405160208183030381529060405280519060200120620038b2565b620026f883604051602001620026db9190620056f7565b6040516020818303038152906040528051906020012083620037bb565b50935093915050565b6200270b62003405565b6200271562003bc6565b33600081815261010d6020908152604080832060fb5461010c9093529083206001015490929190620027499086906200548a565b10156200276957604051634e23e81760e11b815260040160405180910390fd5b6101055462002783906001600160a01b0316848662003963565b60005b825481101562002a33576000838281548110620027a757620027a7620053bf565b6000918252602090912001546001600160a01b03169050620027d18163f1801e6160e01b62003c38565b156200295757604051632ed04b2b60e01b81526001600160a01b03821690632ed04b2b90620028079088908a906004016200519b565b6020604051808303816000875af115801562002827573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200284d9190620051b4565b9250600061010b6000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815481106200288e576200288e620053bf565b60009182526020808320909101546001600160a01b03168352820192909252604001902054905080841115620028e2576040516311423e6360e31b8152600481018590526024810182905260440162001570565b6001600160a01b038616600090815261010b602052604081208654869290889087908110620029155762002915620053bf565b60009182526020808320909101546001600160a01b03168352820192909252604001812080549091906200294b9084906200548a565b90915550505062002a1d565b8354849062002969906001906200548a565b815481106200297c576200297c620053bf565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110620029af57620029af620053bf565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480620029f057620029f06200571a565b600082815260209020810160001990810180546001600160a01b031916905501905562002a1d81620034f3565b508062002a2a816200546e565b91505062002786565b506001600160a01b038316600090815261010c60205260408120600101805486929062002a629084906200548a565b90915550506040517f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8906200245e90859087906200519b565b62002aa562003405565b62002aaf620033c8565b60ff80541662002ad2576040516365b1ee3960e11b815260040160405180910390fd5b62002add8262002fb1565b62002afb57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159082015262002b4c8362003c59565b6001600160a01b03808416600090815261010c60209081526040822080546001600160a01b031916815560018101929092556002909101805460ff191690558201516101055462002ba1921690849062003963565b7fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a38383836020015160405162002bda93929190620051ce565b60405180910390a150620011b76001606555565b62002bf862003551565b62001dea600062003d6e565b62002c0e620033c8565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801562002c5a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002c84919081019062005730565b60200151905062002c9581620034c4565b620011b781620034f3565b62002caa620033c8565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801562002cf6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002d20919081019062005730565b60200151905062002d3181620034c4565b62002d4d6001600160a01b03821663f1801e6160e01b62003c38565b15620011b757620011b781620035b4565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0386161562002d895750845b869150600061010f80548060200260200160405190810160405280929190818152602001828054801562002de757602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162002dc8575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062002e1f908b90602001620058fb565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b815260040162002e579796959493929190620059a4565b6020604051808303816000875af115801562002e77573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e9d9190620051b4565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a8960405162002ed895949392919062005a15565b60405180910390a1505094509492505050565b60008062002f016033546001600160a01b031690565b9050806001600160a01b03163b60000362002f1b57919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562002f78575060408051601f3d908101601f1916820190925262002f75918101906200539f565b60015b62000dbc57919050565b5090565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6001600160a01b03908116600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b6200300562003551565b61010180546001600160a01b0319166001600160a01b0392909216919091179055565b610103546001600160a01b0316331462003055576040516375e686b760e11b815260040160405180910390fd5b62001dea62003dc0565b61010980546200306f9062005245565b80601f01602080910402602001604051908101604052809291908181526020018280546200309d9062005245565b8015620030ee5780601f10620030c257610100808354040283529160200191620030ee565b820191906000526020600020905b815481529060010190602001808311620030d057829003601f168201915b505050505081565b6200310062003405565b336200310c8162003460565b620031178162003c59565b6001600160a01b03808216600081815261010c602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945561010d90529182209091620031929190620045fc565b602081015161010554620031b4916001600160a01b0390911690849062003963565b7fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4828260200151604051620031eb9291906200519b565b60405180910390a1505062001dea6001606555565b6200320f612710600a6200514b565b81565b600054610100900460ff166200323c5760405162461bcd60e51b8152600401620015709062005a51565b620011d08162003d6e565b61010880546200306f9062005245565b62003262826200130f565b6200326d81620037af565b62001485838362003985565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b03861615620032a45750845b869150600061010f8054806020026020016040519081016040528092919081815260200182805480156200330257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620032e3575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062002e1f908b9060200162005a9c565b600062000dbc600080516020620061018339815191528362002f86565b6200336162003551565b6001600160a01b0381166200323c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162001570565b620033e3600080516020620061018339815191523362002f86565b62001dea573360405163fc4be72f60e01b815260040162001570919062004736565b600260655403620034595760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640162001570565b6002606555565b6200346b8162002fb1565b620011d057604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090205460ff16620011d0576040516346c26e4b60e01b815260040160405180910390fd5b6001600160a01b038116620011d0576040516303988b8160e61b815260040160405180910390fd5b6001606555565b620034fe81620034c4565b6001600160a01b038116600090815261010a602052604090819020805460ff19169055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49062000e2d90839062004736565b336200355c62002eeb565b6001600160a01b03161462001dea5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162001570565b6001600160a01b038116600090815261010a602052604090205460ff1615620035f0576040516325a2934b60e21b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090819020805460ff19166001179055517f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19062000e2d90839062004736565b806001600160a01b0316826001600160a01b031614620011b75760405163bbe7961160e01b815260040160405180910390fd5b6001600160a01b038216600090815261010d60205260408120905b8154811015620037a957826001600160a01b0316828281548110620036bd57620036bd620053bf565b6000918252602090912001546001600160a01b031603620037945781548290620036ea906001906200548a565b81548110620036fd57620036fd620053bf565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110620037305762003730620053bf565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550818054806200377157620037716200571a565b600082815260209020810160001990810180546001600160a01b03191690550190555b80620037a0816200546e565b91505062003694565b50505050565b620011d0813362003e24565b620037c7828262002f86565b620011b757600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620038013390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6001600160a01b03163b151590565b600054610100900460ff166200387e5760405162461bcd60e51b8152600401620015709062005a51565b62001dea62003e88565b600054610100900460ff1662001dea5760405162461bcd60e51b8152600401620015709062005a51565b6000620038bf836200130f565b600084815260c96020526040808220600101859055519192508391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b620037a9846323b872dd60e01b8585856040516024016200392b93929190620051ce565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003eb2565b620014858363a9059cbb60e01b84846040516024016200392b9291906200519b565b62003991828262002f86565b15620011b757600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008051602062006168833981519152546001600160a01b031690565b3362003a1762002eeb565b6001600160a01b031614620011d0573362003a3162002eeb565b60405163163678e960e01b815260040162001570929190620051f2565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562003a8457620014858362003f8e565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562003ae1575060408051601f3d908101601f1916820190925262003ade91810190620051b4565b60015b62003b465760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840162001570565b60008051602062006168833981519152811462003bb85760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840162001570565b50620014858383836200402d565b62003bd13362002fb1565b62001dea57604051636a5cfb6d60e01b815260040160405180910390fd5b620011b7828260405160240162003c0892919062005b25565b60408051601f198184030181529190526020810180516001600160e01b03166309710a9d60e41b17905262004058565b600062003c458362004079565b801562001fde575062001fde8383620040b1565b6001600160a01b038116600090815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562003cc657602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003ca7575b5050505050905060005b8151811015620014855781818151811062003cef5762003cef620053bf565b60200260200101516001600160a01b0316636453d9c4846040518263ffffffff1660e01b815260040162003d24919062004736565b600060405180830381600087803b15801562003d3f57600080fd5b505af115801562003d54573d6000803e3d6000fd5b50505050808062003d65906200546e565b91505062003cd0565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610103805461010680546001600160a01b03199081166001600160a01b038416179091551690556040517fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729062003e1a9060009062004736565b60405180910390a1565b62003e30828262002f86565b620011b75762003e40816200413c565b62003e4d8360206200414f565b60405160200162003e6092919062005b49565b60408051601f198184030181529082905262461bcd60e51b82526200157091600401620050ad565b600054610100900460ff16620034ec5760405162461bcd60e51b8152600401620015709062005a51565b600062003f09826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316620043089092919063ffffffff16565b905080516000148062003f2d57508080602001905181019062003f2d919062005bbc565b620014855760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840162001570565b62003f998162003845565b62003ffd5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162001570565b6000805160206200616883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b620040388362004321565b600082511180620040465750805b156200148557620037a9838362004363565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006200408e826301ffc9a760e01b620040b1565b801562000dbc5750620040aa826001600160e01b0319620040b1565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562004124575060208210155b8015620041315750600081115b979650505050505050565b606062000dbc6001600160a01b03831660145b60606000620041608360026200514b565b6200416d9060026200522f565b6001600160401b0381111562004187576200418762004772565b6040519080825280601f01601f191660200182016040528015620041b2576020820181803683370190505b509050600360fc1b81600081518110620041d057620041d0620053bf565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110620042025762004202620053bf565b60200101906001600160f81b031916908160001a9053506000620042288460026200514b565b620042359060016200522f565b90505b6001811115620042b7576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106200426d576200426d620053bf565b1a60f81b828281518110620042865762004286620053bf565b60200101906001600160f81b031916908160001a90535060049490941c93620042af8162005bdc565b905062004238565b50831562001fde5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640162001570565b60606200431984846000856200438b565b949350505050565b6200432c8162003f8e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062001fde8383604051806060016040528060278152602001620061886027913962004463565b606082471015620043ee5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840162001570565b600080866001600160a01b031685876040516200440c919062005bf6565b60006040518083038185875af1925050503d80600081146200444b576040519150601f19603f3d011682016040523d82523d6000602084013e62004450565b606091505b50915091506200413187838387620044e1565b6060600080856001600160a01b03168560405162004482919062005bf6565b600060405180830381855af49150503d8060008114620044bf576040519150601f19603f3d011682016040523d82523d6000602084013e620044c4565b606091505b5091509150620044d786838387620044e1565b9695505050505050565b60608315620045555782516000036200454d57620044ff8562003845565b6200454d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162001570565b508162004319565b6200431983838151156200456c5781518083602001fd5b8060405162461bcd60e51b8152600401620015709190620050ad565b828054828255906000526020600020908101928215620045e0579160200282015b82811115620045e057825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620045a9565b5062002f8292915062004617565b6104ec8062005c1583390190565b5080546000825590600052602060002090810190620011d091905b5b8082111562002f82576000815560010162004618565b6000602082840312156200464157600080fd5b81356001600160e01b03198116811462001fde57600080fd5b6000602082840312156200466d57600080fd5b5035919050565b6001600160a01b0381168114620011d057600080fd5b8035620046978162004674565b919050565b60008060408385031215620046b057600080fd5b8235620046bd8162004674565b91506020830135620046cf8162004674565b809150509250929050565b600060208284031215620046ed57600080fd5b813562001fde8162004674565b600080604083850312156200470e57600080fd5b82356200471b8162004674565b946020939093013593505050565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b600080604083850312156200475e57600080fd5b823591506020830135620046cf8162004674565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715620047ad57620047ad62004772565b60405290565b60405161018081016001600160401b0381118282101715620047ad57620047ad62004772565b60405160c081016001600160401b0381118282101715620047ad57620047ad62004772565b60405161010081016001600160401b0381118282101715620047ad57620047ad62004772565b604051601f8201601f191681016001600160401b03811182821017156200484f576200484f62004772565b604052919050565b60006001600160401b0382111562004873576200487362004772565b50601f01601f191660200190565b600062004898620048928462004857565b62004824565b9050828152838383011115620048ad57600080fd5b828260208301376000602084830101529392505050565b600082601f830112620048d657600080fd5b62001fde8383356020850162004881565b600060408284031215620048fa57600080fd5b6200490462004788565b82358152905060208201356001600160401b038111156200492457600080fd5b6200493284828501620048c4565b60208301525092915050565b8015158114620011d057600080fd5b803562004697816200493e565b600080600080608085870312156200497157600080fd5b84356001600160401b03808211156200498957600080fd5b9086019061018082890312156200499f57600080fd5b620049a9620047b3565b620049b4836200468a565b8152620049c4602084016200468a565b6020820152604083013560408201526060830135606082015260808301356080820152620049f560a084016200468a565b60a082015262004a0860c084016200468a565b60c082015260e08301358281111562004a2057600080fd5b62004a2e8a828601620048e7565b60e08301525061010062004a448185016200468a565b90820152610120838101358381111562004a5d57600080fd5b62004a6b8b828701620048c4565b82840152505061014062004a818185016200494d565b90820152610160838101358381111562004a9a57600080fd5b62004aa88b828701620048c4565b82840152505080965050505062004ac2602086016200468a565b925062004ad2604086016200468a565b915062004ae2606086016200468a565b905092959194509250565b6000806040838503121562004b0157600080fd5b823562004b0e8162004674565b915060208301356001600160401b0381111562004b2a57600080fd5b8301601f8101851362004b3c57600080fd5b62004b4d8582356020840162004881565b9150509250929050565b60006080828403121562004b6a57600080fd5b604051608081016001600160401b038111828210171562004b8f5762004b8f62004772565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b8035600381106200469757600080fd5b60048110620011d057600080fd5b8035620046978162004bd0565b60006020828403121562004bfe57600080fd5b604051602081016001600160401b038111828210171562004c235762004c2362004772565b6040529135825250919050565b600060c0828403121562004c4357600080fd5b62004c4d620047d9565b9050813562004c5c8162004674565b8152602082013562004c6e8162004674565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b60006101e0828403121562004cb757600080fd5b60405160e081016001600160401b038111828210171562004cdc5762004cdc62004772565b60405290508062004cee848462004b57565b815262004cfe6080840162004bc0565b602082015260a083013562004d138162004bd0565b604082015262004d278460c0850162004beb565b606082015262004d3b8460e0850162004c30565b60808201526101a083013562004d518162004674565b60a082015262004d656101c084016200468a565b60c08201525092915050565b6000806000610220848603121562004d8857600080fd5b833562004d958162004674565b925062004da6856020860162004ca3565b91506102008401356001600160401b0381111562004dc357600080fd5b62004dd186828701620048e7565b9150509250925092565b60006001600160401b0382111562004df75762004df762004772565b5060051b60200190565b600082601f83011262004e1357600080fd5b8135602062004e26620048928362004ddb565b82815260059290921b8401810191818101908684111562004e4657600080fd5b8286015b8481101562004e6e57803562004e608162004674565b835291830191830162004e4a565b509695505050505050565b6000610200828403121562004e8d57600080fd5b62004e97620047fe565b905062004ea5838362004b57565b815262004eb56080830162004bc0565b602082015262004ec860a0830162004bde565b604082015262004edc8360c0840162004beb565b606082015262004ef08360e0840162004c30565b608082015262004f046101a083016200468a565b60a082015262004f186101c083016200468a565b60c08201526101e08201356001600160401b0381111562004f3857600080fd5b62004f468482850162004e01565b60e08301525092915050565b60008060006060848603121562004f6857600080fd5b833562004f758162004674565b925060208401356001600160401b038082111562004f9257600080fd5b62004fa08783880162004e79565b9350604086013591508082111562004fb757600080fd5b5062004dd186828701620048e7565b6000806000806080858703121562004fdd57600080fd5b843562004fea8162004674565b9350602085013562004ffc8162004674565b925060408501356001600160401b03808211156200501957600080fd5b620050278883890162004e79565b935060608701359150808211156200503e57600080fd5b506200504d87828801620048e7565b91505092959194509250565b60005b83811015620050765781810151838201526020016200505c565b50506000910152565b600081518084526200509981602086016020860162005059565b601f01601f19169290920160200192915050565b60208152600062001fde60208301846200507f565b6000806000806102408587031215620050da57600080fd5b8435620050e78162004674565b93506020850135620050f98162004674565b92506200510a866040870162004ca3565b91506102208501356001600160401b038111156200512757600080fd5b6200504d87828801620048e7565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000dbc5762000dbc62005135565b634e487b7160e01b600052602160045260246000fd5b6000602082840312156200518e57600080fd5b815162001fde8162004bd0565b6001600160a01b03929092168252602082015260400190565b600060208284031215620051c757600080fd5b5051919050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0392831681529116602082015260400190565b6000826200522a57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000dbc5762000dbc62005135565b600181811c908216806200525a57607f821691505b6020821081036200527b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200148557600081815260208120601f850160051c81016020861015620052aa5750805b601f850160051c820191505b81811015620052cb57828155600101620052b6565b505050505050565b81516001600160401b03811115620052ef57620052ef62004772565b620053078162005300845462005245565b8462005281565b602080601f8311600181146200533f5760008415620053265750858301515b600019600386901b1c1916600185901b178555620052cb565b600085815260208120601f198616915b8281101562005370578886015182559484019460019091019084016200534f565b50858210156200538f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620053b257600080fd5b815162001fde8162004674565b634e487b7160e01b600052603260045260246000fd5b60006020808385031215620053e957600080fd5b82516001600160401b038111156200540057600080fd5b8301601f810185136200541257600080fd5b805162005423620048928262004ddb565b81815260059190911b820183019083810190878311156200544357600080fd5b928401925b82841015620041315783516200545e8162004674565b8252928401929084019062005448565b60006001820162005483576200548362005135565b5060010190565b8181038181111562000dbc5762000dbc62005135565b60008154620054af8162005245565b808552602060018381168015620054cf5760018114620054ea576200551a565b60ff1985168884015283151560051b8801830195506200551a565b866000528260002060005b85811015620055125781548a8201860152908301908401620054f5565b890184019650505b505050505092915050565b8051825260006020820151604060208501526200431960408501826200507f565b600081518084526020808501945080840160005b83811015620055815781516001600160a01b0316875295820195908201906001016200555a565b509495945050505050565b85815260a060208201526000620055a760a0830187620054a0565b8281036040840152620055bb818762005525565b6001600160a01b038616606085015283810360808501529050620055e0818562005546565b98975050505050505050565b838152606060208201526000620056076060830185620054a0565b8281036040840152620044d7818562005525565b6020808252602c908201526000805160206200614883398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206200614883398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6810531313d5d31254d560ba1b8152600981019190915260290190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b038316815260406020820181905260009062004319908301846200507f565b6e20a62627aba624a9aa2fa0a226a4a760891b8152600f810191909152602f0190565b634e487b7160e01b600052603160045260246000fd5b600060208083850312156200574457600080fd5b82516001600160401b03808211156200575c57600080fd5b9084019060c082870312156200577157600080fd5b6200577b620047d9565b82518152838301516200578e8162004674565b818501526040830151620057a28162004674565b6040820152606083015182811115620057ba57600080fd5b830160408189031215620057cd57600080fd5b620057d762004788565b815181528582015184811115620057ed57600080fd5b82019350601f840189136200580157600080fd5b8351915062005814620048928362004857565b82815289878487010111156200582957600080fd5b6200583a8388830189880162005059565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b805182526020810151602083015260408101516040830152606081015160608301525050565b600381106200589f576200589f62005165565b9052565b600481106200589f576200589f62005165565b80516001600160a01b0390811683526020808301519091169083015260408082015190830152606080820151908301526080808201519083015260a090810151910152565b602081526200590f60208201835162005866565b600060208301516200592560a08401826200588c565b5060408301516200593a60c0840182620058a3565b5060608301515160e083015260808301516200595b610100840182620058b6565b5060a0830151620059716101c084018262004729565b5060c0830151620059876101e084018262004729565b5060e0830151610200838101526200431961022084018262005546565b878152600060018060a01b03808916602084015260e06040840152620059ce60e08401896200507f565b818816606085015286608085015283810360a0850152620059f0818762005525565b91505082810360c084015262005a07818562005546565b9a9950505050505050505050565b8581526001600160a01b03858116602083015284811660408301528316606082015260a060808201819052600090620041319083018462005525565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006101e08201905062005ab282845162005866565b602083015162005ac660808401826200588c565b50604083015162005adb60a0840182620058a3565b5060608301515160c0830152608083015162005afb60e0840182620058b6565b5060a08301516001600160a01b039081166101a084015260c0909301519092166101c09091015290565b60408152600062005b3a60408301856200507f565b90508260208301529392505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81526000835162005b7d81601785016020880162005059565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835162005bb081602884016020880162005059565b01602801949350505050565b60006020828403121562005bcf57600080fd5b815162001fde816200493e565b60008162005bee5762005bee62005135565b506000190190565b6000825162005c0a81846020870162005059565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212206e93027ee8ff60c4973ac058d4e8a46f5d5981513eccfc75ff619ec5718959a664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656403be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa4772616e74696e6720726f6c65207769746820706f6f6c20696420696e2072656769737472793a46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e28c12d767b3bea1fd08a5c25c029db44202b7632cee5dceb1a4d2cc2c84ebaf64736f6c6343000813003360a06040523060805234801561001457600080fd5b506080516170726200004d600039600081816118a1015281816118e101528181611980015281816119c00152611a3801526170726000f3fe60806040526004361061036e5760003560e01c8063013cf08b1461037757806301ffc9a7146103b9578063059351cd146103e9578063062f9ece146104765780630a6f0ee9146104965780630ba95909146104b65780630bece79c146104d55780630c0512e9146105025780630f529ba214610518578063125fd1d91461052f57806315cc481e14610545578063184b9559146105635780631aa91a9e146105835780631ddf1e23146105a35780632506b870146105b8578063255ffb38146105fb5780632bbe0cae146106285780632dbd6fdd1461063b5780632ed04b2b14610667578063311a6c561461068757806333960459146106a7578063346db8cb146106bd578063351d9f96146106dd5780633659cfe61461070457806338fff2d014610724578063406244d81461073957806341bb76051461074e57806342fda9c7146107ab57806348f19c1d146107c05780634ab4ba42146107d55780634d31d087146107ea5780634f1ef2861461080a57806352d1902d1461081d57806359a5db8b146108325780635db64b991461085257806360d5dedc1461087f578063626c47e81461089f5780636453d9c4146108b45780636a6f69b4146107c0578063715018a6146108d45780637263cfe2146108e9578063782aadff14610909578063814516ad14610929578063817b1cd21461093e578063824ea8ed14610954578063868c57b8146109745780638da5cb5b14610994578063948e7a59146109a9578063950559d7146109c95780639a1c157c146109e9578063a0cf0aea146109fe578063a28889e114610a26578063a47ff7e514610a5e578063a51312c814610a75578063a574cea414610a95578063aba9ffee14610ac2578063ac1ed7b914610ad8578063b0d3713a14610af8578063b2b878d014610b18578063b41596ec14610b45578063b5f620ce14610b58578063b6c61f3114610b78578063bcc5b93b14610b98578063c329217114610bb8578063c4d66de814610bd5578063c7f758a814610bf5578063d1e3623214610c2c578063dc96ff2d14610c41578063df868ed314610c71578063e0a8f6f514610c86578063e0dd2c3814610ca6578063eb11af9314610cc6578063edd146cc14610cee578063ef2920fc14610d0e578063f2fde38b14610d21578063f5b0dfb714610d41578063f5be3f7c14610d61578063ffa1ad7414610d7757005b3661037557005b005b34801561038357600080fd5b506103976103923660046157d0565b610db3565b6040516103b09d9c9b9a9998979695949392919061588b565b60405180910390f35b3480156103c557600080fd5b506103d96103d436600461592d565b610f01565b60405190151581526020016103b0565b3480156103f557600080fd5b5061043e606f546000908152607f60205260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169694909316949193909290565b604080516001600160a01b039788168152969095166020870152938501929092526060840152608083015260a082015260c0016103b0565b34801561048257600080fd5b50610375610491366004615b13565b610f38565b3480156104a257600080fd5b506103756104b1366004615c60565b610f4e565b3480156104c257600080fd5b506077545b6040519081526020016103b0565b3480156104e157600080fd5b506079546104f5906001600160a01b031681565b6040516103b09190615cd7565b34801561050e57600080fd5b506104c7606e5481565b34801561052457600080fd5b506104c76298968081565b34801561053b57600080fd5b506104c7606f5481565b34801561055157600080fd5b506065546001600160a01b03166104f5565b34801561056f57600080fd5b5061037561057e366004615ceb565b610f6e565b34801561058f57600080fd5b506104c761059e3660046157d0565b6110ce565b3480156105af57600080fd5b50610375611118565b3480156105c457600080fd5b506072546073546074546075546105db9392919084565b6040805194855260208501939093529183015260608201526080016103b0565b34801561060757600080fd5b506104c76106163660046157d0565b607e6020526000908152604090205481565b6104f5610636366004615d2b565b611123565b34801561064757600080fd5b5060765461065a90610100900460ff1681565b6040516103b09190615d90565b34801561067357600080fd5b506104c7610682366004615d9e565b611146565b34801561069357600080fd5b506103756106a2366004615dca565b61120a565b3480156106b357600080fd5b506104c7606c5481565b3480156106c957600080fd5b506104c76106d8366004615dec565b6117fc565b3480156106e957600080fd5b506076546106f79060ff1681565b6040516103b09190615e28565b34801561071057600080fd5b5061037561071f366004615e36565b611897565b34801561073057600080fd5b506068546104c7565b34801561074557600080fd5b506104c7600a81565b34801561075a57600080fd5b5061043e6107693660046157d0565b607f602052600090815260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169593909416939192909186565b3480156107b757600080fd5b506066546104c7565b3480156107cc57600080fd5b506104f561195f565b3480156107e157600080fd5b506069546104c7565b3480156107f657600080fd5b506103d9610805366004615e36565b61196e565b610375610818366004615e53565b611976565b34801561082957600080fd5b506104c7611a2b565b34801561083e57600080fd5b506104c761084d3660046157d0565b611ad9565b34801561085e57600080fd5b506104c761086d366004615e36565b607c6020526000908152604090205481565b34801561088b57600080fd5b5061037561089a366004615ea2565b611bf3565b3480156108ab57600080fd5b506104c7600381565b3480156108c057600080fd5b506103756108cf366004615e36565b611c6f565b3480156108e057600080fd5b50610375611c80565b3480156108f557600080fd5b50610375610904366004615efd565b611c92565b34801561091557600080fd5b506104c7610924366004615d9e565b611ca3565b34801561093557600080fd5b50610375611e39565b34801561094a57600080fd5b506104c760705481565b34801561096057600080fd5b506103d961096f3660046157d0565b611f56565b34801561098057600080fd5b506104c761098f366004615d9e565b611fb3565b3480156109a057600080fd5b506104f5611fe4565b3480156109b557600080fd5b506103756109c4366004615f31565b612075565b3480156109d557600080fd5b506104c76109e43660046157d0565b612089565b3480156109f557600080fd5b506074546104c7565b348015610a0a57600080fd5b506104f573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b348015610a3257600080fd5b50606d54610a46906001600160401b031681565b6040516001600160401b0390911681526020016103b0565b348015610a6a57600080fd5b506077546104c79081565b348015610a8157600080fd5b50610375610a90366004615efd565b6120b3565b348015610aa157600080fd5b50610ab5610ab03660046157d0565b6120c4565b6040516103b09190615fba565b348015610ace57600080fd5b506104c760715481565b348015610ae457600080fd5b50610375610af3366004615e36565b6121a3565b348015610b0457600080fd5b50610375610b13366004615e36565b6121d6565b348015610b2457600080fd5b50610b38610b33366004615fcd565b612200565b6040516103b091906160a1565b6104c7610b5336600461613a565b61221b565b348015610b6457600080fd5b50610375610b733660046161c1565b61256d565b348015610b8457600080fd5b50607a546104f5906001600160a01b031681565b348015610ba457600080fd5b506104c7610bb3366004615e36565b612576565b348015610bc457600080fd5b50607654610100900460ff1661065a565b348015610be157600080fd5b50610375610bf0366004615e36565b612591565b348015610c0157600080fd5b50610c15610c103660046157d0565b6125c1565b6040516103b09b9a999897969594939291906161de565b348015610c3857600080fd5b506071546104c7565b348015610c4d57600080fd5b506104c7610c5c3660046157d0565b6000908152607b602052604090206002015490565b348015610c7d57600080fd5b506103d96126cd565b348015610c9257600080fd5b50610375610ca13660046157d0565b6126e0565b348015610cb257600080fd5b506104c7610cc136600461624d565b612865565b348015610cd257600080fd5b50610ce1610805366004615e36565b6040516103b09190616272565b348015610cfa57600080fd5b50610375610d09366004616285565b612890565b610375610d1c366004615d2b565b612a81565b348015610d2d57600080fd5b50610375610d3c366004615e36565b612aa5565b348015610d4d57600080fd5b50610375610d5c3660046157d0565b612b12565b348015610d6d57600080fd5b506104c7611c2081565b348015610d8357600080fd5b50610da6604051806040016040528060038152602001620302e360ec1b81525081565b6040516103b091906162b5565b607b602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610e3a906162c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610e66906162c8565b8015610eb35780601f10610e8857610100808354040283529160200191610eb3565b820191906000526020600020905b815481529060010190602001808311610e9657829003601f168201915b50505091909252505060408051606081018252600c8501548152600d8501546020820152600e8501546001600160a01b031691810191909152600f840154601090940154929390929091508d565b60006001600160e01b0319821663f1801e6160e01b1480610f3257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610f40612b3b565b610f4a8282612bd5565b5050565b610f56612f4a565b610f5e612f75565b610f69838383612f98565b505050565b600054610100900460ff1615808015610f8e5750600054600160ff909116105b80610faf5750610f9d306132a2565b158015610faf575060005460ff166001145b6110175760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801561103a576000805461ff0019166101001790555b611067846040518060400160405280600a8152602001694356537472617465677960b01b81525084611bf3565b606a80546001600160a01b0319166001600160a01b03851617905580156110c8576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b6000818152607b60205260408120805483146111005760405163c1d17bef60e01b81526004810184905260240161100e565b61110e8182600201546132b1565b6003015492915050565b611121336132ec565b565b600061112d612f4a565b611135612f75565b61113f8383613418565b9392505050565b6000611150613806565b60006002607654610100900460ff166003811115611170576111706157f6565b148061119757506001607654610100900460ff166003811115611195576111956157f6565b145b156111a35750816111b0565b6111ad8484613831565b90505b80607160008282546111c29190616312565b90915550506040517f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1906111fb90869086908590616325565b60405180910390a19392505050565b6000828152607e6020908152604080832054808452607b835281842060108101548552607f8452828520835160c08101855281546001600160a01b03908116825260018301541695810195909552600281015493850193909352600383015460608501526004830154608085015260059092015460a0840152929091908390036112aa5760405163c1d17bef60e01b81526004810184905260240161100e565b6005600883015460ff1660068111156112c5576112c56157f6565b146112e657604051634b011ca960e11b81526004810184905260240161100e565b60a0810151600d8301546000916112fc91616346565b42119050801581611317575081516001600160a01b03163314155b1561133557604051631777988560e11b815260040160405180910390fd5b808061133f575084155b1561148857816080015160000361136957604051630dd466dd60e41b815260040160405180910390fd5b81608001516001036113855760088301805460ff191660011790555b81608001516002036114125760088301805460ff191660061790556079546005840154604084810151905163099ea56b60e41b81526001600160a01b03938416936399ea56b0936113df938a939290911691600401616359565b600060405180830381600087803b1580156113f957600080fd5b505af115801561140d573d6000803e3d6000fd5b505050505b607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b093611451938a939290911691600401616359565b600060405180830381600087803b15801561146b57600080fd5b505af115801561147f573d6000803e3d6000fd5b50505050611765565b846001036115495760088301805460ff19166001179055607954600e8401546001600160a01b0391821691638969ab53918791166114c461195f565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115259190616378565b86606001516040518563ffffffff1660e01b81526004016114519493929190616395565b846002036117655760088301805460ff19166006179055607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b09361159f938a939290911691600401616359565b600060405180830381600087803b1580156115b957600080fd5b505af11580156115cd573d6000803e3d6000fd5b505060795460058601546001600160a01b039182169350638969ab5392508791166115f661195f565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611633573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116579190616378565b606f546000908152607f6020526040902060029081015461167891906163d0565b6040518563ffffffff1660e01b81526004016116979493929190616395565b600060405180830381600087803b1580156116b157600080fd5b505af11580156116c5573d6000803e3d6000fd5b50506079546005860154600e870154606f546000908152607f602052604090206002908101546001600160a01b039485169650638969ab5395508a94938416939092169161171391906163d0565b6040518563ffffffff1660e01b81526004016117329493929190616395565b600060405180830381600087803b15801561174c57600080fd5b505af1158015611760573d6000803e3d6000fd5b505050505b606d80546001600160401b031690600061177e836163f2565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550504283600f01819055508582600001516001600160a01b03167f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e75622276876040516117ec91815260200190565b60405180910390a3505050505050565b607454600090849082906118219061181b90629896809060801b6163d0565b83613a34565b905060806001607f1b6072600201546298968061183e9190616312565b61184c84600160801b616312565b6118596298968089616415565b6118639190616415565b61186d91906163d0565b6118778885616415565b6118819190616346565b61188b9190616346565b901c9695505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036118df5760405162461bcd60e51b815260040161100e9061642c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611911613adc565b6001600160a01b0316146119375760405162461bcd60e51b815260040161100e90616466565b61194081613af8565b6040805160008082526020820190925261195c91839190613b33565b50565b6078546001600160a01b031690565b600080610f32565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036119be5760405162461bcd60e51b815260040161100e9061642c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166119f0613adc565b6001600160a01b031614611a165760405162461bcd60e51b815260040161100e90616466565b611a1f82613af8565b610f4a82826001613b33565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611ac65760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840161100e565b50600080516020616fd683398151915290565b60008060695411611afd5760405163ed4421ad60e01b815260040160405180910390fd5b611b0682613c9e565b15611b2457604051630efd728560e21b815260040160405180910390fd5b606954600090611b3884600160401b616415565b611b4291906163d0565b6072546298968090611b5890600160401b616415565b611b6291906163d0565b611b6c9190616312565b90506040611b7960715490565b607454611b899062989680616312565b629896806040611b998680616415565b607354911c90611bb090629896809060801b6163d0565b611bba91906163d0565b611bc49190616415565b611bce91906163d0565b611bd89190616415565b607554911c92508211611bed5760755461113f565b50919050565b600054610100900460ff16611c1a5760405162461bcd60e51b815260040161100e906164a0565b611c2381612591565b606580546001600160a01b0319166001600160a01b038516179055604051611c4f9083906020016162b5565b60408051601f198184030181529190528051602090910120606655505050565b611c77613806565b61195c816132ec565b611c88613cc5565b6111216000613d24565b611c9a612b3b565b61195c81613d76565b6000611cad613806565b611cb683614016565b611cd357604051630b72d6b160e31b815260040160405180910390fd5b60006002607654610100900460ff166003811115611cf357611cf36157f6565b03611d0157825b9050611d5e565b6001607654610100900460ff166003811115611d1f57611d1f6157f6565b03611d2e57611cfa84846141c4565b6003607654610100900460ff166003811115611d4c57611d4c6157f6565b03611d5e57611d5b848461426d565b90505b6000611d6861195f565b6001600160a01b031663477a5cc086306040518363ffffffff1660e01b8152600401611d959291906164eb565b602060405180830381865afa158015611db2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dd69190616505565b90508015611df6578160716000828254611df09190616346565b90915550505b7f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a858584604051611e2993929190616325565b60405180910390a1509392505050565b33611e4381614016565b611e6057604051630b72d6b160e31b815260040160405180910390fd5b611e6861195f565b6001600160a01b0316630d4a8b4982306040518363ffffffff1660e01b8152600401611e959291906164eb565b600060405180830381600087803b158015611eaf57600080fd5b505af1158015611ec3573d6000803e3d6000fd5b50505050611ecf61195f565b6001600160a01b0316637817ee4f82306040518363ffffffff1660e01b8152600401611efc9291906164eb565b602060405180830381865afa158015611f19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f3d9190616522565b60716000828254611f4e9190616346565b909155505050565b6000818152607b60205260408120600281015482908190611f7890849061446e565b91509150816000148015611f8a575080155b15611f9757826003015491505b6000611fa68460010154611ad9565b9092101595945050505050565b607d6020528160005260406000208181548110611fcf57600080fd5b90600052602060002001600091509150505481565b600080611ff96033546001600160a01b031690565b9050806001600160a01b03163b60000361201257919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561206c575060408051601f3d908101601f1916820190925261206991810190616378565b60015b610f3257919050565b61207d612b3b565b6110c8848484846144c6565b60745460009061209c9062989680616312565b6120a96298968084616415565b610f3291906163d0565b6120bb612b3b565b61195c816144de565b6040805180820190915260008152606060208201526000607b6000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054612119906162c8565b80601f0160208091040260200160405190810160405280929190818152602001828054612145906162c8565b80156121925780601f1061216757610100808354040283529160200191612192565b820191906000526020600020905b81548152906001019060200180831161217557829003601f168201915b505050505081525050915050919050565b6121ab612b3b565b6121b481614695565b607a80546001600160a01b0319166001600160a01b0392909216919091179055565b6121de613cc5565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b606060405163d623472560e01b815260040160405180910390fd5b6000858152607b6020908152604080832060108101548452607f8352818420825160c08101845281546001600160a01b0390811680835260018401549091169582019590955260028201549381019390935260038101546060840152600481015460808401526005015460a0830152916122a857604051636c291fd360e01b815260040160405180910390fd5b815488146122cc5760405163c1d17bef60e01b81526004810189905260240161100e565b6001600883015460ff1660068111156122e7576122e76157f6565b14612308576040516344980d8f60e01b81526004810189905260240161100e565b8060600151341015612334576060810151604051632c1f8ef160e21b815261100e91349160040161654b565b600f82015415801590612357575042611c2083600f01546123559190616346565b115b15612395578742611c2084600f01546123709190616346565b61237a9190616312565b604051638d2f6c3160e01b815260040161100e92919061654b565b60008160600151346123a79190616312565b607954606084015160405163240ff7c560e11b81529293506001600160a01b039091169163481fef8a91906123e2908d903390600401616559565b6000604051808303818588803b1580156123fb57600080fd5b505af115801561240f573d6000803e3d6000fd5b5050845160405163c13517e160e01b81526001600160a01b03909116935063c13517e1925084915061244a906003908b908b90600401616599565b60206040518083038185885af1158015612468573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061248d9190616522565b60088401805491955060059160ff19166001830217905550600c830184905542600d840155600e830180546001600160a01b031916331790556000848152607e602052604081208a9055606d80546001600160401b0316916124ee836165bc565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550507f034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d82600001518a86338c8c89600c016001015460405161255997969594939291906165ea565b60405180910390a150505095945050505050565b61195c816146bc565b6001600160a01b03166000908152607c602052604090205490565b600054610100900460ff166125b85760405162461bcd60e51b815260040161100e906164a0565b61195c81613d24565b600080600080600080600080600080600080607b60008e815260200190815260200160002090508060010154600014612606576126018160010154611ad9565b612609565b60005b93508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548b896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020548a601001549b509b509b509b509b509b509b509b509b509b509b505091939597999b90929496989a50565b60006126db60675460ff1690565b905090565b60016000828152607b602052604090206008015460ff166006811115612708576127086157f6565b14612729576040516344980d8f60e01b81526004810182905260240161100e565b6000818152607b60205260409020600501546001600160a01b03163314612782576000818152607b602052604090819020600501549051634544dc9160e11b815261100e916001600160a01b03169033906004016164eb565b6079546000828152607b6020908152604080832060058101546010909101548452607f9092529182902060020154915163099ea56b60e41b81526001600160a01b03938416936399ea56b0936127df938793921691600401616359565b600060405180830381600087803b1580156127f957600080fd5b505af115801561280d573d6000803e3d6000fd5b5050506000828152607b6020908152604091829020600801805460ff1916600317905590518381527f416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c9250015b60405180910390a150565b6000828152607b602090815260408083206001600160a01b038516845260090190915281205461113f565b612898612f4a565b6128a1826146fd565b606a54606c80546128ca926001600160a01b03169160006128c183616639565b9190505561474c565b607980546001600160a01b0319166001600160a01b039290921691821790556040805163204a7f0760e21b81529051638129fc1c9160048082019260009290919082900301818387803b15801561292057600080fd5b505af1158015612934573d6000803e3d6000fd5b5050505060008180602001905181019061294e91906167c5565b60a08101519091506001600160a01b031661297c57604051635df4b1ef60e01b815260040160405180910390fd5b60a0810151607880546001600160a01b0319166001600160a01b0390921691909117905560208101516076805460ff191660018360028111156129c1576129c16157f6565b021790555060408101516076805461ff0019166101008360038111156129e9576129e96157f6565b021790555060608101515160775560c0810151607a80546001600160a01b0319166001600160a01b039092169190911790556080810151815160408051600080825260208201908152818301909252612a439392916144c6565b7fa489767af337c1767e9c6949fc5a6d3a73bb69ea80a3e619c2e08b7b308d0bcf8382604051612a74929190616919565b60405180910390a1505050565b612a89612f4a565b612a91612f75565b612a9b828261479b565b610f4a82826147f7565b612aad613cc5565b6001600160a01b0381166125b85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161100e565b612b1a612f4a565b8060696000828254612b2c9190616346565b9091555061195c9050816148ea565b612b4361195f565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ba49190616378565b6001600160a01b0316336001600160a01b03161461112157604051637430763f60e11b815260040160405180910390fd5b60208201516001600160a01b031615801590612bfa575081516001600160a01b031615155b8015612ce35750606f546000908152607f6020908152604090912060010154908301516001600160a01b039081169116141580612c565750606f546000908152607f602052604090205482516001600160a01b03908116911614155b80612c7a5750606f546000908152607f602052604090819020600201549083015114155b80612c9d5750606f546000908152607f6020526040902060030154606083015114155b80612cc05750606f546000908152607f6020526040902060040154608083015114155b80612ce35750606f546000908152607f602052604090206005015460a083015114155b15612ef257602080830151606f546000908152607f9092526040909120600101546001600160a01b039081169116141580612d3d57508151606f546000908152607f60205260409020546001600160a01b03908116911614155b15612e06578151602083015160405163446adb9960e11b81526001600160a01b03909216916388d5b73291612d7491600401615cd7565b600060405180830381600087803b158015612d8e57600080fd5b505af1158015612da2573d6000803e3d6000fd5b5050835160208501516040517fdc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f9450612dfd9350309291906001600160a01b0393841681529183166020830152909116604082015260600190565b60405180910390a15b606f8054906000612e1683616639565b9091555050606f80546000908152607f6020908152604091829020855181546001600160a01b03199081166001600160a01b03928316908117845588850151600185018054909316931692831790915587850151600284018190556060808a0151600386018190556080808c01516004880181905560a0808e015160059099018990559a548a519081529889019590955297870194909452850152938301529281019190915260c08101919091527fe677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d539060e00160405180910390a15b805160725560208101516073556040808201516074556060820151607555517fec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc90612f3e9083906169f8565b60405180910390a15050565b6065546001600160a01b031633146111215760405163075fd2b160e01b815260040160405180910390fd5b60685460000361112157604051630f68fe6360e21b815260040160405180910390fd5b6000825111612fba57604051630317df1360e61b815260040160405180910390fd5b600082806020019051810190612fd09190616522565b905080600003612ff35760405163f881a10d60e01b815260040160405180910390fd5b6000818152607b60205260409020600160765460ff16600281111561301a5761301a6157f6565b0361329b57805482146130435760405163c1d17bef60e01b81526004810183905260240161100e565b6069548160010154111561307657818160010154606954604051632c31d85b60e11b815260040161100e93929190616a06565b6001600882015460ff166006811115613091576130916157f6565b146130b2576040516344980d8f60e01b81526004810183905260240161100e565b60006130bd836110ce565b905060006130ce8360010154611ad9565b905080821080156130e3575060008360010154115b156131015760405163199cf26160e31b815260040160405180910390fd5b60655460685460405163068bcd8d60e01b815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561314f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526131779190810190616aa9565b905083600101546069600082825461318f9190616312565b90915550506040810151600485015460018601546131b792916001600160a01b03169061491a565b60088401805460ff191660049081179091556079546005860154606f546000908152607f60205260409081902060020154905163099ea56b60e41b81526001600160a01b03938416946399ea56b094613217948c94911692909101616359565b600060405180830381600087803b15801561323157600080fd5b505af1158015613245573d6000803e3d6000fd5b505050600485015460018601546040517fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847935061328f9289926001600160a01b0390911691616359565b60405180910390a15050505b5050505050565b6001600160a01b03163b151590565b6000806132be848461446e565b915091508160001480156132d0575080155b156132db5750505050565b600784015560039092019190915550565b6132f461195f565b6001600160a01b0316637817ee4f82306040518363ffffffff1660e01b81526004016133219291906164eb565b602060405180830381865afa15801561333e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133629190616522565b607160008282546133739190616312565b90915550613381905061195f565b6001600160a01b03166322bcf99982306040518363ffffffff1660e01b81526004016133ae9291906164eb565b600060405180830381600087803b1580156133c857600080fd5b505af11580156133dc573d6000803e3d6000fd5b505050506133e981614954565b7f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b8160405161285a9190615cd7565b600061342382614016565b61344057604051630b72d6b160e31b815260040160405180910390fd5b6000838060200190518101906134569190616b5c565b805190915060000361347b5760405163273c8bc360e11b815260040160405180910390fd5b600160765460ff166002811115613494576134946157f6565b03613615576134a68160200151614695565b60608101516001600160a01b03166134d15760405163165a825360e21b815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613511573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135359190616378565b825160405163068bcd8d60e01b815260048101919091529091506000906001600160a01b0383169063068bcd8d90602401600060405180830381865afa158015613583573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526135ab9190810190616aa9565b905080604001516001600160a01b031683606001516001600160a01b0316146135e75760405163514e24c360e11b815260040160405180910390fd5b6135f48360400151613c9e565b1561361257604051630efd728560e21b815260040160405180910390fd5b50505b606f546000908152607f60205260409020546001600160a01b0316158015906136515750606f546000908152607f602052604090206002015434105b1561368757606f546000908152607f602052604090819020600201549051632c1f8ef160e21b815261100e91349160040161654b565b6000606e6000815461369890616639565b91829055506000818152607b602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b84019061374c9082616c50565b5050606f54601083015550607954600582015460405163240ff7c560e11b81526001600160a01b039283169263481fef8a9234926137909288921690600401616559565b6000604051808303818588803b1580156137a957600080fd5b505af11580156137bd573d6000803e3d6000fd5b50505050507ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b606854836040516137f592919061654b565b60405180910390a150949350505050565b6078546001600160a01b03163314611121576040516357848b5160e11b815260040160405180910390fd5b6000601261383d61195f565b6001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561387a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061389e9190616378565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156138f7575060408051601f3d908101601f191682019092526138f491810190616d0f565b60015b156139025760ff1690505b60008361390d61195f565b6001600160a01b0316632c611c4a876040518263ffffffff1660e01b81526004016139389190615cd7565b602060405180830381865afa158015613955573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139799190616522565b6139839190616312565b905060006139a461399584600a616e16565b61399f9084616415565b614ab5565b90506000816139b161195f565b6001600160a01b0316637817ee4f89306040518363ffffffff1660e01b81526004016139de9291906164eb565b602060405180830381865afa1580156139fb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a1f9190616522565b613a299190616312565b979650505050505050565b6000600160801b8310613a885760405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b604482015260640161100e565b50600160801b82825b8015613ad45780600116600003613ab657613aac8283614b9d565b915060011c613a91565b613ac08383614b9d565b9250613acd600182616312565b9050613a91565b505092915050565b600080516020616fd6833981519152546001600160a01b031690565b33613b01611fe4565b6001600160a01b03161461195c5733613b18611fe4565b60405163163678e960e01b815260040161100e9291906164eb565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615613b6657610f6983614c7a565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613bc0575060408051601f3d908101601f19168201909252613bbd91810190616522565b60015b613c235760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161100e565b600080516020616fd68339815191528114613c925760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161100e565b50610f69838383614d14565b6000613cad6298968083616415565b606954607254613cbd9190616415565b111592915050565b33613cce611fe4565b6001600160a01b0316146111215760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161100e565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000606854604051602001613d8b9190616e22565b604051602081830303815290604052805190602001209050613dab61195f565b6001600160a01b03166391d148548260006040518363ffffffff1660e01b8152600401613dd9929190616559565b602060405180830381865afa158015613df6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e1a9190616505565b15613e8857613e2761195f565b6001600160a01b031663d547741f8260006040518363ffffffff1660e01b8152600401613e55929190616559565b600060405180830381600087803b158015613e6f57600080fd5b505af1158015613e83573d6000803e3d6000fd5b505050505b60005b8251811015613fe257613e9c61195f565b6001600160a01b03166391d1485483858481518110613ebd57613ebd616e3f565b60200260200101516040518363ffffffff1660e01b8152600401613ee2929190616559565b602060405180830381865afa158015613eff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f239190616505565b613fd057613f2f61195f565b6001600160a01b0316632f2ff15d606854604051602001613f509190616e22565b60405160208183030381529060405280519060200120858481518110613f7857613f78616e3f565b60200260200101516040518363ffffffff1660e01b8152600401613f9d929190616559565b600060405180830381600087803b158015613fb757600080fd5b505af1158015613fcb573d6000803e3d6000fd5b505050505b80613fda81616639565b915050613e8b565b507f7a2e396a5614184c0af2c60827c206595126faa1238b94e19823192de52e728a60685483604051612f3e929190616e55565b607a546000906001600160a01b031661415157600060685460405160200161403e9190616e22565b60405160208183030381529060405280519060200120905061405e61195f565b6001600160a01b03166391d148548260006040518363ffffffff1660e01b815260040161408c929190616559565b602060405180830381865afa1580156140a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140cd9190616505565b156140db5750600192915050565b6140e361195f565b6001600160a01b03166391d1485482856040518363ffffffff1660e01b8152600401614110929190616559565b602060405180830381865afa15801561412d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113f9190616505565b607a546040516302154c3d60e51b81526001600160a01b03909116906342a987a09061418390859030906004016164eb565b602060405180830381865afa1580156141a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f329190616505565b600081816141d061195f565b6001600160a01b0316637817ee4f86306040518363ffffffff1660e01b81526004016141fd9291906164eb565b602060405180830381865afa15801561421a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061423e9190616522565b60775490915061424e8383616346565b111561426557607754614262908290616312565b91505b509392505050565b6000808261427961195f565b6001600160a01b0316632c611c4a866040518263ffffffff1660e01b81526004016142a49190615cd7565b602060405180830381865afa1580156142c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142e59190616522565b6142ef9190616346565b905060126142fb61195f565b6001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015614338573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061435c9190616378565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156143b5575060408051601f3d908101601f191682019092526143b291810190616d0f565b60015b156143c05760ff1690505b60006143da6143d083600a616e16565b61399f9085616415565b905060006143e661195f565b6001600160a01b0316637817ee4f88306040518363ffffffff1660e01b81526004016144139291906164eb565b602060405180830381865afa158015614430573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144549190616522565b905060006144628284616312565b98975050505050505050565b600080439050808460070154111561448857614488616e6e565b8084600701540361449e575060009050806144bf565b6144bc8460070154826144b19190616312565b8560030154856117fc565b91505b9250929050565b6144d08484612bd5565b6144d982613d76565b6110c8815b60005b8151811015614661576144f261195f565b6001600160a01b03166391d148546068546040516020016145139190616e22565b6040516020818303038152906040528051906020012084848151811061453b5761453b616e3f565b60200260200101516040518363ffffffff1660e01b8152600401614560929190616559565b602060405180830381865afa15801561457d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145a19190616505565b1561464f576145ae61195f565b6001600160a01b031663d547741f6068546040516020016145cf9190616e22565b604051602081830303815290604052805190602001208484815181106145f7576145f7616e3f565b60200260200101516040518363ffffffff1660e01b815260040161461c929190616559565b600060405180830381600087803b15801561463657600080fd5b505af115801561464a573d6000803e3d6000fd5b505050505b8061465981616639565b9150506144e1565b507fd418c93b6b78d828a87ee1909e6fcdbbf2f8d8f540ad7b232bb3e221e6d7cc1e6068548260405161285a929190616e55565b6001600160a01b03811661195c576040516303988b8160e61b815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200161285a565b614705612f4a565b606854156147265760405163439a74c960e01b815260040160405180910390fd5b8060000361474757604051637fcce2a960e01b815260040160405180910390fd5b606855565b6040516001600160601b03193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506147938482614d39565b949350505050565b6000828060200190518101906147b19190616e84565b905060005b81518110156110c8576147e58282815181106147d4576147d4616e3f565b602002602001015160000151614dd0565b806147ef81616639565b9150506147b6565b61480081614e8d565b61480981614016565b61482657604051630b72d6b160e31b815260040160405180910390fd5b600061483061195f565b6001600160a01b031663477a5cc083306040518363ffffffff1660e01b815260040161485d9291906164eb565b602060405180830381865afa15801561487a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061489e9190616505565b9050806148be57604051635fccb67f60e01b815260040160405180910390fd5b6000838060200190518101906148d49190616e84565b90506148e08382614f6e565b6110c88382615103565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f763399060200161285a565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161494957610f6982826154db565b610f698383836154f7565b6001600160a01b0381166000908152607d60209081526040808320805482518185028101850190935280835291929091908301828280156149b457602002820191906000526020600020905b8154815260200190600101908083116149a0575b5050505050905060005b8151811015610f695760008282815181106149db576149db616e3f565b602002602001015190506000607b60008381526020019081526020016000209050614a058261553d565b15614aa0576001600160a01b0385166000908152600982016020526040812080549082905560028301805491928392614a3f908490616312565b925050819055508060706000828254614a589190616312565b90915550614a68905082826132b1565b600080516020616ff68339815191528684600085600201548660030154604051614a96959493929190616f2e565b60405180910390a1505b50508080614aad90616639565b9150506149be565b600081600003614ac757506000919050565b60006001614ad484615576565b901c6001901b90506001818481614aed57614aed6163ba565b048201901c90506001818481614b0557614b056163ba565b048201901c90506001818481614b1d57614b1d6163ba565b048201901c90506001818481614b3557614b356163ba565b048201901c90506001818481614b4d57614b4d6163ba565b048201901c90506001818481614b6557614b656163ba565b048201901c90506001818481614b7d57614b7d6163ba565b048201901c905061113f81828581614b9757614b976163ba565b0461560a565b6000600160801b831115614c045760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b606482015260840161100e565b600160801b8210614c565760405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b604482015260640161100e565b60806001607f1b614c678486616415565b614c719190616346565b901c9392505050565b614c83816132a2565b614ce55760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161100e565b600080516020616fd683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b614d1d83615620565b600082511180614d2a5750805b15610f69576110c88383615660565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b038116610f325760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b604482015260640161100e565b6000818152607b6020526040812090600882015460ff166006811115614df857614df86157f6565b1480614e1c57506003600882015460ff166006811115614e1a57614e1a6157f6565b145b80614e3f57506004600882015460ff166006811115614e3d57614e3d6157f6565b145b80614e6257506006600882015460ff166006811115614e6057614e606157f6565b145b15610f4a5760088101546040516394d57ead60e01b815261100e91849160ff90911690600401616f5c565b6001600160a01b038116614eb457604051631a3e505160e31b815260040160405180910390fd5b6078546001600160a01b0316614edd57604051635df4b1ef60e01b815260040160405180910390fd5b614ee561195f565b6001600160a01b031663a230c524826040518263ffffffff1660e01b8152600401614f109190615cd7565b602060405180830381865afa158015614f2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614f519190616505565b61195c57604051636a5cfb6d60e01b815260040160405180910390fd5b6000805b825181101561502b57828181518110614f8d57614f8d616e3f565b60200260200101516000015160000315615019576000838281518110614fb557614fb5616e3f565b6020026020010151600001519050614fcc8161553d565b614fec5760405163c1d17bef60e01b81526004810182905260240161100e565b838281518110614ffe57614ffe616e3f565b602002602001015160200151836150159190616f79565b9250505b8061502381616639565b915050614f72565b50600061504061503a85612576565b83615685565b9050600061504c61195f565b6001600160a01b0316637817ee4f86306040518363ffffffff1660e01b81526004016150799291906164eb565b602060405180830381865afa158015615096573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906150ba9190616522565b9050808211156150e1578181604051636b20c17f60e11b815260040161100e92919061654b565b506001600160a01b039093166000908152607c60205260409020929092555050565b606060005b82518110156110c857600083828151811061512557615125616e3f565b60200260200101516000015190508251600003615181576040805160018082528183019092529060208083019080368337019050509250808360008151811061517057615170616e3f565b6020026020010181815250506152b4565b6000805b84518110156151e157828582815181106151a1576151a1616e3f565b6020026020010151036151cf57600191508281604051632b7aec5560e21b815260040161100e92919061654b565b806151d981616639565b915050615185565b50806152b2576000845160016151f79190616346565b6001600160401b0381111561520e5761520e615957565b604051908082528060200260200182016040528015615237578160200160208202803683370190505b50905060005b855181101561528f5785818151811061525857615258616e3f565b602002602001015182828151811061527257615272616e3f565b60209081029190910101528061528781616639565b91505061523d565b5082818651815181106152a4576152a4616e3f565b602090810291909101015293505b505b60008483815181106152c8576152c8616e3f565b6020908102919091018101518101516000848152607b835260408082206001600160a01b038b168352600981019094528120549193506153088285615685565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607d60205260409020548110156153a15784546001600160a01b038c166000908152607d6020526040902080548390811061537657615376616e3f565b90600052602060002001540361538f57600191506153a1565b8061539981616639565b91505061532a565b50806153d7576001600160a01b038a166000908152607d6020908152604082208654815460018101835591845291909220909101555b818311615427576153e88383616312565b607060008282546153f99190616346565b9091555061540990508383616312565b84600201600082825461541c9190616346565b9091555061546b9050565b6154318284616312565b607060008282546154429190616312565b9091555061545290508284616312565b8460020160008282546154659190616312565b90915550505b8360070154600003615482574360078501556154c2565b61548c84846132b1565b600080516020616ff68339815191528a8784876002015488600301546040516154b9959493929190616f2e565b60405180910390a15b50505050505080806154d390616639565b915050615108565b60008060008084865af1610f4a5763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d156001600051141716615533576390b8ec186000526004601cfd5b6000603452505050565b6000818152607b602052604081205415801590610f325750506000908152607b60205260409020600501546001600160a01b0316151590565b600080608083901c1561558b57608092831c92015b604083901c1561559d57604092831c92015b602083901c156155af57602092831c92015b601083901c156155c157601092831c92015b600883901c156155d357600892831c92015b600483901c156155e557600492831c92015b600283901c156155f757600292831c92015b600183901c15610f325760010192915050565b6000818310615619578161113f565b5090919050565b61562981614c7a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061113f8383604051806060016040528060278152602001617016602791396156bc565b6000806156928385616f79565b9050600081121561113f57838382604051631dde38a160e11b815260040161100e93929190616a06565b6060600080856001600160a01b0316856040516156d99190616f99565b600060405180830381855af49150503d8060008114615714576040519150601f19603f3d011682016040523d82523d6000602084013e615719565b606091505b509150915061572a86838387615734565b9695505050505050565b606083156157a157825160000361579a5761574e856132a2565b61579a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161100e565b5081614793565b61479383838151156157b65781518083602001fd5b8060405162461bcd60e51b815260040161100e91906162b5565b6000602082840312156157e257600080fd5b5035919050565b6001600160a01b03169052565b634e487b7160e01b600052602160045260246000fd5b6007811061195c5761195c6157f6565b60005b8381101561583757818101518382015260200161581f565b50506000910152565b6000815180845261585881602086016020860161581c565b601f01601f19169290920160200192915050565b8051825260006020820151604060208501526147936040850182615840565b60006101e08f83528e60208401528d60408401528c606084015260018060a01b03808d166080850152808c1660a0850152808b1660c08501528960e08501526158d38961580c565b88610100850152816101208501526158ed8285018961586c565b875161014086015260208801516101608601526040909701511661018084015250506101a08101929092526101c0909101529a9950505050505050505050565b60006020828403121561593f57600080fd5b81356001600160e01b03198116811461113f57600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b038111828210171561598f5761598f615957565b60405290565b604051608081016001600160401b038111828210171561598f5761598f615957565b60405161010081016001600160401b038111828210171561598f5761598f615957565b604080519081016001600160401b038111828210171561598f5761598f615957565b60405160a081016001600160401b038111828210171561598f5761598f615957565b604051601f8201601f191681016001600160401b0381118282101715615a4657615a46615957565b604052919050565b6001600160a01b038116811461195c57600080fd5b600060c08284031215615a7557600080fd5b615a7d61596d565b90508135615a8a81615a4e565b81526020820135615a9a81615a4e565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b600060808284031215615ae157600080fd5b615ae9615995565b90508135815260208201356020820152604082013560408201526060820135606082015292915050565b6000806101408385031215615b2757600080fd5b615b318484615a63565b9150615b408460c08501615acf565b90509250929050565b60006001600160401b03821115615b6257615b62615957565b5060051b60200190565b600082601f830112615b7d57600080fd5b81356020615b92615b8d83615b49565b615a1e565b82815260059290921b84018101918181019086841115615bb157600080fd5b8286015b84811015615bd5578035615bc881615a4e565b8352918301918301615bb5565b509695505050505050565b60006001600160401b03821115615bf957615bf9615957565b50601f01601f191660200190565b6000615c15615b8d84615be0565b9050828152838383011115615c2957600080fd5b828260208301376000602084830101529392505050565b600082601f830112615c5157600080fd5b61113f83833560208501615c07565b600080600060608486031215615c7557600080fd5b83356001600160401b0380821115615c8c57600080fd5b615c9887838801615b6c565b94506020860135915080821115615cae57600080fd5b50615cbb86828701615c40565b9250506040840135615ccc81615a4e565b809150509250925092565b6001600160a01b0391909116815260200190565b600080600060608486031215615d0057600080fd5b8335615d0b81615a4e565b92506020840135615d1b81615a4e565b91506040840135615ccc81615a4e565b60008060408385031215615d3e57600080fd5b82356001600160401b03811115615d5457600080fd5b615d6085828601615c40565b9250506020830135615d7181615a4e565b809150509250929050565b60048110615d8c57615d8c6157f6565b9052565b60208101610f328284615d7c565b60008060408385031215615db157600080fd5b8235615dbc81615a4e565b946020939093013593505050565b60008060408385031215615ddd57600080fd5b50508035926020909101359150565b600080600060608486031215615e0157600080fd5b505081359360208301359350604090920135919050565b60038110615d8c57615d8c6157f6565b60208101610f328284615e18565b600060208284031215615e4857600080fd5b813561113f81615a4e565b60008060408385031215615e6657600080fd5b8235615e7181615a4e565b915060208301356001600160401b03811115615e8c57600080fd5b615e9885828601615c40565b9150509250929050565b600080600060608486031215615eb757600080fd5b8335615ec281615a4e565b925060208401356001600160401b03811115615edd57600080fd5b8401601f81018613615eee57600080fd5b615cbb86823560208401615c07565b600060208284031215615f0f57600080fd5b81356001600160401b03811115615f2557600080fd5b61479384828501615b6c565b6000806000806101808587031215615f4857600080fd5b615f528686615a63565b9350615f618660c08701615acf565b92506101408501356001600160401b0380821115615f7e57600080fd5b615f8a88838901615b6c565b9350610160870135915080821115615fa157600080fd5b50615fae87828801615b6c565b91505092959194509250565b60208152600061113f602083018461586c565b60008060408385031215615fe057600080fd5b82356001600160401b0380821115615ff757600080fd5b61600386838701615b6c565b935060209150818501358181111561601a57600080fd5b8501601f8101871361602b57600080fd5b8035616039615b8d82615b49565b81815260059190911b8201840190848101908983111561605857600080fd5b8584015b83811015616090578035868111156160745760008081fd5b6160828c8983890101615c40565b84525091860191860161605c565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b828110156160ec57815180516001600160a01b031685528601518685015292840192908501906001016160be565b5091979650505050505050565b60008083601f84011261610b57600080fd5b5081356001600160401b0381111561612257600080fd5b6020830191508360208285010111156144bf57600080fd5b60008060008060006060868803121561615257600080fd5b8535945060208601356001600160401b038082111561617057600080fd5b61617c89838a016160f9565b9096509450604088013591508082111561619557600080fd5b506161a2888289016160f9565b969995985093965092949392505050565b801515811461195c57600080fd5b6000602082840312156161d357600080fd5b813561113f816161b3565b6001600160a01b038c811682528b811660208301528a166040820152606081018990526080810188905261016081016162168861580c565b8760a08301528660c08301528560e08301528461010083015283610120830152826101408301529c9b505050505050505050505050565b6000806040838503121561626057600080fd5b823591506020830135615d7181615a4e565b6020810161627f8361580c565b91905290565b6000806040838503121561629857600080fd5b8235915060208301356001600160401b03811115615e8c57600080fd5b60208152600061113f6020830184615840565b600181811c908216806162dc57607f821691505b602082108103611bed57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610f3257610f326162fc565b6001600160a01b039390931683526020830191909152604082015260600190565b80820180821115610f3257610f326162fc565b9283526001600160a01b03919091166020830152604082015260600190565b60006020828403121561638a57600080fd5b815161113f81615a4e565b9384526001600160a01b03928316602085015291166040830152606082015260800190565b634e487b7160e01b600052601260045260246000fd5b6000826163ed57634e487b7160e01b600052601260045260246000fd5b500490565b60006001600160401b0382168061640b5761640b6162fc565b6000190192915050565b8082028115828204841417610f3257610f326162fc565b6020808252602c90820152600080516020616fb683398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020616fb683398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0392831681529116602082015260400190565b60006020828403121561651757600080fd5b815161113f816161b3565b60006020828403121561653457600080fd5b5051919050565b805161654681615a4e565b919050565b918252602082015260400190565b9182526001600160a01b0316602082015260400190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8381526040602082015260006165b3604083018486616570565b95945050505050565b60006001600160401b038281166002600160401b031981016165e0576165e06162fc565b6001019392505050565b6001600160a01b03888116825260208201889052604082018790528516606082015260c0608082018190526000906166259083018587616570565b90508260a083015298975050505050505050565b60006001820161664b5761664b6162fc565b5060010190565b60006080828403121561666457600080fd5b61666c615995565b90508151815260208201516020820152604082015160408201526060820151606082015292915050565b80516003811061654657600080fd5b80516004811061654657600080fd5b6000602082840312156166c657600080fd5b604051602081016001600160401b03811182821017156166e8576166e8615957565b6040529151825250919050565b600060c0828403121561670757600080fd5b61670f61596d565b9050815161671c81615a4e565b8152602082015161672c81615a4e565b8060208301525060408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b600082601f83011261677257600080fd5b81516020616782615b8d83615b49565b82815260059290921b840181019181810190868411156167a157600080fd5b8286015b84811015615bd55780516167b881615a4e565b83529183019183016167a5565b6000602082840312156167d757600080fd5b81516001600160401b03808211156167ee57600080fd5b90830190610200828603121561680357600080fd5b61680b6159b7565b6168158684616652565b815261682360808401616696565b602082015261683460a084016166a5565b60408201526168468660c085016166b4565b60608201526168588660e085016166f5565b608082015261686a6101a0840161653b565b60a082015261687c6101c0840161653b565b60c08201526101e08301518281111561689457600080fd5b6168a087828601616761565b60e08301525095945050505050565b805182526020810151602083015260408101516040830152606081015160608301525050565b600081518084526020808501945080840160005b8381101561690e5781516001600160a01b0316875295820195908201906001016168e9565b509495945050505050565b828152604060208201526169316040820183516168af565b6000602083015161694560c0840182615e18565b50604083015161695860e0840182615d7c565b506060838101515161010084015260808085015180516001600160a01b039081166101208701526020820151166101408601526040810151610160860152918201516101808501528101516101a084015260a0908101516101c08401528301516169c66101e08401826157e9565b5060c08301516102006169db818501836157e9565b60e0850151915080610220850152506165b36102408401826168d5565b60808101610f3282846168af565b9283526020830191909152604082015260600190565b600060408284031215616a2e57600080fd5b616a366159da565b8251815260208301519091506001600160401b03811115616a5657600080fd5b8201601f81018413616a6757600080fd5b8051616a75615b8d82615be0565b818152856020838501011115616a8a57600080fd5b616a9b82602083016020860161581c565b602084015250909392505050565b600060208284031215616abb57600080fd5b81516001600160401b0380821115616ad257600080fd5b9083019060c08286031215616ae657600080fd5b616aee61596d565b825181526020830151616b0081615a4e565b60208201526040830151616b1381615a4e565b6040820152606083015182811115616b2a57600080fd5b616b3687828601616a1c565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b600060208284031215616b6e57600080fd5b81516001600160401b0380821115616b8557600080fd5b9083019060a08286031215616b9957600080fd5b616ba16159fc565b825181526020830151616bb381615a4e565b6020820152604083810151908201526060830151616bd081615a4e565b6060820152608083015182811115616be757600080fd5b616bf387828601616a1c565b60808301525095945050505050565b601f821115610f6957600081815260208120601f850160051c81016020861015616c295750805b601f850160051c820191505b81811015616c4857828155600101616c35565b505050505050565b81516001600160401b03811115616c6957616c69615957565b616c7d81616c7784546162c8565b84616c02565b602080601f831160018114616cb25760008415616c9a5750858301515b600019600386901b1c1916600185901b178555616c48565b600085815260208120601f198616915b82811015616ce157888601518255948401946001909101908401616cc2565b5085821015616cff5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215616d2157600080fd5b815160ff8116811461113f57600080fd5b600181815b80851115616d6d578160001904821115616d5357616d536162fc565b80851615616d6057918102915b93841c9390800290616d37565b509250929050565b600082616d8457506001610f32565b81616d9157506000610f32565b8160018114616da75760028114616db157616dcd565b6001915050610f32565b60ff841115616dc257616dc26162fc565b50506001821b610f32565b5060208310610133831016604e8410600b8410161715616df0575081810a610f32565b616dfa8383616d32565b8060001904821115616e0e57616e0e6162fc565b029392505050565b600061113f8383616d75565b6810531313d5d31254d560ba1b8152600981019190915260290190565b634e487b7160e01b600052603260045260246000fd5b82815260406020820152600061479360408301846168d5565b634e487b7160e01b600052600160045260246000fd5b60006020808385031215616e9757600080fd5b82516001600160401b03811115616ead57600080fd5b8301601f81018513616ebe57600080fd5b8051616ecc615b8d82615b49565b81815260069190911b82018301908381019087831115616eeb57600080fd5b928401925b82841015613a295760408489031215616f095760008081fd5b616f116159da565b845181528585015186820152825260409093019290840190616ef0565b6001600160a01b03959095168552602085019390935260408401919091526060830152608082015260a00190565b82815260408101616f6c8361580c565b8260208301529392505050565b8082018281126000831280158216821582161715613ad457613ad46162fc565b60008251616fab81846020870161581c565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212206e0b78f9a57310b9c3110f23f93be3b039c5e60639e3ebaff07fa61ccf7ca99b64736f6c63430008130033608060405234801561001057600080fd5b50600160005561070c806100256000396000f3fe6080604052600436106100555760003560e01c8063481fef8a1461005a5780638129fc1c1461006f5780638630da1d146100845780638969ab53146100cf5780638da5cb5b146100ef57806399ea56b014610127575b600080fd5b61006d6100683660046105b8565b610147565b005b34801561007b57600080fd5b5061006d610204565b34801561009057600080fd5b506100bc61009f3660046105b8565b600160209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b3480156100db57600080fd5b5061006d6100ea3660046105e4565b610241565b3480156100fb57600080fd5b5060025461010f906001600160a01b031681565b6040516001600160a01b0390911681526020016100c6565b34801561013357600080fd5b5061006d610142366004610628565b6103cc565b6002546001600160a01b031633146101725760405163ea8e4eb560e01b815260040160405180910390fd5b61017a610543565b60008281526001602090815260408083206001600160a01b0385168452909152812080543492906101ac908490610673565b92505081905550806001600160a01b03167feec2f3feb835e2f2fd44281034b04700a1ddda63dd402949d470a25a7c40b36c83346040516101ee92919061068c565b60405180910390a26102006001600055565b5050565b6002546001600160a01b03161561022d5760405162dc149f60e41b815260040160405180910390fd5b600280546001600160a01b03191633179055565b6002546001600160a01b0316331461026c5760405163ea8e4eb560e01b815260040160405180910390fd5b610274610543565b60008481526001602090815260408083206001600160a01b0387168452909152902054808211156102c5578181604051632c1f8ef160e21b81526004016102bc92919061068c565b60405180910390fd5b60008581526001602090815260408083206001600160a01b0388168452909152812080548492906102f790849061069a565b90915550506040516000906001600160a01b0385169084908381818185875af1925050503d8060008114610347576040519150601f19603f3d011682016040523d82523d6000602084013e61034c565b606091505b505090508061036d5760405162461bcd60e51b81526004016102bc906106ad565b836001600160a01b0316856001600160a01b03167f354da53cd88eb0936caa11700c1928b13f3f2803cca6f4f464ceff3b4bd7d38e88866040516103b292919061068c565b60405180910390a350506103c66001600055565b50505050565b6002546001600160a01b031633146103f75760405163ea8e4eb560e01b815260040160405180910390fd5b6103ff610543565b60008381526001602090815260408083206001600160a01b038616845290915290205480821115610447578181604051632c1f8ef160e21b81526004016102bc92919061068c565b60008481526001602090815260408083206001600160a01b03871684529091528120805484929061047990849061069a565b90915550506040516000906001600160a01b0385169084908381818185875af1925050503d80600081146104c9576040519150601f19603f3d011682016040523d82523d6000602084013e6104ce565b606091505b50509050806104ef5760405162461bcd60e51b81526004016102bc906106ad565b836001600160a01b03167f7c5e5cb62e5ed3caf3764e4b0afedfedef533e27809d43367799787ad2abcd41868560405161052a92919061068c565b60405180910390a2505061053e6001600055565b505050565b6002600054036105955760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102bc565b6002600055565b80356001600160a01b03811681146105b357600080fd5b919050565b600080604083850312156105cb57600080fd5b823591506105db6020840161059c565b90509250929050565b600080600080608085870312156105fa57600080fd5b8435935061060a6020860161059c565b92506106186040860161059c565b9396929550929360600135925050565b60008060006060848603121561063d57600080fd5b8335925061064d6020850161059c565b9150604084013590509250925092565b634e487b7160e01b600052601160045260246000fd5b808201808211156106865761068661065d565b92915050565b918252602082015260400190565b818103818111156106865761068661065d565b6020808252600f908201526e151c985b9cd9995c8819985a5b1959608a1b60408201526060019056fea2646970667358221220191821446eeeb6f0deeaf3c10fb556db7a4628e3bed672939316a4559eeede8864736f6c63430008130033608060405234801561001057600080fd5b50613183806100206000396000f3fe6080604052600436106101f75760003560e01c806301ffc9a7146101fc578063031e2fa114610231578063068bcd8d14610253578063075c0e9c1461028057806315e812ad146102a05780631a20bd88146102bf5780631a5da6c8146102ec578063248a9ca31461030c57806324ae6a271461032c578063256929621461034c57806329e40d4b146103545780632cf682b0146103745780632ec38188146103945780632f2ff15d146103a757806336568abe146103c75780633a5fbd92146103e75780633b19e84a1461040757806341bba0b4146104255780634edbaadc1461044557806354d1f13d1461045a5780635ab1bd53146104625780635acd6fac146104805780635f9ca13814610493578063715018a6146104b357806377da8caf146104bb5780637f51bb1f146104ce5780637f5a70bd146104ee5780638da5cb5b1461050e5780638e6901861461052757806391d1485414610547578063a0cf0aea14610567578063a217fddf1461058f578063a6b63eb8146105a4578063ab2ec589146105c4578063ab3febc6146105e4578063c6dff1cf14610604578063cfc0cc3414610624578063d547741f1461065d578063e1007d4a1461067d578063f04e283e14610690578063f2fde38b146106a3578063f4e1fc41146106b6578063f54fc4a0146106d1578063fee81cf4146106f1575b600080fd5b34801561020857600080fd5b5061021c6102173660046125af565b610724565b60405190151581526020015b60405180910390f35b34801561023d57600080fd5b5061025161024c3660046125ee565b61075b565b005b34801561025f57600080fd5b5061027361026e36600461260b565b6107be565b6040516102289190612693565b61029361028e3660046127b8565b6108d1565b60405161022891906127fe565b3480156102ac57600080fd5b5060ca545b604051908152602001610228565b3480156102cb57600080fd5b506102df6102da3660046128c4565b61096e565b60405161022891906129b6565b3480156102f857600080fd5b506102516103073660046125ee565b610af4565b34801561031857600080fd5b506102b161032736600461260b565b610b08565b34801561033857600080fd5b506102516103473660046129c9565b610b1d565b610251610bd1565b34801561036057600080fd5b5061021c61036f366004612a02565b610c20565b34801561038057600080fd5b5061025161038f366004612a02565b610c33565b6102516103a23660046127b8565b610c80565b3480156103b357600080fd5b506102516103c2366004612a02565b610ca0565b3480156103d357600080fd5b506102516103e2366004612a02565b610cbc565b3480156103f357600080fd5b50610251610402366004612a8b565b610d3b565b34801561041357600080fd5b5060cc546001600160a01b0316610293565b34801561043157600080fd5b506102516104403660046125ee565b610dc3565b34801561045157600080fd5b5060c9546102b1565b610251610e45565b34801561046e57600080fd5b5060cd546001600160a01b0316610293565b61025161048e366004612af7565b610e81565b34801561049f57600080fd5b506102516104ae366004612b9b565b611018565b610251611095565b6102b16104c9366004612bd7565b6110a9565b3480156104da57600080fd5b506102516104e93660046125ee565b61112c565b3480156104fa57600080fd5b50610251610509366004612a02565b61113d565b34801561051a57600080fd5b50638b78c6d81954610293565b34801561053357600080fd5b5061025161054236600461260b565b611163565b34801561055357600080fd5b5061021c610562366004612a02565b611174565b34801561057357600080fd5b5061029373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561059b57600080fd5b506102b1600081565b3480156105b057600080fd5b506102516105bf366004612c99565b61119f565b3480156105d057600080fd5b5061021c6105df3660046125ee565b6112ae565b3480156105f057600080fd5b5061021c6105ff366004612a02565b6112b9565b34801561061057600080fd5b5061025161061f366004612cf4565b6112c5565b34801561063057600080fd5b5061029361063f36600461260b565b600090815260cf60205260409020600101546001600160a01b031690565b34801561066957600080fd5b50610251610678366004612a02565b61134a565b6102b161068b366004612bd7565b611366565b61025161069e3660046125ee565b6113d1565b6102516106b13660046125ee565b61140e565b3480156106c257600080fd5b50670de0b6b3a76400006102b1565b3480156106dd57600080fd5b506102516106ec36600461260b565b611435565b3480156106fd57600080fd5b506102b161070c3660046125ee565b63389a75e1600c908152600091909152602090205490565b60006001600160e01b03198216637965db0b60e01b148061075557506301ffc9a760e01b6001600160e01b03198316145b92915050565b610763611446565b6001600160a01b038116600090815260d0602052604090819020805460ff19169055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4906107b39083906127fe565b60405180910390a150565b6107c6612549565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b0390811682850152600283015416818501528351808501909452600382018054855260048301805492959394606087019493908401919061083090612d80565b80601f016020809104026020016040519081016040528092919081815260200182805461085c90612d80565b80156108a95780601f1061087e576101008083540402835291602001916108a9565b820191906000526020600020905b81548152906001019060200180831161088c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b60006108db611461565b600083815260cf6020526040908190206001015490516315df065760e11b81526001600160a01b0390911690632bbe0cae90349061091f9086903390600401612dba565b60206040518083038185885af115801561093d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109629190612de4565b90506107556001609755565b6060610978611461565b8251806001600160401b03811115610992576109926126fb565b6040519080825280602002602001820160405280156109bb578160200160208202803683370190505b509150825181146109df5760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610ae85760cf6000868381518110610a0057610a00612e01565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610a4d57610a4d612e01565b6020026020010151336040518363ffffffff1660e01b8152600401610a73929190612dba565b6020604051808303816000875af1158015610a92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab69190612de4565b838281518110610ac857610ac8612e01565b6001600160a01b03909216602092830291909101909101526001016109e2565b50506107556001609755565b610afc611446565b610b05816114ba565b50565b60009081526065602052604090206001015490565b610b25611446565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610bbd576040516370a0823160e01b81526001600160a01b038416906370a0823190610b779030906004016127fe565b602060405180830381865afa158015610b94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb89190612e17565b610bbf565b475b9050610bcc83838361152c565b505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610c2c8383611566565b9392505050565b81610c3d81611592565b6001600160a01b038216610c645760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610bcc90836115b9565b610c88611461565b610c92828261163f565b610c9c6001609755565b5050565b610ca982610b08565b610cb2816116b9565b610bcc83836115b9565b6001600160a01b0381163314610d315760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b610c9c82826116c3565b610d43611461565b600083815260cf602052604090819020600101549051630a6f0ee960e01b81526001600160a01b0390911690630a6f0ee990610d8790859085903390600401612e30565b600060405180830381600087803b158015610da157600080fd5b505af1158015610db5573d6000803e3d6000fd5b50505050610bcc6001609755565b610dcb611446565b6001600160a01b038116610df25760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600090815260d0602052604090819020805460ff19166001179055517f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d1906107b39083906127fe565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b610e89611461565b80600003610eaa576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b0390811682860152600283015416818401528251808401909352600382018054845260048301805492959394606087019490939084019190610f1490612d80565b80601f0160208091040260200160405190810160405280929190818152602001828054610f4090612d80565b8015610f8d5780601f10610f6257610100808354040283529160200191610f8d565b820191906000526020600020905b815481529060010190602001808311610f7057829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015610fe05750348214155b15610ffe576040516303e09bb960e31b815260040160405180910390fd5b61100d8284836020015161172a565b50610c9c6001609755565b81611022816119dc565b600083815260cf60209081526040909120835160038201908155918401519091849160048401906110539082612ebc565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf0846040516110879190612f7b565b60405180910390a250505050565b61109d611446565b6110a760006119e6565b565b60006110b3611461565b6110bc87611a12565b6110d95760405163126d324760e31b815260040160405180910390fd5b33600090815260ce602052604081208054611115928b9261110b928c9290919061110283612fa4565b91905055611a30565b8888888888611a7f565b90506111216001609755565b979650505050505050565b611134611446565b610b0581611f63565b8161114781611592565b600083815260cf6020526040902060050154610bcc90836116c3565b61116b611446565b610b0581611fd6565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600054600190610100900460ff161580156111c1575060005460ff8083169116105b6112245760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610d28565b6000805461ffff191660ff8316176101001790556112418661200b565b61124a856114ba565b61125384611f63565b61125c83612035565b61126582611fd6565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b600061075582611a12565b6000610c2c8383612093565b6112cd611461565b8051829081146112f05760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561133e5761133685858381811061131057611310612e01565b9050602002013584838151811061132957611329612e01565b602002602001015161163f565b6001016112f3565b5050610bcc6001609755565b61135382610b08565b61135c816116b9565b610bcc83836116c3565b60006001600160a01b03871661138f5760405163538ba4f960e01b815260040160405180910390fd5b61139887611a12565b156113b65760405163eeffa72160e01b815260040160405180910390fd5b6113c588888888888888611a7f565b98975050505050505050565b6113d9611446565b63389a75e1600c52806000526020600c20805442111561140157636f5e88186000526004601cfd5b60009055610b05816119e6565b611416611446565b8060601b61142c57637448fbae6000526004601cfd5b610b05816119e6565b61143d611446565b610b0581612035565b638b78c6d8195433146110a7576382b429006000526004601cfd5b6002609754036114b35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610d28565b6002609755565b6001600160a01b0381166114e15760405163538ba4f960e01b815260040160405180910390fd5b60cd80546001600160a01b0319166001600160a01b0383161790556040517fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906107b39083906127fe565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161155b57610bcc82826120af565b610bcc8383836120cb565b600082815260cf60205260408120600501546115829083611174565b80610c2c5750610c2c8383612093565b61159c8133612093565b610b055760405163075fd2b160e01b815260040160405180910390fd5b6115c38282611174565b610c9c5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556115fb3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf602052604090819020600101549051633bca483f60e21b81526001600160a01b039091169063ef2920fc9034906116839085903390600401612dba565b6000604051808303818588803b15801561169c57600080fd5b505af11580156116b0573d6000803e3d6000fd5b50505050505050565b610b058133612111565b6116cd8282611174565b15610c9c5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b0316901561187b57670de0b6b3a764000060c9546117689089612fbd565b6117729190612fd4565b935061177e8484612ff6565b92508661178b8486613009565b146117a957604051637fcce2a960e01b815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611803576040805160608101825233815260cc546001600160a01b031660208201529081018590526117fd90829061216a565b5061187b565b60cc5460009061181d9083906001600160a01b03166121e9565b6040805160608101825233815260cc546001600160a01b0316602082015290810187905290915061184f90839061216a565b5060cc5460009061186a9084906001600160a01b03166121e9565b90506118768282612ff6565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038216016118dc576118d6816040518060600160405280336001600160a01b03168152602001886001600160a01b031681526020018681525061216a565b5061193e565b60006118e882876121e9565b9050611920826040518060600160405280336001600160a01b03168152602001896001600160a01b031681526020018781525061216a565b50600061192d83886121e9565b90506119398282612ff6565b945050505b60405163f5b0dfb760e01b8152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b15801561198057600080fd5b505af1158015611994573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b61159c8133611566565b638b78c6d81980546001600160a01b0390921691829060008051602061312e833981519152600080a355565b6001600160a01b0316600090815260d0602052604090205460ff1690565b6040516001600160601b03193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611a778482612232565b949350505050565b60cd54604051635e8a791560e01b8152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611acf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611af3919061301c565b611b105760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611b1f90612fa4565b91829055506040519091508190600090611b4f9083906020019081526430b236b4b760d91b602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf8752969096208751815591516001830180549185166001600160a01b031992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611c029082612ebc565b5050506080820151600582015560a090910151600690910155611c2582336115b9565b611c2f83836122c9565b604051633b7451b360e21b81526001600160a01b038b169063edd146cc90611c5d9087908d9060040161303e565b600060405180830381600087803b158015611c7757600080fd5b505af1158015611c8b573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf29190612e17565b141580611d725750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d669190612de4565b6001600160a01b031614155b15611d905760405163636e39bb60e01b815260040160405180910390fd5b845160005b81811015611e01576000878281518110611db157611db1612e01565b6020026020010151905060006001600160a01b0316816001600160a01b031603611dee5760405163538ba4f960e01b815260040160405180910390fd5b611df886826115b9565b50600101611d95565b5060ca5415611f04576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015611e435750348860ca54611e409190613009565b14155b80611e7857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14801590611e7857503460ca5414155b15611e96576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca54611ec79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b039091169061152c565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca54604051611efb91815260200190565b60405180910390a25b8715611f1557611f1588868d61172a565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c604051611f4c9493929190613057565b60405180910390a350505050979650505050505050565b6001600160a01b038116611f8a5760405163538ba4f960e01b815260040160405180910390fd5b60cc80546001600160a01b0319166001600160a01b0383169081179091556040517f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d1916107b3916127fe565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c3906020016107b3565b6001600160a01b0316638b78c6d81981905580600060008051602061312e8339815191528180a350565b670de0b6b3a764000081111561205e57604051632fb15b8760e01b815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b065906020016107b3565b600082815260cf6020526040812060060154610c2c9083611174565b60008060008084865af1610c9c5763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d156001600051141716612107576390b8ec186000526004601cfd5b6000603452505050565b61211b8282611174565b610c9c576121288161231c565b61213383602061232e565b604051602001612144929190613094565b60408051601f198184030181529082905262461bcd60e51b8252610d2891600401613103565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038516016121cb57803410156121b8576040516374c5672b60e01b815260040160405180910390fd5b6121c68360200151826120af565b6121df565b6121df8484600001518560200151846124c9565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161222157506001600160a01b03811631610755565b61222b838361251d565b9050610755565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166107555760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606401610d28565b60006122d483610b08565b600084815260656020526040808220600101859055519192508391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606107556001600160a01b03831660145b6060600061233d836002612fbd565b612348906002613009565b6001600160401b0381111561235f5761235f6126fb565b6040519080825280601f01601f191660200182016040528015612389576020820181803683370190505b509050600360fc1b816000815181106123a4576123a4612e01565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106123d3576123d3612e01565b60200101906001600160f81b031916908160001a90535060006123f7846002612fbd565b612402906001613009565b90505b600181111561247a576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061243657612436612e01565b1a60f81b82828151811061244c5761244c612e01565b60200101906001600160f81b031916908160001a90535060049490941c9361247381613116565b9050612405565b508315610c2c5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610d28565b60405181606052826040528360601b602c526323b872dd60601b600c52602060006064601c6000895af13d15600160005114171661250f57637939f4246000526004601cfd5b600060605260405250505050565b6000816014526370a0823160601b60005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b0316815260200161259b604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156125c157600080fd5b81356001600160e01b031981168114610c2c57600080fd5b6001600160a01b0381168114610b0557600080fd5b60006020828403121561260057600080fd5b8135610c2c816125d9565b60006020828403121561261d57600080fd5b5035919050565b60005b8381101561263f578181015183820152602001612627565b50506000910152565b60008151808452612660816020860160208601612624565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611a776040850182612648565b60208152815160208201526000602083015160018060a01b0380821660408501528060408601511660608501525050606083015160c060808401526126db60e0840182612674565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715612739576127396126fb565b604052919050565b60006001600160401b0383111561275a5761275a6126fb565b61276d601f8401601f1916602001612711565b905082815283838301111561278157600080fd5b828260208301376000602084830101529392505050565b600082601f8301126127a957600080fd5b610c2c83833560208501612741565b600080604083850312156127cb57600080fd5b8235915060208301356001600160401b038111156127e857600080fd5b6127f485828601612798565b9150509250929050565b6001600160a01b0391909116815260200190565b60006001600160401b0382111561282b5761282b6126fb565b5060051b60200190565b600082601f83011261284657600080fd5b8135602061285b61285683612812565b612711565b82815260059290921b8401810191818101908684111561287a57600080fd5b8286015b848110156128b95780356001600160401b0381111561289d5760008081fd5b6128ab8986838b0101612798565b84525091830191830161287e565b509695505050505050565b600080604083850312156128d757600080fd5b82356001600160401b03808211156128ee57600080fd5b818501915085601f83011261290257600080fd5b8135602061291261285683612812565b82815260059290921b8401810191818101908984111561293157600080fd5b948201945b8386101561294f57853582529482019490820190612936565b9650508601359250508082111561296557600080fd5b506127f485828601612835565b600081518084526020808501945080840160005b838110156129ab5781516001600160a01b031687529582019590820190600101612986565b509495945050505050565b602081526000610c2c6020830184612972565b600080604083850312156129dc57600080fd5b82356129e7816125d9565b915060208301356129f7816125d9565b809150509250929050565b60008060408385031215612a1557600080fd5b8235915060208301356129f7816125d9565b600082601f830112612a3857600080fd5b81356020612a4861285683612812565b82815260059290921b84018101918181019086841115612a6757600080fd5b8286015b848110156128b9578035612a7e816125d9565b8352918301918301612a6b565b600080600060608486031215612aa057600080fd5b8335925060208401356001600160401b0380821115612abe57600080fd5b612aca87838801612a27565b93506040860135915080821115612ae057600080fd5b50612aed86828701612798565b9150509250925092565b60008060408385031215612b0a57600080fd5b50508035926020909101359150565b600060408284031215612b2b57600080fd5b604080519081016001600160401b038082118383101715612b4e57612b4e6126fb565b81604052829350843583526020850135915080821115612b6d57600080fd5b508301601f81018513612b7f57600080fd5b612b8e85823560208401612741565b6020830152505092915050565b60008060408385031215612bae57600080fd5b8235915060208301356001600160401b03811115612bcb57600080fd5b6127f485828601612b19565b600080600080600080600060e0888a031215612bf257600080fd5b873596506020880135612c04816125d9565b955060408801356001600160401b0380821115612c2057600080fd5b612c2c8b838c01612798565b965060608a01359150612c3e826125d9565b9094506080890135935060a08901359080821115612c5b57600080fd5b612c678b838c01612b19565b935060c08a0135915080821115612c7d57600080fd5b50612c8a8a828b01612a27565b91505092959891949750929550565b600080600080600060a08688031215612cb157600080fd5b8535612cbc816125d9565b94506020860135612ccc816125d9565b93506040860135612cdc816125d9565b94979396509394606081013594506080013592915050565b600080600060408486031215612d0957600080fd5b83356001600160401b0380821115612d2057600080fd5b818601915086601f830112612d3457600080fd5b813581811115612d4357600080fd5b8760208260051b8501011115612d5857600080fd5b602092830195509350908501359080821115612d7357600080fd5b50612aed86828701612835565b600181811c90821680612d9457607f821691505b602082108103612db457634e487b7160e01b600052602260045260246000fd5b50919050565b604081526000612dcd6040830185612648565b905060018060a01b03831660208301529392505050565b600060208284031215612df657600080fd5b8151610c2c816125d9565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612e2957600080fd5b5051919050565b606081526000612e436060830186612972565b8281036020840152612e558186612648565b91505060018060a01b0383166040830152949350505050565b601f821115610bcc57600081815260208120601f850160051c81016020861015612e955750805b601f850160051c820191505b81811015612eb457828155600101612ea1565b505050505050565b81516001600160401b03811115612ed557612ed56126fb565b612ee981612ee38454612d80565b84612e6e565b602080601f831160018114612f1e5760008415612f065750858301515b600019600386901b1c1916600185901b178555612eb4565b600085815260208120601f198616915b82811015612f4d57888601518255948401946001909101908401612f2e565b5085821015612f6b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610c2c6020830184612674565b634e487b7160e01b600052601160045260246000fd5b600060018201612fb657612fb6612f8e565b5060010190565b808202811582820484141761075557610755612f8e565b600082612ff157634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561075557610755612f8e565b8082018082111561075557610755612f8e565b60006020828403121561302e57600080fd5b81518015158114610c2c57600080fd5b828152604060208201526000611a776040830184612648565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061308a90830184612674565b9695505050505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516130c6816017850160208801612624565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516130f7816028840160208801612624565b01602801949350505050565b602081526000610c2c6020830184612648565b60008161312557613125612f8e565b50600019019056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a26469706673582212203a4380bc3fb868d19befbc16d55e5ef45050bf58534276da47ba14491904f40264736f6c63430008130033608060405234801561001057600080fd5b50612b10806100206000396000f3fe60806040523480156200001157600080fd5b50600436106200015a5760003560e01c80630114cf0a146200015f57806301ffc9a7146200018e5780630ec1fbac14620001b6578063248a9ca314620001cd5780632497f3c614620001f357806324ae6a27146200020c5780632f2ff15d146200022357806336568abe146200023a57806339b86b8c14620002515780633a92f65f14620002685780633b66dacd146200027f5780634756487f14620002965780635063f36114620002b957806350d005e014620002d05780635e8a7915146200030b57806391d148541462000322578063a0cf0aea1462000339578063a217fddf1462000355578063ac402839146200035e578063c4d66de81462000375578063cf189ff2146200038c578063cfda7e0a14620003a3578063d547741f14620003ba578063dd93da4314620003d1578063e0cf1e4c14620003e8578063ee88819614620003ff575b600080fd5b620001766200017036600462001948565b6200042a565b604051620001859190620019df565b60405180910390f35b620001a56200019f36600462001a61565b620005e1565b604051901515815260200162000185565b620001a5620001c736600462001aaa565b62000619565b620001e4620001de36600462001948565b6200062e565b60405190815260200162000185565b6200020a6200020436600462001948565b62000643565b005b6200020a6200021d36600462001ad9565b62000702565b6200020a6200023436600462001aaa565b620007fb565b6200020a6200024b36600462001aaa565b62000822565b620001a56200026236600462001aaa565b620008a8565b620001e46200027936600462001ccd565b620008b6565b6200020a6200029036600462001aaa565b62000b41565b620001e4620002a736600462001d7b565b60976020526000908152604090205481565b6200020a620002ca36600462001d99565b62000ba8565b620002fc620002e136600462001948565b6099602052600090815260409020546001600160a01b031681565b60405162000185919062001de3565b620001a56200031c36600462001aaa565b62000c34565b620001a56200033336600462001aaa565b62000c55565b620002fc73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b620001e4600081565b6200020a6200036f36600462001df7565b62000c80565b6200020a6200038636600462001d7b565b62000cf3565b620002fc6200039d36600462001e37565b62000e17565b620001e460008051602062002abb83398151915281565b6200020a620003cb36600462001aaa565b62000ed8565b62000176620003e236600462001d7b565b62000efa565b6200020a620003f936600462001d99565b620010c3565b620004166200041036600462001948565b6200110e565b604051620001859695949392919062001e77565b62000434620018e5565b609860008381526020019081526020016000206040518060c00160405290816000820154815260200160018201548152602001600282018054620004789062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620004a69062001ed3565b8015620004f75780601f10620004cb57610100808354040283529160200191620004f7565b820191906000526020600020905b815481529060010190602001808311620004d957829003601f168201915b5050505050815260200160038201604051806040016040529081600082015481526020016001820180546200052c9062001ed3565b80601f01602080910402602001604051908101604052809291908181526020018280546200055a9062001ed3565b8015620005ab5780601f106200057f57610100808354040283529160200191620005ab565b820191906000526020600020905b8154815290600101906020018083116200058d57829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60006001600160e01b03198216637965db0b60e01b14806200061357506301ffc9a760e01b6001600160e01b03198316145b92915050565b60006200062783836200128e565b9392505050565b60009081526065602052604090206001015490565b60008181526098602090815260408083206099909252909120546001600160a01b03163381146200068757604051630b4d48c160e41b815260040160405180910390fd5b6005820180546001600160a01b038084166001600160a01b03199283161783556000868152609960205260409081902080549093169092559154905185927ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d92620006f59291169062001de3565b60405180910390a2505050565b60008051602062002abb8339815191526200071d816200129c565b6001600160a01b038216620007455760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14620007e4576040516370a0823160e01b81526001600160a01b038516906370a08231906200079a90309060040162001de3565b602060405180830381865afa158015620007b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007de919062001f0f565b620007e6565b475b9050620007f5848483620012ab565b50505050565b62000806826200062e565b62000811816200129c565b6200081d8383620012ea565b505050565b6001600160a01b0381163314620008985760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b620008a4828262001374565b5050565b6000620006278383620013de565b600080620008c5878562001402565b6000818152609860205260409020600601549091506001600160a01b0316156200090257604051630527e05960e41b815260040160405180910390fd5b6001600160a01b0384166200092a5760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b031681526020016200096a848a6200144c565b6001600160a01b03169052600083815260986020908152604091829020835181559083015160018201559082015191925082916002820190620009ae908262001f7b565b50606082015180516003830190815560208201516004840190620009d3908262001f7b565b50505060808201516005820180546001600160a01b03199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000a4757506001600160a01b0386163314155b1562000a665760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000add57600086828151811062000a895762000a8962002047565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000ac75760405163538ba4f960e01b815260040160405180910390fd5b62000ad38582620012ea565b5060010162000a69565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000b2c9594939291906200205d565b60405180910390a25090979650505050505050565b8162000b4d8162001627565b6000838152609960205260409081902080546001600160a01b0319166001600160a01b0385161790555183907f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c890620006f590859062001de3565b8162000bb48162001627565b815160005b8181101562000c2d57600084828151811062000bd95762000bd962002047565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c175760405163538ba4f960e01b815260040160405180910390fd5b62000c238682620012ea565b5060010162000bb9565b5050505050565b600062000c428383620013de565b806200062757506200062783836200128e565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b8162000c8c8162001627565b6000838152609860209081526040909120835160038201908155918401518492916004019062000cbd908262001f7b565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f383604051620006f59190620020b2565b600054600190610100900460ff1615801562000d16575060005460ff8083169116105b62000d7b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200088f565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000db75760405163538ba4f960e01b815260040160405180910390fd5b62000dd260008051602062002abb83398151915283620012ea565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000e258162001627565b62000e3184846200144c565b60008581526098602052604090209092506002810162000e52858262001f7b565b506006810180546001600160a01b0390811660009081526097602052604080822082905583546001600160a01b0319169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062000ec89087908790620020c7565b60405180910390a2505092915050565b62000ee3826200062e565b62000eee816200129c565b6200081d838362001374565b62000f04620018e5565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c08101835281548152600182015493810193909352600281018054919284019162000f599062001ed3565b80601f016020809104026020016040519081016040528092919081815260200182805462000f879062001ed3565b801562000fd85780601f1062000fac5761010080835404028352916020019162000fd8565b820191906000526020600020905b81548152906001019060200180831162000fba57829003601f168201915b5050505050815260200160038201604051806040016040529081600082015481526020016001820180546200100d9062001ed3565b80601f01602080910402602001604051908101604052809291908181526020018280546200103b9062001ed3565b80156200108c5780601f1062001060576101008083540402835291602001916200108c565b820191906000526020600020905b8154815290600101906020018083116200106e57829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620010cf8162001627565b815160005b8181101562000c2d576200110585858381518110620010f757620010f762002047565b602002602001015162001374565b600101620010d4565b60986020526000908152604090208054600182015460028301805492939192620011389062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620011669062001ed3565b8015620011b75780601f106200118b57610100808354040283529160200191620011b7565b820191906000526020600020905b8154815290600101906020018083116200119957829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620011e89062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620012169062001ed3565b8015620012675780601f106200123b5761010080835404028352916020019162001267565b820191906000526020600020905b8154815290600101906020018083116200124957829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b600062000627838362000c55565b620012a8813362001651565b50565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03841601620012dd576200081d8282620016b5565b6200081d838383620016d2565b620012f6828262000c55565b620008a45760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620013303390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b62001380828262000c55565b15620008a45760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600091825260986020526040909120600501546001600160a01b0391821691161490565b600082826040516020016200142e92919091825260601b6001600160601b031916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001464929190620020f3565b6040516020818303038152906040529050600084306040516020016200148c9291906200210e565b6040516020818303038152906040529050600060405180602001620014b1906200193a565b601f1982820381018352601f909101166040819052620014d79190849060200162002125565b60408051601f198184030181529082905284516020868101919091208251828401206001600160f81b0319928501929092526001600160601b03193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c905081883060405162001561906200193a565b6200156e9291906200210e565b8190604051809103906000f590508015620015865760015b620016195787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620015cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015f1919062001f0f565b146200161057604051630113b81f60e41b815260040160405180910390fd5b8095506200161c565b95505b505050505092915050565b620016338133620013de565b620012a85760405163075fd2b160e01b815260040160405180910390fd5b6200165d828262000c55565b620008a4576200166d8162001719565b6200167a8360206200172c565b6040516020016200168d92919062002158565b60408051601f198184030181529082905262461bcd60e51b82526200088f91600401620021cb565b60008060008084865af1620008a45763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d1560016000511417166200170f576390b8ec186000526004601cfd5b6000603452505050565b6060620006136001600160a01b03831660145b606060006200173d836002620021f6565b6200174a90600262002210565b6001600160401b0381111562001764576200176462001b08565b6040519080825280601f01601f1916602001820160405280156200178f576020820181803683370190505b509050600360fc1b81600081518110620017ad57620017ad62002047565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110620017df57620017df62002047565b60200101906001600160f81b031916908160001a905350600062001805846002620021f6565b6200181290600162002210565b90505b600181111562001894576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106200184a576200184a62002047565b1a60f81b82828151811062001863576200186362002047565b60200101906001600160f81b031916908160001a90535060049490941c936200188c8162002226565b905062001815565b508315620006275760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200088f565b6040518060c0016040528060008019168152602001600081526020016060815260200162001926604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b61087a806200224183390190565b6000602082840312156200195b57600080fd5b5035919050565b60005b838110156200197f57818101518382015260200162001965565b50506000910152565b60008151808452620019a281602086016020860162001962565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152620019d7604085018262001988565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001a1160e084018262001988565b90506060840151601f1984830301608085015262001a308282620019b6565b60808601516001600160a01b0390811660a0878101919091529096015190951660c090940193909352509192915050565b60006020828403121562001a7457600080fd5b81356001600160e01b0319811681146200062757600080fd5b80356001600160a01b038116811462001aa557600080fd5b919050565b6000806040838503121562001abe57600080fd5b8235915062001ad06020840162001a8d565b90509250929050565b6000806040838503121562001aed57600080fd5b62001af88362001a8d565b915062001ad06020840162001a8d565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171562001b495762001b4962001b08565b604052919050565b600082601f83011262001b6357600080fd5b81356001600160401b0381111562001b7f5762001b7f62001b08565b62001b94601f8201601f191660200162001b1e565b81815284602083860101111562001baa57600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001bda57600080fd5b604080519081016001600160401b03808211838310171562001c005762001c0062001b08565b8160405282935084358352602085013591508082111562001c2057600080fd5b5062001c2f8582860162001b51565b6020830152505092915050565b600082601f83011262001c4e57600080fd5b813560206001600160401b0382111562001c6c5762001c6c62001b08565b8160051b62001c7d82820162001b1e565b928352848101820192828101908785111562001c9857600080fd5b83870192505b8483101562001cc25762001cb28362001a8d565b8252918301919083019062001c9e565b979650505050505050565b600080600080600060a0868803121562001ce657600080fd5b8535945060208601356001600160401b038082111562001d0557600080fd5b62001d1389838a0162001b51565b9550604088013591508082111562001d2a57600080fd5b62001d3889838a0162001bc7565b945062001d486060890162001a8d565b9350608088013591508082111562001d5f57600080fd5b5062001d6e8882890162001c3c565b9150509295509295909350565b60006020828403121562001d8e57600080fd5b620006278262001a8d565b6000806040838503121562001dad57600080fd5b8235915060208301356001600160401b0381111562001dcb57600080fd5b62001dd98582860162001c3c565b9150509250929050565b6001600160a01b0391909116815260200190565b6000806040838503121562001e0b57600080fd5b8235915060208301356001600160401b0381111562001e2957600080fd5b62001dd98582860162001bc7565b6000806040838503121562001e4b57600080fd5b8235915060208301356001600160401b0381111562001e6957600080fd5b62001dd98582860162001b51565b86815285602082015260c06040820152600062001e9860c083018762001988565b828103606084015262001eac8187620019b6565b6001600160a01b0395861660808501529390941660a0909201919091525095945050505050565b600181811c9082168062001ee857607f821691505b60208210810362001f0957634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121562001f2257600080fd5b5051919050565b601f8211156200081d57600081815260208120601f850160051c8101602086101562001f525750805b601f850160051c820191505b8181101562001f735782815560010162001f5e565b505050505050565b81516001600160401b0381111562001f975762001f9762001b08565b62001faf8162001fa8845462001ed3565b8462001f29565b602080601f83116001811462001fe7576000841562001fce5750858301515b600019600386901b1c1916600185901b17855562001f73565b600085815260208120601f198616915b82811015620020185788860151825594840194600190910190840162001ff7565b5085821015620020375787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200207860a083018762001988565b82810360408401526200208c8187620019b6565b6001600160a01b0395861660608501529390941660809092019190915250949350505050565b602081526000620006276020830184620019b6565b604081526000620020dc604083018562001988565b905060018060a01b03831660208301529392505050565b828152604060208201526000620019d7604083018462001988565b9182526001600160a01b0316602082015260400190565b600083516200213981846020880162001962565b8351908301906200214f81836020880162001962565b01949350505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516200218c81601785016020880162001962565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351620021bf81602884016020880162001962565b01602801949350505050565b60208152600062000627602083018462001988565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620006135762000613620021e0565b80820180821115620006135762000613620021e0565b600081620022385762002238620021e0565b50600019019056fe60c060405234801561001057600080fd5b5060405161087a38038061087a83398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516107c86100b26000396000818160b7015261024201526000818161013d015261027101526107c86000f3fe6080604052600436106100645760003560e01c806301ffc9a71461007057806308386eba146100a5578063150b7a02146100e75780637b1039991461012b578063b61d27f614610177578063bc197c81146101a4578063f23a6e61146101d057600080fd5b3661006b57005b600080fd5b34801561007c57600080fd5b5061009061008b3660046103b2565b6101fc565b60405190151581526020015b60405180910390f35b3480156100b157600080fd5b506100d97f000000000000000000000000000000000000000000000000000000000000000081565b60405190815260200161009c565b3480156100f357600080fd5b506101126101023660046104b4565b630a85bd0160e11b949350505050565b6040516001600160e01b0319909116815260200161009c565b34801561013757600080fd5b5061015f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161009c565b34801561018357600080fd5b5061019761019236600461051b565b610233565b60405161009c9190610595565b3480156101b057600080fd5b506101126101bf366004610647565b63bc197c8160e01b95945050505050565b3480156101dc57600080fd5b506101126101eb3660046106f0565b63f23a6e6160e01b95945050505050565b60006001600160e01b03198216630271189760e51b148061022d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b604051630e6e1ae360e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa1580156102c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e49190610754565b6103015760405163075fd2b160e01b815260040160405180910390fd5b6001600160a01b038416610328576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516103449190610776565b60006040518083038185875af1925050503d8060008114610381576040519150601f19603f3d011682016040523d82523d6000602084013e610386565b606091505b5091509150816103a9576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b6000602082840312156103c457600080fd5b81356001600160e01b0319811681146103dc57600080fd5b9392505050565b80356001600160a01b03811681146103fa57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561043d5761043d6103ff565b604052919050565b600082601f83011261045657600080fd5b81356001600160401b0381111561046f5761046f6103ff565b610482601f8201601f1916602001610415565b81815284602083860101111561049757600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156104ca57600080fd5b6104d3856103e3565b93506104e1602086016103e3565b92506040850135915060608501356001600160401b0381111561050357600080fd5b61050f87828801610445565b91505092959194509250565b60008060006060848603121561053057600080fd5b610539846103e3565b92506020840135915060408401356001600160401b0381111561055b57600080fd5b61056786828701610445565b9150509250925092565b60005b8381101561058c578181015183820152602001610574565b50506000910152565b60208152600082518060208401526105b4816040850160208701610571565b601f01601f19169190910160400192915050565b600082601f8301126105d957600080fd5b813560206001600160401b038211156105f4576105f46103ff565b8160051b610603828201610415565b928352848101820192828101908785111561061d57600080fd5b83870192505b8483101561063c57823582529183019190830190610623565b979650505050505050565b600080600080600060a0868803121561065f57600080fd5b610668866103e3565b9450610676602087016103e3565b935060408601356001600160401b038082111561069257600080fd5b61069e89838a016105c8565b945060608801359150808211156106b457600080fd5b6106c089838a016105c8565b935060808801359150808211156106d657600080fd5b506106e388828901610445565b9150509295509295909350565b600080600080600060a0868803121561070857600080fd5b610711866103e3565b945061071f602087016103e3565b9350604086013592506060860135915060808601356001600160401b0381111561074857600080fd5b6106e388828901610445565b60006020828403121561076657600080fd5b815180151581146103dc57600080fd5b60008251610788818460208701610571565b919091019291505056fea264697066735822122053adece70c5f6926d272cd2677086ffef5b7422182a716a22c9c37321f13a3b364736f6c63430008130033815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747a26469706673582212202e02a09639d7475132a86eecb935e76ba6d5397d14a879f83d49c7d2ae0372f164736f6c63430008130033608060405234801561001057600080fd5b50610ebe806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631688f0b9146100675780632500510e1461017657806353e5d9351461024357806361b69abd146102c6578063addacc0f146103cb578063d18af54d1461044e575b600080fd5b61014a6004803603606081101561007d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156100ba57600080fd5b8201836020820111156100cc57600080fd5b803590602001918460018302840111640100000000831117156100ee57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919050505061057d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102176004803603606081101561018c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156101c957600080fd5b8201836020820111156101db57600080fd5b803590602001918460018302840111640100000000831117156101fd57600080fd5b909192939192939080359060200190929190505050610624565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61024b610751565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561028b578082015181840152602081019050610270565b50505050905090810190601f1680156102b85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61039f600480360360408110156102dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561031957600080fd5b82018360208201111561032b57600080fd5b8035906020019184600183028401116401000000008311171561034d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061077c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103d3610861565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104135780820151818401526020810190506103f8565b50505050905090810190601f1680156104405780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105516004803603608081101561046457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156104a157600080fd5b8201836020820111156104b357600080fd5b803590602001918460018302840111640100000000831117156104d557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061088c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600061058a848484610a3b565b90506000835111156105b25760008060008551602087016000865af114156105b157600080fd5b5b7f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2358185604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a19392505050565b60006106758585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505084610a3b565b905080604051602001808273ffffffffffffffffffffffffffffffffffffffff1660601b81526014019150506040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107165780820151818401526020810190506106fb565b50505050905090810190601f1680156107435780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60606040518060200161076390610bde565b6020820181038252601f19601f82011660405250905090565b60008260405161078b90610bde565b808273ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f0801580156107c7573d6000803e3d6000fd5b5090506000825111156107f05760008060008451602086016000865af114156107ef57600080fd5b5b7f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2358184604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a192915050565b60606040518060200161087390610beb565b6020820181038252601f19601f82011660405250905090565b6000808383604051602001808381526020018273ffffffffffffffffffffffffffffffffffffffff1660601b8152601401925050506040516020818303038152906040528051906020012060001c90506108e786868361057d565b9150600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610a32578273ffffffffffffffffffffffffffffffffffffffff16631e52b518838888886040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156109ca5780820151818401526020810190506109af565b50505050905090810190601f1680156109f75780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610a1957600080fd5b505af1158015610a2d573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600060405180602001610a8890610bde565b6020820181038252601f19601f820116604052508673ffffffffffffffffffffffffffffffffffffffff166040516020018083805190602001908083835b60208310610ae95780518252602082019150602081019050602083039250610ac6565b6001836020036101000a038019825116818451168082178552505050505050905001828152602001925050506040516020818303038152906040529050818151826020016000f59250600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bd5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f437265617465322063616c6c206661696c65640000000000000000000000000081525060200191505060405180910390fd5b50509392505050565b6101e680610bf883390190565b60ab80610dde8339019056fe608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f7669646564608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033a26469706673582212200c75fe2196b9f752c82794253f2ebce0d821afef5997e1d5a35ec316ce592f6664736f6c634300070600330000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d608060405234801561001057600080fd5b5060016004819055506159ae80620000296000396000f3fe6080604052600436106101dc5760003560e01c8063affed0e011610102578063e19a9dd911610095578063f08a032311610064578063f08a032314611647578063f698da2514611698578063f8dc5dd9146116c3578063ffa1ad741461173e57610231565b8063e19a9dd91461139b578063e318b52b146113ec578063e75235b81461147d578063e86637db146114a857610231565b8063cc2f8452116100d1578063cc2f8452146110e8578063d4d9bdcd146111b5578063d8d11f78146111f0578063e009cfde1461132a57610231565b8063affed0e014610d94578063b4faba0914610dbf578063b63e800d14610ea7578063c4ca3a9c1461101757610231565b80635624b25b1161017a5780636a761202116101495780636a761202146109945780637d83297414610b50578063934f3a1114610bbf578063a0e67e2b14610d2857610231565b80635624b25b146107fb5780635ae6bd37146108b9578063610b592514610908578063694e80c31461095957610231565b80632f54bf6e116101b65780632f54bf6e146104d35780633408e4701461053a578063468721a7146105655780635229073f1461067a57610231565b80630d582f131461029e57806312fb68e0146102f95780632d9ad53d1461046c57610231565b36610231573373ffffffffffffffffffffffffffffffffffffffff167f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d346040518082815260200191505060405180910390a2005b34801561023d57600080fd5b5060007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b905080548061027257600080f35b36600080373360601b365260008060143601600080855af13d6000803e80610299573d6000fd5b3d6000f35b3480156102aa57600080fd5b506102f7600480360360408110156102c157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117ce565b005b34801561030557600080fd5b5061046a6004803603608081101561031c57600080fd5b81019080803590602001909291908035906020019064010000000081111561034357600080fd5b82018360208201111561035557600080fd5b8035906020019184600183028401116401000000008311171561037757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156103da57600080fd5b8201836020820111156103ec57600080fd5b8035906020019184600183028401116401000000008311171561040e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050611bbe565b005b34801561047857600080fd5b506104bb6004803603602081101561048f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612440565b60405180821515815260200191505060405180910390f35b3480156104df57600080fd5b50610522600480360360208110156104f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612512565b60405180821515815260200191505060405180910390f35b34801561054657600080fd5b5061054f6125e4565b6040518082815260200191505060405180910390f35b34801561057157600080fd5b506106626004803603608081101561058857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156105cf57600080fd5b8201836020820111156105e157600080fd5b8035906020019184600183028401116401000000008311171561060357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506125f1565b60405180821515815260200191505060405180910390f35b34801561068657600080fd5b506107776004803603608081101561069d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156106e457600080fd5b8201836020820111156106f657600080fd5b8035906020019184600183028401116401000000008311171561071857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506127d7565b60405180831515815260200180602001828103825283818151815260200191508051906020019080838360005b838110156107bf5780820151818401526020810190506107a4565b50505050905090810190601f1680156107ec5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561080757600080fd5b5061083e6004803603604081101561081e57600080fd5b81019080803590602001909291908035906020019092919050505061280d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561087e578082015181840152602081019050610863565b50505050905090810190601f1680156108ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108c557600080fd5b506108f2600480360360208110156108dc57600080fd5b8101908080359060200190929190505050612894565b6040518082815260200191505060405180910390f35b34801561091457600080fd5b506109576004803603602081101561092b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128ac565b005b34801561096557600080fd5b506109926004803603602081101561097c57600080fd5b8101908080359060200190929190505050612c3e565b005b610b3860048036036101408110156109ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156109f257600080fd5b820183602082011115610a0457600080fd5b80359060200191846001830284011164010000000083111715610a2657600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610ab257600080fd5b820183602082011115610ac457600080fd5b80359060200191846001830284011164010000000083111715610ae657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612d78565b60405180821515815260200191505060405180910390f35b348015610b5c57600080fd5b50610ba960048036036040811015610b7357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506132b5565b6040518082815260200191505060405180910390f35b348015610bcb57600080fd5b50610d2660048036036060811015610be257600080fd5b810190808035906020019092919080359060200190640100000000811115610c0957600080fd5b820183602082011115610c1b57600080fd5b80359060200191846001830284011164010000000083111715610c3d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610ca057600080fd5b820183602082011115610cb257600080fd5b80359060200191846001830284011164010000000083111715610cd457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506132da565b005b348015610d3457600080fd5b50610d3d613369565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610d80578082015181840152602081019050610d65565b505050509050019250505060405180910390f35b348015610da057600080fd5b50610da9613512565b6040518082815260200191505060405180910390f35b348015610dcb57600080fd5b50610ea560048036036040811015610de257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610e1f57600080fd5b820183602082011115610e3157600080fd5b80359060200191846001830284011164010000000083111715610e5357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050613518565b005b348015610eb357600080fd5b506110156004803603610100811015610ecb57600080fd5b8101908080359060200190640100000000811115610ee857600080fd5b820183602082011115610efa57600080fd5b80359060200191846020830284011164010000000083111715610f1c57600080fd5b909192939192939080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610f6757600080fd5b820183602082011115610f7957600080fd5b80359060200191846001830284011164010000000083111715610f9b57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061353a565b005b34801561102357600080fd5b506110d26004803603608081101561103a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561108157600080fd5b82018360208201111561109357600080fd5b803590602001918460018302840111640100000000831117156110b557600080fd5b9091929391929390803560ff1690602001909291905050506136f8565b6040518082815260200191505060405180910390f35b3480156110f457600080fd5b506111416004803603604081101561110b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613820565b60405180806020018373ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019060200280838360005b838110156111a0578082015181840152602081019050611185565b50505050905001935050505060405180910390f35b3480156111c157600080fd5b506111ee600480360360208110156111d857600080fd5b8101908080359060200190929190505050613a12565b005b3480156111fc57600080fd5b50611314600480360361014081101561121457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561125b57600080fd5b82018360208201111561126d57600080fd5b8035906020019184600183028401116401000000008311171561128f57600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613bb1565b6040518082815260200191505060405180910390f35b34801561133657600080fd5b506113996004803603604081101561134d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613bde565b005b3480156113a757600080fd5b506113ea600480360360208110156113be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613f6f565b005b3480156113f857600080fd5b5061147b6004803603606081101561140f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613ff3565b005b34801561148957600080fd5b50611492614665565b6040518082815260200191505060405180910390f35b3480156114b457600080fd5b506115cc60048036036101408110156114cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561151357600080fd5b82018360208201111561152557600080fd5b8035906020019184600183028401116401000000008311171561154757600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061466f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561160c5780820151818401526020810190506115f1565b50505050905090810190601f1680156116395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561165357600080fd5b506116966004803603602081101561166a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614817565b005b3480156116a457600080fd5b506116ad614878565b6040518082815260200191505060405180910390f35b3480156116cf57600080fd5b5061173c600480360360608110156116e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506148f6565b005b34801561174a57600080fd5b50611753614d29565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015611793578082015181840152602081019050611778565b50505050905090810190601f1680156117c05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6117d6614d62565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156118405750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561187857503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6118ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506003600081548092919060010191905055507f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2682604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414611bba57611bb981612c3e565b5b5050565b611bd2604182614e0590919063ffffffff16565b82511015611c48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000808060008060005b8681101561243457611c648882614e3f565b80945081955082965050505060008460ff16141561206d578260001c9450611c96604188614e0590919063ffffffff16565b8260001c1015611d0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8751611d2760208460001c614e6e90919063ffffffff16565b1115611d9b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006020838a01015190508851611dd182611dc360208760001c614e6e90919063ffffffff16565b614e6e90919063ffffffff16565b1115611e45576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60606020848b010190506320c13b0b60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168773ffffffffffffffffffffffffffffffffffffffff166320c13b0b8d846040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611ee7578082015181840152602081019050611ecc565b50505050905090810190601f168015611f145780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611f4d578082015181840152602081019050611f32565b50505050905090810190601f168015611f7a5780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b158015611f9957600080fd5b505afa158015611fad573d6000803e3d6000fd5b505050506040513d6020811015611fc357600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614612066576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b50506122b2565b60018460ff161415612181578260001c94508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061210a57506000600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c81526020019081526020016000205414155b61217c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6122b1565b601e8460ff1611156122495760018a60405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018281526020019150506040516020818303038152906040528051906020012060048603858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612238573d6000803e3d6000fd5b5050506020604051035194506122b0565b60018a85858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156122a3573d6000803e3d6000fd5b5050506020604051035194505b5b5b8573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161180156123795750600073ffffffffffffffffffffffffffffffffffffffff16600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b80156123b25750600173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b612424576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323600000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8495508080600101915050611c52565b50505050505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff16600173ffffffffffffffffffffffffffffffffffffffff161415801561250b5750600073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156125dd5750600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000804690508091505090565b6000600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156126bc5750600073ffffffffffffffffffffffffffffffffffffffff16600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b61272e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61273b858585855a614e8d565b9050801561278b573373ffffffffffffffffffffffffffffffffffffffff167f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb860405160405180910390a26127cf565b3373ffffffffffffffffffffffffffffffffffffffff167facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37560405160405180910390a25b949350505050565b600060606127e7868686866125f1565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b606060006020830267ffffffffffffffff8111801561282b57600080fd5b506040519080825280601f01601f19166020018201604052801561285e5781602001600182028036833780820191505090505b50905060005b8381101561288957808501548060208302602085010152508080600101915050612864565b508091505092915050565b60076020528060005260406000206000915090505481565b6128b4614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561291e5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b612990576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612a91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b612c46614d62565b600354811115612cbe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001811015612d35576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b806004819055507f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c936004546040518082815260200191505060405180910390a150565b6000806000612d928e8e8e8e8e8e8e8e8e8e60055461466f565b905060056000815480929190600101919050555080805190602001209150612dbb8282866132da565b506000612dc6614ed9565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612fac578073ffffffffffffffffffffffffffffffffffffffff166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b8152600401808d73ffffffffffffffffffffffffffffffffffffffff1681526020018c8152602001806020018a6001811115612e6957fe5b81526020018981526020018881526020018781526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018473ffffffffffffffffffffffffffffffffffffffff16815260200183810383528d8d82818152602001925080828437600081840152601f19601f820116905080830192505050838103825285818151815260200191508051906020019080838360005b83811015612f3b578082015181840152602081019050612f20565b50505050905090810190601f168015612f685780820380516001836020036101000a031916815260200191505b509e505050505050505050505050505050600060405180830381600087803b158015612f9357600080fd5b505af1158015612fa7573d6000803e3d6000fd5b505050505b6101f4612fd36109c48b01603f60408d0281612fc457fe5b04614f0a90919063ffffffff16565b015a1015613049576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60005a90506130b28f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e60008d146130a7578e6130ad565b6109c45a035b614e8d565b93506130c75a82614f2490919063ffffffff16565b905083806130d6575060008a14155b806130e2575060008814155b613154576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008089111561316e5761316b828b8b8b8b614f44565b90505b84156131b8577f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e8482604051808381526020018281526020019250505060405180910390a16131f8565b7f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238482604051808381526020018281526020019250505060405180910390a15b5050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146132a4578073ffffffffffffffffffffffffffffffffffffffff16639327136883856040518363ffffffff1660e01b815260040180838152602001821515815260200192505050600060405180830381600087803b15801561328b57600080fd5b505af115801561329f573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6008602052816000526040600020602052806000526040600020600091509150505481565b6000600454905060008111613357576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61336384848484611bbe565b50505050565b6060600060035467ffffffffffffffff8111801561338657600080fd5b506040519080825280602002602001820160405280156133b55781602001602082028036833780820191505090505b50905060008060026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614613509578083838151811061346057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050818060010192505061341f565b82935050505090565b60055481565b600080825160208401855af4806000523d6020523d600060403e60403d016000fd5b6135858a8a80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050508961514a565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146135c3576135c28461564a565b5b6136118787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050615679565b600082111561362b5761362982600060018685614f44565b505b3373ffffffffffffffffffffffffffffffffffffffff167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b8960405180806020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281038252878782818152602001925060200280828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a250505050505050505050565b6000805a905061374f878787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050865a614e8d565b61375857600080fd5b60005a8203905080604051602001808281526020019150506040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156137e55780820151818401526020810190506137ca565b50505050905090810190601f1680156138125780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b606060008267ffffffffffffffff8111801561383b57600080fd5b5060405190808252806020026020018201604052801561386a5781602001602082028036833780820191505090505b509150600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561393d5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561394857508482105b15613a03578084838151811061395a57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081806001019250506138d3565b80925081845250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff16600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613b14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16817ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c60405160405180910390a350565b6000613bc68c8c8c8c8c8c8c8c8c8c8c61466f565b8051906020012090509b9a5050505050505050505050565b613be6614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015613c505750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b613cc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613dc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613f77614d62565b60007f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b90508181557f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa282604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613ffb614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156140655750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561409d57503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b61410f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614210576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561427a5750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6142ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146143ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a17f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1505050565b6000600454905090565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d60405180838380828437808301925050509250505060405180910390208c8c8c8c8c8c8c604051602001808c81526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a815260200189815260200188600181111561470057fe5b81526020018781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019b505050505050505050505050604051602081830303815290604052805190602001209050601960f81b600160f81b61478c614878565b8360405160200180857effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101847effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018381526020018281526020019450505050506040516020818303038152906040529150509b9a5050505050505050505050565b61481f614d62565b6148288161564a565b7f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a7946921860001b6148a66125e4565b30604051602001808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405160208183030381529060405280519060200120905090565b6148fe614d62565b806001600354031015614979576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156149e35750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b614a55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614b55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360008154809291906001900391905055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414614d2457614d2381612c3e565b5b505050565b6040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614614e03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b565b600080831415614e185760009050614e39565b6000828402905082848281614e2957fe5b0414614e3457600080fd5b809150505b92915050565b60008060008360410260208101860151925060408101860151915060ff60418201870151169350509250925092565b600080828401905083811015614e8357600080fd5b8091505092915050565b6000600180811115614e9b57fe5b836001811115614ea757fe5b1415614ec0576000808551602087018986f49050614ed0565b600080855160208701888a87f190505b95945050505050565b6000807f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b9050805491505090565b600081831015614f1a5781614f1c565b825b905092915050565b600082821115614f3357600080fd5b600082840390508091505092915050565b600080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614614f815782614f83565b325b9050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561509b57614fed3a8610614fca573a614fcc565b855b614fdf888a614e6e90919063ffffffff16565b614e0590919063ffffffff16565b91508073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050615096576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b615140565b6150c0856150b2888a614e6e90919063ffffffff16565b614e0590919063ffffffff16565b91506150cd8482846158b4565b61513f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5095945050505050565b6000600454146151c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8151811115615239576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60018110156152b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006001905060005b83518110156155b65760008482815181106152d057fe5b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156153445750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561537c57503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156153b457508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b615426576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614615527576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508092505080806001019150506152b9565b506001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550825160038190555081600481905550505050565b60007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b90508181555050565b600073ffffffffffffffffffffffffffffffffffffffff1660016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461577b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001806000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146158b05761583d8260008360015a614e8d565b6158af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5050565b60008063a9059cbb8484604051602401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050602060008251602084016000896127105a03f13d6000811461595b5760208114615963576000935061596e565b81935061596e565b600051158215171593505b505050939250505056fea26469706673582212203874bcf92e1722cc7bfa0cef1a0985cf0dc3485ba0663db3747ccdf1605df53464736f6c63430007060033885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12da26469706673582212205a12cbdfc4308cc8bddc1f73a99e00657e28c4a07f65c12cfea5127559d6b6f864736f6c63430008130033","sourceMap":"1027:9287:123:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:15;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;59688:179:125;;;;;;:::i;:::-;;:::i;:::-;;2429:119:15;;;:::i;718:28:125:-;;;;;-1:-1:-1;;;;;718:28:125;;;4045:101:15;;;:::i;56023:1145:125:-;;;;;;:::i;:::-;;:::i;1939:3563:123:-;;;:::i;226:92:15:-;306:4;226:92;;905:138;968:7;905:138;;2159:111:17;2244:19;;-1:-1:-1;;;;;2244:19:17;2159:111;;5508:634:123;;;:::i;:::-;;;3303:25:126;;;3291:2;3276:18;5508:634:123;3157:177:126;2572:97:17;2650:12;;2572:97;;889:167:125;;;;;;:::i;:::-;;:::i;3126:109:15:-;;;:::i;644:38:125:-;;681:1;644:38;;2554:113:15;;;:::i;2452:134:25:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;1015:43:118:-;;1050:8;1015:43;;2757:105:17;2839:16;;-1:-1:-1;;;;;2839:16:17;2757:105;;1413:437:118;;;;;;:::i;:::-;;:::i;877:109::-;;;:::i;:::-;;;;;;;;:::i;2276:97:17:-;2354:12;;2276:97;;3221:133:25;;;:::i;1064:50:118:-;;1107:7;1064:50;;2922:141:25;;;:::i;9170:46249:125:-;;;:::i;1331:118:15:-;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;828:25:125:-;;;;;;4152:99:15;;;:::i;2738:178:25:-;;;:::i;:::-;;;;;;;:::i;1876:107:15:-;;;:::i;689:23:125:-;;;;;-1:-1:-1;;;;;689:23:125;;;59529:153;;;;;;:::i;:::-;;:::i;9265:464:123:-;;;:::i;2792:241:15:-;;;:::i;7103:606:123:-;;;:::i;4376:105:15:-;;;:::i;788:34:125:-;;;;;;1989:232:15;;;:::i;610:85:17:-;;;:::i;2673:113:15:-;;;:::i;439:101::-;;;:::i;7871:285:123:-;;;:::i;2592:140:25:-;;;:::i;:::-;;;;;;;:::i;4747:638:118:-;;;;;;:::i;:::-;;:::i;753:29:125:-;;;;;-1:-1:-1;;;;;753:29:125;;;1537:101:15;;;:::i;3485:113::-;;;:::i;3069:146:25:-;;;:::i;8162:502:123:-;;;:::i;6411:686::-;;;:::i;4412:75:9:-;;4445:42;4412:75;;3604:241:15;;;:::i;6148:257:123:-;;;:::i;3938:101:15:-;;;:::i;2157:141:25:-;;;:::i;1243:204:21:-;;;:::i;:::-;;;13718:14:126;;13711:22;13693:41;;13681:2;13666:18;1243:204:21;13553:187:126;1170:7994:125;;;:::i;1492:49:123:-;;1530:11;1492:49;;59873:493:125;;;;;;:::i;:::-;;:::i;1856:1259:118:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2461:105:17:-;2543:16;;-1:-1:-1;;;;;2543:16:17;2461:105;;7715:150:123;;;:::i;555:83:125:-;;596:42;555:83;;1644:113:15;;;:::i;2314:109::-;;;:::i;468:81:125:-;;507:42;468:81;;4571:105:15;;;:::i;647:73:16:-;;;:::i;546:124:15:-;;;:::i;324:109::-;;;:::i;57174:1547:125:-;;;:::i;3121:1620:118:-;;;;;;:::i;:::-;;:::i;2304:142:25:-;;;:::i;6239:380:118:-;;;;;;:::i;:::-;;:::i;8670:589:123:-;;;:::i;3241:119:15:-;;;:::i;55425:396:125:-;;;;;;:::i;:::-;;:::i;9735:577:123:-;;;:::i;1016:26:32:-;;;;;;;;;1269:21:123;;;;;-1:-1:-1;;;;;1269:21:123;;;2050:103:17;2131:15;;2050:103;;1790:142:123;;;:::i;1763:107:15:-;1812:7;1838:25;;;;;;;;;;;;;;-1:-1:-1;;;1838:25:15;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;59688:179:125:-;59803:57;59814:12;59828:16;59846:3;59851:5;59858:1;59803:10;:57::i;:::-;59688:179;;;;:::o;2429:119:15:-;2484:7;2510:31;;;;;;;;;;;;;;-1:-1:-1;;;2510:31:15;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;-1:-1:-1;;;4117:22:15;;;:8;:22::i;56023:1145:125:-;56255:16;;56122:4;;-1:-1:-1;;;;;56255:16:125;56243:886;;-1:-1:-1;;;;;56306:49:125;;56302:481;;56375:31;56417:13;:11;:13::i;:::-;56375:56;;56532:25;:23;:25::i;:::-;56616:88;;-1:-1:-1;;;56616:88:125;;-1:-1:-1;;;;;22002:32:126;;;56616:88:125;;;21984:51:126;22071:2;22051:18;;;22044:30;56575:10:125;22090:18:126;;;22083:29;;;681:1:125;22164:18:126;;;22157:34;56512:45:125;;-1:-1:-1;56616:38:125;;;;;22129:19:126;;56616:88:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;56723:16;:45;;-1:-1:-1;;;;;;56723:45:125;-1:-1:-1;;;;;56723:45:125;;;;;;;;;;-1:-1:-1;;56302:481:125;56814:16;;56797:54;;;-1:-1:-1;;;56797:54:125;;-1:-1:-1;;;;;56814:16:125;;;56797:54;;;22827:51:126;22894:18;;;22887:30;22953:2;22933:18;;;22926:30;-1:-1:-1;;;22972:18:126;;;22965:45;-1:-1:-1;;;;;;;;;;;56797:8:125;;;23027:19:126;;56797:54:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;56865:45:125;;;-1:-1:-1;;;56865:45:125;;-1:-1:-1;;;;;23287:32:126;;56865:45:125;;;23269:51:126;23336:18;;;23329:30;;;;23395:2;23375:18;;;23368:30;-1:-1:-1;;;23414:18:126;;;23407:46;-1:-1:-1;;;;;;;;;;;56865:8:125;-1:-1:-1;56865:8:125;;-1:-1:-1;23470:19:126;;56865:45:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;56924:23:125;;-1:-1:-1;56964:1:125;;-1:-1:-1;56950:16:125;;-1:-1:-1;56950:16:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;56950:16:125;;56924:42;;57000:6;56980;56987:1;56980:9;;;;;;;;:::i;:::-;-1:-1:-1;;;;;56980:27:125;;;:9;;;;;;;;;:27;57021:16;;:97;;-1:-1:-1;;;57021:97:125;;:16;;;:22;;:97;;57044:6;;57021:16;;;;;;;;;;;;:97;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;56288:841;56243:886;-1:-1:-1;57145:16:125;;-1:-1:-1;;;;;57145:16:125;56023:1145;;;;;:::o;1939:3563:123:-;2080:21;:19;:21::i;:::-;2111:32;2131:10;:8;:10::i;:::-;2111:11;:32::i;:::-;-1:-1:-1;;;;;;;;;;;2154:13:123;2168:12;:10;:12::i;:::-;2154:27;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2191:6;:4;:6::i;:::-;:23;;-1:-1:-1;;;2191:23:123;;2212:1;2191:23;;;3303:25:126;-1:-1:-1;;;;;2191:20:123;;;;;;;3276:18:126;;2191:23:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2224:6;:4;:6::i;:::-;:26;;-1:-1:-1;;;2224:26:123;;2248:1;2224:26;;;3303:25:126;-1:-1:-1;;;;;2224:23:123;;;;;;;3276:18:126;;2224:26:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;309:37:20;;-1:-1:-1;;;;;2260:12:123;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2327:2;2293:37;;;;;:::i;:::-;25207:2:126;25189:21;;;25246:2;25226:18;;;25219:30;-1:-1:-1;;;25280:3:126;25265:19;;25258:41;25337:3;25330:4;25315:20;;25308:33;;;25378:1;25357:19;;;25350:30;-1:-1:-1;;;25411:3:126;25396:19;;25389:34;25507:4;25495:17;;;-1:-1:-1;25475:18:126;;25468:45;25455:3;25440:19;2293:37:123;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2285:5:123;:45;;-1:-1:-1;;;;;;2285:45:123;-1:-1:-1;;;;;2285:45:123;;;;;;;;;2340:10;306:4:15;2360:16:123;2375:1;1579:10;2360:16;:::i;:::-;2340:37;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2387:5:123;;-1:-1:-1;;;;;2387:5:123;;-1:-1:-1;2387:10:123;;-1:-1:-1;2398:12:123;:10;:12::i;:::-;2412:16;2427:1;1579:10;2412:16;:::i;:::-;2387:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2469:5:123;;-1:-1:-1;;;;;2469:5:123;;-1:-1:-1;2469:10:123;;-1:-1:-1;2488:1:123;2492:16;2507:1;1579:10;2492:16;:::i;:::-;2469:40;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2519:5:123;;-1:-1:-1;;;;;2519:5:123;;-1:-1:-1;2519:13:123;;-1:-1:-1;2541:6:123;:4;:6::i;:::-;2550:10;2519:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;2572:13:123;2586:12;:10;:12::i;:::-;2572:27;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2609:6;:4;:6::i;:::-;-1:-1:-1;;;;;2609:24:123;;306:4:15;2609:33:123;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;309:37:20;;-1:-1:-1;;;;;2652:12:123;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2691:12:123;;2677:27;;-1:-1:-1;;;2677:27:123;;-1:-1:-1;;;;;;;;;;;2677:13:123;-1:-1:-1;2677:13:123;;-1:-1:-1;2677:27:123;;-1:-1:-1;;;;;2691:12:123;;2677:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2864:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2911:75:123;;;1777:7;2911:75;;;;3303:25:126;;;;2911:75:123;;;;;;;;;;3276:18:126;;;;2911:75:123;;;;;;;-1:-1:-1;;;;;2911:75:123;-1:-1:-1;;;2911:75:123;;;2814:194;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;2715:14;;:335;;;;;-1:-1:-1;;;;;2715:335:123;;;;;-1:-1:-1;;;;;2715:335:123;;;;;;-1:-1:-1;;;;;;;;;;;309:37:20;;-1:-1:-1;;;;;3138:12:123;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3163:52;;:::i;:::-;3248:6;:4;:6::i;:::-;-1:-1:-1;;;;;3225:30:123;;;;;3302:5;;;3265:19;;;;:44;;;;1628:7;3319:27;;;;:43;;;;3302:5;3372:20;;;:47;3460:4;3430:19;;;:35;3476:27;;;;;;;;3495:8;3476:27;;;;;;;;;3495:8;;3476:27;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3476:27:123;;;;-1:-1:-1;;;3476:16:123;;;:27;3551:14;:12;:14::i;:::-;-1:-1:-1;;;;;3513:54:123;:19;;;:54;3749:25;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3930:12:123;;4021:27;;-1:-1:-1;;;3853:39:123;-1:-1:-1;;;;;3930:12:123;;3981:1;;4021:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;4087:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;4146:21;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3801:393:123;;-1:-1:-1;;;;;27861:15:126;;;3801:393:123;;;27843:34:126;27913:15;;;27893:18;;;27886:43;27965:15;;;27945:18;;;27938:43;28017:15;;27997:18;;;27990:43;28070:15;;;28049:19;;;28042:44;27777:19;;3801:393:123;;;-1:-1:-1;;3801:393:123;;;;;;;;;;;;;;-1:-1:-1;;;;;3801:393:123;-1:-1:-1;;;;;;3801:393:123;;;;;;;;;;3699:517;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3633:630:123;;4264:6;3633:638;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3578:17;:703;;-1:-1:-1;;;;;;3578:703:123;-1:-1:-1;;;;;3578:703:123;;;;;;;;;4608:48;;;;;;;;;-1:-1:-1;;;;4368:28:123;;4445:42:9;;4430:409:123;;3578:703;;-1:-1:-1;;4554:36:123;;4608:48;4641:14;1050:8:118;4641:3:123;:14;:::i;:::-;4608:48;;4674:151;;;;;;;;;4727:14;;-1:-1:-1;;;;;4727:14:123;4674:151;;;;;4759:14;:12;:14::i;:::-;-1:-1:-1;;;;;4674:151:123;;;;;4777:10;4674:151;;;;4789:10;4674:151;;;;4801:1;4674:151;;;;4804:3;4674:151;;;4430:9;:409::i;:::-;4853:8;4368:503;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4882:6;:16;;;4908:10;:47;;-1:-1:-1;;;;;;4908:47:123;-1:-1:-1;;;;;4908:47:123;;;;;4882:16;;-1:-1:-1;4908:47:123;-1:-1:-1;;;;;;;;;;;;4965:13:123;4979:12;:10;:12::i;:::-;4965:27;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5034:17:123;;5152:10;;5081:83;;5002:172;;-1:-1:-1;;;;;;5034:17:123;;;;-1:-1:-1;5034:17:123;;-1:-1:-1;;;5104:38:123;5081:83;;5152:10;;;5081:83;;;:::i;:::-;;;;-1:-1:-1;;5081:83:123;;;;;;;;;;;;;;-1:-1:-1;;;;;5081:83:123;-1:-1:-1;;;;;;5081:83:123;;;;;;;;;;5002:10;:172::i;:::-;-1:-1:-1;;;;;;;;;;;309:37:20;;-1:-1:-1;;;;;5184:12:123;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5209:17;;;;;;;;;-1:-1:-1;;;;;5209:17:123;-1:-1:-1;;;;;5209:29:123;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5257:17;;-1:-1:-1;;;;;5209:39:123;;;;;;5257:17;1929:3;1874:50;5257:17;;1874:50;:::i;:::-;1857:68;;1628:7;1857:68;:::i;:::-;1856:76;;;;:::i;:::-;1840:92;;1628:7;1840:92;:::i;:::-;5209:84;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5303:17;;;;;;;;;-1:-1:-1;;;;;5303:17:123;-1:-1:-1;;;;;5303:40:123;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5355:10;;;;;;;;;-1:-1:-1;;;;;5355:10:123;-1:-1:-1;;;;;5355:25:123;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5393:35:123;;-1:-1:-1;;;5393:35:123;;-1:-1:-1;;;;;;;;;;;5393:7:123;-1:-1:-1;5393:7:123;;-1:-1:-1;5393:35:123;;5409:4;;1530:11;;5393:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5438:6;:4;:6::i;:::-;:57;;-1:-1:-1;;;5438:57:123;;;;;33155:25:126;;;1530:11:123;33196:18:126;;;33189:34;;;-1:-1:-1;;;;;5438:15:123;;;;;;;33128:18:126;;5438:57:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1963:3539;;;1939:3563::o;5508:634::-;5550:18;5580:21;5604:7;5580:31;;5621:45;5681:93;;;;;;;;5711:6;;5681:93;;;;5719:12;:10;:12::i;:::-;-1:-1:-1;;;;;5681:93:123;;;;;5733:13;5681:93;;;;4445:42:9;-1:-1:-1;;;;;5681:93:123;;;;;5765:8;5681:93;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5621:153;;5784:17;5815:8;5804:20;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5804:20:123;;;;;;;;;5879:10;;-1:-1:-1;;;5879:32:123;;;;5804:20;;-1:-1:-1;5839:33:123;;-1:-1:-1;;;;;5879:10:123;;;;:30;;:32;;;;;;;;;;;;;;:10;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5835:76;;;;;;;-1:-1:-1;;;;;;;;;;;309:37:20;;-1:-1:-1;;;;;5921:7:123;;5929:12;:10;:12::i;:::-;5943:25;5921:48;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;5980:13:123;-1:-1:-1;5980:13:123;;-1:-1:-1;5994:12:123;;-1:-1:-1;5994:10:123;:12::i;:::-;5980:27;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6038:6;:4;:6::i;:::-;-1:-1:-1;;;;;6038:24:123;;6070:25;6097:6;;6105:4;6038:72;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;6017:94:123;;;-1:-1:-1;;;;;;;;;;;309:37:20;;-1:-1:-1;;;;;6121:12:123;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5570:572;;;;5508:634;:::o;889:167:125:-;952:4;975:74;997:6;1022:25;:23;:25::i;3126:109:15:-;3176:7;3202:26;;;;;;;;;;;;;;-1:-1:-1;;;3202:26:15;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;-1:-1:-1;;;2632:28:15;;;:8;:28::i;2452:134:25:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:25;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;1413:437:118:-;1585:16;;1558:7;;1581:230;;1711:48;;;;;;;;1731:1;1711:48;;;;;;;;;;;;-1:-1:-1;;;1711:48:118;;;;;;;;;;;1650:150;;-1:-1:-1;;;1650:150:118;;-1:-1:-1;;;;;1650:22:118;;;;;:150;;1690:1;;1761:10;;1773:13;;1650:150;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1631:16;:169;1581:230;-1:-1:-1;1827:16:118;;1413:437;;;;;;:::o;877:109::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3221:133:25:-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:25;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:25;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;9170:46249:125:-;9209:4;9229:34;596:42;9229:18;:34::i;:::-;9225:92;;;-1:-1:-1;596:42:125;;9170:46249::o;9225:92::-;9351:46051;;;;;;;;;;;;;;;;;;:16;:46051::i;1331:118:15:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:15;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;-1:-1:-1;;;3444:28:15;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;-1:-1:-1;;;4335:28:15;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;-1:-1:-1;;;4223:21:15;;;:8;:21::i;2738:178:25:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:15;1925:7;1951:25;;;;;;;;;;;;;;-1:-1:-1;;;1951:25:15;;;:8;:25::i;59529:153:125:-;59626:11;;59639:15;;59615:60;;-1:-1:-1;;;;;59626:11:125;;59656:3;59661:5;59668:6;59615:10;:60::i;:::-;59529:153;;;:::o;9265:464:123:-;9321:18;9342:16;:14;:16::i;:::-;9377:10;;9369:29;;-1:-1:-1;;;9369:29:123;;9321:37;;-1:-1:-1;;;;;;;;;;;;9369:7:123;;;:29;;-1:-1:-1;;;;;9377:10:123;;;;9389:8;;9369:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9417:10:123;;9408:20;;-1:-1:-1;;;9408:20:123;;-1:-1:-1;;;;;;;;;;;9408:8:123;-1:-1:-1;9408:8:123;;-1:-1:-1;9408:20:123;;-1:-1:-1;;;;;9417:10:123;;9408:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9458:10:123;;9438:17;;-1:-1:-1;;;;;;9458:10:123;;-1:-1:-1;9458:26:123;9492:28;1777:7;9492:10;:28;:::i;:::-;9522:10;9458:83;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9552:54;;-1:-1:-1;;;9552:54:123;;9438:103;;-1:-1:-1;;;;;;;;;;;;9552:15:123;;;:54;;-1:-1:-1;;;9568:37:123;9552:54;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;9616:8:123;-1:-1:-1;9616:8:123;;-1:-1:-1;9633:14:123;;-1:-1:-1;9633:12:123;:14::i;:::-;9616:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9659:14:123;;9710:10;;9659:63;;-1:-1:-1;;;9659:63:123;;-1:-1:-1;;;;;9659:14:123;;;;-1:-1:-1;9659:28:123;;-1:-1:-1;9659:63:123;;9688:9;;9699:1;;9710:10;;;9659:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9311:418;;9265:464::o;2792:241:15:-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:15;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:15;;;-1:-1:-1;;;;;2926:32:15;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:15;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:15:o;7103:606:123:-;7149:18;7170:16;:14;:16::i;:::-;7205:10;;7197:29;;-1:-1:-1;;;7197:29:123;;7149:37;;-1:-1:-1;;;;;;;;;;;;7197:7:123;;;:29;;-1:-1:-1;;;;;7205:10:123;;;;7217:8;;7197:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7245:10:123;;7236:20;;-1:-1:-1;;;7236:20:123;;-1:-1:-1;;;;;;;;;;;7236:8:123;-1:-1:-1;7236:8:123;;-1:-1:-1;7236:20:123;;-1:-1:-1;;;;;7245:10:123;;7236:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7286:10:123;;7266:17;;-1:-1:-1;;;;;;7286:10:123;;-1:-1:-1;7286:26:123;7320:28;1777:7;7320:10;:28;:::i;:::-;7350:10;7286:83;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7266:103;-1:-1:-1;;;;;;;;;;;;7380:8:123;7397:14;:12;:14::i;:::-;7380:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7423:14:123;;7474:10;;7423:63;;-1:-1:-1;;;7423:63:123;;-1:-1:-1;;;;;7423:14:123;;;;-1:-1:-1;7423:28:123;;-1:-1:-1;7423:63:123;;7452:9;;7463:1;;7474:10;;;7423:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7558:14:123;;:34;;-1:-1:-1;;;7558:34:123;;;;;3303:25:126;;;7503:14:123;;-1:-1:-1;7503:14:123;;-1:-1:-1;;;;;;7558:14:123;;;;:23;;3276:18:126;;7558:34:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7558:34:123;;;;;;;;;;;;:::i;:::-;7497:95;;;;;;;;7602:19;7611:6;7619:1;7602:8;:19::i;:::-;7631:71;7648:6;7640:15;;;;;;;;:::i;:::-;7665:35;7631:8;:71::i;4376:105:15:-;4424:7;4450:24;;;;;;;;;;;;;;-1:-1:-1;;;4450:24:15;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:15;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:15;;;-1:-1:-1;;;;;2120:29:15;;;;;2173:15;:13;:15::i;610:85:17:-;678:10;;;;;-1:-1:-1;;;;;678:10:17;;610:85::o;2673:113:15:-;2725:7;2751:28;;;;;;;;;;;;;;-1:-1:-1;;;2751:28:15;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;-1:-1:-1;;;511:22:15;;;:8;:22::i;7871:285:123:-;7950:10;;7942:29;;-1:-1:-1;;;7942:29:123;;-1:-1:-1;;;;;;;;;;;7942:7:123;;;:29;;-1:-1:-1;;;;;7950:10:123;;7962:8;;7942:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7990:10:123;;7981:20;;-1:-1:-1;;;7981:20:123;;-1:-1:-1;;;;;;;;;;;7981:8:123;-1:-1:-1;7981:8:123;;-1:-1:-1;7981:20:123;;-1:-1:-1;;;;;7990:10:123;;7981:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8011:65:123;;-1:-1:-1;;;8011:65:123;;-1:-1:-1;;;;;;;;;;;8011:15:123;-1:-1:-1;8011:15:123;;-1:-1:-1;8011:65:123;;-1:-1:-1;;;8027:48:123;8011:65;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8086:14:123;;-1:-1:-1;;;;;8086:14:123;;-1:-1:-1;8086:28:123;;-1:-1:-1;8122:19:123;8086:14;1777:7;8122:19;:::i;:::-;8143:1;8086:63;;;;;;;;;;;;;39738:25:126;;39799:2;39794;39779:18;;39772:30;;;-1:-1:-1;39818:18:126;;;39811:29;39872:2;39857:18;;39519:362;8086:63:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7871:285::o;2592:140:25:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4747:638:118;5083:14;5116:262;5140:4;5158:8;5180:17;5211:8;5233:5;5252:12;5278:11;5303:35;;;;;;;;5336:1;5303:35;;;5352:16;5116:10;:262::i;:::-;5109:269;4747:638;-1:-1:-1;;;;;;;;;4747:638:118:o;1537:101:15:-;1583:7;1609:22;;;;;;;;;;;;;;-1:-1:-1;;;1609:22:15;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;-1:-1:-1;;;3563:28:15;;;:8;:28::i;3069:146:25:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8162:502:123;8225:18;8246:16;:14;:16::i;:::-;8281:10;;8273:29;;-1:-1:-1;;;8273:29:123;;8225:37;;-1:-1:-1;;;;;;;;;;;;8273:7:123;;;:29;;-1:-1:-1;;;;;8281:10:123;;;;8293:8;;8273:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8321:10:123;;8312:20;;-1:-1:-1;;;8312:20:123;;-1:-1:-1;;;;;;;;;;;8312:8:123;-1:-1:-1;8312:8:123;;-1:-1:-1;8312:20:123;;-1:-1:-1;;;;;8321:10:123;;8312:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8362:10:123;;8342:17;;-1:-1:-1;;;;;;8362:10:123;;-1:-1:-1;8362:26:123;8396:28;1777:7;8396:10;:28;:::i;:::-;8426:10;8362:83;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8529:10;;8541:11;;8472:81;;;-1:-1:-1;;;;;8529:10:123;;;8472:81;;;40113:34:126;8541:11:123;;;;40163:18:126;;;;40156:43;;;;8472:81:123;;;;;;;;;;40048:18:126;;;;8472:81:123;;;;;;;-1:-1:-1;;;;;8472:81:123;-1:-1:-1;;;8472:81:123;;;8456:98;-1:-1:-1;;;8456:98:123;;8342:103;;-1:-1:-1;;;;;;;;;;;;8456:15:123;;;:98;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8573:10:123;;8564:20;;-1:-1:-1;;;8564:20:123;;-1:-1:-1;;;;;;;;;;;8564:8:123;-1:-1:-1;8564:8:123;;-1:-1:-1;8564:20:123;;-1:-1:-1;;;;;8573:10:123;;8564:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8594:14:123;;8645:10;;8594:63;;-1:-1:-1;;;8594:63:123;;-1:-1:-1;;;;;8594:14:123;;;;-1:-1:-1;8594:28:123;;-1:-1:-1;8594:63:123;;8623:9;;8634:1;;8645:10;;;8594:63;;;:::i;6411:686::-;6457:18;6478:16;:14;:16::i;:::-;6512:10;;6504:29;;-1:-1:-1;;;6504:29:123;;6457:37;;-1:-1:-1;;;;;;;;;;;;6504:7:123;;;:29;;-1:-1:-1;;;;;6512:10:123;;;;6524:8;;6504:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6552:10:123;;6543:20;;-1:-1:-1;;;6543:20:123;;-1:-1:-1;;;;;;;;;;;6543:8:123;-1:-1:-1;6543:8:123;;-1:-1:-1;6543:20:123;;-1:-1:-1;;;;;6552:10:123;;6543:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6594:10:123;;6574:17;;-1:-1:-1;;;;;;6594:10:123;;-1:-1:-1;6594:26:123;6628:28;1777:7;6628:10;:28;:::i;:::-;6658:10;6594:83;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6863:14;;:34;;-1:-1:-1;;;6863:34:123;;;;;3303:25:126;;;6574:103:123;;-1:-1:-1;6755:15:123;;;;;;;;-1:-1:-1;;;;;6863:14:123;;:23;;3276:18:126;;6863:34:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6863:34:123;;;;;;;;;;;;:::i;:::-;6751:146;;;;;;;;;;6908:20;6917:7;6926:1;6908:8;:20::i;:::-;6938:41;6947:14;1777:7;6938:8;:41::i;:::-;6989:19;6998:6;7006:1;6989:8;:19::i;:::-;7018:72;7035:6;7027:15;;;;;;;;:::i;:::-;7052:36;7631:8;:71::i;3604:241:15:-;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:15;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:15;;;-1:-1:-1;;;;;3738:32:15;;;;;3794:18;:16;:18::i;6148:257:123:-;6212:12;;6198:27;;-1:-1:-1;;;6198:27:123;;-1:-1:-1;;;;;;;;;;;6198:13:123;;;:27;;-1:-1:-1;;;;;6212:12:123;;6198:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6272:14:123;;:40;;-1:-1:-1;;;6272:40:123;;6252:10;6272:40;;;3303:25:126;;;6252:10:123;-1:-1:-1;;;;;;6272:14:123;;;;-1:-1:-1;6272:32:123;;3276:18:126;;6272:40:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6331:14:123;;:34;;-1:-1:-1;;;6331:34:123;;40634:2:126;6331:34:123;;;40616:21:126;-1:-1:-1;40653:18:126;;;40646:29;6322:52:123;;-1:-1:-1;;;;;;6331:14:123;;;;-1:-1:-1;6331:30:123;;40692:18:126;;6331:34:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6367:6;6322:8;:52::i;:::-;-1:-1:-1;;;;;;;;;;;309:37:20;;-1:-1:-1;;;;;6384:12:123;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6188:217;6148:257::o;3938:101:15:-;3984:7;4010:22;;;;;;;;;;;;;;-1:-1:-1;;;4010:22:15;;;:8;:22::i;2157:141:25:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1243:204:21;1302:7;;1282:4;;1302:7;;1298:143;;;-1:-1:-1;1332:7:21;;;;;1243:204::o;1298:143::-;1377:39;;-1:-1:-1;;;1377:39:21;;1428:1;;-1:-1:-1;;;;;;;;;;;1377:7:21;;;:39;;-1:-1:-1;;;;;;;;;;;219:28:21;-1:-1:-1;;;1398:17:21;1377:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;1170:7994:125:-;1221:16;1253:32;507:42;1253:18;:32::i;:::-;1249:100;;;-1:-1:-1;507:42:125;;1170:7994::o;1249:100::-;1482:7665;;;;;;;;;;;;;;;;;;:16;:7665::i;59873:493::-;60016:17;60064:56;60077:3;60082:5;60089:12;60103:16;60064:12;:56::i;:::-;60057:63;;60140:219;60164:12;-1:-1:-1;;;;;60164:28:125;;60210:3;60215:6;60223:5;60230:19;60251:1;60254;60257;60268;60288;60293:4;60164:147;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;60140:219;;;;;;;;;;;;;-1:-1:-1;;;60140:219:125;;;:10;:219::i;1856:1259:118:-;2161:46;;:::i;:::-;2294:30;2308:15;2294:13;:30::i;:::-;2270:15;;:21;;:54;2378:24;2392:9;2378:13;:24::i;:::-;2351:15;;:51;2456:26;2470:11;2456:13;:26::i;:::-;2431:15;;:22;;;;:51;;;;2513:15;;2550:9;2513:34;;;;:46;-1:-1:-1;;;;;2576:44:118;;:24;;;:44;2630:19;;2652:12;2630:34;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2674:18:118;;;2695:11;2674:32;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2721:21:118;;;:26;2717:197;;2889:14;1050:8;2889:3;:14;:::i;:::-;2865:38;;2717:197;2923:18;;;:32;;;2965:23;;;:42;;;3043:16;;;3057:1;3043:16;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3017:23:118;;;:42;;;3069:26;;3106:1;;3017:42;3106:1;;3069:26;;;;:::i;:::-;;;;;;:39;-1:-1:-1;;;;;3069:39:118;;;-1:-1:-1;;;;;3069:39:118;;;;;1856:1259;;;;;;;:::o;7715:150:123:-;7783:14;;:34;;-1:-1:-1;;;7783:34:123;;40634:2:126;7783:34:123;;;40616:21:126;7768:12:123;40653:18:126;;;40646:29;;;7768:12:123;-1:-1:-1;;;;;7783:14:123;;:30;;40692:18:126;;7783:34:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7768:49;;7827:31;7836:4;1777:7;7827:8;:31::i;1644:113:15:-;1696:7;1722:28;;;;;;;;;;;;;;-1:-1:-1;;;1722:28:15;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;-1:-1:-1;;;2390:26:15;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;-1:-1:-1;;;4646:23:15;;;:8;:23::i;647:73:16:-;707:6;;-1:-1:-1;;;;;707:6:16;;647:73::o;546:124:15:-;595:15;637:25;;;;;;;;;;;;;;-1:-1:-1;;;637:25:15;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;-1:-1:-1;;;400:26:15;;;:8;:26::i;57174:1547:125:-;57360:15;;57352:24;;-1:-1:-1;;;;;;57352:24:125;;57214:4;;-1:-1:-1;;;;;;;;;;;57352:7:125;;;:24;;;;3303:25:126;;;3291:2;3276:18;;3157:177;57352:24:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;57335:14;:41;;-1:-1:-1;;;;;;57335:41:125;-1:-1:-1;;;;;57335:41:125;;;;;;;;;57386:42;;;-1:-1:-1;;;57386:42:125;;;;;42474:51:126;;;;42541:18;;;42534:30;42600:2;42580:18;;;42573:30;-1:-1:-1;;;42619:18:126;;;42612:44;-1:-1:-1;;;;;;;;;;;57386:8:125;;;42673:19:126;;57386:42:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;57451:11:125;;-1:-1:-1;;;;;57451:11:125;;-1:-1:-1;57439:1248:125;;-1:-1:-1;57439:1248:125;57493:20;57516:25;:23;:25::i;:::-;57493:48;;57581:13;:11;:13::i;:::-;57556:14;:39;;-1:-1:-1;;;;;;57556:39:125;-1:-1:-1;;;;;57556:39:125;;;;;;57609:42;;;-1:-1:-1;;;57609:42:125;;42933:32:126;;;57609:42:125;;;42915:51:126;42982:18;;;42975:30;43041:2;43021:18;;;43014:30;-1:-1:-1;;;43060:18:126;;;43053:46;-1:-1:-1;;;;;;;;;;;57609:8:125;;;43116:19:126;;57609:42:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;57860:14:125;;57877;;;;;;;;57860;57877;;57806:10;57877:14;;;;;;57827:77;;-1:-1:-1;;;57827:77:125;;57806:10;;-1:-1:-1;;;;;;57827:24:125;;;;-1:-1:-1;57827:24:125;;:77;;57860:14;;;57877;681:1;;57827:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;57919:11;:40;;-1:-1:-1;;;;;;57919:40:125;-1:-1:-1;;;;;57919:40:125;;;;;;;;58122:45;;;-1:-1:-1;;;58122:45:125;;;;;43749:51:126;;;;43816:18;;;43809:30;43875:2;43855:18;;;43848:30;-1:-1:-1;;;43894:18:126;;;43887:41;57919:40:125;;-1:-1:-1;;;;;;;;;;;;58122:8:125;;;43945:19:126;;58122:45:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;58217:23:125;;-1:-1:-1;58257:1:125;;-1:-1:-1;58243:16:125;;-1:-1:-1;58243:16:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;58243:16:125;-1:-1:-1;58329:14:125;;58309:9;;58217:42;;-1:-1:-1;;;;;;58329:14:125;;58217:42;;58329:14;;58309:9;;;;:::i;:::-;;;;;;:35;-1:-1:-1;;;;;58309:35:125;;;-1:-1:-1;;;;;58309:35:125;;;;;58378:42;58358:6;58365:1;58358:9;;;;;;;;:::i;:::-;;;;;;:63;-1:-1:-1;;;;;58358:63:125;;;-1:-1:-1;;;;;58358:63:125;;;;;58455:42;58435:6;58442:1;58435:9;;;;;;;;:::i;:::-;-1:-1:-1;;;;;58435:63:125;;;:9;;;;;;;;;:63;58548:11;;:92;;-1:-1:-1;;;58548:92:125;;:11;;;:17;;:92;;58566:6;;58548:11;;;;;;;;;;;;:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;57479:1208;;;57439:1248;-1:-1:-1;58703:11:125;;-1:-1:-1;;;;;58703:11:125;;57174:1547::o;3121:1620:118:-;3518:14;3595:46;3656:86;3666:17;3685:12;3699:11;3712;3725:16;3656:9;:86::i;:::-;3787:16;;;3801:1;3787:16;;;;;;;;3595:147;;-1:-1:-1;3753:31:118;;3787:16;;;;;;;;;;;;-1:-1:-1;3787:16:118;3753:50;;3841:4;3813:14;3828:1;3813:17;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;3813:33:118;;;-1:-1:-1;;;;;3813:33:118;;;;;3884:10;3856:14;3871:1;3856:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3856:39:118;;;:17;;;;;;;;;:39;4445:42:9;;4182:19:118;;;4178:64;;-1:-1:-1;4226:5:118;4178:64;4260:4;-1:-1:-1;;;;;4260:33:118;;4348:55;4364:8;4374:12;:10;:12::i;:::-;4388:14;4348:15;:55::i;:::-;4425:8;4459:6;4448:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;4480:6;4500:1;4515:8;4537:14;4260:301;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4251:310;;4721:12;4669:64;;;;;;;;:::i;:::-;4692:8;-1:-1:-1;;;;;4669:46:118;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:64;;;;;;;;:::i;:::-;;4662:72;;;;:::i;:::-;3534:1207;;;3121:1620;;;;;;;;;;;:::o;2304:142:25:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:25;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;6239:380:118:-;6389:7;6424:11;6389:7;6465:27;6470:18;1291:7;6480:3;6471:12;;;6470:18;:::i;:::-;6490:1;6465:4;:27::i;:::-;6445:47;-1:-1:-1;6609:3:118;-1:-1:-1;;;6582:9:118;6586:5;1291:7;6582:9;:::i;:::-;6557:19;6567:9;-1:-1:-1;;;6557:19:118;:::i;:::-;6539:14;1291:7;6539:10;:14;:::i;:::-;:38;;;;:::i;:::-;6538:54;;;;:::i;:::-;6512:21;6524:9;6512;:21;:::i;:::-;6511:82;;;;:::i;:::-;6510:94;;;;:::i;:::-;6509:103;;;6239:380;-1:-1:-1;;;;;;;6239:380:118:o;8670:589:123:-;8727:18;8748:16;:14;:16::i;:::-;8783:10;;8775:29;;-1:-1:-1;;;8775:29:123;;8727:37;;-1:-1:-1;;;;;;;;;;;;8775:7:123;;;:29;;-1:-1:-1;;;;;8783:10:123;;;;8795:8;;8775:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8823:10:123;;8814:20;;-1:-1:-1;;;8814:20:123;;-1:-1:-1;;;;;;;;;;;8814:8:123;-1:-1:-1;8814:8:123;;-1:-1:-1;8814:20:123;;-1:-1:-1;;;;;8823:10:123;;8814:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8864:10:123;;8844:17;;-1:-1:-1;;;;;;8864:10:123;;-1:-1:-1;8864:26:123;8898:28;1777:7;8898:10;:28;:::i;:::-;8928:10;8864:83;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8844:103;-1:-1:-1;;;;;;;;;;;;8958:8:123;8975:14;:12;:14::i;:::-;8958:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9001:14:123;;9052:10;;9001:63;;-1:-1:-1;;;9001:63:123;;-1:-1:-1;;;;;9001:14:123;;;;-1:-1:-1;9001:28:123;;-1:-1:-1;9001:63:123;;9030:9;;9041:1;;9052:10;;;9001:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9075:61:123;;-1:-1:-1;;;9075:61:123;;-1:-1:-1;;;;;;;;;;;9075:15:123;-1:-1:-1;9075:15:123;;-1:-1:-1;9075:61:123;;-1:-1:-1;;;9091:44:123;9075:61;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;9146:8:123;-1:-1:-1;9146:8:123;;-1:-1:-1;9163:14:123;;-1:-1:-1;9163:12:123;:14::i;:::-;9146:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9189:14:123;;9240:10;;9189:63;;-1:-1:-1;;;9189:63:123;;-1:-1:-1;;;;;9189:14:123;;;;-1:-1:-1;9189:28:123;;-1:-1:-1;9189:63:123;;9218:9;;9189:14;;9240:10;;;9189:63;;;:::i;3241:119:15:-;3296:7;3322:31;;;;;;;;;;;;;;-1:-1:-1;;;3322:31:15;;;:8;:31::i;55425:396:125:-;55541:6;:8;;55490:17;;;;55541:8;55490:17;55541:8;;;:::i;:::-;;;;;;55650:11;55644:18;55633:8;55627:15;55620:4;55610:8;55606:19;55603:1;55595:68;55582:81;-1:-1:-1;;55685:22:125;;55734:8;55726:35;;;;-1:-1:-1;;;55726:35:125;;46080:2:126;55726:35:125;;;46062:21:126;46119:2;46099:18;;;46092:30;-1:-1:-1;;;46138:18:126;;;46131:44;46192:18;;55726:35:125;;;;;;;;;55509:312;55425:396;;;:::o;9735:577:123:-;9781:18;9802:16;:14;:16::i;:::-;9837:10;;9829:29;;-1:-1:-1;;;9829:29:123;;9781:37;;-1:-1:-1;;;;;;;;;;;;9829:7:123;;;:29;;-1:-1:-1;;;;;9837:10:123;;;;9849:8;;9829:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9877:10:123;;9868:20;;-1:-1:-1;;;9868:20:123;;-1:-1:-1;;;;;;;;;;;9868:8:123;-1:-1:-1;9868:8:123;;-1:-1:-1;9868:20:123;;-1:-1:-1;;;;;9877:10:123;;9868:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9918:10:123;;9898:17;;-1:-1:-1;;;;;;9918:10:123;;-1:-1:-1;9918:26:123;9952:28;1777:7;9952:10;:28;:::i;:::-;9982:10;9918:83;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9898:103;-1:-1:-1;;;;;;;;;;;;10012:8:123;10029:14;:12;:14::i;:::-;10012:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10055:14:123;;10106:10;;10055:63;;-1:-1:-1;;;10055:63:123;;-1:-1:-1;;;;;10055:14:123;;;;-1:-1:-1;10055:28:123;;-1:-1:-1;10055:63:123;;10084:9;;10095:1;;10106:10;;;10055:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10176:14:123;;:39;;-1:-1:-1;;;10176:39:123;;;;;3303:25:126;;;10130:14:123;;-1:-1:-1;10130:14:123;;-1:-1:-1;10130:14:123;;-1:-1:-1;;;;;10176:14:123;;:28;;3276:18:126;;10176:39:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10129:86;;;;;;10226:19;10235:6;10243:1;10226:8;:19::i;:::-;10255:17;10267:4;10255:11;:17::i;:::-;10282:23;10294:10;10282:11;:23::i;1790:142::-;1929:3;1874:50;1735:1;;1874:50;:::i;:::-;1857:68;;1628:7;1857:68;:::i;:::-;1856:76;;;;:::i;:::-;1840:92;;1628:7;1840:92;:::i;:::-;1790:142;:::o;20439:125:23:-;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:23;20439:125;-1:-1:-1;;20439:125:23:o;1114:930:17:-;1164:17;:15;:17::i;:::-;-1:-1:-1;;;;;;;;;;;1192:8:17;1201:12;:10;:12::i;:::-;1192:22;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1242:10;;;;;;;;;-1:-1:-1;;;;;1242:10:17;-1:-1:-1;;;;;1242:24:17;;1280:1;1301:48;;;;;;;;1321:1;1301:48;;;;;;;;;;;;;;;;;-1:-1:-1;;;1301:48:17;;;;;;1351:12;:10;:12::i;:::-;1365:15;:13;:15::i;:::-;1242:148;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1224:15;:166;;;1422:10;;:42;;-1:-1:-1;;;1422:42:17;;;;;3303:25:126;;;;1422:10:17;;;-1:-1:-1;;;;;1422:10:17;;:25;;3276:18:126;;1422:42:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1422:42:17;;;;;;;;;;;;:::i;:::-;:49;;;1400:19;:71;;-1:-1:-1;;;;;;1400:71:17;-1:-1:-1;;;;;1400:71:17;;;;;;;;;-1:-1:-1;;;;;;;;;;;1482:8:17;1491:16;:14;:16::i;:::-;1482:26;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1533:10;;;;;;;;;-1:-1:-1;;;;;1533:10:17;-1:-1:-1;;;;;1533:24:17;;1571:1;1587:44;;;;;;;;1607:1;1587:44;;;;;;;;;;;;;;;;;-1:-1:-1;;;1587:44:17;;;;;;1633:16;:14;:16::i;:::-;1651:18;:16;:18::i;:::-;1533:146;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1518:12;:161;;;1708:10;;:39;;-1:-1:-1;;;1708:39:17;;;;;3303:25:126;;;;1708:10:17;;;-1:-1:-1;;;;;1708:10:17;;:25;;3276:18:126;;1708:39:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1708:39:17;;;;;;;;;;;;:::i;:::-;:46;;;1689:16;:65;;-1:-1:-1;;;;;;1689:65:17;-1:-1:-1;;;;;1689:65:17;;;;;;;;;-1:-1:-1;;;;;;;;;;;1765:8:17;1774:16;:14;:16::i;:::-;1765:26;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1816:10;;;;;;;;;-1:-1:-1;;;;;1816:10:17;-1:-1:-1;;;;;1816:24:17;;1854:1;1870:44;;;;;;;;1890:1;1870:44;;;;;;;;;;;;;;;;;-1:-1:-1;;;1870:44:17;;;;;;1916:16;:14;:16::i;:::-;1934:18;:16;:18::i;:::-;1816:146;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1801:12;:161;;;1991:10;;:39;;-1:-1:-1;;;1991:39:17;;;;;3303:25:126;;;;1991:10:17;;;-1:-1:-1;;;;;1991:10:17;;:25;;3276:18:126;;1991:39:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1991:39:17;;;;;;;;;;;;:::i;:::-;:46;;;1972:16;:65;;-1:-1:-1;;;;;;1972:65:17;-1:-1:-1;;;;;1972:65:17;;;;;;;;;1114:930::o;283:358:16:-;-1:-1:-1;;;;;;;;;;;342:13:16;356:12;:10;:12::i;:::-;342:27;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;388:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;379:6:16;:19;;-1:-1:-1;;;;;;379:19:16;-1:-1:-1;;;;;379:19:16;;;;;;;;;409:17;440:12;:10;:12::i;:::-;476:9;512:15;:13;:15::i;:::-;409:201;;;;;;-1:-1:-1;;;;;;409:201:16;;;-1:-1:-1;;;;;51484:15:126;;;409:201:16;;;51466:34:126;51536:15;;;51516:18;;;51509:43;51588:15;;;51568:18;;;51561:43;554:4:16;51620:18:126;;;51613:34;-1:-1:-1;51663:19:126;;;51656:35;51400:19;;409:201:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;309:37:20;;-1:-1:-1;;;;;620:12:16;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1412:320:76;-1:-1:-1;;;;;1702:19:76;;:23;;;1412:320::o;2270:110:21:-;2349:24;;-1:-1:-1;;;2349:24:21;;;;;33155:25:126;;;33196:18;;;33189:34;;;-1:-1:-1;;;;;;;;;;;2349:11:21;;;33128:18:126;;2349:24:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;59028:495:125;59174:22;59375:7;;;-1:-1:-1;;;;;;;;;;;59408:7:125;59416:16;59434:33;59442:3;59447:5;59454:12;59434:7;:33::i;:::-;59408:60;;-1:-1:-1;;;;;;59408:60:125;;;;;;;;;;33155:25:126;;;;33196:18;;;33189:34;33128:18;;59408:60:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;59491:25;;;;;;52536:19:126;;;;52571:12;;;52564:28;;;;52648:3;52626:16;;;;-1:-1:-1;;;;;;52622:36:126;52608:12;;;52601:58;59491:25:125;;;;;;;;;52675:12:126;;;;59491:25:125;;;;59028:495;-1:-1:-1;;;;;;;;59028:495:125:o;1689:113:21:-;1771:24;;-1:-1:-1;;;1771:24:21;;-1:-1:-1;;;;;;;;;;;1771:13:21;;;:24;;1785:4;;1791:3;;1771:24;;;:::i;5391:114:118:-;5454:7;5480:18;5490:8;5480:7;:18;:::i;5786:447::-;5847:15;-1:-1:-1;;;5882:2:118;:12;5874:53;;;;-1:-1:-1;;;5874:53:118;;53206:2:126;5874:53:118;;;53188:21:126;53245:2;53225:18;;;53218:30;-1:-1:-1;;;53264:18:126;;;53257:58;53332:18;;5874:53:118;53004:352:126;5874:53:118;-1:-1:-1;;;;5949:2:118;5973;6012:215;6019:5;;6012:215;;6044:1;6048;6044:5;6053:1;6044:10;6040:177;;6078:10;6083:1;6086;6078:4;:10::i;:::-;6074:14;-1:-1:-1;6112:1:118;6106:7;6012:215;;6040:177;6162:16;6167:7;6176:1;6162:4;:16::i;:::-;6152:26;-1:-1:-1;6196:6:118;6201:1;6196:6;;:::i;:::-;;;6012:215;;;5864:369;;5786:447;;;;:::o;1808:91:21:-;1872:20;;-1:-1:-1;;;1872:20:21;;13718:14:126;;13711:22;1872:20:21;;;13693:41:126;-1:-1:-1;;;;;;;;;;;1872:14:21;;;13666:18:126;;1872:20:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242:23;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:23;;;;;;;20293:33;;20303:22;20293:33;;;;-1:-1:-1;;;;;;20344:19:23;;;;;3303:25:126;;;20293:33:23;-1:-1:-1;;;;;;;;;;;;20344:7:23;;;3276:18:126;;20344:19:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:23;;20337:26;;-1:-1:-1;;;;;;;;;;;;20373:8:23;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;475:129:17:-;534:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;521:10:17;:27;;-1:-1:-1;;;;;;521:27:17;;-1:-1:-1;;;;;521:27:17;;;;;;;;;;;;;558:10;;;:21;580:16;:14;:16::i;:::-;558:39;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;58727:295:125;58818:14;58853:12;-1:-1:-1;;;;;58853:31:125;;58906:3;58912:1;58915:5;58922:19;58943:1;58946;58949;58960;58980;58985:12;-1:-1:-1;;;;;58985:18:125;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;58853:162;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;58844:171;58727:295;-1:-1:-1;;;;58727:295:125:o;5511:269:118:-;5572:15;-1:-1:-1;;;5607:2:118;:13;;5599:66;;;;-1:-1:-1;;;5599:66:118;;55206:2:126;5599:66:118;;;55188:21:126;55245:2;55225:18;;;55218:30;55284:34;55264:18;;;55257:62;-1:-1:-1;;;55335:18:126;;;55328:38;55383:19;;5599:66:118;55004:404:126;5599:66:118;-1:-1:-1;;;5683:2:118;:12;5675:53;;;;-1:-1:-1;;;5675:53:118;;55615:2:126;5675:53:118;;;55597:21:126;55654:2;55634:18;;;55627:30;-1:-1:-1;;;55673:18:126;;;55666:58;55741:18;;5675:53:118;55413:352:126;5675:53:118;5770:3;-1:-1:-1;;;5747:7:118;5752:2;5747;:7;:::i;:::-;5746:19;;;;:::i;:::-;5745:28;;;5511:269;-1:-1:-1;;;5511:269:118:o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;14:104:126:-;-1:-1:-1;;;;;80:31:126;68:44;;14:104::o;123:203::-;-1:-1:-1;;;;;287:32:126;;;;269:51;;257:2;242:18;;123:203::o;331:138::-;-1:-1:-1;;;;;413:31:126;;403:42;;393:70;;459:1;456;449:12;474:127;535:10;530:3;526:20;523:1;516:31;566:4;563:1;556:15;590:4;587:1;580:15;606:253;678:2;672:9;720:4;708:17;;-1:-1:-1;;;;;740:34:126;;776:22;;;737:62;734:88;;;802:18;;:::i;:::-;838:2;831:22;606:253;:::o;864:275::-;935:2;929:9;1000:2;981:13;;-1:-1:-1;;977:27:126;965:40;;-1:-1:-1;;;;;1020:34:126;;1056:22;;;1017:62;1014:88;;;1082:18;;:::i;:::-;1118:2;1111:22;864:275;;-1:-1:-1;864:275:126:o;1144:186::-;1192:4;-1:-1:-1;;;;;1214:30:126;;1211:56;;;1247:18;;:::i;:::-;-1:-1:-1;1313:2:126;1292:15;-1:-1:-1;;1288:29:126;1319:4;1284:40;;1144:186::o;1335:462::-;1377:5;1430:3;1423:4;1415:6;1411:17;1407:27;1397:55;;1448:1;1445;1438:12;1397:55;1484:6;1471:20;1515:48;1531:31;1559:2;1531:31;:::i;:::-;1515:48;:::i;:::-;1588:2;1579:7;1572:19;1634:3;1627:4;1622:2;1614:6;1610:15;1606:26;1603:35;1600:55;;;1651:1;1648;1641:12;1600:55;1716:2;1709:4;1701:6;1697:17;1690:4;1681:7;1677:18;1664:55;1764:1;1739:16;;;1757:4;1735:27;1728:38;;;;1743:7;1335:462;-1:-1:-1;;;1335:462:126:o;1802:694::-;1912:6;1920;1928;1936;1989:3;1977:9;1968:7;1964:23;1960:33;1957:53;;;2006:1;2003;1996:12;1957:53;2045:9;2032:23;2064:38;2096:5;2064:38;:::i;:::-;2121:5;-1:-1:-1;2173:2:126;2158:18;;2145:32;;-1:-1:-1;2229:2:126;2214:18;;2201:32;2242:40;2201:32;2242:40;:::i;:::-;2301:7;-1:-1:-1;2359:2:126;2344:18;;2331:32;-1:-1:-1;;;;;2375:30:126;;2372:50;;;2418:1;2415;2408:12;2372:50;2441:49;2482:7;2473:6;2462:9;2458:22;2441:49;:::i;:::-;2431:59;;;1802:694;;;;;;;:::o;2724:428::-;2818:6;2826;2879:2;2867:9;2858:7;2854:23;2850:32;2847:52;;;2895:1;2892;2885:12;2847:52;2934:9;2921:23;2953:38;2985:5;2953:38;:::i;:::-;3010:5;-1:-1:-1;3067:2:126;3052:18;;3039:32;3080:40;3039:32;3080:40;:::i;:::-;3139:7;3129:17;;;2724:428;;;;;:::o;3521:254::-;3580:6;3633:2;3621:9;3612:7;3608:23;3604:32;3601:52;;;3649:1;3646;3639:12;3601:52;3688:9;3675:23;3707:38;3739:5;3707:38;:::i;3946:461::-;3999:3;4037:5;4031:12;4064:6;4059:3;4052:19;4090:4;4119:2;4114:3;4110:12;4103:19;;4156:2;4149:5;4145:14;4177:1;4187:195;4201:6;4198:1;4195:13;4187:195;;;4266:13;;-1:-1:-1;;;;;4262:39:126;4250:52;;4322:12;;;;4357:15;;;;4298:1;4216:9;4187:195;;;-1:-1:-1;4398:3:126;;3946:461;-1:-1:-1;;;;;3946:461:126:o;4412:261::-;4591:2;4580:9;4573:21;4554:4;4611:56;4663:2;4652:9;4648:18;4640:6;4611:56;:::i;4678:250::-;4763:1;4773:113;4787:6;4784:1;4781:13;4773:113;;;4863:11;;;4857:18;4844:11;;;4837:39;4809:2;4802:10;4773:113;;;-1:-1:-1;;4920:1:126;4902:16;;4895:27;4678:250::o;4933:271::-;4975:3;5013:5;5007:12;5040:6;5035:3;5028:19;5056:76;5125:6;5118:4;5113:3;5109:14;5102:4;5095:5;5091:16;5056:76;:::i;:::-;5186:2;5165:15;-1:-1:-1;;5161:29:126;5152:39;;;;5193:4;5148:50;;4933:271;-1:-1:-1;;4933:271:126:o;5209:616::-;5261:3;5299:5;5293:12;5326:6;5321:3;5314:19;5352:4;5393:2;5388:3;5384:12;5418:11;5445;5438:18;;5495:6;5492:1;5488:14;5481:5;5477:26;5465:38;;5537:2;5530:5;5526:14;5558:1;5568:231;5582:6;5579:1;5576:13;5568:231;;;5653:5;5647:4;5643:16;5638:3;5631:29;5681:38;5714:4;5705:6;5699:13;5681:38;:::i;:::-;5777:12;;;;5673:46;-1:-1:-1;5742:15:126;;;;5604:1;5597:9;5568:231;;;-1:-1:-1;5815:4:126;;5209:616;-1:-1:-1;;;;;;;5209:616:126:o;5830:1077::-;6036:4;6065:2;6105;6094:9;6090:18;6135:2;6124:9;6117:21;6158:6;6193;6187:13;6224:6;6216;6209:22;6250:2;6240:12;;6283:2;6272:9;6268:18;6261:25;;6345:2;6335:6;6332:1;6328:14;6317:9;6313:30;6309:39;6383:2;6375:6;6371:15;6404:1;6414:464;6428:6;6425:1;6422:13;6414:464;;;6493:22;;;-1:-1:-1;;6489:36:126;6477:49;;6549:13;;6594:9;;-1:-1:-1;;;;;6590:35:126;6575:51;;6665:11;;6659:18;6697:15;;;6690:27;;;6740:58;6782:15;;;6659:18;6740:58;:::i;:::-;6856:12;;;;6730:68;-1:-1:-1;;6821:15:126;;;;6450:1;6443:9;6414:464;;;-1:-1:-1;6895:6:126;;5830:1077;-1:-1:-1;;;;;;;;5830:1077:126:o;6912:1342::-;7032:6;7040;7048;7101:2;7089:9;7080:7;7076:23;7072:32;7069:52;;;7117:1;7114;7107:12;7069:52;7156:9;7143:23;7175:38;7207:5;7175:38;:::i;:::-;7232:5;-1:-1:-1;7256:2:126;7295:18;;;7282:32;7323:40;7282:32;7323:40;:::i;:::-;7382:7;-1:-1:-1;7440:2:126;7425:18;;7412:32;-1:-1:-1;;;;;7493:14:126;;;7490:34;;;7520:1;7517;7510:12;7490:34;7558:6;7547:9;7543:22;7533:32;;7603:7;7596:4;7592:2;7588:13;7584:27;7574:55;;7625:1;7622;7615:12;7574:55;7661:2;7648:16;7683:2;7679;7676:10;7673:36;;;7689:18;;:::i;:::-;7735:2;7732:1;7728:10;7718:20;;7758:28;7782:2;7778;7774:11;7758:28;:::i;:::-;7820:15;;;7890:11;;;7886:20;;;7851:12;;;;7918:19;;;7915:39;;;7950:1;7947;7940:12;7915:39;7974:11;;;;7994:230;8010:6;8005:3;8002:15;7994:230;;;8092:3;8079:17;8064:32;;8109:40;8141:7;8109:40;:::i;:::-;8162:20;;;8027:12;;;;8202;;;;7994:230;;;8243:5;8233:15;;;;;;;;6912:1342;;;;;:::o;8259:291::-;8436:6;8425:9;8418:25;8479:2;8474;8463:9;8459:18;8452:30;8399:4;8499:45;8540:2;8529:9;8525:18;8517:6;8499:45;:::i;8555:1569::-;8759:4;8788:2;8828;8817:9;8813:18;8858:2;8847:9;8840:21;8881:6;8916;8910:13;8947:6;8939;8932:22;8973:2;8963:12;;9006:2;8995:9;8991:18;8984:25;;9068:2;9058:6;9055:1;9051:14;9040:9;9036:30;9032:39;9106:2;9098:6;9094:15;9127:1;9148;9158:937;9174:6;9169:3;9166:15;9158:937;;;9243:22;;;-1:-1:-1;;9239:36:126;9227:49;;9299:13;;9386:9;;-1:-1:-1;;;;;9382:35:126;9367:51;;9457:11;;9451:18;9489:15;;;9482:27;;;9570:19;;9339:15;;;9602:24;;;9692:21;;;;9737:1;;9660:2;9648:15;;;9751:236;9767:8;9762:3;9759:17;9751:236;;;9848:15;;-1:-1:-1;;;;;;9844:42:126;9830:57;;9956:17;;;;9795:1;9786:11;;;;;9913:14;;;;9751:236;;;-1:-1:-1;10073:12:126;;;;10010:5;-1:-1:-1;;;10038:15:126;;;;9200:1;9191:11;9158:937;;;-1:-1:-1;10112:6:126;;8555:1569;-1:-1:-1;;;;;;;;;8555:1569:126:o;10129:530::-;10215:6;10223;10231;10284:2;10272:9;10263:7;10259:23;10255:32;10252:52;;;10300:1;10297;10290:12;10252:52;10339:9;10326:23;10358:38;10390:5;10358:38;:::i;:::-;10415:5;-1:-1:-1;10467:2:126;10452:18;;10439:32;;-1:-1:-1;10522:2:126;10507:18;;10494:32;-1:-1:-1;;;;;10538:30:126;;10535:50;;;10581:1;10578;10571:12;10535:50;10604:49;10645:7;10636:6;10625:9;10621:22;10604:49;:::i;:::-;10594:59;;;10129:530;;;;;:::o;10889:280::-;11088:2;11077:9;11070:21;11051:4;11108:55;11159:2;11148:9;11144:18;11136:6;11108:55;:::i;11174:111::-;11259:1;11252:5;11249:12;11239:40;;11275:1;11272;11265:12;11290:152;11367:20;;11416:1;11406:12;;11396:40;;11432:1;11429;11422:12;11396:40;11290:152;;;:::o;11447:715::-;11510:5;11558:4;11546:9;11541:3;11537:19;11533:30;11530:50;;;11576:1;11573;11566:12;11530:50;11598:22;;:::i;:::-;11589:31;;11657:9;11644:23;11676:40;11708:7;11676:40;:::i;:::-;11725:22;;11799:2;11784:18;;11771:32;11812:40;11771:32;11812:40;:::i;:::-;11884:7;11879:2;11872:5;11868:14;11861:31;;11952:2;11941:9;11937:18;11924:32;11919:2;11912:5;11908:14;11901:56;12017:2;12006:9;12002:18;11989:32;11984:2;11977:5;11973:14;11966:56;12083:3;12072:9;12068:19;12055:33;12049:3;12042:5;12038:15;12031:58;12150:3;12139:9;12135:19;12122:33;12116:3;12109:5;12105:15;12098:58;11447:715;;;;:::o;12167:1285::-;12390:6;12398;12406;12414;12422;12430;12438;12446;12499:3;12487:9;12478:7;12474:23;12470:33;12467:53;;;12516:1;12513;12506:12;12467:53;12555:9;12542:23;12574:38;12606:5;12574:38;:::i;:::-;12631:5;-1:-1:-1;12688:2:126;12673:18;;12660:32;12701:40;12660:32;12701:40;:::i;:::-;12760:7;-1:-1:-1;12819:2:126;12804:18;;12791:32;12832:40;12791:32;12832:40;:::i;:::-;12891:7;-1:-1:-1;12950:2:126;12935:18;;12922:32;12963:40;12922:32;12963:40;:::i;:::-;13022:7;-1:-1:-1;13081:3:126;13066:19;;13053:33;13095:40;13053:33;13095:40;:::i;:::-;13154:7;-1:-1:-1;13213:3:126;13198:19;;13185:33;13227:43;13185:33;13227:43;:::i;:::-;13289:7;-1:-1:-1;13315:48:126;13358:3;13343:19;;13315:48;:::i;:::-;13305:58;;13382:64;13438:7;13432:3;13421:9;13417:19;13382:64;:::i;:::-;13372:74;;12167:1285;;;;;;;;;;;:::o;13979:763::-;14098:6;14106;14114;14122;14130;14183:3;14171:9;14162:7;14158:23;14154:33;14151:53;;;14200:1;14197;14190:12;14151:53;14239:9;14226:23;14258:38;14290:5;14258:38;:::i;:::-;14315:5;-1:-1:-1;14367:2:126;14352:18;;14339:32;;-1:-1:-1;14423:2:126;14408:18;;14395:32;14436:40;14395:32;14436:40;:::i;:::-;14495:7;-1:-1:-1;14553:2:126;14538:18;;14525:32;-1:-1:-1;;;;;14569:30:126;;14566:50;;;14612:1;14609;14602:12;14566:50;14635:49;14676:7;14667:6;14656:9;14652:22;14635:49;:::i;:::-;13979:763;;;;-1:-1:-1;13979:763:126;;14731:3;14716:19;14703:33;;13979:763;-1:-1:-1;;;13979:763:126:o;14747:416::-;14811:5;14859:4;14847:9;14842:3;14838:19;14834:30;14831:50;;;14877:1;14874;14867:12;14831:50;14910:2;14904:9;14952:4;14940:17;;-1:-1:-1;;;;;14972:34:126;;15008:22;;;14969:62;14966:88;;;15034:18;;:::i;:::-;15070:2;15063:22;15133:23;;15118:39;;-1:-1:-1;15103:6:126;14747:416;-1:-1:-1;14747:416:126:o;15168:795::-;15369:6;15377;15385;15393;15401;15454:3;15442:9;15433:7;15429:23;15425:33;15422:53;;;15471:1;15468;15461:12;15422:53;15510:9;15497:23;15529:38;15561:5;15529:38;:::i;:::-;15586:5;-1:-1:-1;15643:2:126;15628:18;;15615:32;15656:43;15615:32;15656:43;:::i;:::-;15718:7;-1:-1:-1;15744:47:126;15787:2;15772:18;;15744:47;:::i;:::-;15734:57;;15810:64;15866:7;15861:2;15850:9;15846:18;15810:64;:::i;:::-;15800:74;;15893:64;15949:7;15943:3;15932:9;15928:19;15893:64;:::i;:::-;15883:74;;15168:795;;;;;;;;:::o;15968:127::-;16029:10;16024:3;16020:20;16017:1;16010:31;16060:4;16057:1;16050:15;16084:4;16081:1;16074:15;16100:143;16184:1;16177:5;16174:12;16164:46;;16190:18;;:::i;:::-;16219;;16100:143::o;16248:142::-;16331:1;16324:5;16321:12;16311:46;;16337:18;;:::i;17409:1226::-;17468:3;17496:6;17527:5;17521:12;17560:2;17554:9;17549:3;17542:22;17610:4;17606:2;17602:13;17596:20;17589:4;17584:3;17580:14;17573:44;17663:4;17659:2;17655:13;17649:20;17642:4;17637:3;17633:14;17626:44;17716:4;17712:2;17708:13;17702:20;17695:4;17690:3;17686:14;17679:44;;17769:4;17762:5;17758:16;17752:23;17784:58;17836:4;17831:3;17827:14;17813:12;17784:58;:::i;:::-;;17890:4;17883:5;17879:16;17873:23;17905:59;17958:4;17953:3;17949:14;17933;17905:59;:::i;:::-;-1:-1:-1;18012:4:126;18001:16;;;17995:23;16470:12;18088:4;18079:14;;16458:25;18142:4;18131:16;;;18125:23;16614:12;;-1:-1:-1;;;;;16610:21:126;;;18217:4;18208:14;;16598:34;16685:4;16674:16;;16668:23;16664:32;16648:14;;;16641:56;16746:4;16735:16;;16729:23;16713:14;;;16706:47;16791:16;;;16785:23;16769:14;;;16762:47;16847:16;;16841:23;16825:14;;;16818:47;16578:3;16903:16;;;16897:23;16881:14;;;16874:47;18260:16;;18254:23;18286:52;18330:6;18321:16;;18254:23;18286:52;:::i;:::-;;18386:4;18379:5;18375:16;18369:23;18401:52;18445:6;18440:3;18436:16;18420:14;18401:52;:::i;:::-;;18501:4;18494:5;18490:16;18484:23;18541:2;18532:6;18527:3;18523:16;18516:28;18560:69;18625:2;18620:3;18616:12;18600:14;18560:69;:::i;:::-;18553:76;17409:1226;-1:-1:-1;;;;;17409:1226:126:o;18640:287::-;18839:2;18828:9;18821:21;18802:4;18859:62;18917:2;18906:9;18902:18;18894:6;18859:62;:::i;19377:1422::-;19645:6;19653;19661;19669;19677;19685;19693;19701;19709;19762:3;19750:9;19741:7;19737:23;19733:33;19730:53;;;19779:1;19776;19769:12;19730:53;19818:9;19805:23;19837:38;19869:5;19837:38;:::i;:::-;19894:5;-1:-1:-1;19951:2:126;19936:18;;19923:32;19964:40;19923:32;19964:40;:::i;:::-;20023:7;-1:-1:-1;20082:2:126;20067:18;;20054:32;20095:40;20054:32;20095:40;:::i;:::-;20154:7;-1:-1:-1;20213:2:126;20198:18;;20185:32;20226:40;20185:32;20226:40;:::i;:::-;20285:7;-1:-1:-1;20344:3:126;20329:19;;20316:33;20358:40;20316:33;20358:40;:::i;:::-;20417:7;-1:-1:-1;20476:3:126;20461:19;;20448:33;20490:43;20448:33;20490:43;:::i;:::-;20552:7;-1:-1:-1;20578:48:126;20621:3;20606:19;;20578:48;:::i;:::-;20568:58;;20645:65;20702:7;20696:3;20685:9;20681:19;20645:65;:::i;:::-;20635:75;;20729:64;20785:7;20779:3;20768:9;20764:19;20729:64;:::i;:::-;20719:74;;19377:1422;;;;;;;;;;;:::o;20804:385::-;20890:6;20898;20906;20914;20967:3;20955:9;20946:7;20942:23;20938:33;20935:53;;;20984:1;20981;20974:12;20935:53;-1:-1:-1;;21007:23:126;;;21077:2;21062:18;;21049:32;;-1:-1:-1;21128:2:126;21113:18;;21100:32;;21179:2;21164:18;21151:32;;-1:-1:-1;20804:385:126;-1:-1:-1;20804:385:126:o;21194:320::-;21262:6;21315:2;21303:9;21294:7;21290:23;21286:32;21283:52;;;21331:1;21328;21321:12;21283:52;21358:23;;-1:-1:-1;;;;;21393:30:126;;21390:50;;;21436:1;21433;21426:12;21390:50;21459:49;21500:7;21491:6;21480:9;21476:22;21459:49;:::i;22202:145::-;22281:13;;22303:38;22281:13;22303:38;:::i;22352:258::-;22422:6;22475:2;22463:9;22454:7;22450:23;22446:32;22443:52;;;22491:1;22488;22481:12;22443:52;22523:9;22517:16;22542:38;22574:5;22542:38;:::i;23500:127::-;23561:10;23556:3;23552:20;23549:1;23542:31;23592:4;23589:1;23582:15;23616:4;23613:1;23606:15;23632:1042;24074:4;24103:3;24133:2;24122:9;24115:21;24159:56;24211:2;24200:9;24196:18;24188:6;24159:56;:::i;:::-;24246:2;24231:18;;;24224:34;;;;-1:-1:-1;;;;;24332:15:126;;;24327:2;24312:18;;24305:43;24384:22;;;24379:2;24364:18;;24357:50;-1:-1:-1;24416:17:126;;24502:15;;;24496:3;24481:19;;24474:44;-1:-1:-1;;24555:15:126;;;24285:3;24534:19;;24527:44;24602:3;24587:19;;24580:35;;;;24652:15;;;24646:3;24631:19;;;24624:44;;;;24450:15;;23632:1042;-1:-1:-1;23632:1042:126:o;25524:127::-;25585:10;25580:3;25576:20;25573:1;25566:31;25616:4;25613:1;25606:15;25640:4;25637:1;25630:15;25656:217;25696:1;25722;25712:132;;25766:10;25761:3;25757:20;25754:1;25747:31;25801:4;25798:1;25791:15;25829:4;25826:1;25819:15;25712:132;-1:-1:-1;25858:9:126;;25656:217::o;25878:274::-;-1:-1:-1;;;;;26070:32:126;;;;26052:51;;26134:2;26119:18;;26112:34;26040:2;26025:18;;25878:274::o;26465:164::-;26541:13;;26590;;26583:21;26573:32;;26563:60;;26619:1;26616;26609:12;26634:202;26701:6;26754:2;26742:9;26733:7;26729:23;26725:32;26722:52;;;26770:1;26767;26760:12;26722:52;26793:37;26820:9;26793:37;:::i;26841:315::-;-1:-1:-1;;;;;27016:32:126;;26998:51;;27085:2;27080;27065:18;;27058:30;;;-1:-1:-1;;27105:45:126;;27131:18;;27123:6;27105:45;:::i;27161:380::-;27240:1;27236:12;;;;27283;;;27304:61;;27358:4;27350:6;27346:17;27336:27;;27304:61;27411:2;27403:6;27400:14;27380:18;27377:38;27374:161;;27457:10;27452:3;27448:20;27445:1;27438:31;27492:4;27489:1;27482:15;27520:4;27517:1;27510:15;28097:252;28184:5;28178:12;28173:3;28166:25;28148:3;28237:4;28230:5;28226:16;28220:23;28275:4;28268;28263:3;28259:14;28252:28;28296:47;28337:4;28332:3;28328:14;28314:12;28296:47;:::i;28354:1709::-;28553:2;28542:9;28535:21;28565:53;28614:2;28603:9;28599:18;28590:6;28584:13;28565:53;:::i;:::-;28516:4;28665:2;28657:6;28653:15;28647:22;28678:52;28726:2;28715:9;28711:18;28697:12;28678:52;:::i;:::-;;28784:2;28776:6;28772:15;28766:22;28761:2;28750:9;28746:18;28739:50;28844:2;28836:6;28832:15;28826:22;28820:3;28809:9;28805:19;28798:51;28904:3;28896:6;28892:16;28886:23;28880:3;28869:9;28865:19;28858:52;28959:3;28951:6;28947:16;28941:23;28973:55;29023:3;29012:9;29008:19;28992:14;28973:55;:::i;:::-;;29077:3;29069:6;29065:16;29059:23;29091:55;29141:3;29130:9;29126:19;29110:14;29091:55;:::i;:::-;;29195:3;29187:6;29183:16;29177:23;29219:6;29244:3;29283:2;29278;29267:9;29263:18;29256:30;29309:63;29367:3;29356:9;29352:19;29336:14;29309:63;:::i;:::-;29409:15;;;29403:22;29295:77;;-1:-1:-1;29444:3:126;29456:54;29491:18;;;29403:22;29456:54;:::i;:::-;29559:2;29551:6;29547:15;29541:22;29519:44;;;29586:2;29582:7;29608:3;29675:2;29663:9;29655:6;29651:22;29647:31;29642:2;29631:9;29627:18;29620:59;29702:41;29736:6;29720:14;29702:41;:::i;:::-;29688:55;;29792:2;29784:6;29780:15;29774:22;29752:44;;;29815:3;29827:51;29874:2;29863:9;29859:18;29843:14;13527:13;13520:21;13508:34;;13457:91;29827:51;29915:15;;29909:22;29971;;;29967:31;;;29947:18;;;29940:59;29909:22;-1:-1:-1;30016:41:126;29975:6;29909:22;30016:41;:::i;:::-;30008:49;28354:1709;-1:-1:-1;;;;;;28354:1709:126:o;30068:168::-;30141:9;;;30172;;30189:15;;;30183:22;;30169:37;30159:71;;30210:18;;:::i;30367:1278::-;30462:5;30456:12;30451:3;30444:25;30426:3;30488:4;30532:2;30525:5;30521:14;30554:4;30588;30583:2;30578:3;30574:12;30567:26;30613:1;30646:12;30640:19;30682:3;30712:9;30708:2;30704:18;30694:28;;30772:2;30761:9;30757:18;30794;30784:61;;30838:4;30830:6;30826:17;30816:27;;30784:61;30891:2;30883:6;30880:14;30860:18;30857:38;30854:165;;-1:-1:-1;;;30918:33:126;;30974:4;30971:1;30964:15;31004:4;30925:3;30992:17;30854:165;31097:4;31088:14;;3878:19;;;3921:14;;;31127:18;31154:132;;;;31300:1;31295:325;;;;31120:500;;31154:132;-1:-1:-1;;31189:24:126;;31175:39;;31259:14;;31252:22;31249:1;31245:30;31234:42;;;-1:-1:-1;31154:132:126;;31295:325;30314:1;30307:14;;;30351:4;30338:18;;31396:1;31410:167;31424:6;31421:1;31418:13;31410:167;;;31504:14;;31489:13;;;31482:37;31547:16;;;;31439:10;;31410:167;;;31597:13;;;-1:-1:-1;;31120:500:126;-1:-1:-1;31636:3:126;;30367:1278;-1:-1:-1;;;;;;;;;;30367:1278:126:o;31650:593::-;-1:-1:-1;;;;;31954:32:126;;31936:51;;32023:2;32018;32003:18;;31996:30;;;-1:-1:-1;;32049:62:126;;32092:18;;32084:6;32049:62;:::i;:::-;32159:9;32151:6;32147:22;32142:2;32131:9;32127:18;32120:50;32187;32230:6;32222;32187:50;:::i;32248:319::-;32327:6;32335;32388:2;32376:9;32367:7;32363:23;32359:32;32356:52;;;32404:1;32401;32394:12;32356:52;32433:9;32427:16;32417:26;;32486:2;32475:9;32471:18;32465:25;32499:38;32531:5;32499:38;:::i;32851:125::-;32916:9;;;32937:10;;;32934:36;;;32950:18;;:::i;33234:706::-;33429:2;33418:9;33411:21;33474:6;33468:13;33463:2;33452:9;33448:18;33441:41;33392:4;33529:2;33521:6;33517:15;33511:22;33569:1;33565;33560:3;33556:11;33552:19;33625:2;33611:12;33607:21;33602:2;33591:9;33587:18;33580:49;33683:2;33675:6;33671:15;33665:22;33660:2;33649:9;33645:18;33638:50;33753:2;33747;33739:6;33735:15;33729:22;33725:31;33719:3;33708:9;33704:19;33697:60;;;33806:3;33798:6;33794:16;33788:23;33849:4;33842;33831:9;33827:20;33820:34;33871:63;33929:3;33918:9;33914:19;33898:14;33871:63;:::i;33945:667::-;34081:6;34089;34097;34105;34113;34121;34174:3;34162:9;34153:7;34149:23;34145:33;34142:53;;;34191:1;34188;34181:12;34142:53;34223:9;34217:16;34242:38;34274:5;34242:38;:::i;:::-;34349:2;34334:18;;34328:25;34299:5;;-1:-1:-1;34362:40:126;34328:25;34362:40;:::i;:::-;34468:2;34453:18;;34447:25;34512:2;34497:18;;34491:25;34556:3;34541:19;;34535:26;34601:3;34586:19;;;34580:26;33945:667;;34421:7;;-1:-1:-1;34447:25:126;;34491;;34535:26;;-1:-1:-1;34580:26:126;-1:-1:-1;33945:667:126;-1:-1:-1;;;33945:667:126:o;35079:864::-;35503:6;35492:9;35485:25;35546:3;35541:2;35530:9;35526:18;35519:31;35466:4;35573:50;35618:3;35607:9;35603:19;34988:2;34976:15;;-1:-1:-1;;;35016:4:126;35007:14;;35000:40;35065:2;35056:12;;34911:163;35573:50;35671:9;35663:6;35659:22;35654:2;35643:9;35639:18;35632:50;35705:42;35740:6;35732;35705:42;:::i;:::-;-1:-1:-1;;;;;35783:32:126;;35778:2;35763:18;;35756:60;35853:22;;;35847:3;35832:19;;35825:51;35691:56;-1:-1:-1;35893:44:126;35691:56;35922:6;35893:44;:::i;:::-;35885:52;35079:864;-1:-1:-1;;;;;;;35079:864:126:o;35948:184::-;36018:6;36071:2;36059:9;36050:7;36046:23;36042:32;36039:52;;;36087:1;36084;36077:12;36039:52;-1:-1:-1;36110:16:126;;35948:184;-1:-1:-1;35948:184:126:o;36443:535::-;36755:25;;;36816:2;36811;36796:18;;36789:30;;;-1:-1:-1;36835:18:126;;;36828:29;;;36893:3;36888:2;36873:18;;36866:31;;;36913:19;;36906:30;36968:3;36953:19;;36443:535::o;37172:202::-;-1:-1:-1;;;;;;37334:33:126;;;;37316:52;;37304:2;37289:18;;37172:202::o;37379:353::-;37589:25;;;37645:2;37630:18;;37623:34;;;;-1:-1:-1;;;;;37693:32:126;37688:2;37673:18;;37666:60;37577:2;37562:18;;37379:353::o;38095:320::-;38170:5;38199:52;38215:35;38243:6;38215:35;:::i;38199:52::-;38190:61;;38274:6;38267:5;38260:21;38314:3;38305:6;38300:3;38296:16;38293:25;38290:45;;;38331:1;38328;38321:12;38290:45;38344:65;38402:6;38395:4;38388:5;38384:16;38379:3;38344:65;:::i;38420:961::-;38584:6;38592;38600;38608;38616;38624;38677:3;38665:9;38656:7;38652:23;38648:33;38645:53;;;38694:1;38691;38684:12;38645:53;38726:9;38720:16;38745:38;38777:5;38745:38;:::i;:::-;38851:2;38836:18;;38830:25;38802:5;;-1:-1:-1;;;;;;38867:30:126;;38864:50;;;38910:1;38907;38900:12;38864:50;38933:22;;38986:4;38978:13;;38974:27;-1:-1:-1;38964:55:126;;39015:1;39012;39005:12;38964:55;39038:77;39107:7;39102:2;39096:9;39091:2;39087;39083:11;39038:77;:::i;:::-;39028:87;;;39155:2;39144:9;39140:18;39134:25;39124:35;;39199:2;39188:9;39184:18;39178:25;39168:35;;39243:3;39232:9;39228:19;39222:26;39212:36;;39293:3;39282:9;39278:19;39272:26;39329:1;39320:7;39317:14;39307:42;;39345:1;39342;39335:12;39307:42;39368:7;39358:17;;;38420:961;;;;;;;;:::o;39386:128::-;39453:9;;;39474:11;;;39471:37;;;39488:18;;:::i;40210:218::-;40357:2;40346:9;40339:21;40320:4;40377:45;40418:2;40407:9;40403:18;40395:6;40377:45;:::i;41000:140::-;41081:1;41074:5;41071:12;41061:46;;41087:18;;:::i;41145:1112::-;-1:-1:-1;;;;;41675:15:126;;;41657:34;;41722:2;41707:18;;41700:34;;;41607:3;41765:2;41750:18;;41743:30;;;41578:4;;41796:45;41822:18;;;41814:6;41796:45;:::i;:::-;41782:59;;41850:53;41899:2;41888:9;41884:18;41876:6;41850:53;:::i;:::-;41940:6;41934:3;41923:9;41919:19;41912:35;41984:6;41978:3;41967:9;41963:19;41956:35;42028:6;42022:3;42011:9;42007:19;42000:35;42084:2;42076:6;42072:15;42066:3;42055:9;42051:19;42044:44;42137:2;42129:6;42125:15;42119:3;42108:9;42104:19;42097:44;;42190:9;42182:6;42178:22;42172:3;42161:9;42157:19;42150:51;42218:33;42244:6;42236;42218:33;:::i;:::-;42210:41;41145:1112;-1:-1:-1;;;;;;;;;;;;;41145:1112:126:o;43146:386::-;-1:-1:-1;;;;;43349:32:126;;43331:51;;43418:2;43413;43398:18;;43391:30;;;-1:-1:-1;;43438:45:126;;43464:18;;43456:6;43438:45;:::i;:::-;43430:53;;43519:6;43514:2;43503:9;43499:18;43492:34;43146:386;;;;;;:::o;43975:984::-;44397:6;44386:9;44379:25;44360:4;44440:1;44436;44431:3;44427:11;44423:19;44490:2;44482:6;44478:15;44473:2;44462:9;44458:18;44451:43;44530:3;44525:2;44514:9;44510:18;44503:31;44557:46;44598:3;44587:9;44583:19;44575:6;44557:46;:::i;:::-;44651:2;44643:6;44639:15;44634:2;44623:9;44619:18;44612:43;44692:6;44686:3;44675:9;44671:19;44664:35;44748:9;44740:6;44736:22;44730:3;44719:9;44715:19;44708:51;44782:50;44825:6;44817;44782:50;:::i;:::-;44768:64;;;44881:9;44873:6;44869:22;44863:3;44852:9;44848:19;44841:51;44909:44;44946:6;44938;44909:44;:::i;:::-;44901:52;43975:984;-1:-1:-1;;;;;;;;;;43975:984:126:o;44964:279::-;45052:6;45105:2;45093:9;45084:7;45080:23;45076:32;45073:52;;;45121:1;45118;45111:12;45073:52;45153:9;45147:16;45172:41;45207:5;45172:41;:::i;45248:127::-;45309:10;45304:3;45300:20;45297:1;45290:31;45340:4;45337:1;45330:15;45364:4;45361:1;45354:15;45738:135;45777:3;45798:17;;;45795:43;;45818:18;;:::i;:::-;-1:-1:-1;45865:1:126;45854:13;;45738:135::o;46221:342::-;46303:6;46311;46319;46372:2;46360:9;46351:7;46347:23;46343:32;46340:52;;;46388:1;46385;46378:12;46340:52;46417:9;46411:16;46401:26;;46446:46;46488:2;46477:9;46473:18;46446:46;:::i;:::-;46436:56;;46511:46;46553:2;46542:9;46538:18;46511:46;:::i;:::-;46501:56;;46221:342;;;;;:::o;47437:236::-;47491:5;47544:3;47537:4;47529:6;47525:17;47521:27;47511:55;;47562:1;47559;47552:12;47511:55;47584:83;47663:3;47654:6;47648:13;47641:4;47633:6;47629:17;47584:83;:::i;47678:618::-;47744:5;47792:4;47780:9;47775:3;47771:19;47767:30;47764:50;;;47810:1;47807;47800:12;47764:50;47843:4;47837:11;;;47875:17;;-1:-1:-1;;;;;47944:18:126;;;47964:22;;;47941:46;47938:72;;;47990:18;;:::i;:::-;48032:10;48026:4;48019:24;48061:6;48052:15;;48097:9;48091:16;48083:6;48076:32;48152:2;48141:9;48137:18;48131:25;48117:39;;48179:2;48171:6;48168:14;48165:34;;;48195:1;48192;48185:12;48165:34;;48232:57;48285:3;48276:6;48265:9;48261:22;48232:57;:::i;:::-;48227:2;48219:6;48215:15;48208:82;;;47678:618;;;;:::o;48301:1059::-;48396:6;48449:2;48437:9;48428:7;48424:23;48420:32;48417:52;;;48465:1;48462;48455:12;48417:52;48492:16;;-1:-1:-1;;;;;48557:14:126;;;48554:34;;;48584:1;48581;48574:12;48554:34;48607:22;;;;48663:4;48645:16;;;48641:27;48638:47;;;48681:1;48678;48671:12;48638:47;48707:22;;:::i;:::-;48758:2;48752:9;48745:5;48738:24;48808:2;48804;48800:11;48794:18;48789:2;48782:5;48778:14;48771:42;48852:2;48848;48844:11;48838:18;48881:2;48871:8;48868:16;48865:36;;;48897:1;48894;48887:12;48865:36;48933:56;48981:7;48970:8;48966:2;48962:17;48933:56;:::i;:::-;48928:2;48921:5;48917:14;48910:80;;49029:2;49025;49021:11;49015:18;49058:2;49048:8;49045:16;49042:36;;;49074:1;49071;49064:12;49042:36;49110:65;49167:7;49156:8;49152:2;49148:17;49110:65;:::i;:::-;49105:2;49098:5;49094:14;49087:89;;49209:43;49247:3;49243:2;49239:12;49209:43;:::i;:::-;49203:3;49196:5;49192:15;49185:68;49286:43;49324:3;49320:2;49316:12;49286:43;:::i;:::-;49280:3;49269:15;;49262:68;49273:5;48301:1059;-1:-1:-1;;;;;48301:1059:126:o;49365:873::-;49789:6;49778:9;49771:25;49832:3;49827:2;49816:9;49812:18;49805:31;49873:1;49867:3;49856:9;49852:19;49845:30;-1:-1:-1;;;49906:3:126;49895:9;49891:19;49884:40;49960:3;49955:2;49944:9;49940:18;49933:31;49752:4;49987:55;50037:3;50026:9;50022:19;50014:6;49987:55;:::i;:::-;-1:-1:-1;;;;;50078:32:126;;50073:2;50058:18;;50051:60;50148:22;;;50142:3;50127:19;;50120:51;50188:44;50152:6;50217;50188:44;:::i;50243:873::-;50667:6;50656:9;50649:25;50710:3;50705:2;50694:9;50690:18;50683:31;50751:1;50745:3;50734:9;50730:19;50723:30;-1:-1:-1;;;50784:3:126;50773:9;50769:19;50762:40;50838:3;50833:2;50822:9;50818:18;50811:31;50630:4;50865:55;50915:3;50904:9;50900:19;50892:6;50865:55;:::i;51955:395::-;52041:6;52049;52057;52110:2;52098:9;52089:7;52085:23;52081:32;52078:52;;;52126:1;52123;52116:12;52078:52;52158:9;52152:16;52208:4;52201:5;52197:16;52190:5;52187:27;52177:55;;52228:1;52225;52218:12;52177:55;52296:2;52281:18;;52275:25;52340:2;52325:18;;;52319:25;52251:5;;52275:25;;-1:-1:-1;52319:25:126;51955:395;-1:-1:-1;;;51955:395:126:o;52698:301::-;52883:6;52876:14;52869:22;52858:9;52851:41;52928:2;52923;52912:9;52908:18;52901:30;52832:4;52948:45;52989:2;52978:9;52974:18;52966:6;52948:45;:::i;53361:289::-;53492:3;53530:6;53524:13;53546:66;53605:6;53600:3;53593:4;53585:6;53581:17;53546:66;:::i;:::-;53628:16;;;;;53361:289;-1:-1:-1;;53361:289:126:o;53977:1022::-;-1:-1:-1;;;;;54489:15:126;;;54471:34;;54536:2;54521:18;;54514:34;;;54421:3;54579:2;54564:18;;54557:30;;;54392:4;;54604:45;54630:18;;;54622:6;54604:45;:::i;:::-;54596:53;;54658;54707:2;54696:9;54692:18;54684:6;54658:53;:::i;:::-;54742:3;54727:19;;54720:35;;;;-1:-1:-1;54786:3:126;54771:19;;54764:35;;;;54830:3;54815:19;;54808:35;;;;54880:15;;;54874:3;54859:19;;54852:44;54933:15;;;54927:3;54912:19;;54905:44;54980:3;54965:19;54958:35;;;;53977:1022;;-1:-1:-1;;;;53977:1022:126:o","linkReferences":{}},"methodIdentifiers":{"DECIMALS()":"2e0f2625","IS_TEST()":"fa7626d4","NATIVE()":"a0cf0aea","PERCENTAGE_SCALE()":"3f26479e","POOL_AMOUNT()":"beda3db3","SAFE_FACTORY()":"d23727ed","SAFE_NONCE()":"1d8fcc10","SAFE_SINGLETON()":"caa12add","STAKE_WITH_FEES()":"fe24a3cb","__createContract(bytes)":"f69d511f","_calculateConviction(uint256,uint256,uint256,uint256)":"e99ce911","_councilSafe()":"dac770b3","_councilSafeWithOwner(address)":"1ae726d9","_councilSafeWithOwner(address,address)":"08c24f9f","_createSafe()":"49ef42c1","_createSafeProxyFactory()":"bb0504cd","_nonce()":"5d1222aa","allo()":"d6d8428d","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","councilMember1()":"896546a1","councilMemberPK()":"7658524d","councilSafe()":"6c53db9a","councilSafeOwner()":"0522b7db","createPool(address,address,address,address,address,uint8,uint8,(address,address,uint256,uint256,uint256,uint256))":"85294f18","createPool(address,address,address,address,address,uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256))":"e070e0ab","createProposal()":"180fd87f","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","getParams(address,uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256))":"c36e336b","local()":"0f166ad4","metadata()":"392f37e9","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_anchor()":"176effb3","poolProfile_id()":"fd325c60","poolProfile_id1(address,address,address[])":"37d1c404","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_anchor()":"c5d7d73b","profile1_id()":"39f56f7f","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_anchor()":"3554642a","profile2_id()":"18540361","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry()":"7b103999","registry_owner()":"dac4eb16","safeHelper(address,uint256,address,bytes)":"023a6f43","safeHelper(address,uint256,address,bytes,uint256)":"c1f2a641","safeHelper(address,uint256,bytes)":"6db52510","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testArbitrationCost()":"c73b09e7","testCannotCreateDisputeWithInsufficientFee()":"8292636f","testCannotExecuteRulingFromNonSafe()":"94d181e3","testCannotExecuteRulingTwice()":"ec9ec248","testCannotRuleInvalidRuling()":"6f6dfab1","testCreateDispute()":"985a0b94","testCurrentRuling()":"f8cbf34f","testExecuteRuling()":"758311e4","testSetArbitrationFee()":"a41cfc99","token()":"fc0c546a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DECIMALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERCENTAGE_SCALE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"POOL_AMOUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SAFE_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SAFE_NONCE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SAFE_SINGLETON\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_WITH_FEES\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"}],\"name\":\"__createContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_contract\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_councilSafe\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"contract SafeProxyFactory\",\"name\":\"_safeProxyFactory\",\"type\":\"address\"}],\"name\":\"_councilSafeWithOwner\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"_councilSafeWithOwner\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_createSafe\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_createSafeProxyFactory\",\"outputs\":[{\"internalType\":\"contract SafeProxyFactory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo\",\"outputs\":[{\"internalType\":\"contract Allo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMember1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMemberPK\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafeOwner\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"createProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"getParams\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"initialAllowlist\",\"type\":\"address[]\"}],\"internalType\":\"struct StrategyStruct2.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"pool_admin\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"pool_managers\",\"type\":\"address[]\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract Registry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"councilSafe_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"councilMemberPK_\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"councilSafe_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"councilMemberPK_\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testArbitrationCost\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCannotCreateDisputeWithInsufficientFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCannotExecuteRulingFromNonSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCannotExecuteRulingTwice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCannotRuleInvalidRuling\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCreateDispute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCurrentRuling\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testExecuteRuling\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSetArbitrationFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract GV2ERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/SafeArbitratorTest.t.sol\":\"SafeArbitratorTest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/foundry/shared/AlloSetup.sol\":{\"keccak256\":\"0xc3043a3bc8f280688b9ddf0925e51886a7eede4d55ea197e2a6c4c4529016cf5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://865359aed9fc3f3081e0dbf52f68ee1dd701e0579a156f71d6e4ca6bf62a65d3\",\"dweb:/ipfs/QmQRBbksFgxujjGJyiBW3vFRKnBRBWbTCJvZrzvyZMSk5Y\"]},\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":{\"keccak256\":\"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb\",\"dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c\",\"dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b\",\"dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/script/GV2ERC20.sol\":{\"keccak256\":\"0x72e3d7c5f055490e976b03abf0b7773b5cefd7e305021d0ea83cba3e142118f9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://3f19911b75ab3e0d2d41f5d9f4754f21d78b500905da3342b61bc54e502d4c97\",\"dweb:/ipfs/QmU4zPrrTWQY3eUYegHZzLjs2jyRgGtgyZp4J2ZQxj8Vp2\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293\",\"dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0x4301751ea11db320804edf82deeb83d694240d4ab92e96fd75272823a0e68cbe\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://17eb861b8e0b13b4fc31136dbb817f5bf9b0637dc1c0484b090e1e2121fc2595\",\"dweb:/ipfs/QmbYz9fngCp4FmvAJyP2NqSpxBJRJa573mTQ5R9nVsCJAg\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol\":{\"keccak256\":\"0x62c6f7fca9e1532f2cdff846efefc79a704fee448a309e6d8ecd385d839379c2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://50b2a568546d8d35ce4020154efc32fd99ecdf3ec0a7797cc78928dca0775fca\",\"dweb:/ipfs/QmR5wG5wRWVzLkho3pwDC3t8ABRpUMwBSq6hZukJNd3xPa\"]},\"pkg/contracts/src/CollateralVault.sol\":{\"keccak256\":\"0xd0a631cb40a4a31bf144f2071a9b9235d3e3f5fd70191405f5396e761082b5d9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://eab45886357e161471be5e6230846116a3b1b6fbe15ec37d613ea7e4f3b77a20\",\"dweb:/ipfs/QmdN8jGuyohaQktCuyEVWhMKbWNw6cNGvHubJ5L39wd91Y\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0xaea628cb12b8c0dd868c04c935f99ab50c88372f130ce2ced0c7b2b3ce780381\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://22eb93eaf9fc1a9f591ed87dc478e8aabafb46e22ef870bba1345a799c44ba3d\",\"dweb:/ipfs/QmSAXa8UmtGNXNtVbmqPMyEpA3RZYqWjZvPoVFHCvjHjwj\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol\":{\"keccak256\":\"0x7367a8a82bee7dcc2db5e1b00e1b7a685357b04af220879b4dd91f8731a8a1ff\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c5b065857872e4f4d1ecd79c9dece1ae55e75202fdea114ccc4b592aaf81cc07\",\"dweb:/ipfs/Qmdptrz3HCp64YAVArpRxGwoPMtrDpjnZ17VqQhhKzrnzX\"]},\"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol\":{\"keccak256\":\"0x83edb2d3fd1bd2abde25842deff6b41b62d0af39657bf2137448144f1facc58c\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://40f6e10e835b63c2b608537bf75a6a3b8c610f319da2ec1f00d6361c711e9612\",\"dweb:/ipfs/Qmae1BCM6Cay3MgwijZXkqHiBrECSbhBr13Z2htP6dLixj\"]},\"pkg/contracts/src/SafeArbitrator.sol\":{\"keccak256\":\"0x706ccf6005d2fe60e3b68e2cf825869f450154a5a437d6ac7f72593809dad04d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5241571ed3a12db78e1e1876c26a03eb8af5fda070b40798f19d186126193dce\",\"dweb:/ipfs/QmSwaxyThd3tsokq2uUjLrHurHHBC71QgWVCgsjC8dY8Be\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]},\"pkg/contracts/test/CVStrategyHelpers.sol\":{\"keccak256\":\"0xd70552580d0be712b9b0f1247721fc430fa8e26b57ea0682a0844b1941ea434b\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://50cbe3fce1612c4468e383b79c90d2686640ad94840ee4206237aae63c30c773\",\"dweb:/ipfs/QmXbsEH7kR5P3sVCwoELPztLSZi6MJaJyqz5wL1k7GJ89R\"]},\"pkg/contracts/test/SafeArbitratorTest.t.sol\":{\"keccak256\":\"0xd503423fa6181ab0c23e14e8f840b79f57d2cb41a0849d98529fa966934274fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a8167c8e88892ee8524ba3c64beaf54f4aee645af10a6e7ec5411cc277c99f7\",\"dweb:/ipfs/QmPVC5PLfMXXuRsvSqwCpvNBMV89AYVAw7nq5wDC4yHwxj\"]},\"pkg/contracts/test/shared/SafeSetup.sol\":{\"keccak256\":\"0x47fd1bc0ce492f856f4f1cb6d7c95f3ce649431367e3370fd50a7fce4baeaee8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a6996b30b78ded1502865d96ae9d794106e521b5d176fb187bc200aa4a65f18b\",\"dweb:/ipfs/QmY8YVD7uXUsQfSSXtb6mmKbGTyScXSPJ9DZdEvbmN5m73\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DECIMALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PERCENTAGE_SCALE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"POOL_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SAFE_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SAFE_NONCE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SAFE_SINGLETON","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"STAKE_WITH_FEES","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes","name":"bytecode","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"__createContract","outputs":[{"internalType":"address","name":"_contract","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"}],"stateMutability":"pure","type":"function","name":"_calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"_councilSafe","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"contract SafeProxyFactory","name":"_safeProxyFactory","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"_councilSafeWithOwner","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"_councilSafeWithOwner","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"_createSafe","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"_createSafeProxyFactory","outputs":[{"internalType":"contract SafeProxyFactory","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"allo","outputs":[{"internalType":"contract Allo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMember1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMemberPK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafeOwner","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"createProposal","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"pure","type":"function","name":"getParams","outputs":[{"internalType":"struct StrategyStruct2.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"struct StrategyStruct.CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct StrategyStruct.ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"},{"internalType":"address[]","name":"initialAllowlist","type":"address[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"pool_admin","type":"address"},{"internalType":"address[]","name":"pool_managers","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"poolProfile_id1","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract Registry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract ISafe","name":"councilSafe_","type":"address"},{"internalType":"uint256","name":"councilMemberPK_","type":"uint256"},{"internalType":"address","name":"to_","type":"address"},{"internalType":"bytes","name":"data_","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"value_","type":"uint256"},{"internalType":"bytes","name":"data_","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[{"internalType":"contract ISafe","name":"councilSafe_","type":"address"},{"internalType":"uint256","name":"councilMemberPK_","type":"uint256"},{"internalType":"address","name":"to_","type":"address"},{"internalType":"bytes","name":"data_","type":"bytes"},{"internalType":"uint256","name":"value_","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"testArbitrationCost"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCannotCreateDisputeWithInsufficientFee"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCannotExecuteRulingFromNonSafe"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCannotExecuteRulingTwice"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCannotRuleInvalidRuling"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCreateDispute"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCurrentRuling"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testExecuteRuling"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testSetArbitrationFee"},{"inputs":[],"stateMutability":"view","type":"function","name":"token","outputs":[{"internalType":"contract GV2ERC20","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/SafeArbitratorTest.t.sol":"SafeArbitratorTest"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/AlloSetup.sol":{"keccak256":"0xc3043a3bc8f280688b9ddf0925e51886a7eede4d55ea197e2a6c4c4529016cf5","urls":["bzz-raw://865359aed9fc3f3081e0dbf52f68ee1dd701e0579a156f71d6e4ca6bf62a65d3","dweb:/ipfs/QmQRBbksFgxujjGJyiBW3vFRKnBRBWbTCJvZrzvyZMSk5Y"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":{"keccak256":"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b","urls":["bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb","dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j"],"license":"AGPL-3.0-only"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361","urls":["bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c","dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef","urls":["bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b","dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab","urls":["bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d","dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/script/GV2ERC20.sol":{"keccak256":"0x72e3d7c5f055490e976b03abf0b7773b5cefd7e305021d0ea83cba3e142118f9","urls":["bzz-raw://3f19911b75ab3e0d2d41f5d9f4754f21d78b500905da3342b61bc54e502d4c97","dweb:/ipfs/QmU4zPrrTWQY3eUYegHZzLjs2jyRgGtgyZp4J2ZQxj8Vp2"],"license":"AGPL-3.0-only"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2","urls":["bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293","dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0x4301751ea11db320804edf82deeb83d694240d4ab92e96fd75272823a0e68cbe","urls":["bzz-raw://17eb861b8e0b13b4fc31136dbb817f5bf9b0637dc1c0484b090e1e2121fc2595","dweb:/ipfs/QmbYz9fngCp4FmvAJyP2NqSpxBJRJa573mTQ5R9nVsCJAg"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol":{"keccak256":"0x62c6f7fca9e1532f2cdff846efefc79a704fee448a309e6d8ecd385d839379c2","urls":["bzz-raw://50b2a568546d8d35ce4020154efc32fd99ecdf3ec0a7797cc78928dca0775fca","dweb:/ipfs/QmR5wG5wRWVzLkho3pwDC3t8ABRpUMwBSq6hZukJNd3xPa"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CollateralVault.sol":{"keccak256":"0xd0a631cb40a4a31bf144f2071a9b9235d3e3f5fd70191405f5396e761082b5d9","urls":["bzz-raw://eab45886357e161471be5e6230846116a3b1b6fbe15ec37d613ea7e4f3b77a20","dweb:/ipfs/QmdN8jGuyohaQktCuyEVWhMKbWNw6cNGvHubJ5L39wd91Y"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0xaea628cb12b8c0dd868c04c935f99ab50c88372f130ce2ced0c7b2b3ce780381","urls":["bzz-raw://22eb93eaf9fc1a9f591ed87dc478e8aabafb46e22ef870bba1345a799c44ba3d","dweb:/ipfs/QmSAXa8UmtGNXNtVbmqPMyEpA3RZYqWjZvPoVFHCvjHjwj"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol":{"keccak256":"0x7367a8a82bee7dcc2db5e1b00e1b7a685357b04af220879b4dd91f8731a8a1ff","urls":["bzz-raw://c5b065857872e4f4d1ecd79c9dece1ae55e75202fdea114ccc4b592aaf81cc07","dweb:/ipfs/Qmdptrz3HCp64YAVArpRxGwoPMtrDpjnZ17VqQhhKzrnzX"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol":{"keccak256":"0x83edb2d3fd1bd2abde25842deff6b41b62d0af39657bf2137448144f1facc58c","urls":["bzz-raw://40f6e10e835b63c2b608537bf75a6a3b8c610f319da2ec1f00d6361c711e9612","dweb:/ipfs/Qmae1BCM6Cay3MgwijZXkqHiBrECSbhBr13Z2htP6dLixj"],"license":"AGPL-3.0-only"},"pkg/contracts/src/SafeArbitrator.sol":{"keccak256":"0x706ccf6005d2fe60e3b68e2cf825869f450154a5a437d6ac7f72593809dad04d","urls":["bzz-raw://5241571ed3a12db78e1e1876c26a03eb8af5fda070b40798f19d186126193dce","dweb:/ipfs/QmSwaxyThd3tsokq2uUjLrHurHHBC71QgWVCgsjC8dY8Be"],"license":"MIT"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"},"pkg/contracts/test/CVStrategyHelpers.sol":{"keccak256":"0xd70552580d0be712b9b0f1247721fc430fa8e26b57ea0682a0844b1941ea434b","urls":["bzz-raw://50cbe3fce1612c4468e383b79c90d2686640ad94840ee4206237aae63c30c773","dweb:/ipfs/QmXbsEH7kR5P3sVCwoELPztLSZi6MJaJyqz5wL1k7GJ89R"],"license":"AGPL-3.0-or-later"},"pkg/contracts/test/SafeArbitratorTest.t.sol":{"keccak256":"0xd503423fa6181ab0c23e14e8f840b79f57d2cb41a0849d98529fa966934274fe","urls":["bzz-raw://6a8167c8e88892ee8524ba3c64beaf54f4aee645af10a6e7ec5411cc277c99f7","dweb:/ipfs/QmPVC5PLfMXXuRsvSqwCpvNBMV89AYVAw7nq5wDC4yHwxj"],"license":"MIT"},"pkg/contracts/test/shared/SafeSetup.sol":{"keccak256":"0x47fd1bc0ce492f856f4f1cb6d7c95f3ce649431367e3370fd50a7fce4baeaee8","urls":["bzz-raw://a6996b30b78ded1502865d96ae9d794106e521b5d176fb187bc200aa4a65f18b","dweb:/ipfs/QmY8YVD7uXUsQfSSXtb6mmKbGTyScXSPJ9DZdEvbmN5m73"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":5830,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)13196_storage"},{"astId":5987,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":8488,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":8509,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)8504_storage)"},{"astId":8513,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":8517,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":8520,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":9278,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":11315,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)13196_storage"},{"astId":12183,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_excludedContracts","offset":0,"slot":"21","type":"t_array(t_address)dyn_storage"},{"astId":12186,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_excludedSenders","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"},{"astId":12189,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_targetedContracts","offset":0,"slot":"23","type":"t_array(t_address)dyn_storage"},{"astId":12192,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_targetedSenders","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":12195,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_excludedArtifacts","offset":0,"slot":"25","type":"t_array(t_string_storage)dyn_storage"},{"astId":12198,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_targetedArtifacts","offset":0,"slot":"26","type":"t_array(t_string_storage)dyn_storage"},{"astId":12202,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_targetedArtifactSelectors","offset":0,"slot":"27","type":"t_array(t_struct(FuzzSelector)12174_storage)dyn_storage"},{"astId":12206,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_targetedSelectors","offset":0,"slot":"28","type":"t_array(t_struct(FuzzSelector)12174_storage)dyn_storage"},{"astId":12210,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_targetedInterfaces","offset":0,"slot":"29","type":"t_array(t_struct(FuzzInterface)12180_storage)dyn_storage"},{"astId":17795,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"IS_TEST","offset":0,"slot":"30","type":"t_bool"},{"astId":5104,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_registry_","offset":1,"slot":"30","type":"t_contract(Registry)2295"},{"astId":5137,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_poolProfileId_","offset":0,"slot":"31","type":"t_bytes32"},{"astId":5139,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_poolProfileAnchor_","offset":0,"slot":"32","type":"t_address"},{"astId":5141,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_profile1Id_","offset":0,"slot":"33","type":"t_bytes32"},{"astId":5143,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_profile1Anchor_","offset":0,"slot":"34","type":"t_address"},{"astId":5145,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_profile2Id_","offset":0,"slot":"35","type":"t_bytes32"},{"astId":5147,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_profile2Anchor_","offset":0,"slot":"36","type":"t_address"},{"astId":5040,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_allo_","offset":0,"slot":"37","type":"t_contract(Allo)1390"},{"astId":77096,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"metadata","offset":0,"slot":"38","type":"t_struct(Metadata)3098_storage"},{"astId":77108,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_poolProfileId1_","offset":0,"slot":"40","type":"t_bytes32"},{"astId":94442,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"councilSafe","offset":0,"slot":"41","type":"t_contract(ISafe)74170"},{"astId":94445,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"councilSafeOwner","offset":0,"slot":"42","type":"t_contract(ISafe)74170"},{"astId":94447,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"councilMember1","offset":0,"slot":"43","type":"t_address"},{"astId":94450,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"councilMemberPK","offset":0,"slot":"44","type":"t_uint256"},{"astId":94453,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_nonce","offset":0,"slot":"45","type":"t_uint256"},{"astId":94455,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_safeSingleton","offset":0,"slot":"46","type":"t_address"},{"astId":93263,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"safeArbitrator","offset":0,"slot":"47","type":"t_contract(SafeArbitrator)73862"},{"astId":93266,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"cvStrategy","offset":0,"slot":"48","type":"t_contract(CVStrategyV0_1)69799"},{"astId":93268,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"poolId","offset":0,"slot":"49","type":"t_uint256"},{"astId":93271,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"registryCommunity","offset":0,"slot":"50","type":"t_contract(RegistryCommunityV0_1)72996"},{"astId":93274,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"token","offset":0,"slot":"51","type":"t_contract(GV2ERC20)64847"},{"astId":93280,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"factoryOwner","offset":0,"slot":"52","type":"t_address"},{"astId":93286,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"challenger","offset":0,"slot":"53","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzInterface)12180_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)12180_storage"},"t_array(t_struct(FuzzSelector)12174_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)12174_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(Allo)1390":{"encoding":"inplace","label":"contract Allo","numberOfBytes":"20"},"t_contract(CVStrategyV0_1)69799":{"encoding":"inplace","label":"contract CVStrategyV0_1","numberOfBytes":"20"},"t_contract(GV2ERC20)64847":{"encoding":"inplace","label":"contract GV2ERC20","numberOfBytes":"20"},"t_contract(ISafe)74170":{"encoding":"inplace","label":"contract ISafe","numberOfBytes":"20"},"t_contract(Registry)2295":{"encoding":"inplace","label":"contract Registry","numberOfBytes":"20"},"t_contract(RegistryCommunityV0_1)72996":{"encoding":"inplace","label":"contract RegistryCommunityV0_1","numberOfBytes":"20"},"t_contract(SafeArbitrator)73862":{"encoding":"inplace","label":"contract SafeArbitrator","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13171_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13171_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13171_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)8504_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)8504_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)8504_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":8497,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":8499,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":8501,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":8503,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)13171_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13164,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13166,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13168,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13170,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzInterface)12180_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":12176,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12179,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)12174_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":12170,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12173,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(StdStorage)13196_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13180,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage)))"},{"astId":13183,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13185,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13187,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13189,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13191,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13193,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13195,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"pkg/contracts/test/SafeArbitratorTest.t.sol","id":94345,"exportedSymbols":{"Address":[57340],"AlloSetup":[5087],"CVStrategyHelpers":[77623],"CVStrategyV0_1":[69799],"CollateralVault":[70045],"ERC1967Proxy":[55021],"ERC1967Upgrade":[55325],"GV2ERC20":[64847],"IArbitrable":[73940],"IBeacon":[55387],"IERC1822Proxiable":[54984],"IERC1967":[54974],"IERC20":[56528],"Native":[3106],"Proxy":[55377],"RegistryCommunityV0_1":[72996],"RegistryFactoryV0_0":[73365],"RegistrySetupFull":[5296],"SafeArbitrator":[73862],"SafeArbitratorTest":[94344],"SafeSetup":[95056],"StdAssertions":[8464],"StdChains":[9246],"StdCheats":[12099],"StdInvariant":[12424],"StdStorage":[13196],"StdStyle":[16366],"StdUtils":[17744],"StorageSlot":[57472],"StrategyStruct":[65656],"Test":[17796],"TestBase":[5834],"Vm":[21446],"console":[29510],"console2":[37635],"safeconsole":[52360],"stdError":[12165],"stdJson":[13016],"stdMath":[13158],"stdStorage":[15155],"stdToml":[16958]},"nodeType":"SourceUnit","src":"32:10283:123","nodes":[{"id":93222,"nodeType":"PragmaDirective","src":"32:24:123","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":93223,"nodeType":"ImportDirective","src":"58:28:123","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":94345,"sourceUnit":17797,"symbolAliases":[],"unitAlias":""},{"id":93225,"nodeType":"ImportDirective","src":"87:57:123","nodes":[],"absolutePath":"pkg/contracts/src/SafeArbitrator.sol","file":"../src/SafeArbitrator.sol","nameLocation":"-1:-1:-1","scope":94345,"sourceUnit":73863,"symbolAliases":[{"foreign":{"id":93224,"name":"SafeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73862,"src":"95:14:123","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":93228,"nodeType":"ImportDirective","src":"145:84:123","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol","file":"../src/CVStrategy/CVStrategyV0_1.sol","nameLocation":"-1:-1:-1","scope":94345,"sourceUnit":69800,"symbolAliases":[{"foreign":{"id":93226,"name":"CVStrategyV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69799,"src":"153:14:123","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":93227,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"169:14:123","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":93230,"nodeType":"ImportDirective","src":"230:89:123","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol","file":"../src/RegistryCommunity/RegistryCommunityV0_1.sol","nameLocation":"-1:-1:-1","scope":94345,"sourceUnit":72997,"symbolAliases":[{"foreign":{"id":93229,"name":"RegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72996,"src":"238:21:123","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":93232,"nodeType":"ImportDirective","src":"320:83:123","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol","file":"../src/RegistryFactory/RegistryFactoryV0_0.sol","nameLocation":"-1:-1:-1","scope":94345,"sourceUnit":73366,"symbolAliases":[{"foreign":{"id":93231,"name":"RegistryFactoryV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73365,"src":"328:19:123","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":93234,"nodeType":"ImportDirective","src":"404:59:123","nodes":[],"absolutePath":"pkg/contracts/src/CollateralVault.sol","file":"../src/CollateralVault.sol","nameLocation":"-1:-1:-1","scope":94345,"sourceUnit":70046,"symbolAliases":[{"foreign":{"id":93233,"name":"CollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70045,"src":"412:15:123","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":93236,"nodeType":"ImportDirective","src":"464:80:123","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol","file":"allo-v2-test/foundry/shared/RegistrySetup.sol","nameLocation":"-1:-1:-1","scope":94345,"sourceUnit":5297,"symbolAliases":[{"foreign":{"id":93235,"name":"RegistrySetupFull","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5296,"src":"472:17:123","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":93238,"nodeType":"ImportDirective","src":"545:68:123","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/AlloSetup.sol","file":"allo-v2-test/foundry/shared/AlloSetup.sol","nameLocation":"-1:-1:-1","scope":94345,"sourceUnit":5088,"symbolAliases":[{"foreign":{"id":93237,"name":"AlloSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5087,"src":"553:9:123","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":93240,"nodeType":"ImportDirective","src":"614:49:123","nodes":[],"absolutePath":"pkg/contracts/test/shared/SafeSetup.sol","file":"./shared/SafeSetup.sol","nameLocation":"-1:-1:-1","scope":94345,"sourceUnit":95057,"symbolAliases":[{"foreign":{"id":93239,"name":"SafeSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95056,"src":"622:9:123","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":93242,"nodeType":"ImportDirective","src":"664:62:123","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"../src/interfaces/IArbitrable.sol","nameLocation":"-1:-1:-1","scope":94345,"sourceUnit":73941,"symbolAliases":[{"foreign":{"id":93241,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73940,"src":"672:11:123","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":93244,"nodeType":"ImportDirective","src":"727:48:123","nodes":[],"absolutePath":"pkg/contracts/script/GV2ERC20.sol","file":"../script/GV2ERC20.sol","nameLocation":"-1:-1:-1","scope":94345,"sourceUnit":64848,"symbolAliases":[{"foreign":{"id":93243,"name":"GV2ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64847,"src":"735:8:123","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":93246,"nodeType":"ImportDirective","src":"776:58:123","nodes":[],"absolutePath":"pkg/contracts/test/CVStrategyHelpers.sol","file":"./CVStrategyHelpers.sol","nameLocation":"-1:-1:-1","scope":94345,"sourceUnit":77624,"symbolAliases":[{"foreign":{"id":93245,"name":"CVStrategyHelpers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77623,"src":"784:17:123","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":93248,"nodeType":"ImportDirective","src":"835:67:123","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"allo-v2-contracts/core/libraries/Native.sol","nameLocation":"-1:-1:-1","scope":94345,"sourceUnit":3107,"symbolAliases":[{"foreign":{"id":93247,"name":"Native","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"843:6:123","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":93249,"nodeType":"ImportDirective","src":"904:64:123","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":94345,"sourceUnit":55022,"symbolAliases":[],"unitAlias":""},{"id":93250,"nodeType":"ImportDirective","src":"969:56:123","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":94345,"sourceUnit":56529,"symbolAliases":[],"unitAlias":""},{"id":94344,"nodeType":"ContractDefinition","src":"1027:9287:123","nodes":[{"id":93263,"nodeType":"VariableDeclaration","src":"1129:29:123","nodes":[],"constant":false,"mutability":"mutable","name":"safeArbitrator","nameLocation":"1144:14:123","scope":94344,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73862","typeString":"contract SafeArbitrator"},"typeName":{"id":93262,"nodeType":"UserDefinedTypeName","pathNode":{"id":93261,"name":"SafeArbitrator","nameLocations":["1129:14:123"],"nodeType":"IdentifierPath","referencedDeclaration":73862,"src":"1129:14:123"},"referencedDeclaration":73862,"src":"1129:14:123","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73862","typeString":"contract SafeArbitrator"}},"visibility":"internal"},{"id":93266,"nodeType":"VariableDeclaration","src":"1164:25:123","nodes":[],"constant":false,"mutability":"mutable","name":"cvStrategy","nameLocation":"1179:10:123","scope":94344,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"},"typeName":{"id":93265,"nodeType":"UserDefinedTypeName","pathNode":{"id":93264,"name":"CVStrategyV0_1","nameLocations":["1164:14:123"],"nodeType":"IdentifierPath","referencedDeclaration":69799,"src":"1164:14:123"},"referencedDeclaration":69799,"src":"1164:14:123","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}},"visibility":"internal"},{"id":93268,"nodeType":"VariableDeclaration","src":"1195:14:123","nodes":[],"constant":false,"mutability":"mutable","name":"poolId","nameLocation":"1203:6:123","scope":94344,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93267,"name":"uint256","nodeType":"ElementaryTypeName","src":"1195:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":93271,"nodeType":"VariableDeclaration","src":"1215:48:123","nodes":[],"constant":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"1246:17:123","scope":94344,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"},"typeName":{"id":93270,"nodeType":"UserDefinedTypeName","pathNode":{"id":93269,"name":"RegistryCommunityV0_1","nameLocations":["1215:21:123"],"nodeType":"IdentifierPath","referencedDeclaration":72996,"src":"1215:21:123"},"referencedDeclaration":72996,"src":"1215:21:123","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"visibility":"internal"},{"id":93274,"nodeType":"VariableDeclaration","src":"1269:21:123","nodes":[],"constant":false,"functionSelector":"fc0c546a","mutability":"mutable","name":"token","nameLocation":"1285:5:123","scope":94344,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$64847","typeString":"contract GV2ERC20"},"typeName":{"id":93273,"nodeType":"UserDefinedTypeName","pathNode":{"id":93272,"name":"GV2ERC20","nameLocations":["1269:8:123"],"nodeType":"IdentifierPath","referencedDeclaration":64847,"src":"1269:8:123"},"referencedDeclaration":64847,"src":"1269:8:123","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$64847","typeString":"contract GV2ERC20"}},"visibility":"public"},{"id":93280,"nodeType":"VariableDeclaration","src":"1338:33:123","nodes":[],"constant":false,"mutability":"mutable","name":"factoryOwner","nameLocation":"1346:12:123","scope":94344,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93275,"name":"address","nodeType":"ElementaryTypeName","src":"1338:7:123","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"31","id":93278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1369:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":93277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1361:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93276,"name":"address","nodeType":"ElementaryTypeName","src":"1361:7:123","typeDescriptions":{}}},"id":93279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1361:10:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":93286,"nodeType":"VariableDeclaration","src":"1454:31:123","nodes":[],"constant":false,"mutability":"mutable","name":"challenger","nameLocation":"1462:10:123","scope":94344,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93281,"name":"address","nodeType":"ElementaryTypeName","src":"1454:7:123","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"33","id":93284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1483:1:123","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":93283,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1475:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93282,"name":"address","nodeType":"ElementaryTypeName","src":"1475:7:123","typeDescriptions":{}}},"id":93285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1475:10:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":93289,"nodeType":"VariableDeclaration","src":"1492:49:123","nodes":[],"constant":true,"functionSelector":"beda3db3","mutability":"constant","name":"POOL_AMOUNT","nameLocation":"1516:11:123","scope":94344,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93287,"name":"uint256","nodeType":"ElementaryTypeName","src":"1492:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3135303030","id":93288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1530:11:123","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_15000000000000000000000_by_1","typeString":"int_const 15000000000000000000000"},"value":"15000"},"visibility":"public"},{"id":93292,"nodeType":"VariableDeclaration","src":"1547:42:123","nodes":[],"constant":true,"mutability":"constant","name":"TOTAL_SUPPLY","nameLocation":"1564:12:123","scope":94344,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93290,"name":"uint256","nodeType":"ElementaryTypeName","src":"1547:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31303030","id":93291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1579:10:123","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"},"value":"1000"},"visibility":"internal"},{"id":93295,"nodeType":"VariableDeclaration","src":"1595:40:123","nodes":[],"constant":true,"mutability":"constant","name":"MINIMUM_STAKE","nameLocation":"1612:13:123","scope":94344,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93293,"name":"uint256","nodeType":"ElementaryTypeName","src":"1595:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":93294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1628:7:123","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"visibility":"internal"},{"id":93298,"nodeType":"VariableDeclaration","src":"1641:45:123","nodes":[],"constant":true,"mutability":"constant","name":"COMMUNITY_FEE_PERCENTAGE","nameLocation":"1658:24:123","scope":94344,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93296,"name":"uint256","nodeType":"ElementaryTypeName","src":"1641:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":93297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1685:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"internal"},{"id":93301,"nodeType":"VariableDeclaration","src":"1692:44:123","nodes":[],"constant":true,"mutability":"constant","name":"PROTOCOL_FEE_PERCENTAGE","nameLocation":"1709:23:123","scope":94344,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93299,"name":"uint256","nodeType":"ElementaryTypeName","src":"1692:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":93300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1735:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"internal"},{"id":93304,"nodeType":"VariableDeclaration","src":"1742:42:123","nodes":[],"constant":true,"mutability":"constant","name":"ARBITRATION_FEE","nameLocation":"1759:15:123","scope":94344,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93302,"name":"uint256","nodeType":"ElementaryTypeName","src":"1742:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":93303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1777:7:123","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000000_by_1","typeString":"int_const 2000000000000000000"},"value":"2"},"visibility":"internal"},{"id":93317,"nodeType":"VariableDeclaration","src":"1790:142:123","nodes":[],"constant":true,"functionSelector":"fe24a3cb","mutability":"constant","name":"STAKE_WITH_FEES","nameLocation":"1814:15:123","scope":94344,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93305,"name":"uint256","nodeType":"ElementaryTypeName","src":"1790:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":93316,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":93306,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93295,"src":"1840:13:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":93315,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":93312,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":93307,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93295,"src":"1857:13:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":93310,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":93308,"name":"COMMUNITY_FEE_PERCENTAGE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93298,"src":"1874:24:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":93309,"name":"PROTOCOL_FEE_PERCENTAGE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93301,"src":"1901:23:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1874:50:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":93311,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1873:52:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1857:68:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":93313,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1856:70:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":93314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1929:3:123","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"1856:76:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1840:92:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":93728,"nodeType":"FunctionDefinition","src":"1939:3563:123","nodes":[],"body":{"id":93727,"nodeType":"Block","src":"1963:3539:123","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":93320,"name":"__RegistrySetupFull","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5247,"src":"2080:19:123","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":93321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2080:21:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93322,"nodeType":"ExpressionStatement","src":"2080:21:123"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":93326,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5131,"src":"2131:8:123","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () view returns (contract Registry)"}},"id":93327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2131:10:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":93325,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2123:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93324,"name":"address","nodeType":"ElementaryTypeName","src":"2123:7:123","typeDescriptions":{}}},"id":93328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2123:19:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":93323,"name":"__AlloSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5077,"src":"2111:11:123","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":93329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2111:32:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93330,"nodeType":"ExpressionStatement","src":"2111:32:123"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":93334,"name":"allo_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4685,"src":"2168:10:123","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":93335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2168:12:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93331,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2154:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":93333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2157:10:123","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":21227,"src":"2154:13:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2154:27:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93337,"nodeType":"ExpressionStatement","src":"2154:27:123"},{"expression":{"arguments":[{"hexValue":"30","id":93341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2212:1:123","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":93338,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5086,"src":"2191:4:123","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":93339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2191:6:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":93340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2198:13:123","memberName":"updateBaseFee","nodeType":"MemberAccess","referencedDeclaration":312,"src":"2191:20:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":93342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2191:23:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93343,"nodeType":"ExpressionStatement","src":"2191:23:123"},{"expression":{"arguments":[{"hexValue":"30","id":93347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2248:1:123","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":93344,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5086,"src":"2224:4:123","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":93345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2224:6:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":93346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2231:16:123","memberName":"updatePercentFee","nodeType":"MemberAccess","referencedDeclaration":299,"src":"2224:23:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":93348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2224:26:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93349,"nodeType":"ExpressionStatement","src":"2224:26:123"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":93350,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2260:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":93352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2263:9:123","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":21239,"src":"2260:12:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":93353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2260:14:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93354,"nodeType":"ExpressionStatement","src":"2260:14:123"},{"expression":{"id":93363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":93355,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93274,"src":"2285:5:123","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$64847","typeString":"contract GV2ERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"4d6f636b20546f6b656e","id":93359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2306:12:123","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb96b779e2a421c78f42d9b3999c8bc0c7726c66c63accdd9ba94f2ff1357844","typeString":"literal_string \"Mock Token\""},"value":"Mock Token"},{"hexValue":"4d544b","id":93360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2320:5:123","typeDescriptions":{"typeIdentifier":"t_stringliteral_793539e36336d70961c91bdb898dff4b065dbb5ef5ac709025f5b68be91dd01e","typeString":"literal_string \"MTK\""},"value":"MTK"},{"hexValue":"3138","id":93361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2327:2:123","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb96b779e2a421c78f42d9b3999c8bc0c7726c66c63accdd9ba94f2ff1357844","typeString":"literal_string \"Mock Token\""},{"typeIdentifier":"t_stringliteral_793539e36336d70961c91bdb898dff4b065dbb5ef5ac709025f5b68be91dd01e","typeString":"literal_string \"MTK\""},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":93358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2293:12:123","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$_t_contract$_GV2ERC20_$64847_$","typeString":"function (string memory,string memory,uint8) returns (contract GV2ERC20)"},"typeName":{"id":93357,"nodeType":"UserDefinedTypeName","pathNode":{"id":93356,"name":"GV2ERC20","nameLocations":["2297:8:123"],"nodeType":"IdentifierPath","referencedDeclaration":64847,"src":"2297:8:123"},"referencedDeclaration":64847,"src":"2297:8:123","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$64847","typeString":"contract GV2ERC20"}}},"id":93362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2293:37:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$64847","typeString":"contract GV2ERC20"}},"src":"2285:45:123","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$64847","typeString":"contract GV2ERC20"}},"id":93364,"nodeType":"ExpressionStatement","src":"2285:45:123"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":93368,"name":"local","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4665,"src":"2351:5:123","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":93369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2351:7:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":93372,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":93370,"name":"TOTAL_SUPPLY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93292,"src":"2360:12:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"33","id":93371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2375:1:123","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"2360:16:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":93365,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93274,"src":"2340:5:123","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$64847","typeString":"contract GV2ERC20"}},"id":93367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2346:4:123","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":64701,"src":"2340:10:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":93373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2340:37:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93374,"nodeType":"ExpressionStatement","src":"2340:37:123"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":93378,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"2398:10:123","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":93379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2398:12:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":93382,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":93380,"name":"TOTAL_SUPPLY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93292,"src":"2412:12:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"33","id":93381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2427:1:123","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"2412:16:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":93375,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93274,"src":"2387:5:123","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$64847","typeString":"contract GV2ERC20"}},"id":93377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2393:4:123","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":64701,"src":"2387:10:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":93383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2387:42:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93384,"nodeType":"ExpressionStatement","src":"2387:42:123"},{"expression":{"arguments":[{"arguments":[{"hexValue":"36","id":93390,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2488:1:123","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"}],"id":93389,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2480:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93388,"name":"address","nodeType":"ElementaryTypeName","src":"2480:7:123","typeDescriptions":{}}},"id":93391,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2480:10:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":93394,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":93392,"name":"TOTAL_SUPPLY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93292,"src":"2492:12:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"33","id":93393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2507:1:123","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"2492:16:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":93385,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93274,"src":"2469:5:123","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$64847","typeString":"contract GV2ERC20"}},"id":93387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2475:4:123","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":64701,"src":"2469:10:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":93395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2469:40:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93396,"nodeType":"ExpressionStatement","src":"2469:40:123"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":93402,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5086,"src":"2541:4:123","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":93403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2541:6:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":93401,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2533:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93400,"name":"address","nodeType":"ElementaryTypeName","src":"2533:7:123","typeDescriptions":{}}},"id":93404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2533:15:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"31353030","id":93405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2550:10:123","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1500000000000000000000_by_1","typeString":"int_const 1500000000000000000000"},"value":"1500"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_1500000000000000000000_by_1","typeString":"int_const 1500000000000000000000"}],"expression":{"id":93397,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93274,"src":"2519:5:123","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$64847","typeString":"contract GV2ERC20"}},"id":93399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2525:7:123","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":4226,"src":"2519:13:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":93406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2519:42:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":93407,"nodeType":"ExpressionStatement","src":"2519:42:123"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":93411,"name":"allo_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4685,"src":"2586:10:123","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":93412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2586:12:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93408,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2572:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":93410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2575:10:123","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":21227,"src":"2572:13:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2572:27:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93414,"nodeType":"ExpressionStatement","src":"2572:27:123"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":93418,"name":"local","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4665,"src":"2634:5:123","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":93419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2634:7:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":93415,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5086,"src":"2609:4:123","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":93416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2609:6:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":93417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2616:17:123","memberName":"transferOwnership","nodeType":"MemberAccess","referencedDeclaration":4019,"src":"2609:24:123","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$returns$__$","typeString":"function (address) payable external"}},"id":93420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2609:33:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93421,"nodeType":"ExpressionStatement","src":"2609:33:123"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":93422,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2652:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":93424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2655:9:123","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":21239,"src":"2652:12:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":93425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2652:14:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93426,"nodeType":"ExpressionStatement","src":"2652:14:123"},{"expression":{"arguments":[{"id":93430,"name":"factoryOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93280,"src":"2691:12:123","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93427,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2677:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":93429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2680:10:123","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":21227,"src":"2677:13:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2677:27:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93432,"nodeType":"ExpressionStatement","src":"2677:27:123"},{"expression":{"id":93460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":93433,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93263,"src":"2715:14:123","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73862","typeString":"contract SafeArbitrator"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":93446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2864:18:123","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_SafeArbitrator_$73862_$","typeString":"function () returns (contract SafeArbitrator)"},"typeName":{"id":93445,"nodeType":"UserDefinedTypeName","pathNode":{"id":93444,"name":"SafeArbitrator","nameLocations":["2868:14:123"],"nodeType":"IdentifierPath","referencedDeclaration":73862,"src":"2868:14:123"},"referencedDeclaration":73862,"src":"2868:14:123","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73862","typeString":"contract SafeArbitrator"}}},"id":93447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2864:20:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73862","typeString":"contract SafeArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeArbitrator_$73862","typeString":"contract SafeArbitrator"}],"id":93443,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2856:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93442,"name":"address","nodeType":"ElementaryTypeName","src":"2856:7:123","typeDescriptions":{}}},"id":93448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2856:29:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":93451,"name":"SafeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73862,"src":"2934:14:123","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeArbitrator_$73862_$","typeString":"type(contract SafeArbitrator)"}},"id":93452,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2949:10:123","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":73584,"src":"2934:25:123","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_uint256_$returns$__$","typeString":"function SafeArbitrator.initialize(uint256)"}},"id":93453,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2960:8:123","memberName":"selector","nodeType":"MemberAccess","src":"2934:34:123","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":93454,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93304,"src":"2970:15:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":93449,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2911:3:123","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":93450,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2915:18:123","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2911:22:123","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":93455,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2911:75:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":93441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2814:16:123","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55021_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":93440,"nodeType":"UserDefinedTypeName","pathNode":{"id":93439,"name":"ERC1967Proxy","nameLocations":["2818:12:123"],"nodeType":"IdentifierPath","referencedDeclaration":55021,"src":"2818:12:123"},"referencedDeclaration":55021,"src":"2818:12:123","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}},"id":93456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2814:194:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}],"id":93438,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2785:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93437,"name":"address","nodeType":"ElementaryTypeName","src":"2785:7:123","typeDescriptions":{}}},"id":93457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2785:241:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":93436,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2760:8:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":93435,"name":"address","nodeType":"ElementaryTypeName","src":"2760:8:123","stateMutability":"payable","typeDescriptions":{}}},"id":93458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2760:280:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":93434,"name":"SafeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73862,"src":"2732:14:123","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeArbitrator_$73862_$","typeString":"type(contract SafeArbitrator)"}},"id":93459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2732:318:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73862","typeString":"contract SafeArbitrator"}},"src":"2715:335:123","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73862","typeString":"contract SafeArbitrator"}},"id":93461,"nodeType":"ExpressionStatement","src":"2715:335:123"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":93462,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"3138:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":93464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3141:9:123","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":21239,"src":"3138:12:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":93465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3138:14:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93466,"nodeType":"ExpressionStatement","src":"3138:14:123"},{"assignments":[93471],"declarations":[{"constant":false,"id":93471,"mutability":"mutable","name":"params","nameLocation":"3209:6:123","nodeType":"VariableDeclaration","scope":93727,"src":"3163:52:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"},"typeName":{"id":93470,"nodeType":"UserDefinedTypeName","pathNode":{"id":93469,"name":"RegistryCommunityV0_1.InitializeParams","nameLocations":["3163:21:123","3185:16:123"],"nodeType":"IdentifierPath","referencedDeclaration":70984,"src":"3163:38:123"},"referencedDeclaration":70984,"src":"3163:38:123","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_storage_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"}},"visibility":"internal"}],"id":93472,"nodeType":"VariableDeclarationStatement","src":"3163:52:123"},{"expression":{"id":93481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":93473,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93471,"src":"3225:6:123","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":93475,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3232:5:123","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":70959,"src":"3225:12:123","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":93478,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5086,"src":"3248:4:123","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":93479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3248:6:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":93477,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3240:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93476,"name":"address","nodeType":"ElementaryTypeName","src":"3240:7:123","typeDescriptions":{}}},"id":93480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3240:15:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3225:30:123","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":93482,"nodeType":"ExpressionStatement","src":"3225:30:123"},{"expression":{"id":93492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":93483,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93471,"src":"3265:6:123","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":93485,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3272:12:123","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":70962,"src":"3265:19:123","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":93489,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93274,"src":"3302:5:123","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$64847","typeString":"contract GV2ERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_GV2ERC20_$64847","typeString":"contract GV2ERC20"}],"id":93488,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3294:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93487,"name":"address","nodeType":"ElementaryTypeName","src":"3294:7:123","typeDescriptions":{}}},"id":93490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3294:14:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":93486,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56528,"src":"3287:6:123","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$56528_$","typeString":"type(contract IERC20)"}},"id":93491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3287:22:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"src":"3265:44:123","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":93493,"nodeType":"ExpressionStatement","src":"3265:44:123"},{"expression":{"id":93498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":93494,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93471,"src":"3319:6:123","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":93496,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3326:20:123","memberName":"_registerStakeAmount","nodeType":"MemberAccess","referencedDeclaration":70964,"src":"3319:27:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":93497,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93295,"src":"3349:13:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3319:43:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":93499,"nodeType":"ExpressionStatement","src":"3319:43:123"},{"expression":{"id":93504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":93500,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93471,"src":"3372:6:123","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":93502,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3379:13:123","memberName":"_communityFee","nodeType":"MemberAccess","referencedDeclaration":70966,"src":"3372:20:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":93503,"name":"COMMUNITY_FEE_PERCENTAGE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93298,"src":"3395:24:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3372:47:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":93505,"nodeType":"ExpressionStatement","src":"3372:47:123"},{"expression":{"id":93513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":93506,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93471,"src":"3430:6:123","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":93508,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3437:12:123","memberName":"_feeReceiver","nodeType":"MemberAccess","referencedDeclaration":70972,"src":"3430:19:123","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":93511,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3460:4:123","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitratorTest_$94344","typeString":"contract SafeArbitratorTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeArbitratorTest_$94344","typeString":"contract SafeArbitratorTest"}],"id":93510,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3452:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93509,"name":"address","nodeType":"ElementaryTypeName","src":"3452:7:123","typeDescriptions":{}}},"id":93512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3452:13:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3430:35:123","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":93514,"nodeType":"ExpressionStatement","src":"3430:35:123"},{"expression":{"id":93519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":93515,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93471,"src":"3476:6:123","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":93517,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3483:9:123","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":70975,"src":"3476:16:123","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":93518,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77096,"src":"3495:8:123","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"src":"3476:27:123","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"id":93520,"nodeType":"ExpressionStatement","src":"3476:27:123"},{"expression":{"id":93532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":93521,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93471,"src":"3513:6:123","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":93523,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3520:12:123","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":70977,"src":"3513:19:123","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":93528,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94875,"src":"3551:12:123","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_ISafe_$74170_$","typeString":"function () returns (contract ISafe)"}},"id":93529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3551:14:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}],"id":93527,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3543:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93526,"name":"address","nodeType":"ElementaryTypeName","src":"3543:7:123","typeDescriptions":{}}},"id":93530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3543:23:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":93525,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3535:8:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":93524,"name":"address","nodeType":"ElementaryTypeName","src":"3535:8:123","stateMutability":"payable","typeDescriptions":{}}},"id":93531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3535:32:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"3513:54:123","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":93533,"nodeType":"ExpressionStatement","src":"3513:54:123"},{"expression":{"id":93591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":93534,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93271,"src":"3578:17:123","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":93588,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93471,"src":"4264:6:123","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$70984_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}],"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":93546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"3749:23:123","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RegistryFactoryV0_0_$73365_$","typeString":"function () returns (contract RegistryFactoryV0_0)"},"typeName":{"id":93545,"nodeType":"UserDefinedTypeName","pathNode":{"id":93544,"name":"RegistryFactoryV0_0","nameLocations":["3753:19:123"],"nodeType":"IdentifierPath","referencedDeclaration":73365,"src":"3753:19:123"},"referencedDeclaration":73365,"src":"3753:19:123","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$73365","typeString":"contract RegistryFactoryV0_0"}}},"id":93547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3749:25:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$73365","typeString":"contract RegistryFactoryV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$73365","typeString":"contract RegistryFactoryV0_0"}],"id":93543,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3741:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93542,"name":"address","nodeType":"ElementaryTypeName","src":"3741:7:123","typeDescriptions":{}}},"id":93548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3741:34:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":93551,"name":"RegistryFactoryV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73365,"src":"3853:19:123","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryFactoryV0_0_$73365_$","typeString":"type(contract RegistryFactoryV0_0)"}},"id":93552,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3873:10:123","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":73168,"src":"3853:30:123","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function RegistryFactoryV0_0.initialize(address,address,address,address,address)"}},"id":93553,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3884:8:123","memberName":"selector","nodeType":"MemberAccess","src":"3853:39:123","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":93556,"name":"factoryOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93280,"src":"3930:12:123","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":93555,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3922:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93554,"name":"address","nodeType":"ElementaryTypeName","src":"3922:7:123","typeDescriptions":{}}},"id":93557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3922:21:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"32","id":93560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3981:1:123","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":93559,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3973:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93558,"name":"address","nodeType":"ElementaryTypeName","src":"3973:7:123","typeDescriptions":{}}},"id":93561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3973:10:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":93566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4021:25:123","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RegistryCommunityV0_1_$72996_$","typeString":"function () returns (contract RegistryCommunityV0_1)"},"typeName":{"id":93565,"nodeType":"UserDefinedTypeName","pathNode":{"id":93564,"name":"RegistryCommunityV0_1","nameLocations":["4025:21:123"],"nodeType":"IdentifierPath","referencedDeclaration":72996,"src":"4025:21:123"},"referencedDeclaration":72996,"src":"4025:21:123","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}}},"id":93567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4021:27:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}],"id":93563,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4013:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93562,"name":"address","nodeType":"ElementaryTypeName","src":"4013:7:123","typeDescriptions":{}}},"id":93568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4013:36:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":93573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4087:18:123","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_CVStrategyV0_1_$69799_$","typeString":"function () returns (contract CVStrategyV0_1)"},"typeName":{"id":93572,"nodeType":"UserDefinedTypeName","pathNode":{"id":93571,"name":"CVStrategyV0_1","nameLocations":["4091:14:123"],"nodeType":"IdentifierPath","referencedDeclaration":69799,"src":"4091:14:123"},"referencedDeclaration":69799,"src":"4091:14:123","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}}},"id":93574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4087:20:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}],"id":93570,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4079:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93569,"name":"address","nodeType":"ElementaryTypeName","src":"4079:7:123","typeDescriptions":{}}},"id":93575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4079:29:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":93580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4146:19:123","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_CollateralVault_$70045_$","typeString":"function () returns (contract CollateralVault)"},"typeName":{"id":93579,"nodeType":"UserDefinedTypeName","pathNode":{"id":93578,"name":"CollateralVault","nameLocations":["4150:15:123"],"nodeType":"IdentifierPath","referencedDeclaration":70045,"src":"4150:15:123"},"referencedDeclaration":70045,"src":"4150:15:123","typeDescriptions":{"typeIdentifier":"t_contract$_CollateralVault_$70045","typeString":"contract CollateralVault"}}},"id":93581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4146:21:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CollateralVault_$70045","typeString":"contract CollateralVault"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CollateralVault_$70045","typeString":"contract CollateralVault"}],"id":93577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4138:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93576,"name":"address","nodeType":"ElementaryTypeName","src":"4138:7:123","typeDescriptions":{}}},"id":93582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4138:30:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93549,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3801:3:123","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":93550,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3805:18:123","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"3801:22:123","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":93583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3801:393:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":93541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"3699:16:123","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55021_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":93540,"nodeType":"UserDefinedTypeName","pathNode":{"id":93539,"name":"ERC1967Proxy","nameLocations":["3703:12:123"],"nodeType":"IdentifierPath","referencedDeclaration":55021,"src":"3703:12:123"},"referencedDeclaration":55021,"src":"3703:12:123","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}},"id":93584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3699:517:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}],"id":93538,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3670:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93537,"name":"address","nodeType":"ElementaryTypeName","src":"3670:7:123","typeDescriptions":{}}},"id":93585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3670:564:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":93536,"name":"RegistryFactoryV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73365,"src":"3633:19:123","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryFactoryV0_0_$73365_$","typeString":"type(contract RegistryFactoryV0_0)"}},"id":93586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3633:615:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$73365","typeString":"contract RegistryFactoryV0_0"}},"id":93587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4249:14:123","memberName":"createRegistry","nodeType":"MemberAccess","referencedDeclaration":73251,"src":"3633:630:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_InitializeParams_$70984_memory_ptr_$returns$_t_address_$","typeString":"function (struct RegistryCommunityV0_0.InitializeParams memory) external returns (address)"}},"id":93589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3633:638:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":93535,"name":"RegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72996,"src":"3598:21:123","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_1_$72996_$","typeString":"type(contract RegistryCommunityV0_1)"}},"id":93590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3598:683:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"src":"3578:703:123","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"id":93592,"nodeType":"ExpressionStatement","src":"3578:703:123"},{"assignments":[93594],"declarations":[{"constant":false,"id":93594,"mutability":"mutable","name":"_poolId","nameLocation":"4300:7:123","nodeType":"VariableDeclaration","scope":93727,"src":"4292:15:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93593,"name":"uint256","nodeType":"ElementaryTypeName","src":"4292:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":93595,"nodeType":"VariableDeclarationStatement","src":"4292:15:123"},{"assignments":[93597],"declarations":[{"constant":false,"id":93597,"mutability":"mutable","name":"_strategy","nameLocation":"4325:9:123","nodeType":"VariableDeclaration","scope":93727,"src":"4317:17:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93596,"name":"address","nodeType":"ElementaryTypeName","src":"4317:7:123","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":93598,"nodeType":"VariableDeclarationStatement","src":"4317:17:123"},{"expression":{"id":93641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":93599,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93594,"src":"4346:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93600,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93597,"src":"4355:9:123","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":93601,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"4345:20:123","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_address_$","typeString":"tuple(uint256,address)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":93604,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"4410:6:123","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[{"id":93608,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93271,"src":"4465:17:123","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}],"id":93607,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4457:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93606,"name":"address","nodeType":"ElementaryTypeName","src":"4457:7:123","typeDescriptions":{}}},"id":93609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4457:26:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":93610,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"4501:14:123","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":93611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4516:12:123","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":65538,"src":"4501:27:123","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$65538_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":93612,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4529:7:123","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":65536,"src":"4501:35:123","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"}},{"expression":{"expression":{"id":93613,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"4554:14:123","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":93614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4569:11:123","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":65543,"src":"4554:26:123","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65543_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":93615,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4581:9:123","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":65541,"src":"4554:36:123","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"}},{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":93620,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"323030","id":93618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4641:3:123","typeDescriptions":{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},"value":"200"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":93619,"name":"DECIMALS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77101,"src":"4647:8:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4641:14:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":93616,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"4608:14:123","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":93617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4623:17:123","memberName":"PointSystemConfig","nodeType":"MemberAccess","referencedDeclaration":65612,"src":"4608:32:123","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PointSystemConfig_$65612_storage_ptr_$","typeString":"type(struct StrategyStruct.PointSystemConfig storage pointer)"}},"id":93621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4608:48:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},{"arguments":[{"id":93624,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93263,"src":"4727:14:123","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73862","typeString":"contract SafeArbitrator"}},{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":93629,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94875,"src":"4759:12:123","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_ISafe_$74170_$","typeString":"function () returns (contract ISafe)"}},"id":93630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4759:14:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}],"id":93628,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4751:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93627,"name":"address","nodeType":"ElementaryTypeName","src":"4751:7:123","typeDescriptions":{}}},"id":93631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4751:23:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":93626,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4743:8:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":93625,"name":"address","nodeType":"ElementaryTypeName","src":"4743:8:123","stateMutability":"payable","typeDescriptions":{}}},"id":93632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4743:32:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"hexValue":"302e3032","id":93633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4777:10:123","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_20000000000000000_by_1","typeString":"int_const 20000000000000000"},"value":"0.02"},{"hexValue":"302e3031","id":93634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4789:10:123","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"value":"0.01"},{"hexValue":"31","id":93635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4801:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"333030","id":93636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4804:3:123","typeDescriptions":{"typeIdentifier":"t_rational_300_by_1","typeString":"int_const 300"},"value":"300"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeArbitrator_$73862","typeString":"contract SafeArbitrator"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_rational_20000000000000000_by_1","typeString":"int_const 20000000000000000"},{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_300_by_1","typeString":"int_const 300"}],"expression":{"id":93622,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"4674:14:123","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":93623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4689:16:123","memberName":"ArbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":65626,"src":"4674:31:123","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArbitrableConfig_$65626_storage_ptr_$","typeString":"type(struct StrategyStruct.ArbitrableConfig storage pointer)"}},"id":93637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4674:151:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$65538","typeString":"enum StrategyStruct.ProposalType"},{"typeIdentifier":"t_enum$_PointSystem_$65543","typeString":"enum StrategyStruct.PointSystem"},{"typeIdentifier":"t_struct$_PointSystemConfig_$65612_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"},{"typeIdentifier":"t_struct$_ArbitrableConfig_$65626_memory_ptr","typeString":"struct StrategyStruct.ArbitrableConfig memory"}],"id":93605,"name":"getParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77285,"src":"4430:9:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_enum$_ProposalType_$65538_$_t_enum$_PointSystem_$65543_$_t_struct$_PointSystemConfig_$65612_memory_ptr_$_t_struct$_ArbitrableConfig_$65626_memory_ptr_$returns$_t_struct$_InitializeParams_$69273_memory_ptr_$","typeString":"function (address,enum StrategyStruct.ProposalType,enum StrategyStruct.PointSystem,struct StrategyStruct.PointSystemConfig memory,struct StrategyStruct.ArbitrableConfig memory) pure returns (struct StrategyStruct2.InitializeParams memory)"}},"id":93638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4430:409:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"}},{"id":93639,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77096,"src":"4853:8:123","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_InitializeParams_$69273_memory_ptr","typeString":"struct StrategyStruct2.InitializeParams memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}],"expression":{"id":93602,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93271,"src":"4368:17:123","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"id":93603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4386:10:123","memberName":"createPool","nodeType":"MemberAccess","referencedDeclaration":72923,"src":"4368:28:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_InitializeParams_$69273_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$_t_uint256_$_t_address_$","typeString":"function (address,struct StrategyStruct2.InitializeParams memory,struct Metadata memory) external returns (uint256,address)"}},"id":93640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4368:503:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_address_$","typeString":"tuple(uint256,address)"}},"src":"4345:526:123","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93642,"nodeType":"ExpressionStatement","src":"4345:526:123"},{"expression":{"id":93645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":93643,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93268,"src":"4882:6:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":93644,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93594,"src":"4891:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4882:16:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":93646,"nodeType":"ExpressionStatement","src":"4882:16:123"},{"expression":{"id":93654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":93647,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93266,"src":"4908:10:123","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":93651,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93597,"src":"4944:9:123","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":93650,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4936:8:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":93649,"name":"address","nodeType":"ElementaryTypeName","src":"4936:8:123","stateMutability":"payable","typeDescriptions":{}}},"id":93652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4936:18:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":93648,"name":"CVStrategyV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69799,"src":"4921:14:123","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategyV0_1_$69799_$","typeString":"type(contract CVStrategyV0_1)"}},"id":93653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4921:34:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}},"src":"4908:47:123","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}},"id":93655,"nodeType":"ExpressionStatement","src":"4908:47:123"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":93659,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"4979:10:123","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":93660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4979:12:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93656,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"4965:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":93658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4968:10:123","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":21227,"src":"4965:13:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4965:27:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93662,"nodeType":"ExpressionStatement","src":"4965:27:123"},{"expression":{"arguments":[{"arguments":[{"id":93666,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93271,"src":"5034:17:123","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}],"id":93665,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5026:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93664,"name":"address","nodeType":"ElementaryTypeName","src":"5026:7:123","typeDescriptions":{}}},"id":93667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5026:26:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":93668,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5066:1:123","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":93671,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93271,"src":"5104:17:123","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"id":93672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5122:11:123","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":72200,"src":"5104:29:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5134:8:123","memberName":"selector","nodeType":"MemberAccess","src":"5104:38:123","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":93676,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93266,"src":"5152:10:123","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}],"id":93675,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5144:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93674,"name":"address","nodeType":"ElementaryTypeName","src":"5144:7:123","typeDescriptions":{}}},"id":93677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5144:19:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93669,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5081:3:123","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":93670,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5085:18:123","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"5081:22:123","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":93678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5081:83:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":93663,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[94978,94999,95055],"referencedDeclaration":94978,"src":"5002:10:123","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":93679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5002:172:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93680,"nodeType":"ExpressionStatement","src":"5002:172:123"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":93681,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"5184:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":93683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5187:9:123","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":21239,"src":"5184:12:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":93684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5184:14:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93685,"nodeType":"ExpressionStatement","src":"5184:14:123"},{"expression":{"arguments":[{"arguments":[{"id":93693,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93271,"src":"5257:17:123","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}],"id":93692,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5249:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93691,"name":"address","nodeType":"ElementaryTypeName","src":"5249:7:123","typeDescriptions":{}}},"id":93694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5249:26:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93695,"name":"STAKE_WITH_FEES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93317,"src":"5277:15:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":93686,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93271,"src":"5209:17:123","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"id":93688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5227:11:123","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":71051,"src":"5209:29:123","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$56528_$","typeString":"function () view external returns (contract IERC20)"}},"id":93689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5209:31:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":93690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5241:7:123","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":56515,"src":"5209:39:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":93696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5209:84:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":93697,"nodeType":"ExpressionStatement","src":"5209:84:123"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":93698,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93271,"src":"5303:17:123","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72996","typeString":"contract RegistryCommunityV0_1"}},"id":93700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5321:22:123","memberName":"stakeAndRegisterMember","nodeType":"MemberAccess","referencedDeclaration":72480,"src":"5303:40:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":93701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5303:42:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93702,"nodeType":"ExpressionStatement","src":"5303:42:123"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":93703,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93266,"src":"5355:10:123","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}},"id":93705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5366:14:123","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":66550,"src":"5355:25:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":93706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5355:27:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93707,"nodeType":"ExpressionStatement","src":"5355:27:123"},{"expression":{"arguments":[{"arguments":[{"id":93713,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5409:4:123","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitratorTest_$94344","typeString":"contract SafeArbitratorTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeArbitratorTest_$94344","typeString":"contract SafeArbitratorTest"}],"id":93712,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5401:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93711,"name":"address","nodeType":"ElementaryTypeName","src":"5401:7:123","typeDescriptions":{}}},"id":93714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5401:13:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93715,"name":"POOL_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93289,"src":"5416:11:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":93708,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"5393:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":93710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5396:4:123","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":20966,"src":"5393:7:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":93716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5393:35:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93717,"nodeType":"ExpressionStatement","src":"5393:35:123"},{"expression":{"arguments":[{"id":93723,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93594,"src":"5474:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93724,"name":"POOL_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93289,"src":"5483:11:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":93718,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5086,"src":"5438:4:123","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":93719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5438:6:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":93720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5445:8:123","memberName":"fundPool","nodeType":"MemberAccess","referencedDeclaration":588,"src":"5438:15:123","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) payable external"}},"id":93722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":93721,"name":"POOL_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93289,"src":"5461:11:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"5438:35:123","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$value","typeString":"function (uint256,uint256) payable external"}},"id":93725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5438:57:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93726,"nodeType":"ExpressionStatement","src":"5438:57:123"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"1948:5:123","parameters":{"id":93318,"nodeType":"ParameterList","parameters":[],"src":"1953:2:123"},"returnParameters":{"id":93319,"nodeType":"ParameterList","parameters":[],"src":"1963:0:123"},"scope":94344,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93803,"nodeType":"FunctionDefinition","src":"5508:634:123","nodes":[],"body":{"id":93802,"nodeType":"Block","src":"5570:572:123","nodes":[],"statements":[{"assignments":[93734],"declarations":[{"constant":false,"id":93734,"mutability":"mutable","name":"requestAmount","nameLocation":"5588:13:123","nodeType":"VariableDeclaration","scope":93802,"src":"5580:21:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93733,"name":"uint256","nodeType":"ElementaryTypeName","src":"5580:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":93736,"initialValue":{"hexValue":"31","id":93735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5604:7:123","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"5580:31:123"},{"assignments":[93741],"declarations":[{"constant":false,"id":93741,"mutability":"mutable","name":"proposal","nameLocation":"5658:8:123","nodeType":"VariableDeclaration","scope":93802,"src":"5621:45:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal"},"typeName":{"id":93740,"nodeType":"UserDefinedTypeName","pathNode":{"id":93739,"name":"StrategyStruct.CreateProposal","nameLocations":["5621:14:123","5636:14:123"],"nodeType":"IdentifierPath","referencedDeclaration":65555,"src":"5621:29:123"},"referencedDeclaration":65555,"src":"5621:29:123","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_storage_ptr","typeString":"struct StrategyStruct.CreateProposal"}},"visibility":"internal"}],"id":93754,"initialValue":{"arguments":[{"id":93744,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93268,"src":"5711:6:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":93745,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"5719:10:123","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":93746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5719:12:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93747,"name":"requestAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93734,"src":"5733:13:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":93750,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"5756:6:123","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":93749,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5748:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93748,"name":"address","nodeType":"ElementaryTypeName","src":"5748:7:123","typeDescriptions":{}}},"id":93751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5748:15:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93752,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77096,"src":"5765:8:123","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}],"expression":{"id":93742,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"5681:14:123","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$65656_$","typeString":"type(library StrategyStruct)"}},"id":93743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5696:14:123","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":65555,"src":"5681:29:123","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$65555_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}},"id":93753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5681:93:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"5621:153:123"},{"assignments":[93756],"declarations":[{"constant":false,"id":93756,"mutability":"mutable","name":"data","nameLocation":"5797:4:123","nodeType":"VariableDeclaration","scope":93802,"src":"5784:17:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":93755,"name":"bytes","nodeType":"ElementaryTypeName","src":"5784:5:123","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":93761,"initialValue":{"arguments":[{"id":93759,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93741,"src":"5815:8:123","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$65555_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}],"expression":{"id":93757,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5804:3:123","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":93758,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5808:6:123","memberName":"encode","nodeType":"MemberAccess","src":"5804:10:123","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":93760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5804:20:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5784:40:123"},{"assignments":[null,null,93763,null,null,null],"declarations":[null,null,{"constant":false,"id":93763,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"5847:25:123","nodeType":"VariableDeclaration","scope":93802,"src":"5839:33:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93762,"name":"uint256","nodeType":"ElementaryTypeName","src":"5839:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,null,null],"id":93767,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":93764,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93266,"src":"5879:10:123","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}},"id":93765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5890:19:123","memberName":"getArbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":67627,"src":"5879:30:123","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IArbitrator_$74044_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function () view external returns (contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"id":93766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5879:32:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_contract$_IArbitrator_$74044_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"5835:76:123"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":93771,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"5929:10:123","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":93772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5929:12:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93773,"name":"submitterCollateralAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93763,"src":"5943:25:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":93768,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"5921:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":93770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5924:4:123","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":20966,"src":"5921:7:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":93774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5921:48:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93775,"nodeType":"ExpressionStatement","src":"5921:48:123"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":93779,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"5994:10:123","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":93780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5994:12:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93776,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"5980:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":93778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5983:10:123","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":21227,"src":"5980:13:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5980:27:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93782,"nodeType":"ExpressionStatement","src":"5980:27:123"},{"expression":{"id":93795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":93783,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93731,"src":"6017:10:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":93791,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93268,"src":"6097:6:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93792,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93756,"src":"6105:4:123","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":93786,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5086,"src":"6038:4:123","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":93787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6038:6:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":93788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6045:17:123","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"6038:24:123","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":93790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":93789,"name":"submitterCollateralAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93763,"src":"6070:25:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"6038:58:123","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$value","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":93793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6038:72:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":93785,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6030:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":93784,"name":"uint160","nodeType":"ElementaryTypeName","src":"6030:7:123","typeDescriptions":{}}},"id":93794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6030:81:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"6017:94:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":93796,"nodeType":"ExpressionStatement","src":"6017:94:123"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":93797,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"6121:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":93799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6124:9:123","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":21239,"src":"6121:12:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":93800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6121:14:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93801,"nodeType":"ExpressionStatement","src":"6121:14:123"}]},"functionSelector":"180fd87f","implemented":true,"kind":"function","modifiers":[],"name":"createProposal","nameLocation":"5517:14:123","parameters":{"id":93729,"nodeType":"ParameterList","parameters":[],"src":"5531:2:123"},"returnParameters":{"id":93732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93731,"mutability":"mutable","name":"proposalId","nameLocation":"5558:10:123","nodeType":"VariableDeclaration","scope":93803,"src":"5550:18:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93730,"name":"uint256","nodeType":"ElementaryTypeName","src":"5550:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5549:20:123"},"scope":94344,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93836,"nodeType":"FunctionDefinition","src":"6148:257:123","nodes":[],"body":{"id":93835,"nodeType":"Block","src":"6188:217:123","nodes":[],"statements":[{"expression":{"arguments":[{"id":93809,"name":"factoryOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93280,"src":"6212:12:123","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93806,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"6198:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":93808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6201:10:123","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":21227,"src":"6198:13:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6198:27:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93811,"nodeType":"ExpressionStatement","src":"6198:27:123"},{"assignments":[93813],"declarations":[{"constant":false,"id":93813,"mutability":"mutable","name":"newFee","nameLocation":"6243:6:123","nodeType":"VariableDeclaration","scope":93835,"src":"6235:14:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93812,"name":"uint256","nodeType":"ElementaryTypeName","src":"6235:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":93815,"initialValue":{"hexValue":"302e3032","id":93814,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6252:10:123","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_20000000000000000_by_1","typeString":"int_const 20000000000000000"},"value":"0.02"},"nodeType":"VariableDeclarationStatement","src":"6235:27:123"},{"expression":{"arguments":[{"id":93819,"name":"newFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93813,"src":"6305:6:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":93816,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93263,"src":"6272:14:123","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73862","typeString":"contract SafeArbitrator"}},"id":93818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6287:17:123","memberName":"setArbitrationFee","nodeType":"MemberAccess","referencedDeclaration":73601,"src":"6272:32:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":93820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6272:40:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93821,"nodeType":"ExpressionStatement","src":"6272:40:123"},{"expression":{"arguments":[{"arguments":[{"hexValue":"","id":93825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6362:2:123","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":93823,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93263,"src":"6331:14:123","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73862","typeString":"contract SafeArbitrator"}},"id":93824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6346:15:123","memberName":"arbitrationCost","nodeType":"MemberAccess","referencedDeclaration":73799,"src":"6331:30:123","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) view external returns (uint256)"}},"id":93826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6331:34:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93827,"name":"newFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93813,"src":"6367:6:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":93822,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"6322:8:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6322:52:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93829,"nodeType":"ExpressionStatement","src":"6322:52:123"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":93830,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"6384:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":93832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6387:9:123","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":21239,"src":"6384:12:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":93833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6384:14:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93834,"nodeType":"ExpressionStatement","src":"6384:14:123"}]},"functionSelector":"a41cfc99","implemented":true,"kind":"function","modifiers":[],"name":"testSetArbitrationFee","nameLocation":"6157:21:123","parameters":{"id":93804,"nodeType":"ParameterList","parameters":[],"src":"6178:2:123"},"returnParameters":{"id":93805,"nodeType":"ParameterList","parameters":[],"src":"6188:0:123"},"scope":94344,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93913,"nodeType":"FunctionDefinition","src":"6411:686:123","nodes":[],"body":{"id":93912,"nodeType":"Block","src":"6447:650:123","nodes":[],"statements":[{"assignments":[93840],"declarations":[{"constant":false,"id":93840,"mutability":"mutable","name":"proposalId","nameLocation":"6465:10:123","nodeType":"VariableDeclaration","scope":93912,"src":"6457:18:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93839,"name":"uint256","nodeType":"ElementaryTypeName","src":"6457:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":93843,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":93841,"name":"createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93803,"src":"6478:14:123","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_uint256_$","typeString":"function () returns (uint256)"}},"id":93842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6478:16:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6457:37:123"},{"expression":{"arguments":[{"id":93847,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93286,"src":"6512:10:123","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3130","id":93848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6524:8:123","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"}],"expression":{"id":93844,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"6504:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":93846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6507:4:123","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":20966,"src":"6504:7:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":93849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6504:29:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93850,"nodeType":"ExpressionStatement","src":"6504:29:123"},{"expression":{"arguments":[{"id":93854,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93286,"src":"6552:10:123","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93851,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"6543:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":93853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6546:5:123","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"6543:8:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6543:20:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93856,"nodeType":"ExpressionStatement","src":"6543:20:123"},{"assignments":[93858],"declarations":[{"constant":false,"id":93858,"mutability":"mutable","name":"disputeID","nameLocation":"6582:9:123","nodeType":"VariableDeclaration","scope":93912,"src":"6574:17:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93857,"name":"uint256","nodeType":"ElementaryTypeName","src":"6574:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":93869,"initialValue":{"arguments":[{"id":93865,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93840,"src":"6658:10:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":93866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6670:2:123","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"","id":93867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6674:2:123","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":93859,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93266,"src":"6594:10:123","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}},"id":93860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6605:15:123","memberName":"disputeProposal","nodeType":"MemberAccess","referencedDeclaration":68903,"src":"6594:26:123","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":93864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":93863,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e3031","id":93861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6628:10:123","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"value":"0.01"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":93862,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93304,"src":"6641:15:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6628:28:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"6594:63:123","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":93868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6594:83:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6574:103:123"},{"assignments":[null,null,93871,93873,93875,93878],"declarations":[null,null,{"constant":false,"id":93871,"mutability":"mutable","name":"choices","nameLocation":"6763:7:123","nodeType":"VariableDeclaration","scope":93912,"src":"6755:15:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93870,"name":"uint256","nodeType":"ElementaryTypeName","src":"6755:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":93873,"mutability":"mutable","name":"arbitrationFee","nameLocation":"6780:14:123","nodeType":"VariableDeclaration","scope":93912,"src":"6772:22:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93872,"name":"uint256","nodeType":"ElementaryTypeName","src":"6772:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":93875,"mutability":"mutable","name":"ruling","nameLocation":"6804:6:123","nodeType":"VariableDeclaration","scope":93912,"src":"6796:14:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93874,"name":"uint256","nodeType":"ElementaryTypeName","src":"6796:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":93878,"mutability":"mutable","name":"status","nameLocation":"6841:6:123","nodeType":"VariableDeclaration","scope":93912,"src":"6812:35:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73505","typeString":"enum SafeArbitrator.DisputeStatus"},"typeName":{"id":93877,"nodeType":"UserDefinedTypeName","pathNode":{"id":93876,"name":"SafeArbitrator.DisputeStatus","nameLocations":["6812:14:123","6827:13:123"],"nodeType":"IdentifierPath","referencedDeclaration":73505,"src":"6812:28:123"},"referencedDeclaration":73505,"src":"6812:28:123","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73505","typeString":"enum SafeArbitrator.DisputeStatus"}},"visibility":"internal"}],"id":93883,"initialValue":{"arguments":[{"id":93881,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93858,"src":"6887:9:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":93879,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93263,"src":"6863:14:123","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73862","typeString":"contract SafeArbitrator"}},"id":93880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6878:8:123","memberName":"disputes","nodeType":"MemberAccess","referencedDeclaration":73526,"src":"6863:23:123","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_contract$_IArbitrable_$73940_$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_DisputeStatus_$73505_$","typeString":"function (uint256) view external returns (contract IArbitrable,bytes memory,uint256,uint256,uint256,enum SafeArbitrator.DisputeStatus)"}},"id":93882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6863:34:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_contract$_IArbitrable_$73940_$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_DisputeStatus_$73505_$","typeString":"tuple(contract IArbitrable,bytes memory,uint256,uint256,uint256,enum SafeArbitrator.DisputeStatus)"}},"nodeType":"VariableDeclarationStatement","src":"6751:146:123"},{"expression":{"arguments":[{"id":93885,"name":"choices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93871,"src":"6917:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"33","id":93886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6926:1:123","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":93884,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"6908:8:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6908:20:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93888,"nodeType":"ExpressionStatement","src":"6908:20:123"},{"expression":{"arguments":[{"id":93890,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93873,"src":"6947:14:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93891,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93304,"src":"6963:15:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":93889,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"6938:8:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6938:41:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93893,"nodeType":"ExpressionStatement","src":"6938:41:123"},{"expression":{"arguments":[{"id":93895,"name":"ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93875,"src":"6998:6:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":93896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7006:1:123","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":93894,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"6989:8:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6989:19:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93898,"nodeType":"ExpressionStatement","src":"6989:19:123"},{"expression":{"arguments":[{"arguments":[{"id":93902,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93878,"src":"7035:6:123","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73505","typeString":"enum SafeArbitrator.DisputeStatus"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_DisputeStatus_$73505","typeString":"enum SafeArbitrator.DisputeStatus"}],"id":93901,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7027:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":93900,"name":"uint256","nodeType":"ElementaryTypeName","src":"7027:7:123","typeDescriptions":{}}},"id":93903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7027:15:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"expression":{"id":93906,"name":"SafeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73862,"src":"7052:14:123","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeArbitrator_$73862_$","typeString":"type(contract SafeArbitrator)"}},"id":93907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7067:13:123","memberName":"DisputeStatus","nodeType":"MemberAccess","referencedDeclaration":73505,"src":"7052:28:123","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_DisputeStatus_$73505_$","typeString":"type(enum SafeArbitrator.DisputeStatus)"}},"id":93908,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7081:7:123","memberName":"Waiting","nodeType":"MemberAccess","referencedDeclaration":73503,"src":"7052:36:123","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73505","typeString":"enum SafeArbitrator.DisputeStatus"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_DisputeStatus_$73505","typeString":"enum SafeArbitrator.DisputeStatus"}],"id":93905,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7044:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":93904,"name":"uint256","nodeType":"ElementaryTypeName","src":"7044:7:123","typeDescriptions":{}}},"id":93909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7044:45:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":93899,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"7018:8:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7018:72:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93911,"nodeType":"ExpressionStatement","src":"7018:72:123"}]},"functionSelector":"985a0b94","implemented":true,"kind":"function","modifiers":[],"name":"testCreateDispute","nameLocation":"6420:17:123","parameters":{"id":93837,"nodeType":"ParameterList","parameters":[],"src":"6437:2:123"},"returnParameters":{"id":93838,"nodeType":"ParameterList","parameters":[],"src":"6447:0:123"},"scope":94344,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":93997,"nodeType":"FunctionDefinition","src":"7103:606:123","nodes":[],"body":{"id":93996,"nodeType":"Block","src":"7139:570:123","nodes":[],"statements":[{"assignments":[93917],"declarations":[{"constant":false,"id":93917,"mutability":"mutable","name":"proposalId","nameLocation":"7157:10:123","nodeType":"VariableDeclaration","scope":93996,"src":"7149:18:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93916,"name":"uint256","nodeType":"ElementaryTypeName","src":"7149:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":93920,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":93918,"name":"createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93803,"src":"7170:14:123","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_uint256_$","typeString":"function () returns (uint256)"}},"id":93919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7170:16:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7149:37:123"},{"expression":{"arguments":[{"id":93924,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93286,"src":"7205:10:123","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3130","id":93925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7217:8:123","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"}],"expression":{"id":93921,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"7197:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":93923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7200:4:123","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":20966,"src":"7197:7:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":93926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7197:29:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93927,"nodeType":"ExpressionStatement","src":"7197:29:123"},{"expression":{"arguments":[{"id":93931,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93286,"src":"7245:10:123","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93928,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"7236:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":93930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7239:5:123","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"7236:8:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7236:20:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93933,"nodeType":"ExpressionStatement","src":"7236:20:123"},{"assignments":[93935],"declarations":[{"constant":false,"id":93935,"mutability":"mutable","name":"disputeID","nameLocation":"7274:9:123","nodeType":"VariableDeclaration","scope":93996,"src":"7266:17:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93934,"name":"uint256","nodeType":"ElementaryTypeName","src":"7266:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":93946,"initialValue":{"arguments":[{"id":93942,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93917,"src":"7350:10:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":93943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7362:2:123","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"","id":93944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7366:2:123","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":93936,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93266,"src":"7286:10:123","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}},"id":93937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7297:15:123","memberName":"disputeProposal","nodeType":"MemberAccess","referencedDeclaration":68903,"src":"7286:26:123","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":93941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":93940,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e3031","id":93938,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7320:10:123","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"value":"0.01"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":93939,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93304,"src":"7333:15:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7320:28:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"7286:63:123","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":93945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7286:83:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7266:103:123"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":93952,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94875,"src":"7397:12:123","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_ISafe_$74170_$","typeString":"function () returns (contract ISafe)"}},"id":93953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7397:14:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}],"id":93951,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7389:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93950,"name":"address","nodeType":"ElementaryTypeName","src":"7389:7:123","typeDescriptions":{}}},"id":93954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7389:23:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93947,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"7380:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":93949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7383:5:123","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"7380:8:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":93955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7380:33:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93956,"nodeType":"ExpressionStatement","src":"7380:33:123"},{"expression":{"arguments":[{"id":93960,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93935,"src":"7452:9:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"32","id":93961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7463:1:123","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"arguments":[{"id":93964,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93266,"src":"7474:10:123","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}],"id":93963,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7466:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93962,"name":"address","nodeType":"ElementaryTypeName","src":"7466:7:123","typeDescriptions":{}}},"id":93965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7466:19:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":93957,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93263,"src":"7423:14:123","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73862","typeString":"contract SafeArbitrator"}},"id":93959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7438:13:123","memberName":"executeRuling","nodeType":"MemberAccess","referencedDeclaration":73787,"src":"7423:28:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address) external"}},"id":93966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7423:63:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93967,"nodeType":"ExpressionStatement","src":"7423:63:123"},{"assignments":[null,null,null,null,93969,93972],"declarations":[null,null,null,null,{"constant":false,"id":93969,"mutability":"mutable","name":"ruling","nameLocation":"7511:6:123","nodeType":"VariableDeclaration","scope":93996,"src":"7503:14:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93968,"name":"uint256","nodeType":"ElementaryTypeName","src":"7503:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":93972,"mutability":"mutable","name":"status","nameLocation":"7548:6:123","nodeType":"VariableDeclaration","scope":93996,"src":"7519:35:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73505","typeString":"enum SafeArbitrator.DisputeStatus"},"typeName":{"id":93971,"nodeType":"UserDefinedTypeName","pathNode":{"id":93970,"name":"SafeArbitrator.DisputeStatus","nameLocations":["7519:14:123","7534:13:123"],"nodeType":"IdentifierPath","referencedDeclaration":73505,"src":"7519:28:123"},"referencedDeclaration":73505,"src":"7519:28:123","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73505","typeString":"enum SafeArbitrator.DisputeStatus"}},"visibility":"internal"}],"id":93977,"initialValue":{"arguments":[{"id":93975,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93935,"src":"7582:9:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":93973,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93263,"src":"7558:14:123","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73862","typeString":"contract SafeArbitrator"}},"id":93974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7573:8:123","memberName":"disputes","nodeType":"MemberAccess","referencedDeclaration":73526,"src":"7558:23:123","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_contract$_IArbitrable_$73940_$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_DisputeStatus_$73505_$","typeString":"function (uint256) view external returns (contract IArbitrable,bytes memory,uint256,uint256,uint256,enum SafeArbitrator.DisputeStatus)"}},"id":93976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7558:34:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_contract$_IArbitrable_$73940_$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_DisputeStatus_$73505_$","typeString":"tuple(contract IArbitrable,bytes memory,uint256,uint256,uint256,enum SafeArbitrator.DisputeStatus)"}},"nodeType":"VariableDeclarationStatement","src":"7497:95:123"},{"expression":{"arguments":[{"id":93979,"name":"ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93969,"src":"7611:6:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"32","id":93980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7619:1:123","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":93978,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"7602:8:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7602:19:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93982,"nodeType":"ExpressionStatement","src":"7602:19:123"},{"expression":{"arguments":[{"arguments":[{"id":93986,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93972,"src":"7648:6:123","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73505","typeString":"enum SafeArbitrator.DisputeStatus"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_DisputeStatus_$73505","typeString":"enum SafeArbitrator.DisputeStatus"}],"id":93985,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7640:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":93984,"name":"uint256","nodeType":"ElementaryTypeName","src":"7640:7:123","typeDescriptions":{}}},"id":93987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7640:15:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"expression":{"id":93990,"name":"SafeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73862,"src":"7665:14:123","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeArbitrator_$73862_$","typeString":"type(contract SafeArbitrator)"}},"id":93991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7680:13:123","memberName":"DisputeStatus","nodeType":"MemberAccess","referencedDeclaration":73505,"src":"7665:28:123","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_DisputeStatus_$73505_$","typeString":"type(enum SafeArbitrator.DisputeStatus)"}},"id":93992,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7694:6:123","memberName":"Solved","nodeType":"MemberAccess","referencedDeclaration":73504,"src":"7665:35:123","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73505","typeString":"enum SafeArbitrator.DisputeStatus"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_DisputeStatus_$73505","typeString":"enum SafeArbitrator.DisputeStatus"}],"id":93989,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7657:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":93988,"name":"uint256","nodeType":"ElementaryTypeName","src":"7657:7:123","typeDescriptions":{}}},"id":93993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7657:44:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":93983,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"7631:8:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":93994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7631:71:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93995,"nodeType":"ExpressionStatement","src":"7631:71:123"}]},"functionSelector":"758311e4","implemented":true,"kind":"function","modifiers":[],"name":"testExecuteRuling","nameLocation":"7112:17:123","parameters":{"id":93914,"nodeType":"ParameterList","parameters":[],"src":"7129:2:123"},"returnParameters":{"id":93915,"nodeType":"ParameterList","parameters":[],"src":"7139:0:123"},"scope":94344,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":94013,"nodeType":"FunctionDefinition","src":"7715:150:123","nodes":[],"body":{"id":94012,"nodeType":"Block","src":"7758:107:123","nodes":[],"statements":[{"assignments":[94001],"declarations":[{"constant":false,"id":94001,"mutability":"mutable","name":"cost","nameLocation":"7776:4:123","nodeType":"VariableDeclaration","scope":94012,"src":"7768:12:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94000,"name":"uint256","nodeType":"ElementaryTypeName","src":"7768:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94006,"initialValue":{"arguments":[{"hexValue":"","id":94004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7814:2:123","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":94002,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93263,"src":"7783:14:123","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73862","typeString":"contract SafeArbitrator"}},"id":94003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7798:15:123","memberName":"arbitrationCost","nodeType":"MemberAccess","referencedDeclaration":73799,"src":"7783:30:123","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) view external returns (uint256)"}},"id":94005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7783:34:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7768:49:123"},{"expression":{"arguments":[{"id":94008,"name":"cost","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94001,"src":"7836:4:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":94009,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93304,"src":"7842:15:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94007,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"7827:8:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":94010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7827:31:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94011,"nodeType":"ExpressionStatement","src":"7827:31:123"}]},"functionSelector":"c73b09e7","implemented":true,"kind":"function","modifiers":[],"name":"testArbitrationCost","nameLocation":"7724:19:123","parameters":{"id":93998,"nodeType":"ParameterList","parameters":[],"src":"7743:2:123"},"returnParameters":{"id":93999,"nodeType":"ParameterList","parameters":[],"src":"7758:0:123"},"scope":94344,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":94049,"nodeType":"FunctionDefinition","src":"7871:285:123","nodes":[],"body":{"id":94048,"nodeType":"Block","src":"7932:224:123","nodes":[],"statements":[{"expression":{"arguments":[{"id":94019,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93286,"src":"7950:10:123","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3130","id":94020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7962:8:123","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"}],"expression":{"id":94016,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"7942:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":94018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7945:4:123","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":20966,"src":"7942:7:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":94021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7942:29:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94022,"nodeType":"ExpressionStatement","src":"7942:29:123"},{"expression":{"arguments":[{"id":94026,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93286,"src":"7990:10:123","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":94023,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"7981:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":94025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7984:5:123","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"7981:8:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":94027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7981:20:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94028,"nodeType":"ExpressionStatement","src":"7981:20:123"},{"expression":{"arguments":[{"expression":{"expression":{"id":94032,"name":"SafeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73862,"src":"8027:14:123","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeArbitrator_$73862_$","typeString":"type(contract SafeArbitrator)"}},"id":94033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8042:24:123","memberName":"NotEnoughArbitrationFees","nodeType":"MemberAccess","referencedDeclaration":73538,"src":"8027:39:123","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":94034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8067:8:123","memberName":"selector","nodeType":"MemberAccess","src":"8027:48:123","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":94029,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"8011:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":94031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8014:12:123","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21413,"src":"8011:15:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":94035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8011:65:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94036,"nodeType":"ExpressionStatement","src":"8011:65:123"},{"expression":{"arguments":[{"hexValue":"33","id":94044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8143:1:123","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},{"hexValue":"","id":94045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8146:2:123","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":94037,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93263,"src":"8086:14:123","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73862","typeString":"contract SafeArbitrator"}},"id":94039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8101:13:123","memberName":"createDispute","nodeType":"MemberAccess","referencedDeclaration":73676,"src":"8086:28:123","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":94043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":94040,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93304,"src":"8122:15:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":94041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8140:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8122:19:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"8086:56:123","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":94046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8086:63:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":94047,"nodeType":"ExpressionStatement","src":"8086:63:123"}]},"functionSelector":"8292636f","implemented":true,"kind":"function","modifiers":[],"name":"testCannotCreateDisputeWithInsufficientFee","nameLocation":"7880:42:123","parameters":{"id":94014,"nodeType":"ParameterList","parameters":[],"src":"7922:2:123"},"returnParameters":{"id":94015,"nodeType":"ParameterList","parameters":[],"src":"7932:0:123"},"scope":94344,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":94114,"nodeType":"FunctionDefinition","src":"8162:502:123","nodes":[],"body":{"id":94113,"nodeType":"Block","src":"8215:449:123","nodes":[],"statements":[{"assignments":[94053],"declarations":[{"constant":false,"id":94053,"mutability":"mutable","name":"proposalId","nameLocation":"8233:10:123","nodeType":"VariableDeclaration","scope":94113,"src":"8225:18:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94052,"name":"uint256","nodeType":"ElementaryTypeName","src":"8225:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94056,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":94054,"name":"createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93803,"src":"8246:14:123","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_uint256_$","typeString":"function () returns (uint256)"}},"id":94055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8246:16:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8225:37:123"},{"expression":{"arguments":[{"id":94060,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93286,"src":"8281:10:123","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3130","id":94061,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8293:8:123","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"}],"expression":{"id":94057,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"8273:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":94059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8276:4:123","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":20966,"src":"8273:7:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":94062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8273:29:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94063,"nodeType":"ExpressionStatement","src":"8273:29:123"},{"expression":{"arguments":[{"id":94067,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93286,"src":"8321:10:123","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":94064,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"8312:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":94066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8315:5:123","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"8312:8:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":94068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8312:20:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94069,"nodeType":"ExpressionStatement","src":"8312:20:123"},{"assignments":[94071],"declarations":[{"constant":false,"id":94071,"mutability":"mutable","name":"disputeID","nameLocation":"8350:9:123","nodeType":"VariableDeclaration","scope":94113,"src":"8342:17:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94070,"name":"uint256","nodeType":"ElementaryTypeName","src":"8342:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94082,"initialValue":{"arguments":[{"id":94078,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94053,"src":"8426:10:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":94079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8438:2:123","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"","id":94080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8442:2:123","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":94072,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93266,"src":"8362:10:123","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}},"id":94073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8373:15:123","memberName":"disputeProposal","nodeType":"MemberAccess","referencedDeclaration":68903,"src":"8362:26:123","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":94077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94076,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e3031","id":94074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8396:10:123","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"value":"0.01"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":94075,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93304,"src":"8409:15:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8396:28:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"8362:63:123","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":94081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8362:83:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8342:103:123"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":94088,"name":"SafeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73862,"src":"8495:14:123","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeArbitrator_$73862_$","typeString":"type(contract SafeArbitrator)"}},"id":94089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8510:8:123","memberName":"OnlySafe","nodeType":"MemberAccess","referencedDeclaration":73536,"src":"8495:23:123","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":94090,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8519:8:123","memberName":"selector","nodeType":"MemberAccess","src":"8495:32:123","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":94091,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93286,"src":"8529:10:123","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":94092,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94442,"src":"8541:11:123","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}],"expression":{"id":94086,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8472:3:123","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":94087,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8476:18:123","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"8472:22:123","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":94093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8472:81:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":94083,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"8456:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":94085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8459:12:123","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21419,"src":"8456:15:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":94094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8456:98:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94095,"nodeType":"ExpressionStatement","src":"8456:98:123"},{"expression":{"arguments":[{"id":94099,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93286,"src":"8573:10:123","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":94096,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"8564:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":94098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8567:5:123","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"8564:8:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":94100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8564:20:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94101,"nodeType":"ExpressionStatement","src":"8564:20:123"},{"expression":{"arguments":[{"id":94105,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94071,"src":"8623:9:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"32","id":94106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8634:1:123","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"arguments":[{"id":94109,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93266,"src":"8645:10:123","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}],"id":94108,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8637:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":94107,"name":"address","nodeType":"ElementaryTypeName","src":"8637:7:123","typeDescriptions":{}}},"id":94110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8637:19:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":94102,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93263,"src":"8594:14:123","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73862","typeString":"contract SafeArbitrator"}},"id":94104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8609:13:123","memberName":"executeRuling","nodeType":"MemberAccess","referencedDeclaration":73787,"src":"8594:28:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address) external"}},"id":94111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8594:63:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94112,"nodeType":"ExpressionStatement","src":"8594:63:123"}]},"functionSelector":"94d181e3","implemented":true,"kind":"function","modifiers":[],"name":"testCannotExecuteRulingFromNonSafe","nameLocation":"8171:34:123","parameters":{"id":94050,"nodeType":"ParameterList","parameters":[],"src":"8205:2:123"},"returnParameters":{"id":94051,"nodeType":"ParameterList","parameters":[],"src":"8215:0:123"},"scope":94344,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":94199,"nodeType":"FunctionDefinition","src":"8670:589:123","nodes":[],"body":{"id":94198,"nodeType":"Block","src":"8717:542:123","nodes":[],"statements":[{"assignments":[94118],"declarations":[{"constant":false,"id":94118,"mutability":"mutable","name":"proposalId","nameLocation":"8735:10:123","nodeType":"VariableDeclaration","scope":94198,"src":"8727:18:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94117,"name":"uint256","nodeType":"ElementaryTypeName","src":"8727:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94121,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":94119,"name":"createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93803,"src":"8748:14:123","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_uint256_$","typeString":"function () returns (uint256)"}},"id":94120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8748:16:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8727:37:123"},{"expression":{"arguments":[{"id":94125,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93286,"src":"8783:10:123","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3130","id":94126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8795:8:123","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"}],"expression":{"id":94122,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"8775:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":94124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8778:4:123","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":20966,"src":"8775:7:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":94127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8775:29:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94128,"nodeType":"ExpressionStatement","src":"8775:29:123"},{"expression":{"arguments":[{"id":94132,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93286,"src":"8823:10:123","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":94129,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"8814:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":94131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8817:5:123","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"8814:8:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":94133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8814:20:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94134,"nodeType":"ExpressionStatement","src":"8814:20:123"},{"assignments":[94136],"declarations":[{"constant":false,"id":94136,"mutability":"mutable","name":"disputeID","nameLocation":"8852:9:123","nodeType":"VariableDeclaration","scope":94198,"src":"8844:17:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94135,"name":"uint256","nodeType":"ElementaryTypeName","src":"8844:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94147,"initialValue":{"arguments":[{"id":94143,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94118,"src":"8928:10:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":94144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8940:2:123","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"","id":94145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8944:2:123","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":94137,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93266,"src":"8864:10:123","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}},"id":94138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8875:15:123","memberName":"disputeProposal","nodeType":"MemberAccess","referencedDeclaration":68903,"src":"8864:26:123","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":94142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94141,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e3031","id":94139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8898:10:123","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"value":"0.01"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":94140,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93304,"src":"8911:15:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8898:28:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"8864:63:123","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":94146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8864:83:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8844:103:123"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":94153,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94875,"src":"8975:12:123","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_ISafe_$74170_$","typeString":"function () returns (contract ISafe)"}},"id":94154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8975:14:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}],"id":94152,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8967:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":94151,"name":"address","nodeType":"ElementaryTypeName","src":"8967:7:123","typeDescriptions":{}}},"id":94155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8967:23:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":94148,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"8958:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":94150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8961:5:123","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"8958:8:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":94156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8958:33:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94157,"nodeType":"ExpressionStatement","src":"8958:33:123"},{"expression":{"arguments":[{"id":94161,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94136,"src":"9030:9:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"32","id":94162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9041:1:123","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"arguments":[{"id":94165,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93266,"src":"9052:10:123","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}],"id":94164,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9044:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":94163,"name":"address","nodeType":"ElementaryTypeName","src":"9044:7:123","typeDescriptions":{}}},"id":94166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9044:19:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":94158,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93263,"src":"9001:14:123","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73862","typeString":"contract SafeArbitrator"}},"id":94160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9016:13:123","memberName":"executeRuling","nodeType":"MemberAccess","referencedDeclaration":73787,"src":"9001:28:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address) external"}},"id":94167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9001:63:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94168,"nodeType":"ExpressionStatement","src":"9001:63:123"},{"expression":{"arguments":[{"expression":{"expression":{"id":94172,"name":"SafeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73862,"src":"9091:14:123","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeArbitrator_$73862_$","typeString":"type(contract SafeArbitrator)"}},"id":94173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9106:20:123","memberName":"DisputeAlreadySolved","nodeType":"MemberAccess","referencedDeclaration":73542,"src":"9091:35:123","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":94174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9127:8:123","memberName":"selector","nodeType":"MemberAccess","src":"9091:44:123","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":94169,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"9075:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":94171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9078:12:123","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21413,"src":"9075:15:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":94175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9075:61:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94176,"nodeType":"ExpressionStatement","src":"9075:61:123"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":94182,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94875,"src":"9163:12:123","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_ISafe_$74170_$","typeString":"function () returns (contract ISafe)"}},"id":94183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9163:14:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}],"id":94181,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9155:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":94180,"name":"address","nodeType":"ElementaryTypeName","src":"9155:7:123","typeDescriptions":{}}},"id":94184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9155:23:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":94177,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"9146:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":94179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9149:5:123","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"9146:8:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":94185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9146:33:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94186,"nodeType":"ExpressionStatement","src":"9146:33:123"},{"expression":{"arguments":[{"id":94190,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94136,"src":"9218:9:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":94191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9229:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":94194,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93266,"src":"9240:10:123","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}],"id":94193,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9232:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":94192,"name":"address","nodeType":"ElementaryTypeName","src":"9232:7:123","typeDescriptions":{}}},"id":94195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9232:19:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":94187,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93263,"src":"9189:14:123","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73862","typeString":"contract SafeArbitrator"}},"id":94189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9204:13:123","memberName":"executeRuling","nodeType":"MemberAccess","referencedDeclaration":73787,"src":"9189:28:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address) external"}},"id":94196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9189:63:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94197,"nodeType":"ExpressionStatement","src":"9189:63:123"}]},"functionSelector":"ec9ec248","implemented":true,"kind":"function","modifiers":[],"name":"testCannotExecuteRulingTwice","nameLocation":"8679:28:123","parameters":{"id":94115,"nodeType":"ParameterList","parameters":[],"src":"8707:2:123"},"returnParameters":{"id":94116,"nodeType":"ParameterList","parameters":[],"src":"8717:0:123"},"scope":94344,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":94263,"nodeType":"FunctionDefinition","src":"9265:464:123","nodes":[],"body":{"id":94262,"nodeType":"Block","src":"9311:418:123","nodes":[],"statements":[{"assignments":[94203],"declarations":[{"constant":false,"id":94203,"mutability":"mutable","name":"proposalId","nameLocation":"9329:10:123","nodeType":"VariableDeclaration","scope":94262,"src":"9321:18:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94202,"name":"uint256","nodeType":"ElementaryTypeName","src":"9321:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94206,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":94204,"name":"createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93803,"src":"9342:14:123","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_uint256_$","typeString":"function () returns (uint256)"}},"id":94205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9342:16:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9321:37:123"},{"expression":{"arguments":[{"id":94210,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93286,"src":"9377:10:123","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3130","id":94211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9389:8:123","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"}],"expression":{"id":94207,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"9369:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":94209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9372:4:123","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":20966,"src":"9369:7:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":94212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9369:29:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94213,"nodeType":"ExpressionStatement","src":"9369:29:123"},{"expression":{"arguments":[{"id":94217,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93286,"src":"9417:10:123","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":94214,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"9408:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":94216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9411:5:123","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"9408:8:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":94218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9408:20:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94219,"nodeType":"ExpressionStatement","src":"9408:20:123"},{"assignments":[94221],"declarations":[{"constant":false,"id":94221,"mutability":"mutable","name":"disputeID","nameLocation":"9446:9:123","nodeType":"VariableDeclaration","scope":94262,"src":"9438:17:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94220,"name":"uint256","nodeType":"ElementaryTypeName","src":"9438:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94232,"initialValue":{"arguments":[{"id":94228,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94203,"src":"9522:10:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":94229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9534:2:123","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"","id":94230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9538:2:123","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":94222,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93266,"src":"9458:10:123","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}},"id":94223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9469:15:123","memberName":"disputeProposal","nodeType":"MemberAccess","referencedDeclaration":68903,"src":"9458:26:123","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":94227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94226,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e3031","id":94224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9492:10:123","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"value":"0.01"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":94225,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93304,"src":"9505:15:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9492:28:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"9458:63:123","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":94231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9458:83:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9438:103:123"},{"expression":{"arguments":[{"expression":{"expression":{"id":94236,"name":"SafeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73862,"src":"9568:14:123","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeArbitrator_$73862_$","typeString":"type(contract SafeArbitrator)"}},"id":94237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9583:13:123","memberName":"InvalidRuling","nodeType":"MemberAccess","referencedDeclaration":73540,"src":"9568:28:123","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":94238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9597:8:123","memberName":"selector","nodeType":"MemberAccess","src":"9568:37:123","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":94233,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"9552:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":94235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9555:12:123","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21413,"src":"9552:15:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":94239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9552:54:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94240,"nodeType":"ExpressionStatement","src":"9552:54:123"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":94246,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94875,"src":"9633:12:123","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_ISafe_$74170_$","typeString":"function () returns (contract ISafe)"}},"id":94247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9633:14:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}],"id":94245,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9625:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":94244,"name":"address","nodeType":"ElementaryTypeName","src":"9625:7:123","typeDescriptions":{}}},"id":94248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9625:23:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":94241,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"9616:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":94243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9619:5:123","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"9616:8:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":94249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9616:33:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94250,"nodeType":"ExpressionStatement","src":"9616:33:123"},{"expression":{"arguments":[{"id":94254,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94221,"src":"9688:9:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"34","id":94255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9699:1:123","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},{"arguments":[{"id":94258,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93266,"src":"9710:10:123","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}],"id":94257,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9702:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":94256,"name":"address","nodeType":"ElementaryTypeName","src":"9702:7:123","typeDescriptions":{}}},"id":94259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9702:19:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":94251,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93263,"src":"9659:14:123","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73862","typeString":"contract SafeArbitrator"}},"id":94253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9674:13:123","memberName":"executeRuling","nodeType":"MemberAccess","referencedDeclaration":73787,"src":"9659:28:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address) external"}},"id":94260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9659:63:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94261,"nodeType":"ExpressionStatement","src":"9659:63:123"}]},"functionSelector":"6f6dfab1","implemented":true,"kind":"function","modifiers":[],"name":"testCannotRuleInvalidRuling","nameLocation":"9274:27:123","parameters":{"id":94200,"nodeType":"ParameterList","parameters":[],"src":"9301:2:123"},"returnParameters":{"id":94201,"nodeType":"ParameterList","parameters":[],"src":"9311:0:123"},"scope":94344,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":94343,"nodeType":"FunctionDefinition","src":"9735:577:123","nodes":[],"body":{"id":94342,"nodeType":"Block","src":"9771:541:123","nodes":[],"statements":[{"assignments":[94267],"declarations":[{"constant":false,"id":94267,"mutability":"mutable","name":"proposalId","nameLocation":"9789:10:123","nodeType":"VariableDeclaration","scope":94342,"src":"9781:18:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94266,"name":"uint256","nodeType":"ElementaryTypeName","src":"9781:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94270,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":94268,"name":"createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93803,"src":"9802:14:123","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_uint256_$","typeString":"function () returns (uint256)"}},"id":94269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9802:16:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9781:37:123"},{"expression":{"arguments":[{"id":94274,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93286,"src":"9837:10:123","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3130","id":94275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9849:8:123","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"}],"expression":{"id":94271,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"9829:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":94273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9832:4:123","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":20966,"src":"9829:7:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":94276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9829:29:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94277,"nodeType":"ExpressionStatement","src":"9829:29:123"},{"expression":{"arguments":[{"id":94281,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93286,"src":"9877:10:123","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":94278,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"9868:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":94280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9871:5:123","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"9868:8:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":94282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9868:20:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94283,"nodeType":"ExpressionStatement","src":"9868:20:123"},{"assignments":[94285],"declarations":[{"constant":false,"id":94285,"mutability":"mutable","name":"disputeID","nameLocation":"9906:9:123","nodeType":"VariableDeclaration","scope":94342,"src":"9898:17:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94284,"name":"uint256","nodeType":"ElementaryTypeName","src":"9898:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94296,"initialValue":{"arguments":[{"id":94292,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94267,"src":"9982:10:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":94293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9994:2:123","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"","id":94294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9998:2:123","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":94286,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93266,"src":"9918:10:123","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}},"id":94287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9929:15:123","memberName":"disputeProposal","nodeType":"MemberAccess","referencedDeclaration":68903,"src":"9918:26:123","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":94291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94290,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e3031","id":94288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9952:10:123","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"value":"0.01"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":94289,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93304,"src":"9965:15:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9952:28:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"9918:63:123","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":94295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9918:83:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9898:103:123"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":94302,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94875,"src":"10029:12:123","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_ISafe_$74170_$","typeString":"function () returns (contract ISafe)"}},"id":94303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10029:14:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$74170","typeString":"contract ISafe"}],"id":94301,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10021:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":94300,"name":"address","nodeType":"ElementaryTypeName","src":"10021:7:123","typeDescriptions":{}}},"id":94304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10021:23:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":94297,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"10012:2:123","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":94299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10015:5:123","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"10012:8:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":94305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10012:33:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94306,"nodeType":"ExpressionStatement","src":"10012:33:123"},{"expression":{"arguments":[{"id":94310,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94285,"src":"10084:9:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"32","id":94311,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10095:1:123","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"arguments":[{"id":94314,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93266,"src":"10106:10:123","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69799","typeString":"contract CVStrategyV0_1"}],"id":94313,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10098:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":94312,"name":"address","nodeType":"ElementaryTypeName","src":"10098:7:123","typeDescriptions":{}}},"id":94315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10098:19:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":94307,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93263,"src":"10055:14:123","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73862","typeString":"contract SafeArbitrator"}},"id":94309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10070:13:123","memberName":"executeRuling","nodeType":"MemberAccess","referencedDeclaration":73787,"src":"10055:28:123","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address) external"}},"id":94316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10055:63:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94317,"nodeType":"ExpressionStatement","src":"10055:63:123"},{"assignments":[94319,94321,94323],"declarations":[{"constant":false,"id":94319,"mutability":"mutable","name":"ruling","nameLocation":"10138:6:123","nodeType":"VariableDeclaration","scope":94342,"src":"10130:14:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94318,"name":"uint256","nodeType":"ElementaryTypeName","src":"10130:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":94321,"mutability":"mutable","name":"tied","nameLocation":"10151:4:123","nodeType":"VariableDeclaration","scope":94342,"src":"10146:9:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":94320,"name":"bool","nodeType":"ElementaryTypeName","src":"10146:4:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":94323,"mutability":"mutable","name":"overridden","nameLocation":"10162:10:123","nodeType":"VariableDeclaration","scope":94342,"src":"10157:15:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":94322,"name":"bool","nodeType":"ElementaryTypeName","src":"10157:4:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":94328,"initialValue":{"arguments":[{"id":94326,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94285,"src":"10205:9:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":94324,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93263,"src":"10176:14:123","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73862","typeString":"contract SafeArbitrator"}},"id":94325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10191:13:123","memberName":"currentRuling","nodeType":"MemberAccess","referencedDeclaration":73848,"src":"10176:28:123","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$_t_bool_$_t_bool_$","typeString":"function (uint256) view external returns (uint256,bool,bool)"}},"id":94327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10176:39:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$_t_bool_$","typeString":"tuple(uint256,bool,bool)"}},"nodeType":"VariableDeclarationStatement","src":"10129:86:123"},{"expression":{"arguments":[{"id":94330,"name":"ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94319,"src":"10235:6:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"32","id":94331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10243:1:123","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":94329,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"10226:8:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":94332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10226:19:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94333,"nodeType":"ExpressionStatement","src":"10226:19:123"},{"expression":{"arguments":[{"id":94335,"name":"tied","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94321,"src":"10267:4:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":94334,"name":"assertFalse","nodeType":"Identifier","overloadedDeclarations":[6083,6098],"referencedDeclaration":6083,"src":"10255:11:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":94336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10255:17:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94337,"nodeType":"ExpressionStatement","src":"10255:17:123"},{"expression":{"arguments":[{"id":94339,"name":"overridden","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94323,"src":"10294:10:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":94338,"name":"assertFalse","nodeType":"Identifier","overloadedDeclarations":[6083,6098],"referencedDeclaration":6083,"src":"10282:11:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":94340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10282:23:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94341,"nodeType":"ExpressionStatement","src":"10282:23:123"}]},"functionSelector":"f8cbf34f","implemented":true,"kind":"function","modifiers":[],"name":"testCurrentRuling","nameLocation":"9744:17:123","parameters":{"id":94264,"nodeType":"ParameterList","parameters":[],"src":"9761:2:123"},"returnParameters":{"id":94265,"nodeType":"ParameterList","parameters":[],"src":"9771:0:123"},"scope":94344,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":93251,"name":"Test","nameLocations":["1058:4:123"],"nodeType":"IdentifierPath","referencedDeclaration":17796,"src":"1058:4:123"},"id":93252,"nodeType":"InheritanceSpecifier","src":"1058:4:123"},{"baseName":{"id":93253,"name":"RegistrySetupFull","nameLocations":["1064:17:123"],"nodeType":"IdentifierPath","referencedDeclaration":5296,"src":"1064:17:123"},"id":93254,"nodeType":"InheritanceSpecifier","src":"1064:17:123"},{"baseName":{"id":93255,"name":"AlloSetup","nameLocations":["1083:9:123"],"nodeType":"IdentifierPath","referencedDeclaration":5087,"src":"1083:9:123"},"id":93256,"nodeType":"InheritanceSpecifier","src":"1083:9:123"},{"baseName":{"id":93257,"name":"CVStrategyHelpers","nameLocations":["1094:17:123"],"nodeType":"IdentifierPath","referencedDeclaration":77623,"src":"1094:17:123"},"id":93258,"nodeType":"InheritanceSpecifier","src":"1094:17:123"},{"baseName":{"id":93259,"name":"SafeSetup","nameLocations":["1113:9:123"],"nodeType":"IdentifierPath","referencedDeclaration":95056,"src":"1113:9:123"},"id":93260,"nodeType":"InheritanceSpecifier","src":"1113:9:123"}],"canonicalName":"SafeArbitratorTest","contractDependencies":[1390,2295,55021,64847,69799,70045,72996,73365,73862],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[94344,95056,77623,5087,5296,5132,5026,17796,17744,12424,12099,11306,9246,8464,5834,5831,3106],"name":"SafeArbitratorTest","nameLocation":"1036:18:123","scope":94345,"usedErrors":[]}],"license":"MIT"},"id":123} \ No newline at end of file +{"abi":[{"type":"function","name":"DECIMALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"PERCENTAGE_SCALE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"POOL_AMOUNT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"SAFE_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"SAFE_NONCE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"SAFE_SINGLETON","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"STAKE_WITH_FEES","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"__createContract","inputs":[{"name":"bytecode","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"_contract","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"_calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"nonpayable"},{"type":"function","name":"_councilSafeWithOwner","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_safeProxyFactory","type":"address","internalType":"contract SafeProxyFactory"}],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"nonpayable"},{"type":"function","name":"_councilSafeWithOwner","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"nonpayable"},{"type":"function","name":"_createSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"nonpayable"},{"type":"function","name":"_createSafeProxyFactory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract SafeProxyFactory"}],"stateMutability":"nonpayable"},{"type":"function","name":"_nonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"allo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Allo"}],"stateMutability":"view"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"councilMember1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"councilMemberPK","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"view"},{"type":"function","name":"councilSafeOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"view"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum PointSystem"},{"name":"arbitrableConfig","type":"tuple","internalType":"struct ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createProposal","inputs":[],"outputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getParams","inputs":[{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"params","type":"tuple","internalType":"struct CVStrategyInitializeParamsV0_1","components":[{"name":"cvParams","type":"tuple","internalType":"struct CVParams","components":[{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"}]},{"name":"proposalType","type":"uint8","internalType":"enum ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"arbitrableConfig","type":"tuple","internalType":"struct ArbitrableConfig","components":[{"name":"arbitrator","type":"address","internalType":"contract IArbitrator"},{"name":"tribunalSafe","type":"address","internalType":"address"},{"name":"submitterCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"challengerCollateralAmount","type":"uint256","internalType":"uint256"},{"name":"defaultRuling","type":"uint256","internalType":"uint256"},{"name":"defaultRulingTimeout","type":"uint256","internalType":"uint256"}]},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"sybilScorer","type":"address","internalType":"address"},{"name":"initialAllowlist","type":"address[]","internalType":"address[]"}]}],"stateMutability":"pure"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"poolProfile_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"poolProfile_id1","inputs":[{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"pool_admin","type":"address","internalType":"address"},{"name":"pool_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile1_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile2_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Registry"}],"stateMutability":"view"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"councilSafe_","type":"address","internalType":"contract ISafe"},{"name":"councilMemberPK_","type":"uint256","internalType":"uint256"},{"name":"to_","type":"address","internalType":"address"},{"name":"data_","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"to_","type":"address","internalType":"address"},{"name":"value_","type":"uint256","internalType":"uint256"},{"name":"data_","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"councilSafe_","type":"address","internalType":"contract ISafe"},{"name":"councilMemberPK_","type":"uint256","internalType":"uint256"},{"name":"to_","type":"address","internalType":"address"},{"name":"data_","type":"bytes","internalType":"bytes"},{"name":"value_","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testArbitrationCost","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"testCannotCreateDisputeWithInsufficientFee","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCannotExecuteRulingFromNonSafe","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCannotExecuteRulingTwice","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCannotRuleInvalidRuling","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCreateDispute","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCurrentRuling","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testExecuteRuling","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testSetArbitrationFee","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract GV2ERC20"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x600c8054600160ff199182168117909255601e8054909116821790556080908152610120604052602e60c081815260a091620264de60e03990528051602690815560208201516027906200005490826200013d565b50506001602c8190556000602d55603480546001600160a01b03199081169092179055603580549091166003179055503480156200009157600080fd5b5062000209565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000c357607f821691505b602082108103620000e457634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200013857600081815260208120601f850160051c81016020861015620001135750805b601f850160051c820191505b8181101562000134578281556001016200011f565b5050505b505050565b81516001600160401b0381111562000159576200015962000098565b62000171816200016a8454620000ae565b84620000ea565b602080601f831160018114620001a95760008415620001905750858301515b600019600386901b1c1916600185901b17855562000134565b600085815260208120601f198616915b82811015620001da57888601518255948401946001909101908401620001b9565b5085821015620001f95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b620262c4806200021a6000396000f3fe60806040523480156200001157600080fd5b50600436106200044d5760003560e01c8062b1fad71462000452578063023a6f431462000474578063030e4006146200048d5780630522b7db14620004975780630688b13514620004ab57806308c24f9f14620004b55780630a9254e414620004cc5780630f166ad414620004d6578063174eedde14620004dd578063176effb314620004e5578063180fd87f14620004f75780631854036114620005105780631ae726d914620005195780631b96dce614620005305780631d8fcc10146200053a5780631e7bcb2e14620005435780631ed7831c146200054d5780632ade388014620005665780632e0f2625146200057f5780633554642a146200058f57806337d1c40414620005a1578063392f37e914620005b857806339f56f7f14620005d25780633e5e3c2314620005db5780633f26479e14620005e55780633f7286f414620005ef57806349ef42c114620005f95780634bf4ba211462000603578063587c1243146200060d5780635aff599914620006175780635d1222aa146200062157806366d003ac146200062b57806366d9a9a014620006355780636a38dd0a146200064e5780636c53db9a14620006585780636db52510146200066c5780636f6dfab1146200068357806370a32944146200068d57806374d9284e14620004dd578063758311e41462000697578063759c9a8614620006a15780637658524d14620006ab57806379e62d0d14620006b55780637b10399914620006bf5780637b2edf3214620006c95780637cbe79ed14620006d35780638292636f14620006dd578063829e423f14620004dd57806385226c8114620006e757806385294f181462000700578063896546a114620007175780638c7408c414620004dd5780638e0d1a50146200072b5780638e3c24931462000735578063916a17c6146200073f57806394d181e31462000749578063985a0b941462000753578063a0cf0aea146200075d578063a407c67a1462000779578063a41cfc991462000783578063aa3744bd146200078d578063b5508aa91462000797578063ba414fa614620007a1578063bb0504cd14620007bc578063beda3db314620007c6578063c1f2a64114620007d8578063c36e336b14620007ef578063c5d7d73b1462000815578063c73b09e71462000827578063caa12add1462000831578063d1e82b58146200084d578063d1f2cd881462000857578063d23727ed1462000861578063d5bee9f5146200087d578063d6d8428d1462000887578063da4bf0871462000891578063dac4eb16146200089b578063dac770b314620008a5578063e070e0ab14620008af578063e20c9f7114620008c6578063e99ce91114620008d0578063ec9ec24814620008e7578063ef0d790f14620008f1578063f69d511f14620008fb578063f8cbf34f1462000912578063fa7626d4146200091c578063fc0c546a146200092a578063fd325c60146200093e578063fe24a3cb1462000947575b600080fd5b6200045c62000951565b6040516200046b919062006042565b60405180910390f35b6200048b6200048536600462006166565b62000988565b005b6200045c6200099e565b602a546200045c906001600160a01b031681565b6200045c620009d6565b6200045c620004c6366004620061d9565b62000a05565b6200048b62000cfa565b306200045c565b60006200045c565b6020546001600160a01b03166200045c565b6200050162001cd4565b6040519081526020016200046b565b60235462000501565b6200045c6200052a36600462006217565b6200207a565b6200045c6200208b565b62000501600381565b6200045c620020be565b62000557620020f3565b6040516200046b91906200627d565b6200057062002157565b6040516200046b91906200633f565b62000501670de0b6b3a764000081565b6024546001600160a01b03166200045c565b62000501620005b2366004620063c0565b620022a5565b620005c26200236c565b6040516200046b929190620064a9565b60215462000501565b620005576200240b565b6200050161271081565b620005576200246d565b6200045c620024cf565b6200055762002536565b6200045c62002559565b6200045c6200258e565b62000501602d5481565b6200045c620025c3565b6200063f620025f1565b6040516200046b9190620064c4565b6200045c620026db565b6029546200045c906001600160a01b031681565b6200048b6200067d3660046200657b565b6200270d565b6200048b62002730565b6200055762002a1e565b6200048b62002ac0565b6200045c62002de7565b62000501602c5481565b6200055762002e18565b6200045c62002e87565b6200045c62002e9b565b6200045c62002ed0565b6200048b62002eff565b620006f1620030ff565b6040516200046b9190620065d9565b620005016200071136600462006684565b620031d9565b602b546200045c906001600160a01b031681565b6200045c6200320a565b6200045c62003239565b6200063f6200326e565b6200048b62003358565b6200048b62003655565b6200045c73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b62000557620038c2565b6200048b62003931565b6200045c62003afa565b620006f162003b29565b620007ab62003c03565b60405190151581526020016200046b565b6200045c62003cb8565b6200050169032d26d12e980b60000081565b6200048b620007e936600462006739565b62003d1f565b6200080662000800366004620067f9565b62003df3565b6040516200046b9190620069ab565b6022546001600160a01b03166200045c565b6200048b62003f5f565b6200045c73dd4bda7bcda544d6da2aea8ab8b0e63d2f6dc73781565b6200045c62003fed565b6200045c62004022565b6200045c73bba817f97f133b87b9b7f1fc0f2c56e9f68d2edf81565b6200045c62004055565b6200045c62004085565b6200045c62004094565b6200045c620040c6565b6200045c620040f9565b62000501620008c0366004620069c0565b620045b3565b62000557620047d8565b62000501620008e136600462006a89565b6200483a565b6200048b620048dc565b6200045c62004c72565b6200045c6200090c36600462006abc565b62004caa565b6200048b62004d20565b601e54620007ab9060ff1681565b6033546200045c906001600160a01b031681565b601f5462000501565b6200050162005036565b6000620009836040518060400160405280600d81526020016c706f6f6c5f6d616e616765723160981b8152506200507c565b905090565b6200099884848484600062003d1f565b50505050565b60006200098360405180604001604052806013815260200172383937b334b63298afb737ba20a6b2b6b132b960691b8152506200507c565b6000620009836040518060400160405280600a8152602001693932b1b4b834b2b73a1960b11b8152506200507c565b602a546000906001600160a01b031662000ce6576001600160a01b03821662000aec57600062000a34620024cf565b905062000a4062003cb8565b604051631688f0b960e01b81526001600160a01b0383811660048301526060602483015260006064830181905260036044840152929550851690631688f0b9906084016020604051808303816000875af115801562000aa3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ac9919062006b01565b602a80546001600160a01b0319166001600160a01b039290921691909117905550505b602a54604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600f60448201526e31b7bab731b4b629b0b332a0b2323960891b6064820152600080516020620208788339815191529063c657c71890608401600060405180830381600087803b15801562000b6657600080fd5b505af115801562000b7b573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03871660048201526024810191909152601060448201526f31b7bab731b4b629b0b332a7bbb732b960811b606482015260008051602062020878833981519152925063c657c7189150608401600060405180830381600087803b15801562000bf957600080fd5b505af115801562000c0e573d6000803e3d6000fd5b50600092506001915062000c1f9050565b60405190808252806020026020018201604052801562000c49578160200160208202803683370190505b509050838160008151811062000c635762000c6362006b21565b6001600160a01b039283166020918202929092010152602a5460405163b63e800d60e01b815291169063b63e800d9062000cb0908490600190600090819081908190819060040162006b37565b600060405180830381600087803b15801562000ccb57600080fd5b505af115801562000ce0573d6000803e3d6000fd5b50505050505b50602a546001600160a01b03165b92915050565b62000d0462005090565b62000d1862000d1262002e87565b62005655565b600080516020620208788339815191526306447d5662000d3762002ed0565b6040518263ffffffff1660e01b815260040162000d55919062006042565b600060405180830381600087803b15801562000d7057600080fd5b505af115801562000d85573d6000803e3d6000fd5b5050505062000d9362004085565b60405163473480c360e11b8152600060048201526001600160a01b039190911690638e69018690602401600060405180830381600087803b15801562000dd857600080fd5b505af115801562000ded573d6000803e3d6000fd5b5050505062000dfb62004085565b6040516307aa7e2560e51b8152600060048201526001600160a01b03919091169063f54fc4a090602401600060405180830381600087803b15801562000e4057600080fd5b505af115801562000e55573d6000803e3d6000fd5b505050506000805160206202626f83398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000ea757600080fd5b505af115801562000ebc573d6000803e3d6000fd5b50505050601260405162000ed09062005e3f565b6060808252600a908201526926b7b1b5902a37b5b2b760b11b608082015260a060208201819052600390820152624d544b60e81b60c082015260ff909116604082015260e001604051809103906000f08015801562000f33573d6000803e3d6000fd5b50603380546001600160a01b0319166001600160a01b039290921691821790556340c10f193062000f6f6003683635c9adc5dea0000062006bb4565b6040518363ffffffff1660e01b815260040162000f8e92919062006bd7565b600060405180830381600087803b15801562000fa957600080fd5b505af115801562000fbe573d6000803e3d6000fd5b50506033546001600160a01b031691506340c10f19905062000fdf6200320a565b62000ff56003683635c9adc5dea0000062006bb4565b6040518363ffffffff1660e01b81526004016200101492919062006bd7565b600060405180830381600087803b1580156200102f57600080fd5b505af115801562001044573d6000803e3d6000fd5b50506033546001600160a01b031691506340c10f1990506006620010736003683635c9adc5dea0000062006bb4565b6040518363ffffffff1660e01b81526004016200109292919062006bd7565b600060405180830381600087803b158015620010ad57600080fd5b505af1158015620010c2573d6000803e3d6000fd5b50506033546001600160a01b0316915063095ea7b39050620010e362004085565b685150ae84a8cdf000006040518363ffffffff1660e01b81526004016200110c92919062006bd7565b6020604051808303816000875af11580156200112c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001152919062006c01565b50600080516020620208788339815191526306447d566200117262002ed0565b6040518263ffffffff1660e01b815260040162001190919062006042565b600060405180830381600087803b158015620011ab57600080fd5b505af1158015620011c0573d6000803e3d6000fd5b50505050620011ce62004085565b6001600160a01b031663f2fde38b306040518263ffffffff1660e01b8152600401620011fb919062006042565b600060405180830381600087803b1580156200121657600080fd5b505af11580156200122b573d6000803e3d6000fd5b505050506000805160206202626f83398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200127d57600080fd5b505af115801562001292573d6000803e3d6000fd5b50506034546040516303223eab60e11b81526000805160206202087883398151915293506306447d569250620012d5916001600160a01b03169060040162006042565b600060405180830381600087803b158015620012f057600080fd5b505af115801562001305573d6000803e3d6000fd5b50505050604051620013179062005e4d565b604051809103906000f08015801562001334573d6000803e3d6000fd5b5060408051671bc16d674ec8000060248083019190915282518083039091018152604490910182526020810180516001600160e01b031663fe4b84df60e01b1790529051620013839062005e5b565b6200139092919062006c1f565b604051809103906000f080158015620013ad573d6000803e3d6000fd5b50602f60006101000a8154816001600160a01b0302191690836001600160a01b031602179055506000805160206202626f83398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200142257600080fd5b505af115801562001437573d6000803e3d6000fd5b505050506200144562005e69565b6200144f62004085565b6001600160a01b03908116825260335416602080830191909152670de0b6b3a7640000604080840191909152600160608401523060c08401528051808201909152602680548252602780549293919291840191620014ad9062006c45565b80601f0160208091040260200160405190810160405280929190818152602001828054620014db9062006c45565b80156200152c5780601f1062001500576101008083540402835291602001916200152c565b820191906000526020600020905b8154815290600101906020018083116200150e57829003601f168201915b5050509190925250505060e082015262001545620040f9565b6001600160a01b0316610100820152604051620015629062005f15565b604051809103906000f0801580156200157f573d6000803e3d6000fd5b50603454604051630a2ca2bd60e11b916001600160a01b031690600290620015a79062005f23565b604051809103906000f080158015620015c4573d6000803e3d6000fd5b50604051620015d39062005f31565b604051809103906000f080158015620015f0573d6000803e3d6000fd5b50604051620015ff9062005f3f565b604051809103906000f0801580156200161c573d6000803e3d6000fd5b506040516001600160a01b039586166024820152938516604485015291841660648401528316608483015290911660a482015260c40160408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051620016919062005e5b565b6200169e92919062006c1f565b604051809103906000f080158015620016bb573d6000803e3d6000fd5b506001600160a01b031663beb331a3826040518263ffffffff1660e01b8152600401620016e9919062006c9c565b6020604051808303816000875af115801562001709573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200172f919062006b01565b603280546001600160a01b0319166001600160a01b039290921691821790556040805160208101909152600091829163579eb7e59073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9062001801908490600190600290806200179d670de0b6b3a764000060c862006da8565b90526040805160c08101909152602f546001600160a01b0316815260208101620017c6620040f9565b6001600160a01b0316815260200166470de4df8200008152602001662386f26fc1000081526020016001815260200161012c81525062003df3565b60266040518463ffffffff1660e01b8152600401620018239392919062006e83565b60408051808303816000875af115801562001842573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001868919062006ebd565b6031829055603080546001600160a01b0319166001600160a01b0383161790559092509050600080516020620208788339815191526306447d56620018ac6200320a565b6040518263ffffffff1660e01b8152600401620018ca919062006042565b600060405180830381600087803b158015620018e557600080fd5b505af1158015620018fa573d6000803e3d6000fd5b50506032546030546040516200196d94506001600160a01b03928316935060009263223e547960e01b92620019359291169060240162006042565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526200270d565b6000805160206202626f83398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620019bb57600080fd5b505af1158015620019d0573d6000803e3d6000fd5b50505050603260009054906101000a90046001600160a01b03166001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001a28573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001a4e919062006b01565b6032546001600160a01b039182169163095ea7b39116606462001a7360018062006ee5565b62001a8790670de0b6b3a764000062006da8565b62001a93919062006bb4565b62001aa790670de0b6b3a764000062006ee5565b6040518363ffffffff1660e01b815260040162001ac692919062006bd7565b6020604051808303816000875af115801562001ae6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b0c919062006c01565b50603260009054906101000a90046001600160a01b03166001600160a01b0316633517aa7d6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562001b5e57600080fd5b505af115801562001b73573d6000803e3d6000fd5b50505050603060009054906101000a90046001600160a01b03166001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562001bc857600080fd5b505af115801562001bdd573d6000803e3d6000fd5b505060405163c88a5e6d60e01b815260008051602062020878833981519152925063c88a5e6d915062001c2190309069032d26d12e980b6000009060040162006bd7565b600060405180830381600087803b15801562001c3c57600080fd5b505af115801562001c51573d6000803e3d6000fd5b5050505062001c5f62004085565b6040516316b35beb60e21b81526004810184905269032d26d12e980b600000602482018190526001600160a01b039290921691635acd6fac916044016000604051808303818588803b15801562001cb557600080fd5b505af115801562001cca573d6000803e3d6000fd5b5050505050505050565b600080670de0b6b3a7640000905060006040518060a00160405280603154815260200162001d016200320a565b6001600160a01b0316815260200183815260200173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316815260200160266040518060400160405290816000820154815260200160018201805462001d619062006c45565b80601f016020809104026020016040519081016040528092919081815260200182805462001d8f9062006c45565b801562001de05780601f1062001db45761010080835404028352916020019162001de0565b820191906000526020600020905b81548152906001019060200180831162001dc257829003601f168201915b505050505081525050815250905060008160405160200162001e03919062006efb565b60408051601f1981840301815282825260305463059351cd60e01b845291519093506000926001600160a01b039092169163059351cd9160048083019260c09291908290030181865afa15801562001e5f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001e85919062006f4e565b505050925050506000805160206202626f83398151915260001c6001600160a01b031663c88a5e6d62001eb76200320a565b836040518363ffffffff1660e01b815260040162001ed792919062006bd7565b600060405180830381600087803b15801562001ef257600080fd5b505af115801562001f07573d6000803e3d6000fd5b506000805160206202087883398151915292506306447d56915062001f2d90506200320a565b6040518263ffffffff1660e01b815260040162001f4b919062006042565b600060405180830381600087803b15801562001f6657600080fd5b505af115801562001f7b573d6000803e3d6000fd5b5050505062001f8962004085565b6001600160a01b031663075c0e9c82603154856040518463ffffffff1660e01b815260040162001fbb929190620064a9565b60206040518083038185885af115801562001fda573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062002001919062006b01565b6001600160a01b031694506000805160206202626f83398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200205a57600080fd5b505af11580156200206f573d6000803e3d6000fd5b505050505050505090565b600062000cf482620004c662003cb8565b6000620009836040518060400160405280600e81526020016d383937b334b632992fb7bbb732b960911b8152506200507c565b6000620009836040518060400160405280601081526020016f70726f66696c65315f6d656d6265723160801b8152506200507c565b606060168054806020026020016040519081016040528092919081815260200182805480156200214d57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116200212e575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b828210156200229c57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562002284578382906000526020600020018054620021f09062006c45565b80601f01602080910402602001604051908101604052809291908181526020018280546200221e9062006c45565b80156200226f5780601f1062002243576101008083540402835291602001916200226f565b820191906000526020600020905b8154815290600101906020018083116200225157829003601f168201915b505050505081526020019060010190620021ce565b5050505081525050815260200190600101906200217b565b50505050905090565b60285460009062002360576040805180820182526001815281518083018352600c81526b506f6f6c50726f66696c653160a01b6020828101919091528201529051633a92f65f60e01b81526001600160a01b03861691633a92f65f9162002316916002918890889060040162006fb1565b6020604051808303816000875af115801562002336573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200235c91906200702a565b6028555b506028545b9392505050565b6026805460278054919291620023829062006c45565b80601f0160208091040260200160405190810160405280929190818152602001828054620023b09062006c45565b8015620024015780601f10620023d55761010080835404028352916020019162002401565b820191906000526020600020905b815481529060010190602001808311620023e357829003601f168201915b5050505050905082565b606060188054806020026020016040519081016040528092919081815260200182805480156200214d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200212e575050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156200214d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200212e575050505050905090565b6000620024f073dd4bda7bcda544d6da2aea8ab8b0e63d2f6dc737620057f8565b156200250f575073dd4bda7bcda544d6da2aea8ab8b0e63d2f6dc73790565b6200098360405180615a0001604052806159d78152602001620208986159d7913962004caa565b604080516002808252606080830184529260208301908036833701905050905090565b6000620009836040518060400160405280601081526020016f70726f66696c65325f6d656d6265723160801b8152506200507c565b6000620009836040518060400160405280601081526020016f726563697069656e744164647265737360801b8152506200507c565b600062000983604051806040016040528060098152602001681c9958da5c1a595b9d60ba1b8152506200507c565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156200229c5760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015620026c257602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620026835790505b5050505050815250508152602001906001019062002615565b6000620009836040518060400160405280600d81526020016c3837b7b62fb6b0b730b3b2b91960991b8152506200507c565b602954602c546200272b916001600160a01b03169085848662003d1f565b505050565b60006200273c62001cd4565b60355460405163c88a5e6d60e01b8152919250600080516020620208788339815191529163c88a5e6d916200278a916001600160a01b0390911690678ac7230489e800009060040162006bd7565b600060405180830381600087803b158015620027a557600080fd5b505af1158015620027ba573d6000803e3d6000fd5b505060355460405163ca669fa760e01b815260008051602062020878833981519152935063ca669fa79250620027fd916001600160a01b03169060040162006042565b600060405180830381600087803b1580156200281857600080fd5b505af11580156200282d573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62002861671bc16d674ec80000662386f26fc1000062006ee5565b846040518363ffffffff1660e01b815260040162002880919062007044565b60206040518083038185885af11580156200289f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190620028c691906200702a565b604051630618f58760e51b8152909150600080516020620208788339815191529063c31eb0e09062002904906309efd47960e41b906004016200706a565b600060405180830381600087803b1580156200291f57600080fd5b505af115801562002934573d6000803e3d6000fd5b5060008051602062020878833981519152925063ca669fa791506200295a9050620040f9565b6040518263ffffffff1660e01b815260040162002978919062006042565b600060405180830381600087803b1580156200299357600080fd5b505af1158015620029a8573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d37569350620029e692869260049291169082016200707f565b600060405180830381600087803b15801562002a0157600080fd5b505af115801562002a16573d6000803e3d6000fd5b505050505050565b6040805160028082526060808301845292600092919060208301908036833701905050905062002a4d620020be565b8160008151811062002a635762002a6362006b21565b60200260200101906001600160a01b031690816001600160a01b03168152505062002a8d62002e9b565b8160018151811062002aa35762002aa362006b21565b6001600160a01b0390921660209283029190910190910152919050565b600062002acc62001cd4565b60355460405163c88a5e6d60e01b8152919250600080516020620208788339815191529163c88a5e6d9162002b1a916001600160a01b0390911690678ac7230489e800009060040162006bd7565b600060405180830381600087803b15801562002b3557600080fd5b505af115801562002b4a573d6000803e3d6000fd5b505060355460405163ca669fa760e01b815260008051602062020878833981519152935063ca669fa7925062002b8d916001600160a01b03169060040162006042565b600060405180830381600087803b15801562002ba857600080fd5b505af115801562002bbd573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62002bf1671bc16d674ec80000662386f26fc1000062006ee5565b846040518363ffffffff1660e01b815260040162002c10919062007044565b60206040518083038185885af115801562002c2f573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062002c5691906200702a565b90506000805160206202087883398151915263ca669fa762002c77620040f9565b6040518263ffffffff1660e01b815260040162002c95919062006042565b600060405180830381600087803b15801562002cb057600080fd5b505af115801562002cc5573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d3756935062002d049286926002929116906004016200707f565b600060405180830381600087803b15801562002d1f57600080fd5b505af115801562002d34573d6000803e3d6000fd5b5050602f5460405163564a565d60e01b815260048101859052600093508392506001600160a01b039091169063564a565d90602401600060405180830381865afa15801562002d87573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002db19190810190620070d4565b955095505050505062002dc682600262005807565b6200099881600181111562002ddf5762002ddf62006870565b600162005807565b6000620009836040518060400160405280600c81526020016b1b9bd7dc9958da5c1a595b9d60a21b8152506200507c565b6040805160028082526060808301845292600092919060208301908036833701905050905062002e4762000951565b8160008151811062002e5d5762002e5d62006b21565b60200260200101906001600160a01b031690816001600160a01b03168152505062002a8d620026db565b601e5461010090046001600160a01b031690565b6000620009836040518060400160405280601081526020016f383937b334b63298afb6b2b6b132b91960811b8152506200507c565b6000620009836040518060400160405280600a81526020016930b63637afb7bbb732b960b11b8152506200507c565b60355460405163c88a5e6d60e01b8152600080516020620208788339815191529163c88a5e6d9162002f48916001600160a01b031690678ac7230489e800009060040162006bd7565b600060405180830381600087803b15801562002f6357600080fd5b505af115801562002f78573d6000803e3d6000fd5b505060355460405163ca669fa760e01b815260008051602062020878833981519152935063ca669fa7925062002fbb916001600160a01b03169060040162006042565b600060405180830381600087803b15801562002fd657600080fd5b505af115801562002feb573d6000803e3d6000fd5b5050604051630618f58760e51b815260008051602062020878833981519152925063c31eb0e091506200302a9063e4216b3160e01b906004016200706a565b600060405180830381600087803b1580156200304557600080fd5b505af11580156200305a573d6000803e3d6000fd5b5050602f546001600160a01b0316915063c13517e19050620030866001671bc16d674ec8000062007174565b60036040518363ffffffff1660e01b8152600401620030b691815260406020820181905260009082015260600190565b60206040518083038185885af1158015620030d5573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190620030fc91906200702a565b50565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156200229c578382906000526020600020018054620031459062006c45565b80601f0160208091040260200160405190810160405280929190818152602001828054620031739062006c45565b8015620031c45780601f106200319857610100808354040283529160200191620031c4565b820191906000526020600020905b815481529060010190602001808311620031a657829003601f168201915b50505050508152602001906001019062003123565b6000620031fd89898989898989604051806020016040528060008152508a620045b3565b9998505050505050505050565b6000620009836040518060400160405280600a8152602001693837b7b62fb0b236b4b760b11b8152506200507c565b6000620009836040518060400160405280601081526020016f383937b334b632992fb6b2b6b132b91960811b8152506200507c565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156200229c5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200333f57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620033005790505b5050505050815250508152602001906001019062003292565b60006200336462001cd4565b60355460405163c88a5e6d60e01b8152919250600080516020620208788339815191529163c88a5e6d91620033b2916001600160a01b0390911690678ac7230489e800009060040162006bd7565b600060405180830381600087803b158015620033cd57600080fd5b505af1158015620033e2573d6000803e3d6000fd5b505060355460405163ca669fa760e01b815260008051602062020878833981519152935063ca669fa7925062003425916001600160a01b03169060040162006042565b600060405180830381600087803b1580156200344057600080fd5b505af115801562003455573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62003489671bc16d674ec80000662386f26fc1000062006ee5565b846040518363ffffffff1660e01b8152600401620034a8919062007044565b60206040518083038185885af1158015620034c7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190620034ee91906200702a565b603554602954604080516001600160a01b0393841660248201529290911660448084019190915281518084039091018152606490920181526020820180516001600160e01b031663d0774c9960e01b1790525163f28dceb360e01b8152919250600080516020620208788339815191529163f28dceb39162003573916004016200718a565b600060405180830381600087803b1580156200358e57600080fd5b505af1158015620035a3573d6000803e3d6000fd5b505060355460405163ca669fa760e01b815260008051602062020878833981519152935063ca669fa79250620035e6916001600160a01b03169060040162006042565b600060405180830381600087803b1580156200360157600080fd5b505af115801562003616573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d37569350620029e69286926002929116906004016200707f565b60006200366162001cd4565b60355460405163c88a5e6d60e01b8152919250600080516020620208788339815191529163c88a5e6d91620036af916001600160a01b0390911690678ac7230489e800009060040162006bd7565b600060405180830381600087803b158015620036ca57600080fd5b505af1158015620036df573d6000803e3d6000fd5b505060355460405163ca669fa760e01b815260008051602062020878833981519152935063ca669fa7925062003722916001600160a01b03169060040162006042565b600060405180830381600087803b1580156200373d57600080fd5b505af115801562003752573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62003786671bc16d674ec80000662386f26fc1000062006ee5565b846040518363ffffffff1660e01b8152600401620037a5919062007044565b60206040518083038185885af1158015620037c4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190620037eb91906200702a565b602f5460405163564a565d60e01b8152600481018390529192506000918291829182916001600160a01b03169063564a565d90602401600060405180830381865afa1580156200383f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620038699190810190620070d4565b955095509550955050506200388084600362005807565b6200389483671bc16d674ec8000062005807565b620038a182600062005807565b62002a16816001811115620038ba57620038ba62006870565b600062005807565b60408051600280825260608083018452926000929190602083019080368337019050509050620038f162002559565b8160008151811062003907576200390762006b21565b60200260200101906001600160a01b031690816001600160a01b03168152505062002a8d62003239565b6034546040516303223eab60e11b815260008051602062020878833981519152916306447d569162003970916001600160a01b03169060040162006042565b600060405180830381600087803b1580156200398b57600080fd5b505af1158015620039a0573d6000803e3d6000fd5b5050602f546040516317a9ed3f60e21b815266470de4df8200006004820181905293506001600160a01b039091169150635ea7b4fc90602401600060405180830381600087803b158015620039f457600080fd5b505af115801562003a09573d6000803e3d6000fd5b5050602f5460405163f7434ea960e01b8152602060048201526000602482015262003a9093506001600160a01b03909116915063f7434ea990604401602060405180830381865afa15801562003a63573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003a8991906200702a565b8262005807565b6000805160206202626f83398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562003ade57600080fd5b505af115801562003af3573d6000803e3d6000fd5b5050505050565b6000620009836040518060400160405280600a815260200169726563697069656e743160b01b8152506200507c565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156200229c57838290600052602060002001805462003b6f9062006c45565b80601f016020809104026020016040519081016040528092919081815260200182805462003b9d9062006c45565b801562003bee5780601f1062003bc25761010080835404028352916020019162003bee565b820191906000526020600020905b81548152906001019060200180831162003bd057829003601f168201915b50505050508152602001906001019062003b4d565b60085460009060ff161562003c1c575060085460ff1690565b604051630667f9d760e41b8152600090600080516020620208788339815191529063667f9d709062003c6d906000805160206202626f833981519152906519985a5b195960d21b9060040162006bd7565b602060405180830381865afa15801562003c8b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003cb191906200702a565b1415905090565b600062003cd973bba817f97f133b87b9b7f1fc0f2c56e9f68d2edf620057f8565b1562003cf8575073bba817f97f133b87b9b7f1fc0f2c56e9f68d2edf90565b6200098360405180610f000160405280610ede81526020016201f99a610ede913962004caa565b606062003d2f848488886200586b565b905062002a16866001600160a01b0316636a7612028685876000806000806000808c6040518b63ffffffff1660e01b815260040162003d789a99989796959493929190620071b2565b6020604051808303816000875af115801562003d98573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003dbe919062006c01565b60405180604001604052806016815260200175195e1958d51c985b9cd858dd1a5bdb8819985a5b195960521b81525062005942565b62003dfd62005f4d565b62003e10670de0a46bc207d80062005978565b81516040015262003e296702c68af0bb14000062005978565b81515262003e3e66038d7ea4c6800062005978565b815160209081019190915281516702c68af0bb1400006060909101526001600160a01b03871660a0830152810185600281111562003e805762003e8062006870565b9081600281111562003e965762003e9662006870565b9052506040810184600381111562003eb25762003eb262006870565b9081600381111562003ec85762003ec862006870565b905250825160000362003eed5762003eea670de0b6b3a764000060c862006da8565b83525b6060810183905260808101829052604080516001808252818301909252906020808301908036833750505060e08201819052805160009190829062003f365762003f3662006b21565b60200260200101906001600160a01b031690816001600160a01b03168152505095945050505050565b602f5460405163f7434ea960e01b815260206004820152600060248201819052916001600160a01b03169063f7434ea990604401602060405180830381865afa15801562003fb1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003fd791906200702a565b9050620030fc81671bc16d674ec8000062005807565b6000620009836040518060400160405280601081526020016f3837b7b62fb737ba20a6b0b730b3b2b960811b8152506200507c565b6000620009836040518060400160405280600e81526020016d383937b334b63298afb7bbb732b960911b8152506200507c565b6000620009836040518060400160405280600b81526020016a1c985b991bdb4818da185960aa1b8152506200507c565b6025546001600160a01b031690565b6000620009836040518060400160405280600d81526020016c616c6c6f5f747265617375727960981b8152506200507c565b6000620009836040518060400160405280600e81526020016d3932b3b4b9ba393cafb7bbb732b960911b8152506200507c565b602c546040516001625e79b760e01b03198152600091600080516020620208788339815191529163ffa1864991620041379160040190815260200190565b602060405180830381865afa15801562004155573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200417b919062006b01565b602b80546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600e60448201526d636f756e63696c4d656d6265723160901b6064820152600080516020620208788339815191529063c657c71890608401600060405180830381600087803b1580156200420857600080fd5b505af11580156200421d573d6000803e3d6000fd5b50506029546001600160a01b03169150620045a390505760006200424062003cb8565b90506200424c620024cf565b602e80546001600160a01b0319166001600160a01b03928316179055604080516318caf8e360e31b815291831660048301526024820152601060448201526f5361666550726f7879466163746f727960801b6064820152600080516020620208788339815191529063c657c71890608401600060405180830381600087803b158015620042d857600080fd5b505af1158015620042ed573d6000803e3d6000fd5b5050602e54604080518082018252600181526000602082018190529151631688f0b960e01b81529194506001600160a01b038087169450631688f0b9936200433f93911691906003906004016200723c565b6020604051808303816000875af11580156200435f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004385919062006b01565b602980546001600160a01b0319166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600b60448201526a636f756e63696c5361666560a81b6064820152909150600080516020620208788339815191529063c657c71890608401600060405180830381600087803b1580156200441157600080fd5b505af115801562004426573d6000803e3d6000fd5b506000925060039150620044379050565b60405190808252806020026020018201604052801562004461578160200160208202803683370190505b50602b5481519192506001600160a01b031690829060009062004488576200448862006b21565b60200260200101906001600160a01b031690816001600160a01b03168152505073f39fd6e51aad88f6f4ce6ab8827279cfffb9226681600181518110620044d357620044d362006b21565b60200260200101906001600160a01b031690816001600160a01b0316815250507370997970c51812dc3a010c7d01b50e0d17dc79c8816002815181106200451e576200451e62006b21565b6001600160a01b03928316602091820292909201015260295460405163b63e800d60e01b815291169063b63e800d906200456b908490600190600090819081908190819060040162006b37565b600060405180830381600087803b1580156200458657600080fd5b505af11580156200459b573d6000803e3d6000fd5b505050505050505b506029546001600160a01b031690565b600080620045c5898787878762003df3565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811062004602576200460262006b21565b60200260200101906001600160a01b031690816001600160a01b031681525050338160018151811062004639576200463962006b21565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90891615620046705750875b8c6001600160a01b031663e1007d4a620046958c6200468e6200320a565b86620022a5565b8e86604051602001620046a99190620069ab565b6040516020818303038152906040528560006026896040518863ffffffff1660e01b8152600401620046e2979695949392919062007272565b6020604051808303816000875af115801562004702573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200472891906200702a565b93508760028111156200473f576200473f62006870565b8c6001600160a01b031663351d9f966040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200477e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620047a49190620072e3565b6002811115620047b857620047b862006870565b14620047c857620047c862007303565b5050509998505050505050505050565b606060158054806020026020016040519081016040528092919081815260200182805480156200214d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200212e575050505050905090565b600084816200485c6200485562989680608087901b62006bb4565b836200598b565b905060806001607f1b62004874866298968062007174565b6200488484600160801b62007174565b62004893629896808a62006da8565b6200489f919062006da8565b620048ab919062006bb4565b620048b7898562006da8565b620048c3919062006ee5565b620048cf919062006ee5565b901c979650505050505050565b6000620048e862001cd4565b60355460405163c88a5e6d60e01b8152919250600080516020620208788339815191529163c88a5e6d9162004936916001600160a01b0390911690678ac7230489e800009060040162006bd7565b600060405180830381600087803b1580156200495157600080fd5b505af115801562004966573d6000803e3d6000fd5b505060355460405163ca669fa760e01b815260008051602062020878833981519152935063ca669fa79250620049a9916001600160a01b03169060040162006042565b600060405180830381600087803b158015620049c457600080fd5b505af1158015620049d9573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62004a0d671bc16d674ec80000662386f26fc1000062006ee5565b846040518363ffffffff1660e01b815260040162004a2c919062007044565b60206040518083038185885af115801562004a4b573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062004a7291906200702a565b90506000805160206202087883398151915263ca669fa762004a93620040f9565b6040518263ffffffff1660e01b815260040162004ab1919062006042565b600060405180830381600087803b15801562004acc57600080fd5b505af115801562004ae1573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d3756935062004b209286926002929116906004016200707f565b600060405180830381600087803b15801562004b3b57600080fd5b505af115801562004b50573d6000803e3d6000fd5b5050604051630618f58760e51b815260008051602062020878833981519152925063c31eb0e0915062004b8f9063bda17d9560e01b906004016200706a565b600060405180830381600087803b15801562004baa57600080fd5b505af115801562004bbf573d6000803e3d6000fd5b5060008051602062020878833981519152925063ca669fa7915062004be59050620040f9565b6040518263ffffffff1660e01b815260040162004c03919062006042565b600060405180830381600087803b15801562004c1e57600080fd5b505af115801562004c33573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d37569350620029e69286926001929116906004016200707f565b60006200098360405180604001604052806013815260200172383937b334b632992fb737ba20a6b2b6b132b960691b8152506200507c565b602d80546000918291908262004cc08362007319565b9190505550602d548351602085016000f5915050803f8062004d1a5760405162461bcd60e51b815260206004820152600e60248201526d1b081b9bdd0819195c1b1bde595960921b60448201526064015b60405180910390fd5b50919050565b600062004d2c62001cd4565b60355460405163c88a5e6d60e01b8152919250600080516020620208788339815191529163c88a5e6d9162004d7a916001600160a01b0390911690678ac7230489e800009060040162006bd7565b600060405180830381600087803b15801562004d9557600080fd5b505af115801562004daa573d6000803e3d6000fd5b505060355460405163ca669fa760e01b815260008051602062020878833981519152935063ca669fa7925062004ded916001600160a01b03169060040162006042565b600060405180830381600087803b15801562004e0857600080fd5b505af115801562004e1d573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62004e51671bc16d674ec80000662386f26fc1000062006ee5565b846040518363ffffffff1660e01b815260040162004e70919062007044565b60206040518083038185885af115801562004e8f573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062004eb691906200702a565b90506000805160206202087883398151915263ca669fa762004ed7620040f9565b6040518263ffffffff1660e01b815260040162004ef5919062006042565b600060405180830381600087803b15801562004f1057600080fd5b505af115801562004f25573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d3756935062004f649286926002929116906004016200707f565b600060405180830381600087803b15801562004f7f57600080fd5b505af115801562004f94573d6000803e3d6000fd5b5050602f54604051631c3db16d60e01b8152600481018590526000935083925082916001600160a01b031690631c3db16d90602401606060405180830381865afa15801562004fe7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200500d919062007335565b9250925092506200502083600262005807565b6200502b8262005a3f565b62003af38162005a3f565b60646200504560018062006ee5565b6200505990670de0b6b3a764000062006da8565b62005065919062006bb4565b6200507990670de0b6b3a764000062006ee5565b81565b6000620050898262005a9c565b5092915050565b6200509a62005bb1565b6000805160206202087883398151915263ca669fa7620050b96200320a565b6040518263ffffffff1660e01b8152600401620050d7919062006042565b600060405180830381600087803b158015620050f257600080fd5b505af115801562005107573d6000803e3d6000fd5b50505050601e60019054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b815250815250620051756200320a565b6200517f62002e18565b6040518563ffffffff1660e01b8152600401620051a0949392919062006fb1565b6020604051808303816000875af1158015620051c0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620051e691906200702a565b601f819055601e54604051628a678560e11b8152600481019290925261010090046001600160a01b031690630114cf0a90602401600060405180830381865afa15801562005238573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200526291908101906200740e565b60a00151602080546001600160a01b0319166001600160a01b039092169190911790556000805160206202087883398151915263ca669fa7620052a462004022565b6040518263ffffffff1660e01b8152600401620052c2919062006042565b600060405180830381600087803b158015620052dd57600080fd5b505af1158015620052f2573d6000803e3d6000fd5b50505050601e60019054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020016750726f66696c653160c01b8152508152506200535c62004022565b6200536662002a1e565b6040518563ffffffff1660e01b8152600401620053879493929190620074e3565b6020604051808303816000875af1158015620053a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620053cd91906200702a565b6021819055601e54604051628a678560e11b8152600481019290925261010090046001600160a01b031690630114cf0a90602401600060405180830381865afa1580156200541f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200544991908101906200740e565b60a00151602280546001600160a01b0319166001600160a01b039092169190911790556000805160206202087883398151915263ca669fa76200548b6200208b565b6040518263ffffffff1660e01b8152600401620054a9919062006042565b600060405180830381600087803b158015620054c457600080fd5b505af1158015620054d9573d6000803e3d6000fd5b50505050601e60019054906101000a90046001600160a01b03166001600160a01b0316633a92f65f600060405180604001604052806001815260200160405180604001604052806008815260200167283937b334b6329960c11b815250815250620055436200208b565b6200554d620038c2565b6040518563ffffffff1660e01b81526004016200556e949392919062007541565b6020604051808303816000875af11580156200558e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620055b491906200702a565b6023819055601e54604051628a678560e11b8152600481019290925261010090046001600160a01b031690630114cf0a90602401600060405180830381865afa15801562005606573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200563091908101906200740e565b60a00151602480546001600160a01b0319166001600160a01b03909216919091179055565b600080516020620208788339815191526306447d566200567462002ed0565b6040518263ffffffff1660e01b815260040162005692919062006042565b600060405180830381600087803b158015620056ad57600080fd5b505af1158015620056c2573d6000803e3d6000fd5b50505050604051620056d49062006019565b604051809103906000f080158015620056f1573d6000803e3d6000fd5b50602580546001600160a01b0319166001600160a01b0392909216918217905563a6b63eb86200572062002ed0565b836200572b62004094565b60405160e085901b6001600160e01b03191681526001600160a01b03938416600482015291831660248301529091166044820152662386f26fc1000060648201526000608482015260a401600060405180830381600087803b1580156200579157600080fd5b505af1158015620057a6573d6000803e3d6000fd5b505050506000805160206202626f83398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562003ade57600080fd5b6001600160a01b03163b151590565b60405163260a5b1560e21b8152600481018390526024810182905260008051602062020878833981519152906398296c54906044015b60006040518083038186803b1580156200585657600080fd5b505afa15801562002a16573d6000803e3d6000fd5b6060600080806000805160206202087883398151915263e341eaa486620058948b8b8b62005c64565b6040516001600160e01b031960e085901b16815260048101929092526024820152604401606060405180830381865afa158015620058d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620058fc91906200757c565b6040805160208101939093528281019190915260f89290921b6001600160f81b031916606082015281516041818303018152606190910190915298975050505050505050565b60405163a34edc0360e01b8152600080516020620208788339815191529063a34edc03906200583d9085908590600401620075bb565b600062000cf464174876e8008362006bb4565b6000600160801b8310620059e15760405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b604482015260640162004d11565b50600160801b82825b801562005a37578060011660000362005a145762005a09828362005d5a565b915060011c620059ea565b62005a20838362005d5a565b925062005a2f60018262007174565b9050620059ea565b505092915050565b60405163a598288560e01b81528115156004820152600080516020620208788339815191529063a59828859060240160006040518083038186803b15801562005a8757600080fd5b505afa15801562003af3573d6000803e3d6000fd5b6000808260405160200162005ab29190620075d8565b60408051808303601f190181529082905280516020909101206001625e79b760e01b03198252600482018190529150600080516020620208788339815191529063ffa1864990602401602060405180830381865afa15801562005b19573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005b3f919062006b01565b6040516318caf8e360e31b8152909250600080516020620208788339815191529063c657c7189062005b78908590879060040162006c1f565b600060405180830381600087803b15801562005b9357600080fd5b505af115801562005ba8573d6000803e3d6000fd5b50505050915091565b60405162005bbf9062006027565b604051809103906000f08015801562005bdc573d6000803e3d6000fd5b50601e8054610100600160a81b0319166101006001600160a01b039384168102919091179182905590041663c4d66de862005c16620040c6565b6040518263ffffffff1660e01b815260040162005c34919062006042565b600060405180830381600087803b15801562005c4f57600080fd5b505af115801562000998573d6000803e3d6000fd5b6000816001600160a01b031663d8d11f78856000866000806000806000808c6001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562005cc1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005ce791906200702a565b6040518b63ffffffff1660e01b815260040162005d0e9a99989796959493929190620075f6565b602060405180830381865afa15801562005d2c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005d5291906200702a565b949350505050565b6000600160801b83111562005dc35760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b606482015260840162004d11565b600160801b821062005e175760405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b604482015260640162004d11565b60806001607f1b62005e2a848662006da8565b62005e36919062006ee5565b901c9392505050565b610e94806200767183390190565b611948806200850583390190565b6104ec8062009e4d83390190565b60405180610180016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200162005ee8604051806040016040528060008152602001606081525090565b815260200160006001600160a01b0316815260200160608152602001600015158152602001606081525090565b612083806200a33983390190565b6160f0806200c3bc83390190565b6170ea80620124ac83390190565b610731806201959683390190565b60405180610100016040528062005f856040518060800160405280600081526020016000815260200160008152602001600081525090565b8152602001600081526020016000815260200162005faf6040518060200160405280600081525090565b8152602001620060006040518060c0016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081525090565b8152600060208201819052604082015260609081015290565b6131a38062019cc783390190565b612b30806201ce6a83390190565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114620030fc57600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b0381118282101715620060a757620060a76200606c565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620060d857620060d86200606c565b604052919050565b60006001600160401b03821115620060fc57620060fc6200606c565b50601f01601f191660200190565b600082601f8301126200611c57600080fd5b8135620061336200612d82620060e0565b620060ad565b8181528460208386010111156200614957600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156200617d57600080fd5b84356200618a8162006056565b9350602085013592506040850135620061a38162006056565b915060608501356001600160401b03811115620061bf57600080fd5b620061cd878288016200610a565b91505092959194509250565b60008060408385031215620061ed57600080fd5b8235620061fa8162006056565b915060208301356200620c8162006056565b809150509250929050565b6000602082840312156200622a57600080fd5b8135620023658162006056565b600081518084526020808501945080840160005b83811015620062725781516001600160a01b0316875295820195908201906001016200624b565b509495945050505050565b60208152600062002365602083018462006237565b60005b83811015620062af57818101518382015260200162006295565b50506000910152565b60008151808452620062d281602086016020860162006292565b601f01601f19169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b85811015620063325782840389526200631f848351620062b8565b9885019893509084019060010162006304565b5091979650505050505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015620063b257888303603f19018552815180516001600160a01b031684528701518784018790526200639e87850182620062e6565b958801959350509086019060010162006366565b509098975050505050505050565b600080600060608486031215620063d657600080fd5b8335620063e38162006056565b9250602084810135620063f68162006056565b925060408501356001600160401b03808211156200641357600080fd5b818701915087601f8301126200642857600080fd5b8135818111156200643d576200643d6200606c565b8060051b915062006450848301620060ad565b818152918301840191848101908a8411156200646b57600080fd5b938501935b83851015620064995784359250620064888362006056565b828252938501939085019062006470565b8096505050505050509250925092565b82815260406020820152600062005d526040830184620062b8565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156200656c57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015620065565783516001600160e01b0319168252928b019260019290920191908b01906200652a565b50978a01979550505091870191600101620064ec565b50919998505050505050505050565b6000806000606084860312156200659157600080fd5b83356200659e8162006056565b92506020840135915060408401356001600160401b03811115620065c157600080fd5b620065cf868287016200610a565b9150509250925092565b602081526000620023656020830184620062e6565b60038110620030fc57600080fd5b8035600481106200660c57600080fd5b919050565b600060c082840312156200662457600080fd5b6200662e62006082565b905081356200663d8162006056565b815260208201356200664f8162006056565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b6000806000806000806000806101a0898b031215620066a257600080fd5b8835620066af8162006056565b97506020890135620066c18162006056565b96506040890135620066d38162006056565b95506060890135620066e58162006056565b94506080890135620066f78162006056565b935060a08901356200670981620065ee565b92506200671960c08a01620065fc565b91506200672a8a60e08b0162006611565b90509295985092959890939650565b600080600080600060a086880312156200675257600080fd5b85356200675f8162006056565b9450602086013593506040860135620067788162006056565b925060608601356001600160401b038111156200679457600080fd5b620067a2888289016200610a565b95989497509295608001359392505050565b600060208284031215620067c757600080fd5b604051602081016001600160401b0381118282101715620067ec57620067ec6200606c565b6040529135825250919050565b600080600080600061014086880312156200681357600080fd5b8535620068208162006056565b945060208601356200683281620065ee565b93506200684260408701620065fc565b9250620068538760608801620067b4565b915062006864876080880162006611565b90509295509295909350565b634e487b7160e01b600052602160045260246000fd5b6003811062006899576200689962006870565b9052565b6004811062006899576200689962006870565b6000610200825180518552602081015160208601526040810151604086015260608101516060860152506020830151620068ee608086018262006886565b5060408301516200690360a08601826200689d565b506060838101515160c086015260808085015180516001600160a01b0390811660e089015260208201511661010088015260408101516101208801529182015161014087015281015161016086015260a090810151610180860152830151620069716101a086018262006035565b5060c0830151620069876101c086018262006035565b5060e0830151816101e0860152620069a28286018262006237565b95945050505050565b602081526000620023656020830184620068b0565b60008060008060008060008060006101c08a8c031215620069e057600080fd5b8935620069ed8162006056565b985060208a0135620069ff8162006056565b975060408a013562006a118162006056565b965060608a013562006a238162006056565b955060808a013562006a358162006056565b945060a08a013562006a4781620065ee565b935062006a5760c08b01620065fc565b925062006a688b60e08c01620067b4565b915062006a7a8b6101008c0162006611565b90509295985092959850929598565b6000806000806080858703121562006aa057600080fd5b5050823594602084013594506040840135936060013592509050565b60006020828403121562006acf57600080fd5b81356001600160401b0381111562006ae657600080fd5b62005d52848285016200610a565b80516200660c8162006056565b60006020828403121562006b1457600080fd5b8151620023658162006056565b634e487b7160e01b600052603260045260246000fd5b600061010080835262006b4d8184018b62006237565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b634e487b7160e01b600052601160045260246000fd5b60008262006bd257634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b03929092168252602082015260400190565b805180151581146200660c57600080fd5b60006020828403121562006c1457600080fd5b620023658262006bf0565b6001600160a01b038316815260406020820181905260009062005d5290830184620062b8565b600181811c9082168062006c5a57607f821691505b60208210810362004d1a57634e487b7160e01b600052602260045260246000fd5b80518252600060208201516040602085015262005d526040850182620062b8565b6020815262006cb060208201835162006035565b6000602083015162006cc6604084018262006035565b506040830151606083015260608301516080830152608083015160a083015260a083015162006cf960c084018262006035565b5060c083015162006d0e60e084018262006035565b5060e0830151610180610100818186015262006d2f6101a086018462006c7b565b9086015190925061012062006d478682018362006035565b80870151915050601f1961014081878603018188015262006d698584620062b8565b94508088015192505061016062006d838188018415159052565b87015186850390910183870152905062006d9e8382620062b8565b9695505050505050565b808202811582820484141762000cf45762000cf462006b9e565b80548252600060018083016020604081870152600082548181861c90508582168062006def57607f821691505b848210810362006e0d57634e487b7160e01b84526022600452602484fd5b60408a0182905260608a0181801562006e2f576001811462006e465762006e73565b60ff198516825283151560051b8201955062006e73565b60008881526020902060005b8581101562006e6d57815484820152908a0190880162006e52565b83019650505b50939a9950505050505050505050565b6001600160a01b038416815260606020820181905260009062006ea990830185620068b0565b828103604084015262006d9e818562006dc2565b6000806040838503121562006ed157600080fd5b8251915060208301516200620c8162006056565b8082018082111562000cf45762000cf462006b9e565b60208152815160208201526000602083015160018060a01b038082166040850152604085015160608501528060608601511660808501525050608083015160a08084015262005d5260c084018262006c7b565b60008060008060008060c0878903121562006f6857600080fd5b865162006f758162006056565b602088015190965062006f888162006056565b6040880151606089015160808a015160a0909a0151989b929a5090989097909650945092505050565b84815260a06020820152600062006fe660a08301600e81526d506f6f6c2050726f66696c65203160901b602082015260400190565b828103604084015262006ffa818762006c7b565b6001600160a01b0386166060850152838103608085015290506200701f818562006237565b979650505050505050565b6000602082840312156200703d57600080fd5b5051919050565b908152606060208201819052600090820181905260806040830181905282015260a00190565b6001600160e01b031991909116815260200190565b92835260208301919091526001600160a01b0316604082015260600190565b6000620070af6200612d84620060e0565b9050828152838383011115620070c457600080fd5b6200236583602083018462006292565b60008060008060008060c08789031215620070ee57600080fd5b8651620070fb8162006056565b60208801519096506001600160401b038111156200711857600080fd5b8701601f810189136200712a57600080fd5b6200713b898251602084016200709e565b95505060408701519350606087015192506080870151915060a0870151600281106200716657600080fd5b809150509295509295509295565b8181038181111562000cf45762000cf462006b9e565b602081526000620023656020830184620062b8565b6002811062006899576200689962006870565b6001600160a01b038b81168252602082018b905261014060408301819052600091620071e18483018d620062b8565b9150620071f2606085018c6200719f565b8960808501528860a08501528760c085015280871660e0850152808616610100850152508281036101208401526200722b8185620062b8565b9d9c50505050505050505050505050565b6001600160a01b03841681526060602082018190526000906200726290830185620062b8565b9050826040830152949350505050565b878152600060018060a01b03808916602084015260e060408401526200729c60e0840189620062b8565b818816606085015286608085015283810360a0850152620072be818762006dc2565b91505082810360c0840152620072d5818562006237565b9a9950505050505050505050565b600060208284031215620072f657600080fd5b81516200236581620065ee565b634e487b7160e01b600052600160045260246000fd5b6000600182016200732e576200732e62006b9e565b5060010190565b6000806000606084860312156200734b57600080fd5b835192506200735d6020850162006bf0565b91506200736d6040850162006bf0565b90509250925092565b600082601f8301126200738857600080fd5b62002365838351602085016200709e565b600060408284031215620073ac57600080fd5b604080519081016001600160401b038082118383101715620073d257620073d26200606c565b81604052829350845183526020850151915080821115620073f257600080fd5b50620074018582860162007376565b6020830152505092915050565b6000602082840312156200742157600080fd5b81516001600160401b03808211156200743957600080fd5b9083019060c082860312156200744e57600080fd5b6200745862006082565b82518152602083015160208201526040830151828111156200747957600080fd5b620074878782860162007376565b604083015250606083015182811115620074a057600080fd5b620074ae8782860162007399565b606083015250620074c26080840162006af4565b6080820152620074d560a0840162006af4565b60a082015295945050505050565b84815260a06020820152600960a08201526850726f66696c65203160b81b60c082015260e0604082015260006200751e60e083018662006c7b565b6001600160a01b038516606084015282810360808401526200701f818562006237565b84815260a06020820152600960a082015268283937b334b632901960b91b60c082015260e0604082015260006200751e60e083018662006c7b565b6000806000606084860312156200759257600080fd5b835160ff81168114620075a457600080fd5b602085015160409095015190969495509392505050565b821515815260406020820152600062005d526040830184620062b8565b60008251620075ec81846020870162006292565b9190910192915050565b6001600160a01b038b81168252602082018b905261014060408301819052600091620076258483018d620062b8565b925062007636606085018c6200719f565b60808401999099525060a082019690965260c081019490945291851660e0840152909316610100820152610120019190915294935050505056fe60806040523480156200001157600080fd5b5060405162000e9438038062000e94833981016040819052620000349162000134565b600062000042848262000248565b50600162000051838262000248565b506002805460ff191660ff9290921691909117905550620003149050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200009757600080fd5b81516001600160401b0380821115620000b457620000b46200006f565b604051601f8301601f19908116603f01168101908282118183101715620000df57620000df6200006f565b81604052838152602092508683858801011115620000fc57600080fd5b600091505b8382101562000120578582018301518183018401529082019062000101565b600093810190920192909252949350505050565b6000806000606084860312156200014a57600080fd5b83516001600160401b03808211156200016257600080fd5b620001708783880162000085565b945060208601519150808211156200018757600080fd5b50620001968682870162000085565b925050604084015160ff81168114620001ae57600080fd5b809150509250925092565b600181811c90821680620001ce57607f821691505b602082108103620001ef57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024357600081815260208120601f850160051c810160208610156200021e5750805b601f850160051c820191505b818110156200023f578281556001016200022a565b5050505b505050565b81516001600160401b038111156200026457620002646200006f565b6200027c81620002758454620001b9565b84620001f5565b602080601f831160018114620002b457600084156200029b5750858301515b600019600386901b1c1916600185901b1785556200023f565b600085815260208120601f198616915b82811015620002e557888601518255948401946001909101908401620002c4565b5085821015620003045787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610b7080620003246000396000f3fe608060405234801561001057600080fd5b50600436106100e65760003560e01c806306fdde03146100eb578063095ea7b31461010957806318160ddd1461012c57806323b872dd14610146578063313ce567146101595780633644e5151461016e578063395093511461017657806340c10f191461018957806370a082311461019e5780637ecebe00146101c457806395d89b41146101ea5780639dc29fac146101f2578063a457c2d714610205578063a9059cbb14610218578063d30ed3b31461022b578063d505accf1461023e578063dd62ed3e14610251578063f83d17911461027a575b600080fd5b6100f361028d565b604051610100919061092f565b60405180910390f35b61011c610117366004610999565b61031f565b6040519015158152602001610100565b6805345cdf77eb68f44c545b604051908152602001610100565b61011c6101543660046109c3565b610360565b60025460405160ff9091168152602001610100565b610138610385565b61011c610184366004610999565b6103fb565b61019c610197366004610999565b610416565b005b6101386101ac3660046109ff565b6387a211a2600c908152600091909152602090205490565b6101386101d23660046109ff565b6338377508600c908152600091909152602090205490565b6100f361042c565b61019c610200366004610999565b61043b565b61011c610213366004610999565b61044d565b61011c610226366004610999565b610461565b61019c6102393660046109c3565b610475565b61019c61024c366004610a1a565b610495565b61013861025f366004610a8d565b602052637f5e9f20600c908152600091909152603490205490565b61019c6102883660046109c3565b6105b1565b60606000805461029c90610ac0565b80601f01602080910402602001604051908101604052809291908181526020018280546102c890610ac0565b80156103155780601f106102ea57610100808354040283529160200191610315565b820191906000526020600020905b8154815290600101906020018083116102f857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b600061037d61036e856105cc565b610377856105cc565b846105db565b949350505050565b604051600061039261028d565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061040f610409846105cc565b83610687565b9392505050565b610428610422836105cc565b826106e7565b5050565b60606001805461029c90610ac0565b610428610447836105cc565b82610754565b600061040f61045b846105cc565b836107b9565b600061040f61046f846105cc565b8361081a565b610490610481846105cc565b61048a846105cc565b83610883565b505050565b600061049f610385565b9050604051854211156104ba57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105725763ddafbaef6000526004601cfd5b6303faf4f960a51b88176040526034602c208790558789600080516020610b1b833981519152602060608501a360405250506000606052505050505050565b6104906105bd846105cc565b6105c6846105cc565b836108c6565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c208054600019811461061b5780851115610615576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106445763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c600080516020610afb833981519152602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156106b95763f90670666000526004601cfd5b80835580600052505050602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b6805345cdf77eb68f44c548181018181101561070b5763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c6000600080516020610afb833981519152602080a35050565b6387a211a2600c52816000526020600c2080548083111561077d5763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c8054829003905560008181526001600160a01b038316600080516020610afb833981519152602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156107e857638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156108455763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c33600080516020610afb833981519152602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146108bf57808311156108b9576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156108f15763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c600080516020610afb833981519152602080a350505050565b600060208083528351808285015260005b8181101561095c57858101830151858201604001528201610940565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461099457600080fd5b919050565b600080604083850312156109ac57600080fd5b6109b58361097d565b946020939093013593505050565b6000806000606084860312156109d857600080fd5b6109e18461097d565b92506109ef6020850161097d565b9150604084013590509250925092565b600060208284031215610a1157600080fd5b61040f8261097d565b600080600080600080600060e0888a031215610a3557600080fd5b610a3e8861097d565b9650610a4c6020890161097d565b95506040880135945060608801359350608088013560ff81168114610a7057600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610aa057600080fd5b610aa98361097d565b9150610ab76020840161097d565b90509250929050565b600181811c90821680610ad457607f821691505b602082108103610af457634e487b7160e01b600052602260045260246000fd5b5091905056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a2646970667358221220c55d78ffe9a4daf802ed6c15a39ccc3dba398ff280afd24434cb0f3846ea85e764736f6c6343000813003360a06040523060805234801561001457600080fd5b506080516118fc61004c60003960008181610360015281816103a9015281816104310152818161047101526104ed01526118fc6000f3fe6080604052600436106100ce5760003560e01c80631c3db16d146100d357806326a0754c146101155780633659cfe6146101585780634f1ef2861461017a57806352d1902d1461018d578063564a565d146101b05780635ea7b4fc146101e2578063715018a6146102025780637a1d37561461021757806388d5b732146102375780638da5cb5b14610257578063c13517e11461026c578063d98493f61461027f578063f2fde38b1461029f578063f6506db4146102bf578063f7434ea9146102da578063fe4b84df146102fd575b600080fd5b3480156100df57600080fd5b506100f36100ee366004611238565b61031d565b6040805193845291151560208401521515908201526060015b60405180910390f35b34801561012157600080fd5b5061014b610130366004611266565b6099602052600090815260409020546001600160a01b031681565b60405161010c9190611283565b34801561016457600080fd5b50610178610173366004611266565b610356565b005b6101786101883660046112ad565b610427565b34801561019957600080fd5b506101a26104e0565b60405190815260200161010c565b3480156101bc57600080fd5b506101d06101cb366004611238565b61058e565b60405161010c969594939291906113d6565b3480156101ee57600080fd5b506101786101fd366004611238565b61066c565b34801561020e57600080fd5b506101786106af565b34801561022357600080fd5b5061017861023236600461143d565b6106c3565b34801561024357600080fd5b50610178610252366004611266565b610901565b34801561026357600080fd5b5061014b610964565b6101a261027a3660046114be565b610973565b34801561028b57600080fd5b506101a261029a366004611509565b610aeb565b3480156102ab57600080fd5b506101786102ba366004611266565b610b26565b3480156102cb57600080fd5b506101a261029a366004611554565b3480156102e657600080fd5b506101a26102f53660046115ba565b505060975490565b34801561030957600080fd5b50610178610318366004611238565b610b9c565b60008060008060988581548110610336576103366115fb565b600091825260208220600460069092020101549690955085945092505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103a75760405162461bcd60e51b815260040161039e90611611565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103d9610cec565b6001600160a01b0316146103ff5760405162461bcd60e51b815260040161039e9061164b565b61040881610d08565b6040805160008082526020820190925261042491839190610d10565b50565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361046f5760405162461bcd60e51b815260040161039e90611611565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166104a1610cec565b6001600160a01b0316146104c75760405162461bcd60e51b815260040161039e9061164b565b6104d082610d08565b6104dc82826001610d10565b5050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461057b5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840161039e565b5060008051602061188083398151915290565b6098818154811061059e57600080fd5b6000918252602090912060069091020180546001820180546001600160a01b039092169350906105cd90611685565b80601f01602080910402602001604051908101604052809291908181526020018280546105f990611685565b80156106465780601f1061061b57610100808354040283529160200191610646565b820191906000526020600020905b81548152906001019060200180831161062957829003601f168201915b505050506002830154600384015460048501546005909501549394919390925060ff1686565b610674610e80565b60978190556040518181527fb1484c2bf00d94a00783b6081ebc5f5d02be4675f6eb8cf4c0c95bfe5a3f06ed9060200160405180910390a150565b6106b7610e80565b6106c16000610edf565b565b6001600160a01b0380821660009081526099602052604090205482911633036108be576000609885815481106106fb576106fb6115fb565b906000526020600020906006020190508060020154841115610730576040516309efd47960e41b815260040160405180910390fd5b6001600582015460ff16600181111561074b5761074b6113c0565b036107695760405163bda17d9560e01b815260040160405180910390fd5b6004810184905560058101805460ff19166001179055600381015460405160009133918381818185875af1925050503d80600081146107c4576040519150601f19603f3d011682016040523d82523d6000602084013e6107c9565b606091505b505090508061080c5760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161039e565b815460048084015460405163188d362b60e11b815291820189905260248201526001600160a01b039091169063311a6c5690604401600060405180830381600087803b15801561085b57600080fd5b505af115801561086f573d6000803e3d6000fd5b5050505085846001600160a01b03167f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e75622276876040516108af91815260200190565b60405180910390a350506108fb565b6001600160a01b038181166000908152609960205260409081902054905163d0774c9960e01b81523360048201529116602482015260440161039e565b50505050565b336000818152609960205260409081902080546001600160a01b0319166001600160a01b038516179055517f2b87bb26d58aa2d56b59c2b23a53a6959f68d4547492bda44fb5e68b0fa38b3f90610959908490611283565b60405180910390a250565b6033546001600160a01b031690565b600061097d610f31565b6097543410156109a05760405163e4216b3160e01b815260040160405180910390fd5b609880549050905060986040518060c00160405280336001600160a01b0316815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093855250505060208201889052346040830152606082018190526080909101528154600180820184556000938452602093849020835160069093020180546001600160a01b0319166001600160a01b03909316929092178255928201519192909190820190610a65908261170d565b5060408201516002820155606082015160038201556080820151600482015560a082015160058201805460ff191660018381811115610aa657610aa66113c0565b02179055505060405133915082907f141dfc18aa6a56fc816f44f0e9e2f1ebc92b15ab167770e17db5b084c10ed99590600090a3610ae46001606555565b9392505050565b60405162461bcd60e51b815260206004820152600d60248201526c139bdd081cdd5c1c1bdc9d1959609a1b604482015260009060640161039e565b610b2e610e80565b6001600160a01b038116610b935760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161039e565b61042481610edf565b600054610100900460ff1615808015610bbc5750600054600160ff909116105b80610bdd5750610bcb30610f8a565b158015610bdd575060005460ff166001145b610c405760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161039e565b6000805460ff191660011790558015610c63576000805461ff0019166101001790555b610c6b610f99565b60978290556040518281527fc05490fc8f8e095831ea3823f005dd0661528380328aa5c3b7348a45244223be9060200160405180910390a180156104dc576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600080516020611880833981519152546001600160a01b031690565b610424610e80565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610d4857610d4383610fc8565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610da2575060408051601f3d908101601f19168201909252610d9f918101906117cc565b60015b610e055760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161039e565b6000805160206118808339815191528114610e745760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161039e565b50610d43838383611062565b33610e89610964565b6001600160a01b0316146106c15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161039e565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600260655403610f835760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161039e565b6002606555565b6001600160a01b03163b151590565b600054610100900460ff16610fc05760405162461bcd60e51b815260040161039e906117e5565b6106c1611087565b610fd181610f8a565b6110335760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161039e565b60008051602061188083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61106b836110b7565b6000825111806110785750805b15610d43576108fb83836110f7565b600054610100900460ff166110ae5760405162461bcd60e51b815260040161039e906117e5565b6106c133610edf565b6110c081610fc8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610ae483836040518060600160405280602781526020016118a0602791396060600080856001600160a01b0316856040516111349190611830565b600060405180830381855af49150503d806000811461116f576040519150601f19603f3d011682016040523d82523d6000602084013e611174565b606091505b50915091506111858683838761118f565b9695505050505050565b606083156111fc5782516000036111f5576111a985610f8a565b6111f55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161039e565b5081611206565b611206838361120e565b949350505050565b81511561121e5781518083602001fd5b8060405162461bcd60e51b815260040161039e919061184c565b60006020828403121561124a57600080fd5b5035919050565b6001600160a01b038116811461042457600080fd5b60006020828403121561127857600080fd5b8135610ae481611251565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156112c057600080fd5b82356112cb81611251565b915060208301356001600160401b03808211156112e757600080fd5b818501915085601f8301126112fb57600080fd5b81358181111561130d5761130d611297565b604051601f8201601f19908116603f0116810190838211818310171561133557611335611297565b8160405282815288602084870101111561134e57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b8381101561138b578181015183820152602001611373565b50506000910152565b600081518084526113ac816020860160208601611370565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b038716815260c0602082018190526000906113fa90830188611394565b90508560408301528460608301528360808301526002831061142c57634e487b7160e01b600052602160045260246000fd5b8260a0830152979650505050505050565b60008060006060848603121561145257600080fd5b8335925060208401359150604084013561146b81611251565b809150509250925092565b60008083601f84011261148857600080fd5b5081356001600160401b0381111561149f57600080fd5b6020830191508360208285010111156114b757600080fd5b9250929050565b6000806000604084860312156114d357600080fd5b8335925060208401356001600160401b038111156114f057600080fd5b6114fc86828701611476565b9497909650939450505050565b60008060006040848603121561151e57600080fd5b83356001600160401b0381111561153457600080fd5b61154086828701611476565b909450925050602084013561146b81611251565b60008060008060006080868803121561156c57600080fd5b8535945060208601356001600160401b0381111561158957600080fd5b61159588828901611476565b90955093505060408601356115a981611251565b949793965091946060013592915050565b600080602083850312156115cd57600080fd5b82356001600160401b038111156115e357600080fd5b6115ef85828601611476565b90969095509350505050565b634e487b7160e01b600052603260045260246000fd5b6020808252602c9082015260008051602061186083398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061186083398151915260408201526b6163746976652070726f787960a01b606082015260800190565b600181811c9082168061169957607f821691505b6020821081036116b957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610d4357600081815260208120601f850160051c810160208610156116e65750805b601f850160051c820191505b81811015611705578281556001016116f2565b505050505050565b81516001600160401b0381111561172657611726611297565b61173a816117348454611685565b846116bf565b602080601f83116001811461176f57600084156117575750858301515b600019600386901b1c1916600185901b178555611705565b600085815260208120601f198616915b8281101561179e5788860151825594840194600190910190840161177f565b50858210156117bc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156117de57600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60008251611842818460208701611370565b9190910192915050565b602081526000610ae4602083018461139456fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212209aaf864e6b8d13947cef88666fa61198600c6e2482edc2b2c9a9b5d85494d7c764736f6c6343000813003360806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212204fe6c3c3dccfaea0fd10fdd343631403db3c1555c6576ad816deaaa45c9f926764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656460a06040523060805234801561001457600080fd5b5060805161203761004c6000396000818161072c0152818161076f015281816108000152818161084301526108c801526120376000f3fe608060405260043610620001345760003560e01c806302c1d0b114620001395780630a992e0c14620001735780631459457a14620001a75780631b71f0e414620001ce5780633659cfe614620001f35780634f1ef286146200021857806352d1902d146200022f5780635a2c8ace14620002475780635c94e4d2146200026c5780635decae02146200028e578063715018a614620002b357806377122d5614620002cb5780638279c7db14620002ed5780638da5cb5b1462000312578063987435be146200032a578063affed0e0146200034a578063b0d3713a1462000362578063b5b3ca2c1462000387578063b8bed90114620003ac578063beb331a314620003ce578063c4d66de814620003f3578063f2fde38b1462000418578063f5016b5e146200043d578063ffa1ad74146200048e575b600080fd5b3480156200014657600080fd5b506068546200015b906001600160a01b031681565b6040516200016a919062001333565b60405180910390f35b3480156200018057600080fd5b5062000198620001923660046200136f565b620004ce565b6040519081526020016200016a565b348015620001b457600080fd5b50620001cc620001c63660046200138f565b62000534565b005b348015620001db57600080fd5b50620001cc620001ed3660046200136f565b620006f6565b3480156200020057600080fd5b50620001cc620002123660046200136f565b62000722565b620001cc62000229366004620014c9565b620007f6565b3480156200023c57600080fd5b5062000198620008bb565b3480156200025457600080fd5b50620001cc6200026636600462001544565b6200096c565b3480156200027957600080fd5b506069546200015b906001600160a01b031681565b3480156200029b57600080fd5b50620001cc620002ad3660046200136f565b620009dd565b348015620002c057600080fd5b50620001cc62000a09565b348015620002d857600080fd5b50606a546200015b906001600160a01b031681565b348015620002fa57600080fd5b50620001cc6200030c3660046200136f565b62000a21565b3480156200031f57600080fd5b506200015b62000a7d565b3480156200033757600080fd5b506067546001600160a01b03166200015b565b3480156200035757600080fd5b506200019860655481565b3480156200036f57600080fd5b50620001cc620003813660046200136f565b62000b1a565b3480156200039457600080fd5b50620001cc620003a63660046200157e565b62000b46565b348015620003b957600080fd5b506067546200015b906001600160a01b031681565b348015620003db57600080fd5b506200015b620003ed36600462001645565b62000ba2565b3480156200040057600080fd5b50620001cc620004123660046200136f565b62000ce3565b3480156200042557600080fd5b50620001cc620004373660046200136f565b62000d5b565b3480156200044a57600080fd5b506200047d6200045c3660046200136f565b6001600160a01b031660009081526066602052604090206001015460ff1690565b60405190151581526020016200016a565b3480156200049b57600080fd5b50620004bf604051806040016040528060038152602001620302e360ec1b81525081565b6040516200016a9190620017f4565b6001600160a01b03811660009081526066602052604081206001015460ff1662000518578160405163f5a6943d60e01b81526004016200050f919062001333565b60405180910390fd5b506001600160a01b031660009081526066602052604090205490565b600054610100900460ff1615808015620005555750600054600160ff909116105b806200057a5750620005673062000dcc565b1580156200057a575060005460ff166001145b620005df5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200050f565b6000805460ff19166001179055801562000603576000805461ff0019166101001790555b6200060e8662000ce3565b60006065556200061e8562000ddb565b620006298462000ddb565b620006348262000ddb565b606780546001600160a01b038088166001600160a01b0319928316179092556068805487841690831617905560698054868416908316179055606a80549285169290911691909117905560405160008051602062001fe2833981519152906200069f90879062001333565b60405180910390a18015620006ee576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b6200070062000e03565b606980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036200076d5760405162461bcd60e51b81526004016200050f9062001809565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620007a162000e66565b6001600160a01b031614620007ca5760405162461bcd60e51b81526004016200050f9062001844565b620007d58162000e83565b60408051600080825260208201909252620007f39183919062000ed5565b50565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620008415760405162461bcd60e51b81526004016200050f9062001809565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200087562000e66565b6001600160a01b0316146200089e5760405162461bcd60e51b81526004016200050f9062001844565b620008a98262000e83565b620008b78282600162000ed5565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620009585760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016200050f565b5060008051602062001f9b83398151915290565b6200097662000e03565b6001600160a01b038216600081815260666020908152604091829020600101805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b620009e762000e03565b606880546001600160a01b0319166001600160a01b0392909216919091179055565b62000a1362000e03565b62000a1f600062001052565b565b62000a2b62000e03565b62000a368162000ddb565b606780546001600160a01b0319166001600160a01b03831617905560405160008051602062001fe28339815191529062000a7290839062001333565b60405180910390a150565b60008062000a936033546001600160a01b031690565b9050806001600160a01b03163b60000362000aad57919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000b0a575060408051601f3d908101601f1916820190925262000b07918101906200187f565b60015b62000b1457919050565b92915050565b62000b2462000e03565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b62000b5062000e03565b6001600160a01b038216600081815260666020908152604091829020849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c9101620009d1565b606580546000918262000bb5836200189f565b9091555060808301523060a0830152606854606954606a546000926001600160a01b0390811692633419635560e01b928792918216911662000bf662000a7d565b60405160240162000c0b9493929190620018e8565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905162000c4a9062001318565b62000c5792919062001a30565b604051809103906000f08015801562000c74573d6000803e3d6000fd5b506001600160a01b038116600090815260666020526040908190206001908101805460ff191690911790555190915081907fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc299062000cd490839062001333565b60405180910390a19392505050565b600054610100900460ff1662000d505760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200050f565b620007f38162001052565b62000d6562000e03565b6001600160a01b03811662000d505760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016200050f565b6001600160a01b03163b151590565b6001600160a01b038116620007f3576040516303988b8160e61b815260040160405180910390fd5b3362000e0e62000a7d565b6001600160a01b03161462000a1f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200050f565b60008051602062001f9b833981519152546001600160a01b031690565b3362000e8e62000a7d565b6001600160a01b031614620007f3573362000ea862000a7d565b60405163163678e960e01b81526001600160a01b039283166004820152911660248201526044016200050f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000f105762000f0b83620010a4565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000f6d575060408051601f3d908101601f1916820190925262000f6a9181019062001a56565b60015b62000fd25760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016200050f565b60008051602062001f9b8339815191528114620010445760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016200050f565b5062000f0b83838362001143565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b620010af8162000dcc565b620011135760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016200050f565b60008051602062001f9b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6200114e8362001174565b6000825111806200115c5750805b1562000f0b576200116e8383620011b6565b50505050565b6200117f81620010a4565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620011de838360405180606001604052806027815260200162001fbb60279139620011e5565b9392505050565b6060600080856001600160a01b03168560405162001204919062001a70565b600060405180830381855af49150503d806000811462001241576040519150601f19603f3d011682016040523d82523d6000602084013e62001246565b606091505b5091509150620012598683838762001263565b9695505050505050565b60608315620012d7578251600003620012cf57620012818562000dcc565b620012cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200050f565b5081620012e3565b620012e38383620012eb565b949350505050565b815115620012fc5781518083602001fd5b8060405162461bcd60e51b81526004016200050f9190620017f4565b6104ec8062001a8f83390190565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114620007f357600080fd5b80356200136a8162001347565b919050565b6000602082840312156200138257600080fd5b8135620011de8162001347565b600080600080600060a08688031215620013a857600080fd5b8535620013b58162001347565b94506020860135620013c78162001347565b93506040860135620013d98162001347565b92506060860135620013eb8162001347565b91506080860135620013fd8162001347565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b03811182821017156200144757620014476200140b565b60405290565b60006001600160401b03808411156200146a576200146a6200140b565b604051601f8501601f19908116603f011681019082821181831017156200149557620014956200140b565b81604052809350858152868686011115620014af57600080fd5b858560208301376000602087830101525050509392505050565b60008060408385031215620014dd57600080fd5b8235620014ea8162001347565b915060208301356001600160401b038111156200150657600080fd5b8301601f810185136200151857600080fd5b62001529858235602084016200144d565b9150509250929050565b803580151581146200136a57600080fd5b600080604083850312156200155857600080fd5b8235620015658162001347565b9150620015756020840162001533565b90509250929050565b600080604083850312156200159257600080fd5b82356200159f8162001347565b946020939093013593505050565b600082601f830112620015bf57600080fd5b620011de838335602085016200144d565b600060408284031215620015e357600080fd5b604080519081016001600160401b0380821183831017156200160957620016096200140b565b816040528293508435835260208501359150808211156200162957600080fd5b506200163885828601620015ad565b6020830152505092915050565b6000602082840312156200165857600080fd5b81356001600160401b03808211156200167057600080fd5b9083019061018082860312156200168657600080fd5b6200169062001421565b6200169b836200135d565b8152620016ab602084016200135d565b6020820152604083013560408201526060830135606082015260808301356080820152620016dc60a084016200135d565b60a0820152620016ef60c084016200135d565b60c082015260e0830135828111156200170757600080fd5b6200171587828601620015d0565b60e0830152506101006200172b8185016200135d565b9082015261012083810135838111156200174457600080fd5b6200175288828701620015ad565b8284015250506101406200176881850162001533565b9082015261016083810135838111156200178157600080fd5b6200178f88828701620015ad565b918301919091525095945050505050565b60005b83811015620017bd578181015183820152602001620017a3565b50506000910152565b60008151808452620017e0816020860160208601620017a0565b601f01601f19169290920160200192915050565b602081526000620011de6020830184620017c6565b6020808252602c9082015260008051602062001f7b83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602062001f7b83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156200189257600080fd5b8151620011de8162001347565b600060018201620018c057634e487b7160e01b600052601160045260246000fd5b5060010190565b805182526000602082015160406020850152620012e36040850182620017c6565b60808152620018fc60808201865162001326565b600060208601516200191260a084018262001326565b50604086015160c0830152606086015160e08301526080860151610100818185015260a088015191506101206200194c8186018462001326565b60c08901519250610140620019648187018562001326565b60e08a01519350610180610160818189015262001986610200890187620018c7565b948c01519495506200199b8883018662001326565b838c01519450607f19935083888703016101a0890152620019bd8686620017c6565b9550828c01519450620019d56101c089018615159052565b808c0151945050505080858403016101e086015250620019f68282620017c6565b9250505062001a09602083018662001326565b62001a18604083018562001326565b62001a27606083018462001326565b95945050505050565b6001600160a01b0383168152604060208201819052600090620012e390830184620017c6565b60006020828403121562001a6957600080fd5b5051919050565b6000825162001a84818460208701620017a0565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212204fe6c3c3dccfaea0fd10fdd343631403db3c1555c6576ad816deaaa45c9f926764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656446756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9da264697066735822122089d3dae0234b2496de7a09d7fb68a80f20abfdea75ba20a288c0b016cea6a24264736f6c6343000813003360a06040523060805234801561001457600080fd5b506080516160a36200004d60003960008181611e4301528181611e8601528181611f8101528181611fc4015261211601526160a36000f3fe608060405260043610620003445760003560e01c806301ffc9a714620003495780630331383c146200038357806308386eba14620003a45780630d12bbdb14620003bc5780630d4a8b4914620003e3578063175188e814620004085780631b71f0e4146200042d5780631f787d281462000452578063223e5479146200046d57806322bcf9991462000492578063248a9ca314620004b757806328c309e914620004dc5780632b38c69c14620004f45780632c611c4a14620005285780632f2ff15d146200056657806331f61bca146200058b5780633396045914620005b05780633419635514620005c85780633517aa7d14620005ed57806336568abe14620006055780633659cfe6146200062a578063397e2543146200064f5780633a871fe11462000674578063477a5cc014620006a95780634f1ef28614620006e9578063524e59e8146200070057806352d1902d1462000743578063559de05d146200075b578063579eb7e514620007805780635c94e4d214620007a55780635ecf71c514620007c857806365e3864c14620007ed5780636871eb4d146200082a57806368decabb146200084f5780636c53db9a1462000872578063715018a6146200089557806373265c3714620008ad578063733a2d1f14620008d257806377122d5614620008f75780637817ee4f146200091a57806378a0b8a914620009655780637b103999146200097d57806382d6a1e714620009a05780638659ffdd14620009c557806388cfe68414620009ea5780638961be6b1462000a605780638da5cb5b1462000a7857806391d148541462000a90578063a0cf0aea1462000ab5578063a217fddf1462000adf578063a230c5241462000af6578063b0d3713a1462000b1b578063b3f006741462000b40578063b5058c501462000b67578063b64e39af1462000b7f578063b99b43701462000ba6578063bc063e1a1462000bbe578063c4d66de81462000bd6578063c6d572ae1462000bfb578063d547741f1462000c13578063d6d8428d1462000c38578063d7050f071462000c5b578063db61d65c1462000c73578063e16d0e321462000c96578063ebd7dc521462000cbb578063f2fde38b1462000ce0578063f86c5f891462000d05578063ffa1ad741462000d28575b600080fd5b3480156200035657600080fd5b506200036e6200036836600462004538565b62000d59565b60405190151581526020015b60405180910390f35b3480156200039057600080fd5b5060fb545b6040519081526020016200037a565b348015620003b157600080fd5b506200039560fe5481565b348015620003c957600080fd5b50620003e1620003db36600462004564565b62000d91565b005b348015620003f057600080fd5b50620003e162000402366004620045a6565b62000e07565b3480156200041557600080fd5b50620003e162000427366004620045e4565b6200118a565b3480156200043a57600080fd5b50620003e16200044c366004620045e4565b620011a2565b3480156200045f57600080fd5b5060ff80546200036e911681565b3480156200047a57600080fd5b50620003e16200048c366004620045e4565b620011cf565b3480156200049f57600080fd5b50620003e1620004b1366004620045a6565b620011e4565b348015620004c457600080fd5b5062000395620004d636600462004564565b620012de565b348015620004e957600080fd5b5062000395620012f3565b3480156200050157600080fd5b50620005196200051336600462004604565b620013f8565b6040516200037a919062004640565b3480156200053557600080fd5b506200039562000547366004620045e4565b6001600160a01b0316600090815261010c602052604090206001015490565b3480156200057357600080fd5b50620003e16200058536600462004654565b62001432565b3480156200059857600080fd5b50620003e1620005aa36600462004564565b62001459565b348015620005bd57600080fd5b506200039560fd5481565b348015620005d557600080fd5b50620003e1620005e736600462004864565b62001499565b348015620005fa57600080fd5b50620003e162001b59565b3480156200061257600080fd5b50620003e16200062436600462004654565b62001dbb565b3480156200063757600080fd5b50620003e162000649366004620045e4565b62001e39565b3480156200065c57600080fd5b50620003e16200066e366004620045e4565b62001f0a565b3480156200068157600080fd5b506200036e62000693366004620045e4565b61010a6020526000908152604090205460ff1681565b348015620006b657600080fd5b506200036e620006c8366004620045a6565b61010e60209081526000928352604080842090915290825290205460ff1681565b620003e1620006fa366004620049f7565b62001f77565b3480156200070d57600080fd5b50620007256200071f36600462004c7b565b62002038565b604080519283526001600160a01b039091166020830152016200037a565b3480156200075057600080fd5b506200039562002109565b3480156200076857600080fd5b50620003e16200077a36600462004564565b620021ba565b3480156200078d57600080fd5b50620007256200079f36600462004e5c565b62002406565b348015620007b257600080fd5b506101025462000519906001600160a01b031681565b348015620007d557600080fd5b50620003e1620007e736600462004564565b6200266e565b348015620007fa57600080fd5b50620003956200080c366004620045a6565b61010b60209081526000928352604080842090915290825290205481565b3480156200083757600080fd5b50620003e162000849366004620045a6565b62002a08565b3480156200085c57600080fd5b506101035462000519906001600160a01b031681565b3480156200087f57600080fd5b506101065462000519906001600160a01b031681565b348015620008a257600080fd5b50620003e162002b5b565b348015620008ba57600080fd5b50620003e1620008cc36600462004564565b62002b71565b348015620008df57600080fd5b506200039560008051602062005fe783398151915281565b3480156200090457600080fd5b506101015462000519906001600160a01b031681565b3480156200092757600080fd5b506200039562000939366004620045a6565b6001600160a01b03918216600090815261010b6020908152604080832093909416825291909152205490565b3480156200097257600080fd5b506200039560fb5481565b3480156200098a57600080fd5b506101045462000519906001600160a01b031681565b348015620009ad57600080fd5b50620003e1620009bf36600462004564565b62002c0d565b348015620009d257600080fd5b5062000725620009e436600462004ed0565b62002ccb565b348015620009f757600080fd5b5062000a3862000a09366004620045e4565b61010c602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016200037a565b34801562000a6d57600080fd5b506200039560fc5481565b34801562000a8557600080fd5b506200051962002e58565b34801562000a9d57600080fd5b506200036e62000aaf36600462004654565b62002ef3565b34801562000ac257600080fd5b506200051973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801562000aec57600080fd5b5062000395600081565b34801562000b0357600080fd5b506200036e62000b15366004620045e4565b62002f1e565b34801562000b2857600080fd5b50620003e162000b3a366004620045e4565b62002f68565b34801562000b4d57600080fd5b5060ff54620005199061010090046001600160a01b031681565b34801562000b7457600080fd5b50620003e162002f95565b34801562000b8c57600080fd5b5062000b9762002fcc565b6040516200037a919062004fb7565b34801562000bb357600080fd5b50620003e162003063565b34801562000bcb57600080fd5b50620003956200316d565b34801562000be357600080fd5b50620003e162000bf5366004620045e4565b6200317f565b34801562000c0857600080fd5b5062000b97620031b4565b34801562000c2057600080fd5b50620003e162000c3236600462004654565b620031c4565b34801562000c4557600080fd5b506101075462000519906001600160a01b031681565b34801562000c6857600080fd5b506200039561271081565b34801562000c8057600080fd5b506101055462000519906001600160a01b031681565b34801562000ca357600080fd5b506200072562000cb536600462004fcc565b620031e6565b34801562000cc857600080fd5b506200036e62000cda366004620045e4565b620032a7565b34801562000ced57600080fd5b50620003e162000cff366004620045e4565b620032c4565b34801562000d1257600080fd5b506101005462000519906001600160a01b031681565b34801562000d3557600080fd5b5062000b97604051806040016040528060038152602001620302e360ec1b81525081565b60006001600160e01b03198216637965db0b60e01b148062000d8b57506301ffc9a760e01b6001600160e01b03198316145b92915050565b62000d9b62003335565b62000daa612710600a62005055565b81111562000dcb5760405163fe925f7d60e01b815260040160405180910390fd5b60fc8190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b62000e1162003372565b62000e1c82620033cd565b62000e2781620033f6565b62000e328162003431565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff161562000e7b57604051636adcde4b60e11b815260040160405180910390fd5b6001600160a01b03808316600090815261010c602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff1615159183019190915260fb546003846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000f09573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f2f919062005085565b600381111562000f435762000f436200506f565b0362000fc85760405163782aadff60e01b81526001600160a01b0385169063782aadff9062000f7a908890600090600401620050a5565b6020604051808303816000875af115801562000f9a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fc09190620050be565b9050620010c4565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af11580156200100b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001031919062005085565b60038111156200104557620010456200506f565b14620010c45760405163782aadff60e01b81526001600160a01b0385169063782aadff906200107b9088908690600401620050a5565b6020604051808303816000875af11580156200109b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010c19190620050be565b90505b6001600160a01b03808616600081815261010b6020908152604080832094891680845294825280832086905583835261010e82528083208584528252808320805460ff1916600190811790915593835261010d8252808320805494850181558352912090910180546001600160a01b031916909217909155517ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec906200117090879087908590620050d8565b60405180910390a1505050620011866001606555565b5050565b6200119462003335565b6200119f8162003460565b50565b620011ac620034be565b61010280546001600160a01b0319166001600160a01b0392909216919091179055565b620011d962003335565b6200119f8162003521565b620011ef82620033cd565b620011fa8162003431565b620012063382620035b3565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff166200124e57604051633048da7760e21b815260040160405180910390fd5b6001600160a01b03808316600081815261010e60209081526040808320948616808452948252808320805460ff1916905592825261010b815282822093825292909252812055620012a08282620035e6565b7ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b8282604051620012d2929190620050fc565b60405180910390a15050565b600090815260c9602052604090206001015490565b610100546000906001600160a01b03168162001313612710606462005055565b60fc5460fb5462001325919062005055565b62001331919062005116565b9050600062001344612710606462005055565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c906200137290309060040162004640565b602060405180830381865afa15801562001390573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013b69190620050be565b60fb54620013c5919062005055565b620013d1919062005116565b9050808260fb54620013e4919062005139565b620013f0919062005139565b935050505090565b61010d60205281600052604060002081815481106200141657600080fd5b6000918252602090912001546001600160a01b03169150829050565b6200143d82620012de565b62001448816200371c565b62001454838362003728565b505050565b6200146362003335565b60fb8190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f9060200162000dfc565b600054610100900460ff1615808015620014ba5750600054600160ff909116105b80620014df5750620014cc30620037b2565b158015620014df575060005460ff166001145b620015485760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156200156c576000805461ff0019166101001790555b62001577826200317f565b62001581620037c1565b6200158b620037f5565b620015a760008051602062005fe783398151915260006200381f565b620015b6856020015162003431565b620015c685610100015162003431565b8451620015d39062003431565b620015e28560a0015162003431565b606085015115620015fc57620015fc8560c0015162003431565b845161010780546001600160a01b039283166001600160a01b03199182161790915560208701516101058054919093169116179055604085015160000362001657576040516363868c5560e11b815260040160405180910390fd5b604085015160fb55606085015160fc5561014085015160ff805460ff191691151591909117905561012085015161010890620016949082620051dd565b5061016085015161010990620016ab9082620051dd565b5060a085015161010080546001600160a01b03199081166001600160a01b0393841617825560c088015160ff8054610100600160a81b0319169185168402919091179055908701516101068054909216928116929092179055620017209060008051602062005fe78339815191529062003728565b61010760009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001775573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200179b9190620052a9565b61010480546001600160a01b0319166001600160a01b0392831617905561010654606091163b60000362001827576040805160038082526080820190925290602082016060803683370190505090503381600081518110620018015762001801620052c9565b60200260200101906001600160a01b031690816001600160a01b03168152505062001964565b610106546040805163a0e67e2b60e01b815290516000926001600160a01b03169163a0e67e2b91600480830192869291908290030181865afa15801562001872573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200189c9190810190620052df565b905080516002620018ae919062005139565b6001600160401b03811115620018c857620018c86200467c565b604051908082528060200260200182016040528015620018f2578160200160208202803683370190505b50915060005b81518110156200196157818181518110620019175762001917620052c9565b6020026020010151838281518110620019345762001934620052c9565b6001600160a01b039092166020928302919091019091015280620019588162005378565b915050620018f8565b50505b6101065481516001600160a01b03909116908290620019869060019062005394565b81518110620019995762001999620052c9565b60200260200101906001600160a01b031690816001600160a01b031681525050308160028351620019cb919062005394565b81518110620019de57620019de620052c9565b6001600160a01b03928316602091820292909201015261010454608088015160e0890151604051633a92f65f60e01b81529290931692633a92f65f9262001a319291610108913090889060040162005496565b6020604051808303816000875af115801562001a51573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001a779190620050be565b60fe55805162001a909061010f90602084019062004492565b5061010280546001600160a01b038088166001600160a01b03199283161790925561010180549287169290911691909117905560fe5460e08701516040517f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed032059262001b029290916101089190620054f6565b60405180910390a150801562001b52576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b62001b6362003372565b33600081815261010c602052604081206101005490916001600160a01b039091169062001b94612710606462005055565b60fc5460fb5462001ba6919062005055565b62001bb2919062005116565b9050600062001bc5612710606462005055565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c9062001bf390309060040162004640565b602060405180830381865afa15801562001c11573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001c379190620050be565b60fb5462001c46919062005055565b62001c52919062005116565b905062001c5f8562002f1e565b62001da95760028401805460ff1916600190811790915560fb5490850181905562001cb99086903090849062001c9790879062005139565b62001ca3919062005139565b610105546001600160a01b031692919062003874565b811562001ce65760ff546101055462001ce6916001600160a01b03918216916101009091041684620038d0565b801562001d6b5762001d6b836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001d30573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001d569190620052a9565b610105546001600160a01b03169083620038d0565b7f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f76898560fb5460405162001da0929190620050a5565b60405180910390a15b505050505062001db96001606555565b565b6001600160a01b038116331462001e2d5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016200153f565b620011868282620038f2565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001e845760405162461bcd60e51b81526004016200153f9062005525565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001eb86200395c565b6001600160a01b03161462001ee15760405162461bcd60e51b81526004016200153f9062005560565b62001eec8162003979565b604080516000808252602082019092526200119f91839190620039bb565b62001f1462003335565b62001f1f8162003431565b61010380546001600160a01b0319166001600160a01b03838116918217909255610106546040517f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89362000dfc9392169190620050fc565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001fc25760405162461bcd60e51b81526004016200153f9062005525565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001ff66200395c565b6001600160a01b0316146200201f5760405162461bcd60e51b81526004016200153f9062005560565b6200202a8262003979565b6200118682826001620039bb565b610102546101075461010154600092839283926001600160a01b039283169263184b955960e01b92811691166200206e62002e58565b60405160240162002082939291906200559b565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051620020c190620044f8565b620020ce929190620055be565b604051809103906000f080158015620020eb573d6000803e3d6000fd5b509050620020fc81878787620031e6565b9250925050935093915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620021a65760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016200153f565b506000805160206200602783398151915290565b620021c462003372565b620021ce62003b33565b33600081815261010d60209081526040808320805482518185028101850190935280835291929091908301828280156200223257602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162002213575b50505050509050600080600090505b82518110156200236d57828181518110620022605762002260620052c9565b60200260200101516001600160a01b031663782aadff85876040518363ffffffff1660e01b815260040162002297929190620050a5565b6020604051808303816000875af1158015620022b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620022dd9190620050be565b9150811562002358576001600160a01b038416600090815261010b602052604081208451849290869085908110620023195762002319620052c9565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600082825462002352919062005139565b90915550505b80620023648162005378565b91505062002241565b506101055462002389906001600160a01b031684308762003874565b6001600160a01b038316600090815261010c602052604081206001018054869290620023b790849062005139565b90915550506040517f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f90620023f09085908790620050a5565b60405180910390a15050506200119f6001606555565b610102546101075461010154600092839283926001600160a01b039283169263184b955960e01b92811691166200243c62002e58565b60405160240162002450939291906200559b565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516200248f90620044f8565b6200249c929190620055be565b604051809103906000f080158015620024b9573d6000803e3d6000fd5b509050620024ca8187878762002ccb565b60c087015191945092506001600160a01b0316620025d5576103e88560e00151511115620025535760405162461bcd60e51b815260206004820152602f60248201527f546f6f206d616e7920696e697469616c20616c6c6f776c697374206d656d626560448201526e072732c206d6178206973203130303608c1b60648201526084016200153f565b600083604051602001620025689190620055e4565b60405160208183030381529060405280519060200120905060005b8660e0015151811015620025d257620025bd828860e001518381518110620025af57620025af620052c9565b602002602001015162003728565b80620025c98162005378565b91505062002583565b50505b6200263183604051602001620025ec9190620055e4565b604051602081830303815290604052805190602001208460405160200162002615919062005601565b604051602081830303815290604052805190602001206200381f565b620026658360405160200162002648919062005601565b604051602081830303815290604052805190602001208362003728565b50935093915050565b6200267862003372565b6200268262003b33565b33600081815261010d6020908152604080832060fb5461010c9093529083206001015490929190620026b690869062005394565b1015620026d657604051634e23e81760e11b815260040160405180910390fd5b61010554620026f0906001600160a01b03168486620038d0565b60005b8254811015620029a0576000838281548110620027145762002714620052c9565b6000918252602090912001546001600160a01b031690506200273e8163f1801e6160e01b62003b5c565b15620028c457604051632ed04b2b60e01b81526001600160a01b03821690632ed04b2b90620027749088908a90600401620050a5565b6020604051808303816000875af115801562002794573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620027ba9190620050be565b9250600061010b6000876001600160a01b03166001600160a01b031681526020019081526020016000206000868581548110620027fb57620027fb620052c9565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156200284f576040516311423e6360e31b815260048101859052602481018290526044016200153f565b6001600160a01b038616600090815261010b602052604081208654869290889087908110620028825762002882620052c9565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190620028b890849062005394565b9091555050506200298a565b83548490620028d69060019062005394565b81548110620028e957620028e9620052c9565b9060005260206000200160009054906101000a90046001600160a01b03168483815481106200291c576200291c620052c9565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550838054806200295d576200295d62005624565b600082815260209020810160001990810180546001600160a01b03191690550190556200298a8162003460565b5080620029978162005378565b915050620026f3565b506001600160a01b038316600090815261010c602052604081206001018054869290620029cf90849062005394565b90915550506040517f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff890620023f09085908790620050a5565b62002a1262003372565b62002a1c62003335565b60ff80541662002a3f576040516365b1ee3960e11b815260040160405180910390fd5b62002a4a8262002f1e565b62002a6857604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159082015262002ab98362003b84565b6001600160a01b03808416600090815261010c60209081526040822080546001600160a01b031916815560018101929092556002909101805460ff191690558201516101055462002b0e9216908490620038d0565b7fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a38383836020015160405162002b4793929190620050d8565b60405180910390a150620011866001606555565b62002b65620034be565b62001db9600062003c99565b62002b7b62003335565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801562002bc7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002bf191908101906200563a565b60200151905062002c028162003431565b620011868162003460565b62002c1762003335565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801562002c63573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002c8d91908101906200563a565b60200151905062002c9e8162003431565b62002cba6001600160a01b03821663f1801e6160e01b62003b5c565b156200118657620011868162003521565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0386161562002cf65750845b869150600061010f80548060200260200160405190810160405280929190818152602001828054801562002d5457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162002d35575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062002d8c908b9060200162005805565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b815260040162002dc49796959493929190620058ae565b6020604051808303816000875af115801562002de4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e0a9190620050be565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a8960405162002e459594939291906200591f565b60405180910390a1505094509492505050565b60008062002e6e6033546001600160a01b031690565b9050806001600160a01b03163b60000362002e8857919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562002ee5575060408051601f3d908101601f1916820190925262002ee291810190620052a9565b60015b62000d8b57919050565b5090565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6001600160a01b03908116600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b62002f72620034be565b61010180546001600160a01b0319166001600160a01b0392909216919091179055565b610103546001600160a01b0316331462002fc2576040516375e686b760e11b815260040160405180910390fd5b62001db962003ceb565b610109805462002fdc906200514f565b80601f01602080910402602001604051908101604052809291908181526020018280546200300a906200514f565b80156200305b5780601f106200302f576101008083540402835291602001916200305b565b820191906000526020600020905b8154815290600101906020018083116200303d57829003601f168201915b505050505081565b6200306d62003372565b336200307981620033cd565b620030848162003b84565b6001600160a01b03808216600081815261010c602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945561010d90529182209091620030ff919062004506565b60208101516101055462003121916001600160a01b03909116908490620038d0565b7fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f482826020015160405162003158929190620050a5565b60405180910390a1505062001db96001606555565b6200317c612710600a62005055565b81565b600054610100900460ff16620031a95760405162461bcd60e51b81526004016200153f906200595b565b6200119f8162003c99565b610108805462002fdc906200514f565b620031cf82620012de565b620031da816200371c565b620014548383620038f2565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b03861615620032115750845b869150600061010f8054806020026020016040519081016040528092919081815260200182805480156200326f57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003250575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062002d8c908b90602001620059a6565b600062000d8b60008051602062005fe78339815191528362002ef3565b620032ce620034be565b6001600160a01b038116620031a95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016200153f565b6200335060008051602062005fe78339815191523362002ef3565b62001db9573360405163fc4be72f60e01b81526004016200153f919062004640565b600260655403620033c65760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016200153f565b6002606555565b620033d88162002f1e565b6200119f57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090205460ff166200119f576040516346c26e4b60e01b815260040160405180910390fd5b6001600160a01b0381166200119f576040516303988b8160e61b815260040160405180910390fd5b6001606555565b6200346b8162003431565b6001600160a01b038116600090815261010a602052604090819020805460ff19169055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49062000dfc90839062004640565b33620034c962002e58565b6001600160a01b03161462001db95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200153f565b6001600160a01b038116600090815261010a602052604090205460ff16156200355d576040516325a2934b60e21b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090819020805460ff19166001179055517f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19062000dfc90839062004640565b806001600160a01b0316826001600160a01b031614620011865760405163bbe7961160e01b815260040160405180910390fd5b6001600160a01b038216600090815261010d60205260408120905b81548110156200371657826001600160a01b03168282815481106200362a576200362a620052c9565b6000918252602090912001546001600160a01b031603620037015781548290620036579060019062005394565b815481106200366a576200366a620052c9565b9060005260206000200160009054906101000a90046001600160a01b03168282815481106200369d576200369d620052c9565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480620036de57620036de62005624565b600082815260209020810160001990810180546001600160a01b03191690550190555b806200370d8162005378565b91505062003601565b50505050565b6200119f813362003d4f565b62003734828262002ef3565b6200118657600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff191660011790556200376e3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6001600160a01b03163b151590565b600054610100900460ff16620037eb5760405162461bcd60e51b81526004016200153f906200595b565b62001db962003db3565b600054610100900460ff1662001db95760405162461bcd60e51b81526004016200153f906200595b565b60006200382c83620012de565b600084815260c96020526040808220600101859055519192508391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b62003716846323b872dd60e01b8585856040516024016200389893929190620050d8565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003ddd565b620014548363a9059cbb60e01b848460405160240162003898929190620050a5565b620038fe828262002ef3565b156200118657600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008051602062006027833981519152546001600160a01b031690565b336200398462002e58565b6001600160a01b0316146200119f57336200399e62002e58565b60405163163678e960e01b81526004016200153f929190620050fc565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615620039f157620014548362003eb9565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562003a4e575060408051601f3d908101601f1916820190925262003a4b91810190620050be565b60015b62003ab35760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016200153f565b60008051602062006027833981519152811462003b255760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016200153f565b506200145483838362003f58565b62003b3e3362002f1e565b62001db957604051636a5cfb6d60e01b815260040160405180910390fd5b600062003b698362003f83565b801562003b7d575062003b7d838362003fbb565b9392505050565b6001600160a01b038116600090815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562003bf157602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003bd2575b5050505050905060005b8151811015620014545781818151811062003c1a5762003c1a620052c9565b60200260200101516001600160a01b0316636453d9c4846040518263ffffffff1660e01b815260040162003c4f919062004640565b600060405180830381600087803b15801562003c6a57600080fd5b505af115801562003c7f573d6000803e3d6000fd5b50505050808062003c909062005378565b91505062003bfb565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610103805461010680546001600160a01b03199081166001600160a01b038416179091551690556040517fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729062003d459060009062004640565b60405180910390a1565b62003d5b828262002ef3565b620011865762003d6b8162004046565b62003d7883602062004059565b60405160200162003d8b92919062005a2f565b60408051601f198184030181529082905262461bcd60e51b82526200153f9160040162004fb7565b600054610100900460ff16620034595760405162461bcd60e51b81526004016200153f906200595b565b600062003e34826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316620042129092919063ffffffff16565b905080516000148062003e5857508080602001905181019062003e58919062005aa2565b620014545760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016200153f565b62003ec481620037b2565b62003f285760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016200153f565b6000805160206200602783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b62003f63836200422b565b60008251118062003f715750805b1562001454576200371683836200426d565b600062003f98826301ffc9a760e01b62003fbb565b801562000d8b575062003fb4826001600160e01b031962003fbb565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d915060005190508280156200402e575060208210155b80156200403b5750600081115b979650505050505050565b606062000d8b6001600160a01b03831660145b606060006200406a83600262005055565b6200407790600262005139565b6001600160401b038111156200409157620040916200467c565b6040519080825280601f01601f191660200182016040528015620040bc576020820181803683370190505b509050600360fc1b81600081518110620040da57620040da620052c9565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106200410c576200410c620052c9565b60200101906001600160f81b031916908160001a90535060006200413284600262005055565b6200413f90600162005139565b90505b6001811115620041c1576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110620041775762004177620052c9565b1a60f81b828281518110620041905762004190620052c9565b60200101906001600160f81b031916908160001a90535060049490941c93620041b98162005ac2565b905062004142565b50831562003b7d5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200153f565b606062004223848460008562004295565b949350505050565b620042368162003eb9565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062003b7d838360405180606001604052806027815260200162006047602791396200436d565b606082471015620042f85760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016200153f565b600080866001600160a01b0316858760405162004316919062005adc565b60006040518083038185875af1925050503d806000811462004355576040519150601f19603f3d011682016040523d82523d6000602084013e6200435a565b606091505b50915091506200403b87838387620043eb565b6060600080856001600160a01b0316856040516200438c919062005adc565b600060405180830381855af49150503d8060008114620043c9576040519150601f19603f3d011682016040523d82523d6000602084013e620043ce565b606091505b5091509150620043e186838387620043eb565b9695505050505050565b606083156200445f57825160000362004457576200440985620037b2565b620044575760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200153f565b508162004223565b620042238383815115620044765781518083602001fd5b8060405162461bcd60e51b81526004016200153f919062004fb7565b828054828255906000526020600020908101928215620044ea579160200282015b82811115620044ea57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620044b3565b5062002eef92915062004521565b6104ec8062005afb83390190565b50805460008255906000526020600020908101906200119f91905b5b8082111562002eef576000815560010162004522565b6000602082840312156200454b57600080fd5b81356001600160e01b03198116811462003b7d57600080fd5b6000602082840312156200457757600080fd5b5035919050565b6001600160a01b03811681146200119f57600080fd5b8035620045a1816200457e565b919050565b60008060408385031215620045ba57600080fd5b8235620045c7816200457e565b91506020830135620045d9816200457e565b809150509250929050565b600060208284031215620045f757600080fd5b813562003b7d816200457e565b600080604083850312156200461857600080fd5b823562004625816200457e565b946020939093013593505050565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b600080604083850312156200466857600080fd5b823591506020830135620045d9816200457e565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715620046b757620046b76200467c565b60405290565b60405161018081016001600160401b0381118282101715620046b757620046b76200467c565b60405160c081016001600160401b0381118282101715620046b757620046b76200467c565b60405161010081016001600160401b0381118282101715620046b757620046b76200467c565b604051601f8201601f191681016001600160401b03811182821017156200475957620047596200467c565b604052919050565b60006001600160401b038211156200477d576200477d6200467c565b50601f01601f191660200190565b6000620047a26200479c8462004761565b6200472e565b9050828152838383011115620047b757600080fd5b828260208301376000602084830101529392505050565b600082601f830112620047e057600080fd5b62003b7d838335602085016200478b565b6000604082840312156200480457600080fd5b6200480e62004692565b82358152905060208201356001600160401b038111156200482e57600080fd5b6200483c84828501620047ce565b60208301525092915050565b80151581146200119f57600080fd5b8035620045a18162004848565b600080600080608085870312156200487b57600080fd5b84356001600160401b03808211156200489357600080fd5b908601906101808289031215620048a957600080fd5b620048b3620046bd565b620048be8362004594565b8152620048ce6020840162004594565b6020820152604083013560408201526060830135606082015260808301356080820152620048ff60a0840162004594565b60a08201526200491260c0840162004594565b60c082015260e0830135828111156200492a57600080fd5b620049388a828601620047f1565b60e0830152506101006200494e81850162004594565b9082015261012083810135838111156200496757600080fd5b620049758b828701620047ce565b8284015250506101406200498b81850162004857565b908201526101608381013583811115620049a457600080fd5b620049b28b828701620047ce565b828401525050809650505050620049cc6020860162004594565b9250620049dc6040860162004594565b9150620049ec6060860162004594565b905092959194509250565b6000806040838503121562004a0b57600080fd5b823562004a18816200457e565b915060208301356001600160401b0381111562004a3457600080fd5b8301601f8101851362004a4657600080fd5b62004a57858235602084016200478b565b9150509250929050565b60006080828403121562004a7457600080fd5b604051608081016001600160401b038111828210171562004a995762004a996200467c565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b803560038110620045a157600080fd5b600481106200119f57600080fd5b8035620045a18162004ada565b60006020828403121562004b0857600080fd5b604051602081016001600160401b038111828210171562004b2d5762004b2d6200467c565b6040529135825250919050565b600060c0828403121562004b4d57600080fd5b62004b57620046e3565b9050813562004b66816200457e565b8152602082013562004b78816200457e565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b60006101e0828403121562004bc157600080fd5b60405160e081016001600160401b038111828210171562004be65762004be66200467c565b60405290508062004bf8848462004a61565b815262004c086080840162004aca565b602082015260a083013562004c1d8162004ada565b604082015262004c318460c0850162004af5565b606082015262004c458460e0850162004b3a565b60808201526101a083013562004c5b816200457e565b60a082015262004c6f6101c0840162004594565b60c08201525092915050565b6000806000610220848603121562004c9257600080fd5b833562004c9f816200457e565b925062004cb0856020860162004bad565b91506102008401356001600160401b0381111562004ccd57600080fd5b62004cdb86828701620047f1565b9150509250925092565b60006001600160401b0382111562004d015762004d016200467c565b5060051b60200190565b600082601f83011262004d1d57600080fd5b8135602062004d306200479c8362004ce5565b82815260059290921b8401810191818101908684111562004d5057600080fd5b8286015b8481101562004d7857803562004d6a816200457e565b835291830191830162004d54565b509695505050505050565b6000610200828403121562004d9757600080fd5b62004da162004708565b905062004daf838362004a61565b815262004dbf6080830162004aca565b602082015262004dd260a0830162004ae8565b604082015262004de68360c0840162004af5565b606082015262004dfa8360e0840162004b3a565b608082015262004e0e6101a0830162004594565b60a082015262004e226101c0830162004594565b60c08201526101e08201356001600160401b0381111562004e4257600080fd5b62004e508482850162004d0b565b60e08301525092915050565b60008060006060848603121562004e7257600080fd5b833562004e7f816200457e565b925060208401356001600160401b038082111562004e9c57600080fd5b62004eaa8783880162004d83565b9350604086013591508082111562004ec157600080fd5b5062004cdb86828701620047f1565b6000806000806080858703121562004ee757600080fd5b843562004ef4816200457e565b9350602085013562004f06816200457e565b925060408501356001600160401b038082111562004f2357600080fd5b62004f318883890162004d83565b9350606087013591508082111562004f4857600080fd5b5062004f5787828801620047f1565b91505092959194509250565b60005b8381101562004f8057818101518382015260200162004f66565b50506000910152565b6000815180845262004fa381602086016020860162004f63565b601f01601f19169290920160200192915050565b60208152600062003b7d602083018462004f89565b600080600080610240858703121562004fe457600080fd5b843562004ff1816200457e565b9350602085013562005003816200457e565b925062005014866040870162004bad565b91506102208501356001600160401b038111156200503157600080fd5b62004f5787828801620047f1565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000d8b5762000d8b6200503f565b634e487b7160e01b600052602160045260246000fd5b6000602082840312156200509857600080fd5b815162003b7d8162004ada565b6001600160a01b03929092168252602082015260400190565b600060208284031215620050d157600080fd5b5051919050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0392831681529116602082015260400190565b6000826200513457634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000d8b5762000d8b6200503f565b600181811c908216806200516457607f821691505b6020821081036200518557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200145457600081815260208120601f850160051c81016020861015620051b45750805b601f850160051c820191505b81811015620051d557828155600101620051c0565b505050505050565b81516001600160401b03811115620051f957620051f96200467c565b62005211816200520a84546200514f565b846200518b565b602080601f831160018114620052495760008415620052305750858301515b600019600386901b1c1916600185901b178555620051d5565b600085815260208120601f198616915b828110156200527a5788860151825594840194600190910190840162005259565b5085821015620052995787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620052bc57600080fd5b815162003b7d816200457e565b634e487b7160e01b600052603260045260246000fd5b60006020808385031215620052f357600080fd5b82516001600160401b038111156200530a57600080fd5b8301601f810185136200531c57600080fd5b80516200532d6200479c8262004ce5565b81815260059190911b820183019083810190878311156200534d57600080fd5b928401925b828410156200403b57835162005368816200457e565b8252928401929084019062005352565b6000600182016200538d576200538d6200503f565b5060010190565b8181038181111562000d8b5762000d8b6200503f565b60008154620053b9816200514f565b808552602060018381168015620053d95760018114620053f45762005424565b60ff1985168884015283151560051b88018301955062005424565b866000528260002060005b858110156200541c5781548a8201860152908301908401620053ff565b890184019650505b505050505092915050565b80518252600060208201516040602085015262004223604085018262004f89565b600081518084526020808501945080840160005b838110156200548b5781516001600160a01b03168752958201959082019060010162005464565b509495945050505050565b85815260a060208201526000620054b160a0830187620053aa565b8281036040840152620054c581876200542f565b6001600160a01b038616606085015283810360808501529050620054ea818562005450565b98975050505050505050565b838152606060208201526000620055116060830185620053aa565b8281036040840152620043e181856200542f565b6020808252602c908201526000805160206200600783398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206200600783398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b0383168152604060208201819052600090620042239083018462004f89565b6810531313d5d31254d560ba1b8152600981019190915260290190565b6e20a62627aba624a9aa2fa0a226a4a760891b8152600f810191909152602f0190565b634e487b7160e01b600052603160045260246000fd5b600060208083850312156200564e57600080fd5b82516001600160401b03808211156200566657600080fd5b9084019060c082870312156200567b57600080fd5b62005685620046e3565b825181528383015162005698816200457e565b818501526040830151620056ac816200457e565b6040820152606083015182811115620056c457600080fd5b830160408189031215620056d757600080fd5b620056e162004692565b815181528582015184811115620056f757600080fd5b82019350601f840189136200570b57600080fd5b835191506200571e6200479c8362004761565b82815289878487010111156200573357600080fd5b620057448388830189880162004f63565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b805182526020810151602083015260408101516040830152606081015160608301525050565b60038110620057a957620057a96200506f565b9052565b60048110620057a957620057a96200506f565b80516001600160a01b0390811683526020808301519091169083015260408082015190830152606080820151908301526080808201519083015260a090810151910152565b602081526200581960208201835162005770565b600060208301516200582f60a084018262005796565b5060408301516200584460c0840182620057ad565b5060608301515160e0830152608083015162005865610100840182620057c0565b5060a08301516200587b6101c084018262004633565b5060c0830151620058916101e084018262004633565b5060e0830151610200838101526200422361022084018262005450565b878152600060018060a01b03808916602084015260e06040840152620058d860e084018962004f89565b818816606085015286608085015283810360a0850152620058fa81876200542f565b91505082810360c084015262005911818562005450565b9a9950505050505050505050565b8581526001600160a01b03858116602083015284811660408301528316606082015260a0608082018190526000906200403b908301846200542f565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006101e082019050620059bc82845162005770565b6020830151620059d0608084018262005796565b506040830151620059e560a0840182620057ad565b5060608301515160c0830152608083015162005a0560e0840182620057c0565b5060a08301516001600160a01b039081166101a084015260c0909301519092166101c09091015290565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81526000835162005a6381601785016020880162004f63565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835162005a9681602884016020880162004f63565b01602801949350505050565b60006020828403121562005ab557600080fd5b815162003b7d8162004848565b60008162005ad45762005ad46200503f565b506000190190565b6000825162005af081846020870162004f63565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212204fe6c3c3dccfaea0fd10fdd343631403db3c1555c6576ad816deaaa45c9f926764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656403be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220eb4556dd26edee48f4bb15c8bc758359b6156c983f6a75864cfbb4f7fa99c7ed64736f6c6343000813003360a06040523060805234801561001457600080fd5b5060805161709d6200004d600039600081816118cc0152818161190c015281816119ab015281816119eb0152611a63015261709d6000f3fe6080604052600436106103795760003560e01c8063013cf08b1461038257806301ffc9a7146103c4578063059351cd146103f4578063062f9ece146104815780630a6f0ee9146104a15780630ba95909146104c15780630bece79c146104e05780630c0512e91461050d5780630f529ba214610523578063125fd1d91461053a57806315cc481e14610550578063184b95591461056e5780631aa91a9e1461058e5780631ddf1e23146105ae5780632506b870146105c3578063255ffb38146106065780632bbe0cae146106335780632dbd6fdd146106465780632ed04b2b14610672578063311a6c561461069257806333960459146106b2578063346db8cb146106c8578063351d9f96146106e85780633659cfe61461070f57806338fff2d01461072f578063406244d81461074457806341bb76051461075957806342fda9c7146107b657806348f19c1d146107cb5780634ab4ba42146107e05780634d31d087146107f55780634f1ef2861461081557806352d1902d1461082857806359a5db8b1461083d5780635db64b991461085d5780636003e4141461088a57806360d5dedc146108aa578063626c47e8146108ca5780636453d9c4146108df5780636a6f69b4146107cb578063715018a6146108ff5780637263cfe214610914578063782aadff14610934578063814516ad14610954578063817b1cd214610969578063824ea8ed1461097f578063868c57b81461099f5780638da5cb5b146109bf578063948e7a59146109d4578063950559d7146109f45780639a1c157c14610a14578063a0cf0aea14610a29578063a28889e114610a51578063a47ff7e514610a89578063a51312c814610aa0578063a574cea414610ac0578063aba9ffee14610aed578063ac1ed7b914610b03578063b0d3713a14610b23578063b2b878d014610b43578063b41596ec14610b70578063b5f620ce14610b83578063b6c61f3114610ba3578063bcc5b93b14610bc3578063c329217114610be3578063c4d66de814610c00578063c7f758a814610c20578063d1e3623214610c57578063dc96ff2d14610c6c578063df868ed314610c9c578063e0a8f6f514610cb1578063e0dd2c3814610cd1578063eb11af9314610cf1578063edd146cc14610d19578063ef2920fc14610d39578063f2fde38b14610d4c578063f5b0dfb714610d6c578063f5be3f7c14610d8c578063ffa1ad7414610da257005b3661038057005b005b34801561038e57600080fd5b506103a261039d3660046157fb565b610dde565b6040516103bb9d9c9b9a999897969594939291906158b6565b60405180910390f35b3480156103d057600080fd5b506103e46103df366004615958565b610f2c565b60405190151581526020016103bb565b34801561040057600080fd5b50610449606f546000908152607f60205260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169694909316949193909290565b604080516001600160a01b039788168152969095166020870152938501929092526060840152608083015260a082015260c0016103bb565b34801561048d57600080fd5b5061038061049c366004615b3e565b610f63565b3480156104ad57600080fd5b506103806104bc366004615c8b565b610f79565b3480156104cd57600080fd5b506077545b6040519081526020016103bb565b3480156104ec57600080fd5b50607954610500906001600160a01b031681565b6040516103bb9190615d02565b34801561051957600080fd5b506104d2606e5481565b34801561052f57600080fd5b506104d26298968081565b34801561054657600080fd5b506104d2606f5481565b34801561055c57600080fd5b506065546001600160a01b0316610500565b34801561057a57600080fd5b50610380610589366004615d16565b610f99565b34801561059a57600080fd5b506104d26105a93660046157fb565b6110f9565b3480156105ba57600080fd5b50610380611143565b3480156105cf57600080fd5b506072546073546074546075546105e69392919084565b6040805194855260208501939093529183015260608201526080016103bb565b34801561061257600080fd5b506104d26106213660046157fb565b607e6020526000908152604090205481565b610500610641366004615d56565b61114e565b34801561065257600080fd5b5060765461066590610100900460ff1681565b6040516103bb9190615dbb565b34801561067e57600080fd5b506104d261068d366004615dc9565b611171565b34801561069e57600080fd5b506103806106ad366004615df5565b611235565b3480156106be57600080fd5b506104d2606c5481565b3480156106d457600080fd5b506104d26106e3366004615e17565b611827565b3480156106f457600080fd5b506076546107029060ff1681565b6040516103bb9190615e53565b34801561071b57600080fd5b5061038061072a366004615e61565b6118c2565b34801561073b57600080fd5b506068546104d2565b34801561075057600080fd5b506104d2600a81565b34801561076557600080fd5b506104496107743660046157fb565b607f602052600090815260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169593909416939192909186565b3480156107c257600080fd5b506066546104d2565b3480156107d757600080fd5b5061050061198a565b3480156107ec57600080fd5b506069546104d2565b34801561080157600080fd5b506103e4610810366004615e61565b611999565b610380610823366004615e7e565b6119a1565b34801561083457600080fd5b506104d2611a56565b34801561084957600080fd5b506104d26108583660046157fb565b611b04565b34801561086957600080fd5b506104d2610878366004615e61565b607c6020526000908152604090205481565b34801561089657600080fd5b50607854610500906001600160a01b031681565b3480156108b657600080fd5b506103806108c5366004615ecd565b611c1e565b3480156108d657600080fd5b506104d2600381565b3480156108eb57600080fd5b506103806108fa366004615e61565b611c9a565b34801561090b57600080fd5b50610380611cab565b34801561092057600080fd5b5061038061092f366004615f28565b611cbd565b34801561094057600080fd5b506104d261094f366004615dc9565b611cce565b34801561096057600080fd5b50610380611e64565b34801561097557600080fd5b506104d260705481565b34801561098b57600080fd5b506103e461099a3660046157fb565b611f81565b3480156109ab57600080fd5b506104d26109ba366004615dc9565b611fde565b3480156109cb57600080fd5b5061050061200f565b3480156109e057600080fd5b506103806109ef366004615f5c565b6120a0565b348015610a0057600080fd5b506104d2610a0f3660046157fb565b6120b4565b348015610a2057600080fd5b506074546104d2565b348015610a3557600080fd5b5061050073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b348015610a5d57600080fd5b50606d54610a71906001600160401b031681565b6040516001600160401b0390911681526020016103bb565b348015610a9557600080fd5b506077546104d29081565b348015610aac57600080fd5b50610380610abb366004615f28565b6120de565b348015610acc57600080fd5b50610ae0610adb3660046157fb565b6120ef565b6040516103bb9190615fe5565b348015610af957600080fd5b506104d260715481565b348015610b0f57600080fd5b50610380610b1e366004615e61565b6121ce565b348015610b2f57600080fd5b50610380610b3e366004615e61565b612201565b348015610b4f57600080fd5b50610b63610b5e366004615ff8565b61222b565b6040516103bb91906160cc565b6104d2610b7e366004616165565b612246565b348015610b8f57600080fd5b50610380610b9e3660046161ec565b612598565b348015610baf57600080fd5b50607a54610500906001600160a01b031681565b348015610bcf57600080fd5b506104d2610bde366004615e61565b6125a1565b348015610bef57600080fd5b50607654610100900460ff16610665565b348015610c0c57600080fd5b50610380610c1b366004615e61565b6125bc565b348015610c2c57600080fd5b50610c40610c3b3660046157fb565b6125ec565b6040516103bb9b9a99989796959493929190616209565b348015610c6357600080fd5b506071546104d2565b348015610c7857600080fd5b506104d2610c873660046157fb565b6000908152607b602052604090206002015490565b348015610ca857600080fd5b506103e46126f8565b348015610cbd57600080fd5b50610380610ccc3660046157fb565b61270b565b348015610cdd57600080fd5b506104d2610cec366004616278565b612890565b348015610cfd57600080fd5b50610d0c610810366004615e61565b6040516103bb919061629d565b348015610d2557600080fd5b50610380610d343660046162b0565b6128bb565b610380610d47366004615d56565b612aac565b348015610d5857600080fd5b50610380610d67366004615e61565b612ad0565b348015610d7857600080fd5b50610380610d873660046157fb565b612b3d565b348015610d9857600080fd5b506104d2611c2081565b348015610dae57600080fd5b50610dd1604051806040016040528060038152602001620302e360ec1b81525081565b6040516103bb91906162e0565b607b602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610e65906162f3565b80601f0160208091040260200160405190810160405280929190818152602001828054610e91906162f3565b8015610ede5780601f10610eb357610100808354040283529160200191610ede565b820191906000526020600020905b815481529060010190602001808311610ec157829003601f168201915b50505091909252505060408051606081018252600c8501548152600d8501546020820152600e8501546001600160a01b031691810191909152600f840154601090940154929390929091508d565b60006001600160e01b0319821663f1801e6160e01b1480610f5d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b610f6b612b66565b610f758282612c00565b5050565b610f81612f75565b610f89612fa0565b610f94838383612fc3565b505050565b600054610100900460ff1615808015610fb95750600054600160ff909116105b80610fda5750610fc8306132cd565b158015610fda575060005460ff166001145b6110425760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015611065576000805461ff0019166101001790555b611092846040518060400160405280600a8152602001694356537472617465677960b01b81525084611c1e565b606a80546001600160a01b0319166001600160a01b03851617905580156110f3576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b6000818152607b602052604081208054831461112b5760405163c1d17bef60e01b815260048101849052602401611039565b6111398182600201546132dc565b6003015492915050565b61114c33613317565b565b6000611158612f75565b611160612fa0565b61116a8383613443565b9392505050565b600061117b613831565b60006002607654610100900460ff16600381111561119b5761119b615821565b14806111c257506001607654610100900460ff1660038111156111c0576111c0615821565b145b156111ce5750816111db565b6111d8848461385c565b90505b80607160008282546111ed919061633d565b90915550506040517f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19061122690869086908590616350565b60405180910390a19392505050565b6000828152607e6020908152604080832054808452607b835281842060108101548552607f8452828520835160c08101855281546001600160a01b03908116825260018301541695810195909552600281015493850193909352600383015460608501526004830154608085015260059092015460a0840152929091908390036112d55760405163c1d17bef60e01b815260048101849052602401611039565b6005600883015460ff1660068111156112f0576112f0615821565b1461131157604051634b011ca960e11b815260048101849052602401611039565b60a0810151600d83015460009161132791616371565b42119050801581611342575081516001600160a01b03163314155b1561136057604051631777988560e11b815260040160405180910390fd5b808061136a575084155b156114b357816080015160000361139457604051630dd466dd60e41b815260040160405180910390fd5b81608001516001036113b05760088301805460ff191660011790555b816080015160020361143d5760088301805460ff191660061790556079546005840154604084810151905163099ea56b60e41b81526001600160a01b03938416936399ea56b09361140a938a939290911691600401616384565b600060405180830381600087803b15801561142457600080fd5b505af1158015611438573d6000803e3d6000fd5b505050505b607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b09361147c938a939290911691600401616384565b600060405180830381600087803b15801561149657600080fd5b505af11580156114aa573d6000803e3d6000fd5b50505050611790565b846001036115745760088301805460ff19166001179055607954600e8401546001600160a01b0391821691638969ab53918791166114ef61198a565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561152c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155091906163a3565b86606001516040518563ffffffff1660e01b815260040161147c94939291906163c0565b846002036117905760088301805460ff19166006179055607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b0936115ca938a939290911691600401616384565b600060405180830381600087803b1580156115e457600080fd5b505af11580156115f8573d6000803e3d6000fd5b505060795460058601546001600160a01b039182169350638969ab53925087911661162161198a565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561165e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168291906163a3565b606f546000908152607f602052604090206002908101546116a391906163fb565b6040518563ffffffff1660e01b81526004016116c294939291906163c0565b600060405180830381600087803b1580156116dc57600080fd5b505af11580156116f0573d6000803e3d6000fd5b50506079546005860154600e870154606f546000908152607f602052604090206002908101546001600160a01b039485169650638969ab5395508a94938416939092169161173e91906163fb565b6040518563ffffffff1660e01b815260040161175d94939291906163c0565b600060405180830381600087803b15801561177757600080fd5b505af115801561178b573d6000803e3d6000fd5b505050505b606d80546001600160401b03169060006117a98361641d565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550504283600f01819055508582600001516001600160a01b03167f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222768760405161181791815260200190565b60405180910390a3505050505050565b6074546000908490829061184c9061184690629896809060801b6163fb565b83613a5f565b905060806001607f1b60726002015462989680611869919061633d565b61187784600160801b61633d565b6118846298968089616440565b61188e9190616440565b61189891906163fb565b6118a28885616440565b6118ac9190616371565b6118b69190616371565b901c9695505050505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361190a5760405162461bcd60e51b815260040161103990616457565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661193c613b07565b6001600160a01b0316146119625760405162461bcd60e51b815260040161103990616491565b61196b81613b23565b6040805160008082526020820190925261198791839190613b5e565b50565b6078546001600160a01b031690565b600080610f5d565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036119e95760405162461bcd60e51b815260040161103990616457565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611a1b613b07565b6001600160a01b031614611a415760405162461bcd60e51b815260040161103990616491565b611a4a82613b23565b610f7582826001613b5e565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611af15760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401611039565b5060008051602061700183398151915290565b60008060695411611b285760405163ed4421ad60e01b815260040160405180910390fd5b611b3182613cc9565b15611b4f57604051630efd728560e21b815260040160405180910390fd5b606954600090611b6384600160401b616440565b611b6d91906163fb565b6072546298968090611b8390600160401b616440565b611b8d91906163fb565b611b97919061633d565b90506040611ba460715490565b607454611bb4906298968061633d565b629896806040611bc48680616440565b607354911c90611bdb90629896809060801b6163fb565b611be591906163fb565b611bef9190616440565b611bf991906163fb565b611c039190616440565b607554911c92508211611c185760755461116a565b50919050565b600054610100900460ff16611c455760405162461bcd60e51b8152600401611039906164cb565b611c4e816125bc565b606580546001600160a01b0319166001600160a01b038516179055604051611c7a9083906020016162e0565b60408051601f198184030181529190528051602090910120606655505050565b611ca2613831565b61198781613317565b611cb3613cf0565b61114c6000613d4f565b611cc5612b66565b61198781613da1565b6000611cd8613831565b611ce183614041565b611cfe57604051630b72d6b160e31b815260040160405180910390fd5b60006002607654610100900460ff166003811115611d1e57611d1e615821565b03611d2c57825b9050611d89565b6001607654610100900460ff166003811115611d4a57611d4a615821565b03611d5957611d2584846141ef565b6003607654610100900460ff166003811115611d7757611d77615821565b03611d8957611d868484614298565b90505b6000611d9361198a565b6001600160a01b031663477a5cc086306040518363ffffffff1660e01b8152600401611dc0929190616516565b602060405180830381865afa158015611ddd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e019190616530565b90508015611e21578160716000828254611e1b9190616371565b90915550505b7f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a858584604051611e5493929190616350565b60405180910390a1509392505050565b33611e6e81614041565b611e8b57604051630b72d6b160e31b815260040160405180910390fd5b611e9361198a565b6001600160a01b0316630d4a8b4982306040518363ffffffff1660e01b8152600401611ec0929190616516565b600060405180830381600087803b158015611eda57600080fd5b505af1158015611eee573d6000803e3d6000fd5b50505050611efa61198a565b6001600160a01b0316637817ee4f82306040518363ffffffff1660e01b8152600401611f27929190616516565b602060405180830381865afa158015611f44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f68919061654d565b60716000828254611f799190616371565b909155505050565b6000818152607b60205260408120600281015482908190611fa3908490614499565b91509150816000148015611fb5575080155b15611fc257826003015491505b6000611fd18460010154611b04565b9092101595945050505050565b607d6020528160005260406000208181548110611ffa57600080fd5b90600052602060002001600091509150505481565b6000806120246033546001600160a01b031690565b9050806001600160a01b03163b60000361203d57919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612097575060408051601f3d908101601f19168201909252612094918101906163a3565b60015b610f5d57919050565b6120a8612b66565b6110f3848484846144f1565b6074546000906120c7906298968061633d565b6120d46298968084616440565b610f5d91906163fb565b6120e6612b66565b61198781614509565b6040805180820190915260008152606060208201526000607b6000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054612144906162f3565b80601f0160208091040260200160405190810160405280929190818152602001828054612170906162f3565b80156121bd5780601f10612192576101008083540402835291602001916121bd565b820191906000526020600020905b8154815290600101906020018083116121a057829003601f168201915b505050505081525050915050919050565b6121d6612b66565b6121df816146c0565b607a80546001600160a01b0319166001600160a01b0392909216919091179055565b612209613cf0565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b606060405163d623472560e01b815260040160405180910390fd5b6000858152607b6020908152604080832060108101548452607f8352818420825160c08101845281546001600160a01b0390811680835260018401549091169582019590955260028201549381019390935260038101546060840152600481015460808401526005015460a0830152916122d357604051636c291fd360e01b815260040160405180910390fd5b815488146122f75760405163c1d17bef60e01b815260048101899052602401611039565b6001600883015460ff16600681111561231257612312615821565b14612333576040516344980d8f60e01b815260048101899052602401611039565b806060015134101561235f576060810151604051632c1f8ef160e21b8152611039913491600401616576565b600f82015415801590612382575042611c2083600f01546123809190616371565b115b156123c0578742611c2084600f015461239b9190616371565b6123a5919061633d565b604051638d2f6c3160e01b8152600401611039929190616576565b60008160600151346123d2919061633d565b607954606084015160405163240ff7c560e11b81529293506001600160a01b039091169163481fef8a919061240d908d903390600401616584565b6000604051808303818588803b15801561242657600080fd5b505af115801561243a573d6000803e3d6000fd5b5050845160405163c13517e160e01b81526001600160a01b03909116935063c13517e19250849150612475906003908b908b906004016165c4565b60206040518083038185885af1158015612493573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906124b8919061654d565b60088401805491955060059160ff19166001830217905550600c830184905542600d840155600e830180546001600160a01b031916331790556000848152607e602052604081208a9055606d80546001600160401b031691612519836165e7565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550507f034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d82600001518a86338c8c89600c01600101546040516125849796959493929190616615565b60405180910390a150505095945050505050565b611987816146e7565b6001600160a01b03166000908152607c602052604090205490565b600054610100900460ff166125e35760405162461bcd60e51b8152600401611039906164cb565b61198781613d4f565b600080600080600080600080600080600080607b60008e8152602001908152602001600020905080600101546000146126315761262c8160010154611b04565b612634565b60005b93508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548b896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020548a601001549b509b509b509b509b509b509b509b509b509b509b505091939597999b90929496989a50565b600061270660675460ff1690565b905090565b60016000828152607b602052604090206008015460ff16600681111561273357612733615821565b14612754576040516344980d8f60e01b815260048101829052602401611039565b6000818152607b60205260409020600501546001600160a01b031633146127ad576000818152607b602052604090819020600501549051634544dc9160e11b8152611039916001600160a01b0316903390600401616516565b6079546000828152607b6020908152604080832060058101546010909101548452607f9092529182902060020154915163099ea56b60e41b81526001600160a01b03938416936399ea56b09361280a938793921691600401616384565b600060405180830381600087803b15801561282457600080fd5b505af1158015612838573d6000803e3d6000fd5b5050506000828152607b6020908152604091829020600801805460ff1916600317905590518381527f416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c9250015b60405180910390a150565b6000828152607b602090815260408083206001600160a01b038516845260090190915281205461116a565b6128c3612f75565b6128cc82614728565b606a54606c80546128f5926001600160a01b03169160006128ec83616664565b91905055614777565b607980546001600160a01b0319166001600160a01b039290921691821790556040805163204a7f0760e21b81529051638129fc1c9160048082019260009290919082900301818387803b15801561294b57600080fd5b505af115801561295f573d6000803e3d6000fd5b5050505060008180602001905181019061297991906167f0565b60a08101519091506001600160a01b03166129a757604051635df4b1ef60e01b815260040160405180910390fd5b60a0810151607880546001600160a01b0319166001600160a01b0390921691909117905560208101516076805460ff191660018360028111156129ec576129ec615821565b021790555060408101516076805461ff001916610100836003811115612a1457612a14615821565b021790555060608101515160775560c0810151607a80546001600160a01b0319166001600160a01b039092169190911790556080810151815160408051600080825260208201908152818301909252612a6e9392916144f1565b7fa489767af337c1767e9c6949fc5a6d3a73bb69ea80a3e619c2e08b7b308d0bcf8382604051612a9f929190616944565b60405180910390a1505050565b612ab4612f75565b612abc612fa0565b612ac682826147c6565b610f758282614822565b612ad8613cf0565b6001600160a01b0381166125e35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401611039565b612b45612f75565b8060696000828254612b579190616371565b90915550611987905081614915565b612b6e61198a565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612bab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bcf91906163a3565b6001600160a01b0316336001600160a01b03161461114c57604051637430763f60e11b815260040160405180910390fd5b60208201516001600160a01b031615801590612c25575081516001600160a01b031615155b8015612d0e5750606f546000908152607f6020908152604090912060010154908301516001600160a01b039081169116141580612c815750606f546000908152607f602052604090205482516001600160a01b03908116911614155b80612ca55750606f546000908152607f602052604090819020600201549083015114155b80612cc85750606f546000908152607f6020526040902060030154606083015114155b80612ceb5750606f546000908152607f6020526040902060040154608083015114155b80612d0e5750606f546000908152607f602052604090206005015460a083015114155b15612f1d57602080830151606f546000908152607f9092526040909120600101546001600160a01b039081169116141580612d6857508151606f546000908152607f60205260409020546001600160a01b03908116911614155b15612e31578151602083015160405163446adb9960e11b81526001600160a01b03909216916388d5b73291612d9f91600401615d02565b600060405180830381600087803b158015612db957600080fd5b505af1158015612dcd573d6000803e3d6000fd5b5050835160208501516040517fdc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f9450612e289350309291906001600160a01b0393841681529183166020830152909116604082015260600190565b60405180910390a15b606f8054906000612e4183616664565b9091555050606f80546000908152607f6020908152604091829020855181546001600160a01b03199081166001600160a01b03928316908117845588850151600185018054909316931692831790915587850151600284018190556060808a0151600386018190556080808c01516004880181905560a0808e015160059099018990559a548a519081529889019590955297870194909452850152938301529281019190915260c08101919091527fe677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d539060e00160405180910390a15b805160725560208101516073556040808201516074556060820151607555517fec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc90612f69908390616a23565b60405180910390a15050565b6065546001600160a01b0316331461114c5760405163075fd2b160e01b815260040160405180910390fd5b60685460000361114c57604051630f68fe6360e21b815260040160405180910390fd5b6000825111612fe557604051630317df1360e61b815260040160405180910390fd5b600082806020019051810190612ffb919061654d565b90508060000361301e5760405163f881a10d60e01b815260040160405180910390fd5b6000818152607b60205260409020600160765460ff16600281111561304557613045615821565b036132c6578054821461306e5760405163c1d17bef60e01b815260048101839052602401611039565b606954816001015411156130a157818160010154606954604051632c31d85b60e11b815260040161103993929190616a31565b6001600882015460ff1660068111156130bc576130bc615821565b146130dd576040516344980d8f60e01b815260048101839052602401611039565b60006130e8836110f9565b905060006130f98360010154611b04565b9050808210801561310e575060008360010154115b1561312c5760405163199cf26160e31b815260040160405180910390fd5b60655460685460405163068bcd8d60e01b815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561317a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526131a29190810190616ad4565b90508360010154606960008282546131ba919061633d565b90915550506040810151600485015460018601546131e292916001600160a01b031690614945565b60088401805460ff191660049081179091556079546005860154606f546000908152607f60205260409081902060020154905163099ea56b60e41b81526001600160a01b03938416946399ea56b094613242948c94911692909101616384565b600060405180830381600087803b15801561325c57600080fd5b505af1158015613270573d6000803e3d6000fd5b505050600485015460018601546040517fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f3584793506132ba9289926001600160a01b0390911691616384565b60405180910390a15050505b5050505050565b6001600160a01b03163b151590565b6000806132e98484614499565b915091508160001480156132fb575080155b156133065750505050565b600784015560039092019190915550565b61331f61198a565b6001600160a01b0316637817ee4f82306040518363ffffffff1660e01b815260040161334c929190616516565b602060405180830381865afa158015613369573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061338d919061654d565b6071600082825461339e919061633d565b909155506133ac905061198a565b6001600160a01b03166322bcf99982306040518363ffffffff1660e01b81526004016133d9929190616516565b600060405180830381600087803b1580156133f357600080fd5b505af1158015613407573d6000803e3d6000fd5b505050506134148161497f565b7f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b816040516128859190615d02565b600061344e82614041565b61346b57604051630b72d6b160e31b815260040160405180910390fd5b6000838060200190518101906134819190616b87565b80519091506000036134a65760405163273c8bc360e11b815260040160405180910390fd5b600160765460ff1660028111156134bf576134bf615821565b03613640576134d181602001516146c0565b60608101516001600160a01b03166134fc5760405163165a825360e21b815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561353c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061356091906163a3565b825160405163068bcd8d60e01b815260048101919091529091506000906001600160a01b0383169063068bcd8d90602401600060405180830381865afa1580156135ae573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526135d69190810190616ad4565b905080604001516001600160a01b031683606001516001600160a01b0316146136125760405163514e24c360e11b815260040160405180910390fd5b61361f8360400151613cc9565b1561363d57604051630efd728560e21b815260040160405180910390fd5b50505b606f546000908152607f60205260409020546001600160a01b03161580159061367c5750606f546000908152607f602052604090206002015434105b156136b257606f546000908152607f602052604090819020600201549051632c1f8ef160e21b8152611039913491600401616576565b6000606e600081546136c390616664565b91829055506000818152607b602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b8401906137779082616c7b565b5050606f54601083015550607954600582015460405163240ff7c560e11b81526001600160a01b039283169263481fef8a9234926137bb9288921690600401616584565b6000604051808303818588803b1580156137d457600080fd5b505af11580156137e8573d6000803e3d6000fd5b50505050507ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b60685483604051613820929190616576565b60405180910390a150949350505050565b6078546001600160a01b0316331461114c576040516357848b5160e11b815260040160405180910390fd5b6000601261386861198a565b6001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156138a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138c991906163a3565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613922575060408051601f3d908101601f1916820190925261391f91810190616d3a565b60015b1561392d5760ff1690505b60008361393861198a565b6001600160a01b0316632c611c4a876040518263ffffffff1660e01b81526004016139639190615d02565b602060405180830381865afa158015613980573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139a4919061654d565b6139ae919061633d565b905060006139cf6139c084600a616e41565b6139ca9084616440565b614ae0565b90506000816139dc61198a565b6001600160a01b0316637817ee4f89306040518363ffffffff1660e01b8152600401613a09929190616516565b602060405180830381865afa158015613a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a4a919061654d565b613a54919061633d565b979650505050505050565b6000600160801b8310613ab35760405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401611039565b50600160801b82825b8015613aff5780600116600003613ae157613ad78283614bc8565b915060011c613abc565b613aeb8383614bc8565b9250613af860018261633d565b9050613abc565b505092915050565b600080516020617001833981519152546001600160a01b031690565b33613b2c61200f565b6001600160a01b0316146119875733613b4361200f565b60405163163678e960e01b8152600401611039929190616516565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615613b9157610f9483614ca5565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613beb575060408051601f3d908101601f19168201909252613be89181019061654d565b60015b613c4e5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401611039565b6000805160206170018339815191528114613cbd5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401611039565b50610f94838383614d3f565b6000613cd86298968083616440565b606954607254613ce89190616440565b111592915050565b33613cf961200f565b6001600160a01b03161461114c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611039565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000606854604051602001613db69190616e4d565b604051602081830303815290604052805190602001209050613dd661198a565b6001600160a01b03166391d148548260006040518363ffffffff1660e01b8152600401613e04929190616584565b602060405180830381865afa158015613e21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e459190616530565b15613eb357613e5261198a565b6001600160a01b031663d547741f8260006040518363ffffffff1660e01b8152600401613e80929190616584565b600060405180830381600087803b158015613e9a57600080fd5b505af1158015613eae573d6000803e3d6000fd5b505050505b60005b825181101561400d57613ec761198a565b6001600160a01b03166391d1485483858481518110613ee857613ee8616e6a565b60200260200101516040518363ffffffff1660e01b8152600401613f0d929190616584565b602060405180830381865afa158015613f2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f4e9190616530565b613ffb57613f5a61198a565b6001600160a01b0316632f2ff15d606854604051602001613f7b9190616e4d565b60405160208183030381529060405280519060200120858481518110613fa357613fa3616e6a565b60200260200101516040518363ffffffff1660e01b8152600401613fc8929190616584565b600060405180830381600087803b158015613fe257600080fd5b505af1158015613ff6573d6000803e3d6000fd5b505050505b8061400581616664565b915050613eb6565b507f7a2e396a5614184c0af2c60827c206595126faa1238b94e19823192de52e728a60685483604051612f69929190616e80565b607a546000906001600160a01b031661417c5760006068546040516020016140699190616e4d565b60405160208183030381529060405280519060200120905061408961198a565b6001600160a01b03166391d148548260006040518363ffffffff1660e01b81526004016140b7929190616584565b602060405180830381865afa1580156140d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140f89190616530565b156141065750600192915050565b61410e61198a565b6001600160a01b03166391d1485482856040518363ffffffff1660e01b815260040161413b929190616584565b602060405180830381865afa158015614158573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116a9190616530565b607a546040516302154c3d60e51b81526001600160a01b03909116906342a987a0906141ae9085903090600401616516565b602060405180830381865afa1580156141cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5d9190616530565b600081816141fb61198a565b6001600160a01b0316637817ee4f86306040518363ffffffff1660e01b8152600401614228929190616516565b602060405180830381865afa158015614245573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614269919061654d565b6077549091506142798383616371565b11156142905760775461428d90829061633d565b91505b509392505050565b600080826142a461198a565b6001600160a01b0316632c611c4a866040518263ffffffff1660e01b81526004016142cf9190615d02565b602060405180830381865afa1580156142ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614310919061654d565b61431a9190616371565b9050601261432661198a565b6001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015614363573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061438791906163a3565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156143e0575060408051601f3d908101601f191682019092526143dd91810190616d3a565b60015b156143eb5760ff1690505b60006144056143fb83600a616e41565b6139ca9085616440565b9050600061441161198a565b6001600160a01b0316637817ee4f88306040518363ffffffff1660e01b815260040161443e929190616516565b602060405180830381865afa15801561445b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061447f919061654d565b9050600061448d828461633d565b98975050505050505050565b60008043905080846007015411156144b3576144b3616e99565b808460070154036144c9575060009050806144ea565b6144e78460070154826144dc919061633d565b856003015485611827565b91505b9250929050565b6144fb8484612c00565b61450482613da1565b6110f3815b60005b815181101561468c5761451d61198a565b6001600160a01b03166391d1485460685460405160200161453e9190616e4d565b6040516020818303038152906040528051906020012084848151811061456657614566616e6a565b60200260200101516040518363ffffffff1660e01b815260040161458b929190616584565b602060405180830381865afa1580156145a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145cc9190616530565b1561467a576145d961198a565b6001600160a01b031663d547741f6068546040516020016145fa9190616e4d565b6040516020818303038152906040528051906020012084848151811061462257614622616e6a565b60200260200101516040518363ffffffff1660e01b8152600401614647929190616584565b600060405180830381600087803b15801561466157600080fd5b505af1158015614675573d6000803e3d6000fd5b505050505b8061468481616664565b91505061450c565b507fd418c93b6b78d828a87ee1909e6fcdbbf2f8d8f540ad7b232bb3e221e6d7cc1e60685482604051612885929190616e80565b6001600160a01b038116611987576040516303988b8160e61b815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001612885565b614730612f75565b606854156147515760405163439a74c960e01b815260040160405180910390fd5b8060000361477257604051637fcce2a960e01b815260040160405180910390fd5b606855565b6040516001600160601b03193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506147be8482614d64565b949350505050565b6000828060200190518101906147dc9190616eaf565b905060005b81518110156110f3576148108282815181106147ff576147ff616e6a565b602002602001015160000151614dfb565b8061481a81616664565b9150506147e1565b61482b81614eb8565b61483481614041565b61485157604051630b72d6b160e31b815260040160405180910390fd5b600061485b61198a565b6001600160a01b031663477a5cc083306040518363ffffffff1660e01b8152600401614888929190616516565b602060405180830381865afa1580156148a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148c99190616530565b9050806148e957604051635fccb67f60e01b815260040160405180910390fd5b6000838060200190518101906148ff9190616eaf565b905061490b8382614f99565b6110f3838261512e565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001612885565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161497457610f948282615506565b610f94838383615522565b6001600160a01b0381166000908152607d60209081526040808320805482518185028101850190935280835291929091908301828280156149df57602002820191906000526020600020905b8154815260200190600101908083116149cb575b5050505050905060005b8151811015610f94576000828281518110614a0657614a06616e6a565b602002602001015190506000607b60008381526020019081526020016000209050614a3082615568565b15614acb576001600160a01b0385166000908152600982016020526040812080549082905560028301805491928392614a6a90849061633d565b925050819055508060706000828254614a83919061633d565b90915550614a93905082826132dc565b6000805160206170218339815191528684600085600201548660030154604051614ac1959493929190616f59565b60405180910390a1505b50508080614ad890616664565b9150506149e9565b600081600003614af257506000919050565b60006001614aff846155a1565b901c6001901b90506001818481614b1857614b186163e5565b048201901c90506001818481614b3057614b306163e5565b048201901c90506001818481614b4857614b486163e5565b048201901c90506001818481614b6057614b606163e5565b048201901c90506001818481614b7857614b786163e5565b048201901c90506001818481614b9057614b906163e5565b048201901c90506001818481614ba857614ba86163e5565b048201901c905061116a81828581614bc257614bc26163e5565b04615635565b6000600160801b831115614c2f5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608401611039565b600160801b8210614c815760405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401611039565b60806001607f1b614c928486616440565b614c9c9190616371565b901c9392505050565b614cae816132cd565b614d105760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401611039565b60008051602061700183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b614d488361564b565b600082511180614d555750805b15610f94576110f3838361568b565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b038116610f5d5760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606401611039565b6000818152607b6020526040812090600882015460ff166006811115614e2357614e23615821565b1480614e4757506003600882015460ff166006811115614e4557614e45615821565b145b80614e6a57506004600882015460ff166006811115614e6857614e68615821565b145b80614e8d57506006600882015460ff166006811115614e8b57614e8b615821565b145b15610f755760088101546040516394d57ead60e01b815261103991849160ff90911690600401616f87565b6001600160a01b038116614edf57604051631a3e505160e31b815260040160405180910390fd5b6078546001600160a01b0316614f0857604051635df4b1ef60e01b815260040160405180910390fd5b614f1061198a565b6001600160a01b031663a230c524826040518263ffffffff1660e01b8152600401614f3b9190615d02565b602060405180830381865afa158015614f58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614f7c9190616530565b61198757604051636a5cfb6d60e01b815260040160405180910390fd5b6000805b825181101561505657828181518110614fb857614fb8616e6a565b60200260200101516000015160000315615044576000838281518110614fe057614fe0616e6a565b6020026020010151600001519050614ff781615568565b6150175760405163c1d17bef60e01b815260048101829052602401611039565b83828151811061502957615029616e6a565b602002602001015160200151836150409190616fa4565b9250505b8061504e81616664565b915050614f9d565b50600061506b615065856125a1565b836156b0565b9050600061507761198a565b6001600160a01b0316637817ee4f86306040518363ffffffff1660e01b81526004016150a4929190616516565b602060405180830381865afa1580156150c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906150e5919061654d565b90508082111561510c578181604051636b20c17f60e11b8152600401611039929190616576565b506001600160a01b039093166000908152607c60205260409020929092555050565b606060005b82518110156110f357600083828151811061515057615150616e6a565b602002602001015160000151905082516000036151ac576040805160018082528183019092529060208083019080368337019050509250808360008151811061519b5761519b616e6a565b6020026020010181815250506152df565b6000805b845181101561520c57828582815181106151cc576151cc616e6a565b6020026020010151036151fa57600191508281604051632b7aec5560e21b8152600401611039929190616576565b8061520481616664565b9150506151b0565b50806152dd576000845160016152229190616371565b6001600160401b0381111561523957615239615982565b604051908082528060200260200182016040528015615262578160200160208202803683370190505b50905060005b85518110156152ba5785818151811061528357615283616e6a565b602002602001015182828151811061529d5761529d616e6a565b6020908102919091010152806152b281616664565b915050615268565b5082818651815181106152cf576152cf616e6a565b602090810291909101015293505b505b60008483815181106152f3576152f3616e6a565b6020908102919091018101518101516000848152607b835260408082206001600160a01b038b1683526009810190945281205491935061533382856156b0565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607d60205260409020548110156153cc5784546001600160a01b038c166000908152607d602052604090208054839081106153a1576153a1616e6a565b9060005260206000200154036153ba57600191506153cc565b806153c481616664565b915050615355565b5080615402576001600160a01b038a166000908152607d6020908152604082208654815460018101835591845291909220909101555b81831161545257615413838361633d565b607060008282546154249190616371565b909155506154349050838361633d565b8460020160008282546154479190616371565b909155506154969050565b61545c828461633d565b6070600082825461546d919061633d565b9091555061547d9050828461633d565b846002016000828254615490919061633d565b90915550505b83600701546000036154ad574360078501556154ed565b6154b784846132dc565b6000805160206170218339815191528a8784876002015488600301546040516154e4959493929190616f59565b60405180910390a15b50505050505080806154fe90616664565b915050615133565b60008060008084865af1610f755763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d15600160005114171661555e576390b8ec186000526004601cfd5b6000603452505050565b6000818152607b602052604081205415801590610f5d5750506000908152607b60205260409020600501546001600160a01b0316151590565b600080608083901c156155b657608092831c92015b604083901c156155c857604092831c92015b602083901c156155da57602092831c92015b601083901c156155ec57601092831c92015b600883901c156155fe57600892831c92015b600483901c1561561057600492831c92015b600283901c1561562257600292831c92015b600183901c15610f5d5760010192915050565b6000818310615644578161116a565b5090919050565b61565481614ca5565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061116a8383604051806060016040528060278152602001617041602791396156e7565b6000806156bd8385616fa4565b9050600081121561116a57838382604051631dde38a160e11b815260040161103993929190616a31565b6060600080856001600160a01b0316856040516157049190616fc4565b600060405180830381855af49150503d806000811461573f576040519150601f19603f3d011682016040523d82523d6000602084013e615744565b606091505b50915091506157558683838761575f565b9695505050505050565b606083156157cc5782516000036157c557615779856132cd565b6157c55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611039565b50816147be565b6147be83838151156157e15781518083602001fd5b8060405162461bcd60e51b815260040161103991906162e0565b60006020828403121561580d57600080fd5b5035919050565b6001600160a01b03169052565b634e487b7160e01b600052602160045260246000fd5b6007811061198757611987615821565b60005b8381101561586257818101518382015260200161584a565b50506000910152565b60008151808452615883816020860160208601615847565b601f01601f19169290920160200192915050565b8051825260006020820151604060208501526147be604085018261586b565b60006101e08f83528e60208401528d60408401528c606084015260018060a01b03808d166080850152808c1660a0850152808b1660c08501528960e08501526158fe89615837565b886101008501528161012085015261591882850189615897565b875161014086015260208801516101608601526040909701511661018084015250506101a08101929092526101c0909101529a9950505050505050505050565b60006020828403121561596a57600080fd5b81356001600160e01b03198116811461116a57600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156159ba576159ba615982565b60405290565b604051608081016001600160401b03811182821017156159ba576159ba615982565b60405161010081016001600160401b03811182821017156159ba576159ba615982565b604080519081016001600160401b03811182821017156159ba576159ba615982565b60405160a081016001600160401b03811182821017156159ba576159ba615982565b604051601f8201601f191681016001600160401b0381118282101715615a7157615a71615982565b604052919050565b6001600160a01b038116811461198757600080fd5b600060c08284031215615aa057600080fd5b615aa8615998565b90508135615ab581615a79565b81526020820135615ac581615a79565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b600060808284031215615b0c57600080fd5b615b146159c0565b90508135815260208201356020820152604082013560408201526060820135606082015292915050565b6000806101408385031215615b5257600080fd5b615b5c8484615a8e565b9150615b6b8460c08501615afa565b90509250929050565b60006001600160401b03821115615b8d57615b8d615982565b5060051b60200190565b600082601f830112615ba857600080fd5b81356020615bbd615bb883615b74565b615a49565b82815260059290921b84018101918181019086841115615bdc57600080fd5b8286015b84811015615c00578035615bf381615a79565b8352918301918301615be0565b509695505050505050565b60006001600160401b03821115615c2457615c24615982565b50601f01601f191660200190565b6000615c40615bb884615c0b565b9050828152838383011115615c5457600080fd5b828260208301376000602084830101529392505050565b600082601f830112615c7c57600080fd5b61116a83833560208501615c32565b600080600060608486031215615ca057600080fd5b83356001600160401b0380821115615cb757600080fd5b615cc387838801615b97565b94506020860135915080821115615cd957600080fd5b50615ce686828701615c6b565b9250506040840135615cf781615a79565b809150509250925092565b6001600160a01b0391909116815260200190565b600080600060608486031215615d2b57600080fd5b8335615d3681615a79565b92506020840135615d4681615a79565b91506040840135615cf781615a79565b60008060408385031215615d6957600080fd5b82356001600160401b03811115615d7f57600080fd5b615d8b85828601615c6b565b9250506020830135615d9c81615a79565b809150509250929050565b60048110615db757615db7615821565b9052565b60208101610f5d8284615da7565b60008060408385031215615ddc57600080fd5b8235615de781615a79565b946020939093013593505050565b60008060408385031215615e0857600080fd5b50508035926020909101359150565b600080600060608486031215615e2c57600080fd5b505081359360208301359350604090920135919050565b60038110615db757615db7615821565b60208101610f5d8284615e43565b600060208284031215615e7357600080fd5b813561116a81615a79565b60008060408385031215615e9157600080fd5b8235615e9c81615a79565b915060208301356001600160401b03811115615eb757600080fd5b615ec385828601615c6b565b9150509250929050565b600080600060608486031215615ee257600080fd5b8335615eed81615a79565b925060208401356001600160401b03811115615f0857600080fd5b8401601f81018613615f1957600080fd5b615ce686823560208401615c32565b600060208284031215615f3a57600080fd5b81356001600160401b03811115615f5057600080fd5b6147be84828501615b97565b6000806000806101808587031215615f7357600080fd5b615f7d8686615a8e565b9350615f8c8660c08701615afa565b92506101408501356001600160401b0380821115615fa957600080fd5b615fb588838901615b97565b9350610160870135915080821115615fcc57600080fd5b50615fd987828801615b97565b91505092959194509250565b60208152600061116a6020830184615897565b6000806040838503121561600b57600080fd5b82356001600160401b038082111561602257600080fd5b61602e86838701615b97565b935060209150818501358181111561604557600080fd5b8501601f8101871361605657600080fd5b8035616064615bb882615b74565b81815260059190911b8201840190848101908983111561608357600080fd5b8584015b838110156160bb5780358681111561609f5760008081fd5b6160ad8c8983890101615c6b565b845250918601918601616087565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b8281101561611757815180516001600160a01b031685528601518685015292840192908501906001016160e9565b5091979650505050505050565b60008083601f84011261613657600080fd5b5081356001600160401b0381111561614d57600080fd5b6020830191508360208285010111156144ea57600080fd5b60008060008060006060868803121561617d57600080fd5b8535945060208601356001600160401b038082111561619b57600080fd5b6161a789838a01616124565b909650945060408801359150808211156161c057600080fd5b506161cd88828901616124565b969995985093965092949392505050565b801515811461198757600080fd5b6000602082840312156161fe57600080fd5b813561116a816161de565b6001600160a01b038c811682528b811660208301528a1660408201526060810189905260808101889052610160810161624188615837565b8760a08301528660c08301528560e08301528461010083015283610120830152826101408301529c9b505050505050505050505050565b6000806040838503121561628b57600080fd5b823591506020830135615d9c81615a79565b602081016162aa83615837565b91905290565b600080604083850312156162c357600080fd5b8235915060208301356001600160401b03811115615eb757600080fd5b60208152600061116a602083018461586b565b600181811c9082168061630757607f821691505b602082108103611c1857634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610f5d57610f5d616327565b6001600160a01b039390931683526020830191909152604082015260600190565b80820180821115610f5d57610f5d616327565b9283526001600160a01b03919091166020830152604082015260600190565b6000602082840312156163b557600080fd5b815161116a81615a79565b9384526001600160a01b03928316602085015291166040830152606082015260800190565b634e487b7160e01b600052601260045260246000fd5b60008261641857634e487b7160e01b600052601260045260246000fd5b500490565b60006001600160401b0382168061643657616436616327565b6000190192915050565b8082028115828204841417610f5d57610f5d616327565b6020808252602c90820152600080516020616fe183398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020616fe183398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0392831681529116602082015260400190565b60006020828403121561654257600080fd5b815161116a816161de565b60006020828403121561655f57600080fd5b5051919050565b805161657181615a79565b919050565b918252602082015260400190565b9182526001600160a01b0316602082015260400190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8381526040602082015260006165de60408301848661659b565b95945050505050565b60006001600160401b038281166002600160401b0319810161660b5761660b616327565b6001019392505050565b6001600160a01b03888116825260208201889052604082018790528516606082015260c060808201819052600090616650908301858761659b565b90508260a083015298975050505050505050565b60006001820161667657616676616327565b5060010190565b60006080828403121561668f57600080fd5b6166976159c0565b90508151815260208201516020820152604082015160408201526060820151606082015292915050565b80516003811061657157600080fd5b80516004811061657157600080fd5b6000602082840312156166f157600080fd5b604051602081016001600160401b038111828210171561671357616713615982565b6040529151825250919050565b600060c0828403121561673257600080fd5b61673a615998565b9050815161674781615a79565b8152602082015161675781615a79565b8060208301525060408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b600082601f83011261679d57600080fd5b815160206167ad615bb883615b74565b82815260059290921b840181019181810190868411156167cc57600080fd5b8286015b84811015615c005780516167e381615a79565b83529183019183016167d0565b60006020828403121561680257600080fd5b81516001600160401b038082111561681957600080fd5b90830190610200828603121561682e57600080fd5b6168366159e2565b616840868461667d565b815261684e608084016166c1565b602082015261685f60a084016166d0565b60408201526168718660c085016166df565b60608201526168838660e08501616720565b60808201526168956101a08401616566565b60a08201526168a76101c08401616566565b60c08201526101e0830151828111156168bf57600080fd5b6168cb8782860161678c565b60e08301525095945050505050565b805182526020810151602083015260408101516040830152606081015160608301525050565b600081518084526020808501945080840160005b838110156169395781516001600160a01b031687529582019590820190600101616914565b509495945050505050565b8281526040602082015261695c6040820183516168da565b6000602083015161697060c0840182615e43565b50604083015161698360e0840182615da7565b506060838101515161010084015260808085015180516001600160a01b039081166101208701526020820151166101408601526040810151610160860152918201516101808501528101516101a084015260a0908101516101c08401528301516169f16101e0840182615814565b5060c0830151610200616a0681850183615814565b60e0850151915080610220850152506165de610240840182616900565b60808101610f5d82846168da565b9283526020830191909152604082015260600190565b600060408284031215616a5957600080fd5b616a61615a05565b8251815260208301519091506001600160401b03811115616a8157600080fd5b8201601f81018413616a9257600080fd5b8051616aa0615bb882615c0b565b818152856020838501011115616ab557600080fd5b616ac6826020830160208601615847565b602084015250909392505050565b600060208284031215616ae657600080fd5b81516001600160401b0380821115616afd57600080fd5b9083019060c08286031215616b1157600080fd5b616b19615998565b825181526020830151616b2b81615a79565b60208201526040830151616b3e81615a79565b6040820152606083015182811115616b5557600080fd5b616b6187828601616a47565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b600060208284031215616b9957600080fd5b81516001600160401b0380821115616bb057600080fd5b9083019060a08286031215616bc457600080fd5b616bcc615a27565b825181526020830151616bde81615a79565b6020820152604083810151908201526060830151616bfb81615a79565b6060820152608083015182811115616c1257600080fd5b616c1e87828601616a47565b60808301525095945050505050565b601f821115610f9457600081815260208120601f850160051c81016020861015616c545750805b601f850160051c820191505b81811015616c7357828155600101616c60565b505050505050565b81516001600160401b03811115616c9457616c94615982565b616ca881616ca284546162f3565b84616c2d565b602080601f831160018114616cdd5760008415616cc55750858301515b600019600386901b1c1916600185901b178555616c73565b600085815260208120601f198616915b82811015616d0c57888601518255948401946001909101908401616ced565b5085821015616d2a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215616d4c57600080fd5b815160ff8116811461116a57600080fd5b600181815b80851115616d98578160001904821115616d7e57616d7e616327565b80851615616d8b57918102915b93841c9390800290616d62565b509250929050565b600082616daf57506001610f5d565b81616dbc57506000610f5d565b8160018114616dd25760028114616ddc57616df8565b6001915050610f5d565b60ff841115616ded57616ded616327565b50506001821b610f5d565b5060208310610133831016604e8410600b8410161715616e1b575081810a610f5d565b616e258383616d5d565b8060001904821115616e3957616e39616327565b029392505050565b600061116a8383616da0565b6810531313d5d31254d560ba1b8152600981019190915260290190565b634e487b7160e01b600052603260045260246000fd5b8281526040602082015260006147be6040830184616900565b634e487b7160e01b600052600160045260246000fd5b60006020808385031215616ec257600080fd5b82516001600160401b03811115616ed857600080fd5b8301601f81018513616ee957600080fd5b8051616ef7615bb882615b74565b81815260069190911b82018301908381019087831115616f1657600080fd5b928401925b82841015613a545760408489031215616f345760008081fd5b616f3c615a05565b845181528585015186820152825260409093019290840190616f1b565b6001600160a01b03959095168552602085019390935260408401919091526060830152608082015260a00190565b82815260408101616f9783615837565b8260208301529392505050565b8082018281126000831280158216821582161715613aff57613aff616327565b60008251616fd6818460208701615847565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122065cb38e54d9d57511a6b1f1604eda90387c8a1764eee5b2a8aa4ef9a6a878a2364736f6c63430008130033608060405234801561001057600080fd5b50600160005561070c806100256000396000f3fe6080604052600436106100555760003560e01c8063481fef8a1461005a5780638129fc1c1461006f5780638630da1d146100845780638969ab53146100cf5780638da5cb5b146100ef57806399ea56b014610127575b600080fd5b61006d6100683660046105b8565b610147565b005b34801561007b57600080fd5b5061006d610204565b34801561009057600080fd5b506100bc61009f3660046105b8565b600160209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b3480156100db57600080fd5b5061006d6100ea3660046105e4565b610241565b3480156100fb57600080fd5b5060025461010f906001600160a01b031681565b6040516001600160a01b0390911681526020016100c6565b34801561013357600080fd5b5061006d610142366004610628565b6103cc565b6002546001600160a01b031633146101725760405163ea8e4eb560e01b815260040160405180910390fd5b61017a610543565b60008281526001602090815260408083206001600160a01b0385168452909152812080543492906101ac908490610673565b92505081905550806001600160a01b03167feec2f3feb835e2f2fd44281034b04700a1ddda63dd402949d470a25a7c40b36c83346040516101ee92919061068c565b60405180910390a26102006001600055565b5050565b6002546001600160a01b03161561022d5760405162dc149f60e41b815260040160405180910390fd5b600280546001600160a01b03191633179055565b6002546001600160a01b0316331461026c5760405163ea8e4eb560e01b815260040160405180910390fd5b610274610543565b60008481526001602090815260408083206001600160a01b0387168452909152902054808211156102c5578181604051632c1f8ef160e21b81526004016102bc92919061068c565b60405180910390fd5b60008581526001602090815260408083206001600160a01b0388168452909152812080548492906102f790849061069a565b90915550506040516000906001600160a01b0385169084908381818185875af1925050503d8060008114610347576040519150601f19603f3d011682016040523d82523d6000602084013e61034c565b606091505b505090508061036d5760405162461bcd60e51b81526004016102bc906106ad565b836001600160a01b0316856001600160a01b03167f354da53cd88eb0936caa11700c1928b13f3f2803cca6f4f464ceff3b4bd7d38e88866040516103b292919061068c565b60405180910390a350506103c66001600055565b50505050565b6002546001600160a01b031633146103f75760405163ea8e4eb560e01b815260040160405180910390fd5b6103ff610543565b60008381526001602090815260408083206001600160a01b038616845290915290205480821115610447578181604051632c1f8ef160e21b81526004016102bc92919061068c565b60008481526001602090815260408083206001600160a01b03871684529091528120805484929061047990849061069a565b90915550506040516000906001600160a01b0385169084908381818185875af1925050503d80600081146104c9576040519150601f19603f3d011682016040523d82523d6000602084013e6104ce565b606091505b50509050806104ef5760405162461bcd60e51b81526004016102bc906106ad565b836001600160a01b03167f7c5e5cb62e5ed3caf3764e4b0afedfedef533e27809d43367799787ad2abcd41868560405161052a92919061068c565b60405180910390a2505061053e6001600055565b505050565b6002600054036105955760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102bc565b6002600055565b80356001600160a01b03811681146105b357600080fd5b919050565b600080604083850312156105cb57600080fd5b823591506105db6020840161059c565b90509250929050565b600080600080608085870312156105fa57600080fd5b8435935061060a6020860161059c565b92506106186040860161059c565b9396929550929360600135925050565b60008060006060848603121561063d57600080fd5b8335925061064d6020850161059c565b9150604084013590509250925092565b634e487b7160e01b600052601160045260246000fd5b808201808211156106865761068661065d565b92915050565b918252602082015260400190565b818103818111156106865761068661065d565b6020808252600f908201526e151c985b9cd9995c8819985a5b1959608a1b60408201526060019056fea2646970667358221220ed4a4320ef4c30824909dc338b2cc821592d59685095a529c82a18d246bc44f764736f6c63430008130033608060405234801561001057600080fd5b50613183806100206000396000f3fe6080604052600436106101f75760003560e01c806301ffc9a7146101fc578063031e2fa114610231578063068bcd8d14610253578063075c0e9c1461028057806315e812ad146102a05780631a20bd88146102bf5780631a5da6c8146102ec578063248a9ca31461030c57806324ae6a271461032c578063256929621461034c57806329e40d4b146103545780632cf682b0146103745780632ec38188146103945780632f2ff15d146103a757806336568abe146103c75780633a5fbd92146103e75780633b19e84a1461040757806341bba0b4146104255780634edbaadc1461044557806354d1f13d1461045a5780635ab1bd53146104625780635acd6fac146104805780635f9ca13814610493578063715018a6146104b357806377da8caf146104bb5780637f51bb1f146104ce5780637f5a70bd146104ee5780638da5cb5b1461050e5780638e6901861461052757806391d1485414610547578063a0cf0aea14610567578063a217fddf1461058f578063a6b63eb8146105a4578063ab2ec589146105c4578063ab3febc6146105e4578063c6dff1cf14610604578063cfc0cc3414610624578063d547741f1461065d578063e1007d4a1461067d578063f04e283e14610690578063f2fde38b146106a3578063f4e1fc41146106b6578063f54fc4a0146106d1578063fee81cf4146106f1575b600080fd5b34801561020857600080fd5b5061021c6102173660046125af565b610724565b60405190151581526020015b60405180910390f35b34801561023d57600080fd5b5061025161024c3660046125ee565b61075b565b005b34801561025f57600080fd5b5061027361026e36600461260b565b6107be565b6040516102289190612693565b61029361028e3660046127b8565b6108d1565b60405161022891906127fe565b3480156102ac57600080fd5b5060ca545b604051908152602001610228565b3480156102cb57600080fd5b506102df6102da3660046128c4565b61096e565b60405161022891906129b6565b3480156102f857600080fd5b506102516103073660046125ee565b610af4565b34801561031857600080fd5b506102b161032736600461260b565b610b08565b34801561033857600080fd5b506102516103473660046129c9565b610b1d565b610251610bd1565b34801561036057600080fd5b5061021c61036f366004612a02565b610c20565b34801561038057600080fd5b5061025161038f366004612a02565b610c33565b6102516103a23660046127b8565b610c80565b3480156103b357600080fd5b506102516103c2366004612a02565b610ca0565b3480156103d357600080fd5b506102516103e2366004612a02565b610cbc565b3480156103f357600080fd5b50610251610402366004612a8b565b610d3b565b34801561041357600080fd5b5060cc546001600160a01b0316610293565b34801561043157600080fd5b506102516104403660046125ee565b610dc3565b34801561045157600080fd5b5060c9546102b1565b610251610e45565b34801561046e57600080fd5b5060cd546001600160a01b0316610293565b61025161048e366004612af7565b610e81565b34801561049f57600080fd5b506102516104ae366004612b9b565b611018565b610251611095565b6102b16104c9366004612bd7565b6110a9565b3480156104da57600080fd5b506102516104e93660046125ee565b61112c565b3480156104fa57600080fd5b50610251610509366004612a02565b61113d565b34801561051a57600080fd5b50638b78c6d81954610293565b34801561053357600080fd5b5061025161054236600461260b565b611163565b34801561055357600080fd5b5061021c610562366004612a02565b611174565b34801561057357600080fd5b5061029373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561059b57600080fd5b506102b1600081565b3480156105b057600080fd5b506102516105bf366004612c99565b61119f565b3480156105d057600080fd5b5061021c6105df3660046125ee565b6112ae565b3480156105f057600080fd5b5061021c6105ff366004612a02565b6112b9565b34801561061057600080fd5b5061025161061f366004612cf4565b6112c5565b34801561063057600080fd5b5061029361063f36600461260b565b600090815260cf60205260409020600101546001600160a01b031690565b34801561066957600080fd5b50610251610678366004612a02565b61134a565b6102b161068b366004612bd7565b611366565b61025161069e3660046125ee565b6113d1565b6102516106b13660046125ee565b61140e565b3480156106c257600080fd5b50670de0b6b3a76400006102b1565b3480156106dd57600080fd5b506102516106ec36600461260b565b611435565b3480156106fd57600080fd5b506102b161070c3660046125ee565b63389a75e1600c908152600091909152602090205490565b60006001600160e01b03198216637965db0b60e01b148061075557506301ffc9a760e01b6001600160e01b03198316145b92915050565b610763611446565b6001600160a01b038116600090815260d0602052604090819020805460ff19169055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4906107b39083906127fe565b60405180910390a150565b6107c6612549565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b0390811682850152600283015416818501528351808501909452600382018054855260048301805492959394606087019493908401919061083090612d80565b80601f016020809104026020016040519081016040528092919081815260200182805461085c90612d80565b80156108a95780601f1061087e576101008083540402835291602001916108a9565b820191906000526020600020905b81548152906001019060200180831161088c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b60006108db611461565b600083815260cf6020526040908190206001015490516315df065760e11b81526001600160a01b0390911690632bbe0cae90349061091f9086903390600401612dba565b60206040518083038185885af115801561093d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109629190612de4565b90506107556001609755565b6060610978611461565b8251806001600160401b03811115610992576109926126fb565b6040519080825280602002602001820160405280156109bb578160200160208202803683370190505b509150825181146109df5760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610ae85760cf6000868381518110610a0057610a00612e01565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610a4d57610a4d612e01565b6020026020010151336040518363ffffffff1660e01b8152600401610a73929190612dba565b6020604051808303816000875af1158015610a92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab69190612de4565b838281518110610ac857610ac8612e01565b6001600160a01b03909216602092830291909101909101526001016109e2565b50506107556001609755565b610afc611446565b610b05816114ba565b50565b60009081526065602052604090206001015490565b610b25611446565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610bbd576040516370a0823160e01b81526001600160a01b038416906370a0823190610b779030906004016127fe565b602060405180830381865afa158015610b94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb89190612e17565b610bbf565b475b9050610bcc83838361152c565b505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610c2c8383611566565b9392505050565b81610c3d81611592565b6001600160a01b038216610c645760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610bcc90836115b9565b610c88611461565b610c92828261163f565b610c9c6001609755565b5050565b610ca982610b08565b610cb2816116b9565b610bcc83836115b9565b6001600160a01b0381163314610d315760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b610c9c82826116c3565b610d43611461565b600083815260cf602052604090819020600101549051630a6f0ee960e01b81526001600160a01b0390911690630a6f0ee990610d8790859085903390600401612e30565b600060405180830381600087803b158015610da157600080fd5b505af1158015610db5573d6000803e3d6000fd5b50505050610bcc6001609755565b610dcb611446565b6001600160a01b038116610df25760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600090815260d0602052604090819020805460ff19166001179055517f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d1906107b39083906127fe565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b610e89611461565b80600003610eaa576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b0390811682860152600283015416818401528251808401909352600382018054845260048301805492959394606087019490939084019190610f1490612d80565b80601f0160208091040260200160405190810160405280929190818152602001828054610f4090612d80565b8015610f8d5780601f10610f6257610100808354040283529160200191610f8d565b820191906000526020600020905b815481529060010190602001808311610f7057829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015610fe05750348214155b15610ffe576040516303e09bb960e31b815260040160405180910390fd5b61100d8284836020015161172a565b50610c9c6001609755565b81611022816119dc565b600083815260cf60209081526040909120835160038201908155918401519091849160048401906110539082612ebc565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf0846040516110879190612f7b565b60405180910390a250505050565b61109d611446565b6110a760006119e6565b565b60006110b3611461565b6110bc87611a12565b6110d95760405163126d324760e31b815260040160405180910390fd5b33600090815260ce602052604081208054611115928b9261110b928c9290919061110283612fa4565b91905055611a30565b8888888888611a7f565b90506111216001609755565b979650505050505050565b611134611446565b610b0581611f63565b8161114781611592565b600083815260cf6020526040902060050154610bcc90836116c3565b61116b611446565b610b0581611fd6565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600054600190610100900460ff161580156111c1575060005460ff8083169116105b6112245760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610d28565b6000805461ffff191660ff8316176101001790556112418661200b565b61124a856114ba565b61125384611f63565b61125c83612035565b61126582611fd6565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b600061075582611a12565b6000610c2c8383612093565b6112cd611461565b8051829081146112f05760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561133e5761133685858381811061131057611310612e01565b9050602002013584838151811061132957611329612e01565b602002602001015161163f565b6001016112f3565b5050610bcc6001609755565b61135382610b08565b61135c816116b9565b610bcc83836116c3565b60006001600160a01b03871661138f5760405163538ba4f960e01b815260040160405180910390fd5b61139887611a12565b156113b65760405163eeffa72160e01b815260040160405180910390fd5b6113c588888888888888611a7f565b98975050505050505050565b6113d9611446565b63389a75e1600c52806000526020600c20805442111561140157636f5e88186000526004601cfd5b60009055610b05816119e6565b611416611446565b8060601b61142c57637448fbae6000526004601cfd5b610b05816119e6565b61143d611446565b610b0581612035565b638b78c6d8195433146110a7576382b429006000526004601cfd5b6002609754036114b35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610d28565b6002609755565b6001600160a01b0381166114e15760405163538ba4f960e01b815260040160405180910390fd5b60cd80546001600160a01b0319166001600160a01b0383161790556040517fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906107b39083906127fe565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161155b57610bcc82826120af565b610bcc8383836120cb565b600082815260cf60205260408120600501546115829083611174565b80610c2c5750610c2c8383612093565b61159c8133612093565b610b055760405163075fd2b160e01b815260040160405180910390fd5b6115c38282611174565b610c9c5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556115fb3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf602052604090819020600101549051633bca483f60e21b81526001600160a01b039091169063ef2920fc9034906116839085903390600401612dba565b6000604051808303818588803b15801561169c57600080fd5b505af11580156116b0573d6000803e3d6000fd5b50505050505050565b610b058133612111565b6116cd8282611174565b15610c9c5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b0316901561187b57670de0b6b3a764000060c9546117689089612fbd565b6117729190612fd4565b935061177e8484612ff6565b92508661178b8486613009565b146117a957604051637fcce2a960e01b815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611803576040805160608101825233815260cc546001600160a01b031660208201529081018590526117fd90829061216a565b5061187b565b60cc5460009061181d9083906001600160a01b03166121e9565b6040805160608101825233815260cc546001600160a01b0316602082015290810187905290915061184f90839061216a565b5060cc5460009061186a9084906001600160a01b03166121e9565b90506118768282612ff6565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038216016118dc576118d6816040518060600160405280336001600160a01b03168152602001886001600160a01b031681526020018681525061216a565b5061193e565b60006118e882876121e9565b9050611920826040518060600160405280336001600160a01b03168152602001896001600160a01b031681526020018781525061216a565b50600061192d83886121e9565b90506119398282612ff6565b945050505b60405163f5b0dfb760e01b8152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b15801561198057600080fd5b505af1158015611994573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b61159c8133611566565b638b78c6d81980546001600160a01b0390921691829060008051602061312e833981519152600080a355565b6001600160a01b0316600090815260d0602052604090205460ff1690565b6040516001600160601b03193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611a778482612232565b949350505050565b60cd54604051635e8a791560e01b8152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611acf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611af3919061301c565b611b105760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611b1f90612fa4565b91829055506040519091508190600090611b4f9083906020019081526430b236b4b760d91b602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf8752969096208751815591516001830180549185166001600160a01b031992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611c029082612ebc565b5050506080820151600582015560a090910151600690910155611c2582336115b9565b611c2f83836122c9565b604051633b7451b360e21b81526001600160a01b038b169063edd146cc90611c5d9087908d9060040161303e565b600060405180830381600087803b158015611c7757600080fd5b505af1158015611c8b573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf29190612e17565b141580611d725750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d669190612de4565b6001600160a01b031614155b15611d905760405163636e39bb60e01b815260040160405180910390fd5b845160005b81811015611e01576000878281518110611db157611db1612e01565b6020026020010151905060006001600160a01b0316816001600160a01b031603611dee5760405163538ba4f960e01b815260040160405180910390fd5b611df886826115b9565b50600101611d95565b5060ca5415611f04576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015611e435750348860ca54611e409190613009565b14155b80611e7857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14801590611e7857503460ca5414155b15611e96576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca54611ec79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b039091169061152c565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca54604051611efb91815260200190565b60405180910390a25b8715611f1557611f1588868d61172a565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c604051611f4c9493929190613057565b60405180910390a350505050979650505050505050565b6001600160a01b038116611f8a5760405163538ba4f960e01b815260040160405180910390fd5b60cc80546001600160a01b0319166001600160a01b0383169081179091556040517f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d1916107b3916127fe565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c3906020016107b3565b6001600160a01b0316638b78c6d81981905580600060008051602061312e8339815191528180a350565b670de0b6b3a764000081111561205e57604051632fb15b8760e01b815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b065906020016107b3565b600082815260cf6020526040812060060154610c2c9083611174565b60008060008084865af1610c9c5763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d156001600051141716612107576390b8ec186000526004601cfd5b6000603452505050565b61211b8282611174565b610c9c576121288161231c565b61213383602061232e565b604051602001612144929190613094565b60408051601f198184030181529082905262461bcd60e51b8252610d2891600401613103565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038516016121cb57803410156121b8576040516374c5672b60e01b815260040160405180910390fd5b6121c68360200151826120af565b6121df565b6121df8484600001518560200151846124c9565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161222157506001600160a01b03811631610755565b61222b838361251d565b9050610755565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166107555760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606401610d28565b60006122d483610b08565b600084815260656020526040808220600101859055519192508391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606107556001600160a01b03831660145b6060600061233d836002612fbd565b612348906002613009565b6001600160401b0381111561235f5761235f6126fb565b6040519080825280601f01601f191660200182016040528015612389576020820181803683370190505b509050600360fc1b816000815181106123a4576123a4612e01565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106123d3576123d3612e01565b60200101906001600160f81b031916908160001a90535060006123f7846002612fbd565b612402906001613009565b90505b600181111561247a576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061243657612436612e01565b1a60f81b82828151811061244c5761244c612e01565b60200101906001600160f81b031916908160001a90535060049490941c9361247381613116565b9050612405565b508315610c2c5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610d28565b60405181606052826040528360601b602c526323b872dd60601b600c52602060006064601c6000895af13d15600160005114171661250f57637939f4246000526004601cfd5b600060605260405250505050565b6000816014526370a0823160601b60005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b0316815260200161259b604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156125c157600080fd5b81356001600160e01b031981168114610c2c57600080fd5b6001600160a01b0381168114610b0557600080fd5b60006020828403121561260057600080fd5b8135610c2c816125d9565b60006020828403121561261d57600080fd5b5035919050565b60005b8381101561263f578181015183820152602001612627565b50506000910152565b60008151808452612660816020860160208601612624565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611a776040850182612648565b60208152815160208201526000602083015160018060a01b0380821660408501528060408601511660608501525050606083015160c060808401526126db60e0840182612674565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715612739576127396126fb565b604052919050565b60006001600160401b0383111561275a5761275a6126fb565b61276d601f8401601f1916602001612711565b905082815283838301111561278157600080fd5b828260208301376000602084830101529392505050565b600082601f8301126127a957600080fd5b610c2c83833560208501612741565b600080604083850312156127cb57600080fd5b8235915060208301356001600160401b038111156127e857600080fd5b6127f485828601612798565b9150509250929050565b6001600160a01b0391909116815260200190565b60006001600160401b0382111561282b5761282b6126fb565b5060051b60200190565b600082601f83011261284657600080fd5b8135602061285b61285683612812565b612711565b82815260059290921b8401810191818101908684111561287a57600080fd5b8286015b848110156128b95780356001600160401b0381111561289d5760008081fd5b6128ab8986838b0101612798565b84525091830191830161287e565b509695505050505050565b600080604083850312156128d757600080fd5b82356001600160401b03808211156128ee57600080fd5b818501915085601f83011261290257600080fd5b8135602061291261285683612812565b82815260059290921b8401810191818101908984111561293157600080fd5b948201945b8386101561294f57853582529482019490820190612936565b9650508601359250508082111561296557600080fd5b506127f485828601612835565b600081518084526020808501945080840160005b838110156129ab5781516001600160a01b031687529582019590820190600101612986565b509495945050505050565b602081526000610c2c6020830184612972565b600080604083850312156129dc57600080fd5b82356129e7816125d9565b915060208301356129f7816125d9565b809150509250929050565b60008060408385031215612a1557600080fd5b8235915060208301356129f7816125d9565b600082601f830112612a3857600080fd5b81356020612a4861285683612812565b82815260059290921b84018101918181019086841115612a6757600080fd5b8286015b848110156128b9578035612a7e816125d9565b8352918301918301612a6b565b600080600060608486031215612aa057600080fd5b8335925060208401356001600160401b0380821115612abe57600080fd5b612aca87838801612a27565b93506040860135915080821115612ae057600080fd5b50612aed86828701612798565b9150509250925092565b60008060408385031215612b0a57600080fd5b50508035926020909101359150565b600060408284031215612b2b57600080fd5b604080519081016001600160401b038082118383101715612b4e57612b4e6126fb565b81604052829350843583526020850135915080821115612b6d57600080fd5b508301601f81018513612b7f57600080fd5b612b8e85823560208401612741565b6020830152505092915050565b60008060408385031215612bae57600080fd5b8235915060208301356001600160401b03811115612bcb57600080fd5b6127f485828601612b19565b600080600080600080600060e0888a031215612bf257600080fd5b873596506020880135612c04816125d9565b955060408801356001600160401b0380821115612c2057600080fd5b612c2c8b838c01612798565b965060608a01359150612c3e826125d9565b9094506080890135935060a08901359080821115612c5b57600080fd5b612c678b838c01612b19565b935060c08a0135915080821115612c7d57600080fd5b50612c8a8a828b01612a27565b91505092959891949750929550565b600080600080600060a08688031215612cb157600080fd5b8535612cbc816125d9565b94506020860135612ccc816125d9565b93506040860135612cdc816125d9565b94979396509394606081013594506080013592915050565b600080600060408486031215612d0957600080fd5b83356001600160401b0380821115612d2057600080fd5b818601915086601f830112612d3457600080fd5b813581811115612d4357600080fd5b8760208260051b8501011115612d5857600080fd5b602092830195509350908501359080821115612d7357600080fd5b50612aed86828701612835565b600181811c90821680612d9457607f821691505b602082108103612db457634e487b7160e01b600052602260045260246000fd5b50919050565b604081526000612dcd6040830185612648565b905060018060a01b03831660208301529392505050565b600060208284031215612df657600080fd5b8151610c2c816125d9565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612e2957600080fd5b5051919050565b606081526000612e436060830186612972565b8281036020840152612e558186612648565b91505060018060a01b0383166040830152949350505050565b601f821115610bcc57600081815260208120601f850160051c81016020861015612e955750805b601f850160051c820191505b81811015612eb457828155600101612ea1565b505050505050565b81516001600160401b03811115612ed557612ed56126fb565b612ee981612ee38454612d80565b84612e6e565b602080601f831160018114612f1e5760008415612f065750858301515b600019600386901b1c1916600185901b178555612eb4565b600085815260208120601f198616915b82811015612f4d57888601518255948401946001909101908401612f2e565b5085821015612f6b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610c2c6020830184612674565b634e487b7160e01b600052601160045260246000fd5b600060018201612fb657612fb6612f8e565b5060010190565b808202811582820484141761075557610755612f8e565b600082612ff157634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561075557610755612f8e565b8082018082111561075557610755612f8e565b60006020828403121561302e57600080fd5b81518015158114610c2c57600080fd5b828152604060208201526000611a776040830184612648565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061308a90830184612674565b9695505050505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516130c6816017850160208801612624565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516130f7816028840160208801612624565b01602801949350505050565b602081526000610c2c6020830184612648565b60008161312557613125612f8e565b50600019019056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a26469706673582212207ff237b5031c0a799317c485a2e086d81ae3f6ba1ef3e75863651583e6046a8164736f6c63430008130033608060405234801561001057600080fd5b50612b10806100206000396000f3fe60806040523480156200001157600080fd5b50600436106200015a5760003560e01c80630114cf0a146200015f57806301ffc9a7146200018e5780630ec1fbac14620001b6578063248a9ca314620001cd5780632497f3c614620001f357806324ae6a27146200020c5780632f2ff15d146200022357806336568abe146200023a57806339b86b8c14620002515780633a92f65f14620002685780633b66dacd146200027f5780634756487f14620002965780635063f36114620002b957806350d005e014620002d05780635e8a7915146200030b57806391d148541462000322578063a0cf0aea1462000339578063a217fddf1462000355578063ac402839146200035e578063c4d66de81462000375578063cf189ff2146200038c578063cfda7e0a14620003a3578063d547741f14620003ba578063dd93da4314620003d1578063e0cf1e4c14620003e8578063ee88819614620003ff575b600080fd5b620001766200017036600462001948565b6200042a565b604051620001859190620019df565b60405180910390f35b620001a56200019f36600462001a61565b620005e1565b604051901515815260200162000185565b620001a5620001c736600462001aaa565b62000619565b620001e4620001de36600462001948565b6200062e565b60405190815260200162000185565b6200020a6200020436600462001948565b62000643565b005b6200020a6200021d36600462001ad9565b62000702565b6200020a6200023436600462001aaa565b620007fb565b6200020a6200024b36600462001aaa565b62000822565b620001a56200026236600462001aaa565b620008a8565b620001e46200027936600462001ccd565b620008b6565b6200020a6200029036600462001aaa565b62000b41565b620001e4620002a736600462001d7b565b60976020526000908152604090205481565b6200020a620002ca36600462001d99565b62000ba8565b620002fc620002e136600462001948565b6099602052600090815260409020546001600160a01b031681565b60405162000185919062001de3565b620001a56200031c36600462001aaa565b62000c34565b620001a56200033336600462001aaa565b62000c55565b620002fc73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b620001e4600081565b6200020a6200036f36600462001df7565b62000c80565b6200020a6200038636600462001d7b565b62000cf3565b620002fc6200039d36600462001e37565b62000e17565b620001e460008051602062002abb83398151915281565b6200020a620003cb36600462001aaa565b62000ed8565b62000176620003e236600462001d7b565b62000efa565b6200020a620003f936600462001d99565b620010c3565b620004166200041036600462001948565b6200110e565b604051620001859695949392919062001e77565b62000434620018e5565b609860008381526020019081526020016000206040518060c00160405290816000820154815260200160018201548152602001600282018054620004789062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620004a69062001ed3565b8015620004f75780601f10620004cb57610100808354040283529160200191620004f7565b820191906000526020600020905b815481529060010190602001808311620004d957829003601f168201915b5050505050815260200160038201604051806040016040529081600082015481526020016001820180546200052c9062001ed3565b80601f01602080910402602001604051908101604052809291908181526020018280546200055a9062001ed3565b8015620005ab5780601f106200057f57610100808354040283529160200191620005ab565b820191906000526020600020905b8154815290600101906020018083116200058d57829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60006001600160e01b03198216637965db0b60e01b14806200061357506301ffc9a760e01b6001600160e01b03198316145b92915050565b60006200062783836200128e565b9392505050565b60009081526065602052604090206001015490565b60008181526098602090815260408083206099909252909120546001600160a01b03163381146200068757604051630b4d48c160e41b815260040160405180910390fd5b6005820180546001600160a01b038084166001600160a01b03199283161783556000868152609960205260409081902080549093169092559154905185927ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d92620006f59291169062001de3565b60405180910390a2505050565b60008051602062002abb8339815191526200071d816200129c565b6001600160a01b038216620007455760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14620007e4576040516370a0823160e01b81526001600160a01b038516906370a08231906200079a90309060040162001de3565b602060405180830381865afa158015620007b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007de919062001f0f565b620007e6565b475b9050620007f5848483620012ab565b50505050565b62000806826200062e565b62000811816200129c565b6200081d8383620012ea565b505050565b6001600160a01b0381163314620008985760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b620008a4828262001374565b5050565b6000620006278383620013de565b600080620008c5878562001402565b6000818152609860205260409020600601549091506001600160a01b0316156200090257604051630527e05960e41b815260040160405180910390fd5b6001600160a01b0384166200092a5760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b031681526020016200096a848a6200144c565b6001600160a01b03169052600083815260986020908152604091829020835181559083015160018201559082015191925082916002820190620009ae908262001f7b565b50606082015180516003830190815560208201516004840190620009d3908262001f7b565b50505060808201516005820180546001600160a01b03199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000a4757506001600160a01b0386163314155b1562000a665760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000add57600086828151811062000a895762000a8962002047565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000ac75760405163538ba4f960e01b815260040160405180910390fd5b62000ad38582620012ea565b5060010162000a69565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000b2c9594939291906200205d565b60405180910390a25090979650505050505050565b8162000b4d8162001627565b6000838152609960205260409081902080546001600160a01b0319166001600160a01b0385161790555183907f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c890620006f590859062001de3565b8162000bb48162001627565b815160005b8181101562000c2d57600084828151811062000bd95762000bd962002047565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c175760405163538ba4f960e01b815260040160405180910390fd5b62000c238682620012ea565b5060010162000bb9565b5050505050565b600062000c428383620013de565b806200062757506200062783836200128e565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b8162000c8c8162001627565b6000838152609860209081526040909120835160038201908155918401518492916004019062000cbd908262001f7b565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f383604051620006f59190620020b2565b600054600190610100900460ff1615801562000d16575060005460ff8083169116105b62000d7b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200088f565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000db75760405163538ba4f960e01b815260040160405180910390fd5b62000dd260008051602062002abb83398151915283620012ea565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000e258162001627565b62000e3184846200144c565b60008581526098602052604090209092506002810162000e52858262001f7b565b506006810180546001600160a01b0390811660009081526097602052604080822082905583546001600160a01b0319169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062000ec89087908790620020c7565b60405180910390a2505092915050565b62000ee3826200062e565b62000eee816200129c565b6200081d838362001374565b62000f04620018e5565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c08101835281548152600182015493810193909352600281018054919284019162000f599062001ed3565b80601f016020809104026020016040519081016040528092919081815260200182805462000f879062001ed3565b801562000fd85780601f1062000fac5761010080835404028352916020019162000fd8565b820191906000526020600020905b81548152906001019060200180831162000fba57829003601f168201915b5050505050815260200160038201604051806040016040529081600082015481526020016001820180546200100d9062001ed3565b80601f01602080910402602001604051908101604052809291908181526020018280546200103b9062001ed3565b80156200108c5780601f1062001060576101008083540402835291602001916200108c565b820191906000526020600020905b8154815290600101906020018083116200106e57829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620010cf8162001627565b815160005b8181101562000c2d576200110585858381518110620010f757620010f762002047565b602002602001015162001374565b600101620010d4565b60986020526000908152604090208054600182015460028301805492939192620011389062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620011669062001ed3565b8015620011b75780601f106200118b57610100808354040283529160200191620011b7565b820191906000526020600020905b8154815290600101906020018083116200119957829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620011e89062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620012169062001ed3565b8015620012675780601f106200123b5761010080835404028352916020019162001267565b820191906000526020600020905b8154815290600101906020018083116200124957829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b600062000627838362000c55565b620012a8813362001651565b50565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03841601620012dd576200081d8282620016b5565b6200081d838383620016d2565b620012f6828262000c55565b620008a45760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620013303390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b62001380828262000c55565b15620008a45760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600091825260986020526040909120600501546001600160a01b0391821691161490565b600082826040516020016200142e92919091825260601b6001600160601b031916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001464929190620020f3565b6040516020818303038152906040529050600084306040516020016200148c9291906200210e565b6040516020818303038152906040529050600060405180602001620014b1906200193a565b601f1982820381018352601f909101166040819052620014d79190849060200162002125565b60408051601f198184030181529082905284516020868101919091208251828401206001600160f81b0319928501929092526001600160601b03193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c905081883060405162001561906200193a565b6200156e9291906200210e565b8190604051809103906000f590508015620015865760015b620016195787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620015cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015f1919062001f0f565b146200161057604051630113b81f60e41b815260040160405180910390fd5b8095506200161c565b95505b505050505092915050565b620016338133620013de565b620012a85760405163075fd2b160e01b815260040160405180910390fd5b6200165d828262000c55565b620008a4576200166d8162001719565b6200167a8360206200172c565b6040516020016200168d92919062002158565b60408051601f198184030181529082905262461bcd60e51b82526200088f91600401620021cb565b60008060008084865af1620008a45763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d1560016000511417166200170f576390b8ec186000526004601cfd5b6000603452505050565b6060620006136001600160a01b03831660145b606060006200173d836002620021f6565b6200174a90600262002210565b6001600160401b0381111562001764576200176462001b08565b6040519080825280601f01601f1916602001820160405280156200178f576020820181803683370190505b509050600360fc1b81600081518110620017ad57620017ad62002047565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110620017df57620017df62002047565b60200101906001600160f81b031916908160001a905350600062001805846002620021f6565b6200181290600162002210565b90505b600181111562001894576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106200184a576200184a62002047565b1a60f81b82828151811062001863576200186362002047565b60200101906001600160f81b031916908160001a90535060049490941c936200188c8162002226565b905062001815565b508315620006275760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200088f565b6040518060c0016040528060008019168152602001600081526020016060815260200162001926604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b61087a806200224183390190565b6000602082840312156200195b57600080fd5b5035919050565b60005b838110156200197f57818101518382015260200162001965565b50506000910152565b60008151808452620019a281602086016020860162001962565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152620019d7604085018262001988565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001a1160e084018262001988565b90506060840151601f1984830301608085015262001a308282620019b6565b60808601516001600160a01b0390811660a0878101919091529096015190951660c090940193909352509192915050565b60006020828403121562001a7457600080fd5b81356001600160e01b0319811681146200062757600080fd5b80356001600160a01b038116811462001aa557600080fd5b919050565b6000806040838503121562001abe57600080fd5b8235915062001ad06020840162001a8d565b90509250929050565b6000806040838503121562001aed57600080fd5b62001af88362001a8d565b915062001ad06020840162001a8d565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171562001b495762001b4962001b08565b604052919050565b600082601f83011262001b6357600080fd5b81356001600160401b0381111562001b7f5762001b7f62001b08565b62001b94601f8201601f191660200162001b1e565b81815284602083860101111562001baa57600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001bda57600080fd5b604080519081016001600160401b03808211838310171562001c005762001c0062001b08565b8160405282935084358352602085013591508082111562001c2057600080fd5b5062001c2f8582860162001b51565b6020830152505092915050565b600082601f83011262001c4e57600080fd5b813560206001600160401b0382111562001c6c5762001c6c62001b08565b8160051b62001c7d82820162001b1e565b928352848101820192828101908785111562001c9857600080fd5b83870192505b8483101562001cc25762001cb28362001a8d565b8252918301919083019062001c9e565b979650505050505050565b600080600080600060a0868803121562001ce657600080fd5b8535945060208601356001600160401b038082111562001d0557600080fd5b62001d1389838a0162001b51565b9550604088013591508082111562001d2a57600080fd5b62001d3889838a0162001bc7565b945062001d486060890162001a8d565b9350608088013591508082111562001d5f57600080fd5b5062001d6e8882890162001c3c565b9150509295509295909350565b60006020828403121562001d8e57600080fd5b620006278262001a8d565b6000806040838503121562001dad57600080fd5b8235915060208301356001600160401b0381111562001dcb57600080fd5b62001dd98582860162001c3c565b9150509250929050565b6001600160a01b0391909116815260200190565b6000806040838503121562001e0b57600080fd5b8235915060208301356001600160401b0381111562001e2957600080fd5b62001dd98582860162001bc7565b6000806040838503121562001e4b57600080fd5b8235915060208301356001600160401b0381111562001e6957600080fd5b62001dd98582860162001b51565b86815285602082015260c06040820152600062001e9860c083018762001988565b828103606084015262001eac8187620019b6565b6001600160a01b0395861660808501529390941660a0909201919091525095945050505050565b600181811c9082168062001ee857607f821691505b60208210810362001f0957634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121562001f2257600080fd5b5051919050565b601f8211156200081d57600081815260208120601f850160051c8101602086101562001f525750805b601f850160051c820191505b8181101562001f735782815560010162001f5e565b505050505050565b81516001600160401b0381111562001f975762001f9762001b08565b62001faf8162001fa8845462001ed3565b8462001f29565b602080601f83116001811462001fe7576000841562001fce5750858301515b600019600386901b1c1916600185901b17855562001f73565b600085815260208120601f198616915b82811015620020185788860151825594840194600190910190840162001ff7565b5085821015620020375787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200207860a083018762001988565b82810360408401526200208c8187620019b6565b6001600160a01b0395861660608501529390941660809092019190915250949350505050565b602081526000620006276020830184620019b6565b604081526000620020dc604083018562001988565b905060018060a01b03831660208301529392505050565b828152604060208201526000620019d7604083018462001988565b9182526001600160a01b0316602082015260400190565b600083516200213981846020880162001962565b8351908301906200214f81836020880162001962565b01949350505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516200218c81601785016020880162001962565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351620021bf81602884016020880162001962565b01602801949350505050565b60208152600062000627602083018462001988565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620006135762000613620021e0565b80820180821115620006135762000613620021e0565b600081620022385762002238620021e0565b50600019019056fe60c060405234801561001057600080fd5b5060405161087a38038061087a83398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516107c86100b26000396000818160b7015261024201526000818161013d015261027101526107c86000f3fe6080604052600436106100645760003560e01c806301ffc9a71461007057806308386eba146100a5578063150b7a02146100e75780637b1039991461012b578063b61d27f614610177578063bc197c81146101a4578063f23a6e61146101d057600080fd5b3661006b57005b600080fd5b34801561007c57600080fd5b5061009061008b3660046103b2565b6101fc565b60405190151581526020015b60405180910390f35b3480156100b157600080fd5b506100d97f000000000000000000000000000000000000000000000000000000000000000081565b60405190815260200161009c565b3480156100f357600080fd5b506101126101023660046104b4565b630a85bd0160e11b949350505050565b6040516001600160e01b0319909116815260200161009c565b34801561013757600080fd5b5061015f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161009c565b34801561018357600080fd5b5061019761019236600461051b565b610233565b60405161009c9190610595565b3480156101b057600080fd5b506101126101bf366004610647565b63bc197c8160e01b95945050505050565b3480156101dc57600080fd5b506101126101eb3660046106f0565b63f23a6e6160e01b95945050505050565b60006001600160e01b03198216630271189760e51b148061022d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b604051630e6e1ae360e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa1580156102c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e49190610754565b6103015760405163075fd2b160e01b815260040160405180910390fd5b6001600160a01b038416610328576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516103449190610776565b60006040518083038185875af1925050503d8060008114610381576040519150601f19603f3d011682016040523d82523d6000602084013e610386565b606091505b5091509150816103a9576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b6000602082840312156103c457600080fd5b81356001600160e01b0319811681146103dc57600080fd5b9392505050565b80356001600160a01b03811681146103fa57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561043d5761043d6103ff565b604052919050565b600082601f83011261045657600080fd5b81356001600160401b0381111561046f5761046f6103ff565b610482601f8201601f1916602001610415565b81815284602083860101111561049757600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156104ca57600080fd5b6104d3856103e3565b93506104e1602086016103e3565b92506040850135915060608501356001600160401b0381111561050357600080fd5b61050f87828801610445565b91505092959194509250565b60008060006060848603121561053057600080fd5b610539846103e3565b92506020840135915060408401356001600160401b0381111561055b57600080fd5b61056786828701610445565b9150509250925092565b60005b8381101561058c578181015183820152602001610574565b50506000910152565b60208152600082518060208401526105b4816040850160208701610571565b601f01601f19169190910160400192915050565b600082601f8301126105d957600080fd5b813560206001600160401b038211156105f4576105f46103ff565b8160051b610603828201610415565b928352848101820192828101908785111561061d57600080fd5b83870192505b8483101561063c57823582529183019190830190610623565b979650505050505050565b600080600080600060a0868803121561065f57600080fd5b610668866103e3565b9450610676602087016103e3565b935060408601356001600160401b038082111561069257600080fd5b61069e89838a016105c8565b945060608801359150808211156106b457600080fd5b6106c089838a016105c8565b935060808801359150808211156106d657600080fd5b506106e388828901610445565b9150509295509295909350565b600080600080600060a0868803121561070857600080fd5b610711866103e3565b945061071f602087016103e3565b9350604086013592506060860135915060808601356001600160401b0381111561074857600080fd5b6106e388828901610445565b60006020828403121561076657600080fd5b815180151581146103dc57600080fd5b60008251610788818460208701610571565b919091019291505056fea26469706673582212205e3806c2a117c2146e4e851a010892cfbb5ee87635e44cb0a7b5064807c3df1a64736f6c63430008130033815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747a2646970667358221220ae5632e73648f59943334474be759cf88ca6f5bf7fe902a67aa011f1732105f864736f6c63430008130033608060405234801561001057600080fd5b50610ebe806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631688f0b9146100675780632500510e1461017657806353e5d9351461024357806361b69abd146102c6578063addacc0f146103cb578063d18af54d1461044e575b600080fd5b61014a6004803603606081101561007d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156100ba57600080fd5b8201836020820111156100cc57600080fd5b803590602001918460018302840111640100000000831117156100ee57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919050505061057d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102176004803603606081101561018c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156101c957600080fd5b8201836020820111156101db57600080fd5b803590602001918460018302840111640100000000831117156101fd57600080fd5b909192939192939080359060200190929190505050610624565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61024b610751565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561028b578082015181840152602081019050610270565b50505050905090810190601f1680156102b85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61039f600480360360408110156102dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561031957600080fd5b82018360208201111561032b57600080fd5b8035906020019184600183028401116401000000008311171561034d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061077c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103d3610861565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104135780820151818401526020810190506103f8565b50505050905090810190601f1680156104405780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105516004803603608081101561046457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156104a157600080fd5b8201836020820111156104b357600080fd5b803590602001918460018302840111640100000000831117156104d557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061088c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600061058a848484610a3b565b90506000835111156105b25760008060008551602087016000865af114156105b157600080fd5b5b7f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2358185604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a19392505050565b60006106758585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505084610a3b565b905080604051602001808273ffffffffffffffffffffffffffffffffffffffff1660601b81526014019150506040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107165780820151818401526020810190506106fb565b50505050905090810190601f1680156107435780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60606040518060200161076390610bde565b6020820181038252601f19601f82011660405250905090565b60008260405161078b90610bde565b808273ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f0801580156107c7573d6000803e3d6000fd5b5090506000825111156107f05760008060008451602086016000865af114156107ef57600080fd5b5b7f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2358184604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a192915050565b60606040518060200161087390610beb565b6020820181038252601f19601f82011660405250905090565b6000808383604051602001808381526020018273ffffffffffffffffffffffffffffffffffffffff1660601b8152601401925050506040516020818303038152906040528051906020012060001c90506108e786868361057d565b9150600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610a32578273ffffffffffffffffffffffffffffffffffffffff16631e52b518838888886040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156109ca5780820151818401526020810190506109af565b50505050905090810190601f1680156109f75780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610a1957600080fd5b505af1158015610a2d573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600060405180602001610a8890610bde565b6020820181038252601f19601f820116604052508673ffffffffffffffffffffffffffffffffffffffff166040516020018083805190602001908083835b60208310610ae95780518252602082019150602081019050602083039250610ac6565b6001836020036101000a038019825116818451168082178552505050505050905001828152602001925050506040516020818303038152906040529050818151826020016000f59250600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bd5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f437265617465322063616c6c206661696c65640000000000000000000000000081525060200191505060405180910390fd5b50509392505050565b6101e680610bf883390190565b60ab80610dde8339019056fe608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f7669646564608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033a26469706673582212200c75fe2196b9f752c82794253f2ebce0d821afef5997e1d5a35ec316ce592f6664736f6c634300070600330000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d608060405234801561001057600080fd5b5060016004819055506159ae80620000296000396000f3fe6080604052600436106101dc5760003560e01c8063affed0e011610102578063e19a9dd911610095578063f08a032311610064578063f08a032314611647578063f698da2514611698578063f8dc5dd9146116c3578063ffa1ad741461173e57610231565b8063e19a9dd91461139b578063e318b52b146113ec578063e75235b81461147d578063e86637db146114a857610231565b8063cc2f8452116100d1578063cc2f8452146110e8578063d4d9bdcd146111b5578063d8d11f78146111f0578063e009cfde1461132a57610231565b8063affed0e014610d94578063b4faba0914610dbf578063b63e800d14610ea7578063c4ca3a9c1461101757610231565b80635624b25b1161017a5780636a761202116101495780636a761202146109945780637d83297414610b50578063934f3a1114610bbf578063a0e67e2b14610d2857610231565b80635624b25b146107fb5780635ae6bd37146108b9578063610b592514610908578063694e80c31461095957610231565b80632f54bf6e116101b65780632f54bf6e146104d35780633408e4701461053a578063468721a7146105655780635229073f1461067a57610231565b80630d582f131461029e57806312fb68e0146102f95780632d9ad53d1461046c57610231565b36610231573373ffffffffffffffffffffffffffffffffffffffff167f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d346040518082815260200191505060405180910390a2005b34801561023d57600080fd5b5060007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b905080548061027257600080f35b36600080373360601b365260008060143601600080855af13d6000803e80610299573d6000fd5b3d6000f35b3480156102aa57600080fd5b506102f7600480360360408110156102c157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117ce565b005b34801561030557600080fd5b5061046a6004803603608081101561031c57600080fd5b81019080803590602001909291908035906020019064010000000081111561034357600080fd5b82018360208201111561035557600080fd5b8035906020019184600183028401116401000000008311171561037757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156103da57600080fd5b8201836020820111156103ec57600080fd5b8035906020019184600183028401116401000000008311171561040e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050611bbe565b005b34801561047857600080fd5b506104bb6004803603602081101561048f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612440565b60405180821515815260200191505060405180910390f35b3480156104df57600080fd5b50610522600480360360208110156104f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612512565b60405180821515815260200191505060405180910390f35b34801561054657600080fd5b5061054f6125e4565b6040518082815260200191505060405180910390f35b34801561057157600080fd5b506106626004803603608081101561058857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156105cf57600080fd5b8201836020820111156105e157600080fd5b8035906020019184600183028401116401000000008311171561060357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506125f1565b60405180821515815260200191505060405180910390f35b34801561068657600080fd5b506107776004803603608081101561069d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156106e457600080fd5b8201836020820111156106f657600080fd5b8035906020019184600183028401116401000000008311171561071857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506127d7565b60405180831515815260200180602001828103825283818151815260200191508051906020019080838360005b838110156107bf5780820151818401526020810190506107a4565b50505050905090810190601f1680156107ec5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561080757600080fd5b5061083e6004803603604081101561081e57600080fd5b81019080803590602001909291908035906020019092919050505061280d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561087e578082015181840152602081019050610863565b50505050905090810190601f1680156108ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108c557600080fd5b506108f2600480360360208110156108dc57600080fd5b8101908080359060200190929190505050612894565b6040518082815260200191505060405180910390f35b34801561091457600080fd5b506109576004803603602081101561092b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128ac565b005b34801561096557600080fd5b506109926004803603602081101561097c57600080fd5b8101908080359060200190929190505050612c3e565b005b610b3860048036036101408110156109ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156109f257600080fd5b820183602082011115610a0457600080fd5b80359060200191846001830284011164010000000083111715610a2657600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610ab257600080fd5b820183602082011115610ac457600080fd5b80359060200191846001830284011164010000000083111715610ae657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612d78565b60405180821515815260200191505060405180910390f35b348015610b5c57600080fd5b50610ba960048036036040811015610b7357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506132b5565b6040518082815260200191505060405180910390f35b348015610bcb57600080fd5b50610d2660048036036060811015610be257600080fd5b810190808035906020019092919080359060200190640100000000811115610c0957600080fd5b820183602082011115610c1b57600080fd5b80359060200191846001830284011164010000000083111715610c3d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610ca057600080fd5b820183602082011115610cb257600080fd5b80359060200191846001830284011164010000000083111715610cd457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506132da565b005b348015610d3457600080fd5b50610d3d613369565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610d80578082015181840152602081019050610d65565b505050509050019250505060405180910390f35b348015610da057600080fd5b50610da9613512565b6040518082815260200191505060405180910390f35b348015610dcb57600080fd5b50610ea560048036036040811015610de257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610e1f57600080fd5b820183602082011115610e3157600080fd5b80359060200191846001830284011164010000000083111715610e5357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050613518565b005b348015610eb357600080fd5b506110156004803603610100811015610ecb57600080fd5b8101908080359060200190640100000000811115610ee857600080fd5b820183602082011115610efa57600080fd5b80359060200191846020830284011164010000000083111715610f1c57600080fd5b909192939192939080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610f6757600080fd5b820183602082011115610f7957600080fd5b80359060200191846001830284011164010000000083111715610f9b57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061353a565b005b34801561102357600080fd5b506110d26004803603608081101561103a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561108157600080fd5b82018360208201111561109357600080fd5b803590602001918460018302840111640100000000831117156110b557600080fd5b9091929391929390803560ff1690602001909291905050506136f8565b6040518082815260200191505060405180910390f35b3480156110f457600080fd5b506111416004803603604081101561110b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613820565b60405180806020018373ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019060200280838360005b838110156111a0578082015181840152602081019050611185565b50505050905001935050505060405180910390f35b3480156111c157600080fd5b506111ee600480360360208110156111d857600080fd5b8101908080359060200190929190505050613a12565b005b3480156111fc57600080fd5b50611314600480360361014081101561121457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561125b57600080fd5b82018360208201111561126d57600080fd5b8035906020019184600183028401116401000000008311171561128f57600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613bb1565b6040518082815260200191505060405180910390f35b34801561133657600080fd5b506113996004803603604081101561134d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613bde565b005b3480156113a757600080fd5b506113ea600480360360208110156113be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613f6f565b005b3480156113f857600080fd5b5061147b6004803603606081101561140f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613ff3565b005b34801561148957600080fd5b50611492614665565b6040518082815260200191505060405180910390f35b3480156114b457600080fd5b506115cc60048036036101408110156114cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561151357600080fd5b82018360208201111561152557600080fd5b8035906020019184600183028401116401000000008311171561154757600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061466f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561160c5780820151818401526020810190506115f1565b50505050905090810190601f1680156116395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561165357600080fd5b506116966004803603602081101561166a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614817565b005b3480156116a457600080fd5b506116ad614878565b6040518082815260200191505060405180910390f35b3480156116cf57600080fd5b5061173c600480360360608110156116e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506148f6565b005b34801561174a57600080fd5b50611753614d29565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015611793578082015181840152602081019050611778565b50505050905090810190601f1680156117c05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6117d6614d62565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156118405750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561187857503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6118ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506003600081548092919060010191905055507f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2682604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414611bba57611bb981612c3e565b5b5050565b611bd2604182614e0590919063ffffffff16565b82511015611c48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000808060008060005b8681101561243457611c648882614e3f565b80945081955082965050505060008460ff16141561206d578260001c9450611c96604188614e0590919063ffffffff16565b8260001c1015611d0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8751611d2760208460001c614e6e90919063ffffffff16565b1115611d9b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006020838a01015190508851611dd182611dc360208760001c614e6e90919063ffffffff16565b614e6e90919063ffffffff16565b1115611e45576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60606020848b010190506320c13b0b60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168773ffffffffffffffffffffffffffffffffffffffff166320c13b0b8d846040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611ee7578082015181840152602081019050611ecc565b50505050905090810190601f168015611f145780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611f4d578082015181840152602081019050611f32565b50505050905090810190601f168015611f7a5780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b158015611f9957600080fd5b505afa158015611fad573d6000803e3d6000fd5b505050506040513d6020811015611fc357600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614612066576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b50506122b2565b60018460ff161415612181578260001c94508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061210a57506000600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c81526020019081526020016000205414155b61217c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6122b1565b601e8460ff1611156122495760018a60405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018281526020019150506040516020818303038152906040528051906020012060048603858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612238573d6000803e3d6000fd5b5050506020604051035194506122b0565b60018a85858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156122a3573d6000803e3d6000fd5b5050506020604051035194505b5b5b8573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161180156123795750600073ffffffffffffffffffffffffffffffffffffffff16600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b80156123b25750600173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b612424576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323600000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8495508080600101915050611c52565b50505050505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff16600173ffffffffffffffffffffffffffffffffffffffff161415801561250b5750600073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156125dd5750600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000804690508091505090565b6000600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156126bc5750600073ffffffffffffffffffffffffffffffffffffffff16600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b61272e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61273b858585855a614e8d565b9050801561278b573373ffffffffffffffffffffffffffffffffffffffff167f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb860405160405180910390a26127cf565b3373ffffffffffffffffffffffffffffffffffffffff167facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37560405160405180910390a25b949350505050565b600060606127e7868686866125f1565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b606060006020830267ffffffffffffffff8111801561282b57600080fd5b506040519080825280601f01601f19166020018201604052801561285e5781602001600182028036833780820191505090505b50905060005b8381101561288957808501548060208302602085010152508080600101915050612864565b508091505092915050565b60076020528060005260406000206000915090505481565b6128b4614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561291e5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b612990576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612a91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b612c46614d62565b600354811115612cbe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001811015612d35576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b806004819055507f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c936004546040518082815260200191505060405180910390a150565b6000806000612d928e8e8e8e8e8e8e8e8e8e60055461466f565b905060056000815480929190600101919050555080805190602001209150612dbb8282866132da565b506000612dc6614ed9565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612fac578073ffffffffffffffffffffffffffffffffffffffff166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b8152600401808d73ffffffffffffffffffffffffffffffffffffffff1681526020018c8152602001806020018a6001811115612e6957fe5b81526020018981526020018881526020018781526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018473ffffffffffffffffffffffffffffffffffffffff16815260200183810383528d8d82818152602001925080828437600081840152601f19601f820116905080830192505050838103825285818151815260200191508051906020019080838360005b83811015612f3b578082015181840152602081019050612f20565b50505050905090810190601f168015612f685780820380516001836020036101000a031916815260200191505b509e505050505050505050505050505050600060405180830381600087803b158015612f9357600080fd5b505af1158015612fa7573d6000803e3d6000fd5b505050505b6101f4612fd36109c48b01603f60408d0281612fc457fe5b04614f0a90919063ffffffff16565b015a1015613049576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60005a90506130b28f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e60008d146130a7578e6130ad565b6109c45a035b614e8d565b93506130c75a82614f2490919063ffffffff16565b905083806130d6575060008a14155b806130e2575060008814155b613154576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008089111561316e5761316b828b8b8b8b614f44565b90505b84156131b8577f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e8482604051808381526020018281526020019250505060405180910390a16131f8565b7f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238482604051808381526020018281526020019250505060405180910390a15b5050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146132a4578073ffffffffffffffffffffffffffffffffffffffff16639327136883856040518363ffffffff1660e01b815260040180838152602001821515815260200192505050600060405180830381600087803b15801561328b57600080fd5b505af115801561329f573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6008602052816000526040600020602052806000526040600020600091509150505481565b6000600454905060008111613357576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61336384848484611bbe565b50505050565b6060600060035467ffffffffffffffff8111801561338657600080fd5b506040519080825280602002602001820160405280156133b55781602001602082028036833780820191505090505b50905060008060026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614613509578083838151811061346057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050818060010192505061341f565b82935050505090565b60055481565b600080825160208401855af4806000523d6020523d600060403e60403d016000fd5b6135858a8a80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050508961514a565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146135c3576135c28461564a565b5b6136118787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050615679565b600082111561362b5761362982600060018685614f44565b505b3373ffffffffffffffffffffffffffffffffffffffff167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b8960405180806020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281038252878782818152602001925060200280828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a250505050505050505050565b6000805a905061374f878787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050865a614e8d565b61375857600080fd5b60005a8203905080604051602001808281526020019150506040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156137e55780820151818401526020810190506137ca565b50505050905090810190601f1680156138125780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b606060008267ffffffffffffffff8111801561383b57600080fd5b5060405190808252806020026020018201604052801561386a5781602001602082028036833780820191505090505b509150600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561393d5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561394857508482105b15613a03578084838151811061395a57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081806001019250506138d3565b80925081845250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff16600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613b14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16817ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c60405160405180910390a350565b6000613bc68c8c8c8c8c8c8c8c8c8c8c61466f565b8051906020012090509b9a5050505050505050505050565b613be6614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015613c505750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b613cc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613dc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613f77614d62565b60007f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b90508181557f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa282604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613ffb614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156140655750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561409d57503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b61410f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614210576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561427a5750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6142ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146143ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a17f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1505050565b6000600454905090565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d60405180838380828437808301925050509250505060405180910390208c8c8c8c8c8c8c604051602001808c81526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a815260200189815260200188600181111561470057fe5b81526020018781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019b505050505050505050505050604051602081830303815290604052805190602001209050601960f81b600160f81b61478c614878565b8360405160200180857effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101847effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018381526020018281526020019450505050506040516020818303038152906040529150509b9a5050505050505050505050565b61481f614d62565b6148288161564a565b7f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a7946921860001b6148a66125e4565b30604051602001808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405160208183030381529060405280519060200120905090565b6148fe614d62565b806001600354031015614979576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156149e35750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b614a55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614b55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360008154809291906001900391905055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414614d2457614d2381612c3e565b5b505050565b6040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614614e03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b565b600080831415614e185760009050614e39565b6000828402905082848281614e2957fe5b0414614e3457600080fd5b809150505b92915050565b60008060008360410260208101860151925060408101860151915060ff60418201870151169350509250925092565b600080828401905083811015614e8357600080fd5b8091505092915050565b6000600180811115614e9b57fe5b836001811115614ea757fe5b1415614ec0576000808551602087018986f49050614ed0565b600080855160208701888a87f190505b95945050505050565b6000807f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b9050805491505090565b600081831015614f1a5781614f1c565b825b905092915050565b600082821115614f3357600080fd5b600082840390508091505092915050565b600080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614614f815782614f83565b325b9050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561509b57614fed3a8610614fca573a614fcc565b855b614fdf888a614e6e90919063ffffffff16565b614e0590919063ffffffff16565b91508073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050615096576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b615140565b6150c0856150b2888a614e6e90919063ffffffff16565b614e0590919063ffffffff16565b91506150cd8482846158b4565b61513f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5095945050505050565b6000600454146151c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8151811115615239576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60018110156152b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006001905060005b83518110156155b65760008482815181106152d057fe5b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156153445750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561537c57503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156153b457508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b615426576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614615527576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508092505080806001019150506152b9565b506001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550825160038190555081600481905550505050565b60007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b90508181555050565b600073ffffffffffffffffffffffffffffffffffffffff1660016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461577b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001806000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146158b05761583d8260008360015a614e8d565b6158af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5050565b60008063a9059cbb8484604051602401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050602060008251602084016000896127105a03f13d6000811461595b5760208114615963576000935061596e565b81935061596e565b600051158215171593505b505050939250505056fea26469706673582212203874bcf92e1722cc7bfa0cef1a0985cf0dc3485ba0663db3747ccdf1605df53464736f6c63430007060033885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12da2646970667358221220e828d3ff60c8e32d6d02f85e7cb2ee98dc9efccf33e633bdf92c05d0b0e7e55a64736f6c63430008130033516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a44686132666a3547656536684a7a5359","sourceMap":"3126:44:22:-:0;;;3166:4;-1:-1:-1;;3126:44:22;;;;;;;;1016:26:32;;;;;;;;;;1212:9146:139;994:82:134;;;;1212:9146:139;994:82:134;;;;;;;;;;;;;967:109;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;821:1:141;788:34;;;;852:1;828:25;;1523:33:139;;;-1:-1:-1;;;;;;1523:33:139;;;;;;;;1639:31;;;;;;1668:1;1639:31;;;-1:-1:-1;1212:9146:139;;;;;;;;;;;;14:127:142;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:142;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:142;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:142;;;2580:26;2531:89;-1:-1:-1;;1335:1:142;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:142;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:142;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:142;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:142:o;:::-;1212:9146:139;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b50600436106200044d5760003560e01c8062b1fad71462000452578063023a6f431462000474578063030e4006146200048d5780630522b7db14620004975780630688b13514620004ab57806308c24f9f14620004b55780630a9254e414620004cc5780630f166ad414620004d6578063174eedde14620004dd578063176effb314620004e5578063180fd87f14620004f75780631854036114620005105780631ae726d914620005195780631b96dce614620005305780631d8fcc10146200053a5780631e7bcb2e14620005435780631ed7831c146200054d5780632ade388014620005665780632e0f2625146200057f5780633554642a146200058f57806337d1c40414620005a1578063392f37e914620005b857806339f56f7f14620005d25780633e5e3c2314620005db5780633f26479e14620005e55780633f7286f414620005ef57806349ef42c114620005f95780634bf4ba211462000603578063587c1243146200060d5780635aff599914620006175780635d1222aa146200062157806366d003ac146200062b57806366d9a9a014620006355780636a38dd0a146200064e5780636c53db9a14620006585780636db52510146200066c5780636f6dfab1146200068357806370a32944146200068d57806374d9284e14620004dd578063758311e41462000697578063759c9a8614620006a15780637658524d14620006ab57806379e62d0d14620006b55780637b10399914620006bf5780637b2edf3214620006c95780637cbe79ed14620006d35780638292636f14620006dd578063829e423f14620004dd57806385226c8114620006e757806385294f181462000700578063896546a114620007175780638c7408c414620004dd5780638e0d1a50146200072b5780638e3c24931462000735578063916a17c6146200073f57806394d181e31462000749578063985a0b941462000753578063a0cf0aea146200075d578063a407c67a1462000779578063a41cfc991462000783578063aa3744bd146200078d578063b5508aa91462000797578063ba414fa614620007a1578063bb0504cd14620007bc578063beda3db314620007c6578063c1f2a64114620007d8578063c36e336b14620007ef578063c5d7d73b1462000815578063c73b09e71462000827578063caa12add1462000831578063d1e82b58146200084d578063d1f2cd881462000857578063d23727ed1462000861578063d5bee9f5146200087d578063d6d8428d1462000887578063da4bf0871462000891578063dac4eb16146200089b578063dac770b314620008a5578063e070e0ab14620008af578063e20c9f7114620008c6578063e99ce91114620008d0578063ec9ec24814620008e7578063ef0d790f14620008f1578063f69d511f14620008fb578063f8cbf34f1462000912578063fa7626d4146200091c578063fc0c546a146200092a578063fd325c60146200093e578063fe24a3cb1462000947575b600080fd5b6200045c62000951565b6040516200046b919062006042565b60405180910390f35b6200048b6200048536600462006166565b62000988565b005b6200045c6200099e565b602a546200045c906001600160a01b031681565b6200045c620009d6565b6200045c620004c6366004620061d9565b62000a05565b6200048b62000cfa565b306200045c565b60006200045c565b6020546001600160a01b03166200045c565b6200050162001cd4565b6040519081526020016200046b565b60235462000501565b6200045c6200052a36600462006217565b6200207a565b6200045c6200208b565b62000501600381565b6200045c620020be565b62000557620020f3565b6040516200046b91906200627d565b6200057062002157565b6040516200046b91906200633f565b62000501670de0b6b3a764000081565b6024546001600160a01b03166200045c565b62000501620005b2366004620063c0565b620022a5565b620005c26200236c565b6040516200046b929190620064a9565b60215462000501565b620005576200240b565b6200050161271081565b620005576200246d565b6200045c620024cf565b6200055762002536565b6200045c62002559565b6200045c6200258e565b62000501602d5481565b6200045c620025c3565b6200063f620025f1565b6040516200046b9190620064c4565b6200045c620026db565b6029546200045c906001600160a01b031681565b6200048b6200067d3660046200657b565b6200270d565b6200048b62002730565b6200055762002a1e565b6200048b62002ac0565b6200045c62002de7565b62000501602c5481565b6200055762002e18565b6200045c62002e87565b6200045c62002e9b565b6200045c62002ed0565b6200048b62002eff565b620006f1620030ff565b6040516200046b9190620065d9565b620005016200071136600462006684565b620031d9565b602b546200045c906001600160a01b031681565b6200045c6200320a565b6200045c62003239565b6200063f6200326e565b6200048b62003358565b6200048b62003655565b6200045c73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b62000557620038c2565b6200048b62003931565b6200045c62003afa565b620006f162003b29565b620007ab62003c03565b60405190151581526020016200046b565b6200045c62003cb8565b6200050169032d26d12e980b60000081565b6200048b620007e936600462006739565b62003d1f565b6200080662000800366004620067f9565b62003df3565b6040516200046b9190620069ab565b6022546001600160a01b03166200045c565b6200048b62003f5f565b6200045c73dd4bda7bcda544d6da2aea8ab8b0e63d2f6dc73781565b6200045c62003fed565b6200045c62004022565b6200045c73bba817f97f133b87b9b7f1fc0f2c56e9f68d2edf81565b6200045c62004055565b6200045c62004085565b6200045c62004094565b6200045c620040c6565b6200045c620040f9565b62000501620008c0366004620069c0565b620045b3565b62000557620047d8565b62000501620008e136600462006a89565b6200483a565b6200048b620048dc565b6200045c62004c72565b6200045c6200090c36600462006abc565b62004caa565b6200048b62004d20565b601e54620007ab9060ff1681565b6033546200045c906001600160a01b031681565b601f5462000501565b6200050162005036565b6000620009836040518060400160405280600d81526020016c706f6f6c5f6d616e616765723160981b8152506200507c565b905090565b6200099884848484600062003d1f565b50505050565b60006200098360405180604001604052806013815260200172383937b334b63298afb737ba20a6b2b6b132b960691b8152506200507c565b6000620009836040518060400160405280600a8152602001693932b1b4b834b2b73a1960b11b8152506200507c565b602a546000906001600160a01b031662000ce6576001600160a01b03821662000aec57600062000a34620024cf565b905062000a4062003cb8565b604051631688f0b960e01b81526001600160a01b0383811660048301526060602483015260006064830181905260036044840152929550851690631688f0b9906084016020604051808303816000875af115801562000aa3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ac9919062006b01565b602a80546001600160a01b0319166001600160a01b039290921691909117905550505b602a54604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600f60448201526e31b7bab731b4b629b0b332a0b2323960891b6064820152600080516020620208788339815191529063c657c71890608401600060405180830381600087803b15801562000b6657600080fd5b505af115801562000b7b573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03871660048201526024810191909152601060448201526f31b7bab731b4b629b0b332a7bbb732b960811b606482015260008051602062020878833981519152925063c657c7189150608401600060405180830381600087803b15801562000bf957600080fd5b505af115801562000c0e573d6000803e3d6000fd5b50600092506001915062000c1f9050565b60405190808252806020026020018201604052801562000c49578160200160208202803683370190505b509050838160008151811062000c635762000c6362006b21565b6001600160a01b039283166020918202929092010152602a5460405163b63e800d60e01b815291169063b63e800d9062000cb0908490600190600090819081908190819060040162006b37565b600060405180830381600087803b15801562000ccb57600080fd5b505af115801562000ce0573d6000803e3d6000fd5b50505050505b50602a546001600160a01b03165b92915050565b62000d0462005090565b62000d1862000d1262002e87565b62005655565b600080516020620208788339815191526306447d5662000d3762002ed0565b6040518263ffffffff1660e01b815260040162000d55919062006042565b600060405180830381600087803b15801562000d7057600080fd5b505af115801562000d85573d6000803e3d6000fd5b5050505062000d9362004085565b60405163473480c360e11b8152600060048201526001600160a01b039190911690638e69018690602401600060405180830381600087803b15801562000dd857600080fd5b505af115801562000ded573d6000803e3d6000fd5b5050505062000dfb62004085565b6040516307aa7e2560e51b8152600060048201526001600160a01b03919091169063f54fc4a090602401600060405180830381600087803b15801562000e4057600080fd5b505af115801562000e55573d6000803e3d6000fd5b505050506000805160206202626f83398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000ea757600080fd5b505af115801562000ebc573d6000803e3d6000fd5b50505050601260405162000ed09062005e3f565b6060808252600a908201526926b7b1b5902a37b5b2b760b11b608082015260a060208201819052600390820152624d544b60e81b60c082015260ff909116604082015260e001604051809103906000f08015801562000f33573d6000803e3d6000fd5b50603380546001600160a01b0319166001600160a01b039290921691821790556340c10f193062000f6f6003683635c9adc5dea0000062006bb4565b6040518363ffffffff1660e01b815260040162000f8e92919062006bd7565b600060405180830381600087803b15801562000fa957600080fd5b505af115801562000fbe573d6000803e3d6000fd5b50506033546001600160a01b031691506340c10f19905062000fdf6200320a565b62000ff56003683635c9adc5dea0000062006bb4565b6040518363ffffffff1660e01b81526004016200101492919062006bd7565b600060405180830381600087803b1580156200102f57600080fd5b505af115801562001044573d6000803e3d6000fd5b50506033546001600160a01b031691506340c10f1990506006620010736003683635c9adc5dea0000062006bb4565b6040518363ffffffff1660e01b81526004016200109292919062006bd7565b600060405180830381600087803b158015620010ad57600080fd5b505af1158015620010c2573d6000803e3d6000fd5b50506033546001600160a01b0316915063095ea7b39050620010e362004085565b685150ae84a8cdf000006040518363ffffffff1660e01b81526004016200110c92919062006bd7565b6020604051808303816000875af11580156200112c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001152919062006c01565b50600080516020620208788339815191526306447d566200117262002ed0565b6040518263ffffffff1660e01b815260040162001190919062006042565b600060405180830381600087803b158015620011ab57600080fd5b505af1158015620011c0573d6000803e3d6000fd5b50505050620011ce62004085565b6001600160a01b031663f2fde38b306040518263ffffffff1660e01b8152600401620011fb919062006042565b600060405180830381600087803b1580156200121657600080fd5b505af11580156200122b573d6000803e3d6000fd5b505050506000805160206202626f83398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200127d57600080fd5b505af115801562001292573d6000803e3d6000fd5b50506034546040516303223eab60e11b81526000805160206202087883398151915293506306447d569250620012d5916001600160a01b03169060040162006042565b600060405180830381600087803b158015620012f057600080fd5b505af115801562001305573d6000803e3d6000fd5b50505050604051620013179062005e4d565b604051809103906000f08015801562001334573d6000803e3d6000fd5b5060408051671bc16d674ec8000060248083019190915282518083039091018152604490910182526020810180516001600160e01b031663fe4b84df60e01b1790529051620013839062005e5b565b6200139092919062006c1f565b604051809103906000f080158015620013ad573d6000803e3d6000fd5b50602f60006101000a8154816001600160a01b0302191690836001600160a01b031602179055506000805160206202626f83398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200142257600080fd5b505af115801562001437573d6000803e3d6000fd5b505050506200144562005e69565b6200144f62004085565b6001600160a01b03908116825260335416602080830191909152670de0b6b3a7640000604080840191909152600160608401523060c08401528051808201909152602680548252602780549293919291840191620014ad9062006c45565b80601f0160208091040260200160405190810160405280929190818152602001828054620014db9062006c45565b80156200152c5780601f1062001500576101008083540402835291602001916200152c565b820191906000526020600020905b8154815290600101906020018083116200150e57829003601f168201915b5050509190925250505060e082015262001545620040f9565b6001600160a01b0316610100820152604051620015629062005f15565b604051809103906000f0801580156200157f573d6000803e3d6000fd5b50603454604051630a2ca2bd60e11b916001600160a01b031690600290620015a79062005f23565b604051809103906000f080158015620015c4573d6000803e3d6000fd5b50604051620015d39062005f31565b604051809103906000f080158015620015f0573d6000803e3d6000fd5b50604051620015ff9062005f3f565b604051809103906000f0801580156200161c573d6000803e3d6000fd5b506040516001600160a01b039586166024820152938516604485015291841660648401528316608483015290911660a482015260c40160408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051620016919062005e5b565b6200169e92919062006c1f565b604051809103906000f080158015620016bb573d6000803e3d6000fd5b506001600160a01b031663beb331a3826040518263ffffffff1660e01b8152600401620016e9919062006c9c565b6020604051808303816000875af115801562001709573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200172f919062006b01565b603280546001600160a01b0319166001600160a01b039290921691821790556040805160208101909152600091829163579eb7e59073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9062001801908490600190600290806200179d670de0b6b3a764000060c862006da8565b90526040805160c08101909152602f546001600160a01b0316815260208101620017c6620040f9565b6001600160a01b0316815260200166470de4df8200008152602001662386f26fc1000081526020016001815260200161012c81525062003df3565b60266040518463ffffffff1660e01b8152600401620018239392919062006e83565b60408051808303816000875af115801562001842573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001868919062006ebd565b6031829055603080546001600160a01b0319166001600160a01b0383161790559092509050600080516020620208788339815191526306447d56620018ac6200320a565b6040518263ffffffff1660e01b8152600401620018ca919062006042565b600060405180830381600087803b158015620018e557600080fd5b505af1158015620018fa573d6000803e3d6000fd5b50506032546030546040516200196d94506001600160a01b03928316935060009263223e547960e01b92620019359291169060240162006042565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526200270d565b6000805160206202626f83398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620019bb57600080fd5b505af1158015620019d0573d6000803e3d6000fd5b50505050603260009054906101000a90046001600160a01b03166001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001a28573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001a4e919062006b01565b6032546001600160a01b039182169163095ea7b39116606462001a7360018062006ee5565b62001a8790670de0b6b3a764000062006da8565b62001a93919062006bb4565b62001aa790670de0b6b3a764000062006ee5565b6040518363ffffffff1660e01b815260040162001ac692919062006bd7565b6020604051808303816000875af115801562001ae6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b0c919062006c01565b50603260009054906101000a90046001600160a01b03166001600160a01b0316633517aa7d6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562001b5e57600080fd5b505af115801562001b73573d6000803e3d6000fd5b50505050603060009054906101000a90046001600160a01b03166001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562001bc857600080fd5b505af115801562001bdd573d6000803e3d6000fd5b505060405163c88a5e6d60e01b815260008051602062020878833981519152925063c88a5e6d915062001c2190309069032d26d12e980b6000009060040162006bd7565b600060405180830381600087803b15801562001c3c57600080fd5b505af115801562001c51573d6000803e3d6000fd5b5050505062001c5f62004085565b6040516316b35beb60e21b81526004810184905269032d26d12e980b600000602482018190526001600160a01b039290921691635acd6fac916044016000604051808303818588803b15801562001cb557600080fd5b505af115801562001cca573d6000803e3d6000fd5b5050505050505050565b600080670de0b6b3a7640000905060006040518060a00160405280603154815260200162001d016200320a565b6001600160a01b0316815260200183815260200173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316815260200160266040518060400160405290816000820154815260200160018201805462001d619062006c45565b80601f016020809104026020016040519081016040528092919081815260200182805462001d8f9062006c45565b801562001de05780601f1062001db45761010080835404028352916020019162001de0565b820191906000526020600020905b81548152906001019060200180831162001dc257829003601f168201915b505050505081525050815250905060008160405160200162001e03919062006efb565b60408051601f1981840301815282825260305463059351cd60e01b845291519093506000926001600160a01b039092169163059351cd9160048083019260c09291908290030181865afa15801562001e5f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001e85919062006f4e565b505050925050506000805160206202626f83398151915260001c6001600160a01b031663c88a5e6d62001eb76200320a565b836040518363ffffffff1660e01b815260040162001ed792919062006bd7565b600060405180830381600087803b15801562001ef257600080fd5b505af115801562001f07573d6000803e3d6000fd5b506000805160206202087883398151915292506306447d56915062001f2d90506200320a565b6040518263ffffffff1660e01b815260040162001f4b919062006042565b600060405180830381600087803b15801562001f6657600080fd5b505af115801562001f7b573d6000803e3d6000fd5b5050505062001f8962004085565b6001600160a01b031663075c0e9c82603154856040518463ffffffff1660e01b815260040162001fbb929190620064a9565b60206040518083038185885af115801562001fda573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062002001919062006b01565b6001600160a01b031694506000805160206202626f83398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200205a57600080fd5b505af11580156200206f573d6000803e3d6000fd5b505050505050505090565b600062000cf482620004c662003cb8565b6000620009836040518060400160405280600e81526020016d383937b334b632992fb7bbb732b960911b8152506200507c565b6000620009836040518060400160405280601081526020016f70726f66696c65315f6d656d6265723160801b8152506200507c565b606060168054806020026020016040519081016040528092919081815260200182805480156200214d57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116200212e575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b828210156200229c57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562002284578382906000526020600020018054620021f09062006c45565b80601f01602080910402602001604051908101604052809291908181526020018280546200221e9062006c45565b80156200226f5780601f1062002243576101008083540402835291602001916200226f565b820191906000526020600020905b8154815290600101906020018083116200225157829003601f168201915b505050505081526020019060010190620021ce565b5050505081525050815260200190600101906200217b565b50505050905090565b60285460009062002360576040805180820182526001815281518083018352600c81526b506f6f6c50726f66696c653160a01b6020828101919091528201529051633a92f65f60e01b81526001600160a01b03861691633a92f65f9162002316916002918890889060040162006fb1565b6020604051808303816000875af115801562002336573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200235c91906200702a565b6028555b506028545b9392505050565b6026805460278054919291620023829062006c45565b80601f0160208091040260200160405190810160405280929190818152602001828054620023b09062006c45565b8015620024015780601f10620023d55761010080835404028352916020019162002401565b820191906000526020600020905b815481529060010190602001808311620023e357829003601f168201915b5050505050905082565b606060188054806020026020016040519081016040528092919081815260200182805480156200214d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200212e575050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156200214d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200212e575050505050905090565b6000620024f073dd4bda7bcda544d6da2aea8ab8b0e63d2f6dc737620057f8565b156200250f575073dd4bda7bcda544d6da2aea8ab8b0e63d2f6dc73790565b6200098360405180615a0001604052806159d78152602001620208986159d7913962004caa565b604080516002808252606080830184529260208301908036833701905050905090565b6000620009836040518060400160405280601081526020016f70726f66696c65325f6d656d6265723160801b8152506200507c565b6000620009836040518060400160405280601081526020016f726563697069656e744164647265737360801b8152506200507c565b600062000983604051806040016040528060098152602001681c9958da5c1a595b9d60ba1b8152506200507c565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156200229c5760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015620026c257602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620026835790505b5050505050815250508152602001906001019062002615565b6000620009836040518060400160405280600d81526020016c3837b7b62fb6b0b730b3b2b91960991b8152506200507c565b602954602c546200272b916001600160a01b03169085848662003d1f565b505050565b60006200273c62001cd4565b60355460405163c88a5e6d60e01b8152919250600080516020620208788339815191529163c88a5e6d916200278a916001600160a01b0390911690678ac7230489e800009060040162006bd7565b600060405180830381600087803b158015620027a557600080fd5b505af1158015620027ba573d6000803e3d6000fd5b505060355460405163ca669fa760e01b815260008051602062020878833981519152935063ca669fa79250620027fd916001600160a01b03169060040162006042565b600060405180830381600087803b1580156200281857600080fd5b505af11580156200282d573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62002861671bc16d674ec80000662386f26fc1000062006ee5565b846040518363ffffffff1660e01b815260040162002880919062007044565b60206040518083038185885af11580156200289f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190620028c691906200702a565b604051630618f58760e51b8152909150600080516020620208788339815191529063c31eb0e09062002904906309efd47960e41b906004016200706a565b600060405180830381600087803b1580156200291f57600080fd5b505af115801562002934573d6000803e3d6000fd5b5060008051602062020878833981519152925063ca669fa791506200295a9050620040f9565b6040518263ffffffff1660e01b815260040162002978919062006042565b600060405180830381600087803b1580156200299357600080fd5b505af1158015620029a8573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d37569350620029e692869260049291169082016200707f565b600060405180830381600087803b15801562002a0157600080fd5b505af115801562002a16573d6000803e3d6000fd5b505050505050565b6040805160028082526060808301845292600092919060208301908036833701905050905062002a4d620020be565b8160008151811062002a635762002a6362006b21565b60200260200101906001600160a01b031690816001600160a01b03168152505062002a8d62002e9b565b8160018151811062002aa35762002aa362006b21565b6001600160a01b0390921660209283029190910190910152919050565b600062002acc62001cd4565b60355460405163c88a5e6d60e01b8152919250600080516020620208788339815191529163c88a5e6d9162002b1a916001600160a01b0390911690678ac7230489e800009060040162006bd7565b600060405180830381600087803b15801562002b3557600080fd5b505af115801562002b4a573d6000803e3d6000fd5b505060355460405163ca669fa760e01b815260008051602062020878833981519152935063ca669fa7925062002b8d916001600160a01b03169060040162006042565b600060405180830381600087803b15801562002ba857600080fd5b505af115801562002bbd573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62002bf1671bc16d674ec80000662386f26fc1000062006ee5565b846040518363ffffffff1660e01b815260040162002c10919062007044565b60206040518083038185885af115801562002c2f573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062002c5691906200702a565b90506000805160206202087883398151915263ca669fa762002c77620040f9565b6040518263ffffffff1660e01b815260040162002c95919062006042565b600060405180830381600087803b15801562002cb057600080fd5b505af115801562002cc5573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d3756935062002d049286926002929116906004016200707f565b600060405180830381600087803b15801562002d1f57600080fd5b505af115801562002d34573d6000803e3d6000fd5b5050602f5460405163564a565d60e01b815260048101859052600093508392506001600160a01b039091169063564a565d90602401600060405180830381865afa15801562002d87573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002db19190810190620070d4565b955095505050505062002dc682600262005807565b6200099881600181111562002ddf5762002ddf62006870565b600162005807565b6000620009836040518060400160405280600c81526020016b1b9bd7dc9958da5c1a595b9d60a21b8152506200507c565b6040805160028082526060808301845292600092919060208301908036833701905050905062002e4762000951565b8160008151811062002e5d5762002e5d62006b21565b60200260200101906001600160a01b031690816001600160a01b03168152505062002a8d620026db565b601e5461010090046001600160a01b031690565b6000620009836040518060400160405280601081526020016f383937b334b63298afb6b2b6b132b91960811b8152506200507c565b6000620009836040518060400160405280600a81526020016930b63637afb7bbb732b960b11b8152506200507c565b60355460405163c88a5e6d60e01b8152600080516020620208788339815191529163c88a5e6d9162002f48916001600160a01b031690678ac7230489e800009060040162006bd7565b600060405180830381600087803b15801562002f6357600080fd5b505af115801562002f78573d6000803e3d6000fd5b505060355460405163ca669fa760e01b815260008051602062020878833981519152935063ca669fa7925062002fbb916001600160a01b03169060040162006042565b600060405180830381600087803b15801562002fd657600080fd5b505af115801562002feb573d6000803e3d6000fd5b5050604051630618f58760e51b815260008051602062020878833981519152925063c31eb0e091506200302a9063e4216b3160e01b906004016200706a565b600060405180830381600087803b1580156200304557600080fd5b505af11580156200305a573d6000803e3d6000fd5b5050602f546001600160a01b0316915063c13517e19050620030866001671bc16d674ec8000062007174565b60036040518363ffffffff1660e01b8152600401620030b691815260406020820181905260009082015260600190565b60206040518083038185885af1158015620030d5573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190620030fc91906200702a565b50565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156200229c578382906000526020600020018054620031459062006c45565b80601f0160208091040260200160405190810160405280929190818152602001828054620031739062006c45565b8015620031c45780601f106200319857610100808354040283529160200191620031c4565b820191906000526020600020905b815481529060010190602001808311620031a657829003601f168201915b50505050508152602001906001019062003123565b6000620031fd89898989898989604051806020016040528060008152508a620045b3565b9998505050505050505050565b6000620009836040518060400160405280600a8152602001693837b7b62fb0b236b4b760b11b8152506200507c565b6000620009836040518060400160405280601081526020016f383937b334b632992fb6b2b6b132b91960811b8152506200507c565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156200229c5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200333f57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620033005790505b5050505050815250508152602001906001019062003292565b60006200336462001cd4565b60355460405163c88a5e6d60e01b8152919250600080516020620208788339815191529163c88a5e6d91620033b2916001600160a01b0390911690678ac7230489e800009060040162006bd7565b600060405180830381600087803b158015620033cd57600080fd5b505af1158015620033e2573d6000803e3d6000fd5b505060355460405163ca669fa760e01b815260008051602062020878833981519152935063ca669fa7925062003425916001600160a01b03169060040162006042565b600060405180830381600087803b1580156200344057600080fd5b505af115801562003455573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62003489671bc16d674ec80000662386f26fc1000062006ee5565b846040518363ffffffff1660e01b8152600401620034a8919062007044565b60206040518083038185885af1158015620034c7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190620034ee91906200702a565b603554602954604080516001600160a01b0393841660248201529290911660448084019190915281518084039091018152606490920181526020820180516001600160e01b031663d0774c9960e01b1790525163f28dceb360e01b8152919250600080516020620208788339815191529163f28dceb39162003573916004016200718a565b600060405180830381600087803b1580156200358e57600080fd5b505af1158015620035a3573d6000803e3d6000fd5b505060355460405163ca669fa760e01b815260008051602062020878833981519152935063ca669fa79250620035e6916001600160a01b03169060040162006042565b600060405180830381600087803b1580156200360157600080fd5b505af115801562003616573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d37569350620029e69286926002929116906004016200707f565b60006200366162001cd4565b60355460405163c88a5e6d60e01b8152919250600080516020620208788339815191529163c88a5e6d91620036af916001600160a01b0390911690678ac7230489e800009060040162006bd7565b600060405180830381600087803b158015620036ca57600080fd5b505af1158015620036df573d6000803e3d6000fd5b505060355460405163ca669fa760e01b815260008051602062020878833981519152935063ca669fa7925062003722916001600160a01b03169060040162006042565b600060405180830381600087803b1580156200373d57600080fd5b505af115801562003752573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62003786671bc16d674ec80000662386f26fc1000062006ee5565b846040518363ffffffff1660e01b8152600401620037a5919062007044565b60206040518083038185885af1158015620037c4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190620037eb91906200702a565b602f5460405163564a565d60e01b8152600481018390529192506000918291829182916001600160a01b03169063564a565d90602401600060405180830381865afa1580156200383f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620038699190810190620070d4565b955095509550955050506200388084600362005807565b6200389483671bc16d674ec8000062005807565b620038a182600062005807565b62002a16816001811115620038ba57620038ba62006870565b600062005807565b60408051600280825260608083018452926000929190602083019080368337019050509050620038f162002559565b8160008151811062003907576200390762006b21565b60200260200101906001600160a01b031690816001600160a01b03168152505062002a8d62003239565b6034546040516303223eab60e11b815260008051602062020878833981519152916306447d569162003970916001600160a01b03169060040162006042565b600060405180830381600087803b1580156200398b57600080fd5b505af1158015620039a0573d6000803e3d6000fd5b5050602f546040516317a9ed3f60e21b815266470de4df8200006004820181905293506001600160a01b039091169150635ea7b4fc90602401600060405180830381600087803b158015620039f457600080fd5b505af115801562003a09573d6000803e3d6000fd5b5050602f5460405163f7434ea960e01b8152602060048201526000602482015262003a9093506001600160a01b03909116915063f7434ea990604401602060405180830381865afa15801562003a63573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003a8991906200702a565b8262005807565b6000805160206202626f83398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562003ade57600080fd5b505af115801562003af3573d6000803e3d6000fd5b5050505050565b6000620009836040518060400160405280600a815260200169726563697069656e743160b01b8152506200507c565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156200229c57838290600052602060002001805462003b6f9062006c45565b80601f016020809104026020016040519081016040528092919081815260200182805462003b9d9062006c45565b801562003bee5780601f1062003bc25761010080835404028352916020019162003bee565b820191906000526020600020905b81548152906001019060200180831162003bd057829003601f168201915b50505050508152602001906001019062003b4d565b60085460009060ff161562003c1c575060085460ff1690565b604051630667f9d760e41b8152600090600080516020620208788339815191529063667f9d709062003c6d906000805160206202626f833981519152906519985a5b195960d21b9060040162006bd7565b602060405180830381865afa15801562003c8b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003cb191906200702a565b1415905090565b600062003cd973bba817f97f133b87b9b7f1fc0f2c56e9f68d2edf620057f8565b1562003cf8575073bba817f97f133b87b9b7f1fc0f2c56e9f68d2edf90565b6200098360405180610f000160405280610ede81526020016201f99a610ede913962004caa565b606062003d2f848488886200586b565b905062002a16866001600160a01b0316636a7612028685876000806000806000808c6040518b63ffffffff1660e01b815260040162003d789a99989796959493929190620071b2565b6020604051808303816000875af115801562003d98573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003dbe919062006c01565b60405180604001604052806016815260200175195e1958d51c985b9cd858dd1a5bdb8819985a5b195960521b81525062005942565b62003dfd62005f4d565b62003e10670de0a46bc207d80062005978565b81516040015262003e296702c68af0bb14000062005978565b81515262003e3e66038d7ea4c6800062005978565b815160209081019190915281516702c68af0bb1400006060909101526001600160a01b03871660a0830152810185600281111562003e805762003e8062006870565b9081600281111562003e965762003e9662006870565b9052506040810184600381111562003eb25762003eb262006870565b9081600381111562003ec85762003ec862006870565b905250825160000362003eed5762003eea670de0b6b3a764000060c862006da8565b83525b6060810183905260808101829052604080516001808252818301909252906020808301908036833750505060e08201819052805160009190829062003f365762003f3662006b21565b60200260200101906001600160a01b031690816001600160a01b03168152505095945050505050565b602f5460405163f7434ea960e01b815260206004820152600060248201819052916001600160a01b03169063f7434ea990604401602060405180830381865afa15801562003fb1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003fd791906200702a565b9050620030fc81671bc16d674ec8000062005807565b6000620009836040518060400160405280601081526020016f3837b7b62fb737ba20a6b0b730b3b2b960811b8152506200507c565b6000620009836040518060400160405280600e81526020016d383937b334b63298afb7bbb732b960911b8152506200507c565b6000620009836040518060400160405280600b81526020016a1c985b991bdb4818da185960aa1b8152506200507c565b6025546001600160a01b031690565b6000620009836040518060400160405280600d81526020016c616c6c6f5f747265617375727960981b8152506200507c565b6000620009836040518060400160405280600e81526020016d3932b3b4b9ba393cafb7bbb732b960911b8152506200507c565b602c546040516001625e79b760e01b03198152600091600080516020620208788339815191529163ffa1864991620041379160040190815260200190565b602060405180830381865afa15801562004155573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200417b919062006b01565b602b80546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600e60448201526d636f756e63696c4d656d6265723160901b6064820152600080516020620208788339815191529063c657c71890608401600060405180830381600087803b1580156200420857600080fd5b505af11580156200421d573d6000803e3d6000fd5b50506029546001600160a01b03169150620045a390505760006200424062003cb8565b90506200424c620024cf565b602e80546001600160a01b0319166001600160a01b03928316179055604080516318caf8e360e31b815291831660048301526024820152601060448201526f5361666550726f7879466163746f727960801b6064820152600080516020620208788339815191529063c657c71890608401600060405180830381600087803b158015620042d857600080fd5b505af1158015620042ed573d6000803e3d6000fd5b5050602e54604080518082018252600181526000602082018190529151631688f0b960e01b81529194506001600160a01b038087169450631688f0b9936200433f93911691906003906004016200723c565b6020604051808303816000875af11580156200435f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004385919062006b01565b602980546001600160a01b0319166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600b60448201526a636f756e63696c5361666560a81b6064820152909150600080516020620208788339815191529063c657c71890608401600060405180830381600087803b1580156200441157600080fd5b505af115801562004426573d6000803e3d6000fd5b506000925060039150620044379050565b60405190808252806020026020018201604052801562004461578160200160208202803683370190505b50602b5481519192506001600160a01b031690829060009062004488576200448862006b21565b60200260200101906001600160a01b031690816001600160a01b03168152505073f39fd6e51aad88f6f4ce6ab8827279cfffb9226681600181518110620044d357620044d362006b21565b60200260200101906001600160a01b031690816001600160a01b0316815250507370997970c51812dc3a010c7d01b50e0d17dc79c8816002815181106200451e576200451e62006b21565b6001600160a01b03928316602091820292909201015260295460405163b63e800d60e01b815291169063b63e800d906200456b908490600190600090819081908190819060040162006b37565b600060405180830381600087803b1580156200458657600080fd5b505af11580156200459b573d6000803e3d6000fd5b505050505050505b506029546001600160a01b031690565b600080620045c5898787878762003df3565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811062004602576200460262006b21565b60200260200101906001600160a01b031690816001600160a01b031681525050338160018151811062004639576200463962006b21565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90891615620046705750875b8c6001600160a01b031663e1007d4a620046958c6200468e6200320a565b86620022a5565b8e86604051602001620046a99190620069ab565b6040516020818303038152906040528560006026896040518863ffffffff1660e01b8152600401620046e2979695949392919062007272565b6020604051808303816000875af115801562004702573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200472891906200702a565b93508760028111156200473f576200473f62006870565b8c6001600160a01b031663351d9f966040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200477e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620047a49190620072e3565b6002811115620047b857620047b862006870565b14620047c857620047c862007303565b5050509998505050505050505050565b606060158054806020026020016040519081016040528092919081815260200182805480156200214d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200212e575050505050905090565b600084816200485c6200485562989680608087901b62006bb4565b836200598b565b905060806001607f1b62004874866298968062007174565b6200488484600160801b62007174565b62004893629896808a62006da8565b6200489f919062006da8565b620048ab919062006bb4565b620048b7898562006da8565b620048c3919062006ee5565b620048cf919062006ee5565b901c979650505050505050565b6000620048e862001cd4565b60355460405163c88a5e6d60e01b8152919250600080516020620208788339815191529163c88a5e6d9162004936916001600160a01b0390911690678ac7230489e800009060040162006bd7565b600060405180830381600087803b1580156200495157600080fd5b505af115801562004966573d6000803e3d6000fd5b505060355460405163ca669fa760e01b815260008051602062020878833981519152935063ca669fa79250620049a9916001600160a01b03169060040162006042565b600060405180830381600087803b158015620049c457600080fd5b505af1158015620049d9573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62004a0d671bc16d674ec80000662386f26fc1000062006ee5565b846040518363ffffffff1660e01b815260040162004a2c919062007044565b60206040518083038185885af115801562004a4b573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062004a7291906200702a565b90506000805160206202087883398151915263ca669fa762004a93620040f9565b6040518263ffffffff1660e01b815260040162004ab1919062006042565b600060405180830381600087803b15801562004acc57600080fd5b505af115801562004ae1573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d3756935062004b209286926002929116906004016200707f565b600060405180830381600087803b15801562004b3b57600080fd5b505af115801562004b50573d6000803e3d6000fd5b5050604051630618f58760e51b815260008051602062020878833981519152925063c31eb0e0915062004b8f9063bda17d9560e01b906004016200706a565b600060405180830381600087803b15801562004baa57600080fd5b505af115801562004bbf573d6000803e3d6000fd5b5060008051602062020878833981519152925063ca669fa7915062004be59050620040f9565b6040518263ffffffff1660e01b815260040162004c03919062006042565b600060405180830381600087803b15801562004c1e57600080fd5b505af115801562004c33573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d37569350620029e69286926001929116906004016200707f565b60006200098360405180604001604052806013815260200172383937b334b632992fb737ba20a6b2b6b132b960691b8152506200507c565b602d80546000918291908262004cc08362007319565b9190505550602d548351602085016000f5915050803f8062004d1a5760405162461bcd60e51b815260206004820152600e60248201526d1b081b9bdd0819195c1b1bde595960921b60448201526064015b60405180910390fd5b50919050565b600062004d2c62001cd4565b60355460405163c88a5e6d60e01b8152919250600080516020620208788339815191529163c88a5e6d9162004d7a916001600160a01b0390911690678ac7230489e800009060040162006bd7565b600060405180830381600087803b15801562004d9557600080fd5b505af115801562004daa573d6000803e3d6000fd5b505060355460405163ca669fa760e01b815260008051602062020878833981519152935063ca669fa7925062004ded916001600160a01b03169060040162006042565b600060405180830381600087803b15801562004e0857600080fd5b505af115801562004e1d573d6000803e3d6000fd5b5050603054600092506001600160a01b0316905063b41596ec62004e51671bc16d674ec80000662386f26fc1000062006ee5565b846040518363ffffffff1660e01b815260040162004e70919062007044565b60206040518083038185885af115801562004e8f573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062004eb691906200702a565b90506000805160206202087883398151915263ca669fa762004ed7620040f9565b6040518263ffffffff1660e01b815260040162004ef5919062006042565b600060405180830381600087803b15801562004f1057600080fd5b505af115801562004f25573d6000803e3d6000fd5b5050602f54603054604051633d0e9bab60e11b81526001600160a01b039283169450637a1d3756935062004f649286926002929116906004016200707f565b600060405180830381600087803b15801562004f7f57600080fd5b505af115801562004f94573d6000803e3d6000fd5b5050602f54604051631c3db16d60e01b8152600481018590526000935083925082916001600160a01b031690631c3db16d90602401606060405180830381865afa15801562004fe7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200500d919062007335565b9250925092506200502083600262005807565b6200502b8262005a3f565b62003af38162005a3f565b60646200504560018062006ee5565b6200505990670de0b6b3a764000062006da8565b62005065919062006bb4565b6200507990670de0b6b3a764000062006ee5565b81565b6000620050898262005a9c565b5092915050565b6200509a62005bb1565b6000805160206202087883398151915263ca669fa7620050b96200320a565b6040518263ffffffff1660e01b8152600401620050d7919062006042565b600060405180830381600087803b158015620050f257600080fd5b505af115801562005107573d6000803e3d6000fd5b50505050601e60019054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b815250815250620051756200320a565b6200517f62002e18565b6040518563ffffffff1660e01b8152600401620051a0949392919062006fb1565b6020604051808303816000875af1158015620051c0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620051e691906200702a565b601f819055601e54604051628a678560e11b8152600481019290925261010090046001600160a01b031690630114cf0a90602401600060405180830381865afa15801562005238573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200526291908101906200740e565b60a00151602080546001600160a01b0319166001600160a01b039092169190911790556000805160206202087883398151915263ca669fa7620052a462004022565b6040518263ffffffff1660e01b8152600401620052c2919062006042565b600060405180830381600087803b158015620052dd57600080fd5b505af1158015620052f2573d6000803e3d6000fd5b50505050601e60019054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020016750726f66696c653160c01b8152508152506200535c62004022565b6200536662002a1e565b6040518563ffffffff1660e01b8152600401620053879493929190620074e3565b6020604051808303816000875af1158015620053a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620053cd91906200702a565b6021819055601e54604051628a678560e11b8152600481019290925261010090046001600160a01b031690630114cf0a90602401600060405180830381865afa1580156200541f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200544991908101906200740e565b60a00151602280546001600160a01b0319166001600160a01b039092169190911790556000805160206202087883398151915263ca669fa76200548b6200208b565b6040518263ffffffff1660e01b8152600401620054a9919062006042565b600060405180830381600087803b158015620054c457600080fd5b505af1158015620054d9573d6000803e3d6000fd5b50505050601e60019054906101000a90046001600160a01b03166001600160a01b0316633a92f65f600060405180604001604052806001815260200160405180604001604052806008815260200167283937b334b6329960c11b815250815250620055436200208b565b6200554d620038c2565b6040518563ffffffff1660e01b81526004016200556e949392919062007541565b6020604051808303816000875af11580156200558e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620055b491906200702a565b6023819055601e54604051628a678560e11b8152600481019290925261010090046001600160a01b031690630114cf0a90602401600060405180830381865afa15801562005606573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200563091908101906200740e565b60a00151602480546001600160a01b0319166001600160a01b03909216919091179055565b600080516020620208788339815191526306447d566200567462002ed0565b6040518263ffffffff1660e01b815260040162005692919062006042565b600060405180830381600087803b158015620056ad57600080fd5b505af1158015620056c2573d6000803e3d6000fd5b50505050604051620056d49062006019565b604051809103906000f080158015620056f1573d6000803e3d6000fd5b50602580546001600160a01b0319166001600160a01b0392909216918217905563a6b63eb86200572062002ed0565b836200572b62004094565b60405160e085901b6001600160e01b03191681526001600160a01b03938416600482015291831660248301529091166044820152662386f26fc1000060648201526000608482015260a401600060405180830381600087803b1580156200579157600080fd5b505af1158015620057a6573d6000803e3d6000fd5b505050506000805160206202626f83398151915260001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562003ade57600080fd5b6001600160a01b03163b151590565b60405163260a5b1560e21b8152600481018390526024810182905260008051602062020878833981519152906398296c54906044015b60006040518083038186803b1580156200585657600080fd5b505afa15801562002a16573d6000803e3d6000fd5b6060600080806000805160206202087883398151915263e341eaa486620058948b8b8b62005c64565b6040516001600160e01b031960e085901b16815260048101929092526024820152604401606060405180830381865afa158015620058d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620058fc91906200757c565b6040805160208101939093528281019190915260f89290921b6001600160f81b031916606082015281516041818303018152606190910190915298975050505050505050565b60405163a34edc0360e01b8152600080516020620208788339815191529063a34edc03906200583d9085908590600401620075bb565b600062000cf464174876e8008362006bb4565b6000600160801b8310620059e15760405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b604482015260640162004d11565b50600160801b82825b801562005a37578060011660000362005a145762005a09828362005d5a565b915060011c620059ea565b62005a20838362005d5a565b925062005a2f60018262007174565b9050620059ea565b505092915050565b60405163a598288560e01b81528115156004820152600080516020620208788339815191529063a59828859060240160006040518083038186803b15801562005a8757600080fd5b505afa15801562003af3573d6000803e3d6000fd5b6000808260405160200162005ab29190620075d8565b60408051808303601f190181529082905280516020909101206001625e79b760e01b03198252600482018190529150600080516020620208788339815191529063ffa1864990602401602060405180830381865afa15801562005b19573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005b3f919062006b01565b6040516318caf8e360e31b8152909250600080516020620208788339815191529063c657c7189062005b78908590879060040162006c1f565b600060405180830381600087803b15801562005b9357600080fd5b505af115801562005ba8573d6000803e3d6000fd5b50505050915091565b60405162005bbf9062006027565b604051809103906000f08015801562005bdc573d6000803e3d6000fd5b50601e8054610100600160a81b0319166101006001600160a01b039384168102919091179182905590041663c4d66de862005c16620040c6565b6040518263ffffffff1660e01b815260040162005c34919062006042565b600060405180830381600087803b15801562005c4f57600080fd5b505af115801562000998573d6000803e3d6000fd5b6000816001600160a01b031663d8d11f78856000866000806000806000808c6001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562005cc1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005ce791906200702a565b6040518b63ffffffff1660e01b815260040162005d0e9a99989796959493929190620075f6565b602060405180830381865afa15801562005d2c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005d5291906200702a565b949350505050565b6000600160801b83111562005dc35760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b606482015260840162004d11565b600160801b821062005e175760405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b604482015260640162004d11565b60806001607f1b62005e2a848662006da8565b62005e36919062006ee5565b901c9392505050565b610e94806200767183390190565b611948806200850583390190565b6104ec8062009e4d83390190565b60405180610180016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200162005ee8604051806040016040528060008152602001606081525090565b815260200160006001600160a01b0316815260200160608152602001600015158152602001606081525090565b612083806200a33983390190565b6160f0806200c3bc83390190565b6170ea80620124ac83390190565b610731806201959683390190565b60405180610100016040528062005f856040518060800160405280600081526020016000815260200160008152602001600081525090565b8152602001600081526020016000815260200162005faf6040518060200160405280600081525090565b8152602001620060006040518060c0016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081525090565b8152600060208201819052604082015260609081015290565b6131a38062019cc783390190565b612b30806201ce6a83390190565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114620030fc57600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b0381118282101715620060a757620060a76200606c565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620060d857620060d86200606c565b604052919050565b60006001600160401b03821115620060fc57620060fc6200606c565b50601f01601f191660200190565b600082601f8301126200611c57600080fd5b8135620061336200612d82620060e0565b620060ad565b8181528460208386010111156200614957600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156200617d57600080fd5b84356200618a8162006056565b9350602085013592506040850135620061a38162006056565b915060608501356001600160401b03811115620061bf57600080fd5b620061cd878288016200610a565b91505092959194509250565b60008060408385031215620061ed57600080fd5b8235620061fa8162006056565b915060208301356200620c8162006056565b809150509250929050565b6000602082840312156200622a57600080fd5b8135620023658162006056565b600081518084526020808501945080840160005b83811015620062725781516001600160a01b0316875295820195908201906001016200624b565b509495945050505050565b60208152600062002365602083018462006237565b60005b83811015620062af57818101518382015260200162006295565b50506000910152565b60008151808452620062d281602086016020860162006292565b601f01601f19169290920160200192915050565b600081518084526020808501808196508360051b8101915082860160005b85811015620063325782840389526200631f848351620062b8565b9885019893509084019060010162006304565b5091979650505050505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015620063b257888303603f19018552815180516001600160a01b031684528701518784018790526200639e87850182620062e6565b958801959350509086019060010162006366565b509098975050505050505050565b600080600060608486031215620063d657600080fd5b8335620063e38162006056565b9250602084810135620063f68162006056565b925060408501356001600160401b03808211156200641357600080fd5b818701915087601f8301126200642857600080fd5b8135818111156200643d576200643d6200606c565b8060051b915062006450848301620060ad565b818152918301840191848101908a8411156200646b57600080fd5b938501935b83851015620064995784359250620064888362006056565b828252938501939085019062006470565b8096505050505050509250925092565b82815260406020820152600062005d526040830184620062b8565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156200656c57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015620065565783516001600160e01b0319168252928b019260019290920191908b01906200652a565b50978a01979550505091870191600101620064ec565b50919998505050505050505050565b6000806000606084860312156200659157600080fd5b83356200659e8162006056565b92506020840135915060408401356001600160401b03811115620065c157600080fd5b620065cf868287016200610a565b9150509250925092565b602081526000620023656020830184620062e6565b60038110620030fc57600080fd5b8035600481106200660c57600080fd5b919050565b600060c082840312156200662457600080fd5b6200662e62006082565b905081356200663d8162006056565b815260208201356200664f8162006056565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b6000806000806000806000806101a0898b031215620066a257600080fd5b8835620066af8162006056565b97506020890135620066c18162006056565b96506040890135620066d38162006056565b95506060890135620066e58162006056565b94506080890135620066f78162006056565b935060a08901356200670981620065ee565b92506200671960c08a01620065fc565b91506200672a8a60e08b0162006611565b90509295985092959890939650565b600080600080600060a086880312156200675257600080fd5b85356200675f8162006056565b9450602086013593506040860135620067788162006056565b925060608601356001600160401b038111156200679457600080fd5b620067a2888289016200610a565b95989497509295608001359392505050565b600060208284031215620067c757600080fd5b604051602081016001600160401b0381118282101715620067ec57620067ec6200606c565b6040529135825250919050565b600080600080600061014086880312156200681357600080fd5b8535620068208162006056565b945060208601356200683281620065ee565b93506200684260408701620065fc565b9250620068538760608801620067b4565b915062006864876080880162006611565b90509295509295909350565b634e487b7160e01b600052602160045260246000fd5b6003811062006899576200689962006870565b9052565b6004811062006899576200689962006870565b6000610200825180518552602081015160208601526040810151604086015260608101516060860152506020830151620068ee608086018262006886565b5060408301516200690360a08601826200689d565b506060838101515160c086015260808085015180516001600160a01b0390811660e089015260208201511661010088015260408101516101208801529182015161014087015281015161016086015260a090810151610180860152830151620069716101a086018262006035565b5060c0830151620069876101c086018262006035565b5060e0830151816101e0860152620069a28286018262006237565b95945050505050565b602081526000620023656020830184620068b0565b60008060008060008060008060006101c08a8c031215620069e057600080fd5b8935620069ed8162006056565b985060208a0135620069ff8162006056565b975060408a013562006a118162006056565b965060608a013562006a238162006056565b955060808a013562006a358162006056565b945060a08a013562006a4781620065ee565b935062006a5760c08b01620065fc565b925062006a688b60e08c01620067b4565b915062006a7a8b6101008c0162006611565b90509295985092959850929598565b6000806000806080858703121562006aa057600080fd5b5050823594602084013594506040840135936060013592509050565b60006020828403121562006acf57600080fd5b81356001600160401b0381111562006ae657600080fd5b62005d52848285016200610a565b80516200660c8162006056565b60006020828403121562006b1457600080fd5b8151620023658162006056565b634e487b7160e01b600052603260045260246000fd5b600061010080835262006b4d8184018b62006237565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b634e487b7160e01b600052601160045260246000fd5b60008262006bd257634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b03929092168252602082015260400190565b805180151581146200660c57600080fd5b60006020828403121562006c1457600080fd5b620023658262006bf0565b6001600160a01b038316815260406020820181905260009062005d5290830184620062b8565b600181811c9082168062006c5a57607f821691505b60208210810362004d1a57634e487b7160e01b600052602260045260246000fd5b80518252600060208201516040602085015262005d526040850182620062b8565b6020815262006cb060208201835162006035565b6000602083015162006cc6604084018262006035565b506040830151606083015260608301516080830152608083015160a083015260a083015162006cf960c084018262006035565b5060c083015162006d0e60e084018262006035565b5060e0830151610180610100818186015262006d2f6101a086018462006c7b565b9086015190925061012062006d478682018362006035565b80870151915050601f1961014081878603018188015262006d698584620062b8565b94508088015192505061016062006d838188018415159052565b87015186850390910183870152905062006d9e8382620062b8565b9695505050505050565b808202811582820484141762000cf45762000cf462006b9e565b80548252600060018083016020604081870152600082548181861c90508582168062006def57607f821691505b848210810362006e0d57634e487b7160e01b84526022600452602484fd5b60408a0182905260608a0181801562006e2f576001811462006e465762006e73565b60ff198516825283151560051b8201955062006e73565b60008881526020902060005b8581101562006e6d57815484820152908a0190880162006e52565b83019650505b50939a9950505050505050505050565b6001600160a01b038416815260606020820181905260009062006ea990830185620068b0565b828103604084015262006d9e818562006dc2565b6000806040838503121562006ed157600080fd5b8251915060208301516200620c8162006056565b8082018082111562000cf45762000cf462006b9e565b60208152815160208201526000602083015160018060a01b038082166040850152604085015160608501528060608601511660808501525050608083015160a08084015262005d5260c084018262006c7b565b60008060008060008060c0878903121562006f6857600080fd5b865162006f758162006056565b602088015190965062006f888162006056565b6040880151606089015160808a015160a0909a0151989b929a5090989097909650945092505050565b84815260a06020820152600062006fe660a08301600e81526d506f6f6c2050726f66696c65203160901b602082015260400190565b828103604084015262006ffa818762006c7b565b6001600160a01b0386166060850152838103608085015290506200701f818562006237565b979650505050505050565b6000602082840312156200703d57600080fd5b5051919050565b908152606060208201819052600090820181905260806040830181905282015260a00190565b6001600160e01b031991909116815260200190565b92835260208301919091526001600160a01b0316604082015260600190565b6000620070af6200612d84620060e0565b9050828152838383011115620070c457600080fd5b6200236583602083018462006292565b60008060008060008060c08789031215620070ee57600080fd5b8651620070fb8162006056565b60208801519096506001600160401b038111156200711857600080fd5b8701601f810189136200712a57600080fd5b6200713b898251602084016200709e565b95505060408701519350606087015192506080870151915060a0870151600281106200716657600080fd5b809150509295509295509295565b8181038181111562000cf45762000cf462006b9e565b602081526000620023656020830184620062b8565b6002811062006899576200689962006870565b6001600160a01b038b81168252602082018b905261014060408301819052600091620071e18483018d620062b8565b9150620071f2606085018c6200719f565b8960808501528860a08501528760c085015280871660e0850152808616610100850152508281036101208401526200722b8185620062b8565b9d9c50505050505050505050505050565b6001600160a01b03841681526060602082018190526000906200726290830185620062b8565b9050826040830152949350505050565b878152600060018060a01b03808916602084015260e060408401526200729c60e0840189620062b8565b818816606085015286608085015283810360a0850152620072be818762006dc2565b91505082810360c0840152620072d5818562006237565b9a9950505050505050505050565b600060208284031215620072f657600080fd5b81516200236581620065ee565b634e487b7160e01b600052600160045260246000fd5b6000600182016200732e576200732e62006b9e565b5060010190565b6000806000606084860312156200734b57600080fd5b835192506200735d6020850162006bf0565b91506200736d6040850162006bf0565b90509250925092565b600082601f8301126200738857600080fd5b62002365838351602085016200709e565b600060408284031215620073ac57600080fd5b604080519081016001600160401b038082118383101715620073d257620073d26200606c565b81604052829350845183526020850151915080821115620073f257600080fd5b50620074018582860162007376565b6020830152505092915050565b6000602082840312156200742157600080fd5b81516001600160401b03808211156200743957600080fd5b9083019060c082860312156200744e57600080fd5b6200745862006082565b82518152602083015160208201526040830151828111156200747957600080fd5b620074878782860162007376565b604083015250606083015182811115620074a057600080fd5b620074ae8782860162007399565b606083015250620074c26080840162006af4565b6080820152620074d560a0840162006af4565b60a082015295945050505050565b84815260a06020820152600960a08201526850726f66696c65203160b81b60c082015260e0604082015260006200751e60e083018662006c7b565b6001600160a01b038516606084015282810360808401526200701f818562006237565b84815260a06020820152600960a082015268283937b334b632901960b91b60c082015260e0604082015260006200751e60e083018662006c7b565b6000806000606084860312156200759257600080fd5b835160ff81168114620075a457600080fd5b602085015160409095015190969495509392505050565b821515815260406020820152600062005d526040830184620062b8565b60008251620075ec81846020870162006292565b9190910192915050565b6001600160a01b038b81168252602082018b905261014060408301819052600091620076258483018d620062b8565b925062007636606085018c6200719f565b60808401999099525060a082019690965260c081019490945291851660e0840152909316610100820152610120019190915294935050505056fe60806040523480156200001157600080fd5b5060405162000e9438038062000e94833981016040819052620000349162000134565b600062000042848262000248565b50600162000051838262000248565b506002805460ff191660ff9290921691909117905550620003149050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200009757600080fd5b81516001600160401b0380821115620000b457620000b46200006f565b604051601f8301601f19908116603f01168101908282118183101715620000df57620000df6200006f565b81604052838152602092508683858801011115620000fc57600080fd5b600091505b8382101562000120578582018301518183018401529082019062000101565b600093810190920192909252949350505050565b6000806000606084860312156200014a57600080fd5b83516001600160401b03808211156200016257600080fd5b620001708783880162000085565b945060208601519150808211156200018757600080fd5b50620001968682870162000085565b925050604084015160ff81168114620001ae57600080fd5b809150509250925092565b600181811c90821680620001ce57607f821691505b602082108103620001ef57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024357600081815260208120601f850160051c810160208610156200021e5750805b601f850160051c820191505b818110156200023f578281556001016200022a565b5050505b505050565b81516001600160401b038111156200026457620002646200006f565b6200027c81620002758454620001b9565b84620001f5565b602080601f831160018114620002b457600084156200029b5750858301515b600019600386901b1c1916600185901b1785556200023f565b600085815260208120601f198616915b82811015620002e557888601518255948401946001909101908401620002c4565b5085821015620003045787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610b7080620003246000396000f3fe608060405234801561001057600080fd5b50600436106100e65760003560e01c806306fdde03146100eb578063095ea7b31461010957806318160ddd1461012c57806323b872dd14610146578063313ce567146101595780633644e5151461016e578063395093511461017657806340c10f191461018957806370a082311461019e5780637ecebe00146101c457806395d89b41146101ea5780639dc29fac146101f2578063a457c2d714610205578063a9059cbb14610218578063d30ed3b31461022b578063d505accf1461023e578063dd62ed3e14610251578063f83d17911461027a575b600080fd5b6100f361028d565b604051610100919061092f565b60405180910390f35b61011c610117366004610999565b61031f565b6040519015158152602001610100565b6805345cdf77eb68f44c545b604051908152602001610100565b61011c6101543660046109c3565b610360565b60025460405160ff9091168152602001610100565b610138610385565b61011c610184366004610999565b6103fb565b61019c610197366004610999565b610416565b005b6101386101ac3660046109ff565b6387a211a2600c908152600091909152602090205490565b6101386101d23660046109ff565b6338377508600c908152600091909152602090205490565b6100f361042c565b61019c610200366004610999565b61043b565b61011c610213366004610999565b61044d565b61011c610226366004610999565b610461565b61019c6102393660046109c3565b610475565b61019c61024c366004610a1a565b610495565b61013861025f366004610a8d565b602052637f5e9f20600c908152600091909152603490205490565b61019c6102883660046109c3565b6105b1565b60606000805461029c90610ac0565b80601f01602080910402602001604051908101604052809291908181526020018280546102c890610ac0565b80156103155780601f106102ea57610100808354040283529160200191610315565b820191906000526020600020905b8154815290600101906020018083116102f857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b600061037d61036e856105cc565b610377856105cc565b846105db565b949350505050565b604051600061039261028d565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061040f610409846105cc565b83610687565b9392505050565b610428610422836105cc565b826106e7565b5050565b60606001805461029c90610ac0565b610428610447836105cc565b82610754565b600061040f61045b846105cc565b836107b9565b600061040f61046f846105cc565b8361081a565b610490610481846105cc565b61048a846105cc565b83610883565b505050565b600061049f610385565b9050604051854211156104ba57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105725763ddafbaef6000526004601cfd5b6303faf4f960a51b88176040526034602c208790558789600080516020610b1b833981519152602060608501a360405250506000606052505050505050565b6104906105bd846105cc565b6105c6846105cc565b836108c6565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c208054600019811461061b5780851115610615576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106445763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c600080516020610afb833981519152602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156106b95763f90670666000526004601cfd5b80835580600052505050602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b6805345cdf77eb68f44c548181018181101561070b5763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c6000600080516020610afb833981519152602080a35050565b6387a211a2600c52816000526020600c2080548083111561077d5763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c8054829003905560008181526001600160a01b038316600080516020610afb833981519152602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156107e857638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c33600080516020610b1b83398151915260206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156108455763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c33600080516020610afb833981519152602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146108bf57808311156108b9576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156108f15763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c600080516020610afb833981519152602080a350505050565b600060208083528351808285015260005b8181101561095c57858101830151858201604001528201610940565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461099457600080fd5b919050565b600080604083850312156109ac57600080fd5b6109b58361097d565b946020939093013593505050565b6000806000606084860312156109d857600080fd5b6109e18461097d565b92506109ef6020850161097d565b9150604084013590509250925092565b600060208284031215610a1157600080fd5b61040f8261097d565b600080600080600080600060e0888a031215610a3557600080fd5b610a3e8861097d565b9650610a4c6020890161097d565b95506040880135945060608801359350608088013560ff81168114610a7057600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610aa057600080fd5b610aa98361097d565b9150610ab76020840161097d565b90509250929050565b600181811c90821680610ad457607f821691505b602082108103610af457634e487b7160e01b600052602260045260246000fd5b5091905056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a2646970667358221220c55d78ffe9a4daf802ed6c15a39ccc3dba398ff280afd24434cb0f3846ea85e764736f6c6343000813003360a06040523060805234801561001457600080fd5b506080516118fc61004c60003960008181610360015281816103a9015281816104310152818161047101526104ed01526118fc6000f3fe6080604052600436106100ce5760003560e01c80631c3db16d146100d357806326a0754c146101155780633659cfe6146101585780634f1ef2861461017a57806352d1902d1461018d578063564a565d146101b05780635ea7b4fc146101e2578063715018a6146102025780637a1d37561461021757806388d5b732146102375780638da5cb5b14610257578063c13517e11461026c578063d98493f61461027f578063f2fde38b1461029f578063f6506db4146102bf578063f7434ea9146102da578063fe4b84df146102fd575b600080fd5b3480156100df57600080fd5b506100f36100ee366004611238565b61031d565b6040805193845291151560208401521515908201526060015b60405180910390f35b34801561012157600080fd5b5061014b610130366004611266565b6099602052600090815260409020546001600160a01b031681565b60405161010c9190611283565b34801561016457600080fd5b50610178610173366004611266565b610356565b005b6101786101883660046112ad565b610427565b34801561019957600080fd5b506101a26104e0565b60405190815260200161010c565b3480156101bc57600080fd5b506101d06101cb366004611238565b61058e565b60405161010c969594939291906113d6565b3480156101ee57600080fd5b506101786101fd366004611238565b61066c565b34801561020e57600080fd5b506101786106af565b34801561022357600080fd5b5061017861023236600461143d565b6106c3565b34801561024357600080fd5b50610178610252366004611266565b610901565b34801561026357600080fd5b5061014b610964565b6101a261027a3660046114be565b610973565b34801561028b57600080fd5b506101a261029a366004611509565b610aeb565b3480156102ab57600080fd5b506101786102ba366004611266565b610b26565b3480156102cb57600080fd5b506101a261029a366004611554565b3480156102e657600080fd5b506101a26102f53660046115ba565b505060975490565b34801561030957600080fd5b50610178610318366004611238565b610b9c565b60008060008060988581548110610336576103366115fb565b600091825260208220600460069092020101549690955085945092505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103a75760405162461bcd60e51b815260040161039e90611611565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103d9610cec565b6001600160a01b0316146103ff5760405162461bcd60e51b815260040161039e9061164b565b61040881610d08565b6040805160008082526020820190925261042491839190610d10565b50565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361046f5760405162461bcd60e51b815260040161039e90611611565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166104a1610cec565b6001600160a01b0316146104c75760405162461bcd60e51b815260040161039e9061164b565b6104d082610d08565b6104dc82826001610d10565b5050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461057b5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840161039e565b5060008051602061188083398151915290565b6098818154811061059e57600080fd5b6000918252602090912060069091020180546001820180546001600160a01b039092169350906105cd90611685565b80601f01602080910402602001604051908101604052809291908181526020018280546105f990611685565b80156106465780601f1061061b57610100808354040283529160200191610646565b820191906000526020600020905b81548152906001019060200180831161062957829003601f168201915b505050506002830154600384015460048501546005909501549394919390925060ff1686565b610674610e80565b60978190556040518181527fb1484c2bf00d94a00783b6081ebc5f5d02be4675f6eb8cf4c0c95bfe5a3f06ed9060200160405180910390a150565b6106b7610e80565b6106c16000610edf565b565b6001600160a01b0380821660009081526099602052604090205482911633036108be576000609885815481106106fb576106fb6115fb565b906000526020600020906006020190508060020154841115610730576040516309efd47960e41b815260040160405180910390fd5b6001600582015460ff16600181111561074b5761074b6113c0565b036107695760405163bda17d9560e01b815260040160405180910390fd5b6004810184905560058101805460ff19166001179055600381015460405160009133918381818185875af1925050503d80600081146107c4576040519150601f19603f3d011682016040523d82523d6000602084013e6107c9565b606091505b505090508061080c5760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161039e565b815460048084015460405163188d362b60e11b815291820189905260248201526001600160a01b039091169063311a6c5690604401600060405180830381600087803b15801561085b57600080fd5b505af115801561086f573d6000803e3d6000fd5b5050505085846001600160a01b03167f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e75622276876040516108af91815260200190565b60405180910390a350506108fb565b6001600160a01b038181166000908152609960205260409081902054905163d0774c9960e01b81523360048201529116602482015260440161039e565b50505050565b336000818152609960205260409081902080546001600160a01b0319166001600160a01b038516179055517f2b87bb26d58aa2d56b59c2b23a53a6959f68d4547492bda44fb5e68b0fa38b3f90610959908490611283565b60405180910390a250565b6033546001600160a01b031690565b600061097d610f31565b6097543410156109a05760405163e4216b3160e01b815260040160405180910390fd5b609880549050905060986040518060c00160405280336001600160a01b0316815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093855250505060208201889052346040830152606082018190526080909101528154600180820184556000938452602093849020835160069093020180546001600160a01b0319166001600160a01b03909316929092178255928201519192909190820190610a65908261170d565b5060408201516002820155606082015160038201556080820151600482015560a082015160058201805460ff191660018381811115610aa657610aa66113c0565b02179055505060405133915082907f141dfc18aa6a56fc816f44f0e9e2f1ebc92b15ab167770e17db5b084c10ed99590600090a3610ae46001606555565b9392505050565b60405162461bcd60e51b815260206004820152600d60248201526c139bdd081cdd5c1c1bdc9d1959609a1b604482015260009060640161039e565b610b2e610e80565b6001600160a01b038116610b935760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161039e565b61042481610edf565b600054610100900460ff1615808015610bbc5750600054600160ff909116105b80610bdd5750610bcb30610f8a565b158015610bdd575060005460ff166001145b610c405760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161039e565b6000805460ff191660011790558015610c63576000805461ff0019166101001790555b610c6b610f99565b60978290556040518281527fc05490fc8f8e095831ea3823f005dd0661528380328aa5c3b7348a45244223be9060200160405180910390a180156104dc576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600080516020611880833981519152546001600160a01b031690565b610424610e80565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610d4857610d4383610fc8565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610da2575060408051601f3d908101601f19168201909252610d9f918101906117cc565b60015b610e055760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161039e565b6000805160206118808339815191528114610e745760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161039e565b50610d43838383611062565b33610e89610964565b6001600160a01b0316146106c15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161039e565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600260655403610f835760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161039e565b6002606555565b6001600160a01b03163b151590565b600054610100900460ff16610fc05760405162461bcd60e51b815260040161039e906117e5565b6106c1611087565b610fd181610f8a565b6110335760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161039e565b60008051602061188083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61106b836110b7565b6000825111806110785750805b15610d43576108fb83836110f7565b600054610100900460ff166110ae5760405162461bcd60e51b815260040161039e906117e5565b6106c133610edf565b6110c081610fc8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610ae483836040518060600160405280602781526020016118a0602791396060600080856001600160a01b0316856040516111349190611830565b600060405180830381855af49150503d806000811461116f576040519150601f19603f3d011682016040523d82523d6000602084013e611174565b606091505b50915091506111858683838761118f565b9695505050505050565b606083156111fc5782516000036111f5576111a985610f8a565b6111f55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161039e565b5081611206565b611206838361120e565b949350505050565b81511561121e5781518083602001fd5b8060405162461bcd60e51b815260040161039e919061184c565b60006020828403121561124a57600080fd5b5035919050565b6001600160a01b038116811461042457600080fd5b60006020828403121561127857600080fd5b8135610ae481611251565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156112c057600080fd5b82356112cb81611251565b915060208301356001600160401b03808211156112e757600080fd5b818501915085601f8301126112fb57600080fd5b81358181111561130d5761130d611297565b604051601f8201601f19908116603f0116810190838211818310171561133557611335611297565b8160405282815288602084870101111561134e57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b8381101561138b578181015183820152602001611373565b50506000910152565b600081518084526113ac816020860160208601611370565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b038716815260c0602082018190526000906113fa90830188611394565b90508560408301528460608301528360808301526002831061142c57634e487b7160e01b600052602160045260246000fd5b8260a0830152979650505050505050565b60008060006060848603121561145257600080fd5b8335925060208401359150604084013561146b81611251565b809150509250925092565b60008083601f84011261148857600080fd5b5081356001600160401b0381111561149f57600080fd5b6020830191508360208285010111156114b757600080fd5b9250929050565b6000806000604084860312156114d357600080fd5b8335925060208401356001600160401b038111156114f057600080fd5b6114fc86828701611476565b9497909650939450505050565b60008060006040848603121561151e57600080fd5b83356001600160401b0381111561153457600080fd5b61154086828701611476565b909450925050602084013561146b81611251565b60008060008060006080868803121561156c57600080fd5b8535945060208601356001600160401b0381111561158957600080fd5b61159588828901611476565b90955093505060408601356115a981611251565b949793965091946060013592915050565b600080602083850312156115cd57600080fd5b82356001600160401b038111156115e357600080fd5b6115ef85828601611476565b90969095509350505050565b634e487b7160e01b600052603260045260246000fd5b6020808252602c9082015260008051602061186083398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061186083398151915260408201526b6163746976652070726f787960a01b606082015260800190565b600181811c9082168061169957607f821691505b6020821081036116b957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610d4357600081815260208120601f850160051c810160208610156116e65750805b601f850160051c820191505b81811015611705578281556001016116f2565b505050505050565b81516001600160401b0381111561172657611726611297565b61173a816117348454611685565b846116bf565b602080601f83116001811461176f57600084156117575750858301515b600019600386901b1c1916600185901b178555611705565b600085815260208120601f198616915b8281101561179e5788860151825594840194600190910190840161177f565b50858210156117bc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156117de57600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60008251611842818460208701611370565b9190910192915050565b602081526000610ae4602083018461139456fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212209aaf864e6b8d13947cef88666fa61198600c6e2482edc2b2c9a9b5d85494d7c764736f6c6343000813003360806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212204fe6c3c3dccfaea0fd10fdd343631403db3c1555c6576ad816deaaa45c9f926764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656460a06040523060805234801561001457600080fd5b5060805161203761004c6000396000818161072c0152818161076f015281816108000152818161084301526108c801526120376000f3fe608060405260043610620001345760003560e01c806302c1d0b114620001395780630a992e0c14620001735780631459457a14620001a75780631b71f0e414620001ce5780633659cfe614620001f35780634f1ef286146200021857806352d1902d146200022f5780635a2c8ace14620002475780635c94e4d2146200026c5780635decae02146200028e578063715018a614620002b357806377122d5614620002cb5780638279c7db14620002ed5780638da5cb5b1462000312578063987435be146200032a578063affed0e0146200034a578063b0d3713a1462000362578063b5b3ca2c1462000387578063b8bed90114620003ac578063beb331a314620003ce578063c4d66de814620003f3578063f2fde38b1462000418578063f5016b5e146200043d578063ffa1ad74146200048e575b600080fd5b3480156200014657600080fd5b506068546200015b906001600160a01b031681565b6040516200016a919062001333565b60405180910390f35b3480156200018057600080fd5b5062000198620001923660046200136f565b620004ce565b6040519081526020016200016a565b348015620001b457600080fd5b50620001cc620001c63660046200138f565b62000534565b005b348015620001db57600080fd5b50620001cc620001ed3660046200136f565b620006f6565b3480156200020057600080fd5b50620001cc620002123660046200136f565b62000722565b620001cc62000229366004620014c9565b620007f6565b3480156200023c57600080fd5b5062000198620008bb565b3480156200025457600080fd5b50620001cc6200026636600462001544565b6200096c565b3480156200027957600080fd5b506069546200015b906001600160a01b031681565b3480156200029b57600080fd5b50620001cc620002ad3660046200136f565b620009dd565b348015620002c057600080fd5b50620001cc62000a09565b348015620002d857600080fd5b50606a546200015b906001600160a01b031681565b348015620002fa57600080fd5b50620001cc6200030c3660046200136f565b62000a21565b3480156200031f57600080fd5b506200015b62000a7d565b3480156200033757600080fd5b506067546001600160a01b03166200015b565b3480156200035757600080fd5b506200019860655481565b3480156200036f57600080fd5b50620001cc620003813660046200136f565b62000b1a565b3480156200039457600080fd5b50620001cc620003a63660046200157e565b62000b46565b348015620003b957600080fd5b506067546200015b906001600160a01b031681565b348015620003db57600080fd5b506200015b620003ed36600462001645565b62000ba2565b3480156200040057600080fd5b50620001cc620004123660046200136f565b62000ce3565b3480156200042557600080fd5b50620001cc620004373660046200136f565b62000d5b565b3480156200044a57600080fd5b506200047d6200045c3660046200136f565b6001600160a01b031660009081526066602052604090206001015460ff1690565b60405190151581526020016200016a565b3480156200049b57600080fd5b50620004bf604051806040016040528060038152602001620302e360ec1b81525081565b6040516200016a9190620017f4565b6001600160a01b03811660009081526066602052604081206001015460ff1662000518578160405163f5a6943d60e01b81526004016200050f919062001333565b60405180910390fd5b506001600160a01b031660009081526066602052604090205490565b600054610100900460ff1615808015620005555750600054600160ff909116105b806200057a5750620005673062000dcc565b1580156200057a575060005460ff166001145b620005df5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200050f565b6000805460ff19166001179055801562000603576000805461ff0019166101001790555b6200060e8662000ce3565b60006065556200061e8562000ddb565b620006298462000ddb565b620006348262000ddb565b606780546001600160a01b038088166001600160a01b0319928316179092556068805487841690831617905560698054868416908316179055606a80549285169290911691909117905560405160008051602062001fe2833981519152906200069f90879062001333565b60405180910390a18015620006ee576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b6200070062000e03565b606980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036200076d5760405162461bcd60e51b81526004016200050f9062001809565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620007a162000e66565b6001600160a01b031614620007ca5760405162461bcd60e51b81526004016200050f9062001844565b620007d58162000e83565b60408051600080825260208201909252620007f39183919062000ed5565b50565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620008415760405162461bcd60e51b81526004016200050f9062001809565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200087562000e66565b6001600160a01b0316146200089e5760405162461bcd60e51b81526004016200050f9062001844565b620008a98262000e83565b620008b78282600162000ed5565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620009585760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016200050f565b5060008051602062001f9b83398151915290565b6200097662000e03565b6001600160a01b038216600081815260666020908152604091829020600101805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b620009e762000e03565b606880546001600160a01b0319166001600160a01b0392909216919091179055565b62000a1362000e03565b62000a1f600062001052565b565b62000a2b62000e03565b62000a368162000ddb565b606780546001600160a01b0319166001600160a01b03831617905560405160008051602062001fe28339815191529062000a7290839062001333565b60405180910390a150565b60008062000a936033546001600160a01b031690565b9050806001600160a01b03163b60000362000aad57919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000b0a575060408051601f3d908101601f1916820190925262000b07918101906200187f565b60015b62000b1457919050565b92915050565b62000b2462000e03565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b62000b5062000e03565b6001600160a01b038216600081815260666020908152604091829020849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c9101620009d1565b606580546000918262000bb5836200189f565b9091555060808301523060a0830152606854606954606a546000926001600160a01b0390811692633419635560e01b928792918216911662000bf662000a7d565b60405160240162000c0b9493929190620018e8565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905162000c4a9062001318565b62000c5792919062001a30565b604051809103906000f08015801562000c74573d6000803e3d6000fd5b506001600160a01b038116600090815260666020526040908190206001908101805460ff191690911790555190915081907fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc299062000cd490839062001333565b60405180910390a19392505050565b600054610100900460ff1662000d505760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200050f565b620007f38162001052565b62000d6562000e03565b6001600160a01b03811662000d505760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016200050f565b6001600160a01b03163b151590565b6001600160a01b038116620007f3576040516303988b8160e61b815260040160405180910390fd5b3362000e0e62000a7d565b6001600160a01b03161462000a1f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200050f565b60008051602062001f9b833981519152546001600160a01b031690565b3362000e8e62000a7d565b6001600160a01b031614620007f3573362000ea862000a7d565b60405163163678e960e01b81526001600160a01b039283166004820152911660248201526044016200050f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000f105762000f0b83620010a4565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000f6d575060408051601f3d908101601f1916820190925262000f6a9181019062001a56565b60015b62000fd25760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016200050f565b60008051602062001f9b8339815191528114620010445760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016200050f565b5062000f0b83838362001143565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b620010af8162000dcc565b620011135760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016200050f565b60008051602062001f9b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6200114e8362001174565b6000825111806200115c5750805b1562000f0b576200116e8383620011b6565b50505050565b6200117f81620010a4565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620011de838360405180606001604052806027815260200162001fbb60279139620011e5565b9392505050565b6060600080856001600160a01b03168560405162001204919062001a70565b600060405180830381855af49150503d806000811462001241576040519150601f19603f3d011682016040523d82523d6000602084013e62001246565b606091505b5091509150620012598683838762001263565b9695505050505050565b60608315620012d7578251600003620012cf57620012818562000dcc565b620012cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200050f565b5081620012e3565b620012e38383620012eb565b949350505050565b815115620012fc5781518083602001fd5b8060405162461bcd60e51b81526004016200050f9190620017f4565b6104ec8062001a8f83390190565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114620007f357600080fd5b80356200136a8162001347565b919050565b6000602082840312156200138257600080fd5b8135620011de8162001347565b600080600080600060a08688031215620013a857600080fd5b8535620013b58162001347565b94506020860135620013c78162001347565b93506040860135620013d98162001347565b92506060860135620013eb8162001347565b91506080860135620013fd8162001347565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b03811182821017156200144757620014476200140b565b60405290565b60006001600160401b03808411156200146a576200146a6200140b565b604051601f8501601f19908116603f011681019082821181831017156200149557620014956200140b565b81604052809350858152868686011115620014af57600080fd5b858560208301376000602087830101525050509392505050565b60008060408385031215620014dd57600080fd5b8235620014ea8162001347565b915060208301356001600160401b038111156200150657600080fd5b8301601f810185136200151857600080fd5b62001529858235602084016200144d565b9150509250929050565b803580151581146200136a57600080fd5b600080604083850312156200155857600080fd5b8235620015658162001347565b9150620015756020840162001533565b90509250929050565b600080604083850312156200159257600080fd5b82356200159f8162001347565b946020939093013593505050565b600082601f830112620015bf57600080fd5b620011de838335602085016200144d565b600060408284031215620015e357600080fd5b604080519081016001600160401b0380821183831017156200160957620016096200140b565b816040528293508435835260208501359150808211156200162957600080fd5b506200163885828601620015ad565b6020830152505092915050565b6000602082840312156200165857600080fd5b81356001600160401b03808211156200167057600080fd5b9083019061018082860312156200168657600080fd5b6200169062001421565b6200169b836200135d565b8152620016ab602084016200135d565b6020820152604083013560408201526060830135606082015260808301356080820152620016dc60a084016200135d565b60a0820152620016ef60c084016200135d565b60c082015260e0830135828111156200170757600080fd5b6200171587828601620015d0565b60e0830152506101006200172b8185016200135d565b9082015261012083810135838111156200174457600080fd5b6200175288828701620015ad565b8284015250506101406200176881850162001533565b9082015261016083810135838111156200178157600080fd5b6200178f88828701620015ad565b918301919091525095945050505050565b60005b83811015620017bd578181015183820152602001620017a3565b50506000910152565b60008151808452620017e0816020860160208601620017a0565b601f01601f19169290920160200192915050565b602081526000620011de6020830184620017c6565b6020808252602c9082015260008051602062001f7b83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602062001f7b83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156200189257600080fd5b8151620011de8162001347565b600060018201620018c057634e487b7160e01b600052601160045260246000fd5b5060010190565b805182526000602082015160406020850152620012e36040850182620017c6565b60808152620018fc60808201865162001326565b600060208601516200191260a084018262001326565b50604086015160c0830152606086015160e08301526080860151610100818185015260a088015191506101206200194c8186018462001326565b60c08901519250610140620019648187018562001326565b60e08a01519350610180610160818189015262001986610200890187620018c7565b948c01519495506200199b8883018662001326565b838c01519450607f19935083888703016101a0890152620019bd8686620017c6565b9550828c01519450620019d56101c089018615159052565b808c0151945050505080858403016101e086015250620019f68282620017c6565b9250505062001a09602083018662001326565b62001a18604083018562001326565b62001a27606083018462001326565b95945050505050565b6001600160a01b0383168152604060208201819052600090620012e390830184620017c6565b60006020828403121562001a6957600080fd5b5051919050565b6000825162001a84818460208701620017a0565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212204fe6c3c3dccfaea0fd10fdd343631403db3c1555c6576ad816deaaa45c9f926764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656446756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9da264697066735822122089d3dae0234b2496de7a09d7fb68a80f20abfdea75ba20a288c0b016cea6a24264736f6c6343000813003360a06040523060805234801561001457600080fd5b506080516160a36200004d60003960008181611e4301528181611e8601528181611f8101528181611fc4015261211601526160a36000f3fe608060405260043610620003445760003560e01c806301ffc9a714620003495780630331383c146200038357806308386eba14620003a45780630d12bbdb14620003bc5780630d4a8b4914620003e3578063175188e814620004085780631b71f0e4146200042d5780631f787d281462000452578063223e5479146200046d57806322bcf9991462000492578063248a9ca314620004b757806328c309e914620004dc5780632b38c69c14620004f45780632c611c4a14620005285780632f2ff15d146200056657806331f61bca146200058b5780633396045914620005b05780633419635514620005c85780633517aa7d14620005ed57806336568abe14620006055780633659cfe6146200062a578063397e2543146200064f5780633a871fe11462000674578063477a5cc014620006a95780634f1ef28614620006e9578063524e59e8146200070057806352d1902d1462000743578063559de05d146200075b578063579eb7e514620007805780635c94e4d214620007a55780635ecf71c514620007c857806365e3864c14620007ed5780636871eb4d146200082a57806368decabb146200084f5780636c53db9a1462000872578063715018a6146200089557806373265c3714620008ad578063733a2d1f14620008d257806377122d5614620008f75780637817ee4f146200091a57806378a0b8a914620009655780637b103999146200097d57806382d6a1e714620009a05780638659ffdd14620009c557806388cfe68414620009ea5780638961be6b1462000a605780638da5cb5b1462000a7857806391d148541462000a90578063a0cf0aea1462000ab5578063a217fddf1462000adf578063a230c5241462000af6578063b0d3713a1462000b1b578063b3f006741462000b40578063b5058c501462000b67578063b64e39af1462000b7f578063b99b43701462000ba6578063bc063e1a1462000bbe578063c4d66de81462000bd6578063c6d572ae1462000bfb578063d547741f1462000c13578063d6d8428d1462000c38578063d7050f071462000c5b578063db61d65c1462000c73578063e16d0e321462000c96578063ebd7dc521462000cbb578063f2fde38b1462000ce0578063f86c5f891462000d05578063ffa1ad741462000d28575b600080fd5b3480156200035657600080fd5b506200036e6200036836600462004538565b62000d59565b60405190151581526020015b60405180910390f35b3480156200039057600080fd5b5060fb545b6040519081526020016200037a565b348015620003b157600080fd5b506200039560fe5481565b348015620003c957600080fd5b50620003e1620003db36600462004564565b62000d91565b005b348015620003f057600080fd5b50620003e162000402366004620045a6565b62000e07565b3480156200041557600080fd5b50620003e162000427366004620045e4565b6200118a565b3480156200043a57600080fd5b50620003e16200044c366004620045e4565b620011a2565b3480156200045f57600080fd5b5060ff80546200036e911681565b3480156200047a57600080fd5b50620003e16200048c366004620045e4565b620011cf565b3480156200049f57600080fd5b50620003e1620004b1366004620045a6565b620011e4565b348015620004c457600080fd5b5062000395620004d636600462004564565b620012de565b348015620004e957600080fd5b5062000395620012f3565b3480156200050157600080fd5b50620005196200051336600462004604565b620013f8565b6040516200037a919062004640565b3480156200053557600080fd5b506200039562000547366004620045e4565b6001600160a01b0316600090815261010c602052604090206001015490565b3480156200057357600080fd5b50620003e16200058536600462004654565b62001432565b3480156200059857600080fd5b50620003e1620005aa36600462004564565b62001459565b348015620005bd57600080fd5b506200039560fd5481565b348015620005d557600080fd5b50620003e1620005e736600462004864565b62001499565b348015620005fa57600080fd5b50620003e162001b59565b3480156200061257600080fd5b50620003e16200062436600462004654565b62001dbb565b3480156200063757600080fd5b50620003e162000649366004620045e4565b62001e39565b3480156200065c57600080fd5b50620003e16200066e366004620045e4565b62001f0a565b3480156200068157600080fd5b506200036e62000693366004620045e4565b61010a6020526000908152604090205460ff1681565b348015620006b657600080fd5b506200036e620006c8366004620045a6565b61010e60209081526000928352604080842090915290825290205460ff1681565b620003e1620006fa366004620049f7565b62001f77565b3480156200070d57600080fd5b50620007256200071f36600462004c7b565b62002038565b604080519283526001600160a01b039091166020830152016200037a565b3480156200075057600080fd5b506200039562002109565b3480156200076857600080fd5b50620003e16200077a36600462004564565b620021ba565b3480156200078d57600080fd5b50620007256200079f36600462004e5c565b62002406565b348015620007b257600080fd5b506101025462000519906001600160a01b031681565b348015620007d557600080fd5b50620003e1620007e736600462004564565b6200266e565b348015620007fa57600080fd5b50620003956200080c366004620045a6565b61010b60209081526000928352604080842090915290825290205481565b3480156200083757600080fd5b50620003e162000849366004620045a6565b62002a08565b3480156200085c57600080fd5b506101035462000519906001600160a01b031681565b3480156200087f57600080fd5b506101065462000519906001600160a01b031681565b348015620008a257600080fd5b50620003e162002b5b565b348015620008ba57600080fd5b50620003e1620008cc36600462004564565b62002b71565b348015620008df57600080fd5b506200039560008051602062005fe783398151915281565b3480156200090457600080fd5b506101015462000519906001600160a01b031681565b3480156200092757600080fd5b506200039562000939366004620045a6565b6001600160a01b03918216600090815261010b6020908152604080832093909416825291909152205490565b3480156200097257600080fd5b506200039560fb5481565b3480156200098a57600080fd5b506101045462000519906001600160a01b031681565b348015620009ad57600080fd5b50620003e1620009bf36600462004564565b62002c0d565b348015620009d257600080fd5b5062000725620009e436600462004ed0565b62002ccb565b348015620009f757600080fd5b5062000a3862000a09366004620045e4565b61010c602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016200037a565b34801562000a6d57600080fd5b506200039560fc5481565b34801562000a8557600080fd5b506200051962002e58565b34801562000a9d57600080fd5b506200036e62000aaf36600462004654565b62002ef3565b34801562000ac257600080fd5b506200051973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801562000aec57600080fd5b5062000395600081565b34801562000b0357600080fd5b506200036e62000b15366004620045e4565b62002f1e565b34801562000b2857600080fd5b50620003e162000b3a366004620045e4565b62002f68565b34801562000b4d57600080fd5b5060ff54620005199061010090046001600160a01b031681565b34801562000b7457600080fd5b50620003e162002f95565b34801562000b8c57600080fd5b5062000b9762002fcc565b6040516200037a919062004fb7565b34801562000bb357600080fd5b50620003e162003063565b34801562000bcb57600080fd5b50620003956200316d565b34801562000be357600080fd5b50620003e162000bf5366004620045e4565b6200317f565b34801562000c0857600080fd5b5062000b97620031b4565b34801562000c2057600080fd5b50620003e162000c3236600462004654565b620031c4565b34801562000c4557600080fd5b506101075462000519906001600160a01b031681565b34801562000c6857600080fd5b506200039561271081565b34801562000c8057600080fd5b506101055462000519906001600160a01b031681565b34801562000ca357600080fd5b506200072562000cb536600462004fcc565b620031e6565b34801562000cc857600080fd5b506200036e62000cda366004620045e4565b620032a7565b34801562000ced57600080fd5b50620003e162000cff366004620045e4565b620032c4565b34801562000d1257600080fd5b506101005462000519906001600160a01b031681565b34801562000d3557600080fd5b5062000b97604051806040016040528060038152602001620302e360ec1b81525081565b60006001600160e01b03198216637965db0b60e01b148062000d8b57506301ffc9a760e01b6001600160e01b03198316145b92915050565b62000d9b62003335565b62000daa612710600a62005055565b81111562000dcb5760405163fe925f7d60e01b815260040160405180910390fd5b60fc8190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b62000e1162003372565b62000e1c82620033cd565b62000e2781620033f6565b62000e328162003431565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff161562000e7b57604051636adcde4b60e11b815260040160405180910390fd5b6001600160a01b03808316600090815261010c602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff1615159183019190915260fb546003846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000f09573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f2f919062005085565b600381111562000f435762000f436200506f565b0362000fc85760405163782aadff60e01b81526001600160a01b0385169063782aadff9062000f7a908890600090600401620050a5565b6020604051808303816000875af115801562000f9a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fc09190620050be565b9050620010c4565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af11580156200100b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001031919062005085565b60038111156200104557620010456200506f565b14620010c45760405163782aadff60e01b81526001600160a01b0385169063782aadff906200107b9088908690600401620050a5565b6020604051808303816000875af11580156200109b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010c19190620050be565b90505b6001600160a01b03808616600081815261010b6020908152604080832094891680845294825280832086905583835261010e82528083208584528252808320805460ff1916600190811790915593835261010d8252808320805494850181558352912090910180546001600160a01b031916909217909155517ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec906200117090879087908590620050d8565b60405180910390a1505050620011866001606555565b5050565b6200119462003335565b6200119f8162003460565b50565b620011ac620034be565b61010280546001600160a01b0319166001600160a01b0392909216919091179055565b620011d962003335565b6200119f8162003521565b620011ef82620033cd565b620011fa8162003431565b620012063382620035b3565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff166200124e57604051633048da7760e21b815260040160405180910390fd5b6001600160a01b03808316600081815261010e60209081526040808320948616808452948252808320805460ff1916905592825261010b815282822093825292909252812055620012a08282620035e6565b7ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b8282604051620012d2929190620050fc565b60405180910390a15050565b600090815260c9602052604090206001015490565b610100546000906001600160a01b03168162001313612710606462005055565b60fc5460fb5462001325919062005055565b62001331919062005116565b9050600062001344612710606462005055565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c906200137290309060040162004640565b602060405180830381865afa15801562001390573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013b69190620050be565b60fb54620013c5919062005055565b620013d1919062005116565b9050808260fb54620013e4919062005139565b620013f0919062005139565b935050505090565b61010d60205281600052604060002081815481106200141657600080fd5b6000918252602090912001546001600160a01b03169150829050565b6200143d82620012de565b62001448816200371c565b62001454838362003728565b505050565b6200146362003335565b60fb8190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f9060200162000dfc565b600054610100900460ff1615808015620014ba5750600054600160ff909116105b80620014df5750620014cc30620037b2565b158015620014df575060005460ff166001145b620015485760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156200156c576000805461ff0019166101001790555b62001577826200317f565b62001581620037c1565b6200158b620037f5565b620015a760008051602062005fe783398151915260006200381f565b620015b6856020015162003431565b620015c685610100015162003431565b8451620015d39062003431565b620015e28560a0015162003431565b606085015115620015fc57620015fc8560c0015162003431565b845161010780546001600160a01b039283166001600160a01b03199182161790915560208701516101058054919093169116179055604085015160000362001657576040516363868c5560e11b815260040160405180910390fd5b604085015160fb55606085015160fc5561014085015160ff805460ff191691151591909117905561012085015161010890620016949082620051dd565b5061016085015161010990620016ab9082620051dd565b5060a085015161010080546001600160a01b03199081166001600160a01b0393841617825560c088015160ff8054610100600160a81b0319169185168402919091179055908701516101068054909216928116929092179055620017209060008051602062005fe78339815191529062003728565b61010760009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001775573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200179b9190620052a9565b61010480546001600160a01b0319166001600160a01b0392831617905561010654606091163b60000362001827576040805160038082526080820190925290602082016060803683370190505090503381600081518110620018015762001801620052c9565b60200260200101906001600160a01b031690816001600160a01b03168152505062001964565b610106546040805163a0e67e2b60e01b815290516000926001600160a01b03169163a0e67e2b91600480830192869291908290030181865afa15801562001872573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200189c9190810190620052df565b905080516002620018ae919062005139565b6001600160401b03811115620018c857620018c86200467c565b604051908082528060200260200182016040528015620018f2578160200160208202803683370190505b50915060005b81518110156200196157818181518110620019175762001917620052c9565b6020026020010151838281518110620019345762001934620052c9565b6001600160a01b039092166020928302919091019091015280620019588162005378565b915050620018f8565b50505b6101065481516001600160a01b03909116908290620019869060019062005394565b81518110620019995762001999620052c9565b60200260200101906001600160a01b031690816001600160a01b031681525050308160028351620019cb919062005394565b81518110620019de57620019de620052c9565b6001600160a01b03928316602091820292909201015261010454608088015160e0890151604051633a92f65f60e01b81529290931692633a92f65f9262001a319291610108913090889060040162005496565b6020604051808303816000875af115801562001a51573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001a779190620050be565b60fe55805162001a909061010f90602084019062004492565b5061010280546001600160a01b038088166001600160a01b03199283161790925561010180549287169290911691909117905560fe5460e08701516040517f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed032059262001b029290916101089190620054f6565b60405180910390a150801562001b52576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b62001b6362003372565b33600081815261010c602052604081206101005490916001600160a01b039091169062001b94612710606462005055565b60fc5460fb5462001ba6919062005055565b62001bb2919062005116565b9050600062001bc5612710606462005055565b6040516302a64b8360e21b81526001600160a01b03851690630a992e0c9062001bf390309060040162004640565b602060405180830381865afa15801562001c11573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001c379190620050be565b60fb5462001c46919062005055565b62001c52919062005116565b905062001c5f8562002f1e565b62001da95760028401805460ff1916600190811790915560fb5490850181905562001cb99086903090849062001c9790879062005139565b62001ca3919062005139565b610105546001600160a01b031692919062003874565b811562001ce65760ff546101055462001ce6916001600160a01b03918216916101009091041684620038d0565b801562001d6b5762001d6b836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001d30573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001d569190620052a9565b610105546001600160a01b03169083620038d0565b7f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f76898560fb5460405162001da0929190620050a5565b60405180910390a15b505050505062001db96001606555565b565b6001600160a01b038116331462001e2d5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016200153f565b620011868282620038f2565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001e845760405162461bcd60e51b81526004016200153f9062005525565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001eb86200395c565b6001600160a01b03161462001ee15760405162461bcd60e51b81526004016200153f9062005560565b62001eec8162003979565b604080516000808252602082019092526200119f91839190620039bb565b62001f1462003335565b62001f1f8162003431565b61010380546001600160a01b0319166001600160a01b03838116918217909255610106546040517f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89362000dfc9392169190620050fc565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001fc25760405162461bcd60e51b81526004016200153f9062005525565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001ff66200395c565b6001600160a01b0316146200201f5760405162461bcd60e51b81526004016200153f9062005560565b6200202a8262003979565b6200118682826001620039bb565b610102546101075461010154600092839283926001600160a01b039283169263184b955960e01b92811691166200206e62002e58565b60405160240162002082939291906200559b565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051620020c190620044f8565b620020ce929190620055be565b604051809103906000f080158015620020eb573d6000803e3d6000fd5b509050620020fc81878787620031e6565b9250925050935093915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620021a65760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016200153f565b506000805160206200602783398151915290565b620021c462003372565b620021ce62003b33565b33600081815261010d60209081526040808320805482518185028101850190935280835291929091908301828280156200223257602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162002213575b50505050509050600080600090505b82518110156200236d57828181518110620022605762002260620052c9565b60200260200101516001600160a01b031663782aadff85876040518363ffffffff1660e01b815260040162002297929190620050a5565b6020604051808303816000875af1158015620022b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620022dd9190620050be565b9150811562002358576001600160a01b038416600090815261010b602052604081208451849290869085908110620023195762002319620052c9565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600082825462002352919062005139565b90915550505b80620023648162005378565b91505062002241565b506101055462002389906001600160a01b031684308762003874565b6001600160a01b038316600090815261010c602052604081206001018054869290620023b790849062005139565b90915550506040517f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f90620023f09085908790620050a5565b60405180910390a15050506200119f6001606555565b610102546101075461010154600092839283926001600160a01b039283169263184b955960e01b92811691166200243c62002e58565b60405160240162002450939291906200559b565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516200248f90620044f8565b6200249c929190620055be565b604051809103906000f080158015620024b9573d6000803e3d6000fd5b509050620024ca8187878762002ccb565b60c087015191945092506001600160a01b0316620025d5576103e88560e00151511115620025535760405162461bcd60e51b815260206004820152602f60248201527f546f6f206d616e7920696e697469616c20616c6c6f776c697374206d656d626560448201526e072732c206d6178206973203130303608c1b60648201526084016200153f565b600083604051602001620025689190620055e4565b60405160208183030381529060405280519060200120905060005b8660e0015151811015620025d257620025bd828860e001518381518110620025af57620025af620052c9565b602002602001015162003728565b80620025c98162005378565b91505062002583565b50505b6200263183604051602001620025ec9190620055e4565b604051602081830303815290604052805190602001208460405160200162002615919062005601565b604051602081830303815290604052805190602001206200381f565b620026658360405160200162002648919062005601565b604051602081830303815290604052805190602001208362003728565b50935093915050565b6200267862003372565b6200268262003b33565b33600081815261010d6020908152604080832060fb5461010c9093529083206001015490929190620026b690869062005394565b1015620026d657604051634e23e81760e11b815260040160405180910390fd5b61010554620026f0906001600160a01b03168486620038d0565b60005b8254811015620029a0576000838281548110620027145762002714620052c9565b6000918252602090912001546001600160a01b031690506200273e8163f1801e6160e01b62003b5c565b15620028c457604051632ed04b2b60e01b81526001600160a01b03821690632ed04b2b90620027749088908a90600401620050a5565b6020604051808303816000875af115801562002794573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620027ba9190620050be565b9250600061010b6000876001600160a01b03166001600160a01b031681526020019081526020016000206000868581548110620027fb57620027fb620052c9565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156200284f576040516311423e6360e31b815260048101859052602481018290526044016200153f565b6001600160a01b038616600090815261010b602052604081208654869290889087908110620028825762002882620052c9565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190620028b890849062005394565b9091555050506200298a565b83548490620028d69060019062005394565b81548110620028e957620028e9620052c9565b9060005260206000200160009054906101000a90046001600160a01b03168483815481106200291c576200291c620052c9565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550838054806200295d576200295d62005624565b600082815260209020810160001990810180546001600160a01b03191690550190556200298a8162003460565b5080620029978162005378565b915050620026f3565b506001600160a01b038316600090815261010c602052604081206001018054869290620029cf90849062005394565b90915550506040517f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff890620023f09085908790620050a5565b62002a1262003372565b62002a1c62003335565b60ff80541662002a3f576040516365b1ee3960e11b815260040160405180910390fd5b62002a4a8262002f1e565b62002a6857604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159082015262002ab98362003b84565b6001600160a01b03808416600090815261010c60209081526040822080546001600160a01b031916815560018101929092556002909101805460ff191690558201516101055462002b0e9216908490620038d0565b7fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a38383836020015160405162002b4793929190620050d8565b60405180910390a150620011866001606555565b62002b65620034be565b62001db9600062003c99565b62002b7b62003335565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801562002bc7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002bf191908101906200563a565b60200151905062002c028162003431565b620011868162003460565b62002c1762003335565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801562002c63573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002c8d91908101906200563a565b60200151905062002c9e8162003431565b62002cba6001600160a01b03821663f1801e6160e01b62003b5c565b156200118657620011868162003521565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0386161562002cf65750845b869150600061010f80548060200260200160405190810160405280929190818152602001828054801562002d5457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162002d35575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062002d8c908b9060200162005805565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b815260040162002dc49796959493929190620058ae565b6020604051808303816000875af115801562002de4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e0a9190620050be565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a8960405162002e459594939291906200591f565b60405180910390a1505094509492505050565b60008062002e6e6033546001600160a01b031690565b9050806001600160a01b03163b60000362002e8857919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562002ee5575060408051601f3d908101601f1916820190925262002ee291810190620052a9565b60015b62000d8b57919050565b5090565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6001600160a01b03908116600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b62002f72620034be565b61010180546001600160a01b0319166001600160a01b0392909216919091179055565b610103546001600160a01b0316331462002fc2576040516375e686b760e11b815260040160405180910390fd5b62001db962003ceb565b610109805462002fdc906200514f565b80601f01602080910402602001604051908101604052809291908181526020018280546200300a906200514f565b80156200305b5780601f106200302f576101008083540402835291602001916200305b565b820191906000526020600020905b8154815290600101906020018083116200303d57829003601f168201915b505050505081565b6200306d62003372565b336200307981620033cd565b620030848162003b84565b6001600160a01b03808216600081815261010c602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945561010d90529182209091620030ff919062004506565b60208101516101055462003121916001600160a01b03909116908490620038d0565b7fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f482826020015160405162003158929190620050a5565b60405180910390a1505062001db96001606555565b6200317c612710600a62005055565b81565b600054610100900460ff16620031a95760405162461bcd60e51b81526004016200153f906200595b565b6200119f8162003c99565b610108805462002fdc906200514f565b620031cf82620012de565b620031da816200371c565b620014548383620038f2565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b03861615620032115750845b869150600061010f8054806020026020016040519081016040528092919081815260200182805480156200326f57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003250575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062002d8c908b90602001620059a6565b600062000d8b60008051602062005fe78339815191528362002ef3565b620032ce620034be565b6001600160a01b038116620031a95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016200153f565b6200335060008051602062005fe78339815191523362002ef3565b62001db9573360405163fc4be72f60e01b81526004016200153f919062004640565b600260655403620033c65760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016200153f565b6002606555565b620033d88162002f1e565b6200119f57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090205460ff166200119f576040516346c26e4b60e01b815260040160405180910390fd5b6001600160a01b0381166200119f576040516303988b8160e61b815260040160405180910390fd5b6001606555565b6200346b8162003431565b6001600160a01b038116600090815261010a602052604090819020805460ff19169055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49062000dfc90839062004640565b33620034c962002e58565b6001600160a01b03161462001db95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200153f565b6001600160a01b038116600090815261010a602052604090205460ff16156200355d576040516325a2934b60e21b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090819020805460ff19166001179055517f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19062000dfc90839062004640565b806001600160a01b0316826001600160a01b031614620011865760405163bbe7961160e01b815260040160405180910390fd5b6001600160a01b038216600090815261010d60205260408120905b81548110156200371657826001600160a01b03168282815481106200362a576200362a620052c9565b6000918252602090912001546001600160a01b031603620037015781548290620036579060019062005394565b815481106200366a576200366a620052c9565b9060005260206000200160009054906101000a90046001600160a01b03168282815481106200369d576200369d620052c9565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480620036de57620036de62005624565b600082815260209020810160001990810180546001600160a01b03191690550190555b806200370d8162005378565b91505062003601565b50505050565b6200119f813362003d4f565b62003734828262002ef3565b6200118657600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff191660011790556200376e3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6001600160a01b03163b151590565b600054610100900460ff16620037eb5760405162461bcd60e51b81526004016200153f906200595b565b62001db962003db3565b600054610100900460ff1662001db95760405162461bcd60e51b81526004016200153f906200595b565b60006200382c83620012de565b600084815260c96020526040808220600101859055519192508391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b62003716846323b872dd60e01b8585856040516024016200389893929190620050d8565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003ddd565b620014548363a9059cbb60e01b848460405160240162003898929190620050a5565b620038fe828262002ef3565b156200118657600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008051602062006027833981519152546001600160a01b031690565b336200398462002e58565b6001600160a01b0316146200119f57336200399e62002e58565b60405163163678e960e01b81526004016200153f929190620050fc565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615620039f157620014548362003eb9565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562003a4e575060408051601f3d908101601f1916820190925262003a4b91810190620050be565b60015b62003ab35760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016200153f565b60008051602062006027833981519152811462003b255760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016200153f565b506200145483838362003f58565b62003b3e3362002f1e565b62001db957604051636a5cfb6d60e01b815260040160405180910390fd5b600062003b698362003f83565b801562003b7d575062003b7d838362003fbb565b9392505050565b6001600160a01b038116600090815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562003bf157602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003bd2575b5050505050905060005b8151811015620014545781818151811062003c1a5762003c1a620052c9565b60200260200101516001600160a01b0316636453d9c4846040518263ffffffff1660e01b815260040162003c4f919062004640565b600060405180830381600087803b15801562003c6a57600080fd5b505af115801562003c7f573d6000803e3d6000fd5b50505050808062003c909062005378565b91505062003bfb565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610103805461010680546001600160a01b03199081166001600160a01b038416179091551690556040517fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729062003d459060009062004640565b60405180910390a1565b62003d5b828262002ef3565b620011865762003d6b8162004046565b62003d7883602062004059565b60405160200162003d8b92919062005a2f565b60408051601f198184030181529082905262461bcd60e51b82526200153f9160040162004fb7565b600054610100900460ff16620034595760405162461bcd60e51b81526004016200153f906200595b565b600062003e34826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316620042129092919063ffffffff16565b905080516000148062003e5857508080602001905181019062003e58919062005aa2565b620014545760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016200153f565b62003ec481620037b2565b62003f285760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016200153f565b6000805160206200602783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b62003f63836200422b565b60008251118062003f715750805b1562001454576200371683836200426d565b600062003f98826301ffc9a760e01b62003fbb565b801562000d8b575062003fb4826001600160e01b031962003fbb565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d915060005190508280156200402e575060208210155b80156200403b5750600081115b979650505050505050565b606062000d8b6001600160a01b03831660145b606060006200406a83600262005055565b6200407790600262005139565b6001600160401b038111156200409157620040916200467c565b6040519080825280601f01601f191660200182016040528015620040bc576020820181803683370190505b509050600360fc1b81600081518110620040da57620040da620052c9565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106200410c576200410c620052c9565b60200101906001600160f81b031916908160001a90535060006200413284600262005055565b6200413f90600162005139565b90505b6001811115620041c1576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110620041775762004177620052c9565b1a60f81b828281518110620041905762004190620052c9565b60200101906001600160f81b031916908160001a90535060049490941c93620041b98162005ac2565b905062004142565b50831562003b7d5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200153f565b606062004223848460008562004295565b949350505050565b620042368162003eb9565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062003b7d838360405180606001604052806027815260200162006047602791396200436d565b606082471015620042f85760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016200153f565b600080866001600160a01b0316858760405162004316919062005adc565b60006040518083038185875af1925050503d806000811462004355576040519150601f19603f3d011682016040523d82523d6000602084013e6200435a565b606091505b50915091506200403b87838387620043eb565b6060600080856001600160a01b0316856040516200438c919062005adc565b600060405180830381855af49150503d8060008114620043c9576040519150601f19603f3d011682016040523d82523d6000602084013e620043ce565b606091505b5091509150620043e186838387620043eb565b9695505050505050565b606083156200445f57825160000362004457576200440985620037b2565b620044575760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200153f565b508162004223565b620042238383815115620044765781518083602001fd5b8060405162461bcd60e51b81526004016200153f919062004fb7565b828054828255906000526020600020908101928215620044ea579160200282015b82811115620044ea57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620044b3565b5062002eef92915062004521565b6104ec8062005afb83390190565b50805460008255906000526020600020908101906200119f91905b5b8082111562002eef576000815560010162004522565b6000602082840312156200454b57600080fd5b81356001600160e01b03198116811462003b7d57600080fd5b6000602082840312156200457757600080fd5b5035919050565b6001600160a01b03811681146200119f57600080fd5b8035620045a1816200457e565b919050565b60008060408385031215620045ba57600080fd5b8235620045c7816200457e565b91506020830135620045d9816200457e565b809150509250929050565b600060208284031215620045f757600080fd5b813562003b7d816200457e565b600080604083850312156200461857600080fd5b823562004625816200457e565b946020939093013593505050565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b600080604083850312156200466857600080fd5b823591506020830135620045d9816200457e565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715620046b757620046b76200467c565b60405290565b60405161018081016001600160401b0381118282101715620046b757620046b76200467c565b60405160c081016001600160401b0381118282101715620046b757620046b76200467c565b60405161010081016001600160401b0381118282101715620046b757620046b76200467c565b604051601f8201601f191681016001600160401b03811182821017156200475957620047596200467c565b604052919050565b60006001600160401b038211156200477d576200477d6200467c565b50601f01601f191660200190565b6000620047a26200479c8462004761565b6200472e565b9050828152838383011115620047b757600080fd5b828260208301376000602084830101529392505050565b600082601f830112620047e057600080fd5b62003b7d838335602085016200478b565b6000604082840312156200480457600080fd5b6200480e62004692565b82358152905060208201356001600160401b038111156200482e57600080fd5b6200483c84828501620047ce565b60208301525092915050565b80151581146200119f57600080fd5b8035620045a18162004848565b600080600080608085870312156200487b57600080fd5b84356001600160401b03808211156200489357600080fd5b908601906101808289031215620048a957600080fd5b620048b3620046bd565b620048be8362004594565b8152620048ce6020840162004594565b6020820152604083013560408201526060830135606082015260808301356080820152620048ff60a0840162004594565b60a08201526200491260c0840162004594565b60c082015260e0830135828111156200492a57600080fd5b620049388a828601620047f1565b60e0830152506101006200494e81850162004594565b9082015261012083810135838111156200496757600080fd5b620049758b828701620047ce565b8284015250506101406200498b81850162004857565b908201526101608381013583811115620049a457600080fd5b620049b28b828701620047ce565b828401525050809650505050620049cc6020860162004594565b9250620049dc6040860162004594565b9150620049ec6060860162004594565b905092959194509250565b6000806040838503121562004a0b57600080fd5b823562004a18816200457e565b915060208301356001600160401b0381111562004a3457600080fd5b8301601f8101851362004a4657600080fd5b62004a57858235602084016200478b565b9150509250929050565b60006080828403121562004a7457600080fd5b604051608081016001600160401b038111828210171562004a995762004a996200467c565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b803560038110620045a157600080fd5b600481106200119f57600080fd5b8035620045a18162004ada565b60006020828403121562004b0857600080fd5b604051602081016001600160401b038111828210171562004b2d5762004b2d6200467c565b6040529135825250919050565b600060c0828403121562004b4d57600080fd5b62004b57620046e3565b9050813562004b66816200457e565b8152602082013562004b78816200457e565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b60006101e0828403121562004bc157600080fd5b60405160e081016001600160401b038111828210171562004be65762004be66200467c565b60405290508062004bf8848462004a61565b815262004c086080840162004aca565b602082015260a083013562004c1d8162004ada565b604082015262004c318460c0850162004af5565b606082015262004c458460e0850162004b3a565b60808201526101a083013562004c5b816200457e565b60a082015262004c6f6101c0840162004594565b60c08201525092915050565b6000806000610220848603121562004c9257600080fd5b833562004c9f816200457e565b925062004cb0856020860162004bad565b91506102008401356001600160401b0381111562004ccd57600080fd5b62004cdb86828701620047f1565b9150509250925092565b60006001600160401b0382111562004d015762004d016200467c565b5060051b60200190565b600082601f83011262004d1d57600080fd5b8135602062004d306200479c8362004ce5565b82815260059290921b8401810191818101908684111562004d5057600080fd5b8286015b8481101562004d7857803562004d6a816200457e565b835291830191830162004d54565b509695505050505050565b6000610200828403121562004d9757600080fd5b62004da162004708565b905062004daf838362004a61565b815262004dbf6080830162004aca565b602082015262004dd260a0830162004ae8565b604082015262004de68360c0840162004af5565b606082015262004dfa8360e0840162004b3a565b608082015262004e0e6101a0830162004594565b60a082015262004e226101c0830162004594565b60c08201526101e08201356001600160401b0381111562004e4257600080fd5b62004e508482850162004d0b565b60e08301525092915050565b60008060006060848603121562004e7257600080fd5b833562004e7f816200457e565b925060208401356001600160401b038082111562004e9c57600080fd5b62004eaa8783880162004d83565b9350604086013591508082111562004ec157600080fd5b5062004cdb86828701620047f1565b6000806000806080858703121562004ee757600080fd5b843562004ef4816200457e565b9350602085013562004f06816200457e565b925060408501356001600160401b038082111562004f2357600080fd5b62004f318883890162004d83565b9350606087013591508082111562004f4857600080fd5b5062004f5787828801620047f1565b91505092959194509250565b60005b8381101562004f8057818101518382015260200162004f66565b50506000910152565b6000815180845262004fa381602086016020860162004f63565b601f01601f19169290920160200192915050565b60208152600062003b7d602083018462004f89565b600080600080610240858703121562004fe457600080fd5b843562004ff1816200457e565b9350602085013562005003816200457e565b925062005014866040870162004bad565b91506102208501356001600160401b038111156200503157600080fd5b62004f5787828801620047f1565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000d8b5762000d8b6200503f565b634e487b7160e01b600052602160045260246000fd5b6000602082840312156200509857600080fd5b815162003b7d8162004ada565b6001600160a01b03929092168252602082015260400190565b600060208284031215620050d157600080fd5b5051919050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0392831681529116602082015260400190565b6000826200513457634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000d8b5762000d8b6200503f565b600181811c908216806200516457607f821691505b6020821081036200518557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200145457600081815260208120601f850160051c81016020861015620051b45750805b601f850160051c820191505b81811015620051d557828155600101620051c0565b505050505050565b81516001600160401b03811115620051f957620051f96200467c565b62005211816200520a84546200514f565b846200518b565b602080601f831160018114620052495760008415620052305750858301515b600019600386901b1c1916600185901b178555620051d5565b600085815260208120601f198616915b828110156200527a5788860151825594840194600190910190840162005259565b5085821015620052995787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620052bc57600080fd5b815162003b7d816200457e565b634e487b7160e01b600052603260045260246000fd5b60006020808385031215620052f357600080fd5b82516001600160401b038111156200530a57600080fd5b8301601f810185136200531c57600080fd5b80516200532d6200479c8262004ce5565b81815260059190911b820183019083810190878311156200534d57600080fd5b928401925b828410156200403b57835162005368816200457e565b8252928401929084019062005352565b6000600182016200538d576200538d6200503f565b5060010190565b8181038181111562000d8b5762000d8b6200503f565b60008154620053b9816200514f565b808552602060018381168015620053d95760018114620053f45762005424565b60ff1985168884015283151560051b88018301955062005424565b866000528260002060005b858110156200541c5781548a8201860152908301908401620053ff565b890184019650505b505050505092915050565b80518252600060208201516040602085015262004223604085018262004f89565b600081518084526020808501945080840160005b838110156200548b5781516001600160a01b03168752958201959082019060010162005464565b509495945050505050565b85815260a060208201526000620054b160a0830187620053aa565b8281036040840152620054c581876200542f565b6001600160a01b038616606085015283810360808501529050620054ea818562005450565b98975050505050505050565b838152606060208201526000620055116060830185620053aa565b8281036040840152620043e181856200542f565b6020808252602c908201526000805160206200600783398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206200600783398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b0383168152604060208201819052600090620042239083018462004f89565b6810531313d5d31254d560ba1b8152600981019190915260290190565b6e20a62627aba624a9aa2fa0a226a4a760891b8152600f810191909152602f0190565b634e487b7160e01b600052603160045260246000fd5b600060208083850312156200564e57600080fd5b82516001600160401b03808211156200566657600080fd5b9084019060c082870312156200567b57600080fd5b62005685620046e3565b825181528383015162005698816200457e565b818501526040830151620056ac816200457e565b6040820152606083015182811115620056c457600080fd5b830160408189031215620056d757600080fd5b620056e162004692565b815181528582015184811115620056f757600080fd5b82019350601f840189136200570b57600080fd5b835191506200571e6200479c8362004761565b82815289878487010111156200573357600080fd5b620057448388830189880162004f63565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b805182526020810151602083015260408101516040830152606081015160608301525050565b60038110620057a957620057a96200506f565b9052565b60048110620057a957620057a96200506f565b80516001600160a01b0390811683526020808301519091169083015260408082015190830152606080820151908301526080808201519083015260a090810151910152565b602081526200581960208201835162005770565b600060208301516200582f60a084018262005796565b5060408301516200584460c0840182620057ad565b5060608301515160e0830152608083015162005865610100840182620057c0565b5060a08301516200587b6101c084018262004633565b5060c0830151620058916101e084018262004633565b5060e0830151610200838101526200422361022084018262005450565b878152600060018060a01b03808916602084015260e06040840152620058d860e084018962004f89565b818816606085015286608085015283810360a0850152620058fa81876200542f565b91505082810360c084015262005911818562005450565b9a9950505050505050505050565b8581526001600160a01b03858116602083015284811660408301528316606082015260a0608082018190526000906200403b908301846200542f565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006101e082019050620059bc82845162005770565b6020830151620059d0608084018262005796565b506040830151620059e560a0840182620057ad565b5060608301515160c0830152608083015162005a0560e0840182620057c0565b5060a08301516001600160a01b039081166101a084015260c0909301519092166101c09091015290565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81526000835162005a6381601785016020880162004f63565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835162005a9681602884016020880162004f63565b01602801949350505050565b60006020828403121562005ab557600080fd5b815162003b7d8162004848565b60008162005ad45762005ad46200503f565b506000190190565b6000825162005af081846020870162004f63565b919091019291505056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212204fe6c3c3dccfaea0fd10fdd343631403db3c1555c6576ad816deaaa45c9f926764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656403be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220eb4556dd26edee48f4bb15c8bc758359b6156c983f6a75864cfbb4f7fa99c7ed64736f6c6343000813003360a06040523060805234801561001457600080fd5b5060805161709d6200004d600039600081816118cc0152818161190c015281816119ab015281816119eb0152611a63015261709d6000f3fe6080604052600436106103795760003560e01c8063013cf08b1461038257806301ffc9a7146103c4578063059351cd146103f4578063062f9ece146104815780630a6f0ee9146104a15780630ba95909146104c15780630bece79c146104e05780630c0512e91461050d5780630f529ba214610523578063125fd1d91461053a57806315cc481e14610550578063184b95591461056e5780631aa91a9e1461058e5780631ddf1e23146105ae5780632506b870146105c3578063255ffb38146106065780632bbe0cae146106335780632dbd6fdd146106465780632ed04b2b14610672578063311a6c561461069257806333960459146106b2578063346db8cb146106c8578063351d9f96146106e85780633659cfe61461070f57806338fff2d01461072f578063406244d81461074457806341bb76051461075957806342fda9c7146107b657806348f19c1d146107cb5780634ab4ba42146107e05780634d31d087146107f55780634f1ef2861461081557806352d1902d1461082857806359a5db8b1461083d5780635db64b991461085d5780636003e4141461088a57806360d5dedc146108aa578063626c47e8146108ca5780636453d9c4146108df5780636a6f69b4146107cb578063715018a6146108ff5780637263cfe214610914578063782aadff14610934578063814516ad14610954578063817b1cd214610969578063824ea8ed1461097f578063868c57b81461099f5780638da5cb5b146109bf578063948e7a59146109d4578063950559d7146109f45780639a1c157c14610a14578063a0cf0aea14610a29578063a28889e114610a51578063a47ff7e514610a89578063a51312c814610aa0578063a574cea414610ac0578063aba9ffee14610aed578063ac1ed7b914610b03578063b0d3713a14610b23578063b2b878d014610b43578063b41596ec14610b70578063b5f620ce14610b83578063b6c61f3114610ba3578063bcc5b93b14610bc3578063c329217114610be3578063c4d66de814610c00578063c7f758a814610c20578063d1e3623214610c57578063dc96ff2d14610c6c578063df868ed314610c9c578063e0a8f6f514610cb1578063e0dd2c3814610cd1578063eb11af9314610cf1578063edd146cc14610d19578063ef2920fc14610d39578063f2fde38b14610d4c578063f5b0dfb714610d6c578063f5be3f7c14610d8c578063ffa1ad7414610da257005b3661038057005b005b34801561038e57600080fd5b506103a261039d3660046157fb565b610dde565b6040516103bb9d9c9b9a999897969594939291906158b6565b60405180910390f35b3480156103d057600080fd5b506103e46103df366004615958565b610f2c565b60405190151581526020016103bb565b34801561040057600080fd5b50610449606f546000908152607f60205260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169694909316949193909290565b604080516001600160a01b039788168152969095166020870152938501929092526060840152608083015260a082015260c0016103bb565b34801561048d57600080fd5b5061038061049c366004615b3e565b610f63565b3480156104ad57600080fd5b506103806104bc366004615c8b565b610f79565b3480156104cd57600080fd5b506077545b6040519081526020016103bb565b3480156104ec57600080fd5b50607954610500906001600160a01b031681565b6040516103bb9190615d02565b34801561051957600080fd5b506104d2606e5481565b34801561052f57600080fd5b506104d26298968081565b34801561054657600080fd5b506104d2606f5481565b34801561055c57600080fd5b506065546001600160a01b0316610500565b34801561057a57600080fd5b50610380610589366004615d16565b610f99565b34801561059a57600080fd5b506104d26105a93660046157fb565b6110f9565b3480156105ba57600080fd5b50610380611143565b3480156105cf57600080fd5b506072546073546074546075546105e69392919084565b6040805194855260208501939093529183015260608201526080016103bb565b34801561061257600080fd5b506104d26106213660046157fb565b607e6020526000908152604090205481565b610500610641366004615d56565b61114e565b34801561065257600080fd5b5060765461066590610100900460ff1681565b6040516103bb9190615dbb565b34801561067e57600080fd5b506104d261068d366004615dc9565b611171565b34801561069e57600080fd5b506103806106ad366004615df5565b611235565b3480156106be57600080fd5b506104d2606c5481565b3480156106d457600080fd5b506104d26106e3366004615e17565b611827565b3480156106f457600080fd5b506076546107029060ff1681565b6040516103bb9190615e53565b34801561071b57600080fd5b5061038061072a366004615e61565b6118c2565b34801561073b57600080fd5b506068546104d2565b34801561075057600080fd5b506104d2600a81565b34801561076557600080fd5b506104496107743660046157fb565b607f602052600090815260409020805460018201546002830154600384015460048501546005909501546001600160a01b039485169593909416939192909186565b3480156107c257600080fd5b506066546104d2565b3480156107d757600080fd5b5061050061198a565b3480156107ec57600080fd5b506069546104d2565b34801561080157600080fd5b506103e4610810366004615e61565b611999565b610380610823366004615e7e565b6119a1565b34801561083457600080fd5b506104d2611a56565b34801561084957600080fd5b506104d26108583660046157fb565b611b04565b34801561086957600080fd5b506104d2610878366004615e61565b607c6020526000908152604090205481565b34801561089657600080fd5b50607854610500906001600160a01b031681565b3480156108b657600080fd5b506103806108c5366004615ecd565b611c1e565b3480156108d657600080fd5b506104d2600381565b3480156108eb57600080fd5b506103806108fa366004615e61565b611c9a565b34801561090b57600080fd5b50610380611cab565b34801561092057600080fd5b5061038061092f366004615f28565b611cbd565b34801561094057600080fd5b506104d261094f366004615dc9565b611cce565b34801561096057600080fd5b50610380611e64565b34801561097557600080fd5b506104d260705481565b34801561098b57600080fd5b506103e461099a3660046157fb565b611f81565b3480156109ab57600080fd5b506104d26109ba366004615dc9565b611fde565b3480156109cb57600080fd5b5061050061200f565b3480156109e057600080fd5b506103806109ef366004615f5c565b6120a0565b348015610a0057600080fd5b506104d2610a0f3660046157fb565b6120b4565b348015610a2057600080fd5b506074546104d2565b348015610a3557600080fd5b5061050073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b348015610a5d57600080fd5b50606d54610a71906001600160401b031681565b6040516001600160401b0390911681526020016103bb565b348015610a9557600080fd5b506077546104d29081565b348015610aac57600080fd5b50610380610abb366004615f28565b6120de565b348015610acc57600080fd5b50610ae0610adb3660046157fb565b6120ef565b6040516103bb9190615fe5565b348015610af957600080fd5b506104d260715481565b348015610b0f57600080fd5b50610380610b1e366004615e61565b6121ce565b348015610b2f57600080fd5b50610380610b3e366004615e61565b612201565b348015610b4f57600080fd5b50610b63610b5e366004615ff8565b61222b565b6040516103bb91906160cc565b6104d2610b7e366004616165565b612246565b348015610b8f57600080fd5b50610380610b9e3660046161ec565b612598565b348015610baf57600080fd5b50607a54610500906001600160a01b031681565b348015610bcf57600080fd5b506104d2610bde366004615e61565b6125a1565b348015610bef57600080fd5b50607654610100900460ff16610665565b348015610c0c57600080fd5b50610380610c1b366004615e61565b6125bc565b348015610c2c57600080fd5b50610c40610c3b3660046157fb565b6125ec565b6040516103bb9b9a99989796959493929190616209565b348015610c6357600080fd5b506071546104d2565b348015610c7857600080fd5b506104d2610c873660046157fb565b6000908152607b602052604090206002015490565b348015610ca857600080fd5b506103e46126f8565b348015610cbd57600080fd5b50610380610ccc3660046157fb565b61270b565b348015610cdd57600080fd5b506104d2610cec366004616278565b612890565b348015610cfd57600080fd5b50610d0c610810366004615e61565b6040516103bb919061629d565b348015610d2557600080fd5b50610380610d343660046162b0565b6128bb565b610380610d47366004615d56565b612aac565b348015610d5857600080fd5b50610380610d67366004615e61565b612ad0565b348015610d7857600080fd5b50610380610d873660046157fb565b612b3d565b348015610d9857600080fd5b506104d2611c2081565b348015610dae57600080fd5b50610dd1604051806040016040528060038152602001620302e360ec1b81525081565b6040516103bb91906162e0565b607b602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610e65906162f3565b80601f0160208091040260200160405190810160405280929190818152602001828054610e91906162f3565b8015610ede5780601f10610eb357610100808354040283529160200191610ede565b820191906000526020600020905b815481529060010190602001808311610ec157829003601f168201915b50505091909252505060408051606081018252600c8501548152600d8501546020820152600e8501546001600160a01b031691810191909152600f840154601090940154929390929091508d565b60006001600160e01b0319821663f1801e6160e01b1480610f5d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b610f6b612b66565b610f758282612c00565b5050565b610f81612f75565b610f89612fa0565b610f94838383612fc3565b505050565b600054610100900460ff1615808015610fb95750600054600160ff909116105b80610fda5750610fc8306132cd565b158015610fda575060005460ff166001145b6110425760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015611065576000805461ff0019166101001790555b611092846040518060400160405280600a8152602001694356537472617465677960b01b81525084611c1e565b606a80546001600160a01b0319166001600160a01b03851617905580156110f3576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b6000818152607b602052604081208054831461112b5760405163c1d17bef60e01b815260048101849052602401611039565b6111398182600201546132dc565b6003015492915050565b61114c33613317565b565b6000611158612f75565b611160612fa0565b61116a8383613443565b9392505050565b600061117b613831565b60006002607654610100900460ff16600381111561119b5761119b615821565b14806111c257506001607654610100900460ff1660038111156111c0576111c0615821565b145b156111ce5750816111db565b6111d8848461385c565b90505b80607160008282546111ed919061633d565b90915550506040517f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19061122690869086908590616350565b60405180910390a19392505050565b6000828152607e6020908152604080832054808452607b835281842060108101548552607f8452828520835160c08101855281546001600160a01b03908116825260018301541695810195909552600281015493850193909352600383015460608501526004830154608085015260059092015460a0840152929091908390036112d55760405163c1d17bef60e01b815260048101849052602401611039565b6005600883015460ff1660068111156112f0576112f0615821565b1461131157604051634b011ca960e11b815260048101849052602401611039565b60a0810151600d83015460009161132791616371565b42119050801581611342575081516001600160a01b03163314155b1561136057604051631777988560e11b815260040160405180910390fd5b808061136a575084155b156114b357816080015160000361139457604051630dd466dd60e41b815260040160405180910390fd5b81608001516001036113b05760088301805460ff191660011790555b816080015160020361143d5760088301805460ff191660061790556079546005840154604084810151905163099ea56b60e41b81526001600160a01b03938416936399ea56b09361140a938a939290911691600401616384565b600060405180830381600087803b15801561142457600080fd5b505af1158015611438573d6000803e3d6000fd5b505050505b607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b09361147c938a939290911691600401616384565b600060405180830381600087803b15801561149657600080fd5b505af11580156114aa573d6000803e3d6000fd5b50505050611790565b846001036115745760088301805460ff19166001179055607954600e8401546001600160a01b0391821691638969ab53918791166114ef61198a565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561152c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155091906163a3565b86606001516040518563ffffffff1660e01b815260040161147c94939291906163c0565b846002036117905760088301805460ff19166006179055607954600e840154606084015160405163099ea56b60e41b81526001600160a01b03938416936399ea56b0936115ca938a939290911691600401616384565b600060405180830381600087803b1580156115e457600080fd5b505af11580156115f8573d6000803e3d6000fd5b505060795460058601546001600160a01b039182169350638969ab53925087911661162161198a565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561165e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168291906163a3565b606f546000908152607f602052604090206002908101546116a391906163fb565b6040518563ffffffff1660e01b81526004016116c294939291906163c0565b600060405180830381600087803b1580156116dc57600080fd5b505af11580156116f0573d6000803e3d6000fd5b50506079546005860154600e870154606f546000908152607f602052604090206002908101546001600160a01b039485169650638969ab5395508a94938416939092169161173e91906163fb565b6040518563ffffffff1660e01b815260040161175d94939291906163c0565b600060405180830381600087803b15801561177757600080fd5b505af115801561178b573d6000803e3d6000fd5b505050505b606d80546001600160401b03169060006117a98361641d565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550504283600f01819055508582600001516001600160a01b03167f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222768760405161181791815260200190565b60405180910390a3505050505050565b6074546000908490829061184c9061184690629896809060801b6163fb565b83613a5f565b905060806001607f1b60726002015462989680611869919061633d565b61187784600160801b61633d565b6118846298968089616440565b61188e9190616440565b61189891906163fb565b6118a28885616440565b6118ac9190616371565b6118b69190616371565b901c9695505050505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361190a5760405162461bcd60e51b815260040161103990616457565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661193c613b07565b6001600160a01b0316146119625760405162461bcd60e51b815260040161103990616491565b61196b81613b23565b6040805160008082526020820190925261198791839190613b5e565b50565b6078546001600160a01b031690565b600080610f5d565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036119e95760405162461bcd60e51b815260040161103990616457565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611a1b613b07565b6001600160a01b031614611a415760405162461bcd60e51b815260040161103990616491565b611a4a82613b23565b610f7582826001613b5e565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611af15760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401611039565b5060008051602061700183398151915290565b60008060695411611b285760405163ed4421ad60e01b815260040160405180910390fd5b611b3182613cc9565b15611b4f57604051630efd728560e21b815260040160405180910390fd5b606954600090611b6384600160401b616440565b611b6d91906163fb565b6072546298968090611b8390600160401b616440565b611b8d91906163fb565b611b97919061633d565b90506040611ba460715490565b607454611bb4906298968061633d565b629896806040611bc48680616440565b607354911c90611bdb90629896809060801b6163fb565b611be591906163fb565b611bef9190616440565b611bf991906163fb565b611c039190616440565b607554911c92508211611c185760755461116a565b50919050565b600054610100900460ff16611c455760405162461bcd60e51b8152600401611039906164cb565b611c4e816125bc565b606580546001600160a01b0319166001600160a01b038516179055604051611c7a9083906020016162e0565b60408051601f198184030181529190528051602090910120606655505050565b611ca2613831565b61198781613317565b611cb3613cf0565b61114c6000613d4f565b611cc5612b66565b61198781613da1565b6000611cd8613831565b611ce183614041565b611cfe57604051630b72d6b160e31b815260040160405180910390fd5b60006002607654610100900460ff166003811115611d1e57611d1e615821565b03611d2c57825b9050611d89565b6001607654610100900460ff166003811115611d4a57611d4a615821565b03611d5957611d2584846141ef565b6003607654610100900460ff166003811115611d7757611d77615821565b03611d8957611d868484614298565b90505b6000611d9361198a565b6001600160a01b031663477a5cc086306040518363ffffffff1660e01b8152600401611dc0929190616516565b602060405180830381865afa158015611ddd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e019190616530565b90508015611e21578160716000828254611e1b9190616371565b90915550505b7f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a858584604051611e5493929190616350565b60405180910390a1509392505050565b33611e6e81614041565b611e8b57604051630b72d6b160e31b815260040160405180910390fd5b611e9361198a565b6001600160a01b0316630d4a8b4982306040518363ffffffff1660e01b8152600401611ec0929190616516565b600060405180830381600087803b158015611eda57600080fd5b505af1158015611eee573d6000803e3d6000fd5b50505050611efa61198a565b6001600160a01b0316637817ee4f82306040518363ffffffff1660e01b8152600401611f27929190616516565b602060405180830381865afa158015611f44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f68919061654d565b60716000828254611f799190616371565b909155505050565b6000818152607b60205260408120600281015482908190611fa3908490614499565b91509150816000148015611fb5575080155b15611fc257826003015491505b6000611fd18460010154611b04565b9092101595945050505050565b607d6020528160005260406000208181548110611ffa57600080fd5b90600052602060002001600091509150505481565b6000806120246033546001600160a01b031690565b9050806001600160a01b03163b60000361203d57919050565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612097575060408051601f3d908101601f19168201909252612094918101906163a3565b60015b610f5d57919050565b6120a8612b66565b6110f3848484846144f1565b6074546000906120c7906298968061633d565b6120d46298968084616440565b610f5d91906163fb565b6120e6612b66565b61198781614509565b6040805180820190915260008152606060208201526000607b6000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054612144906162f3565b80601f0160208091040260200160405190810160405280929190818152602001828054612170906162f3565b80156121bd5780601f10612192576101008083540402835291602001916121bd565b820191906000526020600020905b8154815290600101906020018083116121a057829003601f168201915b505050505081525050915050919050565b6121d6612b66565b6121df816146c0565b607a80546001600160a01b0319166001600160a01b0392909216919091179055565b612209613cf0565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b606060405163d623472560e01b815260040160405180910390fd5b6000858152607b6020908152604080832060108101548452607f8352818420825160c08101845281546001600160a01b0390811680835260018401549091169582019590955260028201549381019390935260038101546060840152600481015460808401526005015460a0830152916122d357604051636c291fd360e01b815260040160405180910390fd5b815488146122f75760405163c1d17bef60e01b815260048101899052602401611039565b6001600883015460ff16600681111561231257612312615821565b14612333576040516344980d8f60e01b815260048101899052602401611039565b806060015134101561235f576060810151604051632c1f8ef160e21b8152611039913491600401616576565b600f82015415801590612382575042611c2083600f01546123809190616371565b115b156123c0578742611c2084600f015461239b9190616371565b6123a5919061633d565b604051638d2f6c3160e01b8152600401611039929190616576565b60008160600151346123d2919061633d565b607954606084015160405163240ff7c560e11b81529293506001600160a01b039091169163481fef8a919061240d908d903390600401616584565b6000604051808303818588803b15801561242657600080fd5b505af115801561243a573d6000803e3d6000fd5b5050845160405163c13517e160e01b81526001600160a01b03909116935063c13517e19250849150612475906003908b908b906004016165c4565b60206040518083038185885af1158015612493573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906124b8919061654d565b60088401805491955060059160ff19166001830217905550600c830184905542600d840155600e830180546001600160a01b031916331790556000848152607e602052604081208a9055606d80546001600160401b031691612519836165e7565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550507f034f6a48076db1bcaaa311ccdc43d473aff44d3918a76fe0fae27c8b3665016d82600001518a86338c8c89600c01600101546040516125849796959493929190616615565b60405180910390a150505095945050505050565b611987816146e7565b6001600160a01b03166000908152607c602052604090205490565b600054610100900460ff166125e35760405162461bcd60e51b8152600401611039906164cb565b61198781613d4f565b600080600080600080600080600080600080607b60008e8152602001908152602001600020905080600101546000146126315761262c8160010154611b04565b612634565b60005b93508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548b896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020548a601001549b509b509b509b509b509b509b509b509b509b509b505091939597999b90929496989a50565b600061270660675460ff1690565b905090565b60016000828152607b602052604090206008015460ff16600681111561273357612733615821565b14612754576040516344980d8f60e01b815260048101829052602401611039565b6000818152607b60205260409020600501546001600160a01b031633146127ad576000818152607b602052604090819020600501549051634544dc9160e11b8152611039916001600160a01b0316903390600401616516565b6079546000828152607b6020908152604080832060058101546010909101548452607f9092529182902060020154915163099ea56b60e41b81526001600160a01b03938416936399ea56b09361280a938793921691600401616384565b600060405180830381600087803b15801561282457600080fd5b505af1158015612838573d6000803e3d6000fd5b5050506000828152607b6020908152604091829020600801805460ff1916600317905590518381527f416e669c63d9a3a5e36ee7cc7e2104b8db28ccd286aa18966e98fa230c73b08c9250015b60405180910390a150565b6000828152607b602090815260408083206001600160a01b038516845260090190915281205461116a565b6128c3612f75565b6128cc82614728565b606a54606c80546128f5926001600160a01b03169160006128ec83616664565b91905055614777565b607980546001600160a01b0319166001600160a01b039290921691821790556040805163204a7f0760e21b81529051638129fc1c9160048082019260009290919082900301818387803b15801561294b57600080fd5b505af115801561295f573d6000803e3d6000fd5b5050505060008180602001905181019061297991906167f0565b60a08101519091506001600160a01b03166129a757604051635df4b1ef60e01b815260040160405180910390fd5b60a0810151607880546001600160a01b0319166001600160a01b0390921691909117905560208101516076805460ff191660018360028111156129ec576129ec615821565b021790555060408101516076805461ff001916610100836003811115612a1457612a14615821565b021790555060608101515160775560c0810151607a80546001600160a01b0319166001600160a01b039092169190911790556080810151815160408051600080825260208201908152818301909252612a6e9392916144f1565b7fa489767af337c1767e9c6949fc5a6d3a73bb69ea80a3e619c2e08b7b308d0bcf8382604051612a9f929190616944565b60405180910390a1505050565b612ab4612f75565b612abc612fa0565b612ac682826147c6565b610f758282614822565b612ad8613cf0565b6001600160a01b0381166125e35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401611039565b612b45612f75565b8060696000828254612b579190616371565b90915550611987905081614915565b612b6e61198a565b6001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612bab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bcf91906163a3565b6001600160a01b0316336001600160a01b03161461114c57604051637430763f60e11b815260040160405180910390fd5b60208201516001600160a01b031615801590612c25575081516001600160a01b031615155b8015612d0e5750606f546000908152607f6020908152604090912060010154908301516001600160a01b039081169116141580612c815750606f546000908152607f602052604090205482516001600160a01b03908116911614155b80612ca55750606f546000908152607f602052604090819020600201549083015114155b80612cc85750606f546000908152607f6020526040902060030154606083015114155b80612ceb5750606f546000908152607f6020526040902060040154608083015114155b80612d0e5750606f546000908152607f602052604090206005015460a083015114155b15612f1d57602080830151606f546000908152607f9092526040909120600101546001600160a01b039081169116141580612d6857508151606f546000908152607f60205260409020546001600160a01b03908116911614155b15612e31578151602083015160405163446adb9960e11b81526001600160a01b03909216916388d5b73291612d9f91600401615d02565b600060405180830381600087803b158015612db957600080fd5b505af1158015612dcd573d6000803e3d6000fd5b5050835160208501516040517fdc20f5c479493aac0cf803ca3b82ebc1964faa557450a37ea0a8121b0e98454f9450612e289350309291906001600160a01b0393841681529183166020830152909116604082015260600190565b60405180910390a15b606f8054906000612e4183616664565b9091555050606f80546000908152607f6020908152604091829020855181546001600160a01b03199081166001600160a01b03928316908117845588850151600185018054909316931692831790915587850151600284018190556060808a0151600386018190556080808c01516004880181905560a0808e015160059099018990559a548a519081529889019590955297870194909452850152938301529281019190915260c08101919091527fe677e2878aaaaf6a65ecf50f849ad58100c49f6dfd57d055ba4bddd63a175d539060e00160405180910390a15b805160725560208101516073556040808201516074556060820151607555517fec9315d9f4291207475c061feff1e5d7105750ac0ee9534af9444b4ff1dab9bc90612f69908390616a23565b60405180910390a15050565b6065546001600160a01b0316331461114c5760405163075fd2b160e01b815260040160405180910390fd5b60685460000361114c57604051630f68fe6360e21b815260040160405180910390fd5b6000825111612fe557604051630317df1360e61b815260040160405180910390fd5b600082806020019051810190612ffb919061654d565b90508060000361301e5760405163f881a10d60e01b815260040160405180910390fd5b6000818152607b60205260409020600160765460ff16600281111561304557613045615821565b036132c6578054821461306e5760405163c1d17bef60e01b815260048101839052602401611039565b606954816001015411156130a157818160010154606954604051632c31d85b60e11b815260040161103993929190616a31565b6001600882015460ff1660068111156130bc576130bc615821565b146130dd576040516344980d8f60e01b815260048101839052602401611039565b60006130e8836110f9565b905060006130f98360010154611b04565b9050808210801561310e575060008360010154115b1561312c5760405163199cf26160e31b815260040160405180910390fd5b60655460685460405163068bcd8d60e01b815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561317a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526131a29190810190616ad4565b90508360010154606960008282546131ba919061633d565b90915550506040810151600485015460018601546131e292916001600160a01b031690614945565b60088401805460ff191660049081179091556079546005860154606f546000908152607f60205260409081902060020154905163099ea56b60e41b81526001600160a01b03938416946399ea56b094613242948c94911692909101616384565b600060405180830381600087803b15801561325c57600080fd5b505af1158015613270573d6000803e3d6000fd5b505050600485015460018601546040517fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f3584793506132ba9289926001600160a01b0390911691616384565b60405180910390a15050505b5050505050565b6001600160a01b03163b151590565b6000806132e98484614499565b915091508160001480156132fb575080155b156133065750505050565b600784015560039092019190915550565b61331f61198a565b6001600160a01b0316637817ee4f82306040518363ffffffff1660e01b815260040161334c929190616516565b602060405180830381865afa158015613369573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061338d919061654d565b6071600082825461339e919061633d565b909155506133ac905061198a565b6001600160a01b03166322bcf99982306040518363ffffffff1660e01b81526004016133d9929190616516565b600060405180830381600087803b1580156133f357600080fd5b505af1158015613407573d6000803e3d6000fd5b505050506134148161497f565b7f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b816040516128859190615d02565b600061344e82614041565b61346b57604051630b72d6b160e31b815260040160405180910390fd5b6000838060200190518101906134819190616b87565b80519091506000036134a65760405163273c8bc360e11b815260040160405180910390fd5b600160765460ff1660028111156134bf576134bf615821565b03613640576134d181602001516146c0565b60608101516001600160a01b03166134fc5760405163165a825360e21b815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561353c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061356091906163a3565b825160405163068bcd8d60e01b815260048101919091529091506000906001600160a01b0383169063068bcd8d90602401600060405180830381865afa1580156135ae573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526135d69190810190616ad4565b905080604001516001600160a01b031683606001516001600160a01b0316146136125760405163514e24c360e11b815260040160405180910390fd5b61361f8360400151613cc9565b1561363d57604051630efd728560e21b815260040160405180910390fd5b50505b606f546000908152607f60205260409020546001600160a01b03161580159061367c5750606f546000908152607f602052604090206002015434105b156136b257606f546000908152607f602052604090819020600201549051632c1f8ef160e21b8152611039913491600401616576565b6000606e600081546136c390616664565b91829055506000818152607b602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b8401906137779082616c7b565b5050606f54601083015550607954600582015460405163240ff7c560e11b81526001600160a01b039283169263481fef8a9234926137bb9288921690600401616584565b6000604051808303818588803b1580156137d457600080fd5b505af11580156137e8573d6000803e3d6000fd5b50505050507ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b60685483604051613820929190616576565b60405180910390a150949350505050565b6078546001600160a01b0316331461114c576040516357848b5160e11b815260040160405180910390fd5b6000601261386861198a565b6001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156138a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138c991906163a3565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613922575060408051601f3d908101601f1916820190925261391f91810190616d3a565b60015b1561392d5760ff1690505b60008361393861198a565b6001600160a01b0316632c611c4a876040518263ffffffff1660e01b81526004016139639190615d02565b602060405180830381865afa158015613980573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139a4919061654d565b6139ae919061633d565b905060006139cf6139c084600a616e41565b6139ca9084616440565b614ae0565b90506000816139dc61198a565b6001600160a01b0316637817ee4f89306040518363ffffffff1660e01b8152600401613a09929190616516565b602060405180830381865afa158015613a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a4a919061654d565b613a54919061633d565b979650505050505050565b6000600160801b8310613ab35760405162461bcd60e51b815260206004820152601c60248201527b0bec240e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401611039565b50600160801b82825b8015613aff5780600116600003613ae157613ad78283614bc8565b915060011c613abc565b613aeb8383614bc8565b9250613af860018261633d565b9050613abc565b505092915050565b600080516020617001833981519152546001600160a01b031690565b33613b2c61200f565b6001600160a01b0316146119875733613b4361200f565b60405163163678e960e01b8152600401611039929190616516565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615613b9157610f9483614ca5565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613beb575060408051601f3d908101601f19168201909252613be89181019061654d565b60015b613c4e5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401611039565b6000805160206170018339815191528114613cbd5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401611039565b50610f94838383614d3f565b6000613cd86298968083616440565b606954607254613ce89190616440565b111592915050565b33613cf961200f565b6001600160a01b03161461114c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611039565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000606854604051602001613db69190616e4d565b604051602081830303815290604052805190602001209050613dd661198a565b6001600160a01b03166391d148548260006040518363ffffffff1660e01b8152600401613e04929190616584565b602060405180830381865afa158015613e21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e459190616530565b15613eb357613e5261198a565b6001600160a01b031663d547741f8260006040518363ffffffff1660e01b8152600401613e80929190616584565b600060405180830381600087803b158015613e9a57600080fd5b505af1158015613eae573d6000803e3d6000fd5b505050505b60005b825181101561400d57613ec761198a565b6001600160a01b03166391d1485483858481518110613ee857613ee8616e6a565b60200260200101516040518363ffffffff1660e01b8152600401613f0d929190616584565b602060405180830381865afa158015613f2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f4e9190616530565b613ffb57613f5a61198a565b6001600160a01b0316632f2ff15d606854604051602001613f7b9190616e4d565b60405160208183030381529060405280519060200120858481518110613fa357613fa3616e6a565b60200260200101516040518363ffffffff1660e01b8152600401613fc8929190616584565b600060405180830381600087803b158015613fe257600080fd5b505af1158015613ff6573d6000803e3d6000fd5b505050505b8061400581616664565b915050613eb6565b507f7a2e396a5614184c0af2c60827c206595126faa1238b94e19823192de52e728a60685483604051612f69929190616e80565b607a546000906001600160a01b031661417c5760006068546040516020016140699190616e4d565b60405160208183030381529060405280519060200120905061408961198a565b6001600160a01b03166391d148548260006040518363ffffffff1660e01b81526004016140b7929190616584565b602060405180830381865afa1580156140d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140f89190616530565b156141065750600192915050565b61410e61198a565b6001600160a01b03166391d1485482856040518363ffffffff1660e01b815260040161413b929190616584565b602060405180830381865afa158015614158573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116a9190616530565b607a546040516302154c3d60e51b81526001600160a01b03909116906342a987a0906141ae9085903090600401616516565b602060405180830381865afa1580156141cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5d9190616530565b600081816141fb61198a565b6001600160a01b0316637817ee4f86306040518363ffffffff1660e01b8152600401614228929190616516565b602060405180830381865afa158015614245573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614269919061654d565b6077549091506142798383616371565b11156142905760775461428d90829061633d565b91505b509392505050565b600080826142a461198a565b6001600160a01b0316632c611c4a866040518263ffffffff1660e01b81526004016142cf9190615d02565b602060405180830381865afa1580156142ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614310919061654d565b61431a9190616371565b9050601261432661198a565b6001600160a01b031663db61d65c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015614363573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061438791906163a3565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156143e0575060408051601f3d908101601f191682019092526143dd91810190616d3a565b60015b156143eb5760ff1690505b60006144056143fb83600a616e41565b6139ca9085616440565b9050600061441161198a565b6001600160a01b0316637817ee4f88306040518363ffffffff1660e01b815260040161443e929190616516565b602060405180830381865afa15801561445b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061447f919061654d565b9050600061448d828461633d565b98975050505050505050565b60008043905080846007015411156144b3576144b3616e99565b808460070154036144c9575060009050806144ea565b6144e78460070154826144dc919061633d565b856003015485611827565b91505b9250929050565b6144fb8484612c00565b61450482613da1565b6110f3815b60005b815181101561468c5761451d61198a565b6001600160a01b03166391d1485460685460405160200161453e9190616e4d565b6040516020818303038152906040528051906020012084848151811061456657614566616e6a565b60200260200101516040518363ffffffff1660e01b815260040161458b929190616584565b602060405180830381865afa1580156145a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145cc9190616530565b1561467a576145d961198a565b6001600160a01b031663d547741f6068546040516020016145fa9190616e4d565b6040516020818303038152906040528051906020012084848151811061462257614622616e6a565b60200260200101516040518363ffffffff1660e01b8152600401614647929190616584565b600060405180830381600087803b15801561466157600080fd5b505af1158015614675573d6000803e3d6000fd5b505050505b8061468481616664565b91505061450c565b507fd418c93b6b78d828a87ee1909e6fcdbbf2f8d8f540ad7b232bb3e221e6d7cc1e60685482604051612885929190616e80565b6001600160a01b038116611987576040516303988b8160e61b815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001612885565b614730612f75565b606854156147515760405163439a74c960e01b815260040160405180910390fd5b8060000361477257604051637fcce2a960e01b815260040160405180910390fd5b606855565b6040516001600160601b03193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506147be8482614d64565b949350505050565b6000828060200190518101906147dc9190616eaf565b905060005b81518110156110f3576148108282815181106147ff576147ff616e6a565b602002602001015160000151614dfb565b8061481a81616664565b9150506147e1565b61482b81614eb8565b61483481614041565b61485157604051630b72d6b160e31b815260040160405180910390fd5b600061485b61198a565b6001600160a01b031663477a5cc083306040518363ffffffff1660e01b8152600401614888929190616516565b602060405180830381865afa1580156148a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148c99190616530565b9050806148e957604051635fccb67f60e01b815260040160405180910390fd5b6000838060200190518101906148ff9190616eaf565b905061490b8382614f99565b6110f3838261512e565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001612885565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161497457610f948282615506565b610f94838383615522565b6001600160a01b0381166000908152607d60209081526040808320805482518185028101850190935280835291929091908301828280156149df57602002820191906000526020600020905b8154815260200190600101908083116149cb575b5050505050905060005b8151811015610f94576000828281518110614a0657614a06616e6a565b602002602001015190506000607b60008381526020019081526020016000209050614a3082615568565b15614acb576001600160a01b0385166000908152600982016020526040812080549082905560028301805491928392614a6a90849061633d565b925050819055508060706000828254614a83919061633d565b90915550614a93905082826132dc565b6000805160206170218339815191528684600085600201548660030154604051614ac1959493929190616f59565b60405180910390a1505b50508080614ad890616664565b9150506149e9565b600081600003614af257506000919050565b60006001614aff846155a1565b901c6001901b90506001818481614b1857614b186163e5565b048201901c90506001818481614b3057614b306163e5565b048201901c90506001818481614b4857614b486163e5565b048201901c90506001818481614b6057614b606163e5565b048201901c90506001818481614b7857614b786163e5565b048201901c90506001818481614b9057614b906163e5565b048201901c90506001818481614ba857614ba86163e5565b048201901c905061116a81828581614bc257614bc26163e5565b04615635565b6000600160801b831115614c2f5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c206044820152670e8de4064bc6264760c31b6064820152608401611039565b600160801b8210614c815760405162461bcd60e51b815260206004820152601c60248201527b0bec440e6d0deead8c840c4ca40d8cae6e640e8d0c2dc4064bc6264760231b6044820152606401611039565b60806001607f1b614c928486616440565b614c9c9190616371565b901c9392505050565b614cae816132cd565b614d105760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401611039565b60008051602061700183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b614d488361564b565b600082511180614d555750805b15610f94576110f3838361568b565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b038116610f5d5760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606401611039565b6000818152607b6020526040812090600882015460ff166006811115614e2357614e23615821565b1480614e4757506003600882015460ff166006811115614e4557614e45615821565b145b80614e6a57506004600882015460ff166006811115614e6857614e68615821565b145b80614e8d57506006600882015460ff166006811115614e8b57614e8b615821565b145b15610f755760088101546040516394d57ead60e01b815261103991849160ff90911690600401616f87565b6001600160a01b038116614edf57604051631a3e505160e31b815260040160405180910390fd5b6078546001600160a01b0316614f0857604051635df4b1ef60e01b815260040160405180910390fd5b614f1061198a565b6001600160a01b031663a230c524826040518263ffffffff1660e01b8152600401614f3b9190615d02565b602060405180830381865afa158015614f58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614f7c9190616530565b61198757604051636a5cfb6d60e01b815260040160405180910390fd5b6000805b825181101561505657828181518110614fb857614fb8616e6a565b60200260200101516000015160000315615044576000838281518110614fe057614fe0616e6a565b6020026020010151600001519050614ff781615568565b6150175760405163c1d17bef60e01b815260048101829052602401611039565b83828151811061502957615029616e6a565b602002602001015160200151836150409190616fa4565b9250505b8061504e81616664565b915050614f9d565b50600061506b615065856125a1565b836156b0565b9050600061507761198a565b6001600160a01b0316637817ee4f86306040518363ffffffff1660e01b81526004016150a4929190616516565b602060405180830381865afa1580156150c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906150e5919061654d565b90508082111561510c578181604051636b20c17f60e11b8152600401611039929190616576565b506001600160a01b039093166000908152607c60205260409020929092555050565b606060005b82518110156110f357600083828151811061515057615150616e6a565b602002602001015160000151905082516000036151ac576040805160018082528183019092529060208083019080368337019050509250808360008151811061519b5761519b616e6a565b6020026020010181815250506152df565b6000805b845181101561520c57828582815181106151cc576151cc616e6a565b6020026020010151036151fa57600191508281604051632b7aec5560e21b8152600401611039929190616576565b8061520481616664565b9150506151b0565b50806152dd576000845160016152229190616371565b6001600160401b0381111561523957615239615982565b604051908082528060200260200182016040528015615262578160200160208202803683370190505b50905060005b85518110156152ba5785818151811061528357615283616e6a565b602002602001015182828151811061529d5761529d616e6a565b6020908102919091010152806152b281616664565b915050615268565b5082818651815181106152cf576152cf616e6a565b602090810291909101015293505b505b60008483815181106152f3576152f3616e6a565b6020908102919091018101518101516000848152607b835260408082206001600160a01b038b1683526009810190945281205491935061533382856156b0565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607d60205260409020548110156153cc5784546001600160a01b038c166000908152607d602052604090208054839081106153a1576153a1616e6a565b9060005260206000200154036153ba57600191506153cc565b806153c481616664565b915050615355565b5080615402576001600160a01b038a166000908152607d6020908152604082208654815460018101835591845291909220909101555b81831161545257615413838361633d565b607060008282546154249190616371565b909155506154349050838361633d565b8460020160008282546154479190616371565b909155506154969050565b61545c828461633d565b6070600082825461546d919061633d565b9091555061547d9050828461633d565b846002016000828254615490919061633d565b90915550505b83600701546000036154ad574360078501556154ed565b6154b784846132dc565b6000805160206170218339815191528a8784876002015488600301546040516154e4959493929190616f59565b60405180910390a15b50505050505080806154fe90616664565b915050615133565b60008060008084865af1610f755763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d15600160005114171661555e576390b8ec186000526004601cfd5b6000603452505050565b6000818152607b602052604081205415801590610f5d5750506000908152607b60205260409020600501546001600160a01b0316151590565b600080608083901c156155b657608092831c92015b604083901c156155c857604092831c92015b602083901c156155da57602092831c92015b601083901c156155ec57601092831c92015b600883901c156155fe57600892831c92015b600483901c1561561057600492831c92015b600283901c1561562257600292831c92015b600183901c15610f5d5760010192915050565b6000818310615644578161116a565b5090919050565b61565481614ca5565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061116a8383604051806060016040528060278152602001617041602791396156e7565b6000806156bd8385616fa4565b9050600081121561116a57838382604051631dde38a160e11b815260040161103993929190616a31565b6060600080856001600160a01b0316856040516157049190616fc4565b600060405180830381855af49150503d806000811461573f576040519150601f19603f3d011682016040523d82523d6000602084013e615744565b606091505b50915091506157558683838761575f565b9695505050505050565b606083156157cc5782516000036157c557615779856132cd565b6157c55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611039565b50816147be565b6147be83838151156157e15781518083602001fd5b8060405162461bcd60e51b815260040161103991906162e0565b60006020828403121561580d57600080fd5b5035919050565b6001600160a01b03169052565b634e487b7160e01b600052602160045260246000fd5b6007811061198757611987615821565b60005b8381101561586257818101518382015260200161584a565b50506000910152565b60008151808452615883816020860160208601615847565b601f01601f19169290920160200192915050565b8051825260006020820151604060208501526147be604085018261586b565b60006101e08f83528e60208401528d60408401528c606084015260018060a01b03808d166080850152808c1660a0850152808b1660c08501528960e08501526158fe89615837565b886101008501528161012085015261591882850189615897565b875161014086015260208801516101608601526040909701511661018084015250506101a08101929092526101c0909101529a9950505050505050505050565b60006020828403121561596a57600080fd5b81356001600160e01b03198116811461116a57600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156159ba576159ba615982565b60405290565b604051608081016001600160401b03811182821017156159ba576159ba615982565b60405161010081016001600160401b03811182821017156159ba576159ba615982565b604080519081016001600160401b03811182821017156159ba576159ba615982565b60405160a081016001600160401b03811182821017156159ba576159ba615982565b604051601f8201601f191681016001600160401b0381118282101715615a7157615a71615982565b604052919050565b6001600160a01b038116811461198757600080fd5b600060c08284031215615aa057600080fd5b615aa8615998565b90508135615ab581615a79565b81526020820135615ac581615a79565b8060208301525060408201356040820152606082013560608201526080820135608082015260a082013560a082015292915050565b600060808284031215615b0c57600080fd5b615b146159c0565b90508135815260208201356020820152604082013560408201526060820135606082015292915050565b6000806101408385031215615b5257600080fd5b615b5c8484615a8e565b9150615b6b8460c08501615afa565b90509250929050565b60006001600160401b03821115615b8d57615b8d615982565b5060051b60200190565b600082601f830112615ba857600080fd5b81356020615bbd615bb883615b74565b615a49565b82815260059290921b84018101918181019086841115615bdc57600080fd5b8286015b84811015615c00578035615bf381615a79565b8352918301918301615be0565b509695505050505050565b60006001600160401b03821115615c2457615c24615982565b50601f01601f191660200190565b6000615c40615bb884615c0b565b9050828152838383011115615c5457600080fd5b828260208301376000602084830101529392505050565b600082601f830112615c7c57600080fd5b61116a83833560208501615c32565b600080600060608486031215615ca057600080fd5b83356001600160401b0380821115615cb757600080fd5b615cc387838801615b97565b94506020860135915080821115615cd957600080fd5b50615ce686828701615c6b565b9250506040840135615cf781615a79565b809150509250925092565b6001600160a01b0391909116815260200190565b600080600060608486031215615d2b57600080fd5b8335615d3681615a79565b92506020840135615d4681615a79565b91506040840135615cf781615a79565b60008060408385031215615d6957600080fd5b82356001600160401b03811115615d7f57600080fd5b615d8b85828601615c6b565b9250506020830135615d9c81615a79565b809150509250929050565b60048110615db757615db7615821565b9052565b60208101610f5d8284615da7565b60008060408385031215615ddc57600080fd5b8235615de781615a79565b946020939093013593505050565b60008060408385031215615e0857600080fd5b50508035926020909101359150565b600080600060608486031215615e2c57600080fd5b505081359360208301359350604090920135919050565b60038110615db757615db7615821565b60208101610f5d8284615e43565b600060208284031215615e7357600080fd5b813561116a81615a79565b60008060408385031215615e9157600080fd5b8235615e9c81615a79565b915060208301356001600160401b03811115615eb757600080fd5b615ec385828601615c6b565b9150509250929050565b600080600060608486031215615ee257600080fd5b8335615eed81615a79565b925060208401356001600160401b03811115615f0857600080fd5b8401601f81018613615f1957600080fd5b615ce686823560208401615c32565b600060208284031215615f3a57600080fd5b81356001600160401b03811115615f5057600080fd5b6147be84828501615b97565b6000806000806101808587031215615f7357600080fd5b615f7d8686615a8e565b9350615f8c8660c08701615afa565b92506101408501356001600160401b0380821115615fa957600080fd5b615fb588838901615b97565b9350610160870135915080821115615fcc57600080fd5b50615fd987828801615b97565b91505092959194509250565b60208152600061116a6020830184615897565b6000806040838503121561600b57600080fd5b82356001600160401b038082111561602257600080fd5b61602e86838701615b97565b935060209150818501358181111561604557600080fd5b8501601f8101871361605657600080fd5b8035616064615bb882615b74565b81815260059190911b8201840190848101908983111561608357600080fd5b8584015b838110156160bb5780358681111561609f5760008081fd5b6160ad8c8983890101615c6b565b845250918601918601616087565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b8281101561611757815180516001600160a01b031685528601518685015292840192908501906001016160e9565b5091979650505050505050565b60008083601f84011261613657600080fd5b5081356001600160401b0381111561614d57600080fd5b6020830191508360208285010111156144ea57600080fd5b60008060008060006060868803121561617d57600080fd5b8535945060208601356001600160401b038082111561619b57600080fd5b6161a789838a01616124565b909650945060408801359150808211156161c057600080fd5b506161cd88828901616124565b969995985093965092949392505050565b801515811461198757600080fd5b6000602082840312156161fe57600080fd5b813561116a816161de565b6001600160a01b038c811682528b811660208301528a1660408201526060810189905260808101889052610160810161624188615837565b8760a08301528660c08301528560e08301528461010083015283610120830152826101408301529c9b505050505050505050505050565b6000806040838503121561628b57600080fd5b823591506020830135615d9c81615a79565b602081016162aa83615837565b91905290565b600080604083850312156162c357600080fd5b8235915060208301356001600160401b03811115615eb757600080fd5b60208152600061116a602083018461586b565b600181811c9082168061630757607f821691505b602082108103611c1857634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610f5d57610f5d616327565b6001600160a01b039390931683526020830191909152604082015260600190565b80820180821115610f5d57610f5d616327565b9283526001600160a01b03919091166020830152604082015260600190565b6000602082840312156163b557600080fd5b815161116a81615a79565b9384526001600160a01b03928316602085015291166040830152606082015260800190565b634e487b7160e01b600052601260045260246000fd5b60008261641857634e487b7160e01b600052601260045260246000fd5b500490565b60006001600160401b0382168061643657616436616327565b6000190192915050565b8082028115828204841417610f5d57610f5d616327565b6020808252602c90820152600080516020616fe183398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020616fe183398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0392831681529116602082015260400190565b60006020828403121561654257600080fd5b815161116a816161de565b60006020828403121561655f57600080fd5b5051919050565b805161657181615a79565b919050565b918252602082015260400190565b9182526001600160a01b0316602082015260400190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8381526040602082015260006165de60408301848661659b565b95945050505050565b60006001600160401b038281166002600160401b0319810161660b5761660b616327565b6001019392505050565b6001600160a01b03888116825260208201889052604082018790528516606082015260c060808201819052600090616650908301858761659b565b90508260a083015298975050505050505050565b60006001820161667657616676616327565b5060010190565b60006080828403121561668f57600080fd5b6166976159c0565b90508151815260208201516020820152604082015160408201526060820151606082015292915050565b80516003811061657157600080fd5b80516004811061657157600080fd5b6000602082840312156166f157600080fd5b604051602081016001600160401b038111828210171561671357616713615982565b6040529151825250919050565b600060c0828403121561673257600080fd5b61673a615998565b9050815161674781615a79565b8152602082015161675781615a79565b8060208301525060408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b600082601f83011261679d57600080fd5b815160206167ad615bb883615b74565b82815260059290921b840181019181810190868411156167cc57600080fd5b8286015b84811015615c005780516167e381615a79565b83529183019183016167d0565b60006020828403121561680257600080fd5b81516001600160401b038082111561681957600080fd5b90830190610200828603121561682e57600080fd5b6168366159e2565b616840868461667d565b815261684e608084016166c1565b602082015261685f60a084016166d0565b60408201526168718660c085016166df565b60608201526168838660e08501616720565b60808201526168956101a08401616566565b60a08201526168a76101c08401616566565b60c08201526101e0830151828111156168bf57600080fd5b6168cb8782860161678c565b60e08301525095945050505050565b805182526020810151602083015260408101516040830152606081015160608301525050565b600081518084526020808501945080840160005b838110156169395781516001600160a01b031687529582019590820190600101616914565b509495945050505050565b8281526040602082015261695c6040820183516168da565b6000602083015161697060c0840182615e43565b50604083015161698360e0840182615da7565b506060838101515161010084015260808085015180516001600160a01b039081166101208701526020820151166101408601526040810151610160860152918201516101808501528101516101a084015260a0908101516101c08401528301516169f16101e0840182615814565b5060c0830151610200616a0681850183615814565b60e0850151915080610220850152506165de610240840182616900565b60808101610f5d82846168da565b9283526020830191909152604082015260600190565b600060408284031215616a5957600080fd5b616a61615a05565b8251815260208301519091506001600160401b03811115616a8157600080fd5b8201601f81018413616a9257600080fd5b8051616aa0615bb882615c0b565b818152856020838501011115616ab557600080fd5b616ac6826020830160208601615847565b602084015250909392505050565b600060208284031215616ae657600080fd5b81516001600160401b0380821115616afd57600080fd5b9083019060c08286031215616b1157600080fd5b616b19615998565b825181526020830151616b2b81615a79565b60208201526040830151616b3e81615a79565b6040820152606083015182811115616b5557600080fd5b616b6187828601616a47565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b600060208284031215616b9957600080fd5b81516001600160401b0380821115616bb057600080fd5b9083019060a08286031215616bc457600080fd5b616bcc615a27565b825181526020830151616bde81615a79565b6020820152604083810151908201526060830151616bfb81615a79565b6060820152608083015182811115616c1257600080fd5b616c1e87828601616a47565b60808301525095945050505050565b601f821115610f9457600081815260208120601f850160051c81016020861015616c545750805b601f850160051c820191505b81811015616c7357828155600101616c60565b505050505050565b81516001600160401b03811115616c9457616c94615982565b616ca881616ca284546162f3565b84616c2d565b602080601f831160018114616cdd5760008415616cc55750858301515b600019600386901b1c1916600185901b178555616c73565b600085815260208120601f198616915b82811015616d0c57888601518255948401946001909101908401616ced565b5085821015616d2a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215616d4c57600080fd5b815160ff8116811461116a57600080fd5b600181815b80851115616d98578160001904821115616d7e57616d7e616327565b80851615616d8b57918102915b93841c9390800290616d62565b509250929050565b600082616daf57506001610f5d565b81616dbc57506000610f5d565b8160018114616dd25760028114616ddc57616df8565b6001915050610f5d565b60ff841115616ded57616ded616327565b50506001821b610f5d565b5060208310610133831016604e8410600b8410161715616e1b575081810a610f5d565b616e258383616d5d565b8060001904821115616e3957616e39616327565b029392505050565b600061116a8383616da0565b6810531313d5d31254d560ba1b8152600981019190915260290190565b634e487b7160e01b600052603260045260246000fd5b8281526040602082015260006147be6040830184616900565b634e487b7160e01b600052600160045260246000fd5b60006020808385031215616ec257600080fd5b82516001600160401b03811115616ed857600080fd5b8301601f81018513616ee957600080fd5b8051616ef7615bb882615b74565b81815260069190911b82018301908381019087831115616f1657600080fd5b928401925b82841015613a545760408489031215616f345760008081fd5b616f3c615a05565b845181528585015186820152825260409093019290840190616f1b565b6001600160a01b03959095168552602085019390935260408401919091526060830152608082015260a00190565b82815260408101616f9783615837565b8260208301529392505050565b8082018281126000831280158216821582161715613aff57613aff616327565b60008251616fd6818460208701615847565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122065cb38e54d9d57511a6b1f1604eda90387c8a1764eee5b2a8aa4ef9a6a878a2364736f6c63430008130033608060405234801561001057600080fd5b50600160005561070c806100256000396000f3fe6080604052600436106100555760003560e01c8063481fef8a1461005a5780638129fc1c1461006f5780638630da1d146100845780638969ab53146100cf5780638da5cb5b146100ef57806399ea56b014610127575b600080fd5b61006d6100683660046105b8565b610147565b005b34801561007b57600080fd5b5061006d610204565b34801561009057600080fd5b506100bc61009f3660046105b8565b600160209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b3480156100db57600080fd5b5061006d6100ea3660046105e4565b610241565b3480156100fb57600080fd5b5060025461010f906001600160a01b031681565b6040516001600160a01b0390911681526020016100c6565b34801561013357600080fd5b5061006d610142366004610628565b6103cc565b6002546001600160a01b031633146101725760405163ea8e4eb560e01b815260040160405180910390fd5b61017a610543565b60008281526001602090815260408083206001600160a01b0385168452909152812080543492906101ac908490610673565b92505081905550806001600160a01b03167feec2f3feb835e2f2fd44281034b04700a1ddda63dd402949d470a25a7c40b36c83346040516101ee92919061068c565b60405180910390a26102006001600055565b5050565b6002546001600160a01b03161561022d5760405162dc149f60e41b815260040160405180910390fd5b600280546001600160a01b03191633179055565b6002546001600160a01b0316331461026c5760405163ea8e4eb560e01b815260040160405180910390fd5b610274610543565b60008481526001602090815260408083206001600160a01b0387168452909152902054808211156102c5578181604051632c1f8ef160e21b81526004016102bc92919061068c565b60405180910390fd5b60008581526001602090815260408083206001600160a01b0388168452909152812080548492906102f790849061069a565b90915550506040516000906001600160a01b0385169084908381818185875af1925050503d8060008114610347576040519150601f19603f3d011682016040523d82523d6000602084013e61034c565b606091505b505090508061036d5760405162461bcd60e51b81526004016102bc906106ad565b836001600160a01b0316856001600160a01b03167f354da53cd88eb0936caa11700c1928b13f3f2803cca6f4f464ceff3b4bd7d38e88866040516103b292919061068c565b60405180910390a350506103c66001600055565b50505050565b6002546001600160a01b031633146103f75760405163ea8e4eb560e01b815260040160405180910390fd5b6103ff610543565b60008381526001602090815260408083206001600160a01b038616845290915290205480821115610447578181604051632c1f8ef160e21b81526004016102bc92919061068c565b60008481526001602090815260408083206001600160a01b03871684529091528120805484929061047990849061069a565b90915550506040516000906001600160a01b0385169084908381818185875af1925050503d80600081146104c9576040519150601f19603f3d011682016040523d82523d6000602084013e6104ce565b606091505b50509050806104ef5760405162461bcd60e51b81526004016102bc906106ad565b836001600160a01b03167f7c5e5cb62e5ed3caf3764e4b0afedfedef533e27809d43367799787ad2abcd41868560405161052a92919061068c565b60405180910390a2505061053e6001600055565b505050565b6002600054036105955760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102bc565b6002600055565b80356001600160a01b03811681146105b357600080fd5b919050565b600080604083850312156105cb57600080fd5b823591506105db6020840161059c565b90509250929050565b600080600080608085870312156105fa57600080fd5b8435935061060a6020860161059c565b92506106186040860161059c565b9396929550929360600135925050565b60008060006060848603121561063d57600080fd5b8335925061064d6020850161059c565b9150604084013590509250925092565b634e487b7160e01b600052601160045260246000fd5b808201808211156106865761068661065d565b92915050565b918252602082015260400190565b818103818111156106865761068661065d565b6020808252600f908201526e151c985b9cd9995c8819985a5b1959608a1b60408201526060019056fea2646970667358221220ed4a4320ef4c30824909dc338b2cc821592d59685095a529c82a18d246bc44f764736f6c63430008130033608060405234801561001057600080fd5b50613183806100206000396000f3fe6080604052600436106101f75760003560e01c806301ffc9a7146101fc578063031e2fa114610231578063068bcd8d14610253578063075c0e9c1461028057806315e812ad146102a05780631a20bd88146102bf5780631a5da6c8146102ec578063248a9ca31461030c57806324ae6a271461032c578063256929621461034c57806329e40d4b146103545780632cf682b0146103745780632ec38188146103945780632f2ff15d146103a757806336568abe146103c75780633a5fbd92146103e75780633b19e84a1461040757806341bba0b4146104255780634edbaadc1461044557806354d1f13d1461045a5780635ab1bd53146104625780635acd6fac146104805780635f9ca13814610493578063715018a6146104b357806377da8caf146104bb5780637f51bb1f146104ce5780637f5a70bd146104ee5780638da5cb5b1461050e5780638e6901861461052757806391d1485414610547578063a0cf0aea14610567578063a217fddf1461058f578063a6b63eb8146105a4578063ab2ec589146105c4578063ab3febc6146105e4578063c6dff1cf14610604578063cfc0cc3414610624578063d547741f1461065d578063e1007d4a1461067d578063f04e283e14610690578063f2fde38b146106a3578063f4e1fc41146106b6578063f54fc4a0146106d1578063fee81cf4146106f1575b600080fd5b34801561020857600080fd5b5061021c6102173660046125af565b610724565b60405190151581526020015b60405180910390f35b34801561023d57600080fd5b5061025161024c3660046125ee565b61075b565b005b34801561025f57600080fd5b5061027361026e36600461260b565b6107be565b6040516102289190612693565b61029361028e3660046127b8565b6108d1565b60405161022891906127fe565b3480156102ac57600080fd5b5060ca545b604051908152602001610228565b3480156102cb57600080fd5b506102df6102da3660046128c4565b61096e565b60405161022891906129b6565b3480156102f857600080fd5b506102516103073660046125ee565b610af4565b34801561031857600080fd5b506102b161032736600461260b565b610b08565b34801561033857600080fd5b506102516103473660046129c9565b610b1d565b610251610bd1565b34801561036057600080fd5b5061021c61036f366004612a02565b610c20565b34801561038057600080fd5b5061025161038f366004612a02565b610c33565b6102516103a23660046127b8565b610c80565b3480156103b357600080fd5b506102516103c2366004612a02565b610ca0565b3480156103d357600080fd5b506102516103e2366004612a02565b610cbc565b3480156103f357600080fd5b50610251610402366004612a8b565b610d3b565b34801561041357600080fd5b5060cc546001600160a01b0316610293565b34801561043157600080fd5b506102516104403660046125ee565b610dc3565b34801561045157600080fd5b5060c9546102b1565b610251610e45565b34801561046e57600080fd5b5060cd546001600160a01b0316610293565b61025161048e366004612af7565b610e81565b34801561049f57600080fd5b506102516104ae366004612b9b565b611018565b610251611095565b6102b16104c9366004612bd7565b6110a9565b3480156104da57600080fd5b506102516104e93660046125ee565b61112c565b3480156104fa57600080fd5b50610251610509366004612a02565b61113d565b34801561051a57600080fd5b50638b78c6d81954610293565b34801561053357600080fd5b5061025161054236600461260b565b611163565b34801561055357600080fd5b5061021c610562366004612a02565b611174565b34801561057357600080fd5b5061029373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561059b57600080fd5b506102b1600081565b3480156105b057600080fd5b506102516105bf366004612c99565b61119f565b3480156105d057600080fd5b5061021c6105df3660046125ee565b6112ae565b3480156105f057600080fd5b5061021c6105ff366004612a02565b6112b9565b34801561061057600080fd5b5061025161061f366004612cf4565b6112c5565b34801561063057600080fd5b5061029361063f36600461260b565b600090815260cf60205260409020600101546001600160a01b031690565b34801561066957600080fd5b50610251610678366004612a02565b61134a565b6102b161068b366004612bd7565b611366565b61025161069e3660046125ee565b6113d1565b6102516106b13660046125ee565b61140e565b3480156106c257600080fd5b50670de0b6b3a76400006102b1565b3480156106dd57600080fd5b506102516106ec36600461260b565b611435565b3480156106fd57600080fd5b506102b161070c3660046125ee565b63389a75e1600c908152600091909152602090205490565b60006001600160e01b03198216637965db0b60e01b148061075557506301ffc9a760e01b6001600160e01b03198316145b92915050565b610763611446565b6001600160a01b038116600090815260d0602052604090819020805460ff19169055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4906107b39083906127fe565b60405180910390a150565b6107c6612549565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b0390811682850152600283015416818501528351808501909452600382018054855260048301805492959394606087019493908401919061083090612d80565b80601f016020809104026020016040519081016040528092919081815260200182805461085c90612d80565b80156108a95780601f1061087e576101008083540402835291602001916108a9565b820191906000526020600020905b81548152906001019060200180831161088c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b60006108db611461565b600083815260cf6020526040908190206001015490516315df065760e11b81526001600160a01b0390911690632bbe0cae90349061091f9086903390600401612dba565b60206040518083038185885af115801561093d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109629190612de4565b90506107556001609755565b6060610978611461565b8251806001600160401b03811115610992576109926126fb565b6040519080825280602002602001820160405280156109bb578160200160208202803683370190505b509150825181146109df5760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610ae85760cf6000868381518110610a0057610a00612e01565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610a4d57610a4d612e01565b6020026020010151336040518363ffffffff1660e01b8152600401610a73929190612dba565b6020604051808303816000875af1158015610a92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab69190612de4565b838281518110610ac857610ac8612e01565b6001600160a01b03909216602092830291909101909101526001016109e2565b50506107556001609755565b610afc611446565b610b05816114ba565b50565b60009081526065602052604090206001015490565b610b25611446565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610bbd576040516370a0823160e01b81526001600160a01b038416906370a0823190610b779030906004016127fe565b602060405180830381865afa158015610b94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb89190612e17565b610bbf565b475b9050610bcc83838361152c565b505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610c2c8383611566565b9392505050565b81610c3d81611592565b6001600160a01b038216610c645760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610bcc90836115b9565b610c88611461565b610c92828261163f565b610c9c6001609755565b5050565b610ca982610b08565b610cb2816116b9565b610bcc83836115b9565b6001600160a01b0381163314610d315760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b610c9c82826116c3565b610d43611461565b600083815260cf602052604090819020600101549051630a6f0ee960e01b81526001600160a01b0390911690630a6f0ee990610d8790859085903390600401612e30565b600060405180830381600087803b158015610da157600080fd5b505af1158015610db5573d6000803e3d6000fd5b50505050610bcc6001609755565b610dcb611446565b6001600160a01b038116610df25760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600090815260d0602052604090819020805460ff19166001179055517f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d1906107b39083906127fe565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b610e89611461565b80600003610eaa576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b0390811682860152600283015416818401528251808401909352600382018054845260048301805492959394606087019490939084019190610f1490612d80565b80601f0160208091040260200160405190810160405280929190818152602001828054610f4090612d80565b8015610f8d5780601f10610f6257610100808354040283529160200191610f8d565b820191906000526020600020905b815481529060010190602001808311610f7057829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015610fe05750348214155b15610ffe576040516303e09bb960e31b815260040160405180910390fd5b61100d8284836020015161172a565b50610c9c6001609755565b81611022816119dc565b600083815260cf60209081526040909120835160038201908155918401519091849160048401906110539082612ebc565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf0846040516110879190612f7b565b60405180910390a250505050565b61109d611446565b6110a760006119e6565b565b60006110b3611461565b6110bc87611a12565b6110d95760405163126d324760e31b815260040160405180910390fd5b33600090815260ce602052604081208054611115928b9261110b928c9290919061110283612fa4565b91905055611a30565b8888888888611a7f565b90506111216001609755565b979650505050505050565b611134611446565b610b0581611f63565b8161114781611592565b600083815260cf6020526040902060050154610bcc90836116c3565b61116b611446565b610b0581611fd6565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600054600190610100900460ff161580156111c1575060005460ff8083169116105b6112245760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610d28565b6000805461ffff191660ff8316176101001790556112418661200b565b61124a856114ba565b61125384611f63565b61125c83612035565b61126582611fd6565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b600061075582611a12565b6000610c2c8383612093565b6112cd611461565b8051829081146112f05760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561133e5761133685858381811061131057611310612e01565b9050602002013584838151811061132957611329612e01565b602002602001015161163f565b6001016112f3565b5050610bcc6001609755565b61135382610b08565b61135c816116b9565b610bcc83836116c3565b60006001600160a01b03871661138f5760405163538ba4f960e01b815260040160405180910390fd5b61139887611a12565b156113b65760405163eeffa72160e01b815260040160405180910390fd5b6113c588888888888888611a7f565b98975050505050505050565b6113d9611446565b63389a75e1600c52806000526020600c20805442111561140157636f5e88186000526004601cfd5b60009055610b05816119e6565b611416611446565b8060601b61142c57637448fbae6000526004601cfd5b610b05816119e6565b61143d611446565b610b0581612035565b638b78c6d8195433146110a7576382b429006000526004601cfd5b6002609754036114b35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610d28565b6002609755565b6001600160a01b0381166114e15760405163538ba4f960e01b815260040160405180910390fd5b60cd80546001600160a01b0319166001600160a01b0383161790556040517fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906107b39083906127fe565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161155b57610bcc82826120af565b610bcc8383836120cb565b600082815260cf60205260408120600501546115829083611174565b80610c2c5750610c2c8383612093565b61159c8133612093565b610b055760405163075fd2b160e01b815260040160405180910390fd5b6115c38282611174565b610c9c5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556115fb3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf602052604090819020600101549051633bca483f60e21b81526001600160a01b039091169063ef2920fc9034906116839085903390600401612dba565b6000604051808303818588803b15801561169c57600080fd5b505af11580156116b0573d6000803e3d6000fd5b50505050505050565b610b058133612111565b6116cd8282611174565b15610c9c5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b0316901561187b57670de0b6b3a764000060c9546117689089612fbd565b6117729190612fd4565b935061177e8484612ff6565b92508661178b8486613009565b146117a957604051637fcce2a960e01b815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611803576040805160608101825233815260cc546001600160a01b031660208201529081018590526117fd90829061216a565b5061187b565b60cc5460009061181d9083906001600160a01b03166121e9565b6040805160608101825233815260cc546001600160a01b0316602082015290810187905290915061184f90839061216a565b5060cc5460009061186a9084906001600160a01b03166121e9565b90506118768282612ff6565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038216016118dc576118d6816040518060600160405280336001600160a01b03168152602001886001600160a01b031681526020018681525061216a565b5061193e565b60006118e882876121e9565b9050611920826040518060600160405280336001600160a01b03168152602001896001600160a01b031681526020018781525061216a565b50600061192d83886121e9565b90506119398282612ff6565b945050505b60405163f5b0dfb760e01b8152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b15801561198057600080fd5b505af1158015611994573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b61159c8133611566565b638b78c6d81980546001600160a01b0390921691829060008051602061312e833981519152600080a355565b6001600160a01b0316600090815260d0602052604090205460ff1690565b6040516001600160601b03193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611a778482612232565b949350505050565b60cd54604051635e8a791560e01b8152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611acf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611af3919061301c565b611b105760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611b1f90612fa4565b91829055506040519091508190600090611b4f9083906020019081526430b236b4b760d91b602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf8752969096208751815591516001830180549185166001600160a01b031992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611c029082612ebc565b5050506080820151600582015560a090910151600690910155611c2582336115b9565b611c2f83836122c9565b604051633b7451b360e21b81526001600160a01b038b169063edd146cc90611c5d9087908d9060040161303e565b600060405180830381600087803b158015611c7757600080fd5b505af1158015611c8b573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf29190612e17565b141580611d725750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d669190612de4565b6001600160a01b031614155b15611d905760405163636e39bb60e01b815260040160405180910390fd5b845160005b81811015611e01576000878281518110611db157611db1612e01565b6020026020010151905060006001600160a01b0316816001600160a01b031603611dee5760405163538ba4f960e01b815260040160405180910390fd5b611df886826115b9565b50600101611d95565b5060ca5415611f04576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015611e435750348860ca54611e409190613009565b14155b80611e7857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14801590611e7857503460ca5414155b15611e96576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca54611ec79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b039091169061152c565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca54604051611efb91815260200190565b60405180910390a25b8715611f1557611f1588868d61172a565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c604051611f4c9493929190613057565b60405180910390a350505050979650505050505050565b6001600160a01b038116611f8a5760405163538ba4f960e01b815260040160405180910390fd5b60cc80546001600160a01b0319166001600160a01b0383169081179091556040517f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d1916107b3916127fe565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c3906020016107b3565b6001600160a01b0316638b78c6d81981905580600060008051602061312e8339815191528180a350565b670de0b6b3a764000081111561205e57604051632fb15b8760e01b815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b065906020016107b3565b600082815260cf6020526040812060060154610c2c9083611174565b60008060008084865af1610c9c5763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d156001600051141716612107576390b8ec186000526004601cfd5b6000603452505050565b61211b8282611174565b610c9c576121288161231c565b61213383602061232e565b604051602001612144929190613094565b60408051601f198184030181529082905262461bcd60e51b8252610d2891600401613103565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038516016121cb57803410156121b8576040516374c5672b60e01b815260040160405180910390fd5b6121c68360200151826120af565b6121df565b6121df8484600001518560200151846124c9565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161222157506001600160a01b03811631610755565b61222b838361251d565b9050610755565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166107555760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b6044820152606401610d28565b60006122d483610b08565b600084815260656020526040808220600101859055519192508391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606107556001600160a01b03831660145b6060600061233d836002612fbd565b612348906002613009565b6001600160401b0381111561235f5761235f6126fb565b6040519080825280601f01601f191660200182016040528015612389576020820181803683370190505b509050600360fc1b816000815181106123a4576123a4612e01565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106123d3576123d3612e01565b60200101906001600160f81b031916908160001a90535060006123f7846002612fbd565b612402906001613009565b90505b600181111561247a576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061243657612436612e01565b1a60f81b82828151811061244c5761244c612e01565b60200101906001600160f81b031916908160001a90535060049490941c9361247381613116565b9050612405565b508315610c2c5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610d28565b60405181606052826040528360601b602c526323b872dd60601b600c52602060006064601c6000895af13d15600160005114171661250f57637939f4246000526004601cfd5b600060605260405250505050565b6000816014526370a0823160601b60005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b0316815260200161259b604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156125c157600080fd5b81356001600160e01b031981168114610c2c57600080fd5b6001600160a01b0381168114610b0557600080fd5b60006020828403121561260057600080fd5b8135610c2c816125d9565b60006020828403121561261d57600080fd5b5035919050565b60005b8381101561263f578181015183820152602001612627565b50506000910152565b60008151808452612660816020860160208601612624565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611a776040850182612648565b60208152815160208201526000602083015160018060a01b0380821660408501528060408601511660608501525050606083015160c060808401526126db60e0840182612674565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715612739576127396126fb565b604052919050565b60006001600160401b0383111561275a5761275a6126fb565b61276d601f8401601f1916602001612711565b905082815283838301111561278157600080fd5b828260208301376000602084830101529392505050565b600082601f8301126127a957600080fd5b610c2c83833560208501612741565b600080604083850312156127cb57600080fd5b8235915060208301356001600160401b038111156127e857600080fd5b6127f485828601612798565b9150509250929050565b6001600160a01b0391909116815260200190565b60006001600160401b0382111561282b5761282b6126fb565b5060051b60200190565b600082601f83011261284657600080fd5b8135602061285b61285683612812565b612711565b82815260059290921b8401810191818101908684111561287a57600080fd5b8286015b848110156128b95780356001600160401b0381111561289d5760008081fd5b6128ab8986838b0101612798565b84525091830191830161287e565b509695505050505050565b600080604083850312156128d757600080fd5b82356001600160401b03808211156128ee57600080fd5b818501915085601f83011261290257600080fd5b8135602061291261285683612812565b82815260059290921b8401810191818101908984111561293157600080fd5b948201945b8386101561294f57853582529482019490820190612936565b9650508601359250508082111561296557600080fd5b506127f485828601612835565b600081518084526020808501945080840160005b838110156129ab5781516001600160a01b031687529582019590820190600101612986565b509495945050505050565b602081526000610c2c6020830184612972565b600080604083850312156129dc57600080fd5b82356129e7816125d9565b915060208301356129f7816125d9565b809150509250929050565b60008060408385031215612a1557600080fd5b8235915060208301356129f7816125d9565b600082601f830112612a3857600080fd5b81356020612a4861285683612812565b82815260059290921b84018101918181019086841115612a6757600080fd5b8286015b848110156128b9578035612a7e816125d9565b8352918301918301612a6b565b600080600060608486031215612aa057600080fd5b8335925060208401356001600160401b0380821115612abe57600080fd5b612aca87838801612a27565b93506040860135915080821115612ae057600080fd5b50612aed86828701612798565b9150509250925092565b60008060408385031215612b0a57600080fd5b50508035926020909101359150565b600060408284031215612b2b57600080fd5b604080519081016001600160401b038082118383101715612b4e57612b4e6126fb565b81604052829350843583526020850135915080821115612b6d57600080fd5b508301601f81018513612b7f57600080fd5b612b8e85823560208401612741565b6020830152505092915050565b60008060408385031215612bae57600080fd5b8235915060208301356001600160401b03811115612bcb57600080fd5b6127f485828601612b19565b600080600080600080600060e0888a031215612bf257600080fd5b873596506020880135612c04816125d9565b955060408801356001600160401b0380821115612c2057600080fd5b612c2c8b838c01612798565b965060608a01359150612c3e826125d9565b9094506080890135935060a08901359080821115612c5b57600080fd5b612c678b838c01612b19565b935060c08a0135915080821115612c7d57600080fd5b50612c8a8a828b01612a27565b91505092959891949750929550565b600080600080600060a08688031215612cb157600080fd5b8535612cbc816125d9565b94506020860135612ccc816125d9565b93506040860135612cdc816125d9565b94979396509394606081013594506080013592915050565b600080600060408486031215612d0957600080fd5b83356001600160401b0380821115612d2057600080fd5b818601915086601f830112612d3457600080fd5b813581811115612d4357600080fd5b8760208260051b8501011115612d5857600080fd5b602092830195509350908501359080821115612d7357600080fd5b50612aed86828701612835565b600181811c90821680612d9457607f821691505b602082108103612db457634e487b7160e01b600052602260045260246000fd5b50919050565b604081526000612dcd6040830185612648565b905060018060a01b03831660208301529392505050565b600060208284031215612df657600080fd5b8151610c2c816125d9565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612e2957600080fd5b5051919050565b606081526000612e436060830186612972565b8281036020840152612e558186612648565b91505060018060a01b0383166040830152949350505050565b601f821115610bcc57600081815260208120601f850160051c81016020861015612e955750805b601f850160051c820191505b81811015612eb457828155600101612ea1565b505050505050565b81516001600160401b03811115612ed557612ed56126fb565b612ee981612ee38454612d80565b84612e6e565b602080601f831160018114612f1e5760008415612f065750858301515b600019600386901b1c1916600185901b178555612eb4565b600085815260208120601f198616915b82811015612f4d57888601518255948401946001909101908401612f2e565b5085821015612f6b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610c2c6020830184612674565b634e487b7160e01b600052601160045260246000fd5b600060018201612fb657612fb6612f8e565b5060010190565b808202811582820484141761075557610755612f8e565b600082612ff157634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561075557610755612f8e565b8082018082111561075557610755612f8e565b60006020828403121561302e57600080fd5b81518015158114610c2c57600080fd5b828152604060208201526000611a776040830184612648565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061308a90830184612674565b9695505050505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516130c6816017850160208801612624565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516130f7816028840160208801612624565b01602801949350505050565b602081526000610c2c6020830184612648565b60008161312557613125612f8e565b50600019019056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a26469706673582212207ff237b5031c0a799317c485a2e086d81ae3f6ba1ef3e75863651583e6046a8164736f6c63430008130033608060405234801561001057600080fd5b50612b10806100206000396000f3fe60806040523480156200001157600080fd5b50600436106200015a5760003560e01c80630114cf0a146200015f57806301ffc9a7146200018e5780630ec1fbac14620001b6578063248a9ca314620001cd5780632497f3c614620001f357806324ae6a27146200020c5780632f2ff15d146200022357806336568abe146200023a57806339b86b8c14620002515780633a92f65f14620002685780633b66dacd146200027f5780634756487f14620002965780635063f36114620002b957806350d005e014620002d05780635e8a7915146200030b57806391d148541462000322578063a0cf0aea1462000339578063a217fddf1462000355578063ac402839146200035e578063c4d66de81462000375578063cf189ff2146200038c578063cfda7e0a14620003a3578063d547741f14620003ba578063dd93da4314620003d1578063e0cf1e4c14620003e8578063ee88819614620003ff575b600080fd5b620001766200017036600462001948565b6200042a565b604051620001859190620019df565b60405180910390f35b620001a56200019f36600462001a61565b620005e1565b604051901515815260200162000185565b620001a5620001c736600462001aaa565b62000619565b620001e4620001de36600462001948565b6200062e565b60405190815260200162000185565b6200020a6200020436600462001948565b62000643565b005b6200020a6200021d36600462001ad9565b62000702565b6200020a6200023436600462001aaa565b620007fb565b6200020a6200024b36600462001aaa565b62000822565b620001a56200026236600462001aaa565b620008a8565b620001e46200027936600462001ccd565b620008b6565b6200020a6200029036600462001aaa565b62000b41565b620001e4620002a736600462001d7b565b60976020526000908152604090205481565b6200020a620002ca36600462001d99565b62000ba8565b620002fc620002e136600462001948565b6099602052600090815260409020546001600160a01b031681565b60405162000185919062001de3565b620001a56200031c36600462001aaa565b62000c34565b620001a56200033336600462001aaa565b62000c55565b620002fc73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b620001e4600081565b6200020a6200036f36600462001df7565b62000c80565b6200020a6200038636600462001d7b565b62000cf3565b620002fc6200039d36600462001e37565b62000e17565b620001e460008051602062002abb83398151915281565b6200020a620003cb36600462001aaa565b62000ed8565b62000176620003e236600462001d7b565b62000efa565b6200020a620003f936600462001d99565b620010c3565b620004166200041036600462001948565b6200110e565b604051620001859695949392919062001e77565b62000434620018e5565b609860008381526020019081526020016000206040518060c00160405290816000820154815260200160018201548152602001600282018054620004789062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620004a69062001ed3565b8015620004f75780601f10620004cb57610100808354040283529160200191620004f7565b820191906000526020600020905b815481529060010190602001808311620004d957829003601f168201915b5050505050815260200160038201604051806040016040529081600082015481526020016001820180546200052c9062001ed3565b80601f01602080910402602001604051908101604052809291908181526020018280546200055a9062001ed3565b8015620005ab5780601f106200057f57610100808354040283529160200191620005ab565b820191906000526020600020905b8154815290600101906020018083116200058d57829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60006001600160e01b03198216637965db0b60e01b14806200061357506301ffc9a760e01b6001600160e01b03198316145b92915050565b60006200062783836200128e565b9392505050565b60009081526065602052604090206001015490565b60008181526098602090815260408083206099909252909120546001600160a01b03163381146200068757604051630b4d48c160e41b815260040160405180910390fd5b6005820180546001600160a01b038084166001600160a01b03199283161783556000868152609960205260409081902080549093169092559154905185927ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d92620006f59291169062001de3565b60405180910390a2505050565b60008051602062002abb8339815191526200071d816200129c565b6001600160a01b038216620007455760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14620007e4576040516370a0823160e01b81526001600160a01b038516906370a08231906200079a90309060040162001de3565b602060405180830381865afa158015620007b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007de919062001f0f565b620007e6565b475b9050620007f5848483620012ab565b50505050565b62000806826200062e565b62000811816200129c565b6200081d8383620012ea565b505050565b6001600160a01b0381163314620008985760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b620008a4828262001374565b5050565b6000620006278383620013de565b600080620008c5878562001402565b6000818152609860205260409020600601549091506001600160a01b0316156200090257604051630527e05960e41b815260040160405180910390fd5b6001600160a01b0384166200092a5760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b031681526020016200096a848a6200144c565b6001600160a01b03169052600083815260986020908152604091829020835181559083015160018201559082015191925082916002820190620009ae908262001f7b565b50606082015180516003830190815560208201516004840190620009d3908262001f7b565b50505060808201516005820180546001600160a01b03199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000a4757506001600160a01b0386163314155b1562000a665760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000add57600086828151811062000a895762000a8962002047565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000ac75760405163538ba4f960e01b815260040160405180910390fd5b62000ad38582620012ea565b5060010162000a69565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000b2c9594939291906200205d565b60405180910390a25090979650505050505050565b8162000b4d8162001627565b6000838152609960205260409081902080546001600160a01b0319166001600160a01b0385161790555183907f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c890620006f590859062001de3565b8162000bb48162001627565b815160005b8181101562000c2d57600084828151811062000bd95762000bd962002047565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c175760405163538ba4f960e01b815260040160405180910390fd5b62000c238682620012ea565b5060010162000bb9565b5050505050565b600062000c428383620013de565b806200062757506200062783836200128e565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b8162000c8c8162001627565b6000838152609860209081526040909120835160038201908155918401518492916004019062000cbd908262001f7b565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f383604051620006f59190620020b2565b600054600190610100900460ff1615801562000d16575060005460ff8083169116105b62000d7b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200088f565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000db75760405163538ba4f960e01b815260040160405180910390fd5b62000dd260008051602062002abb83398151915283620012ea565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000e258162001627565b62000e3184846200144c565b60008581526098602052604090209092506002810162000e52858262001f7b565b506006810180546001600160a01b0390811660009081526097602052604080822082905583546001600160a01b0319169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062000ec89087908790620020c7565b60405180910390a2505092915050565b62000ee3826200062e565b62000eee816200129c565b6200081d838362001374565b62000f04620018e5565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c08101835281548152600182015493810193909352600281018054919284019162000f599062001ed3565b80601f016020809104026020016040519081016040528092919081815260200182805462000f879062001ed3565b801562000fd85780601f1062000fac5761010080835404028352916020019162000fd8565b820191906000526020600020905b81548152906001019060200180831162000fba57829003601f168201915b5050505050815260200160038201604051806040016040529081600082015481526020016001820180546200100d9062001ed3565b80601f01602080910402602001604051908101604052809291908181526020018280546200103b9062001ed3565b80156200108c5780601f1062001060576101008083540402835291602001916200108c565b820191906000526020600020905b8154815290600101906020018083116200106e57829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620010cf8162001627565b815160005b8181101562000c2d576200110585858381518110620010f757620010f762002047565b602002602001015162001374565b600101620010d4565b60986020526000908152604090208054600182015460028301805492939192620011389062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620011669062001ed3565b8015620011b75780601f106200118b57610100808354040283529160200191620011b7565b820191906000526020600020905b8154815290600101906020018083116200119957829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620011e89062001ed3565b80601f0160208091040260200160405190810160405280929190818152602001828054620012169062001ed3565b8015620012675780601f106200123b5761010080835404028352916020019162001267565b820191906000526020600020905b8154815290600101906020018083116200124957829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b600062000627838362000c55565b620012a8813362001651565b50565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03841601620012dd576200081d8282620016b5565b6200081d838383620016d2565b620012f6828262000c55565b620008a45760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620013303390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b62001380828262000c55565b15620008a45760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600091825260986020526040909120600501546001600160a01b0391821691161490565b600082826040516020016200142e92919091825260601b6001600160601b031916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001464929190620020f3565b6040516020818303038152906040529050600084306040516020016200148c9291906200210e565b6040516020818303038152906040529050600060405180602001620014b1906200193a565b601f1982820381018352601f909101166040819052620014d79190849060200162002125565b60408051601f198184030181529082905284516020868101919091208251828401206001600160f81b0319928501929092526001600160601b03193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c905081883060405162001561906200193a565b6200156e9291906200210e565b8190604051809103906000f590508015620015865760015b620016195787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620015cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015f1919062001f0f565b146200161057604051630113b81f60e41b815260040160405180910390fd5b8095506200161c565b95505b505050505092915050565b620016338133620013de565b620012a85760405163075fd2b160e01b815260040160405180910390fd5b6200165d828262000c55565b620008a4576200166d8162001719565b6200167a8360206200172c565b6040516020016200168d92919062002158565b60408051601f198184030181529082905262461bcd60e51b82526200088f91600401620021cb565b60008060008084865af1620008a45763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af13d1560016000511417166200170f576390b8ec186000526004601cfd5b6000603452505050565b6060620006136001600160a01b03831660145b606060006200173d836002620021f6565b6200174a90600262002210565b6001600160401b0381111562001764576200176462001b08565b6040519080825280601f01601f1916602001820160405280156200178f576020820181803683370190505b509050600360fc1b81600081518110620017ad57620017ad62002047565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110620017df57620017df62002047565b60200101906001600160f81b031916908160001a905350600062001805846002620021f6565b6200181290600162002210565b90505b600181111562001894576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106200184a576200184a62002047565b1a60f81b82828151811062001863576200186362002047565b60200101906001600160f81b031916908160001a90535060049490941c936200188c8162002226565b905062001815565b508315620006275760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200088f565b6040518060c0016040528060008019168152602001600081526020016060815260200162001926604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b61087a806200224183390190565b6000602082840312156200195b57600080fd5b5035919050565b60005b838110156200197f57818101518382015260200162001965565b50506000910152565b60008151808452620019a281602086016020860162001962565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152620019d7604085018262001988565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001a1160e084018262001988565b90506060840151601f1984830301608085015262001a308282620019b6565b60808601516001600160a01b0390811660a0878101919091529096015190951660c090940193909352509192915050565b60006020828403121562001a7457600080fd5b81356001600160e01b0319811681146200062757600080fd5b80356001600160a01b038116811462001aa557600080fd5b919050565b6000806040838503121562001abe57600080fd5b8235915062001ad06020840162001a8d565b90509250929050565b6000806040838503121562001aed57600080fd5b62001af88362001a8d565b915062001ad06020840162001a8d565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171562001b495762001b4962001b08565b604052919050565b600082601f83011262001b6357600080fd5b81356001600160401b0381111562001b7f5762001b7f62001b08565b62001b94601f8201601f191660200162001b1e565b81815284602083860101111562001baa57600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001bda57600080fd5b604080519081016001600160401b03808211838310171562001c005762001c0062001b08565b8160405282935084358352602085013591508082111562001c2057600080fd5b5062001c2f8582860162001b51565b6020830152505092915050565b600082601f83011262001c4e57600080fd5b813560206001600160401b0382111562001c6c5762001c6c62001b08565b8160051b62001c7d82820162001b1e565b928352848101820192828101908785111562001c9857600080fd5b83870192505b8483101562001cc25762001cb28362001a8d565b8252918301919083019062001c9e565b979650505050505050565b600080600080600060a0868803121562001ce657600080fd5b8535945060208601356001600160401b038082111562001d0557600080fd5b62001d1389838a0162001b51565b9550604088013591508082111562001d2a57600080fd5b62001d3889838a0162001bc7565b945062001d486060890162001a8d565b9350608088013591508082111562001d5f57600080fd5b5062001d6e8882890162001c3c565b9150509295509295909350565b60006020828403121562001d8e57600080fd5b620006278262001a8d565b6000806040838503121562001dad57600080fd5b8235915060208301356001600160401b0381111562001dcb57600080fd5b62001dd98582860162001c3c565b9150509250929050565b6001600160a01b0391909116815260200190565b6000806040838503121562001e0b57600080fd5b8235915060208301356001600160401b0381111562001e2957600080fd5b62001dd98582860162001bc7565b6000806040838503121562001e4b57600080fd5b8235915060208301356001600160401b0381111562001e6957600080fd5b62001dd98582860162001b51565b86815285602082015260c06040820152600062001e9860c083018762001988565b828103606084015262001eac8187620019b6565b6001600160a01b0395861660808501529390941660a0909201919091525095945050505050565b600181811c9082168062001ee857607f821691505b60208210810362001f0957634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121562001f2257600080fd5b5051919050565b601f8211156200081d57600081815260208120601f850160051c8101602086101562001f525750805b601f850160051c820191505b8181101562001f735782815560010162001f5e565b505050505050565b81516001600160401b0381111562001f975762001f9762001b08565b62001faf8162001fa8845462001ed3565b8462001f29565b602080601f83116001811462001fe7576000841562001fce5750858301515b600019600386901b1c1916600185901b17855562001f73565b600085815260208120601f198616915b82811015620020185788860151825594840194600190910190840162001ff7565b5085821015620020375787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200207860a083018762001988565b82810360408401526200208c8187620019b6565b6001600160a01b0395861660608501529390941660809092019190915250949350505050565b602081526000620006276020830184620019b6565b604081526000620020dc604083018562001988565b905060018060a01b03831660208301529392505050565b828152604060208201526000620019d7604083018462001988565b9182526001600160a01b0316602082015260400190565b600083516200213981846020880162001962565b8351908301906200214f81836020880162001962565b01949350505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516200218c81601785016020880162001962565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351620021bf81602884016020880162001962565b01602801949350505050565b60208152600062000627602083018462001988565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620006135762000613620021e0565b80820180821115620006135762000613620021e0565b600081620022385762002238620021e0565b50600019019056fe60c060405234801561001057600080fd5b5060405161087a38038061087a83398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516107c86100b26000396000818160b7015261024201526000818161013d015261027101526107c86000f3fe6080604052600436106100645760003560e01c806301ffc9a71461007057806308386eba146100a5578063150b7a02146100e75780637b1039991461012b578063b61d27f614610177578063bc197c81146101a4578063f23a6e61146101d057600080fd5b3661006b57005b600080fd5b34801561007c57600080fd5b5061009061008b3660046103b2565b6101fc565b60405190151581526020015b60405180910390f35b3480156100b157600080fd5b506100d97f000000000000000000000000000000000000000000000000000000000000000081565b60405190815260200161009c565b3480156100f357600080fd5b506101126101023660046104b4565b630a85bd0160e11b949350505050565b6040516001600160e01b0319909116815260200161009c565b34801561013757600080fd5b5061015f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161009c565b34801561018357600080fd5b5061019761019236600461051b565b610233565b60405161009c9190610595565b3480156101b057600080fd5b506101126101bf366004610647565b63bc197c8160e01b95945050505050565b3480156101dc57600080fd5b506101126101eb3660046106f0565b63f23a6e6160e01b95945050505050565b60006001600160e01b03198216630271189760e51b148061022d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b604051630e6e1ae360e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa1580156102c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e49190610754565b6103015760405163075fd2b160e01b815260040160405180910390fd5b6001600160a01b038416610328576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516103449190610776565b60006040518083038185875af1925050503d8060008114610381576040519150601f19603f3d011682016040523d82523d6000602084013e610386565b606091505b5091509150816103a9576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b6000602082840312156103c457600080fd5b81356001600160e01b0319811681146103dc57600080fd5b9392505050565b80356001600160a01b03811681146103fa57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561043d5761043d6103ff565b604052919050565b600082601f83011261045657600080fd5b81356001600160401b0381111561046f5761046f6103ff565b610482601f8201601f1916602001610415565b81815284602083860101111561049757600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156104ca57600080fd5b6104d3856103e3565b93506104e1602086016103e3565b92506040850135915060608501356001600160401b0381111561050357600080fd5b61050f87828801610445565b91505092959194509250565b60008060006060848603121561053057600080fd5b610539846103e3565b92506020840135915060408401356001600160401b0381111561055b57600080fd5b61056786828701610445565b9150509250925092565b60005b8381101561058c578181015183820152602001610574565b50506000910152565b60208152600082518060208401526105b4816040850160208701610571565b601f01601f19169190910160400192915050565b600082601f8301126105d957600080fd5b813560206001600160401b038211156105f4576105f46103ff565b8160051b610603828201610415565b928352848101820192828101908785111561061d57600080fd5b83870192505b8483101561063c57823582529183019190830190610623565b979650505050505050565b600080600080600060a0868803121561065f57600080fd5b610668866103e3565b9450610676602087016103e3565b935060408601356001600160401b038082111561069257600080fd5b61069e89838a016105c8565b945060608801359150808211156106b457600080fd5b6106c089838a016105c8565b935060808801359150808211156106d657600080fd5b506106e388828901610445565b9150509295509295909350565b600080600080600060a0868803121561070857600080fd5b610711866103e3565b945061071f602087016103e3565b9350604086013592506060860135915060808601356001600160401b0381111561074857600080fd5b6106e388828901610445565b60006020828403121561076657600080fd5b815180151581146103dc57600080fd5b60008251610788818460208701610571565b919091019291505056fea26469706673582212205e3806c2a117c2146e4e851a010892cfbb5ee87635e44cb0a7b5064807c3df1a64736f6c63430008130033815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747a2646970667358221220ae5632e73648f59943334474be759cf88ca6f5bf7fe902a67aa011f1732105f864736f6c63430008130033608060405234801561001057600080fd5b50610ebe806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631688f0b9146100675780632500510e1461017657806353e5d9351461024357806361b69abd146102c6578063addacc0f146103cb578063d18af54d1461044e575b600080fd5b61014a6004803603606081101561007d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156100ba57600080fd5b8201836020820111156100cc57600080fd5b803590602001918460018302840111640100000000831117156100ee57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919050505061057d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102176004803603606081101561018c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156101c957600080fd5b8201836020820111156101db57600080fd5b803590602001918460018302840111640100000000831117156101fd57600080fd5b909192939192939080359060200190929190505050610624565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61024b610751565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561028b578082015181840152602081019050610270565b50505050905090810190601f1680156102b85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61039f600480360360408110156102dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561031957600080fd5b82018360208201111561032b57600080fd5b8035906020019184600183028401116401000000008311171561034d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061077c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103d3610861565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104135780820151818401526020810190506103f8565b50505050905090810190601f1680156104405780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105516004803603608081101561046457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156104a157600080fd5b8201836020820111156104b357600080fd5b803590602001918460018302840111640100000000831117156104d557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061088c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600061058a848484610a3b565b90506000835111156105b25760008060008551602087016000865af114156105b157600080fd5b5b7f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2358185604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a19392505050565b60006106758585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505084610a3b565b905080604051602001808273ffffffffffffffffffffffffffffffffffffffff1660601b81526014019150506040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107165780820151818401526020810190506106fb565b50505050905090810190601f1680156107435780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60606040518060200161076390610bde565b6020820181038252601f19601f82011660405250905090565b60008260405161078b90610bde565b808273ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f0801580156107c7573d6000803e3d6000fd5b5090506000825111156107f05760008060008451602086016000865af114156107ef57600080fd5b5b7f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2358184604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a192915050565b60606040518060200161087390610beb565b6020820181038252601f19601f82011660405250905090565b6000808383604051602001808381526020018273ffffffffffffffffffffffffffffffffffffffff1660601b8152601401925050506040516020818303038152906040528051906020012060001c90506108e786868361057d565b9150600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610a32578273ffffffffffffffffffffffffffffffffffffffff16631e52b518838888886040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156109ca5780820151818401526020810190506109af565b50505050905090810190601f1680156109f75780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610a1957600080fd5b505af1158015610a2d573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600060405180602001610a8890610bde565b6020820181038252601f19601f820116604052508673ffffffffffffffffffffffffffffffffffffffff166040516020018083805190602001908083835b60208310610ae95780518252602082019150602081019050602083039250610ac6565b6001836020036101000a038019825116818451168082178552505050505050905001828152602001925050506040516020818303038152906040529050818151826020016000f59250600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bd5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f437265617465322063616c6c206661696c65640000000000000000000000000081525060200191505060405180910390fd5b50509392505050565b6101e680610bf883390190565b60ab80610dde8339019056fe608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f7669646564608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033a26469706673582212200c75fe2196b9f752c82794253f2ebce0d821afef5997e1d5a35ec316ce592f6664736f6c634300070600330000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d608060405234801561001057600080fd5b5060016004819055506159ae80620000296000396000f3fe6080604052600436106101dc5760003560e01c8063affed0e011610102578063e19a9dd911610095578063f08a032311610064578063f08a032314611647578063f698da2514611698578063f8dc5dd9146116c3578063ffa1ad741461173e57610231565b8063e19a9dd91461139b578063e318b52b146113ec578063e75235b81461147d578063e86637db146114a857610231565b8063cc2f8452116100d1578063cc2f8452146110e8578063d4d9bdcd146111b5578063d8d11f78146111f0578063e009cfde1461132a57610231565b8063affed0e014610d94578063b4faba0914610dbf578063b63e800d14610ea7578063c4ca3a9c1461101757610231565b80635624b25b1161017a5780636a761202116101495780636a761202146109945780637d83297414610b50578063934f3a1114610bbf578063a0e67e2b14610d2857610231565b80635624b25b146107fb5780635ae6bd37146108b9578063610b592514610908578063694e80c31461095957610231565b80632f54bf6e116101b65780632f54bf6e146104d35780633408e4701461053a578063468721a7146105655780635229073f1461067a57610231565b80630d582f131461029e57806312fb68e0146102f95780632d9ad53d1461046c57610231565b36610231573373ffffffffffffffffffffffffffffffffffffffff167f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d346040518082815260200191505060405180910390a2005b34801561023d57600080fd5b5060007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b905080548061027257600080f35b36600080373360601b365260008060143601600080855af13d6000803e80610299573d6000fd5b3d6000f35b3480156102aa57600080fd5b506102f7600480360360408110156102c157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117ce565b005b34801561030557600080fd5b5061046a6004803603608081101561031c57600080fd5b81019080803590602001909291908035906020019064010000000081111561034357600080fd5b82018360208201111561035557600080fd5b8035906020019184600183028401116401000000008311171561037757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156103da57600080fd5b8201836020820111156103ec57600080fd5b8035906020019184600183028401116401000000008311171561040e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050611bbe565b005b34801561047857600080fd5b506104bb6004803603602081101561048f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612440565b60405180821515815260200191505060405180910390f35b3480156104df57600080fd5b50610522600480360360208110156104f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612512565b60405180821515815260200191505060405180910390f35b34801561054657600080fd5b5061054f6125e4565b6040518082815260200191505060405180910390f35b34801561057157600080fd5b506106626004803603608081101561058857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156105cf57600080fd5b8201836020820111156105e157600080fd5b8035906020019184600183028401116401000000008311171561060357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506125f1565b60405180821515815260200191505060405180910390f35b34801561068657600080fd5b506107776004803603608081101561069d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156106e457600080fd5b8201836020820111156106f657600080fd5b8035906020019184600183028401116401000000008311171561071857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506127d7565b60405180831515815260200180602001828103825283818151815260200191508051906020019080838360005b838110156107bf5780820151818401526020810190506107a4565b50505050905090810190601f1680156107ec5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561080757600080fd5b5061083e6004803603604081101561081e57600080fd5b81019080803590602001909291908035906020019092919050505061280d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561087e578082015181840152602081019050610863565b50505050905090810190601f1680156108ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108c557600080fd5b506108f2600480360360208110156108dc57600080fd5b8101908080359060200190929190505050612894565b6040518082815260200191505060405180910390f35b34801561091457600080fd5b506109576004803603602081101561092b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128ac565b005b34801561096557600080fd5b506109926004803603602081101561097c57600080fd5b8101908080359060200190929190505050612c3e565b005b610b3860048036036101408110156109ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156109f257600080fd5b820183602082011115610a0457600080fd5b80359060200191846001830284011164010000000083111715610a2657600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610ab257600080fd5b820183602082011115610ac457600080fd5b80359060200191846001830284011164010000000083111715610ae657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612d78565b60405180821515815260200191505060405180910390f35b348015610b5c57600080fd5b50610ba960048036036040811015610b7357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506132b5565b6040518082815260200191505060405180910390f35b348015610bcb57600080fd5b50610d2660048036036060811015610be257600080fd5b810190808035906020019092919080359060200190640100000000811115610c0957600080fd5b820183602082011115610c1b57600080fd5b80359060200191846001830284011164010000000083111715610c3d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610ca057600080fd5b820183602082011115610cb257600080fd5b80359060200191846001830284011164010000000083111715610cd457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506132da565b005b348015610d3457600080fd5b50610d3d613369565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610d80578082015181840152602081019050610d65565b505050509050019250505060405180910390f35b348015610da057600080fd5b50610da9613512565b6040518082815260200191505060405180910390f35b348015610dcb57600080fd5b50610ea560048036036040811015610de257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610e1f57600080fd5b820183602082011115610e3157600080fd5b80359060200191846001830284011164010000000083111715610e5357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050613518565b005b348015610eb357600080fd5b506110156004803603610100811015610ecb57600080fd5b8101908080359060200190640100000000811115610ee857600080fd5b820183602082011115610efa57600080fd5b80359060200191846020830284011164010000000083111715610f1c57600080fd5b909192939192939080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610f6757600080fd5b820183602082011115610f7957600080fd5b80359060200191846001830284011164010000000083111715610f9b57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061353a565b005b34801561102357600080fd5b506110d26004803603608081101561103a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561108157600080fd5b82018360208201111561109357600080fd5b803590602001918460018302840111640100000000831117156110b557600080fd5b9091929391929390803560ff1690602001909291905050506136f8565b6040518082815260200191505060405180910390f35b3480156110f457600080fd5b506111416004803603604081101561110b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613820565b60405180806020018373ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019060200280838360005b838110156111a0578082015181840152602081019050611185565b50505050905001935050505060405180910390f35b3480156111c157600080fd5b506111ee600480360360208110156111d857600080fd5b8101908080359060200190929190505050613a12565b005b3480156111fc57600080fd5b50611314600480360361014081101561121457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561125b57600080fd5b82018360208201111561126d57600080fd5b8035906020019184600183028401116401000000008311171561128f57600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613bb1565b6040518082815260200191505060405180910390f35b34801561133657600080fd5b506113996004803603604081101561134d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613bde565b005b3480156113a757600080fd5b506113ea600480360360208110156113be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613f6f565b005b3480156113f857600080fd5b5061147b6004803603606081101561140f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613ff3565b005b34801561148957600080fd5b50611492614665565b6040518082815260200191505060405180910390f35b3480156114b457600080fd5b506115cc60048036036101408110156114cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561151357600080fd5b82018360208201111561152557600080fd5b8035906020019184600183028401116401000000008311171561154757600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061466f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561160c5780820151818401526020810190506115f1565b50505050905090810190601f1680156116395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561165357600080fd5b506116966004803603602081101561166a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614817565b005b3480156116a457600080fd5b506116ad614878565b6040518082815260200191505060405180910390f35b3480156116cf57600080fd5b5061173c600480360360608110156116e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506148f6565b005b34801561174a57600080fd5b50611753614d29565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015611793578082015181840152602081019050611778565b50505050905090810190601f1680156117c05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6117d6614d62565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156118405750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561187857503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6118ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506003600081548092919060010191905055507f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2682604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414611bba57611bb981612c3e565b5b5050565b611bd2604182614e0590919063ffffffff16565b82511015611c48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000808060008060005b8681101561243457611c648882614e3f565b80945081955082965050505060008460ff16141561206d578260001c9450611c96604188614e0590919063ffffffff16565b8260001c1015611d0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8751611d2760208460001c614e6e90919063ffffffff16565b1115611d9b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006020838a01015190508851611dd182611dc360208760001c614e6e90919063ffffffff16565b614e6e90919063ffffffff16565b1115611e45576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60606020848b010190506320c13b0b60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168773ffffffffffffffffffffffffffffffffffffffff166320c13b0b8d846040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611ee7578082015181840152602081019050611ecc565b50505050905090810190601f168015611f145780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611f4d578082015181840152602081019050611f32565b50505050905090810190601f168015611f7a5780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b158015611f9957600080fd5b505afa158015611fad573d6000803e3d6000fd5b505050506040513d6020811015611fc357600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614612066576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b50506122b2565b60018460ff161415612181578260001c94508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061210a57506000600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c81526020019081526020016000205414155b61217c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6122b1565b601e8460ff1611156122495760018a60405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018281526020019150506040516020818303038152906040528051906020012060048603858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612238573d6000803e3d6000fd5b5050506020604051035194506122b0565b60018a85858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156122a3573d6000803e3d6000fd5b5050506020604051035194505b5b5b8573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161180156123795750600073ffffffffffffffffffffffffffffffffffffffff16600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b80156123b25750600173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b612424576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323600000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8495508080600101915050611c52565b50505050505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff16600173ffffffffffffffffffffffffffffffffffffffff161415801561250b5750600073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156125dd5750600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000804690508091505090565b6000600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156126bc5750600073ffffffffffffffffffffffffffffffffffffffff16600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b61272e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61273b858585855a614e8d565b9050801561278b573373ffffffffffffffffffffffffffffffffffffffff167f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb860405160405180910390a26127cf565b3373ffffffffffffffffffffffffffffffffffffffff167facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37560405160405180910390a25b949350505050565b600060606127e7868686866125f1565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b606060006020830267ffffffffffffffff8111801561282b57600080fd5b506040519080825280601f01601f19166020018201604052801561285e5781602001600182028036833780820191505090505b50905060005b8381101561288957808501548060208302602085010152508080600101915050612864565b508091505092915050565b60076020528060005260406000206000915090505481565b6128b4614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561291e5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b612990576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612a91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b612c46614d62565b600354811115612cbe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001811015612d35576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b806004819055507f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c936004546040518082815260200191505060405180910390a150565b6000806000612d928e8e8e8e8e8e8e8e8e8e60055461466f565b905060056000815480929190600101919050555080805190602001209150612dbb8282866132da565b506000612dc6614ed9565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612fac578073ffffffffffffffffffffffffffffffffffffffff166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b8152600401808d73ffffffffffffffffffffffffffffffffffffffff1681526020018c8152602001806020018a6001811115612e6957fe5b81526020018981526020018881526020018781526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018473ffffffffffffffffffffffffffffffffffffffff16815260200183810383528d8d82818152602001925080828437600081840152601f19601f820116905080830192505050838103825285818151815260200191508051906020019080838360005b83811015612f3b578082015181840152602081019050612f20565b50505050905090810190601f168015612f685780820380516001836020036101000a031916815260200191505b509e505050505050505050505050505050600060405180830381600087803b158015612f9357600080fd5b505af1158015612fa7573d6000803e3d6000fd5b505050505b6101f4612fd36109c48b01603f60408d0281612fc457fe5b04614f0a90919063ffffffff16565b015a1015613049576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60005a90506130b28f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e60008d146130a7578e6130ad565b6109c45a035b614e8d565b93506130c75a82614f2490919063ffffffff16565b905083806130d6575060008a14155b806130e2575060008814155b613154576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008089111561316e5761316b828b8b8b8b614f44565b90505b84156131b8577f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e8482604051808381526020018281526020019250505060405180910390a16131f8565b7f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238482604051808381526020018281526020019250505060405180910390a15b5050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146132a4578073ffffffffffffffffffffffffffffffffffffffff16639327136883856040518363ffffffff1660e01b815260040180838152602001821515815260200192505050600060405180830381600087803b15801561328b57600080fd5b505af115801561329f573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6008602052816000526040600020602052806000526040600020600091509150505481565b6000600454905060008111613357576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61336384848484611bbe565b50505050565b6060600060035467ffffffffffffffff8111801561338657600080fd5b506040519080825280602002602001820160405280156133b55781602001602082028036833780820191505090505b50905060008060026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614613509578083838151811061346057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050818060010192505061341f565b82935050505090565b60055481565b600080825160208401855af4806000523d6020523d600060403e60403d016000fd5b6135858a8a80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050508961514a565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146135c3576135c28461564a565b5b6136118787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050615679565b600082111561362b5761362982600060018685614f44565b505b3373ffffffffffffffffffffffffffffffffffffffff167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b8960405180806020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281038252878782818152602001925060200280828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a250505050505050505050565b6000805a905061374f878787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050865a614e8d565b61375857600080fd5b60005a8203905080604051602001808281526020019150506040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156137e55780820151818401526020810190506137ca565b50505050905090810190601f1680156138125780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b606060008267ffffffffffffffff8111801561383b57600080fd5b5060405190808252806020026020018201604052801561386a5781602001602082028036833780820191505090505b509150600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561393d5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561394857508482105b15613a03578084838151811061395a57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081806001019250506138d3565b80925081845250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff16600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613b14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16817ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c60405160405180910390a350565b6000613bc68c8c8c8c8c8c8c8c8c8c8c61466f565b8051906020012090509b9a5050505050505050505050565b613be6614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015613c505750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b613cc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613dc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613f77614d62565b60007f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b90508181557f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa282604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613ffb614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156140655750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561409d57503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b61410f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614210576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561427a5750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6142ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146143ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a17f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1505050565b6000600454905090565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d60405180838380828437808301925050509250505060405180910390208c8c8c8c8c8c8c604051602001808c81526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a815260200189815260200188600181111561470057fe5b81526020018781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019b505050505050505050505050604051602081830303815290604052805190602001209050601960f81b600160f81b61478c614878565b8360405160200180857effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101847effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018381526020018281526020019450505050506040516020818303038152906040529150509b9a5050505050505050505050565b61481f614d62565b6148288161564a565b7f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a7946921860001b6148a66125e4565b30604051602001808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405160208183030381529060405280519060200120905090565b6148fe614d62565b806001600354031015614979576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156149e35750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b614a55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614b55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360008154809291906001900391905055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414614d2457614d2381612c3e565b5b505050565b6040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614614e03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b565b600080831415614e185760009050614e39565b6000828402905082848281614e2957fe5b0414614e3457600080fd5b809150505b92915050565b60008060008360410260208101860151925060408101860151915060ff60418201870151169350509250925092565b600080828401905083811015614e8357600080fd5b8091505092915050565b6000600180811115614e9b57fe5b836001811115614ea757fe5b1415614ec0576000808551602087018986f49050614ed0565b600080855160208701888a87f190505b95945050505050565b6000807f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b9050805491505090565b600081831015614f1a5781614f1c565b825b905092915050565b600082821115614f3357600080fd5b600082840390508091505092915050565b600080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614614f815782614f83565b325b9050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561509b57614fed3a8610614fca573a614fcc565b855b614fdf888a614e6e90919063ffffffff16565b614e0590919063ffffffff16565b91508073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050615096576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b615140565b6150c0856150b2888a614e6e90919063ffffffff16565b614e0590919063ffffffff16565b91506150cd8482846158b4565b61513f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5095945050505050565b6000600454146151c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8151811115615239576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60018110156152b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006001905060005b83518110156155b65760008482815181106152d057fe5b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156153445750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561537c57503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156153b457508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b615426576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614615527576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508092505080806001019150506152b9565b506001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550825160038190555081600481905550505050565b60007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b90508181555050565b600073ffffffffffffffffffffffffffffffffffffffff1660016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461577b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001806000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146158b05761583d8260008360015a614e8d565b6158af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5050565b60008063a9059cbb8484604051602401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050602060008251602084016000896127105a03f13d6000811461595b5760208114615963576000935061596e565b81935061596e565b600051158215171593505b505050939250505056fea26469706673582212203874bcf92e1722cc7bfa0cef1a0985cf0dc3485ba0663db3747ccdf1605df53464736f6c63430007060033885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12da2646970667358221220e828d3ff60c8e32d6d02f85e7cb2ee98dc9efccf33e633bdf92c05d0b0e7e55a64736f6c63430008130033","sourceMap":"1212:9146:139:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:15;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;59688:179:141;;;;;;:::i;:::-;;:::i;:::-;;2429:119:15;;;:::i;718:28:141:-;;;;;-1:-1:-1;;;;;718:28:141;;;4045:101:15;;;:::i;56023:1145:141:-;;;;;;:::i;:::-;;:::i;2124:3464:139:-;;;:::i;226:92:15:-;306:4;226:92;;905:138;968:7;905:138;;2159:111:17;2244:19;;-1:-1:-1;;;;;2244:19:17;2159:111;;5594:592:139;;;:::i;:::-;;;3303:25:142;;;3291:2;3276:18;5594:592:139;3157:177:142;2572:97:17;2650:12;;2572:97;;889:167:141;;;;;;:::i;:::-;;:::i;3126:109:15:-;;;:::i;644:38:141:-;;681:1;644:38;;2554:113:15;;;:::i;2452:134:25:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;1105:43:134:-;;1140:8;1105:43;;2757:105:17;2839:16;;-1:-1:-1;;;;;2839:16:17;2757:105;;1503:437:134;;;;;;:::i;:::-;;:::i;967:109::-;;;:::i;:::-;;;;;;;;:::i;2276:97:17:-;2354:12;;2276:97;;3221:133:25;;;:::i;1154:50:134:-;;1197:7;1154:50;;2922:141:25;;;:::i;9170:46249:141:-;;;:::i;1331:118:15:-;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;828:25:141:-;;;;;;4152:99:15;;;:::i;2738:178:25:-;;;:::i;:::-;;;;;;;:::i;1876:107:15:-;;;:::i;689:23:141:-;;;;;-1:-1:-1;;;;;689:23:141;;;59529:153;;;;;;:::i;:::-;;:::i;9309:464:139:-;;;:::i;2792:241:15:-;;;:::i;7147:606:139:-;;;:::i;4376:105:15:-;;;:::i;788:34:141:-;;;;;;1989:232:15;;;:::i;610:85:17:-;;;:::i;2673:113:15:-;;;:::i;439:101::-;;;:::i;7915:285:139:-;;;:::i;2592:140:25:-;;;:::i;:::-;;;;;;;:::i;4608:578:134:-;;;;;;:::i;:::-;;:::i;753:29:141:-;;;;;-1:-1:-1;;;;;753:29:141;;;1537:101:15;;;:::i;3485:113::-;;;:::i;3069:146:25:-;;;:::i;8206:502:139:-;;;:::i;6455:686::-;;;:::i;4412:75:9:-;;4445:42;4412:75;;3604:241:15;;;:::i;6192:257:139:-;;;:::i;3938:101:15:-;;;:::i;2157:141:25:-;;;:::i;1243:204:21:-;;;:::i;:::-;;;13718:14:142;;13711:22;13693:41;;13681:2;13666:18;1243:204:21;13553:187:142;1170:7994:141;;;:::i;1677:49:139:-;;1715:11;1677:49;;59873:493:141;;;;;;:::i;:::-;;:::i;1946:1182:134:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2461:105:17:-;2543:16;;-1:-1:-1;;;;;2543:16:17;2461:105;;7759:150:139;;;:::i;555:83:141:-;;596:42;555:83;;1644:113:15;;;:::i;2314:109::-;;;:::i;468:81:141:-;;507:42;468:81;;4571:105:15;;;:::i;647:73:16:-;;;:::i;546:124:15:-;;;:::i;324:109::-;;;:::i;57174:1547:141:-;;;:::i;3134:1468:134:-;;;;;;:::i;:::-;;:::i;2304:142:25:-;;;:::i;6040:380:134:-;;;;;;:::i;:::-;;:::i;8714:589:139:-;;;:::i;3241:119:15:-;;;:::i;55425:396:141:-;;;;;;:::i;:::-;;:::i;9779:577:139:-;;;:::i;1016:26:32:-;;;;;;;;;1454:21:139;;;;;-1:-1:-1;;;;;1454:21:139;;;2050:103:17;2131:15;;2050:103;;1975:142:139;;;:::i;1763:107:15:-;1812:7;1838:25;;;;;;;;;;;;;;-1:-1:-1;;;1838:25:15;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;59688:179:141:-;59803:57;59814:12;59828:16;59846:3;59851:5;59858:1;59803:10;:57::i;:::-;59688:179;;;;:::o;2429:119:15:-;2484:7;2510:31;;;;;;;;;;;;;;-1:-1:-1;;;2510:31:15;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;-1:-1:-1;;;4117:22:15;;;:8;:22::i;56023:1145:141:-;56255:16;;56122:4;;-1:-1:-1;;;;;56255:16:141;56243:886;;-1:-1:-1;;;;;56306:49:141;;56302:481;;56375:31;56417:13;:11;:13::i;:::-;56375:56;;56532:25;:23;:25::i;:::-;56616:88;;-1:-1:-1;;;56616:88:141;;-1:-1:-1;;;;;22054:32:142;;;56616:88:141;;;22036:51:142;22123:2;22103:18;;;22096:30;56575:10:141;22142:18:142;;;22135:29;;;681:1:141;22216:18:142;;;22209:34;56512:45:141;;-1:-1:-1;56616:38:141;;;;;22181:19:142;;56616:88:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;56723:16;:45;;-1:-1:-1;;;;;;56723:45:141;-1:-1:-1;;;;;56723:45:141;;;;;;;;;;-1:-1:-1;;56302:481:141;56814:16;;56797:54;;;-1:-1:-1;;;56797:54:141;;-1:-1:-1;;;;;56814:16:141;;;56797:54;;;22879:51:142;22946:18;;;22939:30;23005:2;22985:18;;;22978:30;-1:-1:-1;;;23024:18:142;;;23017:45;-1:-1:-1;;;;;;;;;;;56797:8:141;;;23079:19:142;;56797:54:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;56865:45:141;;;-1:-1:-1;;;56865:45:141;;-1:-1:-1;;;;;23339:32:142;;56865:45:141;;;23321:51:142;23388:18;;;23381:30;;;;23447:2;23427:18;;;23420:30;-1:-1:-1;;;23466:18:142;;;23459:46;-1:-1:-1;;;;;;;;;;;56865:8:141;-1:-1:-1;56865:8:141;;-1:-1:-1;23522:19:142;;56865:45:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;56924:23:141;;-1:-1:-1;56964:1:141;;-1:-1:-1;56950:16:141;;-1:-1:-1;56950:16:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;56950:16:141;;56924:42;;57000:6;56980;56987:1;56980:9;;;;;;;;:::i;:::-;-1:-1:-1;;;;;56980:27:141;;;:9;;;;;;;;;:27;57021:16;;:97;;-1:-1:-1;;;57021:97:141;;:16;;;:22;;:97;;57044:6;;57021:16;;;;;;;;;;;;:97;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;56288:841;56243:886;-1:-1:-1;57145:16:141;;-1:-1:-1;;;;;57145:16:141;56023:1145;;;;;:::o;2124:3464:139:-;2265:21;:19;:21::i;:::-;2296:32;2316:10;:8;:10::i;:::-;2296:11;:32::i;:::-;-1:-1:-1;;;;;;;;;;;2339:13:139;2353:12;:10;:12::i;:::-;2339:27;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2376:6;:4;:6::i;:::-;:23;;-1:-1:-1;;;2376:23:139;;2397:1;2376:23;;;3303:25:142;-1:-1:-1;;;;;2376:20:139;;;;;;;3276:18:142;;2376:23:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2409:6;:4;:6::i;:::-;:26;;-1:-1:-1;;;2409:26:139;;2433:1;2409:26;;;3303:25:142;-1:-1:-1;;;;;2409:23:139;;;;;;;3276:18:142;;2409:26:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;309:37:20;;-1:-1:-1;;;;;2445:12:139;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2512:2;2478:37;;;;;:::i;:::-;25259:2:142;25241:21;;;25298:2;25278:18;;;25271:30;-1:-1:-1;;;25332:3:142;25317:19;;25310:41;25389:3;25382:4;25367:20;;25360:33;;;25430:1;25409:19;;;25402:30;-1:-1:-1;;;25463:3:142;25448:19;;25441:34;25559:4;25547:17;;;-1:-1:-1;25527:18:142;;25520:45;25507:3;25492:19;2478:37:139;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2470:5:139;:45;;-1:-1:-1;;;;;;2470:45:139;-1:-1:-1;;;;;2470:45:139;;;;;;;;;2525:10;306:4:15;2545:16:139;2560:1;1764:10;2545:16;:::i;:::-;2525:37;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2572:5:139;;-1:-1:-1;;;;;2572:5:139;;-1:-1:-1;2572:10:139;;-1:-1:-1;2583:12:139;:10;:12::i;:::-;2597:16;2612:1;1764:10;2597:16;:::i;:::-;2572:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2654:5:139;;-1:-1:-1;;;;;2654:5:139;;-1:-1:-1;2654:10:139;;-1:-1:-1;2673:1:139;2677:16;2692:1;1764:10;2677:16;:::i;:::-;2654:40;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2704:5:139;;-1:-1:-1;;;;;2704:5:139;;-1:-1:-1;2704:13:139;;-1:-1:-1;2726:6:139;:4;:6::i;:::-;2735:10;2704:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;2757:13:139;2771:12;:10;:12::i;:::-;2757:27;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2794:6;:4;:6::i;:::-;-1:-1:-1;;;;;2794:24:139;;306:4:15;2794:33:139;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;309:37:20;;-1:-1:-1;;;;;2837:12:139;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2876:12:139;;2862:27;;-1:-1:-1;;;2862:27:139;;-1:-1:-1;;;;;;;;;;;2862:13:139;-1:-1:-1;2862:13:139;;-1:-1:-1;2862:27:139;;-1:-1:-1;;;;;2876:12:139;;2862:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3049:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3096:75:139;;;1962:7;3096:75;;;;3303:25:142;;;;3096:75:139;;;;;;;;;;3276:18:142;;;;3096:75:139;;;;;;;-1:-1:-1;;;;;3096:75:139;-1:-1:-1;;;3096:75:139;;;2999:194;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;2900:14;;:335;;;;;-1:-1:-1;;;;;2900:335:139;;;;;-1:-1:-1;;;;;2900:335:139;;;;;;-1:-1:-1;;;;;;;;;;;309:37:20;;-1:-1:-1;;;;;3323:12:139;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3348:51;;:::i;:::-;3432:6;:4;:6::i;:::-;-1:-1:-1;;;;;3409:30:139;;;;;3486:5;;;3449:19;;;;:44;;;;1813:7;3503:27;;;;:43;;;;3486:5;3556:20;;;:47;3644:4;3614:19;;;:35;3660:27;;;;;;;;3679:8;3660:27;;;;;;;;;3679:8;;3660:27;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3660:27:139;;;;-1:-1:-1;;;3660:16:139;;;:27;3735:14;:12;:14::i;:::-;-1:-1:-1;;;;;3697:54:139;:19;;;:54;3933:25;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4114:12:139;;4205:27;;-1:-1:-1;;;4037:39:139;-1:-1:-1;;;;;4114:12:139;;4165:1;;4205:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;4271:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;4330:21;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3985:393:139;;-1:-1:-1;;;;;27913:15:142;;;3985:393:139;;;27895:34:142;27965:15;;;27945:18;;;27938:43;28017:15;;;27997:18;;;27990:43;28069:15;;28049:18;;;28042:43;28122:15;;;28101:19;;;28094:44;27829:19;;3985:393:139;;;-1:-1:-1;;3985:393:139;;;;;;;;;;;;;;-1:-1:-1;;;;;3985:393:139;-1:-1:-1;;;;;;3985:393:139;;;;;;;;;;3883:517;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3817:630:139;;4448:6;3817:638;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3762:17;:703;;-1:-1:-1;;;;;;3762:703:139;-1:-1:-1;;;;;3762:703:139;;;;;;;;;4762:33;;;;;;;;;-1:-1:-1;;;;4552:28:139;;4445:42:9;;4614:311:139;;3762:703;;-1:-1:-1;;4723:21:139;;4762:33;4780:14;1140:8:134;4780:3:139;:14;:::i;:::-;4762:33;;4813:98;;;;;;;;;4830:14;;-1:-1:-1;;;;;4830:14:139;4813:98;;;;;4862:14;:12;:14::i;:::-;-1:-1:-1;;;;;4813:98:139;;;;;4880:10;4813:98;;;;4892:10;4813:98;;;;4904:1;4813:98;;;;4907:3;4813:98;;;4614:9;:311::i;:::-;4939:8;4552:405;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4968:6;:16;;;4994:10;:47;;-1:-1:-1;;;;;;4994:47:139;-1:-1:-1;;;;;4994:47:139;;;;;4968:16;;-1:-1:-1;4994:47:139;-1:-1:-1;;;;;;;;;;;;5051:13:139;5065:12;:10;:12::i;:::-;5051:27;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5120:17:139;;5238:10;;5167:83;;5088:172;;-1:-1:-1;;;;;;5120:17:139;;;;-1:-1:-1;5120:17:139;;-1:-1:-1;;;5190:38:139;5167:83;;5238:10;;;5167:83;;;:::i;:::-;;;;-1:-1:-1;;5167:83:139;;;;;;;;;;;;;;-1:-1:-1;;;;;5167:83:139;-1:-1:-1;;;;;;5167:83:139;;;;;;;;;;5088:10;:172::i;:::-;-1:-1:-1;;;;;;;;;;;309:37:20;;-1:-1:-1;;;;;5270:12:139;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5295:17;;;;;;;;;-1:-1:-1;;;;;5295:17:139;-1:-1:-1;;;;;5295:29:139;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5343:17;;-1:-1:-1;;;;;5295:39:139;;;;;;5343:17;2114:3;2059:50;5343:17;;2059:50;:::i;:::-;2042:68;;1813:7;2042:68;:::i;:::-;2041:76;;;;:::i;:::-;2025:92;;1813:7;2025:92;:::i;:::-;5295:84;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5389:17;;;;;;;;;-1:-1:-1;;;;;5389:17:139;-1:-1:-1;;;;;5389:40:139;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5441:10;;;;;;;;;-1:-1:-1;;;;;5441:10:139;-1:-1:-1;;;;;5441:25:139;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5479:35:139;;-1:-1:-1;;;5479:35:139;;-1:-1:-1;;;;;;;;;;;5479:7:139;-1:-1:-1;5479:7:139;;-1:-1:-1;5479:35:139;;5495:4;;1715:11;;5479:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5524:6;:4;:6::i;:::-;:57;;-1:-1:-1;;;5524:57:139;;;;;33289:25:142;;;1715:11:139;33330:18:142;;;33323:34;;;-1:-1:-1;;;;;5524:15:139;;;;;;;33262:18:142;;5524:57:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2148:3440;;;2124:3464::o;5594:592::-;5636:18;5666:21;5690:7;5666:31;;5707:30;5740:78;;;;;;;;5755:6;;5740:78;;;;5763:12;:10;:12::i;:::-;-1:-1:-1;;;;;5740:78:139;;;;;5777:13;5740:78;;;;4445:42:9;-1:-1:-1;;;;;5740:78:139;;;;;5809:8;5740:78;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5707:111;;5828:17;5859:8;5848:20;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5848:20:139;;;;;;;;;5923:10;;-1:-1:-1;;;5923:32:139;;;;5848:20;;-1:-1:-1;5883:33:139;;-1:-1:-1;;;;;5923:10:139;;;;:30;;:32;;;;;;;;;;;;;;:10;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5879:76;;;;;;;-1:-1:-1;;;;;;;;;;;309:37:20;;-1:-1:-1;;;;;5965:7:139;;5973:12;:10;:12::i;:::-;5987:25;5965:48;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;6024:13:139;-1:-1:-1;6024:13:139;;-1:-1:-1;6038:12:139;;-1:-1:-1;6038:10:139;:12::i;:::-;6024:27;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6082:6;:4;:6::i;:::-;-1:-1:-1;;;;;6082:24:139;;6114:25;6141:6;;6149:4;6082:72;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;6061:94:139;;;-1:-1:-1;;;;;;;;;;;309:37:20;;-1:-1:-1;;;;;6165:12:139;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5656:530;;;;5594:592;:::o;889:167:141:-;952:4;975:74;997:6;1022:25;:23;:25::i;3126:109:15:-;3176:7;3202:26;;;;;;;;;;;;;;-1:-1:-1;;;3202:26:15;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;-1:-1:-1;;;2632:28:15;;;:8;:28::i;2452:134:25:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:25;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;1503:437:134:-;1675:16;;1648:7;;1671:230;;1801:48;;;;;;;;1821:1;1801:48;;;;;;;;;;;;-1:-1:-1;;;1801:48:134;;;;;;;;;;;1740:150;;-1:-1:-1;;;1740:150:134;;-1:-1:-1;;;;;1740:22:134;;;;;:150;;1780:1;;1851:10;;1863:13;;1740:150;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1721:16;:169;1671:230;-1:-1:-1;1917:16:134;;1503:437;;;;;;:::o;967:109::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3221:133:25:-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:25;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:25;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;9170:46249:141:-;9209:4;9229:34;596:42;9229:18;:34::i;:::-;9225:92;;;-1:-1:-1;596:42:141;;9170:46249::o;9225:92::-;9351:46051;;;;;;;;;;;;;;;;;;:16;:46051::i;1331:118:15:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:15;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;-1:-1:-1;;;3444:28:15;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;-1:-1:-1;;;4335:28:15;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;-1:-1:-1;;;4223:21:15;;;:8;:21::i;2738:178:25:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:15;1925:7;1951:25;;;;;;;;;;;;;;-1:-1:-1;;;1951:25:15;;;:8;:25::i;59529:153:141:-;59626:11;;59639:15;;59615:60;;-1:-1:-1;;;;;59626:11:141;;59656:3;59661:5;59668:6;59615:10;:60::i;:::-;59529:153;;;:::o;9309:464:139:-;9365:18;9386:16;:14;:16::i;:::-;9421:10;;9413:29;;-1:-1:-1;;;9413:29:139;;9365:37;;-1:-1:-1;;;;;;;;;;;;9413:7:139;;;:29;;-1:-1:-1;;;;;9421:10:139;;;;9433:8;;9413:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9461:10:139;;9452:20;;-1:-1:-1;;;9452:20:139;;-1:-1:-1;;;;;;;;;;;9452:8:139;-1:-1:-1;9452:8:139;;-1:-1:-1;9452:20:139;;-1:-1:-1;;;;;9461:10:139;;9452:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9502:10:139;;9482:17;;-1:-1:-1;;;;;;9502:10:139;;-1:-1:-1;9502:26:139;9536:28;1962:7;9536:10;:28;:::i;:::-;9566:10;9502:83;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9596:54;;-1:-1:-1;;;9596:54:139;;9482:103;;-1:-1:-1;;;;;;;;;;;;9596:15:139;;;:54;;-1:-1:-1;;;9612:37:139;9596:54;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;9660:8:139;-1:-1:-1;9660:8:139;;-1:-1:-1;9677:14:139;;-1:-1:-1;9677:12:139;:14::i;:::-;9660:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9703:14:139;;9754:10;;9703:63;;-1:-1:-1;;;9703:63:139;;-1:-1:-1;;;;;9703:14:139;;;;-1:-1:-1;9703:28:139;;-1:-1:-1;9703:63:139;;9732:9;;9743:1;;9754:10;;;9703:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9355:418;;9309:464::o;2792:241:15:-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:15;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:15;;;-1:-1:-1;;;;;2926:32:15;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:15;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:15:o;7147:606:139:-;7193:18;7214:16;:14;:16::i;:::-;7249:10;;7241:29;;-1:-1:-1;;;7241:29:139;;7193:37;;-1:-1:-1;;;;;;;;;;;;7241:7:139;;;:29;;-1:-1:-1;;;;;7249:10:139;;;;7261:8;;7241:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7289:10:139;;7280:20;;-1:-1:-1;;;7280:20:139;;-1:-1:-1;;;;;;;;;;;7280:8:139;-1:-1:-1;7280:8:139;;-1:-1:-1;7280:20:139;;-1:-1:-1;;;;;7289:10:139;;7280:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7330:10:139;;7310:17;;-1:-1:-1;;;;;;7330:10:139;;-1:-1:-1;7330:26:139;7364:28;1962:7;7364:10;:28;:::i;:::-;7394:10;7330:83;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7310:103;-1:-1:-1;;;;;;;;;;;;7424:8:139;7441:14;:12;:14::i;:::-;7424:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7467:14:139;;7518:10;;7467:63;;-1:-1:-1;;;7467:63:139;;-1:-1:-1;;;;;7467:14:139;;;;-1:-1:-1;7467:28:139;;-1:-1:-1;7467:63:139;;7496:9;;7507:1;;7518:10;;;7467:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7602:14:139;;:34;;-1:-1:-1;;;7602:34:139;;;;;3303:25:142;;;7547:14:139;;-1:-1:-1;7547:14:139;;-1:-1:-1;;;;;;7602:14:139;;;;:23;;3276:18:142;;7602:34:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7602:34:139;;;;;;;;;;;;:::i;:::-;7541:95;;;;;;;;7646:19;7655:6;7663:1;7646:8;:19::i;:::-;7675:71;7692:6;7684:15;;;;;;;;:::i;:::-;7709:35;7675:8;:71::i;4376:105:15:-;4424:7;4450:24;;;;;;;;;;;;;;-1:-1:-1;;;4450:24:15;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:15;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:15;;;-1:-1:-1;;;;;2120:29:15;;;;;2173:15;:13;:15::i;610:85:17:-;678:10;;;;;-1:-1:-1;;;;;678:10:17;;610:85::o;2673:113:15:-;2725:7;2751:28;;;;;;;;;;;;;;-1:-1:-1;;;2751:28:15;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;-1:-1:-1;;;511:22:15;;;:8;:22::i;7915:285:139:-;7994:10;;7986:29;;-1:-1:-1;;;7986:29:139;;-1:-1:-1;;;;;;;;;;;7986:7:139;;;:29;;-1:-1:-1;;;;;7994:10:139;;8006:8;;7986:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8034:10:139;;8025:20;;-1:-1:-1;;;8025:20:139;;-1:-1:-1;;;;;;;;;;;8025:8:139;-1:-1:-1;8025:8:139;;-1:-1:-1;8025:20:139;;-1:-1:-1;;;;;8034:10:139;;8025:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8055:65:139;;-1:-1:-1;;;8055:65:139;;-1:-1:-1;;;;;;;;;;;8055:15:139;-1:-1:-1;8055:15:139;;-1:-1:-1;8055:65:139;;-1:-1:-1;;;8071:48:139;8055:65;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8130:14:139;;-1:-1:-1;;;;;8130:14:139;;-1:-1:-1;8130:28:139;;-1:-1:-1;8166:19:139;8130:14;1962:7;8166:19;:::i;:::-;8187:1;8130:63;;;;;;;;;;;;;39872:25:142;;39933:2;39928;39913:18;;39906:30;;;-1:-1:-1;39952:18:142;;;39945:29;40006:2;39991:18;;39653:362;8130:63:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7915:285::o;2592:140:25:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4608:578:134;4899:14;4932:247;4956:4;4974:8;4996:17;5027:8;5049:5;5068:12;5094:11;5119:20;;;;;;;;5137:1;5119:20;;;5153:16;4932:10;:247::i;:::-;4925:254;4608:578;-1:-1:-1;;;;;;;;;4608:578:134:o;1537:101:15:-;1583:7;1609:22;;;;;;;;;;;;;;-1:-1:-1;;;1609:22:15;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;-1:-1:-1;;;3563:28:15;;;:8;:28::i;3069:146:25:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8206:502:139;8269:18;8290:16;:14;:16::i;:::-;8325:10;;8317:29;;-1:-1:-1;;;8317:29:139;;8269:37;;-1:-1:-1;;;;;;;;;;;;8317:7:139;;;:29;;-1:-1:-1;;;;;8325:10:139;;;;8337:8;;8317:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8365:10:139;;8356:20;;-1:-1:-1;;;8356:20:139;;-1:-1:-1;;;;;;;;;;;8356:8:139;-1:-1:-1;8356:8:139;;-1:-1:-1;8356:20:139;;-1:-1:-1;;;;;8365:10:139;;8356:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8406:10:139;;8386:17;;-1:-1:-1;;;;;;8406:10:139;;-1:-1:-1;8406:26:139;8440:28;1962:7;8440:10;:28;:::i;:::-;8470:10;8406:83;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8573:10;;8585:11;;8516:81;;;-1:-1:-1;;;;;8573:10:139;;;8516:81;;;40247:34:142;8585:11:139;;;;40297:18:142;;;;40290:43;;;;8516:81:139;;;;;;;;;;40182:18:142;;;;8516:81:139;;;;;;;-1:-1:-1;;;;;8516:81:139;-1:-1:-1;;;8516:81:139;;;8500:98;-1:-1:-1;;;8500:98:139;;8386:103;;-1:-1:-1;;;;;;;;;;;;8500:15:139;;;:98;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8617:10:139;;8608:20;;-1:-1:-1;;;8608:20:139;;-1:-1:-1;;;;;;;;;;;8608:8:139;-1:-1:-1;8608:8:139;;-1:-1:-1;8608:20:139;;-1:-1:-1;;;;;8617:10:139;;8608:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8638:14:139;;8689:10;;8638:63;;-1:-1:-1;;;8638:63:139;;-1:-1:-1;;;;;8638:14:139;;;;-1:-1:-1;8638:28:139;;-1:-1:-1;8638:63:139;;8667:9;;8678:1;;8689:10;;;8638:63;;;:::i;6455:686::-;6501:18;6522:16;:14;:16::i;:::-;6556:10;;6548:29;;-1:-1:-1;;;6548:29:139;;6501:37;;-1:-1:-1;;;;;;;;;;;;6548:7:139;;;:29;;-1:-1:-1;;;;;6556:10:139;;;;6568:8;;6548:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6596:10:139;;6587:20;;-1:-1:-1;;;6587:20:139;;-1:-1:-1;;;;;;;;;;;6587:8:139;-1:-1:-1;6587:8:139;;-1:-1:-1;6587:20:139;;-1:-1:-1;;;;;6596:10:139;;6587:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6638:10:139;;6618:17;;-1:-1:-1;;;;;;6638:10:139;;-1:-1:-1;6638:26:139;6672:28;1962:7;6672:10;:28;:::i;:::-;6702:10;6638:83;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6907:14;;:34;;-1:-1:-1;;;6907:34:139;;;;;3303:25:142;;;6618:103:139;;-1:-1:-1;6799:15:139;;;;;;;;-1:-1:-1;;;;;6907:14:139;;:23;;3276:18:142;;6907:34:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6907:34:139;;;;;;;;;;;;:::i;:::-;6795:146;;;;;;;;;;6952:20;6961:7;6970:1;6952:8;:20::i;:::-;6982:41;6991:14;1962:7;6982:8;:41::i;:::-;7033:19;7042:6;7050:1;7033:8;:19::i;:::-;7062:72;7079:6;7071:15;;;;;;;;:::i;:::-;7096:36;7675:8;:71::i;3604:241:15:-;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:15;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:15;;;-1:-1:-1;;;;;3738:32:15;;;;;3794:18;:16;:18::i;6192:257:139:-;6256:12;;6242:27;;-1:-1:-1;;;6242:27:139;;-1:-1:-1;;;;;;;;;;;6242:13:139;;;:27;;-1:-1:-1;;;;;6256:12:139;;6242:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6316:14:139;;:40;;-1:-1:-1;;;6316:40:139;;6296:10;6316:40;;;3303:25:142;;;6296:10:139;-1:-1:-1;;;;;;6316:14:139;;;;-1:-1:-1;6316:32:139;;3276:18:142;;6316:40:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6375:14:139;;:34;;-1:-1:-1;;;6375:34:139;;40768:2:142;6375:34:139;;;40750:21:142;-1:-1:-1;40787:18:142;;;40780:29;6366:52:139;;-1:-1:-1;;;;;;6375:14:139;;;;-1:-1:-1;6375:30:139;;40826:18:142;;6375:34:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6411:6;6366:8;:52::i;:::-;-1:-1:-1;;;;;;;;;;;309:37:20;;-1:-1:-1;;;;;6428:12:139;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6232:217;6192:257::o;3938:101:15:-;3984:7;4010:22;;;;;;;;;;;;;;-1:-1:-1;;;4010:22:15;;;:8;:22::i;2157:141:25:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1243:204:21;1302:7;;1282:4;;1302:7;;1298:143;;;-1:-1:-1;1332:7:21;;;;;1243:204::o;1298:143::-;1377:39;;-1:-1:-1;;;1377:39:21;;1428:1;;-1:-1:-1;;;;;;;;;;;1377:7:21;;;:39;;-1:-1:-1;;;;;;;;;;;219:28:21;-1:-1:-1;;;1398:17:21;1377:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;1170:7994:141:-;1221:16;1253:32;507:42;1253:18;:32::i;:::-;1249:100;;;-1:-1:-1;507:42:141;;1170:7994::o;1249:100::-;1482:7665;;;;;;;;;;;;;;;;;;:16;:7665::i;59873:493::-;60016:17;60064:56;60077:3;60082:5;60089:12;60103:16;60064:12;:56::i;:::-;60057:63;;60140:219;60164:12;-1:-1:-1;;;;;60164:28:141;;60210:3;60215:6;60223:5;60230:19;60251:1;60254;60257;60268;60288;60293:4;60164:147;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;60140:219;;;;;;;;;;;;;-1:-1:-1;;;60140:219:141;;;:10;:219::i;1946:1182:134:-;2191:44;;:::i;:::-;2322:30;2336:15;2322:13;:30::i;:::-;2298:15;;:21;;:54;2406:24;2420:9;2406:13;:24::i;:::-;2379:15;;:51;2484:26;2498:11;2484:13;:26::i;:::-;2459:15;;:22;;;;:51;;;;2541:15;;2578:9;2541:34;;;;:46;-1:-1:-1;;;;;2604:44:134;;:24;;;:44;2658:19;;2680:12;2658:34;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2702:18:134;;;2723:11;2702:32;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2749:21:134;;;:26;2745:182;;2902:14;1140:8;2902:3;:14;:::i;:::-;2878:38;;2745:182;2936:18;;;:32;;;2978:23;;;:42;;;3056:16;;;3070:1;3056:16;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3030:23:134;;;:42;;;3082:26;;3119:1;;3030:42;3119:1;;3082:26;;;;:::i;:::-;;;;;;:39;-1:-1:-1;;;;;3082:39:134;;;-1:-1:-1;;;;;3082:39:134;;;;;1946:1182;;;;;;;:::o;7759:150:139:-;7827:14;;:34;;-1:-1:-1;;;7827:34:139;;40768:2:142;7827:34:139;;;40750:21:142;7812:12:139;40787:18:142;;;40780:29;;;7812:12:139;-1:-1:-1;;;;;7827:14:139;;:30;;40826:18:142;;7827:34:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7812:49;;7871:31;7880:4;1962:7;7871:8;:31::i;1644:113:15:-;1696:7;1722:28;;;;;;;;;;;;;;-1:-1:-1;;;1722:28:15;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;-1:-1:-1;;;2390:26:15;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;-1:-1:-1;;;4646:23:15;;;:8;:23::i;647:73:16:-;707:6;;-1:-1:-1;;;;;707:6:16;;647:73::o;546:124:15:-;595:15;637:25;;;;;;;;;;;;;;-1:-1:-1;;;637:25:15;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;-1:-1:-1;;;400:26:15;;;:8;:26::i;57174:1547:141:-;57360:15;;57352:24;;-1:-1:-1;;;;;;57352:24:141;;57214:4;;-1:-1:-1;;;;;;;;;;;57352:7:141;;;:24;;;;3303:25:142;;;3291:2;3276:18;;3157:177;57352:24:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;57335:14;:41;;-1:-1:-1;;;;;;57335:41:141;-1:-1:-1;;;;;57335:41:141;;;;;;;;;57386:42;;;-1:-1:-1;;;57386:42:141;;;;;42608:51:142;;;;42675:18;;;42668:30;42734:2;42714:18;;;42707:30;-1:-1:-1;;;42753:18:142;;;42746:44;-1:-1:-1;;;;;;;;;;;57386:8:141;;;42807:19:142;;57386:42:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;57451:11:141;;-1:-1:-1;;;;;57451:11:141;;-1:-1:-1;57439:1248:141;;-1:-1:-1;57439:1248:141;57493:20;57516:25;:23;:25::i;:::-;57493:48;;57581:13;:11;:13::i;:::-;57556:14;:39;;-1:-1:-1;;;;;;57556:39:141;-1:-1:-1;;;;;57556:39:141;;;;;;57609:42;;;-1:-1:-1;;;57609:42:141;;43067:32:142;;;57609:42:141;;;43049:51:142;43116:18;;;43109:30;43175:2;43155:18;;;43148:30;-1:-1:-1;;;43194:18:142;;;43187:46;-1:-1:-1;;;;;;;;;;;57609:8:141;;;43250:19:142;;57609:42:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;57860:14:141;;57877;;;;;;;;57860;57877;;57806:10;57877:14;;;;;;57827:77;;-1:-1:-1;;;57827:77:141;;57806:10;;-1:-1:-1;;;;;;57827:24:141;;;;-1:-1:-1;57827:24:141;;:77;;57860:14;;;57877;681:1;;57827:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;57919:11;:40;;-1:-1:-1;;;;;;57919:40:141;-1:-1:-1;;;;;57919:40:141;;;;;;;;58122:45;;;-1:-1:-1;;;58122:45:141;;;;;43883:51:142;;;;43950:18;;;43943:30;44009:2;43989:18;;;43982:30;-1:-1:-1;;;44028:18:142;;;44021:41;57919:40:141;;-1:-1:-1;;;;;;;;;;;;58122:8:141;;;44079:19:142;;58122:45:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;58217:23:141;;-1:-1:-1;58257:1:141;;-1:-1:-1;58243:16:141;;-1:-1:-1;58243:16:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;58243:16:141;-1:-1:-1;58329:14:141;;58309:9;;58217:42;;-1:-1:-1;;;;;;58329:14:141;;58217:42;;58329:14;;58309:9;;;;:::i;:::-;;;;;;:35;-1:-1:-1;;;;;58309:35:141;;;-1:-1:-1;;;;;58309:35:141;;;;;58378:42;58358:6;58365:1;58358:9;;;;;;;;:::i;:::-;;;;;;:63;-1:-1:-1;;;;;58358:63:141;;;-1:-1:-1;;;;;58358:63:141;;;;;58455:42;58435:6;58442:1;58435:9;;;;;;;;:::i;:::-;-1:-1:-1;;;;;58435:63:141;;;:9;;;;;;;;;:63;58548:11;;:92;;-1:-1:-1;;;58548:92:141;;:11;;;:17;;:92;;58566:6;;58548:11;;;;;;;;;;;;:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;57479:1208;;;57439:1248;-1:-1:-1;58703:11:141;;-1:-1:-1;;;;;58703:11:141;;57174:1547::o;3134:1468:134:-;3471:14;3548:44;3607:86;3617:17;3636:12;3650:11;3663;3676:16;3607:9;:86::i;:::-;3738:16;;;3752:1;3738:16;;;;;;;;3548:145;;-1:-1:-1;3704:31:134;;3738:16;;;;;;;;;;;;-1:-1:-1;3738:16:134;3704:50;;3792:4;3764:14;3779:1;3764:17;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;3764:33:134;;;-1:-1:-1;;;;;3764:33:134;;;;;3835:10;3807:14;3822:1;3807:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3807:39:134;;;:17;;;;;;;;;:39;4445:42:9;;4133:19:134;;;4129:64;;-1:-1:-1;4177:5:134;4129:64;4211:4;-1:-1:-1;;;;;4211:33:134;;4299:55;4315:8;4325:12;:10;:12::i;:::-;4339:14;4299:15;:55::i;:::-;4376:8;4410:6;4399:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;4431:6;4451:1;4466:8;4488:14;4211:301;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4202:310;;4582:12;4530:64;;;;;;;;:::i;:::-;4553:8;-1:-1:-1;;;;;4530:46:134;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:64;;;;;;;;:::i;:::-;;4523:72;;;;:::i;:::-;3487:1115;;;3134:1468;;;;;;;;;;;:::o;2304:142:25:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:25;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;6040:380:134:-;6190:7;6225:11;6190:7;6266:27;6271:18;1381:7;6281:3;6272:12;;;6271:18;:::i;:::-;6291:1;6266:4;:27::i;:::-;6246:47;-1:-1:-1;6410:3:134;-1:-1:-1;;;6383:9:134;6387:5;1381:7;6383:9;:::i;:::-;6358:19;6368:9;-1:-1:-1;;;6358:19:134;:::i;:::-;6340:14;1381:7;6340:10;:14;:::i;:::-;:38;;;;:::i;:::-;6339:54;;;;:::i;:::-;6313:21;6325:9;6313;:21;:::i;:::-;6312:82;;;;:::i;:::-;6311:94;;;;:::i;:::-;6310:103;;;6040:380;-1:-1:-1;;;;;;;6040:380:134:o;8714:589:139:-;8771:18;8792:16;:14;:16::i;:::-;8827:10;;8819:29;;-1:-1:-1;;;8819:29:139;;8771:37;;-1:-1:-1;;;;;;;;;;;;8819:7:139;;;:29;;-1:-1:-1;;;;;8827:10:139;;;;8839:8;;8819:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8867:10:139;;8858:20;;-1:-1:-1;;;8858:20:139;;-1:-1:-1;;;;;;;;;;;8858:8:139;-1:-1:-1;8858:8:139;;-1:-1:-1;8858:20:139;;-1:-1:-1;;;;;8867:10:139;;8858:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8908:10:139;;8888:17;;-1:-1:-1;;;;;;8908:10:139;;-1:-1:-1;8908:26:139;8942:28;1962:7;8942:10;:28;:::i;:::-;8972:10;8908:83;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8888:103;-1:-1:-1;;;;;;;;;;;;9002:8:139;9019:14;:12;:14::i;:::-;9002:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9045:14:139;;9096:10;;9045:63;;-1:-1:-1;;;9045:63:139;;-1:-1:-1;;;;;9045:14:139;;;;-1:-1:-1;9045:28:139;;-1:-1:-1;9045:63:139;;9074:9;;9085:1;;9096:10;;;9045:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9119:61:139;;-1:-1:-1;;;9119:61:139;;-1:-1:-1;;;;;;;;;;;9119:15:139;-1:-1:-1;9119:15:139;;-1:-1:-1;9119:61:139;;-1:-1:-1;;;9135:44:139;9119:61;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;9190:8:139;-1:-1:-1;9190:8:139;;-1:-1:-1;9207:14:139;;-1:-1:-1;9207:12:139;:14::i;:::-;9190:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9233:14:139;;9284:10;;9233:63;;-1:-1:-1;;;9233:63:139;;-1:-1:-1;;;;;9233:14:139;;;;-1:-1:-1;9233:28:139;;-1:-1:-1;9233:63:139;;9262:9;;9233:14;;9284:10;;;9233:63;;;:::i;3241:119:15:-;3296:7;3322:31;;;;;;;;;;;;;;-1:-1:-1;;;3322:31:15;;;:8;:31::i;55425:396:141:-;55541:6;:8;;55490:17;;;;55541:8;55490:17;55541:8;;;:::i;:::-;;;;;;55650:11;55644:18;55633:8;55627:15;55620:4;55610:8;55606:19;55603:1;55595:68;55582:81;-1:-1:-1;;55685:22:141;;55734:8;55726:35;;;;-1:-1:-1;;;55726:35:141;;46214:2:142;55726:35:141;;;46196:21:142;46253:2;46233:18;;;46226:30;-1:-1:-1;;;46272:18:142;;;46265:44;46326:18;;55726:35:141;;;;;;;;;55509:312;55425:396;;;:::o;9779:577:139:-;9825:18;9846:16;:14;:16::i;:::-;9881:10;;9873:29;;-1:-1:-1;;;9873:29:139;;9825:37;;-1:-1:-1;;;;;;;;;;;;9873:7:139;;;:29;;-1:-1:-1;;;;;9881:10:139;;;;9893:8;;9873:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9921:10:139;;9912:20;;-1:-1:-1;;;9912:20:139;;-1:-1:-1;;;;;;;;;;;9912:8:139;-1:-1:-1;9912:8:139;;-1:-1:-1;9912:20:139;;-1:-1:-1;;;;;9921:10:139;;9912:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9962:10:139;;9942:17;;-1:-1:-1;;;;;;9962:10:139;;-1:-1:-1;9962:26:139;9996:28;1962:7;9996:10;:28;:::i;:::-;10026:10;9962:83;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9942:103;-1:-1:-1;;;;;;;;;;;;10056:8:139;10073:14;:12;:14::i;:::-;10056:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10099:14:139;;10150:10;;10099:63;;-1:-1:-1;;;10099:63:139;;-1:-1:-1;;;;;10099:14:139;;;;-1:-1:-1;10099:28:139;;-1:-1:-1;10099:63:139;;10128:9;;10139:1;;10150:10;;;10099:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10220:14:139;;:39;;-1:-1:-1;;;10220:39:139;;;;;3303:25:142;;;10174:14:139;;-1:-1:-1;10174:14:139;;-1:-1:-1;10174:14:139;;-1:-1:-1;;;;;10220:14:139;;:28;;3276:18:142;;10220:39:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10173:86;;;;;;10270:19;10279:6;10287:1;10270:8;:19::i;:::-;10299:17;10311:4;10299:11;:17::i;:::-;10326:23;10338:10;10326:11;:23::i;1975:142::-;2114:3;2059:50;1920:1;;2059:50;:::i;:::-;2042:68;;1813:7;2042:68;:::i;:::-;2041:76;;;;:::i;:::-;2025:92;;1813:7;2025:92;:::i;:::-;1975:142;:::o;20439:125:23:-;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:23;20439:125;-1:-1:-1;;20439:125:23:o;1114:930:17:-;1164:17;:15;:17::i;:::-;-1:-1:-1;;;;;;;;;;;1192:8:17;1201:12;:10;:12::i;:::-;1192:22;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1242:10;;;;;;;;;-1:-1:-1;;;;;1242:10:17;-1:-1:-1;;;;;1242:24:17;;1280:1;1301:48;;;;;;;;1321:1;1301:48;;;;;;;;;;;;;;;;;-1:-1:-1;;;1301:48:17;;;;;;1351:12;:10;:12::i;:::-;1365:15;:13;:15::i;:::-;1242:148;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1224:15;:166;;;1422:10;;:42;;-1:-1:-1;;;1422:42:17;;;;;3303:25:142;;;;1422:10:17;;;-1:-1:-1;;;;;1422:10:17;;:25;;3276:18:142;;1422:42:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1422:42:17;;;;;;;;;;;;:::i;:::-;:49;;;1400:19;:71;;-1:-1:-1;;;;;;1400:71:17;-1:-1:-1;;;;;1400:71:17;;;;;;;;;-1:-1:-1;;;;;;;;;;;1482:8:17;1491:16;:14;:16::i;:::-;1482:26;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1533:10;;;;;;;;;-1:-1:-1;;;;;1533:10:17;-1:-1:-1;;;;;1533:24:17;;1571:1;1587:44;;;;;;;;1607:1;1587:44;;;;;;;;;;;;;;;;;-1:-1:-1;;;1587:44:17;;;;;;1633:16;:14;:16::i;:::-;1651:18;:16;:18::i;:::-;1533:146;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1518:12;:161;;;1708:10;;:39;;-1:-1:-1;;;1708:39:17;;;;;3303:25:142;;;;1708:10:17;;;-1:-1:-1;;;;;1708:10:17;;:25;;3276:18:142;;1708:39:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1708:39:17;;;;;;;;;;;;:::i;:::-;:46;;;1689:16;:65;;-1:-1:-1;;;;;;1689:65:17;-1:-1:-1;;;;;1689:65:17;;;;;;;;;-1:-1:-1;;;;;;;;;;;1765:8:17;1774:16;:14;:16::i;:::-;1765:26;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1816:10;;;;;;;;;-1:-1:-1;;;;;1816:10:17;-1:-1:-1;;;;;1816:24:17;;1854:1;1870:44;;;;;;;;1890:1;1870:44;;;;;;;;;;;;;;;;;-1:-1:-1;;;1870:44:17;;;;;;1916:16;:14;:16::i;:::-;1934:18;:16;:18::i;:::-;1816:146;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1801:12;:161;;;1991:10;;:39;;-1:-1:-1;;;1991:39:17;;;;;3303:25:142;;;;1991:10:17;;;-1:-1:-1;;;;;1991:10:17;;:25;;3276:18:142;;1991:39:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1991:39:17;;;;;;;;;;;;:::i;:::-;:46;;;1972:16;:65;;-1:-1:-1;;;;;;1972:65:17;-1:-1:-1;;;;;1972:65:17;;;;;;;;;1114:930::o;283:358:16:-;-1:-1:-1;;;;;;;;;;;342:13:16;356:12;:10;:12::i;:::-;342:27;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;388:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;379:6:16;:19;;-1:-1:-1;;;;;;379:19:16;-1:-1:-1;;;;;379:19:16;;;;;;;;;409:17;440:12;:10;:12::i;:::-;476:9;512:15;:13;:15::i;:::-;409:201;;;;;;-1:-1:-1;;;;;;409:201:16;;;-1:-1:-1;;;;;51618:15:142;;;409:201:16;;;51600:34:142;51670:15;;;51650:18;;;51643:43;51722:15;;;51702:18;;;51695:43;554:4:16;51754:18:142;;;51747:34;-1:-1:-1;51797:19:142;;;51790:35;51534:19;;409:201:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;309:37:20;;-1:-1:-1;;;;;620:12:16;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1412:320:76;-1:-1:-1;;;;;1702:19:76;;:23;;;1412:320::o;2270:110:21:-;2349:24;;-1:-1:-1;;;2349:24:21;;;;;33289:25:142;;;33330:18;;;33323:34;;;-1:-1:-1;;;;;;;;;;;2349:11:21;;;33262:18:142;;2349:24:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;59028:495:141;59174:22;59375:7;;;-1:-1:-1;;;;;;;;;;;59408:7:141;59416:16;59434:33;59442:3;59447:5;59454:12;59434:7;:33::i;:::-;59408:60;;-1:-1:-1;;;;;;59408:60:141;;;;;;;;;;33289:25:142;;;;33330:18;;;33323:34;33262:18;;59408:60:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;59491:25;;;;;;52670:19:142;;;;52705:12;;;52698:28;;;;52782:3;52760:16;;;;-1:-1:-1;;;;;;52756:36:142;52742:12;;;52735:58;59491:25:141;;;;;;;;;52809:12:142;;;;59491:25:141;;;;59028:495;-1:-1:-1;;;;;;;;59028:495:141:o;1689:113:21:-;1771:24;;-1:-1:-1;;;1771:24:21;;-1:-1:-1;;;;;;;;;;;1771:13:21;;;:24;;1785:4;;1791:3;;1771:24;;;:::i;5192:114:134:-;5255:7;5281:18;5291:8;5281:7;:18;:::i;5587:447::-;5648:15;-1:-1:-1;;;5683:2:134;:12;5675:53;;;;-1:-1:-1;;;5675:53:134;;53340:2:142;5675:53:134;;;53322:21:142;53379:2;53359:18;;;53352:30;-1:-1:-1;;;53398:18:142;;;53391:58;53466:18;;5675:53:134;53138:352:142;5675:53:134;-1:-1:-1;;;;5750:2:134;5774;5813:215;5820:5;;5813:215;;5845:1;5849;5845:5;5854:1;5845:10;5841:177;;5879:10;5884:1;5887;5879:4;:10::i;:::-;5875:14;-1:-1:-1;5913:1:134;5907:7;5813:215;;5841:177;5963:16;5968:7;5977:1;5963:4;:16::i;:::-;5953:26;-1:-1:-1;5997:6:134;6002:1;5997:6;;:::i;:::-;;;5813:215;;;5665:369;;5587:447;;;;:::o;1808:91:21:-;1872:20;;-1:-1:-1;;;1872:20:21;;13718:14:142;;13711:22;1872:20:21;;;13693:41:142;-1:-1:-1;;;;;;;;;;;1872:14:21;;;13666:18:142;;1872:20:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242:23;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:23;;;;;;;20293:33;;20303:22;20293:33;;;;-1:-1:-1;;;;;;20344:19:23;;;;;3303:25:142;;;20293:33:23;-1:-1:-1;;;;;;;;;;;;20344:7:23;;;3276:18:142;;20344:19:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:23;;20337:26;;-1:-1:-1;;;;;;;;;;;;20373:8:23;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;475:129:17:-;534:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;521:10:17;:27;;-1:-1:-1;;;;;;521:27:17;;-1:-1:-1;;;;;521:27:17;;;;;;;;;;;;;558:10;;;:21;580:16;:14;:16::i;:::-;558:39;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;58727:295:141;58818:14;58853:12;-1:-1:-1;;;;;58853:31:141;;58906:3;58912:1;58915:5;58922:19;58943:1;58946;58949;58960;58980;58985:12;-1:-1:-1;;;;;58985:18:141;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;58853:162;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;58844:171;58727:295;-1:-1:-1;;;;58727:295:141:o;5312:269:134:-;5373:15;-1:-1:-1;;;5408:2:134;:13;;5400:66;;;;-1:-1:-1;;;5400:66:134;;55340:2:142;5400:66:134;;;55322:21:142;55379:2;55359:18;;;55352:30;55418:34;55398:18;;;55391:62;-1:-1:-1;;;55469:18:142;;;55462:38;55517:19;;5400:66:134;55138:404:142;5400:66:134;-1:-1:-1;;;5484:2:134;:12;5476:53;;;;-1:-1:-1;;;5476:53:134;;55749:2:142;5476:53:134;;;55731:21:142;55788:2;55768:18;;;55761:30;-1:-1:-1;;;55807:18:142;;;55800:58;55875:18;;5476:53:134;55547:352:142;5476:53:134;5571:3;-1:-1:-1;;;5548:7:134;5553:2;5548;:7;:::i;:::-;5547:19;;;;:::i;:::-;5546:28;;;5312:269;-1:-1:-1;;;5312:269:134:o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;14:104:142:-;-1:-1:-1;;;;;80:31:142;68:44;;14:104::o;123:203::-;-1:-1:-1;;;;;287:32:142;;;;269:51;;257:2;242:18;;123:203::o;331:138::-;-1:-1:-1;;;;;413:31:142;;403:42;;393:70;;459:1;456;449:12;474:127;535:10;530:3;526:20;523:1;516:31;566:4;563:1;556:15;590:4;587:1;580:15;606:253;678:2;672:9;720:4;708:17;;-1:-1:-1;;;;;740:34:142;;776:22;;;737:62;734:88;;;802:18;;:::i;:::-;838:2;831:22;606:253;:::o;864:275::-;935:2;929:9;1000:2;981:13;;-1:-1:-1;;977:27:142;965:40;;-1:-1:-1;;;;;1020:34:142;;1056:22;;;1017:62;1014:88;;;1082:18;;:::i;:::-;1118:2;1111:22;864:275;;-1:-1:-1;864:275:142:o;1144:186::-;1192:4;-1:-1:-1;;;;;1214:30:142;;1211:56;;;1247:18;;:::i;:::-;-1:-1:-1;1313:2:142;1292:15;-1:-1:-1;;1288:29:142;1319:4;1284:40;;1144:186::o;1335:462::-;1377:5;1430:3;1423:4;1415:6;1411:17;1407:27;1397:55;;1448:1;1445;1438:12;1397:55;1484:6;1471:20;1515:48;1531:31;1559:2;1531:31;:::i;:::-;1515:48;:::i;:::-;1588:2;1579:7;1572:19;1634:3;1627:4;1622:2;1614:6;1610:15;1606:26;1603:35;1600:55;;;1651:1;1648;1641:12;1600:55;1716:2;1709:4;1701:6;1697:17;1690:4;1681:7;1677:18;1664:55;1764:1;1739:16;;;1757:4;1735:27;1728:38;;;;1743:7;1335:462;-1:-1:-1;;;1335:462:142:o;1802:694::-;1912:6;1920;1928;1936;1989:3;1977:9;1968:7;1964:23;1960:33;1957:53;;;2006:1;2003;1996:12;1957:53;2045:9;2032:23;2064:38;2096:5;2064:38;:::i;:::-;2121:5;-1:-1:-1;2173:2:142;2158:18;;2145:32;;-1:-1:-1;2229:2:142;2214:18;;2201:32;2242:40;2201:32;2242:40;:::i;:::-;2301:7;-1:-1:-1;2359:2:142;2344:18;;2331:32;-1:-1:-1;;;;;2375:30:142;;2372:50;;;2418:1;2415;2408:12;2372:50;2441:49;2482:7;2473:6;2462:9;2458:22;2441:49;:::i;:::-;2431:59;;;1802:694;;;;;;;:::o;2724:428::-;2818:6;2826;2879:2;2867:9;2858:7;2854:23;2850:32;2847:52;;;2895:1;2892;2885:12;2847:52;2934:9;2921:23;2953:38;2985:5;2953:38;:::i;:::-;3010:5;-1:-1:-1;3067:2:142;3052:18;;3039:32;3080:40;3039:32;3080:40;:::i;:::-;3139:7;3129:17;;;2724:428;;;;;:::o;3521:254::-;3580:6;3633:2;3621:9;3612:7;3608:23;3604:32;3601:52;;;3649:1;3646;3639:12;3601:52;3688:9;3675:23;3707:38;3739:5;3707:38;:::i;3946:461::-;3999:3;4037:5;4031:12;4064:6;4059:3;4052:19;4090:4;4119:2;4114:3;4110:12;4103:19;;4156:2;4149:5;4145:14;4177:1;4187:195;4201:6;4198:1;4195:13;4187:195;;;4266:13;;-1:-1:-1;;;;;4262:39:142;4250:52;;4322:12;;;;4357:15;;;;4298:1;4216:9;4187:195;;;-1:-1:-1;4398:3:142;;3946:461;-1:-1:-1;;;;;3946:461:142:o;4412:261::-;4591:2;4580:9;4573:21;4554:4;4611:56;4663:2;4652:9;4648:18;4640:6;4611:56;:::i;4678:250::-;4763:1;4773:113;4787:6;4784:1;4781:13;4773:113;;;4863:11;;;4857:18;4844:11;;;4837:39;4809:2;4802:10;4773:113;;;-1:-1:-1;;4920:1:142;4902:16;;4895:27;4678:250::o;4933:271::-;4975:3;5013:5;5007:12;5040:6;5035:3;5028:19;5056:76;5125:6;5118:4;5113:3;5109:14;5102:4;5095:5;5091:16;5056:76;:::i;:::-;5186:2;5165:15;-1:-1:-1;;5161:29:142;5152:39;;;;5193:4;5148:50;;4933:271;-1:-1:-1;;4933:271:142:o;5209:616::-;5261:3;5299:5;5293:12;5326:6;5321:3;5314:19;5352:4;5393:2;5388:3;5384:12;5418:11;5445;5438:18;;5495:6;5492:1;5488:14;5481:5;5477:26;5465:38;;5537:2;5530:5;5526:14;5558:1;5568:231;5582:6;5579:1;5576:13;5568:231;;;5653:5;5647:4;5643:16;5638:3;5631:29;5681:38;5714:4;5705:6;5699:13;5681:38;:::i;:::-;5777:12;;;;5673:46;-1:-1:-1;5742:15:142;;;;5604:1;5597:9;5568:231;;;-1:-1:-1;5815:4:142;;5209:616;-1:-1:-1;;;;;;;5209:616:142:o;5830:1077::-;6036:4;6065:2;6105;6094:9;6090:18;6135:2;6124:9;6117:21;6158:6;6193;6187:13;6224:6;6216;6209:22;6250:2;6240:12;;6283:2;6272:9;6268:18;6261:25;;6345:2;6335:6;6332:1;6328:14;6317:9;6313:30;6309:39;6383:2;6375:6;6371:15;6404:1;6414:464;6428:6;6425:1;6422:13;6414:464;;;6493:22;;;-1:-1:-1;;6489:36:142;6477:49;;6549:13;;6594:9;;-1:-1:-1;;;;;6590:35:142;6575:51;;6665:11;;6659:18;6697:15;;;6690:27;;;6740:58;6782:15;;;6659:18;6740:58;:::i;:::-;6856:12;;;;6730:68;-1:-1:-1;;6821:15:142;;;;6450:1;6443:9;6414:464;;;-1:-1:-1;6895:6:142;;5830:1077;-1:-1:-1;;;;;;;;5830:1077:142:o;6912:1342::-;7032:6;7040;7048;7101:2;7089:9;7080:7;7076:23;7072:32;7069:52;;;7117:1;7114;7107:12;7069:52;7156:9;7143:23;7175:38;7207:5;7175:38;:::i;:::-;7232:5;-1:-1:-1;7256:2:142;7295:18;;;7282:32;7323:40;7282:32;7323:40;:::i;:::-;7382:7;-1:-1:-1;7440:2:142;7425:18;;7412:32;-1:-1:-1;;;;;7493:14:142;;;7490:34;;;7520:1;7517;7510:12;7490:34;7558:6;7547:9;7543:22;7533:32;;7603:7;7596:4;7592:2;7588:13;7584:27;7574:55;;7625:1;7622;7615:12;7574:55;7661:2;7648:16;7683:2;7679;7676:10;7673:36;;;7689:18;;:::i;:::-;7735:2;7732:1;7728:10;7718:20;;7758:28;7782:2;7778;7774:11;7758:28;:::i;:::-;7820:15;;;7890:11;;;7886:20;;;7851:12;;;;7918:19;;;7915:39;;;7950:1;7947;7940:12;7915:39;7974:11;;;;7994:230;8010:6;8005:3;8002:15;7994:230;;;8092:3;8079:17;8064:32;;8109:40;8141:7;8109:40;:::i;:::-;8162:20;;;8027:12;;;;8202;;;;7994:230;;;8243:5;8233:15;;;;;;;;6912:1342;;;;;:::o;8259:291::-;8436:6;8425:9;8418:25;8479:2;8474;8463:9;8459:18;8452:30;8399:4;8499:45;8540:2;8529:9;8525:18;8517:6;8499:45;:::i;8555:1569::-;8759:4;8788:2;8828;8817:9;8813:18;8858:2;8847:9;8840:21;8881:6;8916;8910:13;8947:6;8939;8932:22;8973:2;8963:12;;9006:2;8995:9;8991:18;8984:25;;9068:2;9058:6;9055:1;9051:14;9040:9;9036:30;9032:39;9106:2;9098:6;9094:15;9127:1;9148;9158:937;9174:6;9169:3;9166:15;9158:937;;;9243:22;;;-1:-1:-1;;9239:36:142;9227:49;;9299:13;;9386:9;;-1:-1:-1;;;;;9382:35:142;9367:51;;9457:11;;9451:18;9489:15;;;9482:27;;;9570:19;;9339:15;;;9602:24;;;9692:21;;;;9737:1;;9660:2;9648:15;;;9751:236;9767:8;9762:3;9759:17;9751:236;;;9848:15;;-1:-1:-1;;;;;;9844:42:142;9830:57;;9956:17;;;;9795:1;9786:11;;;;;9913:14;;;;9751:236;;;-1:-1:-1;10073:12:142;;;;10010:5;-1:-1:-1;;;10038:15:142;;;;9200:1;9191:11;9158:937;;;-1:-1:-1;10112:6:142;;8555:1569;-1:-1:-1;;;;;;;;;8555:1569:142:o;10129:530::-;10215:6;10223;10231;10284:2;10272:9;10263:7;10259:23;10255:32;10252:52;;;10300:1;10297;10290:12;10252:52;10339:9;10326:23;10358:38;10390:5;10358:38;:::i;:::-;10415:5;-1:-1:-1;10467:2:142;10452:18;;10439:32;;-1:-1:-1;10522:2:142;10507:18;;10494:32;-1:-1:-1;;;;;10538:30:142;;10535:50;;;10581:1;10578;10571:12;10535:50;10604:49;10645:7;10636:6;10625:9;10621:22;10604:49;:::i;:::-;10594:59;;;10129:530;;;;;:::o;10889:280::-;11088:2;11077:9;11070:21;11051:4;11108:55;11159:2;11148:9;11144:18;11136:6;11108:55;:::i;11174:111::-;11259:1;11252:5;11249:12;11239:40;;11275:1;11272;11265:12;11290:152;11367:20;;11416:1;11406:12;;11396:40;;11432:1;11429;11422:12;11396:40;11290:152;;;:::o;11447:715::-;11510:5;11558:4;11546:9;11541:3;11537:19;11533:30;11530:50;;;11576:1;11573;11566:12;11530:50;11598:22;;:::i;:::-;11589:31;;11657:9;11644:23;11676:40;11708:7;11676:40;:::i;:::-;11725:22;;11799:2;11784:18;;11771:32;11812:40;11771:32;11812:40;:::i;:::-;11884:7;11879:2;11872:5;11868:14;11861:31;;11952:2;11941:9;11937:18;11924:32;11919:2;11912:5;11908:14;11901:56;12017:2;12006:9;12002:18;11989:32;11984:2;11977:5;11973:14;11966:56;12083:3;12072:9;12068:19;12055:33;12049:3;12042:5;12038:15;12031:58;12150:3;12139:9;12135:19;12122:33;12116:3;12109:5;12105:15;12098:58;11447:715;;;;:::o;12167:1285::-;12390:6;12398;12406;12414;12422;12430;12438;12446;12499:3;12487:9;12478:7;12474:23;12470:33;12467:53;;;12516:1;12513;12506:12;12467:53;12555:9;12542:23;12574:38;12606:5;12574:38;:::i;:::-;12631:5;-1:-1:-1;12688:2:142;12673:18;;12660:32;12701:40;12660:32;12701:40;:::i;:::-;12760:7;-1:-1:-1;12819:2:142;12804:18;;12791:32;12832:40;12791:32;12832:40;:::i;:::-;12891:7;-1:-1:-1;12950:2:142;12935:18;;12922:32;12963:40;12922:32;12963:40;:::i;:::-;13022:7;-1:-1:-1;13081:3:142;13066:19;;13053:33;13095:40;13053:33;13095:40;:::i;:::-;13154:7;-1:-1:-1;13213:3:142;13198:19;;13185:33;13227:43;13185:33;13227:43;:::i;:::-;13289:7;-1:-1:-1;13315:48:142;13358:3;13343:19;;13315:48;:::i;:::-;13305:58;;13382:64;13438:7;13432:3;13421:9;13417:19;13382:64;:::i;:::-;13372:74;;12167:1285;;;;;;;;;;;:::o;13979:763::-;14098:6;14106;14114;14122;14130;14183:3;14171:9;14162:7;14158:23;14154:33;14151:53;;;14200:1;14197;14190:12;14151:53;14239:9;14226:23;14258:38;14290:5;14258:38;:::i;:::-;14315:5;-1:-1:-1;14367:2:142;14352:18;;14339:32;;-1:-1:-1;14423:2:142;14408:18;;14395:32;14436:40;14395:32;14436:40;:::i;:::-;14495:7;-1:-1:-1;14553:2:142;14538:18;;14525:32;-1:-1:-1;;;;;14569:30:142;;14566:50;;;14612:1;14609;14602:12;14566:50;14635:49;14676:7;14667:6;14656:9;14652:22;14635:49;:::i;:::-;13979:763;;;;-1:-1:-1;13979:763:142;;14731:3;14716:19;14703:33;;13979:763;-1:-1:-1;;;13979:763:142:o;14747:416::-;14811:5;14859:4;14847:9;14842:3;14838:19;14834:30;14831:50;;;14877:1;14874;14867:12;14831:50;14910:2;14904:9;14952:4;14940:17;;-1:-1:-1;;;;;14972:34:142;;15008:22;;;14969:62;14966:88;;;15034:18;;:::i;:::-;15070:2;15063:22;15133:23;;15118:39;;-1:-1:-1;15103:6:142;14747:416;-1:-1:-1;14747:416:142:o;15168:795::-;15369:6;15377;15385;15393;15401;15454:3;15442:9;15433:7;15429:23;15425:33;15422:53;;;15471:1;15468;15461:12;15422:53;15510:9;15497:23;15529:38;15561:5;15529:38;:::i;:::-;15586:5;-1:-1:-1;15643:2:142;15628:18;;15615:32;15656:43;15615:32;15656:43;:::i;:::-;15718:7;-1:-1:-1;15744:47:142;15787:2;15772:18;;15744:47;:::i;:::-;15734:57;;15810:64;15866:7;15861:2;15850:9;15846:18;15810:64;:::i;:::-;15800:74;;15893:64;15949:7;15943:3;15932:9;15928:19;15893:64;:::i;:::-;15883:74;;15168:795;;;;;;;;:::o;15968:127::-;16029:10;16024:3;16020:20;16017:1;16010:31;16060:4;16057:1;16050:15;16084:4;16081:1;16074:15;16100:143;16184:1;16177:5;16174:12;16164:46;;16190:18;;:::i;:::-;16219;;16100:143::o;16248:142::-;16331:1;16324:5;16321:12;16311:46;;16337:18;;:::i;17409:1238::-;17480:3;17508:6;17539:5;17533:12;17572:2;17566:9;17561:3;17554:22;17622:4;17618:2;17614:13;17608:20;17601:4;17596:3;17592:14;17585:44;17675:4;17671:2;17667:13;17661:20;17654:4;17649:3;17645:14;17638:44;17728:4;17724:2;17720:13;17714:20;17707:4;17702:3;17698:14;17691:44;;17781:4;17774:5;17770:16;17764:23;17796:58;17848:4;17843:3;17839:14;17825:12;17796:58;:::i;:::-;;17902:4;17895:5;17891:16;17885:23;17917:59;17970:4;17965:3;17961:14;17945;17917:59;:::i;:::-;-1:-1:-1;18024:4:142;18013:16;;;18007:23;16470:12;18100:4;18091:14;;16458:25;18154:4;18143:16;;;18137:23;16614:12;;-1:-1:-1;;;;;16610:21:142;;;18229:4;18220:14;;16598:34;16685:4;16674:16;;16668:23;16664:32;16648:14;;;16641:56;16746:4;16735:16;;16729:23;16713:14;;;16706:47;16791:16;;;16785:23;16769:14;;;16762:47;16847:16;;16841:23;16825:14;;;16818:47;16578:3;16903:16;;;16897:23;16881:14;;;16874:47;18272:16;;18266:23;18298:52;18342:6;18333:16;;18266:23;18298:52;:::i;:::-;;18398:4;18391:5;18387:16;18381:23;18413:52;18457:6;18452:3;18448:16;18432:14;18413:52;:::i;:::-;;18513:4;18506:5;18502:16;18496:23;18553:2;18544:6;18539:3;18535:16;18528:28;18572:69;18637:2;18632:3;18628:12;18612:14;18572:69;:::i;:::-;18565:76;17409:1238;-1:-1:-1;;;;;17409:1238:142:o;18652:327::-;18879:2;18868:9;18861:21;18842:4;18899:74;18969:2;18958:9;18954:18;18946:6;18899:74;:::i;19429:1422::-;19697:6;19705;19713;19721;19729;19737;19745;19753;19761;19814:3;19802:9;19793:7;19789:23;19785:33;19782:53;;;19831:1;19828;19821:12;19782:53;19870:9;19857:23;19889:38;19921:5;19889:38;:::i;:::-;19946:5;-1:-1:-1;20003:2:142;19988:18;;19975:32;20016:40;19975:32;20016:40;:::i;:::-;20075:7;-1:-1:-1;20134:2:142;20119:18;;20106:32;20147:40;20106:32;20147:40;:::i;:::-;20206:7;-1:-1:-1;20265:2:142;20250:18;;20237:32;20278:40;20237:32;20278:40;:::i;:::-;20337:7;-1:-1:-1;20396:3:142;20381:19;;20368:33;20410:40;20368:33;20410:40;:::i;:::-;20469:7;-1:-1:-1;20528:3:142;20513:19;;20500:33;20542:43;20500:33;20542:43;:::i;:::-;20604:7;-1:-1:-1;20630:48:142;20673:3;20658:19;;20630:48;:::i;:::-;20620:58;;20697:65;20754:7;20748:3;20737:9;20733:19;20697:65;:::i;:::-;20687:75;;20781:64;20837:7;20831:3;20820:9;20816:19;20781:64;:::i;:::-;20771:74;;19429:1422;;;;;;;;;;;:::o;20856:385::-;20942:6;20950;20958;20966;21019:3;21007:9;20998:7;20994:23;20990:33;20987:53;;;21036:1;21033;21026:12;20987:53;-1:-1:-1;;21059:23:142;;;21129:2;21114:18;;21101:32;;-1:-1:-1;21180:2:142;21165:18;;21152:32;;21231:2;21216:18;21203:32;;-1:-1:-1;20856:385:142;-1:-1:-1;20856:385:142:o;21246:320::-;21314:6;21367:2;21355:9;21346:7;21342:23;21338:32;21335:52;;;21383:1;21380;21373:12;21335:52;21410:23;;-1:-1:-1;;;;;21445:30:142;;21442:50;;;21488:1;21485;21478:12;21442:50;21511:49;21552:7;21543:6;21532:9;21528:22;21511:49;:::i;22254:145::-;22333:13;;22355:38;22333:13;22355:38;:::i;22404:258::-;22474:6;22527:2;22515:9;22506:7;22502:23;22498:32;22495:52;;;22543:1;22540;22533:12;22495:52;22575:9;22569:16;22594:38;22626:5;22594:38;:::i;23552:127::-;23613:10;23608:3;23604:20;23601:1;23594:31;23644:4;23641:1;23634:15;23668:4;23665:1;23658:15;23684:1042;24126:4;24155:3;24185:2;24174:9;24167:21;24211:56;24263:2;24252:9;24248:18;24240:6;24211:56;:::i;:::-;24298:2;24283:18;;;24276:34;;;;-1:-1:-1;;;;;24384:15:142;;;24379:2;24364:18;;24357:43;24436:22;;;24431:2;24416:18;;24409:50;-1:-1:-1;24468:17:142;;24554:15;;;24548:3;24533:19;;24526:44;-1:-1:-1;;24607:15:142;;;24337:3;24586:19;;24579:44;24654:3;24639:19;;24632:35;;;;24704:15;;;24698:3;24683:19;;;24676:44;;;;24502:15;;23684:1042;-1:-1:-1;23684:1042:142:o;25576:127::-;25637:10;25632:3;25628:20;25625:1;25618:31;25668:4;25665:1;25658:15;25692:4;25689:1;25682:15;25708:217;25748:1;25774;25764:132;;25818:10;25813:3;25809:20;25806:1;25799:31;25853:4;25850:1;25843:15;25881:4;25878:1;25871:15;25764:132;-1:-1:-1;25910:9:142;;25708:217::o;25930:274::-;-1:-1:-1;;;;;26122:32:142;;;;26104:51;;26186:2;26171:18;;26164:34;26092:2;26077:18;;25930:274::o;26517:164::-;26593:13;;26642;;26635:21;26625:32;;26615:60;;26671:1;26668;26661:12;26686:202;26753:6;26806:2;26794:9;26785:7;26781:23;26777:32;26774:52;;;26822:1;26819;26812:12;26774:52;26845:37;26872:9;26845:37;:::i;26893:315::-;-1:-1:-1;;;;;27068:32:142;;27050:51;;27137:2;27132;27117:18;;27110:30;;;-1:-1:-1;;27157:45:142;;27183:18;;27175:6;27157:45;:::i;27213:380::-;27292:1;27288:12;;;;27335;;;27356:61;;27410:4;27402:6;27398:17;27388:27;;27356:61;27463:2;27455:6;27452:14;27432:18;27429:38;27426:161;;27509:10;27504:3;27500:20;27497:1;27490:31;27544:4;27541:1;27534:15;27572:4;27569:1;27562:15;28149:252;28236:5;28230:12;28225:3;28218:25;28200:3;28289:4;28282:5;28278:16;28272:23;28327:4;28320;28315:3;28311:14;28304:28;28348:47;28389:4;28384:3;28380:14;28366:12;28348:47;:::i;28406:1751::-;28647:2;28636:9;28629:21;28659:53;28708:2;28697:9;28693:18;28684:6;28678:13;28659:53;:::i;:::-;28610:4;28759:2;28751:6;28747:15;28741:22;28772:52;28820:2;28809:9;28805:18;28791:12;28772:52;:::i;:::-;;28878:2;28870:6;28866:15;28860:22;28855:2;28844:9;28840:18;28833:50;28938:2;28930:6;28926:15;28920:22;28914:3;28903:9;28899:19;28892:51;28998:3;28990:6;28986:16;28980:23;28974:3;28963:9;28959:19;28952:52;29053:3;29045:6;29041:16;29035:23;29067:55;29117:3;29106:9;29102:19;29086:14;29067:55;:::i;:::-;;29171:3;29163:6;29159:16;29153:23;29185:55;29235:3;29224:9;29220:19;29204:14;29185:55;:::i;:::-;;29289:3;29281:6;29277:16;29271:23;29313:6;29338:3;29377:2;29372;29361:9;29357:18;29350:30;29403:63;29461:3;29450:9;29446:19;29430:14;29403:63;:::i;:::-;29503:15;;;29497:22;29389:77;;-1:-1:-1;29538:3:142;29550:54;29585:18;;;29497:22;29550:54;:::i;:::-;29653:2;29645:6;29641:15;29635:22;29613:44;;;29680:2;29676:7;29702:3;29769:2;29757:9;29749:6;29745:22;29741:31;29736:2;29725:9;29721:18;29714:59;29796:41;29830:6;29814:14;29796:41;:::i;:::-;29782:55;;29886:2;29878:6;29874:15;29868:22;29846:44;;;29909:3;29921:51;29968:2;29957:9;29953:18;29937:14;13527:13;13520:21;13508:34;;13457:91;29921:51;30009:15;;30003:22;30065;;;30061:31;;;30041:18;;;30034:59;30003:22;-1:-1:-1;30110:41:142;30069:6;30003:22;30110:41;:::i;:::-;30102:49;28406:1751;-1:-1:-1;;;;;;28406:1751:142:o;30162:168::-;30235:9;;;30266;;30283:15;;;30277:22;;30263:37;30253:71;;30304:18;;:::i;30461:1278::-;30556:5;30550:12;30545:3;30538:25;30520:3;30582:4;30626:2;30619:5;30615:14;30648:4;30682;30677:2;30672:3;30668:12;30661:26;30707:1;30740:12;30734:19;30776:3;30806:9;30802:2;30798:18;30788:28;;30866:2;30855:9;30851:18;30888;30878:61;;30932:4;30924:6;30920:17;30910:27;;30878:61;30985:2;30977:6;30974:14;30954:18;30951:38;30948:165;;-1:-1:-1;;;31012:33:142;;31068:4;31065:1;31058:15;31098:4;31019:3;31086:17;30948:165;31191:4;31182:14;;3878:19;;;3921:14;;;31221:18;31248:132;;;;31394:1;31389:325;;;;31214:500;;31248:132;-1:-1:-1;;31283:24:142;;31269:39;;31353:14;;31346:22;31343:1;31339:30;31328:42;;;-1:-1:-1;31248:132:142;;31389:325;30408:1;30401:14;;;30445:4;30432:18;;31490:1;31504:167;31518:6;31515:1;31512:13;31504:167;;;31598:14;;31583:13;;;31576:37;31641:16;;;;31533:10;;31504:167;;;31691:13;;;-1:-1:-1;;31214:500:142;-1:-1:-1;31730:3:142;;30461:1278;-1:-1:-1;;;;;;;;;;30461:1278:142:o;31744:633::-;-1:-1:-1;;;;;32076:32:142;;32058:51;;32145:2;32140;32125:18;;32118:30;;;-1:-1:-1;;32171:74:142;;32226:18;;32218:6;32171:74;:::i;:::-;32293:9;32285:6;32281:22;32276:2;32265:9;32261:18;32254:50;32321;32364:6;32356;32321:50;:::i;32382:319::-;32461:6;32469;32522:2;32510:9;32501:7;32497:23;32493:32;32490:52;;;32538:1;32535;32528:12;32490:52;32567:9;32561:16;32551:26;;32620:2;32609:9;32605:18;32599:25;32633:38;32665:5;32633:38;:::i;32985:125::-;33050:9;;;33071:10;;;33068:36;;;33084:18;;:::i;33368:706::-;33563:2;33552:9;33545:21;33608:6;33602:13;33597:2;33586:9;33582:18;33575:41;33526:4;33663:2;33655:6;33651:15;33645:22;33703:1;33699;33694:3;33690:11;33686:19;33759:2;33745:12;33741:21;33736:2;33725:9;33721:18;33714:49;33817:2;33809:6;33805:15;33799:22;33794:2;33783:9;33779:18;33772:50;33887:2;33881;33873:6;33869:15;33863:22;33859:31;33853:3;33842:9;33838:19;33831:60;;;33940:3;33932:6;33928:16;33922:23;33983:4;33976;33965:9;33961:20;33954:34;34005:63;34063:3;34052:9;34048:19;34032:14;34005:63;:::i;34079:667::-;34215:6;34223;34231;34239;34247;34255;34308:3;34296:9;34287:7;34283:23;34279:33;34276:53;;;34325:1;34322;34315:12;34276:53;34357:9;34351:16;34376:38;34408:5;34376:38;:::i;:::-;34483:2;34468:18;;34462:25;34433:5;;-1:-1:-1;34496:40:142;34462:25;34496:40;:::i;:::-;34602:2;34587:18;;34581:25;34646:2;34631:18;;34625:25;34690:3;34675:19;;34669:26;34735:3;34720:19;;;34714:26;34079:667;;34555:7;;-1:-1:-1;34581:25:142;;34625;;34669:26;;-1:-1:-1;34714:26:142;-1:-1:-1;34079:667:142;-1:-1:-1;;;34079:667:142:o;35213:864::-;35637:6;35626:9;35619:25;35680:3;35675:2;35664:9;35660:18;35653:31;35600:4;35707:50;35752:3;35741:9;35737:19;35122:2;35110:15;;-1:-1:-1;;;35150:4:142;35141:14;;35134:40;35199:2;35190:12;;35045:163;35707:50;35805:9;35797:6;35793:22;35788:2;35777:9;35773:18;35766:50;35839:42;35874:6;35866;35839:42;:::i;:::-;-1:-1:-1;;;;;35917:32:142;;35912:2;35897:18;;35890:60;35987:22;;;35981:3;35966:19;;35959:51;35825:56;-1:-1:-1;36027:44:142;35825:56;36056:6;36027:44;:::i;:::-;36019:52;35213:864;-1:-1:-1;;;;;;;35213:864:142:o;36082:184::-;36152:6;36205:2;36193:9;36184:7;36180:23;36176:32;36173:52;;;36221:1;36218;36211:12;36173:52;-1:-1:-1;36244:16:142;;36082:184;-1:-1:-1;36082:184:142:o;36577:535::-;36889:25;;;36950:2;36945;36930:18;;36923:30;;;-1:-1:-1;36969:18:142;;;36962:29;;;37027:3;37022:2;37007:18;;37000:31;;;37047:19;;37040:30;37102:3;37087:19;;36577:535::o;37306:202::-;-1:-1:-1;;;;;;37468:33:142;;;;37450:52;;37438:2;37423:18;;37306:202::o;37513:353::-;37723:25;;;37779:2;37764:18;;37757:34;;;;-1:-1:-1;;;;;37827:32:142;37822:2;37807:18;;37800:60;37711:2;37696:18;;37513:353::o;38229:320::-;38304:5;38333:52;38349:35;38377:6;38349:35;:::i;38333:52::-;38324:61;;38408:6;38401:5;38394:21;38448:3;38439:6;38434:3;38430:16;38427:25;38424:45;;;38465:1;38462;38455:12;38424:45;38478:65;38536:6;38529:4;38522:5;38518:16;38513:3;38478:65;:::i;38554:961::-;38718:6;38726;38734;38742;38750;38758;38811:3;38799:9;38790:7;38786:23;38782:33;38779:53;;;38828:1;38825;38818:12;38779:53;38860:9;38854:16;38879:38;38911:5;38879:38;:::i;:::-;38985:2;38970:18;;38964:25;38936:5;;-1:-1:-1;;;;;;39001:30:142;;38998:50;;;39044:1;39041;39034:12;38998:50;39067:22;;39120:4;39112:13;;39108:27;-1:-1:-1;39098:55:142;;39149:1;39146;39139:12;39098:55;39172:77;39241:7;39236:2;39230:9;39225:2;39221;39217:11;39172:77;:::i;:::-;39162:87;;;39289:2;39278:9;39274:18;39268:25;39258:35;;39333:2;39322:9;39318:18;39312:25;39302:35;;39377:3;39366:9;39362:19;39356:26;39346:36;;39427:3;39416:9;39412:19;39406:26;39463:1;39454:7;39451:14;39441:42;;39479:1;39476;39469:12;39441:42;39502:7;39492:17;;;38554:961;;;;;;;;:::o;39520:128::-;39587:9;;;39608:11;;;39605:37;;;39622:18;;:::i;40344:218::-;40491:2;40480:9;40473:21;40454:4;40511:45;40552:2;40541:9;40537:18;40529:6;40511:45;:::i;41134:140::-;41215:1;41208:5;41205:12;41195:46;;41221:18;;:::i;41279:1112::-;-1:-1:-1;;;;;41809:15:142;;;41791:34;;41856:2;41841:18;;41834:34;;;41741:3;41899:2;41884:18;;41877:30;;;41712:4;;41930:45;41956:18;;;41948:6;41930:45;:::i;:::-;41916:59;;41984:53;42033:2;42022:9;42018:18;42010:6;41984:53;:::i;:::-;42074:6;42068:3;42057:9;42053:19;42046:35;42118:6;42112:3;42101:9;42097:19;42090:35;42162:6;42156:3;42145:9;42141:19;42134:35;42218:2;42210:6;42206:15;42200:3;42189:9;42185:19;42178:44;42271:2;42263:6;42259:15;42253:3;42242:9;42238:19;42231:44;;42324:9;42316:6;42312:22;42306:3;42295:9;42291:19;42284:51;42352:33;42378:6;42370;42352:33;:::i;:::-;42344:41;41279:1112;-1:-1:-1;;;;;;;;;;;;;41279:1112:142:o;43280:386::-;-1:-1:-1;;;;;43483:32:142;;43465:51;;43552:2;43547;43532:18;;43525:30;;;-1:-1:-1;;43572:45:142;;43598:18;;43590:6;43572:45;:::i;:::-;43564:53;;43653:6;43648:2;43637:9;43633:18;43626:34;43280:386;;;;;;:::o;44109:984::-;44531:6;44520:9;44513:25;44494:4;44574:1;44570;44565:3;44561:11;44557:19;44624:2;44616:6;44612:15;44607:2;44596:9;44592:18;44585:43;44664:3;44659:2;44648:9;44644:18;44637:31;44691:46;44732:3;44721:9;44717:19;44709:6;44691:46;:::i;:::-;44785:2;44777:6;44773:15;44768:2;44757:9;44753:18;44746:43;44826:6;44820:3;44809:9;44805:19;44798:35;44882:9;44874:6;44870:22;44864:3;44853:9;44849:19;44842:51;44916:50;44959:6;44951;44916:50;:::i;:::-;44902:64;;;45015:9;45007:6;45003:22;44997:3;44986:9;44982:19;44975:51;45043:44;45080:6;45072;45043:44;:::i;:::-;45035:52;44109:984;-1:-1:-1;;;;;;;;;;44109:984:142:o;45098:279::-;45186:6;45239:2;45227:9;45218:7;45214:23;45210:32;45207:52;;;45255:1;45252;45245:12;45207:52;45287:9;45281:16;45306:41;45341:5;45306:41;:::i;45382:127::-;45443:10;45438:3;45434:20;45431:1;45424:31;45474:4;45471:1;45464:15;45498:4;45495:1;45488:15;45872:135;45911:3;45932:17;;;45929:43;;45952:18;;:::i;:::-;-1:-1:-1;45999:1:142;45988:13;;45872:135::o;46355:342::-;46437:6;46445;46453;46506:2;46494:9;46485:7;46481:23;46477:32;46474:52;;;46522:1;46519;46512:12;46474:52;46551:9;46545:16;46535:26;;46580:46;46622:2;46611:9;46607:18;46580:46;:::i;:::-;46570:56;;46645:46;46687:2;46676:9;46672:18;46645:46;:::i;:::-;46635:56;;46355:342;;;;;:::o;47571:236::-;47625:5;47678:3;47671:4;47663:6;47659:17;47655:27;47645:55;;47696:1;47693;47686:12;47645:55;47718:83;47797:3;47788:6;47782:13;47775:4;47767:6;47763:17;47718:83;:::i;47812:618::-;47878:5;47926:4;47914:9;47909:3;47905:19;47901:30;47898:50;;;47944:1;47941;47934:12;47898:50;47977:4;47971:11;;;48009:17;;-1:-1:-1;;;;;48078:18:142;;;48098:22;;;48075:46;48072:72;;;48124:18;;:::i;:::-;48166:10;48160:4;48153:24;48195:6;48186:15;;48231:9;48225:16;48217:6;48210:32;48286:2;48275:9;48271:18;48265:25;48251:39;;48313:2;48305:6;48302:14;48299:34;;;48329:1;48326;48319:12;48299:34;;48366:57;48419:3;48410:6;48399:9;48395:22;48366:57;:::i;:::-;48361:2;48353:6;48349:15;48342:82;;;47812:618;;;;:::o;48435:1059::-;48530:6;48583:2;48571:9;48562:7;48558:23;48554:32;48551:52;;;48599:1;48596;48589:12;48551:52;48626:16;;-1:-1:-1;;;;;48691:14:142;;;48688:34;;;48718:1;48715;48708:12;48688:34;48741:22;;;;48797:4;48779:16;;;48775:27;48772:47;;;48815:1;48812;48805:12;48772:47;48841:22;;:::i;:::-;48892:2;48886:9;48879:5;48872:24;48942:2;48938;48934:11;48928:18;48923:2;48916:5;48912:14;48905:42;48986:2;48982;48978:11;48972:18;49015:2;49005:8;49002:16;48999:36;;;49031:1;49028;49021:12;48999:36;49067:56;49115:7;49104:8;49100:2;49096:17;49067:56;:::i;:::-;49062:2;49055:5;49051:14;49044:80;;49163:2;49159;49155:11;49149:18;49192:2;49182:8;49179:16;49176:36;;;49208:1;49205;49198:12;49176:36;49244:65;49301:7;49290:8;49286:2;49282:17;49244:65;:::i;:::-;49239:2;49232:5;49228:14;49221:89;;49343:43;49381:3;49377:2;49373:12;49343:43;:::i;:::-;49337:3;49330:5;49326:15;49319:68;49420:43;49458:3;49454:2;49450:12;49420:43;:::i;:::-;49414:3;49403:15;;49396:68;49407:5;48435:1059;-1:-1:-1;;;;;48435:1059:142:o;49499:873::-;49923:6;49912:9;49905:25;49966:3;49961:2;49950:9;49946:18;49939:31;50007:1;50001:3;49990:9;49986:19;49979:30;-1:-1:-1;;;50040:3:142;50029:9;50025:19;50018:40;50094:3;50089:2;50078:9;50074:18;50067:31;49886:4;50121:55;50171:3;50160:9;50156:19;50148:6;50121:55;:::i;:::-;-1:-1:-1;;;;;50212:32:142;;50207:2;50192:18;;50185:60;50282:22;;;50276:3;50261:19;;50254:51;50322:44;50286:6;50351;50322:44;:::i;50377:873::-;50801:6;50790:9;50783:25;50844:3;50839:2;50828:9;50824:18;50817:31;50885:1;50879:3;50868:9;50864:19;50857:30;-1:-1:-1;;;50918:3:142;50907:9;50903:19;50896:40;50972:3;50967:2;50956:9;50952:18;50945:31;50764:4;50999:55;51049:3;51038:9;51034:19;51026:6;50999:55;:::i;52089:395::-;52175:6;52183;52191;52244:2;52232:9;52223:7;52219:23;52215:32;52212:52;;;52260:1;52257;52250:12;52212:52;52292:9;52286:16;52342:4;52335:5;52331:16;52324:5;52321:27;52311:55;;52362:1;52359;52352:12;52311:55;52430:2;52415:18;;52409:25;52474:2;52459:18;;;52453:25;52385:5;;52409:25;;-1:-1:-1;52453:25:142;52089:395;-1:-1:-1;;;52089:395:142:o;52832:301::-;53017:6;53010:14;53003:22;52992:9;52985:41;53062:2;53057;53046:9;53042:18;53035:30;52966:4;53082:45;53123:2;53112:9;53108:18;53100:6;53082:45;:::i;53495:289::-;53626:3;53664:6;53658:13;53680:66;53739:6;53734:3;53727:4;53719:6;53715:17;53680:66;:::i;:::-;53762:16;;;;;53495:289;-1:-1:-1;;53495:289:142:o;54111:1022::-;-1:-1:-1;;;;;54623:15:142;;;54605:34;;54670:2;54655:18;;54648:34;;;54555:3;54713:2;54698:18;;54691:30;;;54526:4;;54738:45;54764:18;;;54756:6;54738:45;:::i;:::-;54730:53;;54792;54841:2;54830:9;54826:18;54818:6;54792:53;:::i;:::-;54876:3;54861:19;;54854:35;;;;-1:-1:-1;54920:3:142;54905:19;;54898:35;;;;54964:3;54949:19;;54942:35;;;;55014:15;;;55008:3;54993:19;;54986:44;55067:15;;;55061:3;55046:19;;55039:44;55114:3;55099:19;55092:35;;;;54111:1022;;-1:-1:-1;;;;54111:1022:142:o","linkReferences":{}},"methodIdentifiers":{"DECIMALS()":"2e0f2625","IS_TEST()":"fa7626d4","NATIVE()":"a0cf0aea","PERCENTAGE_SCALE()":"3f26479e","POOL_AMOUNT()":"beda3db3","SAFE_FACTORY()":"d23727ed","SAFE_NONCE()":"1d8fcc10","SAFE_SINGLETON()":"caa12add","STAKE_WITH_FEES()":"fe24a3cb","__createContract(bytes)":"f69d511f","_calculateConviction(uint256,uint256,uint256,uint256)":"e99ce911","_councilSafe()":"dac770b3","_councilSafeWithOwner(address)":"1ae726d9","_councilSafeWithOwner(address,address)":"08c24f9f","_createSafe()":"49ef42c1","_createSafeProxyFactory()":"bb0504cd","_nonce()":"5d1222aa","allo()":"d6d8428d","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","councilMember1()":"896546a1","councilMemberPK()":"7658524d","councilSafe()":"6c53db9a","councilSafeOwner()":"0522b7db","createPool(address,address,address,address,address,uint8,uint8,(address,address,uint256,uint256,uint256,uint256))":"85294f18","createPool(address,address,address,address,address,uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256))":"e070e0ab","createProposal()":"180fd87f","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","getParams(address,uint8,uint8,(uint256),(address,address,uint256,uint256,uint256,uint256))":"c36e336b","local()":"0f166ad4","metadata()":"392f37e9","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_anchor()":"176effb3","poolProfile_id()":"fd325c60","poolProfile_id1(address,address,address[])":"37d1c404","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_anchor()":"c5d7d73b","profile1_id()":"39f56f7f","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_anchor()":"3554642a","profile2_id()":"18540361","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry()":"7b103999","registry_owner()":"dac4eb16","safeHelper(address,uint256,address,bytes)":"023a6f43","safeHelper(address,uint256,address,bytes,uint256)":"c1f2a641","safeHelper(address,uint256,bytes)":"6db52510","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testArbitrationCost()":"c73b09e7","testCannotCreateDisputeWithInsufficientFee()":"8292636f","testCannotExecuteRulingFromNonSafe()":"94d181e3","testCannotExecuteRulingTwice()":"ec9ec248","testCannotRuleInvalidRuling()":"6f6dfab1","testCreateDispute()":"985a0b94","testCurrentRuling()":"f8cbf34f","testExecuteRuling()":"758311e4","testSetArbitrationFee()":"a41cfc99","token()":"fc0c546a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DECIMALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERCENTAGE_SCALE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"POOL_AMOUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SAFE_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SAFE_NONCE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SAFE_SINGLETON\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_WITH_FEES\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"}],\"name\":\"__createContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_contract\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_councilSafe\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"contract SafeProxyFactory\",\"name\":\"_safeProxyFactory\",\"type\":\"address\"}],\"name\":\"_councilSafeWithOwner\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"_councilSafeWithOwner\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_createSafe\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_createSafeProxyFactory\",\"outputs\":[{\"internalType\":\"contract SafeProxyFactory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo\",\"outputs\":[{\"internalType\":\"contract Allo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMember1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMemberPK\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafeOwner\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"createProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"enum ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"}],\"name\":\"getParams\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"internalType\":\"struct CVParams\",\"name\":\"cvParams\",\"type\":\"tuple\"},{\"internalType\":\"enum ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IArbitrator\",\"name\":\"arbitrator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tribunalSafe\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"submitterCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengerCollateralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRuling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"defaultRulingTimeout\",\"type\":\"uint256\"}],\"internalType\":\"struct ArbitrableConfig\",\"name\":\"arbitrableConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"initialAllowlist\",\"type\":\"address[]\"}],\"internalType\":\"struct CVStrategyInitializeParamsV0_1\",\"name\":\"params\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"pool_admin\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"pool_managers\",\"type\":\"address[]\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract Registry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"councilSafe_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"councilMemberPK_\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"councilSafe_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"councilMemberPK_\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testArbitrationCost\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCannotCreateDisputeWithInsufficientFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCannotExecuteRulingFromNonSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCannotExecuteRulingTwice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCannotRuleInvalidRuling\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCreateDispute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCurrentRuling\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testExecuteRuling\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSetArbitrationFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract GV2ERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/SafeArbitratorTest.t.sol\":\"SafeArbitratorTest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/foundry/shared/AlloSetup.sol\":{\"keccak256\":\"0xc3043a3bc8f280688b9ddf0925e51886a7eede4d55ea197e2a6c4c4529016cf5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://865359aed9fc3f3081e0dbf52f68ee1dd701e0579a156f71d6e4ca6bf62a65d3\",\"dweb:/ipfs/QmQRBbksFgxujjGJyiBW3vFRKnBRBWbTCJvZrzvyZMSk5Y\"]},\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":{\"keccak256\":\"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb\",\"dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c\",\"dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b\",\"dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/script/GV2ERC20.sol\":{\"keccak256\":\"0x72e3d7c5f055490e976b03abf0b7773b5cefd7e305021d0ea83cba3e142118f9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://3f19911b75ab3e0d2d41f5d9f4754f21d78b500905da3342b61bc54e502d4c97\",\"dweb:/ipfs/QmU4zPrrTWQY3eUYegHZzLjs2jyRgGtgyZp4J2ZQxj8Vp2\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293\",\"dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol\":{\"keccak256\":\"0xc3aed28a3fec8dcc2e95c8569aa2c4323897a1685c63746822956fe995eddf28\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c4126fea7a0d30c76aab94605930ed01c7e53df2f4a7bba4773c097904d5eb39\",\"dweb:/ipfs/QmNsDu9G5JKCXdTs1HmEyVcR3S4DhuiZRt2bEPVNYGckgw\"]},\"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol\":{\"keccak256\":\"0x7ac113b4d9b37166aa2453c1bdbb04db3aa4a2e8445b947b36034a59ea2d7290\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://74a5dfd911f0579d4c2cf49669e0b1e06c88f3764cca83cf95579c4db671de40\",\"dweb:/ipfs/QmQm2LGi4KLV7yPY3sMbD44n7crAuGQwp6fJ8a8C5WQBYa\"]},\"pkg/contracts/src/CollateralVault.sol\":{\"keccak256\":\"0xd0a631cb40a4a31bf144f2071a9b9235d3e3f5fd70191405f5396e761082b5d9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://eab45886357e161471be5e6230846116a3b1b6fbe15ec37d613ea7e4f3b77a20\",\"dweb:/ipfs/QmdN8jGuyohaQktCuyEVWhMKbWNw6cNGvHubJ5L39wd91Y\"]},\"pkg/contracts/src/IRegistryFactory.sol\":{\"keccak256\":\"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612\",\"dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/ProxyOwnableUpgrader.sol\":{\"keccak256\":\"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9\",\"dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x6b05f27573e30362ec808b4d79f8156550a8dd5090b107b46928ab8d87be3c87\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://134753f1a9a463e4193ffa2b2f6e32813b7a3d7603ddacaedf0f65a6a72c864a\",\"dweb:/ipfs/QmZnQa6a3aFUvxdT1yaj72DBQUShfq5okHshhHwGv85Mdq\"]},\"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol\":{\"keccak256\":\"0x30e941996ee5d85123b7287e4c56fb642644624fcd7bd54ec5cc6d9c35929659\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d05002caba8d60e778bd4e27da3f3e93e8ecc33814902e8bad2b3d1eb65027b0\",\"dweb:/ipfs/QmZYjLmM48816YfFPXNxf3XwjJ3DLQ58mSPP8hRDBAnNtQ\"]},\"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol\":{\"keccak256\":\"0xe130342ecd3a0023a97611845108dd8f7411a4b18dfe8bccc7d880b716e94932\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://be21850b019ca2fd1a2da4474822621b3471d1def2f78599ffac20d94c8782ff\",\"dweb:/ipfs/QmPA536ZAYTcqBdyh3AxafpKM5Rx5C97uNP7n5dXKZqNvM\"]},\"pkg/contracts/src/SafeArbitrator.sol\":{\"keccak256\":\"0x706ccf6005d2fe60e3b68e2cf825869f450154a5a437d6ac7f72593809dad04d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5241571ed3a12db78e1e1876c26a03eb8af5fda070b40798f19d186126193dce\",\"dweb:/ipfs/QmSwaxyThd3tsokq2uUjLrHurHHBC71QgWVCgsjC8dY8Be\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/IArbitrable.sol\":{\"keccak256\":\"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508\",\"dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r\"]},\"pkg/contracts/src/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d\",\"dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R\"]},\"pkg/contracts/src/interfaces/ICollateralVault.sol\":{\"keccak256\":\"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23\",\"dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70\",\"dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq\"]},\"pkg/contracts/test/CVStrategyHelpers.sol\":{\"keccak256\":\"0x082384255b863be3fb26aec66adb19083a3b8f93007e74c0af8bf8bd7fa5d15d\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://7f72b03dac8a4121cd3fa5b2bb6d02582490727c77a07d991cd0318e1238a74e\",\"dweb:/ipfs/QmWstkXhdxh8JJfy5NmwsZZiDmHkc4saJHkeDsiSMxeYgw\"]},\"pkg/contracts/test/SafeArbitratorTest.t.sol\":{\"keccak256\":\"0x389f29f23be84d85eed57d6eb06fdc98f21731bb8325438703dd4224ebe06690\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b63adc1c5eaa9f412a672bb37d0c7c5800d702c263d00da51dff349a6fea806\",\"dweb:/ipfs/Qma2NBzNke4PUeD2ResZHPKKemCtTi3N9UXvnfR63EhmAs\"]},\"pkg/contracts/test/shared/SafeSetup.sol\":{\"keccak256\":\"0x47fd1bc0ce492f856f4f1cb6d7c95f3ce649431367e3370fd50a7fce4baeaee8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a6996b30b78ded1502865d96ae9d794106e521b5d176fb187bc200aa4a65f18b\",\"dweb:/ipfs/QmY8YVD7uXUsQfSSXtb6mmKbGTyScXSPJ9DZdEvbmN5m73\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DECIMALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PERCENTAGE_SCALE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"POOL_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SAFE_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SAFE_NONCE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SAFE_SINGLETON","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"STAKE_WITH_FEES","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes","name":"bytecode","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"__createContract","outputs":[{"internalType":"address","name":"_contract","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"}],"stateMutability":"pure","type":"function","name":"_calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"_councilSafe","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"contract SafeProxyFactory","name":"_safeProxyFactory","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"_councilSafeWithOwner","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"_councilSafeWithOwner","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"_createSafe","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"_createSafeProxyFactory","outputs":[{"internalType":"contract SafeProxyFactory","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"allo","outputs":[{"internalType":"contract Allo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMember1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMemberPK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafeOwner","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"enum ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"enum ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"createProposal","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"enum ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]}],"stateMutability":"pure","type":"function","name":"getParams","outputs":[{"internalType":"struct CVStrategyInitializeParamsV0_1","name":"params","type":"tuple","components":[{"internalType":"struct CVParams","name":"cvParams","type":"tuple","components":[{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"}]},{"internalType":"enum ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"struct ArbitrableConfig","name":"arbitrableConfig","type":"tuple","components":[{"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"internalType":"address","name":"tribunalSafe","type":"address"},{"internalType":"uint256","name":"submitterCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"challengerCollateralAmount","type":"uint256"},{"internalType":"uint256","name":"defaultRuling","type":"uint256"},{"internalType":"uint256","name":"defaultRulingTimeout","type":"uint256"}]},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"address","name":"sybilScorer","type":"address"},{"internalType":"address[]","name":"initialAllowlist","type":"address[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"pool_admin","type":"address"},{"internalType":"address[]","name":"pool_managers","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"poolProfile_id1","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract Registry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract ISafe","name":"councilSafe_","type":"address"},{"internalType":"uint256","name":"councilMemberPK_","type":"uint256"},{"internalType":"address","name":"to_","type":"address"},{"internalType":"bytes","name":"data_","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"value_","type":"uint256"},{"internalType":"bytes","name":"data_","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[{"internalType":"contract ISafe","name":"councilSafe_","type":"address"},{"internalType":"uint256","name":"councilMemberPK_","type":"uint256"},{"internalType":"address","name":"to_","type":"address"},{"internalType":"bytes","name":"data_","type":"bytes"},{"internalType":"uint256","name":"value_","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"testArbitrationCost"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCannotCreateDisputeWithInsufficientFee"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCannotExecuteRulingFromNonSafe"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCannotExecuteRulingTwice"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCannotRuleInvalidRuling"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCreateDispute"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCurrentRuling"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testExecuteRuling"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testSetArbitrationFee"},{"inputs":[],"stateMutability":"view","type":"function","name":"token","outputs":[{"internalType":"contract GV2ERC20","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/SafeArbitratorTest.t.sol":"SafeArbitratorTest"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/AlloSetup.sol":{"keccak256":"0xc3043a3bc8f280688b9ddf0925e51886a7eede4d55ea197e2a6c4c4529016cf5","urls":["bzz-raw://865359aed9fc3f3081e0dbf52f68ee1dd701e0579a156f71d6e4ca6bf62a65d3","dweb:/ipfs/QmQRBbksFgxujjGJyiBW3vFRKnBRBWbTCJvZrzvyZMSk5Y"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":{"keccak256":"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b","urls":["bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb","dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j"],"license":"AGPL-3.0-only"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361","urls":["bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c","dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef","urls":["bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b","dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab","urls":["bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d","dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/script/GV2ERC20.sol":{"keccak256":"0x72e3d7c5f055490e976b03abf0b7773b5cefd7e305021d0ea83cba3e142118f9","urls":["bzz-raw://3f19911b75ab3e0d2d41f5d9f4754f21d78b500905da3342b61bc54e502d4c97","dweb:/ipfs/QmU4zPrrTWQY3eUYegHZzLjs2jyRgGtgyZp4J2ZQxj8Vp2"],"license":"AGPL-3.0-only"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0x541e01ec844f90dd0f7348dd0a5b111ab2214004882639f25945b8b09cb683d2","urls":["bzz-raw://a8cd30efe0db12044ea0cd184c14a44feaaeb12c39b124d5fba060ef3ff20293","dweb:/ipfs/Qme26Jr1tVVP5k3gqPvP7ZLTZPvQzLXkvgzustv7QAzDo5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol":{"keccak256":"0xc3aed28a3fec8dcc2e95c8569aa2c4323897a1685c63746822956fe995eddf28","urls":["bzz-raw://c4126fea7a0d30c76aab94605930ed01c7e53df2f4a7bba4773c097904d5eb39","dweb:/ipfs/QmNsDu9G5JKCXdTs1HmEyVcR3S4DhuiZRt2bEPVNYGckgw"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol":{"keccak256":"0x7ac113b4d9b37166aa2453c1bdbb04db3aa4a2e8445b947b36034a59ea2d7290","urls":["bzz-raw://74a5dfd911f0579d4c2cf49669e0b1e06c88f3764cca83cf95579c4db671de40","dweb:/ipfs/QmQm2LGi4KLV7yPY3sMbD44n7crAuGQwp6fJ8a8C5WQBYa"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CollateralVault.sol":{"keccak256":"0xd0a631cb40a4a31bf144f2071a9b9235d3e3f5fd70191405f5396e761082b5d9","urls":["bzz-raw://eab45886357e161471be5e6230846116a3b1b6fbe15ec37d613ea7e4f3b77a20","dweb:/ipfs/QmdN8jGuyohaQktCuyEVWhMKbWNw6cNGvHubJ5L39wd91Y"],"license":"AGPL-3.0-only"},"pkg/contracts/src/IRegistryFactory.sol":{"keccak256":"0x7bd1635bba62fa692cff6ebc9c30cd11b038d78d057cbce96fe18a62e8857a1b","urls":["bzz-raw://282f661952cb336e5a5690642da80802195241796e0bfd09572ffa74748f5612","dweb:/ipfs/QmWp3RFiUUZ5DhGpN77cYDwoTK3HPitZAjwviGzHUYVuSV"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/ProxyOwnableUpgrader.sol":{"keccak256":"0xe75af89b2eff95c66d105d9368484a620ab0d441670fe41678b809dabcd6ffe8","urls":["bzz-raw://ba200208998e8f646bbe9b1f4f1f2a2f1450163e5abd0d64ea6b9be50875f9b9","dweb:/ipfs/QmeaF3YUmxPRmgKef3F5WX6AZWagNu4ex7CXcyDH8sStHN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol":{"keccak256":"0x6b05f27573e30362ec808b4d79f8156550a8dd5090b107b46928ab8d87be3c87","urls":["bzz-raw://134753f1a9a463e4193ffa2b2f6e32813b7a3d7603ddacaedf0f65a6a72c864a","dweb:/ipfs/QmZnQa6a3aFUvxdT1yaj72DBQUShfq5okHshhHwGv85Mdq"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol":{"keccak256":"0x30e941996ee5d85123b7287e4c56fb642644624fcd7bd54ec5cc6d9c35929659","urls":["bzz-raw://d05002caba8d60e778bd4e27da3f3e93e8ecc33814902e8bad2b3d1eb65027b0","dweb:/ipfs/QmZYjLmM48816YfFPXNxf3XwjJ3DLQ58mSPP8hRDBAnNtQ"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol":{"keccak256":"0xe130342ecd3a0023a97611845108dd8f7411a4b18dfe8bccc7d880b716e94932","urls":["bzz-raw://be21850b019ca2fd1a2da4474822621b3471d1def2f78599ffac20d94c8782ff","dweb:/ipfs/QmPA536ZAYTcqBdyh3AxafpKM5Rx5C97uNP7n5dXKZqNvM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/SafeArbitrator.sol":{"keccak256":"0x706ccf6005d2fe60e3b68e2cf825869f450154a5a437d6ac7f72593809dad04d","urls":["bzz-raw://5241571ed3a12db78e1e1876c26a03eb8af5fda070b40798f19d186126193dce","dweb:/ipfs/QmSwaxyThd3tsokq2uUjLrHurHHBC71QgWVCgsjC8dY8Be"],"license":"MIT"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/IArbitrable.sol":{"keccak256":"0x62f583c799ab885f04092c780ca25ca58383e34981427c82be73c70f8cc6ca52","urls":["bzz-raw://7226cc99e84cb741d69b82d3cd25536d2f9ee5afc58b8c613d9f41e6e48b2508","dweb:/ipfs/QmPwhRBYXx4EtqX3rPdD5ZRqYTWocFbSmkLtPRHWp7at6r"],"license":"MIT"},"pkg/contracts/src/interfaces/IArbitrator.sol":{"keccak256":"0x741edd3cc24c59d165594e94f9ddda46b1fbbc54a9e1f9274de3c2eac37d6e2c","urls":["bzz-raw://63c18e7bebae0b43502a0f78632d8e02845dc6b4d63c81ba54b4a4c164d2401d","dweb:/ipfs/QmXjrXvxSBTv1muAM5JL7B2UhpwvGpMbtygfUmYTVNMv2R"],"license":"MIT"},"pkg/contracts/src/interfaces/ICollateralVault.sol":{"keccak256":"0x3043f36ad1493c07052ee9feb7128e433772ccbe7c053c5d90ef6575e048f184","urls":["bzz-raw://ec6b957426edea88f80ee65f5ea856ac879b0bcf1f33f920eb238ea154134d23","dweb:/ipfs/QmSfV8i3zKoDxgD8tFhLKKnDcokaPCrptstiuj2FZfKhjv"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0xfb4c6e6da4a698252365f12c1accc716b948c9cb9e63c2f7699caa9363786a7a","urls":["bzz-raw://93657dcc916bea9a2a4f1a48c7be5b957c84251ef7347237945219e1f8600e70","dweb:/ipfs/QmcKsf5hvEXEYi2ytKm6J6Pq1534nwjBWrFPmdDwssEqKq"],"license":"LGPL-3.0-only"},"pkg/contracts/test/CVStrategyHelpers.sol":{"keccak256":"0x082384255b863be3fb26aec66adb19083a3b8f93007e74c0af8bf8bd7fa5d15d","urls":["bzz-raw://7f72b03dac8a4121cd3fa5b2bb6d02582490727c77a07d991cd0318e1238a74e","dweb:/ipfs/QmWstkXhdxh8JJfy5NmwsZZiDmHkc4saJHkeDsiSMxeYgw"],"license":"AGPL-3.0-or-later"},"pkg/contracts/test/SafeArbitratorTest.t.sol":{"keccak256":"0x389f29f23be84d85eed57d6eb06fdc98f21731bb8325438703dd4224ebe06690","urls":["bzz-raw://8b63adc1c5eaa9f412a672bb37d0c7c5800d702c263d00da51dff349a6fea806","dweb:/ipfs/Qma2NBzNke4PUeD2ResZHPKKemCtTi3N9UXvnfR63EhmAs"],"license":"MIT"},"pkg/contracts/test/shared/SafeSetup.sol":{"keccak256":"0x47fd1bc0ce492f856f4f1cb6d7c95f3ce649431367e3370fd50a7fce4baeaee8","urls":["bzz-raw://a6996b30b78ded1502865d96ae9d794106e521b5d176fb187bc200aa4a65f18b","dweb:/ipfs/QmY8YVD7uXUsQfSSXtb6mmKbGTyScXSPJ9DZdEvbmN5m73"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":5830,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)13196_storage"},{"astId":5987,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":8488,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":8509,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)8504_storage)"},{"astId":8513,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":8517,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":8520,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":9278,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":11315,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)13196_storage"},{"astId":12183,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_excludedContracts","offset":0,"slot":"21","type":"t_array(t_address)dyn_storage"},{"astId":12186,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_excludedSenders","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"},{"astId":12189,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_targetedContracts","offset":0,"slot":"23","type":"t_array(t_address)dyn_storage"},{"astId":12192,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_targetedSenders","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":12195,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_excludedArtifacts","offset":0,"slot":"25","type":"t_array(t_string_storage)dyn_storage"},{"astId":12198,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_targetedArtifacts","offset":0,"slot":"26","type":"t_array(t_string_storage)dyn_storage"},{"astId":12202,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_targetedArtifactSelectors","offset":0,"slot":"27","type":"t_array(t_struct(FuzzSelector)12174_storage)dyn_storage"},{"astId":12206,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_targetedSelectors","offset":0,"slot":"28","type":"t_array(t_struct(FuzzSelector)12174_storage)dyn_storage"},{"astId":12210,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_targetedInterfaces","offset":0,"slot":"29","type":"t_array(t_struct(FuzzInterface)12180_storage)dyn_storage"},{"astId":17795,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"IS_TEST","offset":0,"slot":"30","type":"t_bool"},{"astId":5104,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_registry_","offset":1,"slot":"30","type":"t_contract(Registry)2295"},{"astId":5137,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_poolProfileId_","offset":0,"slot":"31","type":"t_bytes32"},{"astId":5139,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_poolProfileAnchor_","offset":0,"slot":"32","type":"t_address"},{"astId":5141,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_profile1Id_","offset":0,"slot":"33","type":"t_bytes32"},{"astId":5143,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_profile1Anchor_","offset":0,"slot":"34","type":"t_address"},{"astId":5145,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_profile2Id_","offset":0,"slot":"35","type":"t_bytes32"},{"astId":5147,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_profile2Anchor_","offset":0,"slot":"36","type":"t_address"},{"astId":5040,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_allo_","offset":0,"slot":"37","type":"t_contract(Allo)1390"},{"astId":79381,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"metadata","offset":0,"slot":"38","type":"t_struct(Metadata)3098_storage"},{"astId":79393,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_poolProfileId1_","offset":0,"slot":"40","type":"t_bytes32"},{"astId":97007,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"councilSafe","offset":0,"slot":"41","type":"t_contract(ISafe)76451"},{"astId":97010,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"councilSafeOwner","offset":0,"slot":"42","type":"t_contract(ISafe)76451"},{"astId":97012,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"councilMember1","offset":0,"slot":"43","type":"t_address"},{"astId":97015,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"councilMemberPK","offset":0,"slot":"44","type":"t_uint256"},{"astId":97018,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_nonce","offset":0,"slot":"45","type":"t_uint256"},{"astId":97020,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_safeSingleton","offset":0,"slot":"46","type":"t_address"},{"astId":95837,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"safeArbitrator","offset":0,"slot":"47","type":"t_contract(SafeArbitrator)73801"},{"astId":95840,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"cvStrategy","offset":0,"slot":"48","type":"t_contract(CVStrategyV0_1)69756"},{"astId":95842,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"poolId","offset":0,"slot":"49","type":"t_uint256"},{"astId":95845,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"registryCommunity","offset":0,"slot":"50","type":"t_contract(RegistryCommunityV0_1)72929"},{"astId":95848,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"token","offset":0,"slot":"51","type":"t_contract(GV2ERC20)64847"},{"astId":95854,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"factoryOwner","offset":0,"slot":"52","type":"t_address"},{"astId":95860,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"challenger","offset":0,"slot":"53","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzInterface)12180_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)12180_storage"},"t_array(t_struct(FuzzSelector)12174_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)12174_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(Allo)1390":{"encoding":"inplace","label":"contract Allo","numberOfBytes":"20"},"t_contract(CVStrategyV0_1)69756":{"encoding":"inplace","label":"contract CVStrategyV0_1","numberOfBytes":"20"},"t_contract(GV2ERC20)64847":{"encoding":"inplace","label":"contract GV2ERC20","numberOfBytes":"20"},"t_contract(ISafe)76451":{"encoding":"inplace","label":"contract ISafe","numberOfBytes":"20"},"t_contract(Registry)2295":{"encoding":"inplace","label":"contract Registry","numberOfBytes":"20"},"t_contract(RegistryCommunityV0_1)72929":{"encoding":"inplace","label":"contract RegistryCommunityV0_1","numberOfBytes":"20"},"t_contract(SafeArbitrator)73801":{"encoding":"inplace","label":"contract SafeArbitrator","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13171_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13171_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13171_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)8504_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)8504_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)8504_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":8497,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":8499,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":8501,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":8503,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)13171_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13164,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13166,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13168,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13170,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzInterface)12180_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":12176,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12179,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)12174_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":12170,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12173,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(StdStorage)13196_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13180,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13171_storage)))"},{"astId":13183,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13185,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13187,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13189,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13191,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13193,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13195,"contract":"pkg/contracts/test/SafeArbitratorTest.t.sol:SafeArbitratorTest","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"pkg/contracts/test/SafeArbitratorTest.t.sol","id":96910,"exportedSymbols":{"Address":[57340],"AlloSetup":[5087],"ArbitrableConfig":[65628],"CVStrategyHelpers":[79905],"CVStrategyInitializeParamsV0_0":[65657],"CVStrategyV0_0":[69194],"CVStrategyV0_1":[69756],"CollateralVault":[70002],"CreateProposal":[65557],"ERC1967Proxy":[55021],"ERC1967Upgrade":[55325],"GV2ERC20":[64847],"IArbitrable":[76221],"IBeacon":[55387],"IERC1822Proxiable":[54984],"IERC1967":[54974],"IERC20":[56528],"Native":[3106],"PointSystem":[65545],"PointSystemConfig":[65614],"ProposalType":[65540],"Proxy":[55377],"RegistryCommunityInitializeParamsV0_0":[70795],"RegistryCommunityV0_1":[72929],"RegistryFactoryV0_0":[73299],"RegistrySetupFull":[5296],"SafeArbitrator":[73801],"SafeArbitratorTest":[96909],"SafeSetup":[97621],"StdAssertions":[8464],"StdChains":[9246],"StdCheats":[12099],"StdInvariant":[12424],"StdStorage":[13196],"StdStyle":[16366],"StdUtils":[17744],"StorageSlot":[57472],"Test":[17796],"TestBase":[5834],"Vm":[21446],"console":[29510],"console2":[37635],"safeconsole":[52360],"stdError":[12165],"stdJson":[13016],"stdMath":[13158],"stdStorage":[15155],"stdToml":[16958]},"nodeType":"SourceUnit","src":"32:10327:139","nodes":[{"id":95789,"nodeType":"PragmaDirective","src":"32:24:139","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":95790,"nodeType":"ImportDirective","src":"58:28:139","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":96910,"sourceUnit":17797,"symbolAliases":[],"unitAlias":""},{"id":95792,"nodeType":"ImportDirective","src":"87:57:139","nodes":[],"absolutePath":"pkg/contracts/src/SafeArbitrator.sol","file":"../src/SafeArbitrator.sol","nameLocation":"-1:-1:-1","scope":96910,"sourceUnit":73802,"symbolAliases":[{"foreign":{"id":95791,"name":"SafeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73801,"src":"95:14:139","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":95801,"nodeType":"ImportDirective","src":"145:230:139","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol","file":"../src/CVStrategy/CVStrategyV0_1.sol","nameLocation":"-1:-1:-1","scope":96910,"sourceUnit":69757,"symbolAliases":[{"foreign":{"id":95793,"name":"CVStrategyV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69756,"src":"158:14:139","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":95794,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69194,"src":"178:14:139","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":95795,"name":"CVStrategyInitializeParamsV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65657,"src":"198:30:139","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":95796,"name":"ArbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65628,"src":"234:16:139","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":95797,"name":"PointSystemConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65614,"src":"256:17:139","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":95798,"name":"PointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65545,"src":"279:11:139","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":95799,"name":"ProposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65540,"src":"296:12:139","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":95800,"name":"CreateProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65557,"src":"314:14:139","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":95804,"nodeType":"ImportDirective","src":"376:128:139","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol","file":"../src/RegistryCommunity/RegistryCommunityV0_1.sol","nameLocation":"-1:-1:-1","scope":96910,"sourceUnit":72930,"symbolAliases":[{"foreign":{"id":95802,"name":"RegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72929,"src":"384:21:139","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":95803,"name":"RegistryCommunityInitializeParamsV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70795,"src":"407:37:139","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":95806,"nodeType":"ImportDirective","src":"505:83:139","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol","file":"../src/RegistryFactory/RegistryFactoryV0_0.sol","nameLocation":"-1:-1:-1","scope":96910,"sourceUnit":73300,"symbolAliases":[{"foreign":{"id":95805,"name":"RegistryFactoryV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73299,"src":"513:19:139","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":95808,"nodeType":"ImportDirective","src":"589:59:139","nodes":[],"absolutePath":"pkg/contracts/src/CollateralVault.sol","file":"../src/CollateralVault.sol","nameLocation":"-1:-1:-1","scope":96910,"sourceUnit":70003,"symbolAliases":[{"foreign":{"id":95807,"name":"CollateralVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70002,"src":"597:15:139","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":95810,"nodeType":"ImportDirective","src":"649:80:139","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol","file":"allo-v2-test/foundry/shared/RegistrySetup.sol","nameLocation":"-1:-1:-1","scope":96910,"sourceUnit":5297,"symbolAliases":[{"foreign":{"id":95809,"name":"RegistrySetupFull","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5296,"src":"657:17:139","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":95812,"nodeType":"ImportDirective","src":"730:68:139","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/AlloSetup.sol","file":"allo-v2-test/foundry/shared/AlloSetup.sol","nameLocation":"-1:-1:-1","scope":96910,"sourceUnit":5088,"symbolAliases":[{"foreign":{"id":95811,"name":"AlloSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5087,"src":"738:9:139","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":95814,"nodeType":"ImportDirective","src":"799:49:139","nodes":[],"absolutePath":"pkg/contracts/test/shared/SafeSetup.sol","file":"./shared/SafeSetup.sol","nameLocation":"-1:-1:-1","scope":96910,"sourceUnit":97622,"symbolAliases":[{"foreign":{"id":95813,"name":"SafeSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97621,"src":"807:9:139","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":95816,"nodeType":"ImportDirective","src":"849:62:139","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/IArbitrable.sol","file":"../src/interfaces/IArbitrable.sol","nameLocation":"-1:-1:-1","scope":96910,"sourceUnit":76222,"symbolAliases":[{"foreign":{"id":95815,"name":"IArbitrable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76221,"src":"857:11:139","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":95818,"nodeType":"ImportDirective","src":"912:48:139","nodes":[],"absolutePath":"pkg/contracts/script/GV2ERC20.sol","file":"../script/GV2ERC20.sol","nameLocation":"-1:-1:-1","scope":96910,"sourceUnit":64848,"symbolAliases":[{"foreign":{"id":95817,"name":"GV2ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64847,"src":"920:8:139","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":95820,"nodeType":"ImportDirective","src":"961:58:139","nodes":[],"absolutePath":"pkg/contracts/test/CVStrategyHelpers.sol","file":"./CVStrategyHelpers.sol","nameLocation":"-1:-1:-1","scope":96910,"sourceUnit":79906,"symbolAliases":[{"foreign":{"id":95819,"name":"CVStrategyHelpers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79905,"src":"969:17:139","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":95822,"nodeType":"ImportDirective","src":"1020:67:139","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"allo-v2-contracts/core/libraries/Native.sol","nameLocation":"-1:-1:-1","scope":96910,"sourceUnit":3107,"symbolAliases":[{"foreign":{"id":95821,"name":"Native","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"1028:6:139","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":95823,"nodeType":"ImportDirective","src":"1089:64:139","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":96910,"sourceUnit":55022,"symbolAliases":[],"unitAlias":""},{"id":95824,"nodeType":"ImportDirective","src":"1154:56:139","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":96910,"sourceUnit":56529,"symbolAliases":[],"unitAlias":""},{"id":96909,"nodeType":"ContractDefinition","src":"1212:9146:139","nodes":[{"id":95837,"nodeType":"VariableDeclaration","src":"1314:29:139","nodes":[],"constant":false,"mutability":"mutable","name":"safeArbitrator","nameLocation":"1329:14:139","scope":96909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73801","typeString":"contract SafeArbitrator"},"typeName":{"id":95836,"nodeType":"UserDefinedTypeName","pathNode":{"id":95835,"name":"SafeArbitrator","nameLocations":["1314:14:139"],"nodeType":"IdentifierPath","referencedDeclaration":73801,"src":"1314:14:139"},"referencedDeclaration":73801,"src":"1314:14:139","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73801","typeString":"contract SafeArbitrator"}},"visibility":"internal"},{"id":95840,"nodeType":"VariableDeclaration","src":"1349:25:139","nodes":[],"constant":false,"mutability":"mutable","name":"cvStrategy","nameLocation":"1364:10:139","scope":96909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"},"typeName":{"id":95839,"nodeType":"UserDefinedTypeName","pathNode":{"id":95838,"name":"CVStrategyV0_1","nameLocations":["1349:14:139"],"nodeType":"IdentifierPath","referencedDeclaration":69756,"src":"1349:14:139"},"referencedDeclaration":69756,"src":"1349:14:139","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}},"visibility":"internal"},{"id":95842,"nodeType":"VariableDeclaration","src":"1380:14:139","nodes":[],"constant":false,"mutability":"mutable","name":"poolId","nameLocation":"1388:6:139","scope":96909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95841,"name":"uint256","nodeType":"ElementaryTypeName","src":"1380:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":95845,"nodeType":"VariableDeclaration","src":"1400:48:139","nodes":[],"constant":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"1431:17:139","scope":96909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"},"typeName":{"id":95844,"nodeType":"UserDefinedTypeName","pathNode":{"id":95843,"name":"RegistryCommunityV0_1","nameLocations":["1400:21:139"],"nodeType":"IdentifierPath","referencedDeclaration":72929,"src":"1400:21:139"},"referencedDeclaration":72929,"src":"1400:21:139","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}},"visibility":"internal"},{"id":95848,"nodeType":"VariableDeclaration","src":"1454:21:139","nodes":[],"constant":false,"functionSelector":"fc0c546a","mutability":"mutable","name":"token","nameLocation":"1470:5:139","scope":96909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$64847","typeString":"contract GV2ERC20"},"typeName":{"id":95847,"nodeType":"UserDefinedTypeName","pathNode":{"id":95846,"name":"GV2ERC20","nameLocations":["1454:8:139"],"nodeType":"IdentifierPath","referencedDeclaration":64847,"src":"1454:8:139"},"referencedDeclaration":64847,"src":"1454:8:139","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$64847","typeString":"contract GV2ERC20"}},"visibility":"public"},{"id":95854,"nodeType":"VariableDeclaration","src":"1523:33:139","nodes":[],"constant":false,"mutability":"mutable","name":"factoryOwner","nameLocation":"1531:12:139","scope":96909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":95849,"name":"address","nodeType":"ElementaryTypeName","src":"1523:7:139","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"31","id":95852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1554:1:139","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":95851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1546:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":95850,"name":"address","nodeType":"ElementaryTypeName","src":"1546:7:139","typeDescriptions":{}}},"id":95853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1546:10:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":95860,"nodeType":"VariableDeclaration","src":"1639:31:139","nodes":[],"constant":false,"mutability":"mutable","name":"challenger","nameLocation":"1647:10:139","scope":96909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":95855,"name":"address","nodeType":"ElementaryTypeName","src":"1639:7:139","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"33","id":95858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1668:1:139","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":95857,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1660:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":95856,"name":"address","nodeType":"ElementaryTypeName","src":"1660:7:139","typeDescriptions":{}}},"id":95859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1660:10:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":95863,"nodeType":"VariableDeclaration","src":"1677:49:139","nodes":[],"constant":true,"functionSelector":"beda3db3","mutability":"constant","name":"POOL_AMOUNT","nameLocation":"1701:11:139","scope":96909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95861,"name":"uint256","nodeType":"ElementaryTypeName","src":"1677:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3135303030","id":95862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1715:11:139","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_15000000000000000000000_by_1","typeString":"int_const 15000000000000000000000"},"value":"15000"},"visibility":"public"},{"id":95866,"nodeType":"VariableDeclaration","src":"1732:42:139","nodes":[],"constant":true,"mutability":"constant","name":"TOTAL_SUPPLY","nameLocation":"1749:12:139","scope":96909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95864,"name":"uint256","nodeType":"ElementaryTypeName","src":"1732:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31303030","id":95865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1764:10:139","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"},"value":"1000"},"visibility":"internal"},{"id":95869,"nodeType":"VariableDeclaration","src":"1780:40:139","nodes":[],"constant":true,"mutability":"constant","name":"MINIMUM_STAKE","nameLocation":"1797:13:139","scope":96909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95867,"name":"uint256","nodeType":"ElementaryTypeName","src":"1780:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":95868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1813:7:139","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"visibility":"internal"},{"id":95872,"nodeType":"VariableDeclaration","src":"1826:45:139","nodes":[],"constant":true,"mutability":"constant","name":"COMMUNITY_FEE_PERCENTAGE","nameLocation":"1843:24:139","scope":96909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95870,"name":"uint256","nodeType":"ElementaryTypeName","src":"1826:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":95871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1870:1:139","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"internal"},{"id":95875,"nodeType":"VariableDeclaration","src":"1877:44:139","nodes":[],"constant":true,"mutability":"constant","name":"PROTOCOL_FEE_PERCENTAGE","nameLocation":"1894:23:139","scope":96909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95873,"name":"uint256","nodeType":"ElementaryTypeName","src":"1877:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":95874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1920:1:139","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"internal"},{"id":95878,"nodeType":"VariableDeclaration","src":"1927:42:139","nodes":[],"constant":true,"mutability":"constant","name":"ARBITRATION_FEE","nameLocation":"1944:15:139","scope":96909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95876,"name":"uint256","nodeType":"ElementaryTypeName","src":"1927:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":95877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1962:7:139","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000000_by_1","typeString":"int_const 2000000000000000000"},"value":"2"},"visibility":"internal"},{"id":95891,"nodeType":"VariableDeclaration","src":"1975:142:139","nodes":[],"constant":true,"functionSelector":"fe24a3cb","mutability":"constant","name":"STAKE_WITH_FEES","nameLocation":"1999:15:139","scope":96909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95879,"name":"uint256","nodeType":"ElementaryTypeName","src":"1975:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95890,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":95880,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95869,"src":"2025:13:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95889,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95886,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":95881,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95869,"src":"2042:13:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95884,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":95882,"name":"COMMUNITY_FEE_PERCENTAGE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95872,"src":"2059:24:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":95883,"name":"PROTOCOL_FEE_PERCENTAGE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95875,"src":"2086:23:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2059:50:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":95885,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2058:52:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2042:68:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":95887,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2041:70:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":95888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2114:3:139","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"2041:76:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2025:92:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":96296,"nodeType":"FunctionDefinition","src":"2124:3464:139","nodes":[],"body":{"id":96295,"nodeType":"Block","src":"2148:3440:139","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":95894,"name":"__RegistrySetupFull","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5247,"src":"2265:19:139","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":95895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2265:21:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95896,"nodeType":"ExpressionStatement","src":"2265:21:139"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":95900,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5131,"src":"2316:8:139","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () view returns (contract Registry)"}},"id":95901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2316:10:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":95899,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2308:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":95898,"name":"address","nodeType":"ElementaryTypeName","src":"2308:7:139","typeDescriptions":{}}},"id":95902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2308:19:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":95897,"name":"__AlloSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5077,"src":"2296:11:139","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":95903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2296:32:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95904,"nodeType":"ExpressionStatement","src":"2296:32:139"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":95908,"name":"allo_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4685,"src":"2353:10:139","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":95909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2353:12:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":95905,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2339:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":95907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2342:10:139","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":21227,"src":"2339:13:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":95910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2339:27:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95911,"nodeType":"ExpressionStatement","src":"2339:27:139"},{"expression":{"arguments":[{"hexValue":"30","id":95915,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2397:1:139","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":95912,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5086,"src":"2376:4:139","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":95913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2376:6:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":95914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2383:13:139","memberName":"updateBaseFee","nodeType":"MemberAccess","referencedDeclaration":312,"src":"2376:20:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":95916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2376:23:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95917,"nodeType":"ExpressionStatement","src":"2376:23:139"},{"expression":{"arguments":[{"hexValue":"30","id":95921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2433:1:139","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":95918,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5086,"src":"2409:4:139","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":95919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2409:6:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":95920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2416:16:139","memberName":"updatePercentFee","nodeType":"MemberAccess","referencedDeclaration":299,"src":"2409:23:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":95922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2409:26:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95923,"nodeType":"ExpressionStatement","src":"2409:26:139"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":95924,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2445:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":95926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2448:9:139","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":21239,"src":"2445:12:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":95927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2445:14:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95928,"nodeType":"ExpressionStatement","src":"2445:14:139"},{"expression":{"id":95937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95929,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95848,"src":"2470:5:139","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$64847","typeString":"contract GV2ERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"4d6f636b20546f6b656e","id":95933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2491:12:139","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb96b779e2a421c78f42d9b3999c8bc0c7726c66c63accdd9ba94f2ff1357844","typeString":"literal_string \"Mock Token\""},"value":"Mock Token"},{"hexValue":"4d544b","id":95934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2505:5:139","typeDescriptions":{"typeIdentifier":"t_stringliteral_793539e36336d70961c91bdb898dff4b065dbb5ef5ac709025f5b68be91dd01e","typeString":"literal_string \"MTK\""},"value":"MTK"},{"hexValue":"3138","id":95935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2512:2:139","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb96b779e2a421c78f42d9b3999c8bc0c7726c66c63accdd9ba94f2ff1357844","typeString":"literal_string \"Mock Token\""},{"typeIdentifier":"t_stringliteral_793539e36336d70961c91bdb898dff4b065dbb5ef5ac709025f5b68be91dd01e","typeString":"literal_string \"MTK\""},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":95932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2478:12:139","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$_t_contract$_GV2ERC20_$64847_$","typeString":"function (string memory,string memory,uint8) returns (contract GV2ERC20)"},"typeName":{"id":95931,"nodeType":"UserDefinedTypeName","pathNode":{"id":95930,"name":"GV2ERC20","nameLocations":["2482:8:139"],"nodeType":"IdentifierPath","referencedDeclaration":64847,"src":"2482:8:139"},"referencedDeclaration":64847,"src":"2482:8:139","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$64847","typeString":"contract GV2ERC20"}}},"id":95936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2478:37:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$64847","typeString":"contract GV2ERC20"}},"src":"2470:45:139","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$64847","typeString":"contract GV2ERC20"}},"id":95938,"nodeType":"ExpressionStatement","src":"2470:45:139"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":95942,"name":"local","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4665,"src":"2536:5:139","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":95943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2536:7:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95946,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":95944,"name":"TOTAL_SUPPLY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95866,"src":"2545:12:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"33","id":95945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2560:1:139","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"2545:16:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":95939,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95848,"src":"2525:5:139","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$64847","typeString":"contract GV2ERC20"}},"id":95941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2531:4:139","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":64701,"src":"2525:10:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":95947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2525:37:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95948,"nodeType":"ExpressionStatement","src":"2525:37:139"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":95952,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"2583:10:139","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":95953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2583:12:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95956,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":95954,"name":"TOTAL_SUPPLY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95866,"src":"2597:12:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"33","id":95955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2612:1:139","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"2597:16:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":95949,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95848,"src":"2572:5:139","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$64847","typeString":"contract GV2ERC20"}},"id":95951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2578:4:139","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":64701,"src":"2572:10:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":95957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2572:42:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95958,"nodeType":"ExpressionStatement","src":"2572:42:139"},{"expression":{"arguments":[{"arguments":[{"hexValue":"36","id":95964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2673:1:139","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"}],"id":95963,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2665:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":95962,"name":"address","nodeType":"ElementaryTypeName","src":"2665:7:139","typeDescriptions":{}}},"id":95965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2665:10:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95968,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":95966,"name":"TOTAL_SUPPLY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95866,"src":"2677:12:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"33","id":95967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2692:1:139","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"2677:16:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":95959,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95848,"src":"2654:5:139","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$64847","typeString":"contract GV2ERC20"}},"id":95961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2660:4:139","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":64701,"src":"2654:10:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":95969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2654:40:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95970,"nodeType":"ExpressionStatement","src":"2654:40:139"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":95976,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5086,"src":"2726:4:139","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":95977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2726:6:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":95975,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2718:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":95974,"name":"address","nodeType":"ElementaryTypeName","src":"2718:7:139","typeDescriptions":{}}},"id":95978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2718:15:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"31353030","id":95979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2735:10:139","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1500000000000000000000_by_1","typeString":"int_const 1500000000000000000000"},"value":"1500"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_1500000000000000000000_by_1","typeString":"int_const 1500000000000000000000"}],"expression":{"id":95971,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95848,"src":"2704:5:139","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$64847","typeString":"contract GV2ERC20"}},"id":95973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2710:7:139","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":4226,"src":"2704:13:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":95980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2704:42:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":95981,"nodeType":"ExpressionStatement","src":"2704:42:139"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":95985,"name":"allo_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4685,"src":"2771:10:139","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":95986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2771:12:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":95982,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2757:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":95984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2760:10:139","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":21227,"src":"2757:13:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":95987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2757:27:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95988,"nodeType":"ExpressionStatement","src":"2757:27:139"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":95992,"name":"local","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4665,"src":"2819:5:139","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":95993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2819:7:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":95989,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5086,"src":"2794:4:139","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":95990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2794:6:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":95991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2801:17:139","memberName":"transferOwnership","nodeType":"MemberAccess","referencedDeclaration":4019,"src":"2794:24:139","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$returns$__$","typeString":"function (address) payable external"}},"id":95994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2794:33:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95995,"nodeType":"ExpressionStatement","src":"2794:33:139"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":95996,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2837:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":95998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2840:9:139","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":21239,"src":"2837:12:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":95999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2837:14:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96000,"nodeType":"ExpressionStatement","src":"2837:14:139"},{"expression":{"arguments":[{"id":96004,"name":"factoryOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95854,"src":"2876:12:139","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":96001,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2862:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2865:10:139","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":21227,"src":"2862:13:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":96005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2862:27:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96006,"nodeType":"ExpressionStatement","src":"2862:27:139"},{"expression":{"id":96034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":96007,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95837,"src":"2900:14:139","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73801","typeString":"contract SafeArbitrator"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":96020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"3049:18:139","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_SafeArbitrator_$73801_$","typeString":"function () returns (contract SafeArbitrator)"},"typeName":{"id":96019,"nodeType":"UserDefinedTypeName","pathNode":{"id":96018,"name":"SafeArbitrator","nameLocations":["3053:14:139"],"nodeType":"IdentifierPath","referencedDeclaration":73801,"src":"3053:14:139"},"referencedDeclaration":73801,"src":"3053:14:139","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73801","typeString":"contract SafeArbitrator"}}},"id":96021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3049:20:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73801","typeString":"contract SafeArbitrator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeArbitrator_$73801","typeString":"contract SafeArbitrator"}],"id":96017,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3041:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96016,"name":"address","nodeType":"ElementaryTypeName","src":"3041:7:139","typeDescriptions":{}}},"id":96022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3041:29:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":96025,"name":"SafeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73801,"src":"3119:14:139","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeArbitrator_$73801_$","typeString":"type(contract SafeArbitrator)"}},"id":96026,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3134:10:139","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":73523,"src":"3119:25:139","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_uint256_$returns$__$","typeString":"function SafeArbitrator.initialize(uint256)"}},"id":96027,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3145:8:139","memberName":"selector","nodeType":"MemberAccess","src":"3119:34:139","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":96028,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95878,"src":"3155:15:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":96023,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3096:3:139","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":96024,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3100:18:139","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"3096:22:139","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":96029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3096:75:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":96015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2999:16:139","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55021_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":96014,"nodeType":"UserDefinedTypeName","pathNode":{"id":96013,"name":"ERC1967Proxy","nameLocations":["3003:12:139"],"nodeType":"IdentifierPath","referencedDeclaration":55021,"src":"3003:12:139"},"referencedDeclaration":55021,"src":"3003:12:139","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}},"id":96030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2999:194:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}],"id":96012,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2970:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96011,"name":"address","nodeType":"ElementaryTypeName","src":"2970:7:139","typeDescriptions":{}}},"id":96031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2970:241:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":96010,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2945:8:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":96009,"name":"address","nodeType":"ElementaryTypeName","src":"2945:8:139","stateMutability":"payable","typeDescriptions":{}}},"id":96032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2945:280:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":96008,"name":"SafeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73801,"src":"2917:14:139","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeArbitrator_$73801_$","typeString":"type(contract SafeArbitrator)"}},"id":96033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2917:318:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73801","typeString":"contract SafeArbitrator"}},"src":"2900:335:139","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73801","typeString":"contract SafeArbitrator"}},"id":96035,"nodeType":"ExpressionStatement","src":"2900:335:139"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":96036,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"3323:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3326:9:139","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":21239,"src":"3323:12:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":96039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3323:14:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96040,"nodeType":"ExpressionStatement","src":"3323:14:139"},{"assignments":[96043],"declarations":[{"constant":false,"id":96043,"mutability":"mutable","name":"params","nameLocation":"3393:6:139","nodeType":"VariableDeclaration","scope":96295,"src":"3348:51:139","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0"},"typeName":{"id":96042,"nodeType":"UserDefinedTypeName","pathNode":{"id":96041,"name":"RegistryCommunityInitializeParamsV0_0","nameLocations":["3348:37:139"],"nodeType":"IdentifierPath","referencedDeclaration":70795,"src":"3348:37:139"},"referencedDeclaration":70795,"src":"3348:37:139","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_storage_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0"}},"visibility":"internal"}],"id":96044,"nodeType":"VariableDeclarationStatement","src":"3348:51:139"},{"expression":{"id":96053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":96045,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96043,"src":"3409:6:139","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":96047,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3416:5:139","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":70770,"src":"3409:12:139","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":96050,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5086,"src":"3432:4:139","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":96051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3432:6:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":96049,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3424:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96048,"name":"address","nodeType":"ElementaryTypeName","src":"3424:7:139","typeDescriptions":{}}},"id":96052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3424:15:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3409:30:139","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":96054,"nodeType":"ExpressionStatement","src":"3409:30:139"},{"expression":{"id":96064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":96055,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96043,"src":"3449:6:139","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":96057,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3456:12:139","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":70773,"src":"3449:19:139","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":96061,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95848,"src":"3486:5:139","typeDescriptions":{"typeIdentifier":"t_contract$_GV2ERC20_$64847","typeString":"contract GV2ERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_GV2ERC20_$64847","typeString":"contract GV2ERC20"}],"id":96060,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3478:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96059,"name":"address","nodeType":"ElementaryTypeName","src":"3478:7:139","typeDescriptions":{}}},"id":96062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3478:14:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":96058,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56528,"src":"3471:6:139","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$56528_$","typeString":"type(contract IERC20)"}},"id":96063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3471:22:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"src":"3449:44:139","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":96065,"nodeType":"ExpressionStatement","src":"3449:44:139"},{"expression":{"id":96070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":96066,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96043,"src":"3503:6:139","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":96068,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3510:20:139","memberName":"_registerStakeAmount","nodeType":"MemberAccess","referencedDeclaration":70775,"src":"3503:27:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":96069,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95869,"src":"3533:13:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3503:43:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":96071,"nodeType":"ExpressionStatement","src":"3503:43:139"},{"expression":{"id":96076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":96072,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96043,"src":"3556:6:139","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":96074,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3563:13:139","memberName":"_communityFee","nodeType":"MemberAccess","referencedDeclaration":70777,"src":"3556:20:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":96075,"name":"COMMUNITY_FEE_PERCENTAGE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95872,"src":"3579:24:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3556:47:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":96077,"nodeType":"ExpressionStatement","src":"3556:47:139"},{"expression":{"id":96085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":96078,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96043,"src":"3614:6:139","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":96080,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3621:12:139","memberName":"_feeReceiver","nodeType":"MemberAccess","referencedDeclaration":70783,"src":"3614:19:139","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":96083,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3644:4:139","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitratorTest_$96909","typeString":"contract SafeArbitratorTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeArbitratorTest_$96909","typeString":"contract SafeArbitratorTest"}],"id":96082,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3636:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96081,"name":"address","nodeType":"ElementaryTypeName","src":"3636:7:139","typeDescriptions":{}}},"id":96084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3636:13:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3614:35:139","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":96086,"nodeType":"ExpressionStatement","src":"3614:35:139"},{"expression":{"id":96091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":96087,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96043,"src":"3660:6:139","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":96089,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3667:9:139","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":70786,"src":"3660:16:139","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":96090,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79381,"src":"3679:8:139","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"src":"3660:27:139","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"id":96092,"nodeType":"ExpressionStatement","src":"3660:27:139"},{"expression":{"id":96104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":96093,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96043,"src":"3697:6:139","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}},"id":96095,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3704:12:139","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":70788,"src":"3697:19:139","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":96100,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97440,"src":"3735:12:139","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_ISafe_$76451_$","typeString":"function () returns (contract ISafe)"}},"id":96101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3735:14:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}],"id":96099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3727:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96098,"name":"address","nodeType":"ElementaryTypeName","src":"3727:7:139","typeDescriptions":{}}},"id":96102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3727:23:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":96097,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3719:8:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":96096,"name":"address","nodeType":"ElementaryTypeName","src":"3719:8:139","stateMutability":"payable","typeDescriptions":{}}},"id":96103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3719:32:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"3697:54:139","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":96105,"nodeType":"ExpressionStatement","src":"3697:54:139"},{"expression":{"id":96163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":96106,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95845,"src":"3762:17:139","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":96160,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96043,"src":"4448:6:139","typeDescriptions":{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr","typeString":"struct RegistryCommunityInitializeParamsV0_0 memory"}],"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":96118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"3933:23:139","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RegistryFactoryV0_0_$73299_$","typeString":"function () returns (contract RegistryFactoryV0_0)"},"typeName":{"id":96117,"nodeType":"UserDefinedTypeName","pathNode":{"id":96116,"name":"RegistryFactoryV0_0","nameLocations":["3937:19:139"],"nodeType":"IdentifierPath","referencedDeclaration":73299,"src":"3937:19:139"},"referencedDeclaration":73299,"src":"3937:19:139","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$73299","typeString":"contract RegistryFactoryV0_0"}}},"id":96119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3933:25:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$73299","typeString":"contract RegistryFactoryV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$73299","typeString":"contract RegistryFactoryV0_0"}],"id":96115,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3925:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96114,"name":"address","nodeType":"ElementaryTypeName","src":"3925:7:139","typeDescriptions":{}}},"id":96120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3925:34:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":96123,"name":"RegistryFactoryV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73299,"src":"4037:19:139","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryFactoryV0_0_$73299_$","typeString":"type(contract RegistryFactoryV0_0)"}},"id":96124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4057:10:139","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":73102,"src":"4037:30:139","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function RegistryFactoryV0_0.initialize(address,address,address,address,address)"}},"id":96125,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4068:8:139","memberName":"selector","nodeType":"MemberAccess","src":"4037:39:139","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":96128,"name":"factoryOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95854,"src":"4114:12:139","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":96127,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4106:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96126,"name":"address","nodeType":"ElementaryTypeName","src":"4106:7:139","typeDescriptions":{}}},"id":96129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4106:21:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"32","id":96132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4165:1:139","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":96131,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4157:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96130,"name":"address","nodeType":"ElementaryTypeName","src":"4157:7:139","typeDescriptions":{}}},"id":96133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4157:10:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":96138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4205:25:139","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RegistryCommunityV0_1_$72929_$","typeString":"function () returns (contract RegistryCommunityV0_1)"},"typeName":{"id":96137,"nodeType":"UserDefinedTypeName","pathNode":{"id":96136,"name":"RegistryCommunityV0_1","nameLocations":["4209:21:139"],"nodeType":"IdentifierPath","referencedDeclaration":72929,"src":"4209:21:139"},"referencedDeclaration":72929,"src":"4209:21:139","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}}},"id":96139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4205:27:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}],"id":96135,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4197:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96134,"name":"address","nodeType":"ElementaryTypeName","src":"4197:7:139","typeDescriptions":{}}},"id":96140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4197:36:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":96145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4271:18:139","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_CVStrategyV0_1_$69756_$","typeString":"function () returns (contract CVStrategyV0_1)"},"typeName":{"id":96144,"nodeType":"UserDefinedTypeName","pathNode":{"id":96143,"name":"CVStrategyV0_1","nameLocations":["4275:14:139"],"nodeType":"IdentifierPath","referencedDeclaration":69756,"src":"4275:14:139"},"referencedDeclaration":69756,"src":"4275:14:139","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}}},"id":96146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4271:20:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}],"id":96142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4263:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96141,"name":"address","nodeType":"ElementaryTypeName","src":"4263:7:139","typeDescriptions":{}}},"id":96147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4263:29:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":96152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4330:19:139","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_CollateralVault_$70002_$","typeString":"function () returns (contract CollateralVault)"},"typeName":{"id":96151,"nodeType":"UserDefinedTypeName","pathNode":{"id":96150,"name":"CollateralVault","nameLocations":["4334:15:139"],"nodeType":"IdentifierPath","referencedDeclaration":70002,"src":"4334:15:139"},"referencedDeclaration":70002,"src":"4334:15:139","typeDescriptions":{"typeIdentifier":"t_contract$_CollateralVault_$70002","typeString":"contract CollateralVault"}}},"id":96153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4330:21:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CollateralVault_$70002","typeString":"contract CollateralVault"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CollateralVault_$70002","typeString":"contract CollateralVault"}],"id":96149,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4322:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96148,"name":"address","nodeType":"ElementaryTypeName","src":"4322:7:139","typeDescriptions":{}}},"id":96154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4322:30:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":96121,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3985:3:139","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":96122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3989:18:139","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"3985:22:139","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":96155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3985:393:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":96113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"3883:16:139","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55021_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":96112,"nodeType":"UserDefinedTypeName","pathNode":{"id":96111,"name":"ERC1967Proxy","nameLocations":["3887:12:139"],"nodeType":"IdentifierPath","referencedDeclaration":55021,"src":"3887:12:139"},"referencedDeclaration":55021,"src":"3887:12:139","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}},"id":96156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3883:517:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55021","typeString":"contract ERC1967Proxy"}],"id":96110,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3854:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96109,"name":"address","nodeType":"ElementaryTypeName","src":"3854:7:139","typeDescriptions":{}}},"id":96157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3854:564:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":96108,"name":"RegistryFactoryV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73299,"src":"3817:19:139","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryFactoryV0_0_$73299_$","typeString":"type(contract RegistryFactoryV0_0)"}},"id":96158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3817:615:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$73299","typeString":"contract RegistryFactoryV0_0"}},"id":96159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4433:14:139","memberName":"createRegistry","nodeType":"MemberAccess","referencedDeclaration":73185,"src":"3817:630:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_RegistryCommunityInitializeParamsV0_0_$70795_memory_ptr_$returns$_t_address_$","typeString":"function (struct RegistryCommunityInitializeParamsV0_0 memory) external returns (address)"}},"id":96161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3817:638:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":96107,"name":"RegistryCommunityV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72929,"src":"3782:21:139","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_1_$72929_$","typeString":"type(contract RegistryCommunityV0_1)"}},"id":96162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3782:683:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}},"src":"3762:703:139","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}},"id":96164,"nodeType":"ExpressionStatement","src":"3762:703:139"},{"assignments":[96166],"declarations":[{"constant":false,"id":96166,"mutability":"mutable","name":"_poolId","nameLocation":"4484:7:139","nodeType":"VariableDeclaration","scope":96295,"src":"4476:15:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96165,"name":"uint256","nodeType":"ElementaryTypeName","src":"4476:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96167,"nodeType":"VariableDeclarationStatement","src":"4476:15:139"},{"assignments":[96169],"declarations":[{"constant":false,"id":96169,"mutability":"mutable","name":"_strategy","nameLocation":"4509:9:139","nodeType":"VariableDeclaration","scope":96295,"src":"4501:17:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":96168,"name":"address","nodeType":"ElementaryTypeName","src":"4501:7:139","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":96170,"nodeType":"VariableDeclarationStatement","src":"4501:17:139"},{"expression":{"id":96209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":96171,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96166,"src":"4530:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":96172,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96169,"src":"4539:9:139","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":96173,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"4529:20:139","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_address_$","typeString":"tuple(uint256,address)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":96176,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"4594:6:139","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[{"id":96180,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95845,"src":"4649:17:139","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}],"id":96179,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4641:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96178,"name":"address","nodeType":"ElementaryTypeName","src":"4641:7:139","typeDescriptions":{}}},"id":96181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4641:26:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":96182,"name":"ProposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65540,"src":"4685:12:139","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$65540_$","typeString":"type(enum ProposalType)"}},"id":96183,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4698:7:139","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":65538,"src":"4685:20:139","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"}},{"expression":{"id":96184,"name":"PointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65545,"src":"4723:11:139","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$65545_$","typeString":"type(enum PointSystem)"}},"id":96185,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4735:9:139","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":65543,"src":"4723:21:139","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"}},{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96189,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"323030","id":96187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4780:3:139","typeDescriptions":{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},"value":"200"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":96188,"name":"DECIMALS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79386,"src":"4786:8:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4780:14:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":96186,"name":"PointSystemConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65614,"src":"4762:17:139","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PointSystemConfig_$65614_storage_ptr_$","typeString":"type(struct PointSystemConfig storage pointer)"}},"id":96190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4762:33:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_memory_ptr","typeString":"struct PointSystemConfig memory"}},{"arguments":[{"id":96192,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95837,"src":"4830:14:139","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73801","typeString":"contract SafeArbitrator"}},{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":96197,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97440,"src":"4862:12:139","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_ISafe_$76451_$","typeString":"function () returns (contract ISafe)"}},"id":96198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4862:14:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}],"id":96196,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4854:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96195,"name":"address","nodeType":"ElementaryTypeName","src":"4854:7:139","typeDescriptions":{}}},"id":96199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4854:23:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":96194,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4846:8:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":96193,"name":"address","nodeType":"ElementaryTypeName","src":"4846:8:139","stateMutability":"payable","typeDescriptions":{}}},"id":96200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4846:32:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"hexValue":"302e3032","id":96201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4880:10:139","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_20000000000000000_by_1","typeString":"int_const 20000000000000000"},"value":"0.02"},{"hexValue":"302e3031","id":96202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4892:10:139","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"value":"0.01"},{"hexValue":"31","id":96203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4904:1:139","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"333030","id":96204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4907:3:139","typeDescriptions":{"typeIdentifier":"t_rational_300_by_1","typeString":"int_const 300"},"value":"300"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeArbitrator_$73801","typeString":"contract SafeArbitrator"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_rational_20000000000000000_by_1","typeString":"int_const 20000000000000000"},{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_300_by_1","typeString":"int_const 300"}],"id":96191,"name":"ArbitrableConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65628,"src":"4813:16:139","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArbitrableConfig_$65628_storage_ptr_$","typeString":"type(struct ArbitrableConfig storage pointer)"}},"id":96205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4813:98:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$65540","typeString":"enum ProposalType"},{"typeIdentifier":"t_enum$_PointSystem_$65545","typeString":"enum PointSystem"},{"typeIdentifier":"t_struct$_PointSystemConfig_$65614_memory_ptr","typeString":"struct PointSystemConfig memory"},{"typeIdentifier":"t_struct$_ArbitrableConfig_$65628_memory_ptr","typeString":"struct ArbitrableConfig memory"}],"id":96177,"name":"getParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79570,"src":"4614:9:139","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_enum$_ProposalType_$65540_$_t_enum$_PointSystem_$65545_$_t_struct$_PointSystemConfig_$65614_memory_ptr_$_t_struct$_ArbitrableConfig_$65628_memory_ptr_$returns$_t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr_$","typeString":"function (address,enum ProposalType,enum PointSystem,struct PointSystemConfig memory,struct ArbitrableConfig memory) pure returns (struct CVStrategyInitializeParamsV0_1 memory)"}},"id":96206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4614:311:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"}},{"id":96207,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79381,"src":"4939:8:139","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr","typeString":"struct CVStrategyInitializeParamsV0_1 memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}],"expression":{"id":96174,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95845,"src":"4552:17:139","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}},"id":96175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4570:10:139","memberName":"createPool","nodeType":"MemberAccess","referencedDeclaration":72856,"src":"4552:28:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_CVStrategyInitializeParamsV0_1_$69242_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$_t_uint256_$_t_address_$","typeString":"function (address,struct CVStrategyInitializeParamsV0_1 memory,struct Metadata memory) external returns (uint256,address)"}},"id":96208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4552:405:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_address_$","typeString":"tuple(uint256,address)"}},"src":"4529:428:139","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96210,"nodeType":"ExpressionStatement","src":"4529:428:139"},{"expression":{"id":96213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":96211,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95842,"src":"4968:6:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":96212,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96166,"src":"4977:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4968:16:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":96214,"nodeType":"ExpressionStatement","src":"4968:16:139"},{"expression":{"id":96222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":96215,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95840,"src":"4994:10:139","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":96219,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96169,"src":"5030:9:139","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":96218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5022:8:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":96217,"name":"address","nodeType":"ElementaryTypeName","src":"5022:8:139","stateMutability":"payable","typeDescriptions":{}}},"id":96220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5022:18:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":96216,"name":"CVStrategyV0_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69756,"src":"5007:14:139","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategyV0_1_$69756_$","typeString":"type(contract CVStrategyV0_1)"}},"id":96221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5007:34:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}},"src":"4994:47:139","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}},"id":96223,"nodeType":"ExpressionStatement","src":"4994:47:139"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":96227,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"5065:10:139","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":96228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5065:12:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":96224,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"5051:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5054:10:139","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":21227,"src":"5051:13:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":96229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5051:27:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96230,"nodeType":"ExpressionStatement","src":"5051:27:139"},{"expression":{"arguments":[{"arguments":[{"id":96234,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95845,"src":"5120:17:139","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}],"id":96233,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5112:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96232,"name":"address","nodeType":"ElementaryTypeName","src":"5112:7:139","typeDescriptions":{}}},"id":96235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5112:26:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":96236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5152:1:139","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":96239,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95845,"src":"5190:17:139","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}},"id":96240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5208:11:139","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":72156,"src":"5190:29:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":96241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5220:8:139","memberName":"selector","nodeType":"MemberAccess","src":"5190:38:139","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":96244,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95840,"src":"5238:10:139","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}],"id":96243,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5230:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96242,"name":"address","nodeType":"ElementaryTypeName","src":"5230:7:139","typeDescriptions":{}}},"id":96245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5230:19:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":96237,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5167:3:139","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":96238,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5171:18:139","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"5167:22:139","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":96246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5167:83:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":96231,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[97543,97564,97620],"referencedDeclaration":97543,"src":"5088:10:139","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":96247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5088:172:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96248,"nodeType":"ExpressionStatement","src":"5088:172:139"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":96249,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"5270:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5273:9:139","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":21239,"src":"5270:12:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":96252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5270:14:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96253,"nodeType":"ExpressionStatement","src":"5270:14:139"},{"expression":{"arguments":[{"arguments":[{"id":96261,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95845,"src":"5343:17:139","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}],"id":96260,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5335:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96259,"name":"address","nodeType":"ElementaryTypeName","src":"5335:7:139","typeDescriptions":{}}},"id":96262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5335:26:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":96263,"name":"STAKE_WITH_FEES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95891,"src":"5363:15:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":96254,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95845,"src":"5295:17:139","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}},"id":96256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5313:11:139","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":71020,"src":"5295:29:139","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$56528_$","typeString":"function () view external returns (contract IERC20)"}},"id":96257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5295:31:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":96258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5327:7:139","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":56515,"src":"5295:39:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":96264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5295:84:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":96265,"nodeType":"ExpressionStatement","src":"5295:84:139"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":96266,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95845,"src":"5389:17:139","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_1_$72929","typeString":"contract RegistryCommunityV0_1"}},"id":96268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5407:22:139","memberName":"stakeAndRegisterMember","nodeType":"MemberAccess","referencedDeclaration":72436,"src":"5389:40:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":96269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5389:42:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96270,"nodeType":"ExpressionStatement","src":"5389:42:139"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":96271,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95840,"src":"5441:10:139","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}},"id":96273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5452:14:139","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":66551,"src":"5441:25:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":96274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5441:27:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96275,"nodeType":"ExpressionStatement","src":"5441:27:139"},{"expression":{"arguments":[{"arguments":[{"id":96281,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5495:4:139","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitratorTest_$96909","typeString":"contract SafeArbitratorTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeArbitratorTest_$96909","typeString":"contract SafeArbitratorTest"}],"id":96280,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5487:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96279,"name":"address","nodeType":"ElementaryTypeName","src":"5487:7:139","typeDescriptions":{}}},"id":96282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5487:13:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":96283,"name":"POOL_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95863,"src":"5502:11:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":96276,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"5479:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5482:4:139","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":20966,"src":"5479:7:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":96284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5479:35:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96285,"nodeType":"ExpressionStatement","src":"5479:35:139"},{"expression":{"arguments":[{"id":96291,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96166,"src":"5560:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":96292,"name":"POOL_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95863,"src":"5569:11:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":96286,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5086,"src":"5524:4:139","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":96287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5524:6:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":96288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5531:8:139","memberName":"fundPool","nodeType":"MemberAccess","referencedDeclaration":588,"src":"5524:15:139","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) payable external"}},"id":96290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":96289,"name":"POOL_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95863,"src":"5547:11:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"5524:35:139","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$value","typeString":"function (uint256,uint256) payable external"}},"id":96293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5524:57:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96294,"nodeType":"ExpressionStatement","src":"5524:57:139"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"2133:5:139","parameters":{"id":95892,"nodeType":"ParameterList","parameters":[],"src":"2138:2:139"},"returnParameters":{"id":95893,"nodeType":"ParameterList","parameters":[],"src":"2148:0:139"},"scope":96909,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":96368,"nodeType":"FunctionDefinition","src":"5594:592:139","nodes":[],"body":{"id":96367,"nodeType":"Block","src":"5656:530:139","nodes":[],"statements":[{"assignments":[96302],"declarations":[{"constant":false,"id":96302,"mutability":"mutable","name":"requestAmount","nameLocation":"5674:13:139","nodeType":"VariableDeclaration","scope":96367,"src":"5666:21:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96301,"name":"uint256","nodeType":"ElementaryTypeName","src":"5666:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96304,"initialValue":{"hexValue":"31","id":96303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5690:7:139","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"5666:31:139"},{"assignments":[96307],"declarations":[{"constant":false,"id":96307,"mutability":"mutable","name":"proposal","nameLocation":"5729:8:139","nodeType":"VariableDeclaration","scope":96367,"src":"5707:30:139","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_memory_ptr","typeString":"struct CreateProposal"},"typeName":{"id":96306,"nodeType":"UserDefinedTypeName","pathNode":{"id":96305,"name":"CreateProposal","nameLocations":["5707:14:139"],"nodeType":"IdentifierPath","referencedDeclaration":65557,"src":"5707:14:139"},"referencedDeclaration":65557,"src":"5707:14:139","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_storage_ptr","typeString":"struct CreateProposal"}},"visibility":"internal"}],"id":96319,"initialValue":{"arguments":[{"id":96309,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95842,"src":"5755:6:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":96310,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"5763:10:139","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":96311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5763:12:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":96312,"name":"requestAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96302,"src":"5777:13:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":96315,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"5800:6:139","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":96314,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5792:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96313,"name":"address","nodeType":"ElementaryTypeName","src":"5792:7:139","typeDescriptions":{}}},"id":96316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5792:15:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":96317,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79381,"src":"5809:8:139","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}],"id":96308,"name":"CreateProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65557,"src":"5740:14:139","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$65557_storage_ptr_$","typeString":"type(struct CreateProposal storage pointer)"}},"id":96318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5740:78:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_memory_ptr","typeString":"struct CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"5707:111:139"},{"assignments":[96321],"declarations":[{"constant":false,"id":96321,"mutability":"mutable","name":"data","nameLocation":"5841:4:139","nodeType":"VariableDeclaration","scope":96367,"src":"5828:17:139","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":96320,"name":"bytes","nodeType":"ElementaryTypeName","src":"5828:5:139","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":96326,"initialValue":{"arguments":[{"id":96324,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96307,"src":"5859:8:139","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$65557_memory_ptr","typeString":"struct CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$65557_memory_ptr","typeString":"struct CreateProposal memory"}],"expression":{"id":96322,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5848:3:139","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":96323,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5852:6:139","memberName":"encode","nodeType":"MemberAccess","src":"5848:10:139","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":96325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5848:20:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5828:40:139"},{"assignments":[null,null,96328,null,null,null],"declarations":[null,null,{"constant":false,"id":96328,"mutability":"mutable","name":"submitterCollateralAmount","nameLocation":"5891:25:139","nodeType":"VariableDeclaration","scope":96367,"src":"5883:33:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96327,"name":"uint256","nodeType":"ElementaryTypeName","src":"5883:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,null,null],"id":96332,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":96329,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95840,"src":"5923:10:139","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}},"id":96330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5934:19:139","memberName":"getArbitrableConfig","nodeType":"MemberAccess","referencedDeclaration":67608,"src":"5923:30:139","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IArbitrator_$76325_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function () view external returns (contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"id":96331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5923:32:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_contract$_IArbitrator_$76325_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(contract IArbitrator,address,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"5879:76:139"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":96336,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"5973:10:139","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":96337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5973:12:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":96338,"name":"submitterCollateralAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96328,"src":"5987:25:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":96333,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"5965:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5968:4:139","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":20966,"src":"5965:7:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":96339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5965:48:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96340,"nodeType":"ExpressionStatement","src":"5965:48:139"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":96344,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"6038:10:139","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":96345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6038:12:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":96341,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"6024:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6027:10:139","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":21227,"src":"6024:13:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":96346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6024:27:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96347,"nodeType":"ExpressionStatement","src":"6024:27:139"},{"expression":{"id":96360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":96348,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96299,"src":"6061:10:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":96356,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95842,"src":"6141:6:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":96357,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96321,"src":"6149:4:139","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":96351,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5086,"src":"6082:4:139","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":96352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6082:6:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":96353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6089:17:139","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"6082:24:139","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":96355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":96354,"name":"submitterCollateralAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96328,"src":"6114:25:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"6082:58:139","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$value","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":96358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6082:72:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":96350,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6074:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":96349,"name":"uint160","nodeType":"ElementaryTypeName","src":"6074:7:139","typeDescriptions":{}}},"id":96359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6074:81:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"6061:94:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":96361,"nodeType":"ExpressionStatement","src":"6061:94:139"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":96362,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"6165:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6168:9:139","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":21239,"src":"6165:12:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":96365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6165:14:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96366,"nodeType":"ExpressionStatement","src":"6165:14:139"}]},"functionSelector":"180fd87f","implemented":true,"kind":"function","modifiers":[],"name":"createProposal","nameLocation":"5603:14:139","parameters":{"id":96297,"nodeType":"ParameterList","parameters":[],"src":"5617:2:139"},"returnParameters":{"id":96300,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96299,"mutability":"mutable","name":"proposalId","nameLocation":"5644:10:139","nodeType":"VariableDeclaration","scope":96368,"src":"5636:18:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96298,"name":"uint256","nodeType":"ElementaryTypeName","src":"5636:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5635:20:139"},"scope":96909,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":96401,"nodeType":"FunctionDefinition","src":"6192:257:139","nodes":[],"body":{"id":96400,"nodeType":"Block","src":"6232:217:139","nodes":[],"statements":[{"expression":{"arguments":[{"id":96374,"name":"factoryOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95854,"src":"6256:12:139","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":96371,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"6242:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6245:10:139","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":21227,"src":"6242:13:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":96375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6242:27:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96376,"nodeType":"ExpressionStatement","src":"6242:27:139"},{"assignments":[96378],"declarations":[{"constant":false,"id":96378,"mutability":"mutable","name":"newFee","nameLocation":"6287:6:139","nodeType":"VariableDeclaration","scope":96400,"src":"6279:14:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96377,"name":"uint256","nodeType":"ElementaryTypeName","src":"6279:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96380,"initialValue":{"hexValue":"302e3032","id":96379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6296:10:139","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_20000000000000000_by_1","typeString":"int_const 20000000000000000"},"value":"0.02"},"nodeType":"VariableDeclarationStatement","src":"6279:27:139"},{"expression":{"arguments":[{"id":96384,"name":"newFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96378,"src":"6349:6:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":96381,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95837,"src":"6316:14:139","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73801","typeString":"contract SafeArbitrator"}},"id":96383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6331:17:139","memberName":"setArbitrationFee","nodeType":"MemberAccess","referencedDeclaration":73540,"src":"6316:32:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":96385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6316:40:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96386,"nodeType":"ExpressionStatement","src":"6316:40:139"},{"expression":{"arguments":[{"arguments":[{"hexValue":"","id":96390,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6406:2:139","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":96388,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95837,"src":"6375:14:139","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73801","typeString":"contract SafeArbitrator"}},"id":96389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6390:15:139","memberName":"arbitrationCost","nodeType":"MemberAccess","referencedDeclaration":73738,"src":"6375:30:139","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) view external returns (uint256)"}},"id":96391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6375:34:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":96392,"name":"newFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96378,"src":"6411:6:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":96387,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"6366:8:139","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":96393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6366:52:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96394,"nodeType":"ExpressionStatement","src":"6366:52:139"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":96395,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"6428:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6431:9:139","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":21239,"src":"6428:12:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":96398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6428:14:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96399,"nodeType":"ExpressionStatement","src":"6428:14:139"}]},"functionSelector":"a41cfc99","implemented":true,"kind":"function","modifiers":[],"name":"testSetArbitrationFee","nameLocation":"6201:21:139","parameters":{"id":96369,"nodeType":"ParameterList","parameters":[],"src":"6222:2:139"},"returnParameters":{"id":96370,"nodeType":"ParameterList","parameters":[],"src":"6232:0:139"},"scope":96909,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":96478,"nodeType":"FunctionDefinition","src":"6455:686:139","nodes":[],"body":{"id":96477,"nodeType":"Block","src":"6491:650:139","nodes":[],"statements":[{"assignments":[96405],"declarations":[{"constant":false,"id":96405,"mutability":"mutable","name":"proposalId","nameLocation":"6509:10:139","nodeType":"VariableDeclaration","scope":96477,"src":"6501:18:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96404,"name":"uint256","nodeType":"ElementaryTypeName","src":"6501:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96408,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":96406,"name":"createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96368,"src":"6522:14:139","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_uint256_$","typeString":"function () returns (uint256)"}},"id":96407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6522:16:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6501:37:139"},{"expression":{"arguments":[{"id":96412,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95860,"src":"6556:10:139","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3130","id":96413,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6568:8:139","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"}],"expression":{"id":96409,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"6548:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6551:4:139","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":20966,"src":"6548:7:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":96414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6548:29:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96415,"nodeType":"ExpressionStatement","src":"6548:29:139"},{"expression":{"arguments":[{"id":96419,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95860,"src":"6596:10:139","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":96416,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"6587:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6590:5:139","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"6587:8:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":96420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6587:20:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96421,"nodeType":"ExpressionStatement","src":"6587:20:139"},{"assignments":[96423],"declarations":[{"constant":false,"id":96423,"mutability":"mutable","name":"disputeID","nameLocation":"6626:9:139","nodeType":"VariableDeclaration","scope":96477,"src":"6618:17:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96422,"name":"uint256","nodeType":"ElementaryTypeName","src":"6618:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96434,"initialValue":{"arguments":[{"id":96430,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96405,"src":"6702:10:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":96431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6714:2:139","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"","id":96432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6718:2:139","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":96424,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95840,"src":"6638:10:139","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}},"id":96425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6649:15:139","memberName":"disputeProposal","nodeType":"MemberAccess","referencedDeclaration":68874,"src":"6638:26:139","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":96429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96428,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e3031","id":96426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6672:10:139","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"value":"0.01"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":96427,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95878,"src":"6685:15:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6672:28:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"6638:63:139","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":96433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6638:83:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6618:103:139"},{"assignments":[null,null,96436,96438,96440,96443],"declarations":[null,null,{"constant":false,"id":96436,"mutability":"mutable","name":"choices","nameLocation":"6807:7:139","nodeType":"VariableDeclaration","scope":96477,"src":"6799:15:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96435,"name":"uint256","nodeType":"ElementaryTypeName","src":"6799:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":96438,"mutability":"mutable","name":"arbitrationFee","nameLocation":"6824:14:139","nodeType":"VariableDeclaration","scope":96477,"src":"6816:22:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96437,"name":"uint256","nodeType":"ElementaryTypeName","src":"6816:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":96440,"mutability":"mutable","name":"ruling","nameLocation":"6848:6:139","nodeType":"VariableDeclaration","scope":96477,"src":"6840:14:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96439,"name":"uint256","nodeType":"ElementaryTypeName","src":"6840:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":96443,"mutability":"mutable","name":"status","nameLocation":"6885:6:139","nodeType":"VariableDeclaration","scope":96477,"src":"6856:35:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73444","typeString":"enum SafeArbitrator.DisputeStatus"},"typeName":{"id":96442,"nodeType":"UserDefinedTypeName","pathNode":{"id":96441,"name":"SafeArbitrator.DisputeStatus","nameLocations":["6856:14:139","6871:13:139"],"nodeType":"IdentifierPath","referencedDeclaration":73444,"src":"6856:28:139"},"referencedDeclaration":73444,"src":"6856:28:139","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73444","typeString":"enum SafeArbitrator.DisputeStatus"}},"visibility":"internal"}],"id":96448,"initialValue":{"arguments":[{"id":96446,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96423,"src":"6931:9:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":96444,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95837,"src":"6907:14:139","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73801","typeString":"contract SafeArbitrator"}},"id":96445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6922:8:139","memberName":"disputes","nodeType":"MemberAccess","referencedDeclaration":73465,"src":"6907:23:139","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_contract$_IArbitrable_$76221_$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_DisputeStatus_$73444_$","typeString":"function (uint256) view external returns (contract IArbitrable,bytes memory,uint256,uint256,uint256,enum SafeArbitrator.DisputeStatus)"}},"id":96447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6907:34:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_contract$_IArbitrable_$76221_$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_DisputeStatus_$73444_$","typeString":"tuple(contract IArbitrable,bytes memory,uint256,uint256,uint256,enum SafeArbitrator.DisputeStatus)"}},"nodeType":"VariableDeclarationStatement","src":"6795:146:139"},{"expression":{"arguments":[{"id":96450,"name":"choices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96436,"src":"6961:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"33","id":96451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6970:1:139","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":96449,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"6952:8:139","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":96452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6952:20:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96453,"nodeType":"ExpressionStatement","src":"6952:20:139"},{"expression":{"arguments":[{"id":96455,"name":"arbitrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96438,"src":"6991:14:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":96456,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95878,"src":"7007:15:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":96454,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"6982:8:139","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":96457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6982:41:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96458,"nodeType":"ExpressionStatement","src":"6982:41:139"},{"expression":{"arguments":[{"id":96460,"name":"ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96440,"src":"7042:6:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":96461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7050:1:139","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":96459,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"7033:8:139","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":96462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7033:19:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96463,"nodeType":"ExpressionStatement","src":"7033:19:139"},{"expression":{"arguments":[{"arguments":[{"id":96467,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96443,"src":"7079:6:139","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73444","typeString":"enum SafeArbitrator.DisputeStatus"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_DisputeStatus_$73444","typeString":"enum SafeArbitrator.DisputeStatus"}],"id":96466,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7071:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":96465,"name":"uint256","nodeType":"ElementaryTypeName","src":"7071:7:139","typeDescriptions":{}}},"id":96468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7071:15:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"expression":{"id":96471,"name":"SafeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73801,"src":"7096:14:139","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeArbitrator_$73801_$","typeString":"type(contract SafeArbitrator)"}},"id":96472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7111:13:139","memberName":"DisputeStatus","nodeType":"MemberAccess","referencedDeclaration":73444,"src":"7096:28:139","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_DisputeStatus_$73444_$","typeString":"type(enum SafeArbitrator.DisputeStatus)"}},"id":96473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7125:7:139","memberName":"Waiting","nodeType":"MemberAccess","referencedDeclaration":73442,"src":"7096:36:139","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73444","typeString":"enum SafeArbitrator.DisputeStatus"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_DisputeStatus_$73444","typeString":"enum SafeArbitrator.DisputeStatus"}],"id":96470,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7088:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":96469,"name":"uint256","nodeType":"ElementaryTypeName","src":"7088:7:139","typeDescriptions":{}}},"id":96474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7088:45:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":96464,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"7062:8:139","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":96475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7062:72:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96476,"nodeType":"ExpressionStatement","src":"7062:72:139"}]},"functionSelector":"985a0b94","implemented":true,"kind":"function","modifiers":[],"name":"testCreateDispute","nameLocation":"6464:17:139","parameters":{"id":96402,"nodeType":"ParameterList","parameters":[],"src":"6481:2:139"},"returnParameters":{"id":96403,"nodeType":"ParameterList","parameters":[],"src":"6491:0:139"},"scope":96909,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":96562,"nodeType":"FunctionDefinition","src":"7147:606:139","nodes":[],"body":{"id":96561,"nodeType":"Block","src":"7183:570:139","nodes":[],"statements":[{"assignments":[96482],"declarations":[{"constant":false,"id":96482,"mutability":"mutable","name":"proposalId","nameLocation":"7201:10:139","nodeType":"VariableDeclaration","scope":96561,"src":"7193:18:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96481,"name":"uint256","nodeType":"ElementaryTypeName","src":"7193:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96485,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":96483,"name":"createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96368,"src":"7214:14:139","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_uint256_$","typeString":"function () returns (uint256)"}},"id":96484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7214:16:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7193:37:139"},{"expression":{"arguments":[{"id":96489,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95860,"src":"7249:10:139","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3130","id":96490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7261:8:139","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"}],"expression":{"id":96486,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"7241:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7244:4:139","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":20966,"src":"7241:7:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":96491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7241:29:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96492,"nodeType":"ExpressionStatement","src":"7241:29:139"},{"expression":{"arguments":[{"id":96496,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95860,"src":"7289:10:139","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":96493,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"7280:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7283:5:139","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"7280:8:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":96497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7280:20:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96498,"nodeType":"ExpressionStatement","src":"7280:20:139"},{"assignments":[96500],"declarations":[{"constant":false,"id":96500,"mutability":"mutable","name":"disputeID","nameLocation":"7318:9:139","nodeType":"VariableDeclaration","scope":96561,"src":"7310:17:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96499,"name":"uint256","nodeType":"ElementaryTypeName","src":"7310:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96511,"initialValue":{"arguments":[{"id":96507,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96482,"src":"7394:10:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":96508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7406:2:139","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"","id":96509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7410:2:139","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":96501,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95840,"src":"7330:10:139","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}},"id":96502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7341:15:139","memberName":"disputeProposal","nodeType":"MemberAccess","referencedDeclaration":68874,"src":"7330:26:139","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":96506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96505,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e3031","id":96503,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7364:10:139","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"value":"0.01"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":96504,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95878,"src":"7377:15:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7364:28:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"7330:63:139","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":96510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7330:83:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7310:103:139"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":96517,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97440,"src":"7441:12:139","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_ISafe_$76451_$","typeString":"function () returns (contract ISafe)"}},"id":96518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7441:14:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}],"id":96516,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7433:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96515,"name":"address","nodeType":"ElementaryTypeName","src":"7433:7:139","typeDescriptions":{}}},"id":96519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7433:23:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":96512,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"7424:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7427:5:139","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"7424:8:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":96520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7424:33:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96521,"nodeType":"ExpressionStatement","src":"7424:33:139"},{"expression":{"arguments":[{"id":96525,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96500,"src":"7496:9:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"32","id":96526,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7507:1:139","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"arguments":[{"id":96529,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95840,"src":"7518:10:139","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}],"id":96528,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7510:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96527,"name":"address","nodeType":"ElementaryTypeName","src":"7510:7:139","typeDescriptions":{}}},"id":96530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7510:19:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":96522,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95837,"src":"7467:14:139","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73801","typeString":"contract SafeArbitrator"}},"id":96524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7482:13:139","memberName":"executeRuling","nodeType":"MemberAccess","referencedDeclaration":73726,"src":"7467:28:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address) external"}},"id":96531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7467:63:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96532,"nodeType":"ExpressionStatement","src":"7467:63:139"},{"assignments":[null,null,null,null,96534,96537],"declarations":[null,null,null,null,{"constant":false,"id":96534,"mutability":"mutable","name":"ruling","nameLocation":"7555:6:139","nodeType":"VariableDeclaration","scope":96561,"src":"7547:14:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96533,"name":"uint256","nodeType":"ElementaryTypeName","src":"7547:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":96537,"mutability":"mutable","name":"status","nameLocation":"7592:6:139","nodeType":"VariableDeclaration","scope":96561,"src":"7563:35:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73444","typeString":"enum SafeArbitrator.DisputeStatus"},"typeName":{"id":96536,"nodeType":"UserDefinedTypeName","pathNode":{"id":96535,"name":"SafeArbitrator.DisputeStatus","nameLocations":["7563:14:139","7578:13:139"],"nodeType":"IdentifierPath","referencedDeclaration":73444,"src":"7563:28:139"},"referencedDeclaration":73444,"src":"7563:28:139","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73444","typeString":"enum SafeArbitrator.DisputeStatus"}},"visibility":"internal"}],"id":96542,"initialValue":{"arguments":[{"id":96540,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96500,"src":"7626:9:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":96538,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95837,"src":"7602:14:139","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73801","typeString":"contract SafeArbitrator"}},"id":96539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7617:8:139","memberName":"disputes","nodeType":"MemberAccess","referencedDeclaration":73465,"src":"7602:23:139","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_contract$_IArbitrable_$76221_$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_DisputeStatus_$73444_$","typeString":"function (uint256) view external returns (contract IArbitrable,bytes memory,uint256,uint256,uint256,enum SafeArbitrator.DisputeStatus)"}},"id":96541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7602:34:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_contract$_IArbitrable_$76221_$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_DisputeStatus_$73444_$","typeString":"tuple(contract IArbitrable,bytes memory,uint256,uint256,uint256,enum SafeArbitrator.DisputeStatus)"}},"nodeType":"VariableDeclarationStatement","src":"7541:95:139"},{"expression":{"arguments":[{"id":96544,"name":"ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96534,"src":"7655:6:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"32","id":96545,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7663:1:139","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":96543,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"7646:8:139","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":96546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7646:19:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96547,"nodeType":"ExpressionStatement","src":"7646:19:139"},{"expression":{"arguments":[{"arguments":[{"id":96551,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96537,"src":"7692:6:139","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73444","typeString":"enum SafeArbitrator.DisputeStatus"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_DisputeStatus_$73444","typeString":"enum SafeArbitrator.DisputeStatus"}],"id":96550,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7684:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":96549,"name":"uint256","nodeType":"ElementaryTypeName","src":"7684:7:139","typeDescriptions":{}}},"id":96552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7684:15:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"expression":{"id":96555,"name":"SafeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73801,"src":"7709:14:139","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeArbitrator_$73801_$","typeString":"type(contract SafeArbitrator)"}},"id":96556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7724:13:139","memberName":"DisputeStatus","nodeType":"MemberAccess","referencedDeclaration":73444,"src":"7709:28:139","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_DisputeStatus_$73444_$","typeString":"type(enum SafeArbitrator.DisputeStatus)"}},"id":96557,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7738:6:139","memberName":"Solved","nodeType":"MemberAccess","referencedDeclaration":73443,"src":"7709:35:139","typeDescriptions":{"typeIdentifier":"t_enum$_DisputeStatus_$73444","typeString":"enum SafeArbitrator.DisputeStatus"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_DisputeStatus_$73444","typeString":"enum SafeArbitrator.DisputeStatus"}],"id":96554,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7701:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":96553,"name":"uint256","nodeType":"ElementaryTypeName","src":"7701:7:139","typeDescriptions":{}}},"id":96558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7701:44:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":96548,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"7675:8:139","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":96559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7675:71:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96560,"nodeType":"ExpressionStatement","src":"7675:71:139"}]},"functionSelector":"758311e4","implemented":true,"kind":"function","modifiers":[],"name":"testExecuteRuling","nameLocation":"7156:17:139","parameters":{"id":96479,"nodeType":"ParameterList","parameters":[],"src":"7173:2:139"},"returnParameters":{"id":96480,"nodeType":"ParameterList","parameters":[],"src":"7183:0:139"},"scope":96909,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":96578,"nodeType":"FunctionDefinition","src":"7759:150:139","nodes":[],"body":{"id":96577,"nodeType":"Block","src":"7802:107:139","nodes":[],"statements":[{"assignments":[96566],"declarations":[{"constant":false,"id":96566,"mutability":"mutable","name":"cost","nameLocation":"7820:4:139","nodeType":"VariableDeclaration","scope":96577,"src":"7812:12:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96565,"name":"uint256","nodeType":"ElementaryTypeName","src":"7812:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96571,"initialValue":{"arguments":[{"hexValue":"","id":96569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7858:2:139","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":96567,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95837,"src":"7827:14:139","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73801","typeString":"contract SafeArbitrator"}},"id":96568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7842:15:139","memberName":"arbitrationCost","nodeType":"MemberAccess","referencedDeclaration":73738,"src":"7827:30:139","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) view external returns (uint256)"}},"id":96570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7827:34:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7812:49:139"},{"expression":{"arguments":[{"id":96573,"name":"cost","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96566,"src":"7880:4:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":96574,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95878,"src":"7886:15:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":96572,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"7871:8:139","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":96575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7871:31:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96576,"nodeType":"ExpressionStatement","src":"7871:31:139"}]},"functionSelector":"c73b09e7","implemented":true,"kind":"function","modifiers":[],"name":"testArbitrationCost","nameLocation":"7768:19:139","parameters":{"id":96563,"nodeType":"ParameterList","parameters":[],"src":"7787:2:139"},"returnParameters":{"id":96564,"nodeType":"ParameterList","parameters":[],"src":"7802:0:139"},"scope":96909,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":96614,"nodeType":"FunctionDefinition","src":"7915:285:139","nodes":[],"body":{"id":96613,"nodeType":"Block","src":"7976:224:139","nodes":[],"statements":[{"expression":{"arguments":[{"id":96584,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95860,"src":"7994:10:139","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3130","id":96585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8006:8:139","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"}],"expression":{"id":96581,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"7986:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7989:4:139","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":20966,"src":"7986:7:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":96586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7986:29:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96587,"nodeType":"ExpressionStatement","src":"7986:29:139"},{"expression":{"arguments":[{"id":96591,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95860,"src":"8034:10:139","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":96588,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"8025:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8028:5:139","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"8025:8:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":96592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8025:20:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96593,"nodeType":"ExpressionStatement","src":"8025:20:139"},{"expression":{"arguments":[{"expression":{"expression":{"id":96597,"name":"SafeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73801,"src":"8071:14:139","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeArbitrator_$73801_$","typeString":"type(contract SafeArbitrator)"}},"id":96598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8086:24:139","memberName":"NotEnoughArbitrationFees","nodeType":"MemberAccess","referencedDeclaration":73477,"src":"8071:39:139","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":96599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8111:8:139","memberName":"selector","nodeType":"MemberAccess","src":"8071:48:139","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":96594,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"8055:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8058:12:139","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21413,"src":"8055:15:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":96600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8055:65:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96601,"nodeType":"ExpressionStatement","src":"8055:65:139"},{"expression":{"arguments":[{"hexValue":"33","id":96609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8187:1:139","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},{"hexValue":"","id":96610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8190:2:139","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":96602,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95837,"src":"8130:14:139","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73801","typeString":"contract SafeArbitrator"}},"id":96604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8145:13:139","memberName":"createDispute","nodeType":"MemberAccess","referencedDeclaration":73615,"src":"8130:28:139","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":96608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96607,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":96605,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95878,"src":"8166:15:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":96606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8184:1:139","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8166:19:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"8130:56:139","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,bytes memory) payable external returns (uint256)"}},"id":96611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8130:63:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":96612,"nodeType":"ExpressionStatement","src":"8130:63:139"}]},"functionSelector":"8292636f","implemented":true,"kind":"function","modifiers":[],"name":"testCannotCreateDisputeWithInsufficientFee","nameLocation":"7924:42:139","parameters":{"id":96579,"nodeType":"ParameterList","parameters":[],"src":"7966:2:139"},"returnParameters":{"id":96580,"nodeType":"ParameterList","parameters":[],"src":"7976:0:139"},"scope":96909,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":96679,"nodeType":"FunctionDefinition","src":"8206:502:139","nodes":[],"body":{"id":96678,"nodeType":"Block","src":"8259:449:139","nodes":[],"statements":[{"assignments":[96618],"declarations":[{"constant":false,"id":96618,"mutability":"mutable","name":"proposalId","nameLocation":"8277:10:139","nodeType":"VariableDeclaration","scope":96678,"src":"8269:18:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96617,"name":"uint256","nodeType":"ElementaryTypeName","src":"8269:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96621,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":96619,"name":"createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96368,"src":"8290:14:139","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_uint256_$","typeString":"function () returns (uint256)"}},"id":96620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8290:16:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8269:37:139"},{"expression":{"arguments":[{"id":96625,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95860,"src":"8325:10:139","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3130","id":96626,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8337:8:139","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"}],"expression":{"id":96622,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"8317:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8320:4:139","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":20966,"src":"8317:7:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":96627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8317:29:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96628,"nodeType":"ExpressionStatement","src":"8317:29:139"},{"expression":{"arguments":[{"id":96632,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95860,"src":"8365:10:139","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":96629,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"8356:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8359:5:139","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"8356:8:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":96633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8356:20:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96634,"nodeType":"ExpressionStatement","src":"8356:20:139"},{"assignments":[96636],"declarations":[{"constant":false,"id":96636,"mutability":"mutable","name":"disputeID","nameLocation":"8394:9:139","nodeType":"VariableDeclaration","scope":96678,"src":"8386:17:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96635,"name":"uint256","nodeType":"ElementaryTypeName","src":"8386:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96647,"initialValue":{"arguments":[{"id":96643,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96618,"src":"8470:10:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":96644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8482:2:139","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"","id":96645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8486:2:139","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":96637,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95840,"src":"8406:10:139","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}},"id":96638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8417:15:139","memberName":"disputeProposal","nodeType":"MemberAccess","referencedDeclaration":68874,"src":"8406:26:139","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":96642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96641,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e3031","id":96639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8440:10:139","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"value":"0.01"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":96640,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95878,"src":"8453:15:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8440:28:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"8406:63:139","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":96646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8406:83:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8386:103:139"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":96653,"name":"SafeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73801,"src":"8539:14:139","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeArbitrator_$73801_$","typeString":"type(contract SafeArbitrator)"}},"id":96654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8554:8:139","memberName":"OnlySafe","nodeType":"MemberAccess","referencedDeclaration":73475,"src":"8539:23:139","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":96655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8563:8:139","memberName":"selector","nodeType":"MemberAccess","src":"8539:32:139","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":96656,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95860,"src":"8573:10:139","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":96657,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97007,"src":"8585:11:139","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}],"expression":{"id":96651,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8516:3:139","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":96652,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8520:18:139","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"8516:22:139","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":96658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8516:81:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":96648,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"8500:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8503:12:139","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21419,"src":"8500:15:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":96659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8500:98:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96660,"nodeType":"ExpressionStatement","src":"8500:98:139"},{"expression":{"arguments":[{"id":96664,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95860,"src":"8617:10:139","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":96661,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"8608:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8611:5:139","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"8608:8:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":96665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8608:20:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96666,"nodeType":"ExpressionStatement","src":"8608:20:139"},{"expression":{"arguments":[{"id":96670,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96636,"src":"8667:9:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"32","id":96671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8678:1:139","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"arguments":[{"id":96674,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95840,"src":"8689:10:139","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}],"id":96673,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8681:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96672,"name":"address","nodeType":"ElementaryTypeName","src":"8681:7:139","typeDescriptions":{}}},"id":96675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8681:19:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":96667,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95837,"src":"8638:14:139","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73801","typeString":"contract SafeArbitrator"}},"id":96669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8653:13:139","memberName":"executeRuling","nodeType":"MemberAccess","referencedDeclaration":73726,"src":"8638:28:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address) external"}},"id":96676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8638:63:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96677,"nodeType":"ExpressionStatement","src":"8638:63:139"}]},"functionSelector":"94d181e3","implemented":true,"kind":"function","modifiers":[],"name":"testCannotExecuteRulingFromNonSafe","nameLocation":"8215:34:139","parameters":{"id":96615,"nodeType":"ParameterList","parameters":[],"src":"8249:2:139"},"returnParameters":{"id":96616,"nodeType":"ParameterList","parameters":[],"src":"8259:0:139"},"scope":96909,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":96764,"nodeType":"FunctionDefinition","src":"8714:589:139","nodes":[],"body":{"id":96763,"nodeType":"Block","src":"8761:542:139","nodes":[],"statements":[{"assignments":[96683],"declarations":[{"constant":false,"id":96683,"mutability":"mutable","name":"proposalId","nameLocation":"8779:10:139","nodeType":"VariableDeclaration","scope":96763,"src":"8771:18:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96682,"name":"uint256","nodeType":"ElementaryTypeName","src":"8771:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96686,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":96684,"name":"createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96368,"src":"8792:14:139","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_uint256_$","typeString":"function () returns (uint256)"}},"id":96685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8792:16:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8771:37:139"},{"expression":{"arguments":[{"id":96690,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95860,"src":"8827:10:139","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3130","id":96691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8839:8:139","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"}],"expression":{"id":96687,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"8819:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8822:4:139","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":20966,"src":"8819:7:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":96692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8819:29:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96693,"nodeType":"ExpressionStatement","src":"8819:29:139"},{"expression":{"arguments":[{"id":96697,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95860,"src":"8867:10:139","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":96694,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"8858:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8861:5:139","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"8858:8:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":96698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8858:20:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96699,"nodeType":"ExpressionStatement","src":"8858:20:139"},{"assignments":[96701],"declarations":[{"constant":false,"id":96701,"mutability":"mutable","name":"disputeID","nameLocation":"8896:9:139","nodeType":"VariableDeclaration","scope":96763,"src":"8888:17:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96700,"name":"uint256","nodeType":"ElementaryTypeName","src":"8888:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96712,"initialValue":{"arguments":[{"id":96708,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96683,"src":"8972:10:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":96709,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8984:2:139","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"","id":96710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8988:2:139","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":96702,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95840,"src":"8908:10:139","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}},"id":96703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8919:15:139","memberName":"disputeProposal","nodeType":"MemberAccess","referencedDeclaration":68874,"src":"8908:26:139","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":96707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96706,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e3031","id":96704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8942:10:139","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"value":"0.01"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":96705,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95878,"src":"8955:15:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8942:28:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"8908:63:139","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":96711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8908:83:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8888:103:139"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":96718,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97440,"src":"9019:12:139","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_ISafe_$76451_$","typeString":"function () returns (contract ISafe)"}},"id":96719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9019:14:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}],"id":96717,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9011:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96716,"name":"address","nodeType":"ElementaryTypeName","src":"9011:7:139","typeDescriptions":{}}},"id":96720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9011:23:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":96713,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"9002:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9005:5:139","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"9002:8:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":96721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9002:33:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96722,"nodeType":"ExpressionStatement","src":"9002:33:139"},{"expression":{"arguments":[{"id":96726,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96701,"src":"9074:9:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"32","id":96727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9085:1:139","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"arguments":[{"id":96730,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95840,"src":"9096:10:139","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}],"id":96729,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9088:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96728,"name":"address","nodeType":"ElementaryTypeName","src":"9088:7:139","typeDescriptions":{}}},"id":96731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9088:19:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":96723,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95837,"src":"9045:14:139","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73801","typeString":"contract SafeArbitrator"}},"id":96725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9060:13:139","memberName":"executeRuling","nodeType":"MemberAccess","referencedDeclaration":73726,"src":"9045:28:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address) external"}},"id":96732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9045:63:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96733,"nodeType":"ExpressionStatement","src":"9045:63:139"},{"expression":{"arguments":[{"expression":{"expression":{"id":96737,"name":"SafeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73801,"src":"9135:14:139","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeArbitrator_$73801_$","typeString":"type(contract SafeArbitrator)"}},"id":96738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9150:20:139","memberName":"DisputeAlreadySolved","nodeType":"MemberAccess","referencedDeclaration":73481,"src":"9135:35:139","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":96739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9171:8:139","memberName":"selector","nodeType":"MemberAccess","src":"9135:44:139","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":96734,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"9119:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9122:12:139","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21413,"src":"9119:15:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":96740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9119:61:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96741,"nodeType":"ExpressionStatement","src":"9119:61:139"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":96747,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97440,"src":"9207:12:139","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_ISafe_$76451_$","typeString":"function () returns (contract ISafe)"}},"id":96748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9207:14:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}],"id":96746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9199:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96745,"name":"address","nodeType":"ElementaryTypeName","src":"9199:7:139","typeDescriptions":{}}},"id":96749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9199:23:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":96742,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"9190:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9193:5:139","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"9190:8:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":96750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9190:33:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96751,"nodeType":"ExpressionStatement","src":"9190:33:139"},{"expression":{"arguments":[{"id":96755,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96701,"src":"9262:9:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":96756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9273:1:139","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":96759,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95840,"src":"9284:10:139","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}],"id":96758,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9276:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96757,"name":"address","nodeType":"ElementaryTypeName","src":"9276:7:139","typeDescriptions":{}}},"id":96760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9276:19:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":96752,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95837,"src":"9233:14:139","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73801","typeString":"contract SafeArbitrator"}},"id":96754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9248:13:139","memberName":"executeRuling","nodeType":"MemberAccess","referencedDeclaration":73726,"src":"9233:28:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address) external"}},"id":96761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9233:63:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96762,"nodeType":"ExpressionStatement","src":"9233:63:139"}]},"functionSelector":"ec9ec248","implemented":true,"kind":"function","modifiers":[],"name":"testCannotExecuteRulingTwice","nameLocation":"8723:28:139","parameters":{"id":96680,"nodeType":"ParameterList","parameters":[],"src":"8751:2:139"},"returnParameters":{"id":96681,"nodeType":"ParameterList","parameters":[],"src":"8761:0:139"},"scope":96909,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":96828,"nodeType":"FunctionDefinition","src":"9309:464:139","nodes":[],"body":{"id":96827,"nodeType":"Block","src":"9355:418:139","nodes":[],"statements":[{"assignments":[96768],"declarations":[{"constant":false,"id":96768,"mutability":"mutable","name":"proposalId","nameLocation":"9373:10:139","nodeType":"VariableDeclaration","scope":96827,"src":"9365:18:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96767,"name":"uint256","nodeType":"ElementaryTypeName","src":"9365:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96771,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":96769,"name":"createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96368,"src":"9386:14:139","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_uint256_$","typeString":"function () returns (uint256)"}},"id":96770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9386:16:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9365:37:139"},{"expression":{"arguments":[{"id":96775,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95860,"src":"9421:10:139","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3130","id":96776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9433:8:139","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"}],"expression":{"id":96772,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"9413:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9416:4:139","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":20966,"src":"9413:7:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":96777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9413:29:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96778,"nodeType":"ExpressionStatement","src":"9413:29:139"},{"expression":{"arguments":[{"id":96782,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95860,"src":"9461:10:139","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":96779,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"9452:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9455:5:139","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"9452:8:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":96783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9452:20:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96784,"nodeType":"ExpressionStatement","src":"9452:20:139"},{"assignments":[96786],"declarations":[{"constant":false,"id":96786,"mutability":"mutable","name":"disputeID","nameLocation":"9490:9:139","nodeType":"VariableDeclaration","scope":96827,"src":"9482:17:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96785,"name":"uint256","nodeType":"ElementaryTypeName","src":"9482:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96797,"initialValue":{"arguments":[{"id":96793,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96768,"src":"9566:10:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":96794,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9578:2:139","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"","id":96795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9582:2:139","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":96787,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95840,"src":"9502:10:139","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}},"id":96788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9513:15:139","memberName":"disputeProposal","nodeType":"MemberAccess","referencedDeclaration":68874,"src":"9502:26:139","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":96792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96791,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e3031","id":96789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9536:10:139","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"value":"0.01"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":96790,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95878,"src":"9549:15:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9536:28:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"9502:63:139","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":96796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9502:83:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9482:103:139"},{"expression":{"arguments":[{"expression":{"expression":{"id":96801,"name":"SafeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73801,"src":"9612:14:139","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeArbitrator_$73801_$","typeString":"type(contract SafeArbitrator)"}},"id":96802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9627:13:139","memberName":"InvalidRuling","nodeType":"MemberAccess","referencedDeclaration":73479,"src":"9612:28:139","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":96803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9641:8:139","memberName":"selector","nodeType":"MemberAccess","src":"9612:37:139","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":96798,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"9596:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9599:12:139","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21413,"src":"9596:15:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":96804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9596:54:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96805,"nodeType":"ExpressionStatement","src":"9596:54:139"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":96811,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97440,"src":"9677:12:139","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_ISafe_$76451_$","typeString":"function () returns (contract ISafe)"}},"id":96812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9677:14:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}],"id":96810,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9669:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96809,"name":"address","nodeType":"ElementaryTypeName","src":"9669:7:139","typeDescriptions":{}}},"id":96813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9669:23:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":96806,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"9660:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9663:5:139","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"9660:8:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":96814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9660:33:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96815,"nodeType":"ExpressionStatement","src":"9660:33:139"},{"expression":{"arguments":[{"id":96819,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96786,"src":"9732:9:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"34","id":96820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9743:1:139","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},{"arguments":[{"id":96823,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95840,"src":"9754:10:139","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}],"id":96822,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9746:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96821,"name":"address","nodeType":"ElementaryTypeName","src":"9746:7:139","typeDescriptions":{}}},"id":96824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9746:19:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":96816,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95837,"src":"9703:14:139","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73801","typeString":"contract SafeArbitrator"}},"id":96818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9718:13:139","memberName":"executeRuling","nodeType":"MemberAccess","referencedDeclaration":73726,"src":"9703:28:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address) external"}},"id":96825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9703:63:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96826,"nodeType":"ExpressionStatement","src":"9703:63:139"}]},"functionSelector":"6f6dfab1","implemented":true,"kind":"function","modifiers":[],"name":"testCannotRuleInvalidRuling","nameLocation":"9318:27:139","parameters":{"id":96765,"nodeType":"ParameterList","parameters":[],"src":"9345:2:139"},"returnParameters":{"id":96766,"nodeType":"ParameterList","parameters":[],"src":"9355:0:139"},"scope":96909,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":96908,"nodeType":"FunctionDefinition","src":"9779:577:139","nodes":[],"body":{"id":96907,"nodeType":"Block","src":"9815:541:139","nodes":[],"statements":[{"assignments":[96832],"declarations":[{"constant":false,"id":96832,"mutability":"mutable","name":"proposalId","nameLocation":"9833:10:139","nodeType":"VariableDeclaration","scope":96907,"src":"9825:18:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96831,"name":"uint256","nodeType":"ElementaryTypeName","src":"9825:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96835,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":96833,"name":"createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96368,"src":"9846:14:139","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_uint256_$","typeString":"function () returns (uint256)"}},"id":96834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9846:16:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9825:37:139"},{"expression":{"arguments":[{"id":96839,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95860,"src":"9881:10:139","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3130","id":96840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9893:8:139","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"}],"expression":{"id":96836,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"9873:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9876:4:139","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":20966,"src":"9873:7:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":96841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9873:29:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96842,"nodeType":"ExpressionStatement","src":"9873:29:139"},{"expression":{"arguments":[{"id":96846,"name":"challenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95860,"src":"9921:10:139","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":96843,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"9912:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9915:5:139","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"9912:8:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":96847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9912:20:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96848,"nodeType":"ExpressionStatement","src":"9912:20:139"},{"assignments":[96850],"declarations":[{"constant":false,"id":96850,"mutability":"mutable","name":"disputeID","nameLocation":"9950:9:139","nodeType":"VariableDeclaration","scope":96907,"src":"9942:17:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96849,"name":"uint256","nodeType":"ElementaryTypeName","src":"9942:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96861,"initialValue":{"arguments":[{"id":96857,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96832,"src":"10026:10:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":96858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10038:2:139","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"","id":96859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10042:2:139","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":96851,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95840,"src":"9962:10:139","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}},"id":96852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9973:15:139","memberName":"disputeProposal","nodeType":"MemberAccess","referencedDeclaration":68874,"src":"9962:26:139","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":96856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96855,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e3031","id":96853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9996:10:139","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"value":"0.01"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":96854,"name":"ARBITRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95878,"src":"10009:15:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9996:28:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"9962:63:139","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$value","typeString":"function (uint256,string memory,bytes memory) payable external returns (uint256)"}},"id":96860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9962:83:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9942:103:139"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":96867,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97440,"src":"10073:12:139","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_ISafe_$76451_$","typeString":"function () returns (contract ISafe)"}},"id":96868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10073:14:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$76451","typeString":"contract ISafe"}],"id":96866,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10065:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96865,"name":"address","nodeType":"ElementaryTypeName","src":"10065:7:139","typeDescriptions":{}}},"id":96869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10065:23:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":96862,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"10056:2:139","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21446","typeString":"contract Vm"}},"id":96864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10059:5:139","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21099,"src":"10056:8:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":96870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10056:33:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96871,"nodeType":"ExpressionStatement","src":"10056:33:139"},{"expression":{"arguments":[{"id":96875,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96850,"src":"10128:9:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"32","id":96876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10139:1:139","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"arguments":[{"id":96879,"name":"cvStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95840,"src":"10150:10:139","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_1_$69756","typeString":"contract CVStrategyV0_1"}],"id":96878,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10142:7:139","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96877,"name":"address","nodeType":"ElementaryTypeName","src":"10142:7:139","typeDescriptions":{}}},"id":96880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10142:19:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":96872,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95837,"src":"10099:14:139","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73801","typeString":"contract SafeArbitrator"}},"id":96874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10114:13:139","memberName":"executeRuling","nodeType":"MemberAccess","referencedDeclaration":73726,"src":"10099:28:139","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address) external"}},"id":96881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10099:63:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96882,"nodeType":"ExpressionStatement","src":"10099:63:139"},{"assignments":[96884,96886,96888],"declarations":[{"constant":false,"id":96884,"mutability":"mutable","name":"ruling","nameLocation":"10182:6:139","nodeType":"VariableDeclaration","scope":96907,"src":"10174:14:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96883,"name":"uint256","nodeType":"ElementaryTypeName","src":"10174:7:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":96886,"mutability":"mutable","name":"tied","nameLocation":"10195:4:139","nodeType":"VariableDeclaration","scope":96907,"src":"10190:9:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":96885,"name":"bool","nodeType":"ElementaryTypeName","src":"10190:4:139","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":96888,"mutability":"mutable","name":"overridden","nameLocation":"10206:10:139","nodeType":"VariableDeclaration","scope":96907,"src":"10201:15:139","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":96887,"name":"bool","nodeType":"ElementaryTypeName","src":"10201:4:139","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":96893,"initialValue":{"arguments":[{"id":96891,"name":"disputeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96850,"src":"10249:9:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":96889,"name":"safeArbitrator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95837,"src":"10220:14:139","typeDescriptions":{"typeIdentifier":"t_contract$_SafeArbitrator_$73801","typeString":"contract SafeArbitrator"}},"id":96890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10235:13:139","memberName":"currentRuling","nodeType":"MemberAccess","referencedDeclaration":73787,"src":"10220:28:139","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$_t_bool_$_t_bool_$","typeString":"function (uint256) view external returns (uint256,bool,bool)"}},"id":96892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10220:39:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$_t_bool_$","typeString":"tuple(uint256,bool,bool)"}},"nodeType":"VariableDeclarationStatement","src":"10173:86:139"},{"expression":{"arguments":[{"id":96895,"name":"ruling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96884,"src":"10279:6:139","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"32","id":96896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10287:1:139","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":96894,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6113,6131,6146,6164,6218,6236,6290,6308,6323,6341,6385,6403,6418,6436,6453,6473,6490,6510,6527,6547,6564,6584,6601,6621,6638,6658,6675,6695],"referencedDeclaration":6146,"src":"10270:8:139","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":96897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10270:19:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96898,"nodeType":"ExpressionStatement","src":"10270:19:139"},{"expression":{"arguments":[{"id":96900,"name":"tied","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96886,"src":"10311:4:139","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":96899,"name":"assertFalse","nodeType":"Identifier","overloadedDeclarations":[6083,6098],"referencedDeclaration":6083,"src":"10299:11:139","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":96901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10299:17:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96902,"nodeType":"ExpressionStatement","src":"10299:17:139"},{"expression":{"arguments":[{"id":96904,"name":"overridden","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96888,"src":"10338:10:139","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":96903,"name":"assertFalse","nodeType":"Identifier","overloadedDeclarations":[6083,6098],"referencedDeclaration":6083,"src":"10326:11:139","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":96905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10326:23:139","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96906,"nodeType":"ExpressionStatement","src":"10326:23:139"}]},"functionSelector":"f8cbf34f","implemented":true,"kind":"function","modifiers":[],"name":"testCurrentRuling","nameLocation":"9788:17:139","parameters":{"id":96829,"nodeType":"ParameterList","parameters":[],"src":"9805:2:139"},"returnParameters":{"id":96830,"nodeType":"ParameterList","parameters":[],"src":"9815:0:139"},"scope":96909,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":95825,"name":"Test","nameLocations":["1243:4:139"],"nodeType":"IdentifierPath","referencedDeclaration":17796,"src":"1243:4:139"},"id":95826,"nodeType":"InheritanceSpecifier","src":"1243:4:139"},{"baseName":{"id":95827,"name":"RegistrySetupFull","nameLocations":["1249:17:139"],"nodeType":"IdentifierPath","referencedDeclaration":5296,"src":"1249:17:139"},"id":95828,"nodeType":"InheritanceSpecifier","src":"1249:17:139"},{"baseName":{"id":95829,"name":"AlloSetup","nameLocations":["1268:9:139"],"nodeType":"IdentifierPath","referencedDeclaration":5087,"src":"1268:9:139"},"id":95830,"nodeType":"InheritanceSpecifier","src":"1268:9:139"},{"baseName":{"id":95831,"name":"CVStrategyHelpers","nameLocations":["1279:17:139"],"nodeType":"IdentifierPath","referencedDeclaration":79905,"src":"1279:17:139"},"id":95832,"nodeType":"InheritanceSpecifier","src":"1279:17:139"},{"baseName":{"id":95833,"name":"SafeSetup","nameLocations":["1298:9:139"],"nodeType":"IdentifierPath","referencedDeclaration":97621,"src":"1298:9:139"},"id":95834,"nodeType":"InheritanceSpecifier","src":"1298:9:139"}],"canonicalName":"SafeArbitratorTest","contractDependencies":[1390,2295,55021,64847,69756,70002,72929,73299,73801],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[96909,97621,79905,5087,5296,5132,5026,17796,17744,12424,12099,11306,9246,8464,5834,5831,3106],"name":"SafeArbitratorTest","nameLocation":"1221:18:139","scope":96910,"usedErrors":[]}],"license":"MIT"},"id":139} \ No newline at end of file diff --git a/pkg/contracts/out/SafeERC20.sol/SafeERC20.json b/pkg/contracts/out/SafeERC20.sol/SafeERC20.json index 2c5dc8676..1b748e738 100644 --- a/pkg/contracts/out/SafeERC20.sol/SafeERC20.json +++ b/pkg/contracts/out/SafeERC20.sol/SafeERC20.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122021cf53e8ccff7f2aaa946646f7334d170df7fc74bdc0ac97a2e0b2c4074f2f8064736f6c63430008130033","sourceMap":"701:6211:73:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;701:6211:73;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122021cf53e8ccff7f2aaa946646f7334d170df7fc74bdc0ac97a2e0b2c4074f2f8064736f6c63430008130033","sourceMap":"701:6211:73:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers around ERC20 operations that throw on failure (when the token contract returns false). Tokens that return no value (and instead revert or throw on failure) are also supported, non-reverting calls are assumed to be successful. To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract, which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SafeERC20\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":\"SafeERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/allo-v2/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":"SafeERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","id":56966,"exportedSymbols":{"Address":[57340],"IERC20":[56528],"IERC20Permit":[56589],"SafeERC20":[56965]},"nodeType":"SourceUnit","src":"115:6798:73","nodes":[{"id":56591,"nodeType":"PragmaDirective","src":"115:23:73","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":56592,"nodeType":"ImportDirective","src":"140:23:73","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"../IERC20.sol","nameLocation":"-1:-1:-1","scope":56966,"sourceUnit":56529,"symbolAliases":[],"unitAlias":""},{"id":56593,"nodeType":"ImportDirective","src":"164:40:73","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol","file":"../extensions/IERC20Permit.sol","nameLocation":"-1:-1:-1","scope":56966,"sourceUnit":56590,"symbolAliases":[],"unitAlias":""},{"id":56594,"nodeType":"ImportDirective","src":"205:36:73","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Address.sol","file":"../../../utils/Address.sol","nameLocation":"-1:-1:-1","scope":56966,"sourceUnit":57341,"symbolAliases":[],"unitAlias":""},{"id":56965,"nodeType":"ContractDefinition","src":"701:6211:73","nodes":[{"id":56598,"nodeType":"UsingForDirective","src":"725:26:73","nodes":[],"global":false,"libraryName":{"id":56596,"name":"Address","nameLocations":["731:7:73"],"nodeType":"IdentifierPath","referencedDeclaration":57340,"src":"731:7:73"},"typeName":{"id":56597,"name":"address","nodeType":"ElementaryTypeName","src":"743:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":56622,"nodeType":"FunctionDefinition","src":"941:175:73","nodes":[],"body":{"id":56621,"nodeType":"Block","src":"1013:103:73","nodes":[],"statements":[{"expression":{"arguments":[{"id":56610,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56602,"src":"1043:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56613,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56602,"src":"1073:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":56614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1079:8:73","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":56495,"src":"1073:14:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1088:8:73","memberName":"selector","nodeType":"MemberAccess","src":"1073:23:73","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56616,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56604,"src":"1098:2:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56617,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56606,"src":"1102:5:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56611,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1050:3:73","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56612,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1054:18:73","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"1050:22:73","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1050:58:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56609,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56916,"src":"1023:19:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1023:86:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56620,"nodeType":"ExpressionStatement","src":"1023:86:73"}]},"documentation":{"id":56599,"nodeType":"StructuredDocumentation","src":"757:179:73","text":" @dev Transfer `value` amount of `token` from the calling contract to `to`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeTransfer","nameLocation":"950:12:73","parameters":{"id":56607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56602,"mutability":"mutable","name":"token","nameLocation":"970:5:73","nodeType":"VariableDeclaration","scope":56622,"src":"963:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":56601,"nodeType":"UserDefinedTypeName","pathNode":{"id":56600,"name":"IERC20","nameLocations":["963:6:73"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"963:6:73"},"referencedDeclaration":56528,"src":"963:6:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56604,"mutability":"mutable","name":"to","nameLocation":"985:2:73","nodeType":"VariableDeclaration","scope":56622,"src":"977:10:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56603,"name":"address","nodeType":"ElementaryTypeName","src":"977:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56606,"mutability":"mutable","name":"value","nameLocation":"997:5:73","nodeType":"VariableDeclaration","scope":56622,"src":"989:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56605,"name":"uint256","nodeType":"ElementaryTypeName","src":"989:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"962:41:73"},"returnParameters":{"id":56608,"nodeType":"ParameterList","parameters":[],"src":"1013:0:73"},"scope":56965,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56649,"nodeType":"FunctionDefinition","src":"1355:203:73","nodes":[],"body":{"id":56648,"nodeType":"Block","src":"1445:113:73","nodes":[],"statements":[{"expression":{"arguments":[{"id":56636,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56626,"src":"1475:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56639,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56626,"src":"1505:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":56640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1511:12:73","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":56527,"src":"1505:18:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":56641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1524:8:73","memberName":"selector","nodeType":"MemberAccess","src":"1505:27:73","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56642,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56628,"src":"1534:4:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56643,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56630,"src":"1540:2:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56644,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56632,"src":"1544:5:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56637,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1482:3:73","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56638,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1486:18:73","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"1482:22:73","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1482:68:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56635,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56916,"src":"1455:19:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1455:96:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56647,"nodeType":"ExpressionStatement","src":"1455:96:73"}]},"documentation":{"id":56623,"nodeType":"StructuredDocumentation","src":"1122:228:73","text":" @dev Transfer `value` amount of `token` from `from` to `to`, spending the approval given by `from` to the\n calling contract. If `token` returns no value, non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"1364:16:73","parameters":{"id":56633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56626,"mutability":"mutable","name":"token","nameLocation":"1388:5:73","nodeType":"VariableDeclaration","scope":56649,"src":"1381:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":56625,"nodeType":"UserDefinedTypeName","pathNode":{"id":56624,"name":"IERC20","nameLocations":["1381:6:73"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"1381:6:73"},"referencedDeclaration":56528,"src":"1381:6:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56628,"mutability":"mutable","name":"from","nameLocation":"1403:4:73","nodeType":"VariableDeclaration","scope":56649,"src":"1395:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56627,"name":"address","nodeType":"ElementaryTypeName","src":"1395:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56630,"mutability":"mutable","name":"to","nameLocation":"1417:2:73","nodeType":"VariableDeclaration","scope":56649,"src":"1409:10:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56629,"name":"address","nodeType":"ElementaryTypeName","src":"1409:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56632,"mutability":"mutable","name":"value","nameLocation":"1429:5:73","nodeType":"VariableDeclaration","scope":56649,"src":"1421:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56631,"name":"uint256","nodeType":"ElementaryTypeName","src":"1421:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1380:55:73"},"returnParameters":{"id":56634,"nodeType":"ParameterList","parameters":[],"src":"1445:0:73"},"scope":56965,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56693,"nodeType":"FunctionDefinition","src":"1818:573:73","nodes":[],"body":{"id":56692,"nodeType":"Block","src":"1894:497:73","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":56676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56661,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56657,"src":"2143:5:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":56662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2152:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2143:10:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":56664,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2142:12:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":56669,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2183:4:73","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$56965","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$56965","typeString":"library SafeERC20"}],"id":56668,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2175:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56667,"name":"address","nodeType":"ElementaryTypeName","src":"2175:7:73","typeDescriptions":{}}},"id":56670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2175:13:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56671,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56655,"src":"2190:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56665,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56653,"src":"2159:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":56666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2165:9:73","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":56505,"src":"2159:15:73","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":56672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2159:39:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":56673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2202:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2159:44:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":56675,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2158:46:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2142:62:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365","id":56677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2218:56:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef945ddb1bfdc0da870feb4560d868b047642b4ac7f2fb7f8b7c51cb4a411e25","typeString":"literal_string \"SafeERC20: approve from non-zero to non-zero allowance\""},"value":"SafeERC20: approve from non-zero to non-zero allowance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ef945ddb1bfdc0da870feb4560d868b047642b4ac7f2fb7f8b7c51cb4a411e25","typeString":"literal_string \"SafeERC20: approve from non-zero to non-zero allowance\""}],"id":56660,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2121:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2121:163:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56679,"nodeType":"ExpressionStatement","src":"2121:163:73"},{"expression":{"arguments":[{"id":56681,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56653,"src":"2314:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56684,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56653,"src":"2344:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":56685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2350:7:73","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":56515,"src":"2344:13:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2358:8:73","memberName":"selector","nodeType":"MemberAccess","src":"2344:22:73","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56687,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56655,"src":"2368:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56688,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56657,"src":"2377:5:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56682,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2321:3:73","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56683,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2325:18:73","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2321:22:73","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2321:62:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56680,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56916,"src":"2294:19:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2294:90:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56691,"nodeType":"ExpressionStatement","src":"2294:90:73"}]},"documentation":{"id":56650,"nodeType":"StructuredDocumentation","src":"1564:249:73","text":" @dev Deprecated. This function has issues similar to the ones found in\n {IERC20-approve}, and its usage is discouraged.\n Whenever possible, use {safeIncreaseAllowance} and\n {safeDecreaseAllowance} instead."},"implemented":true,"kind":"function","modifiers":[],"name":"safeApprove","nameLocation":"1827:11:73","parameters":{"id":56658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56653,"mutability":"mutable","name":"token","nameLocation":"1846:5:73","nodeType":"VariableDeclaration","scope":56693,"src":"1839:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":56652,"nodeType":"UserDefinedTypeName","pathNode":{"id":56651,"name":"IERC20","nameLocations":["1839:6:73"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"1839:6:73"},"referencedDeclaration":56528,"src":"1839:6:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56655,"mutability":"mutable","name":"spender","nameLocation":"1861:7:73","nodeType":"VariableDeclaration","scope":56693,"src":"1853:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56654,"name":"address","nodeType":"ElementaryTypeName","src":"1853:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56657,"mutability":"mutable","name":"value","nameLocation":"1878:5:73","nodeType":"VariableDeclaration","scope":56693,"src":"1870:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56656,"name":"uint256","nodeType":"ElementaryTypeName","src":"1870:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1838:46:73"},"returnParameters":{"id":56659,"nodeType":"ParameterList","parameters":[],"src":"1894:0:73"},"scope":56965,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56730,"nodeType":"FunctionDefinition","src":"2582:280:73","nodes":[],"body":{"id":56729,"nodeType":"Block","src":"2668:194:73","nodes":[],"statements":[{"assignments":[56705],"declarations":[{"constant":false,"id":56705,"mutability":"mutable","name":"oldAllowance","nameLocation":"2686:12:73","nodeType":"VariableDeclaration","scope":56729,"src":"2678:20:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56704,"name":"uint256","nodeType":"ElementaryTypeName","src":"2678:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56714,"initialValue":{"arguments":[{"arguments":[{"id":56710,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2725:4:73","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$56965","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$56965","typeString":"library SafeERC20"}],"id":56709,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2717:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56708,"name":"address","nodeType":"ElementaryTypeName","src":"2717:7:73","typeDescriptions":{}}},"id":56711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2717:13:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56712,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56699,"src":"2732:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56706,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56697,"src":"2701:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":56707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2707:9:73","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":56505,"src":"2701:15:73","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":56713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2701:39:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2678:62:73"},{"expression":{"arguments":[{"id":56716,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56697,"src":"2770:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56719,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56697,"src":"2800:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":56720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2806:7:73","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":56515,"src":"2800:13:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2814:8:73","memberName":"selector","nodeType":"MemberAccess","src":"2800:22:73","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56722,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56699,"src":"2824:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56723,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56705,"src":"2833:12:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":56724,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56701,"src":"2848:5:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2833:20:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56717,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2777:3:73","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56718,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2781:18:73","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2777:22:73","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2777:77:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56715,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56916,"src":"2750:19:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2750:105:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56728,"nodeType":"ExpressionStatement","src":"2750:105:73"}]},"documentation":{"id":56694,"nodeType":"StructuredDocumentation","src":"2397:180:73","text":" @dev Increase the calling contract's allowance toward `spender` by `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeIncreaseAllowance","nameLocation":"2591:21:73","parameters":{"id":56702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56697,"mutability":"mutable","name":"token","nameLocation":"2620:5:73","nodeType":"VariableDeclaration","scope":56730,"src":"2613:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":56696,"nodeType":"UserDefinedTypeName","pathNode":{"id":56695,"name":"IERC20","nameLocations":["2613:6:73"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"2613:6:73"},"referencedDeclaration":56528,"src":"2613:6:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56699,"mutability":"mutable","name":"spender","nameLocation":"2635:7:73","nodeType":"VariableDeclaration","scope":56730,"src":"2627:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56698,"name":"address","nodeType":"ElementaryTypeName","src":"2627:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56701,"mutability":"mutable","name":"value","nameLocation":"2652:5:73","nodeType":"VariableDeclaration","scope":56730,"src":"2644:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56700,"name":"uint256","nodeType":"ElementaryTypeName","src":"2644:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2612:46:73"},"returnParameters":{"id":56703,"nodeType":"ParameterList","parameters":[],"src":"2668:0:73"},"scope":56965,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56775,"nodeType":"FunctionDefinition","src":"3053:407:73","nodes":[],"body":{"id":56774,"nodeType":"Block","src":"3139:321:73","nodes":[],"statements":[{"id":56773,"nodeType":"UncheckedBlock","src":"3149:305:73","statements":[{"assignments":[56742],"declarations":[{"constant":false,"id":56742,"mutability":"mutable","name":"oldAllowance","nameLocation":"3181:12:73","nodeType":"VariableDeclaration","scope":56773,"src":"3173:20:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56741,"name":"uint256","nodeType":"ElementaryTypeName","src":"3173:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56751,"initialValue":{"arguments":[{"arguments":[{"id":56747,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3220:4:73","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$56965","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$56965","typeString":"library SafeERC20"}],"id":56746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3212:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56745,"name":"address","nodeType":"ElementaryTypeName","src":"3212:7:73","typeDescriptions":{}}},"id":56748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3212:13:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56749,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56736,"src":"3227:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56743,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56734,"src":"3196:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":56744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3202:9:73","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":56505,"src":"3196:15:73","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":56750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3196:39:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3173:62:73"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56753,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56742,"src":"3257:12:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56754,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56738,"src":"3273:5:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3257:21:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f","id":56756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3280:43:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c3af60974a758b7e72e108c9bf0943ecc9e4f2e8af4695da5f52fbf57a63d3a","typeString":"literal_string \"SafeERC20: decreased allowance below zero\""},"value":"SafeERC20: decreased allowance below zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2c3af60974a758b7e72e108c9bf0943ecc9e4f2e8af4695da5f52fbf57a63d3a","typeString":"literal_string \"SafeERC20: decreased allowance below zero\""}],"id":56752,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3249:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3249:75:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56758,"nodeType":"ExpressionStatement","src":"3249:75:73"},{"expression":{"arguments":[{"id":56760,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56734,"src":"3358:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56763,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56734,"src":"3388:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":56764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3394:7:73","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":56515,"src":"3388:13:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3402:8:73","memberName":"selector","nodeType":"MemberAccess","src":"3388:22:73","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56766,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56736,"src":"3412:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56767,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56742,"src":"3421:12:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56768,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56738,"src":"3436:5:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3421:20:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56761,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3365:3:73","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56762,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3369:18:73","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"3365:22:73","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3365:77:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56759,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56916,"src":"3338:19:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3338:105:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56772,"nodeType":"ExpressionStatement","src":"3338:105:73"}]}]},"documentation":{"id":56731,"nodeType":"StructuredDocumentation","src":"2868:180:73","text":" @dev Decrease the calling contract's allowance toward `spender` by `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeDecreaseAllowance","nameLocation":"3062:21:73","parameters":{"id":56739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56734,"mutability":"mutable","name":"token","nameLocation":"3091:5:73","nodeType":"VariableDeclaration","scope":56775,"src":"3084:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":56733,"nodeType":"UserDefinedTypeName","pathNode":{"id":56732,"name":"IERC20","nameLocations":["3084:6:73"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"3084:6:73"},"referencedDeclaration":56528,"src":"3084:6:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56736,"mutability":"mutable","name":"spender","nameLocation":"3106:7:73","nodeType":"VariableDeclaration","scope":56775,"src":"3098:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56735,"name":"address","nodeType":"ElementaryTypeName","src":"3098:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56738,"mutability":"mutable","name":"value","nameLocation":"3123:5:73","nodeType":"VariableDeclaration","scope":56775,"src":"3115:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56737,"name":"uint256","nodeType":"ElementaryTypeName","src":"3115:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3083:46:73"},"returnParameters":{"id":56740,"nodeType":"ParameterList","parameters":[],"src":"3139:0:73"},"scope":56965,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56822,"nodeType":"FunctionDefinition","src":"3756:410:73","nodes":[],"body":{"id":56821,"nodeType":"Block","src":"3833:333:73","nodes":[],"statements":[{"assignments":[56787],"declarations":[{"constant":false,"id":56787,"mutability":"mutable","name":"approvalCall","nameLocation":"3856:12:73","nodeType":"VariableDeclaration","scope":56821,"src":"3843:25:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56786,"name":"bytes","nodeType":"ElementaryTypeName","src":"3843:5:73","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":56796,"initialValue":{"arguments":[{"expression":{"expression":{"id":56790,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56779,"src":"3894:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":56791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3900:7:73","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":56515,"src":"3894:13:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3908:8:73","memberName":"selector","nodeType":"MemberAccess","src":"3894:22:73","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56793,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56781,"src":"3918:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56794,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56783,"src":"3927:5:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56788,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3871:3:73","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56789,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3875:18:73","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"3871:22:73","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3871:62:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3843:90:73"},{"condition":{"id":56801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3948:45:73","subExpression":{"arguments":[{"id":56798,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56779,"src":"3973:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},{"id":56799,"name":"approvalCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56787,"src":"3980:12:73","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56797,"name":"_callOptionalReturnBool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56964,"src":"3949:23:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (contract IERC20,bytes memory) returns (bool)"}},"id":56800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3949:44:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56820,"nodeType":"IfStatement","src":"3944:216:73","trueBody":{"id":56819,"nodeType":"Block","src":"3995:165:73","statements":[{"expression":{"arguments":[{"id":56803,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56779,"src":"4029:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56806,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56779,"src":"4059:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":56807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4065:7:73","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":56515,"src":"4059:13:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4073:8:73","memberName":"selector","nodeType":"MemberAccess","src":"4059:22:73","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56809,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56781,"src":"4083:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":56810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4092:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":56804,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4036:3:73","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56805,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4040:18:73","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"4036:22:73","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4036:58:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56802,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56916,"src":"4009:19:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4009:86:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56813,"nodeType":"ExpressionStatement","src":"4009:86:73"},{"expression":{"arguments":[{"id":56815,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56779,"src":"4129:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},{"id":56816,"name":"approvalCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56787,"src":"4136:12:73","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56814,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56916,"src":"4109:19:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4109:40:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56818,"nodeType":"ExpressionStatement","src":"4109:40:73"}]}}]},"documentation":{"id":56776,"nodeType":"StructuredDocumentation","src":"3466:285:73","text":" @dev Set the calling contract's allowance toward `spender` to `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful. Compatible with tokens that require the approval to be set to\n 0 before setting it to a non-zero value."},"implemented":true,"kind":"function","modifiers":[],"name":"forceApprove","nameLocation":"3765:12:73","parameters":{"id":56784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56779,"mutability":"mutable","name":"token","nameLocation":"3785:5:73","nodeType":"VariableDeclaration","scope":56822,"src":"3778:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":56778,"nodeType":"UserDefinedTypeName","pathNode":{"id":56777,"name":"IERC20","nameLocations":["3778:6:73"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"3778:6:73"},"referencedDeclaration":56528,"src":"3778:6:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56781,"mutability":"mutable","name":"spender","nameLocation":"3800:7:73","nodeType":"VariableDeclaration","scope":56822,"src":"3792:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56780,"name":"address","nodeType":"ElementaryTypeName","src":"3792:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56783,"mutability":"mutable","name":"value","nameLocation":"3817:5:73","nodeType":"VariableDeclaration","scope":56822,"src":"3809:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56782,"name":"uint256","nodeType":"ElementaryTypeName","src":"3809:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3777:46:73"},"returnParameters":{"id":56785,"nodeType":"ParameterList","parameters":[],"src":"3833:0:73"},"scope":56965,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56879,"nodeType":"FunctionDefinition","src":"4318:472:73","nodes":[],"body":{"id":56878,"nodeType":"Block","src":"4533:257:73","nodes":[],"statements":[{"assignments":[56844],"declarations":[{"constant":false,"id":56844,"mutability":"mutable","name":"nonceBefore","nameLocation":"4551:11:73","nodeType":"VariableDeclaration","scope":56878,"src":"4543:19:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56843,"name":"uint256","nodeType":"ElementaryTypeName","src":"4543:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56849,"initialValue":{"arguments":[{"id":56847,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56828,"src":"4578:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56845,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56826,"src":"4565:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$56589","typeString":"contract IERC20Permit"}},"id":56846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4571:6:73","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":56582,"src":"4565:12:73","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":56848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4565:19:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4543:41:73"},{"expression":{"arguments":[{"id":56853,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56828,"src":"4607:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56854,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56830,"src":"4614:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56855,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56832,"src":"4623:5:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56856,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56834,"src":"4630:8:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56857,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56836,"src":"4640:1:73","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":56858,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56838,"src":"4643:1:73","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56859,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56840,"src":"4646:1:73","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56850,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56826,"src":"4594:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$56589","typeString":"contract IERC20Permit"}},"id":56852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4600:6:73","memberName":"permit","nodeType":"MemberAccess","referencedDeclaration":56574,"src":"4594:12:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,uint8,bytes32,bytes32) external"}},"id":56860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4594:54:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56861,"nodeType":"ExpressionStatement","src":"4594:54:73"},{"assignments":[56863],"declarations":[{"constant":false,"id":56863,"mutability":"mutable","name":"nonceAfter","nameLocation":"4666:10:73","nodeType":"VariableDeclaration","scope":56878,"src":"4658:18:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56862,"name":"uint256","nodeType":"ElementaryTypeName","src":"4658:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56868,"initialValue":{"arguments":[{"id":56866,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56828,"src":"4692:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56864,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56826,"src":"4679:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$56589","typeString":"contract IERC20Permit"}},"id":56865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4685:6:73","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":56582,"src":"4679:12:73","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":56867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4679:19:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4658:40:73"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56870,"name":"nonceAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56863,"src":"4716:10:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56871,"name":"nonceBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56844,"src":"4730:11:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":56872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4744:1:73","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4730:15:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4716:29:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a207065726d697420646964206e6f742073756363656564","id":56875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4747:35:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_cde8e927812a7a656f8f04e89ac4f4113d47940dd2125d11fcb8e0bd36bfc59d","typeString":"literal_string \"SafeERC20: permit did not succeed\""},"value":"SafeERC20: permit did not succeed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cde8e927812a7a656f8f04e89ac4f4113d47940dd2125d11fcb8e0bd36bfc59d","typeString":"literal_string \"SafeERC20: permit did not succeed\""}],"id":56869,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4708:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4708:75:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56877,"nodeType":"ExpressionStatement","src":"4708:75:73"}]},"documentation":{"id":56823,"nodeType":"StructuredDocumentation","src":"4172:141:73","text":" @dev Use a ERC-2612 signature to set the `owner` approval toward `spender` on `token`.\n Revert on invalid signature."},"implemented":true,"kind":"function","modifiers":[],"name":"safePermit","nameLocation":"4327:10:73","parameters":{"id":56841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56826,"mutability":"mutable","name":"token","nameLocation":"4360:5:73","nodeType":"VariableDeclaration","scope":56879,"src":"4347:18:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$56589","typeString":"contract IERC20Permit"},"typeName":{"id":56825,"nodeType":"UserDefinedTypeName","pathNode":{"id":56824,"name":"IERC20Permit","nameLocations":["4347:12:73"],"nodeType":"IdentifierPath","referencedDeclaration":56589,"src":"4347:12:73"},"referencedDeclaration":56589,"src":"4347:12:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$56589","typeString":"contract IERC20Permit"}},"visibility":"internal"},{"constant":false,"id":56828,"mutability":"mutable","name":"owner","nameLocation":"4383:5:73","nodeType":"VariableDeclaration","scope":56879,"src":"4375:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56827,"name":"address","nodeType":"ElementaryTypeName","src":"4375:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56830,"mutability":"mutable","name":"spender","nameLocation":"4406:7:73","nodeType":"VariableDeclaration","scope":56879,"src":"4398:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56829,"name":"address","nodeType":"ElementaryTypeName","src":"4398:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56832,"mutability":"mutable","name":"value","nameLocation":"4431:5:73","nodeType":"VariableDeclaration","scope":56879,"src":"4423:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56831,"name":"uint256","nodeType":"ElementaryTypeName","src":"4423:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56834,"mutability":"mutable","name":"deadline","nameLocation":"4454:8:73","nodeType":"VariableDeclaration","scope":56879,"src":"4446:16:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56833,"name":"uint256","nodeType":"ElementaryTypeName","src":"4446:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56836,"mutability":"mutable","name":"v","nameLocation":"4478:1:73","nodeType":"VariableDeclaration","scope":56879,"src":"4472:7:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56835,"name":"uint8","nodeType":"ElementaryTypeName","src":"4472:5:73","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":56838,"mutability":"mutable","name":"r","nameLocation":"4497:1:73","nodeType":"VariableDeclaration","scope":56879,"src":"4489:9:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56837,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4489:7:73","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":56840,"mutability":"mutable","name":"s","nameLocation":"4516:1:73","nodeType":"VariableDeclaration","scope":56879,"src":"4508:9:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56839,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4508:7:73","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4337:186:73"},"returnParameters":{"id":56842,"nodeType":"ParameterList","parameters":[],"src":"4533:0:73"},"scope":56965,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56916,"nodeType":"FunctionDefinition","src":"5173:642:73","nodes":[],"body":{"id":56915,"nodeType":"Block","src":"5243:572:73","nodes":[],"statements":[{"assignments":[56889],"declarations":[{"constant":false,"id":56889,"mutability":"mutable","name":"returndata","nameLocation":"5605:10:73","nodeType":"VariableDeclaration","scope":56915,"src":"5592:23:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56888,"name":"bytes","nodeType":"ElementaryTypeName","src":"5592:5:73","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":56898,"initialValue":{"arguments":[{"id":56895,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56885,"src":"5646:4:73","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564","id":56896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5652:34:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_47fb62c2c272651d2f0f342bac006756b8ba07f21cc5cb87e0fbb9d50c0c585b","typeString":"literal_string \"SafeERC20: low-level call failed\""},"value":"SafeERC20: low-level call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_47fb62c2c272651d2f0f342bac006756b8ba07f21cc5cb87e0fbb9d50c0c585b","typeString":"literal_string \"SafeERC20: low-level call failed\""}],"expression":{"arguments":[{"id":56892,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56883,"src":"5626:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}],"id":56891,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5618:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56890,"name":"address","nodeType":"ElementaryTypeName","src":"5618:7:73","typeDescriptions":{}}},"id":56893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5618:14:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":56894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5633:12:73","memberName":"functionCall","nodeType":"MemberAccess","referencedDeclaration":57100,"src":"5618:27:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$attached_to$_t_address_$","typeString":"function (address,bytes memory,string memory) returns (bytes memory)"}},"id":56897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5618:69:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5592:95:73"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":56911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":56900,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56889,"src":"5705:10:73","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":56901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5716:6:73","memberName":"length","nodeType":"MemberAccess","src":"5705:17:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":56902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5726:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5705:22:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":56906,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56889,"src":"5742:10:73","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":56908,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5755:4:73","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":56907,"name":"bool","nodeType":"ElementaryTypeName","src":"5755:4:73","typeDescriptions":{}}}],"id":56909,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5754:6:73","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":56904,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5731:3:73","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56905,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5735:6:73","memberName":"decode","nodeType":"MemberAccess","src":"5731:10:73","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":56910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5731:30:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5705:56:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564","id":56912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5763:44:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd","typeString":"literal_string \"SafeERC20: ERC20 operation did not succeed\""},"value":"SafeERC20: ERC20 operation did not succeed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd","typeString":"literal_string \"SafeERC20: ERC20 operation did not succeed\""}],"id":56899,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5697:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5697:111:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56914,"nodeType":"ExpressionStatement","src":"5697:111:73"}]},"documentation":{"id":56880,"nodeType":"StructuredDocumentation","src":"4796:372:73","text":" @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n on the return value: the return value is optional (but if data is returned, it must not be false).\n @param token The token targeted by the call.\n @param data The call data (encoded using abi.encode or one of its variants)."},"implemented":true,"kind":"function","modifiers":[],"name":"_callOptionalReturn","nameLocation":"5182:19:73","parameters":{"id":56886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56883,"mutability":"mutable","name":"token","nameLocation":"5209:5:73","nodeType":"VariableDeclaration","scope":56916,"src":"5202:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":56882,"nodeType":"UserDefinedTypeName","pathNode":{"id":56881,"name":"IERC20","nameLocations":["5202:6:73"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"5202:6:73"},"referencedDeclaration":56528,"src":"5202:6:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56885,"mutability":"mutable","name":"data","nameLocation":"5229:4:73","nodeType":"VariableDeclaration","scope":56916,"src":"5216:17:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56884,"name":"bytes","nodeType":"ElementaryTypeName","src":"5216:5:73","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5201:33:73"},"returnParameters":{"id":56887,"nodeType":"ParameterList","parameters":[],"src":"5243:0:73"},"scope":56965,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":56964,"nodeType":"FunctionDefinition","src":"6316:594:73","nodes":[],"body":{"id":56963,"nodeType":"Block","src":"6405:505:73","nodes":[],"statements":[{"assignments":[56928,56930],"declarations":[{"constant":false,"id":56928,"mutability":"mutable","name":"success","nameLocation":"6706:7:73","nodeType":"VariableDeclaration","scope":56963,"src":"6701:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56927,"name":"bool","nodeType":"ElementaryTypeName","src":"6701:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56930,"mutability":"mutable","name":"returndata","nameLocation":"6728:10:73","nodeType":"VariableDeclaration","scope":56963,"src":"6715:23:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56929,"name":"bytes","nodeType":"ElementaryTypeName","src":"6715:5:73","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":56938,"initialValue":{"arguments":[{"id":56936,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56922,"src":"6762:4:73","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":56933,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56920,"src":"6750:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}],"id":56932,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6742:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56931,"name":"address","nodeType":"ElementaryTypeName","src":"6742:7:73","typeDescriptions":{}}},"id":56934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6742:14:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":56935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6757:4:73","memberName":"call","nodeType":"MemberAccess","src":"6742:19:73","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":56937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6742:25:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"6700:67:73"},{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":56961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":56953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56939,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56928,"src":"6796:7:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":56951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":56940,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56930,"src":"6808:10:73","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":56941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6819:6:73","memberName":"length","nodeType":"MemberAccess","src":"6808:17:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":56942,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6829:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6808:22:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":56946,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56930,"src":"6845:10:73","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":56948,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6858:4:73","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":56947,"name":"bool","nodeType":"ElementaryTypeName","src":"6858:4:73","typeDescriptions":{}}}],"id":56949,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6857:6:73","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":56944,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6834:3:73","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56945,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6838:6:73","memberName":"decode","nodeType":"MemberAccess","src":"6834:10:73","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":56950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6834:30:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6808:56:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":56952,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6807:58:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6796:69:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"arguments":[{"id":56958,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56920,"src":"6896:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}],"id":56957,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6888:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56956,"name":"address","nodeType":"ElementaryTypeName","src":"6888:7:73","typeDescriptions":{}}},"id":56959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6888:14:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56954,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57340,"src":"6869:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$57340_$","typeString":"type(library Address)"}},"id":56955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6877:10:73","memberName":"isContract","nodeType":"MemberAccess","referencedDeclaration":57028,"src":"6869:18:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":56960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6869:34:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6796:107:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":56926,"id":56962,"nodeType":"Return","src":"6777:126:73"}]},"documentation":{"id":56917,"nodeType":"StructuredDocumentation","src":"5821:490:73","text":" @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n on the return value: the return value is optional (but if data is returned, it must not be false).\n @param token The token targeted by the call.\n @param data The call data (encoded using abi.encode or one of its variants).\n This is a variant of {_callOptionalReturn} that silents catches all reverts and returns a bool instead."},"implemented":true,"kind":"function","modifiers":[],"name":"_callOptionalReturnBool","nameLocation":"6325:23:73","parameters":{"id":56923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56920,"mutability":"mutable","name":"token","nameLocation":"6356:5:73","nodeType":"VariableDeclaration","scope":56964,"src":"6349:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":56919,"nodeType":"UserDefinedTypeName","pathNode":{"id":56918,"name":"IERC20","nameLocations":["6349:6:73"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"6349:6:73"},"referencedDeclaration":56528,"src":"6349:6:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56922,"mutability":"mutable","name":"data","nameLocation":"6376:4:73","nodeType":"VariableDeclaration","scope":56964,"src":"6363:17:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56921,"name":"bytes","nodeType":"ElementaryTypeName","src":"6363:5:73","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6348:33:73"},"returnParameters":{"id":56926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56925,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56964,"src":"6399:4:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56924,"name":"bool","nodeType":"ElementaryTypeName","src":"6399:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6398:6:73"},"scope":56965,"stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeERC20","contractDependencies":[],"contractKind":"library","documentation":{"id":56595,"nodeType":"StructuredDocumentation","src":"243:457:73","text":" @title SafeERC20\n @dev Wrappers around ERC20 operations that throw on failure (when the token\n contract returns false). Tokens that return no value (and instead revert or\n throw on failure) are also supported, non-reverting calls are assumed to be\n successful.\n To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,\n which allows you to call the safe operations as `token.safeTransfer(...)`, etc."},"fullyImplemented":true,"linearizedBaseContracts":[56965],"name":"SafeERC20","nameLocation":"709:9:73","scope":56966,"usedErrors":[]}],"license":"MIT"},"id":73} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200d2846543bb4dfdb8f93a75c1c9146f42d5ad92d6d551af8c582600002bea48a64736f6c63430008130033","sourceMap":"701:6211:73:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;701:6211:73;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200d2846543bb4dfdb8f93a75c1c9146f42d5ad92d6d551af8c582600002bea48a64736f6c63430008130033","sourceMap":"701:6211:73:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers around ERC20 operations that throw on failure (when the token contract returns false). Tokens that return no value (and instead revert or throw on failure) are also supported, non-reverting calls are assumed to be successful. To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract, which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SafeERC20\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":\"SafeERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":@src/=pkg/contracts/src/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":__safe-smart-account/=lib/__safe-smart-account/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","@src/=pkg/contracts/src/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","__safe-smart-account/=lib/__safe-smart-account/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":"SafeERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","id":56966,"exportedSymbols":{"Address":[57340],"IERC20":[56528],"IERC20Permit":[56589],"SafeERC20":[56965]},"nodeType":"SourceUnit","src":"115:6798:73","nodes":[{"id":56591,"nodeType":"PragmaDirective","src":"115:23:73","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":56592,"nodeType":"ImportDirective","src":"140:23:73","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"../IERC20.sol","nameLocation":"-1:-1:-1","scope":56966,"sourceUnit":56529,"symbolAliases":[],"unitAlias":""},{"id":56593,"nodeType":"ImportDirective","src":"164:40:73","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol","file":"../extensions/IERC20Permit.sol","nameLocation":"-1:-1:-1","scope":56966,"sourceUnit":56590,"symbolAliases":[],"unitAlias":""},{"id":56594,"nodeType":"ImportDirective","src":"205:36:73","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Address.sol","file":"../../../utils/Address.sol","nameLocation":"-1:-1:-1","scope":56966,"sourceUnit":57341,"symbolAliases":[],"unitAlias":""},{"id":56965,"nodeType":"ContractDefinition","src":"701:6211:73","nodes":[{"id":56598,"nodeType":"UsingForDirective","src":"725:26:73","nodes":[],"global":false,"libraryName":{"id":56596,"name":"Address","nameLocations":["731:7:73"],"nodeType":"IdentifierPath","referencedDeclaration":57340,"src":"731:7:73"},"typeName":{"id":56597,"name":"address","nodeType":"ElementaryTypeName","src":"743:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":56622,"nodeType":"FunctionDefinition","src":"941:175:73","nodes":[],"body":{"id":56621,"nodeType":"Block","src":"1013:103:73","nodes":[],"statements":[{"expression":{"arguments":[{"id":56610,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56602,"src":"1043:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56613,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56602,"src":"1073:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":56614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1079:8:73","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":56495,"src":"1073:14:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1088:8:73","memberName":"selector","nodeType":"MemberAccess","src":"1073:23:73","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56616,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56604,"src":"1098:2:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56617,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56606,"src":"1102:5:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56611,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1050:3:73","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56612,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1054:18:73","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"1050:22:73","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1050:58:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56609,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56916,"src":"1023:19:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1023:86:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56620,"nodeType":"ExpressionStatement","src":"1023:86:73"}]},"documentation":{"id":56599,"nodeType":"StructuredDocumentation","src":"757:179:73","text":" @dev Transfer `value` amount of `token` from the calling contract to `to`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeTransfer","nameLocation":"950:12:73","parameters":{"id":56607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56602,"mutability":"mutable","name":"token","nameLocation":"970:5:73","nodeType":"VariableDeclaration","scope":56622,"src":"963:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":56601,"nodeType":"UserDefinedTypeName","pathNode":{"id":56600,"name":"IERC20","nameLocations":["963:6:73"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"963:6:73"},"referencedDeclaration":56528,"src":"963:6:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56604,"mutability":"mutable","name":"to","nameLocation":"985:2:73","nodeType":"VariableDeclaration","scope":56622,"src":"977:10:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56603,"name":"address","nodeType":"ElementaryTypeName","src":"977:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56606,"mutability":"mutable","name":"value","nameLocation":"997:5:73","nodeType":"VariableDeclaration","scope":56622,"src":"989:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56605,"name":"uint256","nodeType":"ElementaryTypeName","src":"989:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"962:41:73"},"returnParameters":{"id":56608,"nodeType":"ParameterList","parameters":[],"src":"1013:0:73"},"scope":56965,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56649,"nodeType":"FunctionDefinition","src":"1355:203:73","nodes":[],"body":{"id":56648,"nodeType":"Block","src":"1445:113:73","nodes":[],"statements":[{"expression":{"arguments":[{"id":56636,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56626,"src":"1475:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56639,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56626,"src":"1505:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":56640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1511:12:73","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":56527,"src":"1505:18:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":56641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1524:8:73","memberName":"selector","nodeType":"MemberAccess","src":"1505:27:73","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56642,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56628,"src":"1534:4:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56643,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56630,"src":"1540:2:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56644,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56632,"src":"1544:5:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56637,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1482:3:73","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56638,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1486:18:73","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"1482:22:73","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1482:68:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56635,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56916,"src":"1455:19:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1455:96:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56647,"nodeType":"ExpressionStatement","src":"1455:96:73"}]},"documentation":{"id":56623,"nodeType":"StructuredDocumentation","src":"1122:228:73","text":" @dev Transfer `value` amount of `token` from `from` to `to`, spending the approval given by `from` to the\n calling contract. If `token` returns no value, non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"1364:16:73","parameters":{"id":56633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56626,"mutability":"mutable","name":"token","nameLocation":"1388:5:73","nodeType":"VariableDeclaration","scope":56649,"src":"1381:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":56625,"nodeType":"UserDefinedTypeName","pathNode":{"id":56624,"name":"IERC20","nameLocations":["1381:6:73"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"1381:6:73"},"referencedDeclaration":56528,"src":"1381:6:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56628,"mutability":"mutable","name":"from","nameLocation":"1403:4:73","nodeType":"VariableDeclaration","scope":56649,"src":"1395:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56627,"name":"address","nodeType":"ElementaryTypeName","src":"1395:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56630,"mutability":"mutable","name":"to","nameLocation":"1417:2:73","nodeType":"VariableDeclaration","scope":56649,"src":"1409:10:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56629,"name":"address","nodeType":"ElementaryTypeName","src":"1409:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56632,"mutability":"mutable","name":"value","nameLocation":"1429:5:73","nodeType":"VariableDeclaration","scope":56649,"src":"1421:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56631,"name":"uint256","nodeType":"ElementaryTypeName","src":"1421:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1380:55:73"},"returnParameters":{"id":56634,"nodeType":"ParameterList","parameters":[],"src":"1445:0:73"},"scope":56965,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56693,"nodeType":"FunctionDefinition","src":"1818:573:73","nodes":[],"body":{"id":56692,"nodeType":"Block","src":"1894:497:73","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":56676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56661,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56657,"src":"2143:5:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":56662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2152:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2143:10:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":56664,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2142:12:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":56669,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2183:4:73","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$56965","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$56965","typeString":"library SafeERC20"}],"id":56668,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2175:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56667,"name":"address","nodeType":"ElementaryTypeName","src":"2175:7:73","typeDescriptions":{}}},"id":56670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2175:13:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56671,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56655,"src":"2190:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56665,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56653,"src":"2159:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":56666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2165:9:73","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":56505,"src":"2159:15:73","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":56672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2159:39:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":56673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2202:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2159:44:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":56675,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2158:46:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2142:62:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365","id":56677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2218:56:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef945ddb1bfdc0da870feb4560d868b047642b4ac7f2fb7f8b7c51cb4a411e25","typeString":"literal_string \"SafeERC20: approve from non-zero to non-zero allowance\""},"value":"SafeERC20: approve from non-zero to non-zero allowance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ef945ddb1bfdc0da870feb4560d868b047642b4ac7f2fb7f8b7c51cb4a411e25","typeString":"literal_string \"SafeERC20: approve from non-zero to non-zero allowance\""}],"id":56660,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2121:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2121:163:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56679,"nodeType":"ExpressionStatement","src":"2121:163:73"},{"expression":{"arguments":[{"id":56681,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56653,"src":"2314:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56684,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56653,"src":"2344:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":56685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2350:7:73","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":56515,"src":"2344:13:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2358:8:73","memberName":"selector","nodeType":"MemberAccess","src":"2344:22:73","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56687,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56655,"src":"2368:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56688,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56657,"src":"2377:5:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56682,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2321:3:73","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56683,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2325:18:73","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2321:22:73","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2321:62:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56680,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56916,"src":"2294:19:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2294:90:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56691,"nodeType":"ExpressionStatement","src":"2294:90:73"}]},"documentation":{"id":56650,"nodeType":"StructuredDocumentation","src":"1564:249:73","text":" @dev Deprecated. This function has issues similar to the ones found in\n {IERC20-approve}, and its usage is discouraged.\n Whenever possible, use {safeIncreaseAllowance} and\n {safeDecreaseAllowance} instead."},"implemented":true,"kind":"function","modifiers":[],"name":"safeApprove","nameLocation":"1827:11:73","parameters":{"id":56658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56653,"mutability":"mutable","name":"token","nameLocation":"1846:5:73","nodeType":"VariableDeclaration","scope":56693,"src":"1839:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":56652,"nodeType":"UserDefinedTypeName","pathNode":{"id":56651,"name":"IERC20","nameLocations":["1839:6:73"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"1839:6:73"},"referencedDeclaration":56528,"src":"1839:6:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56655,"mutability":"mutable","name":"spender","nameLocation":"1861:7:73","nodeType":"VariableDeclaration","scope":56693,"src":"1853:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56654,"name":"address","nodeType":"ElementaryTypeName","src":"1853:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56657,"mutability":"mutable","name":"value","nameLocation":"1878:5:73","nodeType":"VariableDeclaration","scope":56693,"src":"1870:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56656,"name":"uint256","nodeType":"ElementaryTypeName","src":"1870:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1838:46:73"},"returnParameters":{"id":56659,"nodeType":"ParameterList","parameters":[],"src":"1894:0:73"},"scope":56965,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56730,"nodeType":"FunctionDefinition","src":"2582:280:73","nodes":[],"body":{"id":56729,"nodeType":"Block","src":"2668:194:73","nodes":[],"statements":[{"assignments":[56705],"declarations":[{"constant":false,"id":56705,"mutability":"mutable","name":"oldAllowance","nameLocation":"2686:12:73","nodeType":"VariableDeclaration","scope":56729,"src":"2678:20:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56704,"name":"uint256","nodeType":"ElementaryTypeName","src":"2678:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56714,"initialValue":{"arguments":[{"arguments":[{"id":56710,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2725:4:73","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$56965","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$56965","typeString":"library SafeERC20"}],"id":56709,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2717:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56708,"name":"address","nodeType":"ElementaryTypeName","src":"2717:7:73","typeDescriptions":{}}},"id":56711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2717:13:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56712,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56699,"src":"2732:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56706,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56697,"src":"2701:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":56707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2707:9:73","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":56505,"src":"2701:15:73","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":56713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2701:39:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2678:62:73"},{"expression":{"arguments":[{"id":56716,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56697,"src":"2770:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56719,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56697,"src":"2800:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":56720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2806:7:73","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":56515,"src":"2800:13:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2814:8:73","memberName":"selector","nodeType":"MemberAccess","src":"2800:22:73","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56722,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56699,"src":"2824:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56723,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56705,"src":"2833:12:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":56724,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56701,"src":"2848:5:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2833:20:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56717,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2777:3:73","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56718,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2781:18:73","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2777:22:73","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2777:77:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56715,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56916,"src":"2750:19:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2750:105:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56728,"nodeType":"ExpressionStatement","src":"2750:105:73"}]},"documentation":{"id":56694,"nodeType":"StructuredDocumentation","src":"2397:180:73","text":" @dev Increase the calling contract's allowance toward `spender` by `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeIncreaseAllowance","nameLocation":"2591:21:73","parameters":{"id":56702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56697,"mutability":"mutable","name":"token","nameLocation":"2620:5:73","nodeType":"VariableDeclaration","scope":56730,"src":"2613:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":56696,"nodeType":"UserDefinedTypeName","pathNode":{"id":56695,"name":"IERC20","nameLocations":["2613:6:73"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"2613:6:73"},"referencedDeclaration":56528,"src":"2613:6:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56699,"mutability":"mutable","name":"spender","nameLocation":"2635:7:73","nodeType":"VariableDeclaration","scope":56730,"src":"2627:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56698,"name":"address","nodeType":"ElementaryTypeName","src":"2627:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56701,"mutability":"mutable","name":"value","nameLocation":"2652:5:73","nodeType":"VariableDeclaration","scope":56730,"src":"2644:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56700,"name":"uint256","nodeType":"ElementaryTypeName","src":"2644:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2612:46:73"},"returnParameters":{"id":56703,"nodeType":"ParameterList","parameters":[],"src":"2668:0:73"},"scope":56965,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56775,"nodeType":"FunctionDefinition","src":"3053:407:73","nodes":[],"body":{"id":56774,"nodeType":"Block","src":"3139:321:73","nodes":[],"statements":[{"id":56773,"nodeType":"UncheckedBlock","src":"3149:305:73","statements":[{"assignments":[56742],"declarations":[{"constant":false,"id":56742,"mutability":"mutable","name":"oldAllowance","nameLocation":"3181:12:73","nodeType":"VariableDeclaration","scope":56773,"src":"3173:20:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56741,"name":"uint256","nodeType":"ElementaryTypeName","src":"3173:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56751,"initialValue":{"arguments":[{"arguments":[{"id":56747,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3220:4:73","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$56965","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$56965","typeString":"library SafeERC20"}],"id":56746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3212:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56745,"name":"address","nodeType":"ElementaryTypeName","src":"3212:7:73","typeDescriptions":{}}},"id":56748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3212:13:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56749,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56736,"src":"3227:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56743,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56734,"src":"3196:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":56744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3202:9:73","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":56505,"src":"3196:15:73","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":56750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3196:39:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3173:62:73"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56753,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56742,"src":"3257:12:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56754,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56738,"src":"3273:5:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3257:21:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f","id":56756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3280:43:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c3af60974a758b7e72e108c9bf0943ecc9e4f2e8af4695da5f52fbf57a63d3a","typeString":"literal_string \"SafeERC20: decreased allowance below zero\""},"value":"SafeERC20: decreased allowance below zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2c3af60974a758b7e72e108c9bf0943ecc9e4f2e8af4695da5f52fbf57a63d3a","typeString":"literal_string \"SafeERC20: decreased allowance below zero\""}],"id":56752,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3249:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3249:75:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56758,"nodeType":"ExpressionStatement","src":"3249:75:73"},{"expression":{"arguments":[{"id":56760,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56734,"src":"3358:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56763,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56734,"src":"3388:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":56764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3394:7:73","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":56515,"src":"3388:13:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3402:8:73","memberName":"selector","nodeType":"MemberAccess","src":"3388:22:73","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56766,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56736,"src":"3412:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56767,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56742,"src":"3421:12:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56768,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56738,"src":"3436:5:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3421:20:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56761,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3365:3:73","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56762,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3369:18:73","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"3365:22:73","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3365:77:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56759,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56916,"src":"3338:19:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3338:105:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56772,"nodeType":"ExpressionStatement","src":"3338:105:73"}]}]},"documentation":{"id":56731,"nodeType":"StructuredDocumentation","src":"2868:180:73","text":" @dev Decrease the calling contract's allowance toward `spender` by `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeDecreaseAllowance","nameLocation":"3062:21:73","parameters":{"id":56739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56734,"mutability":"mutable","name":"token","nameLocation":"3091:5:73","nodeType":"VariableDeclaration","scope":56775,"src":"3084:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":56733,"nodeType":"UserDefinedTypeName","pathNode":{"id":56732,"name":"IERC20","nameLocations":["3084:6:73"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"3084:6:73"},"referencedDeclaration":56528,"src":"3084:6:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56736,"mutability":"mutable","name":"spender","nameLocation":"3106:7:73","nodeType":"VariableDeclaration","scope":56775,"src":"3098:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56735,"name":"address","nodeType":"ElementaryTypeName","src":"3098:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56738,"mutability":"mutable","name":"value","nameLocation":"3123:5:73","nodeType":"VariableDeclaration","scope":56775,"src":"3115:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56737,"name":"uint256","nodeType":"ElementaryTypeName","src":"3115:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3083:46:73"},"returnParameters":{"id":56740,"nodeType":"ParameterList","parameters":[],"src":"3139:0:73"},"scope":56965,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56822,"nodeType":"FunctionDefinition","src":"3756:410:73","nodes":[],"body":{"id":56821,"nodeType":"Block","src":"3833:333:73","nodes":[],"statements":[{"assignments":[56787],"declarations":[{"constant":false,"id":56787,"mutability":"mutable","name":"approvalCall","nameLocation":"3856:12:73","nodeType":"VariableDeclaration","scope":56821,"src":"3843:25:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56786,"name":"bytes","nodeType":"ElementaryTypeName","src":"3843:5:73","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":56796,"initialValue":{"arguments":[{"expression":{"expression":{"id":56790,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56779,"src":"3894:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":56791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3900:7:73","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":56515,"src":"3894:13:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3908:8:73","memberName":"selector","nodeType":"MemberAccess","src":"3894:22:73","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56793,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56781,"src":"3918:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56794,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56783,"src":"3927:5:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56788,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3871:3:73","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56789,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3875:18:73","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"3871:22:73","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3871:62:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3843:90:73"},{"condition":{"id":56801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3948:45:73","subExpression":{"arguments":[{"id":56798,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56779,"src":"3973:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},{"id":56799,"name":"approvalCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56787,"src":"3980:12:73","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56797,"name":"_callOptionalReturnBool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56964,"src":"3949:23:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (contract IERC20,bytes memory) returns (bool)"}},"id":56800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3949:44:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56820,"nodeType":"IfStatement","src":"3944:216:73","trueBody":{"id":56819,"nodeType":"Block","src":"3995:165:73","statements":[{"expression":{"arguments":[{"id":56803,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56779,"src":"4029:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":56806,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56779,"src":"4059:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"id":56807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4065:7:73","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":56515,"src":"4059:13:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4073:8:73","memberName":"selector","nodeType":"MemberAccess","src":"4059:22:73","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":56809,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56781,"src":"4083:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":56810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4092:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":56804,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4036:3:73","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56805,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4040:18:73","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"4036:22:73","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":56811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4036:58:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56802,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56916,"src":"4009:19:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4009:86:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56813,"nodeType":"ExpressionStatement","src":"4009:86:73"},{"expression":{"arguments":[{"id":56815,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56779,"src":"4129:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},{"id":56816,"name":"approvalCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56787,"src":"4136:12:73","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56814,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56916,"src":"4109:19:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$56528_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":56817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4109:40:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56818,"nodeType":"ExpressionStatement","src":"4109:40:73"}]}}]},"documentation":{"id":56776,"nodeType":"StructuredDocumentation","src":"3466:285:73","text":" @dev Set the calling contract's allowance toward `spender` to `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful. Compatible with tokens that require the approval to be set to\n 0 before setting it to a non-zero value."},"implemented":true,"kind":"function","modifiers":[],"name":"forceApprove","nameLocation":"3765:12:73","parameters":{"id":56784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56779,"mutability":"mutable","name":"token","nameLocation":"3785:5:73","nodeType":"VariableDeclaration","scope":56822,"src":"3778:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":56778,"nodeType":"UserDefinedTypeName","pathNode":{"id":56777,"name":"IERC20","nameLocations":["3778:6:73"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"3778:6:73"},"referencedDeclaration":56528,"src":"3778:6:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56781,"mutability":"mutable","name":"spender","nameLocation":"3800:7:73","nodeType":"VariableDeclaration","scope":56822,"src":"3792:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56780,"name":"address","nodeType":"ElementaryTypeName","src":"3792:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56783,"mutability":"mutable","name":"value","nameLocation":"3817:5:73","nodeType":"VariableDeclaration","scope":56822,"src":"3809:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56782,"name":"uint256","nodeType":"ElementaryTypeName","src":"3809:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3777:46:73"},"returnParameters":{"id":56785,"nodeType":"ParameterList","parameters":[],"src":"3833:0:73"},"scope":56965,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56879,"nodeType":"FunctionDefinition","src":"4318:472:73","nodes":[],"body":{"id":56878,"nodeType":"Block","src":"4533:257:73","nodes":[],"statements":[{"assignments":[56844],"declarations":[{"constant":false,"id":56844,"mutability":"mutable","name":"nonceBefore","nameLocation":"4551:11:73","nodeType":"VariableDeclaration","scope":56878,"src":"4543:19:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56843,"name":"uint256","nodeType":"ElementaryTypeName","src":"4543:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56849,"initialValue":{"arguments":[{"id":56847,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56828,"src":"4578:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56845,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56826,"src":"4565:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$56589","typeString":"contract IERC20Permit"}},"id":56846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4571:6:73","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":56582,"src":"4565:12:73","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":56848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4565:19:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4543:41:73"},{"expression":{"arguments":[{"id":56853,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56828,"src":"4607:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56854,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56830,"src":"4614:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56855,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56832,"src":"4623:5:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56856,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56834,"src":"4630:8:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56857,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56836,"src":"4640:1:73","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":56858,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56838,"src":"4643:1:73","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56859,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56840,"src":"4646:1:73","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56850,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56826,"src":"4594:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$56589","typeString":"contract IERC20Permit"}},"id":56852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4600:6:73","memberName":"permit","nodeType":"MemberAccess","referencedDeclaration":56574,"src":"4594:12:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,uint8,bytes32,bytes32) external"}},"id":56860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4594:54:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56861,"nodeType":"ExpressionStatement","src":"4594:54:73"},{"assignments":[56863],"declarations":[{"constant":false,"id":56863,"mutability":"mutable","name":"nonceAfter","nameLocation":"4666:10:73","nodeType":"VariableDeclaration","scope":56878,"src":"4658:18:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56862,"name":"uint256","nodeType":"ElementaryTypeName","src":"4658:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56868,"initialValue":{"arguments":[{"id":56866,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56828,"src":"4692:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56864,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56826,"src":"4679:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$56589","typeString":"contract IERC20Permit"}},"id":56865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4685:6:73","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":56582,"src":"4679:12:73","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":56867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4679:19:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4658:40:73"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56870,"name":"nonceAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56863,"src":"4716:10:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56871,"name":"nonceBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56844,"src":"4730:11:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":56872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4744:1:73","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4730:15:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4716:29:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a207065726d697420646964206e6f742073756363656564","id":56875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4747:35:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_cde8e927812a7a656f8f04e89ac4f4113d47940dd2125d11fcb8e0bd36bfc59d","typeString":"literal_string \"SafeERC20: permit did not succeed\""},"value":"SafeERC20: permit did not succeed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cde8e927812a7a656f8f04e89ac4f4113d47940dd2125d11fcb8e0bd36bfc59d","typeString":"literal_string \"SafeERC20: permit did not succeed\""}],"id":56869,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4708:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4708:75:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56877,"nodeType":"ExpressionStatement","src":"4708:75:73"}]},"documentation":{"id":56823,"nodeType":"StructuredDocumentation","src":"4172:141:73","text":" @dev Use a ERC-2612 signature to set the `owner` approval toward `spender` on `token`.\n Revert on invalid signature."},"implemented":true,"kind":"function","modifiers":[],"name":"safePermit","nameLocation":"4327:10:73","parameters":{"id":56841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56826,"mutability":"mutable","name":"token","nameLocation":"4360:5:73","nodeType":"VariableDeclaration","scope":56879,"src":"4347:18:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$56589","typeString":"contract IERC20Permit"},"typeName":{"id":56825,"nodeType":"UserDefinedTypeName","pathNode":{"id":56824,"name":"IERC20Permit","nameLocations":["4347:12:73"],"nodeType":"IdentifierPath","referencedDeclaration":56589,"src":"4347:12:73"},"referencedDeclaration":56589,"src":"4347:12:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$56589","typeString":"contract IERC20Permit"}},"visibility":"internal"},{"constant":false,"id":56828,"mutability":"mutable","name":"owner","nameLocation":"4383:5:73","nodeType":"VariableDeclaration","scope":56879,"src":"4375:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56827,"name":"address","nodeType":"ElementaryTypeName","src":"4375:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56830,"mutability":"mutable","name":"spender","nameLocation":"4406:7:73","nodeType":"VariableDeclaration","scope":56879,"src":"4398:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56829,"name":"address","nodeType":"ElementaryTypeName","src":"4398:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56832,"mutability":"mutable","name":"value","nameLocation":"4431:5:73","nodeType":"VariableDeclaration","scope":56879,"src":"4423:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56831,"name":"uint256","nodeType":"ElementaryTypeName","src":"4423:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56834,"mutability":"mutable","name":"deadline","nameLocation":"4454:8:73","nodeType":"VariableDeclaration","scope":56879,"src":"4446:16:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56833,"name":"uint256","nodeType":"ElementaryTypeName","src":"4446:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56836,"mutability":"mutable","name":"v","nameLocation":"4478:1:73","nodeType":"VariableDeclaration","scope":56879,"src":"4472:7:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56835,"name":"uint8","nodeType":"ElementaryTypeName","src":"4472:5:73","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":56838,"mutability":"mutable","name":"r","nameLocation":"4497:1:73","nodeType":"VariableDeclaration","scope":56879,"src":"4489:9:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56837,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4489:7:73","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":56840,"mutability":"mutable","name":"s","nameLocation":"4516:1:73","nodeType":"VariableDeclaration","scope":56879,"src":"4508:9:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56839,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4508:7:73","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4337:186:73"},"returnParameters":{"id":56842,"nodeType":"ParameterList","parameters":[],"src":"4533:0:73"},"scope":56965,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56916,"nodeType":"FunctionDefinition","src":"5173:642:73","nodes":[],"body":{"id":56915,"nodeType":"Block","src":"5243:572:73","nodes":[],"statements":[{"assignments":[56889],"declarations":[{"constant":false,"id":56889,"mutability":"mutable","name":"returndata","nameLocation":"5605:10:73","nodeType":"VariableDeclaration","scope":56915,"src":"5592:23:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56888,"name":"bytes","nodeType":"ElementaryTypeName","src":"5592:5:73","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":56898,"initialValue":{"arguments":[{"id":56895,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56885,"src":"5646:4:73","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564","id":56896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5652:34:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_47fb62c2c272651d2f0f342bac006756b8ba07f21cc5cb87e0fbb9d50c0c585b","typeString":"literal_string \"SafeERC20: low-level call failed\""},"value":"SafeERC20: low-level call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_47fb62c2c272651d2f0f342bac006756b8ba07f21cc5cb87e0fbb9d50c0c585b","typeString":"literal_string \"SafeERC20: low-level call failed\""}],"expression":{"arguments":[{"id":56892,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56883,"src":"5626:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}],"id":56891,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5618:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56890,"name":"address","nodeType":"ElementaryTypeName","src":"5618:7:73","typeDescriptions":{}}},"id":56893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5618:14:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":56894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5633:12:73","memberName":"functionCall","nodeType":"MemberAccess","referencedDeclaration":57100,"src":"5618:27:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$attached_to$_t_address_$","typeString":"function (address,bytes memory,string memory) returns (bytes memory)"}},"id":56897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5618:69:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5592:95:73"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":56911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":56900,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56889,"src":"5705:10:73","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":56901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5716:6:73","memberName":"length","nodeType":"MemberAccess","src":"5705:17:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":56902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5726:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5705:22:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":56906,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56889,"src":"5742:10:73","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":56908,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5755:4:73","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":56907,"name":"bool","nodeType":"ElementaryTypeName","src":"5755:4:73","typeDescriptions":{}}}],"id":56909,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5754:6:73","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":56904,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5731:3:73","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56905,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5735:6:73","memberName":"decode","nodeType":"MemberAccess","src":"5731:10:73","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":56910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5731:30:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5705:56:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564","id":56912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5763:44:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd","typeString":"literal_string \"SafeERC20: ERC20 operation did not succeed\""},"value":"SafeERC20: ERC20 operation did not succeed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd","typeString":"literal_string \"SafeERC20: ERC20 operation did not succeed\""}],"id":56899,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5697:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5697:111:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56914,"nodeType":"ExpressionStatement","src":"5697:111:73"}]},"documentation":{"id":56880,"nodeType":"StructuredDocumentation","src":"4796:372:73","text":" @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n on the return value: the return value is optional (but if data is returned, it must not be false).\n @param token The token targeted by the call.\n @param data The call data (encoded using abi.encode or one of its variants)."},"implemented":true,"kind":"function","modifiers":[],"name":"_callOptionalReturn","nameLocation":"5182:19:73","parameters":{"id":56886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56883,"mutability":"mutable","name":"token","nameLocation":"5209:5:73","nodeType":"VariableDeclaration","scope":56916,"src":"5202:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":56882,"nodeType":"UserDefinedTypeName","pathNode":{"id":56881,"name":"IERC20","nameLocations":["5202:6:73"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"5202:6:73"},"referencedDeclaration":56528,"src":"5202:6:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56885,"mutability":"mutable","name":"data","nameLocation":"5229:4:73","nodeType":"VariableDeclaration","scope":56916,"src":"5216:17:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56884,"name":"bytes","nodeType":"ElementaryTypeName","src":"5216:5:73","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5201:33:73"},"returnParameters":{"id":56887,"nodeType":"ParameterList","parameters":[],"src":"5243:0:73"},"scope":56965,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":56964,"nodeType":"FunctionDefinition","src":"6316:594:73","nodes":[],"body":{"id":56963,"nodeType":"Block","src":"6405:505:73","nodes":[],"statements":[{"assignments":[56928,56930],"declarations":[{"constant":false,"id":56928,"mutability":"mutable","name":"success","nameLocation":"6706:7:73","nodeType":"VariableDeclaration","scope":56963,"src":"6701:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56927,"name":"bool","nodeType":"ElementaryTypeName","src":"6701:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56930,"mutability":"mutable","name":"returndata","nameLocation":"6728:10:73","nodeType":"VariableDeclaration","scope":56963,"src":"6715:23:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56929,"name":"bytes","nodeType":"ElementaryTypeName","src":"6715:5:73","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":56938,"initialValue":{"arguments":[{"id":56936,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56922,"src":"6762:4:73","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":56933,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56920,"src":"6750:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}],"id":56932,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6742:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56931,"name":"address","nodeType":"ElementaryTypeName","src":"6742:7:73","typeDescriptions":{}}},"id":56934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6742:14:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":56935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6757:4:73","memberName":"call","nodeType":"MemberAccess","src":"6742:19:73","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":56937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6742:25:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"6700:67:73"},{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":56961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":56953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56939,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56928,"src":"6796:7:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":56951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":56940,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56930,"src":"6808:10:73","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":56941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6819:6:73","memberName":"length","nodeType":"MemberAccess","src":"6808:17:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":56942,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6829:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6808:22:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":56946,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56930,"src":"6845:10:73","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":56948,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6858:4:73","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":56947,"name":"bool","nodeType":"ElementaryTypeName","src":"6858:4:73","typeDescriptions":{}}}],"id":56949,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6857:6:73","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":56944,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6834:3:73","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56945,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6838:6:73","memberName":"decode","nodeType":"MemberAccess","src":"6834:10:73","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":56950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6834:30:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6808:56:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":56952,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6807:58:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6796:69:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"arguments":[{"id":56958,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56920,"src":"6896:5:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}],"id":56957,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6888:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56956,"name":"address","nodeType":"ElementaryTypeName","src":"6888:7:73","typeDescriptions":{}}},"id":56959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6888:14:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56954,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57340,"src":"6869:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$57340_$","typeString":"type(library Address)"}},"id":56955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6877:10:73","memberName":"isContract","nodeType":"MemberAccess","referencedDeclaration":57028,"src":"6869:18:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":56960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6869:34:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6796:107:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":56926,"id":56962,"nodeType":"Return","src":"6777:126:73"}]},"documentation":{"id":56917,"nodeType":"StructuredDocumentation","src":"5821:490:73","text":" @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n on the return value: the return value is optional (but if data is returned, it must not be false).\n @param token The token targeted by the call.\n @param data The call data (encoded using abi.encode or one of its variants).\n This is a variant of {_callOptionalReturn} that silents catches all reverts and returns a bool instead."},"implemented":true,"kind":"function","modifiers":[],"name":"_callOptionalReturnBool","nameLocation":"6325:23:73","parameters":{"id":56923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56920,"mutability":"mutable","name":"token","nameLocation":"6356:5:73","nodeType":"VariableDeclaration","scope":56964,"src":"6349:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"},"typeName":{"id":56919,"nodeType":"UserDefinedTypeName","pathNode":{"id":56918,"name":"IERC20","nameLocations":["6349:6:73"],"nodeType":"IdentifierPath","referencedDeclaration":56528,"src":"6349:6:73"},"referencedDeclaration":56528,"src":"6349:6:73","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$56528","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":56922,"mutability":"mutable","name":"data","nameLocation":"6376:4:73","nodeType":"VariableDeclaration","scope":56964,"src":"6363:17:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56921,"name":"bytes","nodeType":"ElementaryTypeName","src":"6363:5:73","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6348:33:73"},"returnParameters":{"id":56926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56925,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56964,"src":"6399:4:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56924,"name":"bool","nodeType":"ElementaryTypeName","src":"6399:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6398:6:73"},"scope":56965,"stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeERC20","contractDependencies":[],"contractKind":"library","documentation":{"id":56595,"nodeType":"StructuredDocumentation","src":"243:457:73","text":" @title SafeERC20\n @dev Wrappers around ERC20 operations that throw on failure (when the token\n contract returns false). Tokens that return no value (and instead revert or\n throw on failure) are also supported, non-reverting calls are assumed to be\n successful.\n To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,\n which allows you to call the safe operations as `token.safeTransfer(...)`, etc."},"fullyImplemented":true,"linearizedBaseContracts":[56965],"name":"SafeERC20","nameLocation":"709:9:73","scope":56966,"usedErrors":[]}],"license":"MIT"},"id":73} \ No newline at end of file diff --git a/pkg/contracts/script/BaseMultiChain.s.sol b/pkg/contracts/script/BaseMultiChain.s.sol index c87abda6c..617606b64 100644 --- a/pkg/contracts/script/BaseMultiChain.s.sol +++ b/pkg/contracts/script/BaseMultiChain.s.sol @@ -190,7 +190,7 @@ abstract contract BaseMultiChain is Native, CVStrategyHelpers, Script, SafeSetup // assertTrue(registryFactory.registryCommunityTemplate() != address(0x0), "Registry Community Template not set"); // assertTrue(registryFactory.collateralVaultTemplate() != address(0x0), "Collateral Vault Template not set"); - // RegistryCommunityV0_1.InitializeParams memory params; + // RegistryCommunityInitializeParamsV0_0 memory params; // metadata = Metadata({protocol: 1, pointer: "QmX5jPva6koRnn88s7ZcPnNXKg1UzmYaZu9h15d8kzH1CN"}); // params._metadata = metadata; // convenant ipfs @@ -208,7 +208,7 @@ abstract contract BaseMultiChain is Native, CVStrategyHelpers, Script, SafeSetup // RegistryCommunityV0_1 registryCommunity = RegistryCommunityV0_1(registryFactory.createRegistry(params)); - // StrategyStruct.PointSystemConfig memory pointConfig; + // PointSystemConfig memory pointConfig; // pointConfig.maxAmount = MINIMUM_STAKE * 2; // proxy = new ERC1967Proxy( @@ -216,12 +216,12 @@ abstract contract BaseMultiChain is Native, CVStrategyHelpers, Script, SafeSetup // ); // arbitrator = SafeArbitrator(payable(address(proxy))); - // StrategyStruct2.InitializeParams memory paramsCV = getParams( + // CVStrategyInitializeParamsV0_0 memory paramsCV = getParams( // address(registryCommunity), - // StrategyStruct.ProposalType.Funding, - // StrategyStruct.PointSystem.Fixed, + // ProposalType.Funding, + // PointSystem.Fixed, // pointConfig, - // StrategyStruct.ArbitrableConfig( + // ArbitrableConfig( // IArbitrator(address(arbitrator)), payable(COUNCIL_SAFE), 0.002 ether, 0.001 ether, 1, 300 // ) // ); @@ -249,8 +249,8 @@ abstract contract BaseMultiChain is Native, CVStrategyHelpers, Script, SafeSetup // // strategy1.setMaxRatio(_etherToFloat(0.3219782 ether)); // beta = maxRatio // // strategy1.setWeight(_etherToFloat(0.010367 ether)); // RHO = p = weight - // paramsCV.proposalType = StrategyStruct.ProposalType.Signaling; - // paramsCV.pointSystem = StrategyStruct.PointSystem.Unlimited; + // paramsCV.proposalType = ProposalType.Signaling; + // paramsCV.pointSystem = PointSystem.Unlimited; // paramsCV.sybilScorer = address(sybilScorer); // (uint256 poolIdSignaling, address _strategy2) = registryCommunity.createPool( @@ -302,7 +302,7 @@ abstract contract BaseMultiChain is Native, CVStrategyHelpers, Script, SafeSetup // token.approve(address(allo), type(uint256).max); // allo.fundPool(poolId, 10_000 ether); - // StrategyStruct.CreateProposal memory proposal = StrategyStruct.CreateProposal( + // CreateProposal memory proposal = CreateProposal( // poolId, // BENEFICIARY, // 500 ether, @@ -312,7 +312,7 @@ abstract contract BaseMultiChain is Native, CVStrategyHelpers, Script, SafeSetup // bytes memory data = abi.encode(proposal); // allo.registerRecipient{value: 0.002 ether}(poolId, data); - // proposal = StrategyStruct.CreateProposal( + // proposal = CreateProposal( // poolId, // BENEFICIARY, // 1500 ether, @@ -322,7 +322,7 @@ abstract contract BaseMultiChain is Native, CVStrategyHelpers, Script, SafeSetup // data = abi.encode(proposal); // allo.registerRecipient{value: 0.002 ether}(poolId, data); - // proposal = StrategyStruct.CreateProposal( + // proposal = CreateProposal( // poolId, // BENEFICIARY, // 1500 ether, @@ -333,7 +333,7 @@ abstract contract BaseMultiChain is Native, CVStrategyHelpers, Script, SafeSetup // allo.registerRecipient{value: 0.002 ether}(poolId, data); // // Strategy with Signaling - // StrategyStruct.CreateProposal memory proposal2 = StrategyStruct.CreateProposal( + // CreateProposal memory proposal2 = CreateProposal( // poolIdSignaling, // address(0), // 0, @@ -343,7 +343,7 @@ abstract contract BaseMultiChain is Native, CVStrategyHelpers, Script, SafeSetup // bytes memory data2 = abi.encode(proposal2); // allo.registerRecipient{value: 0.002 ether}(poolIdSignaling, data2); - // proposal2 = StrategyStruct.CreateProposal( + // proposal2 = CreateProposal( // poolIdSignaling, // address(0), // 0, @@ -354,7 +354,7 @@ abstract contract BaseMultiChain is Native, CVStrategyHelpers, Script, SafeSetup // data2 = abi.encode(proposal2); // allo.registerRecipient{value: 0.002 ether}(poolIdSignaling, data2); - // proposal2 = StrategyStruct.CreateProposal( + // proposal2 = CreateProposal( // poolIdSignaling, // address(0), // 0, diff --git a/pkg/contracts/script/DeployCV.s.sol b/pkg/contracts/script/DeployCV.s.sol index 64e3b19fd..ab0cf8a9e 100644 --- a/pkg/contracts/script/DeployCV.s.sol +++ b/pkg/contracts/script/DeployCV.s.sol @@ -15,14 +15,23 @@ import {CVStrategyHelpers, CVStrategyV0_1} from "../test/CVStrategyHelpers.sol"; import {TERC20} from "../test/shared/TERC20.sol"; import {CVStrategyV0_1} from "../src/CVStrategy/CVStrategyV0_1.sol"; import {RegistryFactoryV0_0} from "../src/RegistryFactory/RegistryFactoryV0_0.sol"; -import {RegistryCommunityV0_1} from "../src/RegistryCommunity/RegistryCommunityV0_1.sol"; +import {RegistryCommunityV0_1, RegistryCommunityInitializeParamsV0_0} from "../src/RegistryCommunity/RegistryCommunityV0_1.sol"; import {ISybilScorer} from "../src/ISybilScorer.sol"; import {PassportScorer} from "../src/PassportScorer.sol"; import {SafeSetup} from "../test/shared/SafeSetup.sol"; // import {Metadata} from "allo-v2-contracts/core/libraries/Metadata.sol"; import {IRegistry, Metadata} from "allo-v2-contracts/core/interfaces/IRegistry.sol"; import {Accounts} from "allo-v2-test/foundry/shared/Accounts.sol"; -import {CVStrategyV0_0, StrategyStruct, StrategyStruct2, CVStrategyV0_1} from "../src/CVStrategy/CVStrategyV0_1.sol"; +import { + CVStrategyV0_0, + CVStrategyV0_1, + PointSystemConfig, + PointSystem, + ArbitrableConfig, + ProposalType, + CreateProposal +} from "../src/CVStrategy/CVStrategyV0_1.sol"; +import {CVStrategyInitializeParamsV0_0} from "../src/CVStrategy/CVStrategyV0_0.sol"; import {Upgrades} from "@openzeppelin/foundry/LegacyUpgrades.sol"; import {ERC1967Proxy} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol"; @@ -96,7 +105,7 @@ contract DeployCV is Native, CVStrategyHelpers, Script, SafeSetup { console2.log("Safe Arbitrator Addr: %s", address(safeArbitrator)); - RegistryCommunityV0_1.InitializeParams memory params; + RegistryCommunityInitializeParamsV0_0 memory params; params._allo = address(allo); params._gardenToken = IERC20(address(token)); @@ -109,7 +118,7 @@ contract DeployCV is Native, CVStrategyHelpers, Script, SafeSetup { RegistryCommunityV0_1 registryCommunity = RegistryCommunityV0_1(registryFactory.createRegistry(params)); token.mint(address(pool_admin()), 10_000 ether); - StrategyStruct2.InitializeParams memory paramsCV; + CVStrategyInitializeParamsV0_0 memory paramsCV; // CVParams paramsCV.cvParams.decay = _etherToFloat(0.9999799 ether); // alpha = decay @@ -118,22 +127,22 @@ contract DeployCV is Native, CVStrategyHelpers, Script, SafeSetup { paramsCV.cvParams.minThresholdPoints = 0.2 ether; // 20% paramsCV.registryCommunity = address(registryCommunity); - paramsCV.proposalType = StrategyStruct.ProposalType.Funding; - paramsCV.pointSystem = StrategyStruct.PointSystem.Unlimited; + paramsCV.proposalType = ProposalType.Funding; + paramsCV.pointSystem = PointSystem.Unlimited; paramsCV.sybilScorer = address(sybilScorer); // Point config - StrategyStruct.PointSystemConfig memory pointConfig; + PointSystemConfig memory pointConfig; pointConfig.maxAmount = MINIMUM_STAKE * 2; if (pointConfig.maxAmount == 0) { - // StrategyStruct.PointSystemConfig memory pointConfig; + // PointSystemConfig memory pointConfig; //Capped point system pointConfig.maxAmount = 200 * DECIMALS; } paramsCV.pointConfig = pointConfig; // ArbitrableConfig - StrategyStruct.ArbitrableConfig memory arbitrableConfig; + ArbitrableConfig memory arbitrableConfig; arbitrableConfig.arbitrator = safeArbitrator; arbitrableConfig.tribunalSafe = payable(address(_councilSafe())); arbitrableConfig.submitterCollateralAmount = 0.1 ether; @@ -154,8 +163,8 @@ contract DeployCV is Native, CVStrategyHelpers, Script, SafeSetup { abi.encodeWithSelector(registryCommunity.addStrategy.selector, address(strategy1)) ); - paramsCV.proposalType = StrategyStruct.ProposalType.Signaling; - paramsCV.pointSystem = StrategyStruct.PointSystem.Fixed; + paramsCV.proposalType = ProposalType.Signaling; + paramsCV.pointSystem = PointSystem.Fixed; (uint256 poolIdFixed, address _strategy2) = registryCommunity.createPool(address(token), paramsCV, metadata); @@ -173,14 +182,14 @@ contract DeployCV is Native, CVStrategyHelpers, Script, SafeSetup { // address(registryCommunity), // registry, // address(0), - // StrategyStruct.ProposalType.Signaling, - // StrategyStruct.PointSystem.Unlimited + // ProposalType.Signaling, + // PointSystem.Unlimited // ); // strategy1.setDecay(_etherToFloat(0.9965402 ether)); // alpha = decay // strategy1.setMaxRatio(_etherToFloat(0.1 ether)); // beta = maxRatio // strategy1.setWeight(_etherToFloat(0.0005 ether)); // RHO = p = weight - // StrategyStruct.CVParams memory poolParams1; + // CVParams memory poolParams1; // poolParams1.decay = _etherToFloat(0.9999799 ether); // alpha = decay // poolParams1.maxRatio = _etherToFloat(0.1 ether); // beta = maxRatio // poolParams1.weight = _etherToFloat(0.0005 ether); // RHO = p = weight @@ -226,23 +235,22 @@ contract DeployCV is Native, CVStrategyHelpers, Script, SafeSetup { allo.fundPool(poolId, 3_000 ether); // ether allo.fundPool(poolIdFixed, 1_000 ether); // ether - // StrategyStruct.CreateProposal memory proposal = - // StrategyStruct.CreateProposal(poolId, membersStaked[0], 50 ether, address(token), metadata); + // CreateProposal memory proposal = + // CreateProposal(poolId, membersStaked[0], 50 ether, address(token), metadata); // bytes memory data = abi.encode(proposal); // allo.registerRecipient{value:2 ether}(poolId, data); - // proposal = StrategyStruct.CreateProposal(poolId, membersStaked[1], 25 ether, address(token), metadata); + // proposal = CreateProposal(poolId, membersStaked[1], 25 ether, address(token), metadata); // data = abi.encode(proposal); // allo.registerRecipient{value:2 ether}(poolId, data); - // proposal = StrategyStruct.CreateProposal(poolId, membersStaked[2], 10 ether, address(token), metadata); + // proposal = CreateProposal(poolId, membersStaked[2], 10 ether, address(token), metadata); // data = abi.encode(proposal); // allo.registerRecipient{value:2 ether}(poolId, data); // allo.fundPool{value: 0.1 ether}(poolIdNative, 0.1 ether); - StrategyStruct.CreateProposal memory proposal2 = - StrategyStruct.CreateProposal(poolIdFixed, membersStaked[0], 0, address(token), metadata); + CreateProposal memory proposal2 = CreateProposal(poolIdFixed, membersStaked[0], 0, address(token), metadata); bytes memory data2 = abi.encode(proposal2); allo.registerRecipient{value: 3 ether}(poolIdFixed, data2); vm.stopBroadcast(); @@ -268,8 +276,8 @@ contract DeployCV is Native, CVStrategyHelpers, Script, SafeSetup { console2.log("Council Safe Addr: %s", address(_councilSafe())); } - function _getPointConfig() internal pure returns (StrategyStruct.PointSystemConfig memory) { - StrategyStruct.PointSystemConfig memory pointConfig; + function _getPointConfig() internal pure returns (PointSystemConfig memory) { + PointSystemConfig memory pointConfig; pointConfig.maxAmount = MINIMUM_STAKE * 2; return pointConfig; } @@ -283,7 +291,7 @@ contract DeployCV is Native, CVStrategyHelpers, Script, SafeSetup { // console2.log("Registry Factory Addr: %s", address(registryFactory)); - RegistryCommunityV0_1.InitializeParams memory params; + RegistryCommunityInitializeParamsV0_0 memory params; params._allo = address(allo); @@ -330,7 +338,7 @@ contract DeployCV is Native, CVStrategyHelpers, Script, SafeSetup { ); // ArbitrableConfig - StrategyStruct.ArbitrableConfig memory arbitrableConfig; + ArbitrableConfig memory arbitrableConfig; arbitrableConfig.arbitrator = safeArbitrator; arbitrableConfig.tribunalSafe = payable(address(_councilSafe())); arbitrableConfig.submitterCollateralAmount = 0.1 ether; @@ -345,8 +353,8 @@ contract DeployCV is Native, CVStrategyHelpers, Script, SafeSetup { address(registryCommunity), registry, address(token), - StrategyStruct.ProposalType.Funding, - StrategyStruct.PointSystem.Unlimited, + ProposalType.Funding, + PointSystem.Unlimited, _getPointConfig(), arbitrableConfig ); @@ -357,8 +365,8 @@ contract DeployCV is Native, CVStrategyHelpers, Script, SafeSetup { address(registryCommunity), registry, address(token), - StrategyStruct.ProposalType.Funding, - StrategyStruct.PointSystem.Fixed, + ProposalType.Funding, + PointSystem.Fixed, _getPointConfig(), arbitrableConfig ); @@ -369,12 +377,12 @@ contract DeployCV is Native, CVStrategyHelpers, Script, SafeSetup { // address(registryCommunity), // registry, // address(0), - // StrategyStruct.ProposalType.Signaling, - // StrategyStruct.PointSystem.Unlimited + // ProposalType.Signaling, + // PointSystem.Unlimited // ); // Goss: Commented because already set in getParams - // StrategyStruct.CVParams memory poolParams1; + // CVParams memory poolParams1; // poolParams1.decay = _etherToFloat(0.9999799 ether); // alpha = decay // poolParams1.maxRatio = _etherToFloat(0.1 ether); // beta = maxRatio // poolParams1.weight = _etherToFloat(0.0005 ether); // RHO = p = weight @@ -387,7 +395,7 @@ contract DeployCV is Native, CVStrategyHelpers, Script, SafeSetup { // Goss: Commented because already set in getParams // FAST 1 MIN GROWTH - // StrategyStruct.CVParams memory poolParams2; + // CVParams memory poolParams2; // poolParams2.decay = _etherToFloat(0.9965402 ether); // alpha = decay // poolParams2.maxRatio = _etherToFloat(0.1 ether); // beta = maxRatio // poolParams2.weight = _etherToFloat(0.0005 ether); // RHO = p = weight @@ -420,25 +428,23 @@ contract DeployCV is Native, CVStrategyHelpers, Script, SafeSetup { allo.fundPool(poolId, 3_000 ether); // ether allo.fundPool(poolIdFixed, 1_000 ether); // ether - StrategyStruct.CreateProposal memory proposal = - StrategyStruct.CreateProposal(poolId, membersStaked[0], 50 ether, address(token), metadata); + CreateProposal memory proposal = CreateProposal(poolId, membersStaked[0], 50 ether, address(token), metadata); bytes memory data = abi.encode(proposal); allo.registerRecipient{value: 3 ether}(poolId, data); - proposal = StrategyStruct.CreateProposal(poolId, membersStaked[1], 25 ether, address(token), metadata); + proposal = CreateProposal(poolId, membersStaked[1], 25 ether, address(token), metadata); data = abi.encode(proposal); allo.registerRecipient{value: 3 ether}(poolId, data); - proposal = StrategyStruct.CreateProposal(poolId, membersStaked[2], 10 ether, address(token), metadata); + proposal = CreateProposal(poolId, membersStaked[2], 10 ether, address(token), metadata); data = abi.encode(proposal); allo.registerRecipient{value: 3 ether}(poolId, data); // allo.fundPool{value: 0.1 ether}(poolIdNative, 0.1 ether); - StrategyStruct.CreateProposal memory proposal2 = - StrategyStruct.CreateProposal(poolIdFixed, membersStaked[0], 0, address(token), metadata); + CreateProposal memory proposal2 = CreateProposal(poolIdFixed, membersStaked[0], 0, address(token), metadata); bytes memory data2 = abi.encode(proposal2); allo.registerRecipient{value: 3 ether}(poolIdFixed, data2); diff --git a/pkg/contracts/script/DeployCVArbSepolia.s.sol b/pkg/contracts/script/DeployCVArbSepolia.s.sol deleted file mode 100644 index 787a1eb50..000000000 --- a/pkg/contracts/script/DeployCVArbSepolia.s.sol +++ /dev/null @@ -1,212 +0,0 @@ -// SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.13; - -import "forge-std/console2.sol"; -import "forge-std/Script.sol"; -import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -import {IAllo} from "allo-v2-contracts/core/interfaces/IAllo.sol"; -import {Allo} from "allo-v2-contracts/core/Allo.sol"; -import {IRegistry} from "allo-v2-contracts/core/interfaces/IRegistry.sol"; -import {Registry} from "allo-v2-contracts/core/Registry.sol"; -import {Native} from "allo-v2-contracts/core/libraries/Native.sol"; -import {CVStrategyHelpers, CVStrategyV0_1, StrategyStruct, StrategyStruct2} from "../test/CVStrategyHelpers.sol"; -import {SafeArbitrator} from "../src/SafeArbitrator.sol"; -import {CollateralVault} from "../src/CollateralVault.sol"; -import {RegistryCommunityV0_1} from "../src/RegistryCommunity/RegistryCommunityV0_1.sol"; -import {RegistryFactoryV0_0} from "../src/RegistryFactory/RegistryFactoryV0_0.sol"; -import {SafeSetup} from "../test/shared/SafeSetup.sol"; -import {Metadata} from "allo-v2-contracts/core/libraries/Metadata.sol"; -import {Accounts} from "allo-v2-test/foundry/shared/Accounts.sol"; - -import {ISafe as Safe, SafeProxyFactory, Enum} from "../src/interfaces/ISafe.sol"; -// import {SafeProxyFactory} from "safe-smart-account/contracts/proxies/SafeProxyFactory.sol"; - -import {TERC20} from "../test/shared/TERC20.sol"; -import {IArbitrator} from "../src/interfaces/IArbitrator.sol"; -import {ERC1967Proxy} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol"; - -contract DeployCVArbSepolia is Native, CVStrategyHelpers, Script, SafeSetup { - uint256 public constant MINIMUM_STAKE = 50; - - address public constant SENDER = 0xb05A948B5c1b057B88D381bDe3A375EfEA87EbAD; - - uint256 councilMemberPKEnv; - address allo_proxy; - Allo allo; - TERC20 token; - - function pool_admin() public virtual override returns (address) { - return address(SENDER); - } - - function run() public { - allo_proxy = vm.envAddress("ALLO_PROXY"); - if (allo_proxy == address(0)) { - revert("ALLO_PROXY not set"); - } - // get PK from env - councilMemberPKEnv = vm.envUint("PK"); - if (councilMemberPKEnv == 0) { - revert("PK not set"); - } - - allo = Allo(allo_proxy); - - // console2.log("Allo Addr: %s", address(allo)); - token = TERC20(0xcc6c8B9f745dB2277f7aaC1Bc026d5C2Ea7bD88D); - - // IRegistry registry = allo.getRegistry(); - // console2.log("Registry Addr: %s", address(registry)); - - // console2.log("Pool Admin Addr: %s", pool_admin()); - - vm.startBroadcast(pool_admin()); - - // console2.log("Token Addr: %s", address(token)); - Safe councilSafeDeploy = _councilSafeWithOwner(pool_admin()); - - // RegistryFactoryV0_0 registryFactory = new RegistryFactoryV0_0(); - RegistryFactoryV0_0 registryFactory = new RegistryFactoryV0_0(); - RegistryCommunityV0_1.InitializeParams memory params; - - params._allo = address(allo); - params._gardenToken = IERC20(address(token)); - params._registerStakeAmount = MINIMUM_STAKE; - params._communityFee = 0; - params._metadata = metadata; // convenant ipfs - params._councilSafe = payable(address(councilSafeDeploy)); - // params._councilSafe = payable(address(_councilSafeWithOwner(pool_admin()); - params._communityName = "GardensDAO"; - - assertTrue(params._councilSafe != address(0)); - - RegistryCommunityV0_1 registryCommunity = RegistryCommunityV0_1(registryFactory.createRegistry(params)); - - // console2.log("Registry Factory Addr: %s", address(registryFactory)); - // console2.log("Registry Community Addr: %s", address(registryCommunity)); - - StrategyStruct.PointSystemConfig memory pointConfig; - pointConfig.maxAmount = MINIMUM_STAKE * 2; - - ERC1967Proxy arbitratorProxy = new ERC1967Proxy( - address(new SafeArbitrator()), abi.encodeWithSelector(SafeArbitrator.initialize.selector, 2 ether) - ); - - StrategyStruct2.InitializeParams memory paramsCV = getParams( - address(registryCommunity), - StrategyStruct.ProposalType.Funding, - StrategyStruct.PointSystem.Fixed, - pointConfig, - StrategyStruct.ArbitrableConfig( - SafeArbitrator(payable(address(arbitratorProxy))), - payable(address(_councilSafe())), - 0.01 ether, - 0.02 ether, - 1, - 900 - ) - ); - - // Goss: Commented because already set in getParams - // paramsCV.decay = _etherToFloat(0.9965402 ether); // alpha = decay - // paramsCV.maxRatio = _etherToFloat(0.2 ether); // beta = maxRatio - // paramsCV.weight = _etherToFloat(0.001 ether); // RHO = p = weight - // params.minThresholdStakePercentage = 0.2 ether; // 20% - // paramsCV.registryCommunity = address(registryCommunity); - // paramsCV.proposalType = StrategyStruct.ProposalType.Funding; - - // address[] memory _pool_managers = new address[](2); - // _pool_managers[0] = address(params._councilSafe); - // _pool_managers[1] = address(msg.sender); - - // bytes32 memory_poolProfileId_ = registry.createProfile( - // 0, "Pool Profile 1", Metadata({protocol: 1, pointer: "PoolProfile1"}), pool_admin(), pool_managers() - // ); - - (uint256 poolId, address _strategy1) = registryCommunity.createPool(address(token), paramsCV, metadata); - - paramsCV.proposalType = StrategyStruct.ProposalType.Signaling; - paramsCV.pointSystem = StrategyStruct.PointSystem.Unlimited; - - (uint256 poolIdSignaling, address _strategy2) = registryCommunity.createPool(address(0), paramsCV, metadata); - - CVStrategyV0_1 strategy1 = CVStrategyV0_1(payable(_strategy1)); - CVStrategyV0_1 strategy2 = CVStrategyV0_1(payable(_strategy2)); - - safeHelper( - councilSafeDeploy, - councilMemberPKEnv, - address(registryCommunity), - abi.encodeWithSelector(registryCommunity.addStrategy.selector, address(strategy1)) - ); - - safeHelper( - councilSafeDeploy, - councilMemberPKEnv, - address(registryCommunity), - abi.encodeWithSelector(registryCommunity.addStrategy.selector, address(strategy2)) - ); - - // Goss: Commented because already set in getParams - // strategy1.setDecay(_etherToFloat(0.9965402 ether)); - // // alpha = decay - // strategy1.setMaxRatio(_etherToFloat(0.1 ether)); // beta = maxRatio - // strategy1.setWeight(_etherToFloat(0.0005 ether)); // RHO = p = weight - - // // FAST 1 MIN GROWTH - // strategy2.setDecay(_etherToFloat(0.9965402 ether)); // alpha = decay - // strategy2.setMaxRatio(_etherToFloat(0.1 ether)); // beta = maxRatio - // strategy2.setWeight(_etherToFloat(0.0005 ether)); // RHO = p = weight - - // poolId = - // createPool(Allo(address(allo)), address(strategy1), address(registryCommunity), registry, address(token)); - - // uint256 poolIdSignaling = - // createPool(Allo(address(allo)), address(strategy2), address(registryCommunity), registry, address(0)); - // - token.approve(address(registryCommunity), type(uint256).max); - //@todo get correct value instead infinite approval - registryCommunity.stakeAndRegisterMember(); - - strategy1.activatePoints(); - strategy2.activatePoints(); - - // allo.fundPool{value: 0.1 ether}(poolIdNative, 0.1 ether); - - token.mint(address(pool_admin()), 10_000); - token.approve(address(allo), type(uint256).max); - allo.fundPool(poolId, 1_000); - - StrategyStruct.CreateProposal memory proposal = - StrategyStruct.CreateProposal(poolId, pool_admin(), 50 wei, address(token), metadata); - bytes memory data = abi.encode(proposal); - allo.registerRecipient(poolId, data); - // StrategyStruct.ProposalType.Funding - proposal = StrategyStruct.CreateProposal(poolId, pool_admin(), 25 wei, address(token), metadata); - data = abi.encode(proposal); - allo.registerRecipient(poolId, data); - - proposal = StrategyStruct.CreateProposal(poolId, pool_admin(), 10 wei, address(token), metadata); - data = abi.encode(proposal); - allo.registerRecipient(poolId, data); - - // Strategy 2 Signaling - StrategyStruct.CreateProposal memory proposal2 = - StrategyStruct.CreateProposal(poolIdSignaling, pool_admin(), 0, address(0), metadata); - bytes memory data2 = abi.encode(proposal2); - allo.registerRecipient(poolIdSignaling, data2); - - vm.stopBroadcast(); - - // console2.log("PoolId: %s", poolId); - // console2.log("Strategy1 Addr: %s", address(strategy1)); - - // console2.log("PoolIdSignaling: %s", poolIdSignaling); - // console2.log("Strategy2 Addr: %s", address(strategy2)); - // console2.log("Token Addr: %s", address(token)); - // console2.log("Token Native Addr: %s", address(NATIVE)); - - // console2.log("Allo Registry Addr: %s", address(registry)); - // console2.log("Council Safe Addr: %s", address(councilSafeOwner)); - } -} diff --git a/pkg/contracts/script/DeployCVArbSepoliaCommFee.s.sol b/pkg/contracts/script/DeployCVArbSepoliaCommFee.s.sol deleted file mode 100644 index 0f7689b66..000000000 --- a/pkg/contracts/script/DeployCVArbSepoliaCommFee.s.sol +++ /dev/null @@ -1,185 +0,0 @@ -// SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.13; - -import "forge-std/console2.sol"; -import "forge-std/Script.sol"; -import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -import {IAllo} from "allo-v2-contracts/core/interfaces/IAllo.sol"; -import {Allo} from "allo-v2-contracts/core/Allo.sol"; -import {IRegistry} from "allo-v2-contracts/core/interfaces/IRegistry.sol"; -import {Registry} from "allo-v2-contracts/core/Registry.sol"; -import {Native} from "allo-v2-contracts/core/libraries/Native.sol"; -import {CVStrategyHelpers, CVStrategyV0_1, StrategyStruct2, StrategyStruct} from "../test/CVStrategyHelpers.sol"; -import {CollateralVault} from "../src/CollateralVault.sol"; -import {RegistryFactoryV0_0} from "../src/RegistryFactory/RegistryFactoryV0_0.sol"; -import {RegistryCommunityV0_1} from "../src/RegistryCommunity/RegistryCommunityV0_1.sol"; -import {SafeSetup} from "../test/shared/SafeSetup.sol"; -import {Metadata} from "allo-v2-contracts/core/libraries/Metadata.sol"; -import {Accounts} from "allo-v2-test/foundry/shared/Accounts.sol"; -import {ERC1967Proxy} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol"; -import {SafeArbitrator, IArbitrator} from "../src/SafeArbitrator.sol"; -import {ISafe as Safe, SafeProxyFactory, Enum} from "../src/interfaces/ISafe.sol"; -// import {SafeProxyFactory} from "safe-smart-account/contracts/proxies/SafeProxyFactory.sol"; -import {TERC20} from "../test/shared/TERC20.sol"; - -contract DeployCVArbSepoliaCommFee is Native, CVStrategyHelpers, Script, SafeSetup { - uint256 public constant MINIMUM_STAKE = 50 ether; - - address public constant SENDER = 0xb05A948B5c1b057B88D381bDe3A375EfEA87EbAD; - - address public TOKEN = 0xcc6c8B9f745dB2277f7aaC1Bc026d5C2Ea7bD88D; - address public SAFE = 0xd96e152760BBc6502cAc7D2e43C34Da05230076c; - // address public COMMUNITY = 0xfD4e8327aa3877dD010fd2d5411DF62FED8d262b; - address public constant FACTORY = 0x197a3115f932DF5aEE2a4b5732E8586A00ccF243; - - Metadata metadata2 = Metadata({protocol: 1, pointer: "QmdRrdzXkxb9LSKVxJUmAkYzqqboo3aAjbnzVUdrbX6VSd"}); // BitcoinDAO metadata QmdRrdzXkxb9LSKVxJUmAkYzqqboo3aAjbnzVUdrbX6VSd - - function pool_admin() public virtual override returns (address) { - return address(SENDER); - } - - function run() public { - address allo_proxy = vm.envAddress("ALLO_PROXY"); - if (allo_proxy == address(0)) { - revert("ALLO_PROXY not set"); - } - // get PK from env - uint256 councilMemberPKEnv = vm.envUint("PK"); - if (councilMemberPKEnv == 0) { - revert("PK not set"); - } - - Allo allo = Allo(allo_proxy); - - // console2.log("Allo Addr: %s", address(allo)); - TERC20 token = TERC20(TOKEN); - - // IRegistry registry = allo.getRegistry(); - // console2.log("Registry Addr: %s", address(registry)); - - // console2.log("Pool Admin Addr: %s", pool_admin()); - - vm.startBroadcast(pool_admin()); - - // console2.log("Token Addr: %s", address(token)); - Safe councilSafeDeploy = _councilSafeWithOwner(pool_admin()); - - RegistryFactoryV0_0 registryFactory = RegistryFactoryV0_0(FACTORY); - // RegistryFactoryV0_0 registryFactory = new RegistryFactoryV0_0(); - - RegistryCommunityV0_1.InitializeParams memory params; - - params._allo = address(allo); - params._gardenToken = IERC20(address(token)); - params._registerStakeAmount = MINIMUM_STAKE; - params._communityFee = 1e4; - // params._metadata = metadata; // convenant ipfs - params._metadata = metadata2; // BitcoinDAO metadata QmdRrdzXkxb9LSKVxJUmAkYzqqboo3aAjbnzVUdrbX6VSd - params._councilSafe = payable(address(councilSafeDeploy)); - // params._councilSafe = payable(address(_councilSafeWithOwner(pool_admin()); - params._communityName = "BitcoinDAO"; - - assertTrue(params._councilSafe != address(0)); - - RegistryCommunityV0_1 registryCommunity = RegistryCommunityV0_1(registryFactory.createRegistry(params)); - - // console2.log("Registry Factory Addr: %s", address(registryFactory)); - // console2.log("Registry Community Addr: %s", address(registryCommunity)); - StrategyStruct.PointSystemConfig memory pointConfig; - pointConfig.maxAmount = MINIMUM_STAKE * 2; - - ERC1967Proxy arbitratorProxy = new ERC1967Proxy( - address(new SafeArbitrator()), abi.encodeWithSelector(SafeArbitrator.initialize.selector, 2 ether) - ); - - StrategyStruct2.InitializeParams memory paramsCV = getParams( - address(registryCommunity), - StrategyStruct.ProposalType.Funding, - StrategyStruct.PointSystem.Unlimited, - pointConfig, - StrategyStruct.ArbitrableConfig( - IArbitrator(payable(address(arbitratorProxy))), - payable(address(_councilSafe())), - 3 ether, - 2 ether, - 1, - 300 - ) - ); - - //Capped point system - // paramsCV.pointConfig.maxAmount = 200 ether ; - // //Fixed point system - // paramsCV.pointConfig.pointsPerMember = 100 ether ; - // //Quadratic point system - // paramsCV.pointConfig.tokensPerPoint = 1 ether; - // paramsCV.pointConfig.pointsPerTokenStaked = 5 ether ; - - // Goss: Commented because already set in getParams - // paramsCV.decay = _etherToFloat(0.9965402 ether); // alpha = decay - // paramsCV.maxRatio = _etherToFloat(0.2 ether); // beta = maxRatio - // paramsCV.weight = _etherToFloat(0.001 ether); // RHO = p = weight - // params.minThresholdStakePercentage = 0.2 ether; // 20% - // paramsCV.registryCommunity = address(registryCommunity); - // paramsCV.proposalType = StrategyStruct.ProposalType.Funding; - - // CVStrategy strategy2 = new CVStrategy(address(allo)); - - (uint256 poolId, address _strategy1) = registryCommunity.createPool(address(token), paramsCV, metadata2); - - CVStrategyV0_1 strategy1 = CVStrategyV0_1(payable(_strategy1)); - - safeHelper( - councilSafeDeploy, - councilMemberPKEnv, - address(registryCommunity), - abi.encodeWithSelector(registryCommunity.addStrategy.selector, address(strategy1)) - ); - - // Goss: Commented because already set in getParams - // strategy1.setDecay(_etherToFloat(0.9965402 ether)); - // // alpha = decay - // strategy1.setMaxRatio(_etherToFloat(0.1 ether)); // beta = maxRatio - // strategy1.setWeight(_etherToFloat(0.0005 ether)); // RHO = p = weight - - console2.log("balance of pool admin: %s", token.balanceOf(pool_admin())); - token.mint(address(pool_admin()), 10_000_000_000 ether); - token.approve(address(registryCommunity), type(uint256).max); - //@todo get correct value instead infinite approval - registryCommunity.stakeAndRegisterMember(); - - strategy1.activatePoints(); - // strategy2.activatePoints(); - - // allo.fundPool{value: 0.1 ether}(poolIdNative, 0.1 ether); - - token.approve(address(allo), type(uint256).max); - allo.fundPool(poolId, 1_000_000 ether); - - StrategyStruct.CreateProposal memory proposal = - StrategyStruct.CreateProposal(poolId, pool_admin(), 100 ether, address(token), metadata2); - bytes memory data = abi.encode(proposal); - allo.registerRecipient(poolId, data); - // StrategyStruct.ProposalType.Funding - proposal = StrategyStruct.CreateProposal(poolId, pool_admin(), 1_000 ether, address(token), metadata2); - data = abi.encode(proposal); - allo.registerRecipient(poolId, data); - - proposal = StrategyStruct.CreateProposal(poolId, pool_admin(), 10_000 ether, address(token), metadata2); - data = abi.encode(proposal); - allo.registerRecipient(poolId, data); - - vm.stopBroadcast(); - - console2.log("PoolId: %s", poolId); - // console2.log("Strategy1 Addr: %s", address(strategy1)); - - // console2.log("PoolIdSignaling: %s", poolIdSignaling); - // console2.log("Strategy2 Addr: %s", address(strategy2)); - // console2.log("Token Addr: %s", address(token)); - // console2.log("Token Native Addr: %s", address(NATIVE)); - - // console2.log("Allo Registry Addr: %s", address(registry)); - // console2.log("Council Safe Addr: %s", address(councilSafeOwner)); - } -} diff --git a/pkg/contracts/script/DeployCVArbSepoliaPool.s.sol b/pkg/contracts/script/DeployCVArbSepoliaPool.s.sol deleted file mode 100644 index 38ecceef2..000000000 --- a/pkg/contracts/script/DeployCVArbSepoliaPool.s.sol +++ /dev/null @@ -1,186 +0,0 @@ -// SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.13; - -import "forge-std/console2.sol"; -import "forge-std/Script.sol"; -import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -import {IAllo} from "allo-v2-contracts/core/interfaces/IAllo.sol"; -import {Allo} from "allo-v2-contracts/core/Allo.sol"; -import {IRegistry} from "allo-v2-contracts/core/interfaces/IRegistry.sol"; -import {Registry} from "allo-v2-contracts/core/Registry.sol"; -import {Native} from "allo-v2-contracts/core/libraries/Native.sol"; -import {CVStrategyHelpers, CVStrategyV0_1, StrategyStruct} from "../test/CVStrategyHelpers.sol"; -import {SafeArbitrator, IArbitrator} from "../src/SafeArbitrator.sol"; -import {CollateralVault} from "../src/CollateralVault.sol"; -import {RegistryCommunityV0_1} from "../src/RegistryCommunity/RegistryCommunityV0_1.sol"; -import {RegistryFactoryV0_0} from "../src/RegistryFactory/RegistryFactoryV0_0.sol"; -import {SafeSetup} from "../test/shared/SafeSetup.sol"; -import {Metadata} from "allo-v2-contracts/core/libraries/Metadata.sol"; -import {Accounts} from "allo-v2-test/foundry/shared/Accounts.sol"; - -import {ISafe as Safe, SafeProxyFactory, Enum} from "../src/interfaces/ISafe.sol"; -// import {SafeProxyFactory} from "safe-smart-account/contracts/proxies/SafeProxyFactory.sol"; -import {TERC20} from "../test/shared/TERC20.sol"; -import {ERC1967Proxy} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol"; - -contract DeployCVArbSepoliaPool is Native, CVStrategyHelpers, Script, SafeSetup { - uint256 public constant MINIMUM_STAKE = 50 * DECIMALS; - - address public SENDER = 0xb05A948B5c1b057B88D381bDe3A375EfEA87EbAD; - - address public TOKEN = 0xcc6c8B9f745dB2277f7aaC1Bc026d5C2Ea7bD88D; - address public SAFE = 0xd96e152760BBc6502cAc7D2e43C34Da05230076c; - address public COMMUNITY = 0xfD4e8327aa3877dD010fd2d5411DF62FED8d262b; - - function pool_admin() public virtual override returns (address) { - return address(SENDER); - } - - // function allo_owner() public virtual override returns (address) { - // return address(SENDER); - // } - - function run() public { - address allo_proxy = vm.envAddress("ALLO_PROXY"); - if (allo_proxy == address(0)) { - revert("ALLO_PROXY not set"); - } - // get PK from env - uint256 councilMemberPKEnv = vm.envUint("PK"); - if (councilMemberPKEnv == 0) { - revert("PK not set"); - } - - Allo allo = Allo(allo_proxy); - - // console2.log("Allo Addr: %s", address(allo)); - TERC20 token = TERC20(TOKEN); - - // IRegistry registry = allo.getRegistry(); - // console2.log("Registry Addr: %s", address(registry)); - - // console2.log("Pool Admin Addr: %s", pool_admin()); - - vm.startBroadcast(pool_admin()); - - // console2.log("Token Addr: %s", address(token)); - // Safe councilSafeDeploy = _councilSafeWithOwner(pool_admin()); - Safe councilSafeDeploy = Safe(payable(SAFE)); - - // RegistryFactoryV0_0 registryFactory = new RegistryFactoryV0_0(); - // RegistryFactoryV0_0 registryFactory = RegistryFactory(0xeE8B920641210e26d4D18BD285A862156f31556f); - - // RegistryCommunityV0_1.InitializeParams memory params; - - // params._allo = address(allo); - // params._gardenToken = IERC20(address(token)); - // params._registerStakeAmount = MINIMUM_STAKE; - // params._communityFee = 0; - // params._metadata = metadata; // convenant ipfs - // params._councilSafe = payable(address(councilSafeDeploy)); - // // params._councilSafe = payable(address(_councilSafeWithOwner(pool_admin()); - // params._communityName = "GardensDAO"; - - // RegistryCommunityV0_1 registryCommunity = RegistryCommunityV0_1(registryFactory.createRegistry(params)); - RegistryCommunityV0_1 registryCommunity = RegistryCommunityV0_1(COMMUNITY); - - console2.log("Comm Safe Addr: %s", address(registryCommunity.councilSafe())); - - assertTrue(address(registryCommunity.councilSafe()) != address(0), "Council Safe not set"); - assertTrue(address(registryCommunity.councilSafe()) == address(councilSafeDeploy), "Council Safe not set2"); - - // console2.log("Registry Factory Addr: %s", address(registryFactory)); - // console2.log("Registry Community Addr: %s", address(registryCommunity)); - - StrategyStruct.PointSystemConfig memory pointConfig; - pointConfig.maxAmount = MINIMUM_STAKE * 2; - - // Goss: Commented until used - // ERC1967Proxy arbitratorProxy = new ERC1967Proxy( - // address(new SafeArbitrator()), - // abi.encodeWithSelector(SafeArbitrator.initialize.selector, 2 ether) - // ); - // IArbitrator safeArbitrator = SafeArbitrator(payable(address(arbitratorProxy))); - // StrategyStruct2.InitializeParams memory paramsCV = getParams( - // address(registryCommunity), - // StrategyStruct.ProposalType.Funding, - // StrategyStruct.PointSystem.Capped, - // pointConfig, - // StrategyStruct.ArbitrableConfig( - // IArbitrator(address(safeArbitrator)), - // payable(address(_councilSafe())), - // 3 ether, - // 2 ether, - // 1, - // 300, - // address(new CollateralVault()) - // ) - // ); - - // Goss: Commented because already set in getParams - // paramsCV.decay = _etherToFloat(0.9965402 ether); // alpha = decay - // paramsCV.maxRatio = _etherToFloat(0.2 ether); // beta = maxRatio - // paramsCV.weight = _etherToFloat(0.001 ether); // RHO = p = weight - // params.minThresholdStakePercentage = 0.2 ether; // 20% - // paramsCV.registryCommunity = address(registryCommunity); - // paramsCV.proposalType = StrategyStruct.ProposalType.Funding; - - // CVStrategy strategy1 = new CVStrategy(address(allo)); - // CVStrategy strategy2 = new CVStrategy(address(allo)); - - // safeHelper( - // councilSafeDeploy, - // councilMemberPKEnv, - // address(registryCommunity), - // abi.encodeWithSelector(registryCommunity.addStrategy.selector, address(strategy1)) - // ); - // safeHelper( - // councilSafeDeploy, - // councilMemberPKEnv, - // address(registryCommunity), - // abi.encodeWithSelector(registryCommunity.addStrategy.selector, address(strategy2)) - // ); - - uint256 poolId = 306; - uint256 poolId2 = 307; - // (uint256 poolId,) = registryCommunity.createPool(address(strategy1), address(token), paramsCV, metadata); - console2.log("PoolId: %s", poolId); - - // assertTrue(strategy1.proposalType() == StrategyStruct.ProposalType.Funding, "ProposalType not set"); - - // paramsCV.pointSystem = StrategyStruct.PointSystem.Unlimited; - // (uint256 poolId2,) = registryCommunity.createPool(address(strategy2), address(token), paramsCV, metadata); - - // token.mint(address(pool_admin()), 10_000); - // token.approve(address(allo), type(uint256).max); - // allo.fundPool(poolId, 1_000); - // allo.fundPool(poolId2, 1_500); - - console2.log("PoolId2: %s", poolId2); - - StrategyStruct.CreateProposal memory proposal = - StrategyStruct.CreateProposal(poolId, pool_admin(), 50 wei, address(token), metadata); - bytes memory data = abi.encode(proposal); - - allo.registerRecipient(poolId, data); - - console2.log("Proposal 1"); - - data = abi.encode(StrategyStruct.CreateProposal(poolId, pool_admin(), 10 wei, address(token), metadata)); - - allo.registerRecipient(poolId2, data); - console2.log("Proposal 2"); - - vm.stopBroadcast(); - - // console2.log("Strategy1 Addr: %s", address(strategy1)); - - // console2.log("PoolIdSignaling: %s", poolIdSignaling); - // console2.log("Strategy2 Addr: %s", address(strategy2)); - // console2.log("Token Addr: %s", address(token)); - // console2.log("Token Native Addr: %s", address(NATIVE)); - - // console2.log("Allo Registry Addr: %s", address(registry)); - // console2.log("Council Safe Addr: %s", address(councilSafeOwner)); - } -} diff --git a/pkg/contracts/script/DeployCVMultiChain.s.sol b/pkg/contracts/script/DeployCVMultiChain.s.sol index dd4ef58f9..3495a82c1 100644 --- a/pkg/contracts/script/DeployCVMultiChain.s.sol +++ b/pkg/contracts/script/DeployCVMultiChain.s.sol @@ -14,7 +14,7 @@ import {Allo} from "allo-v2-contracts/core/Allo.sol"; import {IRegistry} from "allo-v2-contracts/core/interfaces/IRegistry.sol"; import {Registry} from "allo-v2-contracts/core/Registry.sol"; import {Native} from "allo-v2-contracts/core/libraries/Native.sol"; -import {CVStrategyHelpers, CVStrategyV0_1, StrategyStruct2} from "../test/CVStrategyHelpers.sol"; +import {CVStrategyHelpers, CVStrategyV0_1} from "../test/CVStrategyHelpers.sol"; import {GV2ERC20} from "./GV2ERC20.sol"; import {SafeSetup} from "../test/shared/SafeSetup.sol"; import {Metadata} from "allo-v2-contracts/core/libraries/Metadata.sol"; @@ -22,7 +22,10 @@ import {Accounts} from "allo-v2-test/foundry/shared/Accounts.sol"; import {RegistryFactoryV0_0} from "../src/RegistryFactory/RegistryFactoryV0_0.sol"; -import {RegistryCommunityV0_1} from "../src/RegistryCommunity/RegistryCommunityV0_1.sol"; +import { + RegistryCommunityV0_1, + RegistryCommunityInitializeParamsV0_0 +} from "../src/RegistryCommunity/RegistryCommunityV0_1.sol"; import {ISafe as Safe, SafeProxyFactory, Enum} from "../src/interfaces/ISafe.sol"; import {CollateralVault} from "../src/CollateralVault.sol"; // import {SafeProxyFactory} from "safe-smart-account/contracts/proxies/SafeProxyFactory.sol"; @@ -203,7 +206,7 @@ contract DeployCVMultiChain is Native, CVStrategyHelpers, Script, SafeSetup { assertTrue(token != GV2ERC20(address(0))); assertTrue(TOKEN != address(0)); - RegistryCommunityV0_1.InitializeParams memory params; + RegistryCommunityInitializeParamsV0_0 memory params; metadata = Metadata({protocol: 1, pointer: "QmX5jPva6koRnn88s7ZcPnNXKg1UzmYaZu9h15d8kzH1CN"}); params._metadata = metadata; // convenant ipfs @@ -221,15 +224,15 @@ contract DeployCVMultiChain is Native, CVStrategyHelpers, Script, SafeSetup { RegistryCommunityV0_1 registryCommunity = RegistryCommunityV0_1(REGISTRY_FACTORY.createRegistry(params)); - StrategyStruct.PointSystemConfig memory pointConfig; + PointSystemConfig memory pointConfig; pointConfig.maxAmount = MINIMUM_STAKE * 2; - StrategyStruct2.InitializeParams memory paramsCV = getParams( + CVStrategyInitializeParamsV0_1 memory paramsCV = getParams( address(registryCommunity), - StrategyStruct.ProposalType.Funding, - StrategyStruct.PointSystem.Fixed, + ProposalType.Funding, + PointSystem.Fixed, pointConfig, - StrategyStruct.ArbitrableConfig( + ArbitrableConfig( IArbitrator(address(ARBITRATOR)), payable(COUNCIL_SAFE), 0.002 ether, 0.001 ether, 1, 300 ) ); @@ -240,8 +243,8 @@ contract DeployCVMultiChain is Native, CVStrategyHelpers, Script, SafeSetup { Metadata({protocol: 1, pointer: "QmVtM9MpAJLre2TZXqRc2FTeEdseeY1HTkQUe7QuwGcEAN"}) ); - paramsCV.proposalType = StrategyStruct.ProposalType.Signaling; - paramsCV.pointSystem = StrategyStruct.PointSystem.Unlimited; + paramsCV.proposalType = ProposalType.Signaling; + paramsCV.pointSystem = PointSystem.Unlimited; paramsCV.sybilScorer = address(PASSPORT_SCORER); (uint256 poolIdSignaling, address _strategy2) = registryCommunity.createPool( @@ -288,7 +291,7 @@ contract DeployCVMultiChain is Native, CVStrategyHelpers, Script, SafeSetup { token.approve(address(allo), type(uint256).max); allo.fundPool(poolId, 10_000 ether); - StrategyStruct.CreateProposal memory proposal = StrategyStruct.CreateProposal( + CreateProposal memory proposal = CreateProposal( poolId, BENEFICIARY, 500 ether, @@ -298,7 +301,7 @@ contract DeployCVMultiChain is Native, CVStrategyHelpers, Script, SafeSetup { bytes memory data = abi.encode(proposal); allo.registerRecipient{value: 0.002 ether}(poolId, data); - proposal = StrategyStruct.CreateProposal( + proposal = CreateProposal( poolId, BENEFICIARY, 1500 ether, @@ -308,7 +311,7 @@ contract DeployCVMultiChain is Native, CVStrategyHelpers, Script, SafeSetup { data = abi.encode(proposal); allo.registerRecipient{value: 0.002 ether}(poolId, data); - proposal = StrategyStruct.CreateProposal( + proposal = CreateProposal( poolId, BENEFICIARY, 1500 ether, @@ -319,7 +322,7 @@ contract DeployCVMultiChain is Native, CVStrategyHelpers, Script, SafeSetup { allo.registerRecipient{value: 0.002 ether}(poolId, data); // Strategy with Signaling - StrategyStruct.CreateProposal memory proposal2 = StrategyStruct.CreateProposal( + CreateProposal memory proposal2 = CreateProposal( poolIdSignaling, address(0), 0, @@ -329,7 +332,7 @@ contract DeployCVMultiChain is Native, CVStrategyHelpers, Script, SafeSetup { bytes memory data2 = abi.encode(proposal2); allo.registerRecipient{value: 0.002 ether}(poolIdSignaling, data2); - proposal2 = StrategyStruct.CreateProposal( + proposal2 = CreateProposal( poolIdSignaling, address(0), 0, @@ -340,7 +343,7 @@ contract DeployCVMultiChain is Native, CVStrategyHelpers, Script, SafeSetup { data2 = abi.encode(proposal2); allo.registerRecipient{value: 0.002 ether}(poolIdSignaling, data2); - proposal2 = StrategyStruct.CreateProposal( + proposal2 = CreateProposal( poolIdSignaling, address(0), 0, diff --git a/pkg/contracts/script/DeployCollateralVaultTemplate.sol b/pkg/contracts/script/DeployCollateralVaultTemplate.sol deleted file mode 100644 index ee7844257..000000000 --- a/pkg/contracts/script/DeployCollateralVaultTemplate.sol +++ /dev/null @@ -1,39 +0,0 @@ -// SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.19; - -import {CREATE3} from "allo-v2/lib/hats-protocol/lib/solady/src/utils/CREATE3.sol"; -import "forge-std/Script.sol"; -import {CollateralVault} from "../src/CollateralVault.sol"; - -library DeployCollateralVaultTemplate { - function isContract(address account) internal view returns (bool) { - uint256 size; - assembly { - size := extcodesize(account) - } - return size > 0; - } - - function deployCollateralVaultTemplate() external { - if (isContract(0xfb05EB7dA4e0266a9b671c04927272a9A6cf6C9c)) { - console.log("CollateralVault template already deployed!"); - } else { - // --- Deterministic Deployment Parameters --- - bytes32 salt = bytes32(uint256(12345)); // Choose a fixed salt - - // --- Deployment using CREATE3 from Solmate --- - address deployedAddress = CREATE3.deploy( - salt, - type(CollateralVault).creationCode, // Pass the bytecode directly - 0 - ); - - // --- Predicted Address Verification --- - address predictedAddress = CREATE3.getDeployed(salt); - - require(deployedAddress == predictedAddress, "Deployment address mismatch!"); - - console.log("Deployed CollateralVault template at:", deployedAddress); - } - } -} diff --git a/pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol b/pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol index 6c23f9145..a255a1409 100644 --- a/pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol +++ b/pkg/contracts/src/CVStrategy/CVStrategyV0_0.sol @@ -9,7 +9,7 @@ import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; import {IArbitrator} from "../interfaces/IArbitrator.sol"; import {IArbitrable} from "../interfaces/IArbitrable.sol"; import {Clone} from "allo-v2-contracts/core/libraries/Clone.sol"; -// import {console} from "forge-std/console.sol"; +import {console} from "forge-std/console.sol"; import {Math} from "@openzeppelin/contracts/utils/math/Math.sol"; import {ISybilScorer, PassportData} from "../ISybilScorer.sol"; import {UUPSUpgradeable} from "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol"; @@ -17,6 +17,10 @@ import {BaseStrategyUpgradeable} from "../BaseStrategyUpgradeable.sol"; import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; import {ICollateralVault} from "../interfaces/ICollateralVault.sol"; +/*|--------------------------------------------|*/ +/*| STRUCTS/ENUMS |*/ +/*|--------------------------------------------|*/ + interface IPointStrategy { function deactivatePoints(address _member) external; @@ -24,102 +28,100 @@ interface IPointStrategy { function decreasePower(address _member, uint256 _amountToUntake) external returns (uint256); - function getPointSystem() external returns (StrategyStruct.PointSystem); + function getPointSystem() external returns (PointSystem); } -library StrategyStruct { - enum ProposalType { - Signaling, - Funding, - Streaming - } +enum ProposalType { + Signaling, + Funding, + Streaming +} - enum PointSystem { - Fixed, - Capped, - Unlimited, - Quadratic - } +enum PointSystem { + Fixed, + Capped, + Unlimited, + Quadratic +} - struct CreateProposal { - // uint256 proposalId; - uint256 poolId; - address beneficiary; - // ProposalType proposalType; - uint256 amountRequested; - address requestedToken; - Metadata metadata; - } +struct CreateProposal { + // uint256 proposalId; + uint256 poolId; + address beneficiary; + // ProposalType proposalType; + uint256 amountRequested; + address requestedToken; + Metadata metadata; +} - enum ProposalStatus { - Inactive, // Inactive - Active, // A vote that has been reported to Agreements - Paused, // A votee that is being challenged by Agreements - Cancelled, // A vote that has been cancelled - Executed, // A vote that has been executed - Disputed, // A vote that has been disputed - Rejected // A vote that has been rejected +enum ProposalStatus { + Inactive, // Inactive + Active, // A vote that has been reported to Agreements + Paused, // A votee that is being challenged by Agreements + Cancelled, // A vote that has been cancelled + Executed, // A vote that has been executed + Disputed, // A vote that has been disputed + Rejected // A vote that has been rejected - } +} - struct ProposalDisputeInfo { - uint256 disputeId; - uint256 disputeTimestamp; - address challenger; - } +struct ProposalDisputeInfo { + uint256 disputeId; + uint256 disputeTimestamp; + address challenger; +} - struct Proposal { - uint256 proposalId; - uint256 requestedAmount; - uint256 stakedAmount; - uint256 convictionLast; - address beneficiary; - address submitter; - address requestedToken; - uint256 blockLast; - ProposalStatus proposalStatus; - mapping(address => uint256) voterStakedPoints; // voter staked points - Metadata metadata; - ProposalDisputeInfo disputeInfo; - uint256 lastDisputeCompletion; - uint256 arbitrableConfigVersion; - } +struct Proposal { + uint256 proposalId; + uint256 requestedAmount; + uint256 stakedAmount; + uint256 convictionLast; + address beneficiary; + address submitter; + address requestedToken; + uint256 blockLast; + ProposalStatus proposalStatus; + mapping(address => uint256) voterStakedPoints; // voter staked points + Metadata metadata; + ProposalDisputeInfo disputeInfo; + uint256 lastDisputeCompletion; + uint256 arbitrableConfigVersion; +} - struct ProposalSupport { - uint256 proposalId; - int256 deltaSupport; // use int256 to allow negative values - } +struct ProposalSupport { + uint256 proposalId; + int256 deltaSupport; // use int256 to allow negative values +} - struct PointSystemConfig { - //Capped point system - uint256 maxAmount; - } +struct PointSystemConfig { + //Capped point system + uint256 maxAmount; +} - struct ArbitrableConfig { - IArbitrator arbitrator; - address tribunalSafe; - uint256 submitterCollateralAmount; - uint256 challengerCollateralAmount; - uint256 defaultRuling; - uint256 defaultRulingTimeout; - } +struct ArbitrableConfig { + IArbitrator arbitrator; + address tribunalSafe; + uint256 submitterCollateralAmount; + uint256 challengerCollateralAmount; + uint256 defaultRuling; + uint256 defaultRulingTimeout; +} - struct CVParams { - uint256 maxRatio; - uint256 weight; - uint256 decay; - uint256 minThresholdPoints; - } +struct CVParams { + uint256 maxRatio; + uint256 weight; + uint256 decay; + uint256 minThresholdPoints; +} - struct InitializeParams { - CVParams cvParams; - ProposalType proposalType; - PointSystem pointSystem; - PointSystemConfig pointConfig; - ArbitrableConfig arbitrableConfig; - address registryCommunity; - address sybilScorer; - } +struct CVStrategyInitializeParamsV0_0 { + CVParams cvParams; + ProposalType proposalType; + PointSystem pointSystem; + PointSystemConfig pointConfig; + ArbitrableConfig arbitrableConfig; + address registryCommunity; + address sybilScorer; } /// @custom:oz-upgrades-from CVStrategyV0_0 @@ -168,7 +170,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, /*| CUSTOM EVENTS |*/ /*|--------------------------------------------|*/ - event InitializedCV(uint256 poolId, StrategyStruct.InitializeParams data); + event InitializedCV(uint256 poolId, CVStrategyInitializeParamsV0_0 data); event Distributed(uint256 proposalId, address beneficiary, uint256 amount); event ProposalCreated(uint256 poolId, uint256 proposalId); event PoolAmountIncreased(uint256 amount); @@ -178,7 +180,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, event SupportAdded( address from, uint256 proposalId, uint256 amount, uint256 totalStakedAmount, uint256 convictionLast ); - event CVParamsUpdated(StrategyStruct.CVParams cvParams); + event CVParamsUpdated(CVParams cvParams); event RegistryUpdated(address registryCommunity); event MinThresholdPointsUpdated(uint256 before, uint256 minThresholdPoints); event ProposalDisputed( @@ -231,27 +233,27 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, uint256 public totalStaked; uint256 public totalPointsActivated; - StrategyStruct.CVParams public cvParams; + CVParams public cvParams; // Enum for handling proposal types - StrategyStruct.ProposalType public proposalType; + ProposalType public proposalType; // Struct variables for complex data structures - StrategyStruct.PointSystem public pointSystem; - StrategyStruct.PointSystemConfig public pointConfig; + PointSystem public pointSystem; + PointSystemConfig public pointConfig; // Contract reference - address internal registryCommunity; + address public registryCommunity; ICollateralVault public collateralVault; ISybilScorer public sybilScorer; // Mappings to handle relationships and staking details - mapping(uint256 => StrategyStruct.Proposal) public proposals; // Mapping of proposal IDs to Proposal structures + mapping(uint256 => Proposal) public proposals; // Mapping of proposal IDs to Proposal structures mapping(address => uint256) public totalVoterStakePct; // voter -> total staked points mapping(address => uint256[]) public voterStakedProposals; // voter -> proposal ids arrays mapping(uint256 => uint256) public disputeIdToProposalId; - mapping(uint256 => StrategyStruct.ArbitrableConfig) public arbitrableConfigs; + mapping(uint256 => ArbitrableConfig) public arbitrableConfigs; function getRegistryCommunity() public view returns (RegistryCommunityV0_0) { return RegistryCommunityV0_0(registryCommunity); @@ -272,7 +274,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, collateralVault = ICollateralVault(Clone.createClone(collateralVaultTemplate, cloneNonce++)); collateralVault.initialize(); - StrategyStruct.InitializeParams memory ip = abi.decode(_data, (StrategyStruct.InitializeParams)); + CVStrategyInitializeParamsV0_0 memory ip = abi.decode(_data, (CVStrategyInitializeParamsV0_0)); if (ip.registryCommunity == address(0)) { revert RegistryCannotBeZero(); @@ -340,6 +342,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, } function _canExecuteAction(address _user) internal view virtual returns (bool) { + console.log("sybilScorer", address(sybilScorer)); if (address(sybilScorer) == address(0)) { return true; } @@ -361,7 +364,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, } // surpressStateMutabilityWarning++; _data; - StrategyStruct.CreateProposal memory proposal = abi.decode(_data, (StrategyStruct.CreateProposal)); + CreateProposal memory proposal = abi.decode(_data, (CreateProposal)); // if (proposal.proposalId == 0) { // revert ProposalIdCannotBeZero(); @@ -370,7 +373,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, revert PoolIdCannotBeZero(); } // console.log("proposalType", uint256(proposalType)); - if (proposalType == StrategyStruct.ProposalType.Funding) { + if (proposalType == ProposalType.Funding) { _revertZeroAddress(proposal.beneficiary); // getAllo().getPool(poolId).token; if (proposal.requestedToken == address(0)) { @@ -398,7 +401,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, } uint256 proposalId = ++proposalCounter; - StrategyStruct.Proposal storage p = proposals[proposalId]; + Proposal storage p = proposals[proposalId]; p.proposalId = proposalId; p.submitter = _sender; @@ -406,7 +409,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, p.requestedToken = proposal.requestedToken; p.requestedAmount = proposal.amountRequested; // p.proposalType = proposal.proposalType; - p.proposalStatus = StrategyStruct.ProposalStatus.Active; + p.proposalStatus = ProposalStatus.Active; p.blockLast = block.number; p.convictionLast = 0; // p.agreementActionId = 0; @@ -456,11 +459,11 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, revert UserCannotExecuteAction(); } uint256 pointsToIncrease = 0; - if (pointSystem == StrategyStruct.PointSystem.Unlimited) { + if (pointSystem == PointSystem.Unlimited) { pointsToIncrease = increasePowerUnlimited(_amountToStake); - } else if (pointSystem == StrategyStruct.PointSystem.Capped) { + } else if (pointSystem == PointSystem.Capped) { pointsToIncrease = increasePowerCapped(_member, _amountToStake); - } else if (pointSystem == StrategyStruct.PointSystem.Quadratic) { + } else if (pointSystem == PointSystem.Quadratic) { pointsToIncrease = increasePowerQuadratic(_member, _amountToStake); } bool isActivated = getRegistryCommunity().memberActivatedInStrategies(_member, address(this)); @@ -476,7 +479,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, //requireMemberActivatedInStrategies uint256 pointsToDecrease = 0; - if (pointSystem == StrategyStruct.PointSystem.Unlimited || pointSystem == StrategyStruct.PointSystem.Capped) { + if (pointSystem == PointSystem.Unlimited || pointSystem == PointSystem.Capped) { pointsToDecrease = decreasePowerCappedUnlimited(_amountToUnstake); } else { pointsToDecrease = decreasePowerQuadratic(_member, _amountToUnstake); @@ -549,14 +552,14 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, return pointConfig.maxAmount; } - function getPointSystem() public view virtual returns (StrategyStruct.PointSystem) { + function getPointSystem() public view virtual returns (PointSystem) { return pointSystem; } // [[[proposalId, delta],[proposalId, delta]]] // layout.txs -> // console.log(data) // data = bytes - // function supportProposal(StrategyStruct.ProposalSupport[] memory) public pure { + // function supportProposal(ProposalSupport[] memory) public pure { // // // surpressStateMutabilityWarning++; // revert NotImplemented(); // // allo().allocate(poolId, abi.encode(proposalId)); @@ -575,7 +578,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, if (!isMemberActivatedPoints) { revert UserIsInactive(); } - StrategyStruct.ProposalSupport[] memory pv = abi.decode(_data, (StrategyStruct.ProposalSupport[])); + ProposalSupport[] memory pv = abi.decode(_data, (ProposalSupport[])); _check_before_addSupport(_sender, pv); _addSupport(_sender, pv); } @@ -594,9 +597,9 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, if (proposalId == 0) { revert ProposalIdCannotBeZero(); } - StrategyStruct.Proposal storage proposal = proposals[proposalId]; + Proposal storage proposal = proposals[proposalId]; - if (proposalType == StrategyStruct.ProposalType.Funding) { + if (proposalType == ProposalType.Funding) { if (proposal.proposalId != proposalId) { revert ProposalNotInList(proposalId); } @@ -605,7 +608,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, revert PoolAmountNotEnough(proposalId, proposal.requestedAmount, poolAmount); } - if (proposal.proposalStatus != StrategyStruct.ProposalStatus.Active) { + if (proposal.proposalStatus != ProposalStatus.Active) { revert ProposalNotActive(proposalId); } @@ -622,7 +625,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, _transferAmount(pool.token, proposal.beneficiary, proposal.requestedAmount); - proposal.proposalStatus = StrategyStruct.ProposalStatus.Executed; + proposal.proposalStatus = ProposalStatus.Executed; collateralVault.withdrawCollateral( proposalId, proposal.submitter, @@ -634,7 +637,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, } function canExecuteProposal(uint256 proposalId) public view virtual returns (bool canBeExecuted) { - StrategyStruct.Proposal storage proposal = proposals[proposalId]; + Proposal storage proposal = proposals[proposalId]; // uint256 convictionLast = updateProposalConviction(proposalId); (uint256 convictionLast, uint256 blockNumber) = @@ -698,7 +701,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, uint256[] memory proposalsIds = voterStakedProposals[_member]; for (uint256 i = 0; i < proposalsIds.length; i++) { uint256 proposalId = proposalsIds[i]; - StrategyStruct.Proposal storage proposal = proposals[proposalId]; + Proposal storage proposal = proposals[proposalId]; if (proposalExists(proposalId)) { uint256 stakedPoints = proposal.voterStakedPoints[_member]; proposal.voterStakedPoints[_member] = 0; @@ -735,7 +738,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, address requestedToken, uint256 requestedAmount, uint256 stakedAmount, - StrategyStruct.ProposalStatus proposalStatus, + ProposalStatus proposalStatus, uint256 blockLast, uint256 convictionLast, uint256 threshold, @@ -743,7 +746,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, uint256 arbitrableConfigVersion ) { - StrategyStruct.Proposal storage proposal = proposals[_proposalId]; + Proposal storage proposal = proposals[_proposalId]; threshold = proposal.requestedAmount == 0 ? 0 : calculateThreshold(proposal.requestedAmount); return ( @@ -762,7 +765,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, } function getMetadata(uint256 _proposalId) external view virtual returns (Metadata memory) { - StrategyStruct.Proposal storage proposal = proposals[_proposalId]; + Proposal storage proposal = proposals[_proposalId]; return proposal.metadata; } @@ -829,9 +832,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, isOverMaxRatio = cvParams.maxRatio * poolAmount <= _requestedAmount * D; } - function _check_before_addSupport(address _sender, StrategyStruct.ProposalSupport[] memory _proposalSupport) - internal - { + function _check_before_addSupport(address _sender, ProposalSupport[] memory _proposalSupport) internal { int256 deltaSupportSum = 0; for (uint256 i = 0; i < _proposalSupport.length; i++) { // check if _proposalSupport index i exist @@ -861,7 +862,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, totalVoterStakePct[_sender] = newTotalVotingSupport; } - function _addSupport(address _sender, StrategyStruct.ProposalSupport[] memory _proposalSupport) internal virtual { + function _addSupport(address _sender, ProposalSupport[] memory _proposalSupport) internal virtual { uint256[] memory proposalsIds; for (uint256 i = 0; i < _proposalSupport.length; i++) { uint256 proposalId = _proposalSupport[i].proposalId; @@ -890,7 +891,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, } int256 delta = _proposalSupport[i].deltaSupport; - StrategyStruct.Proposal storage proposal = proposals[proposalId]; + Proposal storage proposal = proposals[proposalId]; // uint256 beforeStakedPointsPct = proposal.voterStakedPointsPct[_sender]; uint256 previousStakedPoints = proposal.voterStakedPoints[_sender]; @@ -964,15 +965,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, // atTWO_128 = 2^128 * a^t // @audit-issue why that _pow require that need be less than TWO_128? why dont use 256? // @audit-ok they use 2^128 as the container for the result of the _pow function - - // uint256 atTWO_128 = _pow((decay << 128).div(D), t); uint256 atTWO_128 = _pow((cvParams.decay << 128) / D, t); - // solium-disable-previous-line - // conviction = (atTWO_128 * _lastConv + _oldAmount * D * (2^128 - atTWO_128) / (D - aD) + 2^127) / 2^128 - // return (atTWO_128.mul(_lastConv).add(_oldAmount.mul(D).mul(TWO_128.sub(atTWO_128)).div(D - decay))).add(TWO_127) - // >> 128; - // return (atTWO_128.mul(_lastConv).add(_oldAmount.mul(D).mul(TWO_128.sub(atTWO_128)).div(D - decay))).add(TWO_127) - // >> 128; return (((atTWO_128 * _lastConv) + ((_oldAmount * D * (TWO_128 - atTWO_128)) / (D - cvParams.decay))) + TWO_127) >> 128; } @@ -1029,7 +1022,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, require(_b < TWO_128, "_b should be less than 2^128"); return ((_a * _b) + TWO_127) >> 128; } - + /** * Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128. * @@ -1062,10 +1055,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, * @param _proposal Proposal * @param _oldStaked Amount of tokens staked on a proposal until now */ - function _calculateAndSetConviction(StrategyStruct.Proposal storage _proposal, uint256 _oldStaked) - internal - virtual - { + function _calculateAndSetConviction(Proposal storage _proposal, uint256 _oldStaked) internal virtual { (uint256 conviction, uint256 blockNumber) = _checkBlockAndCalculateConviction(_proposal, _oldStaked); if (conviction == 0 && blockNumber == 0) { return; @@ -1074,7 +1064,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, _proposal.convictionLast = conviction; } - function _checkBlockAndCalculateConviction(StrategyStruct.Proposal storage _proposal, uint256 _oldStaked) + function _checkBlockAndCalculateConviction(Proposal storage _proposal, uint256 _oldStaked) internal view virtual @@ -1095,10 +1085,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, ); } - function _setPoolParams( - StrategyStruct.ArbitrableConfig memory _arbitrableConfig, - StrategyStruct.CVParams memory _cvParams - ) internal virtual { + function _setPoolParams(ArbitrableConfig memory _arbitrableConfig, CVParams memory _cvParams) internal virtual { if ( _arbitrableConfig.tribunalSafe != address(0) && address(_arbitrableConfig.arbitrator) != address(0) && ( @@ -1142,14 +1129,14 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, } function updateProposalConviction(uint256 proposalId) public virtual returns (uint256) { - StrategyStruct.Proposal storage proposal = proposals[proposalId]; + Proposal storage proposal = proposals[proposalId]; if (proposal.proposalId != proposalId) { revert ProposalNotInList(proposalId); } // Goss: Remove it to have access to this when disputed or proposal closed (to see the chart) - // if (proposal.proposalStatus != StrategyStruct.ProposalStatus.Active) { + // if (proposal.proposalStatus != ProposalStatus.Active) { // revert ProposalNotActive(proposalId); // } @@ -1173,10 +1160,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, sybilScorer = ISybilScorer(_sybilScorer); } - function setPoolParams( - StrategyStruct.ArbitrableConfig memory _arbitrableConfig, - StrategyStruct.CVParams memory _cvParams - ) external virtual { + function setPoolParams(ArbitrableConfig memory _arbitrableConfig, CVParams memory _cvParams) external virtual { onlyCouncilSafe(); _setPoolParams(_arbitrableConfig, _cvParams); } @@ -1187,8 +1171,8 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, virtual returns (uint256 disputeId) { - StrategyStruct.Proposal storage proposal = proposals[proposalId]; - StrategyStruct.ArbitrableConfig memory arbitrableConfig = arbitrableConfigs[proposal.arbitrableConfigVersion]; + Proposal storage proposal = proposals[proposalId]; + ArbitrableConfig memory arbitrableConfig = arbitrableConfigs[proposal.arbitrableConfigVersion]; if (address(arbitrableConfig.arbitrator) == address(0)) { revert ArbitratorCannotBeZero(); @@ -1200,7 +1184,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, if (proposal.proposalId != proposalId) { revert ProposalNotInList(proposalId); } - if (proposal.proposalStatus != StrategyStruct.ProposalStatus.Active) { + if (proposal.proposalStatus != ProposalStatus.Active) { revert ProposalNotActive(proposalId); } if (msg.value < arbitrableConfig.challengerCollateralAmount) { @@ -1223,7 +1207,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, disputeId = arbitrableConfig.arbitrator.createDispute{value: arbitrationFee}(RULING_OPTIONS, _extraData); - proposal.proposalStatus = StrategyStruct.ProposalStatus.Disputed; + proposal.proposalStatus = ProposalStatus.Disputed; proposal.disputeInfo.disputeId = disputeId; proposal.disputeInfo.disputeTimestamp = block.timestamp; proposal.disputeInfo.challenger = msg.sender; @@ -1243,13 +1227,13 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, function rule(uint256 _disputeID, uint256 _ruling) external virtual override { uint256 proposalId = disputeIdToProposalId[_disputeID]; - StrategyStruct.Proposal storage proposal = proposals[proposalId]; - StrategyStruct.ArbitrableConfig memory arbitrableConfig = arbitrableConfigs[proposal.arbitrableConfigVersion]; + Proposal storage proposal = proposals[proposalId]; + ArbitrableConfig memory arbitrableConfig = arbitrableConfigs[proposal.arbitrableConfigVersion]; if (proposalId == 0) { revert ProposalNotInList(proposalId); } - if (proposal.proposalStatus != StrategyStruct.ProposalStatus.Disputed) { + if (proposal.proposalStatus != ProposalStatus.Disputed) { revert ProposalNotDisputed(proposalId); } @@ -1264,10 +1248,10 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, revert DefaultRulingNotSet(); } if (arbitrableConfig.defaultRuling == 1) { - proposal.proposalStatus = StrategyStruct.ProposalStatus.Active; + proposal.proposalStatus = ProposalStatus.Active; } if (arbitrableConfig.defaultRuling == 2) { - proposal.proposalStatus = StrategyStruct.ProposalStatus.Rejected; + proposal.proposalStatus = ProposalStatus.Rejected; collateralVault.withdrawCollateral( proposalId, proposal.submitter, arbitrableConfig.submitterCollateralAmount ); @@ -1276,7 +1260,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, proposalId, proposal.disputeInfo.challenger, arbitrableConfig.challengerCollateralAmount ); } else if (_ruling == 1) { - proposal.proposalStatus = StrategyStruct.ProposalStatus.Active; + proposal.proposalStatus = ProposalStatus.Active; collateralVault.withdrawCollateralFor( proposalId, proposal.disputeInfo.challenger, @@ -1284,7 +1268,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, arbitrableConfig.challengerCollateralAmount ); } else if (_ruling == 2) { - proposal.proposalStatus = StrategyStruct.ProposalStatus.Rejected; + proposal.proposalStatus = ProposalStatus.Rejected; collateralVault.withdrawCollateral( proposalId, proposal.disputeInfo.challenger, arbitrableConfig.challengerCollateralAmount ); @@ -1308,7 +1292,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, } function cancelProposal(uint256 proposalId) external virtual { - if (proposals[proposalId].proposalStatus != StrategyStruct.ProposalStatus.Active) { + if (proposals[proposalId].proposalStatus != ProposalStatus.Active) { revert ProposalNotActive(proposalId); } @@ -1322,7 +1306,7 @@ contract CVStrategyV0_0 is BaseStrategyUpgradeable, IArbitrable, IPointStrategy, arbitrableConfigs[proposals[proposalId].arbitrableConfigVersion].submitterCollateralAmount ); - proposals[proposalId].proposalStatus = StrategyStruct.ProposalStatus.Cancelled; + proposals[proposalId].proposalStatus = ProposalStatus.Cancelled; emit ProposalCancelled(proposalId); } diff --git a/pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol b/pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol index cc9135c49..9189b93b5 100644 --- a/pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol +++ b/pkg/contracts/src/CVStrategy/CVStrategyV0_1.sol @@ -1,8 +1,19 @@ // SPDX-License-Identifier: AGPL-3.0-only pragma solidity ^0.8.19; -import {CVStrategyV0_0, StrategyStruct} from "./CVStrategyV0_0.sol"; -// import {console} from "forge-std/console.sol"; +import { + CVStrategyV0_0, + CVParams, + ProposalType, + PointSystem, + PointSystemConfig, + ArbitrableConfig, + Proposal, + ProposalStatus, + ProposalSupport, + CreateProposal, + CVStrategyInitializeParamsV0_0 +} from "./CVStrategyV0_0.sol"; import {ISybilScorer, PassportData} from "../ISybilScorer.sol"; import {RegistryCommunityV0_1} from "../RegistryCommunity/RegistryCommunityV0_1.sol"; @@ -10,17 +21,19 @@ import {Clone} from "allo-v2-contracts/core/libraries/Clone.sol"; import {ICollateralVault} from "../interfaces/ICollateralVault.sol"; import {IArbitrator} from "../interfaces/IArbitrator.sol"; -library StrategyStruct2 { - struct InitializeParams { - StrategyStruct.CVParams cvParams; - StrategyStruct.ProposalType proposalType; - StrategyStruct.PointSystem pointSystem; - StrategyStruct.PointSystemConfig pointConfig; - StrategyStruct.ArbitrableConfig arbitrableConfig; - address registryCommunity; - address sybilScorer; - address[] initialAllowlist; - } +/*|--------------------------------------------|*/ +/*| STRUCTS/ENUMS |*/ +/*|--------------------------------------------|*/ + +struct CVStrategyInitializeParamsV0_1 { + CVParams cvParams; + ProposalType proposalType; + PointSystem pointSystem; + PointSystemConfig pointConfig; + ArbitrableConfig arbitrableConfig; + address registryCommunity; + address sybilScorer; + address[] initialAllowlist; } /// @custom:oz-upgrades-from CVStrategyV0_0 @@ -30,23 +43,21 @@ contract CVStrategyV0_1 is CVStrategyV0_0 { /*|--------------------------------------------|*/ event AllowlistMembersRemoved(uint256 poolId, address[] members); event AllowlistMembersAdded(uint256 poolId, address[] members); - event InitializedCV2(uint256 poolId, StrategyStruct2.InitializeParams data); + event InitializedCV2(uint256 poolId, CVStrategyInitializeParamsV0_1 data); /*|--------------------------------------------|*/ /*| V0_1 ERRORS |*/ /*|--------------------------------------------|*/ - error ProposalInvalidForAllocation(uint256 _proposalId, StrategyStruct.ProposalStatus _proposalStatus); + error ProposalInvalidForAllocation(uint256 _proposalId, ProposalStatus _proposalStatus); /*|--------------------------------------------|*/ /*| V0_1 MODIFIERS |*/ /*|--------------------------------------------|*/ function checkProposalAllocationValidity(uint256 _proposalId) internal view virtual { - StrategyStruct.Proposal storage p = proposals[_proposalId]; + Proposal storage p = proposals[_proposalId]; if ( - p.proposalStatus == StrategyStruct.ProposalStatus.Inactive - || p.proposalStatus == StrategyStruct.ProposalStatus.Cancelled - || p.proposalStatus == StrategyStruct.ProposalStatus.Executed - || p.proposalStatus == StrategyStruct.ProposalStatus.Rejected + p.proposalStatus == ProposalStatus.Inactive || p.proposalStatus == ProposalStatus.Cancelled + || p.proposalStatus == ProposalStatus.Executed || p.proposalStatus == ProposalStatus.Rejected ) { revert ProposalInvalidForAllocation(_proposalId, p.proposalStatus); } @@ -62,7 +73,7 @@ contract CVStrategyV0_1 is CVStrategyV0_0 { collateralVault = ICollateralVault(Clone.createClone(collateralVaultTemplate, cloneNonce++)); collateralVault.initialize(); - StrategyStruct2.InitializeParams memory ip = abi.decode(_data, (StrategyStruct2.InitializeParams)); + CVStrategyInitializeParamsV0_1 memory ip = abi.decode(_data, (CVStrategyInitializeParamsV0_1)); if (ip.registryCommunity == address(0)) { revert RegistryCannotBeZero(); @@ -79,8 +90,8 @@ contract CVStrategyV0_1 is CVStrategyV0_0 { } function _setPoolParams( - StrategyStruct.ArbitrableConfig memory _arbitrableConfig, - StrategyStruct.CVParams memory _cvParams, + ArbitrableConfig memory _arbitrableConfig, + CVParams memory _cvParams, address[] memory membersToAdd, address[] memory membersToRemove ) internal virtual { @@ -90,8 +101,8 @@ contract CVStrategyV0_1 is CVStrategyV0_0 { } function setPoolParams( - StrategyStruct.ArbitrableConfig memory _arbitrableConfig, - StrategyStruct.CVParams memory _cvParams, + ArbitrableConfig memory _arbitrableConfig, + CVParams memory _cvParams, address[] memory membersToAdd, address[] memory membersToRemove ) external virtual { @@ -99,8 +110,8 @@ contract CVStrategyV0_1 is CVStrategyV0_0 { _setPoolParams(_arbitrableConfig, _cvParams, membersToAdd, membersToRemove); } - function _beforeAllocate(bytes memory _data, address _sender) internal virtual override { - StrategyStruct.ProposalSupport[] memory pv = abi.decode(_data, (StrategyStruct.ProposalSupport[])); + function _beforeAllocate(bytes memory _data, address /*_sender*/) internal virtual override { + ProposalSupport[] memory pv = abi.decode(_data, (ProposalSupport[])); for (uint256 i = 0; i < pv.length; i++) { checkProposalAllocationValidity(pv[i].proposalId); } diff --git a/pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol b/pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol index 75e8ce454..883319cda 100644 --- a/pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol +++ b/pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_0.sol @@ -17,11 +17,57 @@ import {IRegistry, Metadata} from "allo-v2-contracts/core/interfaces/IRegistry.s import {FAllo} from "../interfaces/FAllo.sol"; import {ISafe} from "../interfaces/ISafe.sol"; import {IRegistryFactory} from "../IRegistryFactory.sol"; -import {CVStrategyV0_0, StrategyStruct, IPointStrategy} from "../CVStrategy/CVStrategyV0_0.sol"; +import { + CVStrategyV0_0, + IPointStrategy, + CVStrategyInitializeParamsV0_0, + PointSystem +} from "../CVStrategy/CVStrategyV0_0.sol"; import {Upgrades} from "@openzeppelin/foundry/LegacyUpgrades.sol"; import {ERC1967Proxy} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol"; import {ProxyOwnableUpgrader} from "../ProxyOwnableUpgrader.sol"; +/*|--------------------------------------------|*/ +/*| STRUCTS/ENUMS |*/ +/*|--------------------------------------------|*/ + +/// @dev Initialize parameters for the contract +/// @param _allo The Allo contract address +/// @param _gardenToken The token used to stake in the community +/// @param _registerStakeAmount The amount of tokens required to register a member +/// @param _communityFee The fee charged to the community for each registration +/// @param _nonce The nonce used to create new strategy clones +/// @param _registryFactory The address of the registry factory +/// @param _feeReceiver The address that receives the community fee +/// @param _metadata The covenant IPFS hash of the community +/// @param _councilSafe The council safe contract address +/// @param _communityName The community name +/// @param _isKickEnabled Enable or disable the kick feature +struct RegistryCommunityInitializeParamsV0_0 { + address _allo; + IERC20 _gardenToken; + uint256 _registerStakeAmount; + uint256 _communityFee; + uint256 _nonce; + address _registryFactory; + address _feeReceiver; + Metadata _metadata; + address payable _councilSafe; + string _communityName; + bool _isKickEnabled; + string covenantIpfsHash; +} + +struct Member { + address member; + uint256 stakedAmount; + bool isRegistered; +} + +struct Strategies { + address[] strategies; +} + /// @custom:oz-upgrades-from RegistryCommunityV0_0 contract RegistryCommunityV0_0 is ProxyOwnableUpgrader, ReentrancyGuardUpgradeable, AccessControlUpgradeable { /*|--------------------------------------------|*/ @@ -68,37 +114,6 @@ contract RegistryCommunityV0_0 is ProxyOwnableUpgrader, ReentrancyGuardUpgradeab error DecreaseUnderMinimum(); error CantDecreaseMoreThanPower(uint256 _decreaseAmount, uint256 _currentPower); - /*|--------------------------------------------|*/ - /*| STRUCTS/ENUMS |*/ - /*|--------------------------------------------|*/ - - /// @dev Initialize parameters for the contract - /// @param _allo The Allo contract address - /// @param _gardenToken The token used to stake in the community - /// @param _registerStakeAmount The amount of tokens required to register a member - /// @param _communityFee The fee charged to the community for each registration - /// @param _nonce The nonce used to create new strategy clones - /// @param _registryFactory The address of the registry factory - /// @param _feeReceiver The address that receives the community fee - /// @param _metadata The covenant IPFS hash of the community - /// @param _councilSafe The council safe contract address - /// @param _communityName The community name - /// @param _isKickEnabled Enable or disable the kick feature - struct InitializeParams { - address _allo; - IERC20 _gardenToken; - uint256 _registerStakeAmount; - uint256 _communityFee; - uint256 _nonce; - address _registryFactory; - address _feeReceiver; - Metadata _metadata; - address payable _councilSafe; - string _communityName; - bool _isKickEnabled; - string covenantIpfsHash; - } - using ERC165Checker for address; using SafeERC20 for IERC20; using Clone for address; @@ -212,19 +227,6 @@ contract RegistryCommunityV0_0 is ProxyOwnableUpgrader, ReentrancyGuardUpgradeab if (_address == address(0)) revert AddressCannotBeZero(); } - /*|--------------------------------------------|*o - /*| STRUCTS/ENUMS |*/ - /*|--------------------------------------------|*/ - struct Member { - address member; - uint256 stakedAmount; - bool isRegistered; - } - - struct Strategies { - address[] strategies; - } - function setStrategyTemplate(address template) external onlyOwner { strategyTemplate = template; } @@ -236,12 +238,12 @@ contract RegistryCommunityV0_0 is ProxyOwnableUpgrader, ReentrancyGuardUpgradeab // AUDIT: acknowledged upgradeable contract hat does not protect initialize functions, // slither-disable-next-line unprotected-upgrade function initialize( - RegistryCommunityV0_0.InitializeParams memory params, + RegistryCommunityInitializeParamsV0_0 memory params, address _strategyTemplate, address _collateralVaultTemplate, - address owner + address _owner ) public initializer { - super.initialize(owner); + super.initialize(_owner); __ReentrancyGuard_init(); __AccessControl_init(); @@ -302,7 +304,7 @@ contract RegistryCommunityV0_0 is ProxyOwnableUpgrader, ReentrancyGuardUpgradeab emit RegistryInitialized(profileId, communityName, params._metadata); } - function createPool(address _token, StrategyStruct.InitializeParams memory _params, Metadata memory _metadata) + function createPool(address _token, CVStrategyInitializeParamsV0_0 memory _params, Metadata memory _metadata) public virtual returns (uint256 poolId, address strategy) @@ -320,7 +322,7 @@ contract RegistryCommunityV0_0 is ProxyOwnableUpgrader, ReentrancyGuardUpgradeab function createPool( address _strategy, address _token, - StrategyStruct.InitializeParams memory _params, + CVStrategyInitializeParamsV0_0 memory _params, Metadata memory _metadata ) public virtual returns (uint256 poolId, address strategy) { address token = NATIVE; @@ -352,9 +354,9 @@ contract RegistryCommunityV0_0 is ProxyOwnableUpgrader, ReentrancyGuardUpgradeab uint256 totalStakedAmount = member.stakedAmount; uint256 pointsToIncrease = registerStakeAmount; - if (IPointStrategy(_strategy).getPointSystem() == StrategyStruct.PointSystem.Quadratic) { + if (IPointStrategy(_strategy).getPointSystem() == PointSystem.Quadratic) { pointsToIncrease = IPointStrategy(_strategy).increasePower(_member, 0); - } else if (IPointStrategy(_strategy).getPointSystem() != StrategyStruct.PointSystem.Fixed) { + } else if (IPointStrategy(_strategy).getPointSystem() != PointSystem.Fixed) { pointsToIncrease = IPointStrategy(_strategy).increasePower(_member, totalStakedAmount); } diff --git a/pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol b/pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol index ff5e6d2d2..7ab5b4d88 100644 --- a/pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol +++ b/pkg/contracts/src/RegistryCommunity/RegistryCommunityV0_1.sol @@ -1,14 +1,25 @@ // SPDX-License-Identifier: AGPL-3.0-only pragma solidity ^0.8.19; -// import {console} from "forge-std/console.sol"; -import {RegistryCommunityV0_0, Metadata, ERC1967Proxy, CVStrategyV0_0} from "./RegistryCommunityV0_0.sol"; -import {StrategyStruct2} from "../CVStrategy/CVStrategyV0_1.sol"; +import { + RegistryCommunityV0_0, + Metadata, + ERC1967Proxy, + RegistryCommunityInitializeParamsV0_0 +} from "./RegistryCommunityV0_0.sol"; +import { + CVStrategyV0_0, + PointSystemConfig, + ArbitrableConfig, + ProposalType, + CreateProposal +} from "../CVStrategy/CVStrategyV0_0.sol"; + +import {CVStrategyV0_1, CVStrategyInitializeParamsV0_1} from "@src/CVStrategy/CVStrategyV0_1.sol"; /// @custom:oz-upgrades-from RegistryCommunityV0_0 contract RegistryCommunityV0_1 is RegistryCommunityV0_0 { - - function createPool(address _token, StrategyStruct2.InitializeParams memory _params, Metadata memory _metadata) + function createPool(address _token, CVStrategyInitializeParamsV0_1 memory _params, Metadata memory _metadata) public virtual returns (uint256 poolId, address strategy) @@ -41,7 +52,7 @@ contract RegistryCommunityV0_1 is RegistryCommunityV0_0 { function createPool( address _strategy, address _token, - StrategyStruct2.InitializeParams memory _params, + CVStrategyInitializeParamsV0_1 memory _params, Metadata memory _metadata ) public virtual returns (uint256 poolId, address strategy) { address token = NATIVE; diff --git a/pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol b/pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol index a2983ee9e..caedaa4e6 100644 --- a/pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol +++ b/pkg/contracts/src/RegistryFactory/RegistryFactoryV0_0.sol @@ -1,7 +1,10 @@ // SPDX-License-Identifier: AGPL-3.0-only pragma solidity ^0.8.19; -import {RegistryCommunityV0_0} from "../RegistryCommunity/RegistryCommunityV0_0.sol"; +import { + RegistryCommunityV0_0, + RegistryCommunityInitializeParamsV0_0 +} from "../RegistryCommunity/RegistryCommunityV0_0.sol"; import {ProxyOwnableUpgrader} from "../ProxyOwnableUpgrader.sol"; import {ERC1967Proxy} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol"; import {Clone} from "allo-v2-contracts/core/libraries/Clone.sol"; @@ -78,7 +81,7 @@ contract RegistryFactoryV0_0 is ProxyOwnableUpgrader { // setReceiverAddress(_gardensFeeReceiver); //onlyOwner } - function createRegistry(RegistryCommunityV0_0.InitializeParams memory params) + function createRegistry(RegistryCommunityInitializeParamsV0_0 memory params) public virtual returns (address _createdRegistryAddress) @@ -88,9 +91,7 @@ contract RegistryFactoryV0_0 is ProxyOwnableUpgrader { ERC1967Proxy proxy = new ERC1967Proxy( address(registryCommunityTemplate), - abi.encodeWithSelector( - RegistryCommunityV0_0.initialize.selector, params, strategyTemplate, collateralVaultTemplate, owner() - ) + abi.encodeWithSelector(RegistryCommunityV0_0.initialize.selector, params, strategyTemplate, collateralVaultTemplate, owner()) ); RegistryCommunityV0_0 registryCommunity = RegistryCommunityV0_0(payable(address(proxy))); diff --git a/pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol b/pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol index ae8a4f3ca..3edcb48b7 100644 --- a/pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol +++ b/pkg/contracts/src/RegistryFactory/RegistryFactoryV0_1.sol @@ -1,14 +1,18 @@ // SPDX-License-Identifier: AGPL-3.0-only pragma solidity ^0.8.19; -import "../RegistryFactory/RegistryFactoryV0_0.sol"; +import {RegistryFactoryV0_0, ERC1967Proxy} from "../RegistryFactory/RegistryFactoryV0_0.sol"; +import { + RegistryCommunityInitializeParamsV0_0, + RegistryCommunityV0_0 +} from "../RegistryCommunity/RegistryCommunityV0_0.sol"; import {RegistryCommunityV0_1} from "../RegistryCommunity/RegistryCommunityV0_1.sol"; /// @custom:oz-upgrades-from RegistryFactoryV0_0 contract RegistryFactoryV0_1 is RegistryFactoryV0_0 { function initializeV2() public reinitializer(2) {} - function createRegistry(RegistryCommunityV0_1.InitializeParams memory params) + function createRegistry(RegistryCommunityInitializeParamsV0_0 memory params) public virtual override diff --git a/pkg/contracts/src/diamonds/BaseDiamond.sol b/pkg/contracts/src/diamonds/BaseDiamond.sol new file mode 100644 index 000000000..0a00d8de5 --- /dev/null +++ b/pkg/contracts/src/diamonds/BaseDiamond.sol @@ -0,0 +1,86 @@ +// SPDX-License-Identifier: AGPL-3.0-only +pragma solidity ^0.8.19; + + +import {LibDiamond} from "./libraries/LibDiamond.sol"; +import {IDiamondCut} from "./interfaces/IDiamondCut.sol"; +import {IDiamondLoupe} from "./interfaces/IDiamondLoupe.sol"; +import {IERC173} from "./interfaces/IERC173.sol"; +//import { IERC165} from "./interfaces/IERC165.sol"; + +import {IERC1822Proxiable} from "@openzeppelin/contracts/interfaces/draft-IERC1822.sol"; +// When no function exists for function called + +error FunctionNotFound(bytes4 _functionSelector); +error DiamondAlreadyInitialized(); + +// This is used in diamond constructor +// more arguments are added to this struct +// this avoids stack too deep errors +struct DiamondArgs { + address owner; + address init; + bytes initCalldata; +} + +contract BaseDiamond is IERC1822Proxiable, IDiamondCut { + bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; + + constructor() payable { + } + + function initialize(address _owner) external { + if (LibDiamond.isInitialized()) { + revert DiamondAlreadyInitialized(); + } + LibDiamond.setContractOwner(_owner); + LibDiamond.setInitialized(); + } + + + // Find facet for function that is called and execute the + // function if a facet is found and return any value. + fallback() external payable { + LibDiamond.DiamondStorage storage ds; + bytes32 position = LibDiamond.DIAMOND_STORAGE_POSITION; + // get diamond storage + assembly { + ds.slot := position + } + // get facet from function selector + address facet = ds.facetAddressAndSelectorPosition[msg.sig].facetAddress; + if (facet == address(0)) { + revert FunctionNotFound(msg.sig); + } + // Execute external function from facet using delegatecall and return any value. + assembly { + // copy function selector and any arguments + calldatacopy(0, 0, calldatasize()) + // execute function call using the facet + let result := delegatecall(gas(), facet, 0, calldatasize(), 0, 0) + // get any return value + returndatacopy(0, 0, returndatasize()) + // return any return value or error back to the caller + switch result + case 0 { revert(0, returndatasize()) } + default { return(0, returndatasize()) } + } + } + + receive() external payable {} + + function proxiableUUID() external view virtual override returns (bytes32) { + return _IMPLEMENTATION_SLOT; + } + + /// @notice Add/replace/remove any number of functions and optionally execute + /// a function with delegatecall + /// @param _diamondCut Contains the facet addresses and function selectors + /// @param _init The address of the contract or facet to execute _calldata + /// @param _calldata A function call, including function selector and arguments + /// _calldata is executed with delegatecall on _init + function diamondCut(FacetCut[] calldata _diamondCut, address _init, bytes calldata _calldata) external override virtual { + LibDiamond.enforceIsContractOwner(); + LibDiamond.diamondCut(_diamondCut, _init, _calldata); + } +} diff --git a/pkg/contracts/src/diamonds/RegistryFactoryDiamond.sol b/pkg/contracts/src/diamonds/RegistryFactoryDiamond.sol new file mode 100644 index 000000000..220f645b6 --- /dev/null +++ b/pkg/contracts/src/diamonds/RegistryFactoryDiamond.sol @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: AGPL-3.0-only +pragma solidity ^0.8.19; + +import {BaseDiamond} from "./BaseDiamond.sol"; +import {LibDiamond} from "./libraries/LibDiamond.sol"; +import {IDiamondCut} from "./interfaces/IDiamondCut.sol"; +import {IDiamondLoupe} from "./interfaces/IDiamondLoupe.sol"; +import {IERC173} from "./interfaces/IERC173.sol"; +//import { IERC165} from "./interfaces/IERC165.sol"; + +import {IERC1822Proxiable} from "@openzeppelin/contracts/interfaces/draft-IERC1822.sol"; +// When no function exists for function called + +struct CommunityInfo { + uint256 fee; + bool valid; +} +contract RegistryFactoryDiamond is BaseDiamond { + /*|--------------------------------------------|*/ + /*| CONSTANTS & IMMUTABLE |*/ + /*|--------------------------------------------|*/ + string public constant VERSION = "0.0"; + /*|--------------------------------------------|*/ + /*| STORAGE |*/ + /*|--------------------------------------------|*/ + uint8 private _initialized; + bool private _initializing; + uint256[50] private __gap1; + address public _owner; + uint256[49] private __gap2; + uint256 public nonce; + + mapping(address => CommunityInfo) communityToInfo; + address public gardensFeeReceiver; + address public registryCommunityTemplate; + address public strategyTemplate; + address public collateralVaultTemplate; + uint256[50] private __gap3; + /*|--------------------------------------------|*/ + /*| STORAGE |*/ + /*|--------------------------------------------|*/ +} diff --git a/pkg/contracts/src/diamonds/facets/DiamondCutFacet.sol b/pkg/contracts/src/diamonds/facets/DiamondCutFacet.sol new file mode 100644 index 000000000..4d514d9ec --- /dev/null +++ b/pkg/contracts/src/diamonds/facets/DiamondCutFacet.sol @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +/** + * \ + * Author: Nick Mudge (https://twitter.com/mudgen) + * EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535 + * /***************************************************************************** + */ +import {IDiamondCut} from "../interfaces/IDiamondCut.sol"; +import {LibDiamond} from "../libraries/LibDiamond.sol"; + +// Remember to add the loupe functions from DiamondLoupeFacet to the diamond. +// The loupe functions are required by the EIP2535 Diamonds standard +//@todo not using, inside Diamond directly, to "drop the keys out" just replace the implementation of Diamond +contract DiamondCutFacet is IDiamondCut { + /// @notice Add/replace/remove any number of functions and optionally execute + /// a function with delegatecall + /// @param _diamondCut Contains the facet addresses and function selectors + /// @param _init The address of the contract or facet to execute _calldata + /// @param _calldata A function call, including function selector and arguments + /// _calldata is executed with delegatecall on _init + function diamondCut(FacetCut[] calldata _diamondCut, address _init, bytes calldata _calldata) external override { + LibDiamond.enforceIsContractOwner(); + LibDiamond.diamondCut(_diamondCut, _init, _calldata); + } +} diff --git a/pkg/contracts/src/diamonds/facets/DiamondLoupeFacet.sol b/pkg/contracts/src/diamonds/facets/DiamondLoupeFacet.sol new file mode 100644 index 000000000..8fdb3f938 --- /dev/null +++ b/pkg/contracts/src/diamonds/facets/DiamondLoupeFacet.sol @@ -0,0 +1,154 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; +/** + * \ + * Author: Nick Mudge (https://twitter.com/mudgen) + * EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535 + * /***************************************************************************** + */ + +// The functions in DiamondLoupeFacet MUST be added to a diamond. +// The EIP-2535 Diamond standard requires these functions. + +import {LibDiamond} from "../libraries/LibDiamond.sol"; +import {IDiamondLoupe} from "../interfaces/IDiamondLoupe.sol"; +import {IERC165} from "@src/diamonds/interfaces/IERC165.sol"; + +contract DiamondLoupeFacet is IDiamondLoupe, IERC165 { + // Diamond Loupe Functions + //////////////////////////////////////////////////////////////////// + /// These functions are expected to be called frequently by tools. + // + // struct Facet { + // address facetAddress; + // bytes4[] functionSelectors; + // } + /// @notice Gets all facets and their selectors. + /// @return facets_ Facet + function facets() external view override returns (Facet[] memory facets_) { + LibDiamond.DiamondStorage storage ds = LibDiamond.diamondStorage(); + uint256 selectorCount = ds.selectors.length; + // create an array set to the maximum size possible + facets_ = new Facet[](selectorCount); + // create an array for counting the number of selectors for each facet + uint16[] memory numFacetSelectors = new uint16[](selectorCount); + // total number of facets + uint256 numFacets; + // loop through function selectors + for (uint256 selectorIndex; selectorIndex < selectorCount; selectorIndex++) { + bytes4 selector = ds.selectors[selectorIndex]; + address facetAddress_ = ds.facetAddressAndSelectorPosition[selector].facetAddress; + bool continueLoop = false; + // find the functionSelectors array for selector and add selector to it + for (uint256 facetIndex; facetIndex < numFacets; facetIndex++) { + if (facets_[facetIndex].facetAddress == facetAddress_) { + facets_[facetIndex].functionSelectors[numFacetSelectors[facetIndex]] = selector; + numFacetSelectors[facetIndex]++; + continueLoop = true; + break; + } + } + // if functionSelectors array exists for selector then continue loop + if (continueLoop) { + continueLoop = false; + continue; + } + // create a new functionSelectors array for selector + facets_[numFacets].facetAddress = facetAddress_; + facets_[numFacets].functionSelectors = new bytes4[](selectorCount); + facets_[numFacets].functionSelectors[0] = selector; + numFacetSelectors[numFacets] = 1; + numFacets++; + } + for (uint256 facetIndex; facetIndex < numFacets; facetIndex++) { + uint256 numSelectors = numFacetSelectors[facetIndex]; + bytes4[] memory selectors = facets_[facetIndex].functionSelectors; + // setting the number of selectors + assembly { + mstore(selectors, numSelectors) + } + } + // setting the number of facets + assembly { + mstore(facets_, numFacets) + } + } + + /// @notice Gets all the function selectors supported by a specific facet. + /// @param _facet The facet address. + /// @return _facetFunctionSelectors The selectors associated with a facet address. + function facetFunctionSelectors(address _facet) + external + view + override + returns (bytes4[] memory _facetFunctionSelectors) + { + LibDiamond.DiamondStorage storage ds = LibDiamond.diamondStorage(); + uint256 selectorCount = ds.selectors.length; + uint256 numSelectors; + _facetFunctionSelectors = new bytes4[](selectorCount); + // loop through function selectors + for (uint256 selectorIndex; selectorIndex < selectorCount; selectorIndex++) { + bytes4 selector = ds.selectors[selectorIndex]; + address facetAddress_ = ds.facetAddressAndSelectorPosition[selector].facetAddress; + if (_facet == facetAddress_) { + _facetFunctionSelectors[numSelectors] = selector; + numSelectors++; + } + } + // Set the number of selectors in the array + assembly { + mstore(_facetFunctionSelectors, numSelectors) + } + } + + /// @notice Get all the facet addresses used by a diamond. + /// @return facetAddresses_ + function facetAddresses() external view override returns (address[] memory facetAddresses_) { + LibDiamond.DiamondStorage storage ds = LibDiamond.diamondStorage(); + uint256 selectorCount = ds.selectors.length; + // create an array set to the maximum size possible + facetAddresses_ = new address[](selectorCount); + uint256 numFacets; + // loop through function selectors + for (uint256 selectorIndex; selectorIndex < selectorCount; selectorIndex++) { + bytes4 selector = ds.selectors[selectorIndex]; + address facetAddress_ = ds.facetAddressAndSelectorPosition[selector].facetAddress; + bool continueLoop = false; + // see if we have collected the address already and break out of loop if we have + for (uint256 facetIndex; facetIndex < numFacets; facetIndex++) { + if (facetAddress_ == facetAddresses_[facetIndex]) { + continueLoop = true; + break; + } + } + // continue loop if we already have the address + if (continueLoop) { + continueLoop = false; + continue; + } + // include address + facetAddresses_[numFacets] = facetAddress_; + numFacets++; + } + // Set the number of facet addresses in the array + assembly { + mstore(facetAddresses_, numFacets) + } + } + + /// @notice Gets the facet address that supports the given selector. + /// @dev If facet is not found return address(0). + /// @param _functionSelector The function selector. + /// @return facetAddress_ The facet address. + function facetAddress(bytes4 _functionSelector) external view override returns (address facetAddress_) { + LibDiamond.DiamondStorage storage ds = LibDiamond.diamondStorage(); + facetAddress_ = ds.facetAddressAndSelectorPosition[_functionSelector].facetAddress; + } + + // This implements ERC-165. + function supportsInterface(bytes4 _interfaceId) external view override returns (bool) { + LibDiamond.DiamondStorage storage ds = LibDiamond.diamondStorage(); + return ds.supportedInterfaces[_interfaceId]; + } +} diff --git a/pkg/contracts/src/diamonds/facets/OwnershipFacet.sol b/pkg/contracts/src/diamonds/facets/OwnershipFacet.sol new file mode 100644 index 000000000..8242b685a --- /dev/null +++ b/pkg/contracts/src/diamonds/facets/OwnershipFacet.sol @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {LibDiamond} from "@src/diamonds/libraries/LibDiamond.sol"; +import {IERC173} from "@src/diamonds/interfaces/IERC173.sol"; + +contract OwnershipFacet is IERC173 { + function transferOwnership(address _newOwner) external override { + LibDiamond.enforceIsContractOwner(); + LibDiamond.setContractOwner(_newOwner); + } + + function owner() external view override returns (address owner_) { + owner_ = LibDiamond.contractOwner(); + } +} diff --git a/pkg/contracts/src/diamonds/facets/RegistryFactoryFacet.sol b/pkg/contracts/src/diamonds/facets/RegistryFactoryFacet.sol new file mode 100644 index 000000000..23b2861ff --- /dev/null +++ b/pkg/contracts/src/diamonds/facets/RegistryFactoryFacet.sol @@ -0,0 +1,160 @@ +// SPDX-License-Identifier: AGPL-3.0-only +pragma solidity ^0.8.19; + +import { + RegistryCommunityV0_0, + RegistryCommunityInitializeParamsV0_0 +} from "@src/RegistryCommunity/RegistryCommunityV0_0.sol"; +import {RegistryCommunityV0_1 } from "@src/RegistryCommunity/RegistryCommunityV0_1.sol"; +import {ProxyOwnableUpgrader} from "@src/ProxyOwnableUpgrader.sol"; +import {ERC1967Proxy} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol"; +import {Clone} from "allo-v2-contracts/core/libraries/Clone.sol"; + +struct CommunityInfo { + uint256 fee; + bool valid; +} +/// @custom:oz-upgrades-from RegistryFactory + +contract RegistryFactoryFacet is ProxyOwnableUpgrader { + uint256 public nonce; + + mapping(address => CommunityInfo) communityToInfo; + address public gardensFeeReceiver; + address public registryCommunityTemplate; + address public strategyTemplate; + address public collateralVaultTemplate; + + /*|--------------------------------------------|*/ + /*| EVENTS |*/ + /*|--------------------------------------------|*/ + + event FeeReceiverSet(address _newFeeReceiver); + event ProtocolFeeSet(address _community, uint256 _newProtocolFee); + event CommunityCreated(address _registryCommunity); + event CommunityValiditySet(address _community, bool _isValid); + + /*|--------------------------------------------|*/ + /*| ERRORS |*/ + /*|--------------------------------------------|*/ + + error CommunityInvalid(address _community); + error AddressCannotBeZero(); + + /*|--------------------------------------------|*/ + /*| MODIFIERS |*/ + /*|--------------------------------------------|*/ + + function _revertZeroAddress(address _address) internal pure virtual { + if (_address == address(0)) revert AddressCannotBeZero(); + } + /// @param template: address of the template contract for creating new registries + /// @dev Set the address of the template contract for creating new registries + + function setRegistryCommunityTemplate(address template) external onlyOwner { + registryCommunityTemplate = template; + } + + /// @param template: address of the template contract for creating new strategies + /// @dev Set the address of the template contract for creating new strategies + function setStrategyTemplate(address template) external onlyOwner { + strategyTemplate = template; + } + + /// @param template: address of the template contract for creating new collateral vaults + /// @dev Set the address of the template contract for creating new collateral vaults + function setCollateralVaultTemplate(address template) external onlyOwner { + collateralVaultTemplate = template; + } + + /// @param _owner: address of the owner of the registry + /// @param _gardensFeeReceiver: address of the receiver of the fees + /// @param _registryCommunityTemplate: address of the template contract for creating new registries + /// @param _strategyTemplate: address of the template contract for creating new strategies + /// @param _collateralVaultTemplate: address of the template contract for creating new collateral vaults + // slither-disable-next-line unprotected-upgrade + function initialize( + address _owner, + address _gardensFeeReceiver, + address _registryCommunityTemplate, + address _strategyTemplate, + address _collateralVaultTemplate + ) public virtual initializer { + super.initialize(_owner); + nonce = 0; + _revertZeroAddress(_gardensFeeReceiver); + _revertZeroAddress(_registryCommunityTemplate); + _revertZeroAddress(_collateralVaultTemplate); + gardensFeeReceiver = _gardensFeeReceiver; + registryCommunityTemplate = _registryCommunityTemplate; + strategyTemplate = _strategyTemplate; + collateralVaultTemplate = _collateralVaultTemplate; + emit FeeReceiverSet(_gardensFeeReceiver); + // setReceiverAddress(_gardensFeeReceiver); //onlyOwner + } + + function initializeV2(address _owner) public reinitializer(2) { + transferOwnership(_owner); + } + + function initializeV3(address _owner) public reinitializer(3) { + transferOwnership(_owner); + } + + function createRegistry(RegistryCommunityInitializeParamsV0_0 memory params) + public + virtual + returns (address _createdRegistryAddress) + { + params._nonce = nonce++; + params._registryFactory = address(this); + + ERC1967Proxy proxy = new ERC1967Proxy( + address(registryCommunityTemplate), + abi.encodeWithSelector( + RegistryCommunityV0_0.initialize.selector, params, strategyTemplate, collateralVaultTemplate, owner() + ) + ); + + RegistryCommunityV0_0 registryCommunity = RegistryCommunityV0_0(payable(address(proxy))); + + // registryCommunity.initialize(params); + communityToInfo[address(registryCommunity)].valid = true; + emit CommunityCreated(address(registryCommunity)); + return address(registryCommunity); + } + + function setReceiverAddress(address _newFeeReceiver) public virtual onlyOwner { + _revertZeroAddress(_newFeeReceiver); + gardensFeeReceiver = _newFeeReceiver; + emit FeeReceiverSet(_newFeeReceiver); + } + + function getGardensFeeReceiver() external view virtual returns (address) { + return gardensFeeReceiver; + } + + function setProtocolFee(address _community, uint256 _newProtocolFee) public virtual onlyOwner { + communityToInfo[_community].fee = _newProtocolFee; + emit ProtocolFeeSet(_community, _newProtocolFee); + } + + function setCommunityValidity(address _community, bool _isValid) public virtual onlyOwner { + communityToInfo[_community].valid = _isValid; + emit CommunityValiditySet(_community, _isValid); + } + + function getCommunityValidity(address _community) external view virtual returns (bool) { + return communityToInfo[_community].valid; + } + + function getProtocolFee(address _community) external view virtual returns (uint256) { + if (!communityToInfo[_community].valid) { + revert CommunityInvalid(_community); + } + + return communityToInfo[_community].fee; + } + + uint256[50] private __gap; +} diff --git a/pkg/contracts/src/diamonds/facets/Test1Facet.sol b/pkg/contracts/src/diamonds/facets/Test1Facet.sol new file mode 100644 index 000000000..f82948718 --- /dev/null +++ b/pkg/contracts/src/diamonds/facets/Test1Facet.sol @@ -0,0 +1,79 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +// Example library to show a simple example of diamond storage +library TestLib { + bytes32 constant DIAMOND_STORAGE_POSITION = keccak256("diamond.standard.test.storage"); + + struct TestState { + address myAddress; + uint256 myNum; + } + + function diamondStorage() internal pure returns (TestState storage ds) { + bytes32 position = DIAMOND_STORAGE_POSITION; + assembly { + ds.slot := position + } + } + + function setMyAddress(address _myAddress) internal { + TestState storage testState = diamondStorage(); + testState.myAddress = _myAddress; + } + + function getMyAddress() internal view returns (address) { + TestState storage testState = diamondStorage(); + return testState.myAddress; + } +} + +contract Test1Facet { + event TestEvent(address something); + + function test1Func1() external { + TestLib.setMyAddress(address(this)); + } + + function test1Func2() external view returns (address) { + return TestLib.getMyAddress(); + } + + function test1Func3() external {} + + function test1Func4() external {} + + function test1Func5() external {} + + function test1Func6() external {} + + function test1Func7() external {} + + function test1Func8() external {} + + function test1Func9() external {} + + function test1Func10() external {} + + function test1Func11() external {} + + function test1Func12() external {} + + function test1Func13() external {} + + function test1Func14() external {} + + function test1Func15() external {} + + function test1Func16() external {} + + function test1Func17() external {} + + function test1Func18() external {} + + function test1Func19() external {} + + function test1Func20() external {} + + function supportsInterface(bytes4 _interfaceID) external view returns (bool) {} +} diff --git a/pkg/contracts/src/diamonds/facets/Test2Facet.sol b/pkg/contracts/src/diamonds/facets/Test2Facet.sol new file mode 100644 index 000000000..d0b893e16 --- /dev/null +++ b/pkg/contracts/src/diamonds/facets/Test2Facet.sol @@ -0,0 +1,44 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Test2Facet { + function test2Func1() external {} + + function test2Func2() external {} + + function test2Func3() external {} + + function test2Func4() external {} + + function test2Func5() external {} + + function test2Func6() external {} + + function test2Func7() external {} + + function test2Func8() external {} + + function test2Func9() external {} + + function test2Func10() external {} + + function test2Func11() external {} + + function test2Func12() external {} + + function test2Func13() external {} + + function test2Func14() external {} + + function test2Func15() external {} + + function test2Func16() external {} + + function test2Func17() external {} + + function test2Func18() external {} + + function test2Func19() external {} + + function test2Func20() external {} +} diff --git a/pkg/contracts/src/diamonds/interfaces/IDiamond.sol b/pkg/contracts/src/diamonds/interfaces/IDiamond.sol new file mode 100644 index 000000000..04ceffd97 --- /dev/null +++ b/pkg/contracts/src/diamonds/interfaces/IDiamond.sol @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +interface IDiamond { + enum FacetCutAction { + Add, + Replace, + Remove + } + // Add=0, Replace=1, Remove=2 + + struct FacetCut { + address facetAddress; + FacetCutAction action; + bytes4[] functionSelectors; + } + + event DiamondCut(FacetCut[] _diamondCut, address _init, bytes _calldata); +} diff --git a/pkg/contracts/src/diamonds/interfaces/IDiamondCut.sol b/pkg/contracts/src/diamonds/interfaces/IDiamondCut.sol new file mode 100644 index 000000000..69ba49cd8 --- /dev/null +++ b/pkg/contracts/src/diamonds/interfaces/IDiamondCut.sol @@ -0,0 +1,20 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +/** + * \ + * Author: Nick Mudge (https://twitter.com/mudgen) + * EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535 + * /***************************************************************************** + */ +import {IDiamond} from "./IDiamond.sol"; + +interface IDiamondCut is IDiamond { + /// @notice Add/replace/remove any number of functions and optionally execute + /// a function with delegatecall + /// @param _diamondCut Contains the facet addresses and function selectors + /// @param _init The address of the contract or facet to execute _calldata + /// @param _calldata A function call, including function selector and arguments + /// _calldata is executed with delegatecall on _init + function diamondCut(FacetCut[] calldata _diamondCut, address _init, bytes calldata _calldata) external; +} diff --git a/pkg/contracts/src/diamonds/interfaces/IDiamondLoupe.sol b/pkg/contracts/src/diamonds/interfaces/IDiamondLoupe.sol new file mode 100644 index 000000000..3b92c29d4 --- /dev/null +++ b/pkg/contracts/src/diamonds/interfaces/IDiamondLoupe.sol @@ -0,0 +1,33 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; +// A loupe is a small magnifying glass used to look at diamonds. +// These functions look at diamonds + +interface IDiamondLoupe { + /// These functions are expected to be called frequently + /// by tools. + + struct Facet { + address facetAddress; + bytes4[] functionSelectors; + } + + /// @notice Gets all facet addresses and their four byte function selectors. + /// @return facets_ Facet + function facets() external view returns (Facet[] memory facets_); + + /// @notice Gets all the function selectors supported by a specific facet. + /// @param _facet The facet address. + /// @return facetFunctionSelectors_ + function facetFunctionSelectors(address _facet) external view returns (bytes4[] memory facetFunctionSelectors_); + + /// @notice Get all the facet addresses used by a diamond. + /// @return facetAddresses_ + function facetAddresses() external view returns (address[] memory facetAddresses_); + + /// @notice Gets the facet that supports the given selector. + /// @dev If facet is not found return address(0). + /// @param _functionSelector The function selector. + /// @return facetAddress_ The facet address. + function facetAddress(bytes4 _functionSelector) external view returns (address facetAddress_); +} diff --git a/pkg/contracts/src/diamonds/interfaces/IERC165.sol b/pkg/contracts/src/diamonds/interfaces/IERC165.sol new file mode 100644 index 000000000..04b7bcc9a --- /dev/null +++ b/pkg/contracts/src/diamonds/interfaces/IERC165.sol @@ -0,0 +1,12 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +interface IERC165 { + /// @notice Query if a contract implements an interface + /// @param interfaceId The interface identifier, as specified in ERC-165 + /// @dev Interface identification is specified in ERC-165. This function + /// uses less than 30,000 gas. + /// @return `true` if the contract implements `interfaceID` and + /// `interfaceID` is not 0xffffffff, `false` otherwise + function supportsInterface(bytes4 interfaceId) external view returns (bool); +} diff --git a/pkg/contracts/src/diamonds/interfaces/IERC173.sol b/pkg/contracts/src/diamonds/interfaces/IERC173.sol new file mode 100644 index 000000000..a70804845 --- /dev/null +++ b/pkg/contracts/src/diamonds/interfaces/IERC173.sol @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +/// @title ERC-173 Contract Ownership Standard +/// Note: the ERC-165 identifier for this interface is 0x7f5828d0 +/* is ERC165 */ +interface IERC173 { + /// @dev This emits when ownership of a contract changes. + event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); + + /// @notice Get the address of the owner + /// @return owner_ The address of the owner. + function owner() external view returns (address owner_); + + /// @notice Set the address of the new owner of the contract + /// @dev Set _newOwner to address(0) to renounce any ownership. + /// @param _newOwner The address of the new owner of the contract + function transferOwnership(address _newOwner) external; +} diff --git a/pkg/contracts/src/diamonds/libraries/LibDiamond.sol b/pkg/contracts/src/diamonds/libraries/LibDiamond.sol new file mode 100644 index 000000000..c50c3d97a --- /dev/null +++ b/pkg/contracts/src/diamonds/libraries/LibDiamond.sol @@ -0,0 +1,214 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +/** + * \ + * Author: Nick Mudge (https://twitter.com/mudgen) + * EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535 + * /***************************************************************************** + */ +import {IDiamond} from "../interfaces/IDiamond.sol"; +import {IDiamondCut} from "../interfaces/IDiamondCut.sol"; + +// Remember to add the loupe functions from DiamondLoupeFacet to the diamond. +// The loupe functions are required by the EIP2535 Diamonds standard + +error NoSelectorsGivenToAdd(); +error NotContractOwner(address _user, address _contractOwner); +error NoSelectorsProvidedForFacetForCut(address _facetAddress); +error CannotAddSelectorsToZeroAddress(bytes4[] _selectors); +error NoBytecodeAtAddress(address _contractAddress, string _message); +error IncorrectFacetCutAction(uint8 _action); +error CannotAddFunctionToDiamondThatAlreadyExists(bytes4 _selector); +error CannotReplaceFunctionsFromFacetWithZeroAddress(bytes4[] _selectors); +error CannotReplaceImmutableFunction(bytes4 _selector); +error CannotReplaceFunctionWithTheSameFunctionFromTheSameFacet(bytes4 _selector); +error CannotReplaceFunctionThatDoesNotExists(bytes4 _selector); +error RemoveFacetAddressMustBeZeroAddress(address _facetAddress); +error CannotRemoveFunctionThatDoesNotExist(bytes4 _selector); +error CannotRemoveImmutableFunction(bytes4 _selector); +error InitializationFunctionReverted(address _initializationContractAddress, bytes _calldata); + +library LibDiamond { + bytes32 constant DIAMOND_STORAGE_POSITION = keccak256("diamond.standard.diamond.storage"); + bytes32 constant _IS_INITALIZED_SLOT = keccak256("diamond.contract.isInitialized"); + + + struct FacetAddressAndSelectorPosition { + address facetAddress; + uint16 selectorPosition; + } + + struct DiamondStorage { + // function selector => facet address and selector position in selectors array + mapping(bytes4 => FacetAddressAndSelectorPosition) facetAddressAndSelectorPosition; + bytes4[] selectors; + mapping(bytes4 => bool) supportedInterfaces; + // owner of the contract + address contractOwner; + bool isInitialized; + } + + function diamondStorage() internal pure returns (DiamondStorage storage ds) { + bytes32 position = DIAMOND_STORAGE_POSITION; + assembly { + ds.slot := position + } + } + + function isInitialized() internal view returns (bool) { + return diamondStorage().isInitialized; + } + function setInitialized() internal { + diamondStorage().isInitialized = true; + } + + event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); + + function setContractOwner(address _newOwner) internal { + DiamondStorage storage ds = diamondStorage(); + address previousOwner = ds.contractOwner; + ds.contractOwner = _newOwner; + emit OwnershipTransferred(previousOwner, _newOwner); + } + + function contractOwner() internal view returns (address contractOwner_) { + contractOwner_ = diamondStorage().contractOwner; + } + + function enforceIsContractOwner() internal view { + if (msg.sender != diamondStorage().contractOwner) { + revert NotContractOwner(msg.sender, diamondStorage().contractOwner); + } + } + + event DiamondCut(IDiamondCut.FacetCut[] _diamondCut, address _init, bytes _calldata); + + // Internal function version of diamondCut + function diamondCut(IDiamondCut.FacetCut[] memory _diamondCut, address _init, bytes memory _calldata) internal { + for (uint256 facetIndex; facetIndex < _diamondCut.length; facetIndex++) { + bytes4[] memory functionSelectors = _diamondCut[facetIndex].functionSelectors; + address facetAddress = _diamondCut[facetIndex].facetAddress; + if (functionSelectors.length == 0) { + revert NoSelectorsProvidedForFacetForCut(facetAddress); + } + IDiamondCut.FacetCutAction action = _diamondCut[facetIndex].action; + if (action == IDiamond.FacetCutAction.Add) { + addFunctions(facetAddress, functionSelectors); + } else if (action == IDiamond.FacetCutAction.Replace) { + replaceFunctions(facetAddress, functionSelectors); + } else if (action == IDiamond.FacetCutAction.Remove) { + removeFunctions(facetAddress, functionSelectors); + } else { + revert IncorrectFacetCutAction(uint8(action)); + } + } + emit DiamondCut(_diamondCut, _init, _calldata); + initializeDiamondCut(_init, _calldata); + } + + function addFunctions(address _facetAddress, bytes4[] memory _functionSelectors) internal { + if (_facetAddress == address(0)) { + revert CannotAddSelectorsToZeroAddress(_functionSelectors); + } + DiamondStorage storage ds = diamondStorage(); + uint16 selectorCount = uint16(ds.selectors.length); + enforceHasContractCode(_facetAddress, "LibDiamondCut: Add facet has no code"); + for (uint256 selectorIndex; selectorIndex < _functionSelectors.length; selectorIndex++) { + bytes4 selector = _functionSelectors[selectorIndex]; + address oldFacetAddress = ds.facetAddressAndSelectorPosition[selector].facetAddress; + if (oldFacetAddress != address(0)) { + revert CannotAddFunctionToDiamondThatAlreadyExists(selector); + } + ds.facetAddressAndSelectorPosition[selector] = FacetAddressAndSelectorPosition(_facetAddress, selectorCount); + ds.selectors.push(selector); + selectorCount++; + } + } + + function replaceFunctions(address _facetAddress, bytes4[] memory _functionSelectors) internal { + DiamondStorage storage ds = diamondStorage(); + if (_facetAddress == address(0)) { + revert CannotReplaceFunctionsFromFacetWithZeroAddress(_functionSelectors); + } + enforceHasContractCode(_facetAddress, "LibDiamondCut: Replace facet has no code"); + for (uint256 selectorIndex; selectorIndex < _functionSelectors.length; selectorIndex++) { + bytes4 selector = _functionSelectors[selectorIndex]; + address oldFacetAddress = ds.facetAddressAndSelectorPosition[selector].facetAddress; + // can't replace immutable functions -- functions defined directly in the diamond in this case + if (oldFacetAddress == address(this)) { + revert CannotReplaceImmutableFunction(selector); + } + if (oldFacetAddress == _facetAddress) { + revert CannotReplaceFunctionWithTheSameFunctionFromTheSameFacet(selector); + } + if (oldFacetAddress == address(0)) { + revert CannotReplaceFunctionThatDoesNotExists(selector); + } + // replace old facet address + ds.facetAddressAndSelectorPosition[selector].facetAddress = _facetAddress; + } + } + + function removeFunctions(address _facetAddress, bytes4[] memory _functionSelectors) internal { + DiamondStorage storage ds = diamondStorage(); + uint256 selectorCount = ds.selectors.length; + if (_facetAddress != address(0)) { + revert RemoveFacetAddressMustBeZeroAddress(_facetAddress); + } + for (uint256 selectorIndex; selectorIndex < _functionSelectors.length; selectorIndex++) { + bytes4 selector = _functionSelectors[selectorIndex]; + FacetAddressAndSelectorPosition memory oldFacetAddressAndSelectorPosition = + ds.facetAddressAndSelectorPosition[selector]; + if (oldFacetAddressAndSelectorPosition.facetAddress == address(0)) { + revert CannotRemoveFunctionThatDoesNotExist(selector); + } + + // can't remove immutable functions -- functions defined directly in the diamond + if (oldFacetAddressAndSelectorPosition.facetAddress == address(this)) { + revert CannotRemoveImmutableFunction(selector); + } + // replace selector with last selector + selectorCount--; + if (oldFacetAddressAndSelectorPosition.selectorPosition != selectorCount) { + bytes4 lastSelector = ds.selectors[selectorCount]; + ds.selectors[oldFacetAddressAndSelectorPosition.selectorPosition] = lastSelector; + ds.facetAddressAndSelectorPosition[lastSelector].selectorPosition = + oldFacetAddressAndSelectorPosition.selectorPosition; + } + // delete last selector + ds.selectors.pop(); + delete ds.facetAddressAndSelectorPosition[selector]; + } + } + + function initializeDiamondCut(address _init, bytes memory _calldata) internal { + if (_init == address(0)) { + return; + } + enforceHasContractCode(_init, "LibDiamondCut: _init address has no code"); + (bool success, bytes memory error) = _init.delegatecall(_calldata); + if (!success) { + if (error.length > 0) { + // bubble up error + /// @solidity memory-safe-assembly + assembly { + let returndata_size := mload(error) + revert(add(32, error), returndata_size) + } + } else { + revert InitializationFunctionReverted(_init, _calldata); + } + } + } + + function enforceHasContractCode(address _contract, string memory _errorMessage) internal view { + uint256 contractSize; + assembly { + contractSize := extcodesize(_contract) + } + if (contractSize == 0) { + revert NoBytecodeAtAddress(_contract, _errorMessage); + } + } +} diff --git a/pkg/contracts/src/diamonds/upgradeInitializers/DiamondInit.sol b/pkg/contracts/src/diamonds/upgradeInitializers/DiamondInit.sol new file mode 100644 index 000000000..220462056 --- /dev/null +++ b/pkg/contracts/src/diamonds/upgradeInitializers/DiamondInit.sol @@ -0,0 +1,43 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +/** + * \ + * Author: Nick Mudge (https://twitter.com/mudgen) + * EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535 + * + * Implementation of a diamond. + * /***************************************************************************** + */ +import {LibDiamond} from "@src/diamonds/libraries/LibDiamond.sol"; +import {IDiamondLoupe} from "@src/diamonds/interfaces/IDiamondLoupe.sol"; +import {IDiamondCut} from "@src/diamonds/interfaces/IDiamondCut.sol"; +import {IERC173} from "@src/diamonds/interfaces/IERC173.sol"; +import {IERC165} from "@src/diamonds/interfaces/IERC165.sol"; + +// It is expected that this contract is customized if you want to deploy your diamond +// with data from a deployment script. Use the init function to initialize state variables +// of your diamond. Add parameters to the init funciton if you need to. + +// Adding parameters to the `init` or other functions you add here can make a single deployed +// DiamondInit contract reusable accross upgrades, and can be used for multiple diamonds. + +contract DiamondInit { + // You can add parameters to this function in order to pass in + // data to set your own state variables + function init() external { + // adding ERC165 data + LibDiamond.DiamondStorage storage ds = LibDiamond.diamondStorage(); + ds.supportedInterfaces[type(IERC165).interfaceId] = true; + ds.supportedInterfaces[type(IDiamondCut).interfaceId] = true; + ds.supportedInterfaces[type(IDiamondLoupe).interfaceId] = true; + ds.supportedInterfaces[type(IERC173).interfaceId] = true; + + // add your own state variables + // EIP-2535 specifies that the `diamondCut` function takes two optional + // arguments: address _init and bytes calldata _calldata + // These arguments are used to execute an arbitrary function using delegatecall + // in order to set state variables in the diamond during deployment or an upgrade + // More info here: https://eips.ethereum.org/EIPS/eip-2535#diamond-interface + } +} diff --git a/pkg/contracts/src/diamonds/upgradeInitializers/DiamondMultiInit.sol b/pkg/contracts/src/diamonds/upgradeInitializers/DiamondMultiInit.sol new file mode 100644 index 000000000..5ecedf2db --- /dev/null +++ b/pkg/contracts/src/diamonds/upgradeInitializers/DiamondMultiInit.sol @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +/** + * \ + * Author: Nick Mudge (https://twitter.com/mudgen) + * EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535 + * + * Implementation of a diamond. + * /***************************************************************************** + */ +import {LibDiamond} from "@src/diamonds/libraries/LibDiamond.sol"; + +error AddressAndCalldataLengthDoNotMatch(uint256 _addressesLength, uint256 _calldataLength); + +contract DiamondMultiInit { + // This function is provided in the third parameter of the `diamondCut` function. + // The `diamondCut` function executes this function to execute multiple initializer functions for a single upgrade. + + function multiInit(address[] calldata _addresses, bytes[] calldata _calldata) external { + if (_addresses.length != _calldata.length) { + revert AddressAndCalldataLengthDoNotMatch(_addresses.length, _calldata.length); + } + for (uint256 i; i < _addresses.length; i++) { + LibDiamond.initializeDiamondCut(_addresses[i], _calldata[i]); + } + } +} diff --git a/pkg/contracts/test/CVStrategyHelpers.sol b/pkg/contracts/test/CVStrategyHelpers.sol index 2295bdc2b..4f10e5d66 100644 --- a/pkg/contracts/test/CVStrategyHelpers.sol +++ b/pkg/contracts/test/CVStrategyHelpers.sol @@ -4,9 +4,19 @@ pragma solidity ^0.8.19; import "forge-std/console.sol"; import {Allo} from "allo-v2-contracts/core/Allo.sol"; // import {Metadata} from "allo-v2-contracts/core/libraries/Metadata.sol"; -// import {StrategyStruct2} from "../src/libraries/StrategyStruct2.sol"; -// import {CVStrategyV0_0, StrategyStruct} from "../src/CVStrategy/CVStrategyV0_0.sol"; -import {CVStrategyV0_1, StrategyStruct2, CVStrategyV0_0, StrategyStruct} from "../src/CVStrategy/CVStrategyV0_1.sol"; +// import {CVStrategyV0_1} from "../src/libraries/CVStrategyV0_1.sol"; +// import {CVStrategyV0_0} from "../src/CVStrategy/CVStrategyV0_0.sol"; +import { + CVStrategyV0_1, + CVStrategyV0_0, + ProposalType, + PointSystem, + CreateProposal, + PointSystemConfig, + ArbitrableConfig, + CVStrategyInitializeParamsV0_1 +} from "../src/CVStrategy/CVStrategyV0_1.sol"; +import {CVStrategyInitializeParamsV0_0} from "../src/CVStrategy/CVStrategyV0_0.sol"; import {Native} from "allo-v2-contracts/core/libraries/Native.sol"; import {IRegistry, Metadata} from "allo-v2-contracts/core/interfaces/IRegistry.sol"; @@ -40,11 +50,11 @@ contract CVStrategyHelpers is Native, Accounts { function getParams( address registryCommunity, - StrategyStruct.ProposalType proposalType, - StrategyStruct.PointSystem pointSystem, - StrategyStruct.PointSystemConfig memory pointConfig, - StrategyStruct.ArbitrableConfig memory arbitrableConfig - ) public pure returns (StrategyStruct2.InitializeParams memory params) { + ProposalType proposalType, + PointSystem pointSystem, + PointSystemConfig memory pointConfig, + ArbitrableConfig memory arbitrableConfig + ) public pure returns (CVStrategyInitializeParamsV0_1 memory params) { // IAllo allo = IAllo(ALLO_PROXY_ADDRESS); params.cvParams.decay = _etherToFloat(0.9999799 ether); // alpha = decay params.cvParams.maxRatio = _etherToFloat(0.2 ether); // beta = maxRatio @@ -55,7 +65,7 @@ contract CVStrategyHelpers is Native, Accounts { params.pointSystem = pointSystem; if (pointConfig.maxAmount == 0) { - // StrategyStruct.PointSystemConfig memory pointConfig; + // PointSystemConfig memory pointConfig; //Capped point system pointConfig.maxAmount = 200 * DECIMALS; } @@ -71,13 +81,13 @@ contract CVStrategyHelpers is Native, Accounts { address registryCommunity, IRegistry registry, address token, - StrategyStruct.ProposalType proposalType, - StrategyStruct.PointSystem pointSystem, - StrategyStruct.PointSystemConfig memory pointConfig, - StrategyStruct.ArbitrableConfig memory arbitrableConfig + ProposalType proposalType, + PointSystem pointSystem, + PointSystemConfig memory pointConfig, + ArbitrableConfig memory arbitrableConfig ) public returns (uint256 poolId) { // IAllo allo = IAllo(ALLO_PROXY_ADDRESS); - StrategyStruct2.InitializeParams memory params = + CVStrategyInitializeParamsV0_1 memory params = getParams(registryCommunity, proposalType, pointSystem, pointConfig, arbitrableConfig); address[] memory _pool_managers = new address[](2); @@ -112,9 +122,9 @@ contract CVStrategyHelpers is Native, Accounts { address registryCommunity, IRegistry registry, address token, - StrategyStruct.ProposalType proposalType, - StrategyStruct.PointSystem pointSystem, - StrategyStruct.ArbitrableConfig memory arbitrableConfig + ProposalType proposalType, + PointSystem pointSystem, + ArbitrableConfig memory arbitrableConfig ) public returns (uint256 poolId) { return createPool( allo, @@ -124,7 +134,7 @@ contract CVStrategyHelpers is Native, Accounts { token, proposalType, pointSystem, - StrategyStruct.PointSystemConfig(0), + PointSystemConfig(0), arbitrableConfig ); } diff --git a/pkg/contracts/test/CVStrategyTest.t.sol b/pkg/contracts/test/CVStrategyTest.t.sol index 9c2718007..73e71f6b1 100644 --- a/pkg/contracts/test/CVStrategyTest.t.sol +++ b/pkg/contracts/test/CVStrategyTest.t.sol @@ -22,13 +22,30 @@ import {TestStrategy} from "allo-v2-test/utils/TestStrategy.sol"; import {MockStrategy} from "allo-v2-test/utils/MockStrategy.sol"; import {IArbitrator} from "../src/interfaces/IArbitrator.sol"; import {GV2ERC20} from "../script/GV2ERC20.sol"; -// import {StrategyStruct2} from "../src/libraries/StrategyStruct2.sol"; +// import {CVStrategyV0_1} from "../src/libraries/CVStrategyV0_1.sol"; // import {RegistryCommunityV0_1} from "../src/RegistryCommunity/RegistryCommunityV0_1.sol"; -import {RegistryCommunityV0_1, RegistryCommunityV0_0} from "../src/RegistryCommunity/RegistryCommunityV0_1.sol"; +import { + RegistryCommunityV0_1, + RegistryCommunityV0_0, + RegistryCommunityInitializeParamsV0_0 +} from "../src/RegistryCommunity/RegistryCommunityV0_1.sol"; import {CollateralVault} from "../src/CollateralVault.sol"; import {RegistryFactoryV0_0} from "../src/RegistryFactory/RegistryFactoryV0_0.sol"; -import {CVStrategyV0_1, CVStrategyV0_0, StrategyStruct, StrategyStruct2} from "../src/CVStrategy/CVStrategyV0_1.sol"; +import { + CVStrategyV0_1, + CVStrategyV0_0, + ProposalType, + ProposalStatus, + CVStrategyInitializeParamsV0_0, + CVStrategyInitializeParamsV0_1, + ArbitrableConfig, + PointSystemConfig, + PointSystem, + CreateProposal, + ProposalSupport, + CVParams +} from "../src/CVStrategy/CVStrategyV0_1.sol"; import {ISybilScorer, PassportData} from "../src/ISybilScorer.sol"; import {PassportScorer} from "../src/PassportScorer.sol"; @@ -123,7 +140,7 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers vm.stopPrank(); - RegistryCommunityV0_1.InitializeParams memory params; + RegistryCommunityInitializeParamsV0_0 memory params; params._allo = address(allo()); params._gardenToken = IERC20(address(token)); params._registerStakeAmount = MINIMUM_STAKE; @@ -162,16 +179,13 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers public returns (IAllo.Pool memory pool, uint256 poolId, uint256 proposalId) { - (pool, poolId, proposalId) = - _createProposal(_tokenPool, requestAmount, poolAmount, StrategyStruct.ProposalType.Funding); + (pool, poolId, proposalId) = _createProposal(_tokenPool, requestAmount, poolAmount, ProposalType.Funding); } - function _createProposal( - address _tokenPool, - uint256 requestAmount, - uint256 poolAmount, - StrategyStruct.ProposalType proposalType - ) public returns (IAllo.Pool memory pool, uint256 poolId, uint256 proposalId) { + function _createProposal(address _tokenPool, uint256 requestAmount, uint256 poolAmount, ProposalType proposalType) + public + returns (IAllo.Pool memory pool, uint256 poolId, uint256 proposalId) + { if (requestAmount == 0) { requestAmount = REQUESTED_AMOUNT; } @@ -186,14 +200,13 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers startMeasuringGas("createProposal"); // allo().addToCloneableStrategies(address(strategy)); - StrategyStruct.ArbitrableConfig memory arbitrableConfig = StrategyStruct.ArbitrableConfig( - safeArbitrator, payable(address(_councilSafe())), 0.02 ether, 0.01 ether, 1, 300 - ); - StrategyStruct2.InitializeParams memory params = getParams( + ArbitrableConfig memory arbitrableConfig = + ArbitrableConfig(safeArbitrator, payable(address(_councilSafe())), 0.02 ether, 0.01 ether, 1, 300); + CVStrategyInitializeParamsV0_1 memory params = getParams( address(registryCommunity), proposalType, - StrategyStruct.PointSystem.Unlimited, - StrategyStruct.PointSystemConfig(200 * DECIMALS), + PointSystem.Unlimited, + PointSystemConfig(200 * DECIMALS), arbitrableConfig ); @@ -233,8 +246,8 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers startMeasuringGas("createProposal"); - StrategyStruct.CreateProposal memory proposal = - StrategyStruct.CreateProposal(poolId, pool_admin(), requestAmount, address(useTokenPool), metadata); + CreateProposal memory proposal = + CreateProposal(poolId, pool_admin(), requestAmount, address(useTokenPool), metadata); bytes memory data = abi.encode(proposal); (,, uint256 submitterCollateralAmount,,,) = strategy.getArbitrableConfig(); @@ -246,10 +259,7 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers stopMeasuringGas(); } - function _assertProposalStatus(CVStrategyV0_1 cv, uint256 proposalId, StrategyStruct.ProposalStatus _toBeChecked) - internal - view - { + function _assertProposalStatus(CVStrategyV0_1 cv, uint256 proposalId, ProposalStatus _toBeChecked) internal view { ( , , @@ -261,7 +271,7 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers // address requestedToken, // uint256 requestedAmount // uint256 stakedTokens, - StrategyStruct.ProposalStatus proposalStatus, // uint256 blockLast, // uint256 convictionLast // uint256 threshold // uint256 voterPointsPct + ProposalStatus proposalStatus, // uint256 blockLast, // uint256 convictionLast // uint256 threshold // uint256 voterPointsPct , , , @@ -289,8 +299,7 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers function testRevert_createProposal_OverMaxRatio() public { (, uint256 poolId,) = _createProposal(NATIVE, 0, 0); - StrategyStruct.CreateProposal memory proposal = - StrategyStruct.CreateProposal(poolId, pool_admin(), 11000 ether, NATIVE, metadata); + CreateProposal memory proposal = CreateProposal(poolId, pool_admin(), 11000 ether, NATIVE, metadata); bytes memory data = abi.encode(proposal); vm.expectRevert(abi.encodeWithSelector(CVStrategyV0_0.AmountOverMaxRatio.selector)); allo().registerRecipient(poolId, data); @@ -319,14 +328,14 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers * */ // startMeasuringGas("Support a Proposal"); - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](2); - // votes[0] = StrategyStruct.ProposalSupport(proposalId, 70 - votes[0] = StrategyStruct.ProposalSupport(proposalId, 80); - votes[1] = StrategyStruct.ProposalSupport(proposalId, 20); // 70 + 20 = 90% = 45 - // votes[2] = StrategyStruct.ProposalSupport(proposalId, -10 ); // 90 - 10 = 80% = 40 + ProposalSupport[] memory votes = new ProposalSupport[](2); + // votes[0] = ProposalSupport(proposalId, 70 + votes[0] = ProposalSupport(proposalId, 80); + votes[1] = ProposalSupport(proposalId, 20); // 70 + 20 = 90% = 45 + // votes[2] = ProposalSupport(proposalId, -10 ); // 90 - 10 = 80% = 40 // 35 + 45 + 40 = 120 bytes memory data = abi.encode(votes); - // vm.expectRevert(CVStrategyV0_0.ProposalSupportDuplicated.selector); + // vm.expectRevert(ProposalSupportDuplicated.selector); vm.expectRevert(abi.encodeWithSelector(CVStrategyV0_0.ProposalSupportDuplicated.selector, proposalId, 0)); allo().allocate(poolId, data); stopMeasuringGas(); @@ -345,16 +354,16 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers * */ // startMeasuringGas("Support a Proposal"); - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](2); - // votes[0] = StrategyStruct.ProposalSupport(proposalId, 70 ); // 0 + 70 = 70% = 35 - votes[0] = StrategyStruct.ProposalSupport(proposalId, 80); // 0 + 70 = 70% = 35 - votes[1] = StrategyStruct.ProposalSupport(proposalId, 20); // 70 + 20 = 90% = 45 - // votes[2] = StrategyStruct.ProposalSupport(proposalId, -10 ); // 90 - 10 = 80% = 40 + ProposalSupport[] memory votes = new ProposalSupport[](2); + // votes[0] = ProposalSupport(proposalId, 70 ); // 0 + 70 = 70% = 35 + votes[0] = ProposalSupport(proposalId, 80); // 0 + 70 = 70% = 35 + votes[1] = ProposalSupport(proposalId, 20); // 70 + 20 = 90% = 45 + // votes[2] = ProposalSupport(proposalId, -10 ); // 90 - 10 = 80% = 40 // 35 + 45 + 40 = 120 bytes memory data = abi.encode(votes); vm.startPrank(pool_admin()); vm.expectRevert(CVStrategyV0_0.UserNotInRegistry.selector); - // vm.expectRevert(abi.encodeWithSelector(CVStrategyV0_0.ProposalSupportDuplicated.selector, proposalId, 0)); + // vm.expectRevert(abi.encodeWithSelector(ProposalSupportDuplicated.selector, proposalId, 0)); allo().allocate(poolId, data); vm.stopPrank(); @@ -367,9 +376,9 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers * ASSERTS * */ - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](2); - votes[0] = StrategyStruct.ProposalSupport(proposalId, 80); // 0 + 80 = 80% = 40 - votes[1] = StrategyStruct.ProposalSupport(proposalId, 20); // 80 + 20 = 100% = 50 + ProposalSupport[] memory votes = new ProposalSupport[](2); + votes[0] = ProposalSupport(proposalId, 80); // 0 + 80 = 80% = 40 + votes[1] = ProposalSupport(proposalId, 20); // 80 + 20 = 100% = 50 bytes memory data = abi.encode(votes); CVStrategyV0_1 cv = CVStrategyV0_1(payable(address(pool.strategy))); cv.deactivatePoints(); @@ -384,15 +393,15 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers * */ int256 SUPPORT_PCT = int256(MINIMUM_STAKE); - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](1); - votes[0] = StrategyStruct.ProposalSupport(10, SUPPORT_PCT); // 0 + 70 = 70% = 35 + ProposalSupport[] memory votes = new ProposalSupport[](1); + votes[0] = ProposalSupport(10, SUPPORT_PCT); // 0 + 70 = 70% = 35 bytes memory data = abi.encode(votes); // Had to change the way to test the reverts, will fail because of invalid proposal // since a proposal that doesn't exist will automatically have inactive status // vm.expectRevert(abi.encodeWithSelector(CVStrategyV0_0.ProposalNotInList.selector, 10)); vm.expectRevert( abi.encodeWithSelector( - CVStrategyV0_1.ProposalInvalidForAllocation.selector, 10, StrategyStruct.ProposalStatus.Inactive + CVStrategyV0_1.ProposalInvalidForAllocation.selector, 10, ProposalStatus.Inactive ) ); allo().allocate(poolId, data); @@ -405,8 +414,8 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers * */ int256 SUPPORT_PCT = int256(MINIMUM_STAKE * 10); - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](1); - votes[0] = StrategyStruct.ProposalSupport(proposalId, SUPPORT_PCT); // 0 + 70 = 70% = 35 + ProposalSupport[] memory votes = new ProposalSupport[](1); + votes[0] = ProposalSupport(proposalId, SUPPORT_PCT); // 0 + 70 = 70% = 35 bytes memory data = abi.encode(votes); uint256 newTotalVotingSupport = 500000000000000000000; uint256 participantBalance = 50000000000000000000; @@ -427,8 +436,8 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers * */ int256 SUPPORT_PCT = int256(-50); - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](1); - votes[0] = StrategyStruct.ProposalSupport(proposalId, SUPPORT_PCT); // 0 + 70 = 70% = 35 + ProposalSupport[] memory votes = new ProposalSupport[](1); + votes[0] = ProposalSupport(proposalId, SUPPORT_PCT); // 0 + 70 = 70% = 35 bytes memory data = abi.encode(votes); vm.expectRevert(abi.encodeWithSelector(CVStrategyV0_0.SupportUnderflow.selector, 0, SUPPORT_PCT, SUPPORT_PCT)); allo().allocate(poolId, data); @@ -456,8 +465,8 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers // * // */ // // startMeasuringGas("Support a Proposal"); - // StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](1); - // votes[0] = StrategyStruct.ProposalSupport(proposalId, -100 ); + // ProposalSupport[] memory votes = new ProposalSupport[](1); + // votes[0] = ProposalSupport(proposalId, -100 ); // bytes memory data = abi.encode(votes); // CVStrategyV0_1 cv = CVStrategyV0_1(payable(address(pool.strategy))); @@ -480,12 +489,12 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers (, uint256 poolId,) = _createProposal(NATIVE, 0, 0); // address wrong_token = address(new GV2ERC20()); - StrategyStruct.CreateProposal memory proposal = - StrategyStruct.CreateProposal(poolId, pool_admin(), REQUESTED_AMOUNT, address(0x666), metadata); + CreateProposal memory proposal = + CreateProposal(poolId, pool_admin(), REQUESTED_AMOUNT, address(0x666), metadata); bytes memory data = abi.encode(proposal); vm.expectRevert(abi.encodeWithSelector(CVStrategyV0_0.TokenNotAllowed.selector)); allo().registerRecipient(poolId, data); - proposal = StrategyStruct.CreateProposal(poolId, pool_admin(), REQUESTED_AMOUNT, address(0), metadata); + proposal = CreateProposal(poolId, pool_admin(), REQUESTED_AMOUNT, address(0), metadata); data = abi.encode(proposal); vm.expectRevert(abi.encodeWithSelector(CVStrategyV0_0.TokenCannotBeZero.selector)); allo().registerRecipient(poolId, data); @@ -494,8 +503,7 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers function testRevert_registerRecipient_PoolIdCannotBeZero() public { (, uint256 poolId,) = _createProposal(NATIVE, 0, 0); // address wrong_token = address(new GV2ERC20()); - StrategyStruct.CreateProposal memory proposal = - StrategyStruct.CreateProposal(0, pool_admin(), REQUESTED_AMOUNT, address(token), metadata); + CreateProposal memory proposal = CreateProposal(0, pool_admin(), REQUESTED_AMOUNT, address(token), metadata); bytes memory data = abi.encode(proposal); vm.expectRevert(abi.encodeWithSelector(CVStrategyV0_0.PoolIdCannotBeZero.selector)); allo().registerRecipient(poolId, data); @@ -509,8 +517,8 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers */ uint256 STAKED_AMOUNT = uint256(80); // startMeasuringGas("Support a Proposal"); - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](1); - votes[0] = StrategyStruct.ProposalSupport(proposalId, int256(STAKED_AMOUNT)); // 0 + 70 = 70% = 35 range is -100 +100 + ProposalSupport[] memory votes = new ProposalSupport[](1); + votes[0] = ProposalSupport(proposalId, int256(STAKED_AMOUNT)); // 0 + 70 = 70% = 35 range is -100 +100 bytes memory data = abi.encode(votes); allo().allocate(poolId, data); @@ -529,8 +537,8 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers // token.approve(address(registryCommunity), registryCommunity.getBasisStakedAmount()); // registryCommunity.stakeAndregisterMember(); - StrategyStruct.ProposalSupport[] memory votes2 = new StrategyStruct.ProposalSupport[](1); - votes2[0] = StrategyStruct.ProposalSupport(proposalId, 20); + ProposalSupport[] memory votes2 = new ProposalSupport[](1); + votes2[0] = ProposalSupport(proposalId, 20); data = abi.encode(votes2); // vm.expectEmit(true, true, true, false); allo().allocate(poolId, data); @@ -547,8 +555,8 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers */ // startMeasuringGas("Support a Proposal"); uint256 STAKED_AMOUNT = 80; - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](1); - votes[0] = StrategyStruct.ProposalSupport(proposalId, int256(STAKED_AMOUNT)); // 0 + 70 = 70% = 35 range is -100 +100 + ProposalSupport[] memory votes = new ProposalSupport[](1); + votes[0] = ProposalSupport(proposalId, int256(STAKED_AMOUNT)); // 0 + 70 = 70% = 35 range is -100 +100 bytes memory data = abi.encode(votes); allo().allocate(poolId, data); @@ -559,8 +567,8 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers assertEq(cv.getProposalStakedAmount(proposalId), STAKED_AMOUNT); // 80% of 50 = 40 uint256 STAKED_AMOUNT2 = 20; - StrategyStruct.ProposalSupport[] memory votes2 = new StrategyStruct.ProposalSupport[](1); - votes2[0] = StrategyStruct.ProposalSupport(proposalId, int256(STAKED_AMOUNT2)); + ProposalSupport[] memory votes2 = new ProposalSupport[](1); + votes2[0] = ProposalSupport(proposalId, int256(STAKED_AMOUNT2)); data = abi.encode(votes2); // vm.expectEmit(true, true, true, false); allo().allocate(poolId, data); @@ -578,8 +586,8 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers * ASSERTS */ // startMeasuringGas("Support a Proposal"); - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](1); - votes[0] = StrategyStruct.ProposalSupport(proposalId, 80); // 0 + 70 = 70% = 35 range is -100 +100 + ProposalSupport[] memory votes = new ProposalSupport[](1); + votes[0] = ProposalSupport(proposalId, 80); // 0 + 70 = 70% = 35 range is -100 +100 bytes memory data = abi.encode(votes); allo().allocate(poolId, data); @@ -590,8 +598,8 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers assertEq(cv.getProposalVoterStake(proposalId, address(this)), STAKED_AMOUNT); // 80% of 50 = 40 assertEq(cv.getProposalStakedAmount(proposalId), STAKED_AMOUNT); // 80% of 50 = 40 - StrategyStruct.ProposalSupport[] memory votes2 = new StrategyStruct.ProposalSupport[](1); - votes2[0] = StrategyStruct.ProposalSupport(proposalId, 20); + ProposalSupport[] memory votes2 = new ProposalSupport[](1); + votes2[0] = ProposalSupport(proposalId, 20); data = abi.encode(votes2); // vm.expectEmit(true, true, true, false); allo().allocate(poolId, data); @@ -628,8 +636,8 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers // Checking that poolActive doesnt influence allocate behavior uint256 AMOUNT_STAKED = uint256(80); // startMeasuringGas("Support a Proposal"); - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](1); - votes[0] = StrategyStruct.ProposalSupport(proposalId, int256(AMOUNT_STAKED)); + ProposalSupport[] memory votes = new ProposalSupport[](1); + votes[0] = ProposalSupport(proposalId, int256(AMOUNT_STAKED)); bytes memory data = abi.encode(votes); allo().allocate(poolId, data); } @@ -652,13 +660,13 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers // cv.setDecay(_etherToFloat(0.9 ether)); // alpha = decay // cv.setMaxRatio(_etherToFloat(0.2 ether)); // beta = maxRatio // cv.setWeight(_etherToFloat(0.002 ether)); // RHO = p = weight - StrategyStruct.CVParams memory params = StrategyStruct.CVParams({ + CVParams memory params = CVParams({ maxRatio: _etherToFloat(0.2 ether), weight: _etherToFloat(0.002 ether), decay: _etherToFloat(0.9 ether), minThresholdPoints: 0 }); - StrategyStruct.ArbitrableConfig memory arbConfig; + ArbitrableConfig memory arbConfig; vm.startPrank(address(_councilSafe())); cv.setPoolParams(arbConfig, params); vm.stopPrank(); @@ -670,8 +678,8 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers */ uint256 AMOUNT_STAKED = uint256(80); // startMeasuringGas("Support a Proposal"); - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](1); - votes[0] = StrategyStruct.ProposalSupport(proposalId, int256(AMOUNT_STAKED)); + ProposalSupport[] memory votes = new ProposalSupport[](1); + votes[0] = ProposalSupport(proposalId, int256(AMOUNT_STAKED)); bytes memory data = abi.encode(votes); allo().allocate(poolId, data); stopMeasuringGas(); @@ -695,11 +703,11 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers // cv.setMaxRatio(_etherToFloat(0.2 ether)); // beta = maxRatio // cv.setWeight(_etherToFloat(0.002 ether)); // RHO = p = weight - StrategyStruct.ArbitrableConfig memory arbConfig; + ArbitrableConfig memory arbConfig; vm.startPrank(address(_councilSafe())); cv.setPoolParams( arbConfig, - StrategyStruct.CVParams({ + CVParams({ maxRatio: _etherToFloat(0.2 ether), weight: _etherToFloat(0.002 ether), decay: _etherToFloat(0.9 ether), @@ -720,8 +728,8 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers * ASSERTS */ // startMeasuringGas("Support a Proposal"); - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](1); - votes[0] = StrategyStruct.ProposalSupport(proposalId, 100); + ProposalSupport[] memory votes = new ProposalSupport[](1); + votes[0] = ProposalSupport(proposalId, 100); bytes memory data = abi.encode(votes); allo().allocate(poolId, data); stopMeasuringGas(); @@ -773,8 +781,8 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers * ASSERTS */ // startMeasuringGas("Support a Proposal"); - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](1); - votes[0] = StrategyStruct.ProposalSupport(proposalId, 100); // 0 + 70 = 70% = 35 + ProposalSupport[] memory votes = new ProposalSupport[](1); + votes[0] = ProposalSupport(proposalId, 100); // 0 + 70 = 70% = 35 bytes memory data = abi.encode(votes); allo().allocate(poolId, data); stopMeasuringGas(); @@ -809,8 +817,8 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers */ // // startMeasuringGas("Support a Proposal"); uint256 AMOUNT_STAKED = 100; - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](1); - votes[0] = StrategyStruct.ProposalSupport(proposalId, int256(AMOUNT_STAKED)); + ProposalSupport[] memory votes = new ProposalSupport[](1); + votes[0] = ProposalSupport(proposalId, int256(AMOUNT_STAKED)); bytes memory data = abi.encode(votes); allo().allocate(poolId, data); // stopMeasuringGas(); @@ -820,7 +828,7 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers assertEq(cv.getProposalStakedAmount(1), AMOUNT_STAKED); int256 REMOVE_SUPPORT = -80; - votes[0] = StrategyStruct.ProposalSupport(1, REMOVE_SUPPORT); + votes[0] = ProposalSupport(1, REMOVE_SUPPORT); data = abi.encode(votes); allo().allocate(poolId, data); @@ -831,7 +839,7 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers assertEq(cv.totalStaked(), uint256(int256(AMOUNT_STAKED) + REMOVE_SUPPORT), "TotalStaked"); int256 REMOVE_SUPPORT2 = -5; - votes[0] = StrategyStruct.ProposalSupport(1, REMOVE_SUPPORT2); + votes[0] = ProposalSupport(1, REMOVE_SUPPORT2); data = abi.encode(votes); allo().allocate(poolId, data); @@ -863,14 +871,14 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers * */ // startMeasuringGas("Support a Proposal"); - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](2); - votes[0] = StrategyStruct.ProposalSupport(proposalId, 100e4); + ProposalSupport[] memory votes = new ProposalSupport[](2); + votes[0] = ProposalSupport(proposalId, 100e4); votes[1]; bytes memory data = abi.encode(votes); // will revert for proposalId 0 because votes[1] is empty so default proposalId value will be 0 vm.expectRevert( abi.encodeWithSelector( - CVStrategyV0_1.ProposalInvalidForAllocation.selector, 0, StrategyStruct.ProposalStatus.Inactive + CVStrategyV0_1.ProposalInvalidForAllocation.selector, 0, ProposalStatus.Inactive ) ); allo().allocate(proposalId, data); @@ -887,9 +895,9 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers * */ // startMeasuringGas("Support a Proposal"); - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](1); + ProposalSupport[] memory votes = new ProposalSupport[](1); - votes[0] = StrategyStruct.ProposalSupport(proposalId, int256(PRECISE_FIVE_PERCENT)); + votes[0] = ProposalSupport(proposalId, int256(PRECISE_FIVE_PERCENT)); bytes memory data = abi.encode(votes); vm.startPrank(address(0)); @@ -909,9 +917,9 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers * */ // startMeasuringGas("Support a Proposal"); - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](1); + ProposalSupport[] memory votes = new ProposalSupport[](1); - votes[0] = StrategyStruct.ProposalSupport(proposalId, int256(PRECISE_FIVE_PERCENT)); + votes[0] = ProposalSupport(proposalId, int256(PRECISE_FIVE_PERCENT)); bytes memory data = abi.encode(votes); allo().allocate(proposalId, data); stopMeasuringGas(); @@ -948,8 +956,8 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers // startMeasuringGas("Support a Proposal"); int256 SUPPORT_PCT = int256(MINIMUM_STAKE); - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](1); - votes[0] = StrategyStruct.ProposalSupport(proposalId, SUPPORT_PCT); // 0 + 70 = 70% = 35 + ProposalSupport[] memory votes = new ProposalSupport[](1); + votes[0] = ProposalSupport(proposalId, SUPPORT_PCT); // 0 + 70 = 70% = 35 bytes memory data = abi.encode(votes); allo().allocate(poolId, data); stopMeasuringGas(); @@ -968,9 +976,9 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers registryCommunity.stakeAndRegisterMember(); cv.activatePoints(); - StrategyStruct.ProposalSupport[] memory votes2 = new StrategyStruct.ProposalSupport[](1); + ProposalSupport[] memory votes2 = new ProposalSupport[](1); int256 SUPPORT_PCT2 = int256(MINIMUM_STAKE); - votes2[0] = StrategyStruct.ProposalSupport(proposalId, SUPPORT_PCT2); + votes2[0] = ProposalSupport(proposalId, SUPPORT_PCT2); data = abi.encode(votes2); // vm.expectEmit(true, true, true, false); allo().allocate(poolId, data); @@ -1042,11 +1050,11 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers CVStrategyV0_1 cv = CVStrategyV0_1(payable(address(pool.strategy))); - StrategyStruct.ArbitrableConfig memory arbConfig; + ArbitrableConfig memory arbConfig; vm.startPrank(address(_councilSafe())); cv.setPoolParams( arbConfig, - StrategyStruct.CVParams({ + CVParams({ maxRatio: _etherToFloat(0.1 ether), weight: _etherToFloat(0.0005 ether), decay: _etherToFloat(0.9965402 ether), @@ -1056,8 +1064,8 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers vm.stopPrank(); // startMeasuringGas("Support a Proposal"); int256 SUPPORT_PCT = int256(MINIMUM_STAKE); - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](1); - votes[0] = StrategyStruct.ProposalSupport(proposalId, SUPPORT_PCT); // 0 + 70 = 70% = 35 + ProposalSupport[] memory votes = new ProposalSupport[](1); + votes[0] = ProposalSupport(proposalId, SUPPORT_PCT); // 0 + 70 = 70% = 35 bytes memory data = abi.encode(votes); allo().allocate(poolId, data); stopMeasuringGas(); @@ -1076,9 +1084,9 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers registryCommunity.stakeAndRegisterMember(); cv.activatePoints(); - StrategyStruct.ProposalSupport[] memory votes2 = new StrategyStruct.ProposalSupport[](1); + ProposalSupport[] memory votes2 = new ProposalSupport[](1); int256 SUPPORT_PCT2 = int256(MINIMUM_STAKE); - votes2[0] = StrategyStruct.ProposalSupport(proposalId, SUPPORT_PCT2); + votes2[0] = ProposalSupport(proposalId, SUPPORT_PCT2); data = abi.encode(votes2); // vm.expectEmit(true, true, true, false); allo().allocate(poolId, data); @@ -1138,7 +1146,7 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers vm.startPrank(address(_councilSafe())); cv.setPoolParams( arbConfig, - StrategyStruct.CVParams({ + CVParams({ maxRatio: _etherToFloat(0.1 ether), weight: _etherToFloat(0.0005 ether), decay: _etherToFloat(0.9965402 ether), @@ -1178,8 +1186,8 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers int256 SUPPORT_PCT = 1000 * int256(DECIMALS); - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](1); - votes[0] = StrategyStruct.ProposalSupport(proposalId, SUPPORT_PCT); // 0 + 70 = 70% = 35 + ProposalSupport[] memory votes = new ProposalSupport[](1); + votes[0] = ProposalSupport(proposalId, SUPPORT_PCT); // 0 + 70 = 70% = 35 bytes memory data = abi.encode(votes); allo().allocate(poolId, data); stopMeasuringGas(); @@ -1202,9 +1210,9 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers registryCommunity.increasePower(1000 * DECIMALS); - StrategyStruct.ProposalSupport[] memory votes2 = new StrategyStruct.ProposalSupport[](1); + ProposalSupport[] memory votes2 = new ProposalSupport[](1); int256 SUPPORT_PCT2 = 1000 * int256(DECIMALS); - votes2[0] = StrategyStruct.ProposalSupport(proposalId, SUPPORT_PCT2); + votes2[0] = ProposalSupport(proposalId, SUPPORT_PCT2); data = abi.encode(votes2); // vm.expectEmit(true, true, true, false); allo().allocate(poolId, data); @@ -1308,8 +1316,8 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers int256 SUPPORT_PCT = 50 * int256(DECIMALS); - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](1); - votes[0] = StrategyStruct.ProposalSupport(proposalId, SUPPORT_PCT); // 0 + 70 = 70% = 35 + ProposalSupport[] memory votes = new ProposalSupport[](1); + votes[0] = ProposalSupport(proposalId, SUPPORT_PCT); // 0 + 70 = 70% = 35 bytes memory data = abi.encode(votes); allo().allocate(poolId, data); stopMeasuringGas(); @@ -1328,9 +1336,9 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers registryCommunity.stakeAndRegisterMember(); cv.activatePoints(); - StrategyStruct.ProposalSupport[] memory votes2 = new StrategyStruct.ProposalSupport[](1); + ProposalSupport[] memory votes2 = new ProposalSupport[](1); int256 SUPPORT_PCT2 = 50 * int256(DECIMALS); - votes2[0] = StrategyStruct.ProposalSupport(proposalId, SUPPORT_PCT2); + votes2[0] = ProposalSupport(proposalId, SUPPORT_PCT2); data = abi.encode(votes2); // vm.expectEmit(true, true, true, false); allo().allocate(poolId, data); @@ -1420,11 +1428,11 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers // cv.setMaxRatio(_etherToFloat(0.1 ether)); // beta = maxRatio // cv.setWeight(_etherToFloat(0.0005 ether)); // RHO = p = weight - // StrategyStruct.ArbitrableConfig memory arbConfig; + // ArbitrableConfig memory arbConfig; vm.startPrank(address(_councilSafe())); cv.setPoolParams( - StrategyStruct.ArbitrableConfig(IArbitrator(address(0)), address(0), 0, 0, 0, 0), - StrategyStruct.CVParams({ + ArbitrableConfig(IArbitrator(address(0)), address(0), 0, 0, 0, 0), + CVParams({ maxRatio: _etherToFloat(0.1 ether), weight: _etherToFloat(0.0005 ether), decay: _etherToFloat(0.9965402 ether), @@ -1444,8 +1452,8 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers int256 SUPPORT_PCT = int256(MINIMUM_STAKE); - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](1); - votes[0] = StrategyStruct.ProposalSupport(proposalId, SUPPORT_PCT); // 0 + 70 = 70% = 35 + ProposalSupport[] memory votes = new ProposalSupport[](1); + votes[0] = ProposalSupport(proposalId, SUPPORT_PCT); // 0 + 70 = 70% = 35 bytes memory data = abi.encode(votes); allo().allocate(poolId, data); stopMeasuringGas(); @@ -1464,11 +1472,11 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers registryCommunity.stakeAndRegisterMember(); cv.activatePoints(); - StrategyStruct.ProposalSupport[] memory votes2 = new StrategyStruct.ProposalSupport[](1); + ProposalSupport[] memory votes2 = new ProposalSupport[](1); int256 SUPPORT_PCT2 = int256(MINIMUM_STAKE); - votes2[0] = StrategyStruct.ProposalSupport(proposalId, SUPPORT_PCT2); + votes2[0] = ProposalSupport(proposalId, SUPPORT_PCT2); data = abi.encode(votes2); // vm.expectEmit(true, true, true, false); allo().allocate(poolId, data); @@ -1574,8 +1582,8 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers */ // startMeasuringGas("Support a Proposal"); int256 SUPPORT_POINTS = 25 * int256(DECIMALS); - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](1); - votes[0] = StrategyStruct.ProposalSupport(proposalId, SUPPORT_POINTS); + ProposalSupport[] memory votes = new ProposalSupport[](1); + votes[0] = ProposalSupport(proposalId, SUPPORT_POINTS); bytes memory data = abi.encode(votes); allo().allocate(poolId, data); stopMeasuringGas(); @@ -1594,9 +1602,9 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers registryCommunity.stakeAndRegisterMember(); cv.activatePoints(); - StrategyStruct.ProposalSupport[] memory votes2 = new StrategyStruct.ProposalSupport[](1); + ProposalSupport[] memory votes2 = new ProposalSupport[](1); int256 SUPPORT_POINTS2 = 25 * int256(DECIMALS); - votes2[0] = StrategyStruct.ProposalSupport(proposalId, SUPPORT_POINTS2); + votes2[0] = ProposalSupport(proposalId, SUPPORT_POINTS2); data = abi.encode(votes2); // vm.expectEmit(true, true, true, false); allo().allocate(poolId, data); @@ -1686,8 +1694,8 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers */ // startMeasuringGas("Support a Proposal"); int256 SUPPORT_PCT = 80e4; - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](1); - votes[0] = StrategyStruct.ProposalSupport(proposalId, SUPPORT_PCT); // 0 + 70 = 70% = 35 + ProposalSupport[] memory votes = new ProposalSupport[](1); + votes[0] = ProposalSupport(proposalId, SUPPORT_PCT); // 0 + 70 = 70% = 35 bytes memory data = abi.encode(votes); allo().allocate(poolId, data); stopMeasuringGas(); @@ -1703,11 +1711,11 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers */ vm.startPrank(pool_admin()); - StrategyStruct.CreateProposal memory proposal = StrategyStruct.CreateProposal( + CreateProposal memory proposal = CreateProposal( // proposalID2, poolId, pool_admin(), - // StrategyStruct.ProposalType.Funding, + // ProposalType.Funding, REQUESTED_AMOUNT, address(token), metadata @@ -1721,9 +1729,9 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers registryCommunity.stakeAndRegisterMember(); cv.activatePoints(); - votes = new StrategyStruct.ProposalSupport[](1); + votes = new ProposalSupport[](1); int256 SUPPORT_PCT2 = 100e4; - votes[0] = StrategyStruct.ProposalSupport(proposalID2, SUPPORT_PCT2); + votes[0] = ProposalSupport(proposalID2, SUPPORT_PCT2); data = abi.encode(votes); // vm.expectEmit(true, true, true, false); allo().allocate(poolId, data); @@ -1789,9 +1797,9 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers ); // // startMeasuringGas("Support a Proposal"); int256 SUPPORT_PCT = int256(MINIMUM_STAKE + extraStakeAmount); - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](1); - // votes[0] = StrategyStruct.ProposalSupport(proposalId, SUPPORT_PCT ); // 0 + 70 = 70% = 35 - votes[0] = StrategyStruct.ProposalSupport(proposalId, SUPPORT_PCT); // 0 + 70 = 70% = 35 + ProposalSupport[] memory votes = new ProposalSupport[](1); + // votes[0] = ProposalSupport(proposalId, SUPPORT_PCT ); // 0 + 70 = 70% = 35 + votes[0] = ProposalSupport(proposalId, SUPPORT_PCT); // 0 + 70 = 70% = 35 // bytes memory data = ; allo().allocate(poolId, abi.encode(votes)); console.log("TOTAL POINTS ACTIVATED", cv.totalEffectiveActivePoints()); @@ -1850,7 +1858,7 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers // console.log("Beneficienry After amount: %s", amount); (,, uint256 submitterCollateralAmount,,,) = cv.getArbitrableConfig(); assertEq(amount - submitterCollateralAmount, requestedAmount); - _assertProposalStatus(cv, proposalId, StrategyStruct.ProposalStatus.Executed); + _assertProposalStatus(cv, proposalId, ProposalStatus.Executed); } function test_distribute_with_token() public { @@ -1866,9 +1874,9 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers ); // startMeasuringGas("Support a Proposal"); int256 SUPPORT_PCT = int256(MINIMUM_STAKE); - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](1); - // votes[0] = StrategyStruct.ProposalSupport(proposalId, SUPPORT_PCT ); // 0 + 70 = 70% = 35 - votes[0] = StrategyStruct.ProposalSupport(proposalId, SUPPORT_PCT); // 0 + 70 = 70% = 35 + ProposalSupport[] memory votes = new ProposalSupport[](1); + // votes[0] = ProposalSupport(proposalId, SUPPORT_PCT ); // 0 + 70 = 70% = 35 + votes[0] = ProposalSupport(proposalId, SUPPORT_PCT); // 0 + 70 = 70% = 35 // bytes memory data = ; allo().allocate(poolId, abi.encode(votes)); console.log("TOTAL POINTS ACTIVATED", cv.totalEffectiveActivePoints()); @@ -1934,7 +1942,7 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers amount = getBalance(pool.token, beneficiary) - amount; console.log("Beneficienry After amount: %s", amount); assertEq(amount, requestedAmount, "requestedAmount"); - _assertProposalStatus(cv, proposalId, StrategyStruct.ProposalStatus.Executed); + _assertProposalStatus(cv, proposalId, ProposalStatus.Executed); } function test_distribute_native_token() public { @@ -1949,9 +1957,9 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers // ); // startMeasuringGas("Support a Proposal"); int256 SUPPORT_PCT = int256(MINIMUM_STAKE); - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](1); - // votes[0] = StrategyStruct.ProposalSupport(proposalId, SUPPORT_PCT ); // 0 + 70 = 70% = 35 - votes[0] = StrategyStruct.ProposalSupport(proposalId, SUPPORT_PCT); // 0 + 70 = 70% = 35 + ProposalSupport[] memory votes = new ProposalSupport[](1); + // votes[0] = ProposalSupport(proposalId, SUPPORT_PCT ); // 0 + 70 = 70% = 35 + votes[0] = ProposalSupport(proposalId, SUPPORT_PCT); // 0 + 70 = 70% = 35 // bytes memory data = ; allo().allocate(poolId, abi.encode(votes)); console.log("TOTAL POINTS ACTIVATED", cv.totalEffectiveActivePoints()); @@ -2012,13 +2020,13 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers allo().distribute(poolId, recipients, dataProposal); // Removed this revert for now, waiting for further talks with team to check if we put back the revert in update // proposal conviction - // vm.expectRevert(abi.encodeWithSelector(CVStrategyV0_0.ProposalNotActive.selector, proposalId)); + // vm.expectRevert(abi.encodeWithSelector(ProposalNotActive.selector, proposalId)); cv.updateProposalConviction(proposalId); amount = getBalance(pool.token, beneficiary); // console.log("Beneficienry After amount: %s", amount); (,, uint256 submitterCollateralAmount,,,) = cv.getArbitrableConfig(); assertEq(amount, requestedAmount + submitterCollateralAmount); - _assertProposalStatus(cv, proposalId, StrategyStruct.ProposalStatus.Executed); + _assertProposalStatus(cv, proposalId, ProposalStatus.Executed); } function testRevert_onlyCouncilSafe() public { @@ -2058,7 +2066,7 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers vm.expectRevert(abi.encodeWithSelector(CVStrategyV0_0.ConvictionUnderMinimumThreshold.selector)); allo().distribute(poolId, recipients, dataProposal); - _assertProposalStatus(cv, proposalId, StrategyStruct.ProposalStatus.Active); + _assertProposalStatus(cv, proposalId, ProposalStatus.Active); } function testRevert_proposalId_distribute() public { @@ -2076,7 +2084,7 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers assertEq(cv.canExecuteProposal(proposalId), false, "canExecuteProposal"); vm.expectRevert(abi.encodeWithSelector(CVStrategyV0_0.ProposalIdCannotBeZero.selector)); allo().distribute(proposalId, recipients, dataProposal); - _assertProposalStatus(cv, proposalId, StrategyStruct.ProposalStatus.Active); + _assertProposalStatus(cv, proposalId, ProposalStatus.Active); } function testRevert_proposalData_distribute() public { @@ -2094,8 +2102,8 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers assertEq(cv.canExecuteProposal(proposalId), false, "canExecuteProposal"); vm.expectRevert(abi.encodeWithSelector(CVStrategyV0_0.ProposalDataIsEmpty.selector)); allo().distribute(proposalId, recipients, dataProposal); - _assertProposalStatus(cv, proposalId, StrategyStruct.ProposalStatus.Active); - _assertProposalStatus(cv, proposalId, StrategyStruct.ProposalStatus.Active); + _assertProposalStatus(cv, proposalId, ProposalStatus.Active); + _assertProposalStatus(cv, proposalId, ProposalStatus.Active); } function testRevert_distribute_onlyAllo_Native() public { @@ -2126,14 +2134,10 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers function testRevert_initialize_registryZero() public { address collateralVaultTemplate = address(new CollateralVault()); - StrategyStruct.ArbitrableConfig memory arbitrableConfig = - StrategyStruct.ArbitrableConfig(safeArbitrator, payable(address(_councilSafe())), 3 ether, 2 ether, 1, 300); - StrategyStruct2.InitializeParams memory params = getParams( - address(0), - StrategyStruct.ProposalType.Funding, - StrategyStruct.PointSystem.Unlimited, - StrategyStruct.PointSystemConfig(200 * DECIMALS), - arbitrableConfig + ArbitrableConfig memory arbitrableConfig = + ArbitrableConfig(safeArbitrator, payable(address(_councilSafe())), 3 ether, 2 ether, 1, 300); + CVStrategyInitializeParamsV0_1 memory params = getParams( + address(0), ProposalType.Funding, PointSystem.Unlimited, PointSystemConfig(200 * DECIMALS), arbitrableConfig ); vm.expectRevert(abi.encodeWithSelector(CVStrategyV0_0.RegistryCannotBeZero.selector)); _registryCommunity().createPool(NATIVE, params, metadata); @@ -2170,8 +2174,8 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers // */ // // startMeasuringGas("Support a Proposal"); // int256 SUPPORT_PCT = 1500; - // StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](1); - // votes[0] = StrategyStruct.ProposalSupport(proposalId, SUPPORT_PCT ); // 0 + 70 = 70% = 35 + // ProposalSupport[] memory votes = new ProposalSupport[](1); + // votes[0] = ProposalSupport(proposalId, SUPPORT_PCT ); // 0 + 70 = 70% = 35 // // bytes memory data = ; // allo().allocate(poolId, abi.encode(votes)); // stopMeasuringGas(); @@ -2220,20 +2224,18 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers // // amount = getBalance(pool.token, beneficiary); // // // console.log("Beneficienry After amount: %s", amount); // // assertEq(amount, requestedAmount); - // _assertProposalStatus(cv, proposalId, StrategyStruct.ProposalStatus.Executed); + // _assertProposalStatus(cv, proposalId, ProposalStatus.Executed); // } function test_distribute_signaling_proposal() public { - (IAllo.Pool memory pool, uint256 poolId,) = - _createProposal(address(0), 0, 0, StrategyStruct.ProposalType.Signaling); + (IAllo.Pool memory pool, uint256 poolId,) = _createProposal(address(0), 0, 0, ProposalType.Signaling); startMeasuringGas("createProposal"); CVStrategyV0_1 cv = CVStrategyV0_1(payable(address(pool.strategy))); - StrategyStruct.CreateProposal memory proposal = - StrategyStruct.CreateProposal(poolId, address(0), 0, address(0), metadata); + CreateProposal memory proposal = CreateProposal(poolId, address(0), 0, address(0), metadata); bytes memory data = abi.encode(proposal); (,, uint256 submitterCollateralAmount,,,) = cv.getArbitrableConfig(); vm.deal(address(this), submitterCollateralAmount); @@ -2250,8 +2252,8 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers */ // startMeasuringGas("Support a Proposal"); int256 SUPPORT_PCT = 100; - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](1); - votes[0] = StrategyStruct.ProposalSupport(PROPOSAL_ID, SUPPORT_PCT); // 0 + 70 = 70% = 35 + ProposalSupport[] memory votes = new ProposalSupport[](1); + votes[0] = ProposalSupport(PROPOSAL_ID, SUPPORT_PCT); // 0 + 70 = 70% = 35 // bytes memory data = ; allo().allocate(poolId, abi.encode(votes)); stopMeasuringGas(); @@ -2267,7 +2269,7 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers allo().distribute(poolId, new address[](0), dataProposal); // console.log("Beneficienry After amount: %s", amount); - _assertProposalStatus(cv, PROPOSAL_ID, StrategyStruct.ProposalStatus.Active); + _assertProposalStatus(cv, PROPOSAL_ID, ProposalStatus.Active); } function printProposalDetails(CVStrategyV0_1 cv, uint256 proposalId) public view { @@ -2306,7 +2308,7 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers function test_registry_community_name_default_empty() public { // RegistryFactoryV0_0 _registryFactory = new RegistryFactoryV0_0(); - RegistryCommunityV0_1.InitializeParams memory params; + RegistryCommunityInitializeParamsV0_0 memory params; params._allo = address(allo()); params._gardenToken = IERC20(address(token)); params._registerStakeAmount = MINIMUM_STAKE; @@ -2324,7 +2326,7 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers function test_registry_community_name_defined() public { // RegistryFactoryV0_0 registryFactory = new RegistryFactoryV0_0(); - RegistryCommunityV0_1.InitializeParams memory params; + RegistryCommunityInitializeParamsV0_0 memory params; params._allo = address(allo()); params._gardenToken = IERC20(address(token)); params._registerStakeAmount = MINIMUM_STAKE; @@ -2520,8 +2522,7 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers passportScorer.addUserScore(address(6), passportData); vm.startPrank(address(6)); - StrategyStruct.CreateProposal memory proposal = - StrategyStruct.CreateProposal(poolId, pool_admin(), 11000 ether, NATIVE, metadata); + CreateProposal memory proposal = CreateProposal(poolId, pool_admin(), 11000 ether, NATIVE, metadata); bytes memory data = abi.encode(proposal); vm.expectRevert(abi.encodeWithSelector(CVStrategyV0_0.UserCannotExecuteAction.selector)); allo().registerRecipient(poolId, data); @@ -2543,14 +2544,13 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers vm.startPrank(address(6)); - StrategyStruct.CreateProposal memory proposal = - StrategyStruct.CreateProposal(poolId, pool_admin(), 110 ether, NATIVE, metadata); + CreateProposal memory proposal = CreateProposal(poolId, pool_admin(), 110 ether, NATIVE, metadata); bytes memory data = abi.encode(proposal); (,, uint256 submitterCollateralAmount,,,) = cv.getArbitrableConfig(); vm.deal(address(6), submitterCollateralAmount * 2000); uint256 PROPOSAL_ID = uint160(allo().registerRecipient{value: submitterCollateralAmount}(poolId, data)); vm.stopPrank(); - _assertProposalStatus(cv, PROPOSAL_ID, StrategyStruct.ProposalStatus.Active); + _assertProposalStatus(cv, PROPOSAL_ID, ProposalStatus.Active); } function test_allocate_not_enough_score() public { @@ -2567,8 +2567,8 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers PassportData memory passportData = PassportData({score: MINIMUM_SCORE - 1, lastUpdated: block.timestamp}); passportScorer.addUserScore(address(6), passportData); - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](1); - votes[0] = StrategyStruct.ProposalSupport(proposalId, 80); + ProposalSupport[] memory votes = new ProposalSupport[](1); + votes[0] = ProposalSupport(proposalId, 80); bytes memory data = abi.encode(votes); @@ -2596,8 +2596,8 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers PassportData memory passportData = PassportData({score: MINIMUM_SCORE + 1, lastUpdated: block.timestamp}); passportScorer.addUserScore(address(6), passportData); - StrategyStruct.ProposalSupport[] memory votes = new StrategyStruct.ProposalSupport[](1); - votes[0] = StrategyStruct.ProposalSupport(proposalId, 80); + ProposalSupport[] memory votes = new ProposalSupport[](1); + votes[0] = ProposalSupport(proposalId, 80); bytes memory data = abi.encode(votes); diff --git a/pkg/contracts/test/RegistryTest.t.sol b/pkg/contracts/test/RegistryTest.t.sol index 082932d21..6a6aff286 100644 --- a/pkg/contracts/test/RegistryTest.t.sol +++ b/pkg/contracts/test/RegistryTest.t.sol @@ -23,10 +23,22 @@ import {GV2ERC20} from "../script/GV2ERC20.sol"; import {GasHelpers2} from "./shared/GasHelpers2.sol"; import {RegistryFactoryV0_0} from "../src/RegistryFactory/RegistryFactoryV0_0.sol"; import {RegistryFactoryV0_1} from "../src/RegistryFactory/RegistryFactoryV0_1.sol"; -import {CVStrategyV0_1, CVStrategyV0_0, StrategyStruct, StrategyStruct2} from "../src/CVStrategy/CVStrategyV0_1.sol"; +import { + CVStrategyV0_1, + CVStrategyV0_0, + PointSystem, + ProposalType, + ArbitrableConfig, + CVStrategyInitializeParamsV0_0, + PointSystemConfig +} from "../src/CVStrategy/CVStrategyV0_1.sol"; import {CollateralVault} from "../src/CollateralVault.sol"; import {SafeArbitrator} from "../src/SafeArbitrator.sol"; -import {RegistryCommunityV0_1, RegistryCommunityV0_0} from "../src/RegistryCommunity/RegistryCommunityV0_1.sol"; +import { + RegistryCommunityV0_1, + RegistryCommunityV0_0, + RegistryCommunityInitializeParamsV0_0 +} from "../src/RegistryCommunity/RegistryCommunityV0_1.sol"; import {ISafe as Safe, SafeProxyFactory, Enum} from "../src/interfaces/ISafe.sol"; import {SafeSetup} from "./shared/SafeSetup.sol"; @@ -35,10 +47,17 @@ import {CVStrategyHelpers} from "./CVStrategyHelpers.sol"; import {Native} from "allo-v2-contracts/core/libraries/Native.sol"; import {Math} from "@openzeppelin/contracts/utils/math/Math.sol"; -import {Upgrades} from "@openzeppelin/foundry/LegacyUpgrades.sol"; +// import {Upgrades} from "@openzeppelin/foundry/LegacyUpgrades.sol"; +import {Core} from "@openzeppelin/foundry/internal/Core.sol"; import {ERC1967Proxy} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol"; +import {RegistryFactoryDiamond,BaseDiamond} from "@src/diamonds/RegistryFactoryDiamond.sol"; +import {IDiamond} from "@src/diamonds/interfaces/IDiamond.sol"; +import {IDiamondCut} from "@src/diamonds/interfaces/IDiamondCut.sol"; +import {DiamondCutFacet} from "@src/diamonds/facets/DiamondCutFacet.sol"; +import {DiamondLoupeFacet} from "@src/diamonds/facets/DiamondLoupeFacet.sol"; +import {RegistryFactoryFacet} from "@src/diamonds/facets/RegistryFactoryFacet.sol"; // @dev Run forge test --mc RegistryTest -vvvvv contract RegistryTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers, Errors, GasHelpers2, SafeSetup { @@ -105,8 +124,8 @@ contract RegistryTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers, // allo.createPoolWithCustomStrategy() @todo kev create new testRvert // strategy = address(new MockStrategy(address(allo()))); - // uint256 poolId = createPool( - // allo(), address(strategy), address(_registryCommunity()), registry(), NATIVE, StrategyStruct.ProposalType(0) + // uint256 /* _poolId */ = createPool( + // allo(), address(strategy), address(_registryCommunity()), registry(), NATIVE, ProposalType(0) // ); vm.stopPrank(); vm.startPrank(allo_owner()); @@ -132,7 +151,7 @@ contract RegistryTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers, vm.stopPrank(); - RegistryCommunityV0_1.InitializeParams memory params; + RegistryCommunityInitializeParamsV0_0 memory params; params._allo = address(allo()); params._gardenToken = IERC20(address(token)); params._registerStakeAmount = MINIMUM_STAKE; @@ -144,14 +163,14 @@ contract RegistryTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers, params._isKickEnabled = true; registryCommunity = RegistryCommunityV0_1(registryFactory.createRegistry(params)); - StrategyStruct.ArbitrableConfig memory arbitrableConfig = _generateArbitrableConfig(); + ArbitrableConfig memory arbitrableConfig = _generateArbitrableConfig(); (uint256 returnedPoolId, address strategyProxy) = registryCommunity.createPool( NATIVE, getParams( address(registryCommunity), - StrategyStruct.ProposalType(0), - StrategyStruct.PointSystem.Unlimited, - StrategyStruct.PointSystemConfig(0), + ProposalType(0), + PointSystem.Unlimited, + PointSystemConfig(0), arbitrableConfig ), metadata @@ -163,12 +182,32 @@ contract RegistryTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers, vm.startPrank(gardenOwner); _registryFactory().setProtocolFee(address(registryCommunity), PROTOCOL_FEE_PERCENTAGE); - Upgrades.upgradeProxy( + // Upgrades.upgradeProxy( + // address(_registryFactory()), + // "RegistryFactoryV0_1.sol", + // abi.encodeWithSelector(RegistryFactoryV0_1.initializeV2.selector) + // ); + + // assertEq(registryFactory.nonce(), 1, "nonce after upgrade"); + + + Core.upgradeProxyTo( address(_registryFactory()), - "RegistryFactoryV0_1.sol", - abi.encodeWithSelector(RegistryFactoryV0_1.initializeV2.selector) + address(new RegistryFactoryDiamond()), + abi.encodeWithSelector(BaseDiamond.initialize.selector, gardenOwner) ); + + // RegistryFactoryFacet(address(_registryFactory())).initialize(gardenOwner); + + IDiamondCut(address(_registryFactory())).diamondCut(createCutsFactory(), address(0), ""); + + RegistryFactoryFacet(address(_registryFactory())).initializeV2(gardenOwner); + + assertEq(address(RegistryFactoryDiamond(payable(address(registryFactory)))._owner()), address(gardenOwner), "owner after upgrade"); assertEq(registryFactory.nonce(), 1, "nonce after upgrade"); + assertEq(registryFactory.VERSION(), "0.0", "VERSION after upgrade"); + + vm.stopPrank(); params._isKickEnabled = false; @@ -176,6 +215,76 @@ contract RegistryTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers, nonKickableCommunity = RegistryCommunityV0_1(registryFactory.createRegistry(params)); } + function createCutsFactory() public returns (IDiamond.FacetCut[] memory cuts) { + DiamondCutFacet dCutFacet = new DiamondCutFacet();//@todo can be removed + DiamondLoupeFacet dLoupe = new DiamondLoupeFacet(); + // OwnershipFacet ownerF = new OwnershipFacet(); + RegistryFactoryFacet registryFactoryF = new RegistryFactoryFacet(); + + cuts = new IDiamond.FacetCut[](3); + + bytes4[] memory sighashes = new bytes4[](1); + sighashes[0] = bytes4(0x1f931c1c); + + cuts[0] = IDiamond.FacetCut({ + facetAddress: address(dCutFacet), + action: IDiamond.FacetCutAction.Add, + functionSelectors: sighashes + }); + + sighashes = new bytes4[](5); + sighashes[0] = bytes4(0x7a0ed627); + sighashes[1] = bytes4(0xadfca15e); + sighashes[2] = bytes4(0x52ef6b2c); + sighashes[3] = bytes4(0xcdffacc6); + sighashes[4] = bytes4(0x01ffc9a7); + //build cut struct + // IDiamond.FacetCut[] memory cut = new IDiamond.FacetCut[](2); + + cuts[1] = (IDiamond.FacetCut({facetAddress: address(dLoupe), action: IDiamond.FacetCutAction.Add, functionSelectors: sighashes})); + + // sighashes = new bytes4[](2); + // sighashes[0] = bytes4(0xf2fde38b); + // sighashes[1] = bytes4(0x8da5cb5b); + + // cut[1] = (IDiamond.FacetCut({facetAddress: address(ownerF), action: IDiamond.FacetCutAction.Add, functionSelectors: sighashes})); + + bytes4[] memory sighashesInit = new bytes4[](25); + sighashesInit[0] = bytes4(0x77122d56); + sighashesInit[1] = bytes4(0xbeb331a3); + sighashesInit[2] = bytes4(0xb8bed901); + sighashesInit[3] = bytes4(0xf5016b5e); + sighashesInit[4] = bytes4(0x987435be); + sighashesInit[5] = bytes4(0x0a992e0c); + sighashesInit[6] = bytes4(0xc4d66de8); + sighashesInit[7] = bytes4(0x1459457a); + sighashesInit[8] = bytes4(0x29b6eca9); + sighashesInit[9] = bytes4(0x3101cfcb); + sighashesInit[10] = bytes4(0xaffed0e0); + sighashesInit[11] = bytes4(0x8da5cb5b); + sighashesInit[12] = bytes4(0x52d1902d); + sighashesInit[13] = bytes4(0x02c1d0b1); + sighashesInit[14] = bytes4(0x715018a6); + sighashesInit[15] = bytes4(0xb0d3713a); + sighashesInit[16] = bytes4(0x5a2c8ace); + sighashesInit[17] = bytes4(0xb5b3ca2c); + sighashesInit[18] = bytes4(0x8279c7db); + sighashesInit[19] = bytes4(0x5decae02); + sighashesInit[20] = bytes4(0x1b71f0e4); + sighashesInit[21] = bytes4(0x5c94e4d2); + sighashesInit[22] = bytes4(0xf2fde38b); + sighashesInit[23] = bytes4(0x3659cfe6); + sighashesInit[24] = bytes4(0x4f1ef286); + + cuts[2] = ( + IDiamond.FacetCut({ + facetAddress: address(registryFactoryF), + action: IDiamond.FacetCutAction.Add, + functionSelectors: sighashesInit + }) + ); + + } function _registryCommunity() internal view returns (RegistryCommunityV0_1) { return registryCommunity; } @@ -188,9 +297,8 @@ contract RegistryTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers, return nonKickableCommunity; } - function _generateArbitrableConfig() internal returns (StrategyStruct.ArbitrableConfig memory) { - return - StrategyStruct.ArbitrableConfig(safeArbitrator, payable(address(_councilSafe())), 3 ether, 2 ether, 1, 600); + function _generateArbitrableConfig() internal returns (ArbitrableConfig memory) { + return ArbitrableConfig(safeArbitrator, payable(address(_councilSafe())), 3 ether, 2 ether, 1, 600); } function test_stakeAndRegisterMember() public { @@ -291,20 +399,21 @@ contract RegistryTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers, function test_activate_totalActivatedPoints_fixed_system() public { vm.startPrank(pool_admin()); - StrategyStruct.ArbitrableConfig memory arbitrableConfig = _generateArbitrableConfig(); - (uint256 poolId, address strategyProxy) = registryCommunity.createPool( + ArbitrableConfig memory arbitrableConfig = _generateArbitrableConfig(); + (/*uint256 _poolId */, address strategyProxy) = registryCommunity.createPool( NATIVE, getParams( address(registryCommunity), - StrategyStruct.ProposalType(0), - StrategyStruct.PointSystem.Fixed, - StrategyStruct.PointSystemConfig(0), + ProposalType(0), + PointSystem.Fixed, + PointSystemConfig(0), arbitrableConfig ), metadata ); + // poolId = _poolId; CVStrategyV0_1 fixedStrategy = CVStrategyV0_1(payable(strategyProxy)); - console.log("PoolId: %s", poolId); + vm.stopPrank(); vm.startPrank(address(councilSafe)); @@ -334,20 +443,20 @@ contract RegistryTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers, function test_activate_deactivate_totalActivatedPoints_fixed_system() public { vm.startPrank(pool_admin()); - StrategyStruct.ArbitrableConfig memory arbitrableConfig = _generateArbitrableConfig(); - (uint256 poolId, address strategyProxy) = registryCommunity.createPool( + ArbitrableConfig memory arbitrableConfig = _generateArbitrableConfig(); + (/*uint256 _poolId */, address strategyProxy) = registryCommunity.createPool( NATIVE, getParams( address(registryCommunity), - StrategyStruct.ProposalType(0), - StrategyStruct.PointSystem.Fixed, - StrategyStruct.PointSystemConfig(0), + ProposalType(0), + PointSystem.Fixed, + PointSystemConfig(0), arbitrableConfig ), metadata ); CVStrategyV0_1 fixedStrategy = CVStrategyV0_1(payable(strategyProxy)); - console.log("PoolId: %s", poolId); + vm.stopPrank(); vm.startPrank(address(councilSafe)); @@ -380,6 +489,7 @@ contract RegistryTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers, function testFuzz_increasePower(uint256 tokenAmount) public { vm.assume(tokenAmount > 2 && tokenAmount < 100); vm.startPrank(pool_admin()); + assertEq(strategy.getMaxAmount(), 200 * DECIMALS); vm.stopPrank(); vm.startPrank(address(councilSafe)); @@ -413,20 +523,20 @@ contract RegistryTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers, // vm.assume(tokenAmount > 0); vm.startPrank(pool_admin()); - StrategyStruct.ArbitrableConfig memory arbitrableConfig = _generateArbitrableConfig(); - (uint256 poolId, address strategyProxy) = registryCommunity.createPool( + ArbitrableConfig memory arbitrableConfig = _generateArbitrableConfig(); + (/*uint256 _poolId */, address strategyProxy) = registryCommunity.createPool( NATIVE, getParams( address(registryCommunity), - StrategyStruct.ProposalType(0), - StrategyStruct.PointSystem.Capped, - StrategyStruct.PointSystemConfig(0), + ProposalType(0), + PointSystem.Capped, + PointSystemConfig(0), arbitrableConfig ), metadata ); CVStrategyV0_1 cappedStrategy = CVStrategyV0_1(payable(strategyProxy)); - console.log("PoolId: %s", poolId); + vm.stopPrank(); vm.startPrank(address(councilSafe)); _registryCommunity().addStrategy(address(cappedStrategy)); @@ -463,14 +573,14 @@ contract RegistryTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers, vm.assume(secondIncrease < 10000 && secondIncrease > 0); vm.startPrank(pool_admin()); - StrategyStruct.ArbitrableConfig memory arbitrableConfig = _generateArbitrableConfig(); + ArbitrableConfig memory arbitrableConfig = _generateArbitrableConfig(); (, address strategyProxy) = registryCommunity.createPool( NATIVE, getParams( address(registryCommunity), - StrategyStruct.ProposalType(0), - StrategyStruct.PointSystem.Quadratic, - StrategyStruct.PointSystemConfig(0), + ProposalType(0), + PointSystem.Quadratic, + PointSystemConfig(0), arbitrableConfig ), metadata @@ -518,20 +628,20 @@ contract RegistryTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers, function test_increasePowerQuadraticFixedValues() public { vm.startPrank(pool_admin()); - StrategyStruct.ArbitrableConfig memory arbitrableConfig = _generateArbitrableConfig(); - (uint256 poolId, address strategyProxy) = registryCommunity.createPool( + ArbitrableConfig memory arbitrableConfig = _generateArbitrableConfig(); + (/*uint256 _poolId */, address strategyProxy) = registryCommunity.createPool( NATIVE, getParams( address(registryCommunity), - StrategyStruct.ProposalType(0), - StrategyStruct.PointSystem.Quadratic, - StrategyStruct.PointSystemConfig(0), + ProposalType(0), + PointSystem.Quadratic, + PointSystemConfig(0), arbitrableConfig ), metadata ); CVStrategyV0_1 quadraticStrategy = CVStrategyV0_1(payable(strategyProxy)); - console.log("PoolId: %s", poolId); + vm.stopPrank(); vm.startPrank(address(councilSafe)); _registryCommunity().addStrategy(address(quadraticStrategy)); @@ -573,14 +683,14 @@ contract RegistryTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers, // function test_activateAfterIncreasePowerQuadratic() public { // vm.startPrank(pool_admin()); - // uint256 poolId = createPool( + // uint256 /* _poolId */ = createPool( // allo(), // address(strategy), // address(_registryCommunity()), // registry(), // NATIVE, - // StrategyStruct.ProposalType(0), - // StrategyStruct.PointSystem.Quadratic + // ProposalType(0), + // PointSystem.Quadratic // ); // console.log("PoolId: %s", poolId); // vm.stopPrank(); @@ -617,14 +727,14 @@ contract RegistryTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers, function test_activateAfterIncreasePowerQuadratic() public { vm.startPrank(pool_admin()); - StrategyStruct.ArbitrableConfig memory arbitrableConfig = _generateArbitrableConfig(); - (uint256 poolId, address strategyProxy) = registryCommunity.createPool( + ArbitrableConfig memory arbitrableConfig = _generateArbitrableConfig(); + (/*uint256 _poolId */, address strategyProxy) = registryCommunity.createPool( NATIVE, getParams( address(registryCommunity), - StrategyStruct.ProposalType(0), - StrategyStruct.PointSystem.Quadratic, - StrategyStruct.PointSystemConfig(0), + ProposalType(0), + PointSystem.Quadratic, + PointSystemConfig(0), arbitrableConfig ), metadata @@ -693,6 +803,21 @@ contract RegistryTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers, } function test_DecreasePower_after_increasePower_diff_orders() public { + vm.startPrank(pool_admin()); + // ArbitrableConfig memory arbitrableConfig = _generateArbitrableConfig(); + // uint256 poolId = createPool( + // allo(), + // address(strategy), + // address(_registryCommunity()), + // registry(), + // address(token), + // ProposalType(0), + // PointSystem.Unlimited, + // arbitrableConfig + // ); + // console.log("PoolId: %s", poolId); + vm.stopPrank(); + vm.startPrank(address(councilSafe)); _registryCommunity().addStrategy(address(strategy)); vm.stopPrank(); @@ -732,6 +857,9 @@ contract RegistryTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers, } function test_DecreasePower_after_increasePower() public { + vm.startPrank(pool_admin()); + vm.stopPrank(); + vm.startPrank(address(councilSafe)); _registryCommunity().addStrategy(address(strategy)); vm.stopPrank(); @@ -765,14 +893,14 @@ contract RegistryTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers, function test_decreasePowerQuadratic_FixedValues() public { vm.startPrank(pool_admin()); - StrategyStruct.ArbitrableConfig memory arbitrableConfig = _generateArbitrableConfig(); + ArbitrableConfig memory arbitrableConfig = _generateArbitrableConfig(); (, address strategyProxy) = registryCommunity.createPool( NATIVE, getParams( address(registryCommunity), - StrategyStruct.ProposalType(0), - StrategyStruct.PointSystem.Quadratic, - StrategyStruct.PointSystemConfig(0), + ProposalType(0), + PointSystem.Quadratic, + PointSystemConfig(0), arbitrableConfig ), metadata @@ -822,6 +950,10 @@ contract RegistryTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers, function test_kickMember() public { startMeasuringGas("Registering and kicking member"); + //CVStrategy cv = CVStrategy(payable(address(pool.strategy))); + + vm.startPrank(pool_admin()); + vm.stopPrank(); vm.startPrank(address(councilSafe)); _registryCommunity().addStrategy(address(strategy)); vm.stopPrank(); @@ -862,11 +994,6 @@ contract RegistryTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers, function test_revert_activateMemberInStrategy() public { startMeasuringGas("Registering and kicking member"); - //CVStrategy cv = CVStrategy(payable(address(pool.strategy))); - //Commented to test revert if strategy not enabled - // vm.startPrank(address(councilSafe)); - // _registryCommunity().addStrategy(address(strategy)); - // vm.stopPrank(); vm.startPrank(gardenMember); token.approve(address(registryCommunity), STAKE_WITH_FEES); _registryCommunity().stakeAndRegisterMember(); @@ -877,6 +1004,7 @@ contract RegistryTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers, function test_revert_addStrategy() public { startMeasuringGas("Registering and kicking member"); + vm.startPrank(address(councilSafe)); _registryCommunity().addStrategy(address(strategy)); vm.expectRevert(abi.encodeWithSelector(RegistryCommunityV0_0.StrategyExists.selector)); @@ -885,7 +1013,7 @@ contract RegistryTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers, } function test_revert_initialize_zeroStake() public { - RegistryCommunityV0_1.InitializeParams memory params; + RegistryCommunityInitializeParamsV0_0 memory params; params._allo = address(allo()); params._gardenToken = IERC20(address(token)); params._registerStakeAmount = 0; @@ -1087,6 +1215,7 @@ contract RegistryTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers, } function test_removeStrategyByPoolId() public { + assertEq(_registryCommunity().enabledStrategies(address(strategy)), false); vm.startPrank(address(councilSafe)); @@ -1102,6 +1231,7 @@ contract RegistryTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers, } function test_addStrategyByPoolId() public { + assertEq(_registryCommunity().enabledStrategies(address(strategy)), false); vm.startPrank(address(councilSafe)); @@ -1112,6 +1242,7 @@ contract RegistryTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers, } function test_Revert_removeStrategyByPoolId() public { + assertEq(_registryCommunity().enabledStrategies(address(strategy)), false); vm.startPrank(address(councilSafe)); diff --git a/pkg/contracts/test/SafeArbitratorTest.t.sol b/pkg/contracts/test/SafeArbitratorTest.t.sol index 758662cd1..f4d41f857 100644 --- a/pkg/contracts/test/SafeArbitratorTest.t.sol +++ b/pkg/contracts/test/SafeArbitratorTest.t.sol @@ -3,8 +3,17 @@ pragma solidity ^0.8.19; import "forge-std/Test.sol"; import {SafeArbitrator} from "../src/SafeArbitrator.sol"; -import {CVStrategyV0_1, StrategyStruct} from "../src/CVStrategy/CVStrategyV0_1.sol"; -import {RegistryCommunityV0_1} from "../src/RegistryCommunity/RegistryCommunityV0_1.sol"; +import { + CVStrategyV0_1, + CVStrategyV0_0, + CVStrategyInitializeParamsV0_0, + ArbitrableConfig, + PointSystemConfig, + PointSystem, + ProposalType, + CreateProposal +} from "../src/CVStrategy/CVStrategyV0_1.sol"; +import {RegistryCommunityV0_1, RegistryCommunityInitializeParamsV0_0} from "../src/RegistryCommunity/RegistryCommunityV0_1.sol"; import {RegistryFactoryV0_0} from "../src/RegistryFactory/RegistryFactoryV0_0.sol"; import {CollateralVault} from "../src/CollateralVault.sol"; import {RegistrySetupFull} from "allo-v2-test/foundry/shared/RegistrySetup.sol"; @@ -77,7 +86,7 @@ contract SafeArbitratorTest is Test, RegistrySetupFull, AlloSetup, CVStrategyHel vm.stopPrank(); - RegistryCommunityV0_1.InitializeParams memory params; + RegistryCommunityInitializeParamsV0_0 memory params; params._allo = address(allo()); params._gardenToken = IERC20(address(token)); params._registerStakeAmount = MINIMUM_STAKE; @@ -113,12 +122,10 @@ contract SafeArbitratorTest is Test, RegistrySetupFull, AlloSetup, CVStrategyHel NATIVE, getParams( address(registryCommunity), - StrategyStruct.ProposalType.Funding, - StrategyStruct.PointSystem.Unlimited, - StrategyStruct.PointSystemConfig(200 * DECIMALS), - StrategyStruct.ArbitrableConfig( - safeArbitrator, payable(address(_councilSafe())), 0.02 ether, 0.01 ether, 1, 300 - ) + ProposalType.Funding, + PointSystem.Unlimited, + PointSystemConfig(200 * DECIMALS), + ArbitrableConfig(safeArbitrator, payable(address(_councilSafe())), 0.02 ether, 0.01 ether, 1, 300) ), metadata ); @@ -143,8 +150,7 @@ contract SafeArbitratorTest is Test, RegistrySetupFull, AlloSetup, CVStrategyHel function createProposal() public returns (uint256 proposalId) { uint256 requestAmount = 1 ether; - StrategyStruct.CreateProposal memory proposal = - StrategyStruct.CreateProposal(poolId, pool_admin(), requestAmount, address(NATIVE), metadata); + CreateProposal memory proposal = CreateProposal(poolId, pool_admin(), requestAmount, address(NATIVE), metadata); bytes memory data = abi.encode(proposal); (,, uint256 submitterCollateralAmount,,,) = cvStrategy.getArbitrableConfig(); diff --git a/remappings.txt b/remappings.txt index e3e1ebbce..d2f4a5613 100644 --- a/remappings.txt +++ b/remappings.txt @@ -4,3 +4,4 @@ allo-v2-test/=lib/allo-v2/test/ @openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/ @openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/ @openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/ +@src/=pkg/contracts/src \ No newline at end of file